audiosinks: Inconsistent notify::volume emitting between Linux & Mac OS X audio sinks
Submitted by Timo Dörr
Link to original bug (#680917)
Description
Created attachment 219994
minimal testcase to reproduce, compiles on both platforms
I found that there is inconsistent behavior of the notify::volume signal in the playbin2 object between OS X and Linux. For better explanation, I could create a reproducible minimal test-case which is attached and compiles on both platforms.
On OS X, the callback in the test-case is never called, hence no output. Same program run on Linux will have the callback called twice. Note, that no volume is changed by the program at all. On Linux the notify::volume signal is called upon playback start, but not on OS X.
I don't know what is correct behavior here, but there should be a consistent one, same on all platforms: Either have notify::volume triggered once upon playback start, or don't have it started but only on real volume changes.
I would vote for having the notify::volume signal emitted upon playback start - we have used it in banshee which works fine on Linux to set the GUI volume information upon playback start. But this resulted in a bug when running banshee on OS X (thats how I found this bug, see banshee's bug report here: https://bugzilla.gnome.org/show_bug.cgi?id=660012).
Tested systems were an Ubuntu 12.04 with shipped gstreamer (0.10.36), and OS X Lion with compiled gstreamer 0.10.36 from source, using stock compiler on both plattforms.
Attachment 219994, "minimal testcase to reproduce, compiles on both platforms":
bgst.c