1// Copyright 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef CONTENT_PUBLIC_RENDERER_MEDIA_STREAM_SINK_H_ 6#define CONTENT_PUBLIC_RENDERER_MEDIA_STREAM_SINK_H_ 7 8#include "base/compiler_specific.h" 9#include "content/common/content_export.h" 10#include "third_party/WebKit/public/platform/WebMediaStreamSource.h" 11 12namespace content { 13 14// MediaStreamSink is the base interface for MediaStreamAudioSink and 15// MediaStreamVideoSink. It allows an implementation to receive notifications 16// about state changes on a blink::WebMediaStreamSource object or such an 17// object underlying a blink::WebMediaStreamTrack. 18class CONTENT_EXPORT MediaStreamSink { 19 public: 20 virtual void OnReadyStateChanged( 21 blink::WebMediaStreamSource::ReadyState state) {} 22 virtual void OnEnabledChanged(bool enabled) {} 23 24 protected: 25 virtual ~MediaStreamSink() {} 26}; 27 28} // namespace content 29 30#endif // CONTENT_PUBLIC_RENDERER_MEDIA_STREAM_SINK_H_ 31