diff options
Diffstat (limited to 'src/plugins/Input')
| -rw-r--r-- | src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp | 1 | ||||
| -rw-r--r-- | src/plugins/Input/vorbis/decoder_vorbis.cpp | 2 | ||||
| -rw-r--r-- | src/plugins/Input/wavpack/decoderwavpackfactory.cpp | 10 |
3 files changed, 8 insertions, 5 deletions
diff --git a/src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp b/src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp index 36d7bb9ef..9a3f088ad 100644 --- a/src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp +++ b/src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp @@ -82,6 +82,7 @@ DecoderFFmpeg::DecoderFFmpeg(const QString &path, QIODevice *i) m_channels = 0; c = 0; audioIndex = 0; + m_seekTime = -1; av_init_packet(&m_pkt); av_init_packet(&m_temp_pkt); } diff --git a/src/plugins/Input/vorbis/decoder_vorbis.cpp b/src/plugins/Input/vorbis/decoder_vorbis.cpp index 297a68cd5..34d9ff72c 100644 --- a/src/plugins/Input/vorbis/decoder_vorbis.cpp +++ b/src/plugins/Input/vorbis/decoder_vorbis.cpp @@ -9,6 +9,7 @@ #include <qmmp/output.h> #include <qmmp/fileinfo.h> #include <stdlib.h> +#include <string.h> #include <QObject> #include <QIODevice> #include "decoder_vorbis.h" @@ -77,6 +78,7 @@ DecoderVorbis::DecoderVorbis(const QString &url, QIODevice *i) m_bitrate = 0; m_url = url; len = 0; + memset(&oggfile, 0, sizeof(OggVorbis_File)); } diff --git a/src/plugins/Input/wavpack/decoderwavpackfactory.cpp b/src/plugins/Input/wavpack/decoderwavpackfactory.cpp index 4e9f2eb83..2d7da6167 100644 --- a/src/plugins/Input/wavpack/decoderwavpackfactory.cpp +++ b/src/plugins/Input/wavpack/decoderwavpackfactory.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2016 by Ilya Kotov * + * Copyright (C) 2008-2017 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -94,17 +94,17 @@ QList<FileInfo *> DecoderWavPackFactory::createPlayList(const QString &fileName, if (useMetaData) { cue_len = WavpackGetTagItem (ctx, "cuesheet", NULL, 0); - char *value; if (cue_len) { - value = (char*)malloc (cue_len * 2 + 1); + char *value = (char*)malloc (cue_len * 2 + 1); WavpackGetTagItem (ctx, "cuesheet", value, cue_len + 1); CUEParser parser(value, fileName); list = parser.createPlayList(); + delete info; + info = 0; } else { - char value[200]; memset(value,0,sizeof(value)); WavpackGetTagItem (ctx, "Album", value, sizeof(value)); @@ -130,7 +130,7 @@ QList<FileInfo *> DecoderWavPackFactory::createPlayList(const QString &fileName, } } - if (cue_len==0) + if (info) { info->setLength((int) WavpackGetNumSamples(ctx)/WavpackGetSampleRate(ctx)); list << info; |
