Dne Mon, 30 Nov 2009 11:12:38 +0100 Michael Schwendt napsal(a): > On Mon, 30 Nov 2009 10:38:15 +0100, Michal wrote: > > > Dne Mon, 30 Nov 2009 07:05:28 -0200 Paulo Cavalcanti napsal(a): > > > Thanks for the explanation. > > > > > > At least 3 applications are not restoring the volumes: > > > > > > xmms, mplayer and audacious. > > > > Interesting. Maybe these programs try to be too clever and force the > > volume themselves. > > It's not an attempt at being "too clever", but several upstream > developers feel lost in what they have to do or what they have not to > do to get something right. Temporarily, Audacious devlopers have > dropped their "pulse_audio" driver (originally from XMMS) even, since > they were of the impression that "it didn't work anyway". Ubuntu > users currently feel punished with Pulse Audio. With a first bunch of > fixes [for volume issues in Fedora 12 Rawhide, volume decreased for > every new song], the driver was restored again for Audacious 2.2 > development. With more recent changes in Pulse Audio, it seems, more > changes are necessary. But Audacious 2.1 cannot reflect external > volume level changes in its UI anyway. Its volume slider cannot move > for volume level changes made with external tools. Only the next > release can do that, and it suffers from new bugs (such as a bug in > alsa-lib that will require an update in Fedora, too). Thanks for the explanation. Before I saw your reply, I played with audacious-plugins and made a kludge to prevent it from forcing 100 % volume on startup. It probably breaks something else, I haven't really tested it too much. Notice that the documentation for pa_stream_connect_playback strongly recommends passing NULL as volume. Index: audacious-plugins-fedora-2.1/src/pulse_audio/pulse_audio.c =================================================================== --- audacious-plugins-fedora-2.1.orig/src/pulse_audio/pulse_audio.c +++ audacious-plugins-fedora-2.1/src/pulse_audio/pulse_audio.c @@ -666,7 +666,7 @@ static int pulse_open(AFormat fmt, int r pa_stream_set_write_callback(stream, stream_request_cb, NULL); pa_stream_set_latency_update_callback(stream, stream_latency_update_cb, NULL); - if (pa_stream_connect_playback(stream, NULL, NULL, PA_STREAM_INTERPOLATE_TIMING|PA_STREAM_AUTO_TIMING_UPDATE, &volume, NULL) < 0) { + if (pa_stream_connect_playback(stream, NULL, NULL, PA_STREAM_INTERPOLATE_TIMING|PA_STREAM_AUTO_TIMING_UPDATE, NULL, NULL) < 0) { AUDDBG("Failed to connect stream: %s", pa_strerror(pa_context_errno(context))); goto unlock_and_fail; } @@ -715,6 +715,7 @@ static int pulse_open(AFormat fmt, int r } pa_operation_unref(o); +#if 0 /* set initial volume */ if (!(o = pa_context_set_sink_input_volume(context, pa_stream_get_index(stream), &volume, NULL, NULL))) { g_warning("pa_context_set_sink_input_volume() failed: %s", pa_strerror(pa_context_errno(context))); @@ -725,6 +726,7 @@ static int pulse_open(AFormat fmt, int r pa_threaded_mainloop_wait(mainloop); } pa_operation_unref(o); +#endif do_trigger = 0; written = 0; -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list