From: "Raghav Gururajan" <raghavgururajan@disroot.org>
To: 40264@debbugs.gnu.org
Subject: [bug#40264] Linphone: 11-add-mediastreamer-v3
Date: Sun, 05 Apr 2020 07:28:06 +0000 [thread overview]
Message-ID: <8d37c9308eddb3c687689ed614c86386@disroot.org> (raw)
In-Reply-To: <a3c3755c86e0d25ca3c4672b8865a9ed@disroot.org>
[-- Attachment #1: Type: text/plain, Size: 2 bytes --]
[-- Attachment #2: 11-add-mediastreamer-v3.patch --]
[-- Type: application/octet-stream, Size: 10378 bytes --]
From c9f9ecc04aaff5c48490e3fc88b0b2b4ef79eafb Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sun, 5 Apr 2020 03:25:10 -0400
Subject: [PATCH 3/3] gnu: Add mediastreamer2
* gnu/packages/linphone.scm (mediastreamer2): New variable.
---
gnu/packages/linphone.scm | 78 +++++++++
.../patches/mediastreamer-msfactory.patch | 31 ++++
.../patches/mediastreamer-srtp2.patch | 155 ++++++++++++++++++
3 files changed, 264 insertions(+)
create mode 100644 gnu/packages/patches/mediastreamer-msfactory.patch
create mode 100644 gnu/packages/patches/mediastreamer-srtp2.patch
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 0e32500b07..a3ec664a40 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -19,12 +19,24 @@
(define-module (gnu packages linphone)
#:use-module (gnu packages)
+ #:use-module (gnu packages admin)
+ #:use-module (gnu packages audio)
#:use-module (gnu packages base)
#:use-module (gnu packages documentation)
+ #:use-module (gnu packages gl)
+ #:use-module (gnu packages gnome)
#:use-module (gnu packages graphviz)
+ #:use-module (gnu packages image)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages pulseaudio)
+ #:use-module (gnu packages python)
#:use-module (gnu packages sqlite)
+ #:use-module (gnu packages telephony)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages video)
+ #:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
+ #:use-module (gnu packages xorg)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
@@ -252,3 +264,69 @@ protocol, written in C. It is fully portable and can be executed on many
platforms including both ARM and x86.")
(home-page "https://gitlab.linphone.org/BC/public/bzrtp")
(license license:gpl2+)))
+
+(define-public mediastreamer2
+ (package
+ (name "mediastreamer")
+ (version "2.16.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://www.linphone.org/releases/sources/" name
+ "/" name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0whpqr69wz0pnzvragkpfblxhd0rds8k06c3mw5a0ag216a1yd9k"))
+ (patches
+ (list
+ ;; For updating definitions.
+ ;; Fixes "-Werror" flag related errors and MS2_GIT_VERSION error.
+ (search-patch "mediastreamer-msfactory.patch")
+ ;; For srtp2 compatibility.
+ ;; Fixes locating srtp2 files.
+ (search-patch "mediastreamer-srtp2.patch")))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; No test target
+ #:configure-flags
+ (list
+ "-DENABLE_STATIC=NO" ; Not required
+ "-DENABLE_BV16=NO"))) ; Not available
+ (native-inputs
+ `(("dot" ,graphviz)
+ ("doxygen" ,doxygen)
+ ("python" ,python)))
+ (inputs
+ `(("alsa" ,alsa-lib)
+ ("bcg729" ,bcg729)
+ ("bcmatroska2" ,bcmatroska2)
+ ("bctoolbox" ,bctoolbox)
+ ("ffmpeg" ,ffmpeg)
+ ("glew" ,glew)
+ ("glu" ,glu)
+ ("glx" ,mesa-utils)
+ ("gsm" ,gsm)
+ ("opengl" ,mesa)
+ ("opus" ,opus)
+ ("ortp" ,ortp)
+ ("pcap" ,libpcap)
+ ("portaudio" ,portaudio)
+ ("pulseaudio" ,pulseaudio)
+ ("spandsp" ,spandsp)
+ ("speex" ,speex)
+ ("speexdsp" ,speexdsp)
+ ("srtp" ,libsrtp)
+ ("theora" ,libtheora)
+ ("turbojpeg" ,libjpeg-turbo)
+ ("v4l" ,v4l-utils)
+ ("vpx" ,libvpx)
+ ("x11" ,libx11)
+ ("xv" ,libxv)
+ ("zrtp", bzrtp)))
+ (synopsis "Belledonne Communications Streaming Engine")
+ (description "Mediastreamer is a powerful and lightweight streaming
+engine for telephony applications. This media processing and streaming toolkit
+is responsible for receiving and sending all multimedia streams in Linphone,
+including media capture, encoding and decoding, and rendering.")
+ (home-page "https://gitlab.linphone.org/BC/public/mediastreamer2")
+ (license license:gpl2+)))
diff --git a/gnu/packages/patches/mediastreamer-msfactory.patch b/gnu/packages/patches/mediastreamer-msfactory.patch
new file mode 100644
index 0000000000..debc74e01c
--- /dev/null
+++ b/gnu/packages/patches/mediastreamer-msfactory.patch
@@ -0,0 +1,31 @@
+From de3a24b795d7a78e78eab6b974e7ec5abf2259ac Mon Sep 17 00:00:00 2001
+From: Simon Morlat <simon.morlat@linphone.org>
+Date: Mon, 14 Aug 2017 11:18:16 +0200
+Subject: [PATCH] allow MS2_GIT_VERSION to be undefined, as it will be the case
+ when building rpms.
+
+---
+ src/base/msfactory.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/src/base/msfactory.c b/src/base/msfactory.c
+index 6562d86c..f61c68a8 100644
+--- a/src/base/msfactory.c
++++ b/src/base/msfactory.c
+@@ -24,9 +24,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ # ifndef MEDIASTREAMER_VERSION
+ # define MEDIASTREAMER_VERSION "unknown"
+ # endif
+-# ifndef MS2_GIT_VERSION
+-# define MS2_GIT_VERSION "unknown"
+-# endif
++#endif
++
++#ifndef MS2_GIT_VERSION
++#define MS2_GIT_VERSION "unknown"
+ #endif
+
+ #include "mediastreamer2/msfilter.h"
+--
+2.21.0
+
diff --git a/gnu/packages/patches/mediastreamer-srtp2.patch b/gnu/packages/patches/mediastreamer-srtp2.patch
new file mode 100644
index 0000000000..f6d494facb
--- /dev/null
+++ b/gnu/packages/patches/mediastreamer-srtp2.patch
@@ -0,0 +1,155 @@
+From 97903498364ae2596e790cb2c2ce9ac76c04d64a Mon Sep 17 00:00:00 2001
+From: Danmei Chen <danmei.chen@belledonne-communications.com>
+Date: Fri, 19 Jan 2018 10:04:07 +0100
+Subject: [PATCH] add compability with srtp2
+
+---
+ cmake/FindSRTP.cmake | 24 ++++++++++++++++++++----
+ src/CMakeLists.txt | 1 +
+ src/crypto/ms_srtp.c | 10 ++--------
+ src/utils/srtp_prefix.h | 41 +++++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 64 insertions(+), 12 deletions(-)
+ create mode 100644 src/utils/srtp_prefix.h
+
+diff --git a/cmake/FindSRTP.cmake b/cmake/FindSRTP.cmake
+index 988b846a..f720ce7e 100644
+--- a/cmake/FindSRTP.cmake
++++ b/cmake/FindSRTP.cmake
+@@ -31,20 +31,36 @@ set(_SRTP_ROOT_PATHS
+ )
+
+ find_path(SRTP_INCLUDE_DIRS
+- NAMES srtp/srtp.h
++ NAMES srtp2/srtp.h
+ HINTS _SRTP_ROOT_PATHS
+ PATH_SUFFIXES include
+ )
+
+ if(SRTP_INCLUDE_DIRS)
+ set(HAVE_SRTP_SRTP_H 1)
+-endif()
+-
+-find_library(SRTP_LIBRARIES
++ set(SRTP_VERSION 2)
++ find_library(SRTP_LIBRARIES
++ NAMES srtp2
++ HINTS ${_SRTP_ROOT_PATHS}
++ PATH_SUFFIXES bin lib
++ )
++else()
++ find_path(SRTP_INCLUDE_DIRS
++ NAMES srtp/srtp.h
++ HINTS _SRTP_ROOT_PATHS
++ PATH_SUFFIXES include
++ )
++ if(SRTP_INCLUDE_DIRS)
++ set(HAVE_SRTP_SRTP_H 1)
++ set(SRTP_VERSION 1)
++ endif()
++ find_library(SRTP_LIBRARIES
+ NAMES srtp
+ HINTS ${_SRTP_ROOT_PATHS}
+ PATH_SUFFIXES bin lib
+ )
++endif()
++
+
+ include(FindPackageHandleStandardArgs)
+ find_package_handle_standard_args(SRTP
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index da429764..c46faa62 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -183,6 +183,7 @@ set(VOIP_SOURCE_FILES_C
+ utils/pcap_sender.c
+ utils/pcap_sender.h
+ utils/stream_regulator.c
++ utils/srtp_prefix.h
+ voip/audioconference.c
+ voip/audiostream.c
+ voip/bandwidthcontroller.c
+diff --git a/src/crypto/ms_srtp.c b/src/crypto/ms_srtp.c
+index 5a510c99..67810316 100644
+--- a/src/crypto/ms_srtp.c
++++ b/src/crypto/ms_srtp.c
+@@ -25,6 +25,7 @@
+ #include "mediastreamer2/ms_srtp.h"
+ #include "mediastreamer2/mediastream.h"
+
++
+ #ifdef HAVE_SRTP
+
+ /*srtp defines all this stuff*/
+@@ -34,13 +35,7 @@
+ #undef PACKAGE_TARNAME
+ #undef PACKAGE_VERSION
+
+-#if defined(MS2_WINDOWS_PHONE)
+-// Windows phone doesn't use make install
+-#include <srtp.h>
+-#else
+-#include <srtp/srtp.h>
+-#endif
+-
++#include "srtp_prefix.h"
+
+ #include "ortp/b64.h"
+
+@@ -352,7 +347,6 @@ int ms_srtp_init(void)
+ srtp_init_done++;
+ }else{
+ ms_fatal("Couldn't initialize SRTP library: %d.", st);
+- err_reporting_init("mediastreamer2");
+ }
+ }else srtp_init_done++;
+ return (int)st;
+diff --git a/src/utils/srtp_prefix.h b/src/utils/srtp_prefix.h
+new file mode 100644
+index 00000000..68bde496
+--- /dev/null
++++ b/src/utils/srtp_prefix.h
+@@ -0,0 +1,41 @@
++/*
++ mediastreamer2 library - modular sound and video processing and streaming
++ Copyright (C) 2006-2014 Belledonne Communications, Grenoble
++
++ This library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++
++ This library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with this library; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++*/
++#ifndef __SRTP2_H__
++#define __SRTP2_H__
++
++#if defined(MS2_WINDOWS_PHONE)
++// Windows phone doesn't use make install
++#include <srtp.h>
++#elif SRTP_VERSION==1
++#include <srtp/srtp.h>
++#else
++#include <srtp2/srtp.h>
++#define err_status_t srtp_err_status_t
++#define err_status_ok srtp_err_status_ok
++#define crypto_policy_t srtp_crypto_policy_t
++#define crypto_policy_set_aes_cm_256_hmac_sha1_80 srtp_crypto_policy_set_aes_cm_256_hmac_sha1_80
++#define crypto_policy_set_aes_cm_128_hmac_sha1_32 srtp_crypto_policy_set_aes_cm_128_hmac_sha1_32
++#define crypto_policy_set_aes_cm_128_null_auth srtp_crypto_policy_set_aes_cm_128_null_auth
++#define crypto_policy_set_null_cipher_hmac_sha1_80 srtp_crypto_policy_set_null_cipher_hmac_sha1_80
++#define crypto_policy_set_aes_cm_128_hmac_sha1_80 srtp_crypto_policy_set_aes_cm_128_hmac_sha1_80
++#define crypto_policy_set_aes_cm_256_hmac_sha1_32 srtp_crypto_policy_set_aes_cm_256_hmac_sha1_32
++#define ssrc_t srtp_ssrc_t
++#endif
++
++#endif
+--
+2.21.0
+
--
2.26.0
next prev parent reply other threads:[~2020-04-05 7:29 UTC|newest]
Thread overview: 99+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-27 23:10 [bug#40264] Linphone Raghav Gururajan
2020-03-27 23:13 ` [bug#40264] Linphone: 1-create-linphone-module Raghav Gururajan
2020-03-27 23:14 ` [bug#40264] Linphone: 2-update-linphone-module Raghav Gururajan
2020-03-27 23:15 ` [bug#40264] Linphone: 3-add-bcunit Raghav Gururajan
2020-04-01 2:46 ` Maxim Cournoyer
2020-03-27 23:21 ` [bug#40264] Linphone: 4-add-bctoolbox Raghav Gururajan
2020-03-28 18:40 ` [bug#40264] Linphone: 5-add-belr Raghav Gururajan
2020-03-28 19:40 ` [bug#40264] Linphone: 6-add-belcard Raghav Gururajan
2020-03-28 21:22 ` [bug#40264] Linphone: 7-add-bcmatroska2 Raghav Gururajan
2020-03-28 21:35 ` [bug#40264] Linphone: 8-add-bcg729 Raghav Gururajan
2020-03-28 22:14 ` [bug#40264] Linphone: 9-add-ortp Raghav Gururajan
2020-03-28 22:36 ` [bug#40264] Linphone: 10-add-bzrtp Raghav Gururajan
2020-03-29 8:58 ` [bug#40264] Linphone: 11-add-mediastreamer Raghav Gururajan
2020-03-30 2:45 ` [bug#40264] Linphone: 12-add-belle-sip Raghav Gururajan
2020-03-30 20:45 ` Danny Milosavljevic
2020-03-31 16:32 ` Raghav Gururajan
2020-04-01 2:38 ` Maxim Cournoyer
2020-03-30 9:47 ` [bug#40264] Linphone: 13-add-linphone Raghav Gururajan
2020-03-30 16:50 ` [bug#40264] Linphone: 14-add-linphoneqt Raghav Gururajan
2020-03-31 13:44 ` [bug#40264] Linphone: 15-add-msamr Raghav Gururajan
2020-03-31 14:12 ` [bug#40264] Linphone: 16-add-openh264 Raghav Gururajan
2020-03-31 14:31 ` [bug#40264] Linphone: 17-add-mssilk Raghav Gururajan
2020-03-31 14:50 ` [bug#40264] Linphone: 18-add-mswebrtc Raghav Gururajan
2020-04-01 20:21 ` [bug#40264] Linphone: 3-add-bcunit-v2 Raghav Gururajan
2020-04-03 10:51 ` Danny Milosavljevic
2020-04-01 22:13 ` [bug#40264] Linphone: 4-add-bctoolbox-v2 Raghav Gururajan
2020-04-03 10:52 ` Danny Milosavljevic
2020-04-01 22:20 ` [bug#40264] Linphone: 5-add-belr-v2 Raghav Gururajan
2020-04-03 10:52 ` Danny Milosavljevic
2020-04-01 22:32 ` [bug#40264] Linphone: 6-add-belcard-v2 Raghav Gururajan
2020-04-03 10:51 ` Danny Milosavljevic
2020-04-01 22:40 ` [bug#40264] Linphone: 7-add-bcmatroska2-v2 Raghav Gururajan
2020-04-03 10:52 ` Danny Milosavljevic
2020-04-01 22:46 ` [bug#40264] Linphone: 8-add-bcg729-v2 Raghav Gururajan
2020-04-03 11:01 ` Danny Milosavljevic
2020-04-01 22:56 ` [bug#40264] Linphone: 9-add-ortp-v2 Raghav Gururajan
2020-04-03 11:02 ` Danny Milosavljevic
2020-04-01 23:04 ` [bug#40264] Linphone: 10-add-bzrtp-v2 Raghav Gururajan
2020-04-03 11:09 ` Danny Milosavljevic
2020-04-02 0:20 ` [bug#40264] Linphone: 11-add-mediastreamer-v2 Raghav Gururajan
2020-04-03 11:38 ` Danny Milosavljevic
2020-04-03 14:30 ` Raghav Gururajan
2020-04-05 4:08 ` maxim.cournoyer
2020-04-05 4:16 ` maxim.cournoyer
2020-04-05 7:29 ` Raghav Gururajan
2020-04-02 0:44 ` [bug#40264] Linphone: 12-add-belle-sip-v2 Raghav Gururajan
2020-04-02 11:24 ` Danny Milosavljevic
2020-04-02 16:33 ` Raghav Gururajan
2020-04-02 17:19 ` Raghav Gururajan
2020-04-03 11:34 ` Danny Milosavljevic
2020-04-04 17:36 ` Maxim Cournoyer
2020-04-04 18:18 ` Raghav Gururajan
2020-04-05 4:18 ` maxim.cournoyer
2020-04-05 19:06 ` Danny Milosavljevic
2020-04-02 1:20 ` [bug#40264] Linphone: 13-add-linphone-v2 Raghav Gururajan
2020-04-05 19:49 ` Danny Milosavljevic
2020-04-05 19:57 ` Danny Milosavljevic
2020-04-05 22:54 ` Raghav Gururajan
2020-04-05 22:55 ` Raghav Gururajan
2020-04-02 1:47 ` [bug#40264] Linphone: 14-add-linphoneqt-v2 Raghav Gururajan
2020-04-02 2:06 ` [bug#40264] Linohone: 15-add-msamr-v2 Raghav Gururajan
2020-04-06 0:03 ` Danny Milosavljevic
2020-04-02 2:55 ` [bug#40264] Linphone: 16-add-msopenh264-v2 Raghav Gururajan
2020-04-05 23:05 ` Danny Milosavljevic
2020-04-02 3:00 ` [bug#40264] Linphone: 17-add-mssilk-v2 Raghav Gururajan
2020-04-05 23:06 ` Danny Milosavljevic
2020-04-02 3:06 ` [bug#40264] Linphone: 18-add-mswebrtc-v2 Raghav Gururajan
2020-04-05 23:06 ` Danny Milosavljevic
2020-04-02 8:56 ` [bug#40264] Linphone: 14-add-linphoneqt-v3 Raghav Gururajan
2020-04-02 16:27 ` Raghav Gururajan
2020-04-02 20:56 ` Raghav Gururajan
2020-04-03 23:50 ` Raghav Gururajan
2020-04-02 20:53 ` [bug#40264] Linphone: 14-add-linphoneqt-v4 Raghav Gururajan
2020-04-02 23:19 ` [bug#40264] Linphone: 13-add-linphone-v3 Raghav Gururajan
2020-04-05 20:05 ` Danny Milosavljevic
2020-04-03 0:24 ` [bug#40264] Linphone: 14-add-linphoneqt-v5 Raghav Gururajan
2020-04-03 23:47 ` [bug#40264] Linphone: 14-add-linphoneqt-v6 Raghav Gururajan
2020-04-05 20:19 ` Danny Milosavljevic
2020-04-06 3:01 ` Raghav Gururajan
2020-04-06 5:56 ` Raghav Gururajan
2020-04-05 7:28 ` Raghav Gururajan [this message]
2020-04-05 15:02 ` [bug#40264] Linphone: 11-add-mediastreamer-v3 maxim.cournoyer
2020-04-05 18:29 ` Danny Milosavljevic
2020-04-05 19:41 ` Danny Milosavljevic
2020-04-05 22:52 ` Raghav Gururajan
2020-04-06 0:14 ` Danny Milosavljevic
2020-04-06 0:28 ` Raghav Gururajan
2020-04-06 2:40 ` maxim.cournoyer
2020-04-06 4:04 ` [bug#40264] Linphone: 14-add-linphoneqt-v7 Raghav Gururajan
2020-04-10 21:47 ` Danny Milosavljevic
2020-04-10 23:50 ` Danny Milosavljevic
2020-04-15 2:50 ` Maxim Cournoyer
2020-04-15 4:36 ` Maxim Cournoyer
2020-04-15 6:13 ` Maxim Cournoyer
2020-04-12 3:55 ` Raghav Gururajan
2020-04-08 7:01 ` [bug#40264] Replace source URI with mirror Raghav Gururajan
2020-04-08 7:29 ` [bug#40264] Mirror and Formatting Raghav Gururajan
2020-04-16 4:49 ` bug#40264: " maxim.cournoyer
2020-04-15 2:07 ` [bug#40264] Replace source URI with mirror Maxim Cournoyer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8d37c9308eddb3c687689ed614c86386@disroot.org \
--to=raghavgururajan@disroot.org \
--cc=40264@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.