From a3801dae20515db5ba2da755a99b5470df9e8c5d Mon Sep 17 00:00:00 2001 From: Guenter Bartsch Date: Sun, 6 May 2001 16:56:01 +0000 Subject: sample rate handling for streams that change their sample rate at some points CVS patchset: 66 CVS date: 2001/05/06 16:56:01 --- src/libmpg123/layer1.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/libmpg123/layer1.c') diff --git a/src/libmpg123/layer1.c b/src/libmpg123/layer1.c index dd6cef6ac..a4e8075de 100644 --- a/src/libmpg123/layer1.c +++ b/src/libmpg123/layer1.c @@ -146,10 +146,15 @@ void do_layer1(metronom_t *metronom, mpgaudio_t *mp, uint32_t pts) } } - if (!mp->is_output_initialized) { - mp->ao_output->open (metronom, 16, fr->sample_rate, + if ((!mp->is_output_initialized) || (mp->sample_rate_device != fr->sample_rate)) { + + if (mp->is_output_initialized) + mp->ao_output->close(); + + mp->ao_output->open (16, fr->sample_rate, stereo-1 ? AO_MODE_STEREO: AO_MODE_MONO); mp->is_output_initialized = 1; + mp->sample_rate_device = fr->sample_rate; printf ("layer1\n"); } -- cgit v1.2.3