summaryrefslogtreecommitdiffstats
path: root/wscript_build.py
Commit message (Collapse)AuthorAgeFilesLines
* player: rename dvdnav to discnavxylosper2014-03-301-1/+1
| | | | | Now, navigation works both of DVD and non-BD-J Blu-ray. Therefore, rename all 'dvdnav' strings which are not DVD specific to 'discnav'
* stream_cdda: remove unused stuffwm42014-03-261-1/+0
| | | | | | This cd_info_t struct was practically unused. The only thing it did was storing the track name of the form "Track %d" in a very roundabout way. Remove it. (It made more sense when there was still CDDB support.)
* build: simplify libavfilter configure checkswm42014-03-161-2/+2
| | | | | This is all not needed anymore. In particular, remove all configure switches except --enable-libavfilter.
* af_lavrresample: remove avresample_set_channel_mapping() fallbackswm42014-03-161-1/+0
| | | | | | | This function is now always available. Also remove includes of reorder_ch.h from some AOs (these are just old relicts).
* sub: remove old MPlayer DVD sub decoderwm42014-03-161-2/+0
| | | | | The DVD sub decoder in Libav 9 was broken/incomplete, so we kept the MPlayer decoder around. Now it's not needed anymore.
* vd_lavc: remove compatibility crapwm42014-03-161-2/+0
| | | | | | | All this code was needed for compatibility with very old libavcodec versions only (such as Libav 9). Includes some now-possible simplifications too.
* build: automagically extract client library versionwm42014-03-121-2/+11
| | | | | | | | | | This reads MPV_CLIENT_API_VERSION from the source header, and turns it into a 3 part version number. E.g. if MPV_CLIENT_API_VERSION were 0x12abcdef, this would result in "18.171.773615" (8 bits, 8 bits, 16 bits). We'll see if this is actually useful, or if it's too clever.
* build: rename --enable-shared switchwm42014-03-111-1/+1
| | | | | | | Rename it to --enable-libmpv-shared. The option name didn't really tell much. When we add the possibility to create a static library, it would also be bad if that were named --enable-static (because it would sound like it does what --static-build does).
* build: fix version in mpv.pcAlessandro Ghedini2014-03-111-1/+1
|
* ao_wasapi: Split into 2 filesDiogo Franco (Kovensky)2014-03-111-0/+1
| | | | | | ao_wasapi.c was almost entirely init code mixed with option code and occasionally actual audio handling code. Split most things to ao_wasapi_utils.c and keep the audio handling code in ao_wasapi.c.
* build: install client.h under mpv/ instead of libmpv/Alessandro Ghedini2014-03-111-1/+1
|
* libmpv: add pkg-config fileAlessandro Ghedini2014-03-111-0/+12
|
* audio/out: feed AOs from a separate threadwm42014-03-091-0/+2
| | | | | | | | | | | | | | | | | | This has 2 goals: - Ensure that AOs have always enough data, even if the device buffers are very small. - Reduce complexity in some AOs, which do their own buffering. One disadvantage is that performance is slightly reduced due to more copying. Implementation-wise, we don't change ao.c much, and instead "redirect" the driver's callback to an API wrapper in push.c. Additionally, we add code for dealing with AOs that have a pull API. These AOs usually do their own buffering (jack, coreaudio, portaudio), and adding a thread is basically a waste. The code in pull.c manages a ringbuffer, and allows callback-based AOs to read data directly.
* build: add SONAME to libmpv.sowm42014-02-111-0/+1
|
* Add a client API examplewm42014-02-101-0/+11
|
* build: add option to build a librarywm42014-02-101-1/+18
| | | | | | | | | | | | | 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.
* Add a client APIwm42014-02-101-0/+1
| | | | | | | 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).
* waf: rename --enable-sdl to --enable-sdl1wm42014-01-251-1/+1
| | | | Grossly misleading.
* w32: use the w32_common keymap in terminal-win tooJames Ross-Gowan2014-01-191-0/+2
|
* cocoa: add application icon to the Dock when run from CLIStefano Pigozzi2014-01-141-0/+4
| | | | | | | | | | Application icon was added to the Dock only when run inside of a bundle. That was handled automatically by OS X using the Info.plist definition. To add the Application icon when run as a CLI program, I used the samme approach in the X11 code and loaded the icon as a static binary blob inside of mpv's binary. This is the simplest approach as it avoid headackes when relocating the binary and such.
* waf: do not use TaskGen for PDF build ruleMartin Herkt2014-01-081-14/+6
| | | | No longer necessary.
* Switch PDF manual generation to rst2pdfMartin Herkt2014-01-081-16/+4
| | | | | | | This finally gets rid of the LaTeX dependency. We should actually be using docultils directly here, but I didn't do this because of all the potential Python 2/3 breakage.
* input: move files drag and drop to a new event.c fileStefano Pigozzi2014-01-041-0/+1
| | | | | event.c will be used to feed the input queue with 'global' events that don't mesh well with the usual check_events path in mpv.
* Add Windows console wrapper program (mpv.com)Martin Herkt2014-01-021-0/+13
|
* Install encoding-profiles.conf by defaultwm42013-12-281-0/+2
| | | | | | | | | | | | This is probably useful. Note that this includes a small, stupid hack to prevent loading of the config file if vf_lavfi is not available. The profile by default uses vf_lavfi, and the config parser will output errors if vf_lavfi is not available. As another caveat, we install the example profile even if encoding is disabled (though we don't load it, since this would print errors).
* input: split off some code from input.c to separate fileswm42013-12-261-0/+3
| | | | This is mostly just moving code around.
* Rename getch2....c/h to terminal....c/hwm42013-12-191-2/+2
| | | | | "getch2" really tells nothing about what the heck this code does. It'd be even worse when moving the rest of terminal handling code there.
* Split mpvcore/ into common/, misc/, bstr/wm42013-12-171-15/+19
|
* Move options/config related files from mpvcore/ to options/wm42013-12-171-7/+9
| | | | | | | | | Since m_option.h and options.h are extremely often included, a lot of files have to be changed. Moving path.c/h to options/ is a bit questionable, but since this is mainly about access to config files (which are also handled in options/), it's probably ok.
* Move libquvi stuff to stream/resolve/wm42013-12-171-2/+2
|
* Move mpvcore/input/ to input/wm42013-12-171-4/+6
|
* Rename mp_lua.c/h to lua.c/hwm42013-12-171-1/+1
|
* Move mpvcore/player/ to player/wm42013-12-171-22/+24
|
* Add prelimimary (basic, possibly broken) dvdnav supportwm42013-12-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | This readds a more or less completely new dvdnav implementation, though it's based on the code from before commit 41fbcee. Note that this is rather basic, and might be broken or not quite usable in many cases. Most importantly, navigation highlights are not correctly implemented. This would require changes in the FFmpeg dvdsub decoder (to apply a different internal CLUT), so supporting it is not really possible right now. And in fact, I don't think I ever want to support it, because it's a very small gain for a lot of work. Instead, mpv will display fake highlights, which are an approximate bounding box around the real highlights. Some things like mouse input or switching audio/subtitles stream using the dvdnav VM are not supported. Might be quite fragile on transitions: if dvdnav initiates a transition, and doesn't give us enough mpeg data to initialize video playback, the player will just quit. This is added only because some users seem to want it. I don't intend to make mpv a good DVD player, so the very basic minimum will have to do. How about you just convert your DVD to proper video files?
* video: move VO reinit from filter chain to playerwm42013-12-101-1/+0
| | | | | | | | | This gets rid of the vf_vo pseudo-filter. It ends the idea of MPlayer's architecture that the VO is just a (terminating) video filter. It didn't really work for us with respect to video timing (the "end" of the video chain isn't really made for video timing, and making it do so would be awkward), and now we're removing it entirely. We will be able to fix some things, such as properly draining video on reconfiguration.
* build: osx: set chmod to 755 for non-bundle binary during installStefano Pigozzi2013-12-041-1/+2
| | | | | When installing the bundle we also manually install the origianl binary. Waf defaults to chmod 644, so we must explicitely set it to 755.
* video/filter: remove vf_down3drightwm42013-12-041-1/+0
| | | | | | | | Apparently you can get this with: stereo3d=ab[2]{l,r}:sbs[2]{l,r} So it seems the filter is redundant and can be removed. Also see FFmpeg commit 2f11aa141a01.
* vo_opengl: support for vda hardware decodingStefano Pigozzi2013-12-021-0/+1
| | | | | | | | | | | The harder work was done in the previous commits. After that this feature comes out almost for free. The only problem is I can't get the textures created with CGLTexImageIOSurface2D to download properly, thus the code performs download using some CoreVideo APIs. If someone knows why download of textures created with CGLTexImageIOSurface2D doesn't work please contact me :)
* build: make pthreads mandatorywm42013-11-281-1/+1
| | | | | | | | | | | pthreads should be available anywhere. Even if not, for environment without threads a pthread wrapper could be provided that can't actually start threads, thus disabling features that require threads. Make pthreads mandatory in order to simplify build dependencies and to reduce ifdeffery. (Admittedly, there wasn't much complexity, but maybe we will use pthreads more in the future, and then it'd become a real bother.)
* build: make cygwin use *nix timersStefano Pigozzi2013-11-261-1/+0
|
* build: add a gdi check for windowsStefano Pigozzi2013-11-261-2/+1
| | | | | Incidentally this seems wrong in the configure as well because only gl-win32 depends on it instead of also making direct3d depend on this (as I did here).
* build: work around bug in waf's bundle installationStefano Pigozzi2013-11-251-0/+5
| | | | | | waf wrongly installs resources to BundleRoot/Resources instead of BundleRoot/Contents/Resources. Will post a patch to them later. Either way, this must worked around until the next waf patch release.
* build: add install_files call after the mpv target was definedStefano Pigozzi2013-11-241-2/+3
| | | | | This makes it work on cold compiles when there is no `build/` directory and one does ./waf configure && ./waf install (i.e.: no ./waf build).
* build: also install mpv CLI binary when building OS X bundleStefano Pigozzi2013-11-241-0/+2
|
* Rename sub.c/.h to osd.c/.hwm42013-11-241-1/+1
| | | | | This was way too misleading. osd.c merely calls the subtitle renderers, instead of actually dealing with subtitles.
* video: merge vd.c into dec_video.cwm42013-11-231-1/+0
| | | | | I don't feel like the separation ever made sense, and it was hard to tell which file a function you were looking for was in.
* build: fix install path for manualStefano Pigozzi2013-11-231-1/+1
| | | | | Appending man1 to the MANDIR was forgotten, so the manual was installed in the wrong path.
* switch the build system to wafStefano Pigozzi2013-11-211-0/+459
This commit adds a new build system based on waf. configure and Makefile are deprecated effective immediately and someday in the future they will be removed (they are still available by running ./old-configure). You can find how the choice for waf came to be in `DOCS/waf-buildsystem.rst`. TL;DR: we couldn't get the same level of abstraction and customization with other build systems we tried (CMake and autotools). For guidance on how to build the software now, take a look at README.md and the cross compilation guide. CREDITS: This is a squash of ~250 commits. Some of them are not by me, so here is the deserved attribution: - @wm4 contributed some Windows fixes, renamed configure to old-configure and contributed to the bootstrap script. Also, GNU/Linux testing. - @lachs0r contributed some Windows fixes and the bootstrap script. - @Nikoli contributed a lot of testing and discovered many bugs. - @CrimsonVoid contributed changes to the bootstrap script.