diff options
| author | dec05eba <dec05eba@protonmail.com> | 2026-08-05 14:56:59 +0200 |
|---|---|---|
| committer | dec05eba <dec05eba@protonmail.com> | 2026-08-05 14:56:59 +0200 |
| commit | e6c1cf0ec1ce220912a6ef6b6fac5ba9b2e98276 (patch) | |
| tree | 5e5636b9bc485a0efc37af6b03fccc99401d671b /src/encoder/encoder.c | |
| parent | fbc31a9561d16418226c0efa65e2a73923516dbd (diff) | |
workaround ffmpeg hybrid_fragmented bug when no packets have been recorded yet
Diffstat (limited to 'src/encoder/encoder.c')
| -rw-r--r-- | src/encoder/encoder.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/encoder/encoder.c b/src/encoder/encoder.c index 2df4666..3aebb7a 100644 --- a/src/encoder/encoder.c +++ b/src/encoder/encoder.c @@ -1,6 +1,7 @@ #include "../../include/encoder/encoder.h" #include "../../include/log.h" #include "../../include/utils.h" +#include "../../include/ffmpeg_utils.h" #include <string.h> #include <stdio.h> @@ -152,6 +153,8 @@ void gsr_encoder_receive_packets(gsr_encoder *self, AVCodecContext *codec_contex // TODO: Is av_interleaved_write_frame needed?. Answer: might be needed for mkv but dont use it! it causes frames to be inconsistent, skipping frames and duplicating frames. // TODO: av_interleaved_write_frame might be needed for cfr, or always for flv const int ret = av_write_frame(recording_destination->format_context, av_packet); + if(ret >= 0) + gsr_av_format_context_mark_packet_written(recording_destination->format_context); if(ret < 0) { char error_buffer[AV_ERROR_MAX_STRING_SIZE]; if(av_strerror(ret, error_buffer, sizeof(error_buffer)) < 0) |
