FFmpeg
Data Structures | Macros | Functions
rtpdec_qt.c File Reference

Quicktime-style RTP support. More...

#include "avformat.h"
#include "internal.h"
#include "avio_internal.h"
#include "rtp.h"
#include "rtpdec.h"
#include "isom.h"
#include "libavcodec/get_bits.h"

Go to the source code of this file.

Data Structures

struct  PayloadContext
 RTP/JPEG specific private data. More...
 

Macros

#define MKTAG16(a, b)   MKTAG(a,b,0,0)
 
#define RTP_QT_HANDLER(m, n, s, t)
 

Functions

static av_cold int qt_rtp_init (AVFormatContext *ctx, int st_index, PayloadContext *qt)
 
static int qt_rtp_parse_packet (AVFormatContext *s, PayloadContext *qt, AVStream *st, AVPacket *pkt, uint32_t *timestamp, const uint8_t *buf, int len, uint16_t seq, int flags)
 
static void qt_rtp_close (PayloadContext *qt)
 
 RTP_QT_HANDLER (qt, vid, "X-QT", AVMEDIA_TYPE_VIDEO)
 
 RTP_QT_HANDLER (qt, aud, "X-QT", AVMEDIA_TYPE_AUDIO)
 
 RTP_QT_HANDLER (quicktime, vid, "X-QUICKTIME", AVMEDIA_TYPE_VIDEO)
 
 RTP_QT_HANDLER (quicktime, aud, "X-QUICKTIME", AVMEDIA_TYPE_AUDIO)
 

Detailed Description

Quicktime-style RTP support.

Author
Ronald S. Bultje rbult.nosp@m.je@r.nosp@m.onald.nosp@m..bit.nosp@m.freak.nosp@m..net

Definition in file rtpdec_qt.c.

Macro Definition Documentation

◆ MKTAG16

#define MKTAG16 (   a,
  b 
)    MKTAG(a,b,0,0)

◆ RTP_QT_HANDLER

#define RTP_QT_HANDLER (   m,
  n,
  s,
 
)
Value:
const RTPDynamicProtocolHandler ff_ ## m ## _rtp_ ## n ## _handler = { \
.enc_name = s, \
.codec_type = t, \
.codec_id = AV_CODEC_ID_NONE, \
.priv_data_size = sizeof(PayloadContext), \
.close = qt_rtp_close, \
}

Definition at line 255 of file rtpdec_qt.c.

Function Documentation

◆ qt_rtp_init()

static av_cold int qt_rtp_init ( AVFormatContext ctx,
int  st_index,
PayloadContext qt 
)
static

Definition at line 42 of file rtpdec_qt.c.

◆ qt_rtp_parse_packet()

static int qt_rtp_parse_packet ( AVFormatContext s,
PayloadContext qt,
AVStream st,
AVPacket pkt,
uint32_t *  timestamp,
const uint8_t *  buf,
int  len,
uint16_t  seq,
int  flags 
)
static

The RTP payload is described in: http://developer.apple.com/quicktime/icefloe/dispatch026.html

Definition at line 52 of file rtpdec_qt.c.

◆ qt_rtp_close()

static void qt_rtp_close ( PayloadContext qt)
static

Definition at line 249 of file rtpdec_qt.c.

◆ RTP_QT_HANDLER() [1/4]

RTP_QT_HANDLER ( qt  ,
vid  ,
"X-QT"  ,
AVMEDIA_TYPE_VIDEO   
)

◆ RTP_QT_HANDLER() [2/4]

RTP_QT_HANDLER ( qt  ,
aud  ,
"X-QT"  ,
AVMEDIA_TYPE_AUDIO   
)

◆ RTP_QT_HANDLER() [3/4]

RTP_QT_HANDLER ( quicktime  ,
vid  ,
"X-QUICKTIME"  ,
AVMEDIA_TYPE_VIDEO   
)

◆ RTP_QT_HANDLER() [4/4]

RTP_QT_HANDLER ( quicktime  ,
aud  ,
"X-QUICKTIME"  ,
AVMEDIA_TYPE_AUDIO   
)
init
static av_cold int init(AVCodecContext *avctx)
Definition: avrndec.c:31
RTPDynamicProtocolHandler::enc_name
const char * enc_name
Definition: rtpdec.h:117
qt_rtp_init
static av_cold int qt_rtp_init(AVFormatContext *ctx, int st_index, PayloadContext *qt)
Definition: rtpdec_qt.c:42
s
#define s(width, name)
Definition: cbs_vp9.c:257
AV_CODEC_ID_NONE
@ AV_CODEC_ID_NONE
Definition: codec_id.h:48
qt_rtp_close
static void qt_rtp_close(PayloadContext *qt)
Definition: rtpdec_qt.c:249
parse_packet
static int parse_packet(AVFormatContext *s, AVPacket *pkt, int stream_index, int flush)
Parse a packet, add all split parts to parse_queue.
Definition: demux.c:1106
qt_rtp_parse_packet
static int qt_rtp_parse_packet(AVFormatContext *s, PayloadContext *qt, AVStream *st, AVPacket *pkt, uint32_t *timestamp, const uint8_t *buf, int len, uint16_t seq, int flags)
Definition: rtpdec_qt.c:52
PayloadContext
RTP/JPEG specific private data.
Definition: rdt.c:83
RTPDynamicProtocolHandler
Definition: rtpdec.h:116