On 11/23/2011 06:23 PM, Janne Grunau wrote:
> 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;
> }
LGTM.
-Justin
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel