aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/vorbis/decodervorbisfactory.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2018-06-07 06:21:53 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2018-06-07 06:21:53 +0000
commitc8488b0a00f62504667eb9d3a6f4074e1f424980 (patch)
tree3a1aca5b8e504da85b27f2886cdff2a751c3a2f6 /src/plugins/Input/vorbis/decodervorbisfactory.cpp
parentf082aa3101d3d8f000bca54a61a04c9c2927f85f (diff)
downloadqmmp-c8488b0a00f62504667eb9d3a6f4074e1f424980.tar.gz
qmmp-c8488b0a00f62504667eb9d3a6f4074e1f424980.tar.bz2
qmmp-c8488b0a00f62504667eb9d3a6f4074e1f424980.zip
optimization
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@8006 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Input/vorbis/decodervorbisfactory.cpp')
-rw-r--r--src/plugins/Input/vorbis/decodervorbisfactory.cpp9
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())