tree: 31321781908423ebfc2d3452c9ed9bc7fd1bf294 [path history] [tgz]
  1. public/
  2. audio_focus_manager.cc
  3. audio_focus_manager.h
  4. audio_focus_manager_metrics_helper.cc
  5. audio_focus_manager_metrics_helper.h
  6. audio_focus_manager_unittest.cc
  7. audio_focus_request.cc
  8. audio_focus_request.h
  9. BUILD.gn
  10. controlling_media_playback.md
  11. DEPS
  12. media_controller.cc
  13. media_controller.h
  14. media_controller_unittest.cc
  15. media_session_service.cc
  16. media_session_service.h
  17. media_session_service_unittest.cc
  18. OWNERS
  19. README.md
services/media_session/README.md

Media Session

Media Session manages the media session and audio focus for playback across the entire system.

Clients can use the Audio Focus API to request audio focus and observe changes through AudioFocusObserver. The Media Session API can be used to control playback and observe changes through MediaSessionObserver.

For more details about controlling playback see controlling Media Playback.

TODO(beccahughes): Write docs about requesting audio focus.

Media Session IDs

The Media Session service uses base::UnguessableToken for a number of different reasons, these are:

  • Request IDs: These identify a single media session
  • Group IDs: These group together a number of media sessions that should share focus, this is usually per-app.
  • Source IDs: These identity a user/profile that created a media session

Every media session has its own unique request ID and it may also have a group ID and a source ID.