xref: /webrtc/interceptor/src/stream_reader.rs (revision ffe74184)
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