mirror of
https://github.com/mpv-player/mpv
synced 2025-03-25 04:38:01 +00:00
demux_lavf: make option struct local
Similar to previous commits.
This commit is contained in:
parent
7f7aa03eda
commit
654930aa47
@ -57,25 +57,43 @@
|
|||||||
#define INITIAL_PROBE_SIZE STREAM_BUFFER_SIZE
|
#define INITIAL_PROBE_SIZE STREAM_BUFFER_SIZE
|
||||||
#define PROBE_BUF_SIZE FFMIN(STREAM_MAX_BUFFER_SIZE, 2 * 1024 * 1024)
|
#define PROBE_BUF_SIZE FFMIN(STREAM_MAX_BUFFER_SIZE, 2 * 1024 * 1024)
|
||||||
|
|
||||||
#define OPT_BASE_STRUCT struct MPOpts
|
|
||||||
|
|
||||||
// Should correspond to IO_BUFFER_SIZE in libavformat/aviobuf.c (not public)
|
// Should correspond to IO_BUFFER_SIZE in libavformat/aviobuf.c (not public)
|
||||||
// libavformat (almost) always reads data in blocks of this size.
|
// libavformat (almost) always reads data in blocks of this size.
|
||||||
#define BIO_BUFFER_SIZE 32768
|
#define BIO_BUFFER_SIZE 32768
|
||||||
|
|
||||||
const m_option_t lavfdopts_conf[] = {
|
#define OPT_BASE_STRUCT struct demux_lavf_opts
|
||||||
OPT_INTRANGE("probesize", lavfdopts.probesize, 0, 32, INT_MAX),
|
struct demux_lavf_opts {
|
||||||
OPT_STRING("format", lavfdopts.format, 0),
|
int probesize;
|
||||||
OPT_FLOATRANGE("analyzeduration", lavfdopts.analyzeduration, 0, 0, 3600),
|
int probescore;
|
||||||
OPT_INTRANGE("buffersize", lavfdopts.buffersize, 0, 1, 10 * 1024 * 1024,
|
float analyzeduration;
|
||||||
|
int buffersize;
|
||||||
|
int allow_mimetype;
|
||||||
|
char *format;
|
||||||
|
char *cryptokey;
|
||||||
|
char *avopt;
|
||||||
|
int genptsmode;
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct m_sub_options demux_lavf_conf = {
|
||||||
|
.opts = (const m_option_t[]) {
|
||||||
|
OPT_INTRANGE("probesize", probesize, 0, 32, INT_MAX),
|
||||||
|
OPT_STRING("format", format, 0),
|
||||||
|
OPT_FLOATRANGE("analyzeduration", analyzeduration, 0, 0, 3600),
|
||||||
|
OPT_INTRANGE("buffersize", buffersize, 0, 1, 10 * 1024 * 1024,
|
||||||
OPTDEF_INT(BIO_BUFFER_SIZE)),
|
OPTDEF_INT(BIO_BUFFER_SIZE)),
|
||||||
OPT_FLAG("allow-mimetype", lavfdopts.allow_mimetype, 0),
|
OPT_FLAG("allow-mimetype", allow_mimetype, 0),
|
||||||
OPT_INTRANGE("probescore", lavfdopts.probescore, 0, 0, 100),
|
OPT_INTRANGE("probescore", probescore, 0, 0, 100),
|
||||||
OPT_STRING("cryptokey", lavfdopts.cryptokey, 0),
|
OPT_STRING("cryptokey", cryptokey, 0),
|
||||||
OPT_CHOICE("genpts-mode", lavfdopts.genptsmode, 0,
|
OPT_CHOICE("genpts-mode", genptsmode, 0,
|
||||||
({"lavf", 1}, {"no", 0})),
|
({"lavf", 1}, {"no", 0})),
|
||||||
OPT_STRING("o", lavfdopts.avopt, 0),
|
OPT_STRING("o", avopt, 0),
|
||||||
{NULL, NULL, 0, 0, 0, 0, NULL}
|
{0}
|
||||||
|
},
|
||||||
|
.size = sizeof(struct demux_lavf_opts),
|
||||||
|
.defaults = &(const struct demux_lavf_opts){
|
||||||
|
.allow_mimetype = 1,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MAX_PKT_QUEUE 50
|
#define MAX_PKT_QUEUE 50
|
||||||
@ -200,7 +218,7 @@ static const char *const prefixes[] =
|
|||||||
static int lavf_check_file(demuxer_t *demuxer, enum demux_check check)
|
static int lavf_check_file(demuxer_t *demuxer, enum demux_check check)
|
||||||
{
|
{
|
||||||
struct MPOpts *opts = demuxer->opts;
|
struct MPOpts *opts = demuxer->opts;
|
||||||
struct lavfdopts *lavfdopts = &opts->lavfdopts;
|
struct demux_lavf_opts *lavfdopts = opts->demux_lavf;
|
||||||
struct stream *s = demuxer->stream;
|
struct stream *s = demuxer->stream;
|
||||||
lavf_priv_t *priv;
|
lavf_priv_t *priv;
|
||||||
|
|
||||||
@ -604,7 +622,7 @@ static void update_metadata(demuxer_t *demuxer, AVPacket *pkt)
|
|||||||
static int demux_open_lavf(demuxer_t *demuxer, enum demux_check check)
|
static int demux_open_lavf(demuxer_t *demuxer, enum demux_check check)
|
||||||
{
|
{
|
||||||
struct MPOpts *opts = demuxer->opts;
|
struct MPOpts *opts = demuxer->opts;
|
||||||
struct lavfdopts *lavfdopts = &opts->lavfdopts;
|
struct demux_lavf_opts *lavfdopts = opts->demux_lavf;
|
||||||
AVFormatContext *avfc;
|
AVFormatContext *avfc;
|
||||||
AVDictionaryEntry *t = NULL;
|
AVDictionaryEntry *t = NULL;
|
||||||
float analyze_duration = 0;
|
float analyze_duration = 0;
|
||||||
|
@ -62,11 +62,10 @@ extern const struct m_sub_options stream_dvb_conf;
|
|||||||
extern const struct m_sub_options sws_conf;
|
extern const struct m_sub_options sws_conf;
|
||||||
extern const struct m_sub_options demux_rawaudio_conf;
|
extern const struct m_sub_options demux_rawaudio_conf;
|
||||||
extern const struct m_sub_options demux_rawvideo_conf;
|
extern const struct m_sub_options demux_rawvideo_conf;
|
||||||
|
extern const struct m_sub_options demux_lavf_conf;
|
||||||
extern const struct m_sub_options vd_lavc_conf;
|
extern const struct m_sub_options vd_lavc_conf;
|
||||||
extern const struct m_sub_options ad_lavc_conf;
|
extern const struct m_sub_options ad_lavc_conf;
|
||||||
|
|
||||||
extern const m_option_t lavfdopts_conf[];
|
|
||||||
|
|
||||||
extern const struct m_obj_list vf_obj_list;
|
extern const struct m_obj_list vf_obj_list;
|
||||||
extern const struct m_obj_list af_obj_list;
|
extern const struct m_obj_list af_obj_list;
|
||||||
extern const struct m_obj_list vo_obj_list;
|
extern const struct m_obj_list vo_obj_list;
|
||||||
@ -279,7 +278,7 @@ const m_option_t mp_opts[] = {
|
|||||||
OPT_SUBSTRUCT("vd-lavc", vd_lavc_params, vd_lavc_conf, 0),
|
OPT_SUBSTRUCT("vd-lavc", vd_lavc_params, vd_lavc_conf, 0),
|
||||||
OPT_SUBSTRUCT("ad-lavc", ad_lavc_params, ad_lavc_conf, 0),
|
OPT_SUBSTRUCT("ad-lavc", ad_lavc_params, ad_lavc_conf, 0),
|
||||||
|
|
||||||
{"demuxer-lavf", (void *) lavfdopts_conf, CONF_TYPE_SUBCONFIG},
|
OPT_SUBSTRUCT("demuxer-lavf", demux_lavf, demux_lavf_conf, 0),
|
||||||
OPT_SUBSTRUCT("demuxer-rawaudio", demux_rawaudio, demux_rawaudio_conf, 0),
|
OPT_SUBSTRUCT("demuxer-rawaudio", demux_rawaudio, demux_rawaudio_conf, 0),
|
||||||
OPT_SUBSTRUCT("demuxer-rawvideo", demux_rawvideo, demux_rawvideo_conf, 0),
|
OPT_SUBSTRUCT("demuxer-rawvideo", demux_rawvideo, demux_rawvideo_conf, 0),
|
||||||
|
|
||||||
@ -646,9 +645,6 @@ const struct MPOpts mp_default_opts = {
|
|||||||
|
|
||||||
.mf_fps = 1.0,
|
.mf_fps = 1.0,
|
||||||
|
|
||||||
.lavfdopts = {
|
|
||||||
.allow_mimetype = 1,
|
|
||||||
},
|
|
||||||
.input = {
|
.input = {
|
||||||
.key_fifo_size = 7,
|
.key_fifo_size = 7,
|
||||||
.doubleclick_time = 300,
|
.doubleclick_time = 300,
|
||||||
|
@ -258,22 +258,11 @@ typedef struct MPOpts {
|
|||||||
|
|
||||||
struct demux_rawaudio_opts *demux_rawaudio;
|
struct demux_rawaudio_opts *demux_rawaudio;
|
||||||
struct demux_rawvideo_opts *demux_rawvideo;
|
struct demux_rawvideo_opts *demux_rawvideo;
|
||||||
|
struct demux_lavf_opts *demux_lavf;
|
||||||
|
|
||||||
struct vd_lavc_params *vd_lavc_params;
|
struct vd_lavc_params *vd_lavc_params;
|
||||||
struct ad_lavc_params *ad_lavc_params;
|
struct ad_lavc_params *ad_lavc_params;
|
||||||
|
|
||||||
struct lavfdopts {
|
|
||||||
int probesize;
|
|
||||||
int probescore;
|
|
||||||
float analyzeduration;
|
|
||||||
int buffersize;
|
|
||||||
int allow_mimetype;
|
|
||||||
char *format;
|
|
||||||
char *cryptokey;
|
|
||||||
char *avopt;
|
|
||||||
int genptsmode;
|
|
||||||
} lavfdopts;
|
|
||||||
|
|
||||||
struct input_conf {
|
struct input_conf {
|
||||||
char *config_file;
|
char *config_file;
|
||||||
int doubleclick_time;
|
int doubleclick_time;
|
||||||
|
Loading…
Reference in New Issue
Block a user