Hello all,
I have a playbin-based pipeline of a local file. I don't want playback to begin immediately, but want to be able to e.g. seek to a specific position or retrieve the length of the file first. On Linux, I was able to to initially set my pipeline's state to paused, and - when a seek or similar was requested - wait for the asynchronous state change to complete, at which point the seek would succeed. On OS X, however, the asynchronous state change will never complete, and the pipeline hovers between ready and paused forever. Any idea what I am doing wrong here? This is with GStreamer 1.8.1. The setup of my pipeline would be here: https://github.com/gohai/processing-glvideo/blob/740d2f0d7b8222306d9723149496bce2c01be80a/src/native/impl.c#L437 My seek method: https://github.com/gohai/processing-glvideo/blob/740d2f0d7b8222306d9723149496bce2c01be80a/src/native/impl.c#L602 At this point, gst_element_get_state() will forever return GST_STATE_CHANGE_ASYNC with current state being GST_STATE_READY and pending state being GST_STATE_PAUSED. Any ideas would be greatly apprechiated. Best Gottfried _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Please run app with GST_DEBUG=*:4 environment variable and read carefully if there was no message indicating error prior to hang. Usually there's something that can point you to the right direction. Seeking is also buggy for some formats - see https://bugzilla.gnome.org/show_bug.cgi?id=766673 M. 08.07.2016 4:32 PM "Gottfried Haider" <[hidden email]> napisał(a):
Hello all, _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Thanks Marcin!
I captured the debug output [1] and from a cursory glance: I am seeing many notifications of a successful state change to paused, no indication of something failing. Caps event is happening. Right before the hang there is this GL-related line: gstglcontext.c:1157:gst_gl_context_create_thread:<glcontextcocoa0> Attempting to create opengl context. user chosen api(s) (any), compiled api support (opengl opengl3) display api (any) Is me waiting for the state change to complete perhaps interfering with GStreamer's ability to query and setup the shared GL context? (the code handles GST_QUERY_CONTEXT) Any other ideas? Thanks Gottfried [1] https://sukzessiv.net/~gohai/gstreamer/state_change_full.log _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Ok now please run the same on platform on which it works for you and look for differences :) The suspicious thing ispad_query:<glcolorconvertelement0:src> pad peer query failed but I am not using GStreamer for any GL-related things so I can't say whether this is expected behaviour or not m. 2016-07-09 9:58 GMT+02:00 Gottfried Haider <[hidden email]>: Thanks Marcin! _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Thanks for looking into this! And indeed, when I remove the glcolorconvert the hang is gone (and my video is black). I am oddly also not seeing the line "Attempting to create opengl context" in the debug output anymore. Maybe this wasn't supposed to happen with a shared context in the first place? Hoping Matt or someone else in the know when it comes to GL has an idea, but thanks a lot for your help! Best On Jul 9, 2016 10:09, "[hidden email]" <[hidden email]> wrote:
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
I think it should not hang anyway. IMO It's a topic for a bug report. While filing besides this what you've already mentioned I suggest extending bug report with log with GST_DEBUG=*:5 (not 4) and you should attach gdb to your hanged process and get output of thr a a bt Within gdb M. 09.07.2016 10:21 AM "Gottfried Haider" <[hidden email]> napisał(a):
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Submitted as https://bugzilla.gnome.org/show_bug.cgi?id=768630
Best Gottfried On Sat, Jul 9, 2016 at 11:02 PM, [hidden email] <[hidden email]> wrote: > I think it should not hang anyway. IMO It's a topic for a bug report. > > While filing besides this what you've already mentioned I suggest extending > bug report with log with GST_DEBUG=*:5 (not 4) and you should attach gdb to > your hanged process and get output of > > thr a a bt > > Within gdb > > M. > > 09.07.2016 10:21 AM "Gottfried Haider" <[hidden email]> > napisał(a): >> >> Thanks for looking into this! >> >> And indeed, when I remove the glcolorconvert the hang is gone (and my >> video is black). I am oddly also not seeing the line "Attempting to create >> opengl context" in the debug output anymore. Maybe this wasn't supposed to >> happen with a shared context in the first place? >> >> Hoping Matt or someone else in the know when it comes to GL has an idea, >> but thanks a lot for your help! >> >> Best >> G >> >> On Jul 9, 2016 10:09, "[hidden email]" <[hidden email]> wrote: >>> >>> Ok now please run the same on platform on which it works for you and look >>> for differences :) >>> >>> The suspicious thing is >>> >>> pad_query:<glcolorconvertelement0:src> pad peer query failed >>> >>> but I am not using GStreamer for any GL-related things so I can't say >>> whether this is expected behaviour or not >>> >>> m. >>> >>> 2016-07-09 9:58 GMT+02:00 Gottfried Haider <[hidden email]>: >>>> >>>> Thanks Marcin! >>>> >>>> I captured the debug output [1] and from a cursory glance: I am seeing >>>> many notifications of a successful state change to paused, no >>>> indication of something failing. Caps event is happening. Right before >>>> the hang there is this GL-related line: >>>> >>>> gstglcontext.c:1157:gst_gl_context_create_thread:<glcontextcocoa0> >>>> Attempting to create opengl context. user chosen api(s) (any), >>>> compiled api support (opengl opengl3) display api (any) >>>> >>>> Is me waiting for the state change to complete perhaps interfering >>>> with GStreamer's ability to query and setup the shared GL context? >>>> (the code handles GST_QUERY_CONTEXT) Any other ideas? >>>> >>>> Thanks >>>> Gottfried >>>> >>>> [1] https://sukzessiv.net/~gohai/gstreamer/state_change_full.log >>>> _______________________________________________ >>>> gstreamer-devel mailing list >>>> [hidden email] >>>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel >>> >>> >>> >>> _______________________________________________ >>> gstreamer-devel mailing list >>> [hidden email] >>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel >>> >> >> _______________________________________________ >> gstreamer-devel mailing list >> [hidden email] >> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel >> > > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel > gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |