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_RENDERER_MEDIA_MEDIA_STREAM_CLIENT_H_ 6 #define CONTENT_RENDERER_MEDIA_MEDIA_STREAM_CLIENT_H_ 7 8 #include "base/callback.h" 9 #include "base/memory/ref_counted.h" 10 #include "content/renderer/media/video_frame_provider.h" 11 12 class GURL; 13 14 namespace content { 15 16 class MediaStreamAudioRenderer; 17 18 // Define an interface for media stream client to get some information about 19 // the media stream. 20 class MediaStreamClient { 21 public: 22 // Check if the |url| is derived from a media stream object. 23 virtual bool IsMediaStream(const GURL& url) = 0; 24 25 virtual scoped_refptr<VideoFrameProvider> GetVideoFrameProvider( 26 const GURL& url, 27 const base::Closure& error_cb, 28 const VideoFrameProvider::RepaintCB& repaint_cb) = 0; 29 30 virtual scoped_refptr<MediaStreamAudioRenderer> GetAudioRenderer( 31 const GURL& url) = 0; 32 33 protected: 34 virtual ~MediaStreamClient() {} 35 }; 36 37 } // namespace content 38 39 #endif // CONTENT_RENDERER_MEDIA_MEDIA_STREAM_CLIENT_H_ 40