@@ -209,8 +209,6 @@ bool Recorder::init(const RenderSettings& settings) {
209
209
210
210
m_init = true ;
211
211
212
- av_log_set_level (AV_LOG_DEBUG);
213
-
214
212
return true ;
215
213
}
216
214
@@ -255,30 +253,17 @@ bool Recorder::writeFrame(const std::vector<uint8_t>& frameData) {
255
253
av_packet_unref (m_packet);
256
254
}
257
255
258
- av_frame_free (&m_filteredFrame);
259
-
260
256
return true ;
261
257
}
262
258
263
259
void Recorder::filterFrame (AVFrame* inputFrame, AVFrame* outputFrame) {
264
- int ret = av_buffersrc_add_frame_flags (m_buffersrcCtx, inputFrame, 0 );
265
- if (ret < 0 ) {
266
- char errbuf[AV_ERROR_MAX_STRING_SIZE];
267
- av_strerror (ret, errbuf, AV_ERROR_MAX_STRING_SIZE);
260
+ if (av_buffersrc_add_frame (m_buffersrcCtx, inputFrame) < 0 ) {
261
+ std::cerr << " Error feeding frame to filter graph.\n " ;
268
262
avfilter_graph_free (&m_filterGraph);
269
- geode::log::error (" Error while feeding frame to filter graph: {}" , errbuf);
270
263
return ;
271
264
}
272
265
273
- while (true ) {
274
- ret = av_buffersink_get_frame (m_buffersinkCtx, outputFrame);
275
-
276
- outputFrame->time_base = av_buffersink_get_time_base (m_buffersinkCtx);
277
-
278
- if (ret == AVERROR (EAGAIN) || ret == AVERROR_EOF) {
279
- break ;
280
- }
281
- }
266
+ av_buffersink_get_frame (m_buffersinkCtx, outputFrame);
282
267
}
283
268
284
269
void Recorder::stop () {
@@ -307,10 +292,10 @@ void Recorder::stop() {
307
292
308
293
if (m_filterGraph) {
309
294
avfilter_graph_free (&m_filterGraph);
310
- // av_frame_free(&m_filteredFrame);
295
+ av_frame_free (&m_filteredFrame);
311
296
}
312
297
313
298
delete m_packet;
314
299
}
315
300
316
- }
301
+ }
0 commit comments