diff options
author | wm4 <wm4@nowhere> | 2013-04-05 19:47:51 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2013-05-12 21:24:54 +0200 |
commit | f7a427676c0fe3c12509e3d9a243301f93626b0a (patch) | |
tree | 8dc8a2371a3e561ebb03f0bd17c2d59135c9f872 /audio/filter/af_hrtf.c | |
parent | 0042735d7aefb2f05a79ba2eae741a63f22ea0c9 (diff) | |
download | mpv-f7a427676c0fe3c12509e3d9a243301f93626b0a.tar.bz2 mpv-f7a427676c0fe3c12509e3d9a243301f93626b0a.tar.xz |
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.
Diffstat (limited to 'audio/filter/af_hrtf.c')
-rw-r--r-- | audio/filter/af_hrtf.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/audio/filter/af_hrtf.c b/audio/filter/af_hrtf.c index 72e2ec7c66..1e3244e2eb 100644 --- a/audio/filter/af_hrtf.c +++ b/audio/filter/af_hrtf.c @@ -301,7 +301,7 @@ static int control(struct af_instance *af, int cmd, void* arg) af->data->rate); return AF_ERROR; } - af->data->nch = ((struct mp_audio*)arg)->nch; + mp_audio_set_num_channels(af->data, ((struct mp_audio*)arg)->nch); if(af->data->nch == 2) { /* 2 channel input */ if(s->decode_mode != HRTF_MIX_MATRIX2CH) { @@ -310,13 +310,12 @@ static int control(struct af_instance *af, int cmd, void* arg) } } else if (af->data->nch < 5) - af->data->nch = 5; - af->data->format = AF_FORMAT_S16_NE; - af->data->bps = 2; + mp_audio_set_num_channels(af->data, 5); + mp_audio_set_format(af->data, AF_FORMAT_S16_NE); test_output_res = af_test_output(af, (struct mp_audio*)arg); af->mul = 2.0 / af->data->nch; // after testing input set the real output format - af->data->nch = 2; + mp_audio_set_num_channels(af->data, 2); s->print_flag = 1; return test_output_res; case AF_CONTROL_COMMAND_LINE: @@ -574,7 +573,7 @@ static struct mp_audio* play(struct af_instance *af, struct mp_audio *data) /* Set output data */ data->audio = af->data->audio; data->len = data->len / data->nch * 2; - data->nch = 2; + mp_audio_set_num_channels(data, 2); return data; } |