fec::{self, p_1, p_2, p_3},
interleave::interleave,
protocol::{
- LsfFrame, PacketFrame, PacketFrameCounter, StreamFrame, LSF_SYNC, PACKET_SYNC, STREAM_SYNC,
+ LSF_SYNC, LsfFrame, PACKET_SYNC, PacketFrame, PacketFrameCounter, STREAM_SYNC, StreamFrame,
},
random::random_xor,
};
match frame.counter {
PacketFrameCounter::Frame { index } => {
type1[0..25].copy_from_slice(&frame.payload);
- type1[25] = (index as u8) << 3;
+ type1[25] = (index as u8) << 2;
}
PacketFrameCounter::FinalFrame { payload_len } => {
type1[0..payload_len].copy_from_slice(&frame.payload[0..payload_len]);
- type1[25] = ((payload_len as u8) << 3) | 0x04;
+ type1[25] = ((payload_len as u8) << 2) | 0x80;
}
}
let type3 = fec::encode(&type1, 206, p_3);
]);
let encoded = encode_lsf(&lsf);
let decoded = crate::decode::parse_lsf(&encoded);
- assert_eq!(decoded, Some(lsf));
+ assert!(matches!(decoded, Some((frame, _)) if frame == lsf));
}
#[test]
};
let encoded = encode_stream(&stream);
let decoded = crate::decode::parse_stream(&encoded);
- assert_eq!(decoded, Some(stream));
+ assert!(matches!(decoded, Some((frame, _)) if frame == stream));
}
#[test]
};
let encoded = encode_packet(&packet);
let decoded = crate::decode::parse_packet(&encoded);
- assert_eq!(decoded, Some(packet));
+ assert!(matches!(decoded, Some((frame, _)) if frame == packet));
let packet = PacketFrame {
payload: [0u8; 25],
};
let encoded = encode_packet(&packet);
let decoded = crate::decode::parse_packet(&encoded);
- assert_eq!(decoded, Some(packet));
+ assert!(matches!(decoded, Some((frame, _)) if frame == packet));
}
#[test]