Loading include/media/stagefright/MediaCodecList.h +2 −1 Original line number Diff line number Diff line Loading @@ -50,7 +50,8 @@ struct MediaCodecList { status_t getCodecCapabilities( size_t index, const char *type, Vector<ProfileLevel> *profileLevels, Vector<uint32_t> *colorFormats) const; Vector<uint32_t> *colorFormats, uint32_t *flags) const; private: enum Section { Loading include/media/stagefright/OMXCodec.h +5 −0 Original line number Diff line number Diff line Loading @@ -361,9 +361,14 @@ private: }; struct CodecCapabilities { enum { kFlagSupportsAdaptivePlayback = 1 << 0, }; String8 mComponentName; Vector<CodecProfileLevel> mProfileLevels; Vector<OMX_U32> mColorFormats; uint32_t mFlags; }; // Return a vector of componentNames with supported profile/level pairs Loading media/libstagefright/MediaCodecList.cpp +4 −1 Original line number Diff line number Diff line Loading @@ -509,7 +509,8 @@ status_t MediaCodecList::getSupportedTypes( status_t MediaCodecList::getCodecCapabilities( size_t index, const char *type, Vector<ProfileLevel> *profileLevels, Vector<uint32_t> *colorFormats) const { Vector<uint32_t> *colorFormats, uint32_t *flags) const { profileLevels->clear(); colorFormats->clear(); Loading Loading @@ -547,6 +548,8 @@ status_t MediaCodecList::getCodecCapabilities( colorFormats->push(caps.mColorFormats.itemAt(i)); } *flags = caps.mFlags; return OK; } Loading media/libstagefright/OMXCodec.cpp +8 −1 Original line number Diff line number Diff line Loading @@ -4567,7 +4567,7 @@ status_t QueryCodec( CodecCapabilities *caps) { if (strncmp(componentName, "OMX.", 4)) { // Not an OpenMax component but a software codec. caps->mFlags = 0; caps->mComponentName = componentName; return OK; } Loading @@ -4582,8 +4582,15 @@ status_t QueryCodec( OMXCodec::setComponentRole(omx, node, isEncoder, mime); caps->mFlags = 0; caps->mComponentName = componentName; if (!isEncoder && !strncmp(mime, "video/", 6) && omx->storeMetaDataInBuffers( node, 1 /* port index */, OMX_TRUE) == OK) { caps->mFlags |= CodecCapabilities::kFlagSupportsAdaptivePlayback; } OMX_VIDEO_PARAM_PROFILELEVELTYPE param; InitOMXParams(¶m); Loading Loading
include/media/stagefright/MediaCodecList.h +2 −1 Original line number Diff line number Diff line Loading @@ -50,7 +50,8 @@ struct MediaCodecList { status_t getCodecCapabilities( size_t index, const char *type, Vector<ProfileLevel> *profileLevels, Vector<uint32_t> *colorFormats) const; Vector<uint32_t> *colorFormats, uint32_t *flags) const; private: enum Section { Loading
include/media/stagefright/OMXCodec.h +5 −0 Original line number Diff line number Diff line Loading @@ -361,9 +361,14 @@ private: }; struct CodecCapabilities { enum { kFlagSupportsAdaptivePlayback = 1 << 0, }; String8 mComponentName; Vector<CodecProfileLevel> mProfileLevels; Vector<OMX_U32> mColorFormats; uint32_t mFlags; }; // Return a vector of componentNames with supported profile/level pairs Loading
media/libstagefright/MediaCodecList.cpp +4 −1 Original line number Diff line number Diff line Loading @@ -509,7 +509,8 @@ status_t MediaCodecList::getSupportedTypes( status_t MediaCodecList::getCodecCapabilities( size_t index, const char *type, Vector<ProfileLevel> *profileLevels, Vector<uint32_t> *colorFormats) const { Vector<uint32_t> *colorFormats, uint32_t *flags) const { profileLevels->clear(); colorFormats->clear(); Loading Loading @@ -547,6 +548,8 @@ status_t MediaCodecList::getCodecCapabilities( colorFormats->push(caps.mColorFormats.itemAt(i)); } *flags = caps.mFlags; return OK; } Loading
media/libstagefright/OMXCodec.cpp +8 −1 Original line number Diff line number Diff line Loading @@ -4567,7 +4567,7 @@ status_t QueryCodec( CodecCapabilities *caps) { if (strncmp(componentName, "OMX.", 4)) { // Not an OpenMax component but a software codec. caps->mFlags = 0; caps->mComponentName = componentName; return OK; } Loading @@ -4582,8 +4582,15 @@ status_t QueryCodec( OMXCodec::setComponentRole(omx, node, isEncoder, mime); caps->mFlags = 0; caps->mComponentName = componentName; if (!isEncoder && !strncmp(mime, "video/", 6) && omx->storeMetaDataInBuffers( node, 1 /* port index */, OMX_TRUE) == OK) { caps->mFlags |= CodecCapabilities::kFlagSupportsAdaptivePlayback; } OMX_VIDEO_PARAM_PROFILELEVELTYPE param; InitOMXParams(¶m); Loading