<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta content="text/html;charset=UTF-8" http-equiv="Content-Type"></head><body ><div style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt;"><div>Hey Thibault,<br></div><div><br></div><div>Just tested and adding queues after the demuxer doesn't work either. For some reason, adding a queue after filesrc is preventing the pipeline to preroll, and the weird thing is that it only happens with some files.<br></div><div><br></div><div>In sum, this pipeline doesn't preroll:<br></div><div><br></div><div>gst-launch-1.0.exe filesrc location="$LOCATION" ! queue ! decodebin name=decoder ! queue ! audioresample ! audioconvert ! autoaudiosink decoder. ! queue ! autovideosink<br></div><div><br></div><div>and this one works perfectly:<br></div><div><br></div><div>gst-launch-1.0.exe filesrc location="$LOCATION" ! decodebin name=decoder ! queue ! audioresample ! audioconvert ! autoaudiosink decoder. ! queue ! autovideosink<br></div><div><br></div><div>This is the file I'm trying to play: <a target="_blank" href="https://drive.google.com/file/d/1y0u1eKbsKAavXpD6otWM0H1mMQQt9trO/view?usp=sharing">https://drive.google.com/file/d/1y0u1eKbsKAavXpD6otWM0H1mMQQt9trO/view?usp=sharing</a></div><div><br></div><div>I'm using GStreamer 1.20.2.</div><div><br></div><div id="Zm-_Id_-Sgn" data-zbluepencil-ignore="true" data-sigid="8819909000000014001"><div>Rodrigo Santos<br></div></div><div><br></div><div class="zmail_extra_hr" style="border-top: 1px solid rgb(204, 204, 204); height: 0px; margin-top: 10px; margin-bottom: 10px; line-height: 0px;"><br></div><div class="zmail_extra" data-zbluepencil-ignore="true"><div><br></div><div id="Zm-_Id_-Sgn1">---- On Thu, 15 Dec 2022 11:18:17 -0300 <b>Thibault Saunier via gstreamer-devel <gstreamer-devel@lists.freedesktop.org></b> wrote ---<br></div><div><br></div><blockquote id="blockquote_zmail" style="margin: 0px;"><div>Hi Rodrigo, <br> <br>It is a bit surprising the first pipeline works, the main issue you <br>have is that you should always use queues for each branch after <br>demuxers to avoid stalling the way you describe so the following <br>pipeline should work: <br> <br> <br>gst-launch-1.0.exe filesrc location="$LOCATION" ! queue ! decodebin <br>name=decoder ! queue ! audioresample ! audioconvert ! autoaudiosink <br>decoder. ! queue ! autovideosink <br> <br> <br>- Thibault <br> <br> <br>On Sun, 2022-12-11 at 17:32 -0300, Rodrigo Santos via gstreamer-devel <br>wrote: <br>> Just bumping this thread again as I've got no response. Does anyone <br>> have any idea why this is happening for this particular file (and <br>> others similar)? <br>> <br>> Rodrigo Santos <br>> <br>> <br>> <br>> ---- On Mon, 05 Dec 2022 12:16:42 -0300 Rodrigo Santos <br>> <<a href="mailto:rsantos@sequence.film" target="_blank">rsantos@sequence.film</a>> wrote --- <br>> <br>> > Hey folks, <br>> > <br>> > I have this pipeline that works without issues: <br>> > <br>> > gst-launch-1.0.exe filesrc location="$LOCATION" ! decodebin <br>> > name=decoder ! audioresample ! audioconvert ! autoaudiosink <br>> > decoder. ! autovideosink <br>> > <br>> > We are developing our own plugin with a custom buffering strategy. <br>> > To better understand how buffering works in pipelines I'm using a <br>> > queue after filesrc, the idea is to later add our custom element <br>> > before the queue. However, I noticed that for some files this <br>> > pipeline never prerolls: <br>> > <br>> > gst-launch-1.0.exe filesrc location="$LOCATION" ! queue ! decodebin <br>> > name=decoder ! audioresample ! audioconvert ! autoaudiosink <br>> > decoder. ! autovideosink <br>> > <br>> > PS: same behavior happens if I use queue2 or multiqueue. Here's the <br>> > output: <br>> > <br>> > gst-launch-1.0.exe filesrc location="$LOCATION" ! queue ! decodebin <br>> > name=decoder ! audioresample ! audioconvert ! autoaudiosink <br>> > decoder. ! autovideosink <br>> > Use Windows high-resolution clock, precision: 1 ms <br>> > Setting pipeline to PAUSED ... <br>> > Pipeline is PREROLLING ... <br>> > Got context from element 'autovideosink0': <br>> > gst.d3d11.device.handle=context, <br>> > device=(GstD3D11Device)"\(GstD3D11Device\)\ d3d11device2", <br>> > adapter=(uint)0, adapter-luid=(gint64)97066, device-id=(uint)39745, <br>> > vendor-id=(uint)32902, hardware=(boolean)true, <br>> > description=(string)"Intel\(R\)\ UHD\ Graphics"; <br>> > Redistribute latency... <br>> > Redistribute latency... <br>> > Redistribute latency...0.0 %) <br>> > 0:00:00.0 / 0:01:56.1 (0.0 %) <br>> > <br>> > It shows the first video frame and gets stuck. The weird thing is <br>> > that if I link ONLY video or ONLY audio-related elements to the <br>> > decode bin the pipeline executes without problem. That is, the <br>> > following pipelines work: <br>> > <br>> > without video: <br>> >       gst-launch-1.0.exe filesrc location="$LOCATION" ! queue ! <br>> > decodebin name=decoder ! audioresample ! audioconvert ! <br>> > autoaudiosink  <br>> > <br>> > without audio: <br>> >       gst-launch-1.0.exe filesrc location="$LOCATION" ! queue ! <br>> > decodebin name=decoder ! autovideosink <br>> > <br>> > Could someone help me understand what is going on? It seems the <br>> > issue only happens with some files. The issue I just reported is <br>> > happening when $LOCATION is set to this <br>> > file: CRAZYCAR_HD_422_23p98_STEREO_MiniClip_20211021_2.mov - Google <br>> > Drive <br>> > <br>> > Rodrigo Santos <br>> > <br>> > <br>> <br>> <br> <br></div></blockquote></div><div><br></div></div><br></body></html>