st/omx: Fix port format enumeration
authorMark Thompson <sw@jkqxz.net>
Sun, 5 Mar 2017 22:10:14 +0000 (22:10 +0000)
committerChristian König <christian.koenig@amd.com>
Mon, 6 Mar 2017 13:05:17 +0000 (14:05 +0100)
commit6d95358aacc184b8927ff138e90d5920885365e7
tree08fa93559ab11db9eb50bbd0bb2cfbcc2ef01513
parent0798fddb5000f2b1edffc693ec65236a680ce61f
st/omx: Fix port format enumeration

From OpenMAX IL section 4.3.5:
"The value of nIndex is the range 0 to N-1, where N is the number of
formats supported by the port.  There is no need for the port to
report N, as the caller can determine N by enumerating all the
formats supported by the port.  Each port shall support at least one
format.  If there are no more formats, OMX_GetParameter returns
OMX_ErrorNoMore (i.e., nIndex is supplied where the value is N or
greater)."

Only one format is supported, so N = 1 and OMX_ErrorNoMore should be
returned if nIndex >= 1.  The previous code here would return the
same format for all values of nIndex, resulting in an infinite loop
when a client attempts to enumerate all formats.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
Reviewed-by: Christian König <christian.koenig@amd.com>
src/gallium/state_trackers/omx/vid_enc.c