[Bug 700537] New: theoradec drops frames because it needs a keyframe after a seek (bug in oggdemux from what I gathered)

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri May 17 08:38:21 PDT 2013


https://bugzilla.gnome.org/show_bug.cgi?id=700537
  GStreamer | gst-plugins-base | git

           Summary: theoradec drops frames because it needs a keyframe
                    after a seek (bug in oggdemux from what I gathered)
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-base
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: mathieu.duponchelle at epitech.eu
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


I attached a file but it should do the same with every ogv.

Steps to reproduce :
launch the file with totem GST_DEBUG=3
play some seconds
seek at 1 second

Observed behaviour:
the image freezes, and the terminal outputs a lot of:
0:00:01.524087036  2502 0x7f9110002720 WARN               theoradec
gsttheoradec.c:732:theora_handle_data_packet:<theoradec3> dropping frame
because we need a keyframe

I investigated a little, and it appears that oggdemux after a seek gets to the
nearest keyframe, and pushes its first buffer on a different pad than the next
buffers, which happens to be an unlinked pad. That's a shame because we
precisely need that first buffer.

I've gotten in the intricacies of why this pad is chosen, but it gave me a
headache. 
Basically it seems that it chooses the pad based on a serial number, which is
obtained in relation to the ogg_sync_state.

This bug is really critical for correct video editing with GES and ogv files.

-- 
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