diff options
Diffstat (limited to 'src/plugins/Input/vorbis/decodervorbisfactory.cpp')
| -rw-r--r-- | src/plugins/Input/vorbis/decodervorbisfactory.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/plugins/Input/vorbis/decodervorbisfactory.cpp b/src/plugins/Input/vorbis/decodervorbisfactory.cpp index 0ea5264eb..359347d1e 100644 --- a/src/plugins/Input/vorbis/decodervorbisfactory.cpp +++ b/src/plugins/Input/vorbis/decodervorbisfactory.cpp @@ -67,12 +67,12 @@ QList<TrackInfo *> DecoderVorbisFactory::createPlayList(const QString &fileName, { TrackInfo *info = new TrackInfo(fileName); + if(parts == TrackInfo::NoParts) + return QList<TrackInfo*>() << info; + TagLib::FileStream stream(QStringToFileName(fileName), true); TagLib::Ogg::Vorbis::File fileRef(&stream); - if(fileRef.audioProperties()) - info->setDuration(fileRef.audioProperties()->lengthInMilliseconds()); - if((parts & TrackInfo::MetaData) && fileRef.tag() && !fileRef.tag()->isEmpty()) { TagLib::Ogg::XiphComment *tag = fileRef.tag(); @@ -90,8 +90,9 @@ QList<TrackInfo *> DecoderVorbisFactory::createPlayList(const QString &fileName, info->setValue(Qmmp::BITRATE, fileRef.audioProperties()->bitrate()); info->setValue(Qmmp::SAMPLERATE, fileRef.audioProperties()->sampleRate()); info->setValue(Qmmp::CHANNELS, fileRef.audioProperties()->channels()); - info->setValue(Qmmp::BITS_PER_SAMPLE, 16); + info->setValue(Qmmp::BITS_PER_SAMPLE, 32); //float info->setValue(Qmmp::FORMAT_NAME, "Ogg Vorbis"); + info->setDuration(fileRef.audioProperties()->lengthInMilliseconds()); } if((parts & TrackInfo::ReplayGainInfo) && fileRef.tag() && !fileRef.tag()->isEmpty()) |
