diff --git a/ffmpeg.c b/ffmpeg.c index b84fb1534c..ae02b00784 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -693,7 +693,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 5c74cc7729..8ee834e07e 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 84c6d24919..7664872a4a 100644 --- a/libavformat/mux.c +++ b/libavformat/mux.c @@ -1045,7 +1045,11 @@ int ff_write_chained(AVFormatContext *dst, int dst_stream, AVPacket *pkt, pkt->buf = local_pkt.buf; pkt->side_data = local_pkt.side_data; pkt->side_data_elems = local_pkt.side_data_elems; +#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 e3d466a3eb..bc2e522f7c 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;