From f944d8fb3f17d65bb59313bf6a540cbdbad2936e Mon Sep 17 00:00:00 2001 From: beveloper Date: Sun, 7 Nov 2004 17:04:53 +0000 Subject: [PATCH] avoid reading tracks which are not supported by the reader git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9829 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/media/MediaExtractor.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/kits/media/MediaExtractor.cpp b/src/kits/media/MediaExtractor.cpp index 0300d4f2f3..d8d381279b 100644 --- a/src/kits/media/MediaExtractor.cpp +++ b/src/kits/media/MediaExtractor.cpp @@ -168,6 +168,9 @@ MediaExtractor::Seek(int32 stream, uint32 seekTo, int64 *frame, bigtime_t *time) { CALLED(); + if (fStreamInfo[stream].status != B_OK) + return fStreamInfo[stream].status; + status_t result; result = fReader->Seek(fStreamInfo[stream].cookie, seekTo, frame, time); if (result != B_OK) @@ -186,6 +189,9 @@ MediaExtractor::GetNextChunk(int32 stream, void **chunkBuffer, int32 *chunkSize, media_header *mediaHeader) { + if (fStreamInfo[stream].status != B_OK) + return fStreamInfo[stream].status; + #if DISABLE_CHUNK_CACHE > 0 static BLocker locker; BAutolock lock(locker); @@ -272,6 +278,8 @@ MediaExtractor::ExtractorThread() do { refill_done = false; for (int32 stream = 0; stream < fStreamCount; stream++) { + if (fStreamInfo[stream].status != B_OK) + continue; if (fStreamInfo[stream].chunkCache->NeedsRefill()) { media_header mediaHeader; void *chunkBuffer;