aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2015-02-23 21:53:19 +0200
committerMartin Storsjö <martin@martin.st>2015-02-24 16:21:18 +0200
commit353b492d0f2a21ae8eb829db1ac01b54b2a4d202 (patch)
treecac46c96e59b20c090ed04f00d4e22521a16ebe6
parent0752f700d63f6b15ffd5369ac7615414cce71247 (diff)
downloadffmpeg-353b492d0f2a21ae8eb829db1ac01b54b2a4d202.tar.gz
rtpdec: Change enc_name to a pointer instead of a fixed-size buffer
This avoids allocating space for a too large buffer for all the name strings. Signed-off-by: Martin Storsjö <martin@martin.st>
-rw-r--r--libavformat/rtpdec.c3
-rw-r--r--libavformat/rtpdec.h2
2 files changed, 3 insertions, 2 deletions
diff --git a/libavformat/rtpdec.c b/libavformat/rtpdec.c
index f040ea618e..d0b25bcbf1 100644
--- a/libavformat/rtpdec.c
+++ b/libavformat/rtpdec.c
@@ -113,7 +113,8 @@ RTPDynamicProtocolHandler *ff_rtp_handler_find_by_name(const char *name,
RTPDynamicProtocolHandler *handler;
for (handler = rtp_first_dynamic_payload_handler;
handler; handler = handler->next)
- if (!av_strcasecmp(name, handler->enc_name) &&
+ if (handler->enc_name &&
+ !av_strcasecmp(name, handler->enc_name) &&
codec_type == handler->codec_type)
return handler;
return NULL;
diff --git a/libavformat/rtpdec.h b/libavformat/rtpdec.h
index 46b08ce925..9f1a475ba0 100644
--- a/libavformat/rtpdec.h
+++ b/libavformat/rtpdec.h
@@ -113,7 +113,7 @@ typedef int (*DynamicPayloadPacketHandlerProc)(AVFormatContext *ctx,
int len, uint16_t seq, int flags);
struct RTPDynamicProtocolHandler {
- const char enc_name[50];
+ const char *enc_name;
enum AVMediaType codec_type;
enum AVCodecID codec_id;
int static_payload_id; /* 0 means no payload id is set. 0 is a valid