Android gst_parse_launch using

Sebastian Dröge slomo at circular-chaos.org
Tue Oct 1 02:21:07 PDT 2013


On Mo, 2013-09-30 at 20:17 +0200, Peter Hafner wrote:
> Sebastian,
> Thanks for helping here.
> With this pipline, I was testing my syntax on the pipline.
> Here, a pipeline without failure. Special the part for sprop-parameter-sets
> was hard to find out.
> /data->pipeline = gst_parse_launch("udpsrc port=4000 
> caps=\"application/x-rtp, media=(string)video, clock-rate=(int)90000, 
> encoding-name=(string)H264, 
> sprop-parameter-sets=(string)\\\"Z0KAHukBQHpCAAAH0AAB1MAI\\\\=\\\\=\\\\,aM48gA\\\\=\\\" 
> \" ! rtph264depay ! avdec_h264 ! decodebin ! autovideosink", &error);//
> /
> Now this pipeline is parsed without any syntax failure message :-)

You should be able to omit the sprop-parameter field. Also if you use
RTSP this information will be passed to the clients via the SDP :)
You would also be able to use playbin then.

Of course this only really works if your sender can do RTSP, e.g. if you
can use gst-rtsp-server for it.

> If I have the original pipeline
> /data->pipeline = gst_parse_launch("playbin", &error);/
> everything is working.
> after changing to "my" pipeline, and starting the app, I get
> /gst_video_overlay_set_window_handle: assertion `GST_IS_VIDEO_OVERLAY 
> (overlay)' failed/
> With the latest patch
> 
> -    gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->pipeline), 
> (guintptr)data->native_window);
> +    gst_video_overlay_set_window_handle (GST_VIDEO_OVERLAY 
> (data->pipeline), (guintptr)data->native_window);
> 
> We changed from GST_X_OVERLAY to GST_VIDEO_OVERLAY, but again, the 
> default pipeline is running, so I think, this will not be the problem.

The difference is that the original pipeline was just the playbin
element, which implements the GstVideoOverlay interface. The new
pipeline is a bin containing many elements.

You'll have to get the video sink from that bin and call
gst_video_overlay_set_window_handle() on that, e.g.

data->pipeline = gst_parse_launch("udpsrc port=4000 ! ... ! decodebin ! eglglessink name=vsink", &error);
vsink = gst_bin_get_by_name (data->pipeline, "vsink");
gst_video_overlay_set_window_handle (GST_VIDEO_OVERLAY (vsink), (guintptr)data->native_window);
gst_object_unref (vsink);

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/gstreamer-android/attachments/20131001/d292bfcb/attachment.pgp>


More information about the gstreamer-android mailing list