ericmckean / webm

Automatically exported from code.google.com/p/webm
0 stars 0 forks source link

WebM splitter assets with high datarate file #651

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Bind Async Reader to file ToSa.webm
2. Connect to WebM splitter filter
3. Play

What is the expected output? What do you see instead?
File should render normally

What version are you using? On what Windows version?
Tag is webmdshow-1.0.1.0

Please provide any additional information below.

Assert in MkvReader, on line #313:

int MkvReader::InsertPage(
    cache_t::iterator next,
    LONGLONG pos,
    cache_t::iterator& cache_iter)
{
    FreeOne(next);

    if (m_free_pages.empty())  //error: all samples are busy
        return -1;  //generic error

The problem is that this is a high datarate file.  The allocate creates 64 
internal pages, each 1KB in size.  However, even with 64K of memory, we exhaust 
all the pages in the cache.

We should allocate a cache size that is sensitive to the max size of a keyframe.

Original issue reported on code.google.com by matthewj...@google.com on 22 Oct 2013 at 12:00

GoogleCodeExporter commented 9 years ago

Original comment by ya...@google.com on 7 Nov 2013 at 10:46

GoogleCodeExporter commented 9 years ago
Is this still an issue?

Original comment by fgalli...@google.com on 16 Jan 2015 at 6:29

GoogleCodeExporter commented 9 years ago
Still an issue, but I have no idea why 64K seemed like an adequate limit for 
the allocator at the time the code was written-- I've bumped this up to 5MB 
(aka 1 second of a 40 megabit/sec file).

Using 5MB allows 4K test material to playback without issue, and 5MB isn't a 
lot of memory in terms of media playback.

patch is here: https://gerrit.chromium.org/gerrit/73577

Original comment by tomfine...@google.com on 23 Jan 2015 at 7:06

GoogleCodeExporter commented 9 years ago
Fix: https://gerrit.chromium.org/gerrit/73577

Original comment by tomfine...@google.com on 26 Jan 2015 at 11:21