|
|
|
@ -375,7 +375,7 @@ rtp_parse_set_dynamic_protocol(RTPDemuxContext *s, PayloadContext *ctx, |
|
|
|
|
*/ |
|
|
|
|
static void finalize_packet(RTPDemuxContext *s, AVPacket *pkt, uint32_t timestamp) |
|
|
|
|
{ |
|
|
|
|
if (s->last_rtcp_ntp_time != AV_NOPTS_VALUE) { |
|
|
|
|
if (s->last_rtcp_ntp_time != AV_NOPTS_VALUE && timestamp != RTP_NOTS_VALUE) { |
|
|
|
|
int64_t addend; |
|
|
|
|
int delta_timestamp; |
|
|
|
|
|
|
|
|
@ -408,7 +408,9 @@ int rtp_parse_packet(RTPDemuxContext *s, AVPacket *pkt, |
|
|
|
|
if (!buf) { |
|
|
|
|
/* return the next packets, if any */ |
|
|
|
|
if(s->st && s->parse_packet) { |
|
|
|
|
timestamp= 0; ///< Should not be used if buf is NULL, but should be set to the timestamp of the packet returned....
|
|
|
|
|
/* timestamp should be overwritten by parse_packet, if not,
|
|
|
|
|
* the packet is left with pts == AV_NOPTS_VALUE */ |
|
|
|
|
timestamp = RTP_NOTS_VALUE; |
|
|
|
|
rv= s->parse_packet(s->ic, s->dynamic_protocol_context, |
|
|
|
|
s->st, pkt, ×tamp, NULL, 0, flags); |
|
|
|
|
finalize_packet(s, pkt, timestamp); |
|
|
|
|