-
Notifications
You must be signed in to change notification settings - Fork 425
Closed
Description
Right now demux returns Packet which doesn't have any typing specification based on the type of Stream it holds.
Line 85 in efe1e4c
| def decode(self) -> list[SubtitleSet]: ... |
Repro:
def test_decoded_time_base(self) -> None:
container = av.open(fate_suite("h264/interlaced_crop.mp4"))
stream = container.streams.video[0]
assert stream.time_base == Fraction(1, 25)
video_frame: av.VideoFrame | None = None
for packet in container.demux(stream): # < - Typing returns Packet
for frame in packet.decode(): < - Typing returns Subtitle Set (runtime returns video frame)
video_frame = frame
assert not isinstance(frame, SubtitleSet)
assert packet.time_base == frame.time_base
assert stream.time_base == frame.time_base
returnMetadata
Metadata
Assignees
Labels
No labels