WebMediaPlaybackTargetPicker.h [plain text]
#if ENABLE(WIRELESS_PLAYBACK_TARGET) && !PLATFORM(IOS)
#include <WebCore/MediaPlaybackTarget.h>
#include <WebCore/MediaPlaybackTargetContext.h>
#include <WebCore/WebMediaSessionManagerClient.h>
#include <wtf/Ref.h>
namespace WebCore {
class FloatRect;
class MediaPlaybackTarget;
class Page;
}
class WebMediaPlaybackTargetPicker : public WebCore::WebMediaSessionManagerClient {
public:
static std::unique_ptr<WebMediaPlaybackTargetPicker> create(WebCore::Page&);
explicit WebMediaPlaybackTargetPicker(WebCore::Page&);
virtual ~WebMediaPlaybackTargetPicker() { }
void addPlaybackTargetPickerClient(uint64_t);
void removePlaybackTargetPickerClient(uint64_t);
void showPlaybackTargetPicker(uint64_t, const WebCore::FloatRect&, bool hasVideo);
void playbackTargetPickerClientStateDidChange(uint64_t, WebCore::MediaProducer::MediaStateFlags);
void setMockMediaPlaybackTargetPickerEnabled(bool);
void setMockMediaPlaybackTargetPickerState(const String&, WebCore::MediaPlaybackTargetContext::State);
void setPlaybackTarget(uint64_t, Ref<WebCore::MediaPlaybackTarget>&&) override;
void externalOutputDeviceAvailableDidChange(uint64_t, bool) override;
void setShouldPlayToPlaybackTarget(uint64_t, bool) override;
void invalidate();
private:
WebCore::Page* m_page;
};
#endif