aboutsummaryrefslogtreecommitdiff
path: root/src/filter_plugin.h
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2009-12-25 14:27:32 +0100
committerMax Kellermann <max@duempel.org>2009-12-25 17:29:41 +0100
commitb54bde6f2b9f826cd7189182d733aada66c95dd8 (patch)
treef07f7b57f0d83879e6aa35ba3bbdaa06b4cbf4f1 /src/filter_plugin.h
parentd2051c7f50deff0532566c070aaf4fec5d774558 (diff)
filter_plugin: allow open() to force an input format
Make the audio_format argument non-const. Allow the open() method to modify it, to indicate that it wants a different input audio format than the one specified. Check that condition in chain_filter_open(), and fail.
Diffstat (limited to 'src/filter_plugin.h')
-rw-r--r--src/filter_plugin.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/filter_plugin.h b/src/filter_plugin.h
index dc5903b5..cec15794 100644
--- a/src/filter_plugin.h
+++ b/src/filter_plugin.h
@@ -50,10 +50,14 @@ struct filter_plugin {
/**
* Opens a filter.
+ *
+ * @param audio_format the audio format of incoming data; the
+ * plugin may modify the object to enforce another input
+ * format
*/
const struct audio_format *
(*open)(struct filter *filter,
- const struct audio_format *audio_format,
+ struct audio_format *audio_format,
GError **error_r);
/**
@@ -108,13 +112,14 @@ filter_free(struct filter *filter);
* Opens the filter, preparing it for filter_filter().
*
* @param filter the filter object
- * @param audio_format the audio format of incoming data
+ * @param audio_format the audio format of incoming data; the plugin
+ * may modify the object to enforce another input format
* @param error location to store the error occuring, or NULL to
* ignore errors.
* @return the format of outgoing data
*/
const struct audio_format *
-filter_open(struct filter *filter, const struct audio_format *audio_format,
+filter_open(struct filter *filter, struct audio_format *audio_format,
GError **error_r);
/**