From f7a427676c0fe3c12509e3d9a243301f93626b0a Mon Sep 17 00:00:00 2001 From: wm4 Date: Fri, 5 Apr 2013 19:47:51 +0200 Subject: audio: add some setters for mp_audio, and require filters to use them mp_audio has some redundant fields. Setters like mp_audio_set_format() initialize these properly. Also move the mp_audio struct to a the file audio.c. We can remove a mysterious line of code from af.c: in.format |= af_bits2fmt(in.bps * 8); I'm not sure if this was ever actually needed, or if it was some kind of "make it work" quick-fix that works against the way things were supposed to work. All filters etc. now set the format correctly, so if there ever was a need for this code, it's definitely gone. --- audio/filter/af_surround.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'audio/filter/af_surround.c') diff --git a/audio/filter/af_surround.c b/audio/filter/af_surround.c index 57288d6ba2..c63105481f 100644 --- a/audio/filter/af_surround.c +++ b/audio/filter/af_surround.c @@ -92,10 +92,9 @@ static int control(struct af_instance* af, int cmd, void* arg) switch(cmd){ case AF_CONTROL_REINIT:{ float fc; - af->data->rate = ((struct mp_audio*)arg)->rate; - af->data->nch = ((struct mp_audio*)arg)->nch*2; - af->data->format = AF_FORMAT_FLOAT_NE; - af->data->bps = 4; + mp_audio_copy_config(af->data, (struct mp_audio*)arg); + mp_audio_set_num_channels(af->data, ((struct mp_audio*)arg)->nch*2); + mp_audio_set_format(af->data, AF_FORMAT_FLOAT_NE); if (af->data->nch != 4){ mp_msg(MSGT_AFILTER, MSGL_ERR, "[surround] Only stereo input is supported.\n"); @@ -125,8 +124,7 @@ static int control(struct af_instance* af, int cmd, void* arg) if((af->data->format != ((struct mp_audio*)arg)->format) || (af->data->bps != ((struct mp_audio*)arg)->bps)){ - ((struct mp_audio*)arg)->format = af->data->format; - ((struct mp_audio*)arg)->bps = af->data->bps; + mp_audio_set_format((struct mp_audio*)arg, af->data->format); return AF_FALSE; } return AF_OK; @@ -244,7 +242,7 @@ static struct mp_audio* play(struct af_instance* af, struct mp_audio* data){ // Set output data data->audio = af->data->audio; data->len *= 2; - data->nch = af->data->nch; + mp_audio_set_num_channels(data, af->data->nch); return data; } -- cgit v1.2.3