MCPcopy Create free account
hub / github.com/BabitMF/bmf / python_aframe_to_c_aframe

Method python_aframe_to_c_aframe

bmf/modules/c_module.py:86–111  ·  view source on GitHub ↗
(self, py_frame)

Source from the content-addressed store, hash-verified

84 return c_frame
85
86 def python_aframe_to_c_aframe(self, py_frame):
87 planes = []
88
89 # change buffer pointer to planes[0].buffer_ptr
90 # in pyav, the buffer_point is NULL
91 buffer_pointer = py_frame.planes[0].buffer_ptr
92
93 prev_plane_size = 0
94 for i, py_plane in enumerate(py_frame.planes):
95 # copy video plane data from av frame to bmf frame
96 planes.append(
97 csdk.AudioPlane(py_plane.buffer_size, py_plane.buffer_ptr))
98
99 # create bmf frame
100 c_frame = csdk.AudioFrame(py_frame.format.name, py_frame.layout.name,
101 py_frame.samples, 0, buffer_pointer, planes)
102
103 # set pts
104 c_frame.set_pts(py_frame.pts)
105
106 # set time base
107 c_time_base = csdk.Rational(py_frame.time_base.numerator,
108 py_frame.time_base.denominator)
109 c_frame.set_time_base(c_time_base)
110 c_frame.set_sample_rate(py_frame.sample_rate)
111 return c_frame
112
113 def trans2dict(self, data):
114 if "__dict__" in dir(data):

Callers 1

Calls 2

set_sample_rateMethod · 0.95
AudioFrameMethod · 0.80

Tested by

no test coverage detected