diff options
author | Ronald S. Bultje <rsbultje@gmail.com> | 2009-03-03 13:41:50 +0000 |
---|---|---|
committer | Ronald S. Bultje <rsbultje@gmail.com> | 2009-03-03 13:41:50 +0000 |
commit | f3e71942e77fa8dcea62f9e4eebbbbdfbf062b61 (patch) | |
tree | b827b68005fd59a4263f6d644bde4aab37ae910b /libavformat | |
parent | 2db272e93e8c0c0d5c7c193c85906edb6be54dd6 (diff) | |
download | ffmpeg-f3e71942e77fa8dcea62f9e4eebbbbdfbf062b61.tar.gz |
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
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/rtpdec.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libavformat/rtpdec.c b/libavformat/rtpdec.c index 3e833a1822..764385dd27 100644 --- a/libavformat/rtpdec.c +++ b/libavformat/rtpdec.c @@ -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; } |