mediaplayer: add getBufferingSettings.

Test: compiles
Bug: 32524218
Change-Id: Ifd6243d524d1554dfbbfc1381414100cfafdc02d
diff --git a/media/libmedia/mediaplayer.cpp b/media/libmedia/mediaplayer.cpp
index 6bba1f1..40af8de 100644
--- a/media/libmedia/mediaplayer.cpp
+++ b/media/libmedia/mediaplayer.cpp
@@ -136,8 +136,10 @@
         mPlayer = player;
         if (player != 0) {
             mCurrentState = MEDIA_PLAYER_INITIALIZED;
+            player->getDefaultBufferingSettings(&mCurrentBufferingSettings);
             err = NO_ERROR;
         } else {
+            mCurrentBufferingSettings = BufferingSettings();
             ALOGE("Unable to create media player");
         }
     }
@@ -255,6 +257,18 @@
     return mPlayer->getDefaultBufferingSettings(buffering);
 }
 
+status_t MediaPlayer::getBufferingSettings(BufferingSettings* buffering /* nonnull */)
+{
+    ALOGV("getBufferingSettings");
+
+    Mutex::Autolock _l(mLock);
+    if (mPlayer == 0) {
+        return NO_INIT;
+    }
+    *buffering = mCurrentBufferingSettings;
+    return NO_ERROR;
+}
+
 status_t MediaPlayer::setBufferingSettings(const BufferingSettings& buffering)
 {
     ALOGV("setBufferingSettings");
@@ -263,7 +277,11 @@
     if (mPlayer == 0) {
         return NO_INIT;
     }
-    return mPlayer->setBufferingSettings(buffering);
+    status_t err =  mPlayer->setBufferingSettings(buffering);
+    if (err == NO_ERROR) {
+        mCurrentBufferingSettings = buffering;
+    }
+    return err;
 }
 
 // must call with lock held
@@ -606,6 +624,7 @@
         // setDataSource has to be called again to create a
         // new mediaplayer.
         mPlayer = 0;
+        mCurrentBufferingSettings = BufferingSettings();
         return ret;
     }
     clear_l();