Merge PR #1707: mpegts/avi: drop redundant PES header check and doubled frame_info call

This commit is contained in:
aiongg
2026-10-31 02:14:02 +00:00
2 changed files with 6 additions and 6 deletions
+3 -2
View File
@@ -194,10 +194,11 @@ fn split_frames(
let Some(here) = win.get(pos - base..) else { break };
match filmcraft_mpegts::frame_bytes(ts, here) {
Some(n) if pos + n <= total => {
let fi = filmcraft_mpegts::frame_info(ts, here);
if info.is_none() {
info = filmcraft_mpegts::frame_info(ts, here);
info = fi;
}
let k = filmcraft_mpegts::frame_info(ts, here).map_or(0, |f| f.samples);
let k = fi.map_or(0, |f| f.samples);
first.push(pieces.len());
let mut p = pos;
while p < pos + n {
+3 -4
View File
@@ -114,11 +114,10 @@ impl PesAsm {
}
let before = self.hdr.len();
self.hdr.extend_from_slice(payload);
if let Some(h) = pes::parse(&self.hdr)
&& self.hdr.len() >= h.header_len
{
// `pes::parse` only succeeds once the whole header (`header_len` bytes) is buffered
if let Some(h) = pes::parse(&self.hdr) {
self.waiting = false;
let skip = (h.header_len - before).min(payload.len());
let skip = h.header_len.saturating_sub(before).min(payload.len());
return (Some(h), &payload[skip..]);
}
if self.hdr.len() > 1024 || (self.hdr.len() >= 6 && !(self.hdr[0] == 0 && self.hdr[1] == 0 && self.hdr[2] == 1)) {