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

Commit 5031b2f3 authored by Wei Jia's avatar Wei Jia
Browse files

NuPlayer: allow restartAudio in non-offload mode.

Bug: 27349327
Bug: 27059518
Change-Id: Ia41de9dbe8949ca04f6f3cd11f5b01cea2f53a74
parent fc958a08
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -746,7 +746,7 @@ void NuPlayer::onMessageReceived(const sp<AMessage> &msg) {
                    if (!mPaused) {
                        mRenderer->pause();
                    }
                    restartAudioFromOffload(
                    restartAudio(
                            currentPositionUs, true /* forceNonOffload */,
                            true /* needsToCreateAudioDecoder */);
                    if (!mPaused) {
@@ -1149,7 +1149,7 @@ void NuPlayer::onMessageReceived(const sp<AMessage> &msg) {
                    positionUs = mPreviousSeekTimeUs;
                }

                restartAudioFromOffload(
                restartAudio(
                        positionUs, false /* forceNonOffload */,
                        reason == Renderer::kDueToError /* needsToCreateAudioDecoder */);
            }
@@ -1488,11 +1488,8 @@ void NuPlayer::closeAudioSink() {
    mRenderer->closeAudioSink();
}

void NuPlayer::restartAudioFromOffload(
void NuPlayer::restartAudio(
        int64_t currentPositionUs, bool forceNonOffload, bool needsToCreateAudioDecoder) {
    if (!mOffloadAudio) {
        return;
    }
    mAudioDecoder->pause();
    mAudioDecoder.clear();
    ++mAudioDecoderGeneration;
+1 −1
Original line number Diff line number Diff line
@@ -233,7 +233,7 @@ private:

    void tryOpenAudioSinkForOffload(const sp<AMessage> &format, bool hasVideo);
    void closeAudioSink();
    void restartAudioFromOffload(
    void restartAudio(
        int64_t currentPositionUs, bool forceNonOffload, bool needsToCreateAudioDecoder);
    void determineAudioModeChange();