|
too less explanation.........if we had the ability to write the code on our own why would we look for it online...
|
|
|
|
|
Thank you. But what about license to use Lumisoft's libraries?
Can I use Lumisoft's libraries in my applications?
|
|
|
|
|
Hi,
(license blelow: the main purpose of it is to protect my work, while allow evry one to use it free)
General usage terms:
*) If you use/redistribute compiled binary, there are no restrictions.
You can use it in any project, commercial and no-commercial.
*) It's allowed to complile source code parts to your application,
but then you may not rename class names and namespaces.
*) Anything is possible, if special agreement between LumiSoft.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
|
|
|
Thank you! If you need anything from me, by way of saying thanks, please let me know!
-Brendan
|
|
|
|
|
Hi Ivar,
is there allready a RTP-implementation of this nice application ready to test?
- Markus
|
|
|
|
|
|
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.
|
|
|
|