fix: demuxer read

This commit is contained in:
kieran 2024-11-22 13:19:48 +00:00
parent a2c0e3374b
commit 8e102423d4
No known key found for this signature in database
GPG Key ID: DE71CEB3925BE941

View File

@ -20,8 +20,8 @@ unsafe extern "C" fn read_data(
) -> libc::c_int { ) -> libc::c_int {
let mut buffer: SlimMut<'_, dyn Read + 'static> = SlimMut::from_raw(opaque); let mut buffer: SlimMut<'_, dyn Read + 'static> = SlimMut::from_raw(opaque);
let dst_slice: &mut [u8] = slice::from_raw_parts_mut(dst_buffer, size as usize); let dst_slice: &mut [u8] = slice::from_raw_parts_mut(dst_buffer, size as usize);
match buffer.read_exact(dst_slice) { match buffer.read(dst_slice) {
Ok(_) => size, Ok(r) => r as libc::c_int,
Err(e) => { Err(e) => {
eprintln!("read_data {}", e); eprintln!("read_data {}", e);
AVERROR_EOF AVERROR_EOF
@ -268,10 +268,10 @@ mod tests {
fn test_stream_groups() -> Result<()> { fn test_stream_groups() -> Result<()> {
unsafe { unsafe {
let mut demux = let mut demux =
Demuxer::new("/core/[SubsPlease] Kinoko Inu - 06 (1080p) [FECF68AF].mkv")?; Demuxer::new("https://trac.ffmpeg.org/raw-attachment/ticket/11170/IMG_4765.HEIC")?;
let probe = demux.probe_input()?; let probe = demux.probe_input()?;
assert_eq!(1, probe.streams.len()); assert_eq!(3, probe.streams.len());
assert_eq!(1, probe.groups.len()); assert_eq!(0, probe.groups.len());
assert!(matches!( assert!(matches!(
probe.groups[0].group_type, probe.groups[0].group_type,
StreamGroupType::TileGrid { .. } StreamGroupType::TileGrid { .. }