[gstreamer-bugs] [Bug 613003] New: [flvmux] EOS after supposedly reaching FLV timestamp limit, but real limit is lower

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Mar 15 17:42:01 PDT 2010


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

           Summary: [flvmux] EOS after supposedly reaching FLV timestamp
                    limit, but real limit is lower
    Classification: Desktop
           Product: GStreamer
           Version: git
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-good
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: wulczer at wulczer.org
         QAContact: gstreamer-bugs at lists.sourceforge.net
      GNOME target: ---
     GNOME version: ---


The timestamp field of a FLV tag is actually a signed 32bit integer (see
http://www.adobe.com/devnet/flv/pdf/video_file_format_spec_v10.pdf page 5).

The FLV muxer emits an EOS if the timestamp reaches G_MAXUINT32, when in
reality it should be G_MAXINT32.

For example, a file created with this pipeline:

gst-launch videotestsrc timestamp-offset=428996729500 num-buffers=1000 !
x264enc ! flvmux name=mux audiotestsrc timestamp-offset=428996729500
num-buffers=1000 ! lame ! mux. mux. ! filesink location=out.flv

freezes in Addobe Flash player after the timestamp reaches MAXINT32.

An even better solution that just emitting EOS would be wrapping the timestamp
back to 0 (in the FLV tag, not the GStreamer buffer timestamp). The player will
freeze anyway, but if the muxer is streaming live data the client will just
need to reconnect (read: refresh the web page) and will resume playback.

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