aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/aac
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2019-02-16 20:41:41 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2019-02-16 20:41:41 +0000
commit91deb0c7c22dcae5bd81680167e6024d329c3107 (patch)
tree768e33e808f8791b6f389b5f0b072d53ae6bb4d7 /src/plugins/Input/aac
parent4780a9540061624b749bb128a89a22021b8ea6a6 (diff)
downloadqmmp-91deb0c7c22dcae5bd81680167e6024d329c3107.tar.gz
qmmp-91deb0c7c22dcae5bd81680167e6024d329c3107.tar.bz2
qmmp-91deb0c7c22dcae5bd81680167e6024d329c3107.zip
aac: better EOF detection
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@8716 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Input/aac')
-rw-r--r--src/plugins/Input/aac/decoder_aac.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/plugins/Input/aac/decoder_aac.cpp b/src/plugins/Input/aac/decoder_aac.cpp
index ae5ae794e..c53276717 100644
--- a/src/plugins/Input/aac/decoder_aac.cpp
+++ b/src/plugins/Input/aac/decoder_aac.cpp
@@ -153,6 +153,8 @@ qint64 DecoderAAC::read(unsigned char *audio, qint64 maxSize)
m_input_at += read;
}
+ if(m_input_at == 0)
+ return 0;
m_sample_buf = NeAACDecDecode(data()->handle, &frame_info, (uchar *)m_input_buf, m_input_at);
memmove(m_input_buf, m_input_buf + frame_info.bytesconsumed,
@@ -160,7 +162,9 @@ qint64 DecoderAAC::read(unsigned char *audio, qint64 maxSize)
m_input_at -= frame_info.bytesconsumed;
- if (frame_info.error > 0)
+ if(eof && frame_info.error > 0) //ignore error on end of file
+ return 0;
+ else if (frame_info.error > 0)
{
m_input_at = 0;
qDebug("DecoderAAC: %s", NeAACDecGetErrorMessage(frame_info.error));