summaryrefslogtreecommitdiffstats
path: root/audio/filter/af_drc.c
diff options
context:
space:
mode:
Diffstat (limited to 'audio/filter/af_drc.c')
-rw-r--r--audio/filter/af_drc.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/audio/filter/af_drc.c b/audio/filter/af_drc.c
index ba1e10c0a7..e293f7f616 100644
--- a/audio/filter/af_drc.c
+++ b/audio/filter/af_drc.c
@@ -87,15 +87,10 @@ static int control(struct af_instance* af, int cmd, void* arg)
// Sanity check
if(!arg) return AF_ERROR;
- af->data->rate = ((struct mp_audio*)arg)->rate;
- af->data->nch = ((struct mp_audio*)arg)->nch;
-
- if(((struct mp_audio*)arg)->format == (AF_FORMAT_S16_NE)){
- af->data->format = AF_FORMAT_S16_NE;
- af->data->bps = 2;
- }else{
- af->data->format = AF_FORMAT_FLOAT_NE;
- af->data->bps = 4;
+ mp_audio_copy_config(af->data, (struct mp_audio*)arg);
+
+ if(((struct mp_audio*)arg)->format != (AF_FORMAT_S16_NE)){
+ mp_audio_set_format(af->data, AF_FORMAT_FLOAT_NE);
}
return af_test_output(af,(struct mp_audio*)arg);
case AF_CONTROL_COMMAND_LINE:{