In examples hello_videocube and hello_teapot there is not correctly done the code which does finishing and cleaning up.
The examples uses egl render component to render video to egl image.
I've tried to fix it up but I'm not omx skilled to find the solution.
The first strange thing above the code is :
https://github.com/raspberrypi/firmware ... deo.c#L247
There is use of port 90 of videorender component, but in those examples there isn't active any video_render component. Instead of it there is egl_render component.
Code: Select all
// wait for EOS from render ilclient_wait_for_event(video_render, OMX_EventBufferFlag, 90, 0, OMX_BUFFERFLAG_EOS, 0, ILCLIENT_BUFFER_FLAG_EOS, 10000);
Second: the video always finish with exit(1) at my_fill_buffer_done handler.
https://github.com/raspberrypi/firmware ... ideo.c#L48
Third: after correction of exiting in my_fill_buffer_done handler the code stuck when trying to change component's state to OMX_StateLoaded
https://github.com/raspberrypi/firmware ... deo.c#L264
Does anybody know how these examples can be modified to correctly clean up and finish the playing of video.