aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* pcm/Interleave: add optimization for 32 bit samplesMax Kellermann2015-06-223-12/+51
| | | | Move code from the "vorbis" decoder.
* pcm/Interleave: add "restrict" keywordsMax Kellermann2015-06-222-3/+6
|
* test/test_pcm: add PcmInterleave() unit testMax Kellermann2015-06-224-0/+145
|
* decoder/ffmpeg: move code to pcm/Interleave.cxxMax Kellermann2015-06-224-19/+87
|
* decoder/ffmpeg: check for commands earlierMax Kellermann2015-06-221-22/+22
| | | | | Improve initial seek by not reading/decoding the first frame before checking for the seek command.
* decoder/vorbis: check STOP before entering the loopMax Kellermann2015-06-221-2/+2
|
* OutputThread: move code to CloseOutput()Max Kellermann2015-06-222-6/+19
|
* lib/ffmpeg/Buffer: add "malloc" attributeMax Kellermann2015-06-221-0/+1
|
* InputStream: add ReadFull methodThomas Guillem2015-06-222-1/+49
| | | | | | | | Convenient method that behave differently than Read, and that will be used by tag scanners. This method will return in case of error, if the whole data is read or is EOF is reached.
* Merge tag 'v0.19.10'Max Kellermann2015-06-2111-16/+108
|\
| * release v0.19.10Max Kellermann2015-06-211-1/+1
| |
| * PlayerThread: start the decoder on PlayerCommand::QUEUEMax Kellermann2015-06-212-0/+7
| | | | | | | | Fixes missing SongBorder() call, which causes "single" mode breakage.
| * DecoderAPI: discard unused song tag earlyMax Kellermann2015-06-211-2/+5
| | | | | | | | | | If there's a stream tag, don't let the song tag override it in the next update_stream_tag() call.
| * DecoderThread: set Decoder::song_tag only for local filesMax Kellermann2015-06-212-1/+6
| | | | | | | | | | | | | | If the song tag comes from a stream, and MPD playback restarts, MPD would believe the tag should override the newly received tag. This makes the previous tag appear stuck. This change passes the song tag only if it's authoritative - i.e. if it's a song file.
| * DecoderAPI: "move" the Tag objectMax Kellermann2015-06-201-1/+1
| | | | | | | | Reduce runtime overhead.
| * OutputControl: fix fail_timer check right after bootingRomain Rollet2015-06-202-1/+4
| | | | | | | | | | | | Right after booting, the monotonic clock starts with a very small value, and AudioOutput::LockUpdate() may believe that the fail_timer has not recovered yet.
| * system/PeriodClock: make IsDefined() "constexpr"Max Kellermann2015-06-201-1/+1
| |
| * decoder/ffmpeg: skip unwanted samples after seekingMax Kellermann2015-06-202-5/+50
| | | | | | | | | | When seeking to the beginning of a packet, skip the samples that come before the desired time stamp.
| * decoder/ffmpeg: use AVSEEK_FLAG_BACKWARD for seekingMax Kellermann2015-06-201-1/+5
| | | | | | | | | | | | Ask FFmpeg to seek to the next packet boundary *before* the seek position, so we don't miss audio data. Now we get too much, but we'll solve that in the next commit.
| * decoder/ffmpeg: move code to StreamRelativePts()Max Kellermann2015-06-191-6/+20
| |
| * input/curl: trigger the condition variable in RequestDone()Max Kellermann2015-06-192-0/+3
| | | | | | | | Fixes deadlock on small responses.
| * storage/nfs: fix deadlock when connectingThomas Guillem2015-05-292-2/+4
| | | | | | | | | | | | The Connect method can be called between Schedule and lock. In that case, when locked, the state is already set to CONNECTING of READY and the condition won't be signaled anymore.
| * input/smbclient: fix DFF playbackjai2015-05-292-0/+3
| |
| * OpusEncoderPlugin: initialise granulepos so we end up with sane valuesMichal Nazarewicz2015-03-252-1/+3
| | | | | | | | | | | | | | Not initialising granulepos leads to it having arbitrary values in the encoded stream including possibly negative values which are not valid and confuse opusdec. Explicitly initialise opus_encoder::granulepos to avoid that problem.
| * configure.ac: prepare for 0.19.10Max Kellermann2015-03-252-2/+4
| |
* | pcm/soxr: fix recipe parserMax Kellermann2015-06-201-1/+1
| |
* | {android,win32}/build.py: allow overriding shared path via environmentMax Kellermann2015-06-032-4/+14
| |
* | {android,win32}/build.py: move tarballs to subdirectory "download"Max Kellermann2015-06-032-2/+2
| |
* | win32/build.py: build zlib in-treeMax Kellermann2015-06-031-8/+10
| | | | | | | | | | | | zlib cannot be built out-of-tree, and previously, we were building in the "src" directory, not in the "build" directory. The make_build_path() return value was unused.
* | {android,win32}/build.py: upgrade Boost to 1.58Max Kellermann2015-05-052-4/+4
| |
* | {android,win32}/build.py: upgrade libvorbis, FFmpeg, CURLMax Kellermann2015-05-052-12/+12
| |
* | db/update/ExcludeList: use the NarrowPath classMax Kellermann2015-03-251-1/+2
| |
* | fs/io/FileOutputStream: fix wrong #ifdef WIN32Max Kellermann2015-03-251-23/+3
| |
* | Playlist*: use the BufferedOutputStream API instead of FILE*Max Kellermann2015-03-243-38/+36
| |
* | PlaylistSave: return bool/Error instead of PlaylistResultMax Kellermann2015-03-243-24/+28
| |
* | PlaylistFile: export spl_map_to_fs() and TranslatePlaylistError()Max Kellermann2015-03-242-2/+9
| |
* | PlaylistFile: eliminate redundant spl_map() callsMax Kellermann2015-03-241-15/+0
| |
* | Mapper: don't use C-style prototypesMax Kellermann2015-03-242-3/+5
| |
* | fs/io/FileOutputStream: add method Tell()Max Kellermann2015-03-242-0/+20
| |
* | fs/io/FileOutputStream: seek end-of-file in AppendFileOutputStream ctorMax Kellermann2015-03-242-0/+12
| |
* | system/FileDescriptor: add method Tell()Max Kellermann2015-03-241-0/+5
| |
* | fs/io/FileOutputStream: add class AppendFileOutputStreamMax Kellermann2015-03-232-0/+67
| |
* | fs/io/FileOutputStream: move code to new class BaseFileOutputStreamMax Kellermann2015-03-232-49/+101
| |
* | fs/io/FileOutputStream: make "path" constMax Kellermann2015-03-231-1/+1
| |
* | fs/io/BufferedOutputStream: add code commentsMax Kellermann2015-03-232-0/+23
| |
* | Main: notify systemd when MPD is readyMax Kellermann2015-03-211-0/+8
| |
* | configure.ac: support libsystemd (instead of the older libsystemd-daemon)Max Kellermann2015-03-202-3/+11
| |
* | m4: add MPD_ENABLE_AUTO()Max Kellermann2015-03-201-0/+9
| |
* | m4: add API documentationMax Kellermann2015-03-191-0/+18
| |
* | doc/doxygen.conf: strip absolute path nameMax Kellermann2015-03-171-1/+1
| |