summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* TOOLS: autoload.lua: sort files case insensitivewm42015-04-181-1/+3
| | | | | Suggested by a user. The suggested code which was added her comes from PIL.
* af_lavrresample: fix drainingwm42015-04-181-8/+8
| | | | | configure_lavrr() clears s->pending, so we have to assign it after that call.
* stream_file: minor simplificationwm42015-04-171-11/+8
| | | | | Now all this platform-specific code doesn't depend on stream or stream_file internals anymore.
* player: allow playing directorieswm42015-04-173-5/+58
| | | | | | | | | | | If a directory is encountered, replace it with its contents in the internal playlist. This is messed into demux_playlist.c, because why not. STREAMTYPE_DIR could be avoided by unconditonally trying opendir() in demux_playlist.c, but it seems nicer not to do weird things like calling it on real files. This does not work on Windows, because msvcrt is retarded.
* demuxer_lavf: add an option for disabling hackswm42015-04-172-0/+11
|
* options: clarify quoting for option values starting with %wm42015-04-172-9/+13
|
* TOOLS/umpv: fix typo in docstringAdrian Sadłocha2015-04-171-1/+1
|
* vf_crop, vf_expand: remove ancient and useless messageswm42015-04-162-19/+1
| | | | These are redundant.
* vf_mirror: replace internal implementation with libavfilterwm42015-04-161-85/+4
| | | | | Currently, libavfilter's equivalent vf_hflip is probably not faster or anything, but there's still no reason to keep the internal code.
* vo: fix non-sense in init codewm42015-04-161-1/+1
| | | | | I assume this was intended to generate an initial change event in order to make the user read the initial values.
* vo: cosmetics: reindent VO listwm42015-04-161-23/+23
| | | | | And also undoxygenify a comment. (There used to be some inconsistent doxygen comments in MPlayer time; they are being removed on sight.)
* vf_screenshot: remove this filterwm42015-04-168-97/+3
| | | | | | It's entirely useless, especially now that vo.c handles screenshots in a generic way, and requires no special VO support. There are some potential weird use-cases, but actually I've never seen it being used.
* command: let screenshot_to_file command overwrite fileswm42015-04-162-7/+1
| | | | | | | The old behavior does not make too much sense after all. If you don't want to file to be overwritten, the user can check this manually. This is a change in behavior - let's hope nobody actually relied on it.
* video: do not show decoder framedrops if they're not requestedwm42015-04-162-5/+5
| | | | | | | | | | | libavcodec makes it impossible to distinguish dropped frames (requested with AVCodecContext.skip_frame), and cases when the decoder simply does not return a frame by default (such as with VP9, which has invisible reference frames). This confuses users when decoding VP9 video. It's basically a cosmetic issue, so just paint it over by ignoring them if framedropping is disabled.
* vo_drm: add missing documentationMarcin Kurczewski2015-04-161-0/+13
|
* vo_drm: add KMS/DRM renderer supportMarcin Kurczewski2015-04-164-0/+522
| | | | Signed-off-by: wm4 <wm4@nowhere>
* subprocess: move implementation for deatched subprocesseswm42015-04-155-34/+63
|
* subprocess-posix: always connect stdin to /dev/nullwm42015-04-151-1/+12
| | | | | | | | It appears youtube-dl sometimes asks for a password on stdin. This won't work, because mpv already uses the terminal. (I wonder if this could be simpler, like simply closing FD 0, but let's not. The FD would be reused by something random.)
* x11: actually disable screensaverwm42015-04-152-12/+61
| | | | | | | | | | | | | | | | | | | We already use 2 screensaver APIs when attempting to disable the screensaver: XResetScreenSaver() (from xlib) and XScreenSaverSuspend (from the X11 Screen Saver extension). None of these actually work. On modern desktop Linux, we are expected to make dbus calls using some freedesktop-defined protocol (and possibly we'd have to fallback to a Gnome specific one). At least xscreensaver doesn't respect the "old" APIs either. Solve this by running the xdg-screensaver script. It's a terrible, ugly piece of shit (just read the script if you disagree), but at least it appears to work everywhere. It's also simpler than involving various dbus client libraries. I hope this can replace the --heartbeat-cmd option, and maybe we could remove our own DPMS/XSS code too.
* options: --hr-seek=always is the same as --hr-seek=yeswm42015-04-152-1/+2
| | | | | | It seems this choice was never documented. "always" is actually older than "yes", so just declare it a compatibility value for "yes". (Also move it before "always" in the C code to make this clear.)
* manpage: clarify --af=formatKevin Mitchell2015-04-151-14/+16
|
* manpage: remove extra newline at end of af.rstKevin Mitchell2015-04-151-1/+0
|
* ao_alsa: fallback to stereo channel layout if everything else failswm42015-04-141-1/+4
| | | | | | mp_chmap_from_channels_alsa() doesn't always succeed - there are a bunch of channel counts for which no defined ALSA layout exists. Fallback to stereo in this case. (Normally, this code path shouldn't happen at all.)
* mapage: update --hwdec=vaapi description againwm42015-04-141-2/+1
| | | | | Supposedly this is not an issue anymore after we've changed the code to use texture-from-pixmap.
* player: silence spam in verbose mode when playing audio with cover artwm42015-04-141-1/+1
| | | | | | When playing cover art, it conceptually reaches EOF as soon as the image was put on the VO, causing the EOF message to be repeated every time new audio was decoded. Just silence the message.
* input.conf: unmap menu keywm42015-04-141-1/+0
| | | | | | This was mapped to a broken command, so it did nothing but printing an error message. The intended binding (cycling OSD level) doesn't seem to useful either, so just drop it.
* vo_opengl: change dwmflush option valueswm42015-04-142-4/+6
| | | | | Use a choice instead of an integer. This is incompatible, but I'm not adding any compatibility since this option was added recently.
* options: don't let --vf-clr etc. take an argumentwm42015-04-131-0/+5
| | | | | | | It was ignored before. Passing an argument makes no sense, and might be mistaken for some form of --vf-del, so complain about it. This also affects --af-clr and the vf/af commands.
* vo_rpi: explicitly reference MMAL VC driverwm42015-04-131-0/+8
| | | | | | | This is optional, but ensures that linking with -Wl,--as-needed does not drop the MMAL VC driver. The driver normally "registers" itself in the library constructor, but since no symbols are explicitly referenced, the linker could remove it with as-needed enabled.
* man/options: make --audio-display easier to findMartin Herkt2015-04-131-2/+3
| | | | | | I tried to find that option by searching for terms like “cover art” and got nothing. I imagine most users would look for similar terms. Hope this helps.
* DOCS/contribute.md: Add guideline for pull requestsrobin007bond2015-04-131-0/+3
| | | | | | | This commit is to prevent changes being merged into upstream, without being known if it is tested or not. Signed-off-by: wm4 <wm4@nowhere>
* OSX/mpv.app/mpv.conf: Use pseudo-guirobin007bond2015-04-131-2/+1
| | | | | | | | The player is now forced to use the pseudo-gui profile. Fixes #1808 and #1754. Signed-off-by: wm4 <wm4@nowhere>
* Update license headersMarcin Kurczewski2015-04-13246-1233/+1012
| | | | Signed-off-by: wm4 <wm4@nowhere>
* af_lavrresample: minor simplificationwm42015-04-121-4/+4
| | | | | The in/out pointers usually have not much meaning outside of AF_CONTROL_REINIT. Also remove the redundant casts.
* af_lavrresample: allow resetting output sample formatwm42015-04-121-2/+3
| | | | It must be allowed to set format==0.
* audio/filter: fully renegotiate audio formats on every reconfigwm42015-04-121-0/+10
| | | | | | | | | | | | | | | | | | | It could happen that a lavrresample filter would keep its old output format when the decoder changed its output format. This simply happened because the output format was never reset. Normally, this was not an issue, because lavrresample filters only inserted for format conversion were removed on format changes. But if --no-audio-pitch-correction is set and playback speed is changed, then there is a "permanent" lavrresample filter in the filter chain, which shows this behavior. Fix by explicitly resetting output formats for all filters which support it. Note: this can crash with libswresample in some cases. I'm not sure if this is mpv's fault or libswresample's, but since it works with libavresample, I'm going to assume it's not our's.
* DOCS/waf: Edit --enable-feature sentencesrobin2015-04-121-2/+3
| | | | | | | The gender specific pronoun is changed, since we shouldn't assume the gender of the user. The sentence itself is also changed to be more correct in general.
* vo_opengl: slightly simplify check_gl_features()wm42015-04-111-25/+12
| | | | | | | | | | Not sure why this was so roundabout; probably to keep spam down if the user's OpenGL drivers are crap (but then just don't enable extended features), or because the "Disabling..." text was so repetitious. But there doesn't seem to be a good reason after all. Also, this could already overflow the fixed size disabled[] array. Just print the messages directly.
* vo_opengl: unify blend-subtitles-res and blend-subtitleswm42015-04-113-20/+12
|
* vo_opengl: fix blend-subtitles-res=video & anamorphic videowm42015-04-111-1/+6
| | | | | Since scaling the video changes the aspect ratio, we have to compensate for this when rendering subtitles.
* manpage: mention how pseudo-gui mode is enabled on win32wm42015-04-111-2/+7
|
* main-fn-win: fix handle validity check for XPJames Ross-Gowan2015-04-111-1/+2
| | | | | | | Apparently the standard handles can be set to bogus values on XP. Use GetFileType to check whether they refer to an actual file/pipe/etc. The logic used by is_valid_handle() is now pretty similar to what the CRT uses to check for valid stdio handles.
* win32: use pseudo-gui profile when started without stdioJames Ross-Gowan2015-04-111-6/+35
| | | | | | If mpv is started from Explorer or the Start Menu, it will have no console and no standard IO handles. In this case, it's fairly safe to enable the pseudo-gui profile.
* win32: only attach to the console from mpv.comJames Ross-Gowan2015-04-114-13/+49
| | | | | | | | | | | | | | | | | | | Previously, mpv.exe used the --terminal option to decide whether to attach to the parent process's console, which made it impossible to tell whether mpv would attach to the console before the config files were parsed. Instead, make mpv always attach to the console when launched from the console wrapper (mpv.com) and never attach otherwise. This will be useful for the next commit, which will use the presence of the console to decide whether to use the pseudo-gui profile. This change should also be an improvement in behavior. The old code would attach to the parent process's console, regardless of whether it was mpv.com or some other program like cmd.exe. This could be confusing, since mpv.exe is marked as a Windows GUI program and shouldn't write text to its parent process's console when launched directly. (See #768.) Visual Studio does something similar with its devenv.com wrapper. devenv.exe only attaches to the console when launched from devenv.com.
* win32: use a platform-specific unicode entry-pointJames Ross-Gowan2015-04-118-40/+32
| | | | | | | | | | Add a platform-specific entry-point for Windows. This will allow some platform-specific initialization to be added without the need for ugly ifdeffery in main.c. As an immediate advantage, mpv can now use a unicode entry-point and convert the command line arguments to UTF-8 before passing them to mpv_main, so osdep_preinit can be simplified a little bit.
* vo_opengl: add blend-subtitles-resNiklas Haas2015-04-103-4/+30
| | | | | This can be used to draw the subtitles at the video's native res, which can make them look more natural and increases performance.
* manpage: document pseudo-gui stuffwm42015-04-101-0/+28
|
* mp_image: remove redundant flags fieldwm42015-04-103-8/+6
| | | | | | | Because gcc (and clang) is a goddamn PITA and unnecessarily warns if the universal initializer for structs is used (like mp_image x = {}) and the first member of the struct is also a struct, move the w/h fields to the top.
* mp_image: remove redundant chroma_x/y_shift fieldswm42015-04-105-13/+9
|
* mp_image: remove redundant plane_w/h fieldswm42015-04-104-21/+31
| | | | Seems relatively painful in this case, but they are morally wrong.
* player: use config parser for setting up pseudo-gui profilewm42015-04-103-11/+12
|
* player: change pseudo-gui settingswm42015-04-101-2/+1
| | | | | | Remove --keep-open. Switch to --idle=once. This effectively makes the player quit after end of playback, but still shows the idle screen if it was started with no files.
* vo_opengl: use correct texture coordinates for nv12wm42015-04-101-1/+1
|
* ao_coreaudio: fix inverted conditionwm42015-04-101-3/+4
| | | | And also use the correct type for the printf call below.
* player: do not accidentally init terminalwm42015-04-101-2/+1
| | | | | | | Starting the command line player with --no-terminal, the terminal was sitll initialized. This happened because update_logging() used the option value before the options were parsed. Fix by moving down the initialization to before the point where it's actually needed.
* README: remove dead linkwm42015-04-101-1/+1
|
* mp_image: fix buildwm42015-04-091-2/+0
|
* mp_image: get rid of chroma_width/height fieldswm42015-04-092-7/+4
| | | | | | | They are redundant. They were used by draw_bmp.c only, and only in a special code path that 1. used fixed image formats, and 2. had image sized perfectly aligned to chroma boundaries (so computing the chroma width/height is trivial).
* screenshots: drop some useless jpeg writer optionswm42015-04-091-11/+0
|
* screenshots: write jpg files with original subsamplingwm42015-04-091-1/+5
| | | | | A screenshot from a 4:2:0 video will use 4:2:0, RGB will use 4:4:4, and so on. (The image data still goes through RGB conversion always.)
* Update README.mdCris2015-04-091-20/+42
| | | | Signed-off-by: wm4 <wm4@nowhere>
* ytdl: set additional properties for rtmp streamsSebastian Mayr2015-04-091-3/+21
|
* opengl: win32 - add option 'dwmflush' to sync in DWMAvi Halachmi (:avih)2015-04-094-0/+69
| | | | | | | This could help in cases where the DWM (Windows desktop compositor) adds another layer of bufferring and therefore the SwapBuffers timing could get messed up. Signed-off-by: wm4 <wm4@nowhere>
* opengl: smoothmotion: wake up for next vsync a bit earlierAvi Halachmi (:avih)2015-04-091-1/+1
| | | | | | | | on my windows system this allows smoothmotion to work perfectly also in windowed mode. There's no real right or wrong here, with the the only goal being to always hit the next vsync. however, on cases where vsync timing is jittery (as could happen with DWM), this patch tries to aim to the middle of the vsync cycle to get as least affected as possible by such jitter.
* opengl: drop less frames when clip and display have similar fpsAvi Halachmi (:avih)2015-04-091-1/+9
| | | | | | | | adds 1 vsync interval "slack" before deciding to drop the first frame. it should help on cases of timing jitter (sleep duration, container timestamps, compositor vsync timing, etc). once the drop threshold has been crossed, it will keep dropping until perfect timing alignment. this prevents crossing the drop threshold back and forth repeatedly and therefore more resilient to frame drops
* ytdl_hook.lua: Disable video when vid option is "no"robin2015-04-091-0/+7
| | | | | | When setting options like --no-video, ytdl_hook adds the "-x" argument to youtube-dl, so that bandwith is saved by not downloading the video on some sites.
* vo_opengl_cb: deprecate mpv_opengl_cb_render()wm42015-04-097-24/+42
| | | | Its vp parameter made no sense anymore. Introduce a new one.
* vo_opengl_cb: add a function to report vsync timewm42015-04-098-1/+48
| | | | | | | And also let vo.c know of it. Currently, this does not help much, but will facilitate future improvements.
* vo_opengl_cb: fix video timing somewhatwm42015-04-091-2/+2
| | | | | | | | | | | | | | | | | | Increase the default queue size. This helps with "missed" frames due to the asynchronous nature of the API. All the other VOs are synchronous, so if rendering and displaying takes a while, the common code in vo.c will be blocked until it can continue. But with opengl-cb, vo.c might immediately push the next ready frame, which causes the current frame to be dropped _if_ it wasn't rendered yet. One could fix this by making vo.c wait a while (until the API user calls the render function, which pulls the frame). But setting the default queue size to 2 seems much simpler: instead of dropping the frame, it will be pushed to the API user once the next renderer call finishes. (This is still a bit strange, and will hopefully be cleaned up when video scheduling is redone, but for now this appears to deliver relatively good results.)
* vo_opengl: log used GLXFBConfigwm42015-04-091-0/+1
| | | | | Now don't ask me why the GLXFBConfig type is a pointer, but stores an integer ID.
* vo_opengl: remove unused functionwm42015-04-092-6/+0
|
* sub: don't truncate timestamps to intwm42015-04-081-1/+1
| | | | | Realistically probably no problem at all since they're in ms and usually start from 0, but whatever.
* sub: unprefer libavcodec's MicroDVD converterwm42015-04-081-1/+1
| | | | | | | | | | Prefer the builtin one again. libavcodec still uses the ASS packet format that uses inline timestamps, so the packet timestamps are ignored. This again leads to additional rounding of timestamps, because the ASS storage format only has 10ms resolution (instead of 1ms resolution like libass). This again can lead to unintentional overlaps when converting subtitles. The internal MicroDVD converter avoids this, because it always uses packet timestamps.
* manpage: lua: clarify timer usagewm42015-04-081-0/+17
| | | | | | This seems to come up often. I guess '.' vs. ':' for Lua calls is confusing, and this part of the scripting API is