summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Release 0.8.3v0.8.3release/0.8Diogo Franco (Kovensky)2015-03-171-1/+1
|
* Update RELEASE_NOTESDiogo Franco (Kovensky)2015-03-171-0/+2
|
* video: don't drop anamorphic scaling if it's too minorwm42015-03-171-8/+1
| | | | | | | | | | | This played e.g. a 1264x722 file as 1264x720. There was some code which dropped the aspect ratio if the video (in original resolution) wasn't scaled by more than 4 pixels. Commit 5f3c3f8c introduced this (although I'm not really sure what the code replaced by it did). Just remove this "feature". (cherry picked from commit d96fad04bea738ae420f3c8da390e2c8932f5915)
* command: don't drop audio buffers when switching filterswm42015-03-171-1/+0
| | | | | | | | | This partially reverts commit ae7228c6. I guess the old behavior was slightly more popular. Fixes #1693 (probably). (cherry picked from commit 699fc0e51e4672d567f85a3589a140eda69c9ee2)
* demux_lavf: fix rejection of image2 demuxerwm42015-03-161-0/+1
| | | | | | | This was probably broken for some time in git master, and the later commit which happened to fix it was not picked. Fixes #1689.
* Update RELEASE_NOTESDiogo Franco (Kovensky)2015-03-161-0/+28
|
* bootstrap: add waf mirrorMartin Herkt2015-03-161-5/+18
| | | | (cherry picked from commit 958dbca3ef480052ab3c801fd0fcbbdcb4600acb)
* audio: fix off by one error in channel map selection codewm42015-03-161-2/+2
| | | | | | | | | The consequence was that some AOs (like ao_jack) could not output 8 channels. Fixes #1688. (cherry picked from commit c4f4b0901496411c93647e36042128b08f5d153d)
* man: fix PDF buildMartin Herkt2015-03-161-3/+4
| | | | (cherry picked from commit add4c9ee037bb619509e660664a08b6f56531c30)
* cocoa: signal VO_EVENT_WIN_STATE on fps changeStefano Pigozzi2015-03-151-0/+2
| | | | | | Fixes #1686 (cherry picked from commit efe0fb75bc4bc3572edd241e60f31d620413a919)
* w32_common: don't hide cursor when the menu is openJames Ross-Gowan2015-03-151-8/+8
| | | | | | | | | | | | | | Previously, mpv would hide the cursor when the autohide timer expired, even if the window menu was open. This made it difficult to use the menu with the mouse. When handling VOCTRL_SET_CURSOR_VISIBILITY, instead of determining whether to call SetCursor by checking if the cursor is in the client area, call it based on the parameters to the last WM_SETCURSOR message. When the window enters "menu mode," it gets a WM_SETCURSOR message with HIWORD(lParam) set to 0 to indicate that the cursor shouldn't be set. (cherry picked from commit acbac01a73e22ba1b0aa48be191f72f988133edd)
* vo: update FPS only on state changeswm42015-03-152-13/+33
| | | | | | | | | | I'm not comfortable with VOCTRL_GET_DISPLAY_FPS being called every frame. This requires the VO to set VO_EVENT_WIN_STATE if the FPS could have changed. At least the X11 backend does this. (cherry picked from commit 209f8225eda88f5b3a56ac37e459e4e9bda01d7e)
* demux_mkv: make matroska.pl script output deterministicwm42015-03-151-1/+1
| | | | | | | | Work around the randomized Perl hashtables by sorting the elements. Fixes #1673. (cherry picked from commit 7e9c441d41ea0972641d1fb5ffddf2e11e46f23d)
* command: allow changing some VO options even if VO wasn't created yetwm42015-03-151-4/+4
| | | | | | | | | | | | | | Instead of refusing to set properties like "fullscreen" if no VO was created, always allow it. So if no VO is created, setting the property merely changes the options (and will be applied once the VO is created). This is consistent with similar behavior changes to some other properties. Improves the behavior reported in #1676. Also, we shouldn't check the config_ok variable - the VO should do this. (cherry picked from commit e9841630ad2962e106ebf6c6d1afd032cbf93b33)
* player: fix crash when taking screenshots in idle modewm42015-03-151-0/+2
| | | | | | | | | | | | mpctx->filename is obviously not set if no file is playing. When this code was written, it probably couldn't happen, because the normal screenshot path fails much earlier in idle mode. But you can still take screenshots in "full window" mode, and recently the screenshot code was changed to use the "full window" mode if the normal path does not work. (cherry picked from commit ca474d22c98d678003cf5c94612d874d79eae442)
* x11: ignore mouse enter/leave events due to pointer grabwm42015-03-151-0/+2
| | | | | | | | | | | | | If you click on a window that doesn't have a focus, a LeaveNotify followed by a EnterNotify event can be generated. The former will have mode set to NotifyGrab, the latter to NotifyUngrab. This will make the player think the mouse left the window, even though this is not the case. Ignore these and only react to those with mode set to NotifyNormal. Probably fixes #1672, and some other strange issues on some WMs. (cherry picked from commit 30860f7b1075d04b861e38cac72a6b1a2c951f6e)
* build: disable tests by defaultStefano Pigozzi2015-03-111-0/+1
| | | | | | | Having them autodetect is a bad idea since it would link cmocka in the main mpv binary (which users don't want). (cherry picked from commit ca0b33e9b1c5fb3bc12684c53bc2a1a22701a39d)
* vo: hide opengl-cb in --vo=helpwm42015-03-111-1/+1
| | | | | | Avoids stupid questions. (cherry picked from commit c7790b4526aaef08cd76f135dc2ea2dd62fab045)
* vo_opengl_cb: clear last video frame on uninit()wm42015-03-111-8/+9
| | | | | | | | | | | | | | mpv_opengl_cb_render() is supposed to clear the screen with the background color if there's no video... I think. It didn't do this, because although uninit() requested gl_video_config() to be called, this didn't happen, because this function checks whether the VO is set - and it's unsert after uninit() releases the lock. Also call the user wakeup callback in this situation, so the user actually redraws immediately. (cherry picked from commit eff265c1400f6795e284d4e7c9054cf288d6c0cf)
* client API: clarify mpv_opengl_cb_render() viewport parameterwm42015-03-111-1/+4
| | | | | | | | | | | | | | Basically, the idea behind the vp parameter is broken - I guess the intention was to enable rendering to a specific subrectangle of the target framebuffer, but there's nothing to specify the actual target rectangle (the VO will still clear e.g. the borders between video and framebuffer borders). We're not going to keep the current semantics either with the upcoming rework of vo_opengl, so declare this for broken. Maybe we can introduce a function later which does this properly. (cherry picked from commit 90adf2904e1c207a239fc4527e328b7facd22cad)
* stream: use relaxed atomic loads for checking playback abortswm42015-03-111-1/+1
| | | | | | | | | Seems appropriate, and will probably avoid performance surprises with scary architectures which don't have trivial implementations for atomic loads. (Consider that demux_mkv calls this very often now, and libavformat demuxers and streams did this for a while now.) (cherry picked from commit b9307b71753f205baaac99f8e803774c7efdebeb)
* demux_mkv: never warn when trying to resync on EOFwm42015-03-111-2/+4
| | | | | | | | If this happens, the file is actually broken, but the assumption is simply that the file was truncated, and printing a warning would be strange. (cherry picked from commit 112d9aeda1f059f22cd4cf0cbb2f489a74ecd9eb)
* demux_mkv: check for playback abortswm42015-03-113-0/+9
| | | | | | | | | | | Check async abort notification. libavformat already do something equivalent. Before this commit, the demuxer could enter resync mode (and print silly warning messages) when the stream stopped returning data because of an abort. (cherry picked from commit 39fa05d3742aea94c7638c5b9223d680459b7799)
* w32_common: remove redundant is_maximized functionJames Ross-Gowan2015-03-111-8/+1
| | | | | | This already exists as IsMaximized in the Windows API. (cherry picked from commit 5f0eda7b94e5af25970bfd5bef0cf401fe3a10e7)
* x11: fix VOCTRL_GET_WIN_STATEwm42015-03-111-0/+1
| | | | | | | | | | | | Do not rely on the pointed-to argument to be initialized; VOCTRLs are supposed to completely overwrite them on success (or not to touch them on failure). The currently only caller of VOCTRL_GET_WIN_STATE initializes the value before calling this, so this is merely about correctness and didn't lead to any actual bugs. (cherry picked from commit b7f242dfcf600b6ec8a861218df5fc0b71217455)
* stream/smb: mark as network stream for --cache=autoKevin Mitchell2015-03-111-0/+1
| | | | | | | | | This causes the cache to be enabled with --cache=auto. It was not done previously because the small cache size 320k actually led to worse performance. However, with the current default cache size of 25000kb, caching notably improves performance. (cherry picked from commit 3efbc1a9a38de2f0af4778ab9388c6a8e1c11ca6)
* manpage: document swapinterval defaultNiklas Haas2015-03-111-1/+2
| | | | (cherry picked from commit 6983430c35d8f71ad5d779c763f80d55bcf69c47)
* vf_vavpp: fix deinterlacingFilip Milivojevic2015-03-111-0/+8
| | | | | | | | Add filter parameters to VAAPI deinterlacing filter to actually process bottom fields instead of deinterlacing top field twice. Signed-off-by: wm4 <wm4@nowhere> (cherry picked from commit 5c3a6ca96e8bb5275149e5763f27c6aaed35113d)
* DOCS: minor update to coding stylewm42015-03-111-0/+2
| | | | (cherry picked from commit 6f507d14c1b05d6a7ac8bd9b01816de80f168113)
* cocoa: fix autohide in fullscreenStefano Pigozzi2015-03-114-5/+26
| | | | (cherry picked from commit 8ec9bce2d367541f9d3939f773b669beebd0be6d)
* cocoa: fix mouse hiding with launchpad and dock foldersStefano Pigozzi2015-03-113-1/+18
| | | | | | | | | | | | | | Some UI elements in OS X – like Launchpad and Dock folders – are implemented using borderless windows in background demonized applications. When we use these elements, mpv doesn't stop to be the active application, but the mpv window leaves keyWindow state while we use the OS controls. This commit just keeps track of window state to update the cursor visibility accordingly. Fixes #513 (cherry picked from commit ce239f1577ccd7eabccaac5b3b34fbe3959d860e)
* cocoa: clamp mouse position to window.torque2015-03-111-0/+2
| | | | | | | Prevents out-of-window coordinates being reported for mouse coordinates. Previously they could be out-of-window coordinates on init or on resize. (cherry picked from commit 39537f64746d8e0ea0f828efee251fb84acdf11f)
* cocoa: update mouse coordinates when window is initialized.torque2015-03-113-2/+4
| | | | | | | | Make MpvEventsView -signalMousePosition a public method so it can be called without a compiler warning. Previously, the mouse position would be reported as (0,0) until the cursor was moved. (cherry picked from commit bce753060eb9fb99ebc64fb6027d130a37b918a6)
* vo_opengl/x11: fix automatic ICC profile loadingMartin Herkt2015-03-112-6/+11
| | | | | | | | | | | | | | mpv would attempt to load ICC profiles several times during VO init even if no window is displayed. This potentially causes it to load a profile for a different screen than it is going to be displayed on, thereby invalidating the profile cache and rebuilding the LUT every single time. It would not unload a previously loaded profile when the video window is moved to a display without an installed profile. Fix these issues and tweak the log messages a little. (cherry picked from commit 1bab7f69aeb1ee80fdd2f75d7658cd5fef7ee2e3)
* cocoa: remove possible use after freeStefano Pigozzi2015-03-111-4/+4
| | | | (cherry picked from commit 5cddd4ccca79405ea57fcd423a554ddf12da0126)
* cocoa: fix some crashes caused by async uninitStefano Pigozzi2015-03-111-28/+13
| | | | | | | | | Always keep around our private state and destroy it when we are really done in the async uninit callback. Fixes #1657 (cherry picked from commit c66b51dab02d9eb0629dc87612459436cd1a882e)
* demux_mkv: actually skip elements out of reachwm42015-03-111-1/+2
| | | | | | | This is missing from the previous commit. Not that harmful, but also slightly un-nice since even a failed seek will reset the cache. (cherry picked from commit f0ab1f2048d6d04744957d75623ca5bd04fc23fa)
* demux_mkv: fix issues with unseekable streamswm42015-03-111-14/+16
| | | | | | | | | | | | | | | | | A user reported a webm stream that couldn't be played. The issue was that this stream 1. was on an unseekable HTTP connection, and 2. had a SeekHead element (wtf?). The code reading the SeekHead marked the element as unreadable too early: although you can't seek in the stream, reading the header elements after the SeekHead read them anyway. Marking them as unreadable only after the normal header reading fixes this. (The way the failing stream was setup was pretty retarded: inserting these SeekHead elements makes absolutely no sense for a stream that cannot be seeked.) Fixes #1656. (cherry picked from commit 12dcc5eaacdabb5ac56846ee81e9595857f4553e)
* Lua: add unpack shim for Lua 5.2/5.3 compatibility.torque2015-03-111-0/+2
| | | | | | | | | | | The global unpack function got moved to table.unpack in Lua 5.2, and it's only available as the global if 5.2 is built with compatibility enabled (the default). Lua 5.3 does not build with 5.1 compatibility by default. Fixes #1648. (cherry picked from commit 4ff29f33b0d86888a02524df5d6085c4bc29477e)
* player: allow changing playback speed in early audio init stageswm42015-03-111-1/+1
| | | | | | | | | | | If the audio decoder was created, but no audio filter chain created yet (still trying to decode a first audio frame), setting the "speed" property could explode. It tried to recreate the filter chain, even though no format was set yet. This is inconvenient and should not happen. (cherry picked from commit 720d4a5a1a82b2fa2da78dc2a3b1ca6ab87f973c)
* DOCS/compile-window.md: add Lua package to MXE instructionswm42015-03-111-2/+2
| | | | | | The MSYS2 ones already mention Lua. (cherry picked from commit 3fe61ada84fcbd3cef1bafe7c3369542afac1017)
* build: make vdpau and dxva2 checks nicerwm42015-03-112-4/+4
| | | | | | | | Using check_statement() with an empty statement just to check for the header is quite a hack. Fix check_headers() (so it takes a "use" parameter), and use it for the checks instead. (cherry picked from commit dfa562b5db95735edca8f7730d887f420e1cd585)
* DOCS, options: fix exampleChrisK22015-03-111-1/+1
| | | | (cherry picked from commit e9ff136dd3e5200f95e92739333e2d303e8fd174)
* build: check whether hwaccels are enabled in FFmpegwm42015-03-111-3/+5
| | | | | | | FFmpeg can be compiled with them disabled, and then it won't provide the public headers specific to these APIs, causing mpv compilation failure. (cherry picked from commit baa354c64c19ea159fe6574263024c41108c4967)
* vd_lavc: let --hwdec=auto select "vaapi-copy"wm42015-03-111-1/+1
| | | | | | | | | | | | | | Instead of "vaapi", simply by changing the probe order. "vaapi" uses the GLX GL interop, which has causing us more problems than it solved. Unfortunately this leads also to copying if "--hwdec=auto --vo=vaapi" is used, even though GLX is not involved in this case - but I don't care enough to make the probe logic cleverer just for this. You can still get the zero-copy path with --hwdec=vaapi. (cherry picked from commit 27b5492a828b5321a2f379f88f8f425cac0bbb85)
* vd_lavc: request 1 more threads than CPU coreswm42015-03-111-0/+2
| | | | | | | | | | | | This duplicates the logic which FFmpeg's libavcodec uses. The effects are unknown, though it's somewhat clear that a single thread doesn't necessarily saturate a single CPU. (Eventually we should just let FFmpeg auto-init the thread count, but for now I prefer it this way, so e.g. verbose mode will print the thread count.) (cherry picked from commit 9657e5a2caef74de799fab0b9920284660865da9)
* vo_vaapi: fix video equalizer (second try)wm42015-03-111-12/+36
| | | | | | | | | | | | | | The vaapi equalizer have a custom range, and can have a smaller range than mpv's normalized video equalizer values. The result is that a vaapi equalizer value can map to multiple mpv values, so changing a mpv value by 1 can get "stuck". Fix by remember the mpv value, and returning it if it still corresponds to the vaapi value. Really fixes #1647. (Why am I even bothering with this irredeemable crap?) (cherry picked from commit fc571e0adb2498cc9278ee51f9aa6b00ee165644)
* vo_vaapi: round equalizer valueswm42015-03-111-2/+5
| | | | | | | Probably fixes #1647 (if it's correct at all). I couldn't reproduce with the vdpau libva driver, but a driver can use different ranges. (cherry picked from commit 4e3f8ccb9d24f2f0940e93d1a8582e562265dede)
* README: fix typoswm42015-03-051-1/+1
| | | | (cherry picked from commit 6d4a75829522f9fe376a08a97ea3ae8d6cb72575)
* ad_spdif: remove per-packet messagewm42015-03-051-1/+0
| | | | | | It was annoying and didn't ever help with anything. (cherry picked from commit 55f69605fb330e73e71f6dc7254bf72bed8607dd)
* cache: assume file size from EOF positionwm42015-03-051-2/+8
| | | | | | | | If we're caching a stream with unknown size, and we reach EOF, then consider the EOF position the file size. Typically makes sense when reading from a pipe or a http connection that did not send a size. (cherry picked from commit 3cd394995f812aba93166febd1032e3f4208d49b)
* README: add some better linkswm42015-03-051-3/+31
| | | | | | | Also write something about MPlayer, since this is a frequently asked question. (cherry picked from commit 771cb349325661d86edab6b1cac46d4ecf765a16)
* win32: fix some more -Wparentheses warningswm42015-03-053-4/+4
| | | | | | | | | Stupid compiler. For decode_surrogate_pair(), I changed the order of evaluation; it shouldn't matter, but this order is more readable in my opinion. (cherry picked from commit 85bf102f54cfae9945d26f1edc0e642975881dfa)
* cocoa: silence -Wlogical-op-parenthesesStefano Pigozzi2015-03-051-1/+1
| | | | (cherry picked from commit 3c3f9a8042b9d681481eb1469dc1514833452f29)
* build: fix warnings with --disable-libasswm42015-03-051-2/+2
| | | | | | This crap seems to break every other fullmoon. (cherry picked from commit 0bbf36b796336c41ce8a7ef2054276254ba56067)
* stream_cdda: fix parameter passingwm42015-03-041-2/+0
| | | | | | | All cdda options (except --cdrom-drive) were ignored, because the priv struct (with the options set) was just replaced. Oops. (cherry picked from commit 1ba24d25853c0bb42526344345dc1c20741af338)
* player: refine rar:// playlist-safety handlingwm42015-03-036-9/+11
| | | | | | | | | | | | | | It was possible to make the player play local files by putting rar:// links into remote playlists, and some other potentially unsafe things. Redo the handling of it. Now the rar-redirector (the thing in demux_playlist.c) sets disable_safety, which makes the player open any playlist entries returned. This is fine, because it redirects to the same file anyway (just with different selection/interpretation of the contents). On the other hand, rar:// itself is now considered fully unsafe, which means that it is ignored if found in normal playlists. (cherry picked from commit a4b6bf8c41b54554286117b97e78412a32b5147f)
* msg: use relaxed atomics for log level testwm42015-03-032-1/+9
| | | | | | | | This should be sufficient. If stdatomic.h is not available, we make no difference. (cherry picked from commit 01b87e509c292189acdd96bc7a216b50eafbce9e)
* vf_scale: libswscale is being stupidwm42015-03-032-3/+10
| | | | | | | | | | | | | | This time (there are a lot of times), libswscale randomly ignores brightness/saturation/contrast settings. Looking at MPlayer code, it appears the return value of sws_setColorspaceDetails() signals if changing these settings is supported at all. (Nevermind that supporting this feature has almost 0 value, and obviously eats maintenance time.) (cherry picked from commit 08199a64d2e7e9f1a9430f0258a98285cdf1c902)
* Lua: add mp.get_screen_margins().torque2015-03-031-0/+12
| | | | | | | | When used with mp.get_screen_size(), mp.get_screen_margins() allows a Lua script to determine what portion of the mpv window actually has the video in it. (cherry picked from commit 1bbf1eb3ce2bdb0ef3ec3b045074bcb2f3af6a7a)
* stream