mirror of https://git.ffmpeg.org/ffmpeg.git
Revert "avformat/hlsenc: compute video_keyframe_size after write keyframe"
This reverts commitb5ca8f2c66
. This commit will make new problem about tickets: 9193,9205 It flush data into file with init file context together, and it can get keyframe size, maybe need more method to get keyframe size. Signed-off-by: Steven Liu <liuqi05@kuaishou.com> (cherry picked from commit59032494e8
)
This commit is contained in:
parent
a2bb836e55
commit
9738990542
|
@ -2672,14 +2672,13 @@ static int hls_write_packet(AVFormatContext *s, AVPacket *pkt)
|
|||
|
||||
vs->packets_written++;
|
||||
if (oc->pb) {
|
||||
int64_t keyframe_pre_pos = avio_tell(oc->pb);
|
||||
ret = ff_write_chained(oc, stream_index, pkt, s, 0);
|
||||
if ((st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) &&
|
||||
(pkt->flags & AV_PKT_FLAG_KEY) && !keyframe_pre_pos) {
|
||||
av_write_frame(oc, NULL); /* Flush any buffered data */
|
||||
vs->video_keyframe_size = avio_tell(oc->pb) - keyframe_pre_pos;
|
||||
vs->video_keyframe_size += pkt->size;
|
||||
if ((st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) && (pkt->flags & AV_PKT_FLAG_KEY)) {
|
||||
vs->video_keyframe_size = avio_tell(oc->pb);
|
||||
} else {
|
||||
vs->video_keyframe_pos = avio_tell(vs->out);
|
||||
}
|
||||
vs->video_keyframe_pos = vs->start_pos;
|
||||
if (hls->ignore_io_errors)
|
||||
ret = 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue