| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Move them to the only place where they are used, demux_subreader.c.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Recently, libavformat added demuxers to open image files like normal
demuxers. This is a good thing, but for now they interfere with the
operation of demux_mf. Add them to the blacklist until there is a proper
solution.
(The list doesn't contain _all_ recognized image formats, just those
that might interfere with demux_mf.)
CC: @mpv-player/stable
|
|
|
|
| |
Apparently it's FFmpeg only.
|
|
|
|
| |
Probably useless.
|
|
|
|
| |
Remove unnecessary prefix, remove some messages.
|
|
|
|
|
|
|
| |
This returned a stream error value directly to libavformat, which can't
make sense. For example STREAM_ERROR (0) means success in libavformat
error codes. (The meaning of the libavformat read_seek return value is
underdocumented too.)
|
| |
|
|
|
|
|
|
|
|
| |
The intention is to make it obvious which mpv releases certain changes
will apply to.
Also attempt to fix RST formatting of the list. This is not very proper,
but probably good enough.
|
|\
| |
| | |
OS X bundle: Add more imported UTI
|
|/
|
| |
Not that there are widely used formats, but it will allow to play them directly from the Finder.
|
|
|
|
|
|
|
|
| |
The last title was ignored before.
CC: @mpv-player/stable
Signed-off-by: wm4 <wm4@nowhere>
|
|
|
|
|
|
| |
CC: @mpv-player/stable
Signed-off-by: wm4 <wm4@nowhere>
|
|
|
|
|
|
|
|
| |
libdvdnav returns an error is the seek position is out of range.
CC: @mpv-player/stable
Signed-off-by: wm4 <wm4@nowhere>
|
|
|
|
|
| |
This is pretty dumb and extremely basic. The main purpose is
demonstrating how to integrate mpv into the Qt GUI thread.
|
|
|
|
|
|
| |
This is an oversight and a bug.
CC: @mpv-player/stable
|
|
|
|
|
|
|
|
|
|
|
| |
Cast away the "extra" bits (since apparently Window/XID is always
32 bit unsigned). This is not striclty needed, because you're not
supposed to pass garbage to --wid, just because the upper bits are
possibly not interpreted. But if you do so, this change increases
consistency in behavior and removes a strange behavior that was
thought to be a bug.
Also see github issue #906.
|
|
|
|
|
| |
Commit a6a4cd2c88 added reporting of playout latency, this commit also adds
support for reporting hardware and constant audio unit latency.
|
| |
|
|
|
|
|
| |
This stops options that are prefixes of other options from blocking
completion of values for the longer ones.
|
| |
|
|
|
|
|
|
|
|
|
| |
Don't use _x_arguments, as we don't support X arguments.
Get rid of -s, because we don't support multiple single-letter options
in one argument.
Add -S, because we ignore options after "--".
|
|
|
|
|
|
|
|
|
|
|
|
| |
Completion now uses "--opt=value" instead of "--opt value". Once the
user presses space and starts a new argument, the option just
completed is out of the picture, whether or not it was given an
argument. This handles options with no arguments or optional arguments
much better; previously, completing such an option would effectively
disable completion for the next argument.
Custom completed options such as "--ao" and friends will no longer
claim to consume an extra argument.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Previous code was completly wrong. This still doesn't report the device
latency, but we report the buffer latency (as before the AO refactoring) and
the AudioUnit's latency (this is a new 'feature').
Apparently we can also report the device actual latency and we should also
calculate the actual sample rate of the audio device instead of using the
nominal sample rate, but I'll leave this for a later commit.
|
|
|
|
| |
This enables the MinGW Windows crap wrapper for fopen().
|
|
|
|
|
| |
Channel mapping functions are only used in the AUHAL based coreaudio, so move
them there.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The mplayer1/2/mpv CoreAudio audio output historically contained both usage
of AUHAL APIs (these go through the CoreAudio audio server) and the Device
based APIs (used only for output of compressed formats in exclusive mode).
The latter is a very unwieldy and low level API and pretty much forces us to
write a lot of code for little workr. Also with the widespread of HDMI, the
actual need for outputting compressed audio directly to the device is getting
lower (it was very useful with S/PDIF for bandwidth constraints not allowing
a number if channels transmitted in LPCM).
Considering how invasive it is (uses hog/exclusive mode), the new AO
(`ao_coreaudio_device`) is not going to be autoprobed but the user will have
to select it.
|
|
|
|
|
|
|
|
|
|
|
|
| |
When resizing the cache, the buffer for the DVD timestamps is
initialized with 0. This causes the player to always return playback
position 0 with any file format (not just DVD), and also makes all
relative seeks relative to position 0. Fix this by clearing the
timestamps explicitly.
Closes #899.
CC: @mpv-player/stable
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Apparently clearing on every map can cause problems with vdpau when
switching virtual desktops and such. This was observed with at least
XMonad and nvidia-340.17. It's not observed on some other setups without
XMonad.
It's not clear why this happens. Normally, the window background is not
saved, so clearing should have no additional affect. It's a complete
mystery. Possible, the use of legacy X drawing commands (used to clear
the window) interferes with vdpau operation in non-trivial ways.
Work this around by clearing on initial map only. This probably only
hides the underlying issue, but good enough.
Closes #897.
CC: @mpv-player/stable
|
|
|
|
|
|
|
| |
This also means that the printed size is always rounded to KBs, because
the cache properties are returned in KB. I think this doesn't matter
much. But if it does, the cache properties should probably changed to
return bytes in the first place.
|
|
|
|
| |
Then it's simply empty.
|
| |
|
|
|
|
|
|
|
| |
I'm pretty sure libavformat does this automatically, and we don't have
other demuxers where this could happen.
Still, slightly "risky" - so let's see.
|
|
|
|
| |
CC: @mpv-player/stable
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Something like "char *s = ...; isdigit(s[0]);" triggers undefined
behavior, because char can be signed, and thus s[0] can be a negative
value. The is*() functions require unsigned char _or_ EOF. EOF is a
special value outside of unsigned char range, thus the argument to the
is*() functions can't be a char.
This undefined behavior can actually trigger crashes if the
implementation of these functions e.g. uses lookup tables, which are
then indexed with out-of-range values.
Replace all <ctype.h> uses with our own custom mp_is*() functions added
with misc/ctype.h. As a bonus, these functions are locale-independent.
(Although currently, we _require_ C locale for other reasons.)
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
It was intended to be set to "weak" (and that was even documented), but
the actual setting was "no".
Closes #890.
CC: @mpv-player/stable
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Some of these might be security relevant.
The RealAudio code was especially bad. I'm not sure if all RealAudio
stuff still plays correctly; I didn't have that many samples for
testing. Some checks might be unnecessary or overcomplicated compared
to the (obfuscated) nature of the code.
CC: @mpv-player/stable
|
| |
|
|
|
|
| |
Signed-off-by: wm4 <wm4@nowhere>
|
|
|
|
|
|
| |
This commit makes the playback start time always at time 0.
Signed-off-by: wm4 <wm4@nowhere>
|
|
|
|
| |
This is actually needed for encoding only, and not decoding. Drop it.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
rgain is not an additive value. It's a multiplier/gain.
Previous behaviour produced negative level values in some cases
(when rgain < 1.0) which caused volume to be louder when its value
was lowered.
CC: @mpv-player/stable
Signed-off-by: Mohammad Alsaleh <CE.Mohammad.AlSaleh@gmail.com>
Signed-off-by: wm4 <wm4@nowhere>
|
|
|
|
|
|
| |
The string could get reallocated.
CC: @mpv-player/stable
|
|
|
|
| |
Also add some explanations how the config paths are determined.
|
|
|
|
|
|
| |
Also allows it to deal with NULL return values, which currently is not
needed, but may or may not be required at some point in the future (what
if malloc fails).
|
|
|
|
|
|
|
|
| |
Seems like a good idea, even if it's basically unused (yet).
Also document requirements on the functions (they're not obvious).
OSX changes untested.
|
|
|
|
|
| |
Requires less special-casing, and probably also avoids that starting mpv
with --no-config creates a config dir (even if nothing is loaded).
|
|
|
|
|
| |
IMO a semi-bad concept, that the mpv code unfortunately uses way too
much.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Until now, the config functions added various allocations to the user-
provided talloc context. Make it so that they're all under the returned
allocation instead. This allows avoiding having to create an extra
temporary context for some callers, and also avoids adding random memory
leaks by accidentally passing a NULL context.
mp_find_all_config_files() has to be changed not to return a pointer
into the middle array for this to work. Make it add paths in order
(instead of reverse), and then reverse the array entries after that.
Also remove the declarations for the win-specific private functions.
Remove STRNULL(); it's barely needed anymore and the functions are
not called with NULL filenames anymore.
|
|
|
|
|
|
|
| |
This was dropped in the commit adding XDG support, probably
accidentally.
Also normalize some whitespace.
|
|
|
|
|
|
|
|
|
|
|
| |
This means normally the XDG config dir will be used. But if the old
config dir (~/.mpv) exists and the XDG config dir does not, then don't
create it.
To simplify the code, also make mp_path_exists() accept NULL paths. In
that case it's considered as not existing. (Funnily, on Linux this
already worked, because the string is passed directly to the kernel,
and the kernel will just return EFAULT on invalid memory.)
|
|
|
|
|
|
|
| |
It's better to keep the logic in one place.
Also drop that a broken config file aborts loading of the player. I
don't see much reason for this, and it inflates the code slightly.
|
|
|
|
|
|
|
|
|
|
| |
Search $XDG_CONFIG_HOME and $XDG_CONFIG_DIRS for config files.
This also negates the need to have separate user and global variants of
mp_find_config_file()
Closes #864, #109.
Signed-off-by: wm4 <wm4@nowhere>
|
|
|
|
| |
Requested by a user. Closes #878.
|
| |
|
|
|
|
|
| |
Now it's at least actually relayed to the TV code. I didn't/couldn't
test whether it actually works, though.
|
|
|
|
| |
Oops.
|
|
|
|
|
|
| |
This is hopefully better for web streams.
Temporary workaround for #870.
|
| |
|
|
|
|
|
|
| |
Close #837
Signed-off-by: wm4 <wm4@nowhere>
|
|
|
|
|
|
|
| |
These consult the vertical resolution, matching agains |