mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
rtpdec: Add functions for finding depacketizers by name or payload id
Originally committed as revision 25891 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
2beb910d79
commit
1e515c4280
@ -27,6 +27,7 @@
|
||||
#include "mpegts.h"
|
||||
|
||||
#include <unistd.h>
|
||||
#include <strings.h>
|
||||
#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;
|
||||
|
@ -190,6 +190,10 @@ struct RTPDemuxContext {
|
||||
|
||||
extern RTPDynamicProtocolHandler *RTPFirstDynamicPayloadHandler;
|
||||
void ff_register_dynamic_payload_handler(RTPDynamicProtocolHandler *handler);
|
||||
RTPDynamicProtocolHandler *ff_rtp_handler_find_by_name(const char *name,
|
||||
enum AVMediaType codec_type);
|
||||
RTPDynamicProtocolHandler *ff_rtp_handler_find_by_id(int id,
|
||||
enum AVMediaType codec_type);
|
||||
|
||||
int ff_rtsp_next_attr_and_value(const char **p, char *attr, int attr_size, char *value, int value_size); ///< from rtsp.c, but used by rtp dynamic protocol handlers.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user