This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 21364 - Simplify Coded Frame Processing (remove overlapped frame)
Summary: Simplify Coded Frame Processing (remove overlapped frame)
Status: RESOLVED FIXED
Alias: None
Product: HTML WG
Classification: Unclassified
Component: Media Source Extensions (show other bugs)
Version: unspecified
Hardware: PC Windows NT
: P2 normal
Target Milestone: ---
Assignee: Aaron Colwell (c)
QA Contact: HTML WG Bugzilla archive list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-03-21 17:24 UTC by Cyril Concolato
Modified: 2013-04-04 20:41 UTC (History)
4 users (show)

See Also:


Attachments

Description Cyril Concolato 2013-03-21 17:24:14 UTC
The Coded Frame Processing says:

13. If last decode timestamp for track buffer is unset and there is a coded frame in track buffer with a presentation timestamp less than or equal to presentation timestamp and presentation timestamp is less than this coded frame's presentation timestamp plus its frame duration, then run the following steps:
1. Let overlapped frame be the coded frame in track buffer that matches the condition above.
2. If track buffer contains audio coded frames, then run the audio splice frame algorithm and if a splice frame is returned, assign it to spliced frame.
3. Let overlapped frame presentation timestamp equal the presentation timestamp of overlapped frame.
4. Let remove window timestamp equal overlapped frame presentation timestamp plus 1 microsecond.
5. If track buffer contains video coded frames and the presentation timestamp is greater than or equal to the overlapped frame presentation timestamp and the presentation timestamp is less than the remove window timestamp, then remove overlapped frame and any coded frames that depend on it from track buffer.

Step 5 is unnecessarily complicated: According to 1, the overlapped frame satisfies the conditions in 13 so a) the track buffer contains video coded frames and b) the presentation timestamp is greater or equal to the overlapped frame presentation timestamp.

Step 5 can be rewritten as:

5. If the presentation timestamp is less than the remove window timestamp, then remove overlapped frame and any coded frames that depend on it from track buffer.
Comment 1 Aaron Colwell (c) 2013-03-25 20:54:29 UTC
(In reply to comment #0)
> The Coded Frame Processing says:
> 
> 13. If last decode timestamp for track buffer is unset and there is a coded
> frame in track buffer with a presentation timestamp less than or equal to
> presentation timestamp and presentation timestamp is less than this coded
> frame's presentation timestamp plus its frame duration, then run the
> following steps:
> 1. Let overlapped frame be the coded frame in track buffer that matches the
> condition above.
> 2. If track buffer contains audio coded frames, then run the audio splice
> frame algorithm and if a splice frame is returned, assign it to spliced
> frame.
> 3. Let overlapped frame presentation timestamp equal the presentation
> timestamp of overlapped frame.
> 4. Let remove window timestamp equal overlapped frame presentation timestamp
> plus 1 microsecond.
> 5. If track buffer contains video coded frames and the presentation
> timestamp is greater than or equal to the overlapped frame presentation
> timestamp and the presentation timestamp is less than the remove window
> timestamp, then remove overlapped frame and any coded frames that depend on
> it from track buffer.
> 
> Step 5 is unnecessarily complicated: According to 1, the overlapped frame
> satisfies the conditions in 13 so a) the track buffer contains video coded
> frames 

Nothing in 13 singles out video coded frames specifically so the 'contains video coded frames' needs to stay.

and b) the presentation timestamp is greater or equal to the
> overlapped frame presentation timestamp.

I agree this one can be dropped.

> 
> Step 5 can be rewritten as:
> 
> 5. If the presentation timestamp is less than the remove window timestamp,
> then remove overlapped frame and any coded frames that depend on it from
> track buffer.
Comment 2 Aaron Colwell (c) 2013-03-26 18:23:51 UTC
Change committed.
https://dvcs.w3.org/hg/html-media/rev/1e6898152c5b