aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder/DecoderThread.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2015-06-21DecoderThread: set Decoder::song_tag only for local filesMax Kellermann1-1/+5
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.
2014-11-01Decoder, Playlist: ignore URI query string for plugin detectionMax Kellermann1-1/+2
Use the new uri_get_suffix() overload that removes the query string.
2014-10-02input/Open: use OpenLocalInputStream()Max Kellermann1-3/+1
Make the "open" method of plugins "file" and "archive" dummy methods that always fail. Instead, let InputStream::Open() hard-code access to these two plugins by using OpenLocalInputStream(). This allows simplifyin the algorithm for falling back to probing archive plugins.
2014-10-02DecoderThread: use OpenLocalInputStream() for local filesMax Kellermann1-1/+20
2014-08-28DecoderControl: use std::chrono::duration for start_ms and end_msMax Kellermann1-1/+1
2014-05-11InputStream: add virtual destructorMax Kellermann1-2/+2
Replaces the method Close().
2014-05-11InputStream: convert to classMax Kellermann1-3/+4
2014-02-07DecoderPlugin: pass Path instance to file_decode() and scan_file()Max Kellermann1-4/+4
2014-02-07DecoderThread: use only DetachedSong::GetRealURI()Max Kellermann1-4/+2
Don't use the mapper - all DetachedSong instances we get have already been mapped.
2014-02-07DecoderThread: pass Path object around for local song filesMax Kellermann1-21/+27
2014-01-24Input*: move to input/Max Kellermann1-1/+1
2014-01-24decoder/*: move to decoder/plugins/Max Kellermann1-0/+0
2014-01-23thread/Name: set thread namesMax Kellermann1-0/+11
For debugging.
2014-01-21DetachedSong: add attribute "real_uri"Max Kellermann1-1/+1
Prepare for UPnP songs that retain there database identity.
2014-01-13copyright year 2014Max Kellermann1-1/+1
2014-01-09DetachedSong: fork of struct SongMax Kellermann1-7/+6
From now on, struct Song will be used by the database only, and DetachedSong will be used by everybody else. DetachedSong is easier to use, but Song has lower overhead.
2014-01-08DecoderThread: use Song referencesMax Kellermann1-10/+10
2013-12-29DecoderThread: use decoder_plugins_try()Max Kellermann1-32/+44
.. instead of decoder_plugin_from_suffix(). This reduces overhead by walking the array only once.
2013-12-05fs/Traits: split PathTraits type into PathTraitsFS and PathTraitsUTF8Denis Krjuchkov1-1/+1
2013-11-28include cleanup using iwyuMax Kellermann1-1/+0
2013-11-13DecoderAPI: stop decoder on MPD errorMax Kellermann1-1/+6
This commit adds the basic infrastructure for reporting bugs from DecoderAPI.cxx via DecoderThread.cxx to DecoderControl.
2013-11-13DecoderInternal: move functions into the classMax Kellermann1-1/+1
2013-11-09DecoderThread: add missing <functional> includeMax Kellermann1-0/+2
2013-10-28decoder_control: rename to DecoderControlMax Kellermann1-9/+9
2013-10-26TagFile: use Path instead of const char *Max Kellermann1-1/+1
2013-10-26DecoderThread: move code to DecoderControl::CycleMixRamp()Max Kellermann1-3/+1
2013-10-25ReplayGainInfo: use CamelCase for struct nameMax Kellermann1-2/+2
2013-10-23input_stream: rename struct to InputStreamMax Kellermann1-17/+16
2013-10-23UriUtil: uri_remove_auth() returns std::stringMax Kellermann1-6/+3
2013-10-23InputStream: add method Rewind()Max Kellermann1-4/+1
2013-10-23DecoderThread: remove unused function deconst_plugin()Max Kellermann1-9/+0
2013-10-21DecoderThread: simplify the decoder lookup loopMax Kellermann1-64/+42
Merge the two loops into one, and eliminate the GSList.
2013-10-21decoder: rename the struct to "Decoder"Max Kellermann1-36/+34
2013-10-21DecoderPlugin: move functions into the structMax Kellermann1-2/+2
2013-10-21decoder_plugin: rename struct to DecoderPluginMax Kellermann1-8/+8
2013-10-19*: use references instead of pointersMax Kellermann1-85/+83
2013-10-19*: use nullptr instead of NULLMax Kellermann1-41/+41
2013-10-17fs/Path: rename to AllocatedPathMax Kellermann1-1/+1
The new class Path only holds a string pointer without being responsible for allocation/deallocation. The FileSystem.hxx library accepts Path arguments instead of AllocatedPath, to avoid forcing callers to allocate another string object.
2013-10-17fs/Path: move definitions to struct PathTraitsMax Kellermann1-1/+2
2013-10-17Thread/Thread: replacement library for GThreadMax Kellermann1-13/+6
2013-10-17Song: GetURI() returns std::stringMax Kellermann1-9/+5
2013-10-14fs/Path: add method IsAbsolute()Max Kellermann1-1/+1
2013-10-02Log: new logging library APIMax Kellermann1-6/+7
Prepare to migrate away from GLib. Currently, we're still using GLib as a backend.
2013-10-02filesystem/Path: use std::stringMax Kellermann1-1/+1
2013-09-27DecoderControl: convert "enum decoder_state" to strictly-typed enumMax Kellermann1-14/+14
2013-09-27DecoderCommand: convert to strictly-typed enumMax Kellermann1-12/+12
2013-09-05Tag, ...: move to libtag.aMax Kellermann1-1/+1
2013-09-05InputLegacy: move functions to the input_stream classMax Kellermann1-11/+8
2013-09-04Tag*: move libtag.a sources to src/tag/Max Kellermann1-1/+1
2013-09-04util/Error: new error passing libraryMax Kellermann1-16/+14
Replaces GLib's GError.