aboutsummaryrefslogtreecommitdiffstats
path: root/src/output (follow)
Commit message (Collapse)AuthorAgeFilesLines
* output/osx: use the fifo_buffer library instead of rolling ownMax Kellermann2012-03-281-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.
* output/winmm: remove pointless NULL checkMax Kellermann2012-02-131-5/+1
| | | | pcm_buffer_get() cannot ever return NULL.
* output/osx: clear render buffer when there's not enough dataMax Kellermann2011-12-241-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.
* output/osx: remove sleep call from render callbackMax Kellermann2011-12-241-4/+0
| | | | | Blocking inside the render callback is forbidden, and this sleep call didn't make any sense.
* output/openal: force 16 bit playback, as 8 bit doesn't workMax Kellermann2011-12-131-10/+4
| | | | | | The OpenAL specification says that AL_FORMAT_MONO8 and AL_FORMAT_STEREO8 expect unsigned 8 bit samples, but MPD uses unsigned samples.
* output/openal: auto-fallback to mono if channel count is unsupportedMax Kellermann2011-10-081-9/+9
| | | | .. instead of failing playback completely.
* output/alsa: remove "default" case from switchMax Kellermann2011-10-081-3/+6
| | | | Allow gcc to warn when a new format isn't supported.
* fd_util: add function close_socket()Max Kellermann2011-09-201-2/+2
| | | | Wrap close(), use closesocket() on WIN32/WinSock.
* glib_socket.h: wrap g_io_channel_*_new() calls portablyMax Kellermann2011-09-201-5/+2
| | | | | The server_socket library (used by the httpd output plugin) didn't check for WIN32, that's fixed now.
* configure.ac: add option --enable-solaris-outputMax Kellermann2011-09-191-1/+19
| | | | | Allow enabling the plugin explicitly without running Solaris, to test the build.
* output/pulse: improve lockingMax Kellermann2011-09-171-11/+11
| | | | | Always lock the main loop when operating on PULSE objects. Document this.
* input/curl, output/pulse: fix "unused local variable" warningsMax Kellermann2011-09-161-1/+2
|
* output/osx: don't drain the buffer when closingMax Kellermann2011-09-011-6/+0
| | | | Eliminate an unnecessary source of deadlocks.
* output/osx: signal the GCond while mutex is lockedMax Kellermann2011-09-011-1/+1
|
* output/pulse: reset callbacks before closing stream/contextMax Kellermann2011-08-311-0/+10
| | | | | Fixes assertion failure when a stream callback is invoked too late after a format change.
* output/pulse: add function _delete_stream()Max Kellermann2011-08-311-5/+16
| | | | Merge common code.
* output/pulse: use _delete_context()Max Kellermann2011-08-311-16/+15
| | | | Eliminate duplicate code.
* output/pulse: fix deadlock when the stream was suspendedMax Kellermann2011-08-231-0/+31
| | | | | Check if the stream is suspended; wake up the main loop when it becomes suspended.
* output/pulse: add assertionsMax Kellermann2011-08-231-0/+30
|
* output/pulse: return 0 on errorMax Kellermann2011-08-231-1/+1
| | | | Not a bool.
* pulse/output: fix deadlock when resuming the streamMax Kellermann2011-08-231-1/+3
| | | | Unlock the mainloop in all code paths.
* output/httpd: add assertionsMax Kellermann2011-08-231-1/+17
|
* output/httpd: don't warn on client disconnectMax Kellermann2011-08-231-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.
* encoder_plugin: add method pre_tag()Max Kellermann2011-07-202-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.
* output/httpd: explicitly convert size_t to bool in pause()Max Kellermann2011-07-201-1/+2
|
* output/alsa: fix SIGFPE when alsa announces a period size of 0Max Kellermann2011-07-201-0/+8
|
* output/shout: fix a memory leakJonathan Neuschäfer2011-07-181-12/+16
|
* output/recorder: fix a memory leakJonathan Neuschäfer2011-07-181-3/+7
|
* output/httpd: add missing g_free in error pathJonathan Neuschäfer2011-07-181-0/+1
|
* output/ao: add missing g_free in error pathJonathan Neuschäfer2011-07-181-0/+3
|
* output/httpd: include sys/socket.h only when building with libwrapMax Kellermann2011-03-181-1/+1
| | | | Fixes build failure on WIN32.
* Merge release 0.15.16 into v0.16.xMax Kellermann2011-03-162-8/+11
|\ | | | | | | | | | | | | | | Conflicts: NEWS configure.ac src/output/jack_plugin.c src/update.c
| * output/jack: fix crash with mono playbackMax Kellermann2011-02-271-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.
| * output/jack: rename variable sample_size to jack_sample_sizeMax Kellermann2011-02-251-5/+6
| |
| * Insure proper initialization of stack-allocated struct.Christopher Brannon2011-02-151-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.
* | output/httpd: include sys/socket.h for AF_UNIXUlrich Spörlein2011-03-091-0/+1
| |
* | output/oss: disable 24 bit playback on FreeBSDMax Kellermann2011-02-281-0/+9
| | | | | | | | See code comment.
* | output/oss: AFMT_S24_PACKED is little-endianMax Kellermann2011-02-281-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.
* | general: whitespace cleanupThomas Jansen2011-02-093-3/+3
| | | | | | | | | | Remove trailing whitespace found by this command: find -name '*.[ch]' | xargs grep "[[:space:]]$"
* | output/httpd: initialize unflushed_inputThomas Jansen2011-02-091-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)
* | Merge branch 'v0.15.x' into v0.16.xMax Kellermann2011-01-071-0/+3
|\| | | | | | | | | | | | | Conflicts: NEWS configure.ac src/directory.h
| * output/httpd: define G_LOG_DOMAIN in httpd_client.cMax Kellermann2011-01-071-0/+3
| |
* | output/osx: fix up audio format first, then apply it to deviceMax Kellermann2011-01-071-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.
* | output/solaris: add missing parameter to open_cloexec() callAlex Viskovatoff2010-12-211-1/+1
| |
* | Merge release 0.15.15 from branch 'v0.15.x'Max Kellermann2010-11-081-1/+1
|\| | | | | | | | | | | Conflicts: NEWS configure.ac
| * output/shout: artist comes first in stream titleMax Kellermann2010-11-081-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.
| * output/httpd: MIME type audio/ogg for Ogg VorbisMax Kellermann2010-10-031-1/+1
| | | | | | | | | | | | RFC 5334 10.3 defines the MIME type "audio/ogg". We could use "application/ogg" as well, but we know for sure that we only emit audio data.
| * output/osx: fix the OS X 10.6 buildPatrik Weiskircher2009-09-201-0/+1
| | | | | | | | Include CoreServices/CoreServices.h.
* | output/alsa: dump buffer and period limitsMax Kellermann2010-11-051-0/+20
| |
* | output/httpd: implement delay()Max Kellermann2010-11-051-2/+11
| |