Loading include/media/mediaplayer.h +3 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ #include <binder/IMemory.h> #include <media/AudioResamplerPublic.h> #include <media/BufferingSettings.h> #include <media/IMediaPlayerClient.h> #include <media/IMediaPlayer.h> #include <media/IMediaDeathNotifier.h> Loading Loading @@ -220,6 +221,7 @@ public: const sp<IGraphicBufferProducer>& bufferProducer); status_t setListener(const sp<MediaPlayerListener>& listener); status_t getDefaultBufferingSettings(BufferingSettings* buffering /* nonnull */); status_t getBufferingSettings(BufferingSettings* buffering /* nonnull */); status_t setBufferingSettings(const BufferingSettings& buffering); status_t prepare(); status_t prepareAsync(); Loading Loading @@ -294,6 +296,7 @@ private: float mSendLevel; struct sockaddr_in mRetransmitEndpoint; bool mRetransmitEndpointValid; BufferingSettings mCurrentBufferingSettings; }; }; // namespace android Loading media/libmedia/mediaplayer.cpp +20 −1 Original line number Diff line number Diff line Loading @@ -136,8 +136,10 @@ status_t MediaPlayer::attachNewPlayer(const sp<IMediaPlayer>& player) mPlayer = player; if (player != 0) { mCurrentState = MEDIA_PLAYER_INITIALIZED; player->getDefaultBufferingSettings(&mCurrentBufferingSettings); err = NO_ERROR; } else { mCurrentBufferingSettings = BufferingSettings(); ALOGE("Unable to create media player"); } } Loading Loading @@ -255,6 +257,18 @@ status_t MediaPlayer::getDefaultBufferingSettings(BufferingSettings* buffering / 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"); Loading @@ -263,7 +277,11 @@ status_t MediaPlayer::setBufferingSettings(const BufferingSettings& buffering) 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 Loading Loading @@ -606,6 +624,7 @@ status_t MediaPlayer::reset_l() // setDataSource has to be called again to create a // new mediaplayer. mPlayer = 0; mCurrentBufferingSettings = BufferingSettings(); return ret; } clear_l(); Loading Loading
include/media/mediaplayer.h +3 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ #include <binder/IMemory.h> #include <media/AudioResamplerPublic.h> #include <media/BufferingSettings.h> #include <media/IMediaPlayerClient.h> #include <media/IMediaPlayer.h> #include <media/IMediaDeathNotifier.h> Loading Loading @@ -220,6 +221,7 @@ public: const sp<IGraphicBufferProducer>& bufferProducer); status_t setListener(const sp<MediaPlayerListener>& listener); status_t getDefaultBufferingSettings(BufferingSettings* buffering /* nonnull */); status_t getBufferingSettings(BufferingSettings* buffering /* nonnull */); status_t setBufferingSettings(const BufferingSettings& buffering); status_t prepare(); status_t prepareAsync(); Loading Loading @@ -294,6 +296,7 @@ private: float mSendLevel; struct sockaddr_in mRetransmitEndpoint; bool mRetransmitEndpointValid; BufferingSettings mCurrentBufferingSettings; }; }; // namespace android Loading
media/libmedia/mediaplayer.cpp +20 −1 Original line number Diff line number Diff line Loading @@ -136,8 +136,10 @@ status_t MediaPlayer::attachNewPlayer(const sp<IMediaPlayer>& player) mPlayer = player; if (player != 0) { mCurrentState = MEDIA_PLAYER_INITIALIZED; player->getDefaultBufferingSettings(&mCurrentBufferingSettings); err = NO_ERROR; } else { mCurrentBufferingSettings = BufferingSettings(); ALOGE("Unable to create media player"); } } Loading Loading @@ -255,6 +257,18 @@ status_t MediaPlayer::getDefaultBufferingSettings(BufferingSettings* buffering / 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"); Loading @@ -263,7 +277,11 @@ status_t MediaPlayer::setBufferingSettings(const BufferingSettings& buffering) 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 Loading Loading @@ -606,6 +624,7 @@ status_t MediaPlayer::reset_l() // setDataSource has to be called again to create a // new mediaplayer. mPlayer = 0; mCurrentBufferingSettings = BufferingSettings(); return ret; } clear_l(); Loading