[FFmpeg-devel] [PATCH 04/13] add missing FF_API_DESTRUCT_PACKET guards

wm4 nfxjfg at googlemail.com
Sat Aug 22 18:56:02 CEST 2015


On Sat, 8 Aug 2015 13:32:07 +0200
Andreas Cadhalpun <andreas.cadhalpun at googlemail.com> wrote:

> ---
>  ffmpeg.c               | 8 +++++++-
>  libavdevice/iec61883.c | 4 ++++
>  libavformat/mux.c      | 4 ++++
>  libavformat/tee.c      | 8 +++++++-
>  4 files changed, 22 insertions(+), 2 deletions(-)
> 
> diff --git a/ffmpeg.c b/ffmpeg.c
> index 434abd4..6937a00 100644
> --- a/ffmpeg.c
> +++ b/ffmpeg.c
> @@ -692,7 +692,13 @@ static void write_frame(AVFormatContext *s, AVPacket *pkt, OutputStream *ost)
>                                             &new_pkt.data, &new_pkt.size,
>                                             pkt->data, pkt->size,
>                                             pkt->flags & AV_PKT_FLAG_KEY);
> -        if(a == 0 && new_pkt.data != pkt->data && new_pkt.destruct) {
> +FF_DISABLE_DEPRECATION_WARNINGS
> +        if(a == 0 && new_pkt.data != pkt->data
> +#if FF_API_DESTRUCT_PACKET
> +           && new_pkt.destruct
> +#endif
> +           ) {
> +FF_ENABLE_DEPRECATION_WARNINGS
>              uint8_t *t = av_malloc(new_pkt.size + AV_INPUT_BUFFER_PADDING_SIZE); //the new should be a subset of the old so cannot overflow
>              if(t) {
>                  memcpy(t, new_pkt.data, new_pkt.size);
> diff --git a/libavdevice/iec61883.c b/libavdevice/iec61883.c
> index 5c74cc7..8ee834e 100644
> --- a/libavdevice/iec61883.c
> +++ b/libavdevice/iec61883.c
> @@ -198,7 +198,11 @@ static int iec61883_parse_queue_dv(struct iec61883_data *dv, AVPacket *pkt)
>  
>      size = avpriv_dv_produce_packet(dv->dv_demux, pkt,
>                                      packet->buf, packet->len, -1);
> +#if FF_API_DESTRUCT_PACKET
> +FF_DISABLE_DEPRECATION_WARNINGS
>      pkt->destruct = av_destruct_packet;
> +FF_ENABLE_DEPRECATION_WARNINGS
> +#endif
>      dv->queue_first = packet->next;
>      av_free(packet);
>      dv->packets--;
> diff --git a/libavformat/mux.c b/libavformat/mux.c
> index 909617f..7aa3064 100644
> --- a/libavformat/mux.c
> +++ b/libavformat/mux.c
> @@ -1043,7 +1043,11 @@ int ff_write_chained(AVFormatContext *dst, int dst_stream, AVPacket *pkt,
>      if (interleave) ret = av_interleaved_write_frame(dst, &local_pkt);
>      else            ret = av_write_frame(dst, &local_pkt);
>      pkt->buf = local_pkt.buf;
> +#if FF_API_DESTRUCT_PACKET
> +FF_DISABLE_DEPRECATION_WARNINGS
>      pkt->destruct = local_pkt.destruct;
> +FF_ENABLE_DEPRECATION_WARNINGS
> +#endif
>      return ret;
>  }
>  
> diff --git a/libavformat/tee.c b/libavformat/tee.c
> index e3d466a..bc2e522 100644
> --- a/libavformat/tee.c
> +++ b/libavformat/tee.c
> @@ -396,7 +396,13 @@ static int filter_packet(void *log_ctx, AVPacket *pkt,
>                                               &new_pkt.data, &new_pkt.size,
>                                               pkt->data, pkt->size,
>                                               pkt->flags & AV_PKT_FLAG_KEY);
> -        if (ret == 0 && new_pkt.data != pkt->data && new_pkt.destruct) {
> +FF_DISABLE_DEPRECATION_WARNINGS
> +        if (ret == 0 && new_pkt.data != pkt->data
> +#if FF_API_DESTRUCT_PACKET
> +            && new_pkt.destruct
> +#endif
> +            ) {
> +FF_ENABLE_DEPRECATION_WARNINGS
>              if ((ret = av_copy_packet(&new_pkt, pkt)) < 0)
>                  break;
>              ret = 1;

LGTM


More information about the ffmpeg-devel mailing list