Commit Graph

41 Commits

Author SHA1 Message Date
cladisch e7941a0ef3 Add workarounds for old prerelease versions of alsa-lib 0.9.0 that did
not allow reading the buffer boundary value.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18010 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-03-31 09:28:37 +00:00
cladisch b263a6618e To avoid a bug in ALSA's rate plugin that causes spurious overruns, try
to disable it so that mplayer's resampler is used.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17850 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-03-13 10:50:37 +00:00
cladisch 6bab259faf Do not try to count hardware sound cards because there might be none
when using a software plugin for JACK/OSS/Polypaudio/Bluetooth/etc.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17849 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-03-13 10:49:12 +00:00
cladisch 6ccd999a89 Output error messages from the ALSA library through mp_msg() instead of
the default stderr.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17692 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-02-27 10:09:05 +00:00
cladisch 434f6b2347 Show the actual ALSA version instead of the version mplayer was compiled
with, if possible.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17691 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-02-27 10:06:27 +00:00
cladisch 7673cbf6a7 Fix the error handling in the play() function: add a handler for EINTR,
improve the reporting of other errors, and don't try to call
snd_pcm_writei() repeatedly when it aborts after a partial write due to
an error.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17622 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-02-13 11:48:29 +00:00
cladisch 7d319f4b75 This changes the software parameters to be more compatible with the
behaviour of the OSS driver.  This implies that underruns are not longer
reported.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17621 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-02-13 11:43:25 +00:00
cladisch 0fc0814fcd Using non-blocking writes makes sense when the program wants to do other
things instead of waiting for the device to become ready.  However, just
calling snd_pcm_wait() is identical to blocking mode, so we can just as
well remove support for non-blocking writes.

Besides, the waiting code was never actually used because play() is
never called with more data than reported by get_space().


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17620 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-02-13 11:38:12 +00:00
cladisch 1328f3731c Remove the now superfluous mmap suboption.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17619 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-02-13 11:17:43 +00:00
cladisch 7f9397276b After removing play_mmap(), the play() function just unconditionally
calls play_normal().  This indirection is now superfluous.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17618 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-02-13 11:16:29 +00:00
cladisch cc8359e4e8 This patch removes mmap support because it doesn't have any benefit.
Directly accessing the sample buffer makes sense only when the samples
can be constructed in-place.  When the samples are just copied from
another buffer (as is the case with libao2 drivers), the code to copy
those samples is just a reimplementation of snd_pcm_writei(), so we
could as well use that function.

Besides, the current mmap code does not work except in the most simple
cases: it claims to support non-interleaved and complex sample formats,
but treats them the same as interleaved formats and writes to the wrong
memory location.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17617 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-02-13 11:15:25 +00:00
cladisch ddfe8e253e Small fixes: make all global variables static, remove some unused
variables, and remove the unused dir parameter from set_xxx_near()
calls.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17576 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-02-10 09:28:08 +00:00
cladisch 18ca43b048 Remove a call to snd_pcm_prepare() because snd_pcm_hw_params() does it
automatically, and remove a call to snd_pcm_drop() because
snd_pcm_close() does it automatically.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17575 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-02-10 09:26:11 +00:00
cladisch a25341464c Simplify get_delay(): we don't need to get the complete PCM status but
can call snd_pcm_delay() directly.

To avoid the audio device appearing to be running too fast after an
underrun, ignore any samples that were lost in an underrun.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17574 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-02-10 09:24:48 +00:00
cladisch 689c7b37a2 Fix get_space(): we don't need to differentiate between the various PCM
device states, and there is no need to avoid returning a positive value
less than 1024.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17573 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-02-10 09:21:17 +00:00
cladisch 508d589e21 This adds support for more sample formats (U32, float BE, mu/A-law).
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17572 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-02-10 09:20:08 +00:00
cladisch 7bb5f4e138 This replaces the hardcoded numbers for the sample format widths with a
call to snd_pcm_format_physical_width().


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17571 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-02-10 09:18:27 +00:00
rathann e7db4ccf1a Patch by Stefan Huehner / stefan % huehner ! org \
patch replaces '()' for the correct '(void)' in function
declarations/prototypes which have no parameters. The '()' syntax tell
thats there is a variable list of arguments, so that the compiler cannot
check this. The extra CFLAG '-Wstrict-declarations' shows those cases.

Comments about a similar patch applied to ffmpeg:

That in C++ these mean the same, but in ANSI C the semantics are
different; function() is an (obsolete) K&R C style forward declaration,
it basically means that the function can have any number and any types
of parameters, effectively completely preventing the compiler from doing
any sort of type checking. -- Erik Slagter

Defining functions with unspecified arguments is allowed but bad.
With arguments unspecified the compiler can't report an error/warning
if the function is called with incorrect arguments. -- Måns Rullgård


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17567 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-02-09 14:08:03 +00:00
rathann 2601de4120 massive attack: mp_msg printf format fixes
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17367 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-01-12 20:04:36 +00:00
wanderer dd75eef3f3 use snd_mixer_selem_set_playback_switch when muting ALSA, patch by Matthias Lederhofer <matled -at- gmx dot net>
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17195 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-12-15 17:50:29 +00:00
rathann 637ef4ab74 fix
ao_alsa.c:115: warning: suggest parentheses around assignment used as truth value


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17098 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-12-05 01:31:03 +00:00
henry 99bd394969 reordered bps calculation
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16310 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-08-25 21:46:32 +00:00
henry 4b40fd60f0 set the nearest number of channels, return(0) upon errors
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16309 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-08-25 19:57:32 +00:00
reimar 95cf851ea6 aos should respect the immed uninit flag (quit immediatly vs waiting till file
is played to end).


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14850 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-02-27 23:06:32 +00:00
reimar 3b1f8fda2b Typo in hwac3 string
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14613 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-01-30 09:16:41 +00:00
reimar 20817ae85e Fixed the syntax of the spdif device string.
Thanks to Takashi Iwai for the hint.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14607 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-01-28 10:12:28 +00:00
reimar bf4f28d583 Use the subopt-helper for parsing suboptions.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14329 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-01-03 14:23:18 +00:00
alex 14a29762f2 af_fmt2str_short
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14265 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-12-28 19:11:14 +00:00
alex 646a2a2e37 maybe now..
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14252 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-12-27 18:14:03 +00:00
alex 4d7d3bf2c0 hopefully final fix
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14250 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-12-27 18:10:30 +00:00
alex 507121f7fe removing AFMT_ dependancy
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14246 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-12-27 17:30:15 +00:00
diego 67a1fd4053 Make include paths consistent.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14124 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-12-07 02:24:15 +00:00
reimar efeaeab3c4 Only use S/PDIF output when no other alsa device is set, allows to use
external ac3 decoders.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13662 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-10-17 20:03:55 +00:00
reimar d6100972a5 allow to select an alsa mixer channel index.
Patch by Eric Yagerlener [eyager (at) chartermi (dot) net].
Applied with slight modifications, see also bugzilla bug #69.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13435 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-09-22 14:12:53 +00:00
reimar 4deb67c3fa Use = instead if # in ALSA device name, as # irritates our config-parser.
Original patch by stan (at) saticed (dot) me (dot) uk


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12920 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-07-30 16:15:06 +00:00
joyping e178b25151 removed status in debug_msg as it is nonsens anyway.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12820 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-07-14 15:46:33 +00:00
joyping 31b88697d4 volume calc fixes for mixer, by reimar döffinger, 10l reverse by me
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12812 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-07-14 00:48:26 +00:00
joyping d7ad1015c1 fixes provided by reimar dörfinger. mixer, subdevice parsing, alsa#help,
set chunksize, others.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12806 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-07-13 15:47:16 +00:00
joyping 319dfbad80 string, alloca etc. fixes
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12748 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-07-02 04:30:46 +00:00
henry df2e49d51c additional formats - 8bit & float
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12571 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-06-11 15:20:49 +00:00
joyping 010e3cc77f alsa9/1.x merge, now with api_compat-definition
printfs converted to mp_msg, thanks to adland <adland123@yahoo.com>
gcc 3.4 fix, undefined label at end of case statement
default device is now 'default' instead of hw:0,0. so users are able to
set their own defaultdevice (dmix) in asoundrc.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12466 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-05-12 22:56:55 +00:00