blob: e9e7cc85371aeb47568101189237cb19bb5af8ef [file] [log] [blame]
// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_HTML_MEDIA_REMOTE_PLAYBACK_OBSERVER_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_HTML_MEDIA_REMOTE_PLAYBACK_OBSERVER_H_
namespace blink {
enum class WebRemotePlaybackAvailability;
enum class WebRemotePlaybackState;
// Interface to be implemented by objects that intend to be notified by remote
// playback status changes on an HTMLMediaElement. The object should self-add
// itself to the RemotePlaybackController using the add/remove observer methods.
class RemotePlaybackObserver : public GarbageCollectedMixin {
public:
// Called when the remote playback state is changed. The state is related to
// the connection to a remote device.
virtual void OnRemotePlaybackStateChanged(WebRemotePlaybackState) = 0;
// Called when the remote playback availability is changed. The availabality
// is realted to the presence of a compatible remote device on the network.
virtual void OnRemotePlaybackAvailabilityChanged(
WebRemotePlaybackAvailability) = 0;
};
} // namespace blink
#endif // THIRD_PARTY_BLINK_RENDERER_CORE_HTML_MEDIA_REMOTE_PLAYBACK_OBSERVER_H_