[FFmpeg-cvslog] fftools/ffmpeg, doc/examples: Remove redundant av_packet_unref
Andreas Rheinhardt
git at videolan.org
Sun Oct 3 23:48:22 EEST 2021
ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Tue Mar 31 09:23:19 2020 +0200| [8a23159797f8ab60c4e01307e94d2801149617b0] | committer: Andreas Rheinhardt
fftools/ffmpeg, doc/examples: Remove redundant av_packet_unref
av_interleaved_write_frame() already returns blank packets.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8a23159797f8ab60c4e01307e94d2801149617b0
---
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 fbf6de0cae..8deaca6a06 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 98c2421938..bb29e3cec5 100644
--- a/fftools/ffmpeg.c
+++ b/fftools/ffmpeg.c
@@ -871,7 +871,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)
More information about the ffmpeg-cvslog
mailing list