[gstreamer-bugs] [Bug 469930] New: PATCH: seeking support for mmssrc plugin

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Fri Aug 24 08:27:29 PDT 2007


If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=469930

  GStreamer | gst-plugins-bad | Ver: 0.10.5
           Summary: PATCH: seeking support for mmssrc plugin
           Product: GStreamer
           Version: 0.10.5
          Platform: Other
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-bad
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: j.w.r.degoede at hhs.nl
         QAContact: gstreamer-bugs at lists.sourceforge.net
     GNOME version: Unspecified
   GNOME milestone: Unspecified


Sometime ago I stumbled over an libmms patch which Debian has included which
adds seeking support to libmms. After a couple of 10 hour days learning
gstreamer and working on this I'm happy to report that I can now seek in totem
in the mms streams from the Dutch television.

First of all this requires 3 patches to libmms:

libmms-0.3-seek.patch:
Seek patch from debian ported from libmss-0.2 to 0.3

libmms-0.3-64bit-off_t.patch:
Fix the fact that the Debian patch needed apps/libs using libmms to be compiled
with -D_FILE_OFFSET=64

libmms-0.3-length.patch:
Lie about the file size as we cannot get to the ASF index object at the end of
most asf files through mms


So maybe gstreamer-plugins-bad should come with its own libmms copy until this
gets picked up upstream (as far as libmms upstream is still alive).

Then there is the actual gst seeking support patch:
gst-plugins-bad-0.10.5-mms-seek.patch


Last there is also a patch to the asf demuxer from gst-plugins-ugly, let me
know if you want that in another bug report:
gst-plugins-ugly-0.10.6-asf-seek.patch

This patch isn't strictly needed, actually without it its much easier to
trigger the frozen video problem described below. It does result in a much
better seeking experience though, so once the frozen video issue is fixed, it
should definitively get in. 


With all this in place seeking works, but there are a couple of caveats:
-gstreamer and / or totem now want to run the typefind helper on the stream, 
 which causes a long initial delay when playing a stream. Setting gstbasesrc
 type_find property to 0 is not enough to stop this, I need some help fixing 
 this.

And a much bigger one:
-at work (with _high_ speed internet, the 100mbit switch is the bottleneck),
 it works well. But at home most of the time after a seek the playback doesn't
 start. Totem shows the first frame of the seeked to part, buffers data and 
 then nothing happens, the seconds don't start counting, nothing. totem is
still
 100% responsive to ui input though, pause/unpause doesn't help. Seeking to 
 another place does result in a new first frame appearing, new buffering and
 usually again nothing happening after this. Sometimes it does start to play
 then. This seems a timing issue, where some part of the gstreamer stack and /
 or totem stops when the new packets don't come quickly enough after the seek.

I've run totem with "--gst-debug=mmssrc:5,asfdemux:5 --gst-debug-no-color &>
log" and asfdemux keeps pulling and getting packets from mmssrc, and also keeps
pushing both audio and video packets to its sinks. But somewhere further
downstream things seem to go wrong, because as explained in totem things stop,
totem doesn't freeze but the video in it does.

I'm afraid my knowledge of gstreamer isn't sufficient here and I would be much
obliged if you could help. I think this is a bug elsewhere, but since sofar asf
seeking was only done from files, which can deliver data pretty quickly, never
got triggered. Or it could be a locking issue in my code. Either way I need
help.


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=469930.




More information about the Gstreamer-bugs mailing list