Am 05.03.2017 um 23:10 schrieb Mark Thompson:
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.
Reviewed-by: Christian König <christian.koe...@amd.com>.
Do you have commit rights? If not please send me a list of all the
patches still waiting and I will push them.
Regards,
Christian.
---
src/gallium/state_trackers/omx/vid_enc.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/gallium/state_trackers/omx/vid_enc.c
b/src/gallium/state_trackers/omx/vid_enc.c
index 07f6799964..b2970a522f 100644
--- a/src/gallium/state_trackers/omx/vid_enc.c
+++ b/src/gallium/state_trackers/omx/vid_enc.c
@@ -473,6 +473,8 @@ static OMX_ERRORTYPE vid_enc_GetParameter(OMX_HANDLETYPE
handle, OMX_INDEXTYPE i
if (format->nPortIndex > 1)
return OMX_ErrorBadPortIndex;
+ if (format->nIndex >= 1)
+ return OMX_ErrorNoMore;
port = (omx_base_video_PortType *)priv->ports[format->nPortIndex];
memcpy(format, &port->sVideoParam,
sizeof(OMX_VIDEO_PARAM_PORTFORMATTYPE));
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev