1 // Copyright (c) 2012 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.
5 #ifndef CONTENT_RENDERER_MEDIA_MOCK_MEDIA_STREAM_DISPATCHER_H_
6 #define CONTENT_RENDERER_MEDIA_MOCK_MEDIA_STREAM_DISPATCHER_H_
10 #include "content/renderer/media/media_stream_dispatcher.h"
15 // This class is a mock implementation of MediaStreamDispatcher.
16 class MockMediaStreamDispatcher : public MediaStreamDispatcher {
18 MockMediaStreamDispatcher();
19 virtual ~MockMediaStreamDispatcher();
21 virtual void GenerateStream(
23 const base::WeakPtr<MediaStreamDispatcherEventHandler>& event_handler,
24 const StreamOptions& components,
25 const GURL& url) OVERRIDE;
26 virtual void CancelGenerateStream(
28 const base::WeakPtr<MediaStreamDispatcherEventHandler>&
29 event_handler) OVERRIDE;
30 virtual void EnumerateDevices(
32 const base::WeakPtr<MediaStreamDispatcherEventHandler>& event_handler,
34 const GURL& security_origin,
35 bool hide_labels_if_no_access) OVERRIDE;
36 virtual void StopStreamDevice(const StreamDeviceInfo& device_info) OVERRIDE;
37 virtual bool IsStream(const std::string& label) OVERRIDE;
38 virtual int video_session_id(const std::string& label, int index) OVERRIDE;
39 virtual int audio_session_id(const std::string& label, int index) OVERRIDE;
41 int audio_input_request_id() const { return audio_input_request_id_; }
42 int audio_output_request_id() const { return audio_output_request_id_; }
43 int video_request_id() const { return video_request_id_; }
44 int request_stream_counter() const { return request_stream_counter_; }
45 void IncrementSessionId() { ++session_id_; }
47 int stop_audio_device_counter() const { return stop_audio_device_counter_; }
48 int stop_video_device_counter() const { return stop_video_device_counter_; }
50 const std::string& stream_label() const { return stream_label_;}
51 const StreamDeviceInfoArray& audio_input_array() const {
52 return audio_input_array_;
54 const StreamDeviceInfoArray& audio_output_array() const {
55 return audio_output_array_;
57 const StreamDeviceInfoArray& video_array() const { return video_array_; }
60 void AddAudioInputDeviceToArray(bool matched_output);
61 void AddAudioOutputDeviceToArray();
62 void AddVideoDeviceToArray();
64 int audio_input_request_id_;
65 int audio_output_request_id_; // Only used for EnumerateDevices.
66 int video_request_id_; // Only used for EnumerateDevices.
67 base::WeakPtr<MediaStreamDispatcherEventHandler> event_handler_;
68 int request_stream_counter_;
69 int stop_audio_device_counter_;
70 int stop_video_device_counter_;
72 std::string stream_label_;
74 StreamDeviceInfoArray audio_input_array_;
75 StreamDeviceInfoArray audio_output_array_;
76 StreamDeviceInfoArray video_array_;
78 DISALLOW_COPY_AND_ASSIGN(MockMediaStreamDispatcher);
81 } // namespace content
83 #endif // CONTENT_RENDERER_MEDIA_MOCK_MEDIA_STREAM_DISPATCHER_H_