| 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_RTP_STREAM_H_ | 5 #ifndef CHROME_RENDERER_MEDIA_CAST_RTP_STREAM_H_ |
| 6 #define CHROME_RENDERER_MEDIA_CAST_RTP_STREAM_H_ | 6 #define CHROME_RENDERER_MEDIA_CAST_RTP_STREAM_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| 11 #include "base/basictypes.h" | 11 #include "base/basictypes.h" |
| 12 #include "base/callback.h" | 12 #include "base/callback.h" |
| 13 #include "base/memory/ref_counted.h" | 13 #include "base/memory/ref_counted.h" |
| 14 #include "base/memory/scoped_ptr.h" | 14 #include "base/memory/scoped_ptr.h" |
| 15 #include "base/memory/weak_ptr.h" | 15 #include "base/memory/weak_ptr.h" |
| 16 #include "third_party/WebKit/public/platform/WebMediaStreamTrack.h" | 16 #include "third_party/WebKit/public/platform/WebMediaStreamTrack.h" |
| 17 | 17 |
| 18 namespace base { |
| 19 class DictionaryValue; |
| 20 } |
| 21 |
| 18 class CastAudioSink; | 22 class CastAudioSink; |
| 19 class CastSession; | 23 class CastSession; |
| 20 class CastVideoSink; | 24 class CastVideoSink; |
| 21 | 25 |
| 22 // A key value pair structure for codec specific parameters. | 26 // A key value pair structure for codec specific parameters. |
| 23 struct CastCodecSpecificParams { | 27 struct CastCodecSpecificParams { |
| 24 std::string key; | 28 std::string key; |
| 25 std::string value; | 29 std::string value; |
| 26 | 30 |
| 27 CastCodecSpecificParams(); | 31 CastCodecSpecificParams(); |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 118 void Stop(); | 122 void Stop(); |
| 119 | 123 |
| 120 // Enables or disables logging for this stream. | 124 // Enables or disables logging for this stream. |
| 121 void ToggleLogging(bool enable); | 125 void ToggleLogging(bool enable); |
| 122 | 126 |
| 123 // Get serialized raw events for this stream and invokes |callback| | 127 // Get serialized raw events for this stream and invokes |callback| |
| 124 // with the result. | 128 // with the result. |
| 125 void GetRawEvents( | 129 void GetRawEvents( |
| 126 const base::Callback<void(scoped_ptr<std::string>)>& callback); | 130 const base::Callback<void(scoped_ptr<std::string>)>& callback); |
| 127 | 131 |
| 132 // Get stats in DictionaryValue format and invokves |callback| with |
| 133 // the result. |
| 134 void GetStats(const base::Callback<void( |
| 135 scoped_ptr<base::DictionaryValue>)>& callback); |
| 136 |
| 128 private: | 137 private: |
| 129 // Return true if this track is an audio track. Return false if this | 138 // Return true if this track is an audio track. Return false if this |
| 130 // track is a video track. | 139 // track is a video track. |
| 131 bool IsAudio() const; | 140 bool IsAudio() const; |
| 132 | 141 |
| 133 void DidEncounterError(const std::string& message); | 142 void DidEncounterError(const std::string& message); |
| 134 | 143 |
| 135 blink::WebMediaStreamTrack track_; | 144 blink::WebMediaStreamTrack track_; |
| 136 const scoped_refptr<CastSession> cast_session_; | 145 const scoped_refptr<CastSession> cast_session_; |
| 137 scoped_ptr<CastAudioSink> audio_sink_; | 146 scoped_ptr<CastAudioSink> audio_sink_; |
| 138 scoped_ptr<CastVideoSink> video_sink_; | 147 scoped_ptr<CastVideoSink> video_sink_; |
| 139 CastRtpParams params_; | 148 CastRtpParams params_; |
| 140 base::WeakPtrFactory<CastRtpStream> weak_factory_; | 149 base::WeakPtrFactory<CastRtpStream> weak_factory_; |
| 141 base::Closure stop_callback_; | 150 base::Closure stop_callback_; |
| 142 ErrorCallback error_callback_; | 151 ErrorCallback error_callback_; |
| 143 | 152 |
| 144 DISALLOW_COPY_AND_ASSIGN(CastRtpStream); | 153 DISALLOW_COPY_AND_ASSIGN(CastRtpStream); |
| 145 }; | 154 }; |
| 146 | 155 |
| 147 #endif // CHROME_RENDERER_MEDIA_CAST_RTP_STREAM_H_ | 156 #endif // CHROME_RENDERER_MEDIA_CAST_RTP_STREAM_H_ |
| OLD | NEW |