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 662311 - Upgrading to git master of plugins-good breaks pitivi and jokosher
Upgrading to git master of plugins-good breaks pitivi and jokosher
Status: RESOLVED FIXED
Product: pitivi
Classification: Other
Component: General
Git
Other Linux
: High blocker
: 0.91
Assigned To: Pitivi maintainers
Pitivi maintainers
Depends on: 662312
Blocks:
 
 
Reported: 2011-10-20 17:05 UTC by Christian Fredrik Kalager Schaller
Modified: 2012-02-24 15:26 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
pitivi proposed patch (1.54 KB, patch)
2011-10-21 12:00 UTC, René Stadler
none Details | Review
jokosher proposed patch (488 bytes, patch)
2011-10-21 12:01 UTC, René Stadler
none Details | Review

Description Christian Fredrik Kalager Schaller 2011-10-20 17:05:46 UTC
pitivi
** Message: pygobject_register_sinkfunc is deprecated (GstObject)
/usr/share/pitivi/python/pitivi/application.py:255: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  self.mainloop.run()
/usr/share/pitivi/python/pitivi/ui/filechooserpreview.py:72: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  self.__videosink = self.player.get_property("video-sink")
Traceback (most recent call last):
  • File "/usr/share/pitivi/python/pitivi/discoverer.py", line 454 in _busMessageEosCb
    self._finishAnalysis("EOS")
  • File "/usr/share/pitivi/python/pitivi/discoverer.py", line 309 in _finishAnalysis
    if self._emitResult():
  • File "/usr/share/pitivi/python/pitivi/discoverer.py", line 270 in _emitResult
    self._emitDone(factory)
  • File "/usr/share/pitivi/python/pitivi/discoverer.py", line 229 in _emitDone
    self.emit("discovery-done", self.current_uri, factory)
  • File "/usr/share/pitivi/python/pitivi/signalinterface.py", line 151 in emit
    *args, **kwargs)
  • File "/usr/share/pitivi/python/pitivi/signalinterface.py", line 126 in emit
    res = cb(*ar, **kw)
  • File "/usr/share/pitivi/python/pitivi/ui/filechooserpreview.py", line 164 in _update_preview_cb
    self.preview_cache[uri] = factory
AttributeError: 'PreviewWidget' object has no attribute 'preview_cache'

  File "/usr/share/pitivi/python/pitivi/elements/singledecodebin.py", line 233, in _tryToLink1
    self._closeLink(element)
  File "/usr/share/pitivi/python/pitivi/elements/singledecodebin.py", line 233, in _tryToLink1
  File "/usr/share/pitivi/python/pitivi/elements/singledecodebin.py", line 169, in _closeLink
        self._closeLink(element)
self._closePadLink(element, pad, pad.get_caps())
  File "/usr/share/pitivi/python/pitivi/elements/singledecodebin.py", line 169, in _closeLink
  File "/usr/share/pitivi/python/pitivi/elements/singledecodebin.py", line 263, in _closePadLink
        elif is_raw(caps) and pad_compatible_stream(pad, self.stream):
RuntimeErrorself._closePadLink(element, pad, pad.get_caps())
:   File "/usr/share/pitivi/python/pitivi/elements/singledecodebin.py", line 280, in _closePadLink
    self._tryToLink1(element, pad, facts)
maximum recursion depth exceeded  File "/usr/share/pitivi/python/pitivi/elements/singledecodebin.py", line 233, in _tryToLink1

    self._closeLink(element)
  File "/usr/share/pitivi/python/pitivi/elements/singledecodebin.py", line 169, in _closeLink
    self._closePadLink(element, pad, pad.get_caps())
  File "/usr/share/pitivi/python/pitivi/elements/singledecodebin.py", line 280, in _closePadLink
    self._tryToLink1(element, pad, facts)
  File "/usr/share/pitivi/python/pitivi/elements/singledecodebin.py", line 233, in _tryToLink1
    self._closeLink(element)
  File "/usr/share/pitivi/python/pitivi/elements/singledecodebin.py", line 169, in _closeLink
    self._closePadLink(element, pad, pad.get_caps())
  File "/usr/share/pitivi/python/pitivi/elements/singledecodebin.py", line 280, in _closePadLink
    self._tryToLink1(element, pad, facts)
  File "/usr/share/pitivi/python/pitivi/elements/singledecodebin.py", line 233, in _tryToLink1
    self._closeLink(element)
  File "/usr/share/pitivi/python/pitivi/elements/singledecodebin.py", line 169, in _closeLink
    self._closePadLink(element, pad, pad.get_caps())
  File "/usr/share/pitivi/python/pitivi/elements/singledecodebin.py", line 280, in _closePadLink
    self._tryToLink1(element, pad, facts)
  File "/usr/share/pitivi/python/pitivi/elements/singledecodebin.py", line 233, in _tryToLink1
    self._closeLink(element)
  File "/usr/share/pitivi/python/pitivi/elements/singledecodebin.py", line 169, in _closeLink
    self._closePadLink(element, pad, pad.get_caps())
  File "/usr/share/pitivi/python/pitivi/elements/singledecodebin.py", line 263, in _closePadLink
    elif is_raw(caps) and pad_compatible_stream(pad, self.stream):
RuntimeError: maximum recursion depth exceeded
Comment 1 Christian Fredrik Kalager Schaller 2011-10-20 17:06:14 UTC
Getting the error above when I load a video into pitivi, drag it to the timeline and press play.
Comment 2 Christian Fredrik Kalager Schaller 2011-10-20 17:09:46 UTC
Adding same error from Jokosher for completeness:
(jokosher:4970): GStreamer-WARNING **: pad audiotestsrc0:src accepted caps ANY although they are not a subset of its caps audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2 ]; audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2 ]; audio/x-raw-float, endianness=(int)1234, width=(int){ 32, 64 }, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2 ]
 
  • File "/usr/lib/python2.7/site-packages/Jokosher/elements/singledecodebin.py", line 161 in _closeLink
    self._closePadLink(element, pad, pad.get_caps())
  • File "/usr/lib/python2.7/site-packages/Jokosher/elements/singledecodebin.py", line 231 in _closePadLink
    self._tryToLink1(element, pad, facts)
  • File "/usr/lib/python2.7/site-packages/Jokosher/elements/singledecodebin.py", line 191 in _tryToLink1
    self._closeLink(element)
  • File "/usr/lib/python2.7/site-packages/Jokosher/elements/singledecodebin.py", line 161 in _closeLink
    self._closePadLink(element, pad, pad.get_caps())
  • File "/usr/lib/python2.7/site-packages/Jokosher/elements/singledecodebin.py", line 231 in _closePadLink
    self._tryToLink1(element, pad, facts)
  • File "/usr/lib/python2.7/site-packages/Jokosher/elements/singledecodebin.py", line 191 in _tryToLink1
    self._closeLink(element)
  • File "/usr/lib/python2.7/site-packages/Jokosher/elements/singledecodebin.py", line 161 in _closeLink
    self._closePadLink(element, pad, pad.get_caps())
  • File "/usr/lib/python2.7/site-packages/Jokosher/elements/singledecodebin.py", line 231 in _closePadLink
    self._tryToLink1(element, pad, facts)
  • File "/usr/lib/python2.7/site-packages/Jokosher/elements/singledecodebin.py", line 191 in _tryToLink1
    self._closeLink(element)
  • File "/usr/lib/python2.7/site-packages/Jokosher/elements/singledecodebin.py", line 161 in _closeLink
    self._closePadLink(element, pad, pad.get_caps())
  • File "/usr/lib/python2.7/site-packages/Jokosher/elements/singledecodebin.py", line 231 in _closePadLink
    self._tryToLink1(element, pad, facts)
  • File "/usr/lib/python2.7/site-packages/Jokosher/elements/singledecodebin.py", line 191 in _tryToLink1
    self._closeLink(element)
  • File "/usr/lib/python2.7/site-packages/Jokosher/elements/singledecodebin.py", line 161 in _closeLink
    self._closePadLink(element, pad, pad.get_caps())
  • File "/usr/lib/python2.7/site-packages/Jokosher/elements/singledecodebin.py", line 231 in _closePadLink
    self._tryToLink1(element, pad, facts)

Comment 3 Christian Fredrik Kalager Schaller 2011-10-20 17:21:07 UTC
Tried downgradding all GStreamer modules from git to released versions and now everything works fine. Getting the following errors on the console though:
 pitivi
** Message: pygobject_register_sinkfunc is deprecated (GstObject)
/usr/share/pitivi/python/pitivi/application.py:255: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  self.mainloop.run()
/usr/share/pitivi/python/pitivi/ui/filechooserpreview.py:72: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  self.__videosink = self.player.get_property("video-sink")

(pitivi:5990): GStreamer-CRITICAL **: Padname src is not unique in element pitivi+elements+singledecodebin+singledecodebin3, not adding
Traceback (most recent call last):
  • File "/usr/share/pitivi/python/pitivi/elements/singledecodebin.py", line 342 in _padEventCb
    self._unblockPad(target=pad)
  • File "/usr/share/pitivi/python/pitivi/elements/singledecodebin.py", line 319 in _unblockPad
    target.remove_event_probe(self._eventProbeId)
TypeError: Parameter 'handler_id' must be an int or a long

Comment 4 Christian Fredrik Kalager Schaller 2011-10-20 17:49:32 UTC
All these errors I discovered are caused by upgrading from plugins good 0.10.29 to todays git.
Comment 5 Sebastian Dröge (slomo) 2011-10-21 06:48:54 UTC
For the gst_pad_accept_caps() subset warning see bug #659606 and bug #662312. This warning shouldn't change any behaviour though and is unrelated to the others.
Comment 6 René Stadler 2011-10-21 11:59:11 UTC
The endless recursion is caused by parsers accepting their output caps as input now. If you apply the old autoplugging logic to this, you end up re-plugging the same parser indefinitely.

Moving to pitivi since this is where singledecodebin.py originates. Jokosher copied the file from there at some point (and they have diverged a bit), so attaching proposed patches for both. CC'ing Laszlo from Jokosher.
Comment 7 René Stadler 2011-10-21 12:00:29 UTC
Created attachment 199627 [details] [review]
pitivi proposed patch
Comment 8 René Stadler 2011-10-21 12:01:33 UTC
Created attachment 199628 [details] [review]
jokosher proposed patch
Comment 9 Arno 2011-10-22 15:12:29 UTC
This does work here fpr pitivi. Thanks!
Comment 10 Jean-François Fortin Tam 2011-11-16 18:10:55 UTC
As I understand it, this is fixed/will be obsolete by the next pitivi version, as the GES port does not use the python discoverer.
Comment 11 Jean-François Fortin Tam 2012-02-24 15:26:20 UTC
Applying to pitivi's master branch for a 0.15.1 release in the meantime.