New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 734672 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Sep 7
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Chrome , Mac
Pri: 2
Type: Bug

Blocked on:
issue 850352

Blocking:
issue 662499
issue 806817



Sign in to add a comment

Tracker for mirror service refactoring

Project Member Reported by x...@chromium.org, Jun 19 2017

Issue description

This tracks the implementation for mirror service refactoring. 
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jul 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ef7927fa28cca59d8ca4ed06f540a38702ac0810

commit ef7927fa28cca59d8ca4ed06f540a38702ac0810
Author: xjz <xjz@chromium.org>
Date: Fri Jul 07 20:58:19 2017

Media Remoting: Add mojo interfaces between browser and extension.

Currently media remoting communicates with extension by text strings
through Media Router mojo API. This CL adds mojo interfaces to allow
CastRemotingConnector in browser talk directly to MediaRemoter in
extension after connected through the Media Router mojo API. These
changes also enable passing the receiver's capablities to remoting
control logic in renderer, which will be done in a follow up CL.

BUG= 734672 

Review-Url: https://codereview.chromium.org/2951523002
Cr-Commit-Position: refs/heads/master@{#485043}

[modify] https://crrev.com/ef7927fa28cca59d8ca4ed06f540a38702ac0810/BUILD.gn
[modify] https://crrev.com/ef7927fa28cca59d8ca4ed06f540a38702ac0810/chrome/browser/BUILD.gn
[delete] https://crrev.com/7accad67a9abf16cb043bc4affb26332e90454ff/chrome/browser/media/BUILD.gn
[modify] https://crrev.com/ef7927fa28cca59d8ca4ed06f540a38702ac0810/chrome/browser/media/cast_remoting_connector.cc
[modify] https://crrev.com/ef7927fa28cca59d8ca4ed06f540a38702ac0810/chrome/browser/media/cast_remoting_connector.h
[delete] https://crrev.com/7accad67a9abf16cb043bc4affb26332e90454ff/chrome/browser/media/cast_remoting_connector_messaging.cc
[delete] https://crrev.com/7accad67a9abf16cb043bc4affb26332e90454ff/chrome/browser/media/cast_remoting_connector_messaging.h
[modify] https://crrev.com/ef7927fa28cca59d8ca4ed06f540a38702ac0810/chrome/browser/media/cast_remoting_connector_unittest.cc
[modify] https://crrev.com/ef7927fa28cca59d8ca4ed06f540a38702ac0810/chrome/browser/media/router/media_router.h
[modify] https://crrev.com/ef7927fa28cca59d8ca4ed06f540a38702ac0810/chrome/browser/media/router/media_router_base.cc
[modify] https://crrev.com/ef7927fa28cca59d8ca4ed06f540a38702ac0810/chrome/browser/media/router/media_router_base.h
[modify] https://crrev.com/ef7927fa28cca59d8ca4ed06f540a38702ac0810/chrome/browser/media/router/mojo/media_router_mojo_impl.cc
[modify] https://crrev.com/ef7927fa28cca59d8ca4ed06f540a38702ac0810/chrome/browser/media/router/mojo/media_router_mojo_impl.h
[modify] https://crrev.com/ef7927fa28cca59d8ca4ed06f540a38702ac0810/chrome/common/media_router/mojo/BUILD.gn
[modify] https://crrev.com/ef7927fa28cca59d8ca4ed06f540a38702ac0810/chrome/common/media_router/mojo/media_router.mojom
[modify] https://crrev.com/ef7927fa28cca59d8ca4ed06f540a38702ac0810/chrome/renderer/extensions/chrome_extensions_dispatcher_delegate.cc
[modify] https://crrev.com/ef7927fa28cca59d8ca4ed06f540a38702ac0810/chrome/renderer/resources/extensions/media_router_bindings.js
[modify] https://crrev.com/ef7927fa28cca59d8ca4ed06f540a38702ac0810/chrome/renderer/resources/renderer_resources.grd
[modify] https://crrev.com/ef7927fa28cca59d8ca4ed06f540a38702ac0810/media/mojo/interfaces/BUILD.gn
[add] https://crrev.com/ef7927fa28cca59d8ca4ed06f540a38702ac0810/media/mojo/interfaces/mirror_service_remoting.mojom
[modify] https://crrev.com/ef7927fa28cca59d8ca4ed06f540a38702ac0810/media/mojo/interfaces/remoting.mojom
[add] https://crrev.com/ef7927fa28cca59d8ca4ed06f540a38702ac0810/media/mojo/interfaces/remoting_common.mojom
[modify] https://crrev.com/ef7927fa28cca59d8ca4ed06f540a38702ac0810/media/remoting/renderer_controller.cc

Project Member

Comment 2 by bugdroid1@chromium.org, Jul 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6dc1110db5bdfca6ddbd2f5026d237435471377e

commit 6dc1110db5bdfca6ddbd2f5026d237435471377e
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Mon Jul 24 23:49:11 2017

Media Remoting: Activate remoting based on device capabilities.

This CL passed the remoting sink metadata to remoting source. The media
remoting is activated based on device capabilities.

Bug:  705177 ,  734672 
Change-Id: If5498fca9df02f22046dbe3274058a5583bd1339
Reviewed-on: https://chromium-review.googlesource.com/569038
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Reviewed-by: Derek Cheng <imcheng@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489145}
[modify] https://crrev.com/6dc1110db5bdfca6ddbd2f5026d237435471377e/chrome/browser/media/cast_remoting_connector.cc
[modify] https://crrev.com/6dc1110db5bdfca6ddbd2f5026d237435471377e/chrome/browser/media/cast_remoting_connector.h
[modify] https://crrev.com/6dc1110db5bdfca6ddbd2f5026d237435471377e/chrome/browser/media/cast_remoting_connector_unittest.cc
[modify] https://crrev.com/6dc1110db5bdfca6ddbd2f5026d237435471377e/chrome/renderer/resources/extensions/media_router_bindings.js
[modify] https://crrev.com/6dc1110db5bdfca6ddbd2f5026d237435471377e/media/mojo/interfaces/mirror_service_remoting.mojom
[modify] https://crrev.com/6dc1110db5bdfca6ddbd2f5026d237435471377e/media/mojo/interfaces/remoting.mojom
[modify] https://crrev.com/6dc1110db5bdfca6ddbd2f5026d237435471377e/media/mojo/interfaces/remoting_common.mojom
[modify] https://crrev.com/6dc1110db5bdfca6ddbd2f5026d237435471377e/media/remoting/remoting_cdm_controller.cc
[modify] https://crrev.com/6dc1110db5bdfca6ddbd2f5026d237435471377e/media/remoting/remoting_cdm_factory.cc
[modify] https://crrev.com/6dc1110db5bdfca6ddbd2f5026d237435471377e/media/remoting/renderer_controller.cc
[modify] https://crrev.com/6dc1110db5bdfca6ddbd2f5026d237435471377e/media/remoting/renderer_controller_unittest.cc
[modify] https://crrev.com/6dc1110db5bdfca6ddbd2f5026d237435471377e/media/remoting/shared_session.cc
[modify] https://crrev.com/6dc1110db5bdfca6ddbd2f5026d237435471377e/media/remoting/shared_session.h
[modify] https://crrev.com/6dc1110db5bdfca6ddbd2f5026d237435471377e/media/remoting/sink_availability_observer.cc
[modify] https://crrev.com/6dc1110db5bdfca6ddbd2f5026d237435471377e/media/remoting/sink_availability_observer.h

Project Member

Comment 3 by bugdroid1@chromium.org, Dec 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e0a3a97fb03a70d0c07575ecdce8beb36296d3ed

commit e0a3a97fb03a70d0c07575ecdce8beb36296d3ed
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Fri Dec 08 23:15:18 2017

Refactor: Async read/write a chunk of data from/into a mojo data pipe.

Currently MojoDecoderBufferReader/Writer and media remoting are using
similar codes for reading/writing data from/into a mojo data pipe. In a
coming CL for mirroring service refactoring, similar codes are needed
for the cast UDP packets transfer. To reduce the duplicates, this CL
adds a common reader/writer that holds the data pipe handle and
asynchronously reads/writes a chunk of data by request. The refactoring
of media remoting codes using this reader/writer will be in a separate
CL. No behavior change.

Bug:  734672 
Change-Id: I4fc20b84bc6ea4b4f307bfa21dadeb6b32526c02
Reviewed-on: https://chromium-review.googlesource.com/812404
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Reviewed-by: Dan Sanders <sandersd@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#522912}
[modify] https://crrev.com/e0a3a97fb03a70d0c07575ecdce8beb36296d3ed/media/mojo/common/BUILD.gn
[add] https://crrev.com/e0a3a97fb03a70d0c07575ecdce8beb36296d3ed/media/mojo/common/mojo_data_pipe_read_write.cc
[add] https://crrev.com/e0a3a97fb03a70d0c07575ecdce8beb36296d3ed/media/mojo/common/mojo_data_pipe_read_write.h
[add] https://crrev.com/e0a3a97fb03a70d0c07575ecdce8beb36296d3ed/media/mojo/common/mojo_data_pipe_read_write_unittest.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Dec 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/935caae067ba83ae574c9215be8a215fdbe1d70d

commit 935caae067ba83ae574c9215be8a215fdbe1d70d
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Tue Dec 12 02:27:01 2017

Reduce latency in MojoDataPipeReader/Writer.

Always first try reading/writing immediately to reduce the latency.

Bug:  734672 
Change-Id: I8cbeacf5ac643a68916739e894516d0e863fc0cd
Reviewed-on: https://chromium-review.googlesource.com/820594
Reviewed-by: Dan Sanders <sandersd@chromium.org>
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#523309}
[modify] https://crrev.com/935caae067ba83ae574c9215be8a215fdbe1d70d/media/mojo/common/mojo_data_pipe_read_write.cc
[modify] https://crrev.com/935caae067ba83ae574c9215be8a215fdbe1d70d/media/mojo/common/mojo_data_pipe_read_write.h

Project Member

Comment 5 by bugdroid1@chromium.org, Jan 5 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/877bcd1fdf21fa817b02e7a58bb71c09f19eb1ea

commit 877bcd1fdf21fa817b02e7a58bb71c09f19eb1ea
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Fri Jan 05 06:41:28 2018

Media remoting refactoring on sending streams to CastRemotingSender.

In media remoting, the demuxed streams are sent to CastRemotingSender
through mojo data pipe. This CL refactered the reading/writing the data
from/into mojo data pipe by using MojoDataPipeReader/Writer. Removed the
notification of each data chunk size when sending a large frame by
multiple data chunks. The MojoDataPipeReader can wait till receiving all
data of the requested size.

Bug:  734672 
Change-Id: Id3bb286f41dfbe29d14eb92c67ae0b43789e449e
Reviewed-on: https://chromium-review.googlesource.com/818468
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Reviewed-by: Dan Sanders <sandersd@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#527232}
[modify] https://crrev.com/877bcd1fdf21fa817b02e7a58bb71c09f19eb1ea/chrome/browser/BUILD.gn
[modify] https://crrev.com/877bcd1fdf21fa817b02e7a58bb71c09f19eb1ea/chrome/browser/media/cast_remoting_sender.cc
[modify] https://crrev.com/877bcd1fdf21fa817b02e7a58bb71c09f19eb1ea/chrome/browser/media/cast_remoting_sender.h
[modify] https://crrev.com/877bcd1fdf21fa817b02e7a58bb71c09f19eb1ea/chrome/browser/media/cast_remoting_sender_unittest.cc
[modify] https://crrev.com/877bcd1fdf21fa817b02e7a58bb71c09f19eb1ea/media/mojo/common/mojo_data_pipe_read_write.cc
[modify] https://crrev.com/877bcd1fdf21fa817b02e7a58bb71c09f19eb1ea/media/mojo/common/mojo_data_pipe_read_write.h
[modify] https://crrev.com/877bcd1fdf21fa817b02e7a58bb71c09f19eb1ea/media/mojo/interfaces/remoting.mojom
[modify] https://crrev.com/877bcd1fdf21fa817b02e7a58bb71c09f19eb1ea/media/remoting/BUILD.gn
[modify] https://crrev.com/877bcd1fdf21fa817b02e7a58bb71c09f19eb1ea/media/remoting/demuxer_stream_adapter.cc
[modify] https://crrev.com/877bcd1fdf21fa817b02e7a58bb71c09f19eb1ea/media/remoting/demuxer_stream_adapter.h
[modify] https://crrev.com/877bcd1fdf21fa817b02e7a58bb71c09f19eb1ea/media/remoting/demuxer_stream_adapter_unittest.cc
[modify] https://crrev.com/877bcd1fdf21fa817b02e7a58bb71c09f19eb1ea/media/remoting/end2end_test_renderer.cc
[modify] https://crrev.com/877bcd1fdf21fa817b02e7a58bb71c09f19eb1ea/media/remoting/fake_remoter.cc
[modify] https://crrev.com/877bcd1fdf21fa817b02e7a58bb71c09f19eb1ea/media/remoting/fake_remoter.h

Project Member

Comment 6 by bugdroid1@chromium.org, Jan 10 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b6341128ba9f17c8862200d7f2048cce4b4a3307

commit b6341128ba9f17c8862200d7f2048cce4b4a3307
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Wed Jan 10 18:35:11 2018

Mirroring service refactoring: Add UdpPacketsReader/Writer.

Add UdpPacketsReader/Writer to read/write UDP packets from/into mojo
data pipe. The size of each packet is written into the pipe before the
packet itself is written. This reader/writer will be used by mirroring
service to send the UDP packets to browser in later CLs.

Bug:  734672 
Change-Id: I8827e21992fa33b84a6b5e7d6c058f3acbb73fdd
Reviewed-on: https://chromium-review.googlesource.com/823614
Reviewed-by: Xiaohan Wang <xhwang@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#528364}
[modify] https://crrev.com/b6341128ba9f17c8862200d7f2048cce4b4a3307/media/cast/BUILD.gn
[modify] https://crrev.com/b6341128ba9f17c8862200d7f2048cce4b4a3307/media/cast/net/DEPS
[add] https://crrev.com/b6341128ba9f17c8862200d7f2048cce4b4a3307/media/cast/net/udp_packet_pipe.cc
[add] https://crrev.com/b6341128ba9f17c8862200d7f2048cce4b4a3307/media/cast/net/udp_packet_pipe.h
[add] https://crrev.com/b6341128ba9f17c8862200d7f2048cce4b4a3307/media/cast/net/udp_packet_pipe_unittest.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Jan 23 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bc5de16c310bcae325b2e0ce6e5195532493d18e

commit bc5de16c310bcae325b2e0ce6e5195532493d18e
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Tue Jan 23 17:09:08 2018

Mirroring service refactoring: Add UdpTransport.

Add the interface for UDP packets transport and the implementation of
the sender side.

Bug:  734672 
Change-Id: I162d4755c5b20b53dc4568a0990e51ca2a90166e
Reviewed-on: https://chromium-review.googlesource.com/861289
Reviewed-by: Ken Rockot <rockot@chromium.org>
Reviewed-by: Christian Dullweber <dullweber@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#531265}
[modify] https://crrev.com/bc5de16c310bcae325b2e0ce6e5195532493d18e/chrome/browser/media/cast_transport_host_filter.cc
[modify] https://crrev.com/bc5de16c310bcae325b2e0ce6e5195532493d18e/chrome/browser/media/cast_transport_host_filter.h
[modify] https://crrev.com/bc5de16c310bcae325b2e0ce6e5195532493d18e/media/cast/BUILD.gn
[modify] https://crrev.com/bc5de16c310bcae325b2e0ce6e5195532493d18e/media/cast/net/DEPS
[modify] https://crrev.com/bc5de16c310bcae325b2e0ce6e5195532493d18e/media/cast/net/cast_transport_impl.h
[rename] https://crrev.com/bc5de16c310bcae325b2e0ce6e5195532493d18e/media/cast/net/udp_transport_impl.cc
[rename] https://crrev.com/bc5de16c310bcae325b2e0ce6e5195532493d18e/media/cast/net/udp_transport_impl.h
[add] https://crrev.com/bc5de16c310bcae325b2e0ce6e5195532493d18e/media/cast/net/udp_transport_interface.h
[modify] https://crrev.com/bc5de16c310bcae325b2e0ce6e5195532493d18e/media/cast/net/udp_transport_unittest.cc
[modify] https://crrev.com/bc5de16c310bcae325b2e0ce6e5195532493d18e/media/cast/test/receiver.cc
[modify] https://crrev.com/bc5de16c310bcae325b2e0ce6e5195532493d18e/media/cast/test/sender.cc
[modify] https://crrev.com/bc5de16c310bcae325b2e0ce6e5195532493d18e/media/cast/test/utility/in_process_receiver.cc
[modify] https://crrev.com/bc5de16c310bcae325b2e0ce6e5195532493d18e/tools/traffic_annotation/summary/annotations.xml

Project Member

Comment 8 by bugdroid1@chromium.org, Jan 23 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a4b93b7a062e8b03bdb1c0a605fe5dabc2bc50b0

commit a4b93b7a062e8b03bdb1c0a605fe5dabc2bc50b0
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Tue Jan 23 22:46:50 2018

Move video_capture.mojom out of content.

This is a prerequisite for the coming mirroring service CLs to not
depend on content. Moved the interfaces to media/capture/mojo/. No
functional change.

Bug:  734672 
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: Ie7a1d618920860cba08f1708f6cd9486db0b4956
Reviewed-on: https://chromium-review.googlesource.com/872101
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Reviewed-by: Christian Fremerey <chfremer@chromium.org>
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#531379}
[modify] https://crrev.com/a4b93b7a062e8b03bdb1c0a605fe5dabc2bc50b0/content/browser/BUILD.gn
[modify] https://crrev.com/a4b93b7a062e8b03bdb1c0a605fe5dabc2bc50b0/content/browser/renderer_host/media/video_capture_controller.cc
[modify] https://crrev.com/a4b93b7a062e8b03bdb1c0a605fe5dabc2bc50b0/content/browser/renderer_host/media/video_capture_controller_event_handler.h
[modify] https://crrev.com/a4b93b7a062e8b03bdb1c0a605fe5dabc2bc50b0/content/browser/renderer_host/media/video_capture_host.cc
[modify] https://crrev.com/a4b93b7a062e8b03bdb1c0a605fe5dabc2bc50b0/content/browser/renderer_host/media/video_capture_host.h
[modify] https://crrev.com/a4b93b7a062e8b03bdb1c0a605fe5dabc2bc50b0/content/browser/renderer_host/media/video_capture_unittest.cc
[modify] https://crrev.com/a4b93b7a062e8b03bdb1c0a605fe5dabc2bc50b0/content/common/BUILD.gn
[modify] https://crrev.com/a4b93b7a062e8b03bdb1c0a605fe5dabc2bc50b0/content/public/app/mojo/content_browser_manifest.json
[modify] https://crrev.com/a4b93b7a062e8b03bdb1c0a605fe5dabc2bc50b0/content/renderer/media/video_capture_impl.cc
[modify] https://crrev.com/a4b93b7a062e8b03bdb1c0a605fe5dabc2bc50b0/content/renderer/media/video_capture_impl.h
[modify] https://crrev.com/a4b93b7a062e8b03bdb1c0a605fe5dabc2bc50b0/content/renderer/media/video_capture_impl_manager_unittest.cc
[modify] https://crrev.com/a4b93b7a062e8b03bdb1c0a605fe5dabc2bc50b0/content/renderer/media/video_capture_impl_unittest.cc
[modify] https://crrev.com/a4b93b7a062e8b03bdb1c0a605fe5dabc2bc50b0/content/test/BUILD.gn
[modify] https://crrev.com/a4b93b7a062e8b03bdb1c0a605fe5dabc2bc50b0/media/capture/BUILD.gn
[modify] https://crrev.com/a4b93b7a062e8b03bdb1c0a605fe5dabc2bc50b0/media/capture/mojo/BUILD.gn
[rename] https://crrev.com/a4b93b7a062e8b03bdb1c0a605fe5dabc2bc50b0/media/capture/mojo/video_capture.mojom
[modify] https://crrev.com/a4b93b7a062e8b03bdb1c0a605fe5dabc2bc50b0/services/video_capture/BUILD.gn
[modify] https://crrev.com/a4b93b7a062e8b03bdb1c0a605fe5dabc2bc50b0/services/video_capture/public/interfaces/BUILD.gn
[modify] https://crrev.com/a4b93b7a062e8b03bdb1c0a605fe5dabc2bc50b0/services/viz/privileged/interfaces/BUILD.gn
[modify] https://crrev.com/a4b93b7a062e8b03bdb1c0a605fe5dabc2bc50b0/services/viz/privileged/interfaces/compositing/BUILD.gn
[modify] https://crrev.com/a4b93b7a062e8b03bdb1c0a605fe5dabc2bc50b0/services/viz/public/cpp/compositing/BUILD.gn
[modify] https://crrev.com/a4b93b7a062e8b03bdb1c0a605fe5dabc2bc50b0/third_party/WebKit/public/BUILD.gn

Project Member

Comment 9 by bugdroid1@chromium.org, Feb 7 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3aafe3004a00abc46eab9cdffe7d0f9c448692fc

commit 3aafe3004a00abc46eab9cdffe7d0f9c448692fc
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Wed Feb 07 20:10:40 2018

Mirroring service refactoring: Add video capture host implementation.

This CL adds a media::mojom::VideoCaptureHost implementation that can
proxy between a single video capture device and a single consumer.

Moved the VideoCaptureDeviceLauncher interface from content/browser/
to content/public/browser so that it can be used by the added
implementation.

Bug:  734672 
Change-Id: Id02dfc6a762a3eaac708794766d2a7a2bfee6ee1
Reviewed-on: https://chromium-review.googlesource.com/888199
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Christian Fremerey <chfremer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#535117}
[modify] https://crrev.com/3aafe3004a00abc46eab9cdffe7d0f9c448692fc/chrome/browser/BUILD.gn
[modify] https://crrev.com/3aafe3004a00abc46eab9cdffe7d0f9c448692fc/chrome/browser/DEPS
[add] https://crrev.com/3aafe3004a00abc46eab9cdffe7d0f9c448692fc/chrome/browser/media/single_client_video_capture_host.cc
[add] https://crrev.com/3aafe3004a00abc46eab9cdffe7d0f9c448692fc/chrome/browser/media/single_client_video_capture_host.h
[add] https://crrev.com/3aafe3004a00abc46eab9cdffe7d0f9c448692fc/chrome/browser/media/single_client_video_capture_host_unittest.cc
[modify] https://crrev.com/3aafe3004a00abc46eab9cdffe7d0f9c448692fc/chrome/test/BUILD.gn
[modify] https://crrev.com/3aafe3004a00abc46eab9cdffe7d0f9c448692fc/content/browser/renderer_host/media/fake_video_capture_device_launcher.h
[modify] https://crrev.com/3aafe3004a00abc46eab9cdffe7d0f9c448692fc/content/browser/renderer_host/media/in_process_launched_video_capture_device.h
[modify] https://crrev.com/3aafe3004a00abc46eab9cdffe7d0f9c448692fc/content/browser/renderer_host/media/in_process_video_capture_device_launcher.h
[modify] https://crrev.com/3aafe3004a00abc46eab9cdffe7d0f9c448692fc/content/browser/renderer_host/media/mock_video_capture_provider.h
[modify] https://crrev.com/3aafe3004a00abc46eab9cdffe7d0f9c448692fc/content/browser/renderer_host/media/service_launched_video_capture_device.h
[modify] https://crrev.com/3aafe3004a00abc46eab9cdffe7d0f9c448692fc/content/browser/renderer_host/media/service_video_capture_device_launcher.h
[modify] https://crrev.com/3aafe3004a00abc46eab9cdffe7d0f9c448692fc/content/browser/renderer_host/media/service_video_capture_provider_unittest.cc
[modify] https://crrev.com/3aafe3004a00abc46eab9cdffe7d0f9c448692fc/content/browser/renderer_host/media/video_capture_controller.h
[modify] https://crrev.com/3aafe3004a00abc46eab9cdffe7d0f9c448692fc/content/browser/renderer_host/media/video_capture_provider.h
[modify] https://crrev.com/3aafe3004a00abc46eab9cdffe7d0f9c448692fc/content/browser/renderer_host/media/video_capture_provider_switcher.cc
[modify] https://crrev.com/3aafe3004a00abc46eab9cdffe7d0f9c448692fc/content/public/browser/BUILD.gn
[add] https://crrev.com/3aafe3004a00abc46eab9cdffe7d0f9c448692fc/content/public/browser/video_capture_device_launcher.h

Project Member

Comment 10 by bugdroid1@chromium.org, Feb 20 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d43baf7759a2be566bf56964e1fb444f6b698539

commit d43baf7759a2be566bf56964e1fb444f6b698539
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Tue Feb 20 21:37:16 2018

Add implementation of a UDPSocket client for cast streaming.

Add a UDP transport that can send/receive UDP packets through Network
Service by connecting to a UDPSocket that implements
network::mojom::UDPSocket interface.

Bug:  734672 
Change-Id: Ia2ccf456eea85394e01be919eee645684ba7625a

TBR=jam@chromium.org

Change-Id: Ia2ccf456eea85394e01be919eee645684ba7625a
Reviewed-on: https://chromium-review.googlesource.com/910127
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Reviewed-by: Christian Dullweber <dullweber@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537895}
[modify] https://crrev.com/d43baf7759a2be566bf56964e1fb444f6b698539/media/cast/BUILD.gn
[modify] https://crrev.com/d43baf7759a2be566bf56964e1fb444f6b698539/media/cast/net/DEPS
[add] https://crrev.com/d43baf7759a2be566bf56964e1fb444f6b698539/media/cast/net/udp_socket_client.cc
[add] https://crrev.com/d43baf7759a2be566bf56964e1fb444f6b698539/media/cast/net/udp_socket_client.h
[add] https://crrev.com/d43baf7759a2be566bf56964e1fb444f6b698539/media/cast/net/udp_socket_client_unittest.cc
[modify] https://crrev.com/d43baf7759a2be566bf56964e1fb444f6b698539/tools/traffic_annotation/summary/annotations.xml

Project Member

Comment 11 by bugdroid1@chromium.org, Mar 2 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/acebf6504d2e1d1b051f6f8e9fb128d4c7e404c2

commit acebf6504d2e1d1b051f6f8e9fb128d4c7e404c2
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Fri Mar 02 17:55:32 2018

Media remoting cleanup: Remove codes that support encrypted contents.

Currently there is no plan to support remoting encrypted contents.
Removed the codes and simplified the remoting control logic. Should be
no behavior change.

Bug:  734672 
Change-Id: I2b2d7012be4efff5de75da85d750247d3a12b964
Reviewed-on: https://chromium-review.googlesource.com/939981
Reviewed-by: Xiaohan Wang <xhwang@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#540554}
[modify] https://crrev.com/acebf6504d2e1d1b051f6f8e9fb128d4c7e404c2/chrome/browser/media/router/mojo/media_router_mojo_impl.cc
[modify] https://crrev.com/acebf6504d2e1d1b051f6f8e9fb128d4c7e404c2/content/renderer/media/media_factory.cc
[modify] https://crrev.com/acebf6504d2e1d1b051f6f8e9fb128d4c7e404c2/content/renderer/media/media_factory.h
[modify] https://crrev.com/acebf6504d2e1d1b051f6f8e9fb128d4c7e404c2/media/base/media_observer.h
[modify] https://crrev.com/acebf6504d2e1d1b051f6f8e9fb128d4c7e404c2/media/blink/webmediaplayer_impl.cc
[modify] https://crrev.com/acebf6504d2e1d1b051f6f8e9fb128d4c7e404c2/media/remoting/BUILD.gn
[modify] https://crrev.com/acebf6504d2e1d1b051f6f8e9fb128d4c7e404c2/media/remoting/courier_renderer.cc
[modify] https://crrev.com/acebf6504d2e1d1b051f6f8e9fb128d4c7e404c2/media/remoting/courier_renderer_unittest.cc
[modify] https://crrev.com/acebf6504d2e1d1b051f6f8e9fb128d4c7e404c2/media/remoting/end2end_test_renderer.cc
[modify] https://crrev.com/acebf6504d2e1d1b051f6f8e9fb128d4c7e404c2/media/remoting/end2end_test_renderer.h
[modify] https://crrev.com/acebf6504d2e1d1b051f6f8e9fb128d4c7e404c2/media/remoting/fake_remoter.cc
[modify] https://crrev.com/acebf6504d2e1d1b051f6f8e9fb128d4c7e404c2/media/remoting/fake_remoter.h
[delete] https://crrev.com/17b2f0603c1a4b942c84c0b281d9e8b859bfa4b4/media/remoting/remoting_cdm.cc
[delete] https://crrev.com/17b2f0603c1a4b942c84c0b281d9e8b859bfa4b4/media/remoting/remoting_cdm.h
[delete] https://crrev.com/17b2f0603c1a4b942c84c0b281d9e8b859bfa4b4/media/remoting/remoting_cdm_context.cc
[delete] https://crrev.com/17b2f0603c1a4b942c84c0b281d9e8b859bfa4b4/media/remoting/remoting_cdm_context.h
[delete] https://crrev.com/17b2f0603c1a4b942c84c0b281d9e8b859bfa4b4/media/remoting/remoting_cdm_controller.cc
[delete] https://crrev.com/17b2f0603c1a4b942c84c0b281d9e8b859bfa4b4/media/remoting/remoting_cdm_controller.h
[delete] https://crrev.com/17b2f0603c1a4b942c84c0b281d9e8b859bfa4b4/media/remoting/remoting_cdm_factory.cc
[delete] https://crrev.com/17b2f0603c1a4b942c84c0b281d9e8b859bfa4b4/media/remoting/remoting_cdm_factory.h
[modify] https://crrev.com/acebf6504d2e1d1b051f6f8e9fb128d4c7e404c2/media/remoting/renderer_controller.cc
[modify] https://crrev.com/acebf6504d2e1d1b051f6f8e9fb128d4c7e404c2/media/remoting/renderer_controller.h
[modify] https://crrev.com/acebf6504d2e1d1b051f6f8e9fb128d4c7e404c2/media/remoting/renderer_controller_unittest.cc
[delete] https://crrev.com/17b2f0603c1a4b942c84c0b281d9e8b859bfa4b4/media/remoting/shared_session.cc
[delete] https://crrev.com/17b2f0603c1a4b942c84c0b281d9e8b859bfa4b4/media/remoting/shared_session.h
[delete] https://crrev.com/17b2f0603c1a4b942c84c0b281d9e8b859bfa4b4/media/remoting/sink_availability_observer.cc
[delete] https://crrev.com/17b2f0603c1a4b942c84c0b281d9e8b859bfa4b4/media/remoting/sink_availability_observer.h

Project Member

Comment 12 by bugdroid1@chromium.org, Mar 7 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d73f23f6e7c7df97b984873ff67c4e9588ee994d

commit d73f23f6e7c7df97b984873ff67c4e9588ee994d
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Wed Mar 07 18:05:14 2018

Refactoring: Add mirroring component.

Add a new mirroring component under components/ for the new mirroring
service. The browser side codes are moved into the component in this CL.
The media/remoting codes and other mirroring service codes will be added
in later CLs.

Bug:  734672 
Change-Id: I0187f40bdfa44bcf7a9645b8bce4130fa6738eb0
Reviewed-on: https://chromium-review.googlesource.com/943822
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#541498}
[modify] https://crrev.com/d73f23f6e7c7df97b984873ff67c4e9588ee994d/chrome/browser/BUILD.gn
[modify] https://crrev.com/d73f23f6e7c7df97b984873ff67c4e9588ee994d/chrome/browser/media/cast_remoting_connector.cc
[modify] https://crrev.com/d73f23f6e7c7df97b984873ff67c4e9588ee994d/chrome/browser/media/cast_transport_host_filter.cc
[modify] https://crrev.com/d73f23f6e7c7df97b984873ff67c4e9588ee994d/chrome/browser/media/cast_transport_host_filter.h
[modify] https://crrev.com/d73f23f6e7c7df97b984873ff67c4e9588ee994d/chrome/test/BUILD.gn
[add] https://crrev.com/d73f23f6e7c7df97b984873ff67c4e9588ee994d/components/mirroring/DEPS
[add] https://crrev.com/d73f23f6e7c7df97b984873ff67c4e9588ee994d/components/mirroring/OWNERS
[add] https://crrev.com/d73f23f6e7c7df97b984873ff67c4e9588ee994d/components/mirroring/browser/BUILD.gn
[add] https://crrev.com/d73f23f6e7c7df97b984873ff67c4e9588ee994d/components/mirroring/browser/DEPS
[rename] https://crrev.com/d73f23f6e7c7df97b984873ff67c4e9588ee994d/components/mirroring/browser/cast_remoting_sender.cc
[rename] https://crrev.com/d73f23f6e7c7df97b984873ff67c4e9588ee994d/components/mirroring/browser/cast_remoting_sender.h
[rename] https://crrev.com/d73f23f6e7c7df97b984873ff67c4e9588ee994d/components/mirroring/browser/cast_remoting_sender_unittest.cc
[rename] https://crrev.com/d73f23f6e7c7df97b984873ff67c4e9588ee994d/components/mirroring/browser/single_client_video_capture_host.cc
[rename] https://crrev.com/d73f23f6e7c7df97b984873ff67c4e9588ee994d/components/mirroring/browser/single_client_video_capture_host.h
[rename] https://crrev.com/d73f23f6e7c7df97b984873ff67c4e9588ee994d/components/mirroring/browser/single_client_video_capture_host_unittest.cc

Project Member

Comment 13 by bugdroid1@chromium.org, Mar 17 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2839be2c6520bfb06ec6ff1ae5e45d8a50c03118

commit 2839be2c6520bfb06ec6ff1ae5e45d8a50c03118
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Sat Mar 17 01:46:02 2018

Mirroring service: Add video capture client implementation.

Add the video capture client implementation for the Mirroring service.
It requests to start video capturing through the
media::mojom::VideoCaptureHost interface, and receive the captured
video frames through media::mojom::VideoCaptureObserver interface.

Bug:  734672 
Change-Id: I8007d9c8cbca1639eee8c5659f0b34a30c85e375
Reviewed-on: https://chromium-review.googlesource.com/954056
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#543908}
[modify] https://crrev.com/2839be2c6520bfb06ec6ff1ae5e45d8a50c03118/chrome/test/BUILD.gn
[add] https://crrev.com/2839be2c6520bfb06ec6ff1ae5e45d8a50c03118/components/mirroring/BUILD.gn
[modify] https://crrev.com/2839be2c6520bfb06ec6ff1ae5e45d8a50c03118/components/mirroring/browser/single_client_video_capture_host.cc
[add] https://crrev.com/2839be2c6520bfb06ec6ff1ae5e45d8a50c03118/components/mirroring/service/BUILD.gn
[add] https://crrev.com/2839be2c6520bfb06ec6ff1ae5e45d8a50c03118/components/mirroring/service/video_capture_client.cc
[add] https://crrev.com/2839be2c6520bfb06ec6ff1ae5e45d8a50c03118/components/mirroring/service/video_capture_client.h
[add] https://crrev.com/2839be2c6520bfb06ec6ff1ae5e45d8a50c03118/components/mirroring/service/video_capture_client_unittest.cc

Project Member

Comment 14 by bugdroid1@chromium.org, Mar 27 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d3b390cf40fa9295ebc37eb5d8f2d3e2f598264e

commit d3b390cf40fa9295ebc37eb5d8f2d3e2f598264e
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Tue Mar 27 21:41:15 2018

Mirroring service: Add rtp stream implementation.

Add RtpStream for the Mirroring service, which receives audio/video
data from the capturer and sends the data to media::cast::CastSender.

Bug:  734672 
Change-Id: I8bf5813681463c1110458bf055211c3a233dc939
Reviewed-on: https://chromium-review.googlesource.com/967548
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546271}
[modify] https://crrev.com/d3b390cf40fa9295ebc37eb5d8f2d3e2f598264e/components/mirroring/service/BUILD.gn
[add] https://crrev.com/d3b390cf40fa9295ebc37eb5d8f2d3e2f598264e/components/mirroring/service/rtp_stream.cc
[add] https://crrev.com/d3b390cf40fa9295ebc37eb5d8f2d3e2f598264e/components/mirroring/service/rtp_stream.h
[add] https://crrev.com/d3b390cf40fa9295ebc37eb5d8f2d3e2f598264e/components/mirroring/service/rtp_stream_unittest.cc
[modify] https://crrev.com/d3b390cf40fa9295ebc37eb5d8f2d3e2f598264e/media/cast/BUILD.gn
[modify] https://crrev.com/d3b390cf40fa9295ebc37eb5d8f2d3e2f598264e/media/cast/receiver/frame_receiver_unittest.cc
[rename] https://crrev.com/d3b390cf40fa9295ebc37eb5d8f2d3e2f598264e/media/cast/test/mock_cast_transport.cc
[rename] https://crrev.com/d3b390cf40fa9295ebc37eb5d8f2d3e2f598264e/media/cast/test/mock_cast_transport.h

Project Member

Comment 15 by bugdroid1@chromium.org, Mar 28 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/befe9d516316eaa857e362e89aa7c7ed25989c5d

commit befe9d516316eaa857e362e89aa7c7ed25989c5d
Author: Adam Rice <ricea@chromium.org>
Date: Wed Mar 28 06:46:51 2018

Revert "Mirroring service: Add rtp stream implementation."

This reverts commit d3b390cf40fa9295ebc37eb5d8f2d3e2f598264e.

Reason for revert: RtpStreamTest.VideoStreaming is failing on MSAN bot.

Original change's description:
> Mirroring service: Add rtp stream implementation.
> 
> Add RtpStream for the Mirroring service, which receives audio/video
> data from the capturer and sends the data to media::cast::CastSender.
> 
> Bug:  734672 
> Change-Id: I8bf5813681463c1110458bf055211c3a233dc939
> Reviewed-on: https://chromium-review.googlesource.com/967548
> Reviewed-by: Yuri Wiitala <miu@chromium.org>
> Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#546271}

TBR=miu@chromium.org,xjz@chromium.org

Change-Id: If4cf6c22452a6c6c9bdad32f860d6f8157ccd987
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  734672 
Reviewed-on: https://chromium-review.googlesource.com/983232
Reviewed-by: Adam Rice <ricea@chromium.org>
Commit-Queue: Adam Rice <ricea@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546427}
[modify] https://crrev.com/befe9d516316eaa857e362e89aa7c7ed25989c5d/components/mirroring/service/BUILD.gn
[delete] https://crrev.com/dacc410bdf7fe3062a9c0c00d68a8cb0b8e30efa/components/mirroring/service/rtp_stream.cc
[delete] https://crrev.com/dacc410bdf7fe3062a9c0c00d68a8cb0b8e30efa/components/mirroring/service/rtp_stream.h
[delete] https://crrev.com/dacc410bdf7fe3062a9c0c00d68a8cb0b8e30efa/components/mirroring/service/rtp_stream_unittest.cc
[modify] https://crrev.com/befe9d516316eaa857e362e89aa7c7ed25989c5d/media/cast/BUILD.gn
[rename] https://crrev.com/befe9d516316eaa857e362e89aa7c7ed25989c5d/media/cast/net/mock_cast_transport.cc
[rename] https://crrev.com/befe9d516316eaa857e362e89aa7c7ed25989c5d/media/cast/net/mock_cast_transport.h
[modify] https://crrev.com/befe9d516316eaa857e362e89aa7c7ed25989c5d/media/cast/receiver/frame_receiver_unittest.cc

Project Member

Comment 16 by bugdroid1@chromium.org, Mar 28 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/86b79b22bcd75eea099196435dd3040ff1976c35

commit 86b79b22bcd75eea099196435dd3040ff1976c35
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Wed Mar 28 20:40:42 2018

RELAND: Mirroring servcie: Add rtp stream implementation.

This is a reland of
https://chromium-review.googlesource.com/c/chromium/src/+/967548 with
fix on tests.

-----------Description of original change follows----------------------

Mirroring service: Add rtp stream implementation.

Add RtpStream for the Mirroring service, which receives audio/video
data from the capturer and sends the data to cast::Audio/VideoSender.

Bug:  734672 
Change-Id: I83d42a7a61a88ee974fbf269cc166950d7159a19
Reviewed-on: https://chromium-review.googlesource.com/984399
Commit-Queue: Yuri Wiitala <miu@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546587}
[modify] https://crrev.com/86b79b22bcd75eea099196435dd3040ff1976c35/components/mirroring/service/BUILD.gn
[add] https://crrev.com/86b79b22bcd75eea099196435dd3040ff1976c35/components/mirroring/service/rtp_stream.cc
[add] https://crrev.com/86b79b22bcd75eea099196435dd3040ff1976c35/components/mirroring/service/rtp_stream.h
[add] https://crrev.com/86b79b22bcd75eea099196435dd3040ff1976c35/components/mirroring/service/rtp_stream_unittest.cc
[modify] https://crrev.com/86b79b22bcd75eea099196435dd3040ff1976c35/media/cast/BUILD.gn
[modify] https://crrev.com/86b79b22bcd75eea099196435dd3040ff1976c35/media/cast/receiver/frame_receiver_unittest.cc
[rename] https://crrev.com/86b79b22bcd75eea099196435dd3040ff1976c35/media/cast/test/mock_cast_transport.cc
[rename] https://crrev.com/86b79b22bcd75eea099196435dd3040ff1976c35/media/cast/test/mock_cast_transport.h

Project Member

Comment 17 by bugdroid1@chromium.org, Mar 29 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2e3fe8fdd6baebd7d117adeee1ac3bb5aa509b6a

commit 2e3fe8fdd6baebd7d117adeee1ac3bb5aa509b6a
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Thu Mar 29 20:39:35 2018

Refactoring: Move media::cast::UdpSocketClient to Mirroring service.

Move media::cast::UdpSocketClient to components/mirroring/service.
Also, extracted MockUdpSocket and MockNetworkContext to a separate file
to allow used by other tests (in a coming CL).

Purely codes moving and namespace changes. No behaviour change and no
new codes added.

Bug:  734672 
Change-Id: Ie9f3573db885697204fb74b66a0f5e968d41e593
Reviewed-on: https://chromium-review.googlesource.com/982932
Reviewed-by: Helen Li <xunjieli@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546937}
[modify] https://crrev.com/2e3fe8fdd6baebd7d117adeee1ac3bb5aa509b6a/components/mirroring/service/BUILD.gn
[add] https://crrev.com/2e3fe8fdd6baebd7d117adeee1ac3bb5aa509b6a/components/mirroring/service/DEPS
[add] https://crrev.com/2e3fe8fdd6baebd7d117adeee1ac3bb5aa509b6a/components/mirroring/service/fake_network_service.cc
[add] https://crrev.com/2e3fe8fdd6baebd7d117adeee1ac3bb5aa509b6a/components/mirroring/service/fake_network_service.h
[rename] https://crrev.com/2e3fe8fdd6baebd7d117adeee1ac3bb5aa509b6a/components/mirroring/service/udp_socket_client.cc
[rename] https://crrev.com/2e3fe8fdd6baebd7d117adeee1ac3bb5aa509b6a/components/mirroring/service/udp_socket_client.h
[add] https://crrev.com/2e3fe8fdd6baebd7d117adeee1ac3bb5aa509b6a/components/mirroring/service/udp_socket_client_unittest.cc
[modify] https://crrev.com/2e3fe8fdd6baebd7d117adeee1ac3bb5aa509b6a/media/cast/BUILD.gn
[modify] https://crrev.com/2e3fe8fdd6baebd7d117adeee1ac3bb5aa509b6a/media/cast/net/DEPS
[delete] https://crrev.com/b843b738b05717e2b6801c308ea8ef555b6a0e6b/media/cast/net/udp_socket_client_unittest.cc

Project Member

Comment 18 by bugdroid1@chromium.org, Apr 6 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/97f56ecee368ae726e6117c8962f09cf2311608e

commit 97f56ecee368ae726e6117c8962f09cf2311608e
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Fri Apr 06 01:03:20 2018

Mirroring service refactoring: Add controller implementation.

Adds the controller that glues capturing with cast streaming. The
interface for Mirroring service will change to mojo interface in
later CL. Audio and media remoting support will be added later.

Also, extracts FakeVideoCaptureHost in to a separate file to allow
sharing between tests.

Bug:  734672 
Change-Id: Id38d376d09dac04317e3a3c01f0a5105630a4a9c
Reviewed-on: https://chromium-review.googlesource.com/982992
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548628}
[modify] https://crrev.com/97f56ecee368ae726e6117c8962f09cf2311608e/components/mirroring/service/BUILD.gn
[add] https://crrev.com/97f56ecee368ae726e6117c8962f09cf2311608e/components/mirroring/service/fake_video_capture_host.cc
[add] https://crrev.com/97f56ecee368ae726e6117c8962f09cf2311608e/components/mirroring/service/fake_video_capture_host.h
[add] https://crrev.com/97f56ecee368ae726e6117c8962f09cf2311608e/components/mirroring/service/interface.h
[modify] https://crrev.com/97f56ecee368ae726e6117c8962f09cf2311608e/components/mirroring/service/rtp_stream.cc
[modify] https://crrev.com/97f56ecee368ae726e6117c8962f09cf2311608e/components/mirroring/service/rtp_stream.h
[add] https://crrev.com/97f56ecee368ae726e6117c8962f09cf2311608e/components/mirroring/service/session.cc
[add] https://crrev.com/97f56ecee368ae726e6117c8962f09cf2311608e/components/mirroring/service/session.h
[add] https://crrev.com/97f56ecee368ae726e6117c8962f09cf2311608e/components/mirroring/service/session_unittest.cc
[modify] https://crrev.com/97f56ecee368ae726e6117c8962f09cf2311608e/components/mirroring/service/video_capture_client.cc
[modify] https://crrev.com/97f56ecee368ae726e6117c8962f09cf2311608e/components/mirroring/service/video_capture_client.h
[modify] https://crrev.com/97f56ecee368ae726e6117c8962f09cf2311608e/components/mirroring/service/video_capture_client_unittest.cc

Comment 19 by amp@chromium.org, Apr 10 2018

Cc: x...@chromium.org dcheng@chromium.org
 Issue 669125  has been merged into this issue.

Comment 20 by amp@chromium.org, Apr 19 2018

Blocking: 662499
Project Member

Comment 21 by bugdroid1@chromium.org, May 3 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ef89b3f2c866441481882b03a9b3bbc1f9860d94

commit ef89b3f2c866441481882b03a9b3bbc1f9860d94
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Thu May 03 00:10:44 2018

Mirroring service: Add cast message dispatcher.

Add MessageDispatcher to handle sending/receiving cast messages.

Bug:  734672 
Change-Id: I1941ba72107b4629da8c47f0b726484d800b2891
Reviewed-on: https://chromium-review.googlesource.com/1008729
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#555622}
[modify] https://crrev.com/ef89b3f2c866441481882b03a9b3bbc1f9860d94/components/mirroring/service/BUILD.gn
[modify] https://crrev.com/ef89b3f2c866441481882b03a9b3bbc1f9860d94/components/mirroring/service/interface.h
[add] https://crrev.com/ef89b3f2c866441481882b03a9b3bbc1f9860d94/components/mirroring/service/message_dispatcher.cc
[add] https://crrev.com/ef89b3f2c866441481882b03a9b3bbc1f9860d94/components/mirroring/service/message_dispatcher.h
[add] https://crrev.com/ef89b3f2c866441481882b03a9b3bbc1f9860d94/components/mirroring/service/message_dispatcher_unittest.cc
[add] https://crrev.com/ef89b3f2c866441481882b03a9b3bbc1f9860d94/components/mirroring/service/receiver_response.cc
[add] https://crrev.com/ef89b3f2c866441481882b03a9b3bbc1f9860d94/components/mirroring/service/receiver_response.h
[add] https://crrev.com/ef89b3f2c866441481882b03a9b3bbc1f9860d94/components/mirroring/service/receiver_response_unittest.cc
[modify] https://crrev.com/ef89b3f2c866441481882b03a9b3bbc1f9860d94/components/mirroring/service/session.cc
[modify] https://crrev.com/ef89b3f2c866441481882b03a9b3bbc1f9860d94/components/mirroring/service/session_unittest.cc
[add] https://crrev.com/ef89b3f2c866441481882b03a9b3bbc1f9860d94/components/mirroring/service/value_util.cc
[add] https://crrev.com/ef89b3f2c866441481882b03a9b3bbc1f9860d94/components/mirroring/service/value_util.h

Project Member

Comment 22 by bugdroid1@chromium.org, May 3 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/73f4320fbe4352c23aff09af83a5d09d2f604da2

commit 73f4320fbe4352c23aff09af83a5d09d2f604da2
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Thu May 03 19:00:51 2018

MirroringService: Add OFFER/ANSWER handling and MirrorSettings.

Add implementation to create OFFER message and handle ANSWER response.
Add the MirrorSettings which hold a set of default settings.

Bug:  734672 
Change-Id: Ia6b9af5ac66e1f8f9496c0afaa335a22f40bb535
Reviewed-on: https://chromium-review.googlesource.com/1017235
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Reviewed-by: David Benjamin <davidben@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#555837}
[modify] https://crrev.com/73f4320fbe4352c23aff09af83a5d09d2f604da2/components/mirroring/service/BUILD.gn
[modify] https://crrev.com/73f4320fbe4352c23aff09af83a5d09d2f604da2/components/mirroring/service/DEPS
[add] https://crrev.com/73f4320fbe4352c23aff09af83a5d09d2f604da2/components/mirroring/service/interface.cc
[modify] https://crrev.com/73f4320fbe4352c23aff09af83a5d09d2f604da2/components/mirroring/service/interface.h
[add] https://crrev.com/73f4320fbe4352c23aff09af83a5d09d2f604da2/components/mirroring/service/mirror_settings.cc
[add] https://crrev.com/73f4320fbe4352c23aff09af83a5d09d2f604da2/components/mirroring/service/mirror_settings.h
[modify] https://crrev.com/73f4320fbe4352c23aff09af83a5d09d2f604da2/components/mirroring/service/rtp_stream.cc
[modify] https://crrev.com/73f4320fbe4352c23aff09af83a5d09d2f604da2/components/mirroring/service/rtp_stream.h
[modify] https://crrev.com/73f4320fbe4352c23aff09af83a5d09d2f604da2/components/mirroring/service/rtp_stream_unittest.cc
[modify] https://crrev.com/73f4320fbe4352c23aff09af83a5d09d2f604da2/components/mirroring/service/session.cc
[modify] https://crrev.com/73f4320fbe4352c23aff09af83a5d09d2f604da2/components/mirroring/service/session.h
[modify] https://crrev.com/73f4320fbe4352c23aff09af83a5d09d2f604da2/components/mirroring/service/session_unittest.cc

Project Member

Comment 23 by bugdroid1@chromium.org, May 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/46ecb38fa8cc228df47f1de9eff724f68fa033ce

commit 46ecb38fa8cc228df47f1de9eff724f68fa033ce
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Tue May 08 17:57:30 2018

Mirroring service: Add WifiStatusMonitor.

This CL ports the WifiStausMonitor to the mirroring service, which
periodically query the ChromeCast receiver for status updates.

Bug:  734672 
Change-Id: Ieab87b05b1eed310e29524cb63ce5f54babd2e45
Reviewed-on: https://chromium-review.googlesource.com/1045496
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#556867}
[modify] https://crrev.com/46ecb38fa8cc228df47f1de9eff724f68fa033ce/components/mirroring/service/BUILD.gn
[add] https://crrev.com/46ecb38fa8cc228df47f1de9eff724f68fa033ce/components/mirroring/service/wifi_status_monitor.cc
[add] https://crrev.com/46ecb38fa8cc228df47f1de9eff724f68fa033ce/components/mirroring/service/wifi_status_monitor.h
[add] https://crrev.com/46ecb38fa8cc228df47f1de9eff724f68fa033ce/components/mirroring/service/wifi_status_monitor_unittest.cc

Project Member

Comment 24 by bugdroid1@chromium.org, May 19 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/642ec8796a0435e9fc5027a9c4cab1eba6589035

commit 642ec8796a0435e9fc5027a9c4cab1eba6589035
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Sat May 19 01:31:59 2018

Mirroring service: Generate video capture constraints.

Generates the video capture constraints with current mirroring
settings. When capturing starts, the constraints are passed to the
host through the mojo interface.

Bug:  734672 
Change-Id: Ie84ef8a3580e62f46b9919f8575c3450b5c8374e
Reviewed-on: https://chromium-review.googlesource.com/1060245
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#560133}
[modify] https://crrev.com/642ec8796a0435e9fc5027a9c4cab1eba6589035/components/mirroring/browser/single_client_video_capture_host.cc
[modify] https://crrev.com/642ec8796a0435e9fc5027a9c4cab1eba6589035/components/mirroring/browser/single_client_video_capture_host.h
[modify] https://crrev.com/642ec8796a0435e9fc5027a9c4cab1eba6589035/components/mirroring/browser/single_client_video_capture_host_unittest.cc
[modify] https://crrev.com/642ec8796a0435e9fc5027a9c4cab1eba6589035/components/mirroring/service/BUILD.gn
[modify] https://crrev.com/642ec8796a0435e9fc5027a9c4cab1eba6589035/components/mirroring/service/mirror_settings.cc
[modify] https://crrev.com/642ec8796a0435e9fc5027a9c4cab1eba6589035/components/mirroring/service/mirror_settings.h
[modify] https://crrev.com/642ec8796a0435e9fc5027a9c4cab1eba6589035/components/mirroring/service/session.cc
[modify] https://crrev.com/642ec8796a0435e9fc5027a9c4cab1eba6589035/components/mirroring/service/video_capture_client.cc
[modify] https://crrev.com/642ec8796a0435e9fc5027a9c4cab1eba6589035/components/mirroring/service/video_capture_client.h
[modify] https://crrev.com/642ec8796a0435e9fc5027a9c4cab1eba6589035/components/mirroring/service/video_capture_client_unittest.cc

Project Member

Comment 25 by bugdroid1@chromium.org, May 21 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a418d35390950ba28d6baee668dc74f7e06de5a8

commit a418d35390950ba28d6baee668dc74f7e06de5a8
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Mon May 21 21:59:31 2018

Mirroring service: Convert codec name to lowercase in OFFER message.

ChromeCast receivers require the codec name in OFFER message to be
lowercase.

Bug:  734672 
Change-Id: I0fb98ea4c4db3448dba277b34299aff5b498438e
Reviewed-on: https://chromium-review.googlesource.com/1067538
Commit-Queue: Yuri Wiitala <miu@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#560366}
[modify] https://crrev.com/a418d35390950ba28d6baee668dc74f7e06de5a8/components/mirroring/service/session.cc

Project Member

Comment 26 by bugdroid1@chromium.org, May 22 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ab4cc6d7051794918681eb669cfa9c6b4327cd4c

commit ab4cc6d7051794918681eb669cfa9c6b4327cd4c
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Tue May 22 17:04:35 2018

Mirroring service: Add SessionMonitor.

This CL adds the SessionMonitor that collects WiFi status reported by
receiver, extra tags, and Cast Streaming raw events/stats for an active
mirroring session. The data is assembled and re-packaged as requested
to be included in user feedback report uploads.

Bug:  734672 
Change-Id: If3644cb345c3cbe8c1cfbd5474432667f426944a
Reviewed-on: https://chromium-review.googlesource.com/1055789
Reviewed-by: Helen Li <xunjieli@chromium.org>
Reviewed-by: Christian Dullweber <dullweber@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#560662}
[modify] https://crrev.com/ab4cc6d7051794918681eb669cfa9c6b4327cd4c/components/mirroring/service/BUILD.gn
[modify] https://crrev.com/ab4cc6d7051794918681eb669cfa9c6b4327cd4c/components/mirroring/service/DEPS
[modify] https://crrev.com/ab4cc6d7051794918681eb669cfa9c6b4327cd4c/components/mirroring/service/mirror_settings.cc
[modify] https://crrev.com/ab4cc6d7051794918681eb669cfa9c6b4327cd4c/components/mirroring/service/mirror_settings.h
[modify] https://crrev.com/ab4cc6d7051794918681eb669cfa9c6b4327cd4c/components/mirroring/service/session.cc
[modify] https://crrev.com/ab4cc6d7051794918681eb669cfa9c6b4327cd4c/components/mirroring/service/session.h
[add] https://crrev.com/ab4cc6d7051794918681eb669cfa9c6b4327cd4c/components/mirroring/service/session_monitor.cc
[add] https://crrev.com/ab4cc6d7051794918681eb669cfa9c6b4327cd4c/components/mirroring/service/session_monitor.h
[add] https://crrev.com/ab4cc6d7051794918681eb669cfa9c6b4327cd4c/components/mirroring/service/session_monitor_unittest.cc
[modify] https://crrev.com/ab4cc6d7051794918681eb669cfa9c6b4327cd4c/components/mirroring/service/session_unittest.cc
[modify] https://crrev.com/ab4cc6d7051794918681eb669cfa9c6b4327cd4c/components/mirroring/service/udp_socket_client.cc
[modify] https://crrev.com/ab4cc6d7051794918681eb669cfa9c6b4327cd4c/components/mirroring/service/udp_socket_client.h
[modify] https://crrev.com/ab4cc6d7051794918681eb669cfa9c6b4327cd4c/components/mirroring/service/udp_socket_client_unittest.cc
[modify] https://crrev.com/ab4cc6d7051794918681eb669cfa9c6b4327cd4c/tools/traffic_annotation/summary/annotations.xml

Project Member

Comment 27 by bugdroid1@chromium.org, May 23 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ac67e06b5f2efae5c039a4d994e56751321622ea

commit ac67e06b5f2efae5c039a4d994e56751321622ea
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Wed May 23 17:36:19 2018

Mirroring Service: Fix params for CreateURLLoaderFactory.

Fixed the params as the network service mojo interface recently
changed.

Bug:  734672 
Change-Id: I71daf8890f6578d1d70dbd3f7da1368e5becdfbd
Reviewed-on: https://chromium-review.googlesource.com/1069674
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#561142}
[modify] https://crrev.com/ac67e06b5f2efae5c039a4d994e56751321622ea/components/mirroring/service/fake_network_service.cc
[modify] https://crrev.com/ac67e06b5f2efae5c039a4d994e56751321622ea/components/mirroring/service/fake_network_service.h
[modify] https://crrev.com/ac67e06b5f2efae5c039a4d994e56751321622ea/components/mirroring/service/session.cc

Project Member

Comment 28 by bugdroid1@chromium.org, May 23 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2b2ac30fc9a4c639f3204149e2a4905aacbd3ab3

commit 2b2ac30fc9a4c639f3204149e2a4905aacbd3ab3
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Wed May 23 17:57:01 2018

SingleClientVideoCaptureHost: Fix map re-entering bug.

Bug:  734672 
Change-Id: Iad0f0ecb6c74ff2d49a48a46a6abe2cc0514767d
Reviewed-on: https://chromium-review.googlesource.com/1069798
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#561153}
[modify] https://crrev.com/2b2ac30fc9a4c639f3204149e2a4905aacbd3ab3/components/mirroring/browser/single_client_video_capture_host.cc
[modify] https://crrev.com/2b2ac30fc9a4c639f3204149e2a4905aacbd3ab3/components/mirroring/browser/single_client_video_capture_host_unittest.cc

Project Member

Comment 29 by bugdroid1@chromium.org, May 23 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/55701fa64cadc9e252bb813472bcb65b90d36953

commit 55701fa64cadc9e252bb813472bcb65b90d36953
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Wed May 23 20:56:37 2018

Mirroring Service: Change cast message data to string type.

Changed the cast message data to JSON format string type. For both
inbound and outbound messages, the serialization/deserialization are
both done by Mirroring Service only.

Bug:  734672 
Change-Id: I0d97c07b7d0d4af1012fafcb4972fc552b28968f
Reviewed-on: https://chromium-review.googlesource.com/1069450
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#561251}
[modify] https://crrev.com/55701fa64cadc9e252bb813472bcb65b90d36953/components/mirroring/service/interface.h
[modify] https://crrev.com/55701fa64cadc9e252bb813472bcb65b90d36953/components/mirroring/service/message_dispatcher.cc
[modify] https://crrev.com/55701fa64cadc9e252bb813472bcb65b90d36953/components/mirroring/service/message_dispatcher_unittest.cc
[modify] https://crrev.com/55701fa64cadc9e252bb813472bcb65b90d36953/components/mirroring/service/receiver_response.cc
[modify] https://crrev.com/55701fa64cadc9e252bb813472bcb65b90d36953/components/mirroring/service/receiver_response.h
[modify] https://crrev.com/55701fa64cadc9e252bb813472bcb65b90d36953/components/mirroring/service/receiver_response_unittest.cc
[modify] https://crrev.com/55701fa64cadc9e252bb813472bcb65b90d36953/components/mirroring/service/session.cc
[modify] https://crrev.com/55701fa64cadc9e252bb813472bcb65b90d36953/components/mirroring/service/session_monitor_unittest.cc
[modify] https://crrev.com/55701fa64cadc9e252bb813472bcb65b90d36953/components/mirroring/service/session_unittest.cc
[modify] https://crrev.com/55701fa64cadc9e252bb813472bcb65b90d36953/components/mirroring/service/wifi_status_monitor.cc
[modify] https://crrev.com/55701fa64cadc9e252bb813472bcb65b90d36953/components/mirroring/service/wifi_status_monitor_unittest.cc

Comment 30 by x...@chromium.org, May 29 2018

Blocking: 806817

Comment 32 by x...@chromium.org, Jun 7 2018

Blockedon: 850352
Project Member

Comment 33 by bugdroid1@chromium.org, Jun 19 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/af041ca4d3b2335e692fc99c4f7d509fa2176d92

commit af041ca4d3b2335e692fc99c4f7d509fa2176d92
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Tue Jun 19 02:33:54 2018

Mirroring Service: Add audio capturing client implementation.

Add the audio mirroring client side code for Mirroring Service.

Bug:  734672 
Change-Id: I2a503fb5a059861a9cc4aa190a80134876eade4b
Reviewed-on: https://chromium-review.googlesource.com/1083626
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#568310}
[modify] https://crrev.com/af041ca4d3b2335e692fc99c4f7d509fa2176d92/components/mirroring/service/BUILD.gn
[add] https://crrev.com/af041ca4d3b2335e692fc99c4f7d509fa2176d92/components/mirroring/service/captured_audio_input.cc
[add] https://crrev.com/af041ca4d3b2335e692fc99c4f7d509fa2176d92/components/mirroring/service/captured_audio_input.h
[add] https://crrev.com/af041ca4d3b2335e692fc99c4f7d509fa2176d92/components/mirroring/service/captured_audio_input_unittest.cc
[modify] https://crrev.com/af041ca4d3b2335e692fc99c4f7d509fa2176d92/components/mirroring/service/interface.h
[modify] https://crrev.com/af041ca4d3b2335e692fc99c4f7d509fa2176d92/components/mirroring/service/mirror_settings.cc
[modify] https://crrev.com/af041ca4d3b2335e692fc99c4f7d509fa2176d92/components/mirroring/service/mirror_settings.h
[modify] https://crrev.com/af041ca4d3b2335e692fc99c4f7d509fa2176d92/components/mirroring/service/rtp_stream.cc
[modify] https://crrev.com/af041ca4d3b2335e692fc99c4f7d509fa2176d92/components/mirroring/service/rtp_stream.h
[modify] https://crrev.com/af041ca4d3b2335e692fc99c4f7d509fa2176d92/components/mirroring/service/session.cc
[modify] https://crrev.com/af041ca4d3b2335e692fc99c4f7d509fa2176d92/components/mirroring/service/session.h
[modify] https://crrev.com/af041ca4d3b2335e692fc99c4f7d509fa2176d92/components/mirroring/service/session_unittest.cc

Project Member

Comment 34 by bugdroid1@chromium.org, Jun 20 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/60ab87dc3dfd20de4806692f0614ec7d45a61c61

commit 60ab87dc3dfd20de4806692f0614ec7d45a61c61
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Wed Jun 20 22:46:04 2018

Mirroring Service: Add MediaRemoter implementation.

Add the MediaRemoter implementation to the Mirroring Service. Mainly
ported over from the existing Media Router extension code.

Bug:  734672 
Change-Id: I7dd8a0dab122f452e96c3fa6b188a92ebefd9c3d
Reviewed-on: https://chromium-review.googlesource.com/1086421
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#569059}
[modify] https://crrev.com/60ab87dc3dfd20de4806692f0614ec7d45a61c61/components/mirroring/service/BUILD.gn
[add] https://crrev.com/60ab87dc3dfd20de4806692f0614ec7d45a61c61/components/mirroring/service/media_remoter.cc
[add] https://crrev.com/60ab87dc3dfd20de4806692f0614ec7d45a61c61/components/mirroring/service/media_remoter.h
[add] https://crrev.com/60ab87dc3dfd20de4806692f0614ec7d45a61c61/components/mirroring/service/media_remoter_unittest.cc

Project Member

Comment 35 by bugdroid1@chromium.org, Jul 12

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1eb8fa9af662dd108d6033c5d8813db78b8489ee

commit 1eb8fa9af662dd108d6033c5d8813db78b8489ee
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Thu Jul 12 01:50:19 2018

Mirroring Service: Supports switching between mirroring and remoting.

Add the implementation to support the switching between mirroring and
remoting. Also changed to only monitor the WiFi status when receiver
indicates that it supports the get status message.

Bug:  734672 
Change-Id: I72eefbcadc6f790c2573a81976cd9d0e2dbe3ae7
Reviewed-on: https://chromium-review.googlesource.com/1104966
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#574456}
[modify] https://crrev.com/1eb8fa9af662dd108d6033c5d8813db78b8489ee/components/mirroring/service/BUILD.gn
[modify] https://crrev.com/1eb8fa9af662dd108d6033c5d8813db78b8489ee/components/mirroring/service/interface.h
[modify] https://crrev.com/1eb8fa9af662dd108d6033c5d8813db78b8489ee/components/mirroring/service/message_dispatcher.cc
[modify] https://crrev.com/1eb8fa9af662dd108d6033c5d8813db78b8489ee/components/mirroring/service/message_dispatcher.h
[modify] https://crrev.com/1eb8fa9af662dd108d6033c5d8813db78b8489ee/components/mirroring/service/message_dispatcher_unittest.cc
[modify] https://crrev.com/1eb8fa9af662dd108d6033c5d8813db78b8489ee/components/mirroring/service/session.cc
[modify] https://crrev.com/1eb8fa9af662dd108d6033c5d8813db78b8489ee/components/mirroring/service/session.h
[modify] https://crrev.com/1eb8fa9af662dd108d6033c5d8813db78b8489ee/components/mirroring/service/session_monitor.cc
[modify] https://crrev.com/1eb8fa9af662dd108d6033c5d8813db78b8489ee/components/mirroring/service/session_monitor.h
[modify] https://crrev.com/1eb8fa9af662dd108d6033c5d8813db78b8489ee/components/mirroring/service/session_monitor_unittest.cc
[modify] https://crrev.com/1eb8fa9af662dd108d6033c5d8813db78b8489ee/components/mirroring/service/session_unittest.cc

Project Member

Comment 36 by bugdroid1@chromium.org, Jul 14

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bb31035071698fca63422386b19e2cbbc73c893b

commit bb31035071698fca63422386b19e2cbbc73c893b
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Sat Jul 14 02:04:58 2018

Mirroring Service: Create video capture host in browser when requested.

This CL introduced CastMirroringServiceHost that will be created and
connected to Mirroring Service when mirroring starts. It is used by
Cast Media Router Provider to start/control a mirroring session, and
also provides the in-process resources to Mirroring Service. This CL
creates a video capture host when requested. More implementation will
be added in later CLs.

Bug:  734672 
Change-Id: I405c10cb29c7fcca48cfe4f508783d4d1456b38c
Reviewed-on: https://chromium-review.googlesource.com/1115773
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#575132}
[modify] https://crrev.com/bb31035071698fca63422386b19e2cbbc73c893b/chrome/browser/BUILD.gn
[add] https://crrev.com/bb31035071698fca63422386b19e2cbbc73c893b/chrome/browser/media/cast_mirroring_service_host.cc
[add] https://crrev.com/bb31035071698fca63422386b19e2cbbc73c893b/chrome/browser/media/cast_mirroring_service_host.h
[add] https://crrev.com/bb31035071698fca63422386b19e2cbbc73c893b/chrome/browser/media/cast_mirroring_service_host_browsertest.cc
[modify] https://crrev.com/bb31035071698fca63422386b19e2cbbc73c893b/chrome/test/BUILD.gn
[modify] https://crrev.com/bb31035071698fca63422386b19e2cbbc73c893b/content/public/browser/BUILD.gn
[add] https://crrev.com/bb31035071698fca63422386b19e2cbbc73c893b/content/public/browser/video_capture_device_launcher.cc
[modify] https://crrev.com/bb31035071698fca63422386b19e2cbbc73c893b/content/public/browser/video_capture_device_launcher.h

Project Member

Comment 37 by bugdroid1@chromium.org, Jul 24

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3c56ace4bdd2a74c0e95154a70d24c531399baac

commit 3c56ace4bdd2a74c0e95154a70d24c531399baac
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Tue Jul 24 19:23:38 2018

Mirroring Service: Create network context as requested.

This CL adds implementation to create a network context through Network
Service for the Mirroring Service.

Bug:  734672 
Change-Id: I26422b4f4f5c69bd8398dc3ae3d5ee501c996eea
Reviewed-on: https://chromium-review.googlesource.com/1139218
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Reviewed-by: oysteine <oysteine@chromium.org>
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#577635}
[modify] https://crrev.com/3c56ace4bdd2a74c0e95154a70d24c531399baac/base/trace_event/memory_infra_background_whitelist.cc
[modify] https://crrev.com/3c56ace4bdd2a74c0e95154a70d24c531399baac/chrome/browser/media/cast_mirroring_service_host.cc

Project Member

Comment 38 by bugdroid1@chromium.org, Jul 24

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4a9ec046e2d73a10480100ea51a76b3cf33bfa04

commit 4a9ec046e2d73a10480100ea51a76b3cf33bfa04
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Tue Jul 24 23:45:49 2018

Mirroring Service: Add feature flag and notify the component extension

This CL adds a feature flag for Mirroring Service and also notifies the
component extension whether Mirroring Service should be used for
tab/desktop mirroring.

The change in component extension side will come in a later CL. Before
then, there is no behavior change when enabling/disabling the flag.

Bug:  734672 
Change-Id: I388cb193894c690e761169771531452afba09805
Reviewed-on: https://chromium-review.googlesource.com/1145622
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Derek Cheng <imcheng@chromium.org>
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#577734}
[modify] https://crrev.com/4a9ec046e2d73a10480100ea51a76b3cf33bfa04/chrome/browser/media/router/media_router_feature.cc
[modify] https://crrev.com/4a9ec046e2d73a10480100ea51a76b3cf33bfa04/chrome/browser/media/router/media_router_feature.h
[modify] https://crrev.com/4a9ec046e2d73a10480100ea51a76b3cf33bfa04/chrome/browser/media/router/mojo/media_router_desktop.cc
[modify] https://crrev.com/4a9ec046e2d73a10480100ea51a76b3cf33bfa04/chrome/common/chrome_features.cc
[modify] https://crrev.com/4a9ec046e2d73a10480100ea51a76b3cf33bfa04/chrome/common/chrome_features.h
[modify] https://crrev.com/4a9ec046e2d73a10480100ea51a76b3cf33bfa04/chrome/common/media_router/mojo/media_router.mojom
[modify] https://crrev.com/4a9ec046e2d73a10480100ea51a76b3cf33bfa04/chrome/renderer/resources/extensions/media_router_bindings.js

Project Member

Comment 39 by bugdroid1@chromium.org, Jul 27

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1f0311f2b3a3e1dd26dec12124c03ac2cedcc9e7

commit 1f0311f2b3a3e1dd26dec12124c03ac2cedcc9e7
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Fri Jul 27 17:03:59 2018

Mirroring Service: Introduce mojo interfaces.

Replaced the current interfaces with mojo interfaces. No functional
change.

Bug:  734672 
Change-Id: I0f54fdb63fe6179d1296c1e5132e1f09a4a4b4b2
Reviewed-on: https://chromium-review.googlesource.com/1137103
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578680}
[modify] https://crrev.com/1f0311f2b3a3e1dd26dec12124c03ac2cedcc9e7/chrome/browser/BUILD.gn
[modify] https://crrev.com/1f0311f2b3a3e1dd26dec12124c03ac2cedcc9e7/chrome/browser/media/cast_mirroring_service_host.cc
[modify] https://crrev.com/1f0311f2b3a3e1dd26dec12124c03ac2cedcc9e7/chrome/browser/media/cast_mirroring_service_host.h
[modify] https://crrev.com/1f0311f2b3a3e1dd26dec12124c03ac2cedcc9e7/chrome/browser/media/cast_mirroring_service_host_browsertest.cc
[add] https://crrev.com/1f0311f2b3a3e1dd26dec12124c03ac2cedcc9e7/components/mirroring/mojom/BUILD.gn
[add] https://crrev.com/1f0311f2b3a3e1dd26dec12124c03ac2cedcc9e7/components/mirroring/mojom/OWNERS
[add] https://crrev.com/1f0311f2b3a3e1dd26dec12124c03ac2cedcc9e7/components/mirroring/mojom/cast_message_channel.mojom
[add] https://crrev.com/1f0311f2b3a3e1dd26dec12124c03ac2cedcc9e7/components/mirroring/mojom/mirroring_service.mojom
[add] https://crrev.com/1f0311f2b3a3e1dd26dec12124c03ac2cedcc9e7/components/mirroring/mojom/mirroring_service_host.mojom
[add] https://crrev.com/1f0311f2b3a3e1dd26dec12124c03ac2cedcc9e7/components/mirroring/mojom/resource_provider.mojom
[add] https://crrev.com/1f0311f2b3a3e1dd26dec12124c03ac2cedcc9e7/components/mirroring/mojom/session_observer.mojom
[add] https://crrev.com/1f0311f2b3a3e1dd26dec12124c03ac2cedcc9e7/components/mirroring/mojom/session_parameters.mojom
[modify] https://crrev.com/1f0311f2b3a3e1dd26dec12124c03ac2cedcc9e7/components/mirroring/service/BUILD.gn
[modify] https://crrev.com/1f0311f2b3a3e1dd26dec12124c03ac2cedcc9e7/components/mirroring/service/DEPS
[modify] https://crrev.com/1f0311f2b3a3e1dd26dec12124c03ac2cedcc9e7/components/mirroring/service/captured_audio_input.cc
[modify] https://crrev.com/1f0311f2b3a3e1dd26dec12124c03ac2cedcc9e7/components/mirroring/service/captured_audio_input.h
[modify] https://crrev.com/1f0311f2b3a3e1dd26dec12124c03ac2cedcc9e7/components/mirroring/service/captured_audio_input_unittest.cc
[delete] https://crrev.com/23b14a8f754bf939b9a704806b0e7853ba519880/components/mirroring/service/interface.cc
[delete] https://crrev.com/23b14a8f754bf939b9a704806b0e7853ba519880/components/mirroring/service/interface.h
[modify] https://crrev.com/1f0311f2b3a3e1dd26dec12124c03ac2cedcc9e7/components/mirroring/service/media_remoter.cc
[modify] https://crrev.com/1f0311f2b3a3e1dd26dec12124c03ac2cedcc9e7/components/mirroring/service/media_remoter_unittest.cc
[modify] https://crrev.com/1f0311f2b3a3e1dd26dec12124c03ac2cedcc9e7/components/mirroring/service/message_dispatcher.cc
[modify] https://crrev.com/1f0311f2b3a3e1dd26dec12124c03ac2cedcc9e7/components/mirroring/service/message_dispatcher.h
[modify] https://crrev.com/1f0311f2b3a3e1dd26dec12124c03ac2cedcc9e7/components/mirroring/service/message_dispatcher_unittest.cc
[modify] https://crrev.com/1f0311f2b3a3e1dd26dec12124c03ac2cedcc9e7/components/mirroring/service/session.cc
[modify] https://crrev.com/1f0311f2b3a3e1dd26dec12124c03ac2cedcc9e7/components/mirroring/service/session.h
[modify] https://crrev.com/1f0311f2b3a3e1dd26dec12124c03ac2cedcc9e7/components/mirroring/service/session_monitor.cc
[modify] https://crrev.com/1f0311f2b3a3e1dd26dec12124c03ac2cedcc9e7/components/mirroring/service/session_monitor.h
[modify] https://crrev.com/1f0311f2b3a3e1dd26dec12124c03ac2cedcc9e7/components/mirroring/service/session_monitor_unittest.cc
[modify] https://crrev.com/1f0311f2b3a3e1dd26dec12124c03ac2cedcc9e7/components/mirroring/service/session_unittest.cc
[modify] https://crrev.com/1f0311f2b3a3e1dd26dec12124c03ac2cedcc9e7/components/mirroring/service/wifi_status_monitor.cc
[modify] https://crrev.com/1f0311f2b3a3e1dd26dec12124c03ac2cedcc9e7/components/mirroring/service/wifi_status_monitor.h
[modify] https://crrev.com/1f0311f2b3a3e1dd26dec12124c03ac2cedcc9e7/components/mirroring/service/wifi_status_monitor_unittest.cc

Project Member

Comment 40 by bugdroid1@chromium.org, Jul 31

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1433dd1c5efb18cea97e098420220f68e1120eb6

commit 1433dd1c5efb18cea97e098420220f68e1120eb6
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Tue Jul 31 03:03:18 2018

Mirroring Service: Connect with CastRemotingConnector as requested.

This CL adds implementation to connect the CastRemotingConnector with
remoter when requested from Mirroring Service.

Bug:  734672 
Change-Id: I213b4f06bdbd7ad188969310da867bf939cdd0f2
Reviewed-on: https://chromium-review.googlesource.com/1144409
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#579297}
[modify] https://crrev.com/1433dd1c5efb18cea97e098420220f68e1120eb6/chrome/browser/media/cast_mirroring_service_host.cc
[modify] https://crrev.com/1433dd1c5efb18cea97e098420220f68e1120eb6/chrome/browser/media/cast_remoting_connector.cc
[modify] https://crrev.com/1433dd1c5efb18cea97e098420220f68e1120eb6/chrome/browser/media/cast_remoting_connector.h
[modify] https://crrev.com/1433dd1c5efb18cea97e098420220f68e1120eb6/chrome/browser/media/cast_remoting_connector_unittest.cc

Cc: powerb@chromium.org
Project Member

Comment 42 by bugdroid1@chromium.org, Aug 3

Project Member

Comment 43 by bugdroid1@chromium.org, Aug 6

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7673d0210221cdf037085a2af89c9008394f6798

commit 7673d0210221cdf037085a2af89c9008394f6798
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Mon Aug 06 22:39:57 2018

Mirroring Service: Create audio loopback stream as requested.

This CL adds the implementation to create an audio loopback stream
through Audio Service as requested.

Bug:  734672 
Change-Id: Ifd78a1848c7979438401586c03f41758d996978e
Reviewed-on: https://chromium-review.googlesource.com/1141284
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#581017}
[modify] https://crrev.com/7673d0210221cdf037085a2af89c9008394f6798/chrome/browser/media/cast_mirroring_service_host.cc
[modify] https://crrev.com/7673d0210221cdf037085a2af89c9008394f6798/chrome/browser/media/cast_mirroring_service_host.h
[modify] https://crrev.com/7673d0210221cdf037085a2af89c9008394f6798/chrome/browser/media/cast_mirroring_service_host_browsertest.cc
[modify] https://crrev.com/7673d0210221cdf037085a2af89c9008394f6798/content/browser/BUILD.gn
[modify] https://crrev.com/7673d0210221cdf037085a2af89c9008394f6798/content/browser/media/forwarding_audio_stream_factory.cc
[modify] https://crrev.com/7673d0210221cdf037085a2af89c9008394f6798/content/browser/media/forwarding_audio_stream_factory.h
[add] https://crrev.com/7673d0210221cdf037085a2af89c9008394f6798/content/browser/media/in_process_audio_loopback_stream_creator.cc
[add] https://crrev.com/7673d0210221cdf037085a2af89c9008394f6798/content/browser/media/in_process_audio_loopback_stream_creator.h
[modify] https://crrev.com/7673d0210221cdf037085a2af89c9008394f6798/content/public/browser/BUILD.gn
[add] https://crrev.com/7673d0210221cdf037085a2af89c9008394f6798/content/public/browser/audio_loopback_stream_creator.cc
[add] https://crrev.com/7673d0210221cdf037085a2af89c9008394f6798/content/public/browser/audio_loopback_stream_creator.h

Project Member

Comment 44 by bugdroid1@chromium.org, Aug 7

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c431cc9fb06b64d5eb6c269a54daba40babe534c

commit c431cc9fb06b64d5eb6c269a54daba40babe534c
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Tue Aug 07 20:41:20 2018

Mirroring service: Change build target to component.

Bug:  734672 
Change-Id: I97941d577b6993170b4f5a506e51a9451623dccd
Reviewed-on: https://chromium-review.googlesource.com/1162772
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#581336}
[modify] https://crrev.com/c431cc9fb06b64d5eb6c269a54daba40babe534c/chrome/browser/BUILD.gn
[modify] https://crrev.com/c431cc9fb06b64d5eb6c269a54daba40babe534c/components/mirroring/service/BUILD.gn
[modify] https://crrev.com/c431cc9fb06b64d5eb6c269a54daba40babe534c/components/mirroring/service/captured_audio_input.h
[modify] https://crrev.com/c431cc9fb06b64d5eb6c269a54daba40babe534c/components/mirroring/service/features.h
[modify] https://crrev.com/c431cc9fb06b64d5eb6c269a54daba40babe534c/components/mirroring/service/media_remoter.h
[modify] https://crrev.com/c431cc9fb06b64d5eb6c269a54daba40babe534c/components/mirroring/service/message_dispatcher.h
[modify] https://crrev.com/c431cc9fb06b64d5eb6c269a54daba40babe534c/components/mirroring/service/mirror_settings.h
[modify] https://crrev.com/c431cc9fb06b64d5eb6c269a54daba40babe534c/components/mirroring/service/receiver_response.h
[modify] https://crrev.com/c431cc9fb06b64d5eb6c269a54daba40babe534c/components/mirroring/service/remoting_sender.h
[modify] https://crrev.com/c431cc9fb06b64d5eb6c269a54daba40babe534c/components/mirroring/service/rtp_stream.h
[modify] https://crrev.com/c431cc9fb06b64d5eb6c269a54daba40babe534c/components/mirroring/service/session.h
[modify] https://crrev.com/c431cc9fb06b64d5eb6c269a54daba40babe534c/components/mirroring/service/session_monitor.h
[modify] https://crrev.com/c431cc9fb06b64d5eb6c269a54daba40babe534c/components/mirroring/service/udp_socket_client.h
[modify] https://crrev.com/c431cc9fb06b64d5eb6c269a54daba40babe534c/components/mirroring/service/value_util.h
[modify] https://crrev.com/c431cc9fb06b64d5eb6c269a54daba40babe534c/components/mirroring/service/video_capture_client.h
[modify] https://crrev.com/c431cc9fb06b64d5eb6c269a54daba40babe534c/components/mirroring/service/wifi_status_monitor.h

Project Member

Comment 45 by bugdroid1@chromium.org, Aug 17

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/454748427cfeb8b57815444049083ace8b1353da

commit 454748427cfeb8b57815444049083ace8b1353da
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Fri Aug 17 21:07:59 2018

Setup mirroring service.

This CL setup a sandboxed utility service for mirroring. The service encodes the
captured audio/video streams and sends them to the remote Cast receiver. The
sandbox type is set to "renderer" since the service does media encoding and
cast control messages parsing, which has similar requirements as a renderer in
term of sandbox policy.

Bug:  734672 
Change-Id: Ieeb1e373241266c15535f6d4d8fa54337ca59941
Reviewed-on: https://chromium-review.googlesource.com/1162932
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#584186}
[modify] https://crrev.com/454748427cfeb8b57815444049083ace8b1353da/chrome/app/BUILD.gn
[modify] https://crrev.com/454748427cfeb8b57815444049083ace8b1353da/chrome/browser/BUILD.gn
[modify] https://crrev.com/454748427cfeb8b57815444049083ace8b1353da/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/454748427cfeb8b57815444049083ace8b1353da/chrome/utility/BUILD.gn
[modify] https://crrev.com/454748427cfeb8b57815444049083ace8b1353da/chrome/utility/DEPS
[modify] https://crrev.com/454748427cfeb8b57815444049083ace8b1353da/chrome/utility/chrome_content_utility_client.cc
[modify] https://crrev.com/454748427cfeb8b57815444049083ace8b1353da/components/mirroring/mojom/BUILD.gn
[add] https://crrev.com/454748427cfeb8b57815444049083ace8b1353da/components/mirroring/mojom/constants.mojom
[modify] https://crrev.com/454748427cfeb8b57815444049083ace8b1353da/components/mirroring/service/BUILD.gn
[modify] https://crrev.com/454748427cfeb8b57815444049083ace8b1353da/components/mirroring/service/DEPS
[add] https://crrev.com/454748427cfeb8b57815444049083ace8b1353da/components/mirroring/service/OWNERS
[modify] https://crrev.com/454748427cfeb8b57815444049083ace8b1353da/components/mirroring/service/fake_network_service.h
[add] https://crrev.com/454748427cfeb8b57815444049083ace8b1353da/components/mirroring/service/manifest.json
[add] https://crrev.com/454748427cfeb8b57815444049083ace8b1353da/components/mirroring/service/mirroring_service.cc
[add] https://crrev.com/454748427cfeb8b57815444049083ace8b1353da/components/mirroring/service/mirroring_service.h

Project Member

Comment 46 by bugdroid1@chromium.org, Aug 21

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8818a0a43de6f5d4e8d377cbf9634bf09ccb6642

commit 8818a0a43de6f5d4e8d377cbf9634bf09ccb6642
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Tue Aug 21 19:07:51 2018

Mirroring Service: Add interface to get the CastMirroringServiceHost.

Add an interface to allow the Cast Media Router Provider to connect to
the Mirroring Service to start a mirroring session. The extension
change will be submit separately. Before then, there is no behavior
change.

Bug:  734672 
Change-Id: I41a865313be0a96c684e519bb25d665e197e9ebe
Reviewed-on: https://chromium-review.googlesource.com/1171786
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Scott Chen <scottchen@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Reviewed-by: Derek Cheng <imcheng@chromium.org>
Reviewed-by: Reilly Grant <reillyg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#584871}
[modify] https://crrev.com/8818a0a43de6f5d4e8d377cbf9634bf09ccb6642/chrome/browser/media/cast_mirroring_service_host.cc
[modify] https://crrev.com/8818a0a43de6f5d4e8d377cbf9634bf09ccb6642/chrome/browser/media/cast_mirroring_service_host.h
[modify] https://crrev.com/8818a0a43de6f5d4e8d377cbf9634bf09ccb6642/chrome/browser/media/router/media_router_feature.cc
[modify] https://crrev.com/8818a0a43de6f5d4e8d377cbf9634bf09ccb6642/chrome/browser/media/router/mojo/media_router_mojo_impl.cc
[modify] https://crrev.com/8818a0a43de6f5d4e8d377cbf9634bf09ccb6642/chrome/browser/media/router/mojo/media_router_mojo_impl.h
[modify] https://crrev.com/8818a0a43de6f5d4e8d377cbf9634bf09ccb6642/chrome/browser/media/router/test/mock_mojo_media_router.h
[modify] https://crrev.com/8818a0a43de6f5d4e8d377cbf9634bf09ccb6642/chrome/common/media_router/mojo/BUILD.gn
[modify] https://crrev.com/8818a0a43de6f5d4e8d377cbf9634bf09ccb6642/chrome/common/media_router/mojo/media_router.mojom
[modify] https://crrev.com/8818a0a43de6f5d4e8d377cbf9634bf09ccb6642/chrome/renderer/extensions/chrome_extensions_dispatcher_delegate.cc
[modify] https://crrev.com/8818a0a43de6f5d4e8d377cbf9634bf09ccb6642/chrome/renderer/resources/extensions/media_router_bindings.js
[modify] https://crrev.com/8818a0a43de6f5d4e8d377cbf9634bf09ccb6642/chrome/renderer/resources/renderer_resources.grd

Project Member

Comment 47 by bugdroid1@chromium.org, Aug 25

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/81835381f1e301fa6be13b7a3811d8a2a75f0fb7

commit 81835381f1e301fa6be13b7a3811d8a2a75f0fb7
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Sat Aug 25 01:40:04 2018

Mirroring service: Observe the target WebContents for tab mirroring.

Observe the target WebContents for Tab/OffscreenTab mirroring.

Bug:  734672 
Change-Id: I65194a345f81b38967396c80e5f614d4119782e4
Reviewed-on: https://chromium-review.googlesource.com/1176110
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#586097}
[modify] https://crrev.com/81835381f1e301fa6be13b7a3811d8a2a75f0fb7/chrome/browser/media/cast_mirroring_service_host.cc
[modify] https://crrev.com/81835381f1e301fa6be13b7a3811d8a2a75f0fb7/chrome/browser/media/cast_mirroring_service_host.h

Project Member

Comment 48 by bugdroid1@chromium.org, Aug 25

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a8e7bbd4d1513e1654487db7ea5fa1c1cd8678f2

commit a8e7bbd4d1513e1654487db7ea5fa1c1cd8678f2
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Sat Aug 25 01:48:56 2018

Refactoring: Move OffscreenTab out of TabCapture API.

This CL keeps OffscreenTabOwner in TabCapture API, but moves
OffscreenTab to chrome/browser/media to allow it being used by the
mirroring service to support OffscreenTab mirroring. Implementation is
not changed at all. No functional or behavior change either.

Bug:  734672 
Change-Id: Ia8de3680853b86824809d70dc96c6180e9a0c957
Reviewed-on: https://chromium-review.googlesource.com/1180588
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#586101}
[modify] https://crrev.com/a8e7bbd4d1513e1654487db7ea5fa1c1cd8678f2/chrome/browser/BUILD.gn
[modify] https://crrev.com/a8e7bbd4d1513e1654487db7ea5fa1c1cd8678f2/chrome/browser/extensions/BUILD.gn
[add] https://crrev.com/a8e7bbd4d1513e1654487db7ea5fa1c1cd8678f2/chrome/browser/extensions/api/tab_capture/offscreen_tabs_owner.cc
[add] https://crrev.com/a8e7bbd4d1513e1654487db7ea5fa1c1cd8678f2/chrome/browser/extensions/api/tab_capture/offscreen_tabs_owner.h
[modify] https://crrev.com/a8e7bbd4d1513e1654487db7ea5fa1c1cd8678f2/chrome/browser/extensions/api/tab_capture/tab_capture_api.cc
[rename] https://crrev.com/a8e7bbd4d1513e1654487db7ea5fa1c1cd8678f2/chrome/browser/media/offscreen_tab.cc
[rename] https://crrev.com/a8e7bbd4d1513e1654487db7ea5fa1c1cd8678f2/chrome/browser/media/offscreen_tab.h

Project Member

Comment 49 by bugdroid1@chromium.org, Aug 31

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/35052965e9dc6198add0be3819eb9b8044900ca6

commit 35052965e9dc6198add0be3819eb9b8044900ca6
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Fri Aug 31 19:39:29 2018

Refactoring: Move WindowAdoptionAgent out of TabCaptureRegistry.

WindowAdoptionAgent is used by TabCapture API to find a root Window to
adopt the Webcontents native view containing the tab content being
captured on AURA platform. This CL moves the implement internal to
OffscreenTab to allow it being used by the mirroring service to support
mirroring an OffscreenTab. Purely code moving, implementation doesn't
change at all.

Bug:  734672 
Change-Id: I2b663e24f91496c844f64257ded1da43461ca736
Reviewed-on: https://chromium-review.googlesource.com/1192207
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Reviewed-by: Xiaohan Wang <xhwang@chromium.org>
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#588125}
[modify] https://crrev.com/35052965e9dc6198add0be3819eb9b8044900ca6/chrome/browser/extensions/api/tab_capture/tab_capture_registry.cc
[modify] https://crrev.com/35052965e9dc6198add0be3819eb9b8044900ca6/chrome/browser/media/offscreen_tab.cc
[modify] https://crrev.com/35052965e9dc6198add0be3819eb9b8044900ca6/chrome/browser/media/offscreen_tab.h

Project Member

Comment 50 by bugdroid1@chromium.org, Aug 31

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4f6da91d97a023e8fb6c21ba5ed3385a7c6c9b26

commit 4f6da91d97a023e8fb6c21ba5ed3385a7c6c9b26
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Fri Aug 31 21:07:38 2018

Mirroring Service: Supports OffscreenTab mirroring.

This CL adds the implementation to open a new OffscreenTab to support
OffscreenTab mirroring through the mirroring service.

Bug:  734672 
Change-Id: I560e39d74b0e1a147ffee2dfccf0b38ae8ed7fae
Reviewed-on: https://chromium-review.googlesource.com/1195820
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#588166}
[modify] https://crrev.com/4f6da91d97a023e8fb6c21ba5ed3385a7c6c9b26/chrome/browser/media/cast_mirroring_service_host.cc
[modify] https://crrev.com/4f6da91d97a023e8fb6c21ba5ed3385a7c6c9b26/chrome/browser/media/cast_mirroring_service_host.h

Project Member

Comment 51 by bugdroid1@chromium.org, Aug 31

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0de7519819ce14ba87ae82510185462b52099f8a

commit 0de7519819ce14ba87ae82510185462b52099f8a
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Fri Aug 31 23:02:40 2018

Connect to mirroring service to start a mirroring session.

This CL adds the implementation to connect to the mirroring service
when requested to start a mirroring session.

Bug:  734672 
Change-Id: I232ad4bda8b409a90af3d37662f1a21296103dda
Reviewed-on: https://chromium-review.googlesource.com/1184153
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#588199}
[modify] https://crrev.com/0de7519819ce14ba87ae82510185462b52099f8a/chrome/browser/chrome_content_browser_manifest_overlay.json
[modify] https://crrev.com/0de7519819ce14ba87ae82510185462b52099f8a/chrome/browser/media/cast_mirroring_service_host.cc
[modify] https://crrev.com/0de7519819ce14ba87ae82510185462b52099f8a/chrome/browser/media/cast_mirroring_service_host.h

Project Member

Comment 53 by bugdroid1@chromium.org, Sep 6

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e73efe3c90c127e11cb5119cd400a40f1d777836

commit e73efe3c90c127e11cb5119cd400a40f1d777836
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Thu Sep 06 19:54:42 2018

Mirroring Service: Support shared buffer handles for video capturing.

VideoCaptureClient was recently changed to only support the new
base::ReadOnlySharedMemoryRegion being passed to the client. However,
for desktop capturing, the read-write shared buffer handles are still
passed by media::VideoCaptureDeviceClient. This CL temporally added the
support of shared buffer handles back before the
media::VideoCaptureDeviceClient is migrated to the new read-only API.

Bug:  734672 ,843117
Change-Id: Ib3f6d58aa2541abfb29f1df014f1a01cfef50ef0
Reviewed-on: https://chromium-review.googlesource.com/1204721
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#589252}
[modify] https://crrev.com/e73efe3c90c127e11cb5119cd400a40f1d777836/components/mirroring/service/video_capture_client.cc
[modify] https://crrev.com/e73efe3c90c127e11cb5119cd400a40f1d777836/components/mirroring/service/video_capture_client.h
[modify] https://crrev.com/e73efe3c90c127e11cb5119cd400a40f1d777836/components/mirroring/service/video_capture_client_unittest.cc

Project Member

Comment 54 by bugdroid1@chromium.org, Sep 6

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3541fbe649b699fb380ae0c6a2ed7b6e22ebdfff

commit 3541fbe649b699fb380ae0c6a2ed7b6e22ebdfff
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Thu Sep 06 22:00:29 2018

Mirroring Service: Add support for HW encoding.

This CL adds the implementation in the Mirroring Service to connect to
the GPU service to support the HW encoding if available.

Bug:  734672 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: I3380ed0dcf2f06ae0ee42dbf30bf0905475e3d78
Reviewed-on: https://chromium-review.googlesource.com/1189122
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Reviewed-by: Xiaohan Wang <xhwang@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#589322}
[modify] https://crrev.com/3541fbe649b699fb380ae0c6a2ed7b6e22ebdfff/chrome/utility/chrome_content_utility_client.cc
[modify] https://crrev.com/3541fbe649b699fb380ae0c6a2ed7b6e22ebdfff/components/mirroring/service/BUILD.gn
[modify] https://crrev.com/3541fbe649b699fb380ae0c6a2ed7b6e22ebdfff/components/mirroring/service/DEPS
[modify] https://crrev.com/3541fbe649b699fb380ae0c6a2ed7b6e22ebdfff/components/mirroring/service/manifest.json
[modify] https://crrev.com/3541fbe649b699fb380ae0c6a2ed7b6e22ebdfff/components/mirroring/service/mirroring_service.cc
[modify] https://crrev.com/3541fbe649b699fb380ae0c6a2ed7b6e22ebdfff/components/mirroring/service/mirroring_service.h
[modify] https://crrev.com/3541fbe649b699fb380ae0c6a2ed7b6e22ebdfff/components/mirroring/service/session.cc
[modify] https://crrev.com/3541fbe649b699fb380ae0c6a2ed7b6e22ebdfff/components/mirroring/service/session.h
[modify] https://crrev.com/3541fbe649b699fb380ae0c6a2ed7b6e22ebdfff/components/mirroring/service/session_unittest.cc
[modify] https://crrev.com/3541fbe649b699fb380ae0c6a2ed7b6e22ebdfff/media/gpu/BUILD.gn
[modify] https://crrev.com/3541fbe649b699fb380ae0c6a2ed7b6e22ebdfff/media/mojo/clients/BUILD.gn

Project Member

Comment 55 by bugdroid1@chromium.org, Sep 6

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dd6bfc2f68537636ef0ca16ad2cbb35060acb7d9

commit dd6bfc2f68537636ef0ca16ad2cbb35060acb7d9
Author: Xiangjun Zhang <xjz@chromium.org>
Date: Thu Sep 06 22:51:13 2018

Fix CastRemotingConnector to support remoting an OffscreenTab.

This CL fixed the CastRemotingConnector to support OffscreenTab
mirroring/remoting using Mirroring Service. However, when Mirroring
service is not used, remoting an OffscreenTab is still not supported.

Bug:  734672 
Change-Id: I09aab2d76be9d1b466d5c54a3d5eb66c7a6ff83f
Reviewed-on: https://chromium-review.googlesource.com/1200321
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#589350}
[modify] https://crrev.com/dd6bfc2f68537636ef0ca16ad2cbb35060acb7d9/chrome/browser/media/cast_remoting_connector.cc
[modify] https://crrev.com/dd6bfc2f68537636ef0ca16ad2cbb35060acb7d9/chrome/test/BUILD.gn

Status: Fixed (was: Started)
Project Member

Comment 57 by bugdroid1@chromium.org, Oct 2

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4fe547befb93a2a29889788c85de80a34656b4a3

commit 4fe547befb93a2a29889788c85de80a34656b4a3
Author: Max Morin <maxmorin@chromium.org>
Date: Tue Oct 02 15:51:07 2018

Remove FrameDeleted(nullptr) from AudioLoopbackStreamCreator

Reasonably, nullptr isn't a frame, so it cannot be deleted.
This call also isn't necessary, since the destructor of |factory_|
is going to clean everything up soon anyways.

Adds a DCHECK to ForwardingAudioStreamFactory::FrameDeleted to assert
that |render_frame_host| is non-null.

Bug:  734672 
Change-Id: Ide1679e93923b70182498f57b92eb21f08f8e5f6
Reviewed-on: https://chromium-review.googlesource.com/1256962
Reviewed-by: Olga Sharonova <olka@chromium.org>
Commit-Queue: Max Morin <maxmorin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595854}
[modify] https://crrev.com/4fe547befb93a2a29889788c85de80a34656b4a3/content/browser/media/forwarding_audio_stream_factory.cc
[modify] https://crrev.com/4fe547befb93a2a29889788c85de80a34656b4a3/content/browser/media/in_process_audio_loopback_stream_creator.cc

Sign in to add a comment