Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(13)

Side by Side Diff: webrtc/video/video_receive_stream.h

Issue 2303273002: Expose Ivf logging through the native API (Closed)
Patch Set: Fix memory leak Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698