mirror of
https://github.com/mpv-player/mpv
synced 2025-01-13 00:06:25 +01:00
options: add allow-mimetype suboption for demux_lavf
This can control whether demux_lavf should use the HTTP mime type to determine the format, instead of probing the data with the libavformat API. Do this to allow easier debugging in case the mimetype is incorrect. (This is done only for AAC streams right now.)
This commit is contained in:
parent
7ea5d085f9
commit
f05ec1c738
@ -1113,6 +1113,12 @@
|
||||
format detection less reliable. Can be used to force auto-detected
|
||||
libavformat demuxers, even if libavformat considers the detection not
|
||||
reliable enough. (Default: 26.)
|
||||
allow-mimetype=<yes|no>
|
||||
Allow deriving the format from the HTTP mimetype (default: yes). Set
|
||||
this to no in case playing things from http mysteriously fails, even
|
||||
though the same files work from local disk.
|
||||
|
||||
This is default in order to reduce latency when opening http streams.
|
||||
format=<value>
|
||||
Force a specific libavformat demuxer.
|
||||
o=<key>=<value>[,<key>=<value>[,...]]
|
||||
|
@ -100,6 +100,9 @@ void set_default_mplayer_options(struct MPOpts *opts)
|
||||
.ac3drc = 1.,
|
||||
.downmix = 1,
|
||||
},
|
||||
.lavfdopts = {
|
||||
.allow_mimetype = 1,
|
||||
},
|
||||
.input = {
|
||||
.key_fifo_size = 7,
|
||||
.ar_delay = 200,
|
||||
|
@ -223,6 +223,7 @@ typedef struct MPOpts {
|
||||
int probesize;
|
||||
int probescore;
|
||||
int analyzeduration;
|
||||
int allow_mimetype;
|
||||
char *format;
|
||||
char *cryptokey;
|
||||
char *avopt;
|
||||
|
@ -55,6 +55,7 @@ const m_option_t lavfdopts_conf[] = {
|
||||
OPT_INTRANGE("probesize", lavfdopts.probesize, 0, 32, INT_MAX),
|
||||
OPT_STRING("format", lavfdopts.format, 0),
|
||||
OPT_INTRANGE("analyzeduration", lavfdopts.analyzeduration, 0, 0, INT_MAX),
|
||||
OPT_FLAG("allow-mimetype", lavfdopts.allow_mimetype, 0),
|
||||
OPT_INTRANGE("probescore", lavfdopts.probescore, 0, 0, 100),
|
||||
OPT_STRING("cryptokey", lavfdopts.cryptokey, 0),
|
||||
OPT_STRING("o", lavfdopts.avopt, 0),
|
||||
@ -218,7 +219,7 @@ static int lavf_check_file(demuxer_t *demuxer)
|
||||
format = demuxer->stream->lavf_type;
|
||||
if (!format)
|
||||
format = avdevice_format;
|
||||
if (!format && demuxer->stream->mime_type)
|
||||
if (!format && lavfdopts->allow_mimetype && demuxer->stream->mime_type)
|
||||
format = (char *)find_demuxer_from_mime_type(demuxer->stream->mime_type);
|
||||
if (format) {
|
||||
if (strcmp(format, "help") == 0) {
|
||||
|
Loading…
Reference in New Issue
Block a user