[FFmpeg-devel] [PATCH 11/44] avformat/utils: Move ff_format_output_open() to mux_utils.c
Andreas Rheinhardt
andreas.rheinhardt at outlook.com
Sat May 7 14:27:57 EEST 2022
It is obviously a muxing-only function.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
libavformat/fifo.c | 1 +
libavformat/internal.h | 10 ----------
libavformat/mux.h | 10 ++++++++++
libavformat/mux_utils.c | 10 ++++++++++
libavformat/tee.c | 2 +-
libavformat/utils.c | 10 ----------
6 files changed, 22 insertions(+), 21 deletions(-)
diff --git a/libavformat/fifo.c b/libavformat/fifo.c
index 86e5d369b5..ead2bdc5cf 100644
--- a/libavformat/fifo.c
+++ b/libavformat/fifo.c
@@ -28,6 +28,7 @@
#include "libavutil/threadmessage.h"
#include "avformat.h"
#include "internal.h"
+#include "mux.h"
#define FIFO_DEFAULT_QUEUE_SIZE 60
#define FIFO_DEFAULT_MAX_RECOVERY_ATTEMPTS 0
diff --git a/libavformat/internal.h b/libavformat/internal.h
index 03b9bb8e37..51deb1c49f 100644
--- a/libavformat/internal.h
+++ b/libavformat/internal.h
@@ -849,16 +849,6 @@ int ff_copy_whiteblacklists(AVFormatContext *dst, const AVFormatContext *src);
*/
#define FFERROR_REDO FFERRTAG('R','E','D','O')
-/**
- * Utility function to open IO stream of output format.
- *
- * @param s AVFormatContext
- * @param url URL or file name to open for writing
- * @options optional options which will be passed to io_open callback
- * @return >=0 on success, negative AVERROR in case of failure
- */
-int ff_format_output_open(AVFormatContext *s, const char *url, AVDictionary **options);
-
/*
* A wrapper around AVFormatContext.io_close that should be used
* instead of calling the pointer directly.
diff --git a/libavformat/mux.h b/libavformat/mux.h
index 246101f0c8..1bfcaf795f 100644
--- a/libavformat/mux.h
+++ b/libavformat/mux.h
@@ -103,6 +103,16 @@ enum AVWriteUncodedFrameFlags {
*/
int ff_format_shift_data(AVFormatContext *s, int64_t read_start, int shift_size);
+/**
+ * Utility function to open IO stream of output format.
+ *
+ * @param s AVFormatContext
+ * @param url URL or file name to open for writing
+ * @options optional options which will be passed to io_open callback
+ * @return >=0 on success, negative AVERROR in case of failure
+ */
+int ff_format_output_open(AVFormatContext *s, const char *url, AVDictionary **options);
+
/**
* Parse creation_time in AVFormatContext metadata if exists and warn if the
* parsing fails.
diff --git a/libavformat/mux_utils.c b/libavformat/mux_utils.c
index df264fc6a0..83c1482540 100644
--- a/libavformat/mux_utils.c
+++ b/libavformat/mux_utils.c
@@ -85,6 +85,16 @@ end:
return ret;
}
+int ff_format_output_open(AVFormatContext *s, const char *url, AVDictionary **options)
+{
+ if (!s->oformat)
+ return AVERROR(EINVAL);
+
+ if (!(s->oformat->flags & AVFMT_NOFILE))
+ return s->io_open(s, &s->pb, url, AVIO_FLAG_WRITE, options);
+ return 0;
+}
+
int ff_parse_creation_time_metadata(AVFormatContext *s, int64_t *timestamp, int return_seconds)
{
AVDictionaryEntry *entry;
diff --git a/libavformat/tee.c b/libavformat/tee.c
index b3bcd70b9f..f1f2a9d2a5 100644
--- a/libavformat/tee.c
+++ b/libavformat/tee.c
@@ -26,7 +26,7 @@
#include "libavcodec/bsf.h"
#include "internal.h"
#include "avformat.h"
-#include "avio_internal.h"
+#include "mux.h"
#include "tee_common.h"
typedef enum {
diff --git a/libavformat/utils.c b/libavformat/utils.c
index a695f19b03..58d2524457 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -1655,16 +1655,6 @@ uint8_t *av_stream_new_side_data(AVStream *st, enum AVPacketSideDataType type,
return data;
}
-int ff_format_output_open(AVFormatContext *s, const char *url, AVDictionary **options)
-{
- if (!s->oformat)
- return AVERROR(EINVAL);
-
- if (!(s->oformat->flags & AVFMT_NOFILE))
- return s->io_open(s, &s->pb, url, AVIO_FLAG_WRITE, options);
- return 0;
-}
-
void ff_format_io_close_default(AVFormatContext *s, AVIOContext *pb)
{
avio_close(pb);
--
2.32.0
More information about the ffmpeg-devel
mailing list