diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2019-02-16 20:41:41 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2019-02-16 20:41:41 +0000 |
| commit | 91deb0c7c22dcae5bd81680167e6024d329c3107 (patch) | |
| tree | 768e33e808f8791b6f389b5f0b072d53ae6bb4d7 /src/plugins/Input/aac | |
| parent | 4780a9540061624b749bb128a89a22021b8ea6a6 (diff) | |
| download | qmmp-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.cpp | 6 |
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)); |
