Hello, If i want to parse a stream while playing. this pipeline should do this : / videoqueue | kmssink / [ decodebin (playing_branch) \ audioqueue | alsasink filesrc | queue | typefind | tee \ [ queue | tsparse | filesink ] (parsing_branch)
My problem is that my pipeline doesn't want to start like if a queue reach his limit. If i remove the parsing branch, all is playing correctly. So i try to debug reading the queue size/level : m_pVideoqueue maxbuffers= 200 maxbytes= 10485760 maxtime= 1000000000 ns
m_pVideoqueue currentbuffers= 0 currentbytes= 0 currenttime= 0 ns
m_pAudioqueue maxbuffers= 200 maxbytes= 10485760 maxtime= 1000000000 ns
m_pAudioqueue currentbuffers= 0 currentbytes= 0 currenttime= 0 ns
m_pQueueTsParse maxbuffers= 2000 maxbytes= 100000000 maxtime= 0 ns
m_pQueueTsParse currentbuffers= 201 currentbytes= 823296 currenttime= 0 ns
But i don't know how to analyze correctly the problem even with the level/size ! Is someone could explain me the problem ? Attached you can find the dot file with all the pipeline.
Thanks in advance for your help
Frédéric
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel debugqueue.dot (25K) Download Attachment |
On Fri, 2019-03-29 at 11:00 +0100, Duchassin Frederic wrote:
Hi Frederic, Not entirely sure what's going on here. You dot file and mail says that the queue in front of the tsparse has 201 buffers and max-size- buffers=2000 (two thousand). The dot file also doesn't show links from decodebin to your audio/video sink branches. Unclear if that's because of the timing of the dot file snapshot or because that's your problem (then the audio/video sinks never get any data and the pipeline won't preroll). If the decodebin was unliked I would suspect the tsparse queue to be fuller though. It's a bit suspicious that the queue in front of the tsparse is at 201 buffers, which is just above the default max-size-buffers limit of 200. Did you increase the max-size-buffers limit after pipeline startup? So my best guess is that the queue in front of the tsparse runs full, and then blocks the filesrc ! tee upstream, and then decodebin etc. don't get more data and can't finish their preroll and the pipeline is stuck. GST_DEBUG=queue:6 might help confirm whether this is the case or not. Cheers Tim -- Tim Müller, Centricular Ltd - http://www.centricular.com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Hi Tim,
I played with the size of the queue in front of tsparse but not during playing. In all case, My dot file is created later after the pipeline was playing. You're right : my main problem is that decodebin is not completely linked (no audiodecoder beepdec linked) and i don't know why. My though were like you : that's why I increase the tsparsequeue but without any success : no video+audio. Just one test I have make : attached the same pipeline but i change the order of the link : i begin by linking decodebin branch ,.... and it works... i really understand nothing !!!! BR Frédéric Le 29/03/2019 à 11:35, Tim Müller a écrit : > On Fri, 2019-03-29 at 11:00 +0100, Duchassin Frederic wrote: > > Hi Frederic, > > Not entirely sure what's going on here. You dot file and mail says that > the queue in front of the tsparse has 201 buffers and max-size- > buffers=2000 (two thousand). > > The dot file also doesn't show links from decodebin to your audio/video > sink branches. Unclear if that's because of the timing of the dot file > snapshot or because that's your problem (then the audio/video sinks > never get any data and the pipeline won't preroll). If the decodebin > was unliked I would suspect the tsparse queue to be fuller though. > > It's a bit suspicious that the queue in front of the tsparse is at 201 > buffers, which is just above the default max-size-buffers limit of 200. > Did you increase the max-size-buffers limit after pipeline startup? > > So my best guess is that the queue in front of the tsparse runs full, > and then blocks the filesrc ! tee upstream, and then decodebin etc. > don't get more data and can't finish their preroll and the pipeline is > stuck. > > GST_DEBUG=queue:6 might help confirm whether this is the case or not. > > Cheers > Tim > _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel debugqueue2.dot (28K) Download Attachment |
: Sorry Tim,
I was too fast for may answer. Next time, i'll be carefull to answer to the list.
Even with max-size-bytes=0 max-size-buffers=0 max-size-time=0 for tsparsequeue it doesn't work.
Attached the dot file.
BR
Frédéric
On Fri, 2019-03-29 at 12:00 +0100, Duchassin Frederic wrote:
Hi,
Please reply to the list next time
What I forgot to write was: you can just unset all the limits on the
queue in front of tsparse, that should be fine (so max-size-bytes=0
max-size-buffers=0 max-size-time=0).
Cheers
Tim
Le 29/03/2019 à 12:11, Duchassin
Frederic a écrit :
Hi Tim, _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel debugqueue3.dot (25K) Download Attachment |
Hello All, Just one step i have done today : I have the problem with gstreamer 1.14.0 whereas it was working correctly with version 1.12.2. I don't really know how i can get in tsparse branch : GstQueueTsParse parent=(GstPipeline) Gstreamer player current-level-buffers=201 current-level-bytes=823296 max-size-buffers=0 max-size-bytes= max-size-time=0"; How i can get a current-level > max-level ???? This is the
problem which lead to a blocking state. BR Frédéric
Le 29/03/2019 à 12:21, Duchassin
Frederic a écrit :
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |