aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* ffmpeg decoder plugin: do not abuse the AVCODEC_MAX_AUDIO_FRAME_SIZE macroHEADmasterAnton Khirnov2013-04-20
| | | | | | | | | | | | It is not meant to be used with the new audio decoding API, decoded audio frames can now be arbitrarily large depending on the decoder and the input packet size. Instead dynamically allocate the interleaving buffer to be as large as needed. Fixes build with libavcodec 55. With the old decoding API, use the av_fast_malloc() function to allocate the aligned decoding buffer instead of doing manual alignment.
* ffmpeg decoder plugin: do not print AVCodecContext.codec_name.Anton Khirnov2013-04-11
| | | | | It practically never contains anything useful. Print the decoder name instead.
* ffmpeg decoder plugin: refactor the decoding functionsAnton Khirnov2013-04-11
| | | | | | | | Move some variables shared between multiple functions to a struct so the functions don't need too many parameters. Move initializing the decoder into a separate function to improve readability and reduce cleanup code duplication.
* ffmpeg decoder plugin: do not allocate an AVFrame on stack.Anton Khirnov2013-03-21
| | | | AVFrame must be allocated with avcodec_alloc_frame().
* GlobalEvents: use g_idle_add() instead of WakeFD()Max Kellermann2013-02-27
| | | | | Use the GMainLoop specific function to wake up the main loop. This is simpler and comes with very little overhead.
* GlobalEvents: wake up only if the flags were emptyMax Kellermann2013-02-27
| | | | | Don't bother checking for the parameter mask. This doesn't matter. The only thing that matters is if a wake-up is already pending.
* Idle, GlobalEvents: use std::atomic::exchange()Max Kellermann2013-02-27
| | | | Less overhead than fetch_and() for what we do.
* IcyMetaDataServer: increment iteratorOddegamra2013-02-27
| | | | Fixes segmentation fault.
* Merge branch 'v0.17.x'Max Kellermann2013-02-27
|\
| * fix typos in upstream's mpd.conf.5Florian Schlichting2013-02-27
| |
| * Add some comments to keep track of timer units.Hagen Fritsch2013-02-27
| |
| * clock: fix usec-to-usec factorHagen Fritsch2013-02-27
| |
| * clock: add missing includeHagen Fritsch2013-02-27
| |
* | mixer_plugin: convert to C++Max Kellermann2013-02-22
| |
* | {output,mixer}/winmm: convert to C++Max Kellermann2013-02-22
| |
* | Merge branch 'v0.17.x'Max Kellermann2013-02-19
|\|
| * command: allow to omit END in ranges (START:END)Jörg Thalheim2013-02-19
| | | | | | | | | | If END is omitted, mpd should use the highest possible value instead of raising an error. This partially reverts 52e9cab1c1743f64a7
| * player_thread: implement missing "idle" events on output errorsMax Kellermann2013-02-04
| | | | | | | | | | | | When all outputs fail, MPD automatically pauses playback, but did not emit the IDLE_PLAYER event. Thus, clients were not woken up. (Mantis 3665)
* | output/alsa: workaround for noise after manual song changeMax Kellermann2013-02-04
| | | | | | | | | | Workaround for driver bug observed on the Raspberry Pi, see code comment for details.
* | output/alsa: pre-allocate the silence bufferMax Kellermann2013-02-04
| |
* | output/alsa: move code to alsa_write_silence()Max Kellermann2013-02-04
| |
* | SocketUtil: add separators to g_prefix_error() callMax Kellermann2013-02-04
| |
* | output/alsa: default "device" is an empty stringMax Kellermann2013-02-04
| | | | | | | | | | | | Fixes nullptr dereference in std::string::operator=(). Also fixes a memory leak by using config_get_block_string() instead of config_dup_block_string().
* | event/ServerSocket: close only sockets that have been openedMax Kellermann2013-02-04
| | | | | | | | Fixes assertion failure.
* | decoder/Opus: replace non-static data member initializersMax Kellermann2013-02-04
| | | | | | | | Would require gcc 4.7, and MPD attempts to be compatible with gcc 4.6.
* | ServerSocket: Initialize length variableUli Schlachter2013-02-04
| |
* | StateFile: use file system API, log in UTF-8Denis Krjuchkov2013-02-02
| |
* | SimpleDatabasePlugin: use file system API, log in UTF-8Denis Krjuchkov2013-02-02
| |
* | UpdateIO.cxx: use file system API, log in UTF-8Denis Krjuchkov2013-02-02
| |
* | UpdateWalk.cxx: use FileExistsDenis Krjuchkov2013-02-02
| |
* | TextFile.hxx: use file system APIDenis Krjuchkov2013-02-02
| |
* | SongUpdate.cxx: use StatFileDenis Krjuchkov2013-02-02
| |
* | PlaylistSave.cxx: use FOpenDenis Krjuchkov2013-02-02
| |
* | PlaylistFile.cxx: use file system APIDenis Krjuchkov2013-02-02
| |
* | ExcludeList.cxx: use FOpenDenis Krjuchkov2013-02-02
| |
* | ConfigFile.cxx: use FOpenModeDenis Krjuchkov2013-02-02
| |
* | Path.hxx: add GetDirectoryName() methodDenis Krjuchkov2013-02-02
| |
* | FileSystem.hxx: add FOpen modes for appending filesDenis Krjuchkov2013-02-02
| |
* | FilterInternal: convert struct filter to a OO interfaceMax Kellermann2013-02-02
| |
* | output/null: convert to C++Max Kellermann2013-02-02
| |
* | filter/*: don't use GLib macrosMax Kellermann2013-02-02
| |
* | filter/Chain: use std::forward_list instead of GSListMax Kellermann2013-02-01
| |
* | filter: convert to C++Max Kellermann2013-02-01
| |
* | PcmMix: merge duplicate code with templatesMax Kellermann2013-02-01
| |
* | test/test_pcm: add unit test for pcm_mix()Max Kellermann2013-02-01
| |
* | PcmUtils: remove pcm_range(), use PcmClamp() insteadMax Kellermann2013-02-01
| |
* | PcmUtils: make PcmClamp() 64-bit-safe, add missing castMax Kellermann2013-02-01
| |
* | PcmUtils: remove unused clamp functionsMax Kellermann2013-02-01
| |
* | PcmFormat: merge duplicate code with a templateMax Kellermann2013-02-01
| |
* | PcmChannels: merge duplicate code with a templateMax Kellermann2013-02-01
| |