History log of /haiku/src/kits/media/ChunkCache.cpp
Revision Date Author Comments
# 218a8c03 17-May-2019 Augustin Cavalier <waddlesplash@gmail.com>

Revert the Codec Kit.

All of Barrett's individual reverts have been squashed into this
one commit, save a few actual bugfixes.

Change-Id: Ib0a7d0a841d3ac40b1fca7372c58b7f9229bd1f0


# b84955d4 23-Oct-2018 Barrett17 <b.vitruvio@gmail.com>

media: Remove debug.h, finalize MediaDebug.h

* Funny rust from 0 AD.


# 2a9896ce 12-Dec-2009 David McPaul <dlmcpaul@gmail.com>

switch to use STL containers, limit to 10 cache entries, don't clear cache on findkeyframe, removed inflight list as it was not needed, report error conditions better. This makes video work again

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34650 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ebe97b7c 01-Dec-2009 Axel Dörfler <axeld@pinc-software.de>

* The ChunkCache is now using the real time memory functions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34420 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c48f055b 25-Nov-2009 Rene Gollent <anevilyak@gmail.com>

Fix ChunkCache build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34245 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4d89dfc7 25-Nov-2009 Axel Dörfler <axeld@pinc-software.de>

* Completely rewrote the ChunkCache - the previous version had some issues with
regards to locking and seeking.
* Furthermore, we now not only cache 4 chunks, but chunk up to a certain
memory size (MediaExtractor uses 1 MB for now).
* Since I still have occasional hickups, it looks like this wasn't the main
cause for our audio problems. Still, this will reduce drive access
considerably during play.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34243 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 608d959d 25-Nov-2009 Axel Dörfler <axeld@pinc-software.de>

* ChunkCache::fLocker is now aggregated.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34239 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 086dbe90 10-Aug-2008 David McPaul <dlmcpaul@gmail.com>

limit no of retries to prevent infinite loop

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26914 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 758b1d0e 12-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixes that make Haiku build with gcc 4. Mainly out of the following
categories:
* Missing includes (like <stdlib.h> and <string.h>).
* Linking against $(TARGET_LIBSTDC++) instead of libstdc++.r4.so.
* Local variables shadowing parameters.
* Default parameters in function definitions (as opposed to function
declarations).
* All C++ stuff (nothrow, map, set, vector, min, max,...) must be imported
explicitly from the std:: namespace now.
* "new (sometype)[...]" must read "new sometype[...]", even if sometype is
something like "const char *".
* __FUNCTION__ is no longer a string literal (but a string expression), i.e.
'printf(__FUNCTION__ ": ...\n")' is invalid code.
* A type cast results in a non-lvalue. E.g. "(char *)buffer += bytes"
is an invalid expression.
* "friend class SomeClass" only works when SomeClass is known before.
Otherwise the an inner class with that name is considered as friend.
gcc 4 is much pickier about scopes.
* gcc 4 is generally stricter with respect to type conversions in C.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14878 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0d1adad3 29-Jun-2005 Marcus Overhagen <marcusoverhagen@gmail.com>

Media Codec API just got a visit from the coding style police.
We now use "const" for the chunk buffer pointer returned by GetNextChunk,
because the buffer is not supposed to be modified by the codec.
size_t is used for the size where applicable. This matches BMediaDecoder.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13361 a95241bf-73f2-0310-859d-f6bbb57e9c96


# dc1680bc 06-Nov-2004 beveloper <beveloper@nowhere.fake>

Added missing license to the recently implemented chunk cache.
Using the unmodified BSD license without advertising clause.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9817 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1a3a7e8c 24-Oct-2004 beveloper <beveloper@nowhere.fake>

Fixed very bad seeking bug.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9491 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ef4fd98f 24-Oct-2004 beveloper <beveloper@nowhere.fake>

removed that debug output again


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9488 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bf0aa2f9 24-Oct-2004 beveloper <beveloper@nowhere.fake>

added support to disable the chunk cache for debugging


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9487 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f14dfaa7 24-Oct-2004 beveloper <beveloper@nowhere.fake>

Completed implementation of chunk caching. Playback from harddisk is now much better, crackling should be gone.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9485 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5c91a281 24-Oct-2004 beveloper <beveloper@nowhere.fake>

started implementing a caching layer inbetween extractor and decoder


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9480 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2a9896ce478f061890a65d57d6985f0c571c6df1 12-Dec-2009 David McPaul <dlmcpaul@gmail.com>

switch to use STL containers, limit to 10 cache entries, don't clear cache on findkeyframe, removed inflight list as it was not needed, report error conditions better. This makes video work again

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34650 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ebe97b7cee5305dd28278b00c2371129a999fe11 01-Dec-2009 Axel Dörfler <axeld@pinc-software.de>

* The ChunkCache is now using the real time memory functions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34420 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c48f055b455bdb061483d5c9db382a8eeb4d9752 25-Nov-2009 Rene Gollent <anevilyak@gmail.com>

Fix ChunkCache build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34245 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4d89dfc7120e69ad02437f4e29e21e46adc2ac98 25-Nov-2009 Axel Dörfler <axeld@pinc-software.de>

* Completely rewrote the ChunkCache - the previous version had some issues with
regards to locking and seeking.
* Furthermore, we now not only cache 4 chunks, but chunk up to a certain
memory size (MediaExtractor uses 1 MB for now).
* Since I still have occasional hickups, it looks like this wasn't the main
cause for our audio problems. Still, this will reduce drive access
considerably during play.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34243 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 608d959d73310517f846311cf8493f1206e9ef1c 25-Nov-2009 Axel Dörfler <axeld@pinc-software.de>

* ChunkCache::fLocker is now aggregated.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34239 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 086dbe90c8deccff95d62f46cdebbe51f01b37a6 10-Aug-2008 David McPaul <dlmcpaul@gmail.com>

limit no of retries to prevent infinite loop

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26914 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 758b1d0e05fe1042cce6e00d194a147802d4f9be 12-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixes that make Haiku build with gcc 4. Mainly out of the following
categories:
* Missing includes (like <stdlib.h> and <string.h>).
* Linking against $(TARGET_LIBSTDC++) instead of libstdc++.r4.so.
* Local variables shadowing parameters.
* Default parameters in function definitions (as opposed to function
declarations).
* All C++ stuff (nothrow, map, set, vector, min, max,...) must be imported
explicitly from the std:: namespace now.
* "new (sometype)[...]" must read "new sometype[...]", even if sometype is
something like "const char *".
* __FUNCTION__ is no longer a string literal (but a string expression), i.e.
'printf(__FUNCTION__ ": ...\n")' is invalid code.
* A type cast results in a non-lvalue. E.g. "(char *)buffer += bytes"
is an invalid expression.
* "friend class SomeClass" only works when SomeClass is known before.
Otherwise the an inner class with that name is considered as friend.
gcc 4 is much pickier about scopes.
* gcc 4 is generally stricter with respect to type conversions in C.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14878 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0d1adad317d12e39380ee4876ca4b36fd7814901 29-Jun-2005 Marcus Overhagen <marcusoverhagen@gmail.com>

Media Codec API just got a visit from the coding style police.
We now use "const" for the chunk buffer pointer returned by GetNextChunk,
because the buffer is not supposed to be modified by the codec.
size_t is used for the size where applicable. This matches BMediaDecoder.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13361 a95241bf-73f2-0310-859d-f6bbb57e9c96


# dc1680bc4768a21392946c3f9fb4f820d226fe10 06-Nov-2004 beveloper <beveloper@nowhere.fake>

Added missing license to the recently implemented chunk cache.
Using the unmodified BSD license without advertising clause.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9817 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1a3a7e8cd8db426392b6d67dc84434d99a5955c0 24-Oct-2004 beveloper <beveloper@nowhere.fake>

Fixed very bad seeking bug.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9491 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ef4fd98f8a2339a5d430fbb6ed447c2dbf01e4d2 24-Oct-2004 beveloper <beveloper@nowhere.fake>

removed that debug output again


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9488 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bf0aa2f9bba6ee3060b102d367d640d64a483490 24-Oct-2004 beveloper <beveloper@nowhere.fake>

added support to disable the chunk cache for debugging


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9487 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f14dfaa7b961af138737d0e09cd80ae61a29c9aa 24-Oct-2004 beveloper <beveloper@nowhere.fake>

Completed implementation of chunk caching. Playback from harddisk is now much better, crackling should be gone.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9485 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5c91a2814e5780330893c5ce5322aed54bf5e35b 24-Oct-2004 beveloper <beveloper@nowhere.fake>

started implementing a caching layer inbetween extractor and decoder


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9480 a95241bf-73f2-0310-859d-f6bbb57e9c96