From: "Luiz Augusto von Dentz" <luiz.dentz@gmail.com>
To: "BlueZ development" <bluez-devel@lists.sourceforge.net>
Subject: Re: [Bluez-devel] CVS audio-api.txt : 1st question
Date: Fri, 29 Jun 2007 15:10:28 -0300 [thread overview]
Message-ID: <2d5a2c100706291110i473d080bv6ba634f0eb8d9deb@mail.gmail.com> (raw)
In-Reply-To: <46852386.8050608@free.fr>
[-- Attachment #1.1: Type: text/plain, Size: 3518 bytes --]
Hello Fabien,
The API is not properly design for audio over hci that's why you are
confused.
Those methods make no sense as you had mentioned the commands always
come from/goes to alsa plugin (we have just one plugin for pcm that should
handle any kind of audio device) via unix socket. So a normal scenarios when
sco over hci is to CreateHeadset in the very first time, this will salve the
device
in the storage so it is no longer necessary to create it anymore. This mean
we
don't need any method call to the API to get audio working while in hci
mode,
the plugin already works on demand and I currently fixing the concurrent
connections when an application want to open the device for playback and
capture at same time.
The current API is only useful for audio over PCM, in that case I guess we
need
the API methods to be able to control the streams.
We could disable those concurrent method while in hci mode as they probably
break
the plugin stream, actually they normally affects only the rfcomm socket
because
sco socket got duped in the process so plugin got its own reference that is
not
affected by API calls, but anyway this is a not common behavior for a
headset.
btw, switching between audio device is currently done by changing its
default device.
On 6/29/07, Fabien Chevalier <fabchevalier@free.fr> wrote:
>
>
> Hi Bluez developer,
>
> I'm trying to move forward on the design of the Bluez audio API. I'm
> gonna suggest some new methods and signals to handle HFP and A2DP,
> however at first i feel the need to understand the following methods and
> signals:
>
> Methods:
> --------
> void Play()
> void Stop()
> uint16 GetSpeakerGain()
> uint16 GetMicrophoneGain()
> void SetSpeakerGain(uint16 gain)
> void SetMicrophoneGain(uint16 gain)
>
> Signals:
> ------------
>
> void SpeakerGainChanged(uint16 gain)
> void MicrophoneGainChanged(uint16 gain)
>
> Here is the question : aren't those actions and events not supposed to
> be handled by the various ALSA plugins,
> that would communicate using a dedicated unix socket ?
>
> In fact i'm afraid of the following issues if those methods/signals are
> available:
> * An application could use snd_pcm_start to start playing, and another
> one could shut down the stream using
> Stop() : the result would certainly be an unexpectedly broken stream.
> * Application developpers could be rather confused (Which one of Play()
> or snd_pcm_start should i use? Or maybe i should use both? In this case
> which one am i supposed to call first ?)
> * If the ALSA plugin is supposed to call those method by itself, this
> would mean bring dbus in each
> application process' space, which is not that nice...
> * Gain management signals and functions are redundant with equivalent
> ALSA&GStreamer functions.
>
> I hope this will bring some light on the expected use of those
> methods/signals...
>
> Cheers,
>
> Fabien
>
>
>
>
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> Bluez-devel mailing list
> Bluez-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bluez-devel
>
--
Luiz Augusto von Dentz
Engenheiro de Computação
[-- Attachment #1.2: Type: text/html, Size: 4094 bytes --]
[-- Attachment #2: Type: text/plain, Size: 286 bytes --]
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
[-- Attachment #3: Type: text/plain, Size: 164 bytes --]
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
next prev parent reply other threads:[~2007-06-29 18:10 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-29 15:21 [Bluez-devel] CVS audio-api.txt : 1st question Fabien Chevalier
2007-06-29 18:10 ` Luiz Augusto von Dentz [this message]
2007-06-29 20:38 ` Brad Midgley
2007-07-02 17:03 ` Fabien Chevalier
2007-07-03 3:31 ` Brad Midgley
2007-07-03 8:04 ` Fabien Chevalier
2007-07-03 19:54 ` Luiz Augusto von Dentz
2007-07-03 21:08 ` Brad Midgley
2007-07-03 22:25 ` Luiz Augusto von Dentz
2007-07-04 1:57 ` Marcel Holtmann
2007-07-05 12:21 ` Fabien Chevalier
2007-07-05 13:53 ` Luiz Augusto von Dentz
2007-07-05 15:48 ` Fabien Chevalier
2007-07-05 14:12 ` Frederic Dalleau
2007-07-05 15:55 ` Fabien Chevalier
2007-07-05 16:40 ` Brad Midgley
2007-07-06 7:43 ` Fabien Chevalier
2007-07-06 13:12 ` Luiz Augusto von Dentz
2007-07-06 13:32 ` Fabien Chevalier
2007-07-06 13:43 ` Frederic Dalleau
2007-07-06 15:01 ` Luiz Augusto von Dentz
2007-07-06 17:07 ` Fabien Chevalier
2007-07-06 23:44 ` Brad Midgley
2007-07-07 6:29 ` Luiz Augusto von Dentz
2007-07-11 17:33 ` Fabien Chevalier
2007-07-11 21:56 ` Brad Midgley
2007-07-06 15:24 ` Fabien Chevalier
2007-07-06 15:38 ` Frederic Dalleau
2007-07-06 16:56 ` Fabien Chevalier
2007-07-05 12:53 ` Fabien Chevalier
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=2d5a2c100706291110i473d080bv6ba634f0eb8d9deb@mail.gmail.com \
--to=luiz.dentz@gmail.com \
--cc=bluez-devel@lists.sourceforge.net \
/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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox