From: Fabien Chevalier <fabchevalier@free.fr>
To: BlueZ development <bluez-devel@lists.sourceforge.net>
Subject: Re: [Bluez-devel] audio & dbus
Date: Thu, 16 Nov 2006 20:27:34 +0100 [thread overview]
Message-ID: <455CBBA6.8040401@free.fr> (raw)
In-Reply-To: <1163672537.5169.16.camel@localhost>
Hi Marcel & Brad, please find a few questions below:
> Hi Brad,
>
>> fwiw, I'm not sure how to break away from the need to specify the
>> profile for the case of a combo a2dp/sco device.
>
> I am still not convinced that we need to do this kind of things,
Marcel, what do you mean by 'this kind of things' ?
but if
> you really wanna separate this, then we need a more general approach. In
> case of A2DP it can happen that we have two or even more independent
> channels (I know that no such device exists at the moment).
>
> So what you need is some kind of capabilities command and then you can
> use this to create instances for all devices. So my proposal would be
> that we use org.bluez.Audio as a configuration interface (like Manager)
> and then org.bluez.Headset to actually connect, disconnect etc.
>
>> Audio hierarchy (experimental)
>> ==============================
>>
>> Service org.bluez
>> Interface org.bluez.Audio
>>
>> Methods array{string} ListDevices()
>>
>> Return array of bdaddr strings for each audio
>> device we have paired with.
>>
>> void Connect(string identifier, string profile)
>>
>> Opens the control connection to an audio device.
>> Will not open the audio channel until requested
>> by the audio plugin or directly from the
>> application.
>>
>> void Disconnect(string identifier, string profile)
>>
>> Stops audio if it was playing and closes the
>> control connection to the audio device.
>>
>> void Play(string identifier, string profile)
>>
>> Opens the audio stream. Called from the audio
>> plugin or from the application if audio is
>> routed somewhere other than the daemon (eg
>> through PCM, direct to the DSP).
>>
>> void Stop(string identifier, string profile)
>>
>> void Pause(string identifier, string profile)
>>
>> void Resume(string identifier, string profile)
>>
>> void SetIdleDisconnect(string identifier, string profile, int32 delay)
>>
>> Set the idle Stop for the device.
>>
>> Only applicable when audio is routed through the
>> daemon. Stop the stream and emit a signal if
>> delay seconds pass without any audio being sent
>> to the daemon from an application. A value of 0
>> indicates no idle stop; this is the default.
>>
>> int32 GetIdleDisconnect(string identifier, string profile)
Brad : How are we supposed to handle the case when an application
crashes while sending audio data ? Will he have to keep the audio
channel opened forever ?
>
> Timeouts must be in uint32 and name them "timeout". Delay would be used
> in case a process is sent to sleep.
>
>> int32 GetVolume(string identifier, string profile)
>>
>> void SetVolume(string identifier, string profile, int32 volume)
>>
>> Volume is 0..15
>
> And for what reason is this int32. First of all it must be unsigned and
> 16-bit seem to be enough.
>
>> void ChangeVolume(string identifier, string profile, int16 delta)
>>
>> delta is +1 or -1
>
> No. Use IncreaseVolume and DecreaseVolume.
>
>> void AddWiredVoice()
>>
>> Add wired audio output to the voice routing rule
>>
>> void RemoveWiredVoice()
>>
>> Remove wired audio output from the voice routing
>> rule
>
> Not needed at all. This is not our business and the PCM routing will be
> a parameter to the daemon. No need to support PCM and HCI routing at the
> same time.
Marcel, could you provide details on all this PCM routing stuff ?
ALSA already has support for routing aufio through the use of audio plugins.
Maybe it's a bit redundant ?
Cheers,
Fabien
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
next prev parent reply other threads:[~2006-11-16 19:27 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-11-16 6:14 [Bluez-devel] audio & dbus Brad Midgley
2006-11-16 10:22 ` Marcel Holtmann
2006-11-16 15:48 ` Brad Midgley
2006-11-16 16:03 ` Marcel Holtmann
2006-11-16 16:17 ` Johan Hedberg
2006-11-16 16:45 ` Brad Midgley
2006-11-16 17:18 ` Marcel Holtmann
2006-11-17 19:35 ` Brad Midgley
2006-11-17 19:53 ` Brad Midgley
2006-11-16 19:19 ` Brad Midgley
2006-11-16 19:38 ` Fabien Chevalier
2006-11-16 20:45 ` Brad Midgley
2006-11-16 19:27 ` Fabien Chevalier [this message]
2006-11-16 20:36 ` Brad Midgley
2006-11-19 17:20 ` Fabien Chevalier
2006-11-20 1:27 ` Brad Midgley
2006-11-21 19:23 ` Fabien Chevalier
2006-11-21 21:02 ` Brad Midgley
2006-11-22 11:09 ` 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=455CBBA6.8040401@free.fr \
--to=fabchevalier@free.fr \
--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