|Subject:||Re: [Linphone-developers] Oss driver support|
|Date:||Thu, 31 Mar 2005 17:00:01 +0600|
For 8000 Hz sampling with 16 but size,for every 20ms the read function need to read 320 bytes,
For PC to PC with oss driver works fine without any modification in r->gran(=(512*r->freq)/8000 )
But only think I had to trigger sound card to using dummy read call in oss_open function , I mean I added the following line at the end of oss_open
After this oss_card_can_read function worked properly for my sound card driver (in pc via82xx, in db1100 au1000 both are oss based)
now the PC works fine with oss driver and linphone,
In DB1100 ,When r->gran is 512*r->freq)/8000 ( = 512) ,read function is called to read 512 bytes, but it returns with some number of bytes less than 512.
When I change r->gran = 160 * 2 ,it work with some noise 1 to 2 sec delay.
In this case oss_card_read function read 512 and return only requested 160 * 2 )value and return remaining in the next read call,here
In this case , driver read linphone higher layer receive 320 bytes first and 192 bytes in second attempt,since the second one can not be processes it read again, in this way it give much delay I guess.
But I set r->gran = 160 * 2 ; and in oss_card_read function I forced to read 320(=size) instead of reading bsize(=512) of bytes
Now linphone works fine without delay or noise in DB1100 board over Ethernet.
Now it is created the problem ,when I terminate the call after longtime kept connected,it give segmentation error at mediastreamer library.
Is this because of the changes in osscard.c file or for some other reason ?
|[Prev in Thread]||Current Thread||[Next in Thread]|