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)
This commit is contained in:
Michael Smith 2007-05-21 15:24:21 +00:00
parent 9b188adc27
commit b48b9fdc19
2 changed files with 8 additions and 2 deletions

View file

@ -1,3 +1,9 @@
2007-05-21 Michael Smith <msmith@fluendo.com>
* ext/theora/theoradec.c: (theora_handle_data_packet):
Don't look inside 0-length packets (which indicate duplicated
frames)
2007-05-21 Wim Taymans <wim@fluendo.com> 2007-05-21 Wim Taymans <wim@fluendo.com>
* ext/cdparanoia/gstcdparanoiasrc.c: * ext/cdparanoia/gstcdparanoiasrc.c:

View file

@ -1029,8 +1029,8 @@ theora_handle_data_packet (GstTheoraDec * dec, ogg_packet * packet,
goto not_initialized; goto not_initialized;
/* the second most significant bit of the first data byte is cleared /* the second most significant bit of the first data byte is cleared
* for keyframes */ * for keyframes. We can only check it if it's not a zero-length packet. */
keyframe = (packet->packet[0] & 0x40) == 0; keyframe = packet->bytes && ((packet->packet[0] & 0x40) == 0);
if (G_UNLIKELY (keyframe)) { if (G_UNLIKELY (keyframe)) {
GST_DEBUG_OBJECT (dec, "we have a keyframe"); GST_DEBUG_OBJECT (dec, "we have a keyframe");
dec->need_keyframe = FALSE; dec->need_keyframe = FALSE;