summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorRonghua Wu <ronghuawu@google.com>2015-04-10 21:19:15 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-04-10 21:19:17 +0000
commitcc0cb8a14acc8ed1760b929fd7f706d800a6ff99 (patch)
tree8bc01581a7d8ffbac3376b805824100b4a7c1b80 /media
parent4c1efbc76f1dfeb9427617e451042a12bfb59ad3 (diff)
parent9f41ee5a4dd73093d107bc80df5cebb9a273cc72 (diff)
downloadframeworks_av-cc0cb8a14acc8ed1760b929fd7f706d800a6ff99.zip
frameworks_av-cc0cb8a14acc8ed1760b929fd7f706d800a6ff99.tar.gz
frameworks_av-cc0cb8a14acc8ed1760b929fd7f706d800a6ff99.tar.bz2
Merge "libstagefright: propagate error from allocateNode."
Diffstat (limited to 'media')
-rw-r--r--media/libstagefright/ACodec.cpp11
1 files changed, 6 insertions, 5 deletions
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<AMessage> &msg) {
sp<CodecObserver> 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<AMessage> &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<AMessage> &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;
}