summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* audio: avoid downmixing in a certain special-casewm42015-04-272-3/+20
| | | | | | | | As indicated by the added test. In this case, fallback and downmix have the same score, but fallback happens to give better results. So prefer fallback over downmix. (This is probably not a correct solution.)
* ao_null: add an option for testing channel layout selectionwm42015-04-272-2/+20
|
* manpage: update mpv IRC channelsNiklas Haas2015-04-273-5/+5
| | | | | Moved to #mpv and #mpv-devel, respectively. Travis details were also updated.
* player: fix removing external tracks at runtimewm42015-04-271-1/+9
| | | | | | | | | | This could make the player crash on exit if the "sub_reload" command was used successfully. the reason was that the mpctx->sources array could have dangling pointers to the unloaded demuxers. Also fix a memory leak by actually always freeing the per-stream subtitle decoders (which are a hack to make ordered chapters behave better).
* manpage: update colormatrix property descriptionwm42015-04-272-9/+10
|
* vo_drm: zero screen buffers in reconfig function.akemi-san2015-04-271-0/+4
|
* vo_drm: add window screenshots supportMarcin Kurczewski2015-04-261-0/+3
|
* ytdl: force "best" format by defaultwm42015-04-261-1/+1
| | | | | | | | If the --ytdl-format option is not used, force the "best" format. Do this because youtube-dl is going to change its default format to one that will trigger the (partially broken) DASH support in our own code. Fixes #1867.
* vdpau: always render to cropped size at mostwm42015-04-261-0/+4
| | | | | | | | | | | | vo_opengl (or gl_hwdec_vdpau.c to be specific) calls mp_vdpau_mixer_render() with video_rect=NULL, which means to use the full surface. This is incorrect if the surface is actually cropped, as it can happen with h264. In this case, it was rendering the parts outside of the image. Fix it by making this case use the cropped size instead. Alternative fix for PR #1863.
* DOCS/client-api-changes: fix release markerwm42015-04-251-1/+1
| | | | | The release was pushed back and now actually happened; the marker became incorrect.
* demux_lavf: drop dead codewm42015-04-251-7/+1
| | | | stream.url can never be NULL, although it probably used to be.
* manpage: move --autosync descriptionwm42015-04-241-14/+14
| | | | | | This was in the "Window" section. It has absolutely nothing to do with windows. Move it to the "Miscellaneous" section instead. The "--mc" option, which has a similar function, was already there.
* player: add --window-scale optionwm42015-04-244-0/+13
| | | | Requested. Works similar to the property with the same name.
* player: flush decoder even if cover art is decodedwm42015-04-241-1/+1
| | | | | | | | | | | | | | | Fixes PNG cover art not showing up immediately (for example when running with --pause). libavformat exports embedded cover art as a single packet. For example, a PNG attachment simply contains the PNG image, which can be sent to the decoder. Normally you would expect that the PNG decoder would return 1 frame for 1 packet, without any delays. But this stopped working, and it incurs a 1 frame delay. This is perfectly legal (even if unexpected), so let our code feed the decoder packets until we get something back. (In theory feeding the packet instead of a real flush packet is still somewhat questionable.)
* player: don't show A/V desync message in non-sense situationswm42015-04-241-2/+2
| | | | | | | last_av_difference can be MP_NOPTS_VALUE under certain circumstances (like no video timestamp yet). This triggered the desync message, because fabs(MP_NOPTS_VALUE) is quite a large value. We don't want to show a message in this situation.
* w32_common: add more rounded-down frame ratesJames Ross-Gowan2015-04-251-0/+4
| | | | | Suggested by avih. This handles x/1.001 frame rates for all multiples of 24 and 30 under 144.
* w32_common: use the current monitor's refresh rateJames Ross-Gowan2015-04-251-9/+10
|
* dxva2: fix broken build with gcc 5.1Avi Halachmi (:avih)2015-04-241-0/+5
| | | | | | gpu_mempcy should to be called from code which targets SSE Signed-off-by: wm4 <wm4@nowhere>
* terminal: printf() is not signal-safewm42015-04-241-2/+1
| | | | We shouldn't call it from a signal handler.
* man: fix PDF buildMartin Herkt2015-04-241-2/+4
| | | | | | | | | | | | | | The build failed because rst2pdf apparently has problems with page breaks. In this case, the link to the ALSA upmix guide was causing a page break in an admonition block. My guess is that rst2pdf screws up when it can’t fill at least one line of text following a page break, so I worked around this by making that paragraph a little longer. Seems to do the trick. I also shortened the URL using GitHub’s service because it was causing some rather unsightly formatting in the manpage output. Maybe we should just build HTML instead of a PDF.
* DOCS/mplayer-changes: Eleborate on joystick inputrobin007bond2015-04-231-0/+2
| | | | | | | | | | Since joystick support was removed and is a difference from mplayer, it should be included in the document with the mplayer changes. It will help new users who were using mplayer's joystick support to seek alternatives when switching to mpv. It will also be helpful for people that had problems with the joystick support in mplayer (for example, by incorrectly recognizing other input devices as joystick) to know that those problems won't persist in mpv.
* osc: add nil check for element.eventresponderwm42015-04-231-1/+1
| | | | Possibly fixes a crash (see #1101).
* mp_image: remove some unused interlacing flagswm42015-04-233-8/+2
| | | | | | MP_IMGFIELD_TOP/MP_IMGFIELD_BOTTOM were completely unused, and MP_IMGFIELD_ORDERED was always set (even though vf_vdpaupp.c strangely checked for the latter).
* vf_vapoursynth: update _FieldBased semanticswm42015-04-231-4/+4
| | | | These changed in VapourSynth. Also, "_Field" is now unused.
* options: remove unneeded hack from command line parserwm42015-04-233-16/+1
| | | | | | | | | | | | | | | This was traditionally needed to silence terminal output from errors during command line parsing preparsing. Preparsing is done so that options controlling the terminal and config files are parsed and applied first, with a second command line parsing pass applying all other options, _and_ printing error messages for the preparsed ones. But the hack silencing log output during the preparse pass is actually not needed anymore, since the terminal is enabled only after preparsing is finished. update_logging() in main.c does this. So as long as update_logging() is called before m_config_preparse_command_line(), this will work.
* manpage: document ff-index sub-propertywm42015-04-231-0/+7
|
* demux_mkv: limit timestamp fixing to 1ms maxwm42015-04-232-7/+7
| | | | | And also fix the description. It didn't actually reflect what the code did.
* demux_mkv: attempt to fix rounded timestampswm42015-04-232-1/+30
| | | | | There is some potential for breakage. If it happens, this might have to be disabled by default.
* demux_mkv: move global options to the demuxerwm42015-04-236-21/+42
| | | | | | | The options don't change, but they're now declared and used privately by demux_mkv.c. This also brings with it a minor refactor of the subpreroll seek handling - merge the code from playloop.c into demux_mkv.c. The change in demux.c is pretty much equivalent as well.
* demux_mkv: better seeking after video endwm42015-04-231-15/+7
| | | | | | | | | | | | | | | | | This change allows forward seeking even if there are no more video keyframes in forward direction. This helps with files that e.g. encode cover art as a single video frame (within a _real_ video stream - ffmpeg seems to like to produce such files). Seeking backwards will still jump to the nearest video frame, so this improvement has limited use. The old code didn't do this because of the logic the min_diff variable followed. Instead of somehow using the timestamp of the last packet read for min_diff, use the first index entry for it. This actually makes it fall back to the first/last index entry as the (removed) comment claims. Note that last_pts is basically random at this point (because the demuxer can be far ahead of playback position), so this didn't make sense in the first place.
* lua: add utils.format_json() functionwm42015-04-222-0/+26
| | | | Requested. Why not.
* osc: paint over a crashwm42015-04-221-4/+6
| | | | | Sometimes tries to index a nil object when seeking close to the end of the file. See #1101.
* image_writer: fix writing screenshotswm42015-04-221-1/+1
| | | | | It passed the unconverted image to the writer function. Broken since 2469cb5d.
* cache: exit early on cancellationwm42015-04-211-0/+3
| | | | | | | An approximate measure to make it exit possibly slightly earlier. Relatively speaking, some time will pass between cancellation and the cache actually being requested to exit, so it's good if the cache returns EOF immediately.
* cache: another minor simplificationwm42015-04-211-11/+5
| | | | | | | | The caller can check for cache interruption instead. There's no need to define special return values and such. It would be rather hard to make waiting for the condition and stream cancellation atomic too (and pointless, since the underlying stream will also be "cancelled" and exit early), so nothing about cancellation being a separate call will change.
* cache: simplify the check for printing the "cache stuck" messagewm42015-04-211-16/+6
| | | | | | | | | | | | This put some effort into distinguishing between two messages to print - all worthless. Even more so, this kept printing the message, which doesn't feel overly useful either. (The message will be printed repeatedly anyway if network recovers for a while and then gets stuck again.) All in all, the demuxer cache triggering the buffering state does a better job here. But don't remove it completely, since knowing that the network did nothing for a relatively short time is still useful.
* player: do not load encoding config files in non-encoding modewm42015-04-211-8/+6
| | | | | | | | It's annoying and unnecessary. They can be manually loaded if really needed (for things like previewing). Also remove the #if. It was for suppressing warnings, and we don't need to be so careful about this in the relatively obscure encoding mode.
* TOOLS/autoload: load only files that make senseMarcin Kurczewski2015-04-211-0/+30
|
* TOOLS/autoload: add blank lines for readabilityMarcin Kurczewski2015-04-211-0/+7
|
* command: demuxer-cache-time propertyxylosper2015-04-212-1/+26
| | | | | | | | Approximate time of video buffered in the demuxer, in seconds. Same as `demuxer-cache-duration` but returns the last timestamp of bufferred data in demuxer. Signed-off-by: wm4 <wm4@nowhere>
* vo_drm: fix return value for void functionMarcin Kurczewski2015-04-211-1/+1
|
* vo_drm: fix coding style to adhere to guidelinesMarcin Kurczewski2015-04-212-8/+8
|
* vo_drm: fix releasing VT if received signal twiceMarcin Kurczewski2015-04-211-0/+3
| | | | | | If user switched terminals frantically, mpv could get SIGUSR1 twice in a row, which, up until now, resulted in destroying CRTC twice. This caused it to segfault. After this fix, double SIGUSR1 should be ignored.
* vo_drm: add vertical syncMarcin Kurczewski2015-04-211-5/+45
|
* player: cleanup update_fps() functionwm42015-04-202-13/+5
| | | | | It was called only in 2 places, one of them redundant (the container FPS can not change).
* video: cleanup some old log messageswm42015-04-202-9/+2
| | | | | These are basically MPlayer leftovers, and barely useful due to being redundant with other messages. The FPS message is used somewhere else.
* old-configure: disable HAVE_DRMwm42015-04-201-0/+1
|
* client API: add a screenshot_raw commandwm42015-04-206-0/+67
| | | | | | | | | Requested. The wild code for setting up the mpv_node probably deserves to be cleaned up later. Fixes #1800.
* client API: add MPV_FORMAT_BYTE_ARRAY typewm42015-04-203-1/+32
| | | | | | | | | | | | This will be used in the following commit, which adds screenshot_raw. The reasoning is that this will be better for binding scripting languages. One could special-case the screenshot_raw commit and define fixed semantics for passing through a pointer using the current API, like formatting a pointer as string. But that would be ridiculous and unclean.
* image_writer: factor image conversion into a separate functionwm42015-04-202-25/+37
| | | | Needed for a later commit.
* image_writer: minor cleanupwm42015-04-202-11/+11
| | | | Instead of using int like bool, use bool directly.
* client API: add glue for making full use of mpv_command_node()wm42015-04-204-10/+14
| | | | | Until now, the return value was always MPV_FORMAT_NONE. Now a command can actually set it. This will be used in one of the following commits.
* demux: report correct cache state close to EOFwm42015-04-201-5/+4
| | | | | | | | | | | | | | | | | | | | | On EOF, this stopped reporting the actual cache duration, and just signalled unknown duration. Fix this and keep reporting whatever is left in the packet queue. This reverts commit 5438a8b3. The commit doesn't give a good explanation as to why it is needed, but I guess it was because the reporting was imperfect (it switched between unknown or 0, and the correct duration). This also removes a line added in commit 848546f2. The line is ds->active = false; The "active" flag basically says that data from this stream is actively needed, and it's used to calculate the minimum data that can actually be played (approximately). If this were ignored, a sparse subtitle stream would set the cache duration to 0s. The commit message adding the line says "actually does nothing, but in theory it's cleaner". Well, screw it.
* vf_vapoursynth: stupid hack to unbreak with recent API changewm42015-04-201-0/+6
| | | | | | | | Vapoursynth made an incompatible API change: clips with unknown length are not supported anymore. In fact, Vapoursynth abort()s the program (which by the way invalidate all of its claims of API/ABI stability). So add some nonsense to make it work again.
* player: change video-bitrate and audio-bitrate propertieswm42015-04-209-71/+51
| | | | | | | | | | | | | | Remove the old implementation for these properties. It was never very good, often returned very innaccurate values or just 0, and was static even if the source was variable bitrate. Replace it with the implementation of "packet-video-bitrate". Mark the "packet-..." properties as deprecated. (The effective difference is different formatting, and returning the raw value in bits instead of kilobits.) Also extend the documentation a little. It appears at least some decoders (sipr?) need the AVCodecContext.bit_rate field set, so this one is still passed through.
* options: don't restrict --hr-seek-demuxer-offsetwm42015-04-201-1/+1
| | | | This was limited to 99 for unknown reasons.
* command: disc-mouse-on-button propertyxylosper2015-04-217-6/+49
| | | | | This property indicates whether mouse cursor is located on button or not for disc naviation.
* build: fix libavfilter dependency for vf_mirrorxylosper2015-04-202-2/+2
| | | | | | | Since e207c24b32a457859ab6e3a5b1f5f9eaeea36ed1, vf_mirror requires libavfilter. Signed-off-by: wm4 <wm4@nowhere>
* w32_common: prevent system sleepJames Ross-Gowan2015-04-201-1/+2
| | | | | | This prevents the machine from going to sleep while a video-only stream is playing. When audio is playing, the audio stack should make this request for us.
* vo_drm: extract vt_switcher to drm_commonMarcin Kurczewski2015-04-194-132/+226
|
* vo_drm: disable VT switcher for non-Linux systemsMarcin Kurczewski2015-04-192-2/+9
|
* manpage: fix typowm42015-04-191-1/+1
|
* options: change [...] to balanced quoteswm42015-04-192-2/+15
| | | | | | | | Useful for dealing with libavfilter's terrible graph syntax. Not strictly backwards compatible (for example "[a[b]" fails now - the "[" within the quote is interpreted now). But hopefully it's obscure enough not to warrant any kind of compatibility hacks.
* vo_drm: fix logging problems with connectorsMarcin Kurczewski2015-04-181-1/+1
| | | | | | | Logging was meant to be silenced only when user uses connector auto-detection feature. If user supplies connector ID manually, he should see exact reason why connecting to this specific connector failed.
* vo_drm: fix VT behavior with auxiliary screensMarcin Kurczewski2015-04-181-2/+4
| | | | Fixes #1828
* vo_drm: fix VT switchingMarcin Kurczewski2015-04-181-55/+229
| | | | Fixes #1827
* 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.
*