diff --git a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
index 1fbb957..87d64cd 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
@@ -192,7 +192,6 @@
       mSourceStarted(false),
       mPaused(false),
       mPausedByClient(true),
-      mPendingBufferingFlag(PENDING_BUFFERING_FLAG_NONE),
       mPausedForBuffering(false) {
     clearFlushComplete();
 }
@@ -723,10 +722,6 @@
                 onStart();
             }
             mPausedByClient = false;
-            if (mPendingBufferingFlag != PENDING_BUFFERING_FLAG_NONE) {
-                notifyListener(MEDIA_INFO, mPendingBufferingFlag, 0);
-                mPendingBufferingFlag = PENDING_BUFFERING_FLAG_NONE;
-            }
             break;
         }
 
@@ -1218,8 +1213,6 @@
                 break;
             }
 
-            mPendingBufferingFlag = PENDING_BUFFERING_FLAG_NONE;
-
             mDeferredActions.push_back(
                     new FlushDecoderAction(FLUSH_CMD_FLUSH /* audio */,
                                            FLUSH_CMD_FLUSH /* video */));
@@ -1961,7 +1954,6 @@
     }
     mPreviousSeekTimeUs = seekTimeUs;
     mSource->seekTo(seekTimeUs);
-    mPendingBufferingFlag = PENDING_BUFFERING_FLAG_NONE;
     ++mTimedTextGeneration;
 
     // everything's flushed, continue playback.
@@ -2207,12 +2199,7 @@
 
         case Source::kWhatBufferingStart:
         {
-            if (mPausedByClient) {
-                mPendingBufferingFlag = PENDING_BUFFERING_FLAG_START;
-            } else {
-                notifyListener(MEDIA_INFO, MEDIA_INFO_BUFFERING_START, 0);
-                mPendingBufferingFlag = PENDING_BUFFERING_FLAG_NONE;
-            }
+            notifyListener(MEDIA_INFO, MEDIA_INFO_BUFFERING_START, 0);
             break;
         }
 
@@ -2235,7 +2222,6 @@
         case Source::kWhatBufferingEnd:
         {
             notifyListener(MEDIA_INFO, MEDIA_INFO_BUFFERING_END, 0);
-            mPendingBufferingFlag = PENDING_BUFFERING_FLAG_NONE;
             break;
         }
 
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayer.h b/media/libmediaplayerservice/nuplayer/NuPlayer.h
index e896ac6..7431532 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayer.h
+++ b/media/libmediaplayerservice/nuplayer/NuPlayer.h
@@ -183,12 +183,6 @@
         FLUSH_CMD_SHUTDOWN,
     };
 
-    enum PendingBufferingFlag {
-        PENDING_BUFFERING_FLAG_NONE = MEDIA_INFO_UNKNOWN,
-        PENDING_BUFFERING_FLAG_START = MEDIA_INFO_BUFFERING_START,
-        PENDING_BUFFERING_FLAG_END = MEDIA_INFO_BUFFERING_END,
-    };
-
     // Status of flush responses from the decoder and renderer.
     bool mFlushComplete[2][2];
 
@@ -215,9 +209,6 @@
     // still become true, when we pause internally due to buffering.
     bool mPausedByClient;
 
-    // Pending buffering flag which is not sent to client due to being paused.
-    PendingBufferingFlag mPendingBufferingFlag;
-
     // Pause state as requested by source (internally) due to buffering
     bool mPausedForBuffering;
 
