Linux bluetooth development
 help / color / mirror / Atom feed
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

  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