1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
#![warn(rust_2018_idioms)] #![allow(dead_code)] //! Package rtcp implements encoding and decoding of RTCP packets according to RFCs 3550 and 5506. //! //! RTCP is a sister protocol of the Real-time Transport Protocol (RTP). Its basic functionality //! and packet structure is defined in RFC 3550. RTCP provides out-of-band statistics and control //! information for an RTP session. It partners with RTP in the delivery and packaging of multimedia data, //! but does not transport any media data itself. //! //! The primary function of RTCP is to provide feedback on the quality of service (QoS) //! in media distribution by periodically sending statistics information such as transmitted octet //! and packet counts, packet loss, packet delay variation, and round-trip delay time to participants //! in a streaming multimedia session. An application may use this information to control quality of //! service parameters, perhaps by limiting flow, or using a different codec. //! //! Decoding RTCP packets: //!```nobuild //! let pkt = rtcp.Unmarshal(rtcpData).unwrap(); //! //! if let Some(e) = packet //! .as_any() //! .downcast_ref::<crate::picture_loss_indication::PictureLossIndication>() //! { //! //! } //! else if let Some(e) = packet //! .as_any() //! .downcast_ref::<crate::goodbye::Goodbye>(){} //! .... //! //! //! Encoding RTCP packets: //!```nobuild //! let pkt = crate::picture_loss_indication::PictureLossIndication{ //! sender_ssrc: sender_ssrc, //! media_ssrc: media_ssrc //! }; //! //! let pliData = pkt.marshal().unwrap(); //! // ... #[macro_use] extern crate lazy_static; pub mod compound_packet; pub mod errors; pub mod full_intra_request; pub mod goodbye; pub mod header; pub mod packet; pub mod picture_loss_indication; pub mod rapid_resynchronization_request; pub mod raw_packet; pub mod receiver_estimated_maximum_bitrate; pub mod receiver_report; pub mod reception_report; pub mod sender_report; pub mod slice_loss_indication; pub mod source_description; pub mod transport_layer_cc; pub mod transport_layer_nack; mod util;