diff --git a/ChangeLog b/ChangeLog index 2fea98aada..5ad529e4b6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2006-06-06 Michael Smith + + * ext/theora/theoraparse.c: (theora_parse_drain_queue_prematurely), + (theora_parse_drain_queue): + Mark DELTA_UNIT on non-keyframes. + 2006-06-03 Jan Schmidt * gst-libs/gst/audio/gstbaseaudiosink.c: diff --git a/common b/common index 80b4e2c087..4282dfa89d 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit 80b4e2c08717159760ebaa40715f8919b3f77ba9 +Subproject commit 4282dfa89d50e80f59d4e1837af95fbf74e75d18 diff --git a/ext/theora/theoraparse.c b/ext/theora/theoraparse.c index 592d452c4f..a1e997def9 100644 --- a/ext/theora/theoraparse.c +++ b/ext/theora/theoraparse.c @@ -319,6 +319,8 @@ theora_parse_drain_queue_prematurely (GstTheoraParse * parse) if (is_keyframe (buf)) /* we have a keyframe */ parse->prev_keyframe = parse->prev_frame; + else + GST_BUFFER_FLAGS (buf) |= GST_BUFFER_FLAG_DELTA_UNIT; if (parse->prev_keyframe < 0) { if (GST_BUFFER_OFFSET_END_IS_VALID (buf)) { @@ -367,6 +369,8 @@ theora_parse_drain_queue (GstTheoraParse * parse, gint64 granulepos) if (is_keyframe (buf)) /* we have a keyframe */ parse->prev_keyframe = parse->prev_frame; + else + GST_BUFFER_FLAGS (buf) |= GST_BUFFER_FLAG_DELTA_UNIT; ret = theora_parse_push_buffer (parse, buf, parse->prev_keyframe, parse->prev_frame);