0
0
mirror of https://github.com/mpv-player/mpv.git synced 2024-09-20 12:02:23 +02:00
Commit Graph

34 Commits

Author SHA1 Message Date
wm4
cc54377463 Do not call strerror()
...because everything is terrible.

strerror() is not documented as having to be thread-safe by POSIX and
C11. (Which is pretty much bullshit, because both mandate threads and
some form of thread-local storage - so there's no excuse why
implementation couldn't implement this in a thread-safe way. Especially
with C11 this is ridiculous, because there is no way to use threads and
convert error numbers to strings at the same time!)

Since we heavily use threads now, we should avoid unsafe functions like
strerror().

strerror_r() is in POSIX, but GNU/glibc deliberately fucks it up and
gives the function different semantics than the POSIX one. It's a bit of
work to convince this piece of shit to expose the POSIX standard
function, and not the messed up GNU one.

strerror_l() is also in POSIX, but only since the 2008 standard, and
thus is not widespread.

The solution is using avlibc (libavutil, by its official name), which
handles the unportable details for us, mostly. We avoid some pain.
2014-11-26 21:21:56 +01:00
wm4
ae63702a2c input: remove useless joystick.h/lirc.h include files
These really just waste space.
2014-09-10 00:51:36 +02:00
wm4
e2a093df02 input: use an input thread for joystick 2014-09-10 00:48:59 +02:00
wm4
78128bddda Kill all tabs
I hate tabs.

This replaces all tabs in all source files with spaces. The only
exception is old-makefile. The replacement was made by running the
GNU coreutils "expand" command on every file. Since the replacement was
automatic, it's possible that some formatting was destroyed (but perhaps
only if it was assuming that the end of a tab does not correspond to
aligning the end to multiples of 8 spaces).
2014-04-13 18:03:01 +02:00
reimar
39b2e20698 joystick: Fix incorrect pointer offset code.
I have some doubts that short reads are even allowed/
possible for /dev/js*, does someone know for sure?

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@37132 b3059339-0415-0410-9bf9-f77b7e298cf2
2014-04-10 00:08:08 +02:00
wm4
ed71606e65 input: rework how input sources are added
Until now, there were two functions to add input sources (stuff like
stdin input, slave mode, lirc, joystick). Unify them to a single
function (mp_input_add_fd()), and make sure the associated callbacks
always have a context parameter.

Change the lirc and joystick code such that they take store their state
in a context struct (probably worthless), and use the new mp_msg
replacements (the point of this refactoring).

Additionally, get rid of the ugly USE_FD0_CMD_SELECT etc. ifdeffery in
the terminal handling code.
2013-12-21 20:50:13 +01:00
wm4
0112143fda Split mpvcore/ into common/, misc/, bstr/ 2013-12-17 02:39:45 +01:00
wm4
8d5214de0a Move mpvcore/input/ to input/ 2013-12-17 01:23:09 +01:00
wm4
d4bdd0473d Rename directories, move files (step 1 of 2) (does not compile)
Tis drops the silly lib prefixes, and attempts to organize the tree in
a more logical way. Make the top-level directory less cluttered as
well.

Renames the following directories:
    libaf -> audio/filter
    libao2 -> audio/out
    libvo -> video/out
    libmpdemux -> demux

Split libmpcodecs:
    vf* -> video/filter
    vd*, dec_video.* -> video/decode
    mp_image*, img_format*, ... -> video/
    ad*, dec_audio.* -> audio/decode

libaf/format.* is moved to audio/ - this is similar to how mp_image.*
is located in video/.

Move most top-level .c/.h files to core. (talloc.c/.h is left on top-
level, because it's external.) Park some of the more annoying files
in compat/. Some of these are relicts from the time mplayer used
ffmpeg internals.

sub/ is not split, because it's too much of a mess (subtitle code is
mixed with OSD display and rendering).

Maybe the organization of core is not ideal: it mixes playback core
(like mplayer.c) and utility helpers (like bstr.c/h). Should the need
arise, the playback core will be moved somewhere else, while core
contains all helper and common code.
2012-11-12 20:06:14 +01:00
Uoti Urpala
78dca64301 input/joystick.c: add #include missing from 23cb829072
There was a '#include "keycodes.h"' line missing from commit
23cb829072, which broke build with --enable-joystick.
2011-05-03 13:26:30 +03:00
Uoti Urpala
00323c06e2 Delete things related to old translation system
Remove the help/ subdirectory, configure code to create toplevel
help_mp.h, and all the '#include "help_mp.h"' lines from .c files.
2010-03-10 03:47:14 +02:00
Uoti Urpala
0eb321bf2c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
Amar Takhar
e306174952 Translation system changes part 2: replace macros by strings
Replace all MSGTR_ macros in the source by the corresponding English
string.
2009-07-07 01:38:20 +03:00
Amar Takhar
b5972d6f14 Translation system changes part 1: wrap translated strings
Replace mp_msg() calls which have a translated string as the format
argument with mp_tmsg and add _() around all other translated strings.
2009-07-07 01:28:07 +03:00
Uoti Urpala
a3ab9e8e46 Merge svn changes up to r28149 2008-12-14 17:28:16 +02:00
diego
64a2ccee54 Add standard GPL license header.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28146 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-12-13 18:28:00 +00:00
Uoti Urpala
d5c868325c Merge svn changes up to r26979
Most of the conflicts are trivial.

Conflicts:

	Makefile
	cfg-mplayer.h
	input/input.c
	libmenu/vf_menu.c
	libmpcodecs/dec_video.c
	libmpcodecs/vf_expand.c
	libmpcodecs/vf_vo.c
	libmpdemux/demux_mkv.c
	libmpdemux/demuxer.c
	libmpdemux/demuxer.h
	libvo/vo_directfb2.c
	libvo/vo_gl.c
	libvo/vo_winvidix.c
	libvo/vo_xv.c
	libvo/vo_xvidix.c
	libvo/vo_xvmc.c
	libvo/x11_common.c
	mplayer.c
	osdep/timer-linux.c
	stream/cache2.c
2008-06-04 08:10:48 +03:00
diego
5423c418c2 cosmetics: Remove useless parentheses from return statements.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26791 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-05-16 09:42:28 +00:00
Uoti Urpala
986e519fc9 input: Remove separate mp_input_add_event_fd
Use the same mp_input_add_key_fd for all uses and add a context
argument to its callback that was before only in the event fd
callbacks. Instead of checking in input.c whether keys were inserted
to the keypress FIFO during the callback do the check in the callback
before returning and set return value accordingly.
2008-04-29 12:55:23 +03:00
diego
a21190b9d3 joystick.c is only ever compiled on Linux, remove pointless #ifdef
around the whole file and dummy functions.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26112 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-02-28 18:32:17 +00:00
diego
835c654bb0 typo fix: inited --> initialized
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25994 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-02-14 14:23:55 +00:00
diego
d54bf53e0f Add comments to some preprocessor directives.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@23683 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-06-27 23:08:18 +00:00
ben
85e1dd2bc0 buggy joystick initialization, works much better without this
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@23348 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-05-19 16:59:24 +00:00
diego
fcd45c5111 slight overall verbosity reduction
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20191 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-10-12 22:24:19 +00:00
diego
af06a4425b Move conditional compilation to the build system.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19807 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-09-12 08:42:01 +00:00
rfelker
12f9bb8946 prevent overflow.. wtf?! from irc:
<@tcsetattr> how many dimensions can people have in a joystick? do you
travel to other universes with that thing?
[apparently more than 10...?!]
(reported on irc by DrewZzz)


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18006 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-03-31 04:56:09 +00:00
diego
c67ccd1e8a Unify include paths, -I.. is in CFLAGS.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16861 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-10-25 21:23:45 +00:00
reynaldo
c83813b196 printf to mp_msg
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16856 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-10-25 18:45:39 +00:00
diego
8838b4afa6 output typo fixes: unknow --> unknown
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10398 b3059339-0415-0410-9bf9-f77b7e298cf2
2003-07-09 01:30:24 +00:00
albeu
a62815933c 10L bugfix
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6157 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-05-23 09:47:18 +00:00
albeu
ce2367725e Added support for key combination and mouse buttons key code
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4590 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-02-08 18:10:56 +00:00
albeu
b1abc1a384 Fix the bugs the previous version should fix (and those introduced
by the previous version ;) )


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4525 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-02-04 14:19:54 +00:00
albeu
e4be4973e2 Corrected the quit bug and added support for up to 10 axis
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4519 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-02-03 19:13:00 +00:00
albeu
f60af655fb A new configurable input system and joystick support for this system
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4419 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-01-30 12:46:03 +00:00