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 720981 - Pipeline hangs if there is tee/queue before decodebin
Pipeline hangs if there is tee/queue before decodebin
Status: RESOLVED NOTABUG
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
1.2.1
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-12-23 13:37 UTC by RajuB
Modified: 2013-12-24 19:40 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description RajuB 2013-12-23 13:37:03 UTC
Gstreamer version 1.2.1. 

Bug Description: 
When I run the below given pipeline1, I am not getting the output. But if I remove the tee/queue from the pipeline the data starts flowing through the pipeline. Here what I suspect is some event is not properly propagating through the pipeline if there is queue/tee before decodebin. Am I right?? Please help me here. Thanks a ton.

Similar issue is seen with Gstreamer version 1.0.8 also.

You can reproduce this issue using below input file and pipelines. 

Input file: http://goo.gl/77eS2g

Pipeline1: Data doesnt flow through these pipelines:

gst-launch-1.0 filesrc location=debug_tee_decodebin.avi ! tee   ! decodebin ! fakesink
gst-launch-1.0 filesrc location=debug_tee_decodebin.avi ! queue ! decodebin ! fakesink

Pipeline2: No issues. works perfectly fine.

gst-launch-1.0 filesrc location=debug_tee_decodebin.avi ! tee ! decodebin ! fakesink
Comment 1 Sebastian Dröge (slomo) 2013-12-24 13:35:32 UTC
The problem seems to be that the interleaving of the audio/video stream here is too big in the source file. With a tee or queue avidemux will run in push mode, which has (conceptionally) no way to work around this properly. In pull mode (i.e. without tee or queue) it works properly.

You can work around that if you put unlimited-sized queues after avidemux.
Comment 2 RajuB 2013-12-24 19:40:32 UTC
(In reply to comment #1)

Thats cleared my ambiguities. Thank you Sebastian. Good day.