Controlling the hardware volume



On Tue, 2009-11-24 at 17:05 -0500, José Alburquerque wrote: 
> The problem is that your trying to initialize a Glib::RefPtr<>& from a
> Glib::RefPtr<> (which the std::list<> contains).  A std::list<> is not
> designed to store references.

It doesn't seem clear what I was trying to say about lists not "storing"
references.  I guess what I was trying to say is that I think trying to
extract a reference by dereferencing a list<>::iterator is not doable.
I was also trying to suggest another way get at the contents of the
list.

There are other ways to access the list, of course.
std::list<>::pop_front(), for example, removes the first element of the
list and std::list<>::front() does in fact return a reference so it
would be fine to initialize a Glib::RefPtr<>& with the result from that.
I'm sure you probably know all this, but in case you don't I might as
well add this comment in case it helps further.

Also, from the docs, a std::vector can be used instead of std::list.

Finally, another element you might consider when working with volume
control is the Gst::Volume plug-in.  According to the docs here:

http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/gst-plugins-base-plugins-volume.html

It allows the control of the volume of audio through a pipeline.  I hope
this all might be useful.

-- 
José




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]