Since error resilience uses AVFrame pointers instead of references it
has to copy NULL pointers too. After a codec flush the last/next frame
pointers in MpegEncContext are NULL and the old pointers remaining in
ERContext are invalid. Fixes a crash in vlc for android thumbnailer.
Reported and debugged by Adrien Maglo <[email protected]>.
---
libavcodec/mpegvideo.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c
index b2fcce2..ca5ee0b 100644
--- a/libavcodec/mpegvideo.c
+++ b/libavcodec/mpegvideo.c
@@ -2473,8 +2473,11 @@ void ff_mpeg_set_erpic(ERPicture *dst, Picture *src)
{
int i;
- if (!src)
+ if (!src) {
+ dst->f = NULL;
+ dst->tf = NULL;
return;
+ }
dst->f = src->f;
dst->tf = &src->tf;
--
2.0.0
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel