<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p><font face="Helvetica, Arial, sans-serif">Hi, I recently started
        working with gstreamer, and I am trying to make a video pipeline
        where you can watch the video while it is being recorded from a
        live source (an ip camera).  I got something to work, but I do
        not know why it works.</font></p>
    <p><font face="Helvetica, Arial, sans-serif">I should start off with
        I am using the prebuilt windows binary version 1.11.2 of gstreamer.</font></p>
    <p><font face="Helvetica, Arial, sans-serif">The problem I am facing
        is that setting async-handling to true on the autovideosink
        causes everything to work, but if it is set to false, the
        pipeline is frozen and never starts.</font></p>
    <p><font face="Helvetica, Arial, sans-serif">I got to this solution
        from this Stack Overflow answer:</font></p>
    <p><font face="Helvetica, Arial, sans-serif"><a class="moz-txt-link-freetext" href="http://stackoverflow.com/a/8532148/5125564">http://stackoverflow.com/a/8532148/5125564</a></font></p>
    <p><font face="Helvetica, Arial, sans-serif">However the
        documentation:</font></p>
    <p><font face="Helvetica, Arial, sans-serif"><a class="moz-txt-link-freetext" href="https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBin.html#GstBin--async-handling">https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBin.html#GstBin--async-handling</a></font></p>
    <p><font face="Helvetica, Arial, sans-serif">States that it should
        only be used if the bin subclass is modifying the state of its
        children on its own, which I don't think autovideosink does.</font></p>
    <p><font face="Helvetica, Arial, sans-serif">I just want to make sure
        I am not doing anything wrong that will come to bite me later.<br>
      </font></p>
    <p><font face="Helvetica, Arial, sans-serif"><br>
      </font></p>
    <p><font face="Helvetica, Arial, sans-serif"><br>
      </font></p>
    <p><font face="Helvetica, Arial, sans-serif">Here is a gst-launch
        command line to recreate the situtation (this command line
        works).<br>
      </font></p>
    <p>gst-launch-1.0.exe --gst-debug-level=3 uridecodebin
      uri=<a class="moz-txt-link-freetext" href="rtsp://">rtsp://</a>{username}:{password}@{ip_address} ! queue ! tee name=t
      ! autovideosink async-handling=true t. ! x264enc ! mp4mux !
      filesink location=C:\\GStreamerTests\\taco123.mp4</p>
    <p>And I get this output:</p>
    <p>Setting pipeline to PAUSED ...<br>
      0:00:00.121268503 19384 00000000042111E0 WARN           
      d3dvideosink
d3dhelpers.c:1103:d3d_set_window_handle:<autovideosink0-actual-sink-d3dvideo>
      Window HWND already set to: 0<br>
      Pipeline is live and does not need PREROLL ...<br>
      Progress: (open) Opening Stream<br>
      Progress: (connect) Connecting to
      <a class="moz-txt-link-freetext" href="rtsp://">rtsp://</a>{username}:{password}@{ip_address}<br>
      Progress: (open) Retrieving server options<br>
      Progress: (open) Retrieving media info<br>
      Progress: (request) SETUP stream 0<br>
      Progress: (open) Opened Stream<br>
      Setting pipeline to PLAYING ...<br>
      New clock: GstSystemClock<br>
      0:Progress: (request) Sending PLAY request<br>
      00:00.556251111 Progress: (request) Sending PLAY request<br>
      19384 0000000004290840 FIXME                default
      gstutils.c:3829:gst_pad_create_stream_id_internal:<fakesrc0:src>
      Creating random stream-id, consider implementing a deterministic
      way of creating a stream-id<br>
      Progress: (request) Sent PLAY request<br>
      Redistribute latency...<br>
      Redistribute latency...<br>
      0:00:03.572875522 19384 00000000033E9580 FIXME              
      basesink
      gstbasesink.c:3144:gst_base_sink_default_event:<filesink0>
      stream-start event without group-id. Consider implementing
      group-id handling in the upstream elements<br>
      Redistribute latency...<br>
    </p>
    <p><br>
    </p>
    <p>However, if I change async handling from true to false (or just
      remove it because the default is false).  I get this command line
      (this command line does NOT work):</p>
    <p>gst-launch-1.0.exe --gst-debug-level=3 uridecodebin uri=<a class="moz-txt-link-freetext" href="rtsp://">rtsp://</a>{username}:{password}@{ip_address}
      ! queue ! tee name=t ! autovideosink async-handling=false t. !
      x264enc ! mp4mux ! filesink
      location=C:\\GStreamerTests\\taco123.mp4</p>
    <p>And I get this output:</p>
    <p>Setting pipeline to PAUSED ...<br>
      0:00:00.145754270 21360 00000000042391E0 WARN           
      d3dvideosink
d3dhelpers.c:1103:d3d_set_window_handle:<autovideosink0-actual-sink-d3dvideo>
      Window HWND already set to: 0<br>
      Pipeline is live and does not need PREROLL ...<br>
      Progress: (open) Opening Stream<br>
      Progress: (connect) Connecting to
      <a class="moz-txt-link-freetext" href="rtsp://">rtsp://</a>{username}:{password}@{ip_address}<br>
      Progress: (open) Retrieving server options<br>
      Progress: (open) Retrieving media info<br>
      Progress: (request) SETUP stream 0<br>
      Progress: (open) Opened Stream<br>
      Setting pipeline to PLAYING ...<br>
      New clock: GstSyste0mC:00:00.608258221 lock<br>
      213Progress: (request) Sending PLAY request<br>
      60 00000000042AC840 Progress: (request) Sending PLAY request<br>
      FIXME                default
      gstutils.c:3829:gst_pad_create_stream_id_internal:<fakesrc0:src>
      Creating random stream-id, consider implementing a deterministic
      way of creating a stream-id<br>
      Progress: (request) Sent PLAY request<br>
      Redistribute latency...</p>
    <p>Then nothing happens until i ctrl+c the process.</p>
    <p>Any feedback is welcome.  Thanks in advance!<br>
    </p>
    <p>Cheers,</p>
    <p>Michael.<br>
    </p>
  <br />-- 
<br />This message has been scanned for viruses and dangerous content by <br />
<a href="http://www.efa-project.org"><b>E.F.A. Project</b></a>, and is believed to be clean.
</body>
</html>