Capsfilter inside gst-rtsp-server pipeline not working

manickam palaniappan manickam79 at yahoo.com
Tue Apr 29 23:59:20 PDT 2014


Hi,

I have the following code in my gst-rtsp-server library based rtsp server:

  pipeline2 =  g_strdup_printf(" (  udpsrc port=5001 !  capsfilter caps=\"application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)\\\"H264\\\",sprop-parameter-sets=(string)\\\"Z0LAHtkDxWhAAAADAEAAAAwDxYuS\\,aMuMsg\\=\\=\\\"\" name=pay0 ) ");

factory = gst_rtsp_media_factory_new ();
gst_rtsp_media_factory_set_launch (factory, pipeline2);
gst_rtsp_mount_points_add_factory (mounts, "/processed", factory);


But on trying to access the output url, I am getting error:

gst-launch-1.0 playbin uri=rtsp://127.0.0.1:8554/processed
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Progress: (open) Opening Stream
Progress: (connect) Connecting to rtsp://127.0.0.1:8554/processed
Progress: (open) Retrieving server options
Progress: (open) Retrieving media info
ERROR: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source: Could not get/set settings from/on resource.
Additional debug info:
gstrtspsrc.c(5741): gst_rtspsrc_setup_streams (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source:
SDP contains no streams
ERROR: pipeline doesn't want to preroll.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...


If I make the pipeline as below - removing the ',' and '=' characters in the sprops-parameter-sets caps setting, it doesnt throw error, but since it is not the original caps setting, it is not showing video.


  pipeline2 =  g_strdup_printf(" (  udpsrc port=5001 !  capsfilter 
caps=\"application/x-rtp, media=(string)video, payload=(int)97, 
clock-rate=(int)90000, 
encoding-name=(string)\\\"H264\\\",sprop-parameter-sets=(string)\\\"Z0LAHtkDxWhAAAADAEAAAAwDxYuSaMuMsg\\\"\" name=pay0 ) ");

factory = gst_rtsp_media_factory_new ();
gst_rtsp_media_factory_set_launch (factory, pipeline2);
gst_rtsp_mount_points_add_factory (mounts, "/processed", factory);


How should I pass the caps setting that has ',' and '='  as one of the characters in the value, for it to work.

Pls help.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20140429/e57ae0f2/attachment-0001.html>


More information about the gstreamer-devel mailing list