diff options
Diffstat (limited to 'src/plugins/Input/mpeg/decoder_mpg123.cpp')
| -rw-r--r-- | src/plugins/Input/mpeg/decoder_mpg123.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/plugins/Input/mpeg/decoder_mpg123.cpp b/src/plugins/Input/mpeg/decoder_mpg123.cpp index a9a6ca62e..e359f455d 100644 --- a/src/plugins/Input/mpeg/decoder_mpg123.cpp +++ b/src/plugins/Input/mpeg/decoder_mpg123.cpp @@ -143,7 +143,19 @@ bool DecoderMPG123::initialize() m_totalTime = (qint64) mpg123_length(m_handle) * 1000 / m_rate; } else + { + if((err = mpg123_info(m_handle, &m_frame_info)) != MPG123_OK) + qWarning("DecoderMPG123: mpg123 error: %s", mpg123_plain_strerror(err)); + + if(m_frame_info.version == MPG123_1_0) + setProperty(Qmmp::FORMAT_NAME, QString("MPEG-1 layer %1").arg(m_frame_info.layer)); + else if(m_frame_info.version == MPG123_2_0) + setProperty(Qmmp::FORMAT_NAME, QString("MPEG-2 layer %1").arg(m_frame_info.layer)); + else if(m_frame_info.version == MPG123_2_5) + setProperty(Qmmp::FORMAT_NAME, QString("MPEG-2.5 layer %1").arg(m_frame_info.layer)); + m_totalTime = 0; + } configure(m_rate, channels, Qmmp::PCM_FLOAT); return true; |
