On Thu, 15 Oct 2015 02:26:43 +0200
Luca Barbato <[email protected]> wrote:

> ---
>  avplay.c | 12 +++++++-----
>  1 file changed, 7 insertions(+), 5 deletions(-)
> 
> diff --git a/avplay.c b/avplay.c
> index 7f1bbb7..f934c3d 100644
> --- a/avplay.c
> +++ b/avplay.c
> @@ -319,15 +319,17 @@ static void packet_queue_end(PacketQueue *q)
>  static int packet_queue_put(PacketQueue *q, AVPacket *pkt)
>  {
>      AVPacketList *pkt1;
> -
> -    /* duplicate the packet */
> -    if (pkt != &flush_pkt && av_dup_packet(pkt) < 0)
> -        return -1;
> +    int ret;
>  
>      pkt1 = av_malloc(sizeof(AVPacketList));
>      if (!pkt1)
> +        return AVERROR(ENOMEM);
> +
> +    /* duplicate the packet */
> +    if (pkt != &flush_pkt &&
> +        (ret = av_packet_ref(&pkt1->pkt, pkt)) < 0)
>          return -1;
> -    pkt1->pkt = *pkt;
> +
>      pkt1->next = NULL;
>  

Fails to initialize pkt1->pkt if pkt is a flush packet?
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to