<div dir="ltr">Hi Nicolas,<div><br></div><div>Thanks for looking into this! I was using GStreamer 1.8.1 on a Raspberry Pi with the binary GLES2 driver.</div><div><br></div><div>As noted in a separate message to the list ("v4l2src & GstGLUpload"), I could reproduce this problem with the default testegl example in gst-omx as well. While playback of H.264 video files works just fine, there's only a blank frame when I try the v4l2src uri as part of the playbin pipeline.</div><div><br></div><div>I think the point that the OMX case is easier than the V4L2 one is an important one. I believe this difference is where things go amiss (perhaps in combination with the difficulties of GL context sharing).</div><div><br></div><div>One thing that strikes me as odd in this regard is for the V4L2 case, I am still see the message "Prepare texture for GLMemory", which comes from testegl.c:729 [1]. The testegl example is written to handle three types of buffers it gets handed to: memory:EGLImage, memory:GLMemory and GstVideoGLTextureUploadMeta. The GLMemory case is the only one that doesn't do the upload - it strikes me as odd that this would be the case for the v4l2src. Could it be that some other element in the pipeline is doing the GLUpload for us, but somehow being at odds with the context-sharing, or the fact that it is not Desktop GL?</div><div><br></div><div>Best</div><div>Gottfried</div><div><br></div><div>[1] <a href="https://cgit.freedesktop.org/gstreamer/gst-omx/tree/examples/egl/testegl.c#n729" target="_blank">https://cgit.freedesktop.org/gstreamer/gst-omx/tree/examples/egl/testegl.c#n729</a></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, May 1, 2016 at 5:43 PM, Nicolas Dufresne <span dir="ltr"><<a href="mailto:nicolas.dufresne@gmail.com" target="_blank">nicolas.dufresne@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Le mardi 26 avril 2016 à 21:58 +0200, Gottfried Haider a écrit :<br>
> I am trying to make an application [1] that uses GStreamer's GL API<br>
> in<br>
> a very similar way to the testegl.c [2] example work with v4l2<br>
> sources, but I am only getting white frames.<br>
><br>
> The code previously had a playbin with uri=file:///..., which worked.<br>
> Now I am trying uri=v4l2:///dev/video0, which points to a webcam.<br>
><br>
> Running "gst-launch-1.0 playbin uri=v4l2:///dev/video0" in the<br>
> terminal also works, and shows reasonable images from the camera.<br>
><br>
> Is there anything obvious that I am missing here? (I see the format<br>
> is<br>
> YUY2 all the way to the end of the pipeline, is this perhaps what<br>
> needs changing?)<br>
><br>
> I uploaded a DOT file [3], as well as the debug output [4] when using<br>
> the webcam. The same for playing back a regular H.264 encoded video<br>
> file as well [5].<br>
><br>
> Thanks for any leads!<br>
<br>
</span>Sorry that it took a while before someone answer this one. There is<br>
nothing obvious in your pipeline that could explain white frames.<br>
Sounds like GL incompatibility issue. Which GStreamer version are you<br>
using ? What is the paltform / GL stack involved here ?<br>
<br>
For the from-file case, you'll notice you are using omxdecoder with<br>
EGLImage support, that is much easyer to render on screen, as you only<br>
have to bind the EGLImage to a texture and display it. While in the<br>
v4l2 case, you have raw image that you need to upload and transform<br>
using shaders.<br>
<br>
cheers,<br>
Nicolas<br>_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
<br></blockquote></div><br></div>