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

Issue 178073004: Cast: IPC from browser to renderer to send packet events from transport to cast library. (Closed)

Created:
6 years, 10 months ago by imcheng
Modified:
6 years, 9 months ago
CC:
chromium-reviews, hclam+watch_chromium.org, mikhal+watch_chromium.org, fischman+watch_chromium.org, jasonroberts+watch_google.com, mcasas+watch_chromium.org, pwestin+watch_google.com, feature-media-reviews_chromium.org, hguihot+watch_chromium.org, wjia+watch_chromium.org, hubbe+watch_chromium.org, miu+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Visibility:
Public.

Description

Cast: IPC from browser to renderer to send packet events from transport to cast library. - Added a new IPC message: CastMsg_RawEvents - Transmit cast logging settings to transport on browser side by adding a new field in CastTransportConfig. - Install a LoggingImpl on transport side -- If raw event logging is enabled, install a SimpleEventSubscriber to capture packet events. -- If raw event logging is enabled, a RepeatingTimer will be started to call the subscriber to collect packet events and send back to cast library via the IPC. NOTE: Currently, no actual packet events are logged on the transport. That will be in the next CL. There are two ways to do this: - Pass LoggingImpl to sub components on the transport (paced_sender, rtp_packetizer, etc.) - Pass a callback that will be propagated down and invoked at the right place. BUG=343992 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=255579

Patch Set 1 #

Patch Set 2 : Change sender app #

Total comments: 4

Patch Set 3 : Addressed hubbe's comments #

Total comments: 6

Patch Set 4 : Addressed hubbe's comments and added a test #

Patch Set 5 : Rebase #

Patch Set 6 : Fix tests #

Patch Set 7 : Fix compile #

Patch Set 8 : Rebase #

Patch Set 9 : fix sender app #

Total comments: 9

Patch Set 10 : fix test #

Patch Set 11 : Addressed miu's comments #

Patch Set 12 : Change to DVLOG(1) #

Total comments: 10

Patch Set 13 : Addressed dcheng's comments #

Total comments: 2

Patch Set 14 : Addressed dcheng's 2nd set of comments #

Patch Set 15 : Rebase #

Patch Set 16 : fix compile and tests #

Patch Set 17 : Fix tests #

Patch Set 18 : fix another test #

Patch Set 19 : Fix compile #

Patch Set 20 : Add gyp deps #

Patch Set 21 : Break gyp dependency #

Patch Set 22 : Change chrome_browser.gypi as well #

Patch Set 23 : Added new gyp file for logging to break circ dependency #

Patch Set 24 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+772 lines, -220 lines) Patch
M chrome/browser/media/cast_transport_host_filter.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 3 chunks +7 lines, -4 lines 0 comments Download
M chrome/browser/media/cast_transport_host_filter.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 3 chunks +23 lines, -3 lines 0 comments Download
M chrome/browser/media/cast_transport_host_filter_unittest.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 5 chunks +11 lines, -5 lines 0 comments Download
M chrome/chrome_browser.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +1 line, -0 lines 0 comments Download
M chrome/chrome_renderer.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +1 line, -1 line 0 comments Download
M chrome/common/cast_messages.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 5 chunks +26 lines, -5 lines 0 comments Download
M chrome/renderer/media/cast_ipc_dispatcher.h View 2 chunks +3 lines, -0 lines 0 comments Download
M chrome/renderer/media/cast_ipc_dispatcher.cc View 1 2 3 4 5 6 7 8 9 10 4 chunks +16 lines, -5 lines 0 comments Download
M chrome/renderer/media/cast_session_delegate.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +5 lines, -1 line 0 comments Download
M chrome/renderer/media/cast_session_delegate.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 5 chunks +27 lines, -5 lines 0 comments Download
M chrome/renderer/media/cast_transport_sender_ipc.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 4 chunks +7 lines, -1 line 0 comments Download
M chrome/renderer/media/cast_transport_sender_ipc.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 3 chunks +12 lines, -5 lines 0 comments Download
M media/cast/audio_sender/audio_sender_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +5 lines, -1 line 0 comments Download
M media/cast/cast.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 4 chunks +5 lines, -68 lines 0 comments Download
M media/cast/cast_receiver_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, -0 lines 0 comments Download
M media/cast/logging/encoding_event_subscriber_unittest.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 6 chunks +54 lines, -27 lines 0 comments Download
A media/cast/logging/logging.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +87 lines, -0 lines 0 comments Download
M media/cast/logging/logging_defines.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 +7 lines, -4 lines 0 comments Download
M media/cast/logging/logging_defines.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 4 chunks +12 lines, -13 lines 0 comments Download
M media/cast/logging/logging_impl.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 +4 lines, -0 lines 0 comments Download
M media/cast/logging/logging_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 +30 lines, -16 lines 0 comments Download
M media/cast/logging/logging_impl_unittest.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 2 chunks +8 lines, -4 lines 0 comments Download
M media/cast/logging/proto/proto_utils.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 +6 lines, -6 lines 0 comments Download
M media/cast/logging/proto/raw_events.proto 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 +10 lines, -7 lines 0 comments Download
M media/cast/logging/serialize_deserialize_test.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 +2 lines, -2 lines 0 comments Download
M media/cast/rtcp/rtcp_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 chunks +6 lines, -1 line 0 comments Download
M media/cast/test/end2end_unittest.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 7 chunks +28 lines, -4 lines 0 comments Download
M media/cast/test/sender.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 5 chunks +38 lines, -13 lines 0 comments Download
M media/cast/transport/cast_transport.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +1 line, -0 lines 0 comments Download
M media/cast/transport/cast_transport_sender.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +7 lines, -0 lines 0 comments Download
M media/cast/transport/cast_transport_sender_impl.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 3 chunks +24 lines, -0 lines 0 comments Download
M media/cast/transport/cast_transport_sender_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 5 chunks +40 lines, -4 lines 0 comments Download
A media/cast/transport/cast_transport_sender_impl_unittest.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 +113 lines, -0 lines 0 comments Download
M media/cast/transport/pacing/paced_sender.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 3 chunks +19 lines, -4 lines 0 comments Download
M media/cast/transport/pacing/paced_sender.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 7 chunks +75 lines, -4 lines 0 comments Download
M media/cast/transport/rtp_sender/rtp_packetizer/rtp_packetizer.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 3 chunks +13 lines, -1 line 0 comments Download
M media/cast/transport/rtp_sender/rtp_packetizer/rtp_packetizer.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 2 chunks +10 lines, -1 line 0 comments Download
M media/cast/transport/rtp_sender/rtp_sender.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 3 chunks +5 lines, -0 lines 0 comments Download
M media/cast/transport/rtp_sender/rtp_sender.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 3 chunks +6 lines, -2 lines 0 comments Download
M media/cast/transport/transport_audio_sender.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 2 chunks +4 lines, -0 lines 0 comments Download
M media/cast/transport/transport_audio_sender.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 +2 lines, -1 line 0 comments Download
M media/cast/transport/transport_video_sender.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 2 chunks +3 lines, -0 lines 0 comments Download
M media/cast/transport/transport_video_sender.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 +2 lines, -1 line 0 comments Download
M media/cast/video_sender/video_sender_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +6 lines, -1 line 0 comments Download

Messages

Total messages: 52 (0 generated)
imcheng
PTAL. I am going to write tests for this but I wanted to gather some ...
6 years, 10 months ago (2014-02-25 02:42:39 UTC) #1
Alpha Left Google
6 years, 10 months ago (2014-02-25 03:34:44 UTC) #2
Alpha Left Google
On 2014/02/25 03:34:44, Alpha wrote: Removing myself from reviewer list. Yuri is going help reviewing ...
6 years, 10 months ago (2014-02-25 03:35:04 UTC) #3
hubbe
Did you try building and running cast_unittests? It seems like there should be some changes ...
6 years, 10 months ago (2014-02-25 22:22:16 UTC) #4
imcheng
Yes, I had to make some changes to cast_unittests. Functionally the tests remained the same ...
6 years, 10 months ago (2014-02-25 23:14:55 UTC) #5
hubbe
https://codereview.chromium.org/178073004/diff/40001/media/cast/audio_sender/audio_sender_unittest.cc File media/cast/audio_sender/audio_sender_unittest.cc (right): https://codereview.chromium.org/178073004/diff/40001/media/cast/audio_sender/audio_sender_unittest.cc#newcode102 media/cast/audio_sender/audio_sender_unittest.cc:102: // Do nothing, we don't care about logging in ...
6 years, 10 months ago (2014-02-26 01:01:06 UTC) #6
imcheng
https://codereview.chromium.org/178073004/diff/40001/media/cast/audio_sender/audio_sender_unittest.cc File media/cast/audio_sender/audio_sender_unittest.cc (right): https://codereview.chromium.org/178073004/diff/40001/media/cast/audio_sender/audio_sender_unittest.cc#newcode102 media/cast/audio_sender/audio_sender_unittest.cc:102: // Do nothing, we don't care about logging in ...
6 years, 10 months ago (2014-02-26 10:08:25 UTC) #7
imcheng
Fix compile
6 years, 10 months ago (2014-02-26 18:33:32 UTC) #8
hubbe
LGTM (when it compiles)
6 years, 10 months ago (2014-02-26 22:35:37 UTC) #9
miu
lgtm, but please address the comments below: https://codereview.chromium.org/178073004/diff/200001/chrome/browser/media/cast_transport_host_filter.cc File chrome/browser/media/cast_transport_host_filter.cc (right): https://codereview.chromium.org/178073004/diff/200001/chrome/browser/media/cast_transport_host_filter.cc#newcode14 chrome/browser/media/cast_transport_host_filter.cc:14: static const ...
6 years, 10 months ago (2014-02-26 22:43:51 UTC) #10
imcheng
https://codereview.chromium.org/178073004/diff/200001/chrome/browser/media/cast_transport_host_filter.cc File chrome/browser/media/cast_transport_host_filter.cc (right): https://codereview.chromium.org/178073004/diff/200001/chrome/browser/media/cast_transport_host_filter.cc#newcode14 chrome/browser/media/cast_transport_host_filter.cc:14: static const int kSendRawEventsIntervalSecs = 1; On 2014/02/26 22:43:51, ...
6 years, 10 months ago (2014-02-26 23:35:54 UTC) #11
imcheng
Adding +dcheng for chrome/common/cast_messages.h Hey Daniel, in this CL I am making some incremental changes ...
6 years, 10 months ago (2014-02-26 23:43:24 UTC) #12
miu
https://codereview.chromium.org/178073004/diff/200001/chrome/renderer/media/cast_ipc_dispatcher.cc File chrome/renderer/media/cast_ipc_dispatcher.cc (right): https://codereview.chromium.org/178073004/diff/200001/chrome/renderer/media/cast_ipc_dispatcher.cc#newcode124 chrome/renderer/media/cast_ipc_dispatcher.cc:124: LOG(ERROR) << "CastIPCDispatcher::OnRawEvents on non-existing channel."; On 2014/02/26 23:35:55, ...
6 years, 10 months ago (2014-02-26 23:57:52 UTC) #13
imcheng
On 2014/02/26 23:57:52, miu wrote: > https://codereview.chromium.org/178073004/diff/200001/chrome/renderer/media/cast_ipc_dispatcher.cc > File chrome/renderer/media/cast_ipc_dispatcher.cc (right): > > https://codereview.chromium.org/178073004/diff/200001/chrome/renderer/media/cast_ipc_dispatcher.cc#newcode124 > ...
6 years, 10 months ago (2014-02-27 00:26:19 UTC) #14
imcheng
Ping for Daniel.
6 years, 9 months ago (2014-02-27 21:49:32 UTC) #15
dcheng
Completely unrelated, but it looks like the implementation of LoggingStats::InsertPacketEvent forgets to update last_event_time when ...
6 years, 9 months ago (2014-02-27 22:27:19 UTC) #16
imcheng
On 2014/02/27 22:27:19, dcheng wrote: > Completely unrelated, but it looks like the implementation of ...
6 years, 9 months ago (2014-02-28 00:14:35 UTC) #17
imcheng
https://codereview.chromium.org/178073004/diff/250001/chrome/browser/media/cast_transport_host_filter.cc File chrome/browser/media/cast_transport_host_filter.cc (right): https://codereview.chromium.org/178073004/diff/250001/chrome/browser/media/cast_transport_host_filter.cc#newcode95 chrome/browser/media/cast_transport_host_filter.cc:95: base::Unretained(this), On 2014/02/27 22:27:20, dcheng wrote: > Why is ...
6 years, 9 months ago (2014-02-28 00:15:06 UTC) #18
dcheng
Sorry. Tracing execution through RawEventSubscriber to verify that the code is safe was a non-trivial ...
6 years, 9 months ago (2014-02-28 19:46:10 UTC) #19
imcheng
https://codereview.chromium.org/178073004/diff/250001/media/cast/logging/logging_defines.h File media/cast/logging/logging_defines.h (right): https://codereview.chromium.org/178073004/diff/250001/media/cast/logging/logging_defines.h#newcode74 media/cast/logging/logging_defines.h:74: kNumOfLoggingEvents On 2014/02/28 19:46:11, dcheng wrote: > On 2014/02/28 ...
6 years, 9 months ago (2014-03-03 19:00:08 UTC) #20
dcheng
chrome/common/cast_messages.h LGTM. My main comment from this review is there's a lot of scary serialization ...
6 years, 9 months ago (2014-03-03 23:25:23 UTC) #21
imcheng
On 2014/03/03 23:25:23, dcheng wrote: > chrome/common/cast_messages.h LGTM. > > My main comment from this ...
6 years, 9 months ago (2014-03-04 02:15:00 UTC) #22
imcheng
The CQ bit was checked by imcheng@chromium.org
6 years, 9 months ago (2014-03-04 02:15:53 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/imcheng@chromium.org/178073004/320001
6 years, 9 months ago (2014-03-04 02:19:02 UTC) #24
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 9 months ago (2014-03-04 02:19:08 UTC) #25
commit-bot: I haz the power
Failed to apply patch for chrome/browser/media/cast_transport_host_filter.cc: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file ...
6 years, 9 months ago (2014-03-04 02:19:09 UTC) #26
imcheng
The CQ bit was checked by imcheng@chromium.org
6 years, 9 months ago (2014-03-04 09:20:53 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/imcheng@chromium.org/178073004/360001
6 years, 9 months ago (2014-03-04 09:20:59 UTC) #28
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 9 months ago (2014-03-04 10:46:10 UTC) #29
commit-bot: I haz the power
Retried try job too often on linux_chromeos for step(s) browser_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_chromeos&number=207232
6 years, 9 months ago (2014-03-04 10:46:10 UTC) #30
imcheng
The CQ bit was checked by imcheng@chromium.org
6 years, 9 months ago (2014-03-04 18:38:52 UTC) #31
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/imcheng@chromium.org/178073004/400001
6 years, 9 months ago (2014-03-04 18:39:21 UTC) #32
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 9 months ago (2014-03-04 19:32:08 UTC) #33
commit-bot: I haz the power
Retried try job too often on android_dbg for step(s) slave_steps http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=android_dbg&number=156838
6 years, 9 months ago (2014-03-04 19:32:09 UTC) #34
imcheng
The CQ bit was checked by imcheng@chromium.org
6 years, 9 months ago (2014-03-04 21:24:17 UTC) #35
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/imcheng@chromium.org/178073004/420001
6 years, 9 months ago (2014-03-04 21:26:30 UTC) #36
imcheng
The CQ bit was unchecked by imcheng@chromium.org
6 years, 9 months ago (2014-03-04 23:53:10 UTC) #37
imcheng
The CQ bit was checked by imcheng@chromium.org
6 years, 9 months ago (2014-03-05 05:42:50 UTC) #38
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/imcheng@chromium.org/178073004/440001
6 years, 9 months ago (2014-03-05 05:43:54 UTC) #39
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 9 months ago (2014-03-05 08:55:35 UTC) #40
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_compile_dbg
6 years, 9 months ago (2014-03-05 08:55:36 UTC) #41
imcheng
The CQ bit was checked by imcheng@chromium.org
6 years, 9 months ago (2014-03-05 20:18:02 UTC) #42
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/imcheng@chromium.org/178073004/480001
6 years, 9 months ago (2014-03-05 20:22:20 UTC) #43
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 9 months ago (2014-03-05 20:36:30 UTC) #44
commit-bot: I haz the power
Retried try job too often on win_rel for step(s) base_unittests, browser_tests, interactive_ui_tests, net_unittests, unit_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=win_rel&number=275548
6 years, 9 months ago (2014-03-05 20:36:32 UTC) #45
imcheng
The CQ bit was checked by imcheng@chromium.org
6 years, 9 months ago (2014-03-05 20:42:48 UTC) #46
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/imcheng@chromium.org/178073004/480001
6 years, 9 months ago (2014-03-05 20:44:16 UTC) #47
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 9 months ago (2014-03-05 21:18:59 UTC) #48
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_rel
6 years, 9 months ago (2014-03-05 21:19:04 UTC) #49
imcheng
The CQ bit was checked by imcheng@chromium.org
6 years, 9 months ago (2014-03-07 00:20:29 UTC) #50
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/imcheng@chromium.org/178073004/500001
6 years, 9 months ago (2014-03-07 00:24:27 UTC) #51
commit-bot: I haz the power
6 years, 9 months ago (2014-03-07 11:26:30 UTC) #52
Message was sent while issue was closed.
Change committed as 255579

Powered by Google App Engine
This is Rietveld 408576698