From 91deb0c7c22dcae5bd81680167e6024d329c3107 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sat, 16 Feb 2019 20:41:41 +0000 Subject: aac: better EOF detection git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@8716 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Input/aac/decoder_aac.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/plugins/Input/aac/decoder_aac.cpp') 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)); -- cgit v1.2.3-13-gbd6f