diff --git a/media/libstagefright/OMXCodec.cpp b/media/libstagefright/OMXCodec.cpp index a4f3922ee0e62..644c413f6fee9 100755 --- a/media/libstagefright/OMXCodec.cpp +++ b/media/libstagefright/OMXCodec.cpp @@ -442,9 +442,17 @@ sp OMXCodec::Create( sp observer = new OMXCodecObserver; IOMX::node_id node = 0; - const char *componentName; for (size_t i = 0; i < matchingCodecs.size(); ++i) { - componentName = matchingCodecs[i].string(); + const char *componentNameBase = matchingCodecs[i].string(); + const char *componentName = componentNameBase; + + AString tmp; + if (flags & kUseSecureInputBuffers) { + tmp = componentNameBase; + tmp.append(".secure"); + + componentName = tmp.c_str(); + } if (createEncoder) { sp softwareCodec = @@ -459,7 +467,7 @@ sp OMXCodec::Create( LOGV("Attempting to allocate OMX node '%s'", componentName); - uint32_t quirks = getComponentQuirks(componentName, createEncoder); + uint32_t quirks = getComponentQuirks(componentNameBase, createEncoder); if (!createEncoder && (quirks & kOutputBuffersAreUnreadable)