rtp_parse/rtcp/
rtcp_fb_header.rs

1use parsely_rs::*;
2
3/// https://datatracker.ietf.org/doc/html/rfc4585#section-6.1
4/// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5/// |                  SSRC of packet sender                        |
6/// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
7/// |                  SSRC of media source                         |
8/// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
9#[derive(Debug, Default, ParselyRead, ParselyWrite, PartialEq)]
10pub struct RtcpFbHeader {
11    pub sender_ssrc: u32,
12    pub media_source_ssrc: u32,
13}
14
15impl RtcpFbHeader {
16    pub fn new(sender_ssrc: u32, media_source_ssrc: u32) -> Self {
17        Self {
18            sender_ssrc,
19            media_source_ssrc,
20        }
21    }
22
23    pub fn sender_ssrc(mut self, sender_ssrc: u32) -> Self {
24        self.sender_ssrc = sender_ssrc;
25        self
26    }
27
28    pub fn media_source_ssrc(mut self, media_source_ssrc: u32) -> Self {
29        self.media_source_ssrc = media_source_ssrc;
30        self
31    }
32}