- 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.
-
- 14 Jan, 2009 7 commits
-
-
Max Kellermann authored
Don't depend on the daemon's locale settings. Comment names are ASCII.
-
Max Kellermann authored
vorbis_parse_comment() should be a function which converts one comment to a tag item. It should do everything required to do the conversion, including looping over all possible tag types.
-
Max Kellermann authored
-
Max Kellermann authored
Eliminate some duplicate code.
-
Max Kellermann authored
Always allocate a new tag object before parsing the vorbis comments; free it when it turns out to be empty. This simplifies the code a bit.
-
Max Kellermann authored
Renamed functions and variables.
-
Max Kellermann authored
Make ogg_parseCommentAddToTag() return bool instead of unsigned int.
-