OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
77 const Config& config() const { return config_; } | 77 const Config& config() const { return config_; } |
78 | 78 |
79 void SetSyncChannel(VoiceEngine* voice_engine, int audio_channel_id); | 79 void SetSyncChannel(VoiceEngine* voice_engine, int audio_channel_id); |
80 | 80 |
81 // Implements NackSender. | 81 // Implements NackSender. |
82 void SendNack(const std::vector<uint16_t>& sequence_numbers) override; | 82 void SendNack(const std::vector<uint16_t>& sequence_numbers) override; |
83 | 83 |
84 // Implements KeyFrameRequestSender. | 84 // Implements KeyFrameRequestSender. |
85 void RequestKeyFrame() override; | 85 void RequestKeyFrame() override; |
86 | 86 |
87 // Takes ownership of the file, is responsible for closing it later. | |
88 // Calling this method will close and finalize any current log. | |
89 // Giving rtc::kInvalidPlatformFileValue disables logging. | |
90 void SetLogFile( | |
91 rtc::PlatformFile file = rtc::kInvalidPlatformFileValue) override; | |
sprang_webrtc
2016/09/04 14:48:48
I think this needs a more descriptive name.
Someth
| |
92 | |
87 private: | 93 private: |
88 static bool DecodeThreadFunction(void* ptr); | 94 static bool DecodeThreadFunction(void* ptr); |
89 void Decode(); | 95 void Decode(); |
90 | 96 |
91 TransportAdapter transport_adapter_; | 97 TransportAdapter transport_adapter_; |
92 const VideoReceiveStream::Config config_; | 98 const VideoReceiveStream::Config config_; |
93 ProcessThread* const process_thread_; | 99 ProcessThread* const process_thread_; |
94 Clock* const clock_; | 100 Clock* const clock_; |
95 | 101 |
96 rtc::PlatformThread decode_thread_; | 102 rtc::PlatformThread decode_thread_; |
97 | 103 |
98 CongestionController* const congestion_controller_; | 104 CongestionController* const congestion_controller_; |
99 CallStats* const call_stats_; | 105 CallStats* const call_stats_; |
100 | 106 |
101 vcm::VideoReceiver video_receiver_; | 107 vcm::VideoReceiver video_receiver_; |
102 std::unique_ptr<rtc::VideoSinkInterface<VideoFrame>> incoming_video_stream_; | 108 std::unique_ptr<rtc::VideoSinkInterface<VideoFrame>> incoming_video_stream_; |
103 ReceiveStatisticsProxy stats_proxy_; | 109 ReceiveStatisticsProxy stats_proxy_; |
104 RtpStreamReceiver rtp_stream_receiver_; | 110 RtpStreamReceiver rtp_stream_receiver_; |
105 std::unique_ptr<VideoStreamDecoder> video_stream_decoder_; | 111 std::unique_ptr<VideoStreamDecoder> video_stream_decoder_; |
106 RtpStreamsSynchronizer rtp_stream_sync_; | 112 RtpStreamsSynchronizer rtp_stream_sync_; |
107 | 113 |
114 rtc::CriticalSection ivf_writer_crit_; | |
sprang_webrtc
2016/09/04 14:48:48
I personally prefer lock as name, rather than crit
| |
108 std::unique_ptr<IvfFileWriter> ivf_writer_; | 115 std::unique_ptr<IvfFileWriter> ivf_writer_; |
sprang_webrtc
2016/09/04 14:48:48
add GUARDED_BY
| |
109 }; | 116 }; |
110 } // namespace internal | 117 } // namespace internal |
111 } // namespace webrtc | 118 } // namespace webrtc |
112 | 119 |
113 #endif // WEBRTC_VIDEO_VIDEO_RECEIVE_STREAM_H_ | 120 #endif // WEBRTC_VIDEO_VIDEO_RECEIVE_STREAM_H_ |
OLD | NEW |