FFmpeg
Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
•
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
libavfilter
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
28
static
const
enum
AVSampleFormat
ff_packed_sample_fmts_array
[] = {
29
AV_SAMPLE_FMT_U8
,
30
AV_SAMPLE_FMT_S16
,
31
AV_SAMPLE_FMT_S32
,
32
AV_SAMPLE_FMT_FLT
,
33
AV_SAMPLE_FMT_DBL
,
34
AV_SAMPLE_FMT_NONE
35
};
36
37
static
const
enum
AVSampleFormat
ff_planar_sample_fmts_array
[] = {
38
AV_SAMPLE_FMT_U8P
,
39
AV_SAMPLE_FMT_S16P
,
40
AV_SAMPLE_FMT_S32P
,
41
AV_SAMPLE_FMT_FLTP
,
42
AV_SAMPLE_FMT_DBLP
,
43
AV_SAMPLE_FMT_NONE
44
};
45
46
/** default handler for get_audio_buffer() for audio inputs */
47
AVFilterBufferRef
*
ff_default_get_audio_buffer
(
AVFilterLink
*link,
int
perms,
48
int
nb_samples
);
49
50
/** get_audio_buffer() handler for filters which simply pass audio along */
51
AVFilterBufferRef
*
ff_null_get_audio_buffer
(
AVFilterLink
*link,
int
perms,
52
int
nb_samples
);
53
54
/**
55
* Request an audio samples buffer with a specific set of permissions.
56
*
57
* @param link the output link to the filter from which the buffer will
58
* be requested
59
* @param perms the required access permissions
60
* @param nb_samples the number of samples per channel
61
* @return A reference to the samples. This must be unreferenced with
62
* avfilter_unref_buffer when you are finished with it.
63
*/
64
AVFilterBufferRef
*
ff_get_audio_buffer
(
AVFilterLink
*link,
int
perms,
65
int
nb_samples
);
66
67
/**
68
* Send a buffer of audio samples to the next filter.
69
*
70
* @param link the output link over which the audio samples are being sent
71
* @param samplesref a reference to the buffer of audio samples being sent. The
72
* receiving filter will free this reference when it no longer
73
* needs it or pass it on to the next filter.
74
*
75
* @return >= 0 on success, a negative AVERROR on error. The receiving filter
76
* is responsible for unreferencing samplesref in case of error.
77
*/
78
int
ff_filter_samples
(
AVFilterLink
*link,
AVFilterBufferRef
*samplesref);
79
80
/**
81
* Send a buffer of audio samples to the next link, without checking
82
* min_samples.
83
*/
84
int
ff_filter_samples_framed
(
AVFilterLink
*link,
85
AVFilterBufferRef
*samplesref);
86
87
#endif
/* AVFILTER_AUDIO_H */
Generated on Sat May 25 2013 04:01:14 for FFmpeg by
1.8.2