aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* stream_dvb: support frontends with multiple delivery systems.Gravatar Oliver Freyermuth2016-01-21
| | | | | | | | | Most common case would be DVB-C / DVB-T combination cards. Cards with multiple delivery systems are only supported starting from DVBv5 API (Kernel 2.6.38). In this case, we loop over all delivery systems and just treat them as different cards would be treated: They all get their own TUNER-type, channel-list parsing etc.
* x11: get *current* XRandR screen configurationGravatar Nils Schneider2016-01-20
| | | | | | | | | | | | Only request the current screen configuration instead of polling for new screens, too. We're not interested in detecting any new screens as we're merely enumerating what is currently connected and configured. On some hardware (like mine) calling XRRGetScreenResources will stall X11 for about 10 to 20 seconds. This has annoyed me for a few months now and almost made me switch to VLC ;) Signed-off-by: wm4 <wm4@nowhere>
* vo_opengl: add KMS/DRM VAAPI hardware decoding interopGravatar wm42016-01-20
| | | | Just requires glueing it together with Bloat Super Glue (tm).
* ad_spdif: if DTS-HD is requested, and profile unknown, use DTS-HDGravatar wm42016-01-20
| | | | | This means there will be no loss if profile detection failed for some reason.
* audio: change downmix behavior, add --audio-normalize-downmixGravatar wm42016-01-20
| | | | | | This is probably the 3rd time the user-visible behavior changes. This time, switch back because not normalizing seems to be the more expected behavior from users.
* audio: change --audio-channels default back to stereoGravatar wm42016-01-20
| | | | | | | | Too many problems. Well, actually it's just Linux audio systems which cause problems, and exclusive audio access on other platforms. In any case, it seems you have to do some manual configuration if you want multichannel audio output.
* player: never show "DS: (unavailable)"Gravatar wm42016-01-20
| | | | Kind of annoying.
* Change 3 more files to LGPLGravatar wm42016-01-20
|
* vaapi: fix compilation on older FFmpeg/LibavGravatar wm42016-01-20
| | | | | | They don't define FF_PROFILE_VP9_0. Fixes #2737.
* audio: remove initial decoding retry limitationGravatar wm42016-01-19
| | | | | | | | | | | | | | | Seems useless. This only helped in one case: one audio stream in the sample av_find_best_stream_fails.ts had a AC3 packets which couldn't be decoded, and for which avcodec_decode_audio4() returned 0 forever. In this specific case, playback will now not start, and you have to deselect audio manually. (If someone complains, the old behavior might be restored, but differently.) Also remove the stale "bitrate" field.
* audio: move direct packet reading from decoders to common codeGravatar wm42016-01-19
| | | | Another bit of preparation.
* audio: move dec_audio.pool to ad_spdifGravatar wm42016-01-19
| | | | That's where its only use is.
* ao_coreaudio_chmap: change license to LGPLGravatar wm42016-01-19
| | | | | | While the situation is not really clear for the other rewritten coreaudio code, it's very clear for the channel mapping code. It was all written by us. (MPlayer doesn't even have any channel map handling.)
* filter_kernels.h: adjust the licenseGravatar wm42016-01-19
| | | | | | Make it consistent with filter_kernels.c. See #2688.
* Change GPL/LGPL dual-licensed files to LGPLGravatar wm42016-01-19
| | | | | | | | | | | Do this to make the license situation less confusing. This change should be of no consequence, since LGPL is compatible with GPL anyway, and making it LGPL-only does not restrict the use with GPL code. Additionally, the wording implies that this is allowed, and that we can just remove the GPL part.
* Relicense some non-MPlayer source files to LGPL 2.1 or laterGravatar wm42016-01-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This covers source files which were added in mplayer2 and mpv times only, and where all code is covered by LGPL relicensing agreements. There are probably more files to which this applies, but I'm being conservative here. A file named ao_sdl.c exists in MPlayer too, but the mpv one is a complete rewrite, and was added some time after the original ao_sdl.c was removed. The same applies to vo_sdl.c, for which the SDL2 API is radically different in addition (MPlayer supports SDL 1.2 only). common.c contains only code written by me. But common.h is a strange case: although it originally was named mp_common.h and exists in MPlayer too, by now it contains only definitions written by uau and me. The exceptions are the CONTROL_ defines - thus not changing the license of common.h yet. codec_tags.c contained once large tables generated from MPlayer's codecs.conf, but all of these tables were removed. From demux_playlist.c I'm removing a code fragment from someone who was not asked; this probably could be done later (see commit 15dccc37). misc.c is a bit complicated to reason about (it was split off mplayer.c and thus contains random functions out of this file), but actually all functions have been added post-MPlayer. Except get_relative_time(), which was written by uau, but looks similar to 3 different versions of something similar in each of the Unix/win32/OSX timer source files. I'm not sure what that means in regards to copyright, so I've just moved it into another still-GPL source file for now. screenshot.c once had some minor parts of MPlayer's vf_screenshot.c, but they're all gone.
* demux: remove a minor difference between threaded/unthreaded modesGravatar wm42016-01-19
| | | | This difference was unnecessary.
* demux: fix leaking closed captions packets with unselected sub streamGravatar wm42016-01-19
| | | | | Calling demux_add_packet() unconditonally frees the packet if the stream is not selected.
* ao_wasapi: use share_mode value instead of raw option opt_exclusiveGravatar Kevin Mitchell2016-01-18
| | | | | | | Previously used opt_exclusive option to decide which volume control code to run. The might not always reflect the actual state, for example if passthrough is used. Admittedly, none of the volume controls will work anyway with passthrough, but this is the right thing to do.
* ao_openal: wipe out global context on init errorGravatar Kevin Mitchell2016-01-18
| | | | | Previously this would break all further attempts to init the driver after one had failed.
* vo_drm: fix CRTC usageGravatar rr-2016-01-18
|
* vd_lavc: feed A53_CC side data packets into the demuxer for eia_608 decodingGravatar Aman Gupta2016-01-18
|
* lavc_conv: pass real_time=1 option to ffmpeg for eia_608 decoderGravatar Aman Gupta2016-01-18
|
* ass_mp: add mp_ass_flush_old_events()Gravatar Aman Gupta2016-01-18
|
* command: fix NULL pointer deref in "video-codec" propertyGravatar wm42016-01-18
| | | | Fixes #2729.
* demux: disable stream cache if no tracks are selectedGravatar wm42016-01-18
| | | | | | | | | Slightly helps with timeline stuff, like EDL. There is no need to keep network (or even just disk I/O) busy for all segments at the same time, because 1. the data won't be needed any time soon, and 2. will probably be discarded anyway if the stream is seeked when segment is resumed. Partially fixes #2692.
* demux: remove unused functionGravatar wm42016-01-18
|
* demux: fix interleaved subtitle reading in unthreaded modeGravatar wm42016-01-18
| | | | | | Meh. Why are there even two code paths. This adds an additional check; the big function is only moved.
* demux: unify codepaths for threaded/unthreaded track switchingGravatar wm42016-01-18
| | | | Well, not that the unthreaded case is important, or even works properly.
* cache: add mechanism for disabling readaheadGravatar wm42016-01-18
| | | | Will be used in a following commit.
* demux: remove unused flagGravatar wm42016-01-18
|
* manpage: adjust --display-fps descriptionGravatar wm42016-01-18
| | | | | Make it more conservative. In most cases, mpv should be able to determine it correctly on all supported platforms.
* af_lavrresample: fudge some channel layout conversionGravatar wm42016-01-18
| | | | | | | | | | | | Prevents channels from being dropped, e.g. when going 7.1 -> 7.1(wide) and similar cases. The reasoning here is that channel layouts over HDMI don't work anyway, and not dropping a channel and playing it on a slightly "wrong" (but expected) speaker is preferable to playing silence on these speakers. Do this to remove issues with ao_coreaudio. Frankly I'm not sure whether our mapping (between CA and mpv/FFmpeg speakers) is correct, but on the other hand due to the reasons stated above it's not all that meaningful.
* sub: fix memory leaksGravatar wm42016-01-18
| | | | | | | | | demux_lavf.c leaked the complete subtitle data if it was put through iconv. lavc_conv.c leaked AVCodecContext.subtitle_header (set by libavcodec), which is fixed by using avcodec_free_context(). It also leaked the subtitle that was decoded last.
* image_writer: fix writing flipped images as jpgGravatar wm42016-01-17
| | | | | | next_scanline is usually an unsigned int. Fixes #2635 (again).
* player: refactor: eliminate MPContext.d_videoGravatar wm42016-01-17
| | | | | | | | | | | | | | Eventually we want the VO be driven by a A->V filter, so a decoder doesn't even have to exist. Some features definitely require a decoder though (like reporting the decoder in use, hardware decoding, etc.), so for each thing which accessed d_video, it has to be redecided if and how it can access decoder state. At least the "framedrop" property slightly changes semantics: you can now always set this property, even if no video is active. Some untested changes in this commit, but our bio-based distributed test suite has to take care of this.
* player: refactor: eliminate MPContext.d_subGravatar wm42016-01-17
| | | | The same is going to happen to d_video and d_audio later.
* command: modify OSD message when forcing original video aspect ratioGravatar wm42016-01-16
| | | | | | | Not bothering with anything advanced, so we just show "(original)" if the video-aspect property/option is reset. Fixes #2722.
* video: refactor: disentangle decoding/filtering some moreGravatar wm42016-01-16
| | | | | | | | | | | This moves some code related to decoding from video.c to dec_video.c, and also removes some accesses to dec_video.c from the filtering code. dec_video.ch is starting to make sense, and simply returns video frames from a demuxer stream. The API exposed is also somewhat intended to be easily changeable to move decoding to a separate thread, if we ever want this (due to libavcodec already being threaded, I don't see much of a reason, but it might still be helpful).
* osd: make osd-width/height properties watchableGravatar wm42016-01-15
|
* global: add client API pointer to library handleGravatar wm42016-01-15
| | | | | | | Makes the next commit simpler. It's probably a bad idea to add more fields to the global state, but on the other hand the client API state is pretty much per-instance anyway. It also will help with things like the proposed libmpv custom stream API.
* video: refactor: slightly disentangle video filteringGravatar wm42016-01-15
|
* cocoa: get fps only from dislaylinkGravatar Stefano Pigozzi2016-01-14
| | | | | In my tests, CGDisplayModeGetRefreshRate returns 24.0 even though the nominal one is set to 24000/1001. This is obviously not good for video.
* cocoa: add an observer for screenmode changeGravatar Stefano Pigozzi2016-01-14
|
* manpage: update win32 config pathGravatar wm42016-01-14
| | | | | | Well, this probably depends on the exact Windows version. Fixes #2611.
* video: fix interactively changing aspect ratioGravatar wm42016-01-14
| | | | | | | | | The aspect ratio calculations are cached (mainly so that aspect ratio related messages are not logged on every frame). The cache is not clared anymore when video filters are reconfigured, but changing the video-aspect-ratio property relied on it. Make it explicit. Fixes #2714.
* man: options: Clarify expected behaviour with --dvbin-full-transponder.Gravatar Oliver Freyermuth2016-01-14
| | | | | | | Since the streams are chosen from the full TS by the player frontend, one should not expect that the program which is shown matches the chosen channel which was used for tuning to the frequency. Also, reformulate slightly to simplify reading.
* player: prefer "service_name" as media title.Gravatar Oliver Freyermuth2016-01-14
| | | | | If it is defined, which it rarely is (e.g. mpegts streams) this is the preferred title information.
* options: add "service_name" as display tag.Gravatar Oliver Freyermuth2016-01-14
| | | | | | This is labeled as "name of the service in broadcasting (channel name)" and exported as a generic tag by avformat-demuxers, notably lavf when handling mpegts-streams from DVB.
* demux_lavf: update metadata with information from AV_PROGRAM on switch.Gravatar Oliver Freyermuth2016-01-14
| | | | | | Need to trigger demux_changed() manually since metadata of tracks and streams is not changed, but demuxer-metadata is still changed on program switch.