Loading media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp +36 −8 Original line number Diff line number Diff line Loading @@ -343,7 +343,7 @@ void NuPlayer::Decoder::onConfigure(const sp<AMessage> &format) { format, mSurface, crypto, 0 /* flags */); if (err != OK) { ALOGE("Failed to configure %s decoder (err=%d)", mComponentName.c_str(), err); ALOGE("Failed to configure [%s] decoder (err=%d)", mComponentName.c_str(), err); mCodec->release(); mCodec.clear(); handleError(err); Loading Loading @@ -372,7 +372,7 @@ void NuPlayer::Decoder::onConfigure(const sp<AMessage> &format) { err = mCodec->start(); if (err != OK) { ALOGE("Failed to start %s decoder (err=%d)", mComponentName.c_str(), err); ALOGE("Failed to start [%s] decoder (err=%d)", mComponentName.c_str(), err); mCodec->release(); mCodec.clear(); handleError(err); Loading Loading @@ -460,6 +460,12 @@ void NuPlayer::Decoder::onResume(bool notifyComplete) { if (notifyComplete) { mResumePending = true; } if (mCodec == NULL) { ALOGE("[%s] onResume without a valid codec", mComponentName.c_str()); handleError(NO_INIT); return; } mCodec->start(); } Loading @@ -481,7 +487,7 @@ void NuPlayer::Decoder::doFlush(bool notifyComplete) { } if (err != OK) { ALOGE("failed to flush %s (err=%d)", mComponentName.c_str(), err); ALOGE("failed to flush [%s] (err=%d)", mComponentName.c_str(), err); handleError(err); // finish with posting kWhatFlushCompleted. // we attempt to release the buffers even if flush fails. Loading Loading @@ -530,7 +536,7 @@ void NuPlayer::Decoder::onShutdown(bool notifyComplete) { releaseAndResetMediaBuffers(); if (err != OK) { ALOGE("failed to release %s (err=%d)", mComponentName.c_str(), err); ALOGE("failed to release [%s] (err=%d)", mComponentName.c_str(), err); handleError(err); // finish with posting kWhatShutdownCompleted. } Loading Loading @@ -631,10 +637,17 @@ bool NuPlayer::Decoder::handleAnInputBuffer(size_t index) { return false; } if (mCodec == NULL) { ALOGE("[%s] handleAnInputBuffer without a valid codec", mComponentName.c_str()); handleError(NO_INIT); return false; } sp<MediaCodecBuffer> buffer; mCodec->getInputBuffer(index, &buffer); if (buffer == NULL) { ALOGE("[%s] handleAnInputBuffer, failed to get input buffer", mComponentName.c_str()); handleError(UNKNOWN_ERROR); return false; } Loading Loading @@ -697,11 +710,18 @@ bool NuPlayer::Decoder::handleAnOutputBuffer( size_t size, int64_t timeUs, int32_t flags) { if (mCodec == NULL) { ALOGE("[%s] handleAnOutputBuffer without a valid codec", mComponentName.c_str()); handleError(NO_INIT); return false; } // CHECK_LT(bufferIx, mOutputBuffers.size()); sp<MediaCodecBuffer> buffer; mCodec->getOutputBuffer(index, &buffer); if (buffer == NULL) { ALOGE("[%s] handleAnOutputBuffer, failed to get output buffer", mComponentName.c_str()); handleError(UNKNOWN_ERROR); return false; } Loading Loading @@ -949,6 +969,12 @@ status_t NuPlayer::Decoder::fetchInputData(sp<AMessage> &reply) { } bool NuPlayer::Decoder::onInputBufferFetched(const sp<AMessage> &msg) { if (mCodec == NULL) { ALOGE("[%s] onInputBufferFetched without a valid codec", mComponentName.c_str()); handleError(NO_INIT); return false; } size_t bufferIx; CHECK(msg->findSize("buffer-ix", &bufferIx)); CHECK_LT(bufferIx, mInputBuffers.size()); Loading Loading @@ -979,7 +1005,7 @@ bool NuPlayer::Decoder::onInputBufferFetched(const sp<AMessage> &msg) { } if (streamErr != ERROR_END_OF_STREAM) { ALOGE("Stream error for %s (err=%d), EOS %s queued", ALOGE("Stream error for [%s] (err=%d), EOS %s queued", mComponentName.c_str(), streamErr, err == OK ? "successfully" : "unsuccessfully"); Loading Loading @@ -1073,7 +1099,7 @@ bool NuPlayer::Decoder::onInputBufferFetched(const sp<AMessage> &msg) { } // no cryptInfo if (err != OK) { ALOGE("onInputBufferFetched: queue%sInputBuffer failed for %s (err=%d, %s)", ALOGE("onInputBufferFetched: queue%sInputBuffer failed for [%s] (err=%d, %s)", (cryptInfo != NULL ? "Secure" : ""), mComponentName.c_str(), err, errorDetailMsg.c_str()); handleError(err); Loading Loading @@ -1102,7 +1128,9 @@ void NuPlayer::Decoder::onRenderBuffer(const sp<AMessage> &msg) { } } if (msg->findInt32("render", &render) && render) { if (mCodec == NULL) { err = NO_INIT; } else if (msg->findInt32("render", &render) && render) { int64_t timestampNs; CHECK(msg->findInt64("timestampNs", ×tampNs)); err = mCodec->renderOutputBufferAndRelease(bufferIx, timestampNs); Loading @@ -1111,7 +1139,7 @@ void NuPlayer::Decoder::onRenderBuffer(const sp<AMessage> &msg) { err = mCodec->releaseOutputBuffer(bufferIx); } if (err != OK) { ALOGE("failed to release output buffer for %s (err=%d)", ALOGE("failed to release output buffer for [%s] (err=%d)", mComponentName.c_str(), err); handleError(err); } Loading Loading
media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp +36 −8 Original line number Diff line number Diff line Loading @@ -343,7 +343,7 @@ void NuPlayer::Decoder::onConfigure(const sp<AMessage> &format) { format, mSurface, crypto, 0 /* flags */); if (err != OK) { ALOGE("Failed to configure %s decoder (err=%d)", mComponentName.c_str(), err); ALOGE("Failed to configure [%s] decoder (err=%d)", mComponentName.c_str(), err); mCodec->release(); mCodec.clear(); handleError(err); Loading Loading @@ -372,7 +372,7 @@ void NuPlayer::Decoder::onConfigure(const sp<AMessage> &format) { err = mCodec->start(); if (err != OK) { ALOGE("Failed to start %s decoder (err=%d)", mComponentName.c_str(), err); ALOGE("Failed to start [%s] decoder (err=%d)", mComponentName.c_str(), err); mCodec->release(); mCodec.clear(); handleError(err); Loading Loading @@ -460,6 +460,12 @@ void NuPlayer::Decoder::onResume(bool notifyComplete) { if (notifyComplete) { mResumePending = true; } if (mCodec == NULL) { ALOGE("[%s] onResume without a valid codec", mComponentName.c_str()); handleError(NO_INIT); return; } mCodec->start(); } Loading @@ -481,7 +487,7 @@ void NuPlayer::Decoder::doFlush(bool notifyComplete) { } if (err != OK) { ALOGE("failed to flush %s (err=%d)", mComponentName.c_str(), err); ALOGE("failed to flush [%s] (err=%d)", mComponentName.c_str(), err); handleError(err); // finish with posting kWhatFlushCompleted. // we attempt to release the buffers even if flush fails. Loading Loading @@ -530,7 +536,7 @@ void NuPlayer::Decoder::onShutdown(bool notifyComplete) { releaseAndResetMediaBuffers(); if (err != OK) { ALOGE("failed to release %s (err=%d)", mComponentName.c_str(), err); ALOGE("failed to release [%s] (err=%d)", mComponentName.c_str(), err); handleError(err); // finish with posting kWhatShutdownCompleted. } Loading Loading @@ -631,10 +637,17 @@ bool NuPlayer::Decoder::handleAnInputBuffer(size_t index) { return false; } if (mCodec == NULL) { ALOGE("[%s] handleAnInputBuffer without a valid codec", mComponentName.c_str()); handleError(NO_INIT); return false; } sp<MediaCodecBuffer> buffer; mCodec->getInputBuffer(index, &buffer); if (buffer == NULL) { ALOGE("[%s] handleAnInputBuffer, failed to get input buffer", mComponentName.c_str()); handleError(UNKNOWN_ERROR); return false; } Loading Loading @@ -697,11 +710,18 @@ bool NuPlayer::Decoder::handleAnOutputBuffer( size_t size, int64_t timeUs, int32_t flags) { if (mCodec == NULL) { ALOGE("[%s] handleAnOutputBuffer without a valid codec", mComponentName.c_str()); handleError(NO_INIT); return false; } // CHECK_LT(bufferIx, mOutputBuffers.size()); sp<MediaCodecBuffer> buffer; mCodec->getOutputBuffer(index, &buffer); if (buffer == NULL) { ALOGE("[%s] handleAnOutputBuffer, failed to get output buffer", mComponentName.c_str()); handleError(UNKNOWN_ERROR); return false; } Loading Loading @@ -949,6 +969,12 @@ status_t NuPlayer::Decoder::fetchInputData(sp<AMessage> &reply) { } bool NuPlayer::Decoder::onInputBufferFetched(const sp<AMessage> &msg) { if (mCodec == NULL) { ALOGE("[%s] onInputBufferFetched without a valid codec", mComponentName.c_str()); handleError(NO_INIT); return false; } size_t bufferIx; CHECK(msg->findSize("buffer-ix", &bufferIx)); CHECK_LT(bufferIx, mInputBuffers.size()); Loading Loading @@ -979,7 +1005,7 @@ bool NuPlayer::Decoder::onInputBufferFetched(const sp<AMessage> &msg) { } if (streamErr != ERROR_END_OF_STREAM) { ALOGE("Stream error for %s (err=%d), EOS %s queued", ALOGE("Stream error for [%s] (err=%d), EOS %s queued", mComponentName.c_str(), streamErr, err == OK ? "successfully" : "unsuccessfully"); Loading Loading @@ -1073,7 +1099,7 @@ bool NuPlayer::Decoder::onInputBufferFetched(const sp<AMessage> &msg) { } // no cryptInfo if (err != OK) { ALOGE("onInputBufferFetched: queue%sInputBuffer failed for %s (err=%d, %s)", ALOGE("onInputBufferFetched: queue%sInputBuffer failed for [%s] (err=%d, %s)", (cryptInfo != NULL ? "Secure" : ""), mComponentName.c_str(), err, errorDetailMsg.c_str()); handleError(err); Loading Loading @@ -1102,7 +1128,9 @@ void NuPlayer::Decoder::onRenderBuffer(const sp<AMessage> &msg) { } } if (msg->findInt32("render", &render) && render) { if (mCodec == NULL) { err = NO_INIT; } else if (msg->findInt32("render", &render) && render) { int64_t timestampNs; CHECK(msg->findInt64("timestampNs", ×tampNs)); err = mCodec->renderOutputBufferAndRelease(bufferIx, timestampNs); Loading @@ -1111,7 +1139,7 @@ void NuPlayer::Decoder::onRenderBuffer(const sp<AMessage> &msg) { err = mCodec->releaseOutputBuffer(bufferIx); } if (err != OK) { ALOGE("failed to release output buffer for %s (err=%d)", ALOGE("failed to release output buffer for [%s] (err=%d)", mComponentName.c_str(), err); handleError(err); } Loading