aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* audio: update outdated commentGravatar wm42016-01-05
|
* ao_pulse: attempt to fall back to an arbitrary sample formatGravatar wm42016-01-05
| | | | | | | | | | | | | | | | | | | | | | | Normally, PulseAudio accepts any combination of sample format, sample rate, channel count/map. Sometimes it does not. For example, the channel rate or channel count have fixed maximum values. We should not fail fatally in such cases, but attempt to fall back to a working format. We could just send pass an "unset" format to Pulse, but this is not too attractive. Pulse could use a format which we do not support, and also doing so much for an obscure corner case is not reasonable. So just pick a format that is very likely supported. This still could fail at runtime (the stream could fail instead of going to the ready state), but this sounds also too complicated. In particular, it doesn't look like pulse will tell us the cause of the stream failure. (Or maybe it does - but I didn't find anything.) Last but not least, our fallback could be less dumb, and e.g. try to fix only one of samplerate or channel count first to reduce the loss, but this is also not particularly worthy the effort. Fixes #2654.
* ao_pulse: check for sample rate boundsGravatar wm42016-01-05
| | | | | | | pa_format_info_valid() does not do this. (Although there is a proposed patch on the PulseAudio mailing list.) See #2654.
* ao_pulse: move format setting into a functionGravatar wm42016-01-05
| | | | No real functional changes.
* options: raise maximum value for --audio-samplerateGravatar wm42016-01-05
| | | | Helps with testing.
* vo_rpi: handle rotationGravatar wm42016-01-05
| | | | | Since the MMAL video renderer component supports exactly what we need, it's pretty simple.
* vo_rpi: work around firmware oddness leading to incorrect video rectGravatar wm42016-01-05
| | | | | | | | | | | Apparently, the firmware will ignore pixel_x/pixel_y if the numeric value of them gets too high (even if they indicate square pixel aspect ratio). Even worse, the destination rectangle is ignored completely, and the video frame is simply stretched to the screen. I suspect this is an overflow or weird sanity check within the firmware. Work it around by limiting the fields to 16000, which is an arbitrary but apparently working limit.
* bundle: remove git sha from the Info.plist versionGravatar Stefano Pigozzi2016-01-05
| | | | Fixes #2677
* build: add option of html manualGravatar Chris Mayo2016-01-05
|
* demux_lavf: re-enable codepage autodetection for .assGravatar fwr2016-01-04
| | | | | | | | There are a lot of incorrectly encoded subtitles with .ass extension and non-ass subtitles (srt, ssa) with such extension, so we need to try codepage detection even for .ass. Signed-off-by: wm4 <wm4@nowhere>
* ao_wasapi: remove +x flag from filesGravatar wm42016-01-04
|
* chmap_sel: prefer inexact equivalents over perfect upmixGravatar wm42016-01-04
| | | | | | | | | | | | | Given 5.1(side), this lets it pick 5.1 from [5.1, 7.1]. Which was probably the original intention of this replacement stuff. Until now, the opposite was done in some cases. Keep the old heuristic if the replacement is not perfect. This would mean that a subset of the channel layout is an inexact equivalent, but not all of it. (My conclusion is that audio output APIs should be designed to simply take any channel layout, like the PulseAudio API does.)
* ao_wasapi: just use a pointer to the deviceID in change_notifyGravatar Kevin Mitchell2016-01-04
| | | | | Rather than creating a new string from the device instance. This will allow moving the change_init to the main thread before the device is loaded.
* ao_wasapi: correctly name the IMMNotificationClientVtblGravatar Kevin Mitchell2016-01-04
|
* ao_wasapi: make persistent enumerator local to change_notifyGravatar Kevin Mitchell2016-01-04
| | | | This is no longer required by anything else
* ao_wasapi: rewrite device listing and selectionGravatar Kevin Mitchell2016-01-04
| | | | | | | | | | | | | Unify and clean up listing and selection. Use common enumerator code for both operations to avoid duplication or inconsistencies. Maintain, but significatnly simplify manual device selection by id, name or number. This actually fixes loading by name which didn't really work before since the "name" displayed by --audio-device=help differed from that used to match the selection, which used the device "description" instead. Save the selected deviceID in the private structure for later loading. This will permit moving the device selection into the main thread in a future commit.
* vo_opengl: fix operation on GLES 2.0Gravatar wm42016-01-04
| | | | | | | | | GLSL in GLES 2.0 did not have line continuation in its preprocessor. This broke shader compilation. It also broke subtitle rendering in vo_rpi, which reuses some of the OpenGL code. Line continuation was finally added in GLES 3.0, which is perhaps the reason why ANGLE accepted it.
* sd_ass: fix memory leaks with --sub-ass=noGravatar wm42016-01-04
| | | | This affects only the codepath which forcibly disables any ASS tags.
* vo_opengl: reset nnedi3 weights properlyGravatar Bin Jin2016-01-03
| | | | Fixes #2661
* x11: silence xdg-screensaver failure messageGravatar wm42016-01-03
|
* player: make sure streams are selected with ordered chaptersGravatar wm42016-01-03
| | | | | | | | When using --start with timeline/ordered chapters, then the timeline_switch_to_time() function will look at playback_initialized whether to rselect the currently selected streams on the demuxer level. So we need to set this field to true at an earlier stage during initialization, and in particular before the code for --start is called.
* CONTRIBUTING: discourage reports against unmaintained releasesGravatar wm42016-01-03
| | | | Seriously, why do users do this?
* ao_wasapi: fix delay calculation againGravatar Kevin Mitchell2016-01-02
| | | | | | | | Apparently it's only wine where the qpc_position returned by IAudioClock_GetPosition can be overflowed. So actually do the rescaling correctly, but throw away the result if it looks unreasonable. this fixes a regression in 5afa68835ade9f21f9c709f791319bf9d2e35265
* options: exclude 360 from --video-rotate rangeGravatar wm42016-01-02
| | | | It's indeed completely useless. Pointed out in #2647.
* Update copyright yearGravatar wm42016-01-01
| | | | Merry christmas, or whatever the fuck is going on right now.
* sub: do not check for duplicates if --sub-clear-on-seek is setGravatar wm42015-12-31
|
* video: do not disable hr-seek framedrop too earlyGravatar wm42015-12-30
| | | | | | This didn't make too much sense, and just made seeking slower. Strictly suggest the decoder to drop a frame if its PTS is before the seek target.
* demux_mkv: skip EBML void elementsGravatar Kagami Hiiragi2015-12-29
| | | | | | | EBML_ID_VOID might occur at any level, see: https://github.com/Matroska-Org/ebml-specification/blob/master/specification.markdown This change prevents "Corrupt file detected" errors on completely valid files.
* TOOLS/zsh.pl: add .opus extension in zsh completionsGravatar Eric G2015-12-29
|
* example.conf: minor changesGravatar wm42015-12-29
| | | | | | In particular, the player inserts af_scaletempo by default now when changing speed, so the suggestion to add this was missleading and counter-productive.
* manpage: lua: fix command namesGravatar wm42015-12-29
| | | | Both variants work, but the ones with "-" are preferred now.
* sub: change how subtitles are readGravatar wm42015-12-29
| | | | | | | | Slightly change how it is decided when a new packet should be read. Switch to demux_read_packet_async(), and let the player "wait properly" until required subtitle packets arrive, instead of blocking everything. Move distinguishing the cases of passive and active reading into the demuxer, where it belongs.
* sub: remove packet list thingGravatar wm42015-12-28
| | | | | Just a simplification. This packet list lost its function a dozen of commits ago or so.
* sub: do charset conversion in demux_lavf.cGravatar wm42015-12-28
| | | | | | | | | | | | | Just so I can remove a few lines from dec_sub.c. This is slightly inelegant, as the whole subtitle file has to be read into memory, converted at once in memory, and then provided to libavformat in an awkward way by creating a memory stream instead of using demuxer->stream. It also won't be possible to force the charset on subtitles in binary container formats - but this wasn't exposed before, and we just hope this won't be ever needed. (One motivation was fixing broken files with non-UTF8 muxed.) It also won't be possible to change the charset on the fly, but this was not exposed either.
* demux_lavf: prepare for using wrapper stream instanceGravatar wm42015-12-28
| | | | Preparation for the next commit.
* wayland: fix typo in error messageGravatar Alessandro Ghedini2015-12-27
|
* sub: refactor initializationGravatar wm42015-12-27
| | | | | | | | Just simplify by removing parts not needed anymore. This includes merging dec_sub allocation and initialization (since things making initialization complicated were removed), or format support queries (it simply tries to create a decoder, and if that fails, tries the next one).
* sub: minor refactor how video FPS for MicroDVD is setGravatar wm42015-12-27
| | | | | | | | | So that the video FPs is not required at initialization, and can be set later. (As for whether this MicroDVD crap is worth the trouble to handle it "correctly": MicroDVD files are unfortunately still around, and in at least one case using the video FPS seemed to help indeed.)
* demux_mkv: adjust subtitle preroll defaultsGravatar wm42015-12-27
| | | | | | | | | | | | | | | | | Always preroll by default if the cue (index) information indicates overlapping subtitles. Increase the amount of maximum data it will skip to get such subtitles to 10 seconds. Since the index information can reliably tell whether reading earlier is needed, the maximum should be rarely actually used, thus we can set it high. On the other hand, the "old" prerolling mechanism always has to skip the maximum amount of data; thus the method using the index gets its own option to control the maximum amount of data to skip. (As more and more files With newer mkvtoolnix versions are muxed, and with this new and hopefully sane default established, these options can probably be removed in the future.)
* README: remove pointer to homebrew-mpvGravatar Stefano Pigozzi2015-12-26
|
* vo_rpi: fix previous commitGravatar wm42015-12-26
| | | | Meh. Fixes #2639.
* vo_rpi: fix compilationGravatar wm42015-12-26
| | | | | | | | | Untested, but should be fine. Broken by commit 0a0bb905. Also fix the include statement in context_rpi.c, which caused another compilation failure. Also untested. (Because I'm lazy.) Fixes #2638.
* filter_kernels: use more precise parameters for robidoux filtersGravatar wm42015-12-26
| | | | See #2637.
* vo_opengl: fix gray playbackGravatar wm42015-12-26
| | | | | | Commit f24ba544 wasn't an equivalent change. (This shit needs some sort of automated tests.)
* command: replace ROUND() with lrint()Gravatar wm42015-12-26
| | | | | lrint() pretty much does what ROUND() is supposed to do, but it's more precise.
* sub: destroy/recreate ASS_Renderer when disabling/enablings subsGravatar wm42015-12-26
| | | | | | | Keeping ASS_Renderers around for a potentially large number of subtitle tracks could lead to excessive memory usage, especially since the libass cache is broken (caches even unneeded data), and might consume up to ~500MB of memory for no reason.
* sub: always recreate ASS_Renderer on subtitle decoder reinitGravatar wm42015-12-26
| | | | | | | This includes the case of switching ordered chapter boundaries. It will now be recreated on each timeline part switch. This shouldn't be much of a problem with modern libass. (Older libass versions use fontconfig for memory fonts, and will be very slow to reinitialize memory fonts.)
* sub: cache subtitle state per track instead of per demuxer streamGravatar wm42015-12-26
| | | | | | | | | | | | Since commit 6d9cb893, subtitle state doesn't survive timeline switches (ordered chapters etc.). So there is no point in caching the state per sh_stream anymore (which would be required to deal with multiple segments). Move the cache to struct track. (Whether it's worth caching the subtitle state just for the situation when subtitle tracks get reselected is questionable. But for now, it's nice to have the subtitles immediately show up when reselecting a subtitle.)
* vo_opengl: flip image if backend uses flipped renderingGravatar wm42015-12-25
| | | | Should fix #2635 (untested).
* command: change heuristic for files with 1 chapterGravatar wm42015-12-25
| | | | | | | | | For files with only 1 chapter, the "cycle" command was ignored. Reenable it, but don't let it terminate playback of the file. For the full story, see #2550. Fixes #2550.