aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* DeferredMonitor: fix race condition when using GLib event loopMax Kellermann2014-04-263-11/+23
| | | | | | | | | Turns out the lock-free code using atomics was not thread-safe. The given callback could be invoked by GLib before the source_id attribute was assigned. This commit changes the DeferredMonitor class to use a Mutex to block the event loop until source_id is assigned. This bug does not exist in the 0.19 branch because it does not use the GLib main loop anymore.
* configure.ac: prepare for 0.18.11Max Kellermann2014-04-262-1/+3
|
* release v0.18.10Max Kellermann2014-04-101-1/+1
|
* decoder/sndfile: work around libsndfile bug on partial readMarcello Desantis2014-04-092-6/+21
|
* PlaylistEdit: don't interrupt playback when current song gets deletedWeng Xuetian2014-04-092-10/+9
|
* decoder/ffmpeg: handle unknown stream start timeMax Kellermann2014-03-182-2/+26
|
* decoder/ffmpeg: pass AVSEEK_FLAG_ANY to av_seek_frame()Max Kellermann2014-03-182-1/+2
| | | | | | This corrects a major mistake from commit 724a59aa - there was one small thing that commit was supposed to do, and it failed. AV_TIME_BASE is not a seek flag.
* decoder/gme: fix memory leak in container_scan()Max Kellermann2014-03-062-0/+3
|
* configure.ac: prepare for 0.18.10Max Kellermann2014-03-062-1/+3
|
* release v0.18.9Max Kellermann2014-03-021-1/+1
|
* output/alsa: remove the obsolete Raspberry Pi workaroundMax Kellermann2014-03-021-36/+0
| | | | Has been superseded by the previous commit.
* output/alsa: call snd_pcm_prepare() after snd_pcm_drop()Max Kellermann2014-03-022-0/+27
| | | | | | | Don't wait for an optimistic write to fail. This is an improved workaround for the infamous Raspberry Pi bug (see commit af991765). It works much better and comes without the negative side effects. The old workaround is now obsolete.
* event/SignalMonitor: fix build failure due to missing signal.h includeMax Kellermann2014-03-022-0/+3
|
* AllCommands: "findadd" requires the "add" permissionMax Kellermann2014-02-272-1/+3
|
* output/pulse: remove bogus g_free() callMax Kellermann2014-02-241-2/+0
|
* event/SignalMonitor: unblock signals after forkMax Kellermann2014-02-182-1/+24
| | | | Fixes hanging child process in the "pipe" output plugin.
* configure.ac: fix linker failure when libvorbis/libogg are staticMax Kellermann2014-02-182-1/+3
| | | | | Link libvorbisfile first, followed to libvorbis and finally libogg. This order is necessary because libvorbisfile depends on libvorbis.
* configure.ac: link the Vorbis encoder with liboggMax Kellermann2014-02-172-1/+3
| | | | Fixes another linker failure. Similar to commit ea406875
* configure.ac: prepare for 0.18.9Max Kellermann2014-02-092-1/+3
|
* release v0.18.8Max Kellermann2014-02-071-1/+1
|
* NEWS: fix 0.18.7 release yearMax Kellermann2014-02-071-1/+1
|
* doc/user: document the RoarAudio output pluginMax Kellermann2014-02-062-0/+47
|
* configure.ac: link the Vorbis encoder with libvorbisMax Kellermann2014-02-062-1/+3
| | | | | Since the encoder plugin uses a libvorbis function (and not only libvorbisenc functions), we need to link with libvorbis explicitly.
* IcyMetadataParser: more robust tag parserMax Kellermann2014-01-273-21/+87
| | | | | Allow semicolons and single quotes in the stream title. This is not part of any specification, but found in real life.
* test/test_icy_parser: unit test for IcyMetaDataParser.cxxMax Kellermann2014-01-272-0/+81
|
* new developer mailing listMax Kellermann2014-01-202-2/+2
|
* Queue: rename struct queue to QueueMax Kellermann2014-01-2012-55/+56
| | | | | Works around a build failure on Solaris because annoyingly, Solaris reserves the name "queue". This rename was pending anyway.
* Queue: make the constructor "explicit"Max Kellermann2014-01-201-1/+1
|
* decoder/ffmpeg: support libav v10_alpha1Max Kellermann2014-01-152-1/+13
|
* decoder/ffmpeg: include cleanupMax Kellermann2014-01-152-4/+1
|
* decoder/ffmpeg: check for av_samples_get_buffer_size() errorsMax Kellermann2014-01-151-0/+3
| | | | Fixes potential nullptr dereference.
* util/PeakBuffer: fix nullptr dereference when peak_size==0Max Kellermann2014-01-151-2/+3
|
* SongFilter, TagConfig: cast TAG_NUM_OF_ITEM_TYPES to integerMax Kellermann2014-01-152-2/+2
| | | | Fixes clang warning.
* OutputAPI: fix typo in include guardMax Kellermann2014-01-151-1/+1
|
* configure.ac: prepare for 0.18.8Max Kellermann2014-01-152-1/+3
|
* release v0.18.7Max Kellermann2014-01-131-1/+1
|
* configure.ac: reject libmpcdec SV7 in configure scriptMax Kellermann2014-01-112-1/+2
| | | | | Look for symbol "mpc_demux_init" which does not exist in SV7. This avoids build failures when SV7 was found by configure.ac.
* decoder/faad: fix memory leakMax Kellermann2014-01-082-0/+4
|
* playlist/pls: don't free stack bufferMax Kellermann2014-01-082-1/+1
|
* doc/user: fix typoMax Kellermann2014-01-071-1/+1
|
* util/UriUtil: uri_get_suffix() fails if name begins with dotMax Kellermann2013-12-292-1/+6
| | | | | A file called ".jpg" is not a JPEG file with an empty name; it is merely a hidden file.
* configure.ac: improved check for libyajl 1.0Max Kellermann2013-12-292-1/+3
| | | | | | | | If we have libyajl 2.0.1 (without a pkg-config file), our configure.ac would assume this is the libyajl 1.0 API, because the function yajl_alloc() exists in both. This commit changes the library check to the function yajl_parse_complete() which was removed in the 2.0 API. This fixes build failure with libyajl 2.0.1.
* daemon: no initgroups() when already running as the configured userMax Kellermann2013-12-292-1/+7
| | | | | We can assume that initgroups() would be a no-op in that case, however initgroups() is not allowed for unprivileged users anyway.
* Daemon: fix typo in commentMax Kellermann2013-12-291-1/+1
|
* Daemon: simplify nested "if"Max Kellermann2013-12-291-5/+4
|
* Daemon: fix typo in castMax Kellermann2013-12-291-1/+1
|
* configure.ac: prepare for 0.18.7Max Kellermann2013-12-292-1/+3
|
* release v0.18.6Max Kellermann2013-12-242-2/+2
|
* PlayerThread: log the last song that was playedMax Kellermann2013-12-241-1/+4
|
* OutputControl: update both ReplayGainFiltersMax Kellermann2013-12-242-0/+3
| | | | | The "mode" of the second ReplayGainFilter was never set, and thus replay gain was never applied to the new song during cross-fade.