Bug 181104 - audio/mumble: dubious patch to allow OSS device selection
Summary: audio/mumble: dubious patch to allow OSS device selection
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Mark Felder
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-08-07 09:10 UTC by Natacha Porté
Modified: 2013-11-17 23:10 UTC (History)
0 users

See Also:


Attachments
file.diff (841 bytes, patch)
2013-08-07 09:10 UTC, Natacha Porté
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Natacha Porté 2013-08-07 09:10:00 UTC
Mumble OSS implementation performs device enumeration only when SOUND_VERSION is at least 0x040002, but OSS in FreeBSD base defines it as 0x040000. So only default input and output devices are available.

However, the actual code seems to be almost adequate for device enumeration in FreeBSD, the only caveat being that oss_audioinfo::handle is empty, but oss_audioinfo::name is a good enough unique identifier.

The attached patch removes SOUND_VERSION test and uses oss_audioinfo::name instead of oss_audioinfo::handle. I have been using it for about 1.5 years now, first on 8.2-RELEASE then on 9.1-RELEASE, both on amd64, without noticing any side-effect. However I don't know whether it's portable enough and/or clean enough to make it to the ports tree.

Fix: Copy the attached patch as audio/mumble/files/patch-src-mumble-OSS.cpp

Patch attached with submission follows:
How-To-Repeat:  - Start mumble
 - Select preferences or audio wizard
    -> notice that input or output device selection is grayed out, leaving you no option other than "Default OSS device"
Comment 1 Natacha Porté 2013-08-07 09:43:09 UTC
Hello,

on Wednesday 07 August 2013 at 08:10, FreeBSD-gnats-submit@FreeBSD.org wrote:
> >Category:       misc

The category is actually ports, I must have misclicked on the combobox.
Sorry for the inconvenience /o\
Comment 2 Mark Linimon freebsd_committer freebsd_triage 2013-08-09 01:09:16 UTC
Responsible Changed
From-To: freebsd-bugs->freebsd-ports-bugs

ports PR.
Comment 3 Edwin Groothuis freebsd_committer freebsd_triage 2013-08-09 01:09:32 UTC
State Changed
From-To: open->feedback

Awaiting maintainers feedback (via the GNATS Auto Assign Tool)
Comment 4 Edwin Groothuis freebsd_committer freebsd_triage 2013-08-09 01:09:32 UTC
Maintainer of audio/mumble,

Please note that PR ports/181104 has just been submitted.

If it contains a patch for an upgrade, an enhancement or a bug fix
you agree on, reply to this email stating that you approve the patch
and a committer will take care of it.

The full text of the PR can be found at:
    http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/181104

-- 
Edwin Groothuis via the GNATS Auto Assign Tool
edwin@FreeBSD.org
Comment 5 Mark Felder freebsd_committer freebsd_triage 2013-10-30 15:03:13 UTC
Responsible Changed
From-To: freebsd-ports-bugs->feld

I'll take it.
Comment 6 dfilter service freebsd_committer freebsd_triage 2013-11-17 23:07:10 UTC
Author: feld
Date: Sun Nov 17 23:07:02 2013
New Revision: 334131
URL: http://svnweb.freebsd.org/changeset/ports/334131

Log:
  Take maintainership
  Add patch that allows audio device selection with FreeBSD's OSS
  
  PR:		ports/181104
  Submitted by:	Natacha Porte
  Approved by:	swills (mentor)

Added:
  head/audio/mumble/files/patch-src-mumble-OSS.cpp   (contents, props changed)
Modified:
  head/audio/mumble/Makefile

Modified: head/audio/mumble/Makefile
==============================================================================
--- head/audio/mumble/Makefile	Sun Nov 17 22:16:16 2013	(r334130)
+++ head/audio/mumble/Makefile	Sun Nov 17 23:07:02 2013	(r334131)
@@ -3,11 +3,11 @@
 
 PORTNAME=	mumble
 PORTVERSION=	1.2.4
-PORTREVISION=	3
+PORTREVISION=	4
 CATEGORIES=	audio
 MASTER_SITES=	SF/${PORTNAME}/Mumble/${PORTVERSION}
 
-MAINTAINER=	ports@FreeBSD.org
+MAINTAINER=	feld@FreeBSD.org
 COMMENT=	A voice chat software primarily intended for use while gaming
 
 LIB_DEPENDS+=	libspeex.so:${PORTSDIR}/audio/speex \

Added: head/audio/mumble/files/patch-src-mumble-OSS.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/audio/mumble/files/patch-src-mumble-OSS.cpp	Sun Nov 17 23:07:02 2013	(r334131)
@@ -0,0 +1,30 @@
+--- src/mumble/OSS.cpp.orig	2013-08-03 14:01:25.000000000 +0200
++++ src/mumble/OSS.cpp	2013-08-03 14:12:51.000000000 +0200
+@@ -153,7 +153,6 @@
+ 	qhOutput.insert(QString(), QLatin1String("Default OSS Device"));
+ 	qhDevices.insert(QString(), QLatin1String("/dev/dsp"));
+ 
+-#if (SOUND_VERSION >= 0x040002)
+ 	int mixerfd = open("/dev/mixer", O_RDWR, 0);
+ 	if (mixerfd == -1) {
+ 		qWarning("OSSEnumerator: Failed to open /dev/mixer");
+@@ -182,15 +181,14 @@
+ 		if (ainfo.caps & PCM_CAP_HIDDEN)
+ 			continue;
+ 
+-		qhDevices.insert(handle, device);
++		qhDevices.insert(name, device);
+ 
+ 		if (ainfo.caps & PCM_CAP_INPUT)
+-			qhInput.insert(handle, name);
++			qhInput.insert(name, name);
+ 		if (ainfo.caps & PCM_CAP_OUTPUT)
+-			qhOutput.insert(handle, name);
++			qhOutput.insert(name, name);
+ 	}
+ 	close(mixerfd);
+-#endif
+ }
+ 
+ OSSInput::OSSInput() {
+
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 7 Mark Felder freebsd_committer freebsd_triage 2013-11-17 23:09:20 UTC
State Changed
From-To: feedback->closed

Committed. Thanks!