libavformat/rtpdec_xiph.c File Reference

Xiph / RTP Code. More...

#include "libavutil/avstring.h"
#include "libavutil/base64.h"
#include "libavcodec/bytestream.h"
#include <assert.h>
#include "rtpdec.h"
#include "rtpdec_formats.h"

Go to the source code of this file.

Data Structures

struct  PayloadContext
 Structure listing useful vars to parse RTP packet payload. More...

Functions

static PayloadContextxiph_new_context (void)
static void free_fragment_if_needed (PayloadContext *data)
static void xiph_free_context (PayloadContext *data)
static int xiph_handle_packet (AVFormatContext *ctx, PayloadContext *data, AVStream *st, AVPacket *pkt, uint32_t *timestamp, const uint8_t *buf, int len, int flags)
static int get_base128 (const uint8_t **buf, const uint8_t *buf_end)
 Length encoding described in RFC5215 section 3.1.1.
static unsigned int parse_packed_headers (const uint8_t *packed_headers, const uint8_t *packed_headers_end, AVCodecContext *codec, PayloadContext *xiph_data)
 Based off parse_packed_headers in Vorbis RTP.
static int xiph_parse_fmtp_pair (AVStream *stream, PayloadContext *xiph_data, char *attr, char *value)
static int xiph_parse_sdp_line (AVFormatContext *s, int st_index, PayloadContext *data, const char *line)

Variables

RTPDynamicProtocolHandler ff_theora_dynamic_handler
RTPDynamicProtocolHandler ff_vorbis_dynamic_handler


Detailed Description

Xiph / RTP Code.

Author:
Colin McQuillan <m.niloc@gmail.com>

Josh Allmann <joshua.allmann@gmail.com>

Definition in file rtpdec_xiph.c.


Function Documentation

static void free_fragment_if_needed ( PayloadContext data  )  [inline, static]

Definition at line 56 of file rtpdec_xiph.c.

Referenced by xiph_free_context(), and xiph_handle_packet().

static int get_base128 ( const uint8_t **  buf,
const uint8_t buf_end 
) [static]

Length encoding described in RFC5215 section 3.1.1.

Definition at line 229 of file rtpdec_xiph.c.

Referenced by parse_packed_headers().

static unsigned int parse_packed_headers ( const uint8_t packed_headers,
const uint8_t packed_headers_end,
AVCodecContext codec,
PayloadContext xiph_data 
) [static]

Based off parse_packed_headers in Vorbis RTP.

Definition at line 247 of file rtpdec_xiph.c.

Referenced by xiph_parse_fmtp_pair().

static void xiph_free_context ( PayloadContext data  )  [static]

Definition at line 66 of file rtpdec_xiph.c.

static int xiph_handle_packet ( AVFormatContext ctx,
PayloadContext data,
AVStream st,
AVPacket pkt,
uint32_t *  timestamp,
const uint8_t buf,
int  len,
int  flags 
) [static]

Definition at line 73 of file rtpdec_xiph.c.

static PayloadContext* xiph_new_context ( void   )  [static]

Definition at line 51 of file rtpdec_xiph.c.

static int xiph_parse_fmtp_pair ( AVStream stream,
PayloadContext xiph_data,
char *  attr,
char *  value 
) [static]

Definition at line 307 of file rtpdec_xiph.c.

Referenced by xiph_parse_sdp_line().

static int xiph_parse_sdp_line ( AVFormatContext s,
int  st_index,
PayloadContext data,
const char *  line 
) [static]

Definition at line 374 of file rtpdec_xiph.c.


Variable Documentation

Initial value:

 {
    .enc_name         = "theora",
    .codec_type       = AVMEDIA_TYPE_VIDEO,
    .codec_id         = CODEC_ID_THEORA,
    .parse_sdp_a_line = xiph_parse_sdp_line,
    .alloc            = xiph_new_context,
    .free             = xiph_free_context,
    .parse_packet     = xiph_handle_packet
}

Definition at line 390 of file rtpdec_xiph.c.

Referenced by av_register_rtp_dynamic_payload_handlers().

Initial value:

 {
    .enc_name         = "vorbis",
    .codec_type       = AVMEDIA_TYPE_AUDIO,
    .codec_id         = CODEC_ID_VORBIS,
    .parse_sdp_a_line = xiph_parse_sdp_line,
    .alloc            = xiph_new_context,
    .free             = xiph_free_context,
    .parse_packet     = xiph_handle_packet
}

Definition at line 400 of file rtpdec_xiph.c.

Referenced by av_register_rtp_dynamic_payload_handlers().


Generated on Fri Oct 26 02:48:02 2012 for FFmpeg by  doxygen 1.5.8