From: Michael Smith Date: Mon, 21 May 2007 15:24:21 +0000 (+0000) Subject: ext/theora/theoradec.c: Don't look inside 0-length packets (which indicate duplicated... X-Git-Tag: 1.19.3~511^2~11138 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b48b9fdc198b30bdad2197b19a22e120a9beccdd;p=platform%2Fupstream%2Fgstreamer.git ext/theora/theoradec.c: Don't look inside 0-length packets (which indicate duplicated frames) Original commit message from CVS: * ext/theora/theoradec.c: (theora_handle_data_packet): Don't look inside 0-length packets (which indicate duplicated frames) --- diff --git a/ChangeLog b/ChangeLog index a71d22b..6afc74a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2007-05-21 Michael Smith + + * ext/theora/theoradec.c: (theora_handle_data_packet): + Don't look inside 0-length packets (which indicate duplicated + frames) + 2007-05-21 Wim Taymans * ext/cdparanoia/gstcdparanoiasrc.c: diff --git a/ext/theora/theoradec.c b/ext/theora/theoradec.c index 1e346a5..84b2f57 100644 --- a/ext/theora/theoradec.c +++ b/ext/theora/theoradec.c @@ -1029,8 +1029,8 @@ theora_handle_data_packet (GstTheoraDec * dec, ogg_packet * packet, goto not_initialized; /* the second most significant bit of the first data byte is cleared - * for keyframes */ - keyframe = (packet->packet[0] & 0x40) == 0; + * for keyframes. We can only check it if it's not a zero-length packet. */ + keyframe = packet->bytes && ((packet->packet[0] & 0x40) == 0); if (G_UNLIKELY (keyframe)) { GST_DEBUG_OBJECT (dec, "we have a keyframe"); dec->need_keyframe = FALSE;