FFmpeg
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
libavcodec
vorbis_parser.h
Go to the documentation of this file.
1
/*
2
*
3
* This file is part of FFmpeg.
4
*
5
* FFmpeg is free software; you can redistribute it and/or
6
* modify it under the terms of the GNU Lesser General Public
7
* License as published by the Free Software Foundation; either
8
* version 2.1 of the License, or (at your option) any later version.
9
*
10
* FFmpeg is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
* Lesser General Public License for more details.
14
*
15
* You should have received a copy of the GNU Lesser General Public
16
* License along with FFmpeg; if not, write to the Free Software
17
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
*/
19
20
/**
21
* @file
22
* A public API for Vorbis parsing
23
*
24
* Determines the duration for each packet.
25
*/
26
27
#ifndef AVCODEC_VORBIS_PARSE_H
28
#define AVCODEC_VORBIS_PARSE_H
29
30
#include <stdint.h>
31
32
typedef
struct
AVVorbisParseContext
AVVorbisParseContext
;
33
34
/**
35
* Allocate and initialize the Vorbis parser using headers in the extradata.
36
*
37
* @param avctx codec context
38
* @param s Vorbis parser context
39
*/
40
AVVorbisParseContext
*
av_vorbis_parse_init
(
const
uint8_t
*extradata,
41
int
extradata_size);
42
43
/**
44
* Free the parser and everything associated with it.
45
*/
46
void
av_vorbis_parse_free
(
AVVorbisParseContext
**
s
);
47
48
#define VORBIS_FLAG_HEADER 0x00000001
49
#define VORBIS_FLAG_COMMENT 0x00000002
50
51
/**
52
* Get the duration for a Vorbis packet.
53
*
54
* If @p flags is @c NULL,
55
* special frames are considered invalid.
56
*
57
* @param s Vorbis parser context
58
* @param buf buffer containing a Vorbis frame
59
* @param buf_size size of the buffer
60
* @param flags flags for special frames
61
*/
62
int
av_vorbis_parse_frame_flags
(
AVVorbisParseContext
*
s
,
const
uint8_t
*
buf
,
63
int
buf_size,
int
*
flags
);
64
65
/**
66
* Get the duration for a Vorbis packet.
67
*
68
* @param s Vorbis parser context
69
* @param buf buffer containing a Vorbis frame
70
* @param buf_size size of the buffer
71
*/
72
int
av_vorbis_parse_frame
(
AVVorbisParseContext
*
s
,
const
uint8_t
*
buf
,
73
int
buf_size);
74
75
void
av_vorbis_parse_reset
(
AVVorbisParseContext
*
s
);
76
77
#endif
/* AVCODEC_VORBIS_PARSE_H */
Generated on Fri Dec 5 2014 04:42:04 for FFmpeg by
1.8.2