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

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

Issue 2303273002: Expose Ivf logging through the native API (Closed)
Patch Set: Nit Created 4 years, 2 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
« no previous file with comments | « webrtc/video/video_quality_test.cc ('k') | webrtc/video/video_receive_stream.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 // If a frame to be written would make the log too large the write fails and
91 // the log is closed and finalized. A |byte_limit| of 0 means no limit.
92 void EnableEncodedFrameRecording(rtc::PlatformFile file,
93 size_t byte_limit) override;
94
87 private: 95 private:
88 static bool DecodeThreadFunction(void* ptr); 96 static bool DecodeThreadFunction(void* ptr);
89 void Decode(); 97 void Decode();
90 98
91 TransportAdapter transport_adapter_; 99 TransportAdapter transport_adapter_;
92 const VideoReceiveStream::Config config_; 100 const VideoReceiveStream::Config config_;
93 ProcessThread* const process_thread_; 101 ProcessThread* const process_thread_;
94 Clock* const clock_; 102 Clock* const clock_;
95 103
96 rtc::PlatformThread decode_thread_; 104 rtc::PlatformThread decode_thread_;
97 105
98 CongestionController* const congestion_controller_; 106 CongestionController* const congestion_controller_;
99 CallStats* const call_stats_; 107 CallStats* const call_stats_;
100 108
101 vcm::VideoReceiver video_receiver_; 109 vcm::VideoReceiver video_receiver_;
102 std::unique_ptr<rtc::VideoSinkInterface<VideoFrame>> incoming_video_stream_; 110 std::unique_ptr<rtc::VideoSinkInterface<VideoFrame>> incoming_video_stream_;
103 ReceiveStatisticsProxy stats_proxy_; 111 ReceiveStatisticsProxy stats_proxy_;
104 RtpStreamReceiver rtp_stream_receiver_; 112 RtpStreamReceiver rtp_stream_receiver_;
105 std::unique_ptr<VideoStreamDecoder> video_stream_decoder_; 113 std::unique_ptr<VideoStreamDecoder> video_stream_decoder_;
106 RtpStreamsSynchronizer rtp_stream_sync_; 114 RtpStreamsSynchronizer rtp_stream_sync_;
107 115
108 std::unique_ptr<IvfFileWriter> ivf_writer_; 116 rtc::CriticalSection ivf_writer_lock_;
117 std::unique_ptr<IvfFileWriter> ivf_writer_ GUARDED_BY(ivf_writer_lock_);
109 }; 118 };
110 } // namespace internal 119 } // namespace internal
111 } // namespace webrtc 120 } // namespace webrtc
112 121
113 #endif // WEBRTC_VIDEO_VIDEO_RECEIVE_STREAM_H_ 122 #endif // WEBRTC_VIDEO_VIDEO_RECEIVE_STREAM_H_
OLDNEW
« no previous file with comments | « webrtc/video/video_quality_test.cc ('k') | webrtc/video/video_receive_stream.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698