- 12 Feb, 2009 5 commits
-
-
Max Kellermann authored
Pass the input_stream object to decoder_data(). Without it, the MPD core does not see stream tags.
-
Max Kellermann authored
Use WildMidi_SampledSeek() for seeking in a MIDI file.
-
Max Kellermann authored
The _WM_Info struct provides all we need, it is obtained by WildMidi_GetInfo().
-
Max Kellermann authored
-
Max Kellermann authored
There are a few problems left in this plugin: - fluidsynth decodes in real time, while MPD prefers to buffer as quickly as possible; as a workaround, this plugin uses a timer object to synchronize with real-time playback - I don't know yet how fluidsynth tells me when the song has ended - the "soundfont" configuration setting is not yet documented, and it will likely change soon (in favor of a per-decoder configuration block)
-
- 11 Feb, 2009 2 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
The ffmpeg library supports the "True Audio Codec". The entry in ffmpeg_suffixes was missing.
-
- 03 Feb, 2009 4 commits
-
-
Max Kellermann authored
The "current" variable is used for calculating the seek destination, and was declared as "int". With very long song files, the 32 bit integer can overflow. ffmpeg expects an int64_t, which is very unlikely to overflow. Switch to int64_t.
-
Max Kellermann authored
When ffmpeg cannot estimate the elapsed time, it sets AVPacket.pts=AV_NOPTS_VALUE. Our ffmpeg decoder plugin did not check for that special value.
-
Max Kellermann authored
If avcodec_decode_audio2() returns no output for an AVPacket, libavcodec may buffer some data, and return a larger chunk of output later. This patch disables a lot of bogus warnings.
-
Max Kellermann authored
Output the name of the codec as a debug message. During my tests, ffmpeg never filled this struct member, but it may do so in the past, and this debug message might become helpful.
-
- 30 Jan, 2009 3 commits
-
-
Matthias Drochner authored
Hi - independently of libmikmod's other problems - there seems to be a problem in mpd's wrapper: MikMod_Exit() is called after the first file is decoded, which frees some ressources within the mikmod library. An attempt to play a second file leads to a crash. The appended patch fixes this for me. (I don't know what the "dup" entry is good for - someone who knows should review that too.) best regards Matthias [mk: removed 3 more MikMod_Exit() invocations]
-
Max Kellermann authored
The wavpack library seems to use the .wvc stream even if the OPEN_WVC flag is not set. In this case, pass NULL to be sure libwavpack won't use it.
-
David Horn authored
ffmpeg_tag_internal() does not look for a few tags that mpd supports. Most noteably: comment -> TAG_ITEM_COMMENT -> Description genre -> TAG_ITEM_GENRE -> WM/Genre (not WM/GenreID) year -> TAG_ITEM_DATE -> WM/Year I *think* that this is the last of the tags that AVFormatContext() in ffmpeg supports that mpd also uses.
-
- 25 Jan, 2009 1 commit
-
-
Max Kellermann authored
On some platforms, g_free() must be used for memory allocated by GLib. This patch intends to correct a lot of occurrences, but is probably not complete.
-
- 24 Jan, 2009 12 commits
-
-
Max Kellermann authored
We have two mod plugins now: modplug and mod. Rename the latter to a more useful name.
-
Max Kellermann authored
EOF is checked by input_stream_read() (decoder_read() here). Don't do it twice. The check was wrong anyway, it was reversed.
-
Max Kellermann authored
When input_stream_read() returns 0, and input_stream_eof() returns false, an I/O error has occured. Skip this song.
-
Max Kellermann authored
-
Max Kellermann authored
Don't enlarge the GByteArray when the size limit may overflow in this operation; check the size limit first.
-
Max Kellermann authored
The local variable "total_len" is superfluous because GByteArray always knows its size.
-
Max Kellermann authored
The input_stream API sets size to -1 when the size of the resource is not known. The modplug decoder checked for size==0, which would be an empty file.
-
Max Kellermann authored
Don't include utils.h and log.h, they are relics from the past.
-
Max Kellermann authored
Make sure that log messages are decorated correctly.
-
Max Kellermann authored
Don't write CPP if you can write C.
-
Max Kellermann authored
You are allowed to call decoder_read() with decoder==NULL. It is a convenience function provided by the decoder API. Don't manually fall back to input_stream_read().
-
Andrzej Rybczak authored
alternative settings must be set before the file is loaded, otherwise they won't be respected.
-
- 19 Jan, 2009 1 commit
-
-
Max Kellermann authored
The plugin queries build-time configuration variables, and should include config.h.
-
- 17 Jan, 2009 3 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
Some plugins used the APE or ID3 tag loader as a fallback when their own methods of loading tags did not work. Move this code out of all decoder plugins, into song_file_update().
-
Max Kellermann authored
When libvorbis knows that a song is seekable, it seeks around like crazy in the file before starting to decode it. This is very expensive on remote HTTP resources, and delays MPD for 10 or 20 seconds. This patch disables seeking on remote songs, because the advantages of quickly playing a song seem to weigh more than the theoretical ability of seeking for most MPD users. If users feel this feature is needed, we will make a configuration option for that.
-
- 16 Jan, 2009 1 commit
-
-
Qball Cow authored
-
- 15 Jan, 2009 8 commits
-
-
Rasmus Steinke authored
This patch allows mpd to recognise the albumartist tag in the way foobar2000 and others write it to files.
-
Max Kellermann authored
Splitted flac_copy_vorbis_comment() into flac_copy_comment() and flac_copy_comment().
-
Max Kellermann authored
Simplify flac_copy_vorbis_comment() by moving the comment identification code out.
-
Max Kellermann authored
Free the tag object when it turns out to be empty. This simplifies several functions and APIs.
-
Max Kellermann authored
-
Max Kellermann authored
Use tag_is_empty() instead.
-
Max Kellermann authored
Renamed types, functions, variables.
-
Rasmus Steinke authored
This patch allows mpd to recognise the albumartist tag in the way foobar2000 and others write it to files.
-