]> git.sesse.net Git - vlc/commitdiff
Negotiate input sample rate with PulseAudio
authorRémi Denis-Courmont <remi@remlab.net>
Sat, 8 Oct 2011 15:17:16 +0000 (18:17 +0300)
committerRémi Denis-Courmont <remi@remlab.net>
Sat, 8 Oct 2011 15:17:16 +0000 (18:17 +0300)
modules/access/pulse.c

index 197f8f6c3f4a83896dda3c8a11a9a8822b612301..a0760d895fe64aaa9484f74dcff2869d775052f7 100644 (file)
@@ -262,8 +262,8 @@ static int Open(vlc_object_t *obj)
     const pa_stream_flags_t flags = PA_STREAM_INTERPOLATE_TIMING
                                   | PA_STREAM_AUTO_TIMING_UPDATE
                                   | PA_STREAM_FIX_FORMAT
-                                  /*| PA_STREAM_FIX_RATE
-                                  | PA_STREAM_FIX_CHANNELS*/;
+                                  | PA_STREAM_FIX_RATE
+                                  /*| PA_STREAM_FIX_CHANNELS*/;
     const struct pa_buffer_attr attr = {
         .maxlength = -1,
         .fragsize = pa_usec_to_bytes(sys->caching, &ss) / 2,
@@ -313,10 +313,10 @@ static int Open(vlc_object_t *obj)
     fmt.audio.i_physical_channels = fmt.audio.i_original_channels =
         AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT;
     fmt.audio.i_channels = ss.channels;
-    fmt.audio.i_rate = ss.rate;
+    fmt.audio.i_rate = pss->rate;
     fmt.audio.i_bitspersample = aout_BitsPerSample(format);
     fmt.audio.i_blockalign = fmt.audio.i_bitspersample * ss.channels / 8;
-    fmt.i_bitrate = fmt.audio.i_bitspersample * ss.channels * ss.rate;
+    fmt.i_bitrate = fmt.audio.i_bitspersample * ss.channels * pss->rate;
     sys->framesize = fmt.audio.i_blockalign;
     sys->es = es_out_Add (demux->out, &fmt);