gst_parse_bin_from_description ghost pads

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

gst_parse_bin_from_description ghost pads

José Luis Segura Lucas
Hi,

I'm trying to use the gst_parse_bin_from_description function. I'm able
to get it working if I put a full pipeline inside the description, but
if I try something like thist:

gst_parse_bin_from_description("videotestsrc ! decodebin2", TRUE);

I can't connect the decodebin2 pad (when it's created) to a sink. I
trying connecting the 'pad-added' signal of the Bin to a callback, but
it's never invoked.

I suppose that I need to connect the decodebin2 'pad-added' signal
instead the bin one, but I don't know how to get the decodebin2 element
inside the bin.

Furthermore, about the TRUE argument passed to the function, why is not
created a ghost pad on the bin to connect the decodebin2 one to the
"outside" bin world? Is it because the decodebin2 doesn't have a source
pad at the bin creation time?

Thanks in advance.

------------------------------------------------------------------------------
Virtualization is moving to the mainstream and overtaking non-virtualized
environment for deploying applications. Does it make network security
easier or more difficult to achieve? Read this whitepaper to separate the
two and get a better understanding.
http://p.sf.net/sfu/hp-phase2-d2d
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: gst_parse_bin_from_description ghost pads

Luciana Fujii Pontello
On Mon, 2010-10-04 at 20:06 +0200, José Luis Segura Lucas wrote:

> Hi,
>
> I'm trying to use the gst_parse_bin_from_description function. I'm able
> to get it working if I put a full pipeline inside the description, but
> if I try something like thist:
>
> gst_parse_bin_from_description("videotestsrc ! decodebin2", TRUE);
>
> I can't connect the decodebin2 pad (when it's created) to a sink. I
> trying connecting the 'pad-added' signal of the Bin to a callback, but
> it's never invoked.
>
> I suppose that I need to connect the decodebin2 'pad-added' signal
> instead the bin one, but I don't know how to get the decodebin2 element
> inside the bin.

You can use gst_bin_get_by_name (). Or you can create the bin using
other methods. I suggest creating the elements by hand and adding them
to the bin yourself.

> Furthermore, about the TRUE argument passed to the function, why is not
> created a ghost pad on the bin to connect the decodebin2 one to the
> "outside" bin world? Is it because the decodebin2 doesn't have a source
> pad at the bin creation time?

I believe it is. You should probably add the ghost pad to your Bin and
link the bin to your sink, and then set the ghost pad target inside the
callback from "new-decoded-pad" signal.

Regards,

Luciana Fujii

------------------------------------------------------------------------------
Virtualization is moving to the mainstream and overtaking non-virtualized
environment for deploying applications. Does it make network security
easier or more difficult to achieve? Read this whitepaper to separate the
two and get a better understanding.
http://p.sf.net/sfu/hp-phase2-d2d
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: gst_parse_bin_from_description ghost pads

José Luis Segura Lucas
El Mon, 04 Oct 2010 16:18:15 -0300
Luciana Fujii Pontello <[hidden email]> escribió:
> You can use gst_bin_get_by_name (). Or you can create the bin using
> other methods. I suggest creating the elements by hand and adding them
> to the bin yourself.

Yes, I used your suggestion before, but now using a pipeline-like
description is mandatory. I need to connect a described bin to one
custom element (experimental, wroten in Python elements)
 
> I believe it is. You should probably add the ghost pad to your Bin and
> link the bin to your sink, and then set the ghost pad target inside
> the callback from "new-decoded-pad" signal.

On that way I need to have access to the last element of the bin. My
problem with that (and then, for use gst_bin_get_by_name) is I don't
know the element name (maybe pre-processing the bin description
string?).

My target is to get a program that reads a description of a Bin from
the command-line argument and then link, at the end of the bin, another
element.

Regards and thanks for your answer, it was very helpful!

------------------------------------------------------------------------------
Virtualization is moving to the mainstream and overtaking non-virtualized
environment for deploying applications. Does it make network security
easier or more difficult to achieve? Read this whitepaper to separate the
two and get a better understanding.
http://p.sf.net/sfu/hp-phase2-d2d
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: gst_parse_bin_from_description ghost pads

Tim-Philipp Müller-2
On Mon, 2010-10-04 at 22:46 +0200, José Luis Segura Lucas wrote:

> On that way I need to have access to the last element of the bin. My
> problem with that (and then, for use gst_bin_get_by_name) is I don't
> know the element name (maybe pre-processing the bin description
> string?).

Typically you'd just set the name yourself as part of the pipeline
description string, e.g.  "... ! decodebin2 name=dbin"

Cheers
 -Tim



------------------------------------------------------------------------------
Virtualization is moving to the mainstream and overtaking non-virtualized
environment for deploying applications. Does it make network security
easier or more difficult to achieve? Read this whitepaper to separate the
two and get a better understanding.
http://p.sf.net/sfu/hp-phase2-d2d
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: gst_parse_bin_from_description ghost pads

José Luis Segura Lucas
El Mon, 04 Oct 2010 22:39:51 +0100
Tim-Philipp Müller <[hidden email]> escribió:

> Typically you'd just set the name yourself as part of the pipeline
> description string, e.g.  "... ! decodebin2 name=dbin"
>
> Cheers
>  -Tim

Yes, I know. But it's a problem when de description is typed by the
user of the application. I think that I need to parse the description,
looking for the name of the element (if it set) or the default name set
by Gstreamer (I think it is element_name0, element_name1 and so on).

Thanks for your help. I expected to find another solution, but I will
implement the description parser :)

A lot of thanks!!!

------------------------------------------------------------------------------
Virtualization is moving to the mainstream and overtaking non-virtualized
environment for deploying applications. Does it make network security
easier or more difficult to achieve? Read this whitepaper to separate the
two and get a better understanding.
http://p.sf.net/sfu/hp-phase2-d2d
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel