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

Side by Side Diff: webrtc/modules/rtp_rtcp/include/rtp_rtcp.h

Issue 2067673004: Style cleanups in RtpSender. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: fix compilation Created 4 years, 6 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 22 matching lines...) Expand all
33 33
34 namespace rtcp { 34 namespace rtcp {
35 class TransportFeedback; 35 class TransportFeedback;
36 } 36 }
37 37
38 class RtpRtcp : public Module { 38 class RtpRtcp : public Module {
39 public: 39 public:
40 struct Configuration { 40 struct Configuration {
41 Configuration(); 41 Configuration();
42 42
43 /* id - Unique identifier of this RTP/RTCP module object 43 // True for a audio version of the RTP/RTCP module object false will create
44 * audio - True for a audio version of the RTP/RTCP module 44 // a video version.
45 * object false will create a video version 45 bool audio = false;
46 * clock - The clock to use to read time. If NULL object 46 bool receiver_only = false;
47 * will be using the system clock. 47
48 * incoming_data - Callback object that will receive the incoming 48 // The clock to use to read time. If nullptr then system clock will be used.
49 * data. May not be NULL; default callback will do 49 Clock* clock = nullptr;
50 * nothing. 50
51 * incoming_messages - Callback object that will receive the incoming
52 * RTP messages. May not be NULL; default callback
53 * will do nothing.
54 * outgoing_transport - Transport object that will be called when packets
55 * are ready to be sent out on the network
56 * intra_frame_callback - Called when the receiver request a intra frame.
57 * bandwidth_callback - Called when we receive a changed estimate from
58 * the receiver of out stream.
59 * remote_bitrate_estimator - Estimates the bandwidth available for a set of
60 * streams from the same client.
61 * paced_sender - Spread any bursts of packets into smaller
62 * bursts to minimize packet loss.
63 */
64 bool audio;
65 bool receiver_only;
66 Clock* clock;
67 ReceiveStatistics* receive_statistics; 51 ReceiveStatistics* receive_statistics;
68 Transport* outgoing_transport; 52
69 RtcpIntraFrameObserver* intra_frame_callback; 53 // Transport object that will be called when packets are ready to be sent
70 RtcpBandwidthObserver* bandwidth_callback; 54 // out on the network.
71 TransportFeedbackObserver* transport_feedback_callback; 55 Transport* outgoing_transport = nullptr;
72 RtcpRttStats* rtt_stats; 56
73 RtcpPacketTypeCounterObserver* rtcp_packet_type_counter_observer; 57 // Called when the receiver request a intra frame.
74 RemoteBitrateEstimator* remote_bitrate_estimator; 58 RtcpIntraFrameObserver* intra_frame_callback = nullptr;
75 RtpPacketSender* paced_sender; 59
76 TransportSequenceNumberAllocator* transport_sequence_number_allocator; 60 // Called when we receive a changed estimate from the receiver of out
77 BitrateStatisticsObserver* send_bitrate_observer; 61 // stream.
78 FrameCountObserver* send_frame_count_observer; 62 RtcpBandwidthObserver* bandwidth_callback = nullptr;
79 SendSideDelayObserver* send_side_delay_observer; 63
80 RtcEventLog* event_log; 64 TransportFeedbackObserver* transport_feedback_callback = nullptr;
81 SendPacketObserver* send_packet_observer; 65 RtcpRttStats* rtt_stats = nullptr;
66 RtcpPacketTypeCounterObserver* rtcp_packet_type_counter_observer = nullptr;
67
68 // Estimates the bandwidth available for a set of streams from the same
69 // client.
70 RemoteBitrateEstimator* remote_bitrate_estimator = nullptr;
71
72 // Spread any bursts of packets into smaller bursts to minimize packet loss.
73 RtpPacketSender* paced_sender = nullptr;
74
75 TransportSequenceNumberAllocator* transport_sequence_number_allocator =
76 nullptr;
77 BitrateStatisticsObserver* send_bitrate_observer = nullptr;
78 FrameCountObserver* send_frame_count_observer = nullptr;
79 SendSideDelayObserver* send_side_delay_observer = nullptr;
80 RtcEventLog* event_log = nullptr;
81 SendPacketObserver* send_packet_observer = nullptr;
82
83 private:
82 RTC_DISALLOW_COPY_AND_ASSIGN(Configuration); 84 RTC_DISALLOW_COPY_AND_ASSIGN(Configuration);
83 }; 85 };
84 86
85 /* 87 /*
86 * Create a RTP/RTCP module object using the system clock. 88 * Create a RTP/RTCP module object using the system clock.
87 * 89 *
88 * configuration - Configuration of the RTP/RTCP module. 90 * configuration - Configuration of the RTP/RTCP module.
89 */ 91 */
90 static RtpRtcp* CreateRtpRtcp(const RtpRtcp::Configuration& configuration); 92 static RtpRtcp* CreateRtpRtcp(const RtpRtcp::Configuration& configuration);
91 93
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
166 */ 168 */
167 virtual int32_t RegisterSendPayload( 169 virtual int32_t RegisterSendPayload(
168 const VideoCodec& videoCodec) = 0; 170 const VideoCodec& videoCodec) = 0;
169 171
170 virtual void RegisterVideoSendPayload(int payload_type, 172 virtual void RegisterVideoSendPayload(int payload_type,
171 const char* payload_name) = 0; 173 const char* payload_name) = 0;
172 174
173 /* 175 /*
174 * Unregister a send payload 176 * Unregister a send payload
175 * 177 *
176 * payloadType - payload type of codec 178 * payload_type - payload type of codec
177 * 179 *
178 * return -1 on failure else 0 180 * return -1 on failure else 0
179 */ 181 */
180 virtual int32_t DeRegisterSendPayload(int8_t payloadType) = 0; 182 virtual int32_t DeRegisterSendPayload(int8_t payload_type) = 0;
181 183
182 /* 184 /*
183 * (De)register RTP header extension type and id. 185 * (De)register RTP header extension type and id.
184 * 186 *
185 * return -1 on failure else 0 187 * return -1 on failure else 0
186 */ 188 */
187 virtual int32_t RegisterSendRtpHeaderExtension(RTPExtensionType type, 189 virtual int32_t RegisterSendRtpHeaderExtension(RTPExtensionType type,
188 uint8_t id) = 0; 190 uint8_t id) = 0;
189 191
190 virtual int32_t DeregisterSendRtpHeaderExtension(RTPExtensionType type) = 0; 192 virtual int32_t DeregisterSendRtpHeaderExtension(RTPExtensionType type) = 0;
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
285 */ 287 */
286 virtual void BitrateSent(uint32_t* totalRate, 288 virtual void BitrateSent(uint32_t* totalRate,
287 uint32_t* videoRate, 289 uint32_t* videoRate,
288 uint32_t* fecRate, 290 uint32_t* fecRate,
289 uint32_t* nackRate) const = 0; 291 uint32_t* nackRate) const = 0;
290 292
291 /* 293 /*
292 * Used by the codec module to deliver a video or audio frame for 294 * Used by the codec module to deliver a video or audio frame for
293 * packetization. 295 * packetization.
294 * 296 *
295 * frameType - type of frame to send 297 * frame_type - type of frame to send
296 * payloadType - payload type of frame to send 298 * payload_type - payload type of frame to send
297 * timestamp - timestamp of frame to send 299 * timestamp - timestamp of frame to send
298 * payloadData - payload buffer of frame to send 300 * payload_data - payload buffer of frame to send
299 * payloadSize - size of payload buffer to send 301 * payload_size - size of payload buffer to send
300 * fragmentation - fragmentation offset data for fragmented frames such 302 * fragmentation - fragmentation offset data for fragmented frames such
301 * as layers or RED 303 * as layers or RED
302 * 304 *
303 * return -1 on failure else 0 305 * return -1 on failure else 0
304 */ 306 */
305 virtual int32_t SendOutgoingData( 307 virtual int32_t SendOutgoingData(
306 FrameType frameType, 308 FrameType frame_type,
307 int8_t payloadType, 309 int8_t payload_type,
308 uint32_t timeStamp, 310 uint32_t timeStamp,
309 int64_t capture_time_ms, 311 int64_t capture_time_ms,
310 const uint8_t* payloadData, 312 const uint8_t* payload_data,
311 size_t payloadSize, 313 size_t payload_size,
312 const RTPFragmentationHeader* fragmentation = NULL, 314 const RTPFragmentationHeader* fragmentation = NULL,
313 const RTPVideoHeader* rtpVideoHdr = NULL) = 0; 315 const RTPVideoHeader* rtpVideoHdr = NULL) = 0;
314 316
315 virtual bool TimeToSendPacket(uint32_t ssrc, 317 virtual bool TimeToSendPacket(uint32_t ssrc,
316 uint16_t sequence_number, 318 uint16_t sequence_number,
317 int64_t capture_time_ms, 319 int64_t capture_time_ms,
318 bool retransmission, 320 bool retransmission,
319 int probe_cluster_id) = 0; 321 int probe_cluster_id) = 0;
320 322
321 virtual size_t TimeToSendPadding(size_t bytes, int probe_cluster_id) = 0; 323 virtual size_t TimeToSendPadding(size_t bytes, int probe_cluster_id) = 0;
(...skipping 27 matching lines...) Expand all
349 * 351 *
350 * return -1 on failure else 0 352 * return -1 on failure else 0
351 */ 353 */
352 virtual int32_t SetCNAME(const char* c_name) = 0; 354 virtual int32_t SetCNAME(const char* c_name) = 0;
353 355
354 /* 356 /*
355 * Get remote CName 357 * Get remote CName
356 * 358 *
357 * return -1 on failure else 0 359 * return -1 on failure else 0
358 */ 360 */
359 virtual int32_t RemoteCNAME(uint32_t remoteSSRC, 361 virtual int32_t RemoteCNAME(uint32_t remote_ssrc,
360 char cName[RTCP_CNAME_SIZE]) const = 0; 362 char cName[RTCP_CNAME_SIZE]) const = 0;
361 363
362 /* 364 /*
363 * Get remote NTP 365 * Get remote NTP
364 * 366 *
365 * return -1 on failure else 0 367 * return -1 on failure else 0
366 */ 368 */
367 virtual int32_t RemoteNTP( 369 virtual int32_t RemoteNTP(
368 uint32_t *ReceivedNTPsecs, 370 uint32_t *ReceivedNTPsecs,
369 uint32_t *ReceivedNTPfrac, 371 uint32_t *ReceivedNTPfrac,
(...skipping 13 matching lines...) Expand all
383 * 385 *
384 * return -1 on failure else 0 386 * return -1 on failure else 0
385 */ 387 */
386 virtual int32_t RemoveMixedCNAME(uint32_t SSRC) = 0; 388 virtual int32_t RemoveMixedCNAME(uint32_t SSRC) = 0;
387 389
388 /* 390 /*
389 * Get RoundTripTime 391 * Get RoundTripTime
390 * 392 *
391 * return -1 on failure else 0 393 * return -1 on failure else 0
392 */ 394 */
393 virtual int32_t RTT(uint32_t remoteSSRC, 395 virtual int32_t RTT(uint32_t remote_ssrc,
394 int64_t* RTT, 396 int64_t* rtt,
395 int64_t* avgRTT, 397 int64_t* avg_rtt,
396 int64_t* minRTT, 398 int64_t* min_rtt,
397 int64_t* maxRTT) const = 0; 399 int64_t* max_rtt) const = 0;
398 400
399 /* 401 /*
400 * Force a send of a RTCP packet 402 * Force a send of a RTCP packet
401 * periodic SR and RR are triggered via the process function 403 * periodic SR and RR are triggered via the process function
402 * 404 *
403 * return -1 on failure else 0 405 * return -1 on failure else 0
404 */ 406 */
405 virtual int32_t SendRTCP(RTCPPacketType rtcpPacketType) = 0; 407 virtual int32_t SendRTCP(RTCPPacketType rtcp_packet_type) = 0;
406 408
407 /* 409 /*
408 * Force a send of a RTCP packet with more than one packet type. 410 * Force a send of a RTCP packet with more than one packet type.
409 * periodic SR and RR are triggered via the process function 411 * periodic SR and RR are triggered via the process function
410 * 412 *
411 * return -1 on failure else 0 413 * return -1 on failure else 0
412 */ 414 */
413 virtual int32_t SendCompoundRTCP( 415 virtual int32_t SendCompoundRTCP(
414 const std::set<RTCPPacketType>& rtcpPacketTypes) = 0; 416 const std::set<RTCPPacketType>& rtcp_packet_types) = 0;
415 417
416 /* 418 /*
417 * Good state of RTP receiver inform sender 419 * Good state of RTP receiver inform sender
418 */ 420 */
419 virtual int32_t SendRTCPReferencePictureSelection(uint64_t pictureID) = 0; 421 virtual int32_t SendRTCPReferencePictureSelection(uint64_t pictureID) = 0;
420 422
421 /* 423 /*
422 * Send a RTCP Slice Loss Indication (SLI) 424 * Send a RTCP Slice Loss Indication (SLI)
423 * 6 least significant bits of pictureID 425 * 6 least significant bits of pictureID
424 */ 426 */
(...skipping 21 matching lines...) Expand all
446 virtual void GetRtpPacketLossStats( 448 virtual void GetRtpPacketLossStats(
447 bool outgoing, 449 bool outgoing,
448 uint32_t ssrc, 450 uint32_t ssrc,
449 struct RtpPacketLossStats* loss_stats) const = 0; 451 struct RtpPacketLossStats* loss_stats) const = 0;
450 452
451 /* 453 /*
452 * Get received RTCP sender info 454 * Get received RTCP sender info
453 * 455 *
454 * return -1 on failure else 0 456 * return -1 on failure else 0
455 */ 457 */
456 virtual int32_t RemoteRTCPStat(RTCPSenderInfo* senderInfo) = 0; 458 virtual int32_t RemoteRTCPStat(RTCPSenderInfo* sender_info) = 0;
457 459
458 /* 460 /*
459 * Get received RTCP report block 461 * Get received RTCP report block
460 * 462 *
461 * return -1 on failure else 0 463 * return -1 on failure else 0
462 */ 464 */
463 virtual int32_t RemoteRTCPStat( 465 virtual int32_t RemoteRTCPStat(
464 std::vector<RTCPReportBlock>* receiveBlocks) const = 0; 466 std::vector<RTCPReportBlock>* receive_blocks) const = 0;
465 467
466 /* 468 /*
467 * (APP) Application specific data 469 * (APP) Application specific data
468 * 470 *
469 * return -1 on failure else 0 471 * return -1 on failure else 0
470 */ 472 */
471 virtual int32_t SetRTCPApplicationSpecificData(uint8_t subType, 473 virtual int32_t SetRTCPApplicationSpecificData(uint8_t sub_type,
472 uint32_t name, 474 uint32_t name,
473 const uint8_t* data, 475 const uint8_t* data,
474 uint16_t length) = 0; 476 uint16_t length) = 0;
475 /* 477 /*
476 * (XR) VOIP metric 478 * (XR) VOIP metric
477 * 479 *
478 * return -1 on failure else 0 480 * return -1 on failure else 0
479 */ 481 */
480 virtual int32_t SetRTCPVoIPMetrics( 482 virtual int32_t SetRTCPVoIPMetrics(
481 const RTCPVoIPMetric* VoIPMetric) = 0; 483 const RTCPVoIPMetric* VoIPMetric) = 0;
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
529 virtual int SetSelectiveRetransmissions(uint8_t settings) = 0; 531 virtual int SetSelectiveRetransmissions(uint8_t settings) = 0;
530 532
531 /* 533 /*
532 * Send a Negative acknowledgement packet 534 * Send a Negative acknowledgement packet
533 * 535 *
534 * return -1 on failure else 0 536 * return -1 on failure else 0
535 */ 537 */
536 // TODO(philipel): Deprecate this and start using SendNack instead, 538 // TODO(philipel): Deprecate this and start using SendNack instead,
537 // mostly because we want a function that actually send 539 // mostly because we want a function that actually send
538 // NACK for the specified packets. 540 // NACK for the specified packets.
539 virtual int32_t SendNACK(const uint16_t* nackList, uint16_t size) = 0; 541 virtual int32_t SendNACK(const uint16_t* nack_list, uint16_t size) = 0;
540 542
541 /* 543 /*
542 * Send NACK for the packets specified. 544 * Send NACK for the packets specified.
543 * 545 *
544 * Note: This assumes the caller keeps track of timing and doesn't rely on 546 * Note: This assumes the caller keeps track of timing and doesn't rely on
545 * the RTP module to do this. 547 * the RTP module to do this.
546 */ 548 */
547 virtual void SendNack(const std::vector<uint16_t>& sequence_numbers) = 0; 549 virtual void SendNack(const std::vector<uint16_t>& sequence_numbers) = 0;
548 550
549 /* 551 /*
(...skipping 18 matching lines...) Expand all
568 * Audio 570 * Audio
569 * 571 *
570 ***************************************************************************/ 572 ***************************************************************************/
571 573
572 /* 574 /*
573 * set audio packet size, used to determine when it's time to send a DTMF 575 * set audio packet size, used to determine when it's time to send a DTMF
574 * packet in silence (CNG) 576 * packet in silence (CNG)
575 * 577 *
576 * return -1 on failure else 0 578 * return -1 on failure else 0
577 */ 579 */
578 virtual int32_t SetAudioPacketSize(uint16_t packetSizeSamples) = 0; 580 virtual int32_t SetAudioPacketSize(uint16_t packet_size_samples) = 0;
579 581
580 /* 582 /*
581 * Send a TelephoneEvent tone using RFC 2833 (4733) 583 * Send a TelephoneEvent tone using RFC 2833 (4733)
582 * 584 *
583 * return -1 on failure else 0 585 * return -1 on failure else 0
584 */ 586 */
585 virtual int32_t SendTelephoneEventOutband(uint8_t key, 587 virtual int32_t SendTelephoneEventOutband(uint8_t key,
586 uint16_t time_ms, 588 uint16_t time_ms,
587 uint8_t level) = 0; 589 uint8_t level) = 0;
588 590
589 /* 591 /*
590 * Set payload type for Redundant Audio Data RFC 2198 592 * Set payload type for Redundant Audio Data RFC 2198
591 * 593 *
592 * return -1 on failure else 0 594 * return -1 on failure else 0
593 */ 595 */
594 virtual int32_t SetSendREDPayloadType(int8_t payloadType) = 0; 596 virtual int32_t SetSendREDPayloadType(int8_t payload_type) = 0;
595 597
596 /* 598 /*
597 * Get payload type for Redundant Audio Data RFC 2198 599 * Get payload type for Redundant Audio Data RFC 2198
598 * 600 *
599 * return -1 on failure else 0 601 * return -1 on failure else 0
600 */ 602 */
601 virtual int32_t SendREDPayloadType(int8_t* payload_type) const = 0; 603 virtual int32_t SendREDPayloadType(int8_t* payload_type) const = 0;
602 /* 604 /*
603 * Store the audio level in dBov for header-extension-for-audio-level- 605 * Store the audio level in dBov for header-extension-for-audio-level-
604 * indication. 606 * indication.
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
647 649
648 /* 650 /*
649 * send a request for a keyframe 651 * send a request for a keyframe
650 * 652 *
651 * return -1 on failure else 0 653 * return -1 on failure else 0
652 */ 654 */
653 virtual int32_t RequestKeyFrame() = 0; 655 virtual int32_t RequestKeyFrame() = 0;
654 }; 656 };
655 } // namespace webrtc 657 } // namespace webrtc
656 #endif // WEBRTC_MODULES_RTP_RTCP_INCLUDE_RTP_RTCP_H_ 658 #endif // WEBRTC_MODULES_RTP_RTCP_INCLUDE_RTP_RTCP_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698