diff mbox series

[FFmpeg-devel,17/44] avformat/utils: Move parser functions to a new file, demux_utils.c

Message ID AS8PR01MB7944DF031C7043DB999A157B8FC49@AS8PR01MB7944.eurprd01.prod.exchangelabs.com
State Accepted
Commit 284313c664293cbbf115d1b41353b43a4c0dcb94
Headers show
Series [FFmpeg-devel] lib*/version: Move library version functions into files of their own | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Andreas Rheinhardt May 7, 2022, 11:28 a.m. UTC
This file is both for the various public APIs that are demuxer-only
as well as for the demuxer-only internal functions.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
 libavdevice/v4l2.c        |  1 +
 libavformat/Makefile      |  1 +
 libavformat/demux.h       |  2 ++
 libavformat/demux_utils.c | 34 ++++++++++++++++++++++++++++++++++
 libavformat/internal.h    |  2 --
 libavformat/utils.c       | 10 ----------
 6 files changed, 38 insertions(+), 12 deletions(-)
 create mode 100644 libavformat/demux_utils.c
diff mbox series

Patch

diff --git a/libavdevice/v4l2.c b/libavdevice/v4l2.c
index 2ecfb9fae7..1f009af4de 100644
--- a/libavdevice/v4l2.c
+++ b/libavdevice/v4l2.c
@@ -34,6 +34,7 @@ 
 
 #include "libavutil/avassert.h"
 #include "libavutil/avstring.h"
+#include "libavformat/demux.h"
 #include "v4l2-common.h"
 #include <dirent.h>
 
diff --git a/libavformat/Makefile b/libavformat/Makefile
index 52c53ea3db..a03fd7f256 100644
--- a/libavformat/Makefile
+++ b/libavformat/Makefile
@@ -10,6 +10,7 @@  OBJS = allformats.o         \
        avio.o               \
        aviobuf.o            \
        demux.o              \
+       demux_utils.o        \
        dump.o               \
        format.o             \
        id3v1.o              \
diff --git a/libavformat/demux.h b/libavformat/demux.h
index c667f304a5..ff8d998d56 100644
--- a/libavformat/demux.h
+++ b/libavformat/demux.h
@@ -171,4 +171,6 @@  void ff_rfps_calculate(AVFormatContext *ic);
 void ff_rescale_interval(AVRational tb_in, AVRational tb_out,
                          int64_t *min_ts, int64_t *ts, int64_t *max_ts);
 
+void avpriv_stream_set_need_parsing(AVStream *st, enum AVStreamParseType type);
+
 #endif /* AVFORMAT_DEMUX_H */
diff --git a/libavformat/demux_utils.c b/libavformat/demux_utils.c
new file mode 100644
index 0000000000..10ae887359
--- /dev/null
+++ b/libavformat/demux_utils.c
@@ -0,0 +1,34 @@ 
+/*
+ * Various utility demuxing functions
+ * Copyright (c) 2000, 2001, 2002 Fabrice Bellard
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include "avformat.h"
+#include "demux.h"
+#include "internal.h"
+
+struct AVCodecParserContext *av_stream_get_parser(const AVStream *st)
+{
+    return cffstream(st)->parser;
+}
+
+void avpriv_stream_set_need_parsing(AVStream *st, enum AVStreamParseType type)
+{
+    ffstream(st)->need_parsing = type;
+}
diff --git a/libavformat/internal.h b/libavformat/internal.h
index b72c051afe..cbd8b2170d 100644
--- a/libavformat/internal.h
+++ b/libavformat/internal.h
@@ -415,8 +415,6 @@  static av_always_inline const FFStream *cffstream(const AVStream *st)
     return (FFStream*)st;
 }
 
-void avpriv_stream_set_need_parsing(AVStream *st, enum AVStreamParseType type);
-
 #ifdef __GNUC__
 #define dynarray_add(tab, nb_ptr, elem)\
 do {\
diff --git a/libavformat/utils.c b/libavformat/utils.c
index 175f9caf8a..2d5ee8f7bc 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -63,16 +63,6 @@  int ff_unlock_avformat(void)
     return ff_mutex_unlock(&avformat_mutex) ? -1 : 0;
 }
 
-struct AVCodecParserContext *av_stream_get_parser(const AVStream *st)
-{
-    return cffstream(st)->parser;
-}
-
-void avpriv_stream_set_need_parsing(AVStream *st, enum AVStreamParseType type)
-{
-    ffstream(st)->need_parsing = type;
-}
-
 void av_format_inject_global_side_data(AVFormatContext *s)
 {
     FFFormatContext *const si = ffformatcontext(s);