aboutsummaryrefslogtreecommitdiffstats
path: root/src/output (unfollow)
Commit message (Collapse)AuthorFilesLines
2012-04-05encoder/vorbis: generate end-of-stream packet when playback endsMax Kellermann2-2/+2
Add the encoder_plugin method end(). This is important for the recorder plugin.
2012-04-04output/jack: check for connection failure before starting playbackMax Kellermann1-0/+3
2012-04-04output/jack: workaround for libjack1 crash bugMax Kellermann1-0/+13
2012-03-28output/osx: use the fifo_buffer library instead of rolling ownMax Kellermann1-56/+37
The existing buffer implementation has a major flaw: it is unable to re-fill the buffer until it has been consumed completely, leading to many occasions where the render callback needs to generate silence, just because the play() implementation was unable to append more data. The fifo_buffer library handles that well.
2012-02-13output/winmm: remove pointless NULL checkMax Kellermann1-5/+1
pcm_buffer_get() cannot ever return NULL.
2011-12-24output/osx: clear render buffer when there's not enough dataMax Kellermann1-2/+3
When we don't have enough data, generate some silence, hoping the input buffer will fill soon. Reducing the render buffer size is not legal.
2011-12-24output/osx: remove sleep call from render callbackMax Kellermann1-4/+0
Blocking inside the render callback is forbidden, and this sleep call didn't make any sense.
2011-12-13output/openal: force 16 bit playback, as 8 bit doesn't workMax Kellermann1-10/+4
The OpenAL specification says that AL_FORMAT_MONO8 and AL_FORMAT_STEREO8 expect unsigned 8 bit samples, but MPD uses unsigned samples.
2011-10-08output/openal: auto-fallback to mono if channel count is unsupportedMax Kellermann1-9/+9
.. instead of failing playback completely.
2011-10-08output/alsa: remove "default" case from switchMax Kellermann1-3/+6
Allow gcc to warn when a new format isn't supported.
2011-09-20fd_util: add function close_socket()Max Kellermann1-2/+2
Wrap close(), use closesocket() on WIN32/WinSock.
2011-09-20glib_socket.h: wrap g_io_channel_*_new() calls portablyMax Kellermann1-5/+2
The server_socket library (used by the httpd output plugin) didn't check for WIN32, that's fixed now.
2011-09-19configure.ac: add option --enable-solaris-outputMax Kellermann1-1/+19
Allow enabling the plugin explicitly without running Solaris, to test the build.
2011-09-17output/pulse: improve lockingMax Kellermann1-11/+11
Always lock the main loop when operating on PULSE objects. Document this.
2011-09-16input/curl, output/pulse: fix "unused local variable" warningsMax Kellermann1-1/+2
2011-09-01output/osx: don't drain the buffer when closingMax Kellermann1-6/+0
Eliminate an unnecessary source of deadlocks.
2011-09-01output/osx: signal the GCond while mutex is lockedMax Kellermann1-1/+1
2011-08-31output/pulse: reset callbacks before closing stream/contextMax Kellermann1-0/+10
Fixes assertion failure when a stream callback is invoked too late after a format change.
2011-08-31output/pulse: add function _delete_stream()Max Kellermann1-5/+16
Merge common code.
2011-08-31output/pulse: use _delete_context()Max Kellermann1-16/+15
Eliminate duplicate code.
2011-08-23output/pulse: fix deadlock when the stream was suspendedMax Kellermann1-0/+31
Check if the stream is suspended; wake up the main loop when it becomes suspended.
2011-08-23output/pulse: add assertionsMax Kellermann1-0/+30
2011-08-23output/pulse: return 0 on errorMax Kellermann1-1/+1
Not a bool.
2011-08-23pulse/output: fix deadlock when resuming the streamMax Kellermann1-1/+3
Unlock the mainloop in all code paths.
2011-08-23output/httpd: add assertionsMax Kellermann1-1/+17
2011-08-23output/httpd: don't warn on client disconnectMax Kellermann1-1/+8
This warning should only be logged when we really received something. When the client disconnects, G_IO_IN is triggered, and the read returns G_IO_STATUS_EOF.
2011-07-20encoder_plugin: add method pre_tag()Max Kellermann2-2/+2
In the "vorbis" plugin, this is a copy of the old flush() method, while flush() gets a lot of code remove, it just sets the "flush" flag and nothing else. It doesn't start a new stream now, which should fix a few problems in some players.
2011-07-20output/httpd: explicitly convert size_t to bool in pause()Max Kellermann1-1/+2
2011-07-20output/alsa: fix SIGFPE when alsa announces a period size of 0Max Kellermann1-0/+8
2011-07-18output/shout: fix a memory leakJonathan Neuschäfer1-12/+16
2011-07-18output/recorder: fix a memory leakJonathan Neuschäfer1-3/+7
2011-07-18output/httpd: add missing g_free in error pathJonathan Neuschäfer1-0/+1
2011-07-18output/ao: add missing g_free in error pathJonathan Neuschäfer1-0/+3
2011-03-18output/httpd: include sys/socket.h only when building with libwrapMax Kellermann1-1/+1
Fixes build failure on WIN32.
2011-03-09output/httpd: include sys/socket.h for AF_UNIXUlrich Spörlein1-0/+1
2011-02-28output/oss: disable 24 bit playback on FreeBSDMax Kellermann1-0/+9
See code comment.
2011-02-28output/oss: AFMT_S24_PACKED is little-endianMax Kellermann1-0/+12
According to the Solaris dsp manpage, AFMT_S24_PACKED is little-endian: http://download.oracle.com/docs/cd/E19963-01/821-1475/6nmf5baot/index.html The Minix soundcard.h header says the same.
2011-02-27output/jack: fix crash with mono playbackMax Kellermann1-1/+1
With mono sound, jack_sample_size is smaller than frame_size (4 vs 2 bytes), and "space/jack_sample_size==0". That means mpd_jack_play() will return 0, although no error has occurred.
2011-02-25output/jack: rename variable sample_size to jack_sample_sizeMax Kellermann1-5/+6
2011-02-15Insure proper initialization of stack-allocated struct.Christopher Brannon1-1/+4
Version 1.0.0 of the libao library added a new field to the ao_sample_format struct. It is a char * named matrix. When an ao_sample_format is allocated on the stack, this field contains garbage. The proper course is to insure that is initialized to NULL. NULL indicates that we do not want any mapping. The struct is now initialized using a static initializer, and this technique is compatible with all known versions of libao.
2011-02-09general: whitespace cleanupThomas Jansen3-3/+3
Remove trailing whitespace found by this command: find -name '*.[ch]' | xargs grep "[[:space:]]$"
2011-02-09output/httpd: initialize unflushed_inputThomas Jansen1-0/+1
This fixes the following valgrind warning occuring on the first call of httpd_output_read_page: ==20124== Conditional jump or move depends on uninitialised value(s) ==20124== at 0x425E65: httpd_output_read_page (httpd_output_plugin.c:240) ==20124== by 0x426087: httpd_output_open (httpd_output_plugin.c:279) ==20124== by 0x41D862: ao_open (output_plugin.h:206) ==20124== by 0x41E133: audio_output_task (output_thread.c:590)
2011-01-07output/httpd: define G_LOG_DOMAIN in httpd_client.cMax Kellermann1-0/+3
2011-01-07output/osx: fix up audio format first, then apply it to deviceMax Kellermann1-9/+10
This is a MPD 0.16 regression: when playing a 24 bit file, the switch to 16 bit was made only partially, after mBytesPerPacket and mBytesPerFrame had already been applied. That means mBytesPerFrame referred to 24 bit, and mBitsPerChannel referred to 16 bits. Of course, that cannot work.
2010-12-21output/solaris: add missing parameter to open_cloexec() callAlex Viskovatoff1-1/+1
2010-11-08output/shout: artist comes first in stream titleMax Kellermann1-1/+1
After popular demand, I've switched the order of "artist" and "title" in the stream title. There is no standard, and there is no reliable way to parse those from the stream title.
2010-11-05output/alsa: dump buffer and period limitsMax Kellermann1-0/+20
2010-11-05output/httpd: implement delay()Max Kellermann1-2/+11
2010-11-05output/shout: implement delay()Max Kellermann1-8/+13
This makes the plugin more responsive to control commands, because it will listen to control events while waiting.
2010-11-04output/ffado: transfer_playback_buffers() returns a booleanMax Kellermann1-1/+4
libffado documentation says this function returns -1 on error, but that is a lie - it returns a boolean value, and "false" means error.