fakesrc for audio stream.
Tiago Katcipis
katcipis at inf.ufsc.br
Wed Oct 24 19:26:15 PDT 2012
Hi,
On Wed, Oct 24, 2012 at 6:26 PM, rasnaut <rasnaut at gmail.com> wrote:
> Hi to All!
> I working with gstreamer-1.0 and try use fakesrc for work with audiostream.
> For start trying I copy only 0 in buffer (I used MapInfo structure). So, my
> code:
>
Have you tried to use audiotestsrc instead of fakesrc ? (you will not need
the audiorate element)
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/gst-plugins-base-plugins-audiotestsrc.html
Best regards,
Tiago Katcipis
>
> main()
> {
> gst_init (NULL,NULL);
> loop = g_main_loop_new (NULL, FALSE);
>
> /* setup pipeline */
> pipeline = gst_pipeline_new ("pipeline");
> g_assert(pipeline);
> fakesrc = gst_element_factory_make ("fakesrc", "source");
> g_assert(fakesrc);
> flt = gst_element_factory_make ("capsfilter", "flt");
> g_assert(flt);
> rate = gst_element_factory_make ("audiorate", "rate");
> g_assert(rate);
> conv = gst_element_factory_make ("audioconvert", "conv");
> g_assert(conv);
> audiosink = gst_element_factory_make ("alsasink", "asink");
> g_assert(videosink);
>
> /* setup */
> g_object_set (G_OBJECT (flt), "caps",
> gst_caps_new_simple ("audio/x-raw",
> "format",G_TYPE_STRING,"S16LE",
> "rate", G_TYPE_INT,16000,
> "channels", G_TYPE_INT, 1,
> NULL), NULL);
> gst_bin_add_many (GST_BIN (pipeline), fakesrc, flt,rate, conv,
> audiosink, NULL);
> if(!gst_element_link_many (fakesrc, flt, rate, conv, audiosink, NULL))
> {
> g_error("Link Error\n");
> }
>
> /* 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));
> g_main_loop_unref (loop);
> }
>
> So, when I start my programm apear next error:
> GStreamer-CRITICAL **: gst_segment_to_running_time: assertion
> `segment->format == format' failed
>
> When I changed alsasink on fakesink, all work. Maybe it's because my
> audiocard is working with another details:
> format = SL32_LE
> rate = 48000
> channels = 2
>
> I tryed change my details:
> g_object_set (G_OBJECT (flt), "caps",
> gst_caps_new_simple ("audio/x-raw",
> "format",G_TYPE_STRING,"S32LE",
> "rate", G_TYPE_INT,48000,
> "channels", G_TYPE_INT, 2,
> NULL), NULL);
>
> g_object_set (G_OBJECT (fakesrc),
> "signal-handoffs", TRUE,
> "sizemax", 48000*2,
> "sizetype", 8, NULL);
>
> but error still stayed.
> Anybody know, what I do wrong?
>
>
>
> --
> View this message in context:
> http://gstreamer-devel.966125.n4.nabble.com/fakesrc-for-audio-stream-tp4656701.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20121025/fc05b9a8/attachment.html>
More information about the gstreamer-devel
mailing list