aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
...
* vo_opengl: simplify the case without texture_rgGravatar wm42014-12-18
| | | | | | | | | | | | If GL_RED was not available, we used GL_ALPHA. But this is an unnecessary complication, and it's easier to use GL_LUMINANCE instead. With the latter, a texture will return the .r component set, and as long as the shader doesn't look at the other components, the shader doesn't need any changes. Some of the changes added in 0e8fbdbd are now unneeeded. Also, realign the entire gl_byte_formats_legacy table.
* player: cosmetics: remove ancient commentGravatar wm42014-12-17
| | | | | The DVD horror was confined to specific parts of the player, instead of having it spread everywhere.
* command: extend revert_seek commandGravatar wm42014-12-17
| | | | | "revert_seek mark" basically forces the seekback point. It's basically a one-way bookmark.
* vo_opengl: don't assume legacy OpenGL is available with GLESGravatar wm42014-12-17
| | | | | | OpenGL 3.0 has the weird situation that it's "hard" to detect whether legacy GL is really present. Since we pretend that we have OpenGL 3.0 if we use GLES, it was assuming legacy GL is available.
* build: add -Werror=format-security, add -W flags in all platformsGravatar wm42014-12-17
| | | | | | | The idea of using -Werror=format-security comes from MPlayer. Try to use the compiler flags with any compiler. There's no reason not to apply them on clang.
* vo_opengl: add some OpenGL standard symbols missing on OSXGravatar wm42014-12-17
| | | | | | Older OSX versions are missing some OpenGL 3 symbols, apparently. At least there's some precedent in the headers. Just add the symbols manually for now to fix OSX (on travis-ci) compilation.
* vo_opengl: GLES 3 supportGravatar wm42014-12-17
| | | | | | | | | | | | Tested with MESA on software emulation. Seems to work well, although the default FBO format in opengl-hq disables most interesting features. I have no idea how well it will work on real hardware (or if it does at all). Unfortunately, some features, including playback of 10 bit video, are not supported. Not sure what to do about this. GLES 2 or 1 do not work.
* vo_opengl: remove useless FBO testGravatar wm42014-12-17
| | | | | | | | | Remove the readback stuff; it was a useless mess. Don't test GL_R16 as FBO. The intention was to measure the effective bitdepth of the texture, except that it was never actually done. (There's also a OpenGL function which is supposed to retrieve the bitdepth, but we don't use that either.)
* vo_opengl: cleanup dither texture creationGravatar wm42014-12-17
| | | | Might be slightly more compatible too, and will make it work on GLES.
* vo_opengl: switch default FBO format to rgba, use GL_RGBAGravatar wm42014-12-17
| | | | | | | | | | I'm hoping this is generally more compatible, and it works with GLES. This probably has not much of an effect on desktop GL. It also switches only the default format for --vo=opengl, not --vo=opengl-hq. "-hq" already uses GL_RGBA16, though since it's a sized format, the story is a bit different, and it won't work on GLES either.
* vo_opengl: glsl: stricter typingGravatar wm42014-12-17
| | | | | | | | Older GLSL dialects as well as GLES3 do not support the following things in expressions: - implicit conversions of integer constants to float - arithmetic of float*vecN
* dvd: add the last chapterGravatar wm42014-12-16
| | | | | | | | | | | | As suggested in issue #1251. I think the main point is that it acts as a hack to return to the DVD menu when jumping past the last chapter, because it will reach title-EOF, instead of explicitly jumping to the next file (which usually exits the player). This basically reverts commit 8b7418d, except it doesn't include an off-by-1 error (apparently). Closes #1251.
* vo_opengl: remove icc profile options from runtime-settable optionsGravatar wm42014-12-16
| | | | | | | | | | | | | | | | | | Because of the icc-profile-auto option (which was added at a later point), supporting this would probably be slightly messy: the ICC profile can spontaneously update, and then it would overwrite the previously set options. Don't make icc-profile-auto fatal if unsupported. The "auto" indicates that it will use whatever it finds, even if it's nothing. Also add a warning; before this commit, it just refused to initialize without explanation. As a mostly unrelated cosmetic change, remove redundant parameters which had no point anymore. Probably fixes #1359 (or rather works it around by disallowing it).
* vo_opengl: remove requirement for RG texturesGravatar wm42014-12-16
| | | | | Features not supported are disabled (although with a misleading error message).
* vo_opengl: remove inactive codeGravatar wm42014-12-16
|
* vo_opengl: fix broken rejection of extended scalingGravatar wm42014-12-16
| | | | | Possibly explains why some users got mysterious FBO errors on crappy hardware.
* ao_coreaudio: fix mono/stereo channel mappingGravatar Stefano Pigozzi2014-12-16
| | | | | | Needed after af3bbb800d since now we use channel mapping all the time. Fixes #1357
* ao_coreaudio: add missing goto for error pathGravatar Stefano Pigozzi2014-12-16
|
* ao/wasapi: use IsEqualGUID and IsEqualPropertyKeyGravatar Kevin Mitchell2014-12-16
| | | | before we were reinventing this wheel
* Revert "vo/w32_common: use local definition of IID_ITaskbarList2"Gravatar Kevin Mitchell2014-12-16
| | | | | | This reverts commit 17067343eb10293beb61d3811680b9c59f4db311. Embarassingly, this turned out not to be necessary.
* vo/w32_common: use local definition of IID_ITaskbarList2Gravatar Kevin Mitchell2014-12-15
| | | | It is not defined in the current cygwin release.
* build: require alsa libs not older than 6 yearsGravatar wm42014-12-16
| | | | | Some IEC958 flags we use have been introduced in 2008, which makes compilation fail on older systems.
* manpage: ao_alsa: link upmix wiki entryGravatar wm42014-12-16
| | | | | | Also clarify the statement about what we expect to happen by default. It's well possible that distros at some point will fix their ALSA configuration, and e.g. enable the upmix plugin by default.
* command: format ${avsync} like on terminal status lineGravatar wm42014-12-16
| | | | | | Padding with spaces is very useless for OSD (because most fonts are variable width), but it's good when using it on the terminal, e.g. for reproducing the default terminal status line.
* audio: make native channel count the default instead of stereo downmixGravatar wm42014-12-15
| | | | | | | | | | | | | | This should work well with most audio APIs, except ALSA. A long-winded explanation is provided how to make ALSA multichannel output work. All other AOs should have no such problems. Of course it's possible that previously unknown issues arise, because I assume that enabling multichannel audio is actually relatively rare. This also disables codec downmix by default, which could change the audio output due to different mixing in the codec and libavresample. Fixes #1313.
* ao_alsa: remove old multichannel methodGravatar wm42014-12-15
| | | | | | | | | | | | | | | | | | | | | | | | | The "old" method (before the ALSA channel map API) used device aliases like "surround51" to set the channel layout. The "interesting" part was that these devices usually redirect to a hardware device. This means playing stereo would lead you to the "default" device (dmix), while e.g. 5.1 to "surround51", which automatically takes care of the fact that dmix can't do 5.1. This is pretty much nonsense, though. It shouldn't depend on the damn input media file whether the player is going to use shared access (dmix) or exclusive access (direct hw device). As a consequence, by default ao_alsa will do only what dmix can do. If the user actually wants multichannel, he has to select a suitable hw device with --audio-device. From there on, the correct speaker mapping will be ensured via the channel mapping API. The change is preparation for making multichannel output the default (as far as supported by the audio output API). Of the common APIs, only ALSA messes up beyond repair, so I feel like this change is needed. On ancient alsa-lib versions, only stereo and mono can be played with this branch.
* ao_alsa: add ridiculous hack to deal with braindead ALSA behaviorGravatar wm42014-12-15
| | | | | | | | | | | | | | | | | | | | | dmix reports channel layouts it doesn't support. The rest of the technical part of the story is in the code comment. This seems to be the only reasonable way to fallback from trying to initialize certain devices (like dmix) with multichannel audio. We could probably add support for such padding channels to our audio chain or to ao_alsa itself, but this would probably be much more work than this commit. What dmix does is probably a bug. I've tried to report it to ALSA. Thay have a link on their website to a bug tracker, but it's a dead link, and has been for years. I've posted to alsa-devel, but received no reply. I'm thus assuming this absolutely retarded behavior is by design, and nothing will happen to improve upon it. I'm considering sending Lennart Poettering a "thank you" email, because with PulseAudio, multichannel audio just works (although some other things just don't work).
* client API: be more lenient about mpv_suspend/resume mismatchesGravatar wm42014-12-15
| | | | | | | | | | | | Before this commit, this was defined to trigger undefined behavior. This was nice because it required less code; but on the other hand, Lua as well as IPC support had to check these things manually. Do it directly in the API to avoid code duplication, and to make the API more robust. (The total code size still grows, though...) Since all of the failure cases were originally meant to ruin things forever, there is no way to return error codes. So just print the errors.
* lua: cosmetics: fix some include directivesGravatar wm42014-12-15
| | | | | | Apparently, the atomics were used by the win32 subprocess code. This code was moved to a separate file, but the atomics.h include was forgotten.
* ao/wasapi: set the ao with the waveformat channelmapGravatar Kevin Mitchell2014-12-15
| | | | hopefully this fixes #1350
* scripting: fix/improve deprecation messageGravatar wm42014-12-15
| | | | | | | | | The message was missing a '\n', so it was merged with the next line, which also typically caused it not to be printed with the colors for warnings. Print the full new path in the warning message. (Normally, cfg should never be NULL, so accounting for this case is just for robustness.)
* vo_opengl: remove quadbuffer/anaglyph stereo 3D renderingGravatar wm42014-12-15
| | | | | | | | Obscure feature, and I've never heard of anyone using it. The anaglyph effects can be reproduced with vf_stereo3d. The only thing that can't be reproduced with it is "quadbuffer", which requires special and expensive hardware.
* options: deprecate 'lua' based options/dirs for 'script'Gravatar Avi Halachmi (:avih)2014-12-15
| | | | | | | | | | | | - --lua and --lua-opts change to --script and --script-opts - 'lua' default script dirs change to 'scripts' - DOCS updated - 'lua-settings' dir was _not_ modified The old lua-based names/dirs still work, but display a warning. Signed-off-by: wm4 <wm4@nowhere>
* vo_x11: don't attempt to resize when unconfiguredGravatar wm42014-12-14
| | | | | | Fixes #1347. The previous commit actually fixes the crash.
* vo_x11: check allocation errorsGravatar wm42014-12-14
| | | | Avoids a crash if allocation fails.
* build: add checks for some compiler warning flagsGravatar wm42014-12-14
|
* vd_lavc: fix error handling pathGravatar wm42014-12-13
| | | | The ctx->pic check must uninitialize the decoder.
* mp_image: check for malloc failureGravatar wm42014-12-13
| | | | | Or rather, the only reason av_buffer_create() can fail is a malloc failure.
* command, dvd: add property which returns list of DVD titlesGravatar wm42014-12-13
| | | | | | | | | This was requested. It seems libdvdread can't get the duration for titlesets other than the currently opened title. The data structures contain dangling pointers for these, and MPlayer works this around by opening every title separately for the purpose of dumping the title list.
* stream_cdda: don't return number of tracks as number of titlesGravatar wm42014-12-13
| | | | | | Apparently, we treat different tracks as titles, so returning the number of titles (which is user-visible as "disc-titles" property) is completely misguided.
* dvd: drop last chapterGravatar wm42014-12-13
| | | | | | | Apparently, libdvdnav always reports a last chapter that points to the exact end of the title. This is useless for us. Again, same possible caveats as with the previous commit.
* dvd: add an extra chapter at position 0Gravatar wm42014-12-13
| | | | | | | This way, chapter 0 will always point to the start of the title. At least this is the intention; it's likely that DVDs as well as libdvdnav do random things that lead to random results.
* osxbundle: don't use sed but pure pythonGravatar Mihai Moldovan2014-12-13
| | | | | | | | GNU sed and BSD sed don't share the same options for editing files in-place, so a workaround is needed. The most simple way is to use a pure python implementation of applying the changes.
* DOCS: add missing close bracketGravatar Ben Boeckel2014-12-12
|
* options: add option for ignoring patch in resume mechanismGravatar wm42014-12-13
| | | | | | Whatever. Fixes #1281.
* player: add a --keep-open=always modeGravatar wm42014-12-12
| | | | | | | | The --keep-open behavior was recently changed to act only on the last file due to user requests (see commit 735a9c39). But the old behavior was useful too, so bring it back as an additional mode. Fixes #1332 (or rather, should help with it).
* options: fix parsing for --ab-loop-*Gravatar wm42014-12-12
| | | | Editing mistake. Oops.
* Check some mallocsGravatar wm42014-12-12
| | | | Fixes #1337.
* DOCS/crosscompile-mingw: updateGravatar wm42014-12-12
| | | | Unrecommend mingw-w64-cmake, point out MXE host requirements.
* command: add properties for current bitrateGravatar wm42014-12-12
| | | | Fixes #1192.