avformat/avformat: Add FFInputFormat, hide internals of AVInputFormat

This commit does for AVInputFormat what commit
59c9dc82f4 did for AVOutputFormat:
It adds a new type FFInputFormat, moves all the internals
of AVInputFormat to it and adds a now reduced AVInputFormat
as first member.

This does not affect/improve extensibility of both public
or private fields for demuxers (it is still a mess due to lavd).

This is possible since 50f34172e0
(which removed the last usage of an internal field of AVInputFormat
in fftools).

(Hint: tools/probetest.c accesses the internals of FFInputFormat
as well, but given that it is a testing tool this is not considered
a problem.)

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
Andreas Rheinhardt 2024-02-10 15:50:43 +01:00 committed by James Almer
parent bb81c60927
commit b800327f4c
300 changed files with 2187 additions and 1948 deletions

View file

@ -34,6 +34,7 @@
#include "libavutil/channel_layout.h"
#include "libavutil/intreadwrite.h"
#include "avformat.h"
#include "demux.h"
#include "internal.h"
#define MM_PREAMBLE_SIZE 6
@ -189,9 +190,9 @@ static int read_packet(AVFormatContext *s,
}
}
const AVInputFormat ff_mm_demuxer = {
.name = "mm",
.long_name = NULL_IF_CONFIG_SMALL("American Laser Games MM"),
const FFInputFormat ff_mm_demuxer = {
.p.name = "mm",
.p.long_name = NULL_IF_CONFIG_SMALL("American Laser Games MM"),
.priv_data_size = sizeof(MmDemuxContext),
.read_probe = probe,
.read_header = read_header,