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