From owner-freebsd-ports@freebsd.org Wed Dec 20 09:47:13 2017 Return-Path: Delivered-To: freebsd-ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1B427EA31D2 for ; Wed, 20 Dec 2017 09:47:13 +0000 (UTC) (envelope-from gurenchan@gmail.com) Received: from mail-io0-x229.google.com (mail-io0-x229.google.com [IPv6:2607:f8b0:4001:c06::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id C9F85653D6 for ; Wed, 20 Dec 2017 09:47:12 +0000 (UTC) (envelope-from gurenchan@gmail.com) Received: by mail-io0-x229.google.com with SMTP id 87so12516473ior.5 for ; Wed, 20 Dec 2017 01:47:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=jmr8sIQiaaaJZ7snsDiLPwTEKvlRDxoZtvre77TJ0+8=; b=QPY0hg5n7pIS2AEn3DqjG8RY3vLnp2XCi9A9SHoyTW3je0Dl9T4wYzlgm6t764kq8h xb+iWsyMlAug0A5YwKRcyZQTcPm5fG1dLg9bU1fkB5HbeQYWDW/+BJ1YLuFolIjKWVDP n/ApWiyb4ZYy1nU4hv6k02Ercj6tia7KhRyqXmmIQEMdLnQe1KN2H4LvCbA1SNEU6CjT XoTj3VfeqiiVSZv2F742HXPR2J2ScUFVc5DmTqVAutnxp72iFK0pcdOqsMygpfu32kOh A0yYF4/7+pARiefzBLT+NsscQ2b52q0FPda/DabTVlz+EdKnOA+9fydvVFQQx3MLeHwf Epqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=jmr8sIQiaaaJZ7snsDiLPwTEKvlRDxoZtvre77TJ0+8=; b=DZRyZasauqr14qNxWAmH+G44FQoCCpgVZeVn0ASaIlOa4j3olJ+sP4i407G9Dz/gZZ 1XH9qGXPZ2pto6yfHBOtmjvd1kmq5kz6+AI1vTsARlXMkhyaOJHHYAZ8zuhhKIjN5Qeo X4SbBbHd0ZAup80souHoO3OQ3Gq6ehZ6VsmAaSTBxv1BHU++407o//v+L5UO5RAp+u78 JtZnCMWuDVu5G4Xpk2X6cCi4Zzpu/va18eZCfL+XZPnU7vMgXhZZUY4p/9Akn5xX3ByU QRs+FwqH4coM5ZED9u0iL/Gm/j8Fr43xpziKFCvnVMoxdw8YttlACjKDJtwaeIeFE1xf nZzQ== X-Gm-Message-State: AKGB3mL96xfyGJN0jGeUn+rdYagOD7NknnXYgK0xWaNqjl+Y1NfoVzU5 ZwWTGbWXKJtMWPDYliNc2OfiPTwnFNIWv+ueSrc= X-Google-Smtp-Source: ACJfBoslWUBjZJfQDAl8YeSxzi9Zso7E45qycGcSgQrmbygt9yM4ilfo9iFO2CPmSmibYveJVslIq+W1R0mUoS4eVgY= X-Received: by 10.107.18.35 with SMTP id a35mr3662559ioj.291.1513763231975; Wed, 20 Dec 2017 01:47:11 -0800 (PST) MIME-Version: 1.0 Received: by 10.107.164.203 with HTTP; Wed, 20 Dec 2017 01:47:11 -0800 (PST) In-Reply-To: References: From: blubee blubeeme Date: Wed, 20 Dec 2017 17:47:11 +0800 Message-ID: Subject: Re: Canberra To: Sid Cc: FreeBSD Ports Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.25 X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Dec 2017 09:47:13 -0000 On Wed, Dec 20, 2017 at 5:27 PM, Sid wrote: > The problem with libcanberra is around pulseaudio and gstreamer. It is > also with how gtk, a Visual Graphical toolkit, is mixed in with an Audio > application. > > I didn't say you didn't know about it, I was just putting it out there. > They've done a good job of cleaning up and fixing ALSA to work on top of > OSS: the most obvious problems with that are fixed. Pulseaudio hasn't been > cleaned up, which it is better for applications to avoid it all together, > and I don't know if Pulseaudio is worth fixing. > > It is really a travesty that a simple program that plays simple sounds > like "Ding!" has to be this complicated, when OSS, and sndio work, and even > when something as complicated as ALSA was simplified enough to work > efficiently on top of OSS. > > "When devs take the easiest path..." This is the Linuxism route, to pile > on. I don't even consider that the easiest path, a lazy path instead, > considering its usual outcome, of requiring hours to compile something > which should compile in 5 minutes. FreeBSD and other BSD's have largely > simplified many of these issues, recently. > > > blubee blubeeme; Wed Dec 20 07:26:43 UTC 2017 > > I know this. > > These are just some of the reasons why I wanted to make sure that the > OSS in FreeBSD is actually up to snuff > because working on fixing issues like these the easiest route is; just use > ALSA or some such crap which is > unacceptable to me if it can use OSS. > > > When devs take the easiest path then instead of fixing the root issues, > problems are compounded; > just like the example you gave of layering pulse on top of gstreamer, > those "solutions" are brittle and will > inevitably break. > > > I'd like to have a solid foundation and build from there, not be > constantly trying to re-implement the wheel. > > > This is just one OPTIONAL dependency for a piece of software that I want > to port and this software isn't > even audio related, it's an ibus plugin. > > Sid; Wed Dec 20 07:04:08 UTC 2017 > > >> According to http://0pointer.de/lennart/projects/libcanberra/#status[ > http://0pointer.de/lennart/projects/libcanberra/#status] updated > September 2012 > > >> "libcanberra is mostly feature complete. For now however it includes > backends only for ALSA, PulseAudio, OSS and GStreamer." > > >> "The OSS driver is incomplete: only sound files that are in a format > natively understood by the sound card are supported. If the sample type, > channel map or sampling rate of the sound file are not supported by the > sound card no automatic conversion will take place and the file will not be > played. Also note that the OSS backend is most likely incompatible with > OSS4, due to subtle incompatibilities between OSS4 and the OSS 3.x." > > >> "It is recommended to always take the "shortest" path from libcanberra > to the audio device. I.e. don't use the GStreamer plugin if libcanberra > supports the final output target natively. Besides being more > resource-friendly and less error-prone, some advanced functionality might > get lost with each layer you add to your stack. For example: while you > could use libcanberra's Gstreamer backend to output to a PulseAudio server > this will not be able to make use of sample cacheing or will be able to > attach additional meta data to the sounds played, which might be necessary > for effects like positional event sounds." > > I'll work on it but let me get the port in the tree first, then I can refine it. Just as i've done with my previous ports.