aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/qmmp/soundcore.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/qmmp/soundcore.cpp b/src/qmmp/soundcore.cpp
index 7048b6c04..7c8061d7b 100644
--- a/src/qmmp/soundcore.cpp
+++ b/src/qmmp/soundcore.cpp
@@ -362,11 +362,12 @@ bool SoundCore::decode()
m_handler->dispatch(Qmmp::NormalError);
return FALSE;
}
- if (!(m_factory = Decoder::findByContent(m_input)))
- {
- m_handler->dispatch(Qmmp::NormalError);
- return FALSE;
- }
+ if (!(m_factory = Decoder::findByMime(qobject_cast<StreamReader *>(m_input)->contentType())))
+ if (!(m_factory = Decoder::findByContent(m_input)))
+ {
+ m_handler->dispatch(Qmmp::NormalError);
+ return FALSE;
+ }
}
if (!m_factory->properties().noOutput)
{