- 26 Mar, 2009 1 commit
-
-
Max Kellermann authored
This patch fixes a longer delay when moving around songs in the playlist. The main thread wants to enqueue a new "next" song into the player thread, but the player thread is waiting inside audio_output_all_wait() for the output threads. Use player_control.notify there, so audio_output_all_wait() gets woken up by the main thread, too.
-
- 25 Mar, 2009 3 commits
-
-
Max Kellermann authored
Use audio_output_client_notify instead of g_usleep(1ms) in audio_output_all_wait() to synchronize with the output_thread. Signal the audio_output_client_notify object in ao_play().
-
Max Kellermann authored
Synchronization with the output thread will be implemented in output_all.c, not in player_thread.c. Currently, that's just a simple g_usleep(1ms).
-
Max Kellermann authored
There was a deadlock between the output thread and the player thread: when the output thread failed (and closed itself) while the player thread worked with the audio_output object, MPD could crash.
-
- 16 Mar, 2009 1 commit
-
-
Max Kellermann authored
When printing the error message, MPD dereferences the NULL pointer to print an error message if no audio_output section is present.
-
- 14 Mar, 2009 2 commits
-
-
Max Kellermann authored
In NDEBUG, clear_tail_chunk() does not use its "chunk" parameter.
-
Max Kellermann authored
The source output_all.c accesses music_chunk struct members, but did not include chunk.h directly.
-
- 13 Mar, 2009 1 commit
-
-
Avuton Olrich authored
This updates the copyright header to all be the same, which is pretty much an update of where to mail request for a copy of the GPL and the years of the MPD project. This also puts all committers under 'The Music Player Project' umbrella. These entries should go individually in the AUTHORS file, for consistancy.
-
- 12 Mar, 2009 1 commit
-
-
Max Kellermann authored
When there are chunks which are not yet finished, audio_output_all_check() returned the size of its music pipe minus one. I can't remember exactly why I subtracted 1 from the return value, it must have had something to do with a former meaning of this function. Now it induces assertion failures.
-
- 10 Mar, 2009 2 commits
-
-
Max Kellermann authored
When the audio outputs are closed, also clear the audio format. If we don't do this, every call to audio_output_all_update() will open the device, even if it's meant to be paused.
-
Max Kellermann authored
Don't allow reopening an audio device after pause with audio_format==NULL, force the caller to provide the audio_format each time.
-
- 09 Mar, 2009 1 commit
-
-
Max Kellermann authored
Instead of passing individual buffers to audio_output_all_play(), pass music_chunk objects. Append all those chunks asynchronously to a music_pipe instance. All output threads may then read chunks from this pipe. This reduces MPD's internal latency by an order of magnitude.
-
- 07 Mar, 2009 2 commits
-
-
Max Kellermann authored
Sometimes, audio_output_update() isn't called for the second device when the first one has succeeded. The patch "audio_output_all_update() returns bool" broke it, because the boolean evaluation ended after the first "true".
-
Max Kellermann authored
audio_output_all_update() returns true when there is at least open output device which is open.
-
- 01 Mar, 2009 1 commit
-
-
Max Kellermann authored
Do error handling with GError instead of aborting with g_error().
-
- 28 Feb, 2009 1 commit
-
-
Max Kellermann authored
time() is not a monotonic timer, and MPD might get confused by clock skews. clock_gettime() provides a monotonic clock, but is not portable to non-POSIX systems (i.e. Windows). This patch uses GLib's GTimer API, which aims to be portable.
-
- 26 Feb, 2009 2 commits
-
-
Max Kellermann authored
When all outputs are disabled, MPD printed only a meaningless message "problems opening audio device", although it didn't attempt to open a device.
-
Max Kellermann authored
After initialization, audio_outputs is always non-NULL. Don't check that.
-
- 25 Feb, 2009 1 commit
-
-
Max Kellermann authored
-
- 16 Feb, 2009 1 commit
-
-
Max Kellermann authored
Don't include output_api.h in output_internal.h. This change requires adding missing includes in several sources.
-
- 10 Feb, 2009 9 commits
-
-
Max Kellermann authored
When MPD explicitly starts playing, ignore the "REOPEN_AFTER" timeout. This timeout was useful when MPD attempted to reopen a failed device over and over, but it confuses users when they explicitly tell MPD to start playing, while MPD insists to wait for the 10 seconds to pass.
-
Max Kellermann authored
audio_output_all_finished() returns bool, not int.
-
Max Kellermann authored
Renamed functions and variables.
-
Max Kellermann authored
Moved code which deals with all audio outputs at once into a separate library.
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
This function isn't used anymore.
-
Max Kellermann authored
Added audio_output_get(), audio_output_find().
-
Max Kellermann authored
audio_output_config_count() returns the number of audio outputs in the configuration file. It is only used by initAudioDriver(). The public function audio_output_count() now returns audioOutputArraySize.
-
- 25 Jan, 2009 3 commits
-
-
Max Kellermann authored
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.
-
Max Kellermann authored
Those have been superseded by the new legacy configuration code.
-
Max Kellermann authored
All config_get_block_*() functions should accept constant config_param pointers.
-
- 17 Jan, 2009 1 commit
-
-
Max Kellermann authored
Renamed functions, types, variables.
-
- 04 Jan, 2009 1 commit
-
-
Viliam Mateicka authored
-
- 03 Jan, 2009 1 commit
-
-
Max Kellermann authored
-
- 31 Dec, 2008 2 commits
-
-
Viliam Mateicka authored
-
Viliam Mateicka authored
-
- 29 Dec, 2008 1 commit
-
-
Max Kellermann authored
Only include headers which are really needed. os_compat.h aimed to make MPD easily portable, but was never actually made portable.
-
- 28 Dec, 2008 1 commit
-
-
Max Kellermann authored
Replaced myFgets() with fgets() + g_strchomp().
-
- 27 Dec, 2008 1 commit
-
-
Max Kellermann authored
Don't use NOTIFY_INITIALIZER to initialize audio_output_client_notify.
-