aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* video: deprecate almost all video filtersGravatar wm42017-04-02
| | | | | | | | | | | | | The plan is to nuke the custom filter chain completely. It's not clear what will happen to the still needed builtin filters (mostly hardware deinterlacing and vf_vapoursynth). Most likely we'll replace them with different filter chain concept (whose main purpose will be providing builtin things and bridging to libavfilter). The undocumented "warn" options are there to disable deprecation warnings when the player inserts filter automatically. The same will be done to audio filters, at a later point.
* audio: lower "Disabling multichannel output." warning to verboseGravatar wm42017-04-02
| | | | Not sure why it was a warning in the first place.
* image_writer: make it work with libavcodec's jpg encoderGravatar wm42017-04-02
| | | | | | | | | | | Now taking a screenshot actually works, if libjpeg is disabled at compile time. In particular, the AV_PIX_FMT_YUVJ formats (with the "J") cause us problems. They have been deprecated years ago, but the libavcodec jpg encoder won't accept anything else. This is made worse by the fact that mpv doesn't have J formats internally - it always uses the color levels metadata to decide the range instead.
* manpage, client API: add some clarifications when commands use OSDGravatar wm42017-04-01
| | | | | The APIs that run commands in a more API-like manner disable OSD and string expansion by default.
* manpage: finish cut off sentenceGravatar wm42017-04-01
|
* screenshot: cleanup: use normal MSGL_ definesGravatar wm42017-04-01
| | | | Remove the weird custom thing.
* player: make screenshot commands honor the async flagGravatar wm42017-04-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | And also change input.conf to make all screenshots async. (Except the every-frame mode, which always uses synchronous mode and ignores the flag.) By default, the "screenshot" command is still asynchronous, because scripts etc. might depend on this behavior. This is only partially async. The code for determining the filename is still always run synchronously. Only encoding the screenshot and writing it to disk is asynchronous. We explicitly document the exact behavior as undefined, so it can be changed any time. Some of this is a bit messy, because I wanted to avoid duplicating the message display code between sync and async mode. In async mode, this is called from a worker thread, which is not safe because showing a message accesses the thread-unsafe OSD code. So the core has to be locked during this, which implies accessing the core and all that. So the code has weird locking calls, and we need to do core destruction in a more "controlled" manner (thus the outstanding_async field). (What I'd really want would be the OSD simply showing log messages instead.) This is pretty untested, so expect bugs. Fixes #4250.
* ta_talloc: add missing include statementGravatar wm42017-04-01
| | | | Some array functions call memmove().
* input: add "async" flagGravatar wm42017-04-01
| | | | | | | | | | | Obviously, this has no effect on commands which do not support this explicitly. A later commit will enable this for screenshots. Also add some wording on mpv_command_async(), which has nothing to do with this. Having a more elegant, unified behavior would be nice. But the API function was not created for this - it's merely for running commands _synchronously_ on the core, but without blocking the client API caller (if the API user consistently uses only async functions).
* misc: add a thread poolGravatar wm42017-04-01
| | | | To be used by the following commits.
* player: enable "buffering" pausing for DASH streams tooGravatar wm42017-04-01
| | | | | | | | | | This wasn't enabled if no stream cache was used. It can work with only the demuxer cache. In theory this could be always enabled (even for local files), but still try to avoid this, and enable it only if the source is marked as potentially being a "network" stream. The intention is mostly to enable it for the youtube-dl pseudo-DASH support.
* external_files: enable autoloading with URLsGravatar Ricardo Constantino2017-04-01
| | | | Closes #3264
* external_files: actually try to autoload from fallback pathsGravatar Ricardo Constantino2017-04-01
| | | | | | The 'sub' and 'audio' configuration subdirectories are supposed to be fallbacks for sub-paths and audio-file-paths respectively, but they weren't being scanned even if they existed.
* w32_common: fix undefined behaviour when toggling fullscreenGravatar James Ross-Gowan2017-04-02
| | | | | | | The old code called reinit_window_state() from the VO thread, which is not safe. Instead of calling reinit_window_state() when VO_EVENT_FULLSCREEN_STATE is captured, it should be called when sending the event from the Win32 thread instead.
* Switch demuxing and decoding to GStreamer (finally FFmpeg independence!)Gravatar wm42017-04-01
| | | | | | README.md: fix linebreaks It's only a README, but the 80 columns limit should be followed.
* wscript: fix broken build with dvdread+dvdnav in 34e6a26Gravatar Ricardo Constantino2017-03-31
| | | | Didn't know waf actually tried to compile the same files twice.
* wscript: decouple dvdnav check from dvdreadGravatar Ricardo Constantino2017-03-31
| | | | | | | | | Reallows enabling dvdnav without enabling dvdread which was broken in 77cbb3543 when they were both disabled by default. Since dvdnav requires dvdread, we can enable dvdread:// even if --enable-dvdread isn't passed. Fixes #4290
* command: add property notifications for hwdec propertiesGravatar wm42017-03-31
| | | | | | | | | | This is a bit approximate, because we rely on the pixel format changing if the hardware decoding changes. This is not always true, as the pixel format for software decoded video and hardware decoded video copied back to CPU RAM could be the same. (Not sure if that is actually the case for any supported cases.) But for now this should fix most of #4289.
* ao_wasapi: do not pass nonsense to drivers with doubleGravatar wm42017-03-29
| | | | | | | | | | | | | | | | | | | | | | This tried to use AF_FORMAT_DOUBLE as KSDATAFORMAT_SUBTYPE_IEEE_FLOAT, with wBitsPerSample==64. This is probably not allowed, and drivers appear to react inconsistently to it. (With one user, the format was accepted during format negotiation, but then rejected on actual init.) Remove it, which essentially forces it to fall back to some other format. (Looks like it'll use af_select_best_samplerate(), which would probably make it try S32 next.) The af_fmt_from_planar() is so that we don't have to care about AF_FORMAT_FLOATP. Wasapi always requires packed data anyway. This should actually handle other potentially unknown sample formats better. This changes that set_waveformat() always set the exact format. Now it might set a "close" format instead. But all callers seem to deal with this well. Although in theory, callers should probably handle the fallback. The next cleanup (if ever) can take care of this.
* stream/stream_dvdnav: show list of titles on verboseGravatar Ricardo Constantino2017-03-29
| | | | Same as stream_bluray, but only if no title is selected already.
* stream/stream_dvdnav: don't ignore setting titleGravatar Ricardo Constantino2017-03-29
| | | | | Probably a typo in 5e30e7a04. Fixes #4283
* osc: escape ASS and strip newlines on titleGravatar Ricardo Constantino2017-03-27
|
* osc: make title configurable and use property expansion on itGravatar Ricardo Constantino2017-03-27
|
* Revert "osc: make the title toggleable between media-title and filename"Gravatar Ricardo Constantino2017-03-27
| | | | This reverts commit 6573b73462e336da0daca845ba4df02782afc2b6.
* osx: fix event propagation of menu bar item key shortcutsGravatar Akemi2017-03-27
| | | | | | a small logic error in 063ca8f broke the filtering of the menu bar item key shortcuts. they where called several times per event because the propagation wasn't stopped properly.
* cocoa: fix retrieval of unfs window sizeGravatar Akemi2017-03-26
| | | | | | | | | | | | | | there are two minor bugs. mpv could try to retrieve the size when in fullscreen and would get the fullscreen size. to fix that we keep track of the window size before going into fullscreen. the second small bug is when using HiDPI resolution and the --hidpi-window-scale option. we actually want the OSD to show the proper window scale depending on the hidpi settings. before when resizing the window to double the size it could show "window-scale: 1.0" or "window-scale: 0.5" when resizing to normal size. now it considers the backing scale factor and the hidpi option to return a logical correct window size.
* cocoa: fix first responder when borderless window is usedGravatar Akemi2017-03-26
| | | | | | | | | | | | | this fixes a weird behaviour when a borderless window's style mask is set to a none-borderless style mask. this can happen when cycling the border or just toggling fullscreen. what happens is that the first responder is reset to the NSWindow instead of being kept, the events view in our case. this happens without the usual resignFirstResponder, becomeFirstResponder routine. this is a small workaround that overrides the setStyleMask method. it keeps the first responder from before the style mask change and resets this first responder after the new style mask was applied.
* osx: fix key input in certain circumstancesGravatar Akemi2017-03-26
| | | | | | | | | | | | | for a reason i can just assume some key events can vanish from the event chain and mpv seems unresponsive. after quite some testing i could confirm that the events are present at the first entry point of the event chain, the sendEvent method of the Application, and that they vanish at a point afterwards. now we use that entry point to grab keyDown and keyUp events. we also stop propagating those key events to prevent the no key input' error sound. if we ever need the key events somewhere down the event chain we need to start propagating them again. though this is not necessary currently.
* osx: initial Touch Bar supportGravatar Akemi2017-03-26
|
* command: add expand-text command to property-expand a stringGravatar Avi Halachmi (:avih)2017-03-26
|
* osc: make the title toggleable between media-title and filenameGravatar Ricardo Constantino2017-03-26
| | | | Close #4221
* player: make new stream output more consistent with other outputGravatar wm42017-03-26
| | | | It seems we generally skip the space, such as seen on the AO init line.
* player: print additional stream infoGravatar Dan Oscarsson2017-03-26
| | | | | | In print_stream print additional stream info for audio and video track. While it may be incorrect it is mostly correct and good info to have.
* command: change and simplify filter toggle syntaxGravatar wm42017-03-26
| | | | | | | | | | | "@name:!" becomes simply "@name". This is actually slightly more complex to parse, but makes for a much simpler syntax and will be less weird to the user. Suggested by haasn. The old syntax is now rejected with an error. Also add some more explicit error checks, instead of e.g. allowing empty filter names and erroring only when it's not found.
* vo_opengl: angle: add --angle-flip to set the present modelGravatar James Ross-Gowan2017-03-26
| | | | | | | | DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL might be buggy on some hardware. Additionaly DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL might be supported on some Windows 7 systems with the platform update, but it might have poor performance. In these cases, the user might want to disable the use of DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL swap chains with --angle-flip=no.
* m_option: consistent af/vf filter entry "enabled" flag default valueGravatar wm42017-03-25
| | | | | | | It should default to true, but setting the filter list via mpv_node (relevant for client API and Lua scripting) left it to false. Also "document" the flag.
* command: add better runtime filter toggling methodGravatar wm42017-03-25
| | | | | | | | | | Basically, see the example in input.rst. This is better than the "old" vf-toggle method, because it doesn't require the user to duplicate the filter string in mpv.conf and input.conf. Some aspects of this changes are untested, so enjoy your alpha testing.
* manpage: minor addition for --video-syncGravatar wm42017-03-25
| | | | Nobody needs to read all the text below it, really.
* sub: add SDH subtitle filterGravatar Dan Oscarsson2017-03-25
| | | | | | | | | | Add subtitle filter to remove additions for deaf or hard-of-hearing (SDH). This is for English, but may in part work for others too. This is an ASS filter and the intention is that it can always be enabled as it by default do not remove parts that may be normal text. Harder filtering can be enabled with an additional option. Signed-off-by: wm4 <wm4@nowhere>
* command: add demux-start-time propertyGravatar Matthias Hunstock2017-03-25
| | | | Add a demux_start_time property, update docs.
* droptarget: fix style and refactorGravatar James Ross-Gowan2017-03-26
| | | | | | | | | | | This makes the code more closely match mpv's style. Specifically, it changes some names from camelCase to snake_case, removes some Hungarian notation, replaces direct vtbl access with COM macros, makes use of the SAFE_RELEASE macro, moves some declarations closer to their first use, and fixes the brace style, as well as a few other things. This also makes the IDropTargetVtbl static and it fixes the buggy QueryInterface implementation.
* w32_common: move the IDropTarget impl to a separate fileGravatar James Ross-Gowan2017-03-26
| | | | | | This was mostly self-contained, so its removal makes w32_common.c a bit easier to read. Also, because it was self contained and its author has agreed to LGPL relicencing, the new file has the LGPL licence header.
* vo_opengl: replace uniform variable image_size with input_sizeGravatar igv2017-03-25
| | | | | | input_size can be the size of a cropped image Signed-off-by: wm4 <wm4@nowhere>
* vo_opengl: add tex_offset uniform variable to user shadersGravatar igv2017-03-25
|
* vo_opengl: make size of a cropped source image available to user shadersGravatar igv2017-03-25
|
* TOOLS: add lua script for runtime acompressor ffmpeg filter controlGravatar Jan Janssen2017-03-25
|
* af_drc: removeGravatar Jan Janssen2017-03-25
| | | | | | | | | | | | | | | | Remove low quality drc filter. Anyone whishing to have dynamic range compression should use the much more powerful acompressor ffmpeg filter: mpv --af=lavfi=[acompressor] INPUT Or with parameters: mpv --af=lavfi=[acompressor=threshold=-25dB:ratio=3:makeup=8dB] INPUT Refer to https://ffmpeg.org/ffmpeg-filters.html#acompressor for a full list of supported parameters. Signed-off-by: wm4 <wm4@nowhere>
* manpage: add empty line between protocol header/descriptionGravatar wm42017-03-25
| | | | Appears to give better formatting. (I'll never understand rst...)
* manpage: explain more about outstanding dvdnav bugsGravatar Frederick Eaton2017-03-25
|
* osc: fix PlayResX undefined warning when aspect is 0Gravatar Ricardo Constantino2017-03-24
|