|
|
|
@@ -30,16 +30,6 @@ |
|
|
|
#include "rtpdec.h" |
|
|
|
#include "rtpdec_formats.h" |
|
|
|
|
|
|
|
/* TODO: |
|
|
|
* - add RTCP statistics reporting (should be optional). |
|
|
|
* |
|
|
|
* - add support for H.263/MPEG-4 packetized output: IDEA: send a |
|
|
|
* buffer to 'rtp_write_packet' contains all the packets for ONE |
|
|
|
* frame. Each packet should have a four byte header containing |
|
|
|
* the length in big-endian format (same trick as |
|
|
|
* 'ffio_open_dyn_packet_buf'). |
|
|
|
*/ |
|
|
|
|
|
|
|
static RTPDynamicProtocolHandler realmedia_mp3_dynamic_handler = { |
|
|
|
.enc_name = "X-MP3-draft-00", |
|
|
|
.codec_type = AVMEDIA_TYPE_AUDIO, |
|
|
|
@@ -59,12 +49,12 @@ static RTPDynamicProtocolHandler opus_dynamic_handler = { |
|
|
|
}; |
|
|
|
|
|
|
|
/* statistics functions */ |
|
|
|
static RTPDynamicProtocolHandler *RTPFirstDynamicPayloadHandler = NULL; |
|
|
|
static RTPDynamicProtocolHandler *rtp_first_dynamic_payload_handler = NULL; |
|
|
|
|
|
|
|
void ff_register_dynamic_payload_handler(RTPDynamicProtocolHandler *handler) |
|
|
|
{ |
|
|
|
handler->next = RTPFirstDynamicPayloadHandler; |
|
|
|
RTPFirstDynamicPayloadHandler = handler; |
|
|
|
handler->next = rtp_first_dynamic_payload_handler; |
|
|
|
rtp_first_dynamic_payload_handler = handler; |
|
|
|
} |
|
|
|
|
|
|
|
void av_register_rtp_dynamic_payload_handlers(void) |
|
|
|
@@ -108,7 +98,7 @@ RTPDynamicProtocolHandler *ff_rtp_handler_find_by_name(const char *name, |
|
|
|
enum AVMediaType codec_type) |
|
|
|
{ |
|
|
|
RTPDynamicProtocolHandler *handler; |
|
|
|
for (handler = RTPFirstDynamicPayloadHandler; |
|
|
|
for (handler = rtp_first_dynamic_payload_handler; |
|
|
|
handler; handler = handler->next) |
|
|
|
if (!av_strcasecmp(name, handler->enc_name) && |
|
|
|
codec_type == handler->codec_type) |
|
|
|
@@ -120,7 +110,7 @@ RTPDynamicProtocolHandler *ff_rtp_handler_find_by_id(int id, |
|
|
|
enum AVMediaType codec_type) |
|
|
|
{ |
|
|
|
RTPDynamicProtocolHandler *handler; |
|
|
|
for (handler = RTPFirstDynamicPayloadHandler; |
|
|
|
for (handler = rtp_first_dynamic_payload_handler; |
|
|
|
handler; handler = handler->next) |
|
|
|
if (handler->static_payload_id && handler->static_payload_id == id && |
|
|
|
codec_type == handler->codec_type) |
|
|
|
|