avformat/utils: Move parser functions to a new file, demux_utils.c

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>
release/5.1
Andreas Rheinhardt 3 years ago
parent 3cfae9e038
commit 284313c664
  1. 1
      libavdevice/v4l2.c
  2. 1
      libavformat/Makefile
  3. 2
      libavformat/demux.h
  4. 34
      libavformat/demux_utils.c
  5. 2
      libavformat/internal.h
  6. 10
      libavformat/utils.c

@ -34,6 +34,7 @@
#include "libavutil/avassert.h" #include "libavutil/avassert.h"
#include "libavutil/avstring.h" #include "libavutil/avstring.h"
#include "libavformat/demux.h"
#include "v4l2-common.h" #include "v4l2-common.h"
#include <dirent.h> #include <dirent.h>

@ -10,6 +10,7 @@ OBJS = allformats.o \
avio.o \ avio.o \
aviobuf.o \ aviobuf.o \
demux.o \ demux.o \
demux_utils.o \
dump.o \ dump.o \
format.o \ format.o \
id3v1.o \ id3v1.o \

@ -171,4 +171,6 @@ void ff_rfps_calculate(AVFormatContext *ic);
void ff_rescale_interval(AVRational tb_in, AVRational tb_out, void ff_rescale_interval(AVRational tb_in, AVRational tb_out,
int64_t *min_ts, int64_t *ts, int64_t *max_ts); 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 */ #endif /* AVFORMAT_DEMUX_H */

@ -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; return (FFStream*)st;
} }
void avpriv_stream_set_need_parsing(AVStream *st, enum AVStreamParseType type);
#ifdef __GNUC__ #ifdef __GNUC__
#define dynarray_add(tab, nb_ptr, elem)\ #define dynarray_add(tab, nb_ptr, elem)\
do {\ do {\

@ -63,16 +63,6 @@ int ff_unlock_avformat(void)
return ff_mutex_unlock(&avformat_mutex) ? -1 : 0; 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) void av_format_inject_global_side_data(AVFormatContext *s)
{ {
FFFormatContext *const si = ffformatcontext(s); FFFormatContext *const si = ffformatcontext(s);

Loading…
Cancel
Save