- 23 Feb, 2009 1 commit
-
-
Avuton Olrich authored
After much research[1][2][3] this should be the majority of currently supported file extensions and mime-types for the currently supported ffmpeg formats. This list maybe incomplete, but it's more complete than anything else out there that I've been able to find. This list needs to be updated every now and again as the ffmpeg sources support more formats. 1. Sources 2. wiki.multimedia.cx 3. filext.com
-
- 15 Feb, 2009 1 commit
-
-
Max Kellermann authored
Preparing for per-plugin configuration sections in mpd.conf.
-
- 11 Feb, 2009 1 commit
-
-
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 1 commit
-
-
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.
-
- 16 Jan, 2009 1 commit
-
-
Qball Cow authored
-
- 08 Jan, 2009 1 commit
-
-
Max Kellermann authored
-
- 01 Jan, 2009 1 commit
-
-
Max Kellermann authored
Use GLib's G_GNUC_UNUSED instead of gcc.h's mpd_unused.
-
- 24 Dec, 2008 2 commits
-
-
Max Kellermann authored
The old code casted it to a 32 bit integer, which cut off bits. AVFormatContext.duration is a int64_t, so use this type.
-
Max Kellermann authored
Use NULL instead. Found by sparse.
-
- 15 Dec, 2008 2 commits
-
-
Viliam Mateicka authored
-
Viliam Mateicka authored
-
- 21 Nov, 2008 2 commits
-
-
Max Kellermann authored
Refuse to play audio formats which are not supported by MPD.
-
Max Kellermann authored
-
- 18 Nov, 2008 1 commit
-
-
Viliam Mateicka authored
The ffmpeg library provides some of the song metadata in the AVFormatContext struct. Pass it from there to MPD.
-
- 16 Nov, 2008 1 commit
-
-
Max Kellermann authored
With whence==AVSEEK_SIZE, the seek function should return the file size, not the current offset. Check the return value of input_stream_seek().
-
- 11 Nov, 2008 1 commit
-
-
Max Kellermann authored
The stream_decode() and file_decode() methods returned a boolean, indicating whether they were able to decode the song. This is redundant, since we already know that: if decoder_initialized() has been called (and dc.state==DECODE), the plugin succeeded. Change both methods to return void.
-
- 10 Nov, 2008 1 commit
-
-
Max Kellermann authored
Instead of having a seprate try_decode() method, let the stream_decode() and file_decode() methods decide whether they are able to decode the song.
-
- 04 Nov, 2008 5 commits
-
-
Max Kellermann authored
Instead of checking the stream_types bit set, we can simply check whether the methods stream_decode() and file_decode() are implemented.
-
Max Kellermann authored
The function decoder_read() already cares about the decoder command, and loops until data is available. Reduced mpd_ffmpeg_read() to no more than the decoder_read() call.
-
Max Kellermann authored
That variable is never used except during initialization in ffmpeg_helper().
-
Max Kellermann authored
-
Max Kellermann authored
Renamed variables.
-
- 02 Nov, 2008 5 commits
-
-
Max Kellermann authored
ffmpeg_tag() deleted the tag when ffmpeg_helper() returned success. The return value was interpreted incorrectly, it should return the tag on success.
-
Max Kellermann authored
Rewinding the stream here is not useful, but may consume valuable resources (and time).
-
Max Kellermann authored
decoder_read() checks the decoder command. Without this patch, the ffmpeg plugin could become unresponsive.
-
Max Kellermann authored
Ogg and ffmpeg detection was disabled when the stream was not seekable, because the detection was too expensive. Since the curl input stream can now rewind the stream cheaply, we can re-enable detection on streams.
-
Max Kellermann authored
Don't pass the "seekable" flag with every decoder_data() invocation. Since that flag won't change within the file, it is enough to pass it to decoder_initialized() once per file.
-
- 01 Nov, 2008 2 commits
-
-
Max Kellermann authored
The strings were constant, but the pointers weren't. C syntax is somewhat tricky..
-
Max Kellermann authored
All decoder_plugin structs are initialized at compile time, and must never change.
-
- 31 Oct, 2008 1 commit
-
-
Max Kellermann authored
-
- 30 Oct, 2008 6 commits
-
-
Max Kellermann authored
decoder_data() uses wait times to let the input stream continue its transfer.
-
Max Kellermann authored
decoder_data() always returns the current command. If we use this, we can save a lot of decoder_get_command() calls.
-
Max Kellermann authored
Converted the runtime check to an assertion.
-
Max Kellermann authored
Remove one indent level.
-
Max Kellermann authored
Move code from ffmpeg_decode_internal() to make it smaller and more readable.
-
Max Kellermann authored
The decoder API provides the function decoder_seek_error() to report seek errors. Use this function instead of logging the error.
-