[REGRESSION] pygobject 3.13 now copies the GstStructure when getting them from a GstCaps, making it impossible to properly modify structures from caps in place.
Submitted by Lubosz Sarnecki
Link to original bug (#736896)
Description
Project values like framerate and videowidth are not retrieved correctly.
Following exception occurs:
Traceback (most recent call last):
File "/home/bmonkey/pitivi-git/pitivi/pitivi/project.py", line 541, in _projectLoadedCb
self.emit("new-project-loaded", self.current_project, True)
File "/home/bmonkey/pitivi-git/pitivi/pitivi/utils/signal.py", line 213, in emit
*args, **kwargs)
File "/home/bmonkey/pitivi-git/pitivi/pitivi/utils/signal.py", line 188, in emit
res = cb(*ar, **kw)
File "/home/bmonkey/pitivi-git/pitivi/pitivi/timeline/timeline.py", line 1352, in _projectChangedCb
self.ruler.setProjectFrameRate(self._project.videorate)
File "/home/bmonkey/pitivi-git/pitivi/pitivi/timeline/ruler.py", line 244, in setProjectFrameRate
self.ns_per_frame = float(1 / self.frame_rate) * Gst.SECOND
TypeError: unsupported operand type(s) for /: 'int' and 'NoneType'
The viewer is also distached.
After bisecting pygobject, I found out that this is the commit that breaks it:
https://git.gnome.org/browse/pygobject/commit/?id=85175047e66dfc0c0263eac91d8056a95d0a60a0
The commit message references following bugs:
Bug 734465
Bug 722899
Bug 726999