diff --git a/av/audio/plane.pxd b/av/audio/plane.pxd index 316c84031..de912ac22 100644 --- a/av/audio/plane.pxd +++ b/av/audio/plane.pxd @@ -2,7 +2,5 @@ from av.plane cimport Plane cdef class AudioPlane(Plane): - cdef readonly size_t buffer_size - cdef size_t _buffer_size(self) diff --git a/av/audio/plane.py b/av/audio/plane.py new file mode 100644 index 000000000..bdaf15708 --- /dev/null +++ b/av/audio/plane.py @@ -0,0 +1,13 @@ +import cython +from cython.cimports.av.audio.frame import AudioFrame + + +@cython.cclass +class AudioPlane(Plane): + def __cinit__(self, frame: AudioFrame, index: cython.int): + # Only the first linesize is ever populated, but it applies to every plane. + self.buffer_size = self.frame.ptr.linesize[0] + + @cython.cfunc + def _buffer_size(self) -> cython.size_t: + return self.buffer_size diff --git a/av/audio/plane.pyx b/av/audio/plane.pyx deleted file mode 100644 index 92c508cbd..000000000 --- a/av/audio/plane.pyx +++ /dev/null @@ -1,11 +0,0 @@ -from av.audio.frame cimport AudioFrame - - -cdef class AudioPlane(Plane): - - def __cinit__(self, AudioFrame frame, int index): - # Only the first linesize is ever populated, but it applies to every plane. - self.buffer_size = self.frame.ptr.linesize[0] - - cdef size_t _buffer_size(self): - return self.buffer_size