playbin2 properties

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

playbin2 properties

pl bossart
Playbin2 only exposes basic properties, but it does not expose the
basesink properties it inherits on the audio sink (qos, buffer-time,
buffer-latency, drift-tolerance, etc). As a result there's no way to
increase the latency to reduce power, no means to change the rendering
behavior, etc. I know, one of the answers will be 'why don't you
create a pipeline by hand', but the reality is that apps blindly rely
on playbin and you can't set those parameters even if the app has the
required knowledge.
Is there a trick to set those properties on the sink without changing
the code? Or do all these properties have to be defined at the
playbin2 level and then forwarded to the sink?
Cheers
- Pierre

------------------------------------------------------------------------------

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: playbin2 properties

Stefan Sauer
On 02.06.2010 19:30, pl bossart wrote:

> Playbin2 only exposes basic properties, but it does not expose the
> basesink properties it inherits on the audio sink (qos, buffer-time,
> buffer-latency, drift-tolerance, etc). As a result there's no way to
> increase the latency to reduce power, no means to change the rendering
> behavior, etc. I know, one of the answers will be 'why don't you
> create a pipeline by hand', but the reality is that apps blindly rely
> on playbin and you can't set those parameters even if the app has the
> required knowledge.
> Is there a trick to set those properties on the sink without changing
> the code?
You can use gst_child_proxy_set(), or just read the audio_sink property
and do g_object_set() there.

Stefan

>  Or do all these properties have to be defined at the
> playbin2 level and then forwarded to the sink?
> Cheers
> - Pierre
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>  


------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
lucky parental unit.  See the prize list and enter to win:
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: playbin2 properties

pl bossart
>> Is there a trick to set those properties on the sink without changing
>> the code?
> You can use gst_child_proxy_set(), or just read the audio_sink property
> and do g_object_set() there.

I understand that there's support to get/set the properties of a
child, but what I really wanted is to have the child properties show
as part of the ntaive ones supported by playbin2. For example
gst-inspect playbin2 would return audiosink::buffer-latency, and
likewise gst-launch playbin2 uri=<> audiosink::buffer-latency=100000
would set the audio sink property.

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
lucky parental unit.  See the prize list and enter to win:
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: playbin2 properties

Stefan Sauer
Am 03.06.2010 20:59, schrieb pl bossart:
>>> Is there a trick to set those properties on the sink without changing
>>> the code?
>> You can use gst_child_proxy_set(), or just read the audio_sink property
>> and do g_object_set() there.
>
> I understand that there's support to get/set the properties of a
> child, but what I really wanted is to have the child properties show
> as part of the ntaive ones supported by playbin2. For example
> gst-inspect playbin2 would return audiosink::buffer-latency,

that does not work as the ontent of a bin might be dynamic.

and
> likewise gst-launch playbin2 uri=<> audiosink::buffer-latency=100000
> would set the audio sink property.

that works (its a parse_launch feature). You can also use fully pipeline for
gstelement arguments:
gst-launch playbin2 uri=<> audio-sink="audiodelay ! pulsesink"

Stefan

>
> ------------------------------------------------------------------------------
> ThinkGeek and WIRED's GeekDad team up for the Ultimate
> GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
> lucky parental unit.  See the prize list and enter to win:
> http://p.sf.net/sfu/thinkgeek-promo
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
lucky parental unit.  See the prize list and enter to win:
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: playbin2 properties

Zhao, Halley
I tried:
gst_child_proxy_set(GST_OBJECT(playbin), "audiosink::buffer-time", 3000000, NULL);
however, it returns with warning:
"no property audiosink::buffer-time in object player"
Similar warning for "audio-sink::mute".



-----Original Message-----
From: Stefan Kost [mailto:[hidden email]]
Sent: 2010年6月4日 4:48
To: Discussion of the development of GStreamer
Subject: Re: [gst-devel] playbin2 properties

Am 03.06.2010 20:59, schrieb pl bossart:
>>> Is there a trick to set those properties on the sink without changing
>>> the code?
>> You can use gst_child_proxy_set(), or just read the audio_sink property
>> and do g_object_set() there.
>
> I understand that there's support to get/set the properties of a
> child, but what I really wanted is to have the child properties show
> as part of the ntaive ones supported by playbin2. For example
> gst-inspect playbin2 would return audiosink::buffer-latency,

that does not work as the ontent of a bin might be dynamic.

and
> likewise gst-launch playbin2 uri=<> audiosink::buffer-latency=100000
> would set the audio sink property.

that works (its a parse_launch feature). You can also use fully pipeline for
gstelement arguments:
gst-launch playbin2 uri=<> audio-sink="audiodelay ! pulsesink"

Stefan

>
> ------------------------------------------------------------------------------
> ThinkGeek and WIRED's GeekDad team up for the Ultimate
> GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
> lucky parental unit.  See the prize list and enter to win:
> http://p.sf.net/sfu/thinkgeek-promo
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
lucky parental unit.  See the prize list and enter to win:
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: playbin2 properties

Stefan Sauer
Am 23.07.2010 08:35, schrieb Zhao, Halley:
> I tried:
> gst_child_proxy_set(GST_OBJECT(playbin), "audiosink::buffer-time", 3000000, NULL);
> however, it returns with warning:
> "no property audiosink::buffer-time in object player"
> Similar warning for "audio-sink::mute".
>
When are you doing it. Maybe the audiosink has not yet been created.

Stefan

>
>
> -----Original Message-----
> From: Stefan Kost [mailto:[hidden email]]
> Sent: 2010年6月4日 4:48
> To: Discussion of the development of GStreamer
> Subject: Re: [gst-devel] playbin2 properties
>
> Am 03.06.2010 20:59, schrieb pl bossart:
>>>> Is there a trick to set those properties on the sink without changing
>>>> the code?
>>> You can use gst_child_proxy_set(), or just read the audio_sink property
>>> and do g_object_set() there.
>>
>> I understand that there's support to get/set the properties of a
>> child, but what I really wanted is to have the child properties show
>> as part of the ntaive ones supported by playbin2. For example
>> gst-inspect playbin2 would return audiosink::buffer-latency,
>
> that does not work as the ontent of a bin might be dynamic.
>
> and
>> likewise gst-launch playbin2 uri=<> audiosink::buffer-latency=100000
>> would set the audio sink property.
>
> that works (its a parse_launch feature). You can also use fully pipeline for
> gstelement arguments:
> gst-launch playbin2 uri=<> audio-sink="audiodelay ! pulsesink"
>
> Stefan
>
>>
>> ------------------------------------------------------------------------------
>> ThinkGeek and WIRED's GeekDad team up for the Ultimate
>> GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
>> lucky parental unit.  See the prize list and enter to win:
>> http://p.sf.net/sfu/thinkgeek-promo
>> _______________________________________________
>> gstreamer-devel mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>
> ------------------------------------------------------------------------------
> ThinkGeek and WIRED's GeekDad team up for the Ultimate
> GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
> lucky parental unit.  See the prize list and enter to win:
> http://p.sf.net/sfu/thinkgeek-promo
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Sprint
> What will you do first with EVO, the first 4G phone?
> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


------------------------------------------------------------------------------
This SF.net email is sponsored by

Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev 
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel