OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_RENDERER_MEDIA_CAST_SESSION_DELEGATE_H_ | 5 #ifndef CHROME_RENDERER_MEDIA_CAST_SESSION_DELEGATE_H_ |
6 #define CHROME_RENDERER_MEDIA_CAST_SESSION_DELEGATE_H_ | 6 #define CHROME_RENDERER_MEDIA_CAST_SESSION_DELEGATE_H_ |
7 | 7 |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 | 44 |
45 CastSessionDelegate(); | 45 CastSessionDelegate(); |
46 virtual ~CastSessionDelegate(); | 46 virtual ~CastSessionDelegate(); |
47 | 47 |
48 // After calling StartAudio() and StartVideo() with configuration encoding | 48 // After calling StartAudio() and StartVideo() with configuration encoding |
49 // will begin. | 49 // will begin. |
50 void StartAudio(const media::cast::AudioSenderConfig& config, | 50 void StartAudio(const media::cast::AudioSenderConfig& config, |
51 const FrameInputAvailableCallback& callback); | 51 const FrameInputAvailableCallback& callback); |
52 void StartVideo(const media::cast::VideoSenderConfig& config, | 52 void StartVideo(const media::cast::VideoSenderConfig& config, |
53 const FrameInputAvailableCallback& callback); | 53 const FrameInputAvailableCallback& callback); |
| 54 void StartUDP(const net::IPEndPoint& local_endpoint, |
| 55 const net::IPEndPoint& remote_endpoint); |
54 | 56 |
55 private: | 57 private: |
56 // Start encoding threads and configure CastSender. It is ready to accept | 58 // Start encoding threads and configure CastSender. It is ready to accept |
57 // audio/video frames after this call. | 59 // audio/video frames after this call. |
58 void StartSendingInternal(); | 60 void StartSendingInternal(); |
59 | 61 |
60 // Callback with the result of the initialization. | 62 // Callback with the result of the initialization. |
61 void InitializationResult(media::cast::CastInitializationStatus result); | 63 void InitializationResult(media::cast::CastInitializationStatus result); |
62 | 64 |
63 base::ThreadChecker thread_checker_; | 65 base::ThreadChecker thread_checker_; |
64 scoped_refptr<media::cast::CastEnvironment> cast_environment_; | 66 scoped_refptr<media::cast::CastEnvironment> cast_environment_; |
65 scoped_ptr<media::cast::CastSender> cast_sender_; | 67 scoped_ptr<media::cast::CastSender> cast_sender_; |
66 scoped_ptr<media::cast::transport::CastTransportSender> cast_transport_; | 68 scoped_ptr<media::cast::transport::CastTransportSender> cast_transport_; |
67 | 69 |
68 // Utilities threads owned by this class. They are used by CastSender for | 70 // Utilities threads owned by this class. They are used by CastSender for |
69 // encoding. | 71 // encoding. |
70 // TODO(hclam): See crbug.com/317006 for more details. | 72 // TODO(hclam): See crbug.com/317006 for more details. |
71 // This class shouldn't create and own threads. | 73 // This class shouldn't create and own threads. |
72 base::Thread audio_encode_thread_; | 74 base::Thread audio_encode_thread_; |
73 base::Thread video_encode_thread_; | 75 base::Thread video_encode_thread_; |
74 | 76 |
75 // Configuration for audio and video. | 77 // Configuration for audio and video. |
76 media::cast::AudioSenderConfig audio_config_; | 78 media::cast::AudioSenderConfig audio_config_; |
77 media::cast::VideoSenderConfig video_config_; | 79 media::cast::VideoSenderConfig video_config_; |
78 bool audio_configured_; | 80 bool audio_configured_; |
79 bool video_configured_; | 81 bool video_configured_; |
| 82 net::IPEndPoint local_endpoint_; |
| 83 net::IPEndPoint remote_endpoint_; |
| 84 bool transport_configured_; |
80 std::vector<FrameInputAvailableCallback> frame_input_available_callbacks_; | 85 std::vector<FrameInputAvailableCallback> frame_input_available_callbacks_; |
81 | 86 |
82 // Proxy to the IO message loop. | 87 // Proxy to the IO message loop. |
83 scoped_refptr<base::MessageLoopProxy> io_message_loop_proxy_; | 88 scoped_refptr<base::MessageLoopProxy> io_message_loop_proxy_; |
84 | 89 |
85 DISALLOW_COPY_AND_ASSIGN(CastSessionDelegate); | 90 DISALLOW_COPY_AND_ASSIGN(CastSessionDelegate); |
86 }; | 91 }; |
87 | 92 |
88 #endif // CHROME_RENDERER_MEDIA_CAST_SESSION_DELEGATE_H_ | 93 #endif // CHROME_RENDERER_MEDIA_CAST_SESSION_DELEGATE_H_ |
OLD | NEW |