Skip to content

Commit 66d94a4

Browse files
authored
Expose av_frame_make_writable() for av.Frame
1 parent 3646f8d commit 66d94a4

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

av/frame.pyi

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,5 @@ class Frame:
77
time_base: Fraction
88
is_corrupt: bool
99
side_data: dict[str, str]
10+
11+
def make_writable(self) -> None: ...

av/frame.pyx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from av.error cimport err_check
12
from av.utils cimport avrational_to_fraction, to_avrational
23

34
from av.sidedata.sidedata import SideDataContainer
@@ -137,3 +138,13 @@ cdef class Frame:
137138
if self._side_data is None:
138139
self._side_data = SideDataContainer(self)
139140
return self._side_data
141+
142+
def make_writable(self):
143+
"""
144+
Ensures that the frame data is writable. Copy the data to new buffer if it is not.
145+
This is a wrapper around :ffmpeg:`av_frame_make_writable`.
146+
"""
147+
cdef int ret
148+
149+
ret = lib.av_frame_make_writable(self.ptr)
150+
err_check(ret)

0 commit comments

Comments
 (0)