diff --git a/taglib/fileref.cpp b/taglib/fileref.cpp index 88e53ed1..2be5aa3c 100644 --- a/taglib/fileref.cpp +++ b/taglib/fileref.cpp @@ -497,12 +497,18 @@ void FileRef::parse(FileName fileName, bool readAudioProperties, void FileRef::parse(IOStream *stream, bool readAudioProperties, AudioProperties::ReadStyle audioPropertiesStyle) { - // Try user-defined resolvers. + // Try user-defined stream resolvers. d->file = detectByResolvers(stream, readAudioProperties, audioPropertiesStyle); if(d->file) return; + // Try user-defined resolvers. + + d->file = detectByResolvers(stream->name(), readAudioProperties, audioPropertiesStyle); + if(d->file) + return; + // Try to resolve file types based on the file extension. d->file = detectByExtension(stream, readAudioProperties, audioPropertiesStyle);