Mercurial > libavformat.hg
changeset 4391:3c0d674bd232 libavformat
Do not use RTP_MAX_PACKET_LENGTH in the RTP muxer
author | lucabe |
---|---|
date | Fri, 06 Feb 2009 20:41:15 +0000 |
parents | 5b0645175029 |
children | ef5d6bb2c41b |
files | rtpenc.c rtpenc.h |
diffstat | 2 files changed, 15 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/rtpenc.c Fri Feb 06 20:30:18 2009 +0000 +++ b/rtpenc.c Fri Feb 06 20:41:15 2009 +0000 @@ -65,6 +65,10 @@ max_packet_size = url_fget_max_packet_size(s1->pb); if (max_packet_size <= 12) return AVERROR(EIO); + s->buf = av_malloc(max_packet_size); + if (s->buf == NULL) { + return AVERROR(ENOMEM); + } s->max_payload_size = max_packet_size - 12; s->max_frames_per_packet = 0; @@ -344,6 +348,15 @@ return 0; } +static int rtp_write_trailer(AVFormatContext *s1) +{ + RTPMuxContext *s = s1->priv_data; + + av_freep(&s->buf); + + return 0; +} + AVOutputFormat rtp_muxer = { "rtp", NULL_IF_CONFIG_SMALL("RTP output format"), @@ -354,4 +367,5 @@ CODEC_ID_NONE, rtp_write_header, rtp_write_packet, + rtp_write_trailer, };
--- a/rtpenc.h Fri Feb 06 20:30:18 2009 +0000 +++ b/rtpenc.h Fri Feb 06 20:41:15 2009 +0000 @@ -46,7 +46,7 @@ unsigned int last_octet_count; // TODO: move into statistics (outgoing) int first_packet; /* buffer for output */ - uint8_t buf[RTP_MAX_PACKET_LENGTH]; + uint8_t *buf; uint8_t *buf_ptr; int max_frames_per_packet;