# Copyright (C) 2020 Apple Inc. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF # THE POSSIBILITY OF SUCH DAMAGE. #if ENABLE(GPU_PROCESS) messages -> RemoteMediaPlayerProxy NotRefCounted { PrepareForPlayback(bool privateMode, enum:uint8_t WebCore::MediaPlayerEnums::Preload preload, bool preservesPitch, bool prepareForRendering, float videoContentScale, enum:uint8_t WebCore::DynamicRangeMode mode) -> (std::optional inlineLayerHostingContextId) Load(URL url, std::optional sandboxExtension, WebCore::ContentType contentType, String keySystem) -> (struct WebKit::RemoteMediaPlayerConfiguration playerConfiguration) #if ENABLE(MEDIA_SOURCE) LoadMediaSource(URL url, WebCore::ContentType contentType, bool webMParserEnabled, WebKit::RemoteMediaSourceIdentifier mediaSourceIdentifier) -> (struct WebKit::RemoteMediaPlayerConfiguration playerConfiguration) #endif CancelLoad() PrepareToPlay() Play() Pause() SetVolume(double volume) SetMuted(bool muted) Seek(MediaTime time) SeekWithTolerance(MediaTime time, MediaTime negativeTolerance, MediaTime positiveTolerance) SetPreload(enum:uint8_t WebCore::MediaPlayerEnums::Preload preload) SetPrivateBrowsingMode(bool privateMode) SetPreservesPitch(bool preservesPitch) SetPitchCorrectionAlgorithm(WebCore::MediaPlayer::PitchCorrectionAlgorithm algorithm) PrepareForRendering() SetPageIsVisible(bool visible) SetShouldMaintainAspectRatio(bool maintainAspectRatio) AcceleratedRenderingStateChanged(bool canBeAccelerated) SetShouldDisableSleep(bool disable) SetRate(double rate) DidLoadingProgress() -> (bool flag) #if ENABLE(VIDEO_PRESENTATION_MODE) UpdateVideoFullscreenInlineImage() SetVideoFullscreenMode(WebCore::MediaPlayer::VideoFullscreenMode mode) SetVideoFullscreenGravity(enum:uint8_t WebCore::MediaPlayerEnums::VideoGravity gravity) VideoFullscreenStandbyChanged(bool standby) #endif SetBufferingPolicy(WebCore::MediaPlayer::BufferingPolicy policy) #if PLATFORM(COCOA) SetVideoInlineSizeFenced(WebCore::FloatSize size, MachSendRight machSendRight) #endif #if ENABLE(WIRELESS_PLAYBACK_TARGET) SetWirelessVideoPlaybackDisabled(bool disabled) SetWirelessPlaybackTarget(WebCore::MediaPlaybackTargetContext target) SetShouldPlayToPlaybackTarget(bool shouldPlay) #endif #if ENABLE(LEGACY_ENCRYPTED_MEDIA) SetLegacyCDMSession(std::optional instanceId) KeyAdded() #endif #if ENABLE(ENCRYPTED_MEDIA) CdmInstanceAttached(WebKit::RemoteCDMInstanceIdentifier instanceId) CdmInstanceDetached(WebKit::RemoteCDMInstanceIdentifier instanceId) AttemptToDecryptWithInstance(WebKit::RemoteCDMInstanceIdentifier instanceId) #endif #if ENABLE(LEGACY_ENCRYPTED_MEDIA) && ENABLE(ENCRYPTED_MEDIA) SetShouldContinueAfterKeyNeeded(bool should) #endif BeginSimulatedHDCPError() EndSimulatedHDCPError() NotifyActiveSourceBuffersChanged() ApplicationWillResignActive() ApplicationDidBecomeActive() NotifyTrackModeChanged() TracksChanged() AudioTrackSetEnabled(WebKit::TrackPrivateRemoteIdentifier identifier, bool enabled) VideoTrackSetSelected(WebKit::TrackPrivateRemoteIdentifier identifier, bool selected) TextTrackSetMode(WebKit::TrackPrivateRemoteIdentifier identifier, enum:uint8_t WebCore::InbandTextTrackPrivate::Mode mode) PerformTaskAtMediaTime(MediaTime mediaTime, MonotonicTime messageTime) -> (std::optional mediaTime, std::optional monotonicTime) WouldTaintOrigin(struct WebCore::SecurityOriginData origin) -> (std::optional wouldTaint) Synchronous SetVideoPlaybackMetricsUpdateInterval(double interval) SetPreferredDynamicRangeMode(enum:uint8_t WebCore::DynamicRangeMode mode) #if PLATFORM(IOS_FAMILY) ErrorLog() -> (String errorLog) Synchronous AccessLog() -> (String accessLog) Synchronous #endif #if ENABLE(WEB_AUDIO) CreateAudioSourceProvider() SetShouldEnableAudioSourceProvider(bool shouldEnable) #endif #if PLATFORM(COCOA) NativeImageForCurrentTime() -> (std::optional sendRight, WebCore::DestinationColorSpace colorSpace) Synchronous ColorSpace() -> (WebCore::DestinationColorSpace colorSpace) Synchronous #if !HAVE(AVSAMPLEBUFFERDISPLAYLAYER_COPYDISPLAYEDPIXELBUFFER) void WillBeAskedToPaintGL() #endif #endif VideoFrameForCurrentTimeIfChanged() -> (std::optional videoFrame, bool changed) Synchronous PlayAtHostTime(MonotonicTime time) PauseAtHostTime(MonotonicTime time) StartVideoFrameMetadataGathering() StopVideoFrameMetadataGathering() PlayerContentBoxRectChanged(WebCore::LayoutRect contentRect) } #endif