summaryrefslogtreecommitdiff
path: root/libavfilter/audio.h
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2012-05-07 10:51:23 +0200
committerAnton Khirnov <anton@khirnov.net>2012-05-09 20:31:56 +0200
commit472fb3bbfaf6fddb33d45688046184e7684c9f71 (patch)
tree8c7b6406144b2de6b33d71e7873d248ddcb9ec73 /libavfilter/audio.h
parentf20ab492acd2ab49f859dcd6d310029fb8c09dc4 (diff)
lavfi: remove some audio-related function from public API.
Those functions are only useful inside filters. It is better to not support user filters until the API is more stable. This breaks audio filtering API and ABI in theory, but since it's unusable right now this shouldn't be a problem.
Diffstat (limited to 'libavfilter/audio.h')
-rw-r--r--libavfilter/audio.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/libavfilter/audio.h b/libavfilter/audio.h
new file mode 100644
index 0000000000..935bec5c43
--- /dev/null
+++ b/libavfilter/audio.h
@@ -0,0 +1,61 @@
+/*
+ * This file is part of Libav.
+ *
+ * Libav is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * Libav 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with Libav; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef AVFILTER_AUDIO_H
+#define AVFILTER_AUDIO_H
+
+#include "avfilter.h"
+
+/** default handler for get_audio_buffer() for audio inputs */
+AVFilterBufferRef *ff_default_get_audio_buffer(AVFilterLink *link, int perms,
+ int nb_samples);
+
+/** get_audio_buffer() handler for filters which simply pass audio along */
+AVFilterBufferRef *ff_null_get_audio_buffer(AVFilterLink *link, int perms,
+ int nb_samples);
+
+/**
+ * Request an audio samples buffer with a specific set of permissions.
+ *
+ * @param link the output link to the filter from which the buffer will
+ * be requested
+ * @param perms the required access permissions
+ * @param nb_samples the number of samples per channel
+ * @return A reference to the samples. This must be unreferenced with
+ * avfilter_unref_buffer when you are finished with it.
+ */
+AVFilterBufferRef *ff_get_audio_buffer(AVFilterLink *link, int perms,
+ int nb_samples);
+
+/** default handler for filter_samples() for audio inputs */
+void ff_default_filter_samples(AVFilterLink *link, AVFilterBufferRef *samplesref);
+
+/** filter_samples() handler for filters which simply pass audio along */
+void ff_null_filter_samples(AVFilterLink *link, AVFilterBufferRef *samplesref);
+
+/**
+ * Send a buffer of audio samples to the next filter.
+ *
+ * @param link the output link over which the audio samples are being sent
+ * @param samplesref a reference to the buffer of audio samples being sent. The
+ * receiving filter will free this reference when it no longer
+ * needs it or pass it on to the next filter.
+ */
+void ff_filter_samples(AVFilterLink *link, AVFilterBufferRef *samplesref);
+
+#endif /* AVFILTER_AUDIO_H */