<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    This is a classical problem, and a good illustration why you usually
    need queues after elements<br>
    with N src pads, and before elements with N sink pads:<br>
    <br>
    The demuxer is pushing to its source pads from the same thread, and
    if you have connected<br>
    these source pads with sync=true sinks, their chain function blocks
    until prerolling is done,<br>
    that is until each sink with sync=true has received a buffer. Adding
    queues decouples branches of<br>
    the pipeline, as they will start their own streaming thread.<br>
    <br>
    <div class="moz-cite-prefix">On 3/5/19 11:11 PM, Wudo Balmus wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAJsrfX_H-5NKM65BO3M+K+-nDBHF5QGOeXnKVxad_FQ-fNgW_w@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">
        <div dir="ltr">
          <div dir="ltr">
            <div dir="ltr">
              <div>Hello,</div>
              <div>I'm trying to demux and playback an mp4 file with
                h.264 video and aac audio. This pipeline works fine:</div>
              <div><br>
              </div>
              <div>gst-launch-1.0 -v filesrc location=working.mp4 !
                qtdemux name=a a. ! queue ! avdec_h264 ! videoconvert !
                autovideosink a. ! queue ! avdec_aac ! autoaudiosink</div>
              <div><br>
              </div>
              <div>However when the queues are removed, it hangs,
                nothing is played back:</div>
              <div><br>
              </div>
              <div>gst-launch-1.0 -v filesrc location=working.mp4 !
                qtdemux name=a a. ! avdec_h264 ! videoconvert !
                autovideosink a. ! avdec_aac ! autoaudiosink</div>
              <div><br>
              </div>
              <div>It works fine without a queue when I just try to
                playback video without audio:</div>
              <div><br>
              </div>
              <div>gst-launch-1.0 -v filesrc location=working.mp4 !
                qtdemux name=a a. ! avdec_h264 ! videoconvert !
                autovideosink</div>
              <div><br>
              </div>
              <div>I'm trying to understand why queues are necessary in
                this scenario. Cannot qtdemux just write data to
                video/audio decoder without the queues?<br>
              </div>
              <div><br>
              </div>
              <div>Best regards,</div>
              <div>Wudo<br>
              </div>
            </div>
          </div>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
gstreamer-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a>
<a class="moz-txt-link-freetext" href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a></pre>
    </blockquote>
  </body>
</html>