summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* cache: fix long hangsreimar2012-10-301-1/+1
| | | | | | | | | | Avoid sleeping 0 ms, this can cause sleep to be not called at all. This will then cause long hangs e.g. when sleeping on single-CPU/core computers. Should fix bug #2084. Patch suggested by Visenri [visenri yahoo es] git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35119 b3059339-0415-0410-9bf9-f77b7e298cf2
* demux_lavf: support SRT subtitlesreimar2012-10-301-2/+2
| | | | | | | | | | | Support subrip format subtitles. Patch by Philip Langdale [philipl overt org]. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35118 b3059339-0415-0410-9bf9-f77b7e298cf2 Conflicts: libmpdemux/demux_lavf.c
* demux_lavf: do not special case ID_TEXT subs on program switchingreimar2012-10-301-1/+1
| | | | | | | | | | | | | | When switching programs select subtitle stream regardless of whether the format is text, ASS, bitmap or whatever. There probably was some good reason for the condition but it got lost in time and special-casing CODEC_ID_TEXT over other test-based subtitles doesn't seem to make much sense. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35117 b3059339-0415-0410-9bf9-f77b7e298cf2 Conflicts: libmpdemux/demux_lavf.c
* stream_file: explicitly signal EOFreimar2012-10-301-0/+2
| | | | | | | | | Explicitly signal EOF when reaching the end of a file/pipe. Fixes a 4 second delay due to stream_reconnect for e.g. echo | mplayer - git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35112 b3059339-0415-0410-9bf9-f77b7e298cf2
* demux_ts: add support for PCM variant found on BluRayreimar2012-10-301-0/+7
| | | | | | TS demuxer: Add support for PCM variant found on BluRay. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35106 b3059339-0415-0410-9bf9-f77b7e298cf2
* vf_stereo3d: add another anaglyph color variantreimar2012-10-301-12/+30
| | | | | | | | | | | | | | | | | | | | | | | Make compiler give the ana_coeff array automatically the right size. Makes adding more colour schemes easier. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35078 b3059339-0415-0410-9bf9-f77b7e298cf2 Author: reimar Convert comments into designated initializers. That is a simple way to ensure they always correspond to what the compiler actually does. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35079 b3059339-0415-0410-9bf9-f77b7e298cf2 Author: reimar Add another anaglyph color variant. Patch by Bob [mpbob ezpi net]. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35080 b3059339-0415-0410-9bf9-f77b7e298cf2 Author: reimar
* vf_expand: remove outdated code causing crashesreimar2012-10-301-6/+0
| | | | | | | | | | | | | | | | | Remove outdated code that instead of preventing now causes crashes. The problem it was trying to catch (next filter not supporting slices) was fixed already in r10141 (by implementing a fallback version of vf_next_draw_slice). This should fix Debian Bug#683907. Example command-line: mencoder big_buck_bunny_480p_stereo.avi -o a.mpg -vf crop=346:240:2:24 -oac copy -ovc lavc git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35061 b3059339-0415-0410-9bf9-f77b7e298cf2 Author: reimar Conflicts: libmpcodecs/vf_expand.c
* options: fix URL user/password parsingUoti Urpala2012-10-301-2/+2
| | | | | | | Code parsing the optional user/password part for some URL types given as files to play, such as "ftp://user:password@host/filename", was broken. Fix. I guess this isn't used much as nobody reported it earlier.
* stream_ftp: fix double free in one error caseUoti Urpala2012-10-301-1/+0
|
* af_scaletempo: reset latency info when reconfiguringUoti Urpala2012-10-281-0/+3
| | | | | | | | af_scaletempo kept outdated values in the af->delay field after reconfiguration until some audio was fed through the filter. This could affect audio sync code after a playback speed change. Additionally, in the special case speed=1 the code did not set the af->mul field at all. Initialize both fields after reconfiguration.
* stream_ffmpeg: handle rtsp:// URLs by default, add lavf://Uoti Urpala2012-10-283-22/+31
| | | | | | | | | | | Make stream_ffmpeg handle rtsp:// URLs by default, without requiring ffmpeg://rtsp://. Previously (after removal of other rtsp implementations) rtsp:// fell back to using HTTP, which was unlikely to work. Also add lavf:// as an alternative to ffmpeg:// to force the stream implementation. Since libavformat can come from Libav rather than FFmpeg, using the ffmpeg name in the prefix is misleading.
* cleanup: remove vd_internal.hwm42012-10-231-48/+0
| | | | This was stupid crap for old vd_* files, and vd_ffmpeg doesn't need it.
* vo_opengl: fix help output typowm42012-10-231-1/+1
|
* VF: remove IMGFMT_MPEGPESwm42012-10-226-20/+2
| | | | | | | | | This wasn't used anymore. Remove the reference to IMGFMT_MJPEG in vf_dlopen as well. Thus format is used as FourCC in the TV code (i.e. it's on the demuxer level, just like raw formats), and never appears in the video filter chain. For starters, vd_ffmpeg can never produce this format.
* vd: remove references to vf_palette and vf_lavcwm42012-10-221-48/+3
| | | | | | Both of these video filters have been deleted. There wasn't any use-case left where these were needed. Videos with paletted pixel formats still work.
* vd_ffmpeg, vf: fix crashes with some game formatsreimar2012-10-222-5/+8
| | | | | | | | | | | Fixes for palette allocation handling. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@34304 b3059339-0415-0410-9bf9-f77b7e298cf2 This caused a crash with http://samples.ffmpeg.org/cdxl/fruit.cdxl if direct rendering was used. (Which is rarely these days.) With small changes: avoid av_freep() use, as this function is not sane.
* osd_libass: increase robustness when handling internal OSD escapeswm42012-10-221-1/+1
| | | | | | | | | | | | | | The \xFF escape is used internally to insert special OSD symbols (which need a font change to the internal OSD font). There was potential for breakage when \xFF was followed by \0, because then "in" would be advanced past the string's end. Normally this can't happen, as it would require invalid UTF-8 input data. But we don't check input for UTF-8 validness, so there's a potential issue here. Garbled output is ok on invalid UTF-8 input, but crashing is not. Make it more robust by checking for this.
* osd_libass: fix stupid dangling pointer crashwm42012-10-221-1/+1
| | | | | | | | | | append_utf8_buffer() reallocates the buffer passed to it, and returns the new pointer. This bug was originally introduced in mplayer2 when that project merged mpv's osd_libass.c. That merge changed some minor things, including ASS escape handling. When mpv used this better method of escape handling too (commit 0ff7dd992fb0), the bug was duplicated.
* mp_image: add IMGFMT_BGR0/PIX_FMT_BGR0wm42012-10-214-0/+10
| | | | Needed by ffv1.
* vo_vdpau: fix screenshotswm42012-10-211-18/+32
| | | | | | | | | | | | | | | | Attempting to take screenshots printed vdpau errors on the terminal, and the resulting screenshots were filled with black. The problem was that that the screenshot code tried to use an unallocated output surface (the one at vc->output_surfaces[vc->num_output_surfaces]). This used to refer to the last allocated surface, until this was changed by a recently merged commit. That commit also added a separate screenshot surface. The merge somehow went wrong, and that part was not integrated. <uau> wm4: you used an earlier buggy version of a commit OK...
* mplayer: make terminal status playback time consistent with OSDwm42012-10-211-14/+8
| | | | | | | | Always use the same function as the OSD does (get_current_time()). This loses the logic to display "???" if the time is unknown, as get_current_time() returns 0 in this case. (The function has far too many uses to change that now, and it seems to happen rarely in practice.)
* build: fix compilation on Windows (manifest files)wm42012-10-203-3/+3
|
* VO: fix screenshot size with -geometrywm42012-10-204-24/+8
| | | | | | | | | | The -geometry switch works by modifying the d_width/d_height values passed to VOs. Moreover, d_width/d_height seem to be subject to the -monitorpixelaspect option. Screenshots should not be influenced by this. Change screenshot supporting VOs to use the original d_width/d_height values stored in vo->aspdat.prew/h. (Not all uses of -geometry did this. E.g. --geometry=900x560+0+20 did.)
* gl_common: hack to support compilation on FreeBSDwm42012-10-201-0/+12
| | | | | | It seems FreeBSD 10.0-CURRENT as of this time doesn't include the GLX extension and header file definitions for creating OpenGL 3.x core contexts. Dump some more hacks into gl_header_fixes.h.
* cocoa_common: avoid situational nil dereferencingStefano Pigozzi2012-10-191-2/+3
|
* cocoa_common: use the same window level when windowed and fullscreenStefano Pigozzi2012-10-161-17/+7
| | | | | | | | This greatly simplifies the code and makes alt tab behave like it is supposed to: it doesn't put the mplayer window behind the other ones when losing focus. If you have other programs that are displaying themselves above the normal window level, avoid them or use --ontop.
* cocoa_common: split window creation in helper functionsStefano Pigozzi2012-10-161-88/+112
| | | | This commit hopefully makes it easier to follow the flow of the program.
* cocoa_common: cosmetics / reformatStefano Pigozzi2012-10-161-87/+118
| | | | | Use 80columns almost exclusively and reformat Objective-C messages declarations to follow Apple's style (i.e.: - (int)name; instead of - (int) name;).
* gl_common: remove useless cocoa wrapper functionsStefano Pigozzi2012-10-161-18/+3
|
* cocoa_common: remove useless importStefano Pigozzi2012-10-161-2/+0
| | | | | QuartzCore was probably forgot after extracting the code from `vo_corevideo`. The OpenGL.h include can be avoided with no warnings/errors.
* cocoa_common: replace TickCount() with NSProcessInfo#systemUptimeStefano Pigozzi2012-10-161-4/+3
| | | | | TickCount is depracted in OS X 10.8. Substitute it with a public Cocoa API call available since OS X 10.6.
* cocoa_common: use IOKit to perform power managementStefano Pigozzi2012-10-168-12/+80
| | | | | | This allows to remove the call to the deprecated `UpdateSystemActivity`. The additional benefit is power management is disabled only if the video is really playing. A paused video will not stop the system from idling.
* cocoa_common: save state in the vo structStefano Pigozzi2012-10-165-62/+85
| | | | | Save the cocoa state in an instance variable for the Objective-C part of the code and use a field in the vo struct for the raw C part of the code.
* codecs: add Video Decode Acceleration Framework codecStefano Pigozzi2012-10-161-0/+16
| | | | | | | | | | Video Decode Acceleration Framework is a framework by Apple to provide GPU assisted H.264 decoding. It is available on Mac OS X v10.6.3 and later with Mac models equipped with the NVIDIA GeForce 9400M, GeForce 320M, GeForce GT 330M, ATI HD Radeon GFX, Intel HD Graphics and others. This commit uses the new video decoder added in FFmpeg based upon this framework.
* TOOLS: add script for osx bundle generationStefano Pigozzi2012-10-1613-0/+913
| | | | | | | | | | | | | Add a make task and python script to create a Mac OS X Application Bundle to be used when compiling with the --enable-macosx-finder and --enable-macosx-bundle configure flags. The main svg icon was created by me and heavily inspired by Apple's iTunes and AppStore icon designs. We are still looking for something better. For the audio, movie and subtitles icons I added the main logo to MPlayer OSX Extended icons. Use with `make osxbundle` after running configure and make.
* manpage: improvements to vo_opengl documentationwm42012-10-152-14/+26
| | | | | | | | Mention the FBO format chaos. Some other things were not entirely correct anymore. Also update the "builtin" documentation in vo_opengl.c.
* input: fix mp_cmd memory leakwm42012-10-141-0/+3
| | | | | mp_input_feed_key() didn't free the command, if it was discarded due to the queue exceeding its maximum size.
* input: minor simplification to mp_input_get_cmd()wm42012-10-141-13/+8
|
* command: reduce some property boilerplatewm42012-10-143-46/+35
| | | | | | | | | | Reduces code needed for implementing string and int64_t read-only properties. Originally, there actually was a m_property_string_ro(), but it was removed, as that would have implicitly strdup'ed the string. But the new name m_property_strdup_ro() should make it quite clear what is happening.
* input: add input test modewm42012-10-145-14/+90
| | | | | | | | | | | In input test mode, key bindings won't be executed, but are shown on the OSD. The OSD includes various information, such as the name of the key, the command itself, whether it's builtin, and the config file location it was defined. The input test mode can be enabled with "--input=test". No effort is spent trying to react to key bindings that normally exit the player; they are treated just like any other binding.
* input: track location info for input commandswm42012-10-143-24/+43
| | | | | | If parsing a command fails, its location is printed. The location is the path to the input.conf, and the line number of the key binding and the associated input command.
* osd_libass: fix \n escapeswm42012-10-141-8/+3
| | | | | | | | | Apparently libass can't be made to not interpret "\n" as escape. That means "\n" can't be printed literally. Use the same hack that was added to mplayer2 when that project merged osd_libass.c: add an invisible zero-width joiner character between "\" and "n". It seems U+FEFF is deprecated, because it has been redefined as BOM mark. Use U+2060, which seems to be the replacement.
* stream: remove NULL checks for open callswm42012-10-141-13/+3
| | | | | | | open_stream() and open_output_stream() checked for filename==NULL, and if true, printed an error message asking to report this as bug. Internal logic errors should just crash. Use assert() instead.
* core: show quvi page title in window title, clean up libquvi handlingwm42012-10-149-77/+115
| | | | | | | | | | | | | | | | | Clean up handling of libquvi (which resolves URLs of streaming sites into URLs to the actual media playable by mpv). Move the code out of open.c to quvi.c, and invoke it explicitly from mplayer.c, instead of trying to resolve every filename passed to open_stream(). This allows easily passing metadata from the quvi context to the frontend. Expose QUVIPROP_PAGETITLE as "media-title" property, and use that instead of "filename" for the mplayer window title. (For YouTube, this is the video title.) It's cleaner too. Handle a potential reliability issue: check quvi_getprop return values. Since open.c contains barely anything but the open_stream() stub, move that to stream.c and delete open.c.
* input: don't warn on commands for disabled optional featureswm42012-10-141-6/+5
| | | | | | | | | Always recognize input commands for optional features (like TV commands etc.). If these features are disabled, the commands are parsed, but simply do nothing. This fixes annoying warnings on start with the default/builtin input.conf, if certain optional features are not compiled.
* vo_opengl: fix filter reinitializationwm42012-10-141-4/+4
| | | | | | | The second scaling filter (cscale) was never reset correctly due to a fatal oversight. In particular, this could lead to OpenGL errors, if the new filter needs a 2D texture, but the old texture was 1D (because init_scaler reuses the texture).
* ad_ffmpeg: add support for planar sample formatsStefano Pigozzi2012-10-141-7/+36
| | | | | | | | | | FFmpeg and Libav are starting to return a growing number of planar samples when decoding formats that save data like that. In this first implementation planar formats are immediately converted to packed formats. Fututre developments should move to use libavresample. Original work by Nicolas George on mplayer(1).
* fmt-conversion.h: fix pixfmt.h #include; fixes latest LibavUoti Urpala2012-10-141-2/+1
| | | | | | | | | | | | | | | | | | | Change fmt-conversion.h to include <libavutil/pixfmt.h> instead of <libavutil/avutil.h> which no longer indirectly includes the former. This fixes compilation with latest Libav. Also remove superfluous config.h #include. The pixfmt.h #include is needed for 'enum PixelFormat'. avutil.h already stopped including pixfmt.h more than a year ago, but that did not cause visible breakage at the time. AFAIK the C standard does not allow incomplete enum types, but it seems that GCC and other relevant compilers accept function declarations using not-yet-defined enum types without warnings. However, Libav now renamed 'enum PixelFormat' to 'enum AVPixelFormat', adding a '#define PixelFormat AVPixelFormat' for backwards compatibility. We need this compatibility define because we're still using the PixelFormat name, but it of course does not work if pixfmt.h is not included; thus the missing include now caused a compilation failure.
* Merge branch 'input_changes' into masterwm42012-10-1233-2405/+2196
|\ | | | | | | | | | | | | | | Conflicts: DOCS/man/en/vo.rst etc/input.conf input/input.c m_property.c
| * commands: use "up" and "down" as 2nd argument for cycle commandwm42012-10-123-5/+32
| | | | | | | | | | | | | | | | | | | | | | Allow the values "up" and "down" as step argument for the cycle input command. Previously, this argument was a float, which specified an arbitrary step value and direction (similar to the add command). Instead of "1" and "-1", "up" and "down" is to be used. Float values are still accepted. That capability might be removed in the future, as there's probably hardly any actual use for arbitrary step values.
| * commands: add print_text input command to print text on the terminalwm42012-10-124-0/+15
| | | | | | | | | | In theory, this could take over the role of the get_property slave command, and is more general.
| * sub: add --ass-style-override option to disable style overrideswm42012-10-129-14/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are a number of options which modify ASS subtitle rendering. Most of these do things that can interfere with the styling done by subtitle scripts, resulting in incorrect rendering. Add the --ass-style-override option to make it easy to disable all overrides. This helps trouble- shooting, and makes it more practical to use the override features. (You can simply toggle the ass-style-override property at runtime, should one of the style override options break subtitle rendering at a certain point.) This mainly affects whether most --ass-* options are applied, as well as --sub-pos. Some things, like explicit style overrides loaded with --ass-force-style, can't be changed at runtime using the ass-style-override property.
| * sub: enable sub-pos with libasswm42012-10-122-1/+6
| | | | | | | | | | | | | | | | | | | | The --sub-pos option and sub-pos property control the vertical position of a subtitle. Also change how sub-pos is handled in the old subtitle renderer (used with -no-ass). The new behavior doesn't render subtitles out of the screen if the subtitle is located near the top screen border and has too many lines.
| * options: add --status-msgwm42012-10-124-22/+41
| | | | | | | | | | | | | | Replaces the status line with a custom string. This is probably useful for hacking old slave mode applications into working again. Even if not, this might be generally useful.
| * manpage: document input.conf related thingswm42012-10-124-17/+367
| | | | | | | | | | | | This directly corresponds to DOCS/OUTDATED-tech/slave.txt. Changes from the recent commits are included too.
| * commands: move legacy property wrapper to m_property.cwm42012-10-122-40/+48
| |
| * commands: sub_step takes only one argumentwm42012-10-121-1/+1
| |
| * TOOLS/mplayer2_identify.sh: program property is not readablewm42012-10-121-1/+0
| | | | | | | | | | | | And it never was. This property is write-only and exists only for setting the program. Making it readable is possible, but would require demuxer changes.
| * commands: disable deprecation warningswm42012-10-122-2/+2
| | | | | | | | | | | | |