@@ -34,6 +34,7 @@
#include "libavutil/avassert.h"
#include "libavutil/avstring.h"
+#include "libavformat/demux.h"
#include "v4l2-common.h"
#include <dirent.h>
@@ -10,6 +10,7 @@ OBJS = allformats.o \
avio.o \
aviobuf.o \
demux.o \
+ demux_utils.o \
dump.o \
format.o \
id3v1.o \
@@ -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 */
new file mode 100644
@@ -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;
+}
@@ -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 {\
@@ -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);
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