summaryrefslogtreecommitdiffstats
path: root/audio
diff options
context:
space:
mode:
Diffstat (limited to 'audio')
-rw-r--r--audio/decode/ad_lavc.c3
-rw-r--r--audio/filter/af_lavrresample.c16
-rw-r--r--audio/out/ao_alsa.c5
3 files changed, 12 insertions, 12 deletions
diff --git a/audio/decode/ad_lavc.c b/audio/decode/ad_lavc.c
index f02f9213ab..5a2392e05a 100644
--- a/audio/decode/ad_lavc.c
+++ b/audio/decode/ad_lavc.c
@@ -144,9 +144,6 @@ static int init(struct dec_audio *da, const char *decoder)
return 0;
}
- if (lavc_context->bit_rate != 0)
- da->bitrate = lavc_context->bit_rate;
-
return 1;
}
diff --git a/audio/filter/af_lavrresample.c b/audio/filter/af_lavrresample.c
index 41d5a8bdf4..412846a78e 100644
--- a/audio/filter/af_lavrresample.c
+++ b/audio/filter/af_lavrresample.c
@@ -318,17 +318,17 @@ static int control(struct af_instance *af, int cmd, void *arg)
if (new_rate != s->ctx.in_rate && s->avrctx_ok && af->fmt_out.format) {
// Before reconfiguring, drain the audio that is still buffered
// in the resampler.
- talloc_free(s->pending);
- s->pending = talloc_zero(NULL, struct mp_audio);
- mp_audio_copy_config(s->pending, &af->fmt_out);
- s->pending->samples = get_drain_samples(s);
- if (s->pending->samples > 0) {
- mp_audio_realloc_min(s->pending, s->pending->samples);
- int r = resample_frame(s->avrctx, s->pending, NULL);
- s->pending->samples = MPMAX(r, 0);
+ struct mp_audio *pending = talloc_zero(NULL, struct mp_audio);
+ mp_audio_copy_config(pending, &af->fmt_out);
+ pending->samples = get_drain_samples(s);
+ if (pending->samples > 0) {
+ mp_audio_realloc_min(pending, pending->samples);
+ int r = resample_frame(s->avrctx, pending, NULL);
+ pending->samples = MPMAX(r, 0);
}
// Reinitialize resampler.
configure_lavrr(af, &af->fmt_in, &af->fmt_out);
+ s->pending = pending;
}
return AF_OK;
}
diff --git a/audio/out/ao_alsa.c b/audio/out/ao_alsa.c
index f26c4cedb0..f4565da0dc 100644
--- a/audio/out/ao_alsa.c
+++ b/audio/out/ao_alsa.c
@@ -492,8 +492,11 @@ static int init_device(struct ao *ao)
}
if (num_channels != ao->channels.num) {
- MP_ERR(ao, "Couldn't get requested number of channels.\n");
mp_chmap_from_channels_alsa(&ao->channels, num_channels);
+ if (!mp_chmap_is_valid(&ao->channels))
+ mp_chmap_from_channels(&ao->channels, 2);
+ MP_ERR(ao, "Couldn't get requested number of channels, fallback to %s.\n",
+ mp_chmap_to_str(&ao->channels));
}
// Some ALSA drivers have broken delay reporting, so disable the ALSA