summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/OMXCodec.cpp
diff options
context:
space:
mode:
authorLajos Molnar <lajos@google.com>2013-08-06 15:02:22 -0700
committerLajos Molnar <lajos@google.com>2013-08-13 13:42:52 -0700
commit2ee14000a38683220fb250d9e7300e1d71ccdaa0 (patch)
tree2f59a1eb7737e5e426bb7be177f853a6f333146d /media/libstagefright/OMXCodec.cpp
parentb8689b31813f55cbc1bf8e9ca0d46a9ee113e38a (diff)
downloadframeworks_av-2ee14000a38683220fb250d9e7300e1d71ccdaa0.zip
frameworks_av-2ee14000a38683220fb250d9e7300e1d71ccdaa0.tar.gz
frameworks_av-2ee14000a38683220fb250d9e7300e1d71ccdaa0.tar.bz2
Check adaptive playback support via CodecCapabilities
Added flags field to CodecCapabilities, so that applications can query whether codecs support various features. For now added one video-decoder feature: kFlagSupportsAdaptivePlayback Media playback applications can query it to see if a codec supports seamless resolution changes, such as by supporting dynamic output buffers. Signed-off-by: Lajos Molnar <lajos@google.com> Change-Id: I09da46e8ab6b8645fa2749e33128e49eda2e865b Related-to-bug: 7093648
Diffstat (limited to 'media/libstagefright/OMXCodec.cpp')
-rw-r--r--media/libstagefright/OMXCodec.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/media/libstagefright/OMXCodec.cpp b/media/libstagefright/OMXCodec.cpp
index 3de3c28..7b37365 100644
--- a/media/libstagefright/OMXCodec.cpp
+++ b/media/libstagefright/OMXCodec.cpp
@@ -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;
}
@@ -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(&param);