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

Reply via email to