|
|
I see there is a 'SIP_RTP.zip' uploaded on 9/18/2008 in the list with downloads(on lumisoft.ee)? Is it the new version of your lumisoftnet with improved RTP? If it is, is the code ready to use?
|
|
|
|
|
Ye this is total rewrite of old, currently only missing part is jitter buffer.
Any feedback would be welcome ... .
|
|
|
|
|
It looks and works very nice
A few comments
In your example code you use:
packet.Timestamp = (uint)timeStamp;
...
timestamp += 25
BUT the timestamp is not used. When I take a look at what is sent (with Wireshark), it is the same as the squencenumber.
I found the following in the code of lumisoftnet :
buffer[offset++] = (byte)((m_SequenceNumber >> 24) & 0xFF);
buffer[offset++] = (byte)((m_SequenceNumber >> 16) & 0xFF);
buffer[offset++] = (byte)((m_SequenceNumber >> 8) & 0xFF);
buffer[offset++] = (byte)(m_SequenceNumber & 0xFF);
And.. what will happen if the sequencenumber has an 'overflow', is your code able to handle that? (Did not look at that part of the code)
modified on Monday, September 29, 2008 4:09 AM
|
|
|
|
|
Thanks reporting, it's a bug. Now it's fixed i also updated downlaodable version.
Also updated timestamp stuff, +25 not right, RTP clock is no implemented and timestamp value must be aquired from there.
Sequnce number wont overflow, it's wrapped around(if uint exceeded) as RFC says.
Just jjitter buffer and RTP frame constructor must be coded.
Probably must be separate components, because RTP frames used by video payloads only, so audio doesn't need that overhead checks.
|
|
|
|
|
There is a property called 'IsMaker', maybe it has to be 'IsMarker'? (It is a property of the RTP_Packet Class)
modified on Friday, October 31, 2008 7:20 AM
|
|
|
|
|
Yes you are right - this is typo, i fix it.
|
|
|
|
|
hi Ivar Lumi,
i m developing a application in C#, in that i have to record microphone signal and make separate audio files . Can u suggest how to do that.
kindly suggest me.
|
|
|
|
|
Hi,
I dont see any problem, just store mic packets to file, optionally encode mic data before storing.
|
|
|
|
|
i m new to the this type of programming. can u suggest me by giving some code snippet to do this...
|
|
|
|
|
Seems you are lazy, even article example code ammost shows it.
/// <summary>
/// This method is called when recording buffer is full
/// and we need to process it.
/// </summary>
/// <param name="buffer">Recorded data.</param>
private void m_pSoundReceiver_BufferFull(byte[] buffer)
{
// Write audio data to file
}
|
|
|
|
|
HI Ivar Lumi
thanks for giving me your valuable time. Actually i am working on a project in that i have to receive the mobile phone call by PC, and record the voice conversation also. So for that i m using data cable to connect phone and PC. In that by sending AT commands(for Nokia) i m able to receive all the information i need and also control the phone calls also. But for the recording of voice call i m connecting another wire from PC mic/Line in Input to Phone headphone socket, But this make a jubmled structure. So for that i wanna to record the voice from that datacable itself(Becaouse already i am connecting that one). For that i first use the phone as a modem and try with ur code but i m not getting the audio buffers any how.
Is this possible to do that what i m doing or i have to connect it via bluetooth or do the same thing because i have a bluetooth earset(Zabra) for receiving calls.
Kindly help me out in this .
i m using Nokia N 91 Mobile Phone and Vaio PC.
Thanks again for ur valuable suggestions.
|
|
|
|
|
Code works only if mic port connected via audio cable.
Also if you have multiple wave in devices, be ensure that you pass right one to new WavIn(WavIn.Devices ...
|
|
|
|
|
I have tried with ur code in my Sony Vaio(NR series) With MS Windows Vista it is not showing the input device(MIC), i have tested the same code in sony vaio but in different model(CR series) with MS windows XP, there it is working fine.
Then i have search for winmm.dll in both the OS's. I found that dll but both are having different version, so the problem is because of that or windows vista is having some security constraints on accessing devices.
i tried to get some other code also using same dll then i found the same problem. Is there any other way to do this in vista.
*********
As u said that this code works only for wave in devices so i tried to make my pc as mobile headset. in that i m able to do voice chat by using the mic as a input and laptop speaker as a headphone but still in the list it is not showing any item as a audio input.
Kindly help me out in this...
|
|
|
|
|
I have vista x64 and all works, though my user has admin rights.
|
|
|
|
|
Thanks lumi
and sorry for late reply actually that sound card is detected in my system also, the problem is when i put the mic pin in that then only it will show the sound card properties may be some switch is in that which enable ans disable the sound card..
Now i m trying to take the voice data from my mobile conected via USB cable if you have any idea on that kindly reply me..
Again a lot of thanks for your code and time.
|
|
|
|
|
Hi,
I doubt you get easely voice data from pone through usb ... . Also it heavely depends on phone.
|
|
|
|
|
Hi,
I am doing a king of VoIp application and I noticed that a delay is occuring. In the end I find that just by playing back the received input buffer from the microphone the delay was generated (so the problem isn't from network or network code implementation). Do you have any ideea how can I fix this??
Thx. a bunch
asdasdadasd
|
|
|
|
|
Hi,
Firewall may cause that, like in vista firewall on, the voice quality is bad for some reason. I debug it if get more free time.
|
|
|
|
|
Hi again,
The voice quality isn't bad but a delay is consistently building between what I say and what I hear. I tested it and didn;t even care about the other pc who received the voice packets, I just played what I got from WaveIn and noticed the delay.
asdasdadasd
|
|
|
|
|
How about group connection (multiple IP)
unleash the possibilities
|
|
|
|
|
You can use multicast IP then.
|
|
|
|
|
Hello Ivar,
I have been testing your program and i have had problems sending the data over the network. In contrast i've received data from the other end point (not very clear audio, but understandable). Is there some part wrong or is this the behaviour of the program? Maybe i should wait for RTP audio? or you could give me some notes to this problem and go on in this way??
Thank you in advance
Sergio
|
|
|
|
|
Hi,
If network speed is ok and latency not bigger than 50 ms, the voice quality should be as phone quality.
|
|
|
|
|
Hi again,
Thank you for the quickly reply, but i think that this is not my problem because i've tested in my local network, also my internet connection is good. I've been watching the transmited packets between the two points and i don't send anything good. I think that i take always the same number of bytes, but not real bytes i should take from the microphone. Regards as the packet i send, it is not RTP? How is the structure the sended packet?
Sergio Garcia
|
|
|
|