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

Re: Pulseaudio in F12

On Mon, Nov 30, 2009 at 8:36 AM, Michal Schmidt <mschmidt redhat com> wrote:
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

+#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

    do_trigger = 0;
    written = 0;

Your patch almost worked. Audacious starts at the right volume level.
However, when audacious volume slider is hit for the first time,
the volume goes to the maximum again.

Paulo Roma Cavalcanti

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