summaryrefslogtreecommitdiffstats
path: root/libao2/ao_alsa.c
Commit message (Collapse)AuthorAgeFilesLines
* ao_alsa: support native mute controlwm42012-04-111-25/+46
|
* libao2: change control() types to enum, remove unused onesUoti Urpala2012-04-081-2/+0
| | | | | | | | | Change the audio driver control() command argument from "int" to "enum aocontrol". Remove unused control types (SET_DEVICE, GET_DEVICE, QUERY_FORMAT, SET_PLUGIN_DRIVER, SET_PLUGIN_LIST). The QUERY_FORMAT one looks like there's a possibility such functionality could be useful in the future, but as ao_oss was the only driver to have an actual implementation of it, the current code wasn't worth keeping.
* ao_alsa: use "Master" mixer channel instead of "PCM" by defaultwm42012-04-081-1/+1
| | | | | | | Do this, because the "Master" channel normally provides proper mute control. The old default can be forced with: --mixer-channel=PCM
* configure, ao_alsa: drop support for obsolete ALSA versionsUoti Urpala2012-02-271-21/+0
| | | | | Drop compatibility code for ALSA versions prior to 1.0.9. Change the configure check to use pkg-config only.
* ao_alsa: remove warning by simplifying error handling caseClément Bœsch2011-04-201-4/+4
| | | | | Avoid a gcc warning about potentially uninitialized variable 'err' (there was no actual problem with the code).
* spelling fixessiretart2010-11-021-1/+1
| | | | | | | | | | Found by the Debian QA tool 'lintian' git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31913 b3059339-0415-0410-9bf9-f77b7e298cf2 reintroduce typo in genres.h that was fixed fixed r31913 to match the id3v2 spec git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31920 b3059339-0415-0410-9bf9-f77b7e298cf2
* Delete things related to old translation systemUoti Urpala2010-03-101-1/+0
| | | | | Remove the help/ subdirectory, configure code to create toplevel help_mp.h, and all the '#include "help_mp.h"' lines from .c files.
* Merge svn changes up to r30463Uoti Urpala2010-03-091-1/+2
|\ | | | | | | | | | | Note that r30455 is wrong, that commit does not in fact change the default behavior as claimed in the commit message. It only breaks "-af-adv force=0", which was already pretty much useless though.
| * Explain why we still disable the ALSA resampler even though it is probablyreimar2010-01-281-1/+2
| | | | | | | | | | | | | | actually working nowadays. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30452 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r30448Uoti Urpala2010-01-281-17/+6
|\|
| * Declare variable closer to where it is used.reimar2010-01-271-9/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30444 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Remove a useless global variable.reimar2010-01-271-5/+2
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30443 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Do not needlessly make local variable static.reimar2010-01-271-3/+3
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30442 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Remove useless initializers.reimar2010-01-271-2/+2
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30441 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Do not needlessly use (file-)global variables.reimar2010-01-271-4/+3
| | | | | | | | | | | | | | | | Since they also were initialized to a value and non-constant (changed by ALSA) this might actually have caused bugs. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30440 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r30301Uoti Urpala2010-01-251-11/+11
|\|
| * Add support for distinguishing between little- and big-endian SPDIF AC3reimar2010-01-111-6/+5
| | | | | | | | | | | | | | and converting between both. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30283 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Use af_fmt2bits, it should give more sensible values than ↵reimar2010-01-111-1/+1
| | | | | | | | | | | | | | | | | | snd_pcm_format_physical_width, especially for AC3. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30279 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add and use AF_FORMAT_IS_AC3 macro.reimar2010-01-111-4/+5
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30276 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r30165Uoti Urpala2010-01-081-5/+4
|\|
| * Simplify range-checking functions for subopt parsing.reimar2010-01-011-3/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30165 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Fix function declarations to avoid casting function pointers.reimar2010-01-011-2/+3
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30164 b3059339-0415-0410-9bf9-f77b7e298cf2
* | ao_alsa: Reinitialize parameters properly when reopeningUoti Urpala2009-12-291-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | ao_alsa used static variables to define the parameter values for snd_pcm_hw_params_set_buffer_time_near() and snd_pcm_hw_params_set_periods_near(). The variables were non-const and the desired value was only set in the initializer. The ALSA functions in question take a pointer argument to an in/out parameter which is modified to reflect the value actually used. As a result, when playing multiple files or otherwise reinitializing the AO the later instances could use values that had been modified by earlier calls. Change the code to always always use the same default values.
* | Merge svn changes up to r29912Uoti Urpala2009-11-161-0/+7
|\|
| * Add support for 8 channel audio.tack2009-11-101-0/+7
| | | | | | | | | | | | | | | | Where 8 channel support is non-trivial (e.g. ao_dsound), at least ensure we fail gracefully. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29868 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r29752Uoti Urpala2009-10-061-1/+4
|\| | | | | | | | | | | | | | | | | As part of merging subtitle-in-terminal changes make update_subtitles() only clear existing subtitles if called with the reset argument, and not try to set new ones. Later calls should set the needed new subtitles, and this change avoids some problems with trying to set subtitles when mp_property_sub() in command.c gets called from initialization code before full initialization.
| * Make the ao_alsa play function always process a multiple of ao_data.outburstreimar2009-10-021-1/+4
| | | | | | | | | | | | | | | | except for the last chunk. Should fix high CPU usage reported e.g. here: http://bugs.gentoo.org/show_bug.cgi?id=286020 git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29748 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r29644Uoti Urpala2009-09-041-81/+4
|\|
| * The suboption parser now takes a const options list, so mark them all const.reimar2009-09-021-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29628 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Use a buffer of about half a second, instead of sizing it to havecladisch2009-08-241-80/+3
| | | | | | | | | | | | | | a constant number of frames. This improves the behaviour at very small or large sample rates, and gets rid of lots of obsolete code. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29549 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r29532Uoti Urpala2009-08-181-0/+2
|\|
| * Do not leak the mixer handle if setting of a volume fails.cladisch2009-08-061-0/+2
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29478 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r29455Uoti Urpala2009-07-291-2/+14
|\|
| * Replace WORDS_BIGENDIAN by HAVE_BIGENDIAN in all internal code.diego2009-07-261-2/+2
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29443 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Use correct ALSA sample format for 24-bit samples packed in three bytes.cladisch2009-07-211-4/+4
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29434 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Handle 24bit audio formats natively by ALSA.iive2009-07-191-0/+12
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29428 b3059339-0415-0410-9bf9-f77b7e298cf2
| * whitespace cosmetics: Remove all trailing whitespace.diego2009-05-131-24/+24
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29305 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Remove trailing whitespace from most filesUoti Urpala2009-07-071-24/+24
| |
* | Translation system changes part 2: replace macros by stringsAmar Takhar2009-07-071-50/+57
| | | | | | | | | | Replace all MSGTR_ macros in the source by the corresponding English string.
* | Translation system changes part 1: wrap translated stringsAmar Takhar2009-07-071-50/+50
| | | | | | | | | | Replace mp_msg() calls which have a translated string as the format argument with mp_tmsg and add _() around all other translated strings.
* | Merge svn changes up to r28862Uoti Urpala2009-03-071-1/+1
|\|
| * Make ao_info_t structs const.reimar2009-03-061-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28858 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r28403Uoti Urpala2009-01-311-14/+28
|\|
| * 1) HAVE_SYS_ASOUNDLIB_H/HAVE_ALSA_ASOUNDLIB_H are defined to 0/1,diego2009-01-301-2/+2
| | | | | | | | | | | | | | | | not defined/undefined, use them accordingly. 2) Add ESD definitions to avoid undefined preprocessor directives warnings. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28397 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add standard license headers.diego2009-01-261-12/+26
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28378 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r28162Uoti Urpala2008-12-191-3/+3
|\|
| * 100l, reorder check for AC3 format to avoid a possible memleakreimar2008-12-151-3/+3
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28153 b3059339-0415-0410-9bf9-f77b7e298cf2
* | ao_alsa: Sanity check get_space() return values betterUoti Urpala2008-12-101-4/+4
| | | | | | | | | | | | | | | | | | Sometimes after seek audio reset I see snd_pcm_status_get_avail() return huge values. get_space() already had a check againt the value being larger than the whole buffer; however since the unsigned value from the ALSA function had been cast to signed by that point it was interpreted as negative and the check didn't trigger. Use unsigned instead to make the check reliable and ensure the return value is sane.
* | ao_alsa: If pause loses samples replace them with silenceUoti Urpala2008-12-081-0/+13
|/ | | | | | | If the ALSA pause functionality is not available the driver has to drop buffered samples when MPlayer calls pause(). Replace them by playing a corresponding amount of silence in resume() instead of shortening the overall audio duration.
* Replace numeric constants by their defines.cehoyos2008-10-091-4/+4
| | | | | | | Fixes icc warning #188: enumerated type mixed with another type git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27738 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix "format '%d' expects type 'int', but argument 6 has type 'size_t'" warning.ranma2008-10-041-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27714 b3059339-0415-0410-9bf9-f77b7e298cf2
* Make alsa resume after suspend to disk (would say 'file descriptor is in bad ↵ranma2008-10-041-0/+4
| | | | | | state' before this change) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27712 b3059339-0415-0410-9bf9-f77b7e298cf2
* Our ALSA code needs alloca, so check for it in configure and include alloca.hreimar2008-07-171-0/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27313 b3059339-0415-0410-9bf9-f77b7e298cf2
* cosmetics: Remove pointless parentheses from return statements.diego2008-05-161-15/+15
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26789 b3059339-0415-0410-9bf9-f77b7e298cf2
* ao_alsa: Fix get_space() return values larger than buffersizeuau2007-09-241-2/+2
| | | | | | | | | | | | | | | | | After a buffer underrun the ALSA get_space() function sometimes returned values larger than the ao had set in ao_data.buffersize. Fix this by replacing the old check against MAX_OUTBURST by one against ao_data.buffersize. There should be no need for the MAX_OUTBURST check; the current MPlayer side should no longer have any constant limit on the amount of data an ao can buffer or request at once. The get_space() values larger than ao_data.buffersize triggered errors in audio decoding causing the current attempt to fill audio buffers to be aborted. I'm not sure how often that caused behavior noticeably worse then an underrun already is. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24610 b3059339-0415-0410-9bf9-f77b7e298cf2
* When setting the non-audio bit for hwac3 output, just try to set thecladisch2007-02-091-54/+42
| | | | | | | | AES0 parameter in the device name instead of poking around inside ALSA's configuration structures. This means that the non-audio bit will be set even if the user-specified device name tries to clear it. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22184 b3059339-0415-0410-9bf9-f77b7e298cf2
* MSGTRs for ao_alsa.ckraymer2006-11-081-60/+54
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20780 b3059339-0415-0410-9bf9-f77b7e298cf2
* typodiego2006-11-071-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20759 b3059339-0415-0410-9bf9-f77b7e298cf2
* slight overall verbosity reductiondiego2006-10-121-3/+3
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20191 b3059339-0415-0410-9bf9-f77b7e298cf2
* Remove bogus #ifndef WORDS_BIGENDIAN.diego2006-10-041-2/+0
| | | | | | | patch by Emanuele Giaquinta, e.giaquinta glauco it git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20026 b3059339-0415-0410-9bf9-f77b7e298cf2
* When the hardware sample format is AC3, do not force using an hardcodedcladisch2006-09-181-16/+61
| | | | | | | | | | device name. The setting of the non-audio bit is now done by changing the default value of the AES0 parameter in the ALSA configuration structures. This works with user-specified devices, too. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19895 b3059339-0415-0410-9bf9-f77b7e298cf2
* When one of the PCM configuration function in init() fails, abortcladisch2006-09-181-0/+6
| | | | | | | | immediately instead of continuing with the remaining calls that would fail anyway because the device or some variable wasn't properly initialized in this case. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19893 b3059339-0415-0410-9bf9-f77b7e298cf2
* Add workarounds for old prerelease versions of alsa-lib 0.9.0 that didcladisch2006-03-311-0/+6
| | | | | | | not allow reading the buffer boundary value. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18010 b3059339-0415-0410-9bf9-f77b7e298cf2
* To avoid a bug in ALSA's rate plugin that causes spurious overruns, trycladisch2006-03-131-0/+12
| | | | | | | 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
* Do not try to count hardware sound cards because there might be nonecladisch2006-03-131-8/+1
| | | |