[FFmpeg-devel] [PATCH 03/11] fftools/ffmpeg, doc/examples: Remove redundant av_packet_unref
Andreas Rheinhardt
andreas.rheinhardt at outlook.com
Sat Sep 4 02:18:05 EEST 2021
av_interleaved_write_frame() already returns blank packets.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
doc/examples/muxing.c | 4 +++-
doc/examples/remuxing.c | 4 +++-
fftools/ffmpeg.c | 1 -
3 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/doc/examples/muxing.c b/doc/examples/muxing.c
index abc14a8910..879fe06299 100644
--- a/doc/examples/muxing.c
+++ b/doc/examples/muxing.c
@@ -110,7 +110,9 @@ static int write_frame(AVFormatContext *fmt_ctx, AVCodecContext *c,
/* Write the compressed frame to the media file. */
log_packet(fmt_ctx, &pkt);
ret = av_interleaved_write_frame(fmt_ctx, &pkt);
- av_packet_unref(&pkt);
+ /* pkt is now blank (av_interleaved_write_frame() takes ownership of
+ * its contents and resets pkt), so that no unreferencing is necessary.
+ * This would be different if one used av_write_frame(). */
if (ret < 0) {
fprintf(stderr, "Error while writing output packet: %s\n", av_err2str(ret));
exit(1);
diff --git a/doc/examples/remuxing.c b/doc/examples/remuxing.c
index 13313a1748..9835cc4c00 100644
--- a/doc/examples/remuxing.c
+++ b/doc/examples/remuxing.c
@@ -163,11 +163,13 @@ int main(int argc, char **argv)
log_packet(ofmt_ctx, &pkt, "out");
ret = av_interleaved_write_frame(ofmt_ctx, &pkt);
+ /* pkt is now blank (av_interleaved_write_frame() takes ownership of
+ * its contents and resets pkt), so that no unreferencing is necessary.
+ * This would be different if one used av_write_frame(). */
if (ret < 0) {
fprintf(stderr, "Error muxing packet\n");
break;
}
- av_packet_unref(&pkt);
}
av_write_trailer(ofmt_ctx);
diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c
index c3df955a6a..f681fa2e87 100644
--- a/fftools/ffmpeg.c
+++ b/fftools/ffmpeg.c
@@ -869,7 +869,6 @@ static void write_packet(OutputFile *of, AVPacket *pkt, OutputStream *ost, int u
main_return_code = 1;
close_all_output_streams(ost, MUXER_FINISHED | ENCODER_FINISHED, ENCODER_FINISHED);
}
- av_packet_unref(pkt);
}
static void close_output_stream(OutputStream *ost)
--
2.30.2
More information about the ffmpeg-devel
mailing list