Comment 6 for bug 1960137

Revision history for this message
TheRealSpidermonkey (realspidermonkey) wrote :

First of all, please do excuse if I don't reply to this bug in the right way, this is my first interaction on Launchpad.

As far as I can see, this bug is equivalent to Ubuntu bug #1974163. Both in turn are equivalent to Debian bug #979044 (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=979044) and have recently been fixed. I will describe what's necessary to fix this, and I kindly ask you to evaluate whether a feature freeze exception or a similar measure can still be taken for Ubuntu Kinetic.

Some time ago, Linphone has switched to recording calls in MKV only. However, Linphone uses a modified version of libmatroska, which as of now is not available in Ubuntu. It has recently been added in Debian: https://tracker.debian.org/pkg/bcmatroska2

If this library is not available, the ability to handle MKV is turned off during build configuration. This is why a current Ubuntu-packaged Linphone won't record anything, and it can't play most of its own ringtones either. To close this bug, the following steps are necessary:

1) Add bcmatroska2 to the Ubuntu package repositories. This should be doable as it only links to libc. Should it not be able to still get this package into Kinetic, I can confirm that as a workaround the current version packaged in Debian testing can be used after manual installation.

2) Rebuild mediastreamer2 (-> libmediastreamer11) with an installed libbcmatroska2-dev. This automatically adds MKV handling in the current Kinetic version, without any alterations to the build configuration files.

2a) However, a minimal patch is needed as the file src/utils/mkv_reader.cpp is using std::numeric_limits, for which the GCC version currently available in Kinetic is requiring the limits header. (I. e. add the #include <limits> which upstream has already)

I have validated this re-enables the recording and general MKV handling capabilities. Please consider still adding bcmatroska2 to Kinetic if possible; I can't see any problems arising from this as nothing else can possibly depend on this package.