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

Method c_aframe_to_python_aframe

bmf/modules/c_module.py:187–215  ·  view source on GitHub ↗
(self, c_frame)

Source from the content-addressed store, hash-verified

185 return py_frame
186
187 def c_aframe_to_python_aframe(self, c_frame):
188 buf_pointers = []
189 line_size = []
190 last_plane_size = 0
191
192 # prepare buffer pointer and line size
193 for c_plane in c_frame.py_get_planes():
194 buf_pointers.append(c_plane.py_get_buffer())
195 line_size.append(c_plane.get_size())
196
197 # create av frame with external buffer
198 py_frame = AudioFrame(c_frame.get_format(), c_frame.get_layout_name(),
199 c_frame.get_samples(), 1, buf_pointers,
200 line_size)
201 # py_frame = AudioFrame(c_frame.get_width(), c_frame.get_height(),
202 # c_frame.get_format(), buf_pointers, line_size)
203
204 # set pts
205 py_frame.pts = c_frame.get_pts()
206
207 # set time base
208 py_frame.time_base = Fraction(c_frame.get_time_base().num,
209 c_frame.get_time_base().den)
210 py_frame.sample_rate = c_frame.get_sample_rate()
211 # py_frame.sample_rate =44100
212 # transfer the buffer owner to av.frame
213 c_frame.release()
214
215 return py_frame
216
217 def c_packet_to_python_packet(self, c_pkt):
218 py_pkt = Packet()

Callers 1

Calls 5

AudioFrameFunction · 0.90
FractionClass · 0.85
get_sizeMethod · 0.45
get_formatMethod · 0.45
releaseMethod · 0.45

Tested by

no test coverage detected