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

Issue 2050043002: Generate and assign media track ids in demuxers. (Closed)

Created:
4 years, 6 months ago by servolk
Modified:
4 years, 6 months ago
CC:
chromium-reviews, mlamouri+watch-content_chromium.org, nessy, posciak+watch_chromium.org, gasubic, blink-reviews-html_chromium.org, jam, fs, eric.carlson_apple.com, blink-reviews-api_chromium.org, feature-media-reviews_chromium.org, dglazkov+blink, blink-reviews, darin-cc_chromium.org, mcasas+watch+vc_chromium.org, mkwst+moarreviews-renderer_chromium.org, mlamouri+watch-blink_chromium.org, vcarbune.chromium, miu+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@use-streamparser-trackid
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Generate and assign media track ids in demuxers. Currently media track ids are generated on blink level, but this complicates media track management. In particular when media tracks are created on demuxer level we don't know their unique ids yet, so we can't easily set up track id -> demuxer stream mappings. Assigning track ids at the demuxer level makes that much easier. BUG=249427, 341581 Committed: https://crrev.com/fa5c37c65c5f038882af6ca8222566d0928930a0 Cr-Commit-Position: refs/heads/master@{#400198}

Patch Set 1 #

Total comments: 34

Patch Set 2 : cr feedback #

Patch Set 3 : Remove Demuxer::GetDemuxerStreamByTrackId #

Total comments: 16

Patch Set 4 : Rebase to fix build errors #

Patch Set 5 : Rebase #

Total comments: 16

Patch Set 6 : CR feedback #

Patch Set 7 : rebase #

Total comments: 6

Patch Set 8 : More CR feedback (codec validity checks in mp4 parser) #

Patch Set 9 : rebase #

Patch Set 10 : rebase to ToT #

Unified diffs Side-by-side diffs Delta from patch set Stats (+225 lines, -117 lines) Patch
M content/renderer/media/webmediaplayer_ms_unittest.cc View 1 2 3 4 5 6 7 8 9 2 chunks +2 lines, -2 lines 0 comments Download
M media/base/media_track.h View 1 2 3 4 5 6 7 2 chunks +21 lines, -0 lines 0 comments Download
M media/base/media_tracks.h View 1 1 chunk +10 lines, -10 lines 0 comments Download
M media/base/media_tracks.cc View 1 1 chunk +16 lines, -10 lines 0 comments Download
M media/blink/webmediaplayer_impl.cc View 1 2 3 4 5 6 7 8 1 chunk +10 lines, -16 lines 0 comments Download
M media/blink/webmediaplayer_impl_unittest.cc View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -2 lines 0 comments Download
M media/blink/websourcebuffer_impl.cc View 1 1 chunk +1 line, -2 lines 0 comments Download
M media/filters/chunk_demuxer.h View 1 2 3 4 5 5 chunks +11 lines, -1 line 0 comments Download
M media/filters/chunk_demuxer.cc View 1 2 3 4 3 chunks +25 lines, -9 lines 0 comments Download
M media/filters/chunk_demuxer_unittest.cc View 1 2 3 4 1 chunk +7 lines, -0 lines 0 comments Download
M media/filters/ffmpeg_demuxer.cc View 1 2 3 4 1 chunk +7 lines, -4 lines 0 comments Download
M media/filters/frame_processor_unittest.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M media/filters/media_source_state.h View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -2 lines 0 comments Download
M media/filters/media_source_state.cc View 1 2 3 4 5 3 chunks +42 lines, -5 lines 0 comments Download
M media/formats/mp4/mp4_stream_parser.cc View 1 2 3 4 5 6 7 2 chunks +10 lines, -0 lines 0 comments Download
M media/test/pipeline_integration_test.cc View 1 2 3 4 5 6 7 8 3 chunks +14 lines, -6 lines 0 comments Download
M media/test/pipeline_integration_test_base.cc View 1 2 3 4 5 6 7 8 2 chunks +11 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/core/html/HTMLMediaElement.cpp View 1 2 3 4 5 6 chunks +7 lines, -7 lines 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/TextTrackList.cpp View 1 2 3 4 5 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 +1 line, -3 lines 0 comments Download
M third_party/WebKit/Source/core/html/track/TrackBase.cpp View 1 chunk +1 line, -8 lines 0 comments Download
M third_party/WebKit/Source/core/html/track/TrackListBase.h View 1 2 3 4 5 2 chunks +2 lines, -2 lines 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.cpp View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/modules/mediasource/SourceBuffer.cpp View 1 2 3 4 5 6 7 8 9 5 chunks +16 lines, -14 lines 0 comments Download
M third_party/WebKit/public/platform/WebMediaPlayer.h View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/public/platform/WebSourceBufferClient.h View 1 2 3 4 5 1 chunk +2 lines, -2 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 62 (17 generated)
servolk
4 years, 6 months ago (2016-06-09 00:31:43 UTC) #3
servolk
On 2016/06/09 00:31:43, servolk wrote: See the discussion in https://codereview.chromium.org/1922333002/ for more context and explanations ...
4 years, 6 months ago (2016-06-09 00:33:02 UTC) #4
xhwang
I like this better. Here are my comments. https://chromiumcodereview.appspot.com/2050043002/diff/1/media/base/demuxer.h File media/base/demuxer.h (right): https://chromiumcodereview.appspot.com/2050043002/diff/1/media/base/demuxer.h#newcode138 media/base/demuxer.h:138: virtual ...
4 years, 6 months ago (2016-06-09 06:06:02 UTC) #5
chcunningham
https://codereview.chromium.org/2050043002/diff/1/media/blink/websourcebuffer_impl.cc File media/blink/websourcebuffer_impl.cc (right): https://codereview.chromium.org/2050043002/diff/1/media/blink/websourcebuffer_impl.cc#newcode186 media/blink/websourcebuffer_impl.cc:186: trackInfo.byteStreamTrackId = blink::WebString::fromUTF8(track->id()); I think you this is not ...
4 years, 6 months ago (2016-06-09 17:57:19 UTC) #6
servolk
https://codereview.chromium.org/2050043002/diff/1/media/base/demuxer.h File media/base/demuxer.h (right): https://codereview.chromium.org/2050043002/diff/1/media/base/demuxer.h#newcode138 media/base/demuxer.h:138: virtual const DemuxerStream* GetDemuxerStreamByTrackId( On 2016/06/09 06:06:02, xhwang wrote: ...
4 years, 6 months ago (2016-06-09 19:14:46 UTC) #7
wolenetz
Note that MSE V1 spec is (today) about to republish entry into CR and the ...
4 years, 6 months ago (2016-06-09 19:20:58 UTC) #8
wolenetz
On 2016/06/09 19:20:58, wolenetz_slow_reviews wrote: > Note that MSE V1 spec is (today) about to ...
4 years, 6 months ago (2016-06-09 19:30:02 UTC) #9
wolenetz
On 2016/06/09 19:30:02, wolenetz_slow_reviews wrote: > On 2016/06/09 19:20:58, wolenetz_slow_reviews wrote: > > Note that ...
4 years, 6 months ago (2016-06-09 19:44:03 UTC) #10
servolk
https://codereview.chromium.org/2050043002/diff/1/third_party/WebKit/Source/modules/mediasource/SourceBuffer.cpp File third_party/WebKit/Source/modules/mediasource/SourceBuffer.cpp (right): https://codereview.chromium.org/2050043002/diff/1/third_party/WebKit/Source/modules/mediasource/SourceBuffer.cpp#newcode588 third_party/WebKit/Source/modules/mediasource/SourceBuffer.cpp:588: // https://w3c.github.io/media-source/#sourcebuffer-init-segment-received On 2016/06/09 19:20:58, wolenetz_slow_reviews wrote: > There ...
4 years, 6 months ago (2016-06-09 20:42:04 UTC) #11
xhwang
https://codereview.chromium.org/2050043002/diff/1/media/base/demuxer.h File media/base/demuxer.h (right): https://codereview.chromium.org/2050043002/diff/1/media/base/demuxer.h#newcode138 media/base/demuxer.h:138: virtual const DemuxerStream* GetDemuxerStreamByTrackId( On 2016/06/09 19:14:46, servolk wrote: ...
4 years, 6 months ago (2016-06-09 21:04:16 UTC) #12
servolk
On 2016/06/09 21:04:16, xhwang wrote: > https://codereview.chromium.org/2050043002/diff/1/media/base/demuxer.h > File media/base/demuxer.h (right): > > https://codereview.chromium.org/2050043002/diff/1/media/base/demuxer.h#newcode138 > ...
4 years, 6 months ago (2016-06-09 22:16:57 UTC) #13
xhwang
On 2016/06/09 22:16:57, servolk wrote: > On 2016/06/09 21:04:16, xhwang wrote: > > https://codereview.chromium.org/2050043002/diff/1/media/base/demuxer.h > ...
4 years, 6 months ago (2016-06-09 22:55:57 UTC) #14
servolk
On 2016/06/09 22:55:57, xhwang wrote: > On 2016/06/09 22:16:57, servolk wrote: > > On 2016/06/09 ...
4 years, 6 months ago (2016-06-09 23:59:45 UTC) #15
servolk
On 2016/06/09 23:59:45, servolk wrote: > On 2016/06/09 22:55:57, xhwang wrote: > > On 2016/06/09 ...
4 years, 6 months ago (2016-06-10 00:32:24 UTC) #16
xhwang
Looking great. I just have some more ideas for further simplification. Please take a look ...
4 years, 6 months ago (2016-06-10 17:06:54 UTC) #17
servolk
https://codereview.chromium.org/2050043002/diff/40001/media/base/media_track.h File media/base/media_track.h (right): https://codereview.chromium.org/2050043002/diff/40001/media/base/media_track.h#newcode40 media/base/media_track.h:40: } On 2016/06/10 17:06:53, xhwang wrote: > I wonder ...
4 years, 6 months ago (2016-06-10 22:05:25 UTC) #19
xhwang
I chat with servolk offline. The MediaTrack should be fixed for a DemuxerStream after the ...
4 years, 6 months ago (2016-06-10 23:37:30 UTC) #20
servolk
On 2016/06/10 23:37:30, xhwang wrote: > I chat with servolk offline. The MediaTrack should be ...
4 years, 6 months ago (2016-06-13 18:50:48 UTC) #21
wolenetz
On 2016/06/10 23:37:30, xhwang wrote: > I chat with servolk offline. The MediaTrack should be ...
4 years, 6 months ago (2016-06-13 19:00:37 UTC) #22
xhwang
On 2016/06/13 19:00:37, wolenetz_slow_reviews wrote: > On 2016/06/10 23:37:30, xhwang wrote: > > I chat ...
4 years, 6 months ago (2016-06-13 19:02:59 UTC) #23
wolenetz
On 2016/06/13 18:50:48, servolk wrote: > Matt, are you ok with the approach I described ...
4 years, 6 months ago (2016-06-13 19:16:18 UTC) #24
wolenetz
On 2016/06/09 20:42:04, servolk wrote: > ... Although to be honest I don't > fully ...
4 years, 6 months ago (2016-06-13 19:19:00 UTC) #25
wolenetz
On 2016/06/13 19:19:00, wolenetz_slow_reviews wrote: > On 2016/06/09 20:42:04, servolk wrote: > > > ...
4 years, 6 months ago (2016-06-13 19:19:58 UTC) #26
chcunningham
lgtm % nits https://codereview.chromium.org/2050043002/diff/80001/media/filters/chunk_demuxer.h File media/filters/chunk_demuxer.h (right): https://codereview.chromium.org/2050043002/diff/80001/media/filters/chunk_demuxer.h#newcode336 media/filters/chunk_demuxer.h:336: void OnInitSegmentReported(const MediaTracksUpdatedCB& tracks_updated_cb, Is this ...
4 years, 6 months ago (2016-06-13 19:30:44 UTC) #27
chcunningham
https://codereview.chromium.org/2050043002/diff/80001/third_party/WebKit/Source/core/html/HTMLMediaElement.cpp File third_party/WebKit/Source/core/html/HTMLMediaElement.cpp (right): https://codereview.chromium.org/2050043002/diff/80001/third_party/WebKit/Source/core/html/HTMLMediaElement.cpp#newcode2396 third_party/WebKit/Source/core/html/HTMLMediaElement.cpp:2396: DVLOG(MEDIA_LOG_LEVEL) << "audioTrackChanged(" << (void*)this << ") trackId= " ...
4 years, 6 months ago (2016-06-13 19:32:12 UTC) #28
wolenetz
Only one non-nit: (why OnNewConfigs now allows mix of invalid and valid configs to not ...
4 years, 6 months ago (2016-06-13 19:51:38 UTC) #29
servolk
https://codereview.chromium.org/2050043002/diff/80001/media/base/media_track.h File media/base/media_track.h (right): https://codereview.chromium.org/2050043002/diff/80001/media/base/media_track.h#newcode46 media/base/media_track.h:46: // unique only within the scope of single bytestream. ...
4 years, 6 months ago (2016-06-13 22:00:16 UTC) #31
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2050043002/100001
4 years, 6 months ago (2016-06-13 22:06:22 UTC) #33
wolenetz
2 Comment nits, plus a request for inspection with IsValidConfig() and conditional parse failure in ...
4 years, 6 months ago (2016-06-13 23:23:58 UTC) #34
servolk
https://codereview.chromium.org/2050043002/diff/120001/media/base/media_track.h File media/base/media_track.h (right): https://codereview.chromium.org/2050043002/diff/120001/media/base/media_track.h#newcode49 media/base/media_track.h:49: // multiple/ MediaSourceStates and multiple bytestreams) or subsequent init ...
4 years, 6 months ago (2016-06-14 00:01:22 UTC) #35
wolenetz
lgtm
4 years, 6 months ago (2016-06-14 22:14:09 UTC) #36
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2050043002/160001
4 years, 6 months ago (2016-06-14 22:15:19 UTC) #39
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/200614)
4 years, 6 months ago (2016-06-14 22:29:01 UTC) #41
haraken
owner LGTM for WebKit/.
4 years, 6 months ago (2016-06-14 23:48:23 UTC) #42
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2050043002/160001
4 years, 6 months ago (2016-06-14 23:54:26 UTC) #44
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/200698)
4 years, 6 months ago (2016-06-15 00:03:08 UTC) #46
servolk
On 2016/06/15 00:03:08, commit-bot: I haz the power wrote: > Try jobs failed on following ...
4 years, 6 months ago (2016-06-15 00:22:04 UTC) #48
wolenetz
On 2016/06/15 00:22:04, servolk wrote: > On 2016/06/15 00:03:08, commit-bot: I haz the power wrote: ...
4 years, 6 months ago (2016-06-15 17:57:32 UTC) #49
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2050043002/180001
4 years, 6 months ago (2016-06-16 17:00:19 UTC) #51
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 6 months ago (2016-06-16 17:08:01 UTC) #53
Rick Byers
public LGTM
4 years, 6 months ago (2016-06-16 17:49:42 UTC) #54
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2050043002/180001
4 years, 6 months ago (2016-06-16 17:51:26 UTC) #57
commit-bot: I haz the power
Committed patchset #10 (id:180001)
4 years, 6 months ago (2016-06-16 17:57:00 UTC) #59
commit-bot: I haz the power
CQ bit was unchecked
4 years, 6 months ago (2016-06-16 17:57:05 UTC) #60
commit-bot: I haz the power
4 years, 6 months ago (2016-06-16 17:58:29 UTC) #62
Message was sent while issue was closed.
Patchset 10 (id:??) landed as
https://crrev.com/fa5c37c65c5f038882af6ca8222566d0928930a0
Cr-Commit-Position: refs/heads/master@{#400198}

Powered by Google App Engine
This is Rietveld 408576698