Fakesrc not working as exected
Mandeep Sandhu
mandeepsandhu.chd at gmail.com
Wed Nov 28 06:13:59 PST 2012
On Wednesday, November 28, 2012, Tim-Philipp Müller wrote:
> On Wed, 2012-11-28 at 05:00 -0800, deepthips wrote:
> > Thanks.. I checked with gst-launch and found that actually my
> "xvimagesink"
> > is having problems. Since I dont want to debug that issue, I proceeded
> with
> > plugins which I know are working in my board. So I tried to play an ac3
> file
> > using fakesrc. Normally this will work filesrc -> ac3parse ->
> myaudiosink .
> > So I tried the same here with fakesrc. myaudiosink is proprietary plugin
> > with audio decoder + sink. But no audio was heard and it didnt give any
Is your audio sink configured properly to send output to the correct output
port and in the correct format, eh is the sink's output in PCM format etc.
check its properties thru gst-inspect
> error as well. I couldnt try with gst-launch coz I dont know how to set
> the
> > data to buffer from command line. Any help on this.
You can try putting a queue element in-between and see.
HTH,
-mandeep
>
> xvimagesink might not be able to handle video/x-raw-rgb, but only
> video/x-raw-yuv.
>
> Why use fakesrc instead of just:
>
> filesrc location=backup.ac3 ! ac3parse ! youraudiosink
>
> (I assume youraudiosink accepts coded AC-3 frames?)
>
> or
>
> videotetsrc ! xvimagesink
>
> Cheers
> -Tim
>
>
> > #include <string.h> /* for memset () */
> > #include <gst/gst.h>
> >
> > guint8 *data = NULL;
> >
> > static void
> > cb_handoff (GstElement *fakesrc,
> > GstBuffer *buffer,
> > GstPad *pad,
> > gpointer user_data)
> > {
> > /* Clip start and end */
> >
> > data = (guint8 *) g_malloc (3000);
> > GST_BUFFER_SIZE (buffer) = 3000;
> > GST_BUFFER_DATA (buffer) = GST_BUFFER_MALLOCDATA (buffer) = data;
> >
> > FILE* fp = fopen("backup.ac3","rb");
> > if(fp == NULL)
> > {
> > printf( " File is not opened \n");
> > return;
> > }
> > fread(data,3000,1,fp);
> >
> > fclose(fp);
> >
> > }
> >
> >
> > gint
> > main (gint argc,
> > gchar *argv[])
> > {
> > GstElement *pipeline, *fakesrc, *parse, *audiosink;
> > GMainLoop *loop;
> >
> > /* init GStreamer */
> > gst_init (&argc, &argv);
> > loop = g_main_loop_new (NULL, FALSE);
> >
> > /* setup pipeline */
> > pipeline = gst_pipeline_new ("pipeline");
> > fakesrc = gst_element_factory_make ("fakesrc", "source");
> > parse = gst_element_factory_make ("ac3parse", "parser");
> > audiosink = gst_element_factory_make ("myaudiosink", "audiosink");
> >
> > /* setup */
> > gst_bin_add_many (GST_BIN (pipeline), fakesrc, parse, audiosink,
> NULL);
> > gst_element_link_many (fakesrc, parse, audiosink, NULL);
> >
> > /* setup fake source */
> > g_object_set (G_OBJECT (fakesrc),
> > "signal-handoffs", TRUE,
> > "sizemax", 16000,
> > "sizetype", 2, NULL);
> > g_signal_connect (fakesrc, "handoff", G_CALLBACK (cb_handoff), NULL);
> >
> > /* play */
> > gst_element_set_state (pipeline, GST_STATE_PLAYING);
> > g_main_loop_run (loop);
> >
> > /* clean up */
> > gst_element_set_state (pipeline, GST_STATE_NULL);
> > gst_object_unref (GST_OBJECT (pipeline));
> >
> > return 0;
> > }
> >
> >
> >
> >
> > --
> > View this message in context:
> http://gstreamer-devel.966125.n4.nabble.com/Fakesrc-not-working-as-exected-tp4657100p4657102.html
> > Sent from the GStreamer-devel mailing list archive at Nabble.com.
> > _______________________________________________
> > gstreamer-devel mailing list
> > gstreamer-devel at lists.freedesktop.org <javascript:;>
> > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org <javascript:;>
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20121128/af4f52b2/attachment.html>
More information about the gstreamer-devel
mailing list