Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ed32086f authored by Wei Jia's avatar Wei Jia
Browse files

mediaplayer: add getBufferingSettings.

Test: compiles
Bug: 32524218
Change-Id: Ifd6243d524d1554dfbbfc1381414100cfafdc02d
parent 13ff5b0c
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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>
@@ -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();
@@ -294,6 +296,7 @@ private:
    float                       mSendLevel;
    struct sockaddr_in          mRetransmitEndpoint;
    bool                        mRetransmitEndpointValid;
    BufferingSettings           mCurrentBufferingSettings;
};

}; // namespace android
+20 −1
Original line number Diff line number Diff line
@@ -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");
        }
    }
@@ -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");
@@ -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
@@ -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();