| OLD | NEW | 
|     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 410 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   421   size_t BlockLength() const { |   421   size_t BlockLength() const { | 
|   422     return 12 + app_.Size; |   422     return 12 + app_.Size; | 
|   423   } |   423   } | 
|   424  |   424  | 
|   425   uint32_t ssrc_; |   425   uint32_t ssrc_; | 
|   426   RTCPUtility::RTCPPacketAPP app_; |   426   RTCPUtility::RTCPPacketAPP app_; | 
|   427  |   427  | 
|   428   RTC_DISALLOW_COPY_AND_ASSIGN(App); |   428   RTC_DISALLOW_COPY_AND_ASSIGN(App); | 
|   429 }; |   429 }; | 
|   430  |   430  | 
|   431 // RFC 4585: Feedback format. |  | 
|   432 // |  | 
|   433 // Common packet format: |  | 
|   434 // |  | 
|   435 //    0                   1                   2                   3 |  | 
|   436 //    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 |  | 
|   437 //   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |  | 
|   438 //   |V=2|P|   FMT   |       PT      |          length               | |  | 
|   439 //   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |  | 
|   440 //   |                  SSRC of packet sender                        | |  | 
|   441 //   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |  | 
|   442 //   |                  SSRC of media source                         | |  | 
|   443 //   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |  | 
|   444 //   :            Feedback Control Information (FCI)                 : |  | 
|   445 //   : |  | 
|   446  |  | 
|   447 // Picture loss indication (PLI) (RFC 4585). |  | 
|   448 // |  | 
|   449 // FCI: no feedback control information. |  | 
|   450  |  | 
|   451 class Pli : public RtcpPacket { |  | 
|   452  public: |  | 
|   453   Pli() : RtcpPacket() { |  | 
|   454     memset(&pli_, 0, sizeof(pli_)); |  | 
|   455   } |  | 
|   456  |  | 
|   457   virtual ~Pli() {} |  | 
|   458  |  | 
|   459   void From(uint32_t ssrc) { |  | 
|   460     pli_.SenderSSRC = ssrc; |  | 
|   461   } |  | 
|   462   void To(uint32_t ssrc) { |  | 
|   463     pli_.MediaSSRC = ssrc; |  | 
|   464   } |  | 
|   465  |  | 
|   466  protected: |  | 
|   467   bool Create(uint8_t* packet, |  | 
|   468               size_t* index, |  | 
|   469               size_t max_length, |  | 
|   470               RtcpPacket::PacketReadyCallback* callback) const override; |  | 
|   471  |  | 
|   472  private: |  | 
|   473   size_t BlockLength() const { |  | 
|   474     return kCommonFbFmtLength; |  | 
|   475   } |  | 
|   476  |  | 
|   477   RTCPUtility::RTCPPacketPSFBPLI pli_; |  | 
|   478  |  | 
|   479   RTC_DISALLOW_COPY_AND_ASSIGN(Pli); |  | 
|   480 }; |  | 
|   481  |  | 
|   482 // Slice loss indication (SLI) (RFC 4585). |   431 // Slice loss indication (SLI) (RFC 4585). | 
|   483 // |   432 // | 
|   484 // FCI: |   433 // FCI: | 
|   485 //    0                   1                   2                   3 |   434 //    0                   1                   2                   3 | 
|   486 //    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 |   435 //    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 
|   487 //   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |   436 //   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 
|   488 //   |            First        |        Number           | PictureID | |   437 //   |            First        |        Number           | PictureID | | 
|   489 //   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |   438 //   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 
|   490  |   439  | 
|   491 class Sli : public RtcpPacket { |   440 class Sli : public RtcpPacket { | 
| (...skipping 564 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1056  |  1005  | 
|  1057  private: |  1006  private: | 
|  1058   const size_t buffer_length_; |  1007   const size_t buffer_length_; | 
|  1059   size_t length_; |  1008   size_t length_; | 
|  1060   rtc::scoped_ptr<uint8_t[]> buffer_; |  1009   rtc::scoped_ptr<uint8_t[]> buffer_; | 
|  1061 }; |  1010 }; | 
|  1062  |  1011  | 
|  1063 }  // namespace rtcp |  1012 }  // namespace rtcp | 
|  1064 }  // namespace webrtc |  1013 }  // namespace webrtc | 
|  1065 #endif  // WEBRTC_MODULES_RTP_RTCP_RTCP_PACKET_H_ |  1014 #endif  // WEBRTC_MODULES_RTP_RTCP_RTCP_PACKET_H_ | 
| OLD | NEW |