aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/bethsoftvid.c
diff options
context:
space:
mode:
authorJustin Ruggles <justin.ruggles@gmail.com>2012-01-18 18:48:32 -0500
committerJustin Ruggles <justin.ruggles@gmail.com>2012-02-16 10:47:11 -0500
commit05e4ae833ce9be39880c98a0cfb27edce4722bab (patch)
tree88c0fbe2b59d751a80ff3db68af027de2d5bb6c3 /libavformat/bethsoftvid.c
parent17b115591fae28b995973e0792260632d6d8dfc7 (diff)
downloadffmpeg-05e4ae833ce9be39880c98a0cfb27edce4722bab.tar.gz
bethsoftvid: set packet key frame flag for audio and I-frame video packets.
Fixes avconv video stream copy of bethsoft video, which was skipping all video frames unless the copyinkf option was used.
Diffstat (limited to 'libavformat/bethsoftvid.c')
-rw-r--r--libavformat/bethsoftvid.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavformat/bethsoftvid.c b/libavformat/bethsoftvid.c
index e755f83a7e..b01f73a558 100644
--- a/libavformat/bethsoftvid.c
+++ b/libavformat/bethsoftvid.c
@@ -172,6 +172,8 @@ static int read_frame(BVID_DemuxContext *vid, AVIOContext *pb, AVPacket *pkt,
pkt->pos = position;
pkt->stream_index = 0; // use the video decoder, which was initialized as the first stream
pkt->pts = vid->video_pts;
+ if (block_type == VIDEO_I_FRAME)
+ pkt->flags |= AV_PKT_FLAG_KEY;
/* if there is a new palette available, add it to packet side data */
if (vid->palette) {
@@ -230,6 +232,7 @@ static int vid_read_packet(AVFormatContext *s,
return AVERROR(EIO);
}
pkt->stream_index = 1;
+ pkt->flags |= AV_PKT_FLAG_KEY;
return 0;
case VIDEO_P_FRAME: