Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 673282

Summary: media-libs/gst-plugins-bad: add webrtc library/plugin from 1.14
Product: Gentoo Linux Reporter: cJ <cJ-gentoo>
Component: Current packagesAssignee: GStreamer package maintainers <gstreamer>
Status: RESOLVED FIXED    
Severity: normal CC: bas, joakim.tjernlund
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 673280    
Bug Blocks:    
Attachments: New USE 'webrtc' to enable 'webrtcdsp' plugin

Description cJ 2018-12-16 20:30:19 UTC
Gstreamer 1.14 has WebRTC components.

The current gst-plugins-bad installs the base library, but not the plugins, which is inconsistent.
Following is a workaround under the form of media-plugins/gst-plugins-webrtc-1.14.3:

# Copyright 2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI=6
GST_ORG_MODULE=gst-plugins-bad

inherit gstreamer

DESCRIPTION="WebRTC plugins for GStreamer"
KEYWORDS="~amd64"
IUSE=""

RDEPEND=">=net-libs/libnice-0.1.14[${MULTILIB_USEDEP}]"
DEPEND="${RDEPEND}"

multilib_src_compile() {
	emake -C gst-libs/gst/webrtc
	gstreamer_multilib_src_compile
}

multilib_src_install() {
	# commented-out because gst-plugins-bad installs the files already
	#emake -C gst-libs/gst/webrtc DESTDIR="${D}" install
	gstreamer_multilib_src_install
}

I'd rather see a webrtc USE flag in gst-plugins-bad :)


Note: this bugs depends on https://bugs.gentoo.org/673280 (libnice version bump)
Comment 1 Mart Raudsepp gentoo-dev 2018-12-16 22:32:26 UTC
That's no workaround - that's how it must be done.
Though if gst-libs part is only used by webrtc plugin, then might want to move that into gst-plugins-webrtc package too.
Comment 2 Joakim Tjernlund 2019-01-06 12:41:10 UTC
(In reply to Mart Raudsepp from comment #1)
> That's no workaround - that's how it must be done.
> Though if gst-libs part is only used by webrtc plugin, then might want to
> move that into gst-plugins-webrtc package too.

farstream creates libgstnice.so (using gst-plugins-libnice)
but this is only for runtime.
I am a bit surprised over the hard version req. on gst-plugins-libnice though.
gst-plugins-libnice-0.1.13 maps to libnice-0.1.13 so one
have to bump gst-plugins-libnice at the same time as net-libs/libnice
Comment 3 Thomas Fischer 2020-06-07 22:02:27 UTC
I am currently working on getting audio/video calls with Psi+ to get working. This software makes use of a number of GStreamer plugins/elements, including the element 'webrtcechoprobe' which is provided by the plugin 'gstwebrtcdsp'. This plugin is not built by default by media-libs/gst-plugins-bad (eclass 'gstreamer' adds a --disabled-... argument).

I will add a patch which will conditionally enable this plugin using the USE flag 'webrtc'. The added lines are very similar to how other plugins of 'bad' are enabled. A new (optional) dependency to 'media-libs/webrtc-audio-processing' (stable in Portage tree with version 0.3.1) will be added.

The patch should be easily transferrable to 1.16.2 if approved.
Comment 4 Thomas Fischer 2020-06-07 22:03:11 UTC
Created attachment 643860 [details, diff]
New USE 'webrtc' to enable 'webrtcdsp' plugin
Comment 5 Larry the Git Cow gentoo-dev 2020-06-11 07:58:42 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5b5077592ef7b22f898782f32fced5d99a4b6b09

commit 5b5077592ef7b22f898782f32fced5d99a4b6b09
Author:     Mart Raudsepp <leio@gentoo.org>
AuthorDate: 2020-06-11 07:57:53 +0000
Commit:     Mart Raudsepp <leio@gentoo.org>
CommitDate: 2020-06-11 07:57:53 +0000

    media-plugins/gst-plugins-webrtc: new package for gstreamer WebRTC elements
    
    Ships the webrtcdsp plugins (echo cancellation) and webrtcbin.
    
    Closes: https://bugs.gentoo.org/673282
    Package-Manager: Portage-2.3.84, Repoman-2.3.20
    Signed-off-by: Mart Raudsepp <leio@gentoo.org>

 media-plugins/gst-plugins-webrtc/Manifest          |  1 +
 .../gst-plugins-webrtc-1.16.2.ebuild               | 30 ++++++++++++++++++++++
 media-plugins/gst-plugins-webrtc/metadata.xml      |  8 ++++++
 3 files changed, 39 insertions(+)
Comment 6 Mart Raudsepp gentoo-dev 2020-06-11 08:10:38 UTC
Was unsure whether to migrate the webrtc helper library to the split package too or not. Opted for less churn for the time being, might change when gst-plugins-bad is bumped (so we don't have additional revision churn for -bad now).