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

Commit d4a26c4d authored by Aniket Kumar Lata's avatar Aniket Kumar Lata Committed by Hung-ying Tyan
Browse files

av: stop puller before releasing encoder

When encoder is released, it will no longer turn to media codec source
for fill-this-buffer. Hence, the buffer queue within puller will not be
cleared by encoder.

Stop mPuller before releasing encoder to avoid being stucked in
AudioSource::waitOutstandingEncodingFrames_l() if audiosource reset() is
invoked from SFRecorder destructor.

Bug: 123065628
Change-Id: I78ecb2207ae595784204bd6392311dc194af306d
Merged-In: I78ecb2207ae595784204bd6392311dc194af306d
parent beb800f0
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -643,6 +643,10 @@ void MediaCodecSource::signalEOS(status_t err) {
            output->mBufferQueue.clear();
            output->mEncoderReachedEOS = true;
            output->mErrorCode = err;
            if (!(mFlags & FLAG_USE_SURFACE_INPUT)) {
                mStopping = true;
                mPuller->stop();
            }
            output->mCond.signal();

            reachedEOS = true;