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