aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
...
* vf: fix crash if filter doesn't provide control entrypointGravatar wm42014-12-30
| | | | | | | | This input command crashed: vf add @mf:format=yuv420p ; show_text "${vf-metadata/mf}" Fixes #1408.
* options: expand ~ for the include optionGravatar Stefano Pigozzi2014-12-30
| | | | Fixes #1406
* demux_mkv: reduce log noiseGravatar wm42014-12-29
| | | | | | | This message can happen a lot for mkv files which index clusters in the seekhead (which is also broken non-sense, but that's a different story). Also remove a duplicate define from matroska.h.
* demux_mf: move mf.c contents to demux_mf.cGravatar wm42014-12-29
| | | | | | | | | There's no reason why parts of this demuxer would be in a separate source file. The existence of this code is already somewhat questionable anyway, so it may as well be dumped into a single file. Even stranger that demux.c included mf.h for no reason (it was an artifact from 2002 when the architecture was uncleaner).
* command: add filtered-metadata propertyGravatar wm42014-12-29
| | | | | Goes in hand with the previous commit; the main purpose is to easily show on OSD what is shown on terminal.
* player: filter tags, add --display-tags optionGravatar wm42014-12-29
| | | | | | | | This attempts to increase user-friendliness by excluding useless tags. It should be especially helpful with mp4 files, because the FFmpeg mp4 demuxer adds tons of completely useless information to the metadata. Fixes #1403.
* player: make --shuffle/--merge-files affect runtime loaded playlistsGravatar wm42014-12-29
| | | | | | | Until now, these options took effect only at program start. This could be confusing when e.g. doing "mpv list.m3u --shuffle". Make them always take effect when a playlist is loaded either via a playlist file, or with the "loadlist" command.
* ao_portaudio: remove this audio outputGravatar wm42014-12-29
| | | | | It's just completely useless. We have good native support for all 3 desktop platforms, and ao_sdl or ao_openal as fallbacks.
* ao_alsa: print channel map if setting it failsGravatar wm42014-12-29
| | | | | | | | | | This message is printed when the audio device advertised a channel map, but couldn't set it - which is probably a dmix bug (we'll never know, ALSA doesn't take bug reports). Print the requested map, so that the user (maybe) can make a connection when seeing the message and the actually used channel map, which might be less confusing. Or at least less useless.
* build: fix linking with --enable-static-buildGravatar Stefano Pigozzi2014-12-29
|
* ao: add debug log with the detected channel mapsGravatar Stefano Pigozzi2014-12-29
| | | | This could be helpful with bug reports.
* chmap_sel: add multichannel fallback heuristicGravatar Stefano Pigozzi2014-12-29
| | | | | | | | | | | | Instead of just failing during channel map selection, try to select a close layout that makes most sense and upmix/downmix to that instead of failing AO initialization. The heuristic is rather simple, and uses the following steps: 1) If mono is required always prefer stereo to a multichannel upmix. 2) Search for an upmix that is an exact superset of the required channel map. 3) Search for a downmix that is the exact subset of the required channel map. 4) Search for either an upmix or downmix that is the closest (minimum difference of channels) to the required channel map.
* chmap: add a 7.1(rear) layout nameGravatar Stefano Pigozzi2014-12-29
| | | | This is common on Apple systems so it's handy to have a label for it.
* w32_common: allow window resizing with --no-borderGravatar James Ross-Gowan2014-12-29
|
* vo_opengl: Ignore approx-gamma for BT.2020-CLGravatar Niklas Haas2014-12-29
| | | | | | The details of the non-linear transformation from/to BT.2020's constant luminance system don't really make sense with any other gamma curve, since changing the gamma curve completely breaks the chroma channels.
* stream_pvr: sort channel list by --tv-channels orderGravatar wm42014-12-28
| | | | | | | | | | Apparently this is what users would expect. Going the way of least resistance (in terms of messing with this old, rarely used code), sorting them by some kind of addition timestamp (called priority in the patch) is the easiest. Fixes #1390.
* cocoa: move the gl function loader to gl_cocoa.cGravatar Stefano Pigozzi2014-12-28
|
* screenshots: set AVFrame parametersGravatar wm42014-12-28
| | | | | | | Currently, libavcodec is rather lenient, but it might get stricter in the future. Fixes #1398.
* README: remove travis and coverity badgesGravatar wm42014-12-27
| | | | Useless and ugly.
* manpage: document new --stream-dump behaviorGravatar wm42014-12-27
| | | | That's probably a good idea.
* command: stip path from playlist OSD displayGravatar wm42014-12-27
| | | | | | But only if it's not e.g. a http URL. Fixes #1388.
* stream: always make stream dumping/capturing append to output fileGravatar wm42014-12-27
| | | | Partially fixes #1393 (but not really).
* ao_coreaudio: remove useless guardGravatar Stefano Pigozzi2014-12-27
| | | | useless after 069016fd6c
* ao_coreaudio: fix some naming conventionsGravatar Stefano Pigozzi2014-12-27
|
* player: force stereo as default when encodingGravatar wm42014-12-27
| | | | | | I think the new default for this option might be rather bad in encoding mode. For starters, we don't even know what layers an encoder supports at all.
* player: fix random crashes on uninitializationGravatar wm42014-12-27
| | | | | | | | | | | On uninitialization, the player will unselect all subtitles, and then destroy the subtitle decoder. But it didn't correctly remove the subtitle decoder from the OSD state, so it could happen that it would access it after the decoder was destroyed. Could lead to random crashes when switching files often. Fixes #1389.
* player: cosmetics: rename a functionGravatar wm42014-12-27
| | | | | Something which has this many important sideffects shouldn't start have a "get" prefix.
* ao_coreaudio: fix channel mappingGravatar Stefano Pigozzi2014-12-27
| | | | | | | | | | | | | | | There where 3 major errors in the previous code: 1) The kAudioDevicePropertyPreferredChannelLayout selector returns a single layout not an array. 2) The check for AudioChannelLayout allocation size was wrong (didn't account for variable sized struct). 3) Didn't query the kAudioDevicePropertyPreferredChannelsForStereo selector since I didn't know about it's existence. All of these are fixed. Might help with #1367
* ao_coreaudio: fix typoGravatar Stefano Pigozzi2014-12-27
|
* ao_coreaudio: move some code to make output readableGravatar Stefano Pigozzi2014-12-27
|
* ao_coreaudio: add more layout debug outputsGravatar Stefano Pigozzi2014-12-27
| | | Should help remote debugging #1367 with --msg-level=ao=debug
* player: ordered chapters: cosmeticsGravatar wm42014-12-26
| | | | | | Drop some meaningless comments, fix codingstyle, fix some formatting victims of the mp_msg refactoring, replace some memcpys with assignments.
* player: ordered chapters: bullshit reductionGravatar wm42014-12-26
| | | | | Nobody cares about these redundant messages, they make the code even more complicated than it has to be, and also they're annoying.
* player: ordered chapters: filter missing chaptersGravatar wm42014-12-26
| | | | | | | | | | | | Ever since someone (not me) added some Matroska features which nobody ever uses (ordered edition or some bullshit), I haven't had a fucking clue what the fuck is going on in this fucking file. (Still agreed to it, so it's my fault.) mplayer2 handled missing chapters correctly (and I suppose in a somewhat clean/simple manner), but the changed code doesn't. Since I can't even follow this code because it's so arcanely complicated, just add a hack that has the same effect.
* command: overlay_add: more flexible treatment of offset parameterGravatar wm42014-12-26
| | | | | | | | | | | | | | Essentially, don't make it the mmap() argument, and just add it to the memory address. This hides tricky things like alignment reequirements from the user. Strictly speaking, this is not entirely backwards compatible: this adds the regression that you can't access past 2 or 4 GB of a file on 32 bit systems anymore. But I doubt anyone cared about this. In theory, we could be clever, and just align the offset manually and pass that to mmap(). This would also be transparent to the user, but minimally more effort, so this is left as exercise to the reader.
* win32: add mmap() emulationGravatar wm42014-12-26
| | | | | | | | Makes all of overlay_add work on windows/mingw. Since we now don't explicitly check for mmap() anymore (it's always present), this also requires us to make af_export.c compile, but I haven't tested it.
* ao_coreaudio: fix AudioChannelLayout allocationsGravatar Stefano Pigozzi2014-12-26
| | | | | | | | AudioChannelLayout uses a trailing variable sized array so we need to query CoreAudio for the size of the struct it is going to need (or the conversion of that particular layout would fail). Fixes #1366
* stream_pvr: remove redundant log prefixesGravatar wm42014-12-26
|
* stream_pvr: increase timeout, slightly better error reportingGravatar wm42014-12-26
| | | | | | | An attempt to find out what's wrong with issue #1382. I don't even know why a timeout would be needed; for robustness with broken devices maybe?
* manpage: lua: fix a linkGravatar wm42014-12-26
|
* osxbundle: fix cascading config loadingGravatar Stefano Pigozzi2014-12-26
| | | | | | | | | | | | | | | | | mpv does 'cascading' configs by overriding options as the config become more important (bundle -> system level -> user level). Unfortunately mpv also loads two sets of configs files one after the other [1]. First it looks for 'config', then for 'mpv.conf'. For this reason a mpv.conf in ANY location will override ANY config files named config (even if the mpv.conf is in a system path and config in a user path). [1]: Relevant code in player/configfiles.c load_all_cfgfiles(mpctx, section, "config"); load_all_cfgfiles(mpctx, section, "mpv.conf"); Fixes: #1361
* manpage: fix typoGravatar wm42014-12-25
| | | | Fixes #1384.
* manpage: lua: fixes and improvementsGravatar wm42014-12-25
| | | | Some things were outdated, or outright wrong.
* vo_opengl: don't use 10 bit video on Intel GPUsGravatar wm42014-12-24
| | | | | | | | | | | | vo_opengl was originally written against OpenGL 3 core, and it seems GPUs/drivers supporting this are mostly sane. Later, it was made to work with OpenGL 2.1 too. Lately we removed the requirement for RG textures, and look, someone reported a problem with "lesser" Intel GPUs. This commit does the same in vo_opengl what was added to vo_opengl_old a long time ago. Fixes #1383.
* player: hack against --keep-open misbehaving with broken filesGravatar wm42014-12-24
| | | | | | | | | | | | | | | | If a file (or a demuxer) is broken, seeking close to the end of the file doesn't work, and seek_to_last_frame() will be called over and over again, burning CPU for no reason. Observed with incomplete mp4 files. That this can happen was already mentioned in commit 090f6cfc, but I guess now I'll do something against it. hrseek_lastframe is cleared by reset_playback_state(), so it's only set if seek_to_last_frame() was called, and no other seek happened since then. If finding the last frame succeeds, no EOF will happen (unless the user unpauses, but then it will simply remain at the last frame). If it fails, then it will return immediately, without retrying.
* player: fix a typo in message outputGravatar wm42014-12-24
| | | | This typo has been around for over a year. Oops.
* stream: always disable cache for pseudo-streamsGravatar wm42014-12-24
| | | | | Streams which don't have a full_buffer function never return any actual data. Slight improvement over commit 5640c195.
* ipc: add enable_event and disable_event commandsGravatar wm42014-12-24
| | | | This was requested.
* client API: document requirement to block SIGPIPEGravatar wm42014-12-24
| | | | | | | | | I noticed that the IPC code does not use MSG_NOSIGNAL or SO_NOSIGPIPE. The former is "only" POSIX 2008 and also requires switching to sendto(), while the latter is even less portable. Not going to bother with this obsolete 80ies crap, just block SIGPIPE, and instruct client API users to do the same.
* ipc: report some user errors betterGravatar wm42014-12-24
| | | | | | | | | | | | | | | Using the IPC with a program, it's not often obvious that a newline must be sent to terminate a command. Print a warning if the connection is closed while there is still uninterpreted data in the buffer. Print the OS reported error if reading/writing the socket fails. Print an erro if JSON parsing fails. I considered silencing write errors if the write end is closed (EPIPE), because a client might send a bunch of commands, and then close the socket without wanting to read the reply. But then, mpv disconnects without reading further commands that might still be buffered, so it's probably a good idea to always print the error.