[FFmpeg-devel] [PATCH] avformat/mpegtsenc:
Oliver Collyer
ovcollyer at mac.com
Wed Mar 6 17:00:35 EET 2019
Hi
I needed to be able to use the write_data_type callback when reading data from the mpegts muxer, to make my application aware of key frames in the data so I added support. I used the matroska implementation as a reference.
If this is accepted, I will format this as a proper patch after feedback.
Regards
Oliver
diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c
index fc0ea225c6..e5d1a64b4c 100644
--- a/libavformat/mpegtsenc.c
+++ b/libavformat/mpegtsenc.c
@@ -1815,6 +1815,12 @@ static int mpegts_write_packet(AVFormatContext *s, AVPacket *pkt)
mpegts_write_flush(s);
return 1;
} else {
+ if (s->pb && s->pb->write_data_type) {
+ AVStream *st = s->streams[pkt->stream_index];
+ avio_write_marker(s->pb,
+ av_rescale_q(pkt->dts, st->time_base, AV_TIME_BASE_Q),
+ (pkt->flags & AV_PKT_FLAG_KEY) && st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO ? AVIO_DATA_MARKER_SYNC_POINT : AVIO_DATA_MARKER_BOUNDARY_POINT);
+ }
return mpegts_write_packet_internal(s, pkt);
}
}
More information about the ffmpeg-devel
mailing list