summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--audio/filter/af_scaletempo.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/audio/filter/af_scaletempo.c b/audio/filter/af_scaletempo.c
index f48f67fbc3..449ad02dc2 100644
--- a/audio/filter/af_scaletempo.c
+++ b/audio/filter/af_scaletempo.c
@@ -287,19 +287,17 @@ static int control(struct af_instance *af, int cmd, void *arg)
int nch = data->nch;
int use_int = 0;
+ if (AF_FORMAT_IS_SPECIAL(data->format)) {
+ MP_ERR(af, "Changing speed is not supported with spdif formats.\n");
+ return AF_DETACH;
+ }
+
MP_VERBOSE(af, "%.3f speed * %.3f scale_nominal = %.3f\n",
s->speed, s->scale_nominal, s->scale);
mp_audio_force_interleaved_format(data);
mp_audio_copy_config(af->data, data);
- if (s->scale == 1.0) {
- if (s->speed_tempo && s->speed_pitch)
- return AF_DETACH;
- af->delay = 0;
- return af_test_output(af, data);
- }
-
if (data->format == AF_FORMAT_S16) {
use_int = 1;
} else {