Changes between Version 2 and Version 4 of Ticket #504


Ignore:
Timestamp:
Mar 12, 2008 9:52:37 AM (13 years ago)
Author:
bennylp
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #504

    • Property Owner changed from nanang to bennylp
    • Property Status changed from new to assigned
    • Property Summary changed from Problem in multichannel audio to Fixed support for stereo audio all the way in pjmedia
  • Ticket #504 – Description

    v2 v4  
    11Identified issues: 
    2  - The PA callbacks implementations contains wrong assertion, because of samples_per_frame misinterpretation (thanks Rodrigo Vega, http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/2008-March/001974.html): 
     2 1. The PA callbacks implementations contains wrong assertion, because of samples_per_frame misinterpretation (thanks Rodrigo Vega, http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/2008-March/001974.html): 
    33   - Soundport's samples_per_frame is total samples number per frame of ALL channels. 
    44   - While PA's frameCount refers to number of samples for EACH channel. 
    5  - Lack of channel_count multiplication in samples_per_frame calculation in some parts of stream causing silence in stereo audio call. 
    6  - STEREO_DEMO in pjsua causing crash in PortAudio without call (perhaps because of some pointer to PA buffer get overwritten) 
     5 1. Lack of channel_count multiplication in samples_per_frame calculation in some parts of stream causing silence in stereo audio call. 
     6 1. STEREO_DEMO in pjsua causing crash in !PortAudio without call (perhaps because of some pointer to PA buffer get overwritten) 
     7 1. Add {{{channel_count}}} field in {{{pjsua_media_config}}} to configure number of channels for both sound device and conference bridge. Add {{{--stereo}}} option in pjsua to change set this {{{channel_count}}} field to 2. 
     8 1. Create two utility functions to: 
     9   1. convert one mono channel audio frame to N-channel audio frame. Just duplicate the sample to all channels. 
     10   1. convert N-channel audio from to mono audio frame. The function should have an option to either mix sample from all the channels into one channel, or to just take audio samples from one of the channel. 
     11   To make the implementation simpler, we can just implement these two functions as inline functions in a new header file (e.g., {{{stereo.h}}}) rather than a media port. 
     12 1. Use these channel conversion functions in the conference bridge, to convert audio samples from media ports when the media port has different channel number with the conference bridge. 
     13