Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2014-07-12 | decoder/faad: estimate song duration for remote files | Max Kellermann | 1 | -0/+22 | |
Previously, MPD tried to slurp the whole song file, count the number of frames and calculate the song duration from that. That however is extremely expensive for remote files, and will delay playback for a long time. Workaround: check only the first 128 frames and try to extrapolate from here. Fixes Mantis ticket 0004035. | |||||
2014-07-12 | decoder/faad: bail out early if sample rate is invalid | Max Kellermann | 1 | -0/+2 | |
2014-07-12 | decoder/faad: use adts_check_frame() in faad_song_duration() | Max Kellermann | 1 | -2/+1 | |
Eliminate more duplicate code. | |||||
2014-07-12 | decoder/faad: test "seekable" after ADTS frame check | Max Kellermann | 1 | -1/+5 | |
Don't bother to check for ADIF just because the stream is not seekable. | |||||
2014-07-12 | decoder/faad: move code to faad_decoder_new() | Max Kellermann | 1 | -14/+17 | |
Merge some duplicate code. | |||||
2014-07-12 | decoder/faad: remove unnecessary read | Max Kellermann | 1 | -2/+0 | |
Eliminate some overhead when the caller doesn't need the buffer. | |||||
2014-07-12 | DecoderBuffer: add method _clear() | Max Kellermann | 1 | -8/+3 | |
2014-07-11 | decoder/faad: check sample_rate, not frames_per_second | Max Kellermann | 1 | -2/+4 | |
Checking the integer is faster, easier and more reliable. | |||||
2014-07-11 | decoder/faad: make variables more local | Max Kellermann | 1 | -71/+49 | |
2014-07-11 | decoder/faad: use MAX_CHANNELS | Max Kellermann | 1 | -4/+2 | |
.. instead of declaring a new constant. | |||||
2014-01-08 | decoder/faad: fix memory leak | Max Kellermann | 1 | -0/+2 | |
2013-11-04 | Log: add level "DEFAULT" | Max Kellermann | 1 | -7/+7 | |
Map LogLevel::INFO to G_LOG_LEVEL_INFO, and LogLevel::DEFAULT to G_LOG_LEVEL_MESSAGE. Now client connect/disconnect message are only logged on log_level "secure". | |||||
2013-10-23 | input_stream: rename struct to InputStream | Max Kellermann | 1 | -9/+9 | |
2013-10-21 | decoder: rename the struct to "Decoder" | Max Kellermann | 1 | -2/+2 | |
2013-10-21 | decoder_plugin: rename struct to DecoderPlugin | Max Kellermann | 1 | -1/+1 | |
2013-10-17 | InputStream: use int64_t instead of goffset | Max Kellermann | 1 | -1/+1 | |
Decouple some more from GLib. | |||||
2013-10-02 | Log: new logging library API | Max Kellermann | 1 | -13/+12 | |
Prepare to migrate away from GLib. Currently, we're still using GLib as a backend. | |||||
2013-09-27 | DecoderCommand: convert to strictly-typed enum | Max Kellermann | 1 | -3/+3 | |
2013-09-05 | Tag, ...: move to libtag.a | Max Kellermann | 1 | -1/+1 | |
2013-09-05 | InputLegacy: move functions to the input_stream class | Max Kellermann | 1 | -5/+5 | |
2013-09-04 | util/Error: new error passing library | Max Kellermann | 1 | -20/+13 | |
Replaces GLib's GError. | |||||
2013-08-03 | audio_format: convert to C++ | Max Kellermann | 1 | -7/+7 | |
2013-07-30 | tag: convert to C++ | Max Kellermann | 1 | -0/+1 | |
2013-07-29 | audio_check: convert to C++ | Max Kellermann | 1 | -1/+1 | |
2013-07-29 | tag_handler: convert to C++ | Max Kellermann | 1 | -1/+1 | |
2013-07-28 | decoder_api: convert to C++ | Max Kellermann | 1 | -1/+1 | |
2013-04-17 | decoder_buffer: convert to C++ | Max Kellermann | 1 | -10/+8 | |
2013-04-17 | decoder/faad: convert to C++ | Max Kellermann | 1 | -49/+52 | |
2013-01-29 | decoder/faad: use the newer NeAAC* API | Max Kellermann | 1 | -41/+26 | |
Drop support for the old faacDec* API. | |||||
2013-01-26 | input_stream: forward-declare the struct | Max Kellermann | 1 | -2/+3 | |
Hide the definition from C code, to prepare the transition to C++. | |||||
2012-02-11 | decoder_plugin: scan tags with callback table | Max Kellermann | 1 | -8/+8 | |
Pass a callback table to scan_file() and scan_stream(), instead of returning a tag object. | |||||
2011-09-16 | input_stream: non-blocking I/O | Max Kellermann | 1 | -2/+2 | |
Add GMutex, GCond attributes which will be used by callers to conditionally wait on the stream. Remove the (now-useless) plugin method buffer(), wait on GCond instead. Lock the input_stream before each method call. Do the same with the playlist plugins. | |||||
2011-01-29 | copyright year 2011 | Max Kellermann | 1 | -1/+1 | |
2010-01-04 | renamed decoder plugin sources | Max Kellermann | 1 | -0/+0 | |
Make it X_decoder_plugin.c. | |||||
2010-01-04 | decoder_api: added function decoder_replay_gain() | Max Kellermann | 1 | -1/+1 | |
This function replaces the replay_gain_info parameter for decoder_data(). This allows the decoder to announce replay gain changes, instead of having to pass the same object over and over. | |||||
2009-12-31 | Update copyright notices. | Avuton Olrich | 1 | -1/+1 | |
2009-12-31 | decoder: switch a bunch of plugins to stream_tag() | Max Kellermann | 1 | -16/+9 | |
This patch changes the following decoder plugins to implement stream_tag() instead of tag_dup(): faad, ffmpeg, mad, modplug, mp4ff, mpcdec, oggflac This simplifies their code, because they do not need to take care of opening/closing the stream. | |||||
2009-12-26 | decoder_api: added function decoder_timestamp() | Max Kellermann | 1 | -7/+1 | |
Remove the data_time parameter from decoder_data(). This patch eliminates the timestamp counting in most decoder plugins, because the MPD core will do it automatically by default. | |||||
2009-12-15 | input_stream: return errors with GError | Max Kellermann | 1 | -2/+2 | |
2009-12-02 | audio_format: changed "bits" to "enum sample_format" | Max Kellermann | 1 | -1/+1 | |
This patch prepares support for floating point samples (and probably other formats). It changes the meaning of the "bits" attribute from a bit count to a symbolic value. | |||||
2009-11-14 | decoder: use audio_format_init_checked() | Max Kellermann | 1 | -19/+30 | |
Let the audio_check library verify the audio format in all (relevant, i.e. non-hardcoded) plugins. | |||||
2009-11-12 | include config.h in all sources | Max Kellermann | 1 | -2/+2 | |
After we've been hit by Large File Support problems several times in the past week (which only occur on 32 bit platforms, which I don't have), this is yet another attempt to fix the issue. | |||||
2009-09-30 | decoder/faad: skip assertion failure on large ID3 tags | Max Kellermann | 1 | -2/+6 | |
When the ID3 tag in an AAC file is larger than the current buffer, the function decoder_buffer_consume() aborts. By using the new function decoder_buffer_skip() instead, we can safely skip the ID3 tag. | |||||
2009-07-19 | Add audio_format_init() function | David Woodhouse | 1 | -5/+1 | |
It makes no difference right now, but we're about to add an endianness flag and will want to make sure it's correctly initialised every time. | |||||
2009-03-14 | faad: faad_decoder_decode() returns NULL, not false | Max Kellermann | 1 | -1/+1 | |
On failure, the function should return NULL, not a boolean. | |||||
2009-03-13 | all: Update copyright header. | Avuton Olrich | 1 | -7/+8 | |
This updates the copyright header to all be the same, which is pretty much an update of where to mail request for a copy of the GPL and the years of the MPD project. This also puts all committers under 'The Music Player Project' umbrella. These entries should go individually in the AUTHORS file, for consistancy. | |||||
2009-02-19 | faad: use faacDecFrameInfo instead of NeAACDecFrameInfo | Max Kellermann | 1 | -1/+1 | |
Don't use libfaad's internal type names. | |||||
2009-02-17 | faad: variable cleanup | Max Kellermann | 1 | -9/+4 | |
Make some variables more local, and eliminate superfluous ones. | |||||
2009-02-17 | faad: added source code comments | Max Kellermann | 1 | -1/+36 | |
2009-02-17 | faad: faad_decoder_init() returns an audio_format | Max Kellermann | 1 | -25/+23 | |
Instead of returning the sample rate and channel count as separate values, fill an audio_format struct. |