summaryrefslogtreecommitdiffstats
path: root/libao2/audio_out.c
Commit message (Collapse)AuthorAgeFilesLines
* build: fix ao_dsound config checkswm42012-10-051-6/+6
| | | | | | | | | | | | ao_dsound.c depended on the same configure check as vo_directx.c, which was removed in commit 0e2c48a3ce19. This accidentally disabled inclusion of ao_dsound. Fix it by adding a new check. Also, move it below ao_portaudio on the auto-select list, as ao_dsound is considered deprecated. Unrelated to that, move ao_lavc below ao_null to prevent it from being auto-selected.
* encode: video encoding now supported using mencoder-like optionsRudolf Polzer2012-09-181-0/+4
|
* cleanup: remove pointless #definesUoti Urpala2012-09-181-1/+1
| | | | | | | | | | | | | | | | | | | | Remove the following #defines, which should never change in practice: CONFIG_FAKE_MONO, OUTBURST, FAST_OSD, FAST_OSD_TABLE The configure script hardcoded these to particular values in config.h. They could only be changed by manually editing it. I don't think anyone would want to. X11_FULLSCREEN This once did something, but became meaningless years ago and was now always set to true if the files using it were compiled at all. Conflicts: configure libvo/osd.c libvo/vo_gl.c Merged from mplayer2. The OSD defines were already removed in this fork.
* Remove V4L2 decoder support (vo_v4l2 and ao_v4l2)wm42012-08-071-4/+0
| | | | | | | | | | | The removed VO and AO took MPEG data and decoded it with V4L2. I'm not exactly sure what's the use of this today, but get rid of it. As far as feeding video data to V4L2 is concerned, there are other ways. For example, there is this script, that feeds yuv4mpeg formatted raw video data to V4L2: https://raw.github.com/umlaeute/v4l2loopback/master/examples/yuv4mpeg_to_v4l2.c
* ao_pulse: don't always print error message if PulseAudio unavailablewm42012-07-301-0/+2
| | | | | | | | | | | | | | PulseAudio is rather high on the auto proving order (to avoid using an emulated sound API), but it prints an annoying error message if the PA client library can't connect to a server. On the other hand, we do want this error message printed if the user explicitly selects the pulse audio output driver. Add a flag to indicate that an AO is opened due to auto probing. ao_pulse checks that flag, and if it's set, do not print if the initialization error is PA_ERR_CONNECTIONREFUSED, whcih I assume is the error signalling PulseAudio unavailability. (This error happens if no PulseAudio server is installed.)
* libvo, libao: remove useless video and audio output driverswm42012-07-281-33/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some of these have only limited use, and some of these have no use at all. Remove them. They make maintainance harder and nobody needs them. It's possible that many of the removed drivers were very useful a dozen of years ago, but now it's 2012. Note that some of these could be added back, in case they were more useful than I thought. But right now, they are just a burden. Reason for removal for each module: vo_3dfx, vo_dfbmga, vo_dxr3, vo_ivtv, vo_mga, vo_s3fb, vo_tdfxfb, vo_xmga, vo_tdfx_vid: All of these are for very specific and outdated hardware. Some of them require non-standard kernel drivers or do direct HW access. vo_dga: the most crappy and ancient way to get fast output on X. vo_aa: there's vo_caca for the same purpose. vo_ggi: this never lived, and is entirely useless. vo_mpegpes: for DVB cards, I can't test this and it's crappy. vo_fbdev, vo_fbdev2: there's vo_directfb2 vo_bl: what is this even? But it's neither important, nor alive. vo_svga, vo_vesa: you want to use this? You can't be serious. vo_wii: I can't test this, and who the hell uses this? vo_xvr100: some Sun thing. vo_xover: only useful in connection with xvr100. ao_nas: still alive, but I doubt it has any meaning today. ao_sun: Sun. ao_win32: use ao_dsound or ao_portaudio instead. ao_ivtv: removed along vo_ivtv. Also get rid of anything SDL related. SDL 1.x is total crap for video output, and will be replaced with SDL 2.x soon (perhaps), so if you want to use SDL, write output drivers for SDL 2.x. Additionally, I accidentally damaged Sun support, which made me completely remove Sun/Solaris support. Nobody cares about this anyway. Some left overs from previous commits removing modules were cleaned up.
* ao_arts, ao_esd: remove these AOsUoti Urpala2012-05-061-6/+0
| | | | Delete ao_arts and ao_esd. Both have been deprecated upstream.
* build: remove IRIX supportUoti Urpala2012-05-061-3/+0
|
* ao_portaudio: add new PortAudio audio output driverwm42012-05-061-0/+4
| | | | | | | | | | This AO has potential to be useful on platforms other than Linux. On Windows in particular, PortAudio can make use of newer/better audio APIs like WASAPI, instead of DirectSound. As an implementation choice, the PortAudio callback API was used. The blocking API might be a better match for mplayer's requirements, but caused severe problems on Linux/ALSA (possibly PortAudio bugs).
* libao2: change control() types to enum, remove unused onesUoti Urpala2012-04-081-2/+2
| | | | | | | | | 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_pulse, core: make pulse thread wake up core for more dataUoti Urpala2012-03-261-2/+3
| | | | | | | | | | | | | | | For ao_pulse, the current latency is not a good indicator of how soon the AO requires new data to avoid underflow. Add an internal pipe that can be used to wake up the input loop from select(), and make the pulseaudio main loop (which runs in a separate thread) use this mechanism when pulse requests more data. The wakeup signal currently contains no information about the reason for the wakup, but audio buffers are always filled when the event loop wakes up. Also, request a latency of 1 second from the Pulseaudio server. The default is normally significantly higher. We don't need low latency, while higher latency helps prevent underflows reduces need for wakeups.
* configure, ao_alsa: drop support for obsolete ALSA versionsUoti Urpala2012-02-271-4/+0
| | | | | Drop compatibility code for ALSA versions prior to 1.0.9. Change the configure check to use pkg-config only.
* audio: change default preference order of AO driverswm42012-01-161-8/+8
| | | | | | | | | | | | | | | Now PulseAudio is preferred over ALSA, which in turn is preferred over OSS. This should give best results on all systems. On systems with PulseAudio, we will always use it natively, rather than through the suboptimal ALSA emulation (which the default ALSA output is normally redirected to when PulseAudio is active; ALSA hardware devices will not be, but to use those the user must set AO explicitly in any case, so changing the defaults makes no difference). The fallback from ao_pulse to ao_alsa causes no noticeable delay on systems without PulseAudio. On systems with ALSA, we won't attempt to use OSS anymore. Also, move OpenAL above SDL. OpenAL should generally work better than SDL.
* audio: move ready-for-ao data buffer from decoder to AOUoti Urpala2011-07-021-0/+6
| | | | | | | | | | | | Move the buffer storing audio data ready to be fed to the audio output driver from the audio decoder object to the AO object. This will help encoding code deal with end of input, and may also be useful to improve other general gapless audio behavior (as AOs which do not accept chunks smaller than a certain size may keep them in the buffer while the decoder changes). Less data may be dropped now when changing audio filters or switching timeline parts.
* ao_rsound: add new RSound audio output driverHans-Kristian Arntzen2011-06-261-0/+4
|
* ao: fix crash after ao init failure (from recent 3a5fd15fa2)Uoti Urpala2011-05-161-1/+3
| | | | | | | | If opening an audio output driver using the old API failed the "global_ao" variable was not set back to NULL as it should have been. This caused an assert failure the next time there was an attempt to open such an AO (either due to fallback to another AO after the failure or after moving to another file). Fix.
* ao_pcm, core: use new API in ao_pcm, change timing with itUoti Urpala2011-05-051-3/+10
| | | | | | | | | | | | | | | | | Change ao_pcm to use the new audio output driver API and clean up some of the code. Rewrite the logic controlling how playback timing works when using -ao pcm. Deprecate the "fast" suboption; its only effect now is to print a warning, but it's still accepted so that specifying it is not an error. Before, timing with -ao pcm and video enabled had two possible modes. In the default mode playback speed was rather arbitrary - not realtime, but not particularly fast. -ao pcm:fast tried to play back at maximum video playback speed - mostly succeeding, but not quite guaranteed to work in all cases. Now the default is to play at realtime speed. The -benchmark option can now be used to get faster playback (same as the video-only case). In the audio-only case playback is always maximum speed.
* audio output: add a new AO driver APIUoti Urpala2011-05-051-52/+114
| | | | | | | Add a new audio output driver API. The main change is the addition of a context struct where data can be kept instead of using globals. The old API remains available. This commit does not yet convert any driver to use the new API.
* cleanup: reindent audio_out.[ch]Uoti Urpala2011-05-041-30/+31
| | | | | | Reindent audio_out.c and audio_out.h. Also remove trailing '_s' from two struct names (which are not currently used anywhere) and make the audio_out_drivers[] table static.
* audio: change external AO interface to "ao_[method](ao, ...)"Uoti Urpala2011-04-091-41/+107
| | | | | | | | Make the outside interface of audio output handling similar to the video output one. An AO object is first created, and then methods called with ao_[methodname](ao, args...). However internally libao2/ still holds all data in globals, and trying to create multiple simultaneous AO instances won't work.
* vo_dxr2, ao_dxr2: drop dxr2 supportUoti Urpala2011-01-311-4/+0
| | | | | | dxr2 support had been broken quite a while and nobody noticed. There were finally commits to fix it in the svn repo, but rather than apply those I'll just drop dxr2 support.
* cleanup: remove NULL checks before free() all over the codecboesch2010-11-141-8/+4
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32624 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 r30484Uoti Urpala2010-03-091-0/+4
|\
| * Add OS/2 KAI audio driver supportkomh2010-02-011-0/+4
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30481 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Remove trailing whitespace from most filesUoti Urpala2009-07-071-1/+0
| |
* | Translation system changes part 2: replace macros by stringsAmar Takhar2009-07-071-5/+5
| | | | | | | | | | Replace all MSGTR_ macros in the source by the corresponding English string.
* | Translation system changes part 1: wrap translated stringsAmar Takhar2009-07-071-5/+5
| | | | | | | | | | 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 r29277Uoti Urpala2009-05-081-2/+2
|\|
| * Rename macosx audio output driver to coreaudio.diego2009-05-041-2/+2
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29251 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r28862Uoti Urpala2009-03-071-22/+26
|\|
| * Make audio_out_* structs const so they end up in .rodatareimar2009-03-061-23/+23
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28859 b3059339-0415-0410-9bf9-f77b7e298cf2
| * DART audio output driver for OS/2 by KO Myung-Hun, komh chollian netdiego2009-03-011-0/+4
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28775 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r28403Uoti Urpala2009-01-311-0/+18
|\|
| * Add standard license headers.diego2009-01-261-0/+18
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28378 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Remove special error message for -ao alsa1x and alsa9Uoti Urpala2008-08-121-5/+0
|/ | | | | | Those variants were removed in 2004. Remove the special handling of those ao names and treat them like any other unrecognized ao name. This removes a questionable exit_player() call.
* Introduce CONFIG_ALSA preprocessor directive for ALSA 0.9 and 1.x.diego2008-08-061-1/+1
| | | | | | | Use it in all the places that checked for either ALSA 0.9 or 1.x. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27422 b3059339-0415-0410-9bf9-f77b7e298cf2
* Rename all preprocessor directives related to Apple / Mac OS X.diego2008-08-061-1/+1
| | | | | | | Switch them from a HAVE_ to a CONFIG_ prefix. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27420 b3059339-0415-0410-9bf9-f77b7e298cf2
* Rename some audio-output-related preprocessor directives.diego2008-08-051-5/+5
| | | | | | | Switch them from a HAVE_ prefix to a CONFIG_ prefix. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27419 b3059339-0415-0410-9bf9-f77b7e298cf2
* Change a bunch of video/audio-output-specific preprocessor directives fromdiego2008-08-031-4/+4
| | | | | | | a HAVE_ prefix to a CONFIG_ prefix. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27402 b3059339-0415-0410-9bf9-f77b7e298cf2
* Start unifying names of internal preprocessor directives.diego2008-07-301-8/+8
| | | | | | | | Replace all USE_ prefixes by CONFIG_ prefixes to indicate options which are configurable. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27373 b3059339-0415-0410-9bf9-f77b7e298cf2
* Add verbose messages about trying and searching for audio output drivers.corey2008-06-221-0/+12
| | | | | | | | | Add messages showing why a specified audio output driver failed to be used. Based on a patch from Bryan Henderson, giraffedata [[]] gmail :: com git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27123 b3059339-0415-0410-9bf9-f77b7e298cf2
* Introduce a separate definition for Mac OS X coreaudio support.diego2008-03-151-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26240 b3059339-0415-0410-9bf9-f77b7e298cf2
* Merge two #ifdefs.diego2008-03-011-4/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26134 b3059339-0415-0410-9bf9-f77b7e298cf2
* cosmetics: reindent, detabifydiego2008-03-011-44/+44
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26133 b3059339-0415-0410-9bf9-f77b7e298cf2
* Remove duplicate extern declaration.diego2008-03-011-1/+0
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26132 b3059339-0415-0410-9bf9-f77b7e298cf2
* Remove pointless #ifdefs around extern declarations.diego2008-02-201-38/+0
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26039 b3059339-0415-0410-9bf9-f77b7e298cf2
* ao_functions_t should be const, part 1reimar2008-02-011-4/+4
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25945 b3059339-0415-0410-9bf9-f77b7e298cf2
* Replace Polyp- by PulseAudio output.reimar2007-10-181-4/+4
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24809 b3059339-0415-0410-9bf9-f77b7e298cf2
* v4l2 audio/video outputs for linux 2.6.22+ kernels (outputs formerly known ↵ben2007-07-291-0/+6
| | | | | | as ivtv) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@23925 b3059339-0415-0410-9bf9-f77b7e298cf2
* Move mpeg aos to the end of the autodetection list. At least mpegpesuau2006-08-161-8/+7
| | | | | | | | should be there since it now works without the corresponding vo but is not a particularly good ao overall. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19415 b3059339-0415-0410-9bf9-f77b7e298cf2
* added audio output for ivtv cardsben2006-07-281-1/+7
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19229 b3059339-0415-0410-9bf9-f77b7e298cf2
* Get ride of the several if(identify) messy lines and rearangment of some of ↵reynaldo2006-04-241-2/+1
| | | | | | the output, both patches by Kiriuja mplayer-patches AT en-directo_net, his changes are barely unrelated, nevertheless Im commiting them thogeter just for the sake of my mental healt, I had both patches already applied on my local three git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18238 b3059339-0415-0410-9bf9-f77b7e298cf2
* Part1 of several printf2mp_msg changes in patch from Otvos Attila oattila AT ↵reynaldo2006-03-301-2/+2
| | | | | | chello DOT hu git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17995 b3059339-0415-0410-9bf9-f77b7e298cf2
* fix compilation without openalaurel2006-02-161-0/+4
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17635 b3059339-0415-0410-9bf9-f77b7e298cf2
* OpenAL audio support, actual output is mono-only (no positioning yet).reimar2006-02-161-0/+2
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17634 b3059339-0415-0410-9bf9-f77b7e298cf2
* Patch by Stefan Huehner / stefan % huehner ! org \rathann2006-02-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | 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
* ao_macosx is a native audio output driver and should thus have prioritydiego2005-10-111-3/+3
| | | | | | | over non-native outputs drivers like ao_sdl and the like. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16733 b3059339-0415-0410-9bf9-f77b7e298cf2
* adds some more -identify output, patch by kiriuja < mplayer DASH patches PAM ↵gpoirier2005-06-201-0/+2
| | | | | | en DASH directo POUM net> git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@15790 b3059339-0415-0410-9bf9-f77b7e298cf2
* - fix gcc warnings, strlcat/strlcpy prototypesrathann2005-04-061-0/+1
| | | | | | | - fix bad sscanf usage in geometry.c git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@15059 b3059339-0415-0410-9bf9-f77b7e298cf2
* Do not use audio plugins anymorereimar2004-12-271-10/+0
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14255 b3059339-0415-0410-9bf9-f77b7e298cf2
* removing AFMT_ dependancyalex2004-12-271-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14246 b3059339-0415-0410-9bf9-f77b7e298cf2
*