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

Issue 366243003: VideoTrackAdapter: Add passing frames monitor, notify MSVCS -> MSVTrack(s) (Closed)

Created:
6 years, 5 months ago by mcasas
Modified:
6 years, 5 months ago
CC:
chromium-reviews, posciak+watch_chromium.org, jam, mcasas+watch_chromium.org, feature-media-reviews_chromium.org, darin-cc_chromium.org, wjia+watch_chromium.org
Project:
chromium
Visibility:
Public.

Description

VideoTrackAdapter: Add passing frames monitor, notify MSVCS -> MSVTrack(s) MediaStreamVideoSource owns a VideoTrackAdapter, that sees the frames passing by (possibly adapting frame rate and resolution). This CL extends this VTA to monitor passing frames. Every time the monitoring wakes up, it notifies the MediaStreamVideoSource of the muted state via SetMutedState. This Class has no state, simply updates all registered MediaStreamVideoTracks, who have a muted state. Later CLs will further connect the MSVT::SetMutedState() to ping WebMediaStreamTrack etc. BUG=389159 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=283285

Patch Set 1 : #

Total comments: 28

Patch Set 2 : grunell@ comments #

Total comments: 17

Patch Set 3 : grunell@s comments #

Total comments: 6

Patch Set 4 : grunell@ comments and added a UT with 1 source muted pinging two tracks. #

Total comments: 10

Patch Set 5 : grunell@ comments #

Total comments: 10

Patch Set 6 : tommi@s comments and grunell@ nit #

Patch Set 7 : Correct handling of 0.0fps frame rate sources #

Unified diffs Side-by-side diffs Delta from patch set Stats (+249 lines, -19 lines) Patch
M content/renderer/media/media_stream_track.h View 1 2 3 4 5 3 chunks +9 lines, -0 lines 0 comments Download
M content/renderer/media/media_stream_track.cc View 1 2 3 4 5 2 chunks +15 lines, -1 line 0 comments Download
M content/renderer/media/media_stream_video_capturer_source.h View 1 chunk +0 lines, -1 line 0 comments Download
M content/renderer/media/media_stream_video_capturer_source.cc View 2 chunks +1 line, -3 lines 0 comments Download
M content/renderer/media/media_stream_video_source.h View 1 2 3 4 5 3 chunks +7 lines, -3 lines 0 comments Download
M content/renderer/media/media_stream_video_source.cc View 1 2 3 4 5 7 chunks +23 lines, -1 line 0 comments Download
M content/renderer/media/media_stream_video_source_unittest.cc View 1 2 3 4 2 chunks +87 lines, -0 lines 0 comments Download
M content/renderer/media/media_stream_video_track.h View 1 2 3 1 chunk +3 lines, -0 lines 0 comments Download
M content/renderer/media/media_stream_video_track.cc View 1 2 3 2 chunks +10 lines, -1 line 0 comments Download
M content/renderer/media/mock_media_stream_video_source.h View 1 2 3 3 chunks +9 lines, -0 lines 0 comments Download
M content/renderer/media/video_track_adapter.h View 1 2 3 4 chunks +22 lines, -1 line 0 comments Download
M content/renderer/media/video_track_adapter.cc View 1 2 3 4 5 6 5 chunks +63 lines, -8 lines 0 comments Download

Messages

Total messages: 24 (0 generated)
mcasas
grunell@ PTAL.
6 years, 5 months ago (2014-07-08 09:17:23 UTC) #1
mcasas
The CQ bit was checked by mcasas@chromium.org
6 years, 5 months ago (2014-07-08 09:22:09 UTC) #2
mcasas
The CQ bit was unchecked by mcasas@chromium.org
6 years, 5 months ago (2014-07-08 09:22:10 UTC) #3
Henrik Grunell
https://codereview.chromium.org/366243003/diff/20001/content/renderer/media/media_stream_track.h File content/renderer/media/media_stream_track.h (right): https://codereview.chromium.org/366243003/diff/20001/content/renderer/media/media_stream_track.h#newcode50 content/renderer/media/media_stream_track.h:50: // The source can put this attribute to true ...
6 years, 5 months ago (2014-07-08 11:39:54 UTC) #4
mcasas
grunell@ PTAL https://codereview.chromium.org/366243003/diff/20001/content/renderer/media/media_stream_track.h File content/renderer/media/media_stream_track.h (right): https://codereview.chromium.org/366243003/diff/20001/content/renderer/media/media_stream_track.h#newcode50 content/renderer/media/media_stream_track.h:50: // The source can put this attribute ...
6 years, 5 months ago (2014-07-08 16:12:01 UTC) #5
Henrik Grunell
https://codereview.chromium.org/366243003/diff/20001/content/renderer/media/media_stream_video_source.cc File content/renderer/media/media_stream_video_source.cc (right): https://codereview.chromium.org/366243003/diff/20001/content/renderer/media/media_stream_video_source.cc#newcode558 content/renderer/media/media_stream_video_source.cc:558: // QUESTION(mcasas): is Unretained OK here? On 2014/07/08 16:12:01, ...
6 years, 5 months ago (2014-07-09 08:55:53 UTC) #6
mcasas
grunell@ PTAL. https://codereview.chromium.org/366243003/diff/20001/content/renderer/media/media_stream_video_source.cc File content/renderer/media/media_stream_video_source.cc (right): https://codereview.chromium.org/366243003/diff/20001/content/renderer/media/media_stream_video_source.cc#newcode558 content/renderer/media/media_stream_video_source.cc:558: // QUESTION(mcasas): is Unretained OK here? On ...
6 years, 5 months ago (2014-07-09 12:39:36 UTC) #7
Henrik Grunell
https://codereview.chromium.org/366243003/diff/20001/content/renderer/media/media_stream_video_source.cc File content/renderer/media/media_stream_video_source.cc (right): https://codereview.chromium.org/366243003/diff/20001/content/renderer/media/media_stream_video_source.cc#newcode558 content/renderer/media/media_stream_video_source.cc:558: // QUESTION(mcasas): is Unretained OK here? On 2014/07/09 12:39:35, ...
6 years, 5 months ago (2014-07-09 13:01:23 UTC) #8
Henrik Grunell
https://codereview.chromium.org/366243003/diff/60001/content/renderer/media/video_track_adapter.cc File content/renderer/media/video_track_adapter.cc (right): https://codereview.chromium.org/366243003/diff/60001/content/renderer/media/video_track_adapter.cc#newcode336 content/renderer/media/video_track_adapter.cc:336: io_message_loop_->PostTask( Looks like we start a new monitor loop ...
6 years, 5 months ago (2014-07-09 14:00:43 UTC) #9
mcasas
grunell@ PTAL. https://codereview.chromium.org/366243003/diff/60001/content/renderer/media/video_track_adapter.cc File content/renderer/media/video_track_adapter.cc (right): https://codereview.chromium.org/366243003/diff/60001/content/renderer/media/video_track_adapter.cc#newcode336 content/renderer/media/video_track_adapter.cc:336: io_message_loop_->PostTask( On 2014/07/09 14:00:42, Henrik Grunell wrote: ...
6 years, 5 months ago (2014-07-10 08:16:55 UTC) #10
Henrik Grunell
https://codereview.chromium.org/366243003/diff/80001/content/renderer/media/media_stream_track.cc File content/renderer/media/media_stream_track.cc (right): https://codereview.chromium.org/366243003/diff/80001/content/renderer/media/media_stream_track.cc#newcode39 content/renderer/media/media_stream_track.cc:39: bool MediaStreamTrack::GetMutedState(void) const { Remove. https://codereview.chromium.org/366243003/diff/80001/content/renderer/media/media_stream_track.h File content/renderer/media/media_stream_track.h (right): ...
6 years, 5 months ago (2014-07-10 08:41:35 UTC) #11
mcasas
grunell@ PTAL https://codereview.chromium.org/366243003/diff/80001/content/renderer/media/media_stream_track.h File content/renderer/media/media_stream_track.h (right): https://codereview.chromium.org/366243003/diff/80001/content/renderer/media/media_stream_track.h#newcode38 content/renderer/media/media_stream_track.h:38: virtual bool GetMutedState(void) const; On 2014/07/10 08:41:34, ...
6 years, 5 months ago (2014-07-10 11:59:04 UTC) #12
Henrik Grunell
LGTM https://codereview.chromium.org/366243003/diff/100001/content/renderer/media/video_track_adapter.cc File content/renderer/media/video_track_adapter.cc (right): https://codereview.chromium.org/366243003/diff/100001/content/renderer/media/video_track_adapter.cc#newcode385 content/renderer/media/video_track_adapter.cc:385: if (adapters_.size() > 0) Nit: It doesn't happen ...
6 years, 5 months ago (2014-07-10 13:49:30 UTC) #13
mcasas
tommi@ PTAL
6 years, 5 months ago (2014-07-10 13:51:20 UTC) #14
tommi (sloooow) - chröme
lgtm https://codereview.chromium.org/366243003/diff/100001/content/renderer/media/media_stream_track.cc File content/renderer/media/media_stream_track.cc (right): https://codereview.chromium.org/366243003/diff/100001/content/renderer/media/media_stream_track.cc#newcode36 content/renderer/media/media_stream_track.cc:36: muted_state_ = muted_state; thread check? In general the ...
6 years, 5 months ago (2014-07-14 16:55:58 UTC) #15
mcasas
The CQ bit was checked by mcasas@chromium.org
6 years, 5 months ago (2014-07-15 08:22:59 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/mcasas@chromium.org/366243003/120001
6 years, 5 months ago (2014-07-15 08:25:08 UTC) #17
mcasas
The CQ bit was checked by mcasas@chromium.org
6 years, 5 months ago (2014-07-15 10:54:55 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/mcasas@chromium.org/366243003/140001
6 years, 5 months ago (2014-07-15 10:56:14 UTC) #19
mcasas
The CQ bit was unchecked by mcasas@chromium.org
6 years, 5 months ago (2014-07-15 17:11:18 UTC) #20
mcasas
The CQ bit was checked by mcasas@chromium.org
6 years, 5 months ago (2014-07-15 17:11:25 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/mcasas@chromium.org/366243003/140001
6 years, 5 months ago (2014-07-15 17:13:54 UTC) #22
commit-bot: I haz the power
Change committed as 283285
6 years, 5 months ago (2014-07-16 00:02:08 UTC) #23
mcasas
6 years, 5 months ago (2014-07-18 07:25:06 UTC) #24
Message was sent while issue was closed.
Submitting comments, please ignore.

https://codereview.chromium.org/366243003/diff/100001/content/renderer/media/...
File content/renderer/media/media_stream_track.cc (right):

https://codereview.chromium.org/366243003/diff/100001/content/renderer/media/...
content/renderer/media/media_stream_track.cc:36: muted_state_ = muted_state;
On 2014/07/14 16:55:57, tommi wrote:
> thread check?  In general the class looks like its single threaded, so dchecks
> all around would be good.

Done.

https://codereview.chromium.org/366243003/diff/100001/content/renderer/media/...
File content/renderer/media/media_stream_video_source.cc (right):

https://codereview.chromium.org/366243003/diff/100001/content/renderer/media/...
content/renderer/media/media_stream_video_source.cc:589:
DCHECK(CalledOnValidThread());
On 2014/07/14 16:55:57, tommi wrote:
> can you add this check to the other methods too?

Done.

https://codereview.chromium.org/366243003/diff/100001/content/renderer/media/...
File content/renderer/media/media_stream_video_source.h (right):

https://codereview.chromium.org/366243003/diff/100001/content/renderer/media/...
content/renderer/media/media_stream_video_source.h:38: // When the first track
is added to the source by calling AddTrack the
On 2014/07/14 16:55:57, tommi wrote:
> AddTrack, the

Done.

https://codereview.chromium.org/366243003/diff/100001/content/renderer/media/...
File content/renderer/media/video_track_adapter.cc (right):

https://codereview.chromium.org/366243003/diff/100001/content/renderer/media/...
content/renderer/media/video_track_adapter.cc:385: if (adapters_.size() > 0)
On 2014/07/10 13:49:30, Henrik Grunell OOO back Aug 11 wrote:
> Nit: It doesn't happen to have an empty() function? If so, use it.

Done.

https://codereview.chromium.org/366243003/diff/100001/content/renderer/media/...
content/renderer/media/video_track_adapter.cc:390: <<
(kFirstFrameTimeoutInFrameIntervals / source_frame_rate_) << "s";
On 2014/07/14 16:55:58, tommi wrote:
> nit: align <<

I think it's aligned.

Powered by Google App Engine
This is Rietveld 408576698