Bug 139265 - [MSE] Add support for SourceBuffer.mode.
Summary: [MSE] Add support for SourceBuffer.mode.
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Jer Noble
URL:
Keywords: InRadar
: 139040 (view as bug list)
Depends on:
Blocks:
 
Reported: 2014-12-04 12:31 PST by Jer Noble
Modified: 2014-12-16 13:29 PST (History)
2 users (show)

See Also:


Attachments
Patch (26.77 KB, patch)
2014-12-05 13:06 PST, Jer Noble
no flags Details | Formatted Diff | Diff
Patch (29.76 KB, patch)
2014-12-08 20:17 PST, Jer Noble
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jer Noble 2014-12-04 12:31:24 PST
[MSE] Add support for SourceBuffer.mode.
Comment 1 Jer Noble 2014-12-05 13:06:06 PST
Created attachment 242650 [details]
Patch
Comment 2 Bartlomiej Gajda 2014-12-08 00:09:28 PST
Comment on attachment 242650 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=242650&action=review

> Source/WebCore/Modules/mediasource/SourceBuffer.cpp:126
>      , m_highestPresentationEndTimestamp(MediaTime::invalidTime())

This shall be removed, if You want to introduce groupStartTime - You should do it completely in one batch, as it was renamed in standard. I had bug https://bugs.webkit.org/show_bug.cgi?id=139040 which I'll mark as duplicate of this, if You do it all in one batch. I don't see any reason not to.

> Source/WebCore/Modules/mediasource/SourceBuffer.cpp:1270
>              // Set group start timestamp equal to the highest presentation end timestamp.

Should be: "Set group start timestamp equal to the group end timestamp."

> Source/WebCore/Modules/mediasource/SourceBuffer.cpp:1271
> +            m_groupStartTimestamp = m_highestPresentationEndTimestamp;

should use groupEndtimestamp

> Source/WebCore/Modules/mediasource/SourceBuffer.cpp:1462
>          if (m_highestPresentationEndTimestamp.isInvalid() || frameEndTimestamp > m_highestPresentationEndTimestamp)

Above this should be : If frame end timestamp is greater than group end timestamp, then set group end timestamp equal to frame end timestamp.
And this line should be only second expression renamed. (since it's set to 0 by standard anyway)

> Source/WebCore/Modules/mediasource/SourceBuffer.cpp:1463
>              m_highestPresentationEndTimestamp = frameEndTimestamp;

Should use m_groupEndTimestamp, also on 1428 with setDurationInternal

> Source/WebCore/Modules/mediasource/SourceBuffer.h:207
>      MediaTime m_highestPresentationEndTimestamp;

Should remove this.
Comment 3 Jer Noble 2014-12-08 08:48:11 PST
(In reply to comment #2)
> Comment on attachment 242650 [details]
> Patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=242650&action=review
> 
> > Source/WebCore/Modules/mediasource/SourceBuffer.cpp:126
> >      , m_highestPresentationEndTimestamp(MediaTime::invalidTime())
> 
> This shall be removed, if You want to introduce groupStartTime - You should
> do it completely in one batch, as it was renamed in standard. I had bug
> https://bugs.webkit.org/show_bug.cgi?id=139040 which I'll mark as duplicate
> of this, if You do it all in one batch. I don't see any reason not to.

Good point. I'll update the patch with these changes.

> > Source/WebCore/Modules/mediasource/SourceBuffer.cpp:1270
> >              // Set group start timestamp equal to the highest presentation end timestamp.
> 
> Should be: "Set group start timestamp equal to the group end timestamp."
> 
> > Source/WebCore/Modules/mediasource/SourceBuffer.cpp:1271
> > +            m_groupStartTimestamp = m_highestPresentationEndTimestamp;
> 
> should use groupEndtimestamp
> 
> > Source/WebCore/Modules/mediasource/SourceBuffer.cpp:1462
> >          if (m_highestPresentationEndTimestamp.isInvalid() || frameEndTimestamp > m_highestPresentationEndTimestamp)
> 
> Above this should be : If frame end timestamp is greater than group end
> timestamp, then set group end timestamp equal to frame end timestamp.
> And this line should be only second expression renamed. (since it's set to 0
> by standard anyway)
> 
> > Source/WebCore/Modules/mediasource/SourceBuffer.cpp:1463
> >              m_highestPresentationEndTimestamp = frameEndTimestamp;
> 
> Should use m_groupEndTimestamp, also on 1428 with setDurationInternal
> 
> > Source/WebCore/Modules/mediasource/SourceBuffer.h:207
> >      MediaTime m_highestPresentationEndTimestamp;
> 
> Should remove this.
Comment 4 Jer Noble 2014-12-08 20:17:16 PST
Created attachment 242873 [details]
Patch
Comment 5 Bartlomiej Gajda 2014-12-09 02:25:07 PST
*** Bug 139040 has been marked as a duplicate of this bug. ***
Comment 6 WebKit Commit Bot 2014-12-12 11:27:13 PST
Comment on attachment 242873 [details]
Patch

Clearing flags on attachment: 242873

Committed r177225: <http://trac.webkit.org/changeset/177225>
Comment 7 WebKit Commit Bot 2014-12-12 11:27:17 PST
All reviewed patches have been landed.  Closing bug.
Comment 8 Jer Noble 2014-12-16 13:29:09 PST
<rdar://problem/19269069>