|
@@ -33,7 +33,6 @@ |
|
|
static const AVOption options[] = { |
|
|
static const AVOption options[] = { |
|
|
FF_RTP_FLAG_OPTS(RTPMuxContext, flags) |
|
|
FF_RTP_FLAG_OPTS(RTPMuxContext, flags) |
|
|
{ "payload_type", "Specify RTP payload type", offsetof(RTPMuxContext, payload_type), AV_OPT_TYPE_INT, {.dbl = -1 }, -1, 127, AV_OPT_FLAG_ENCODING_PARAM }, |
|
|
{ "payload_type", "Specify RTP payload type", offsetof(RTPMuxContext, payload_type), AV_OPT_TYPE_INT, {.dbl = -1 }, -1, 127, AV_OPT_FLAG_ENCODING_PARAM }, |
|
|
{ "max_packet_size", "Max packet size", offsetof(RTPMuxContext, max_packet_size), AV_OPT_TYPE_INT, {.dbl = 0 }, 0, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM }, |
|
|
|
|
|
{ NULL }, |
|
|
{ NULL }, |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
@@ -110,21 +109,21 @@ static int rtp_write_header(AVFormatContext *s1) |
|
|
s->first_rtcp_ntp_time = (s1->start_time_realtime / 1000) * 1000 + |
|
|
s->first_rtcp_ntp_time = (s1->start_time_realtime / 1000) * 1000 + |
|
|
NTP_OFFSET_US; |
|
|
NTP_OFFSET_US; |
|
|
|
|
|
|
|
|
if (s->max_packet_size) { |
|
|
|
|
|
|
|
|
if (s1->packet_size) { |
|
|
if (s1->pb->max_packet_size) |
|
|
if (s1->pb->max_packet_size) |
|
|
s->max_packet_size = FFMIN(s->max_packet_size, |
|
|
|
|
|
s1->pb->max_packet_size); |
|
|
|
|
|
|
|
|
s1->packet_size = FFMIN(s1->packet_size, |
|
|
|
|
|
s1->pb->max_packet_size); |
|
|
} else |
|
|
} else |
|
|
s->max_packet_size = s1->pb->max_packet_size; |
|
|
|
|
|
if (s->max_packet_size <= 12) { |
|
|
|
|
|
av_log(s1, AV_LOG_ERROR, "Max packet size %d too low\n", s->max_packet_size); |
|
|
|
|
|
|
|
|
s1->packet_size = s1->pb->max_packet_size; |
|
|
|
|
|
if (s1->packet_size <= 12) { |
|
|
|
|
|
av_log(s1, AV_LOG_ERROR, "Max packet size %d too low\n", s1->packet_size); |
|
|
return AVERROR(EIO); |
|
|
return AVERROR(EIO); |
|
|
} |
|
|
} |
|
|
s->buf = av_malloc(s->max_packet_size); |
|
|
|
|
|
|
|
|
s->buf = av_malloc(s1->packet_size); |
|
|
if (s->buf == NULL) { |
|
|
if (s->buf == NULL) { |
|
|
return AVERROR(ENOMEM); |
|
|
return AVERROR(ENOMEM); |
|
|
} |
|
|
} |
|
|
s->max_payload_size = s->max_packet_size - 12; |
|
|
|
|
|
|
|
|
s->max_payload_size = s1->packet_size - 12; |
|
|
|
|
|
|
|
|
s->max_frames_per_packet = 0; |
|
|
s->max_frames_per_packet = 0; |
|
|
if (s1->max_delay) { |
|
|
if (s1->max_delay) { |
|
|