summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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_dvb: Always define NO_STREAM_ID_FILTER if missing.Oliver Freyermuth2015-03-032-2/+2
| | | | | | | | | It is also used for initialization in channel-list setup. Should fix compilation on FreeBSD, and is more correct since it is used unconditionally. Reverts 6445648 . (cherry picked from commit 40c9e7906831e67ad3b83324d5a95f4c8a869b9e)
* cocoa: remove the setNextKeyView hackStefano Pigozzi2015-03-032-6/+14
| | | | | | | | Just use makeFirstResponder on the mpv events view from client code if you need the built in keyboard events (this is easier for dealing with view nesting). (cherry picked from commit 03a69bac95ce4e15016138104cd198a6a60c38cd)
* examples/cocoabasic: allow to send stop commandStefano Pigozzi2015-03-031-13/+19
| | | | (cherry picked from commit 721e430cd2da16e0802781171a3cedb3849eec24)
* manpage: fix typozymos2015-03-031-1/+1
| | | | | Signed-off-by: wm4 <wm4@nowhere> (cherry picked from commit b74238416237d8a4b9fb02278e7b4fadf1f4b4f7)
* vo_opengl: delete 16 bit test texturewm42015-03-031-0/+1
| | | | | | | Essentially a leak, but not that bad since it's small and allocated only once. (cherry picked from commit 73c5c3df5336348367902ec76a5f702909549696)
* vo_opengl: fix some commentswm42015-03-031-3/+3
| | | | (cherry picked from commit e7b7a5a476a9082320173a7c09b22d3b679fe557)
* stream: remove stream filter conceptwm42015-03-035-43/+16
| | | | | | Unused since the previous commit. (Apparently it was a stupid idea.) (cherry picked from commit fbf76da913b2d39a7da3cc7cea3d8b61f3c2f540)
* stream_rar: treat rar files as playlistswm42015-03-033-77/+33
| | | | | | | | | | | | | | Refactors an older hack, which for some reason used a more complicated way. This generates the playlist representing the contents of the rar file in demux_playlist.c. The pseudo-demuxer could easily be separate from the the playlist parsers (and in fact there's almost no shared code), but I don't think this obscure feature deserves a separate file. Sample files created with: rar a -v20000k -m0 files.rar file1.mkv file1.mkv (cherry picked from commit 5824eb7107a612880f68cc8e4f42cfff1bbf88ba)
* build: improve DVB checkwm42015-03-031-1/+1
| | | | | | | | A use of NO_STREAM_ID_FILTER was added to the DVB code recently. While I have no idea what it's needed for, it makes mpv fail to compile on FreeBSD 10.1. Add it to the dvb configure check. (cherry picked from commit 64456488b3b6bbbcbc4d3c96aab1b45cbd215439)
* manpage: update wording on speedNiklas Haas2015-03-031-2/+3
| | | | | | | | The way I interpreted it, it seemed like this was not default behavior and could be enabled with --audio-pitch-correction - it should be made clearer that this is actually *the default behavior*. (cherry picked from commit 0f99b302f5dae5fe7df4e21aeb0900109b0ab042)
* player: adjust A/V desync messagewm42015-03-031-3/+3
| | | | | | | | Broken drivers are an issue rather often. Maybe this gives the user an idea that this could be the reason. (We can't dump much more info on a 80x24 terminal.) (cherry picked from commit a5f3083ae726452d07fca3ed8acdfbcaed84b0a7)
* vo_opengl: test FBOs only if they're going to be usedwm42015-03-031-30/+28
| | | | | | | | | | | | Change test_fbo() so that it checks the FBO lazily, and restructure check_gl_features() to invoke it only if we know that a FBO will be needed for a certain enabled feature. This can avoid strange error messages when using --vo=opengl and the FBO format does not work. It's also less confusing when reading the verbose log (users might think that the FBO is actually used, etc.). (cherry picked from commit 280c826379dfdebb9e949d22583c01d532a504c7)
* vo_xv: don't attempt to clear window before mappedwm42015-03-031-0/+2
| | | | | | | | | | This can happen with the "no-colorkey" suboption. Then the code in xv_draw_colorkey() can be run before vo_x11_config_vo_window(), when vo_gc is not allocated yet. Fixes #1629. (cherry picked from commit a2e0cd7f251f0c1750bbe7adaff6d408ae7dcd37)
* Release 0.8.2v0.8.2wm42015-02-262-1/+9
|
* Revert "osd: force alignment for OSD bar"wm42015-02-261-2/+1
| | | | | | This reverts commit ff10bd65d68883d51cad9db5066f5e0baf74be30. Fixes #1631.
* Fix typo...v0.8.1Diogo Franco (Kovensky)2015-02-261-1/+1
|
* Release 0.8.1Diogo Franco (Kovensky)2015-02-262-4/+4
|
* cache: use MPCLAMP() macrowm42015-02-261-9/+2
| | | | (cherry picked from commit e85bcc12233ee08b7609382372dd80482fd016f2)
* cache: limit to file sizewm42015-02-261-1/+8
| | | | | | | Saves some memory. Should be especially helpful if many small files are loaded, like when mass-loading subtitle files and the cache is enabled. (cherry picked from commit 899f0cd51eaadf6d0249d854efc3d0d1029045bd)
* remove dead commentStefano Pigozzi2015-02-261-2/+0
| | | | (cherry picked from commit f3eb6ae7836b4759a351e083babe49cd7b17d375)
* build: move QuartzCore linking to the cocoa checkStefano Pigozzi2015-02-263-2/+4
| | | | | | | It's needed for the DisplayLink functions so it must be enabled for the basic cocoa code. (cherry picked from commit 8e80b3fd2fea8bf11abaeb108d85b2bdfbe14695)
* demux_mkv_timeline: fix potential issue when enabling cachewm42015-02-261-0/+1
| | | | | | | | | | | | | | If the cache is enabled, the demuxer is closed and opened again (because currently, the cache can not be enabled atfer data was already read). The call for opening a new demuxer uses the same params struct, which references the ctx->uids array. But there is a MP_TARRAY_GROW() invocation somewhere on the way, which can reallocate the ctx->uids array, making params.uids a dangling pointer. This issue probably existed for a longer time, probably since 5cd33853 (slightly more obvious since f50b105d). (cherry picked from commit 9349cfca910990d1126b973fd2ca55cb2351d35f)
* demux_mkv_timeline: move uids array to context toowm42015-02-261-31/+26
| | | | | | | | | Again removes some indirections and extra arguments. Also replace some memcpy/memmoves with assignments. (Assignments became possible only later, when reference UIDs were turned into a struct.) (cherry picked from commit 02bd54c0ac0933bc2fe982666bbe4da75957c485)
* demux_mkv_timeline: pass sources array as part of contextwm42015-02-261-45/+39
| | | | | | Removes tripple pointer indirections and such. (cherry picked from commit 2bf0a5f2bcb5f0eea72f35d85e59125ad89566bf)
* demux_mkv: minor refactor for deferred cue readingwm42015-02-261-45/+41
| | | | | | | | Should behave about the same, but reduces code some duplication with seeking and reading a header element pointed to by a SeekHead. It also makes behavior with incomplete files slightly better. (cherry picked from commit 2e23be5a7b104c43d4754b07c85423e5027e2b5d)
* demux_mkv: don't spam too many warnings with partial fileswm42015-02-261-14/+15
| | | | | | | Limit it to a single message. It often printed more than that, and in some cases (old files with "cluster" index), spammed a lot. (cherry picked from commit a761a1531a9883abb2de5d29c98f4c96a93138a3)
* Update RELEASE_NOTESDiogo Franco (Kovensky)2015-02-251-0/+8
|
* Fix compilationDiogo Franco (Kovensky)2015-02-251-2/+5
| | | | Broken by unchecked cherry-picking of 53867aa.
* vo_opengl: greatly increase smoothmotion performanceNiklas Haas2015-02-252-74/+105
| | | | | | | | | | | | | | | | | | | | | | Instead of rendering and upscaling each video frame on every vsync, this version of the algorithm only draws them once and caches the result, so the only operation that has to run on every vsync is a cheap linear interpolation, plus CMS/dithering. On my machine, this is a huge speedup for 24 Hz content (on a 60 Hz monitor), up to 120% faster. (The speedup is not quite 250% because of the overhead that the larger FBOs and CMS provides) In terms of the implementation, this commit basically swaps interpolation and upscaling - upscaling is moved to inter_program, and interpolation is moved to the final_program. Furthermore, the main bulk of the frame rendering logic (upscaling etc.) was moved to a separete function, which is called from gl_video_interpolate_frame only if it's actually necessarily, and skipped otherwise. (cherry picked from commit 010cf183fe3133fe6f581f9b25137827c6b26a39)
* manpage: update documentation for smoothmotionNiklas Haas2015-02-251-8/+27
| | | | | | | | | | | | | Hopefully, this will really clear up how the thing is supposed to work (and that it's not SVP, nor MVTools). I also removed instances of the word "interpolation", since that's a term that's easily misleading. Finally, I expanded on smoothmotion-threshold since the purpose/meaning was a bit confusing. (cherry picked from commit 9fa73b6f645952247d3d18e617a357a5d02f644e)
* osd: force alignment for OSD barwm42015-02-251-1/+2
| |</