Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dfb89914 authored by James Dong's avatar James Dong
Browse files

Fixed a bug in the query to the supported profiles and levels

According to OMX spec, the levels returned is the max level settings.
In fact, we could not enum all the levels.

Change-Id: Ib1cba74100512800a5761c7567894c7ea5b5a452
parent 4198cece
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -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;