Quoting wm4 (2015-10-16 19:07:56)
> On Thu, 15 Oct 2015 02:26:42 +0200
> Luca Barbato <[email protected]> wrote:
> 
> > ---
> >  avconv.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/avconv.c b/avconv.c
> > index 79569f6..34f3d42 100644
> > --- a/avconv.c
> > +++ b/avconv.c
> > @@ -2125,7 +2125,7 @@ static void *input_thread(void *arg)
> >          while (!av_fifo_space(f->fifo))
> >              pthread_cond_wait(&f->fifo_cond, &f->fifo_lock);
> >  
> > -        av_dup_packet(&pkt);
> > +        av_packet_ref(&pkt, &pkt);
> >          av_fifo_generic_write(f->fifo, &pkt, sizeof(pkt), NULL);
> >  
> >          pthread_mutex_unlock(&f->fifo_lock);
> 
> Is this really valid? I don't think it is. av_packet_copy_props() will
> cause a mess, and av_packet_ref() itself will leave behind trash on
> memory alloc failure if the packet is already refcounted.

+1, av_packet_ref() with src == dst is undefined. Do not do this.

-- 
Anton Khirnov
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to