Asnc-Handling On autovideosink

Michael MacIntosh mmacintosh at linear-systems.com
Sat Apr 29 00:29:06 UTC 2017


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.

I should start off with I am using the prebuilt windows binary version 
1.11.2 of gstreamer.

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.

I got to this solution from this Stack Overflow answer:

http://stackoverflow.com/a/8532148/5125564

However the documentation:

https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBin.html#GstBin--async-handling

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.

I just want to make sure I am not doing anything wrong that will come to 
bite me later.



Here is a gst-launch command line to recreate the situtation (this 
command line works).

gst-launch-1.0.exe --gst-debug-level=3 uridecodebin 
uri=rtsp://{username}:{password}@{ip_address} ! queue ! tee name=t ! 
autovideosink async-handling=true t. ! x264enc ! mp4mux ! filesink 
location=C:\\GStreamerTests\\taco123.mp4

And I get this output:

Setting pipeline to PAUSED ...
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
Pipeline is live and does not need PREROLL ...
Progress: (open) Opening Stream
Progress: (connect) Connecting to rtsp://{username}:{password}@{ip_address}
Progress: (open) Retrieving server options
Progress: (open) Retrieving media info
Progress: (request) SETUP stream 0
Progress: (open) Opened Stream
Setting pipeline to PLAYING ...
New clock: GstSystemClock
0:Progress: (request) Sending PLAY request
00:00.556251111 Progress: (request) Sending PLAY request
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
Progress: (request) Sent PLAY request
Redistribute latency...
Redistribute latency...
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
Redistribute latency...


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):

gst-launch-1.0.exe --gst-debug-level=3 uridecodebin 
uri=rtsp://{username}:{password}@{ip_address} ! queue ! tee name=t ! 
autovideosink async-handling=false t. ! x264enc ! mp4mux ! filesink 
location=C:\\GStreamerTests\\taco123.mp4

And I get this output:

Setting pipeline to PAUSED ...
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
Pipeline is live and does not need PREROLL ...
Progress: (open) Opening Stream
Progress: (connect) Connecting to rtsp://{username}:{password}@{ip_address}
Progress: (open) Retrieving server options
Progress: (open) Retrieving media info
Progress: (request) SETUP stream 0
Progress: (open) Opened Stream
Setting pipeline to PLAYING ...
New clock: GstSyste0mC:00:00.608258221 lock
213Progress: (request) Sending PLAY request
60 00000000042AC840 Progress: (request) Sending PLAY request
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
Progress: (request) Sent PLAY request
Redistribute latency...

Then nothing happens until i ctrl+c the process.

Any feedback is welcome.  Thanks in advance!

Cheers,

Michael.



--
This message has been scanned by E.F.A. Project and is believed to be clean.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20170428/206ae434/attachment.html>


More information about the gstreamer-devel mailing list