aboutsummaryrefslogtreecommitdiffstats
path: root/src/audioOutputs/audioOutput_ao.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2008-09-29use C99 struct initializersMax Kellermann1-9/+7
The old struct initializers are error prone and don't allow moving elements around. Since we are going to overhaul some of the APIs soon, it's easier to have all implementations use C99 initializers.
2008-09-24output: make "struct audio_output" opaque for output pluginsMax Kellermann1-19/+16
We have eliminated direct accesses to the audio_output struct from the all output plugins. Make it opaque for them, and move its real declaration to output_internal.h, similar to decoder_internal.h. Pass the opaque structure to plugin.init() only, which will return the plugin's data pointer on success, and NULL on failure. This data pointer will be passed to all other methods instead of the audio_output struct.
2008-09-24output: added audio_output_get_name()Max Kellermann1-1/+1
Reduce direct accesses to the audio_output struct from the plugins: this time, eliminate all accesses to audio_output.name. The name is required by some plugins for log messages.
2008-09-24output: set audio_output->open=1 in audio_output_task()Max Kellermann1-4/+0
Since the output plugin returns a value indicating success or error, we can have the output core code assign the "open" flag.
2008-09-24output: pass audio_format to plugin.init() and plugin.open()Max Kellermann1-4/+6
Pass the globally configured audio_format as a const pointer to plugin.init(). plugin.open() gets a writable pointer which contains the audio_format requested by the plugin. Its initial value is either the configured audio_format or the input file's audio_format.
2008-09-08output: const plugin structuresMax Kellermann1-1/+1
Since the plugin struct is never modified, we should store it in constant locations.
2008-09-07output: renamed typedef AudioOutput to struct audio_outputMax Kellermann1-7/+7
Also rename AudioOutputPlugin to struct audio_output_plugin, and use forward declarations to reduce include dependencies.
2008-09-07output: added output_api.hMax Kellermann1-3/+2
Just like decoder_api.h, output_api.h provides the audio output API which is used by the plugins.
2008-08-26enable -Wpointer-arith, -Wstrict-prototypesMax Kellermann1-1/+1
Also enable -Wunused-parameter - this forces us to add the gcc "unused" attribute to a lot of parameters (mostly library callback functions), but it's worth it during code refactorizations.
2008-04-12fixed another shadow warningMax Kellermann1-11/+11
git-svn-id: https://svn.musicpd.org/mpd/trunk@7307 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-04-12use size_t and constant pointer in ao pluginsMax Kellermann1-5/+23
The audio output plugins should get a constant pointer, because they must not modify the buffer. Since the size is a non-negative buffer size in bytes, we should change its type to size_t. git-svn-id: https://svn.musicpd.org/mpd/trunk@7293 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-01-03Cleanup #includes of standard system headers and put them in one placeEric Wong1-4/+1
This will make refactoring features easier, especially now that pthreads support and larger refactorings are on the horizon. Hopefully, this will make porting to other platforms (even non-UNIX-like ones for masochists) easier, too. os_compat.h will house all the #includes for system headers considered to be the "core" of MPD. Headers for optional features will be left to individual source files. git-svn-id: https://svn.musicpd.org/mpd/trunk@7130 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-27Fix compilation error (missing ,)Avuton Olrich1-1/+1
git-svn-id: https://svn.musicpd.org/mpd/trunk@6289 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-26Changing all calls to ERROR() followed by exit(EXIT_FAILURE) with a singleJ. Alexander Treuman1-20/+9
call to FATAL(). git-svn-id: https://svn.musicpd.org/mpd/trunk@6276 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-04-05The massive copyright updateAvuton Olrich1-1/+1
git-svn-id: https://svn.musicpd.org/mpd/trunk@5834 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-21Fix some error messages concerning _ao output driverQball Cow1-2/+2
git-svn-id: https://svn.musicpd.org/mpd/trunk@5268 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-14Don't initialize globals to zero (or NULL)Eric Wong1-1/+1
Some compilers and linkers aren't smart enough to optimize this, as global variables are implictly initialized to zero. As a result, binaries are a bit smaller as more goes in the .bss and less in the text section. git-svn-id: https://svn.musicpd.org/mpd/trunk@5254 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-10-18remove some unneccesary includes from the audioOutput'sWarren Dukes1-2/+0
git-svn-id: https://svn.musicpd.org/mpd/trunk@4913 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-26Replace strdup and {c,re,m}alloc with x* variants to check for OOM errorsEric Wong1-3/+3
I'm checking for zero-size allocations and assert()-ing them, so we can more easily get backtraces and debug problems, but we'll also allow -DNDEBUG people to live on the edge if they wish. We do not rely on errno when checking for OOM errors because some implementations of malloc do not set it, and malloc is commonly overridden by userspace wrappers. I've spent some time looking through the source and didn't find any obvious places where we would explicitly allocate 0 bytes, so we shouldn't trip any of those assertions. We also avoid allocating zero bytes because C libraries don't handle this consistently (some return NULL, some not); and it's dangerous either way. git-svn-id: https://svn.musicpd.org/mpd/trunk@4690 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-08more sparse cleanupsEric Wong1-2/+2
* less-commonly compiled things like ao/mvp outputs * Adding -Wno-transparent-union to SPARSE_FLAGS makes it check inside decode.c, directory.c, player.c, and sig_handlers.c * remove unused variables leftover from the master process in sig_handlers.c git-svn-id: https://svn.musicpd.org/mpd/trunk@4598 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-20Add mpd-indent.shAvuton Olrich1-1/+1
Add a few new options for indent to try to make things a bit cleaner git-svn-id: https://svn.musicpd.org/mpd/trunk@4411 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-20Add mpd-indent.shAvuton Olrich1-90/+93
Indent the entire tree, hopefully we can keep it indented. git-svn-id: https://svn.musicpd.org/mpd/trunk@4410 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14Change shank's email addressJ. Alexander Treuman1-1/+1
git-svn-id: https://svn.musicpd.org/mpd/trunk@4333 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14Use a macro to declare disabled audio output pluginsJ. Alexander Treuman1-13/+2
git-svn-id: https://svn.musicpd.org/mpd/trunk@4321 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-13Huge header update, update the copyright and addAvuton Olrich1-1/+1
the GPL header where necessary git-svn-id: https://svn.musicpd.org/mpd/trunk@4317 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-11-19remove C++ style commentsEric Wong1-1/+1
git-svn-id: https://svn.musicpd.org/mpd/trunk@3689 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-03-12if no audioOutput specified, we no attempt to detect if there exists a ↵Warren Dukes1-0/+2
usable oss or alsa device git-svn-id: https://svn.musicpd.org/mpd/trunk@3057 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-03-05implemented dropping of current buffered audio, works for oss, but there seemsWarren Dukes1-0/+6
to be a "blip" for alsa devices, needs more work git-svn-id: https://svn.musicpd.org/mpd/trunk@3011 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-01-16this should fix compile bugs #350 and #351Warren Dukes1-0/+20
git-svn-id: https://svn.musicpd.org/mpd/trunk@2884 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-11-19don't need to pass audioFormat to openDeviceFuncWarren Dukes1-6/+4
git-svn-id: https://svn.musicpd.org/mpd/trunk@2708 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-11-03remove signal handling code from ao open() and close()Warren Dukes1-5/+0
git-svn-id: https://svn.musicpd.org/mpd/trunk@2493 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-11-02DEBUG statement that prints out which ao driver is being usedWarren Dukes1-0/+3
git-svn-id: https://svn.musicpd.org/mpd/trunk@2478 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-11-02move audioOutput dir to audioOutputsWarren Dukes1-0/+0
git-svn-id: https://svn.musicpd.org/mpd/trunk@2471 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-11-02move audioOutput plugins to audioOutput directoryWarren Dukes1-4/+4
git-svn-id: https://svn.musicpd.org/mpd/trunk@2470 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-11-01some minor tweaks, and a minor memory leak pluggedWarren Dukes1-4/+1
git-svn-id: https://svn.musicpd.org/mpd/trunk@2445 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-10-28always set open = 0 on closeDeviceWarren Dukes1-1/+2
git-svn-id: https://svn.musicpd.org/mpd/trunk@2380 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-10-28merge shank-rewrite-config changesWarren Dukes1-13/+28
git-svn-id: https://svn.musicpd.org/mpd/trunk@2375 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-10-25fix a big time bug in metadataChunk (off by one in an array assignment)Warren Dukes1-1/+2
also, now we have metadata in our streams git-svn-id: https://svn.musicpd.org/mpd/trunk@2337 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-10-20shout audioOutput will now connect and disconnect from icecast serverWarren Dukes1-2/+4
git-svn-id: https://svn.musicpd.org/mpd/trunk@2285 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-10-20be sure to free "data" when finishing the output driverWarren Dukes1-1/+6
git-svn-id: https://svn.musicpd.org/mpd/trunk@2282 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-10-20oops, accidently broke crossfading, fixed nowWarren Dukes1-1/+1
git-svn-id: https://svn.musicpd.org/mpd/trunk@2281 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-10-20ok, now we're using some of the new audioOutput layer stuff, needs some ↵Warren Dukes1-0/+3
serious testing, and there maybe some serios BREAKAGE git-svn-id: https://svn.musicpd.org/mpd/trunk@2279 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-10-20minor little changes to audio junkWarren Dukes1-1/+13
git-svn-id: https://svn.musicpd.org/mpd/trunk@2278 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-10-20some work on the new audioOutput layerWarren Dukes1-118/+63
git-svn-id: https://svn.musicpd.org/mpd/trunk@2277 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-09-08beginnings of ao audioOutput pluginWarren Dukes1-71/+24
git-svn-id: https://svn.musicpd.org/mpd/trunk@2115 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-19fix a few bugs in mp3_decode and minimize alsa underruns by playing silence ↵Warren Dukes1-0/+5
when switch songs git-svn-id: https://svn.musicpd.org/mpd/trunk@1572 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-12Add WARNING log method. it's the same as ERROR, except that when mpd starts,Warren Dukes1-2/+1
warnings are buffered until the error log is opened, and then flushed to the error log. git-svn-id: https://svn.musicpd.org/mpd/trunk@1442 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-05-24allow any sampleRate > 0?Warren Dukes1-1/+7
git-svn-id: https://svn.musicpd.org/mpd/trunk@1150 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-05-10trash XMMS resampling, use ESD's instead, don't understand it, but it worksWarren Dukes1-0/+2
git-svn-id: https://svn.musicpd.org/mpd/trunk@979 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-05-10resampling code blatantly ripped from xmms, needs testing and need toWarren Dukes1-2/+2
right conversion routines for bit conversion and channel conversion git-svn-id: https://svn.musicpd.org/mpd/trunk@971 09075e82-0dd4-0310-85a5-a0d7c8717e4f