After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 568014 - oggdemux/theoradec doesn't play last video frame
oggdemux/theoradec doesn't play last video frame
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
0.10.21
Other All
: Normal normal
: 0.10.26
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on: 344013
Blocks:
 
 
Reported: 2009-01-16 20:22 UTC by Justin Karneges
Modified: 2009-11-21 20:13 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
workaround for oggdemux (2.28 KB, patch)
2009-01-16 20:24 UTC, Justin Karneges
rejected Details | Review

Description Justin Karneges 2009-01-16 20:22:34 UTC
Please describe the problem:
the theoradec pad query returns the time up to a specified granule, and not the time up and through this granule.  oggdemux calculates the wrong length of the video because it uses the time of the last granule for the length.

Steps to reproduce:



Actual results:


Expected results:


Does this happen every time?


Other information:
Comment 1 Justin Karneges 2009-01-16 20:24:20 UTC
Created attachment 126606 [details] [review]
workaround for oggdemux

here's a workaround patch that calculates the video length using last_granule+1
Comment 2 Wim Taymans 2009-01-20 11:47:04 UTC
this depends on the theora bitstream version. Theoradec has some logic to handle the granulepos differently based on the version and we should likely make this same logic in the convert function of theoradec instead.
Comment 3 David Schleef 2009-08-30 02:36:54 UTC
No, this is a fencepost problem.  Duration != scale * (last_granule - first_granule).  Fixed in patch in #344013
Comment 4 David Schleef 2009-11-21 18:54:07 UTC
commit 72edd1467bcb5040d1e89e782fc46059743e8646
Author: David Schleef <ds@schleef.org>
Date:   Sat Aug 29 10:51:48 2009 -0700

    ogg: Add ogg stream parsing
    
    Adds code that parses headers of various formats encapsulated in
    Ogg in order to calculate timestamps and durations of each buffer.
    Removes the creation of helper decoder elements to do this calculation
    via conversion queries.
    
    Fixes: #344013, #568014.