The number of components and their names/roles should
be kept constant as all of that information cached.

Cc: Leo Liu <leo....@amd.com>
Cc: Christian König <christian.koe...@amd.com>
Signed-off-by: Emil Velikov <emil.l.veli...@gmail.com>
---
 src/gallium/state_trackers/omx/entrypoint.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/src/gallium/state_trackers/omx/entrypoint.c 
b/src/gallium/state_trackers/omx/entrypoint.c
index d6f149e..a765666 100644
--- a/src/gallium/state_trackers/omx/entrypoint.c
+++ b/src/gallium/state_trackers/omx/entrypoint.c
@@ -51,22 +51,21 @@ static unsigned omx_usecount = 0;
 int omx_component_library_Setup(stLoaderComponentType **stComponents)
 {
    OMX_ERRORTYPE r;
-   unsigned i = 0;
 
    if (stComponents == NULL)
       return 2;
 
    /* component 0 - video decoder */
-   r = vid_dec_LoaderComponent(stComponents[i]);
-   if (r == OMX_ErrorNone)
-      ++i;
+   r = vid_dec_LoaderComponent(stComponents[0]);
+   if (r != OMX_ErrorNone)
+      return OMX_ErrorInsufficientResources;
 
    /* component 1 - video encoder */
-   r = vid_enc_LoaderComponent(stComponents[i]);
-   if (r == OMX_ErrorNone)
-      ++i;
+   r = vid_enc_LoaderComponent(stComponents[1]);
+   if (r != OMX_ErrorNone)
+      return OMX_ErrorInsufficientResources;
 
-   return i;
+   return 2;
 }
 
 struct vl_screen *omx_get_screen(void)
-- 
1.9.3

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to