After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 637450 - [playbin2] gapless playback switches back and forth first frame of each video
[playbin2] gapless playback switches back and forth first frame of each video
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
0.10.x
Other Linux
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on: 636313
Blocks:
 
 
Reported: 2010-12-17 10:43 UTC by Miguel Angel Cabrera Moya
Modified: 2014-11-25 18:30 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Second file (791.70 KB, video/x-matroska)
2010-12-17 10:44 UTC, Miguel Angel Cabrera Moya
Details
First file (740.31 KB, video/x-matroska)
2010-12-17 10:46 UTC, Miguel Angel Cabrera Moya
Details

Description Miguel Angel Cabrera Moya 2010-12-17 10:43:26 UTC
The first file plays until the end and then gapless playback switches back and forth first frame of each video.

Source code to reproduce it:

#############################################################

#!/usr/bin/python
import pygst
pygst.require("0.10")
import gst
import gobject

class Player:
    def __init__(self, filename):
        self.player = gst.element_factory_make("playbin2", "player")
        self.player.set_property("uri", filename)
        self.player.connect("about-to-finish", self.on_about_to_finish)

    def run(self):
        self.player.set_state(gst.STATE_PLAYING)
        loop = gobject.MainLoop()
        loop.run()

    def on_about_to_finish(self, player):
        player.set_property("uri", "file:///tmp/2010/11/26/48/C48_101126T141627115+060-141634693+060_0000040_189.mkv")

if __name__ == "__main__":
    gobject.threads_init()
    player = Player("file:///tmp/2010/11/26/48/C48_101126T141617936+060-141627110+060_0000045_200.mkv")
    player.run()

#############################################################

Files were recorded with gst-plugins-good 0.10.23.

Versions used for playing back:
gstreamer-0.10.31
gst-plugins-base-0.10.31
gst-plugins-good-0.10.26
gst-ffmpeg-0.10.11
gst-python-0.10.20
gst-plugins-ugly-0.10.14
x264-snapshot-20090621-2245
Comment 1 Miguel Angel Cabrera Moya 2010-12-17 10:44:40 UTC
Created attachment 176582 [details]
Second file
Comment 2 Miguel Angel Cabrera Moya 2010-12-17 10:46:09 UTC
Created attachment 176583 [details]
First file
Comment 3 Sebastian Dröge (slomo) 2010-12-17 11:00:11 UTC
Could you try with 0.10.31 and commit 8f039997f097ac5baa6a59350b2d41942a13232e reverted? gapless playback should work fine with that commit reverted but OTOH it breaks in normal playback situations sometimes.
Comment 4 Miguel Angel Cabrera Moya 2010-12-20 07:36:49 UTC
I have reverted that commit and now works fine, thanks!
Comment 5 Sebastian Dröge (slomo) 2010-12-20 11:25:57 UTC
Ok, thanks. Then we need to get bug #636313 fixed.
Comment 6 Edward Hervey 2013-07-22 12:02:45 UTC
Is this still an issue ? The blocking bug (636313) was fixed some time ago.
Comment 7 Tim-Philipp Müller 2014-11-25 18:30:39 UTC
Seems to work fine for me now with gst-play-1.0 --gapless * in 1.4.4