summaryrefslogtreecommitdiffstats
path: root/media/libstagefright
diff options
context:
space:
mode:
authorJames Dong <jdong@google.com>2010-09-16 11:45:01 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-09-16 11:45:01 -0700
commit0270f47ffeee4907ba1626f6871f5157e529e54e (patch)
treedcb7008021782bb99b7248e4212c18e0a46e694d /media/libstagefright
parent72b2749aafff4643bd91b845c621fb7211b96208 (diff)
parentf01691f44dcbe38a0ab3914e7c709ddc009d95dc (diff)
downloadframeworks_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.cpp7
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,
&param, 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;