bethsoftvid: set packet key frame flag for audio and I-frame video packets.
authorJustin Ruggles <justin.ruggles@gmail.com>
Wed, 18 Jan 2012 23:48:32 +0000 (18:48 -0500)
committerJustin Ruggles <justin.ruggles@gmail.com>
Thu, 16 Feb 2012 15:47:11 +0000 (10:47 -0500)
Fixes avconv video stream copy of bethsoft video, which was skipping all
video frames unless the copyinkf option was used.

libavformat/bethsoftvid.c

index e755f83..b01f73a 100644 (file)
@@ -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: