media_stream_sink.h revision a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7
123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)// found in the LICENSE file.
423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)
523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#ifndef CONTENT_PUBLIC_RENDERER_MEDIA_STREAM_SINK_H_
623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#define CONTENT_PUBLIC_RENDERER_MEDIA_STREAM_SINK_H_
723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)
823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#include "base/compiler_specific.h"
923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#include "content/common/content_export.h"
1023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#include "third_party/WebKit/public/platform/WebMediaStreamSource.h"
1123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)
1223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)namespace content {
1323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)
1423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)// MediaStreamSink is the base interface for MediaStreamAudioSink and
1523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)// MediaStreamVideoSink. It allows an implementation to receive notifications
1623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)// about state changes on a blink::WebMediaStreamSource object or such an
17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// object underlying a blink::WebMediaStreamTrack.
18cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)class MediaStreamSink {
19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) public:
2023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  virtual void OnReadyStateChanged(
2123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)      blink::WebMediaStreamSource::ReadyState state) {}
22cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
23cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) protected:
24cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  virtual ~MediaStreamSink() {}
2523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)};
2623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)
2723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)}  // namespace content
2823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)
2923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#endif  // CONTENT_PUBLIC_RENDERER_MEDIA_STREAM_SINK_H_
3023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)