Do not use RTP_MAX_PACKET_LENGTH in the RTP muxer
Originally committed as revision 17022 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
@@ -65,6 +65,10 @@ static int rtp_write_header(AVFormatContext *s1)
|
|||||||
max_packet_size = url_fget_max_packet_size(s1->pb);
|
max_packet_size = url_fget_max_packet_size(s1->pb);
|
||||||
if (max_packet_size <= 12)
|
if (max_packet_size <= 12)
|
||||||
return AVERROR(EIO);
|
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_payload_size = max_packet_size - 12;
|
||||||
|
|
||||||
s->max_frames_per_packet = 0;
|
s->max_frames_per_packet = 0;
|
||||||
@@ -344,6 +348,15 @@ static int rtp_write_packet(AVFormatContext *s1, AVPacket *pkt)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int rtp_write_trailer(AVFormatContext *s1)
|
||||||
|
{
|
||||||
|
RTPMuxContext *s = s1->priv_data;
|
||||||
|
|
||||||
|
av_freep(&s->buf);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
AVOutputFormat rtp_muxer = {
|
AVOutputFormat rtp_muxer = {
|
||||||
"rtp",
|
"rtp",
|
||||||
NULL_IF_CONFIG_SMALL("RTP output format"),
|
NULL_IF_CONFIG_SMALL("RTP output format"),
|
||||||
@@ -354,4 +367,5 @@ AVOutputFormat rtp_muxer = {
|
|||||||
CODEC_ID_NONE,
|
CODEC_ID_NONE,
|
||||||
rtp_write_header,
|
rtp_write_header,
|
||||||
rtp_write_packet,
|
rtp_write_packet,
|
||||||
|
rtp_write_trailer,
|
||||||
};
|
};
|
||||||
|
@@ -46,7 +46,7 @@ struct RTPMuxContext {
|
|||||||
unsigned int last_octet_count; // TODO: move into statistics (outgoing)
|
unsigned int last_octet_count; // TODO: move into statistics (outgoing)
|
||||||
int first_packet;
|
int first_packet;
|
||||||
/* buffer for output */
|
/* buffer for output */
|
||||||
uint8_t buf[RTP_MAX_PACKET_LENGTH];
|
uint8_t *buf;
|
||||||
uint8_t *buf_ptr;
|
uint8_t *buf_ptr;
|
||||||
|
|
||||||
int max_frames_per_packet;
|
int max_frames_per_packet;
|
||||||
|
Reference in New Issue
Block a user