| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Free the tag object when it turns out to be empty. This simplifies
several functions and APIs.
|
|
|
|
| |
Renamed types, functions, variables.
|
|
|
|
|
| |
Use G_GNUC_UNUSED instead of mpd_unused (which has already been
removed).
|
|
|
|
| |
SEEK_SET is defined by unistd.h. Explicitly include it.
|
|
|
|
| |
Refuse to play audio formats which are not supported by MPD.
|
| |
|
|
|
|
|
|
| |
Define the special value "-1" as "unknown size". Previously, there
was no indicator for streams with unknown size, which might confuse
some decoders.
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Renamed functions and variables.
|
|
|
|
|
| |
Instead of checking the stream_types bit set, we can simply check
whether the methods stream_decode() and file_decode() are implemented.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
The strings were constant, but the pointers weren't. C syntax is
somewhat tricky..
|
|
|
|
|
| |
All decoder_plugin structs are initialized at compile time, and must
never change.
|
| |
|
|
|
|
|
| |
Again, I forgot to adapt oggflac to the new API (struct input_stream,
bool return values).
|
|
|
|
|
| |
Don't return 0/-1 on success/error, but true/false. Instead of int,
use bool for storing flags.
|
|
|
|
|
| |
For boolean values and success flags, use bool instead of integer (1/0
for true/false, 0/-1 for success/failure).
|
|
|
|
| |
Renamed all functions and variables.
|
|
These plugins are not input plugins, they are decoder plugins. No
CamelCase in the directory name.
|