aboutsummaryrefslogtreecommitdiffstats
path: root/src/output/osx_plugin.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2009-02-26output_plugin: report errors with GErrorMax Kellermann1-12/+29
Use GLib's GError library for reporting output device failures. Note that some init() methods don't clean up properly after a failure, but that's ok for now, because the MPD core will abort anyway.
2009-02-26osx: use OSStatus and GetMacOSStatusCommentString()Max Kellermann1-15/+24
The return type of most OS X functions is OSStatus, not int. We can get a nice error message from GetMacOSStatusCommentString(), log it.
2009-02-26osx: start the audio device in the open() methodMax Kellermann1-17/+8
Don't call AudioOutputUnitStart() in the play() method, do it after the device has been opened. We can eliminate the "started" property now, because the device is always started when it's open.
2009-02-26osx: removed commented codeMax Kellermann1-23/+2
We don't need to keep commented code forever. If we want that test_default_device() implementation back one day, we'll pick it from the git history.
2009-02-26osx: no CamelCaseMax Kellermann1-89/+85
Renamed types, functions, variables.
2009-02-25output_plugin: don't pass audio_output object to method init()Max Kellermann1-2/+1
audio_output_get_name() has been removed, which was the only function left in output_api.h. The output plugin doesn't need the audio_output object at all, remove the parameter from the init() method.
2009-02-23output: pass the music chunk pointer as void*, not char*Max Kellermann1-2/+2
The meaning of the chunk depends on the audio format; don't suggest a specific format by declaring the pointer as "char*", pass "void*" instead.
2009-02-23output_api: play() returns a lengthMax Kellermann1-27/+18
The old API required an output plugin to not return until all data passed to the play() method is consumed. Some output plugins have to loop to fulfill that requirement, and may block during that. Simplify these, by letting them consume only part of the buffer: make play() return the length of the consumed data.
2009-02-19utils: use g_usleep() instead of my_usleep()Max Kellermann1-2/+1
Now that I've found this nice function in the GLib docs, we can finally remove our custom sleep function. Still all those callers of g_usleep() have to be migrated one day to use events, instead of regular polling.
2009-02-10osx: removed disabled debug messagesMax Kellermann1-43/+2
Nobody needs these debug messages anymore.
2009-01-25use g_free() instead of free()Max Kellermann1-3/+2
On some platforms, g_free() must be used for memory allocated by GLib. This patch intends to correct a lot of occurrences, but is probably not complete.
2009-01-25conf: const pointers in block get functionsMax Kellermann1-1/+1
All config_get_block_*() functions should accept constant config_param pointers.
2009-01-17conf: no CamelCase, part IMax Kellermann1-1/+1
Renamed functions, types, variables.
2009-01-05fix G_BYTE_ORDER checkMax Kellermann1-1/+1
"#ifdef G_BYTE_ORDER == G_BIG_ENDIAN" cannot work, of course.
2009-01-05use GLib byte order macrosMax Kellermann1-1/+1
2009-01-01output plugins: don't include gcc.hMax Kellermann1-6/+7
Use GLib's G_GNUC_UNUSED instead of gcc.h's mpd_unused.
2008-12-28osx_plugin: migrate from pthread to glib threadsThomas Jansen1-19/+18
2008-12-17Remove useless statement.Emanuele Giaquinta1-1/+0
2008-12-17Remove useless computation. After the pthread_cond_wait loop there are at ↵Emanuele Giaquinta1-2/+0
least MIN(od->bufferSize, size) free bytes in the buffer. Thus MIN(od->bufferSize - od->len, size) is always equal to MIN(od->bufferSize, size).
2008-12-17Remove useless statement, curpos is initialized at the beginning of the loop.Emanuele Giaquinta1-1/+0
2008-12-17Factor computation.Emanuele Giaquinta1-4/+6
2008-12-17Use MIN.Emanuele Giaquinta1-2/+2
2008-12-17Call CloseComponent after AudioUnitUninitialize.Emanuele Giaquinta1-1/+1
2008-12-08osx: use 16 bit sample formatMax Kellermann1-0/+3
The OS X output does not seem to support 24 bit audio in the way MPD implements it currently. Fall back to 16 bit for now, and schedule 24 bit support on OS X for MPD 0.15.
2008-12-08osx: use GLib instead of utils.h/log.hMax Kellermann1-9/+13
One my_usleep() invocation remains, until we find out if we can delete it.
2008-12-08osx: don't use void pointer in arithmeticMax Kellermann1-2/+2
Cast AudioBuffer.mData to a "unsigned char*" before adding "curpos". This fixes a gcc warning.
2008-11-04osx: fix gcc warningsMax Kellermann1-7/+8
Fix prototypes and unused variables.
2008-11-04osx: adapt to new output plugin APIMax Kellermann1-19/+15
The OS X output plugin wasn't adapted to the new output plugin yet, because I had no Mac to test...
2008-10-29output: use bool for return values and flagsMax Kellermann1-14/+15
Don't return 0/-1 on success/error, but true/false. Instead of int, use bool for storing flags.
2008-10-26output: don't compile plugins which are disabledMax Kellermann1-10/+2
Don't compile the sources of disabled output plugins at all.
2008-10-26renamed src/audioOutputs/ to src/output/Max Kellermann1-0/+0
Again, no CamelCase in the directory name.
2008-10-10audio_format: added audio_format_frame_size()Max Kellermann1-3/+2
A frame contains one sample per channel, thus it is sample_size * channels. This patch includes some cleanup for various locations where the sample size for 24 bit audio was still 3 bytes (instead of 4).
2008-10-10audio_format: renamed sampleRate to sample_rateMax Kellermann1-2/+2
The last bit of CamelCase in audio_format.h. Additionally, rename a bunch of local variables.
2008-09-29use C99 struct initializersMax Kellermann1-9/+8
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: 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-2/+3
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-23audio_format: added audio_format_sample_size()Max Kellermann1-1/+1
The inline function audio_format_sample_size() calculates how many bytes each sample consumes. This function already takes into account that 24 bit samples are 4 bytes long, not 3.
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/+8
Also rename AudioOutputPlugin to struct audio_output_plugin, and use forward declarations to reduce include dependencies.
2008-09-07output: added output_api.hMax Kellermann1-1/+2
Just like decoder_api.h, output_api.h provides the audio output API which is used by the plugins.
2008-04-12use size_t and constant pointer in ao pluginsMax Kellermann1-10/+11
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/+0
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-04-05The massive copyright updateAvuton Olrich1-1/+1
git-svn-id: https://svn.musicpd.org/mpd/trunk@5834 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-10-18remove some unneccesary includes from the audioOutput'sWarren Dukes1-1/+0
git-svn-id: https://svn.musicpd.org/mpd/trunk@4913 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-09-09Hopefully fix endian problem mac x86/ppcQball Cow1-2/+5
git-svn-id: https://svn.musicpd.org/mpd/trunk@4750 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-26Replace strdup and {c,re,m}alloc with x* variants to check for OOM errorsEric Wong1-2/+2
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-11Spelling & GrammarAvuton Olrich1-2/+2
git-svn-id: https://svn.musicpd.org/mpd/trunk@4612 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-127/+136
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