summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* cleanup: subs: remove global ass_library variableUoti Urpala2011-07-236-15/+18
|
* input: fix input.conf parse errorsUoti Urpala2011-07-203-115/+67
| | | | | | | | | Commit df899f59be removing a write outside a buffer triggered another problem, as for some reason the code did not 0-terminate its read buffer in the specific case that it had encountered an EOF, and as a result could parse contents left in the buffer for a second time. Usually this resulted in parsing error messages. Fix the problem by rewriting the offending code in a less hacky form.
* input: fix problem with key autorepeatUoti Urpala2011-07-181-4/+3
| | | | | | | Recent commit 82b8f89baeaf ("input: rework event reading and command queuing") had a problem in the handling of commands generated by autorepeat code (this code is only used with joystick and Apple IR remote input). Fix (still untested though).
* cleanup: do libav* initialization on startupUoti Urpala2011-07-1820-79/+10
| | | | | | | Do the global initialization of libavcodec and libavformat (avcodec_register_all(), av_register_all()) immediately on program startup and remove the initialization calls from various individual modules that use libavcodec/libavformat functionality.
* vf_qp: enable compilation depending on libavutil eval APIUoti Urpala2011-07-183-11/+6
| | | | | | Libavutil eval API seems to be enough for vf_qp, so enable the filter if the API is available. Also clean up some left over lines for other filters in Makefile.
* configure: make libavutil eval API check require newer versionUoti Urpala2011-07-181-1/+1
| | | | | The code now uses a newer syntax (av_expr_*), so require a newer version of libavutil which supports that.
* vo_vdpau: skip resize code if not fully initializedUoti Urpala2011-07-171-0/+5
| | | | | | | Window events or user commands could trigger a call to resize() before config() had been called. This caused at least error messages. Add a check to make resize() exit without doing anything in this case. It will be called again later when the output is configured.
* input: don't make fd 0 nonblockingUoti Urpala2011-07-172-10/+0
| | | | | | | | | | | | | | | Setting O_NONBLOCK on a file descriptor also affects all other fds that share the same underlying open file description, and in case of stdin such sharing is likely. Making stdin nonblocking can also make stdout nonblocking (they may be the same connection to a terminal), and it can also affect other processes (in "program1 | program2", the shell may give the same terminal connection to program1 as stdin and to program2 as stdout, thus program1 making its stdin nonblocking also turns program2's stdout nonblocking). To avoid these problems stop making fd 0 nonblocking. After the previous commit this should no longer cause problems as long as select() does not spuriously report the fd as readable.
* input: rework event reading and command queuingUoti Urpala2011-07-179-227/+224
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rework much of the logic related to reading from event sources and queuing commands. The two biggest architecture changes are: - The code buffering keycodes in mp_fifo.c is gone. Instead key input is now immediately fed to input.c and interpreted as commands, and then the commands are buffered instead. - mp_input_get_cmd() now always tries to read every available event from every event source and convert them to (buffered) commands. Before it would only process new events until one new command became available. Some relevant behavior changes: - Before commands could be lost when stream code called mp_input_check_interrupt() which read commands (to see if they were of types that triggered aborts during slow IO tasks) and then threw them away. This was especially an issue if cache was enabled and slow to read. Fixed - now it's possible to check whether there are queued commands which will abort playback of the current file without throwing other commands away. - mp_input_check_interrupt() now prints a message if it returns true. This is especially useful because the failures caused by aborted stream reads can trigger error messages from other code that was doing the read; the new message makes it more obvious what the cause of the subsequent error messages is. - It's now possible to again avoid making stdin non-blocking (which caused some issues) without reintroducing extra latency. The change will be done in a subsequent commit. - Event sources that do not support select() should now have somewhat lower latency in certain situations as they will be checked both before and after select()/sleep in input reading; before the sleep always happened first even if such sources already had queued input. Before the key fifo was also handled in this manner (first key triggered select, but if multiple were read then rest could be delayed; however in most cases this didn't add latency in practice as after central code started doing command handling it queried for further commands with a max sleep time of 0). - Key fifo limiting is more accurate now: it now counts actual commands intead of keycodes, and all queued keys are read immediately from input devices so they can be counted correctly. - Since keypresses are now interpreted immediately, commands which change keybindings will no longer affect following keypresses that have already been read before the command is executed. This should not be an issue in practice with current keybinding behavior.
* cleanup: remove some unnecessary input.[ch] typedefsUoti Urpala2011-07-167-117/+85
| | | | | | | | | | | | Remove some unnecessary typedefs and remove pointless mp_ prefix from some internal struct names. Change the type of the "close_func" pointers from "void f(int fd)" to "int f(int fd)" so that using standard close() there is valid. Delete some useless assert() statements. Move internal MP_MAX_KEY_DOWN define from input.h to input.c.
* cosmetics: reformat input.h, fix commentsUoti Urpala2011-07-161-184/+181
|
* img_format.h, vo_gl: fix IMGFMT_IS_YUVP16() definitionUoti Urpala2011-07-141-1/+3
| | | | | | | Commit aba8a1838aa which added 9- and 10-bit formats failed to change the definition of the IMGFMT_IS_YUVP16() macro (which is misnamed btw, it matches 9, 10 and 16 bits). This prevented vo_gl from accepting input in supported 9 and 10 bit colorspaces. Fix.
* input.c: remove write to buffer[-1] in parse_config()Uoti Urpala2011-07-111-1/+0
|
* stream_bluray: switch to new libbluray APIRico Tzschichholz2011-07-102-8/+8
| | | | | | Switch to new libbluray API with three parameters to bd_get_title_info(). libbluray versions using the old API are no longer supported.
* options: fix -use-filename-title crash after recent 39e373aaUoti Urpala2011-07-101-1/+2
| | | | | | | | After commit 39e373aa8d ("options: allocate dynamic options with talloc") dynamically allocated options must be allocated with talloc. Code implementing -use-filename-title still set opts->vo_wintitle to a value from strdup(), triggering an abort when the option was freed. Fix.
* vd_ffmpeg: make "-lavdopts lowres" handling more robustUoti Urpala2011-07-091-11/+11
| | | | | | | | Remove the copy of the "lowres" field that vd_ffmpeg kept in its private struct and use the value from AVCodecContext directly instead. The copy gave no benefit and it could be set to the wrong value if someone used "-lavdopts o=lowres=X" (which would change the real value but not the copy).
* vd_ffmpeg: fix "-lavdopts skipframe" supportUoti Urpala2011-07-091-1/+5
| | | | | | | Support for -lavdopts skipframe had been broken since commit bc767c2a9 as framedrop logic now set the same field and thus overwrote the value set from the option. Change that code to set it to the original value instead of 0 when not dropping frames.
* cleanup: silence most of the clang warningsClément Bœsch2011-07-099-16/+17
|
* build: add a hack to prevent name collision with libtallocUoti Urpala2011-07-071-0/+10
| | | | | | | | | | | libsmbclient uses dynamically linked libtalloc.so which has symbols with names matching those in the internal talloc.c. This name collision caused a crash under stream_smb when trying to play anything with smb://. Add a "#pragma GCC visibility" hack to talloc.h to hide the internal symbols from being visible to the outside libtalloc.so. Hopefully this doesn't break any platform worse than possibly causing a compiler warning about an unknown pragma (at least GCC and clang recognize it).
* vo_directx: include <libavutil/common.h> for FFMINUoti Urpala2011-07-071-0/+1
| | | | | 070491f1029ca3d74322146e646d653f9f5dc153 added an use of FFMIN to vo_directx.c but failed to include a header for the macro. Fix.
* configure: clang: set custom warning flags for clangUoti Urpala2011-07-071-0/+2
| | | | | | | | | | Before there was no attempt to set warning flags sanely when compiling with clang. Set some reasonable defaults that cut down noise and enable various non-default warnings that are enabled with GCC too. I'm not sure whether clang is supposed to support more of the options now used with GCC - it accepts some of those options but they apparently have no effect; I didn't find any real documentation about the individual warnings.
* build: Revert "codec-cfg.c: avoid including aviheader.h"Uoti Urpala2011-07-071-3/+2
| | | | | | | | This reverts commit 1e544365bfd09e4649cb720716f86ec5b75d86ce. I was careless when cherry-picking the reverted commit - the only effect it had was add an unnecessary libavutil dependency to a HOST_CC compiled file.
* configure: rename "--disable-ass" to "--disable-libass"Uoti Urpala2011-07-061-4/+4
| | | | | | | The name of the project is "libass". "ASS" alone refers only to the subtitle format, not the library, and --disable-ass did not completely disable handling of subtitles in this format - only advanced rendering with libass. Thus --disable-libass is a better name.
* demux/mp_taglists: Move Bink audio tags to override listAnton Khirnov2011-07-061-2/+2
| | | | | | | | Some versions of lavf abuse codec_tag for passing Bink version information to the decoder, which broke detection based on codec tag (though this has already stopped again in latest Libav). Move bink audio codec IDs from mp_wav_tags to mp_codecid_override_tags so that codec tags are completely ignored for them.
* Merge branch 'mplayer1_changes'Uoti Urpala2011-07-0653-1158/+1072
|\
| * stream.c: make reconnect checks more robustreimar2011-07-061-14/+21
| | | | | | | | | | | | | | | | | | | | | | Improve checks for when to try reconnecting to be more thorough and readable. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33809 b3059339-0415-0410-9bf9-f77b7e298cf2 Reindent, add empty lines. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33810 b3059339-0415-0410-9bf9-f77b7e298cf2
| * stream.c: Pass streaming_ctrl eof on to struct stream fieldreimar2011-07-061-0/+2
| | | | | | | | | | | | | | | | Fixes a possible endless loop with HTTP files where seeking to the very end returns the full file again instead of e.g. an error. Apache/2.2.4 seems to show this behaviour. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33808 b3059339-0415-0410-9bf9-f77b7e298cf2
| * stream/network: don't clobber buffer byte counts on errorreimar2011-07-061-0/+1
| | | | | | | | | | | | | | Ensure we do not add strange values to amount of buffered bytes read on error. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33807 b3059339-0415-0410-9bf9-f77b7e298cf2
| * stream/network: distinguish EOF/error in streaming control APIreimar2011-07-061-1/+2
| | | | | | | | | | | | Signal EOF vs. error also via streaming control API (not yet evaluated). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33806 b3059339-0415-0410-9bf9-f77b7e298cf2
| * cache: don't modify argument when stream control failsreimar2011-07-061-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When handling STREAM_CTRL calls for the cached stream, do not modify the return parameter if the underlying stream returns an error for the operation. Avoids issues with some places that don't check the return value of stream_control. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33802 b3059339-0415-0410-9bf9-f77b7e298cf2 Remove condition that is now always true. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33803 b3059339-0415-0410-9bf9-f77b7e298cf2
| * cleanup: silence some clang warningsreimar2011-07-063-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cosmetics: vo_mpegpes.c: Fix strange space placement Avoids clang warning that =- might have been intended as -=. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33797 b3059339-0415-0410-9bf9-f77b7e298cf2 vo_jpeg: Use "const char *" type for paths. Fixes a clang warning due to sign mismatch when calling open(). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33799 b3059339-0415-0410-9bf9-f77b7e298cf2 mga_template.c: Remove pointless and in addition incorrect cast. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33800 b3059339-0415-0410-9bf9-f77b7e298cf2
| * demux_rtp.cpp: Add a hack to receive audio while probing video FPSreimar2011-07-061-1/+26
| | | | | | | | | | | | | | Otherwise newer live555 versions would just hang. Fixes http://bugzilla.mplayerhq.hu/show_bug.cgi?id=1874 git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33793 b3059339-0415-0410-9bf9-f77b7e298cf2
| * manpage: improve vo_gl "stereo" suboption descriptionptt2011-07-061-19/+21
| | | | | | | | | | | | | | Correct suboption stereo descriptions, and reformat to be compliant with other sections. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33788 b3059339-0415-0410-9bf9-f77b7e298cf2
| * codecs.conf: add yv16 raw fourcccompn2011-07-061-0/+2
| | | | | | | | | | | | samples at https://ffmpeg.org/trac/ffmpeg/ticket/307 git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33787 b3059339-0415-0410-9bf9-f77b7e298cf2
| * configure: Remove obsolete test for ARM pld instructiondiego2011-07-061-7/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33786 b3059339-0415-0410-9bf9-f77b7e298cf2
| * cleanup: demux_vqf: typo/wording fixesdiego2011-07-061-2/+2
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33762 b3059339-0415-0410-9bf9-f77b7e298cf2
| * loader/module.c: Fix compilation with --disable-qtxreimar2011-07-061-5/+5
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33756 b3059339-0415-0410-9bf9-f77b7e298cf2
| * stream/tvi_v4l[2]: fix calculation of free RAM for buffersiive2011-07-063-17/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Do a proper calculation of free RAM to be used as V4L buffers. The code uses sysinfo to query the available RAM, however it used ancient form available in some early development 2.3.x kernels. Newer form reports the size in memory units (usually same as page size), as result the code would fall back on 2 buffers even on multi GB system. The commit does: Improve the check in configure to ensure that we do use sysinfo struct with present mem_unit. Use free RAM instead of total RAM (to avoid swapping). Tweak memory constants and simplify code. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33732 b3059339-0415-0410-9bf9-f77b7e298cf2
| * codecs.conf: add vfw csmcodec for fourcc CSM0, map YV24 fourcc to raw444P codeccompn2011-07-061-0/+11
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33727 b3059339-0415-0410-9bf9-f77b7e298cf2
| * configure: fix check for clang compilerdiego2011-07-061-2/+1
| | | | | | | | | | | | patch by Jeremy Huddleston, jeremyhu macports org git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33723 b3059339-0415-0410-9bf9-f77b7e298cf2
| * configure: fix mmxext detection with --disable-ssereimar2011-07-061-3/+2
| | | | | | | | | | | | | | Fix "sse in cpuinfo implies mmxext" hack to still work when --disable-sse is used. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33714 b3059339-0415-0410-9bf9-f77b7e298cf2
| * cpudetect.c: check OS SSE support only with runtime detectionreimar2011-07-061-1/+4
| | | | | | | | | | | | | | | | Run OS support for SSE check only for runtime CPU detection. It is pointless to run it otherwise and it causes issues on OSes where we have not implemented a way to check. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33713 b3059339-0415-0410-9bf9-f77b7e298cf2
| * cleanup: tvi_dshow: add "static", fix printf formatdiego2011-07-061-9/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | tvi_dshow: Mark functions not used outside of the file as static. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33706 b3059339-0415-0410-9bf9-f77b7e298cf2 tvi_dshow: Adjust mp_msg printf conversion specifier to avoid warnings stream/tvi_dshow.c:2807: warning: format '%x' expects type 'unsigned int', but argument 4 has type 'long unsigned int' stream/tvi_dshow.c:2821: warning: format '%x' expects type 'unsigned int', but argument 4 has type 'long unsigned int' git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33710 b3059339-0415-0410-9bf9-f77b7e298cf2
| * demux_lavf: Do not set AVIOContext for AVFMT_NOFILE formatsreimar2011-07-061-5/+7
| | | | | | | | | | | | | | | | Setting AVIOContext for AVFMT_NOFILE formats now triggers a warning from libavformat (and triggered an error for a while), so add a check to avoid setting AVIOContext when not necessary. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33695 b3059339-0415-0410-9bf9-f77b7e298cf2
| * vo_gl: fix YUY2/YVYU colorspace mixupreimar2011-07-062-2/+4
| | | | | | | | | | | | Second GL_YCBCR_MESA format is YVYU, not YUY2. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33694 b3059339-0415-0410-9bf9-f77b7e298cf2
| * options: allow colorspace options to recognize "yvyu"reimar2011-07-061-0/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33693 b3059339-0415-0410-9bf9-f77b7e298cf2
| * cosmetics: img_format.h: document some formatsreimar2011-07-061-11/+11
| | | | | | | | | | | | Document the meaning of some of the packed YUV formats. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33692 b3059339-0415-0410-9bf9-f77b7e298cf2
| * options: Allow a larger range for -aspectreimar2011-07-061-1/+1
| | | | | | | | | | | | Based on patch by Steaphan Greene [sgreene cs.binghamton.edu] git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33688 b3059339-0415-0410-9bf9-f77b7e298cf2
| * cleanup: vo_directx: remove redundant codereimar2011-07-061-94/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Simplify code for printing display adapter list. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33672 b3059339-0415-0410-9bf9-f77b7e298cf2 Remove left-over code from icon/cursor handling that is now done by w32_common.c git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33673 b3059339-0415-0410-9bf9-f77b7e298cf2 Remove more code and variables that have no purpose anymore. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33674 b3059339-0415-0410-9bf9-f77b7e298cf2 Remove some #includes that are no longer needed. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33675 b3059339-0415-0410-9bf9-f77b7e298cf2 Remove more unnecessary code/defines. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33677 b3059339-0415-0410-9bf9-f77b7e298cf2 Move check_events function to avoid forward declaration. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33678 b3059339-0415-0410-9bf9-f77b7e298cf2 Remove more unused variables. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33679 b3059339-0415-0410-9bf9-f77b7e298cf2 Add const to avoid compiler warning. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33680 b3059339-0415-0410-9bf9-f77b7e298cf2 Use the proper type for the palette, fixes compiler warning. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33681 b3059339-0415-0410-9bf9-f77b7e298cf2
| * demux_lavf: fix code printing subtitle typereimar2011-07-061-2/+2
| | | | | | | | | | | | | | Fix printing of subtitle type, the wrong index was used to look up the type. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33664 b3059339-0415-0410-9bf9-f77b7e298cf2
| * cleanup: mplayer.c: Factor out a bit of spudec codereimar201