summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fftools/ffmpeg_mux.c31
1 files changed, 13 insertions, 18 deletions
diff --git a/fftools/ffmpeg_mux.c b/fftools/ffmpeg_mux.c
index 2f71e03144..f830e5854b 100644
--- a/fftools/ffmpeg_mux.c
+++ b/fftools/ffmpeg_mux.c
@@ -599,8 +599,20 @@ static void fc_close(AVFormatContext **pfc)
*pfc = NULL;
}
-static void mux_free(Muxer *mux)
+void of_close(OutputFile **pof)
{
+ OutputFile *of = *pof;
+ Muxer *mux;
+
+ if (!of)
+ return;
+ mux = mux_from_of(of);
+
+ thread_stop(mux);
+
+ sq_free(&of->sq_encode);
+ sq_free(&of->sq_mux);
+
for (int i = 0; i < mux->of.nb_streams; i++) {
MuxStream *ms = &mux->streams[i];
AVPacket *pkt;
@@ -618,23 +630,6 @@ static void mux_free(Muxer *mux)
av_packet_free(&mux->sq_pkt);
fc_close(&mux->fc);
-}
-
-void of_close(OutputFile **pof)
-{
- OutputFile *of = *pof;
- Muxer *mux;
-
- if (!of)
- return;
- mux = mux_from_of(of);
-
- thread_stop(mux);
-
- sq_free(&of->sq_encode);
- sq_free(&of->sq_mux);
-
- mux_free(mux_from_of(of));
av_freep(pof);
}