| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
This could cause the bundle to recache stuff because of differences with
configuration of other software using fonconfig. The defaults OS X directories
should be added to fontconfig at build time (through configure).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make TOOLS/matroska.pl output structs with fields sorted by name in
ebml_types.h to make the order of fields deterministic. Fix warnings in
demux_mkv.c caused by the first struct fields switching between scalar
and struct types due to non-deterministic ebml_types.h field order.
Since it's deterministic now, this shouldn't change anymore.
The warnings produced by the compilers are bogus, but we want to silence
them anyway, since this could make developers overlook legitimate
warnings.
What commits 7b52ba8, 6dd97cc, 4aae1ff were supposed to fix. An earlier
attempt sorted fields in the generated C source file, not the header
file. Hopefully this is the last commit concerning this issue...
|
| |
|
|
|
|
|
|
|
| |
Newer versions of perl randomize the hash used for hashes every time
it's run; this makes the order of the fields be non-deterministic. Tack
a sort there to make it deterministic. Needed to fix (or allow fixing) a
buggy gcc warning.
|
|
|
|
|
|
|
| |
Commit broke text subtitles without embedded fonts. Will look for a better
solution later. Revert it for now, since I'm starting to get bug reports.
This reverts commit 4a9f618d9f3b2d964bcc819426cc3042b8e447f7.
|
|
|
|
|
|
|
|
| |
This is to avoid the 30s hang while mpv caches fonts. In practice all the
fonts an average user is going to use are embedded in mkv files so there is
no reason to build fontconfig's cache on all of OS X system directories.
I might add something similar for terminal usage, but I am highly undecided.
|
| |
|
|
|
|
|
|
|
| |
Pretty useful for people writing userscripts for web browsers. Links starting
with 'mpv://' are forwarded to the mpv OSX bundle. The leading 'mpv://' is
stripped from the recived url and the rest of the string is inserted as is in
the playlist.
|
|
|
|
|
| |
This allows to open URLs directly with mpv. This is useful for streaming and
libquvi supported sites.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The png file added to etc/ are taken from the link mentioned in commit
303096b, except that they have been converted to 16 bit, sRGB (with
color profile info dropped, if there was one), and transparent pixels
reset for better compression.
The file x11_icon.bin is generated by gen-x11-icon.sh. I'm adding it to
the git repo directly, because the script requires ImageMagick, and we
don't want to make building even more complicated.
The way how this is done is basically a compromise between effort
required in x11_common.c and in gen-x11-icon.sh. Ideally, x11_icon.bin
would be directly in the format as required by _NET_WM_ICON, but trying
to write the binary width/height values from shell would probably be a
nightmare, so here we go.
The zlib code in x11_common.c is lifted from demux_mkv.c, with some
modifications (like accepting a gzip header, because I don't know how to
make gzip write raw compressed data).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I would like to thank Chris Ward (@tenzerothree, http://tenzerothree.com/) for
working on the art for these icons and bringing some eye candy to the project.
The PSDs made by Chris are available on our Dropbox [1], along with the exports
I made to create OSX and Windows icons. The PSDs are almost completly vector
and all the resolutions look really similar, except the 16px favicon which was
handcrafted to look better and more recognizeable on the smaller pixel budget.
For Mac OS X the icons were created using iconutils on the PNGs iconsets
exported from the PSDs. These even support retina resolutions (except 512@2x).
For Windows the .ico file was created with imagemagick. The included images
are 16px, 24px, 32px, 48px 64px, 256px. These are the resolutions listed on
MSDN for supporting Windows XP [2] and Windows versions based on Aero [3].
Only 32bit PNGs were used since it is 2013.
For Linux nothing changed yet, even though @wm4 talked about using the PNGs
directly there. This will probably be dealt with in a later commit.
[1]: https://www.dropbox.com/sh/yelfoj9tbft7o06/A8vOT6JKaG
[2]: http://msdn.microsoft.com/en-us/library/ms997636.aspx
[3]: http://msdn.microsoft.com/en-us/library/aa511280.aspx
|
|
|
|
| |
Based on the OSX bundle icon.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of generating vdpau_template.c with a Perl script, just include
the generated file in git. This is ok because it changes very rarely,
and the script is larger than the output it generates.
It also simplify the Makefile, and fixes the build. The problem was that
transitive dependencies do not work with generated files: there is no
dependency information yet when building it the first time. I overlooked
this because I didn't delete the .d files for testing (which contained
the correct dependencies, but only _after_ a first successful build).
|
|
|
|
|
|
|
| |
See github issue #43.
This comes with a load of caveats, so be sure to read the comments at
the start of the script.
|
|
|
|
|
| |
Hopefully this can give some more clues to users about what broke if they
find themselves in this situation.
|
| |
|
|
|
|
|
|
|
| |
For quiet mode: ILDETECT_QUIET=1 ildetect.sh ...
Telecine decision (guess by ildetect.so) is verified by retrying the
ildetect run with the pullup filter inserted.
|
|
|
|
|
| |
We can now turn off encoding mode by command line and use vo_null
instead.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The filter analyzes each frame for combing, and decides at the end
whether the content is likely interlaced, telecined or progressive.
|
|
|
|
|
| |
This is now defined to mean to never output any frame again (except for
the first).
|
|
|
|
|
| |
also, default to 0-indexed frame counts (so by default, the 1st frame is
output). Old behaviour can be done by -vf dlopen=./framestep.so:42:41.
|
|
|
|
| |
We don't need config() ;)
|
|
|
|
| |
Usage: -vf dlopen=./framestep.so:5
|
|\
| |
| |
| |
| | |
Conflicts:
audio/out/ao_lavc.c
|
| | |
|
|/
|
|
| |
fixes #60
|
|
|
|
|
|
|
| |
This adds a way to generate a Mac OS X application bundle without the bundled
dependencies.
fixes #57
|
| |
|
|
|
|
|
|
| |
Prevents the status line from being printed. Otherwise, the status line
is always printed due to --frames=1, and it's visible on the terminal
because it's printed to stderr.
|
|
|
|
| |
Useful for testing.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This way it's possible to retrieve correct information about video, like
actual width/height, which in general are available only after at least
one frame has been sent to the video output, such as dwidth/dheight.
mpv_identify.sh becomes a bit slower, because we let it decode enough
audio and video to fill the audio buffers and to send one frame to the
video output. Also, --playing-msg isn't shown anymore with --frames=0
(could be fixed by special-casing it, should this break any use cases).
Note that in some corner cases, like when the demuxer for some reason
returns lots of audio packets but no video packets at the start, but
video actually starts later, the --playing-msg will still be output
before video starts.
|
|
|
|
|
|
| |
Add new properties "dwidth" and "dheight", which contain the video
size as known by the VO (not necessarily what the VO makes out of them,
i.e. without window scaling and panscan).
|
|
|
|
|
|
| |
Tested with a sample generated by: ffmpeg -i in.mkv -an -vcodec rawvideo out.mkv
Also add proper dependencies for the Matroska Perl stuff in Makefile.
|
|
|
|
|
|
|
|
|
| |
Looks like unicode support was broken with this simple `fonts.conf`. Copy more
(all) of fontconfig's default `fonts.conf`.
Fixes #13
Signed-off-by: Stefano Pigozzi <stefano.pigozzi@gmail.com>
|
|
|
|
|
|
| |
If one of the bundled libraries is pointing to a missing dylib stop the
bundling and exit with an error. This can happen if the user uninstalled a
dependency after he built the binary/libraries.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The osxbundle target creates a bundle that is supposed to be distributable
to third parties. As they may not have fontconfig installed they miss a
fonts.conf pointing to the usual fonts directories in OSX.
For people installing from source and using from the terminal this commit
changes nothing. You just have to make sure that your fontconfig is installed
with a sane configuration (XQuartz does). If you are installing fontconfig from
source you can force a sane OSX default using `--with-add-fonts`. For example:
`./configure --with-add-fonts=/Library/Fonts,~/Library/Fonts`
Homebrew already addressed this with mxcl/homebrew@b242883
|
|
|
|
|
|
| |
Nice idea, but essentially useless. Unmaintained even in mplayer-svn.
Remove broken remains of the checkheaders target too.
|
|
|
|
|
| |
Dashes are not valid in shell variable names. This changes them to
underscores.
|
|
|
|
|
|
|
|
|
|
|
|
| |
file2string.pl and vdpau_functions.pl are direct ports.
matroska.py was reimplemented as the Parse::Matroska module in CPAN,
and matroska.pl was made a client of Parse::Matroska.
A copy of Parse::Matroska is included in TOOLS/lib, and matroska.pl
looks there first when trying to load the module.
osxbundle.py was not ported since I have no means to verify it.
Python is always available on OSX though, so there is no harm in
removing the check for it on configure.
|
|
|
|
|
|
|
| |
It looks like that only `install_name_tool -change` must be applied
recursively. This allows to bundle up all our stuff without thinkering with
the Mach-O headerpad size (which could even be impossible for libraries we
don't compile and link ourselves).
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a make task and python script to create a Mac OS X Application Bundle
to be used when compiling with the --enable-macosx-finder and
--enable-macosx-bundle configure flags.
The main svg icon was created by me and heavily inspired by Apple's iTunes
and AppStore icon designs. We are still looking for something better.
For the audio, movie and subtitles icons I added the main logo to MPlayer OSX
Extended icons.
Use with `make osxbundle` after running configure and make.
|
|\
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
DOCS/man/en/vo.rst
etc/input.conf
input/input.c
m_property.c
|
| |
| |
| |
| |
| |
| | |
And it never was. This property is write-only and exists only for
setting the program. Making it readable is possible, but would require
demuxer changes.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use "-" instead of "_" in property names. The intent is that property
names and options names should be the same (if they refer to the same
thing), and options use "-" as word separator.
Rename some other properties too, e.g. "switch_audio" -> "audio".
Add a way to translate the old property names to the new ones, similar
to the input command legacy bridge.
Update input.conf. Use the new property names, and don't use legacy
commands.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This changes the name of this project to mpv. Most user-visible mentions
of "MPlayer" and "mplayer" are changed to "mpv". The binary name and the
default config file location are changed as well.
The new default config file location is: ~/.mpv/
Remove etc/mplayer.desktop. Apparently this was for the MPlayer GUI,
which has been removed from mplayer2 ages ago.
We don't have a logo, and the MS Windows resource files sort-of require
one, so leave etc/mplayer.ico/.xpm as-is.
Remove the debian and rpm packaging scripts. These contained outdated
dependencies and likely were more harmful than useful. (Patches which
add working and well-tested packaging are welcome.)
|
| | |
|
| |
| |
| |
| |
| | |
This works regardless whether "python" starts a Python 2 or Python 3
interpreter.
|
| |
| |
| |
| |
| | |
They were originally written for Python 3.x. Changing them to work on
Python 2.x as well is trivial. Tested with Python 2.7.3 and 3.2.3.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the first frame of a telecine pattern did not generate an output
frame (because it is a 0 or a 1), this could lead to the first two
output frames getting equal pts values.
When the first frame of a telecine pattern generates exactly one output
frame (i.e. when the telecine pattern starts with 2 or 3), then the
output was correct before this comment, and still is unchanged.
When the first frame of a telecine pattern generates more than one
output frame (i.e. when it starts with 4 to 9), then output pts are
still broken. This is not really solvable without knowing the frame
duration, or delaying output by one frame.
|
|
|
|
|
| |
It can provide properties of a file to the user on stdout, or when sourced by a
script, put them into its variables.
|
|
|
|
| |
It is unix only, because vf_dlopen filters have no way to receive input (yet)
|
|
|
|
|
|
| |
This is done by requesting a buffer from the next filter in the chain, instead
of always allocating our own. This allows the next filter to e.g. ensure its
own preferred memory layout.
|
|
|
|
|
|
| |
Usage: -vf dlopen=filename.so:args...
Examples of such filters are provided in TOOLS/vf_dlopen/
|
|
|
|
|
|
|
|
|
|
|
|
| |
There is lots of badly and inconsistently formatted code left, which
leaves us with the frequent need for cleaning up. This uncrustify
profile can be used for automatic reformatting. The author of this file
is (perhaps) uau.
It's different from mplayer-svn's TOOLS/mp-uncrustify-style.cfg. The
differences and origins of these files are unclear, but the file added
with this commit is probably more consistent with the heavily cleaned
up areas of mplayer2 and this fork.
|
|
|
|
|
|
|
|
|
|
| |
The script was written to be able to deal with binary f |