diff options
author | James Dong <jdong@google.com> | 2010-09-16 11:45:01 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-09-16 11:45:01 -0700 |
commit | 0270f47ffeee4907ba1626f6871f5157e529e54e (patch) | |
tree | dcb7008021782bb99b7248e4212c18e0a46e694d /media/libstagefright | |
parent | 72b2749aafff4643bd91b845c621fb7211b96208 (diff) | |
parent | f01691f44dcbe38a0ab3914e7c709ddc009d95dc (diff) | |
download | frameworks_av-0270f47ffeee4907ba1626f6871f5157e529e54e.zip frameworks_av-0270f47ffeee4907ba1626f6871f5157e529e54e.tar.gz frameworks_av-0270f47ffeee4907ba1626f6871f5157e529e54e.tar.bz2 |
Merge "Fixed a bug in the query to the supported profiles and levels" into gingerbread
Diffstat (limited to 'media/libstagefright')
-rw-r--r-- | media/libstagefright/OMXCodec.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/media/libstagefright/OMXCodec.cpp b/media/libstagefright/OMXCodec.cpp index 3d25a4b..cd70a3d 100644 --- a/media/libstagefright/OMXCodec.cpp +++ b/media/libstagefright/OMXCodec.cpp @@ -1035,7 +1035,7 @@ status_t OMXCodec::getVideoProfileLevel( mNode, OMX_IndexParamVideoProfileLevelQuerySupported, ¶m, sizeof(param)); - if (err != OK) return err; + if (err != OK) break; int32_t supportedProfile = static_cast<int32_t>(param.eProfile); int32_t supportedLevel = static_cast<int32_t>(param.eLevel); @@ -1043,7 +1043,10 @@ status_t OMXCodec::getVideoProfileLevel( supportedProfile, supportedLevel); if (profile == supportedProfile && - level == supportedLevel) { + level <= supportedLevel) { + // We can further check whether the level is a valid + // value; but we will leave that to the omx encoder component + // via OMX_SetParameter call. profileLevel.mProfile = profile; profileLevel.mLevel = level; return OK; |