From 2405fee7475c25695af54c2068d67e10cc9317e8 Mon Sep 17 00:00:00 2001 From: David McPaul Date: Sat, 10 Jan 2009 01:05:39 +0000 Subject: [PATCH] Better check for end of data git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28866 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../media/plugins/mp4_reader/libMP4/MP4FileReader.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/add-ons/media/plugins/mp4_reader/libMP4/MP4FileReader.cpp b/src/add-ons/media/plugins/mp4_reader/libMP4/MP4FileReader.cpp index 1b73d69ea9..d79b1e32eb 100644 --- a/src/add-ons/media/plugins/mp4_reader/libMP4/MP4FileReader.cpp +++ b/src/add-ons/media/plugins/mp4_reader/libMP4/MP4FileReader.cpp @@ -636,8 +636,11 @@ MP4FileReader::GetNextChunkInfo(uint32 streamIndex, uint32 pFrameNo, // printf("start %Ld, size %ld, eof %s, eod %s\n",*start,*size, IsEndOfFile(*start + *size) ? "true" : "false", IsEndOfData(*start + *size) ? "true" : "false"); // TODO need a better method for detecting End of Data Note ChunkSize of 0 seems to be it. - return *start > 0 && *size > 0 && !IsEndOfFile(*start + *size) - && !IsEndOfData(*start + *size); + if (IsEndOfFile(*start + *size) || IsEndOfData(*start + *size)) { + return false; + } + + return *start > 0 && *size > 0; }