After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 655204 - bad interaction between queue and adder
bad interaction between queue and adder
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
unspecified
Other Linux
: Normal normal
: 0.10.36
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-07-24 12:57 UTC by Stefan Sauer (gstreamer, gtkdoc dev)
Modified: 2011-08-11 09:47 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
example that demos bad behaviour (9.28 KB, text/x-csrc)
2011-07-24 12:57 UTC, Stefan Sauer (gstreamer, gtkdoc dev)
  Details
svg image showing whats happening in the pipleine (77.80 KB, application/xml)
2011-07-24 20:53 UTC, Stefan Sauer (gstreamer, gtkdoc dev)
  Details
gnuplotscript used together with tracelib (3.92 KB, application/x-shellscript)
2011-07-24 21:12 UTC, Stefan Sauer (gstreamer, gtkdoc dev)
  Details
rework pending event handling (5.02 KB, patch)
2011-07-25 18:08 UTC, Stefan Sauer (gstreamer, gtkdoc dev)
committed Details | Review

Description Stefan Sauer (gstreamer, gtkdoc dev) 2011-07-24 12:57:51 UTC
Created attachment 192556 [details]
example that demos bad behaviour

Compile and run the self contained example (gcc commandline at the top of the source code). One would expect this to play a smooth seamless loop. But it does not, after a while it usually "gets into rhythm". At the top of the source are a few defines. If you comment out the "queue ! adder" variant and try the others it works as expected.
I am looking into this for quite some time now and some external input/inspiration would be appreciated. Probably something related to queue and events.
Comment 1 Stefan Sauer (gstreamer, gtkdoc dev) 2011-07-24 20:53:04 UTC
Created attachment 192581 [details]
svg image showing whats happening in the pipleine

The latest version of the test-case is available at:
http://buzztard.svn.sourceforge.net/viewvc/buzztard/trunk/buzztard/design/gst/loop2.c?revision=3494&view=markup
Comment 2 Stefan Sauer (gstreamer, gtkdoc dev) 2011-07-24 20:58:06 UTC
Comment on attachment 192581 [details]
svg image showing whats happening in the pipleine

The 1st graph is an overview and the two charts below are closeups. The weird thing is the huge gap between the seek from pulse to adder @ ~0.0526 (1st closeup) and the adder to  queue @ ~0.5155 (2nd closeup). Also the newsegment events are happening in a weired order.
Comment 3 Stefan Sauer (gstreamer, gtkdoc dev) 2011-07-24 21:12:40 UTC
Created attachment 192583 [details]
gnuplotscript used together with tracelib
Comment 4 Stefan Sauer (gstreamer, gtkdoc dev) 2011-07-25 18:08:53 UTC
Created attachment 192626 [details] [review]
rework pending event handling

This basically defers sending the newsegment event from adder downstream until we got the first newsegment event from upstream.
Comment 5 Stefan Sauer (gstreamer, gtkdoc dev) 2011-07-26 11:25:32 UTC
videomixer and videomixer2 need a simillar change
Comment 6 Stefan Sauer (gstreamer, gtkdoc dev) 2011-08-11 09:47:47 UTC
liveadder does not seem to have the issue