>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
