diff --git a/ChangeLog b/ChangeLog index 5b92879527..4e34d759db 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-09-25 Wim Taymans + + Patch by: ogg.k.ogg.k + + * ext/theora/theoraparse.c: (theora_parse_set_streamheader): + Set the BOS flag on the BOS packet. Fixes #553244. + 2008-09-23 Wim Taymans * gst-libs/gst/rtsp/gstrtspmessage.c: diff --git a/ext/theora/theoraparse.c b/ext/theora/theoraparse.c index 44423af1ce..ae49ea657d 100644 --- a/ext/theora/theoraparse.c +++ b/ext/theora/theoraparse.c @@ -317,6 +317,7 @@ theora_parse_set_streamheader (GstTheoraParse * parse) for (i = 0; i < 3; i++) { ogg_packet packet; GstBuffer *buf; + int ret; buf = parse->streamheader[i]; gst_buffer_set_caps (buf, GST_PAD_CAPS (parse->srcpad)); @@ -326,7 +327,12 @@ theora_parse_set_streamheader (GstTheoraParse * parse) packet.granulepos = GST_BUFFER_OFFSET_END (buf); packet.packetno = i + 1; packet.e_o_s = 0; - theora_decode_header (&parse->info, &parse->comment, &packet); + packet.b_o_s = (i == 0); + ret = theora_decode_header (&parse->info, &parse->comment, &packet); + if (ret < 0) { + GST_WARNING_OBJECT (parse, "Failed to decode Theora header %d: %d\n", + i + 1, ret); + } } parse->fps_n = parse->info.fps_numerator;