[SCM] libav/experimental: 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.
siretart at users.alioth.debian.org
siretart at users.alioth.debian.org
Sun Jun 30 16:40:22 UTC 2013
The following commit has been merged in the experimental branch:
commit f3e71942e77fa8dcea62f9e4eebbbbdfbf062b61
Author: Ronald S. Bultje <rsbultje at gmail.com>
Date: Tue Mar 3 13:41:50 2009 +0000
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
diff --git a/libavformat/rtpdec.c b/libavformat/rtpdec.c
index 3e833a1..764385d 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;
}
--
Libav/FFmpeg packaging
More information about the pkg-multimedia-commits
mailing list