From 7f9c675629bce77e811e6bf4dad38f0ea06a8bd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1ximo=20Casta=C3=B1eda?= Date: Tue, 5 Jan 2021 19:53:23 +0100 Subject: [PATCH] MediaExtractor: access chunk cache only when we have it Change-Id: I533bb2e25b0756acaaa227cdd06c4067d4120066 Reviewed-on: https://review.haiku-os.org/c/haiku/+/3622 Reviewed-by: Adrien Destugues --- src/kits/media/MediaExtractor.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/kits/media/MediaExtractor.cpp b/src/kits/media/MediaExtractor.cpp index bf12208c56..3019b4dada 100644 --- a/src/kits/media/MediaExtractor.cpp +++ b/src/kits/media/MediaExtractor.cpp @@ -125,6 +125,7 @@ MediaExtractor::_Init(BDataIO* source, int32 flags) "stream %" B_PRId32 " failed\n", i); } +#if !DISABLE_CHUNK_CACHE // Allocate our ChunkCache size_t chunkCacheMaxBytes = _CalculateChunkBuffer(i); fStreamInfo[i].chunkCache @@ -133,6 +134,7 @@ MediaExtractor::_Init(BDataIO* source, int32 flags) fInitStatus = B_NO_MEMORY; return; } +#endif } #if !DISABLE_CHUNK_CACHE @@ -264,14 +266,18 @@ MediaExtractor::Seek(int32 stream, uint32 seekTo, int64* _frame, if (info.status != B_OK) return info.status; +#if !DISABLE_CHUNK_CACHE BAutolock _(info.chunkCache); +#endif status_t status = fReader->Seek(info.cookie, seekTo, _frame, _time); if (status != B_OK) return status; +#if !DISABLE_CHUNK_CACHE // clear buffered chunks after seek info.chunkCache->MakeEmpty(); +#endif return B_OK; }