aboutsummaryrefslogtreecommitdiffstats
path: root/src/output (follow)
Commit message (Collapse)AuthorAgeFilesLines
* mixer: return a mixer struct pointerMax Kellermann2009-01-252-15/+17
| | | | Don't use statically allocated mixer objects.
* conf: allow param==NULLMax Kellermann2009-01-253-27/+10
| | | | | | | | Return the default value in the conf_get_block_*() functions when param==NULL was passed. This simplifies a lot of code, because all initialization can be done in one code path, regardless whether configuration is present.
* conf: const pointers in block get functionsMax Kellermann2009-01-2510-12/+12
| | | | | All config_get_block_*() functions should accept constant config_param pointers.
* alsa: added commentsMax Kellermann2009-01-251-3/+21
| | | | Document alsa_data members.
* alsa: frame_size is size_t, not intMax Kellermann2009-01-251-1/+1
| | | | frame_size is a memory size and should be a size_t, not a signed integer.
* alsa: no CamelCaseMax Kellermann2009-01-251-93/+103
| | | | Renamed types, functions, variables.
* alsa: fix option parsing and restore default period_timeDan McGee2009-01-251-3/+6
| | | | | | | | | | | | | | | | | | | Two bugs here led to a large number of interrupts being generated on the sound card when ALSA output is being used. Because we specify no default period_time, the sound card gives us 3000 interrupts/sec rather than a more sane 20 or 30. This completes the revert of dd7711 already started by 4ca24f. The larger bug was in the change to config_get_block_unsigned() and using 0 as the default value for both 'buffer_time' and 'period_time'. This means any pre-setting of these options in newAlsaData() gets wiped out. Add a new default for period_time, and ensure default values for buffer_time and period_time are used if none are provided by the user. Signed-off-by: Dan McGee <dan@archlinux.org> [mk: set defaults in newAlsaData() to fix auto-configuration; renamed "_MS" back to "_US" because ALSA expects microseconds, not milliseconds] Signed-off-by: Max Kellermann <max@duempel.org>
* null: added option to disable timer synchronizationMax Kellermann2009-01-221-1/+11
| | | | | | | The null plugin synchronizes the playback so it will happen in real time. This patch adds a configuration option which disables this: the playback will then be as fast as possible. This can be useful to profile MPD.
* null: implemented finish() methodMax Kellermann2009-01-221-0/+13
| | | | Free memory in the finish() method to make valgrind happy.
* null: no CamelCaseMax Kellermann2009-01-221-13/+18
| | | | Renamed functions and variables.
* conf: added config_get_block_unsigned()Max Kellermann2009-01-184-39/+7
| | | | Eliminate some more getBlockParam() invocations.
* conf: added config_get_block_string()Max Kellermann2009-01-187-86/+57
| | | | This replaces lots of getBlockParam() invocations.
* jack: parse "ports" setting with g_strsplit()Max Kellermann2009-01-181-20/+7
| | | | Don't modify the configured string.
* jack: use audio_output_get_name()Max Kellermann2009-01-181-11/+1
| | | | | Determine the audio output name with audio_output_get_name() instead of obtaining the name from the configuration again.
* conf: replaced getBoolBlockParam() with config_get_block_bool()Max Kellermann2009-01-172-9/+6
| | | | No "force" parameter, pass a default value instead.
* conf: no CamelCase, part IMax Kellermann2009-01-1710-26/+29
| | | | Renamed functions, types, variables.
* oss: evaluate the oss_open() return value properlyMax Kellermann2009-01-161-1/+1
| | | | It returns bool, not int.
* shout: enlarge buffer size to 32 kBAntoine Beaupré2009-01-141-1/+1
| | | | | | | I was having problems with shoutcast stream outputs before applying the attached patch, which enlarges the shoutcast output buffer. Ideally, this should be configurable, but this resolves the issue for my needs.
* Introducing mixer apiViliam Mateicka2009-01-102-15/+16
| | | | | This patch tryes to introduce pluggable mixer (struct mixer_plugin) along with some basic infrastructure (mixer_* functions). Instance of mixer (struct mixer) is used in alsa and oss output plugin
* added missing explicit config.h includesMax Kellermann2009-01-081-0/+1
|
* pcm_utils: moved conversion code to pcm_convert.cMax Kellermann2009-01-071-1/+1
| | | | | All what's left in pcm_utils.h is the pcm_range() utility function, which is only used internally by pcm_volume and pcm_mix.
* fix G_BYTE_ORDER checkMax Kellermann2009-01-053-3/+3
| | | | "#ifdef G_BYTE_ORDER == G_BIG_ENDIAN" cannot work, of course.
* use GLib byte order macrosMax Kellermann2009-01-053-9/+10
|
* renaming mixer.h to mixer_api.hViliam Mateicka2009-01-042-2/+2
|
* null, fifo: use GLib instead of utils.hMax Kellermann2009-01-032-7/+8
|
* ao: use g_strsplit() instead of strtok_r()Max Kellermann2009-01-031-37/+15
| | | | g_strsplit() is more portable than strtok_r().
* alsa: use GLib instead of utils.hMax Kellermann2009-01-021-3/+2
|
* jack: use GLib instead of utils.hMax Kellermann2009-01-021-15/+14
|
* jack: duplicate jack_get_ports() return valuesMax Kellermann2009-01-021-3/+4
| | | | | | | | | JACK documentation states: "The caller is responsible for calling free(3) any non-NULL returned value." This does not seem to include the array elements. Duplicate them after jack_get_ports(), and free only the array. Convert JackData.output_ports to non-const.
* output plugins: don't include gcc.hMax Kellermann2009-01-019-24/+29
| | | | Use GLib's G_GNUC_UNUSED instead of gcc.h's mpd_unused.
* null: don't include gcc.hMax Kellermann2009-01-011-4/+7
| | | | Use GLib's G_GNUC_UNUSED instead of macros from gcc.h.
* Moving mixers to audio outputsViliam Mateicka2008-12-312-1/+40
|
* alsa: use GLib loggingMax Kellermann2008-12-291-29/+30
|
* jack: use GLib loggingMax Kellermann2008-12-291-28/+30
|
* fifo: use GLib loggingMax Kellermann2008-12-291-21/+24
|
* osx_plugin: migrate from pthread to glib threadsThomas Jansen2008-12-281-19/+18
|
* shout: fixed bad error message printoutViliam Mateicka2008-12-231-2/+2
|
* Remove useless statement.Emanuele Giaquinta2008-12-171-1/+0
|
* Remove useless computation. After the pthread_cond_wait loop there are at ↵Emanuele Giaquinta2008-12-171-2/+0
| | | | least MIN(od->bufferSize, size) free bytes in the buffer. Thus MIN(od->bufferSize - od->len, size) is always equal to MIN(od->bufferSize, size).
* Remove useless statement, curpos is initialized at the beginning of the loop.Emanuele Giaquinta2008-12-171-1/+0
|
* Factor computation.Emanuele Giaquinta2008-12-171-4/+6
|
* Use MIN.Emanuele Giaquinta2008-12-171-2/+2
|
* Call CloseComponent after AudioUnitUninitialize.Emanuele Giaquinta2008-12-171-1/+1
|
* ao: use 16 bit sample formatMax Kellermann2008-12-091-0/+6
| | | | | | | | There have been bug reports on MPD regarding 24 bit output via libao/esd. The "ao" plugin does not attempt fall back to 16 bit currently, and thus fails to play 24 bit audio (i.e. all mp3 files). Make it always use 16 bit samples for now, until more bits are well-tested.
* osx: use 16 bit sample formatMax Kellermann2008-12-081-0/+3
| | | | | | The OS X output does not seem to support 24 bit audio in the way MPD implements it currently. Fall back to 16 bit for now, and schedule 24 bit support on OS X for MPD 0.15.
* osx: use GLib instead of utils.h/log.hMax Kellermann2008-12-081-9/+13
| | | | | One my_usleep() invocation remains, until we find out if we can delete it.
* osx: don't use void pointer in arithmeticMax Kellermann2008-12-081-2/+2
| | | | | Cast AudioBuffer.mData to a "unsigned char*" before adding "curpos". This fixes a gcc warning.
* alsa: reverted the default buffer_time to 500 msMax Kellermann2008-12-011-1/+5
| | | | | | | Commit dd7711d8 removed MPD's default ALSA buffer_time. The result was a buffer size which was way too small for playing streams on some sound hardware, and caused skips and distorted sound. Revert the default to 500 ms.
* shout: fixed the lame input buffer allocationMax Kellermann2008-11-301-9/+15
| | | | | | | | | | "float (*lamebuf)[2] = g_malloc()" does NOT allocate two float* buffers. The formula is even wrong: it should be applied to LAME's output buffer, not its input buffer. Converted "lamebuf" to the two variables "left" and "right", and allocate them independently with the exact buffer size. Set right=left if mono output is configured.
* shout_mp3: cast input buffer to int16_t*Max Kellermann2008-11-301-2/+2
| | | | It's easier to work with an int16_t* pointer here.