summaryrefslogtreecommitdiffstats
path: root/audio/filter/af.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-04-05 19:47:51 +0200
committerwm4 <wm4@nowhere>2013-05-12 21:24:54 +0200
commitf7a427676c0fe3c12509e3d9a243301f93626b0a (patch)
tree8dc8a2371a3e561ebb03f0bd17c2d59135c9f872 /audio/filter/af.c
parent0042735d7aefb2f05a79ba2eae741a63f22ea0c9 (diff)
downloadmpv-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.c')
-rw-r--r--audio/filter/af.c20
1 files changed, 2 insertions, 18 deletions
diff --git a/audio/filter/af.c b/audio/filter/af.c
index 9f534ad2fb..4d2e5e3ac3 100644
--- a/audio/filter/af.c
+++ b/audio/filter/af.c
@@ -84,17 +84,14 @@ static struct af_info* filter_list[] = {
static bool af_config_equals(struct mp_audio *a, struct mp_audio *b)
{
return a->format == b->format
- && a->bps == b->bps
&& a->nch == b->nch
&& a->rate == b->rate;
}
static void af_copy_unset_fields(struct mp_audio *dst, struct mp_audio *src)
{
- if (dst->format == AF_FORMAT_UNKNOWN) {
- dst->format = src->format;
- dst->bps = src->bps;
- }
+ if (dst->format == AF_FORMAT_UNKNOWN)
+ mp_audio_set_format(dst, src->format);
if (dst->nch == 0)
dst->nch = src->nch;
if (dst->rate == 0)
@@ -459,9 +456,6 @@ int af_reinit(struct af_stream *s)
af = af->next;
break;
case AF_FALSE: { // Configuration filter is needed
- // Set output bits per sample (unknown why this would be needed)
- in.format |= af_bits2fmt(in.bps * 8);
-
if (af_fix_channels(s, &af, in) == AF_OK) {
retry++;
continue;
@@ -743,13 +737,3 @@ void af_help(void)
i++;
}
}
-
-void af_fix_parameters(struct mp_audio *data)
-{
- if (data->nch < 0 || data->nch > AF_NCH) {
- mp_msg(MSGT_AFILTER, MSGL_ERR,
- "Invalid number of channels %i, assuming 2.\n", data->nch);
- data->nch = 2;
- }
- data->bps = af_fmt2bits(data->format) / 8;
-}