Hi,  Zheng.Hua:

Thanks very much for your feedback. Please see my comments.

> I don't understand the group concept you mentioned.

Well, I mean the two streams should has the same priority, same conflict
rules. From this view point, they can be taken as ONE stream except the
audio path. In your framework, such case can be handled in an unified
way, no special work.  What I concern is, take them as ONE stream is
benefit for simplify the logic.

> Decode-and-return LPE stream is not supposed to LPERegister itself,
and before decode-and-return LPE stream actually rendered into PA, it is
not a real audio stream. For this scenario, there's only one PA stream
which actually gets data from LPE decode-n-return.

Let me clarify this case more clearly. 
The typical scenario is while you are listening music with speaker, then
BT is paired, and the music should be routed to BT.
When listening with speaker, Fire-and-forget mode is used.  We need to
use LPERegister to register a LPE stream to Audio Manager. And such LPE
stream is correspond to music stream. We can apply policy to such
stream.
When BT is paired, we need to switch form fire-n-forget to
decode-n-return.  I guess for this case, the former LPE stream should be
unregistered, and a PA stream will be created for music stream. Am I
right?   If AM do work like this, there will be a side effects. For AM,
the music stream is first unregister, then register again, a variation
will be introduced into AM policy.

BR
Tie


On Tue, 2010-01-12 at 09:17 +0800, Zheng, Huan wrote:

> >For VOIP application, two streams will be created, one is to remote
> >side, the other is from remote side. For PA, these two streams are
> >separated; for VOIP APP, they should be one group. Does moblin AM has
> >any special consideration on grouped streams?
> For this case, one is capture stream(to remote side), the other is playback 
> stream(from remote side). Playback/capture streams are handled in different 
> ways in AM. I don't understand the group concept you mentioned.
> 
> >About 3g stream, you assume that voice data will bypass PA, the only
> >thing we need to do is register/unregister 3g stream and do related
> >stream control. 
> It's not an assumption, this code is written inside MRST module which is 
> specific for one platform where 3g actually bypass PA. If in your platform, 
> 3g go through PA, it could be handled in different ways in your platform 
> related module.
> >My problem is if voice data need to be render at user space, for
> >example, noise/echo cancellation. And we need to add a special real-time
> >like module to handle voice data. How to manage such kind streams?
> If your 3g implementation is sufficient, and provides API for 
> post-processing, you could just bypass PA, and do your own work separately, 
> just register/unregister your 3g stream when needed. Or, your 3g stream go 
> through PA, you may check whether PA's post processing capability is enough 
> for you(I'm not familiar with this part).
> 
> >The problem is, decode-and-return mode LPE stream is consisted of two types 
> >of stream:
> >decode-and-return stream and PA stream. How to handle such special
> >stream?
> Decode-and-return LPE stream is not supposed to LPERegister itself, and 
> before decode-and-return LPE stream actually rendered into PA, it is not a 
> real audio stream. For this scenario, there's only one PA stream which 
> actually gets data from LPE decode-n-return.
> 
> Best Regards, Zheng, Huan(ZBT)
> OTC/SSD/SSG
> Intel Asia-Pacific Research & Developement Ltd
> Tel: 021-6116 6435
> Inet: 8821 6435
> Cub: 3W035
> 
> -----Original Message-----
> From: tieg [mailto:[email protected]] 
> Sent: 2010年1月11日 18:45
> To: Zheng, Huan
> Cc: [email protected]
> Subject: Audio Streams
> 
> Hi, Zheng Huan:
> 
> In moblin audio manager, all audio streams are managed, no matter the
> streams pass or bypass pulseaudio. 
> 
> According your design document and audio manager source code.  I can
> find three kinds of streams: PA stream, LPE stream, 3g stream.
> 
> Here I would like to do more discussing on stream issues:
> 
> 1. VOIP stream
> 
> For VOIP application, two streams will be created, one is to remote
> side, the other is from remote side. For PA, these two streams are
> separated; for VOIP APP, they should be one group. Does moblin AM has
> any special consideration on grouped streams? 
> 
> 2. Voice Call Stream / 3g stream
> 
> About 3g stream, you assume that voice data will bypass PA, the only
> thing we need to do is register/unregister 3g stream and do related
> stream control. 
> My problem is if voice data need to be render at user space, for
> example, noise/echo cancellation. And we need to add a special real-time
> like module to handle voice data. How to manage such kind streams?
> 
> 3. LPE stream -- decode-and-return mode & fire-and-forget mode
> 
> Switch from fire-and-forget to decode-and-return, a new pa stream need
> to be created to play data coming from LPE. The problem is,
> decode-and-return mode LPE stream is consisted of two types of stream:
> decode-and-return stream and PA stream. How to handle such special
> stream?
> 
> Thanks very much for your time on this email!
> 
> BR
> tieg
> 
_______________________________________________
Moblin dev Mailing List
[email protected]

To manage or unsubscribe from this mailing list visit:
http://lists.moblin.org/listinfo/dev or your user account on http://moblin.org 
once logged in.

For more information on the Moblin Developer Mailing lists visit:
http://moblin.org/community/mailing-lists

Reply via email to