Trying to diagnose a READY --> PAUSED transition bug
David Ing
ding at panopto.com
Mon Mar 25 21:20:15 UTC 2019
I am using Gstreamer 1.14.4. I am having an issue with one of my pipelines
on Windows. I attached an SVG file which shows my pipeline at the point in
time when it gets stuck. The issue occurs when I try to move my pipeline
from READY to PAUSED. I do this by calling
gst_element_set_state(gstPipeline, GST_STATE_PAUSED), and after that call
is made, I see all elements within the pipeline transition to PAUSED except
the *GstFileSink which remains stuck in READY*.
Also:
- The issue does not repro on Linux (only Windows).
- I use the same basic code to render many other kinds of jobs and I
never have a problem with the GstFileSink. It is only for this one
specific pipeline that I have the problem.
- I am 100% certain that this isn't some kind of file system issue (e.g.
folder permissions).
For logging I set the the "filesink" category to TRACE and this is the
entirety of what it shows me:
Pipeline is in NULL state, as I connect the muxer to the filesink I see
this:
19-03-25T20:44:19.420327 INFO filesink gstfilesink.c:294 filename :
C:\dev\github\panopto\panopto-core\Debug\x64\test-scratch\2019-03-25T20-44-11.942351\CompositionTests\Debug\0ed40ba8-7d3d-4569-8294-aa02017efdfc-9531e8a6-d94f-44ed-a79a-aa0b0008a713.mp4
19-03-25T20:44:19.420327 INFO filesink gstfilesink.c:295 uri :
file:///C:/dev/github/panopto/panopto-core/Debug/x64/test-scratch/2019-03-25T20-44-11.942351/CompositionTests/Debug/0ed40ba8-7d3d-4569-8294-aa02017efdfc-9531e8a6-d94f-44ed-a79a-aa0b0008a713.mp4
Immediately after I call gst_element_set_state(gstPipeline,
GST_STATE_READY) , I see:
19-03-25T20:44:19.458327 DEBUG filesink gstfilesink.c:516 Seeking to
offset 0 using fseeko
19-03-25T20:44:19.458327 DEBUG filesink gstfilesink.c:416 opened file
C:\dev\github\panopto\panopto-core\Debug\x64\test-scratch\2019-03-25T20-44-11.942351\CompositionTests\Debug\0ed40ba8-7d3d-4569-8294-aa02017efdfc-9531e8a6-d94f-44ed-a79a-aa0b0008a713.mp4,
seekable 1
6.3 seconds after I call gst_element_set_state(gstPipeline,
GST_STATE_PAUSED) , I see:
19-03-25T20:44:25.853308 DEBUG filesink gstfilesink.c:586 Ignored SEGMENT
event of format 3 (time)
My best guess is that it's some kind of rare timing bug within gstreamer
(which most pipelines are lucky to avoid).
I am looking for tips about how to diagnose the exact cause of this bug:
But keep in mind that I have no debug symbols because I'm on Windows.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20190325/cbf41080/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: all_paused_except_sink_0.svg
Type: image/svg+xml
Size: 142331 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20190325/cbf41080/attachment-0001.svg>
More information about the gstreamer-devel
mailing list