1*ffe74184SMartin Algesten use crate::error::Result; 2*ffe74184SMartin Algesten use crate::{Attributes, RTCPReader, RTPReader}; 3*ffe74184SMartin Algesten 4*ffe74184SMartin Algesten use async_trait::async_trait; 5*ffe74184SMartin Algesten use srtp::stream::Stream; 6*ffe74184SMartin Algesten 7*ffe74184SMartin Algesten #[async_trait] 8*ffe74184SMartin Algesten impl RTPReader for Stream { read(&self, buf: &mut [u8], a: &Attributes) -> Result<(usize, Attributes)>9*ffe74184SMartin Algesten async fn read(&self, buf: &mut [u8], a: &Attributes) -> Result<(usize, Attributes)> { 10*ffe74184SMartin Algesten Ok((self.read(buf).await?, a.clone())) 11*ffe74184SMartin Algesten } 12*ffe74184SMartin Algesten } 13*ffe74184SMartin Algesten 14*ffe74184SMartin Algesten #[async_trait] 15*ffe74184SMartin Algesten impl RTCPReader for Stream { read(&self, buf: &mut [u8], a: &Attributes) -> Result<(usize, Attributes)>16*ffe74184SMartin Algesten async fn read(&self, buf: &mut [u8], a: &Attributes) -> Result<(usize, Attributes)> { 17*ffe74184SMartin Algesten Ok((self.read(buf).await?, a.clone())) 18*ffe74184SMartin Algesten } 19*ffe74184SMartin Algesten } 20