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

Side by Side Diff: webrtc/media/engine/webrtcvideoengine.h

Issue 3012853002: Update thread annotiation macros to use RTC_ prefix (Closed)
Patch Set: Rebase Created 3 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
« no previous file with comments | « webrtc/media/engine/fakewebrtcvideoengine.h ('k') | webrtc/pc/mediamonitor.h » ('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) 2014 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2014 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 223 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 bool GetChangedRecvParameters(const VideoRecvParameters& params, 234 bool GetChangedRecvParameters(const VideoRecvParameters& params,
235 ChangedRecvParameters* changed_params) const; 235 ChangedRecvParameters* changed_params) const;
236 236
237 void SetMaxSendBandwidth(int bps); 237 void SetMaxSendBandwidth(int bps);
238 238
239 void ConfigureReceiverRtp( 239 void ConfigureReceiverRtp(
240 webrtc::VideoReceiveStream::Config* config, 240 webrtc::VideoReceiveStream::Config* config,
241 webrtc::FlexfecReceiveStream::Config* flexfec_config, 241 webrtc::FlexfecReceiveStream::Config* flexfec_config,
242 const StreamParams& sp) const; 242 const StreamParams& sp) const;
243 bool ValidateSendSsrcAvailability(const StreamParams& sp) const 243 bool ValidateSendSsrcAvailability(const StreamParams& sp) const
244 EXCLUSIVE_LOCKS_REQUIRED(stream_crit_); 244 RTC_EXCLUSIVE_LOCKS_REQUIRED(stream_crit_);
245 bool ValidateReceiveSsrcAvailability(const StreamParams& sp) const 245 bool ValidateReceiveSsrcAvailability(const StreamParams& sp) const
246 EXCLUSIVE_LOCKS_REQUIRED(stream_crit_); 246 RTC_EXCLUSIVE_LOCKS_REQUIRED(stream_crit_);
247 void DeleteReceiveStream(WebRtcVideoReceiveStream* stream) 247 void DeleteReceiveStream(WebRtcVideoReceiveStream* stream)
248 EXCLUSIVE_LOCKS_REQUIRED(stream_crit_); 248 RTC_EXCLUSIVE_LOCKS_REQUIRED(stream_crit_);
249 249
250 static std::string CodecSettingsVectorToString( 250 static std::string CodecSettingsVectorToString(
251 const std::vector<VideoCodecSettings>& codecs); 251 const std::vector<VideoCodecSettings>& codecs);
252 252
253 // Wrapper for the sender part. 253 // Wrapper for the sender part.
254 class WebRtcVideoSendStream 254 class WebRtcVideoSendStream
255 : public rtc::VideoSourceInterface<webrtc::VideoFrame> { 255 : public rtc::VideoSourceInterface<webrtc::VideoFrame> {
256 public: 256 public:
257 WebRtcVideoSendStream( 257 WebRtcVideoSendStream(
258 webrtc::Call* call, 258 webrtc::Call* call,
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
319 webrtc::VideoEncoderConfig CreateVideoEncoderConfig( 319 webrtc::VideoEncoderConfig CreateVideoEncoderConfig(
320 const VideoCodec& codec) const; 320 const VideoCodec& codec) const;
321 void ReconfigureEncoder(); 321 void ReconfigureEncoder();
322 bool ValidateRtpParameters(const webrtc::RtpParameters& parameters); 322 bool ValidateRtpParameters(const webrtc::RtpParameters& parameters);
323 323
324 // Calls Start or Stop according to whether or not |sending_| is true, 324 // Calls Start or Stop according to whether or not |sending_| is true,
325 // and whether or not the encoding in |rtp_parameters_| is active. 325 // and whether or not the encoding in |rtp_parameters_| is active.
326 void UpdateSendState(); 326 void UpdateSendState();
327 327
328 webrtc::VideoSendStream::DegradationPreference GetDegradationPreference() 328 webrtc::VideoSendStream::DegradationPreference GetDegradationPreference()
329 const EXCLUSIVE_LOCKS_REQUIRED(&thread_checker_); 329 const RTC_EXCLUSIVE_LOCKS_REQUIRED(&thread_checker_);
330 330
331 rtc::ThreadChecker thread_checker_; 331 rtc::ThreadChecker thread_checker_;
332 rtc::AsyncInvoker invoker_; 332 rtc::AsyncInvoker invoker_;
333 rtc::Thread* worker_thread_; 333 rtc::Thread* worker_thread_;
334 const std::vector<uint32_t> ssrcs_ ACCESS_ON(&thread_checker_); 334 const std::vector<uint32_t> ssrcs_ RTC_ACCESS_ON(&thread_checker_);
335 const std::vector<SsrcGroup> ssrc_groups_ ACCESS_ON(&thread_checker_); 335 const std::vector<SsrcGroup> ssrc_groups_ RTC_ACCESS_ON(&thread_checker_);
336 webrtc::Call* const call_; 336 webrtc::Call* const call_;
337 const bool enable_cpu_overuse_detection_; 337 const bool enable_cpu_overuse_detection_;
338 rtc::VideoSourceInterface<webrtc::VideoFrame>* source_ 338 rtc::VideoSourceInterface<webrtc::VideoFrame>* source_
339 ACCESS_ON(&thread_checker_); 339 RTC_ACCESS_ON(&thread_checker_);
340 std::unique_ptr<EncoderFactoryAdapter> encoder_factory_ 340 std::unique_ptr<EncoderFactoryAdapter> encoder_factory_
341 ACCESS_ON(&thread_checker_); 341 RTC_ACCESS_ON(&thread_checker_);
342 342
343 webrtc::VideoSendStream* stream_ ACCESS_ON(&thread_checker_); 343 webrtc::VideoSendStream* stream_ RTC_ACCESS_ON(&thread_checker_);
344 rtc::VideoSinkInterface<webrtc::VideoFrame>* encoder_sink_ 344 rtc::VideoSinkInterface<webrtc::VideoFrame>* encoder_sink_
345 ACCESS_ON(&thread_checker_); 345 RTC_ACCESS_ON(&thread_checker_);
346 // Contains settings that are the same for all streams in the MediaChannel, 346 // Contains settings that are the same for all streams in the MediaChannel,
347 // such as codecs, header extensions, and the global bitrate limit for the 347 // such as codecs, header extensions, and the global bitrate limit for the
348 // entire channel. 348 // entire channel.
349 VideoSendStreamParameters parameters_ ACCESS_ON(&thread_checker_); 349 VideoSendStreamParameters parameters_ RTC_ACCESS_ON(&thread_checker_);
350 // Contains settings that are unique for each stream, such as max_bitrate. 350 // Contains settings that are unique for each stream, such as max_bitrate.
351 // Does *not* contain codecs, however. 351 // Does *not* contain codecs, however.
352 // TODO(skvlad): Move ssrcs_ and ssrc_groups_ into rtp_parameters_. 352 // TODO(skvlad): Move ssrcs_ and ssrc_groups_ into rtp_parameters_.
353 // TODO(skvlad): Combine parameters_ and rtp_parameters_ once we have only 353 // TODO(skvlad): Combine parameters_ and rtp_parameters_ once we have only
354 // one stream per MediaChannel. 354 // one stream per MediaChannel.
355 webrtc::RtpParameters rtp_parameters_ ACCESS_ON(&thread_checker_); 355 webrtc::RtpParameters rtp_parameters_ RTC_ACCESS_ON(&thread_checker_);
356 std::unique_ptr<webrtc::VideoEncoder> allocated_encoder_ 356 std::unique_ptr<webrtc::VideoEncoder> allocated_encoder_
357 ACCESS_ON(&thread_checker_); 357 RTC_ACCESS_ON(&thread_checker_);
358 VideoCodec allocated_codec_ ACCESS_ON(&thread_checker_); 358 VideoCodec allocated_codec_ RTC_ACCESS_ON(&thread_checker_);
359 359
360 bool sending_ ACCESS_ON(&thread_checker_); 360 bool sending_ RTC_ACCESS_ON(&thread_checker_);
361 }; 361 };
362 362
363 // Wrapper for the receiver part, contains configs etc. that are needed to 363 // Wrapper for the receiver part, contains configs etc. that are needed to
364 // reconstruct the underlying VideoReceiveStream. 364 // reconstruct the underlying VideoReceiveStream.
365 class WebRtcVideoReceiveStream 365 class WebRtcVideoReceiveStream
366 : public rtc::VideoSinkInterface<webrtc::VideoFrame> { 366 : public rtc::VideoSinkInterface<webrtc::VideoFrame> {
367 public: 367 public:
368 WebRtcVideoReceiveStream( 368 WebRtcVideoReceiveStream(
369 webrtc::Call* call, 369 webrtc::Call* call,
370 const StreamParams& sp, 370 const StreamParams& sp,
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
430 webrtc::VideoReceiveStream* stream_; 430 webrtc::VideoReceiveStream* stream_;
431 const bool default_stream_; 431 const bool default_stream_;
432 webrtc::VideoReceiveStream::Config config_; 432 webrtc::VideoReceiveStream::Config config_;
433 webrtc::FlexfecReceiveStream::Config flexfec_config_; 433 webrtc::FlexfecReceiveStream::Config flexfec_config_;
434 webrtc::FlexfecReceiveStream* flexfec_stream_; 434 webrtc::FlexfecReceiveStream* flexfec_stream_;
435 435
436 WebRtcVideoDecoderFactory* const external_decoder_factory_; 436 WebRtcVideoDecoderFactory* const external_decoder_factory_;
437 std::vector<AllocatedDecoder> allocated_decoders_; 437 std::vector<AllocatedDecoder> allocated_decoders_;
438 438
439 rtc::CriticalSection sink_lock_; 439 rtc::CriticalSection sink_lock_;
440 rtc::VideoSinkInterface<webrtc::VideoFrame>* sink_ GUARDED_BY(sink_lock_); 440 rtc::VideoSinkInterface<webrtc::VideoFrame>* sink_
441 RTC_GUARDED_BY(sink_lock_);
441 // Expands remote RTP timestamps to int64_t to be able to estimate how long 442 // Expands remote RTP timestamps to int64_t to be able to estimate how long
442 // the stream has been running. 443 // the stream has been running.
443 rtc::TimestampWrapAroundHandler timestamp_wraparound_handler_ 444 rtc::TimestampWrapAroundHandler timestamp_wraparound_handler_
444 GUARDED_BY(sink_lock_); 445 RTC_GUARDED_BY(sink_lock_);
445 int64_t first_frame_timestamp_ GUARDED_BY(sink_lock_); 446 int64_t first_frame_timestamp_ RTC_GUARDED_BY(sink_lock_);
446 // Start NTP time is estimated as current remote NTP time (estimated from 447 // Start NTP time is estimated as current remote NTP time (estimated from
447 // RTCP) minus the elapsed time, as soon as remote NTP time is available. 448 // RTCP) minus the elapsed time, as soon as remote NTP time is available.
448 int64_t estimated_remote_start_ntp_time_ms_ GUARDED_BY(sink_lock_); 449 int64_t estimated_remote_start_ntp_time_ms_ RTC_GUARDED_BY(sink_lock_);
449 }; 450 };
450 451
451 void Construct(webrtc::Call* call, WebRtcVideoEngine* engine); 452 void Construct(webrtc::Call* call, WebRtcVideoEngine* engine);
452 453
453 bool SendRtp(const uint8_t* data, 454 bool SendRtp(const uint8_t* data,
454 size_t len, 455 size_t len,
455 const webrtc::PacketOptions& options) override; 456 const webrtc::PacketOptions& options) override;
456 bool SendRtcp(const uint8_t* data, size_t len) override; 457 bool SendRtcp(const uint8_t* data, size_t len) override;
457 458
458 static std::vector<VideoCodecSettings> MapCodecs( 459 static std::vector<VideoCodecSettings> MapCodecs(
(...skipping 21 matching lines...) Expand all
480 webrtc::Call* const call_; 481 webrtc::Call* const call_;
481 482
482 DefaultUnsignalledSsrcHandler default_unsignalled_ssrc_handler_; 483 DefaultUnsignalledSsrcHandler default_unsignalled_ssrc_handler_;
483 UnsignalledSsrcHandler* const unsignalled_ssrc_handler_; 484 UnsignalledSsrcHandler* const unsignalled_ssrc_handler_;
484 485
485 const MediaConfig::Video video_config_; 486 const MediaConfig::Video video_config_;
486 487
487 rtc::CriticalSection stream_crit_; 488 rtc::CriticalSection stream_crit_;
488 // Using primary-ssrc (first ssrc) as key. 489 // Using primary-ssrc (first ssrc) as key.
489 std::map<uint32_t, WebRtcVideoSendStream*> send_streams_ 490 std::map<uint32_t, WebRtcVideoSendStream*> send_streams_
490 GUARDED_BY(stream_crit_); 491 RTC_GUARDED_BY(stream_crit_);
491 std::map<uint32_t, WebRtcVideoReceiveStream*> receive_streams_ 492 std::map<uint32_t, WebRtcVideoReceiveStream*> receive_streams_
492 GUARDED_BY(stream_crit_); 493 RTC_GUARDED_BY(stream_crit_);
493 std::set<uint32_t> send_ssrcs_ GUARDED_BY(stream_crit_); 494 std::set<uint32_t> send_ssrcs_ RTC_GUARDED_BY(stream_crit_);
494 std::set<uint32_t> receive_ssrcs_ GUARDED_BY(stream_crit_); 495 std::set<uint32_t> receive_ssrcs_ RTC_GUARDED_BY(stream_crit_);
495 496
496 rtc::Optional<VideoCodecSettings> send_codec_; 497 rtc::Optional<VideoCodecSettings> send_codec_;
497 rtc::Optional<std::vector<webrtc::RtpExtension>> send_rtp_extensions_; 498 rtc::Optional<std::vector<webrtc::RtpExtension>> send_rtp_extensions_;
498 499
499 std::unique_ptr<EncoderFactoryAdapter> encoder_factory_; 500 std::unique_ptr<EncoderFactoryAdapter> encoder_factory_;
500 WebRtcVideoDecoderFactory* const external_decoder_factory_; 501 WebRtcVideoDecoderFactory* const external_decoder_factory_;
501 std::vector<VideoCodecSettings> recv_codecs_; 502 std::vector<VideoCodecSettings> recv_codecs_;
502 std::vector<webrtc::RtpExtension> recv_rtp_extensions_; 503 std::vector<webrtc::RtpExtension> recv_rtp_extensions_;
503 // See reason for keeping track of the FlexFEC payload type separately in 504 // See reason for keeping track of the FlexFEC payload type separately in
504 // comment in WebRtcVideoChannel::ChangedRecvParameters. 505 // comment in WebRtcVideoChannel::ChangedRecvParameters.
(...skipping 25 matching lines...) Expand all
530 const std::string codec_name_; 531 const std::string codec_name_;
531 const int max_qp_; 532 const int max_qp_;
532 const int max_framerate_; 533 const int max_framerate_;
533 const bool is_screencast_; 534 const bool is_screencast_;
534 const bool conference_mode_; 535 const bool conference_mode_;
535 }; 536 };
536 537
537 } // namespace cricket 538 } // namespace cricket
538 539
539 #endif // WEBRTC_MEDIA_ENGINE_WEBRTCVIDEOENGINE_H_ 540 #endif // WEBRTC_MEDIA_ENGINE_WEBRTCVIDEOENGINE_H_
OLDNEW
« no previous file with comments | « webrtc/media/engine/fakewebrtcvideoengine.h ('k') | webrtc/pc/mediamonitor.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698