diff --git a/ChangeLog b/ChangeLog index 177159ba6e..fe3a08d905 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2006-07-28 Andy Wingo + + * examples/remuxer.py (RemuxBin._do_seek, Remuxer._bus_watch): Use + normal seeks instead of segment seeks so that EOS is handled + properly. Patch by James "Doc" Livingston . + + * examples/remuxer.py (RemuxBin._new_demuxed_pad): Increase the + buffer size for dealing with terribly muxed files. + 2006-07-20 Edward Hervey * configure.ac: @@ -331,7 +341,7 @@ * examples/remuxer.py (PlayerWindow.update_scale_cb): Fix a race condition getting the initial cutin time via inserting whitespace. (all over): UI fixes to make Mike happy. - + * examples/remuxer.py: Updates! Nothing gstreamery, it's all ui, so I won't bother you with the details. diff --git a/common b/common index 53ecdc0c97..ef97fb3278 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit 53ecdc0c97a2992e5abeddd41d514bc142401e5d +Subproject commit ef97fb3278d98a1fdb32e5c6b2a7467116ffc160 diff --git a/examples/remuxer.py b/examples/remuxer.py index 3ec855e543..0e389cbfb5 100644 --- a/examples/remuxer.py +++ b/examples/remuxer.py @@ -441,7 +441,7 @@ class Remuxer(gst.Pipeline): self.response(FAILURE) elif message.type == gst.MESSAGE_WARNING: print 'warning', message - elif message.type == gst.MESSAGE_SEGMENT_DONE: + elif message.type == gst.MESSAGE_EOS: # print 'eos, woot', message.src name = self.touri if name.startswith('file://'): @@ -542,6 +542,7 @@ class RemuxBin(gst.Bin): return queue = gst.element_factory_make('queue', 'queue_' + format) + queue.set_property('max-size-buffers', 1000) parser = gst.element_factory_make(self.parsefactories[format]) self.add(queue) self.add(parser) @@ -552,8 +553,8 @@ class RemuxBin(gst.Bin): parser.link(self.mux) self.parsers.append(parser) - def _do_segment_seek(self): - flags = gst.SEEK_FLAG_SEGMENT | gst.SEEK_FLAG_FLUSH + def _do_seek(self): + flags = gst.SEEK_FLAG_FLUSH # HACK: self.seek should work, should try that at some point return self.demux.seek(1.0, gst.FORMAT_TIME, flags, gst.SEEK_TYPE_SET, self.start_time, @@ -562,7 +563,7 @@ class RemuxBin(gst.Bin): def _no_more_pads(self, element): pads = [x.get_pad('src') for x in self.parsers] set_connection_blocked_async_marshalled(pads, - self._do_segment_seek) + self._do_seek) class PlayerWindow(gtk.Window):