From 1e515c4280acb70c615e8fe562fa6b463f1d8bed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Sun, 5 Dec 2010 19:39:50 +0000 Subject: rtpdec: Add functions for finding depacketizers by name or payload id Originally committed as revision 25891 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/rtpdec.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'libavformat/rtpdec.c') diff --git a/libavformat/rtpdec.c b/libavformat/rtpdec.c index 2524139..c9cf855 100644 --- a/libavformat/rtpdec.c +++ b/libavformat/rtpdec.c @@ -27,6 +27,7 @@ #include "mpegts.h" #include +#include #include "network.h" #include "rtpdec.h" @@ -78,6 +79,30 @@ void av_register_rtp_dynamic_payload_handlers(void) ff_register_dynamic_payload_handler(&ff_quicktime_rtp_vid_handler); } +RTPDynamicProtocolHandler *ff_rtp_handler_find_by_name(const char *name, + enum AVMediaType codec_type) +{ + RTPDynamicProtocolHandler *handler; + for (handler = RTPFirstDynamicPayloadHandler; + handler; handler = handler->next) + if (!strcasecmp(name, handler->enc_name) && + codec_type == handler->codec_type) + return handler; + return NULL; +} + +RTPDynamicProtocolHandler *ff_rtp_handler_find_by_id(int id, + enum AVMediaType codec_type) +{ + RTPDynamicProtocolHandler *handler; + for (handler = RTPFirstDynamicPayloadHandler; + handler; handler = handler->next) + if (handler->static_payload_id && handler->static_payload_id == id && + codec_type == handler->codec_type) + return handler; + return NULL; +} + static int rtcp_parse_packet(RTPDemuxContext *s, const unsigned char *buf, int len) { int payload_len; -- cgit v1.1