[gst-devel] rtspsrc demo transmition problem, need help

Erwan Masson masson.erwan1 at gmail.com
Thu May 10 10:59:45 CEST 2007


Hi,
use gst-inspect rstpsrc.
You will see that the rstpsrc pad is a sometimes pad, so it can not be
linked at the beginning. You need a add pad callback to link your rstpsrc
and queue.
You should also test the return function, it can help to debug, (see
gst_element_link_many for example).

2007/5/10, 聂巍 <kanzakiv at gmail.com>:
>
> Hi all
>
> I am writing a demo to act as the following command line
>
> gst-launch rtspsrc location = " rtsp://192.168.1.100/1.mp3" ! queue !
> fakesink
>
> but when I compiled and ran the following helloworld.c
>
> [root at localhost / ] # helloworld rtsp://192.168.1.100/1.mp3
>
> it says
>
> """""""""""""""""""""""
> ERROR: from element /pipeline/rtp_disk_source/udpsrc2: Internal data flow
> error.
> Additional debug info:
> gstbasesrc.c(1614): gst_base_src_loop ():
> /pipeline/rtp_disk_source/udpsrc2:
> streaming task paused, reason not-linked (-1)
>
> """""""""""""""""""""""
>
> the gst-launch command line works just fine, but I don't know why the demo
> can't do it
>
> does anybody know this ?
>
> thank you very much
>
> ------------------------------------------------------------
>
> //  helloworld.c
>
> #include <stdlib.h>
> #include <gst/gst.h>
>
> static void
> event_loop (GstElement * pipe)
> {
>   GstBus *bus;
>   GstMessage *message = NULL;
>
>   bus = gst_element_get_bus (GST_ELEMENT (pipe));
>
>   while (TRUE) {
>     message = gst_bus_poll (bus, GST_MESSAGE_ANY, -1);
>
>     g_assert (message != NULL);
>
>     switch (message->type) {
>       case GST_MESSAGE_EOS:
>         gst_message_unref (message);
>         return;
>       case GST_MESSAGE_WARNING:
>       case GST_MESSAGE_ERROR:{
>         GError *gerror;
>         gchar *debug;
>
>         gst_message_parse_error (message, &gerror, &debug);
>         gst_object_default_error (GST_MESSAGE_SRC (message), gerror,
> debug);
>         gst_message_unref (message);
>         g_error_free (gerror);
>         g_free (debug);
>         return;
>       }
>       default:
>         gst_message_unref (message);
>         break;
>     }
>   }
> }
>
> int main (int argc, char *argv[])
> {
>   GstElement *bin, *filesrc , *fakesink, *queue;
>
>
>   gst_init (&argc, &argv);
>
>   if (argc != 2) {
>     g_print ("usage: %s <rtsp mp3 file>\n", argv[0]);
>     exit (-1);
>   }
>
>   /* create a new bin to hold the elements */
>   bin = gst_pipeline_new ("pipeline");
>   g_assert (bin);
>
>   /* create a disk reader */
>   filesrc = gst_element_factory_make ("rtspsrc", "rtp_disk_source");
>   if(!filesrc)
>    {
>         printf("could not create \"rtspsrc\" element!");
>         return -1;
>    }
>   g_object_set (G_OBJECT (filesrc), "location", argv[1] , NULL);
>   printf("argv[1] is %s\n",argv[1]);
>
>   /* and an audio sink */
>   fakesink = gst_element_factory_make ("fakesink","fake_sink");
>
>   queue = gst_element_factory_make ("queue","queue");
>
>   /* add objects to the main pipeline */
>   gst_bin_add_many (GST_BIN (bin),filesrc, queue, fakesink,NULL);
>
>   /* link the elements */
>   gst_element_link_many (filesrc, queue, fakesink,NULL);
>
>   /* start playing */
>   gst_element_set_state (bin, GST_STATE_PLAYING);
>
>   /* Run event loop listening for bus messages until EOS or ERROR */
>   event_loop (bin);
>
>   /* stop the bin */
>   gst_element_set_state (bin, GST_STATE_NULL);
>
>   exit (0);
> }
>
> ERROR: from element /pipeline/rtp_disk_source/udpsrc2: Internal data flow
> error.
> Additional debug info:
> gstbasesrc.c(1614): gst_base_src_loop ():
> /pipeline/rtp_disk_source/udpsrc2:
> streaming task paused, reason not-linked (-1)
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20070510/9c154a63/attachment.htm>


More information about the gstreamer-devel mailing list