From 339a360a96dfed3fba5f445901bd281c879b165e Mon Sep 17 00:00:00 2001 From: Michael Smith Date: Wed, 6 Feb 2008 13:35:58 +0000 Subject: [PATCH] ext/theora/theoradec.c: Increment granulepos for new-bitstream versions appropriately. Original commit message from CVS: * ext/theora/theoradec.c: (_theora_granule_frame), (_inc_granulepos): Increment granulepos for new-bitstream versions appropriately. Fixes #514623. --- ChangeLog | 7 +++++++ common | 2 +- ext/theora/theoradec.c | 5 +++-- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8c1de1a3b5..a6cef22d04 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-02-06 Michael Smith + + * ext/theora/theoradec.c: (_theora_granule_frame), + (_inc_granulepos): + Increment granulepos for new-bitstream versions appropriately. + Fixes #514623. + 2008-02-04 Wim Taymans * tests/examples/seek/seek.c: (do_seek), diff --git a/common b/common index 3c5473161c..8b37d7ee83 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit 3c5473161ce19a3530bad279b842d542895b1500 +Subproject commit 8b37d7ee833fab1d25b484d8574df3dae231b5f2 diff --git a/ext/theora/theoradec.c b/ext/theora/theoradec.c index e0e616eecd..92950917a3 100644 --- a/ext/theora/theoradec.c +++ b/ext/theora/theoradec.c @@ -230,7 +230,7 @@ _theora_granule_frame (GstTheoraDec * dec, gint64 granulepos) framenum = granulepos >> ilog; framenum += granulepos - (framenum << ilog); - /* This is 1-based for current libtheora, 0 based for old. Fix up. */ + /* This is 0-based for old bitstreams, 1-based for new. Fix up. */ if (!dec->is_old_bitstream) framenum -= 1; @@ -266,7 +266,8 @@ _inc_granulepos (GstTheoraDec * dec, gint64 granulepos) framecount = _theora_granule_frame (dec, granulepos); - return (framecount + 1) << dec->granule_shift; + return (framecount + 1 + + (dec->is_old_bitstream ? 0 : 1)) << dec->granule_shift; } #if 0