summaryrefslogtreecommitdiffstats
path: root/libaf/control.h
diff options
context:
space:
mode:
authoranders <anders@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-10-16 01:49:40 +0000
committeranders <anders@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-10-16 01:49:40 +0000
commit4d6e54d22d40d50f50d2095773f24b5c5913d9b9 (patch)
treedd9b825c6b794f80d96a946ce9264ecaed3c12c3 /libaf/control.h
parentdd84f32ef0620de9570953c22791a0da7ff179ea (diff)
downloadmpv-4d6e54d22d40d50f50d2095773f24b5c5913d9b9.tar.bz2
mpv-4d6e54d22d40d50f50d2095773f24b5c5913d9b9.tar.xz
Adding volume control and moving control() call parameters to a seperate file
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7746 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libaf/control.h')
-rw-r--r--libaf/control.h77
1 files changed, 77 insertions, 0 deletions
diff --git a/libaf/control.h b/libaf/control.h
new file mode 100644
index 0000000000..6c44a76efe
--- /dev/null
+++ b/libaf/control.h
@@ -0,0 +1,77 @@
+#ifndef __af_control_h
+#define __af_control_h
+
+/*********************************************
+// Control parameters
+*/
+
+/* The control system is divided into 3 levels
+ mandatory calls - all filters must answer to all of these
+ optional calls - are optional
+ filter specific calls - applies only to some filters
+*/
+
+#define AF_CONTROL_MANDATORY_BASE 0
+#define AF_CONTROL_OPTIONAL_BASE 100
+#define AF_CONTROL_FILTER_SPECIFIC_BASE 200
+
+// MANDATORY CALLS
+
+/* Reinitialize filter. The optional argument contains the new
+ configuration in form of a af_data_t struct. If the filter does not
+ support the new format the struct should be changed and AF_FALSE
+ should be returned. If the incoming and outgoing data streams are
+ identical the filter can return AF_DETACH. This will remove the
+ filter. */
+#define AF_CONTROL_REINIT 01 + AF_CONTROL_MANDATORY_BASE
+
+// OPTIONAL CALLS
+
+/* Called just after creation with the af_cfg for the stream in which
+ the filter resides as input parameter this call can be used by the
+ filter to initialize itself using commandline parameters */
+#define AF_CONTROL_POST_CREATE 1 + AF_CONTROL_OPTIONAL_BASE
+
+// Called just before destruction of a filter
+#define AF_CONTROL_PRE_DESTROY 2 + AF_CONTROL_OPTIONAL_BASE
+
+
+// FILTER SPECIFIC CALLS
+
+// Set output rate in resample
+#define AF_CONTROL_RESAMPLE 1 + AF_CONTROL_FILTER_SPECIFIC_BASE
+
+// Set output format in format
+#define AF_CONTROL_FORMAT 2 + AF_CONTROL_FILTER_SPECIFIC_BASE
+
+// Set number of output channels in channels
+#define AF_CONTROL_CHANNELS 3 + AF_CONTROL_FILTER_SPECIFIC_BASE
+
+// Set delay length in delay
+#define AF_CONTROL_DELAY_SET_LEN 4 + AF_CONTROL_FILTER_SPECIFIC_BASE
+
+// Volume
+
+// Set volume level, arg is a float* with the volume for all the channels
+#define AF_CONTROL_VOLUME_SET 5 + AF_CONTROL_FILTER_SPECIFIC_BASE
+
+/* Get volume level for all channels, arg is a float* that will
+ contain the volume for all the channels */
+#define AF_CONTROL_VOLUME_GET 6 + AF_CONTROL_FILTER_SPECIFIC_BASE
+
+// Turn volume control on and off, arg is binary
+#define AF_CONTROL_VOLUME_ON_OFF 7 + AF_CONTROL_FILTER_SPECIFIC_BASE
+
+// Turn soft clipping of the volume on and off, arg is binary
+#define AF_CONTROL_VOLUME_SOFTCLIP 8 + AF_CONTROL_FILTER_SPECIFIC_BASE
+
+// Get the probed power level for all channels, arg is a float*
+#define AF_CONTROL_VOLUME_PROBE_GET 9 + AF_CONTROL_FILTER_SPECIFIC_BASE
+
+// Get the maximum probed power level for all channels, arg is a float*
+#define AF_CONTROL_VOLUME_PROBE_GET_MAX 10 + AF_CONTROL_FILTER_SPECIFIC_BASE
+
+// Turn probing on and off, arg is binary
+#define AF_CONTROL_VOLUME_PROBE_ON_OFF 11 + AF_CONTROL_FILTER_SPECIFIC_BASE
+
+#endif /*__af_control_h */