Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Issue 1659653002: Pass MSE media track info from ChunkDemuxer to blink::SourceBuffer (Closed)

Created:
4 years, 10 months ago by servolk
Modified:
4 years, 8 months ago
CC:
blink-reviews, blink-reviews-api_chromium.org, blink-reviews-html_chromium.org, chromium-reviews, dglazkov+blink, eric.carlson_apple.com, feature-media-reviews_chromium.org, gasubic, mlamouri+watch-blink_chromium.org, nessy, vcarbune.chromium
Base URL:
https://chromium.googlesource.com/chromium/src.git@use-media-tracks-in-media
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Pass MSE media track info from ChunkDemuxer to blink::SourceBuffer Also moves TrackType enum definition from TrackBase to WebMediaPlayer BUG=249427, 249428 Committed: https://crrev.com/92333c0e5ca6b7768e5bcf6d41ff8fc733ebbfc1 Cr-Commit-Position: refs/heads/master@{#384014}

Patch Set 1 #

Patch Set 2 : rebase #

Patch Set 3 : rebase #

Patch Set 4 : wip #

Patch Set 5 : rebase #

Patch Set 6 : wip #

Patch Set 7 : rebase #

Patch Set 8 : rebase #

Patch Set 9 : Cleanup and bugfixes #

Patch Set 10 : Added primitive init segment handling to make tracks usable in MSE #

Patch Set 11 : Fixed tests #

Patch Set 12 : Added basic unit test for a/v tracks created by MediaSource/SourceBuffer #

Patch Set 13 : rebase #

Total comments: 20

Patch Set 14 : CR feedback #

Patch Set 15 : CR feedback2 #

Total comments: 8

Patch Set 16 : Fixed createMediaTrack params #

Patch Set 17 : Avoid re-creating media track for each new init segment #

Patch Set 18 : Fixed tests #

Patch Set 19 : rebase #

Patch Set 20 : Pass media track info into initSegmentReceived via a vector of tuples #

Patch Set 21 : buildfix #

Total comments: 11

Patch Set 22 : CR feedback + test fix #

Patch Set 23 : CR feedback + test fix 2 #

Patch Set 24 : Rebase + fix non-oilpan codepath #

Total comments: 4

Patch Set 25 : nit #

Total comments: 4
Unified diffs Side-by-side diffs Delta from patch set Stats (+217 lines, -33 lines) Patch
M media/blink/webmediaplayer_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +1 line, -1 line 0 comments Download
M media/blink/websourcebuffer_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 chunks +29 lines, -4 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/media/media-source/mediasource-avtracks.html View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +51 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/html/track/AudioTrack.h View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/html/track/AudioTrack.cpp View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/html/track/AudioTrackList.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/html/track/TextTrack.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/html/track/TextTrack.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/html/track/TextTrackList.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/html/track/TrackBase.h View 1 2 3 4 5 2 chunks +3 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/html/track/TrackBase.cpp View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/html/track/TrackEvent.h View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/html/track/TrackEvent.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +4 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/html/track/VideoTrack.h View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/html/track/VideoTrack.cpp View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/html/track/VideoTrackList.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/modules/mediasource/SourceBuffer.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 5 chunks +8 lines, -1 line 0 comments Download
M third_party/WebKit/Source/modules/mediasource/SourceBuffer.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 7 chunks +91 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/modules/mediasource/SourceBuffer.idl View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +3 lines, -0 lines 0 comments Download
M third_party/WebKit/public/platform/WebMediaPlayer.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/public/platform/WebSourceBufferClient.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +13 lines, -2 lines 4 comments Download

Messages

Total messages: 70 (20 generated)
servolk
4 years, 10 months ago (2016-02-23 01:37:23 UTC) #3
philipj_slow
WebString.h has "BLINK_COMMON_EXPORT operator WTF::AtomicString() const" so it should be possible to convert it to ...
4 years, 10 months ago (2016-02-23 03:51:04 UTC) #4
philipj_slow
Issue 249427 is "Implement HTMLMediaElement.audioTracks & HTMLMediaElement.videoTracks", is this part of the effort to make ...
4 years, 10 months ago (2016-02-23 03:55:44 UTC) #5
philipj_slow
To elaborate some more, it would be nice if to the largest extent possible, MSE ...
4 years, 10 months ago (2016-02-23 03:57:23 UTC) #6
fs
On 2016/02/23 at 03:51:04, philipj wrote: > WebString.h has "BLINK_COMMON_EXPORT operator WTF::AtomicString() const" so it ...
4 years, 10 months ago (2016-02-23 11:18:25 UTC) #7
servolk
On 2016/02/23 03:57:23, philipj_UTC7 wrote: > To elaborate some more, it would be nice if ...
4 years, 10 months ago (2016-02-24 03:27:55 UTC) #8
servolk
On 2016/02/23 11:18:25, fs wrote: > On 2016/02/23 at 03:51:04, philipj wrote: > > WebString.h ...
4 years, 10 months ago (2016-02-24 03:39:41 UTC) #9
servolk
On 2016/02/24 03:27:55, servolk wrote: > On 2016/02/23 03:57:23, philipj_UTC7 wrote: > > To elaborate ...
4 years, 10 months ago (2016-02-24 05:12:44 UTC) #10
servolk
On 2016/02/24 05:12:44, servolk wrote: > On 2016/02/24 03:27:55, servolk wrote: > > On 2016/02/23 ...
4 years, 10 months ago (2016-02-25 02:30:53 UTC) #11
philipj_slow
OK, I think I have some idea of the scope of the problem now. The ...
4 years, 10 months ago (2016-02-26 12:43:54 UTC) #12
blink-reviews
Yeah, currently some approximation of the init segment algorithm is implemented in Chromium media stack, ...
4 years, 9 months ago (2016-02-28 20:12:09 UTC) #13
chromium-reviews
Yeah, currently some approximation of the init segment algorithm is implemented in Chromium media stack, ...
4 years, 9 months ago (2016-02-28 20:12:09 UTC) #14
servolk
On 2016/02/28 20:12:09, chromium-reviews wrote: > Yeah, currently some approximation of the init segment algorithm ...
4 years, 9 months ago (2016-03-02 03:22:54 UTC) #15
philipj_slow
wolenetz@, can you comment? It seems like this group of changes are motivated by moving ...
4 years, 9 months ago (2016-03-07 11:50:21 UTC) #19
philipj_slow
On 2016/02/28 20:12:09, blink-reviews wrote: > Yeah, currently some approximation of the init segment algorithm ...
4 years, 9 months ago (2016-03-07 12:00:15 UTC) #20
wolenetz
On 2016/03/07 12:00:15, philipj_UTC7 wrote: > On 2016/02/28 20:12:09, blink-reviews wrote: > > Yeah, currently ...
4 years, 9 months ago (2016-03-12 00:41:36 UTC) #21
wolenetz
On 2016/03/12 00:41:36, wolenetz wrote: > On 2016/03/07 12:00:15, philipj_UTC7 wrote: > > On 2016/02/28 ...
4 years, 9 months ago (2016-03-12 01:02:41 UTC) #22
servolk
On 2016/03/12 01:02:41, wolenetz wrote: > On 2016/03/12 00:41:36, wolenetz wrote: > > On 2016/03/07 ...
4 years, 9 months ago (2016-03-18 01:13:52 UTC) #23
servolk
On 2016/03/18 01:13:52, servolk wrote: > On 2016/03/12 01:02:41, wolenetz wrote: > > On 2016/03/12 ...
4 years, 9 months ago (2016-03-22 20:52:41 UTC) #24
wolenetz
On 2016/03/22 20:52:41, servolk wrote: > On 2016/03/18 01:13:52, servolk wrote: > > On 2016/03/12 ...
4 years, 9 months ago (2016-03-22 23:44:40 UTC) #25
wolenetz
lgtm % nits. I look forward to seeing something more than the primitive init segment ...
4 years, 9 months ago (2016-03-23 19:34:13 UTC) #26
servolk
https://codereview.chromium.org/1659653002/diff/230001/media/blink/webmediaplayer_impl.cc File media/blink/webmediaplayer_impl.cc (right): https://codereview.chromium.org/1659653002/diff/230001/media/blink/webmediaplayer_impl.cc#newcode994 media/blink/webmediaplayer_impl.cc:994: scoped_ptr<::media::TextTrack> text_track(new TextTrackImpl( On 2016/03/23 19:34:12, wolenetz wrote: > ...
4 years, 9 months ago (2016-03-24 01:31:56 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1659653002/270001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1659653002/270001
4 years, 9 months ago (2016-03-24 01:32:14 UTC) #30
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/160326)
4 years, 9 months ago (2016-03-24 01:42:39 UTC) #32
servolk
On 2016/03/24 01:42:39, commit-bot: I haz the power wrote: > Try jobs failed on following ...
4 years, 9 months ago (2016-03-24 01:47:27 UTC) #33
wolenetz
https://codereview.chromium.org/1659653002/diff/230001/media/blink/websourcebuffer_impl.cc File media/blink/websourcebuffer_impl.cc (right): https://codereview.chromium.org/1659653002/diff/230001/media/blink/websourcebuffer_impl.cc#newcode178 media/blink/websourcebuffer_impl.cc:178: blink::WebVector<blink::WebMediaPlayer::TrackId> blinkTrackIds( On 2016/03/24 01:31:55, servolk wrote: > On ...
4 years, 9 months ago (2016-03-24 01:54:07 UTC) #34
wolenetz
https://codereview.chromium.org/1659653002/diff/230001/third_party/WebKit/Source/modules/mediasource/SourceBuffer.h File third_party/WebKit/Source/modules/mediasource/SourceBuffer.h (right): https://codereview.chromium.org/1659653002/diff/230001/third_party/WebKit/Source/modules/mediasource/SourceBuffer.h#newcode149 third_party/WebKit/Source/modules/mediasource/SourceBuffer.h:149: HeapVector<WebMediaPlayer::TrackId> m_audioTrackIds; On 2016/03/24 01:31:56, servolk wrote: > On ...
4 years, 9 months ago (2016-03-24 01:57:43 UTC) #35
philipj_slow
On 2016/03/12 00:41:36, wolenetz wrote: > On 2016/03/07 12:00:15, philipj_UTC7 wrote: > > On 2016/02/28 ...
4 years, 9 months ago (2016-03-24 05:01:12 UTC) #36
philipj_slow
https://codereview.chromium.org/1659653002/diff/270001/third_party/WebKit/Source/modules/mediasource/SourceBuffer.cpp File third_party/WebKit/Source/modules/mediasource/SourceBuffer.cpp (right): https://codereview.chromium.org/1659653002/diff/270001/third_party/WebKit/Source/modules/mediasource/SourceBuffer.cpp#newcode510 third_party/WebKit/Source/modules/mediasource/SourceBuffer.cpp:510: m_source->mediaElement()->audioTracks().remove(trackId); Can't this end up adding and removing the ...
4 years, 9 months ago (2016-03-24 05:56:00 UTC) #37
philipj_slow
On 2016/03/12 01:02:41, wolenetz wrote: > Hmm. I don't seem to have actually fully agreed ...
4 years, 9 months ago (2016-03-24 05:59:29 UTC) #38
servolk
On 2016/03/24 05:59:29, philipj_OOO_til_March29 wrote: > On 2016/03/12 01:02:41, wolenetz wrote: > > > Hmm. ...
4 years, 9 months ago (2016-03-24 21:56:53 UTC) #39
servolk
https://codereview.chromium.org/1659653002/diff/270001/third_party/WebKit/Source/modules/mediasource/SourceBuffer.cpp File third_party/WebKit/Source/modules/mediasource/SourceBuffer.cpp (right): https://codereview.chromium.org/1659653002/diff/270001/third_party/WebKit/Source/modules/mediasource/SourceBuffer.cpp#newcode510 third_party/WebKit/Source/modules/mediasource/SourceBuffer.cpp:510: m_source->mediaElement()->audioTracks().remove(trackId); On 2016/03/24 05:56:00, philipj_OOO_til_March29 wrote: > Can't this ...
4 years, 8 months ago (2016-03-29 01:26:33 UTC) #41
philipj_slow
On 2016/03/24 21:56:53, servolk wrote: > On 2016/03/24 05:59:29, philipj_OOO_til_March29 wrote: > > On 2016/03/12 ...
4 years, 8 months ago (2016-03-29 09:36:35 UTC) #42
philipj_slow
Looking pretty good now. I'll say LGTM so that you can land this if further ...
4 years, 8 months ago (2016-03-29 11:59:22 UTC) #43
servolk
https://codereview.chromium.org/1659653002/diff/390001/third_party/WebKit/Source/modules/mediasource/SourceBuffer.cpp File third_party/WebKit/Source/modules/mediasource/SourceBuffer.cpp (right): https://codereview.chromium.org/1659653002/diff/390001/third_party/WebKit/Source/modules/mediasource/SourceBuffer.cpp#newcode130 third_party/WebKit/Source/modules/mediasource/SourceBuffer.cpp:130: m_audioTracks = AudioTrackList::create(*m_source->mediaElement()); On 2016/03/29 11:59:21, philipj_UTC7 wrote: > ...
4 years, 8 months ago (2016-03-29 17:30:34 UTC) #44
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1659653002/430001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1659653002/430001
4 years, 8 months ago (2016-03-29 17:33:58 UTC) #46
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_blink_oilpan_rel on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_blink_oilpan_rel/builds/22781)
4 years, 8 months ago (2016-03-29 18:44:09 UTC) #48
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1659653002/450001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1659653002/450001
4 years, 8 months ago (2016-03-29 21:40:39 UTC) #50
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 8 months ago (2016-03-30 00:29:08 UTC) #52
wolenetz
On 2016/03/24 05:59:29, philipj_UTC7 wrote: > On 2016/03/12 01:02:41, wolenetz wrote: > > > Hmm. ...
4 years, 8 months ago (2016-03-30 00:47:14 UTC) #53
wolenetz
On 2016/03/29 09:36:35, philipj_UTC7 wrote: > On 2016/03/24 21:56:53, servolk wrote: > > On 2016/03/24 ...
4 years, 8 months ago (2016-03-30 00:49:45 UTC) #54
wolenetz
lgtm2 % a new tiny nit https://codereview.chromium.org/1659653002/diff/450001/third_party/WebKit/Source/modules/mediasource/SourceBuffer.cpp File third_party/WebKit/Source/modules/mediasource/SourceBuffer.cpp (right): https://codereview.chromium.org/1659653002/diff/450001/third_party/WebKit/Source/modules/mediasource/SourceBuffer.cpp#newcode509 third_party/WebKit/Source/modules/mediasource/SourceBuffer.cpp:509: WTF_LOG(Media, "SourceBuffer::initializationSegmentReceived2 %p ...
4 years, 8 months ago (2016-03-30 01:06:15 UTC) #55
servolk
https://codereview.chromium.org/1659653002/diff/450001/third_party/WebKit/Source/modules/mediasource/SourceBuffer.cpp File third_party/WebKit/Source/modules/mediasource/SourceBuffer.cpp (right): https://codereview.chromium.org/1659653002/diff/450001/third_party/WebKit/Source/modules/mediasource/SourceBuffer.cpp#newcode509 third_party/WebKit/Source/modules/mediasource/SourceBuffer.cpp:509: WTF_LOG(Media, "SourceBuffer::initializationSegmentReceived2 %p tracks=%zu", this, newTracks.size()); On 2016/03/30 01:06:15, ...
4 years, 8 months ago (2016-03-30 01:10:37 UTC) #56
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1659653002/470001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1659653002/470001
4 years, 8 months ago (2016-03-30 01:11:11 UTC) #59
commit-bot: I haz the power
Try jobs failed on following builders: win8_chromium_ng on tryserver.chromium.win (JOB_TIMED_OUT, http://build.chromium.org/p/tryserver.chromium.win/builders/win8_chromium_ng/builds/124005)
4 years, 8 months ago (2016-03-30 07:12:48 UTC) #61
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1659653002/470001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1659653002/470001
4 years, 8 months ago (2016-03-30 16:08:17 UTC) #63
commit-bot: I haz the power
Committed patchset #25 (id:470001)
4 years, 8 months ago (2016-03-30 17:13:56 UTC) #65
commit-bot: I haz the power
Patchset 25 (id:??) landed as https://crrev.com/92333c0e5ca6b7768e5bcf6d41ff8fc733ebbfc1 Cr-Commit-Position: refs/heads/master@{#384014}
4 years, 8 months ago (2016-03-30 17:16:20 UTC) #67
esprehn
https://codereview.chromium.org/1659653002/diff/470001/third_party/WebKit/public/platform/WebSourceBufferClient.h File third_party/WebKit/public/platform/WebSourceBufferClient.h (right): https://codereview.chromium.org/1659653002/diff/470001/third_party/WebKit/public/platform/WebSourceBufferClient.h#newcode21 third_party/WebKit/public/platform/WebSourceBufferClient.h:21: typedef std::tuple<WebMediaPlayer::TrackType, WebString, WebString, WebString, WebString> MediaTrackInfo; please define ...
4 years, 8 months ago (2016-04-12 18:44:10 UTC) #69
servolk
4 years, 8 months ago (2016-04-15 20:34:26 UTC) #70
Message was sent while issue was closed.
https://codereview.chromium.org/1659653002/diff/470001/third_party/WebKit/pub...
File third_party/WebKit/public/platform/WebSourceBufferClient.h (right):

https://codereview.chromium.org/1659653002/diff/470001/third_party/WebKit/pub...
third_party/WebKit/public/platform/WebSourceBufferClient.h:21: typedef
std::tuple<WebMediaPlayer::TrackType, WebString, WebString, WebString,
WebString> MediaTrackInfo;
On 2016/04/12 18:44:10, esprehn wrote:
> please define structs instead of making huge tuples. The code in
> WebSourceBufferImpl::InitSegmentReceived should create structs to pass them
in.

Ok, but this CL has already been merged, so I've created a separate CL to update
this:
https://codereview.chromium.org/1897533002

https://codereview.chromium.org/1659653002/diff/470001/third_party/WebKit/pub...
third_party/WebKit/public/platform/WebSourceBufferClient.h:26: virtual
std::vector<WebMediaPlayer::TrackId> initializationSegmentReceived(const
std::vector<MediaTrackInfo>& tracks) = 0;
On 2016/04/12 18:44:10, esprehn wrote:
> This should be WebVector, not std::vector.

Done: https://codereview.chromium.org/1897533002

Powered by Google App Engine
This is Rietveld 408576698