mirror of
https://gitee.com/openharmony/third_party_ffmpeg
synced 2024-11-23 11:19:55 +00:00
In the current implementation of rtp_parse_packet(), finalize_packet() is
called for all packets with an internal handler function but only for non-first packets from dynamic payload parse_packet() handlers. This patch fixes that. Bug was noticed by Luca in "[PATCH] rtpdec.c: don't overwrite pkt->stream_index in finalize_packet()" thread. Originally committed as revision 17764 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
2db272e93e
commit
f3e71942e7
@ -473,6 +473,7 @@ int rtp_parse_packet(RTPDemuxContext *s, AVPacket *pkt,
|
||||
s->read_buf_index = 0;
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
} else if (s->parse_packet) {
|
||||
rv = s->parse_packet(s->ic, s->dynamic_protocol_context,
|
||||
s->st, pkt, ×tamp, buf, len, flags);
|
||||
@ -535,10 +536,11 @@ int rtp_parse_packet(RTPDemuxContext *s, AVPacket *pkt,
|
||||
memcpy(pkt->data, buf, len);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// now perform timestamp things....
|
||||
finalize_packet(s, pkt, timestamp);
|
||||
}
|
||||
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user