summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Release 0.3.11v0.3.11release/0.3wm42014-06-141-1/+1
|
* build: version string as native str type for each Python versionPhilip Sequeira2014-06-141-2/+4
| | | | | | | Should resolve the "mpv b'...'" issue on Python 3 without breaking things on Python 2. Also, remove redundant wait for process.
* tv: add missing header for clock_gettimewm42014-06-141-0/+1
| | | | | | | Not sure how this symbol becomes visible in glibc (probably accidental or mandatory recursive inclusion via the other standard or Linux- specific headers), but normally this include file is needed to get the symbol.
* input.conf: make ESC quit when encodingwm42014-06-141-0/+1
|
* demux: use av_malloc for packetswm42014-06-141-2/+2
| | | | | | | | Probably "needed" to get the correct alignment, although I'm not aware of actual breakages or performance issues. In fact we should probably always just allocate AVPackets, but for now use the simple fix.
* demux: simplify packet resizingwm42014-06-143-15/+5
| | | | | Actually we don't need to resize packets; we just need to make them shorter.
* demux: fix compilation with FFmpeg gitwm42014-06-142-11/+4
| | | | | | | | | FFmpeg requires a bullshit padding after each input buffer, and they just increased that padding without warning and without ABI or API bump. We need this only in one file (although mp_image hardcodes something similar, for which no FFmpeg API define is available), so drop our own define.
* tv: use correct timestampsiive2014-06-141-12/+48
| | | | | | | | | | | | | | | | | | Squashed from the following mplayer-svn commits. The '#' is removed from the bug ID to prevent github from doing something stupid. Instead of adding the mplayer configure check for clock_gettime(), the POSIX identifiers are used for checking presence of the function. Use correct type of timestamps when recording from v4l2. Fix 2176 Patch by Jarek Czekalski <jarekczek at poczta onet pl>. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@37222 b3059339-0415-0410-9bf9-f77b7e298cf2 Allow building of v4l2 without clock_gettime(). Add overly verbose message in case monotone timestamps are required by the kernel. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@37223 b3059339-0415-0410-9bf9-f77b7e298cf2
* ao_alsa: make device the first sub optionwm42014-06-142-4/+4
| | | | This is more convenient.
* tv: remove sysinfo() usagewm42014-06-142-15/+0
| | | | | | | | | | | This call was used limited the buffer size if installed RAM was below 16 MB. This stopped being useful a decade ago. The check could also overflow on 32 bit systems. Just get rid of it. old-configure changes skipped when cherry-picking for stable. Conflicts: old-configure
* vaapi: fix destruction with --hwdec=haapi-copywm42014-06-141-2/+4
| | | | | | | This is incomplete; the video chain will still hold some vaapi objects after destroying the decoder and thus the vaapi context. This is very bad. Fixing it would require something like refcounting the vaapi context, but I don't really want to.
* vo_vaapi: cleanup error handling on initwm42014-06-142-4/+10
| | | | Close the X connection if initializing vaapi fails.
* video: better handling for (very) broken timestampswm42014-06-141-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes, Matroska files store monotonic PTS for h264 tracks with b-frames, which means the decoder actually returns non-monotonic PTS. Handle this with an evil trick: if DTS is missing, set it to the PTS. Then the existing logic, which deals with falling back to DTS if PTS is broken. Actually, this trick is not so evil at all, because usually, PTS has no errors, and DTS is either always set, or always unset. So this _should_ provoke no regressions (famous last words). libavformat actually does something similar: it derives DTS from PTS in ways unknown to me. The result is very broken, but it causes the DTS fallback to become active, and thus happens to work. Also, prevent the heuristic from being active if PTS is merely monotonic instead of strictly-monotonic. Non-unique PTS is broken, but we can't fallback to DTS anyway in these cases. The specific mkv file that is fixed with this commit had the following fields set: Muxing application: libebml v1.3.0 + libmatroska v1.4.1 Writing application: mkvmerge v6.7.0 ('Back to the Ground') [...] But I know that this should also fix playback of mencoder produced mkv files.
* gl_common: correct a typewm42014-06-141-1/+1
| | | | | | | We pass a pointer to a GLint to sscanf, using the %d format. That format _always_ takes int, and not GLint (whatever the heck that is). If GLint is always int, then it doesn't make a difference, but is still better because it doesn't play russian roulette with pointers.
* x11: fix datatype for _NET_WM_PIDwm42014-06-141-1/+1
| | | | | | | | | | Setting this property was added 12 years ago, and the code was always incorrect. The underlying data type is "long", not "pid_t". It's well possible that the data types are different, and the pointer to the pid variable is directly passed to XChangeProperty, possibly invoking undefined behavior. It's funny, because in theory using pid_t for PIDs sounds more correct.
* input: make combined commands repeatablewm42014-06-143-2/+10
| | | | | | | | Binding multiple commands at once where always considered not repeatable, because the MP_CMD_COMMAND_LIST wasn't considered repeatable. Fixes #807 (probably).
* DOCS/coding-style: add a hint that new features should be documentedwm42014-06-141-2/+4
|
* playlist: fix playlist_move on itselfwm42014-06-141-1/+4
| | | | | | | A playlist_move command that moves an entry onto itself (both arguments have the same index) should do nothing, but it did something broken. The underlying reason is that it checks the prev pointer of the entry which is temporarily removed for moving.
* Release 0.3.10v0.3.10wm42014-05-241-1/+1
|
* tl_mpv_edl: correct misspelling on line 233Yomi02014-05-241-1/+1
| | | | | | Closes #783 Signed-off-by: wm4 <wm4@nowhere>
* vo_vdpau: always allocate the black pixelwm42014-05-241-3/+6
| | | | | | black_pixel is an (apparently necessary) 1x1 black surface used for clearing the screen. It was allocated in RGB mode only, but is sometimes used in YUV mode too.
* x11: fix a warning with --disable-xextJerome Leclanche2014-05-241-1/+1
| | | | Signed-off-by: wm4 <wm4@nowhere>
* build: "tv-v4l2" needs "tv"wm42014-05-241-0/+1
| | | | Fixes #795.
* vo_vaapi: don't redraw twicewm42014-05-241-7/+1
| | | | | After VOCTRL_REDRAW_FRAME, flip_page is called, which renders the frame. The current code rendered the frame twice; drop the redundant call.
* Fix the build on OpenBSD and FreeBSDJuan Francisco Cantero Hurtado2014-05-241-1/+1
| | | | | | Without this change, the compiler uses by default the "talloc.h" file installed by the package libtalloc within /usr/local/include. Found and tested on OpenBSD but FreeBSD has the same patch on its ports tree.
* README: describe release cyclewm42014-05-241-2/+18
|
* wayland: fix typoAlexander Preisinger2014-05-241-14/+14
| | | | So long in the code without me noticing. Embarassing!
* build: fix OpenBSD DVD/CDROM device nameswm42014-05-241-2/+2
| | | | Closes #781.
* manpage: update --playlist entrywm42014-05-241-5/+10
|
* player: don't assign "false" to pointerwm42014-05-241-1/+1
| | | | | | | This is legal in theory. "false" expand to 0, and 0 is a valid pointer value. But I guess this was not really intended. Found by cppcheck.
* build: removed undefined behavior from PVR checkwm42014-05-241-1/+1
| | | | | | | | This shouldn't matter, but it's probably better if the code to check is valid - otherwise an extremely clever compiler might fail to compile it, and the feature would be misdetected. (Probably.) Found by cppcheck.
* player: don't complain on too long filenameswm42014-05-241-2/+2
| | | | | | | | | mpv supports per-file config files, basically filename+".conf". We use a static buffer for the new filename, and if that buffer is too small, we print a warning. This is confusing for e.g. long URLs, so just hide the warning by default. Why not dynamically allocate the buffer? Who cares.
* old-makefile: add a missing source directorywm42014-05-241-0/+1
| | | | Fixes "make clean".
* x11: fix potentially unaligned access in icon loaderwm42014-05-241-3/+3
| | | | | Tried to load a 32 bit value by dereferencing a uint32_t pointer, but the pointer is not guaranteed to be aligned, not even in practice.
* sub: fix undefined behavior in ASS color calculation (2)wm42014-05-241-2/+2
| | | | Same problem as previous commit, fix by using the MP_ASS_RGBA() macro.
* sub: fix undefined behavior in ASS color calculationwm42014-05-241-1/+1
| | | | | | | This might shift bits into the sign, which is undefined behavior. Making the right operand unsigned was supposed to help with this, but it seems it did nothing, and C99 makes the result type dependent on the left operand only.
* Fix bogus copyright textwm42014-05-241-2/+0
| | | | | This file was copied from gl_hwdec_vaglx.c to have a basic skeleton, but no actual code is left from it.
* mixer: don't restore volume with different --softvol-max settingswm42014-05-241-8/+11
| | | | | | | | | | | Changing --softvol-max and then resuming would change the volume level on resume to something different than the original volume. This is because the user volume setting is always between 0-100, and 100 corresponds to --softvol-max gain. Avoid that changing -softvol-max and resuming an older file could lead to a too loud volume level by refusing to restore if --softvol-max changed.
* demux_lavf: one more hack for mp3 from networkwm42014-05-241-1/+1
| | | | | | | | | | | | | | mp3 has a hack lowering the probescore for format detection. This is because detecting mp3s is hard due to their nature, and the fact that ID3v2 tags are sometimes several megabytes big. When playing mp3 from network, the mime-type is usually set, and that matches the format hack entry meant for webradios, overriding the normal mp3 entry. This can lead to network mp3s not being detected. Lower the network case to the same probescore as on-disk mp3s. The difference is that for network mp3s, we don't load the full probe-buffer, and we lower the amount of audio the demuxer will read to collect data on opening (0.5 seconds instead of typically 5 seconds).
* manpage: fix vf_scale optionswm42014-05-241-9/+11
|
* input: fix stack overflow when checking for abort cmdwm42014-05-241-1/+1
| | | | | | This can happen when the input stream is somehow blocking on network, and the user still send input in one way or another, and one of the commands is a compound command ("cmd a ; cmd b").
* Release 0.3.9v0.3.9wm42014-04-301-1/+1
|
* demux: add hack to get initial ICY info to be printedwm42014-04-302-0/+7
| | | | | | | | | Newly added metadata (such as the ICY title, sent some seconds after opening the stream) simply wasn't printed. This problem doesn't exist in git master. Fixes #753.
* TOOLS/umpv: make it work with Python 3 (again)wm42014-04-301-3/+6
| | | | | | | Apparently, the 3rd (2nd) parameter to string.translate() function was removed. Also, make_abs() had a mistake - not sure how this passed testing.
* TOOLS/umpv: don't mangle URLswm42014-04-301-1/+16
| | | | | This attempted to prefix the current directory to URLs, because it didn't recognize them as already absolute paths.
* TOOLS/umpv: allow passing 0 fileswm42014-04-301-2/+1
| | | | | Some might use that to just create an empty window with --force-window --idle (for whatever reasons).
* TOOLS/umpv: allow passing optionswm42014-04-301-2/+14
| | | | But only via a special environment variable.
* TOOLS/umpv: make it work with Python 3wm42014-04-301-1/+1
| | | | Apparently they removed octal literals, and made them invalid syntax.
* build: use -pthread when availableStefano Pigozzi2014-04-301-0/+13
| | | | | | | | | | | | Our code currently tries to link -lpthread and adds stuff like -D_REENTRANT based on the target platform. GCC actually supports to just pass a -pthread compiler and linker flag that will automatically enable threading and define the correct symbols for the platform, so let's try to just use that as our first choice. clang also supports -pthread but it must be used only as a compiler flag, so we also take care of that scenario with this commit.
* terminal: always use SA_RESTART with sigaction()wm42014-04-301-1/+1
| | | | | | | One problem is that for example stdio functions won't restart syscalls manually, and instead treat EINTR as an error. So passing SA_RESTART is the only sane thing to do, unless you have special requirements, which we don't.
* demux_mkv: enable parsing for VP9wm42014-04-301-2/+4
| | | | | | | | | | | | VP9 packets can contain 2 frames in some video packets (from which 1 frame is invisible). Due to a design mismatch between libvpx and the libavcodec vp9 decoder, libvpx can take the "full" packets, but lavc vp9 can not. The consequence is that we have to split the packets if we want to feed them to the lavc codec. This is not entirely correct yet: timestamp handling is missing. --demuxer=lavf and ffmpeg native utilities have the same problem. We can fix this only once the ffmpeg VP9 parser is fixed.
* osd: make code C99wm42014-04-301-5/+3
| | | | | | | This used an unnamed union, which is allowed in GNU C and C11, but not C99. This broke the build with some older compilers. Replaces pull request #744.
* Revert "wayland: print waylands display erros"Alexander Preisinger2014-04-301-39/+0
| | | | | | | | | | | | This reverts commit 6e34b0ec1f50612cb2767da3dbc27be0be63041d. There has always been an error message "proxy already has a listener" and I couldn't reproduce where it is comming from until now. The display interface already has a listener and we can't overwrite it. Now remove the code and avoid this error message. Conflicts: video/out/wayland_common.c
* manpage: fix grammarwm42014-04-301-1/+1
|
* manpage: forced->usedwm42014-04-301-1/+1
|
* stream: use uninterruptible sleep on reconnectingwm42014-04-301-2/+8
| | | | | | | | | | This is the only function which actually used the time argument of stream_check_interrupt(). Considering that the whole player freezes anyway, this is not worth the complication. Also generally reduce the maximum wait time due to timeout. Introduce exponential backoff, which makes the first reconnect retries faster, but still waits up to 500ms in the later retries.
* manpage: improve --osd-level descriptionwm42014-04-301-4/+4
|
* demux_mkv: enable parsing for mp3wm42014-04-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | For some reason, some files appear to have broken mp3 packets, or at least in a form that libavcodec can't deal with. The audio in the sample file in question could not be decoded using libavcodec. The problematic file had variable packet sizes, and the libavcodec decoder kept printing "mp3: Header missing" for each packet it was fed. Remuxing with mkvmerge fixes the problem. The mp3 data is probably not VBR, and remuxing resulted in fixed-size mp3 frames. So I don't know why the sample file was muxed this way - it might just be incorrect. The sample file had "libmkv 0.6.4" as MuxingApp (although I could not get mkvinfo to print this element, maybe the file uses an incorrect element ID), and "HandBrake 0.9.4" as WritingApp. Note that the libmpg123 decoder does not have any issues with it. It's probably more robust, because libmpg123 was made to decode whole mp3 files, not just single frames. Fixes issue #742.
* ao_coreaudio: log even more info in verbose modeStefano Pigozzi2014-04-301-5/+27
| | | | | This logs more info that can be used for debugging purposes, in particular it prints all the AudioChannelDescription in the descriptions array.
* ao_coreaudio: add verbose output of detected channel layoutsStefano Pigozzi2014-04-301-0/+5
| | | | This can be useful for debugging purposes.
* cache: remove redundant log prefixwm42014-04-301-1/+1
|
* man: minor typo why not to use portaudioKevin Mitchell2014-04-301-1/+1
|
* vf: remove autoinserted filters on reconfigwm42014-04-302-0/+8
| | | | | | | When using rotation with hw decoding, and the VO does not support rotation, vf_rotate is attempted to be inserted. This will go wrong, and after that it can't recover because a vf_scale filter was autoinserted. Just removing all autoinserted filters before reconfig fixes this.
* vf: add function to remove a filter from the chainwm42014-04-302-0/+14
|
* encode: don't resume playback when encodingwm42014-04-301-0/+1
| | | | | The previous commit doesn't handle additionally loaded config files, such as the playback resume mechanism.
* manpage: add notes when to use/not use certain AO and VO driverswm42014-04-302-1/+50
| | | | | Conflicts: DOCS/man/en/vo.rst
* encode: disable keep-open when encodingJames Ross-Gowan2014-04-301-0/+1
|
* audio: preallocate audio buffers on resizewm42014-04-301-2/+7
| | | | | | This avoids too many realloc() calls if the caller is appending to an audo buffer. This case is actually quite noticeable when using something that buffers a large amount of audio.
* Release 0.3.8v0.3.8wm42014-04-171-1/+1
|
* af_lavcac3enc: detach on any passthrough format, not just ac3wm42014-04-171-1/+1
|
* README: mention minimum FFmpeg/Libav versionswm42014-04-171-0/+2
|
* talloc README: more human readible api referenceKevin Mitchell2014-04-171-1/+1
|
* wayland: don't schedule resize if going fullscreenRicardo Vieira2014-04-171-1/+0</