rtp_parse/rtcp/
rtcp_fb_pli.rs1use anyhow::{Context, Result};
2
3use crate::{PacketBuffer, PacketBufferMut};
4
5use super::{
6 rtcp_fb_header::{write_rtcp_fb_header, RtcpFbHeader},
7 rtcp_header::{write_rtcp_header, RtcpHeader},
8};
9use bit_cursor::nsw_types::u5;
10
11#[derive(Debug)]
17pub struct RtcpFbPliPacket {
18 pub header: RtcpHeader,
19 pub fb_header: RtcpFbHeader,
20}
21
22impl RtcpFbPliPacket {
23 pub const FMT: u5 = u5::new(1);
24}
25
26pub fn read_rtcp_fb_pli<B: PacketBuffer>(
27 _buf: &mut B,
28 header: RtcpHeader,
29 fb_header: RtcpFbHeader,
30) -> Result<RtcpFbPliPacket> {
31 Ok(RtcpFbPliPacket { header, fb_header })
32}
33
34pub fn write_rtcp_fb_pli<B: PacketBufferMut>(buf: &mut B, fb_pli: &RtcpFbPliPacket) -> Result<()> {
35 write_rtcp_header(buf, &fb_pli.header).context("rtcp header")?;
36 write_rtcp_fb_header(buf, &fb_pli.fb_header).context("fb header")?;
37
38 Ok(())
39}