Loading media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp +12 −4 Original line number Diff line number Diff line Loading @@ -622,13 +622,21 @@ void NuPlayer::Decoder::onMessageReceived(const sp<AMessage> &msg) { case kWhatCodecNotify: { if (!isStaleReply(msg)) { if (!mPaused) { while (handleAnInputBuffer()) { int32_t numInput, numOutput; if (!msg->findInt32("input-buffers", &numInput)) { numInput = INT32_MAX; } if (!msg->findInt32("output-buffers", &numOutput)) { numOutput = INT32_MAX; } while (handleAnOutputBuffer()) { if (!mPaused) { while (numInput-- > 0 && handleAnInputBuffer()) {} } while (numOutput-- > 0 && handleAnOutputBuffer()) {} } requestCodecNotification(); Loading media/libstagefright/MediaCodec.cpp +15 −2 Original line number Diff line number Diff line Loading @@ -2141,11 +2141,24 @@ void MediaCodec::postActivityNotificationIfPossible() { return; } if ((mFlags & (kFlagStickyError bool isErrorOrOutputChanged = (mFlags & (kFlagStickyError | kFlagOutputBuffersChanged | kFlagOutputFormatChanged)) | kFlagOutputFormatChanged)); if (isErrorOrOutputChanged || !mAvailPortBuffers[kPortIndexInput].empty() || !mAvailPortBuffers[kPortIndexOutput].empty()) { mActivityNotify->setInt32("input-buffers", mAvailPortBuffers[kPortIndexInput].size()); if (isErrorOrOutputChanged) { // we want consumer to dequeue as many times as it can mActivityNotify->setInt32("output-buffers", INT32_MAX); } else { mActivityNotify->setInt32("output-buffers", mAvailPortBuffers[kPortIndexOutput].size()); } mActivityNotify->post(); mActivityNotify.clear(); } Loading Loading
media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp +12 −4 Original line number Diff line number Diff line Loading @@ -622,13 +622,21 @@ void NuPlayer::Decoder::onMessageReceived(const sp<AMessage> &msg) { case kWhatCodecNotify: { if (!isStaleReply(msg)) { if (!mPaused) { while (handleAnInputBuffer()) { int32_t numInput, numOutput; if (!msg->findInt32("input-buffers", &numInput)) { numInput = INT32_MAX; } if (!msg->findInt32("output-buffers", &numOutput)) { numOutput = INT32_MAX; } while (handleAnOutputBuffer()) { if (!mPaused) { while (numInput-- > 0 && handleAnInputBuffer()) {} } while (numOutput-- > 0 && handleAnOutputBuffer()) {} } requestCodecNotification(); Loading
media/libstagefright/MediaCodec.cpp +15 −2 Original line number Diff line number Diff line Loading @@ -2141,11 +2141,24 @@ void MediaCodec::postActivityNotificationIfPossible() { return; } if ((mFlags & (kFlagStickyError bool isErrorOrOutputChanged = (mFlags & (kFlagStickyError | kFlagOutputBuffersChanged | kFlagOutputFormatChanged)) | kFlagOutputFormatChanged)); if (isErrorOrOutputChanged || !mAvailPortBuffers[kPortIndexInput].empty() || !mAvailPortBuffers[kPortIndexOutput].empty()) { mActivityNotify->setInt32("input-buffers", mAvailPortBuffers[kPortIndexInput].size()); if (isErrorOrOutputChanged) { // we want consumer to dequeue as many times as it can mActivityNotify->setInt32("output-buffers", INT32_MAX); } else { mActivityNotify->setInt32("output-buffers", mAvailPortBuffers[kPortIndexOutput].size()); } mActivityNotify->post(); mActivityNotify.clear(); } Loading