From 9f41ee5a4dd73093d107bc80df5cebb9a273cc72 Mon Sep 17 00:00:00 2001 From: Ronghua Wu Date: Wed, 8 Apr 2015 17:50:14 -0700 Subject: libstagefright: propagate error from allocateNode. Bug: 19620911 Change-Id: Iee288343d7d851a395052e1b3354eb98b026e4fb --- media/libstagefright/ACodec.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'media') diff --git a/media/libstagefright/ACodec.cpp b/media/libstagefright/ACodec.cpp index 97f3e20..d682cc6 100644 --- a/media/libstagefright/ACodec.cpp +++ b/media/libstagefright/ACodec.cpp @@ -4902,6 +4902,7 @@ bool ACodec::UninitializedState::onAllocateComponent(const sp &msg) { sp observer = new CodecObserver; IOMX::node_id node = NULL; + status_t err = OMX_ErrorComponentNotFound; for (size_t matchIndex = 0; matchIndex < matchingCodecs.size(); ++matchIndex) { componentName = matchingCodecs.itemAt(matchIndex).mName.string(); @@ -4910,7 +4911,7 @@ bool ACodec::UninitializedState::onAllocateComponent(const sp &msg) { pid_t tid = gettid(); int prevPriority = androidGetThreadPriority(tid); androidSetThreadPriority(tid, ANDROID_PRIORITY_FOREGROUND); - status_t err = omx->allocateNode(componentName.c_str(), observer, &node); + err = omx->allocateNode(componentName.c_str(), observer, &node); androidSetThreadPriority(tid, prevPriority); if (err == OK) { @@ -4924,13 +4925,13 @@ bool ACodec::UninitializedState::onAllocateComponent(const sp &msg) { if (node == NULL) { if (!mime.empty()) { - ALOGE("Unable to instantiate a %scoder for type '%s'.", - encoder ? "en" : "de", mime.c_str()); + ALOGE("Unable to instantiate a %scoder for type '%s' with err %#x.", + encoder ? "en" : "de", mime.c_str(), err); } else { - ALOGE("Unable to instantiate codec '%s'.", componentName.c_str()); + ALOGE("Unable to instantiate codec '%s' with err %#x.", componentName.c_str(), err); } - mCodec->signalError(OMX_ErrorComponentNotFound); + mCodec->signalError(err, makeNoSideEffectStatus(err)); return false; } -- cgit v1.1