summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* client API: add a client message eventwm42014-02-177-0/+58
| | | | | This comes with a "script_message" input command, which sends these messages. Used by the following commits.
* keycodes: add const to a function argumentwm42014-02-172-2/+2
|
* lua: allow giving fallback values in get_property() callswm42014-02-172-8/+13
| | | | | E.g. ``mp.get_property("foo", "value")`` will return ``value`` if the property can't be read.
* lua: remove redundant inline documentationwm42014-02-171-4/+0
| | | | | Nobody will loom at this, and the proper documentation of these functions is in lua.rst.
* DOCS/crosscompile-mingw: use settings.mk instead of make variablesTimothy Gu2014-02-171-9/+20
| | | | Signed-off-by: Timothy Gu <timothygu99@gmail.com>
* DOCS/crosscompile-mingw: update disk space statsTimothy Gu2014-02-171-1/+1
|
* DOCS/crosscompile-mingw: updateTimothy Gu2014-02-171-16/+24
| | | | | - Adds description of and uses $JOBS envvar in MXE instructions - Adds MXE_TARGETS to command line instead of echoing it to settings.mk - Prettify and sentence usage
* wayland/shm: remove unused defineAlexander Preisinger2014-02-161-2/+0
|
* command: export chapter list as propertieswm42014-02-162-4/+32
|
* command: export playlist as propertieswm42014-02-162-11/+26
|
* command: expose track list as propertieswm42014-02-162-3/+73
|
* m_property: add a mechanism to organize a list of sub-propertieswm42014-02-162-0/+89
| | | | | This automatically adds a "count" sub-property, and for each entry in the range [0, count), a numbered sub-property to access the item.
* demux: expose stream_type_name() functionwm42014-02-162-1/+3
|
* command: export more video params as propertieswm42014-02-162-39/+91
| | | | | This uses the previously added sub-property mechanism to export a bunch of stuff. For example, "video-params/w" now contains the video width.
* m_property: add a sub-property mechanismwm42014-02-162-1/+88
| | | | | | | This adds a mechanism for easier export of sub-properties. The following commits will make use of it to export fine grained information about certain things. The sub-property mechanism reduces the amount of code needed to export a data value to 1 line.
* csputils: provide string descriptions of chroma locationswm42014-02-162-0/+9
|
* Merge branch 'master' of git://github.com/mpv-player/mpvDiogo Franco (Kovensky)2014-02-1510-13/+93
|\ | | | | | | | | | | | | | | | | | | * 'master' of git://github.com/mpv-player/mpv: win32: restore support for exe directory as config directory crosscompile-mingw: improve instructions for MXE sd_lavc: handle subtitles with no subtitle resolution set options: make --no-config block all auto-loaded configuration files lua: auto-load scripts from ~/.mpv/lua/ lua: make register_event() not overwrite previous event handler
| * win32: restore support for exe directory as config directoryelevengu2014-02-141-1/+5
| | | | | | | | | | | | | | | | Same rationale as b2c2fe7a but updated to work with path-win.c Signed-off-by: wm4 <wm4@nowhere> Merges/closes #543.
| * crosscompile-mingw: improve instructions for MXEwm42014-02-141-0/+2
| |
| * sd_lavc: handle subtitles with no subtitle resolution setxylosper2014-02-141-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Set subtitle resolution to video resolution when avctx->width and avctx->height are zero. This can happen with broken vobsubs that have no size set in their .idx file (or Matroska extradata). At least with the test file provided in issue #551, using the video resolution as fallback instead of what guess_resolution() does is better. Note that these files clearly are broken. It seems this particular file was created by trying to use ffmpeg to transcode DVB subtitles to vobsub, and ffmpeg "forgot" to set the subtitle resolution in the destination file. On the other hand, ffmpeg DVB and PGS decoders set the resolution on the first subtitle packet (or somewhere close), so it's not really clear what to do here. Closes #551. Signed-off-by: wm4 <wm4@nowhere> Patch by xylosper, rewritten commit message by wm4.
| * options: make --no-config block all auto-loaded configuration fileswm42014-02-143-5/+14
| | | | | | | | | | | | | | | | | | | | | | | | Until now, the --no-config was explicitly checked in multiple places to suppress loading of config files. Add such a check to the config path code itself, and refuse to resolve _any_ configuration file locations if the option is set. osc.lua needs a small fixup, because it didn't handle the situation when no path was returned. There may some of such cases in the C code too, but I didn't find any on a quick look.
| * lua: auto-load scripts from ~/.mpv/lua/wm42014-02-142-3/+53
| | | | | | | | This is like passing them to --lua.
| * lua: make register_event() not overwrite previous event handlerwm42014-02-142-4/+15
| | | | | | | | | | | | | | | | Instead, chain them. Note that there's no logic to prevent the other event handlers to be run from an event handler (like it's popular in GUI toolkits), because I think that's not very useful for this purpose.
* | Parse::Matroska::Reader: get rid of `bigrat`Diogo Franco (Kovensky)2014-02-151-17/+20
|/ | | | | | | | | | | | | | | It seems that it was causing issues with certain perl setups (such as the one on issue #549). It also turns out that it was not behaving correctly (not all constants were being promoted to big nums as they should), so we use explicit objects to derive the constants. There were also precedence issues. I wonder if this even worked right to begin with. The 'double' path (8-byte floats) is untested, as I couldn't easily find a file with such a field. Closes #549.
* build: Add -U__STRICT_ANSI__ to CFLAGS on CygwinDiogo Franco (Kovensky)2014-02-131-0/+1
| | | | | | | | | | | | Cygwin's libc (newlib) doesn't obey a lot of unix feature test macros, including _GNU_SOURCE; as a result, a lot of functions and defines get masked out -- important defines such as M_PI and strcasecmp. Work around it by undefining __STRICT_ANSI__ on cygwin systems. This will still cause compilation issues on any non-cygwin system that uses newlib, but hopefully nobody does that, or if they do, they will find this commit message and know to add -U__STRICT_ANSI__ to their CFLAGS. Hopefully.
* build: disable clang's tautological compare warnings [2]Stefano Pigozzi2014-02-131-3/+3
| | | | Fixup 8009646583d523fc0.
* sub: handle vobsub-in-mp4wm42014-02-135-0/+44
| | | | | | | | | | | The mplayer decoder (spudec.c) actually handled this. There was explicit code for binary palettes (16 32 bit values), and the subtitle resolution was handled by video resolution coincidentally matching the subtitle resolution. Whoever puts vobsub into mp4 should be punished. Fixes the sample gundam_sample.mp4, closes github issue #547.
* build: disable clang's tautological compare warningsStefano Pigozzi2014-02-131-0/+2
| | | | | This silences two non issues in the client.c file. Fixing them as clang would want us to, would introduce security bugs and potential crashes.
* cocoa: fix deadlock during initialization [2]Stefano Pigozzi2014-02-131-6/+3
| | | | Fixup commit for 20fa191ad.
* player: select subtitles added with sub_addwm42014-02-131-2/+5
| | | | | | | | | | In particular, this affects drag & drop of subtitles, which uses sub_add internally. This will make the subtitles show up immediately, instead of requiring manual selection of the added subtitle. Might be not so ideal when adding multiple subtitles at once, because that leads to multiple sub_add commands, and will end up with the last subtitle instead of the first selected. But this is a minor detail.
* build: bump libmpg123 versionwm42014-02-131-1/+1
| | | | | | | | | The minimum required version was bumped in the old configure script, but for the waf build system is was somehow forgotten or overlooked. Probably happened while the waf build system was developed in a separate branch. Closes #546.
* cocoa: fix deadlock during initializationStefano Pigozzi2014-02-131-1/+2
| | | | | | Thanks to @wm4 for catching the bug. Fixes #405
* vo_opengl: make :srgb decompand the BT.709 values correctlynand2014-02-121-2/+15
| | | | | | | | This is the same issue as addressed by 257d9f1, except this time for the :srgb option as well. (257d9f1 only addressed :icc-profile) The conditions of the srgb_compand mix() call are also flipped to prevent an off-by-one error.
* vo_wayland: silence shadowing warningwm42014-02-121-3/+3
|
* command: fix metadata propertywm42014-02-121-2/+2
| | | | This crashed when retrieving the raw property value. Oops.
* manpage: reformat property listwm42014-02-121-113/+344
| | | | | | | | Use a list instead of a table. This makes it easier to provide extended information about a property, and doesn't require you to fiddle with rhe RST ASCII-art tables. Also, extend some property descriptions.
* manpage: lua: move less important events to the end of the listwm42014-02-121-36/+35
|
* manpage: lua: document receiving of terminal messageswm42014-02-121-2/+36
|
* manpage: lua: rewrite event descriptionwm42014-02-121-30/+86
| | | | | Using such a small table is not such a great idea, because you can't put much information in it, even if you need to.
* client API: fix description of mpv_event.error fieldwm42014-02-121-4/+7
| | | | The description was a left over from an earlier iteration of the API.
* manpage: lua: minor fixeswm42014-02-121-4/+4
|
* player: fix --force-window on OSXwm42014-02-112-4/+9
| | | | | | | | The initialization code was split and refactored for the libmpv changes. One change, moving a part of cocoa initialization, accidentally broke --force-window on OSX, which creates a VO in a certain initialization stage. We still don't know how cocoa should behave with libmpv, so fix this with a hack to beat it back into working. Untested.
* man: update wayland optionsAlexander Preisinger2014-02-111-3/+8
|
* wayland/shm: rewrite buffer handlingAlexander Preisinger2014-02-111-131/+229
| | | | | | | | | | | I was unhappy with the old way of handling buffers, especially resizing. But my original plan to use wl_shm_pool_resize wasn't as good as I initially thought. I might get back to it. With the new buffer pools it now possible to select triple buffering. Also the buffer pools are also needed for the upcoming subsurfaces for osd and subtitles. I hope this change was worth it.
* wayland/shm: prevent the window from flying awayAlexander Preisinger2014-02-111-0/+2
| | | | With the new xdg_shell the problem will be no gone by itself.
* manpage: fix Lua script shutdown description againwm42014-02-111-6/+6
| | | | | | It was split at the wrong sentence. Also, sneak in a reference to mp.suspend.
* manpage: document --aspect special valueswm42014-02-111-0/+7
| | | | | | | Use of these is "discouraged", but they're there to select these special cases with the "aspect" property. They really should use some sort of choice option type, but since it would be some work to make these work with float values, the simple and dumb alternative was picked.
* video: fix --no-aspectwm42014-02-111-2/+2
| | | | This also affects the --aspect option and the "aspect" property.
* build: add SONAME to libmpv.sowm42014-02-111-0/+1
|
* manpage: use Lua for Lua examplewm42014-02-111-1/+1
|
* manpage: document mp.commandv Lua commandwm42014-02-111-0/+15
|
* manpage: move description of script shutdown to a separate paragraphwm42014-02-111-4/+6
| | | | No other changes, just adding a paragraph break and reflowing the text.
* manpage: fix formatting of example codewm42014-02-111-6/+7
|
* manpage: document some Lua scripting functionswm42014-02-111-2/+160
|
* lua: some minor API changeswm42014-02-112-14/+20
|
* lua: add set_property functionwm42014-02-111-0/+10
|
* lua: change error behaviorwm42014-02-111-13/+11
| | | | | | | Return the error Lua-style, instead of raising it as Lua error. This is better, because raising errors is reserved for more "fatal" conditions. Pretending they're exceptions and trying to do exception-style error handling will just lead to pain in this language.
* lua: rename some API functionswm42014-02-112-76/+76
| | | | | | | | | send_command -> command send_commandv -> commandv get_timer -> get_time property_get -> get_property property_get_string -> get_property_osd getopt -> get_opt
* av_log: add tons of warnings against mismatched ffmpeg/libav librarieswm42014-02-101-0/+22
| | | | | | | | | | | | | Print a warning if a library has mismatched compile time and link time versions. Refuse to work if the compile time and link time versions are a mix of ffmpeg and libav. We print an error message and call exit(). Since we'd randomly crash anyway, I think this is ok. This doesn't catch the case if you e.g. use a ffmpeg libavcodec and a libav libavformat, which would of course just crash as quickly, but I think this checks enough already.
* av_log: restructure version printing codewm42014-02-101-18/+28
| | | | Makes the following commit simpler.
* vo_opengl: fix typo in gamma function's parameternand2014-02-101-2/+2
| | | | | The correct value is 0.081, not 0.18. The scale factor also needed slight adjustment due to the order of operations.
* vo_vdpau: Discard zero timestampsJonas Zetterberg2014-02-101-0/+3
| | | | Some drivers do not supply timestamps, use old timestamp in these conditions.
* vo_vdpau: Ensure presentation time is within boundsJonas Zetterberg2014-02-101-0/+4
| | | | | When a time sync happens the last sync time is the minimum time that can be used for presentation.
* Merge branch 'client_api'wm42014-02-1029-375/+2686
|\
| * Add a client API examplewm42014-02-104-0/+69
| |
| * build: add option to build a librarywm42014-02-106-12/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | This library will export the client API functions. Note that this doesn't allow compiling the command line player to link against this library yet. The reason is that there's lots of weird stuff required to setup the execution environment (mostly Windows and OSX specifics), as well as things which are out of scope of the client API and every application has to do on its own. However, since the mpv command line player basically reuses functions from the mpv core to implement these things, it's not very easy to separate the command line player form the mpv core.
| * build: include a copy of syms.py from upstream wafwm42014-02-101-0/+81
| | | | | | | | | | | | The alternatives to copying this small bit of code are even worse. This is unmodified, except for the added line 3.
| * lua: add a timer APIwm42014-02-101-10/+79
| |
| * lua: port to client APIwm42014-02-1010-224/+242
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is partial only, and it still accesses some MPContext internals. Specifically, chapter and track lists are still read directly, and OSD access is special-cased too. The OSC seems to work fine, except using the fast-forward/backward buttons. These buttons behave differently, because the OSC code had certain assumptions how often its update code is called. The Lua interface changes slightly. Note that this has the odd property that Lua script and video start at the same time, asynchronously. If this becomes an issue, explicit synchronization could be added.
| * Add a client APIwm42014-02-1011-118/+1867
| | | | | | | | | | | | | | Add a client API, which is intended to be a stable API to get some rough control over the player. Basically, it reflects what can be done with input.conf commands or the old slavemode. It will replace the old slavemode (and enable the implementation of a new slave protocol).
| * timer: init only oncewm42014-02-103-7/+18
| | | | | | | | | | | | | | | | | | | | This avoids trouble if another mpv instance is initialized in the same process. Since timeBeginPeriod/timeEndPeriod are hereby not easily matched anymore, use an atexit() handler to call timeEndPeriod, so that we can be sure these calls are matched, even if we allow multiple initializations later when introducing the client API.
| * options: add --no-terminal switchwm42014-02-108-30/+60
| | | | |