aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/aac/decoder_aac.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/Input/aac/decoder_aac.cpp')
-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));