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

Side by Side Diff: webrtc/media/base/videocapturer.h

Issue 1827023002: Get VideoCapturer stats via VideoTrackSourceInterface in StatsCollector, (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Added TODO comments regarding SSRC == 0. Created 4 years, 8 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) 2010 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2010 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 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 // and users must call video_adapter()->OnOutputFormatRequest() 202 // and users must call video_adapter()->OnOutputFormatRequest()
203 // to receive frames. 203 // to receive frames.
204 bool enable_video_adapter() const { return enable_video_adapter_; } 204 bool enable_video_adapter() const { return enable_video_adapter_; }
205 void set_enable_video_adapter(bool enable_video_adapter) { 205 void set_enable_video_adapter(bool enable_video_adapter) {
206 enable_video_adapter_ = enable_video_adapter; 206 enable_video_adapter_ = enable_video_adapter;
207 } 207 }
208 208
209 // Takes ownership. 209 // Takes ownership.
210 void set_frame_factory(VideoFrameFactory* frame_factory); 210 void set_frame_factory(VideoFrameFactory* frame_factory);
211 211
212 // TODO(nisse): Rename function? Or pass the frame format before 212 bool GetInputSize(int* width, int* height);
213 // adaptation in some other way.
214 void GetStats(VideoFormat* last_captured_frame_format);
215 213
216 // Implements VideoSourceInterface 214 // Implements VideoSourceInterface
217 void AddOrUpdateSink(rtc::VideoSinkInterface<cricket::VideoFrame>* sink, 215 void AddOrUpdateSink(rtc::VideoSinkInterface<cricket::VideoFrame>* sink,
218 const rtc::VideoSinkWants& wants) override; 216 const rtc::VideoSinkWants& wants) override;
219 void RemoveSink(rtc::VideoSinkInterface<cricket::VideoFrame>* sink) override; 217 void RemoveSink(rtc::VideoSinkInterface<cricket::VideoFrame>* sink) override;
220 218
221 protected: 219 protected:
222 // OnSinkWantsChanged can be overridden to change the default behavior 220 // OnSinkWantsChanged can be overridden to change the default behavior
223 // when a sink changes its VideoSinkWants by calling AddOrUpdateSink. 221 // when a sink changes its VideoSinkWants by calling AddOrUpdateSink.
224 virtual void OnSinkWantsChanged(const rtc::VideoSinkWants& wants); 222 virtual void OnSinkWantsChanged(const rtc::VideoSinkWants& wants);
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 266
269 // Convert captured frame to readable string for LOG messages. 267 // Convert captured frame to readable string for LOG messages.
270 std::string ToString(const CapturedFrame* frame) const; 268 std::string ToString(const CapturedFrame* frame) const;
271 269
272 // Updates filtered_supported_formats_ so that it contains the formats in 270 // Updates filtered_supported_formats_ so that it contains the formats in
273 // supported_formats_ that fulfill all applied restrictions. 271 // supported_formats_ that fulfill all applied restrictions.
274 void UpdateFilteredSupportedFormats(); 272 void UpdateFilteredSupportedFormats();
275 // Returns true if format doesn't fulfill all applied restrictions. 273 // Returns true if format doesn't fulfill all applied restrictions.
276 bool ShouldFilterFormat(const VideoFormat& format) const; 274 bool ShouldFilterFormat(const VideoFormat& format) const;
277 275
278 void UpdateStats(const CapturedFrame* captured_frame); 276 void UpdateInputSize(const CapturedFrame* captured_frame);
279 277
280 rtc::ThreadChecker thread_checker_; 278 rtc::ThreadChecker thread_checker_;
281 std::string id_; 279 std::string id_;
282 CaptureState capture_state_; 280 CaptureState capture_state_;
283 std::unique_ptr<VideoFrameFactory> frame_factory_; 281 std::unique_ptr<VideoFrameFactory> frame_factory_;
284 std::unique_ptr<VideoFormat> capture_format_; 282 std::unique_ptr<VideoFormat> capture_format_;
285 std::vector<VideoFormat> supported_formats_; 283 std::vector<VideoFormat> supported_formats_;
286 std::unique_ptr<VideoFormat> max_format_; 284 std::unique_ptr<VideoFormat> max_format_;
287 std::vector<VideoFormat> filtered_supported_formats_; 285 std::vector<VideoFormat> filtered_supported_formats_;
288 286
289 int ratio_w_; // View resolution. e.g. 1280 x 720. 287 int ratio_w_; // View resolution. e.g. 1280 x 720.
290 int ratio_h_; 288 int ratio_h_;
291 bool enable_camera_list_; 289 bool enable_camera_list_;
292 bool square_pixel_aspect_ratio_; // Enable scaling to square pixels. 290 bool square_pixel_aspect_ratio_; // Enable scaling to square pixels.
293 int scaled_width_; // Current output size from ComputeScale. 291 int scaled_width_; // Current output size from ComputeScale.
294 int scaled_height_; 292 int scaled_height_;
295 293
296 rtc::VideoBroadcaster broadcaster_; 294 rtc::VideoBroadcaster broadcaster_;
297 bool enable_video_adapter_; 295 bool enable_video_adapter_;
298 CoordinatedVideoAdapter video_adapter_; 296 CoordinatedVideoAdapter video_adapter_;
299 297
300 rtc::CriticalSection frame_stats_crit_; 298 rtc::CriticalSection frame_stats_crit_;
301 299 // The captured frame size before potential adapation.
302 // The captured frame format before potential adapation. 300 bool input_size_valid_ GUARDED_BY(frame_stats_crit_) = false;
303 VideoFormat last_captured_frame_format_; 301 int input_width_ GUARDED_BY(frame_stats_crit_);
302 int input_height_ GUARDED_BY(frame_stats_crit_);
304 303
305 // Whether capturer should apply rotation to the frame before signaling it. 304 // Whether capturer should apply rotation to the frame before signaling it.
306 bool apply_rotation_; 305 bool apply_rotation_;
307 306
308 RTC_DISALLOW_COPY_AND_ASSIGN(VideoCapturer); 307 RTC_DISALLOW_COPY_AND_ASSIGN(VideoCapturer);
309 }; 308 };
310 309
311 } // namespace cricket 310 } // namespace cricket
312 311
313 #endif // WEBRTC_MEDIA_BASE_VIDEOCAPTURER_H_ 312 #endif // WEBRTC_MEDIA_BASE_VIDEOCAPTURER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698