aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2009-12-26decoder_thread: eliminate jitter after seek failureMax Kellermann1-1/+5
Don't clear the music pipe when seeking has failed - check the "seeking" flag instead of "command==SEEK". Clear the "seeking" flag in decoder_seek_error().
2009-12-26decoder/wavpack: allow fine-grained seekingMax Kellermann1-3/+2
First multiply the floating point return value of decoder_seek_where(), then cast to integer.
2009-12-25output_init: use the normalize filter pluginMax Kellermann5-95/+11
Use the plugin instead of the glue code in normalize.c. This is used wrapped inside a "autoconv" filter, to enable normalization for all input file formats.
2009-12-25filter: added the "autoconvert" filter pluginMax Kellermann2-0/+203
2009-12-25filter_plugin: allow open() to force an input formatMax Kellermann8-40/+64
Make the audio_format argument non-const. Allow the open() method to modify it, to indicate that it wants a different input audio format than the one specified. Check that condition in chain_filter_open(), and fail.
2009-12-25filter/volume: support 32 bit samplesMax Kellermann1-8/+0
The pcm_volume library supports 32 bit samples, there's no reason to disallow it in the filter plugin.
2009-12-25filter/route: check configured channel count in method init()Max Kellermann1-8/+9
Detect misconfiguration during MPD startup, not when playback begins.
2009-12-25filter/route: route_filter_parse() returns boolMax Kellermann1-3/+6
Indicate success and error.
2009-12-25filter_registry: removed the "chain" plugin from filter_pluginsMax Kellermann1-1/+0
This plugin cannot be configured.
2009-12-25filter/chain: return NULL if a filter() method has failedMax Kellermann1-1/+1
Don't close child filters in the filter() method.
2009-12-16playlist: added CUE playlist pluginMax Kellermann3-0/+166
This plugin is the groundwork for MPD's future generic CUE sheet support. That's not complete yet, e.g. there is no way for a playlist plugin to address an arbitrary position within a music file.
2009-12-16playlist_list: support URI suffix matchMax Kellermann1-2/+54
When no plugin matches the URI scheme, try the file name suffix.
2009-12-16playlist_list: check if open method is presentMax Kellermann1-2/+6
Use open_uri() / open_stream() only after checking that they are implemented.
2009-12-16cue_tag: added song duration supportMax Kellermann1-2/+10
Get duration from track_get_length().
2009-12-16cue_tag: check cd_get_track()!=NULLMax Kellermann1-3/+5
2009-12-16cue_tag: added function cue_tag()Max Kellermann2-17/+29
Merge code from cue_tag_file() and cue_tag_string().
2009-12-16cue_tag: merged code into cue_tag_merge()Max Kellermann1-22/+18
2009-12-16cue_tag: pass "const" string to cue_tag_string()Max Kellermann2-2/+2
2009-12-16cue_tag: changed runtime checks to assertionsMax Kellermann1-14/+9
It's illegal to pass NULL here. This should not be ignored silently.
2009-12-16cue_tag: fixed indent and code styleMax Kellermann2-78/+43
2009-12-16cue_tag: tag_new() cannot failMax Kellermann1-22/+10
Removed the NULL check.
2009-12-16cue_tag: include cleanupMax Kellermann2-2/+5
2009-12-16archive_plugin: use GError in the open() methodMax Kellermann7-14/+23
2009-12-16input/archive: check for archive_file_open() errorsMax Kellermann1-0/+2
This fixes a NULL pointer dereference in case of archive plugin failure.
2009-12-16archive_plugin: wrap method callsMax Kellermann8-12/+132
Make archive_file a "real" struct, extended by all plugins. Add the plugin pointer to it. Wrap all method calls in functions.
2009-12-16archive_plugin: pass const string to method open()Max Kellermann4-4/+4
2009-12-16archive: added a C header for each pluginMax Kellermann7-4/+81
Moved the archive plugin "extern" declarations into each plugin header.
2009-12-16archive/bz2: removed the bz2_context typedefMax Kellermann1-13/+13
Use the raw struct name instead.
2009-12-16archive/bz2: renamed archive sources and plugin variablesMax Kellermann2-3/+3
2009-12-16archive/iso: renamed plugin to "iso9660"Max Kellermann2-37/+47
Based on libiso9660.
2009-12-16archive/bz2: use g_path_get_basename()Max Kellermann1-10/+1
Use g_path_get_basename() instead of manually filtering the path name. Big advantage: g_path_get_basename() cannot fail.
2009-12-16updated mp4ff decoder about input_stream_seekAlam Arias1-2/+2
2009-12-15input_stream: return errors with GErrorMax Kellermann32-160/+378
2009-12-15encoder/flac: fix write callback prototype for libFLAC 1.1.2Max Kellermann1-1/+7
2009-12-15decoder_internal: decoder_input_buffer() returns boolMax Kellermann1-4/+4
This fixes a regression: a boolean value was returned from decoder_input_buffer(), but the caller chose to do a "<= 0" comparison.
2009-12-15input/archive: use g_path_is_absolute()Max Kellermann1-1/+1
.. instead of manually checking pathname[0]=='/'. g_path_is_absolute() is portable.
2009-12-15archive/bz2: simplified error handling, short readMax Kellermann1-34/+23
Don't attempt to fill the whole buffer in the read() method, return whatever libbz2 provides with the first successful BZ2_bzDecompress().
2009-12-15archive/bz2: no CamelCaseMax Kellermann1-11/+10
2009-12-15archive/zzip: removed the "zip_context" typedefMax Kellermann1-11/+11
Use the raw struct name.
2009-12-15archive/zip: renamed plugin to "zzip"Max Kellermann2-31/+31
This plugin is based on libzzip.
2009-12-15iso, zip: fixed memory leak in destructorMax Kellermann2-2/+4
Free the "context" pointer in the method archive_plugin.close().
2009-12-15archive: close archive when stream is closedMax Kellermann4-0/+9
Fixes a memory leak: the "archive" input plugin opens the archive, but never closes it. This patch moves the responsibility for doing that to archive_plugin.open_stream(). This is an slight internal API change, but it is the simplest and least intrusive fix for the memory leak.
2009-12-15archive/bz2: removed NULL check before g_free()Max Kellermann1-2/+2
g_free(NULL) is allowed.
2009-12-15input/archive: close the archive file on errorMax Kellermann1-0/+1
Fixed memory leak in error handler.
2009-12-15input/file: don't fall back to parent directoryMax Kellermann1-18/+3
This code has never made any sense, and has broken some of the archive plugin.
2009-12-15input/file: don't fall back to parent directoryMax Kellermann1-18/+3
This code has never made any sense, and has broken some of the archive plugin.
2009-12-15archive_api.h: moved struct archive_plugin to archive_plugin.hMax Kellermann4-61/+89
2009-12-15archive_list: don't include archive_api.hMax Kellermann2-2/+1
Use struct forward declarations.
2009-12-15archive_list: iterate with NULL checkMax Kellermann1-12/+6
Don't use num_archive_plugins.
2009-12-15archive/bz2: bz2_fillbuffer() returns boolMax Kellermann1-5/+6