summaryrefslogtreecommitdiffstats
path: root/audio
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-03-06 21:51:18 +0100
committerwm4 <wm4@nowhere>2015-03-06 21:51:18 +0100
commitddbecd09b0cbada107b52b9dab575ba89affef79 (patch)
tree890d2a5b16dad3f56b11febb472fe1fe3c7fe6b0 /audio
parentc30d5f79b5a94adc9796a9751b0cab2b6c3b9e3d (diff)
downloadmpv-ddbecd09b0cbada107b52b9dab575ba89affef79.tar.bz2
mpv-ddbecd09b0cbada107b52b9dab575ba89affef79.tar.xz
af_scaletempo: minor simplification
Diffstat (limited to 'audio')
-rw-r--r--audio/filter/af_scaletempo.c21
1 files changed, 6 insertions, 15 deletions
diff --git a/audio/filter/af_scaletempo.c b/audio/filter/af_scaletempo.c
index 8702819372..a4f055bee9 100644
--- a/audio/filter/af_scaletempo.c
+++ b/audio/filter/af_scaletempo.c
@@ -76,9 +76,9 @@ typedef struct af_scaletempo_s
float ms_stride;
float percent_overlap;
float ms_search;
+#define SCALE_TEMPO 1
+#define SCALE_PITCH 2
int speed_opt;
- short speed_tempo;
- short speed_pitch;
} af_scaletempo_t;
static int fill_queue(struct af_instance *af, struct mp_audio *data, int offset)
@@ -282,7 +282,7 @@ static void update_speed(struct af_instance *af, float speed)
s->speed = speed;
- double factor = s->speed_pitch ? 1.0 / s->speed : s->speed;
+ double factor = (s->speed_opt & SCALE_PITCH) ? 1.0 / s->speed : s->speed;
s->scale = factor * s->scale_nominal;
s->frames_stride_scaled = s->scale * s->frames_stride;
@@ -434,11 +434,11 @@ static int control(struct af_instance *af, int cmd, void *arg)
}
case AF_CONTROL_SET_PLAYBACK_SPEED: {
double speed = *(double *)arg;
- if (s->speed_tempo) {
- if (s->speed_pitch)
+ if (s->speed_opt & SCALE_TEMPO) {
+ if (s->speed_opt & SCALE_PITCH)
break;
update_speed(af, speed);
- } else if (s->speed_pitch) {
+ } else if (s->speed_opt & SCALE_PITCH) {
update_speed(af, speed);
break; // do not signal OK
}
@@ -464,21 +464,12 @@ static void uninit(struct af_instance *af)
free(s->table_window);
}
-#define SCALE_TEMPO 1
-#define SCALE_PITCH 2
-
// Allocate memory and set function pointers
static int af_open(struct af_instance *af)
{
- af_scaletempo_t *s = af->priv;
-
af->control = control;
af->uninit = uninit;
af->filter_frame = filter;
-
- s->speed_tempo = !!(s->speed_opt & SCALE_TEMPO);
- s->speed_pitch = !!(s->speed_opt & SCALE_PITCH);
-
return AF_OK;
}