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

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

Issue 1654913002: Untangle ViEChannel and ViEEncoder. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: deregister protection callback before destroying vie_channel_ Created 4 years, 10 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) 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2012 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 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 public VCMDecoderTimingCallback, 61 public VCMDecoderTimingCallback,
62 public VCMPacketRequestCallback, 62 public VCMPacketRequestCallback,
63 public RtpFeedback { 63 public RtpFeedback {
64 public: 64 public:
65 friend class ChannelStatsObserver; 65 friend class ChannelStatsObserver;
66 friend class ViEChannelProtectionCallback; 66 friend class ViEChannelProtectionCallback;
67 67
68 ViEChannel(uint32_t number_of_cores, 68 ViEChannel(uint32_t number_of_cores,
69 Transport* transport, 69 Transport* transport,
70 ProcessThread* module_process_thread, 70 ProcessThread* module_process_thread,
71 PayloadRouter* send_payload_router,
72 VideoCodingModule* vcm,
71 RtcpIntraFrameObserver* intra_frame_observer, 73 RtcpIntraFrameObserver* intra_frame_observer,
72 RtcpBandwidthObserver* bandwidth_observer, 74 RtcpBandwidthObserver* bandwidth_observer,
73 TransportFeedbackObserver* transport_feedback_observer, 75 TransportFeedbackObserver* transport_feedback_observer,
74 RemoteBitrateEstimator* remote_bitrate_estimator, 76 RemoteBitrateEstimator* remote_bitrate_estimator,
75 RtcpRttStats* rtt_stats, 77 RtcpRttStats* rtt_stats,
76 PacedSender* paced_sender, 78 PacedSender* paced_sender,
77 PacketRouter* packet_router, 79 PacketRouter* packet_router,
78 size_t max_rtp_streams, 80 size_t max_rtp_streams,
79 bool sender); 81 bool sender);
80 ~ViEChannel(); 82 ~ViEChannel();
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 const PacketTime& packet_time); 209 const PacketTime& packet_time);
208 int32_t ReceivedRTCPPacket(const void* rtcp_packet, 210 int32_t ReceivedRTCPPacket(const void* rtcp_packet,
209 const size_t rtcp_packet_length); 211 const size_t rtcp_packet_length);
210 212
211 // Sets the maximum transfer unit size for the network link, i.e. including 213 // Sets the maximum transfer unit size for the network link, i.e. including
212 // IP, UDP and RTP headers. 214 // IP, UDP and RTP headers.
213 int32_t SetMTU(uint16_t mtu); 215 int32_t SetMTU(uint16_t mtu);
214 216
215 // Gets the modules used by the channel. 217 // Gets the modules used by the channel.
216 RtpRtcp* rtp_rtcp(); 218 RtpRtcp* rtp_rtcp();
217 rtc::scoped_refptr<PayloadRouter> send_payload_router();
218 VCMProtectionCallback* vcm_protection_callback(); 219 VCMProtectionCallback* vcm_protection_callback();
219 220
220 221
221 CallStatsObserver* GetStatsObserver(); 222 CallStatsObserver* GetStatsObserver();
222 223
223 // Implements VCMReceiveCallback. 224 // Implements VCMReceiveCallback.
224 virtual int32_t FrameToRender(VideoFrame& video_frame); // NOLINT 225 virtual int32_t FrameToRender(VideoFrame& video_frame); // NOLINT
225 226
226 // Implements VCMReceiveCallback. 227 // Implements VCMReceiveCallback.
227 virtual int32_t ReceivedDecodedReferenceFrame( 228 virtual int32_t ReceivedDecodedReferenceFrame(
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
394 395
395 private: 396 private:
396 std::map<uint32_t, RtcpPacketTypeCounter> counter_map_ 397 std::map<uint32_t, RtcpPacketTypeCounter> counter_map_
397 GUARDED_BY(critsect_); 398 GUARDED_BY(critsect_);
398 } rtcp_packet_type_counter_observer_; 399 } rtcp_packet_type_counter_observer_;
399 400
400 const uint32_t number_of_cores_; 401 const uint32_t number_of_cores_;
401 const bool sender_; 402 const bool sender_;
402 403
403 ProcessThread* const module_process_thread_; 404 ProcessThread* const module_process_thread_;
405 PayloadRouter* const send_payload_router_;
404 406
405 // Used for all registered callbacks except rendering. 407 // Used for all registered callbacks except rendering.
406 mutable rtc::CriticalSection crit_; 408 mutable rtc::CriticalSection crit_;
407 409
408 // Owned modules/classes. 410 // Owned modules/classes.
409 rtc::scoped_refptr<PayloadRouter> send_payload_router_;
410 rtc::scoped_ptr<ViEChannelProtectionCallback> vcm_protection_callback_; 411 rtc::scoped_ptr<ViEChannelProtectionCallback> vcm_protection_callback_;
411 412
412 VideoCodingModule* const vcm_; 413 VideoCodingModule* const vcm_;
413 ViEReceiver vie_receiver_; 414 ViEReceiver vie_receiver_;
414 ViESyncModule vie_sync_; 415 ViESyncModule vie_sync_;
415 416
416 // Helper to report call statistics. 417 // Helper to report call statistics.
417 rtc::scoped_ptr<ChannelStatsObserver> stats_observer_; 418 rtc::scoped_ptr<ChannelStatsObserver> stats_observer_;
418 419
419 // Not owned. 420 // Not owned.
(...skipping 22 matching lines...) Expand all
442 size_t num_rtts_ GUARDED_BY(crit_); 443 size_t num_rtts_ GUARDED_BY(crit_);
443 444
444 // RtpRtcp modules, declared last as they use other members on construction. 445 // RtpRtcp modules, declared last as they use other members on construction.
445 const std::vector<RtpRtcp*> rtp_rtcp_modules_; 446 const std::vector<RtpRtcp*> rtp_rtcp_modules_;
446 size_t num_active_rtp_rtcp_modules_ GUARDED_BY(crit_); 447 size_t num_active_rtp_rtcp_modules_ GUARDED_BY(crit_);
447 }; 448 };
448 449
449 } // namespace webrtc 450 } // namespace webrtc
450 451
451 #endif // WEBRTC_VIDEO_VIE_CHANNEL_H_ 452 #endif // WEBRTC_VIDEO_VIE_CHANNEL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698