int av_packet_ref(AVPacket *dst, const AVPacket *src)

{

    int ret;



    ret = av_packet_copy_props(dst, src);

    if (ret < 0)

        return ret;



    if (!src->buf) {

        ret = packet_alloc(&dst->buf, src->size);

        if (ret < 0)

            goto fail;

        memcpy(dst->buf->data, src->data, src->size);



        dst->data = dst->buf->data;

    } else {

        dst->buf = av_buffer_ref(src->buf);

        if (!dst->buf) {

            ret = AVERROR(ENOMEM);

            goto fail;

        }

        dst->data = src->data;

    }



    dst->size = src->size;



    return 0;

fail:

    av_packet_free_side_data(dst);

    return ret;

}

int av_packet_ref(AVPacket *dst, const AVPacket *src)

{

    int ret;



    ret = av_packet_copy_props(dst, src);

    if (ret < 0)

        return ret;



    if (!src->buf) {

        ret = packet_alloc(&dst->buf, src->size);

        if (ret < 0)

            goto fail;

        memcpy(dst->buf->data, src->data, src->size);



        dst->data = dst->buf->data;

    } else {

        dst->buf = av_buffer_ref(src->buf);

        if (!dst->buf) {

            ret = AVERROR(ENOMEM);

            goto fail;

        }

        dst->data = src->data;

    }



    dst->size = src->size;



    return 0;

fail:

    av_packet_free_side_data(dst);

    return ret;

}

        memcpy(dst->buf->data, src->data, src->size);
int FUNC_0(AVPacket *VAR_0, const AVPacket *VAR_1)

{

    int VAR_2;



    VAR_2 = av_packet_copy_props(VAR_0, VAR_1);

    if (VAR_2 < 0)

        return VAR_2;



    if (!VAR_1->buf) {

        VAR_2 = packet_alloc(&VAR_0->buf, VAR_1->size);

        if (VAR_2 < 0)

            goto fail;

        memcpy(VAR_0->buf->data, VAR_1->data, VAR_1->size);



        VAR_0->data = VAR_0->buf->data;

    } else {

        VAR_0->buf = av_buffer_ref(VAR_1->buf);

        if (!VAR_0->buf) {

            VAR_2 = AVERROR(ENOMEM);

            goto fail;

        }

        VAR_0->data = VAR_1->data;

    }



    VAR_0->size = VAR_1->size;



    return 0;

fail:

    av_packet_free_side_data(VAR_0);

    return VAR_2;

}

int FUNC_0(AVPacket *VAR_0, const AVPacket *VAR_1)
{ int VAR_2; VAR_2 = av_packet_copy_props(VAR_0, VAR_1); if (VAR_2 < 0)
return VAR_2; if (!VAR_1->buf) { VAR_2 = packet_alloc(&VAR_0->buf, VAR_1->size); if (VAR_2 < 0)
goto fail; memcpy(VAR_0->buf->data, VAR_1->data, VAR_1->size); VAR_0->data = VAR_0->buf->data; } else { VAR_0->buf = av_buffer_ref(VAR_1->buf); if (!VAR_0->buf) { VAR_2 = AVERROR(ENOMEM); goto fail; } VAR_0->data = VAR_1->data; } VAR_0->size = VAR_1->size; return 0; fail:
av_packet_free_side_data(VAR_0); return VAR_2; }