#include "content/browser/media/session/media_session_controller.h"
#include "content/browser/media/media_devices_util.h"
#include "content/browser/media/media_web_contents_observer.h"
#include "content/browser/media/session/media_session_impl.h"
#include "content/browser/renderer_host/render_frame_host_impl.h"
#include "content/browser/web_contents/web_contents_impl.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/media_device_id.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/render_process_host.h"
#include "media/base/media_content_type.h"
namespace content {
int MediaSessionController::player_count_ = …;
MediaSessionController::MediaSessionController(const MediaPlayerId& id,
WebContentsImpl* web_contents)
: … { … }
MediaSessionController::~MediaSessionController() { … }
void MediaSessionController::SetMetadata(
bool has_audio,
bool has_video,
media::MediaContentType media_content_type) { … }
bool MediaSessionController::OnPlaybackStarted() { … }
void MediaSessionController::OnSuspend(int player_id) { … }
void MediaSessionController::OnResume(int player_id) { … }
void MediaSessionController::OnSeekForward(int player_id,
base::TimeDelta seek_time) { … }
void MediaSessionController::OnSeekBackward(int player_id,
base::TimeDelta seek_time) { … }
void MediaSessionController::OnSeekTo(int player_id,
base::TimeDelta seek_time) { … }
void MediaSessionController::OnSetVolumeMultiplier(int player_id,
double volume_multiplier) { … }
void MediaSessionController::OnEnterPictureInPicture(int player_id) { … }
void MediaSessionController::OnSetAudioSinkId(
int player_id,
const std::string& raw_device_id) { … }
void MediaSessionController::OnHashedSinkIdReceived(
const std::string& hashed_sink_id) { … }
void MediaSessionController::OnSetMute(int player_id, bool mute) { … }
void MediaSessionController::OnRequestMediaRemoting(int player_id) { … }
void MediaSessionController::OnRequestVisibility(
int player_id,
RequestVisibilityCallback request_visibility_callback) { … }
RenderFrameHost* MediaSessionController::render_frame_host() const { … }
std::optional<media_session::MediaPosition> MediaSessionController::GetPosition(
int player_id) const { … }
bool MediaSessionController::IsPictureInPictureAvailable(int player_id) const { … }
bool MediaSessionController::HasSufficientlyVisibleVideo(int player_id) const { … }
void MediaSessionController::OnPlaybackPaused(bool reached_end_of_stream) { … }
void MediaSessionController::PictureInPictureStateChanged(
bool is_picture_in_picture) { … }
void MediaSessionController::WebContentsMutedStateChanged(bool muted) { … }
void MediaSessionController::OnMediaPositionStateChanged(
const media_session::MediaPosition& position) { … }
void MediaSessionController::OnMediaMutedStatusChanged(bool mute) { … }
void MediaSessionController::OnPictureInPictureAvailabilityChanged(
bool available) { … }
void MediaSessionController::OnAudioOutputSinkChanged(
const std::string& raw_device_id) { … }
void MediaSessionController::OnAudioOutputSinkChangingDisabled() { … }
void MediaSessionController::OnRemotePlaybackMetadataChanged(
media_session::mojom::RemotePlaybackMetadataPtr metadata) { … }
void MediaSessionController::OnVideoVisibilityChanged(
bool meets_visibility_threshold) { … }
bool MediaSessionController::IsMediaSessionNeeded() const { … }
bool MediaSessionController::AddOrRemovePlayer() { … }
bool MediaSessionController::HasAudio(int player_id) const { … }
bool MediaSessionController::HasVideo(int player_id) const { … }
bool MediaSessionController::IsPaused(int player_id) const { … }
std::string MediaSessionController::GetAudioOutputSinkId(int player_id) const { … }
bool MediaSessionController::SupportsAudioOutputDeviceSwitching(
int player_id) const { … }
media::MediaContentType MediaSessionController::GetMediaContentType() const { … }
}