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