aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
...
* ao_coreaudio: report hardware latency to ao_read_dataGravatar Stefano Pigozzi2014-07-03
| | | | | Commit a6a4cd2c88 added reporting of playout latency, this commit also adds support for reporting hardware and constant audio unit latency.
* TOOLS/zsh.pl: complete URL schemes based on --list-protocolsGravatar Alessandro Ghedini2014-07-03
|
* TOOLS/zsh.pl: sort options in reverse order by lengthGravatar Alessandro Ghedini2014-07-03
| | | | | This stops options that are prefixes of other options from blocking completion of values for the longer ones.
* TOOLS/zsh.pl: untabifyGravatar Philip Sequeira2014-07-03
|
* TOOLS/zsh.pl: fix _arguments lineGravatar Philip Sequeira2014-07-03
| | | | | | | | | 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 "--".
* TOOLS/zsh.pl: don't consume extra argumentsGravatar Philip Sequeira2014-07-03
| | | | | | | | | | | | 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.
* TOOLS/zsh.pl: escape all colons in option descriptionsGravatar Philip Sequeira2014-07-03
|
* command: include new "playback-time" property in update mechanismGravatar wm42014-07-03
|
* DOCS: add a file listing API changes for the client APIGravatar wm42014-07-03
|
* manpage: reflect new coreaudio changesGravatar Stefano Pigozzi2014-07-02
|
* ao_coreaudio: report latency more correctlyGravatar Stefano Pigozzi2014-07-02
| | | | | | | | | | 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.
* cache_file: use unicode on windowsGravatar wm42014-07-02
| | | | This enables the MinGW Windows crap wrapper for fopen().
* ao_coreaudio: move channel mapping away from utilsGravatar Stefano Pigozzi2014-07-02
| | | | | Channel mapping functions are only used in the AUHAL based coreaudio, so move them there.
* ao_coreaudio: use mpv's internal pull APIGravatar Stefano Pigozzi2014-07-02
|
* ao_coreaudio: remove useless commentsGravatar Stefano Pigozzi2014-07-02
|
* ao_coreaudio: rename init_lpcm -> init_audiounitGravatar Stefano Pigozzi2014-07-02
|
* ao_coreaudio: fill asbd with an helper functionGravatar Stefano Pigozzi2014-07-02
|
* ao_coreaudio: split control to helper functionsGravatar Stefano Pigozzi2014-07-02
|
* ao_coreaudio: move device related functions to the new AOGravatar Stefano Pigozzi2014-07-02
|
* ao_coreaudio: remove useless call to print_asbdGravatar Stefano Pigozzi2014-07-02
|
* ao_coreaudio: move spdif code to a new AOGravatar Stefano Pigozzi2014-07-02
| | | | | | | | | | | | | | | | 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.
* cache: clear DVD timestampsGravatar wm42014-07-02
| | | | | | | | | | | | 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
* x11: clear window only on initial mapGravatar wm42014-07-02
| | | | | | | | | | | | | | | | | | | 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
* command: remove some code duplication in cache propertiesGravatar wm42014-07-02
| | | | | | | 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.
* command: cache can actually have full-size 0Gravatar wm42014-07-02
| | | | Then it's simply empty.
* command: change cache perentage to float, add cache-free and cache-usedGravatar Andrey Morozov2014-07-02
|
* demux: drop AVI special codeGravatar wm42014-07-02
| | | | | | | 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.
* demux_mkv: minor improvement to overflow checkGravatar wm42014-07-02
| | | | CC: @mpv-player/stable
* Audit and replace all ctype.h usesGravatar wm42014-07-01
| | | | | | | | | | | | | | | | 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.)
* demux: minor cleanupsGravatar wm42014-07-01
|
* README: fix link to release policy documentGravatar Alessandro Ghedini2014-06-30
|
* options: add --list-protocols optionGravatar Alessandro Ghedini2014-06-30
|
* build: set default cdrom and dvd devices on linuxGravatar Alessandro Ghedini2014-06-30
|
* options: fix --gapless-audio default valueGravatar wm42014-06-30
| | | | | | | | | 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
* demux_mkv: cosmeticsGravatar wm42014-06-29
|
* demux_mkv: add some overflow checks etc.Gravatar wm42014-06-29
| | | | | | | | | | | 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
* player: fix start position when specifying with percentGravatar Tsukasa OMOTO2014-06-29
|
* options: support setting start time relative to start PTSGravatar Tsukasa OMOTO2014-06-29
| | | | Signed-off-by: wm4 <wm4@nowhere>
* player: make the time display relative to start PTSGravatar Tsukasa OMOTO2014-06-29
| | | | | | This commit makes the playback start time always at time 0. Signed-off-by: wm4 <wm4@nowhere>
* av_common: remove unneeded fieldGravatar wm42014-06-29
| | | | This is actually needed for encoding only, and not decoding. Drop it.
* af_volume: fix calculations including replay-gainGravatar Mohammad Alsaleh2014-06-28
| | | | | | | | | | | | | 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>
* sub: fix undefined behavior with dvd://Gravatar wm42014-06-28
| | | | | | The string could get reallocated. CC: @mpv-player/stable
* manpage: update config file locationsGravatar wm42014-06-28
| | | | Also add some explanations how the config paths are determined.
* scripting: shorten a lineGravatar wm42014-06-26
| | | | | | 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).
* config: use the same signature for win32/OSX specific path functionsGravatar wm42014-06-26
| | | | | | | | 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.
* config: handle --no-config case directly in mp_config_dirs()Gravatar wm42014-06-26
| | | | | Requires less special-casing, and probably also avoids that starting mpv with --no-config creates a config dir (even if nothing is loaded).
* config, player: avoid some temporary talloc contextsGravatar wm42014-06-26
| | | | | IMO a semi-bad concept, that the mpv code unfortunately uses way too much.
* config: make passing talloc context optional for some functionsGravatar wm42014-06-26
| | | | | | | | | | | | | | | | 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.
* player: create config dir if it doesn't existGravatar wm42014-06-26
| | | | | | | This was dropped in the commit adding XDG support, probably accidentally. Also normalize some whitespace.
* config: prefer the old config dir if it exists, but XDG doesn'tGravatar wm42014-06-26
| | | | | | | | | | | 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.)