68 lines
2.6 KiB
C++
68 lines
2.6 KiB
C++
#include "rtp-profile.h"
|
|
|
|
static struct rtp_profile_t s_profiles[] = {
|
|
// audio
|
|
{ 0, RTP_TYPE_AUDIO, 1, 8000, "PCMU" }, // G711 mu-law
|
|
{ 1, RTP_TYPE_UNKNOWN, 1, 8000, "FS-1016 CELP" }, // reserved
|
|
{ 2, RTP_TYPE_UNKNOWN, 1, 8000, "G721" }, // reserved
|
|
{ 3, RTP_TYPE_AUDIO, 1, 8000, "GSM" },
|
|
{ 4, RTP_TYPE_AUDIO, 1, 8000, "G723" },
|
|
{ 5, RTP_TYPE_AUDIO, 1, 8000, "DVI4" },
|
|
{ 6, RTP_TYPE_AUDIO, 1, 16000, "DVI4" },
|
|
{ 7, RTP_TYPE_AUDIO, 1, 8000, "LPC" },
|
|
{ 8, RTP_TYPE_AUDIO, 1, 8000, "PCMA" }, // G711 A-law
|
|
{ 9, RTP_TYPE_AUDIO, 1, 8000, "G722" },
|
|
{ 10,RTP_TYPE_AUDIO, 2, 44100, "L16" }, // PCM S16BE
|
|
{ 11,RTP_TYPE_AUDIO, 1, 44100, "L16" }, // PCM S16BE
|
|
{ 12,RTP_TYPE_AUDIO, 1, 8000, "QCELP"},
|
|
{ 13,RTP_TYPE_AUDIO, 1, 8000, "CN" },
|
|
{ 14,RTP_TYPE_AUDIO, 2, 90000, "MPA" }, // MPEG-1/MPEG-2 audio 1/2 channels
|
|
{ 15,RTP_TYPE_AUDIO, 1, 8000, "G728" },
|
|
{ 16,RTP_TYPE_AUDIO, 1, 11025, "DVI4" },
|
|
{ 17,RTP_TYPE_AUDIO, 1, 22050, "DVI4" },
|
|
{ 18,RTP_TYPE_AUDIO, 1, 8000, "G729" },
|
|
{ 19,RTP_TYPE_UNKNOWN, 0, 0, "CN" }, // reserved
|
|
{ 20,RTP_TYPE_UNKNOWN, 0, 0, "" }, // unassigned
|
|
{ 21,RTP_TYPE_UNKNOWN, 0, 0, "" }, // unassigned
|
|
{ 22,RTP_TYPE_UNKNOWN, 0, 0, "" }, // unassigned
|
|
{ 23,RTP_TYPE_UNKNOWN, 0, 0, "" }, // unassigned
|
|
{ 24,RTP_TYPE_UNKNOWN, 0, 0, "" }, // unassigned
|
|
//{ 0, "G726-40", 8000, 1 },
|
|
//{ 0, "G726-32", 8000, 1 },
|
|
//{ 0, "G726-24", 8000, 1 },
|
|
//{ 0, "G726-16", 8000, 1 },
|
|
//{ 0, "G729-D", 8000, 1 },
|
|
//{ 0, "G729-E", 8000, 1 },
|
|
//{ 0, "GSM-EFR", 8000, 1 },
|
|
//{ 0, "L8", var, 1 },
|
|
|
|
// video
|
|
{ 25,RTP_TYPE_VIDEO, 0, 90000, "CELB" }, // SUN CELL-B
|
|
{ 26,RTP_TYPE_VIDEO, 0, 90000, "JPEG" }, // MJPEG
|
|
{ 27,RTP_TYPE_UNKNOWN, 0, 0, "" }, // unassigned
|
|
{ 28,RTP_TYPE_VIDEO, 0, 90000, "nv" },
|
|
{ 29,RTP_TYPE_UNKNOWN, 0, 0, "" }, // unassigned
|
|
{ 30,RTP_TYPE_UNKNOWN, 0, 0, "" }, // unassigned
|
|
{ 31,RTP_TYPE_VIDEO, 0, 90000, "H261" },
|
|
{ 32,RTP_TYPE_VIDEO, 0, 90000, "MPV" }, // MPEG-1/MPEG-2 video
|
|
{ 33,RTP_TYPE_SYSTEM, 0, 90000, "MP2T" }, // MPEG-2 TS
|
|
{ 34,RTP_TYPE_VIDEO, 0, 90000, "H263" },
|
|
//{ 0, "H263-1998",90000, 0 },
|
|
|
|
// 35-71 unassigned
|
|
// 72-76 reserved
|
|
// 77-95 unassigned
|
|
// 96-127 dynamic
|
|
//{ 96,RTP_TYPE_VIDEO, 0, 90000, "MPG4" }, // RFC3640 RTP Payload Format for Transport of MPEG-4 Elementary Streams
|
|
//{ 97,RTP_TYPE_SYSTEM, 0, 90000, "MP2P" }, // RFC3555 4.2.11 Registration of MIME media type video/MP2P
|
|
//{ 98,RTP_TYPE_VIDEO, 0, 90000, "H264" }, // RFC6184 RTP Payload Format for H.264 Video
|
|
};
|
|
|
|
const struct rtp_profile_t* rtp_profile_find(int payload)
|
|
{
|
|
if (payload < 0 || payload >= 35)
|
|
return 0;
|
|
|
|
return RTP_TYPE_UNKNOWN == s_profiles[payload].avtype ? 0 : &s_profiles[payload];
|
|
}
|