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 348264 - Theora encoding, Ogg muxing don't handle discontinuities
Theora encoding, Ogg muxing don't handle discontinuities
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal normal
: 0.10.11
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-07-21 16:08 UTC by Michael Smith
Modified: 2006-11-23 12:25 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
First draft of handling this in vorbis (8.27 KB, patch)
2006-07-21 16:10 UTC, Michael Smith
none Details | Review
New version of patch (4.83 KB, patch)
2006-07-21 16:41 UTC, Michael Smith
needs-work Details | Review

Description Michael Smith 2006-07-21 16:08:42 UTC
If we have a buffer with DISCONT set, we don't handle this sanely in vorbisenc.

We need to flush the encoder, re-initialise, and then handle the granulepos values taking into account the discontinuity in timestamps.

This will also need work in oggmux to fix, as oggmux needs to signal the discontinuity in the final bitstream too.
Comment 1 Michael Smith 2006-07-21 16:10:54 UTC
Created attachment 69339 [details] [review]
First draft of handling this in vorbis

Untested (but compiles) patch for vorbisenc. Outlines the intended approach.
Comment 2 Michael Smith 2006-07-21 16:41:35 UTC
Created attachment 69341 [details] [review]
New version of patch

More complex, but equally untested, patch.
Comment 3 Wim Taymans 2006-07-24 09:19:38 UTC
This is indeed a nice thing to do, detect and react to discont, marking outgoing packets as DISCONT and adjusting timestamps accordingly. Patch seems to be doing that correctly too.
Comment 4 Michael Smith 2006-07-24 09:33:20 UTC
Wingo wrote a test for this stuff, and the patched version doesn't pass the test (it goes into an infinite loop somewhere, I haven't investigated further yet).

Also, without oggmux changes, this isn't much use (I know what needs doing there, just haven't implemented).

So, not going to commit this version.
Comment 5 Michael Smith 2006-07-28 14:05:39 UTC
Updated version of the patch has been committed.

Changing the summary to note that oggmux and theoraenc still need fixing.
Comment 6 Michael Smith 2006-11-23 12:25:34 UTC
Totally fix0red for oggmux and theoraenc!

Works reliably in real-world scenarios too.