- 25 Nov, 2008 1 commit
-
-
Max Kellermann authored
-
- 31 Oct, 2008 1 commit
-
-
Max Kellermann authored
"LOG_H" is a macro which is also used by ffmpeg/log.h. This is ffmpeg's fault, because short macros should be reserved for applications, but since it's always a good idea to choose prefixed macro names, even for applications, we are going to do that in MPD.
-
- 29 Oct, 2008 1 commit
-
-
Max Kellermann authored
Don't return 0/-1 on success/error, but true/false. Instead of int, use bool for storing flags.
-
- 08 Oct, 2008 1 commit
-
-
Max Kellermann authored
When there are standardized headers, use these instead of the bloated os_compat.h.
-
- 29 Sep, 2008 2 commits
-
-
Max Kellermann authored
pause() puts the audio output into pause mode: if supported, it may perform a special action, which keeps the device open, but does not play anything. Output plugins like "shout" might want to play silence during pause, so their clients won't be disconnected. Plugins which do not support pausing will simply be closed, and have to be reopened when unpaused. This pach includes an implementation for the shout plugin, which sends silence chunks.
-
Max Kellermann authored
The function audio_output_is_pending() returns whether there is a pending command. This is useful for output plugins as a break condition for longer loops.
-
- 24 Sep, 2008 6 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
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.
-
Max Kellermann authored
The JACK output plugin needs to reset its "opened" flag when the JACK server fails. To prevent it from accessing the audio_output struct directly introduce the API function audio_output_closed().
-
Max Kellermann authored
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.
-
Max Kellermann authored
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.
-
Max Kellermann authored
To keep I/O nastiness and latencies away from the core, move the audio output code to a separate thread, one per output. The thread is created on demand, and currently runs until mpd exits.
-
- 11 Sep, 2008 2 commits
-
-
Max Kellermann authored
Eliminate sameInAndOutFormats and check with audio_format_equals() each time it this information is needed. Another 4 bytes saved.
-
Max Kellermann authored
Instead of checking convertAudioFormat, we can simply check if reqAudioFormat is defined. This saves 4 bytes in the struct.
-
- 09 Sep, 2008 1 commit
-
-
Max Kellermann authored
No CamelCase. Also don't declare typedefs for the methods.
-
- 08 Sep, 2008 1 commit
-
-
Max Kellermann authored
Since the plugin struct is never modified, we should store it in constant locations.
-
- 07 Sep, 2008 4 commits
-
-
Max Kellermann authored
Instead of copying all that stuff from the audio output plugin to the audio output structure, store a pointer to the plugin.
-
Max Kellermann authored
Also rename AudioOutputPlugin to struct audio_output_plugin, and use forward declarations to reduce include dependencies.
-
Max Kellermann authored
Just like decoder_api.h, output_api.h provides the audio output API which is used by the plugins.
-
Max Kellermann authored
Get rid of CamelCase, and don't use a typedef, so we can forward-declare it, and unclutter the include dependencies.
-
- 29 Aug, 2008 2 commits
-
-
Max Kellermann authored
Getting rid of CamelCase; not having typedefs also allows us to forward-declare the structures.
-
Max Kellermann authored
And again, convert arguments to const.
-
- 26 Aug, 2008 1 commit
-
-
Max Kellermann authored
We want to expose the AudioFormat structure to plugins; remove some clutter by moving its declaration to a separate header file.
-
- 12 Apr, 2008 3 commits
-
-
Max Kellermann authored
git-svn-id: https://svn.musicpd.org/mpd/trunk@7345 09075e82-0dd4-0310-85a5-a0d7c8717e4f
-
Max Kellermann authored
git-svn-id: https://svn.musicpd.org/mpd/trunk@7294 09075e82-0dd4-0310-85a5-a0d7c8717e4f
-
Max Kellermann authored
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
-
- 05 Feb, 2008 1 commit
-
-
Max Kellermann authored
[ew: cleaned up the dirty union hack a bit] Signed-off-by:
Eric Wong <normalperson@yhbt.net> git-svn-id: https://svn.musicpd.org/mpd/trunk@7180 09075e82-0dd4-0310-85a5-a0d7c8717e4f
-
- 26 Jan, 2008 1 commit
-
-
Max Kellermann authored
Signed-off-by:
Eric Wong <normalperson@yhbt.net> git-svn-id: https://svn.musicpd.org/mpd/trunk@7142 09075e82-0dd4-0310-85a5-a0d7c8717e4f
-
- 03 Jan, 2008 1 commit
-
-
Eric Wong authored
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
-
- 13 Jun, 2007 1 commit
-
-
J. Alexander Treuman authored
except that it now uses a timer for throttling. git-svn-id: https://svn.musicpd.org/mpd/trunk@6621 09075e82-0dd4-0310-85a5-a0d7c8717e4f
-
- 12 Jun, 2007 1 commit
-
-
J. Alexander Treuman authored
outputs, which is actually desired behaviour. This way if the shout server takes a while to respond, the shout output can block until connected without messing up other audio outputs. git-svn-id: https://svn.musicpd.org/mpd/trunk@6554 09075e82-0dd4-0310-85a5-a0d7c8717e4f
-
- 10 Jun, 2007 1 commit
-
-
J. Alexander Treuman authored
reducing the likelyhood of it blocking other outputs. git-svn-id: https://svn.musicpd.org/mpd/trunk@6543 09075e82-0dd4-0310-85a5-a0d7c8717e4f
-
- 30 May, 2007 1 commit
-
-
J. Alexander Treuman authored
git-svn-id: https://svn.musicpd.org/mpd/trunk@6393 09075e82-0dd4-0310-85a5-a0d7c8717e4f
-
- 24 May, 2007 1 commit
-
-
J. Alexander Treuman authored
audio at once, so it won't work for us. The old full API code was still heavily broken, as each call to pcm_convertSampleRate() used the same state, even if it was processing two streams of audio. The new code keeps a separate state for each audio stream that's being converted. git-svn-id: https://svn.musicpd.org/mpd/trunk@6255 09075e82-0dd4-0310-85a5-a0d7c8717e4f
-
- 05 Apr, 2007 1 commit
-
-
Avuton Olrich authored
git-svn-id: https://svn.musicpd.org/mpd/trunk@5834 09075e82-0dd4-0310-85a5-a0d7c8717e4f
-
- 14 Jan, 2007 2 commits
-
-
Eric Wong authored
git-svn-id: https://svn.musicpd.org/mpd/trunk@5261 09075e82-0dd4-0310-85a5-a0d7c8717e4f
-
Eric Wong authored
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
-
- 26 Aug, 2006 1 commit
-
-
Eric Wong authored
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
-
- 20 Aug, 2006 2 commits
-
-
Avuton Olrich authored
git-svn-id: https://svn.musicpd.org/mpd/trunk@4658 09075e82-0dd4-0310-85a5-a0d7c8717e4f
-
Avuton Olrich authored
Add -Wmissing-prototypes if compiling with gcc Static where possible git-svn-id: https://svn.musicpd.org/mpd/trunk@4657 09075e82-0dd4-0310-85a5-a0d7c8717e4f
-