From 18721928008cf3e40359fa710196787a44053aa1 Mon Sep 17 00:00:00 2001 From: HotariTobu Date: Thu, 7 May 2026 21:03:43 +0900 Subject: [PATCH] Make Disposition an IntFlag Stream.disposition is typed as Disposition but the runtime setter assigns to a C int field, calling int(value). Plain Flag members are not int subclasses, so this raises TypeError. IntFlag members are int subclasses; bitwise / membership semantics are preserved. Co-Authored-By: Claude Opus 4.7 (1M context) --- av/stream.py | 4 ++-- av/stream.pyi | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/av/stream.py b/av/stream.py index f8ce178b2..a1a615aae 100644 --- a/av/stream.py +++ b/av/stream.py @@ -1,4 +1,4 @@ -from enum import Flag +from enum import IntFlag import cython from cython.cimports import libav as lib @@ -12,7 +12,7 @@ ) -class Disposition(Flag): +class Disposition(IntFlag): default = 1 << 0 dub = 1 << 1 original = 1 << 2 diff --git a/av/stream.pyi b/av/stream.pyi index 6f4459020..680166fd6 100644 --- a/av/stream.pyi +++ b/av/stream.pyi @@ -1,4 +1,4 @@ -from enum import Flag +from enum import IntFlag from fractions import Fraction from typing import Literal, cast @@ -6,7 +6,7 @@ from .codec import Codec, CodecContext from .container import Container from .index import IndexEntries -class Disposition(Flag): +class Disposition(IntFlag): default = cast(int, ...) dub = cast(int, ...) original = cast(int, ...)