aboutsummaryrefslogtreecommitdiffstats
path: root/src/output (follow)
Commit message (Collapse)AuthorAgeFilesLines
* winmm_output_plugin: fail if wrong device specified instead of using fallback.Denis Krjuchkov2011-12-131-12/+29
| | | | | Silently choosing default is misleading and can cause hours of investigation. It's better to fail immediately telling user what is wrong with config.
* audio_format: basic support for floating point samplesMax Kellermann2011-10-202-0/+4
| | | | | Support for conversion from float to 16, 24 and 32 bit integer samples.
* output/roar: move code to _use_audio_format()Max Kellermann2011-10-081-27/+38
|
* Merge branch 'v0.16.x'Max Kellermann2011-10-082-12/+15
|\
| * 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.
* | Add support for streaming to a DLNA clientSteven Blackburn2011-09-301-5/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Naim Uniti does not appear to support icecast-style streaming of FLAC music but does support the codec from a DLNA server. This change looks for "transferMode.dlna.org: Streaming" in the HTTP request header and responds with something the Uniti (and hopefully other DLNA clients) accepts. The only difference in the DLNA streaming mode is the reponse header and that icecast metadata is disabled. If a client request indicates both modes are supported, the DLNA mode is preferred (as the Uniti says it supports both but then rejects a FLAC ICY stream). Note: This change may be specific to Naim equipment (the only device it was tested on). E.g. the hardcoding of Content-Length which works but is not a logically correct value. The change should be backwards-compatible, so only those clients requesting a DLNA stream will see any difference.
* | Simplify setsockopt() casting workaroundDan McGee2011-09-211-2/+2
| | | | | | | | | | | | | | | | | | On Win32, the third setsockopt parameter has type (char *) while on POSIX systems it is (void *). However, given that it is a no-op cast to go from a char pointer to a void pointer, we can cast to a char pointer (with a possible const modifier) on all platforms and satisfy the compiler. Signed-off-by: Dan McGee <dan@archlinux.org>
* | socket_util: move sockaddr_to_string() to resolver.cMax Kellermann2011-09-201-1/+1
| |
* | rtsp_client, output/raop: use close_socket() instead of close()Max Kellermann2011-09-201-4/+4
| |
* | Merge branch 'v0.16.x'Max Kellermann2011-09-203-8/+23
|\|
| * 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_plugin: the plugin allocates the audio_output objectMax Kellermann2011-09-1920-320/+492
| | | | | | | | | | | | Pass audio_output objects around instead of void pointers. This will give some more control to the plugin, and prepares for non-blocking audio outputs.
* | output/roar: check return valuesMax Kellermann2011-09-181-2/+10
| | | | | | | | Fixes gcc warnings.
* | output/roar: unknown volume is -1, not 0Max Kellermann2011-09-181-1/+1
| |
* | output/roar: move code to roar_cancel_locked() and othersMax Kellermann2011-09-181-39/+55
| | | | | | | | Wrap the locking code.
* | output/roar: use GLib memory allocation functionsMax Kellermann2011-09-171-11/+3
| | | | | | | | GLib has a built-in OOM handler.
* | output/roar: use config_get_block_string() for temporaryMax Kellermann2011-09-171-8/+5
| |
* | output/roar: reorder methodsMax Kellermann2011-09-171-14/+14
| |
* | output: rename plugin variablesMax Kellermann2011-09-177-7/+7
| | | | | | | | Consistent naming.
* | Merge branch 'v0.16.x'Max Kellermann2011-09-171-11/+11
|\|
| * output/pulse: improve lockingMax Kellermann2011-09-171-11/+11
| | | | | | | | | | Always lock the main loop when operating on PULSE objects. Document this.
* | output: per-plugin headerMax Kellermann2011-09-1737-8/+413
| | | | | | | | | | Move the "extern" declarations from output_list.c, for more type safety.
* | output/pulse: don't expose internal struct in public headerMax Kellermann2011-09-172-31/+49
| | | | | | | | | | Provide _lock() and _unlock() to wrap all accesses from the mixer plugin.
* | output/raop: don't expose internal structs in public headerMax Kellermann2011-09-172-96/+95
| |
* | output/roar: export volume methodsMax Kellermann2011-09-172-14/+57
| | | | | | | | Use these instead of exposing the internal roar_t struct.
* | output: rename plugin source filesMax Kellermann2011-09-179-0/+0
| |
* | output/pulse: move code to _setup_stream()Max Kellermann2011-09-171-15/+36
| |
* | Merge branch 'v0.16.x'Max Kellermann2011-09-161-1/+2
|\|
| * input/curl, output/pulse: fix "unused local variable" warningsMax Kellermann2011-09-161-1/+2
| |
* | conf: add config_dup_block_path()Max Kellermann2011-09-091-14/+9
| |
* | utils: parsePath() returns GError on failureMax Kellermann2011-09-091-3/+3
| | | | | | | | Better error messages.
* | conf: get_block_param() returns a const pointerMax Kellermann2011-09-091-1/+1
| | | | | | | | No caller needs to write.
* | Merge branch 'v0.16.x'Max Kellermann2011-09-012-28/+42
|\| | | | | | | | | | | Conflicts: configure.ac src/output_control.c
| * 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/raop: remove Audio-Jack-Status checkMax Kellermann2011-08-311-25/+1
| | | | | | | | | | The value of this is not used, the code is commented out - let's get rid of it.
* | output/raop: remove empty function raopcl_stream_connect()Max Kellermann2011-08-311-8/+0
| |
* | output/raop: cast sendto() parameter to void pointerMax Kellermann2011-08-311-2/+4
| | | | | | | | Fix compilation on mingw32.
* | rtsp_client: allow parameter "kd" to be NULLMax Kellermann2011-08-311-2/+2
| | | | | | | | When the caller isn't interested in the values.
* | rtsp_client: don't wait if packet is over dueMax Kellermann2011-08-311-2/+3
| | | | | | | | | | Check if the time difference is negative. That would have caused sleeping forever.
* | output/raop: move code to raop_session_new()Max Kellermann2011-08-301-40/+74
| | | | | | | | .. and fix a few memory leaks.
* | output/raop: merge raopcl_close() into _finish()Max Kellermann2011-08-301-10/+4
| | | | | | | | .. and fix a double free bug.
* | output/raop: free the raop_data object in finish()Max Kellermann2011-08-301-0/+1
| |
* | output/raop: remove from the session when opening failsMax Kellermann2011-08-301-2/+6
| |