diff options
Diffstat (limited to 'audio/filter/af_dummy.c')
-rw-r--r-- | audio/filter/af_dummy.c | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/audio/filter/af_dummy.c b/audio/filter/af_dummy.c new file mode 100644 index 0000000000..29a5b3d4b8 --- /dev/null +++ b/audio/filter/af_dummy.c @@ -0,0 +1,76 @@ +/* + * The name speaks for itself. This filter is a dummy and will + * not blow up regardless of what you do with it. + * + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with MPlayer; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include "af.h" + +// Initialization and runtime control +static int control(struct af_instance* af, int cmd, void* arg) +{ + switch(cmd){ + case AF_CONTROL_REINIT: + memcpy(af->data,(struct mp_audio*)arg,sizeof(struct mp_audio)); + mp_msg(MSGT_AFILTER, MSGL_V, "[dummy] Was reinitialized: %iHz/%ich/%s\n", + af->data->rate,af->data->nch,af_fmt2str_short(af->data->format)); + return AF_OK; + } + return AF_UNKNOWN; +} + +// Deallocate memory +static void uninit(struct af_instance* af) +{ + free(af->data); +} + +// Filter data through filter +static struct mp_audio* play(struct af_instance* af, struct mp_audio* data) +{ + // Do something necessary to get rid of annoying warning during compile + if(!af) + mp_msg(MSGT_AFILTER, MSGL_ERR, "EEEK: Argument af == NULL in af_dummy.c play()."); + return data; +} + +// Allocate memory and set function pointers +static int af_open(struct af_instance* af){ + af->control=control; + af->uninit=uninit; + af->play=play; + af->mul=1; + af->data=malloc(sizeof(struct mp_audio)); + if(af->data == NULL) + return AF_ERROR; + return AF_OK; +} + +// Description of this filter +struct af_info af_info_dummy = { + "dummy", + "dummy", + "Anders", + "", + AF_FLAGS_REENTRANT, + af_open +}; |