[gstreamer-bugs] [Bug 638276] oggstream: when the last keyframe position is not known, do not use -1
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Sun Jan 2 14:06:19 PST 2011
https://bugzilla.gnome.org/show_bug.cgi?id=638276
GStreamer | gst-plugins-base | unspecified
--- Comment #4 from David Schleef <ds at schleef.org> 2011-01-02 22:06:15 UTC ---
The only problem in granulepos regeneration that I know of is for theora
streams where several frames including a key frame are included in the first
theora data page. Thus, for a stream that starts out with a page like this:
(frame type) (original frame gp)
non-key 1000|10
non-key 1000|11
keyframe 1012|0
non-key 1012|1 -> page gets granulepos 1011|2
The reconstructed gp values are:
non-key garbage (1, iirc)
non-key garbage (2, iirc)
keyframe 1012|0
non-key 1012|1
I didn't spend much time on this when I discovered it, because it only affected
remuxing and not playback. There are two possible fixes: Drop the packets
before the first keyframe. Or, create more reasonable bogus granulepos values
for the pre-keyframe packets. But one needs to also check for the case:
keyframe ??? (should be 1|0)
non-key ??? (should be 1|1)
keyframe 3|0
non-key 3|1
Note that we now have a method for checking if a packet is a keyframe, which
can be used instead of simply checking for "|0" in the granule pos.
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the Gstreamer-bugs
mailing list