[gst-devel] decodebin vs playbin
Rodney Dowdall
rdowdall at cranksoftware.com
Tue Jun 1 16:43:59 CEST 2010
It's all working now. I was missing a plugin. Thanks for all the help,
and thanks to Totem for telling me about the missing plugin.
Rodney
On 10-06-01 09:53 AM, Rodney Dowdall wrote:
> Hello Thiago
>
> Thanks for your suggestions. I read the playbin2 docs, and it said
> that I could use the fakesink's handoff signal to grab the buffer from
> the playbin2 video. I tried to set that up, but my signal handler
> never gets called. Here is the code snippet that I have:
>
> static void
> cb_handoff (GstElement *fakesink,
> GstBuffer *buffer,
> GstPad *pad,
> gpointer user_data)
> {
> static gboolean white = FALSE;
>
> /* this makes the image black/white */
> printf("new buffer is happening\n");
> }
>
>
> .... Initlization function stuff ....
>
> videosink = gst_element_factory_make ("fakesink", "videosink");
> g_object_set (G_OBJECT (videosink), "signal-handoffs", TRUE,
> NULL);
> g_signal_connect (videosink, "handoff", G_CALLBACK
> (cb_handoff), NULL);
> gs_data->pipeline = gst_element_factory_make ("playbin2",
> "my-player");
> g_object_set (G_OBJECT (gs_data->pipeline), "video-sink",
> videosink, NULL);
> g_object_set (G_OBJECT (gs_data->pipeline), "uri",
> "<path_to_mp4>", NULL);
>
> This plays the sound from the mp4, but I can't grab the buffer. Am I
> missing a step? Do I have to setup a video-bin, with a filter,
> converter, and sink?
>
> Thanks,
> Rodney
>
> On 10-05-31 11:40 PM, thiagossantos at gmail.com wrote:
>>
>>
>> On Mon, May 31, 2010 at 11:53 PM, Rodney Dowdall
>> <rdowdall at cranksoftware.com <mailto:rdowdall at cranksoftware.com>> wrote:
>>
>> Hello
>>
>> I am trying to play the audio and the video from a mp4 file. If
>> I run the following line:
>>
>> gst-launch -vvvvv --gst-debug-level=2 playbin
>> uri=file:///<path_to_mp4_file>
>>
>> Then it plays the file's audio. I'm not putting the video
>> anywhere, so I can't see if it is playing or not, but I assume it
>> is based on the debug output.
>>
>> If I do the following line:
>>
>> gst-launch -vvv --gst-debug-level=2 filesrc
>> location=<path_to_mp4_file> ! decodebin2 name=decoder decoder. !
>> audioconvert ! audioresample ! osssink decoder. !
>> ffmpegcolorspace ! xvimagesink
>>
>> It hangs at:
>>
>> Setting pipeline to PAUSED ..
>> /GstPipeline:pipeline0/GstDecodeBin2:decoder/GstTypeFindElement:typefind.GstPad:src:
>> caps = audio/x-m4a
>> Pipeline is PREROLLING ...
>> <audio debug output snipped>
>>
>>
>> You need to put 'queue' after each decodebin2's branch to start a new
>> thread for them. The docs should have some more information about
>> this:
>> http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/chapter-threads.html#section-threads-uses
>>
>>
>> I need to open this file in C code, and grab access to the
>> buffers. I was planning on using appsink to do it, but any time
>> I pass in a video sink to the pipeline, it just hangs, never
>> playing the audio, or moving forward. As I said, I need access
>> to the video buffer, so either I need a way to grab it from the
>> pipeline created from gst_parse_launch, or I was thinking that if
>> I set up the pipeline myself, I could use a handoff signal on the
>> last video sink, or mayber use the appsink methods.
>>
>>
>> FYI, you can set the video-sink property in playbin2 to your appsink
>> and get the buffers from there.
>>
>>
>> I have a feeling that I am missing something simple, and was
>> hoping someone could point that out.
>>
>> Thanks,
>> Rodney
>> --
>>
>> *Rodney Dowdall
>> **Crank Software Inc.
>> **Office*: 613-595-1999
>> *Online*: www.cranksoftware.com <http://www.cranksoftware.com/>
>> *Check out*: Crank Software’s Blog <http://cranksoftware.com/blog/>
>>
>>
>>
>> ------------------------------------------------------------------------------
>>
>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.sourceforge.net
>> <mailto:gstreamer-devel at lists.sourceforge.net>
>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>>
>>
>>
>>
>> --
>> Thiago Sousa Santos
>
>
> --
>
> *
> Rodney Dowdall
> **Crank Software Inc.
> **Office*: 613-595-1999
> *Online*: www.cranksoftware.com <http://www.cranksoftware.com/>
> *Check out*: Crank Software’s Blog <http://cranksoftware.com/blog/>
>
>
>
> ------------------------------------------------------------------------------
>
>
>
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
--
*
Rodney Dowdall
**Crank Software Inc.
**Office*: 613-595-1999
*Online*: www.cranksoftware.com <http://www.cranksoftware.com/>
*Check out*: Crank Software’s Blog <http://cranksoftware.com/blog/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20100601/4c692aa6/attachment.htm>
More information about the gstreamer-devel
mailing list