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)