summaryrefslogtreecommitdiffstats
path: root/gst
diff options
context:
space:
mode:
authorRonald S. Bultje <rbultje@ronald.bitfreak.net>2003-09-30 21:06:43 +0000
committerRonald S. Bultje <rbultje@ronald.bitfreak.net>2003-09-30 21:06:43 +0000
commit51e244fe4ab118281a9079c4f19c3e99df728797 (patch)
treeb4dc862b1d623e89d999a55be8be1c63cbfaeb1c /gst
parent5d09662e9ef4b35b94856b3476c80860c546aa7d (diff)
Set keyframe flag only when it is a keyframe. This will break quite some formats because many encoders dont set this ...
Original commit message from CVS: Set keyframe flag only when it is a keyframe. This will break quite some formats because many encoders dont set this flag correctly, but I'll fix that as I encounter them. divx5 works correctly now. ;).
Diffstat (limited to 'gst')
-rw-r--r--gst/avi/gstavimux.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gst/avi/gstavimux.c b/gst/avi/gstavimux.c
index 4a980a13..ee392164 100644
--- a/gst/avi/gstavimux.c
+++ b/gst/avi/gstavimux.c
@@ -1257,9 +1257,12 @@ gst_avimux_do_video_buffer (GstAviMux *avimux)
}
else
{
+ guint flags = 0x2;
+ if (GST_BUFFER_FLAG_IS_SET (data, GST_BUFFER_KEY_UNIT))
+ flags |= 0x10;
avimux->data_size += total_size;
avimux->num_frames++;
- gst_avimux_add_index(avimux, "00db", 0x12, GST_BUFFER_SIZE(data));
+ gst_avimux_add_index(avimux, "00db", flags, GST_BUFFER_SIZE(data));
}
gst_pad_push(avimux->srcpad, header);