At EOF it makes no sense to modify avpkt.{data,size} in output_packet
since no data is consumed. Frame threading with more than 1 threads
hits the segfault.
---
avconv.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/avconv.c b/avconv.c
index be870a5..6f64bc8 100644
--- a/avconv.c
+++ b/avconv.c
@@ -1892,8 +1892,11 @@ static int output_packet(InputStream *ist,
if (ret < 0)
return ret;
- avpkt.data += ret;
- avpkt.size -= ret;
+ // touch data and size only if not EOF
+ if (pkt) {
+ avpkt.data += ret;
+ avpkt.size -= ret;
+ }
if (!got_output) {
continue;
}
--
1.7.8.rc3
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel