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

Commit 13ff5b0c authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "mediaplayer: add buffering settings API"

parents fb346428 dc6f340e
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -66,6 +66,7 @@ struct BufferingSettings : public Parcelable {
    status_t writeToParcel(Parcel* parcel) const override;
    status_t readFromParcel(const Parcel* parcel) override;

    String8 toString() const;
};

} // namespace android
+2 −0
Original line number Diff line number Diff line
@@ -219,6 +219,8 @@ public:
            status_t        setVideoSurfaceTexture(
                                    const sp<IGraphicBufferProducer>& bufferProducer);
            status_t        setListener(const sp<MediaPlayerListener>& listener);
            status_t        getDefaultBufferingSettings(BufferingSettings* buffering /* nonnull */);
            status_t        setBufferingSettings(const BufferingSettings& buffering);
            status_t        prepare();
            status_t        prepareAsync();
            status_t        start();
+11 −0
Original line number Diff line number Diff line
@@ -80,4 +80,15 @@ status_t BufferingSettings::writeToParcel(Parcel* parcel) const {
    return OK;
}

String8 BufferingSettings::toString() const {
    String8 s;
    s.appendFormat("initialMode(%d), rebufferingMode(%d), "
            "initialMarks(%d ms, %d KB), rebufferingMarks(%d, %d)ms, (%d, %d)KB",
            mInitialBufferingMode, mRebufferingMode,
            mInitialWatermarkMs, mInitialWatermarkKB,
            mRebufferingWatermarkLowMs, mRebufferingWatermarkHighMs,
            mRebufferingWatermarkLowKB, mRebufferingWatermarkHighKB);
    return s;
}

} // namespace android
+22 −0
Original line number Diff line number Diff line
@@ -244,6 +244,28 @@ status_t MediaPlayer::setVideoSurfaceTexture(
    return mPlayer->setVideoSurfaceTexture(bufferProducer);
}

status_t MediaPlayer::getDefaultBufferingSettings(BufferingSettings* buffering /* nonnull */)
{
    ALOGV("getDefaultBufferingSettings");

    Mutex::Autolock _l(mLock);
    if (mPlayer == 0) {
        return NO_INIT;
    }
    return mPlayer->getDefaultBufferingSettings(buffering);
}

status_t MediaPlayer::setBufferingSettings(const BufferingSettings& buffering)
{
    ALOGV("setBufferingSettings");

    Mutex::Autolock _l(mLock);
    if (mPlayer == 0) {
        return NO_INIT;
    }
    return mPlayer->setBufferingSettings(buffering);
}

// must call with lock held
status_t MediaPlayer::prepareAsync_l()
{
+4 −14
Original line number Diff line number Diff line
@@ -975,13 +975,8 @@ status_t MediaPlayerService::Client::getMetadata(
status_t MediaPlayerService::Client::setBufferingSettings(
        const BufferingSettings& buffering)
{
    ALOGV("[%d] setBufferingSettings(%d, %d, %d, %d, %d, %d, %d, %d)",
            mConnId, buffering.mInitialBufferingMode, buffering.mRebufferingMode,
            buffering.mInitialWatermarkMs, buffering.mInitialWatermarkKB,
            buffering.mRebufferingWatermarkLowMs,
            buffering.mRebufferingWatermarkHighMs,
            buffering.mRebufferingWatermarkLowKB,
            buffering.mRebufferingWatermarkHighKB);
    ALOGV("[%d] setBufferingSettings{%s}",
            mConnId, buffering.toString().string());
    sp<MediaPlayerBase> p = getPlayer();
    if (p == 0) return UNKNOWN_ERROR;
    return p->setBufferingSettings(buffering);
@@ -995,13 +990,8 @@ status_t MediaPlayerService::Client::getDefaultBufferingSettings(
    if (p == 0) return UNKNOWN_ERROR;
    status_t ret = p->getDefaultBufferingSettings(buffering);
    if (ret == NO_ERROR) {
        ALOGV("[%d] getDefaultBufferingSettings(%d, %d, %d, %d, %d, %d, %d, %d)",
                mConnId, buffering->mInitialBufferingMode, buffering->mRebufferingMode,
                buffering->mInitialWatermarkMs, buffering->mInitialWatermarkKB,
                buffering->mRebufferingWatermarkLowMs,
                buffering->mRebufferingWatermarkHighMs,
                buffering->mRebufferingWatermarkLowKB,
                buffering->mRebufferingWatermarkHighKB);
        ALOGV("[%d] getDefaultBufferingSettings{%s}",
                mConnId, buffering->toString().string());
    } else {
        ALOGV("[%d] getDefaultBufferingSettings returned %d", mConnId, ret);
    }
Loading