how to read/write property of alsasink from application

Soho Soho123 soho123.2012 at gmail.com
Sun Jan 20 22:22:45 PST 2013


Hi,

So,
I have to add code for my application to set "audio-sink" property of
playbin2. then my application has the point of alsasink, right?
when I would like to read/write property of alsasink, the point will
be used for the purpose in application, right?

Thank you very much!

Best Regards,
Soho



2013/1/21 Mandeep Sandhu <mandeepsandhu.chd at gmail.com>:
> On Mon, Jan 21, 2013 at 8:02 AM, Soho Soho123 <soho123.2012 at gmail.com> wrote:
>> Hi Tim,
>>
>> Yes, you are right.
>> But my problem is:
>> if pipe I used :gst-launch-0.10 playbin2 url=....
>> then the elements that be constructed in pipe are automatically, right?
>> that inicludes alsasink element.
>> If I created alsasink element by myself, then
>> I have to pass the point to playbin2, right?
>> how to let playbin2 know the audio sink is the alsasink that I created
>> by myself,
>> NOT use the element that auto created?
>
> As Tim pointed out, this happens when you _explicitly_ set the audio
> sink element on playbin2 by calling:
>
> <snip>
> GstElement *alsasink = gst_element_factory_make ("alsasink", NULL);
>
> and then set it on playbin (=the pipeline) with
>
> g_object_set (playbin, "audio-sink", alsasink, NULL);
> </snip>
>
> From this point onwards, playbin2 will use this as the audio sink, and
> not use the one created internally.
>
> Do a gst-inspect on playbin2 and see what this ("audio-sink") property does.
>
> We do something similar, where we want to explicitly set a custom
> video sink and control the sinks properties sometime later.
>
> HTH,
> -mandeep
>
>> Could you kindly help to explain more detail?
>>
>> Thank you very much!!
>>
>> Best Regards,
>> Soho
>>
>> 2013/1/20 Tim-Philipp Müller <t.i.m at zen.co.uk>:
>>> On Sun, 2013-01-20 at 00:13 +0800, Soho Soho123 wrote:
>>>
>>> Hi,
>>>>
>>>> If my application uses the pipe like "gst-launch-0.10 playbin url=.....", then
>>>
>>> You should use playbin2 uri=... really, not the old playbin.
>>>
>>>
>>>> is there any method that I can read/write property of alsasink from
>>>> main of application?
>>>>  Does someone have idea?
>>>> Because I have to tell alsa to do someting while audio playback!
>>>
>>> The easiest way would be to create the alsasink yourself using
>>>
>>>  GstElement *alsasink = gst_element_factory_make ("alsasink", NULL);
>>>
>>> and then set it on playbin (=the pipeline) with
>>>
>>> g_object_set (playbin, "audio-sink", alsasink, NULL);
>>>
>>> Then you can keep the alsasink pointer around and use
>>>
>>>   g_object_set (alsasink, "property-name", value, NULL);
>>> or
>>>   g_object_get (alsasink, "property-name", &value, NULL);
>>>
>>> (though many of the values can probably only be manipulated while
>>> alsasink is in NULL state, not while it's being used for output).
>>>
>>> Cheers
>>>  -Tim
>>>
>>>
>>> _______________________________________________
>>> gstreamer-devel mailing list
>>> gstreamer-devel at lists.freedesktop.org
>>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


More information about the gstreamer-devel mailing list