Add an API for controlling media sessions
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5f4f882c9fe6a1cd465941bd95bcf1db23a45ccd commit 5f4f882c9fe6a1cd465941bd95bcf1db23a45ccd Author: Becca Hughes <beccahughes@chromium.org> Date: Fri Oct 26 00:57:15 2018 [Media Controller] Add observer Client using MediaController should be able to add MediaSessionObserver's to observe the active media session state. The primary user here is the media notification which needs to be notified of state and metadata updates through media controller. BUG=892771 Change-Id: I7aa343207d3eb2ffa713eb41272646c10e9e6784 Reviewed-on: https://chromium-review.googlesource.com/c/1298477 Commit-Queue: Becca Hughes <beccahughes@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Tommy Steimel <steimel@chromium.org> Cr-Commit-Position: refs/heads/master@{#602958} [modify] https://crrev.com/5f4f882c9fe6a1cd465941bd95bcf1db23a45ccd/services/media_session/audio_focus_manager.cc [modify] https://crrev.com/5f4f882c9fe6a1cd465941bd95bcf1db23a45ccd/services/media_session/media_controller.cc [modify] https://crrev.com/5f4f882c9fe6a1cd465941bd95bcf1db23a45ccd/services/media_session/media_controller.h [modify] https://crrev.com/5f4f882c9fe6a1cd465941bd95bcf1db23a45ccd/services/media_session/media_controller_unittest.cc [modify] https://crrev.com/5f4f882c9fe6a1cd465941bd95bcf1db23a45ccd/services/media_session/mock_media_session.cc [modify] https://crrev.com/5f4f882c9fe6a1cd465941bd95bcf1db23a45ccd/services/media_session/mock_media_session.h [modify] https://crrev.com/5f4f882c9fe6a1cd465941bd95bcf1db23a45ccd/services/media_session/public/cpp/test/test_media_controller.h [modify] https://crrev.com/5f4f882c9fe6a1cd465941bd95bcf1db23a45ccd/services/media_session/public/mojom/media_controller.mojom
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3b92c3986795eed6c3e738306a0aca218897f58d commit 3b92c3986795eed6c3e738306a0aca218897f58d Author: Becca Hughes <beccahughes@chromium.org> Date: Sat Dec 15 02:23:34 2018 [Audio Focus] Observer should use request state The AudioFocusObserver should use AudioFocusRequestState instead of separate parameters for OnFocusGained/Lost. This was not the case before because AFRS was added after the observer. We need this to expose the request id to clients so they can get a MediaController that will only control a specific session. BUG=892771 Change-Id: I4f6e2e60de6dbc82f779ffbfec3d91628208c42d Reviewed-on: https://chromium-review.googlesource.com/c/1363684 Commit-Queue: Becca Hughes <beccahughes@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Tommy Steimel <steimel@chromium.org> Cr-Commit-Position: refs/heads/master@{#616916} [modify] https://crrev.com/3b92c3986795eed6c3e738306a0aca218897f58d/ash/media/media_notification_controller.h [modify] https://crrev.com/3b92c3986795eed6c3e738306a0aca218897f58d/content/browser/media/media_internals_audio_focus_helper.cc [modify] https://crrev.com/3b92c3986795eed6c3e738306a0aca218897f58d/content/browser/media/media_internals_audio_focus_helper.h [modify] https://crrev.com/3b92c3986795eed6c3e738306a0aca218897f58d/services/media_session/audio_focus_manager.cc [modify] https://crrev.com/3b92c3986795eed6c3e738306a0aca218897f58d/services/media_session/audio_focus_manager_unittest.cc [modify] https://crrev.com/3b92c3986795eed6c3e738306a0aca218897f58d/services/media_session/public/cpp/test/audio_focus_test_util.cc [modify] https://crrev.com/3b92c3986795eed6c3e738306a0aca218897f58d/services/media_session/public/cpp/test/audio_focus_test_util.h [modify] https://crrev.com/3b92c3986795eed6c3e738306a0aca218897f58d/services/media_session/public/mojom/audio_focus.mojom
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/69512ecfd72dcc523eb53b371ddb48ebb5d9080c commit 69512ecfd72dcc523eb53b371ddb48ebb5d9080c Author: Becca Hughes <beccahughes@chromium.org> Date: Mon Dec 17 15:10:01 2018 [Media Controller] Convert Stop to Mojo Convert the existing Stop() method to Mojo and add it to media controller. This will stop the underlying media session. BUG=892771 Change-Id: Ifb672c8456ad8e62e82af54441c9a09787dd882e Reviewed-on: https://chromium-review.googlesource.com/c/1376105 Commit-Queue: Becca Hughes <beccahughes@chromium.org> Reviewed-by: Tommy Steimel <steimel@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Avi Drissman <avi@chromium.org> Cr-Commit-Position: refs/heads/master@{#617114} [modify] https://crrev.com/69512ecfd72dcc523eb53b371ddb48ebb5d9080c/ash/media/media_notification_controller.cc [modify] https://crrev.com/69512ecfd72dcc523eb53b371ddb48ebb5d9080c/content/browser/media/session/media_session_impl.cc [modify] https://crrev.com/69512ecfd72dcc523eb53b371ddb48ebb5d9080c/content/public/browser/media_session.h [modify] https://crrev.com/69512ecfd72dcc523eb53b371ddb48ebb5d9080c/services/media_session/media_controller.cc [modify] https://crrev.com/69512ecfd72dcc523eb53b371ddb48ebb5d9080c/services/media_session/media_controller.h [modify] https://crrev.com/69512ecfd72dcc523eb53b371ddb48ebb5d9080c/services/media_session/media_controller_unittest.cc [modify] https://crrev.com/69512ecfd72dcc523eb53b371ddb48ebb5d9080c/services/media_session/public/cpp/test/mock_media_session.cc [modify] https://crrev.com/69512ecfd72dcc523eb53b371ddb48ebb5d9080c/services/media_session/public/cpp/test/mock_media_session.h [modify] https://crrev.com/69512ecfd72dcc523eb53b371ddb48ebb5d9080c/services/media_session/public/cpp/test/test_media_controller.h [modify] https://crrev.com/69512ecfd72dcc523eb53b371ddb48ebb5d9080c/services/media_session/public/mojom/media_controller.mojom [modify] https://crrev.com/69512ecfd72dcc523eb53b371ddb48ebb5d9080c/services/media_session/public/mojom/media_session.mojom
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/782cf3c508857c918d7dca3a4838b535ebfef779 commit 782cf3c508857c918d7dca3a4838b535ebfef779 Author: Becca Hughes <beccahughes@chromium.org> Date: Wed Dec 19 20:29:21 2018 [Media Controller] Add support for a bound controller Adds a MediaControllerManager interface that supports creating a MediaController that is bound to a single media session. BUG=892771 Change-Id: I060d9859c4896ad556fdd43f9cd7c2102720949a Reviewed-on: https://chromium-review.googlesource.com/c/1363859 Reviewed-by: James Cook <jamescook@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Tommy Steimel <steimel@chromium.org> Commit-Queue: Becca Hughes <beccahughes@chromium.org> Cr-Commit-Position: refs/heads/master@{#617931} [modify] https://crrev.com/782cf3c508857c918d7dca3a4838b535ebfef779/ash/media/media_notification_controller.cc [modify] https://crrev.com/782cf3c508857c918d7dca3a4838b535ebfef779/ash/media_controller.cc [modify] https://crrev.com/782cf3c508857c918d7dca3a4838b535ebfef779/services/media_session/audio_focus_manager.cc [modify] https://crrev.com/782cf3c508857c918d7dca3a4838b535ebfef779/services/media_session/audio_focus_manager.h [modify] https://crrev.com/782cf3c508857c918d7dca3a4838b535ebfef779/services/media_session/manifest.json [modify] https://crrev.com/782cf3c508857c918d7dca3a4838b535ebfef779/services/media_session/media_controller_unittest.cc [modify] https://crrev.com/782cf3c508857c918d7dca3a4838b535ebfef779/services/media_session/media_session_service.cc [modify] https://crrev.com/782cf3c508857c918d7dca3a4838b535ebfef779/services/media_session/public/mojom/media_controller.mojom
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ff18abd64baa0565175996ee571466d00b6c2c5e commit ff18abd64baa0565175996ee571466d00b6c2c5e Author: Becca Hughes <beccahughes@chromium.org> Date: Thu Dec 20 11:43:18 2018 [Media Session] Add actions to observer Adds support for listen to supported action changes through MediaSessionObserver. This will be used to notify UI surfaces of which playback control actions a media session supports. BUG=892771 Change-Id: Ibb37f1f6fbfa6c8c2dd8e3e2382b857c958f13f3 Reviewed-on: https://chromium-review.googlesource.com/c/1379396 Commit-Queue: Becca Hughes <beccahughes@chromium.org> Reviewed-by: Tommy Steimel <steimel@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Cr-Commit-Position: refs/heads/master@{#618171} [modify] https://crrev.com/ff18abd64baa0565175996ee571466d00b6c2c5e/ash/media/media_notification_controller.h [modify] https://crrev.com/ff18abd64baa0565175996ee571466d00b6c2c5e/services/media_session/media_controller.cc [modify] https://crrev.com/ff18abd64baa0565175996ee571466d00b6c2c5e/services/media_session/media_controller.h [modify] https://crrev.com/ff18abd64baa0565175996ee571466d00b6c2c5e/services/media_session/media_controller_unittest.cc [modify] https://crrev.com/ff18abd64baa0565175996ee571466d00b6c2c5e/services/media_session/public/cpp/test/mock_media_session.cc [modify] https://crrev.com/ff18abd64baa0565175996ee571466d00b6c2c5e/services/media_session/public/cpp/test/mock_media_session.h [modify] https://crrev.com/ff18abd64baa0565175996ee571466d00b6c2c5e/services/media_session/public/mojom/media_session.mojom
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/58586698fba5f0a41c474ac63245766b5fff3ce8 commit 58586698fba5f0a41c474ac63245766b5fff3ce8 Author: Becca Hughes <beccahughes@chromium.org> Date: Thu Jan 03 20:25:41 2019 [Media Session] Notify mojo observer from content Notifies the mojo observer from content::MediaSessionImpl when the supported actions change. BUG=892771 Change-Id: Iea1edf130b415d44ab9f32f7b6506d53f4558280 Reviewed-on: https://chromium-review.googlesource.com/c/1379917 Reviewed-by: Mounir Lamouri <mlamouri@chromium.org> Commit-Queue: Becca Hughes <beccahughes@chromium.org> Cr-Commit-Position: refs/heads/master@{#619737} [modify] https://crrev.com/58586698fba5f0a41c474ac63245766b5fff3ce8/content/browser/media/session/media_session_impl.cc [modify] https://crrev.com/58586698fba5f0a41c474ac63245766b5fff3ce8/content/browser/media/session/media_session_impl_service_routing_unittest.cc
Comment 1 by beccahughes@chromium.org
, Oct 5