decoder/audiofile: log libaudiofile errors

This commit is contained in:
Max Kellermann 2014-07-10 09:32:33 +02:00
parent 49b63e084f
commit ccbb5c3e01
2 changed files with 16 additions and 4 deletions

1
NEWS
View File

@ -31,6 +31,7 @@ ver 0.19 (not yet released)
* decoder:
- vorbis, flac, opus: honor DESCRIPTION= tag in Xiph-based files as a comment to the song
- audiofile: support scanning remote files
- audiofile: log libaudiofile errors
* encoder:
- shine: new encoder plugin
* threads:

View File

@ -36,6 +36,19 @@
static constexpr Domain audiofile_domain("audiofile");
static void
audiofile_error_func(long, const char *msg)
{
LogWarning(audiofile_domain, msg);
}
static bool
audiofile_init(const config_param &)
{
afSetErrorHandler(audiofile_error_func);
return true;
}
struct AudioFileInputStream {
Decoder *const decoder;
InputStream &is;
@ -178,10 +191,8 @@ audiofile_stream_decode(Decoder &decoder, InputStream &is)
AFvirtualfile *const vf = setup_virtual_fops(afis);
const AFfilehandle fh = afOpenVirtualFile(vf, "r", nullptr);
if (fh == AF_NULL_FILEHANDLE) {
LogWarning(audiofile_domain, "failed to input stream");
if (fh == AF_NULL_FILEHANDLE)
return;
}
Error error;
AudioFormat audio_format;
@ -275,7 +286,7 @@ static const char *const audiofile_mime_types[] = {
const struct DecoderPlugin audiofile_decoder_plugin = {
"audiofile",
nullptr,
audiofile_init,
nullptr,
audiofile_stream_decode,
nullptr,