Open Bug 595790 Opened 14 years ago Updated 2 years ago

Spawn multiple parsers at possible sync locations to allow recovery from false sync

Categories

(Core :: Audio/Video: Playback, defect, P3)

x86_64
Linux
defect

Tracking

()

People

(Reporter: kinetik, Unassigned)

References

Details

If a nsWebMBufferedParser finds false sync, it may consume considerable data before it realizes it has lost sync. If this happens, it may be impossible to back the parser up far enough to recover because the parser only has access to the data as it arrives. One way to fix this would be to run a new parser for every possible sync point. It will eventually become obvious which of these found valid sync as the others will reach an error state. This has the nice property of only consuming a few sizeof(nsWebMBufferParser) chunks of memory, and allows the parser state machine to remain fairly simple. See bug 570904 comment 15 for more discussion.
Assignee: kinetik → nobody
Component: Audio/Video → Audio/Video: Playback
Status: ASSIGNED → NEW
Rank: 29
Priority: -- → P3
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.