Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
libavformat
rtp.h
Go to the documentation of this file.
1
/*
2
* RTP definitions
3
* Copyright (c) 2002 Fabrice Bellard
4
*
5
* This file is part of Libav.
6
*
7
* Libav is free software; you can redistribute it and/or
8
* modify it under the terms of the GNU Lesser General Public
9
* License as published by the Free Software Foundation; either
10
* version 2.1 of the License, or (at your option) any later version.
11
*
12
* Libav is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* Lesser General Public License for more details.
16
*
17
* You should have received a copy of the GNU Lesser General Public
18
* License along with Libav; if not, write to the Free Software
19
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
*/
21
#ifndef AVFORMAT_RTP_H
22
#define AVFORMAT_RTP_H
23
24
#include "
libavformat/avformat.h
"
25
#include "
libavcodec/avcodec.h
"
26
38
int
ff_rtp_get_payload_type
(
AVFormatContext
*fmt,
AVCodecContext
*codec,
39
int
idx);
40
53
int
ff_rtp_get_codec_info
(
AVCodecContext
*codec,
int
payload_type);
54
64
const
char
*
ff_rtp_enc_name
(
int
payload_type);
65
74
enum
AVCodecID
ff_rtp_codec_id
(
const
char
*buf,
enum
AVMediaType
codec_type
);
75
76
#define RTP_PT_PRIVATE 96
77
#define RTP_VERSION 2
78
#define RTP_MAX_SDES 256
80
/* RTCP packets use 0.5% of the bandwidth */
81
#define RTCP_TX_RATIO_NUM 5
82
#define RTCP_TX_RATIO_DEN 1000
83
84
/* An arbitrary id value for RTP Xiph streams - only relevant to indicate
85
* that the configuration has changed within a stream (by changing the
86
* ident value sent).
87
*/
88
#define RTP_XIPH_IDENT 0xfecdba
89
90
/* RTCP packet types */
91
enum
RTCPType
{
92
RTCP_FIR
= 192,
93
RTCP_NACK
,
// 193
94
RTCP_SMPTETC
,
// 194
95
RTCP_IJ
,
// 195
96
RTCP_SR
= 200,
97
RTCP_RR
,
// 201
98
RTCP_SDES
,
// 202
99
RTCP_BYE
,
// 203
100
RTCP_APP
,
// 204
101
RTCP_RTPFB
,
// 205
102
RTCP_PSFB
,
// 206
103
RTCP_XR
,
// 207
104
RTCP_AVB
,
// 208
105
RTCP_RSI
,
// 209
106
RTCP_TOKEN
,
// 210
107
};
108
109
#define RTP_PT_IS_RTCP(x) (((x) >= RTCP_FIR && (x) <= RTCP_IJ) || \
110
((x) >= RTCP_SR && (x) <= RTCP_TOKEN))
111
112
#endif
/* AVFORMAT_RTP_H */
RTCP_AVB
Definition:
rtp.h:104
ff_rtp_enc_name
const char * ff_rtp_enc_name(int payload_type)
Return the encoding name (as defined in http://www.iana.org/assignments/rtp-parameters) for a given p...
Definition:
rtp.c:135
codec_type
enum AVMediaType codec_type
Definition:
rtp.c:39
RTCP_XR
Definition:
rtp.h:103
AVFormatContext
Format I/O context.
Definition:
avformat.h:828
RTCP_SDES
Definition:
rtp.h:98
RTCP_SMPTETC
Definition:
rtp.h:94
AVCodecID
AVCodecID
Identify the syntax and semantics of the bitstream.
Definition:
avcodec.h:95
RTCP_TOKEN
Definition:
rtp.h:106
RTCP_PSFB
Definition:
rtp.h:102
RTCP_NACK
Definition:
rtp.h:93
ff_rtp_get_payload_type
int ff_rtp_get_payload_type(AVFormatContext *fmt, AVCodecContext *codec, int idx)
Return the payload type for a given stream used in the given format context.
Definition:
rtp.c:93
RTCP_RTPFB
Definition:
rtp.h:101
ff_rtp_get_codec_info
int ff_rtp_get_codec_info(AVCodecContext *codec, int payload_type)
Initialize a codec context based on the payload type.
Definition:
rtp.c:74
RTCP_IJ
Definition:
rtp.h:95
RTCP_RR
Definition:
rtp.h:97
RTCP_RSI
Definition:
rtp.h:105
RTCPType
RTCPType
Definition:
rtp.h:91
ff_rtp_codec_id
enum AVCodecID ff_rtp_codec_id(const char *buf, enum AVMediaType codec_type)
Return the codec id for the given encoding name and codec type.
Definition:
rtp.c:147
RTCP_FIR
Definition:
rtp.h:92
avcodec.h
external API header
RTCP_BYE
Definition:
rtp.h:99
AVCodecContext
main external API structure.
Definition:
avcodec.h:1339
AVMediaType
AVMediaType
Definition:
avutil.h:177
RTCP_APP
Definition:
rtp.h:100
avformat.h
Main libavformat public API header.
RTCP_SR
Definition:
rtp.h:96