vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Wed Nov 21 22:41:15 2012 +0200| [344713d09f8bbdd6267feed80256a842092818bc] | committer: Rémi Denis-Courmont
PulseAudio: try to keep all resampling on VLC side This reduces overall CPU consumption. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=344713d09f8bbdd6267feed80256a842092818bc --- modules/audio_output/pulse.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/modules/audio_output/pulse.c b/modules/audio_output/pulse.c index 85ed3be..c80785b 100644 --- a/modules/audio_output/pulse.c +++ b/modules/audio_output/pulse.c @@ -779,7 +779,7 @@ static int Start(audio_output_t *aout, audio_sample_format_t *restrict fmt) | PA_STREAM_INTERPOLATE_TIMING | PA_STREAM_NOT_MONOTONIC | PA_STREAM_AUTO_TIMING_UPDATE - /*| PA_STREAM_FIX_RATE*/; + | PA_STREAM_FIX_RATE; struct pa_buffer_attr attr; attr.maxlength = -1; @@ -867,6 +867,7 @@ static int Start(audio_output_t *aout, audio_sample_format_t *restrict fmt) goto fail; } + const struct pa_sample_spec *spec = pa_stream_get_sample_spec(s); #if PA_CHECK_VERSION(1,0,0) if (encoding != PA_ENCODING_INVALID) { const pa_format_info *info = pa_stream_get_format_info(s); @@ -877,10 +878,13 @@ static int Start(audio_output_t *aout, audio_sample_format_t *restrict fmt) fmt->i_format = HAVE_FPU ? VLC_CODEC_FL32 : VLC_CODEC_S16N; } else { msg_Dbg(aout, "digital pass-through enabled"); - pa_stream_set_latency_update_callback(s, NULL, NULL); + spec = NULL; } } #endif + if (spec != NULL) + fmt->i_rate = spec->rate; + stream_buffer_attr_cb(s, aout); var_AddCallback (aout, "audio-device", StreamMove, s); stream_moved_cb(s, aout); _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
