Bug 406676

Summary: ktp-call-ui depends on unmaintained qt-gstreamer
Product: [Frameworks and Libraries] telepathy Reporter: Dennis veatch <dennislveatch>
Component: call-uiAssignee: Telepathy Bugs <kde-telepathy-bugs>
Status: REPORTED ---    
Severity: normal CC: akulichalexander, heiko.becker, wbauer1
Priority: NOR    
Version: unspecified   
Target Milestone: Future   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: Patch for qt-gstreamer

Description Dennis veatch 2019-04-19 11:15:19 UTC
SUMMARY
ktp-call-ui depends on qt-gstreamer which is no longer maintained per; https://gstreamer.freedesktop.org/modules/ . Unfortunately qt-gstreamer fails to compile for me. Since it is not maintained you might want to think about absorbing it or finding a different method.

STEPS TO REPRODUCE
1. Compile latest version of gstreamer (1.15.x as of now).
2. Compile latest unmaintained versionof qt-gsteamer, it will fail.
3. Unable to compile ktp-call-ui since it depends on qt-gstreamer.

OBSERVED RESULT


EXPECTED RESULT


SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
Comment 1 Wolfgang Bauer 2019-07-05 05:52:44 UTC
This affects openSUSE now too.

qt-gstreamer is about to be dropped because it fails to build, and that means we will have to drop ktp-call-ui as well.
Comment 2 Alexandr Akulich 2019-07-07 00:24:41 UTC
Created attachment 121357 [details]
Patch for qt-gstreamer

Hi folks. I just found out this issue.
Recently I became a KDE Telepathy maintainer and though I'm not active here (I'm busy with the underlying stuff), I'm kindly asking you to keep the project in your repos for a bit longer.

The compilation error is caused by commit https://gitlab.freedesktop.org/gstreamer/gstreamer/commit/b27ee943c2a44a5437a5343d21a9d2be918a1279

This commit introduces a brute C-style cast that prevents a compiler from proper C++ casting. The workaround is trivial:

src/QGst/caps.cpp:57

 void Caps::append(const CapsPtr & caps2)
 {
-    gst_caps_append(object<GstCaps>(), gst_caps_copy(caps2));
+    const GstCaps * caps2ptr = caps2;
+    gst_caps_append(object<GstCaps>(), gst_caps_copy(caps2ptr));
 }

I'll try to reach the last qt-gstreamer maintainer to upstream the fix.
Comment 3 Dennis veatch 2019-07-07 10:20:18 UTC
Thanks Alexander, that worked.
Comment 4 Wolfgang Bauer 2019-07-07 11:31:26 UTC
(In reply to Alexandr Akulich from comment #2)
> I'm kindly asking you to keep the
> project in your repos for a bit longer.
I'm afraid that patch won't get accepted in openSUSE though (the immediate response was negative), as the main reason to drop the qt-gstreamer package is that it is officially unmaintained upstream. :-/

https://github.com/GStreamer/qt-gstreamer/commit/a0e95b202a72b6d9e48bd1949ab6811c0f3c91c3

(and ktp-call-ui is the only thing using it)

See https://bugzilla.opensuse.org/show_bug.cgi?id=1116043#c32