diff options
| author | Jean-Michel Trivi <jmtrivi@google.com> | 2011-07-22 09:52:39 -0700 | 
|---|---|---|
| committer | Jean-Michel Trivi <jmtrivi@google.com> | 2011-07-22 14:51:51 -0700 | 
| commit | a05f099301ca9d5efd4db549295401ee00b439a0 (patch) | |
| tree | 3e9b1bf6ce6b55d72b88662b7363826258ea13dc | |
| parent | 47d4caf41b052ab88f747ccc789754be5f44f8af (diff) | |
| download | frameworks_base-a05f099301ca9d5efd4db549295401ee00b439a0.zip frameworks_base-a05f099301ca9d5efd4db549295401ee00b439a0.tar.gz frameworks_base-a05f099301ca9d5efd4db549295401ee00b439a0.tar.bz2  | |
QueryCodecs() signature change
Restore QueryCodecs() signature exactly as used by third-party libs.
Add an alternative function to select HW only codecs.
Change-Id: Ibb2cb4dd36fc0c6599eb93aa5751c216397e3b6f
| -rw-r--r-- | cmds/stagefright/stagefright.cpp | 2 | ||||
| -rw-r--r-- | include/media/stagefright/OMXCodec.h | 7 | ||||
| -rwxr-xr-x | media/libstagefright/OMXCodec.cpp | 7 | 
3 files changed, 15 insertions, 1 deletions
diff --git a/cmds/stagefright/stagefright.cpp b/cmds/stagefright/stagefright.cpp index b42f1c5..34f0a64 100644 --- a/cmds/stagefright/stagefright.cpp +++ b/cmds/stagefright/stagefright.cpp @@ -803,9 +803,9 @@ int main(int argc, char **argv) {              printf("type '%s':\n", kMimeTypes[k]);              Vector<CodecCapabilities> results; +            // will retrieve hardware and software codecs              CHECK_EQ(QueryCodecs(omx, kMimeTypes[k],                                   true, // queryDecoders -                                 false, // hwCodecOnly                                   &results), (status_t)OK);              for (size_t i = 0; i < results.size(); ++i) { diff --git a/include/media/stagefright/OMXCodec.h b/include/media/stagefright/OMXCodec.h index 20fcde5..93933d9 100644 --- a/include/media/stagefright/OMXCodec.h +++ b/include/media/stagefright/OMXCodec.h @@ -348,6 +348,8 @@ struct CodecCapabilities {  // that encode content of the given type.  // profile and level indications only make sense for h.263, mpeg4 and avc  // video. +// If hwCodecOnly==true, only returns hardware-based components, software and +// hardware otherwise.  // The profile/level values correspond to  // OMX_VIDEO_H263PROFILETYPE, OMX_VIDEO_MPEG4PROFILETYPE,  // OMX_VIDEO_AVCPROFILETYPE, OMX_VIDEO_H263LEVELTYPE, OMX_VIDEO_MPEG4LEVELTYPE @@ -358,6 +360,11 @@ status_t QueryCodecs(          const char *mimeType, bool queryDecoders, bool hwCodecOnly,          Vector<CodecCapabilities> *results); +status_t QueryCodecs( +        const sp<IOMX> &omx, +        const char *mimeType, bool queryDecoders, +        Vector<CodecCapabilities> *results); +  }  // namespace android  #endif  // OMX_CODEC_H_ diff --git a/media/libstagefright/OMXCodec.cpp b/media/libstagefright/OMXCodec.cpp index 7bcbdcf..0a6f0bd 100755 --- a/media/libstagefright/OMXCodec.cpp +++ b/media/libstagefright/OMXCodec.cpp @@ -4415,6 +4415,13 @@ status_t QueryCodecs(      return OK;  } +status_t QueryCodecs( +        const sp<IOMX> &omx, +        const char *mimeType, bool queryDecoders, +        Vector<CodecCapabilities> *results) { +    return QueryCodecs(omx, mimeType, queryDecoders, false /*hwCodecOnly*/, results); +} +  void OMXCodec::restorePatchedDataPointer(BufferInfo *info) {      CHECK(mIsEncoder && (mQuirks & kAvoidMemcopyInputRecordingFrames));      CHECK(mOMXLivesLocally);  | 
