Skip to content

Commit ab816d5

Browse files
authored
test filter changes
1 parent 451f1d6 commit ab816d5

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/recorder.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,8 @@ bool Recorder::writeFrame(const std::vector<uint8_t>& frameData) {
223223
sws_scale(
224224
m_swsCtx, m_filteredFrame->data, m_filteredFrame->linesize, 0, m_filteredFrame->height,
225225
m_convertedFrame->data, m_convertedFrame->linesize);
226+
227+
av_frame_unref(m_filteredFrame);
226228
}
227229
else {
228230
const uint8_t* srcData[1] = { frameData.data() };
@@ -253,11 +255,13 @@ bool Recorder::writeFrame(const std::vector<uint8_t>& frameData) {
253255
av_packet_unref(m_packet);
254256
}
255257

258+
av_frame_unref(m_convertedFrame);
259+
256260
return true;
257261
}
258262

259263
void Recorder::filterFrame(AVFrame* inputFrame, AVFrame* outputFrame) {
260-
int ret = av_buffersrc_add_frame(m_buffersrcCtx, inputFrame);
264+
int ret = av_buffersrc_add_frame_flags(m_buffersrcCtx, inputFrame, AV_BUFFERSRC_FLAG_KEEP_REF);
261265
if (ret < 0) {
262266
char errbuf[AV_ERROR_MAX_STRING_SIZE];
263267
av_strerror(ret, errbuf, AV_ERROR_MAX_STRING_SIZE);

0 commit comments

Comments
 (0)