audio.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) Stefano Sabatini | stefasab at gmail.com
3  * Copyright (c) S.N. Hemanth Meenakshisundaram | smeenaks at ucsd.edu
4  *
5  * This file is part of FFmpeg.
6  *
7  * FFmpeg is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * FFmpeg is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with FFmpeg; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20  */
21 
22 #ifndef AVFILTER_AUDIO_H
23 #define AVFILTER_AUDIO_H
24 
25 #include "avfilter.h"
26 #include "internal.h"
27 
35 };
36 
44 };
45 
46 /** default handler for get_audio_buffer() for audio inputs */
48 
49 /** get_audio_buffer() handler for filters which simply pass audio along */
50 AVFrame *ff_null_get_audio_buffer(AVFilterLink *link, int nb_samples);
51 
52 /**
53  * Request an audio samples buffer with a specific set of permissions.
54  *
55  * @param link the output link to the filter from which the buffer will
56  * be requested
57  * @param nb_samples the number of samples per channel
58  * @return A reference to the samples. This must be unreferenced with
59  * avfilter_unref_buffer when you are finished with it.
60  */
61 AVFrame *ff_get_audio_buffer(AVFilterLink *link, int nb_samples);
62 
63 /**
64  * Send a buffer of audio samples to the next filter.
65  *
66  * @param link the output link over which the audio samples are being sent
67  * @param samplesref a reference to the buffer of audio samples being sent. The
68  * receiving filter will free this reference when it no longer
69  * needs it or pass it on to the next filter.
70  *
71  * @return >= 0 on success, a negative AVERROR on error. The receiving filter
72  * is responsible for unreferencing samplesref in case of error.
73  */
74 int ff_filter_samples(AVFilterLink *link, AVFilterBufferRef *samplesref);
75 
76 /**
77  * Send a buffer of audio samples to the next link, without checking
78  * min_samples.
79  */
81  AVFilterBufferRef *samplesref);
82 
83 #endif /* AVFILTER_AUDIO_H */
This structure describes decoded (raw) audio or video data.
Definition: frame.h:76
AVFrame * ff_default_get_audio_buffer(AVFilterLink *link, int nb_samples)
default handler for get_audio_buffer() for audio inputs
Definition: audio.c:41
external API header
AVFrame * ff_get_audio_buffer(AVFilterLink *link, int nb_samples)
Request an audio samples buffer with a specific set of permissions.
Definition: audio.c:84
signed 16 bits
Definition: samplefmt.h:52
AV_SAMPLE_FMT_U8
static enum AVSampleFormat ff_packed_sample_fmts_array[]
Definition: audio.h:28
signed 32 bits, planar
Definition: samplefmt.h:59
float, planar
Definition: samplefmt.h:60
int ff_filter_samples(AVFilterLink *link, AVFilterBufferRef *samplesref)
Send a buffer of audio samples to the next filter.
static enum AVSampleFormat ff_planar_sample_fmts_array[]
Definition: audio.h:37
Filter the word “frame” indicates either a video frame or a group of audio as stored in an AVFilterBuffer structure Format for each input and each output the list of supported formats For video that means pixel format For audio that means channel sample they are references to shared objects When the negotiation mechanism computes the intersection of the formats supported at each end of a link
signed 32 bits
Definition: samplefmt.h:53
int ff_filter_samples_framed(AVFilterLink *link, AVFilterBufferRef *samplesref)
Send a buffer of audio samples to the next link, without checking min_samples.
AVFrame * ff_null_get_audio_buffer(AVFilterLink *link, int nb_samples)
get_audio_buffer() handler for filters which simply pass audio along
Definition: audio.c:36
AVSampleFormat
Audio Sample Formats.
Definition: samplefmt.h:49
unsigned 8 bits, planar
Definition: samplefmt.h:57
signed 16 bits, planar
Definition: samplefmt.h:58
internal API functions
double, planar
Definition: samplefmt.h:61