How does this change prevent us overwriting the ALSA buffer? It looks like all 
we are doing is making a different call to write from our internal audio buffer 
to the ALSA API. So if there is a bug in overwriting the ALSA buffer, it would 
seem like it still exists after this change.

Also, is there not an API in ALSA to tell whether or not the buffer you are 
about to overwrite is still "active" (has not been played yet)?

I still don't understand what the bug is, and why this change fixes it.

Eric

On Jan 13, 2010, at 6:59 AM, Deepak Jain wrote:

> In MMAP access mode, we write directly to a memory pointer.
> In the LG-ARM device, when using non-MMAP mode, it looks like jitters 
> are caused by the player overwriting the ALSA buffer.
> When the buffer is full the application should not write into the 
> buffer, otherwise it will overwrite old samples. This looks like what 
> the application is doing.
> 
> Thanks,
> Deepak Jain
> 
> 
> Eric Hyche wrote:
>> Change looks fine, but I'd like to understand more the differences between 
>> the two modes and why MMAP access mode fixes this particular problem. Can 
>> you tell me the difference between these two access modes and why MMAP 
>> access mode is preferable for LG-ARM? Why does changing the access mode fix 
>> this problem of audio "jitters" at startup?
>> 
>> Eric
>> 
>> On Jan 12, 2010, at 6:56 AM, Deepak Jain wrote:
>> 
>> 
>>> Project: Real Player for MID - ARM.
>>> 
>>> Synopsis: Fix for audio jitters on audio start-up on LG-MID ARM device
>>> 
>>> Overview: When we play any file on LG-MID ARM device, we hear small audio 
>>> jitters during playback startup. These jitters remain for 2-3 seconds and 
>>> after that the audio jitters go away.
>>> 
>>> Currently we are using RW access mode. If we use MMAP access mode, and then 
>>> instead of snd_pcm_writei() API, use snd_pcm_mmap_writei() API in 
>>> _WriteBytes(), we do not hear any jitters on start-up.
>>> 
>>> A new config define HELIX_CONFIG_PCM_MMAP is applied for enabling/disabling 
>>> mmap mode.
>>> 
>>> Files Modified:
>>> audio/device/platform/unix/audlinux_alsa.cpp
>>> 
>>> Image Size and Heap Use impact (Client -Only):
>>> None.
>>> 
>>> Platforms and Profiles Affected:
>>> None.
>>> 
>>> Distribution Libraries Affected:
>>> None.
>>> 
>>> Distribution library impact and planned action:
>>> None.
>>> 
>>> Platforms and Profiles Build Verified:
>>> BIF: hxclient_3_4_11_atlas_restricted
>>> Target: player_mid_all_installers
>>> Profile: helix-client-mid-arm
>>> 
>>> Branch:
>>> Atlas_3411
>>> 
>>> Files Attached:
>>> audlinux_alsa.diff
>>> 
>>> Thanks,
>>> Deepak Jain
>>> 
>>> <audlinux_alsa.diff><ATT00001..txt>
>>> 
>> 
>> Eric Hyche (ehy...@real.com)
>> Principal Engineer
>> RealNetworks, Inc.
>> 
>> 
>> 
>> 
> 

Eric Hyche (ehy...@real.com)
Principal Engineer
RealNetworks, Inc.



_______________________________________________
Audio-dev mailing list
Audio-dev@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/audio-dev

Reply via email to