From 32600902da1667801fd8c118ed5053b86cae07cb Mon Sep 17 00:00:00 2001 From: Andre Noll Date: Thu, 31 Dec 2009 02:16:25 +0100 Subject: [PATCH] Add execute support to mp3dec filter. --- mp3dec_filter.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/mp3dec_filter.c b/mp3dec_filter.c index 75745044..d95758e4 100644 --- a/mp3dec_filter.c +++ b/mp3dec_filter.c @@ -316,6 +316,25 @@ err: return ret; } +static int mp3dec_execute(struct btr_node *btrn, const char *cmd, char **result) +{ + struct filter_node *fn = btr_context(btrn); + struct private_mp3dec_data *pmd = fn->private_data; + + if (!strcmp(cmd, "samplerate")) { + if (pmd->samplerate == 0) + return -ERRNO_TO_PARA_ERROR(ENAVAIL); + *result = make_message("%u", pmd->samplerate); + return 1; + } + if (!strcmp(cmd, "channels")) { + if (pmd->channels == 0) + return -ERRNO_TO_PARA_ERROR(ENAVAIL); + *result = make_message("%u", pmd->channels); + return 1; + } + return -ERRNO_TO_PARA_ERROR(ENOTSUP); +} /** * The init function of the mp3dec filter. * @@ -334,6 +353,7 @@ void mp3dec_filter_init(struct filter *f) f->parse_config = mp3dec_parse_config; f->pre_select = mp3dec_pre_select; f->post_select = mp3dec_post_select; + f->execute = mp3dec_execute; f->help = (struct ggo_help) { .short_help = mp3dec_filter_args_info_help, .detailed_help = mp3dec_filter_args_info_detailed_help -- 2.30.2