FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions
vorbis_parser.c File Reference

Vorbis audio parser. More...

#include "get_bits.h"
#include "parser.h"
#include "xiph.h"
#include "vorbis_parser.h"

Go to the source code of this file.

Functions

static int parse_id_header (AVCodecContext *avctx, VorbisParseContext *s, const uint8_t *buf, int buf_size)
 
static int parse_setup_header (AVCodecContext *avctx, VorbisParseContext *s, const uint8_t *buf, int buf_size)
 
int avpriv_vorbis_parse_extradata (AVCodecContext *avctx, VorbisParseContext *s)
 Initialize the Vorbis parser using headers in the extradata.
 
int avpriv_vorbis_parse_frame_flags (VorbisParseContext *s, const uint8_t *buf, int buf_size, int *flags)
 Get the duration for a Vorbis packet.
 
int avpriv_vorbis_parse_frame (VorbisParseContext *s, const uint8_t *buf, int buf_size)
 Get the duration for a Vorbis packet.
 
void avpriv_vorbis_parse_reset (VorbisParseContext *s)
 

Detailed Description

Vorbis audio parser.

Determines the duration for each packet.

Definition in file vorbis_parser.c.

Function Documentation

static int parse_id_header ( AVCodecContext avctx,
VorbisParseContext s,
const uint8_t buf,
int  buf_size 
)
static

Definition at line 33 of file vorbis_parser.c.

Referenced by avpriv_vorbis_parse_extradata().

static int parse_setup_header ( AVCodecContext avctx,
VorbisParseContext s,
const uint8_t buf,
int  buf_size 
)
static

Definition at line 65 of file vorbis_parser.c.

Referenced by avpriv_vorbis_parse_extradata().

int avpriv_vorbis_parse_extradata ( AVCodecContext avctx,
VorbisParseContext s 
)

Initialize the Vorbis parser using headers in the extradata.

Parameters
avctxcodec context
sVorbis parser context

Definition at line 176 of file vorbis_parser.c.

Referenced by libvorbis_encode_init(), and vorbis_header().

int avpriv_vorbis_parse_frame_flags ( VorbisParseContext s,
const uint8_t buf,
int  buf_size,
int *  flags 
)

Get the duration for a Vorbis packet.

avpriv_vorbis_parse_extradata() must have been successfully called prior to this in order for a correct duration to be returned. If flags is NULL, special frames are considered invalid.

Parameters
sVorbis parser context
bufbuffer containing a Vorbis frame
buf_sizesize of the buffer
flagsflags for special frames

Definition at line 204 of file vorbis_parser.c.

Referenced by avpriv_vorbis_parse_frame(), and vorbis_packet().

int avpriv_vorbis_parse_frame ( VorbisParseContext s,
const uint8_t buf,
int  buf_size 
)

Get the duration for a Vorbis packet.

avpriv_vorbis_parse_extradata() must have been successfully called prior to this in order for a correct duration to be returned.

Parameters
sVorbis parser context
bufbuffer containing a Vorbis frame
buf_sizesize of the buffer

Definition at line 253 of file vorbis_parser.c.

Referenced by libvorbis_encode_frame().

void avpriv_vorbis_parse_reset ( VorbisParseContext s)

Definition at line 259 of file vorbis_parser.c.

Referenced by vorbis_packet().