Set the packet flag using constant as well.
From 905cc5f1146c957ae4290b44a06a22a7524a87de Mon Sep 17 00:00:00 2001
From: Gyan Doshi <gyando...@gmail.com>
Date: Wed, 21 Mar 2018 18:59:33 +0530
Subject: [PATCH] avformat/segafilm - fix keyframe detection and set packet
flags
Streams from a Segafilm cpk file can't be streamcopied because
keyframe flag isn't correctly set in stream index and
said flag is never conveyed to the packet
Fixes #7091
---
libavformat/segafilm.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libavformat/segafilm.c b/libavformat/segafilm.c
index 1fdef50cc7..4c0cca0140 100644
--- a/libavformat/segafilm.c
+++ b/libavformat/segafilm.c
@@ -239,7 +239,7 @@ static int film_read_header(AVFormatContext *s)
} else {
film->sample_table[i].stream = film->video_stream_index;
film->sample_table[i].pts = AV_RB32(&scratch[8]) & 0x7FFFFFFF;
- film->sample_table[i].keyframe = (scratch[8] & 0x80) ? 0 : 1;
+ film->sample_table[i].keyframe = (scratch[8] & 0x80) ?
AVINDEX_KEYFRAME : 0;
video_frame_counter++;
if (film->video_type)
av_add_index_entry(s->streams[film->video_stream_index],
@@ -286,6 +286,7 @@ static int film_read_packet(AVFormatContext *s,
pkt->stream_index = sample->stream;
pkt->pts = sample->pts;
+ pkt->flags |= sample->keyframe ? AV_PKT_FLAG_KEY : 0;
film->current_sample++;
--
2.12.2.windows.2
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel