private void Start_Click(object sender, RoutedEventArgs e) { Console.WriteLine("Inside StartCall Button"); string sIP = "192.168.57.121"; //string sIP = "38.127.68.60"; //string sIP = "60.68.127.38"; int iFriendPort = 60002; int iRet = 0; P2PWrapper p2pWrapper = P2PWrapper.GetInstance(); iRet = p2pWrapper.InitializeLibraryR(100 /*UserID*/); System.Console.WriteLine("MediaEngineLib==> InitializeLibrary, iRet = " + iRet); p2pWrapper.CreateSessionR(200 /*FriendID*/, 1 /*Audio*/, sIP, iFriendPort); p2pWrapper.CreateSessionR(200, 2 /*Video*/, sIP, iFriendPort); p2pWrapper.SetRelayServerInformationR(200, 1, sIP, iFriendPort); p2pWrapper.SetRelayServerInformationR(200, 2, sIP, iFriendPort); iRet = p2pWrapper.StartAudioCallR(200); iRet = p2pWrapper.StartVideoCallR(200, 288 /*Height*/, 352 /*Width*/); System.Diagnostics.Debug.WriteLine("MediaEngineLib==> StartVideoCall, iRet = " + iRet); p2pWrapper.SetLoggingStateR(true, 5); p2pWrapper.LinkWithConnectivityLib(null); AudioSender oAlpha = new AudioSender(); oAlpha.AudioData = System.IO.File.ReadAllBytes(@"AudioSending(1).pcm"); //oAlpha.bStartSending = true; Thread oThread = new Thread(new ThreadStart(oAlpha.StartSendingAudio)); oThread.Start(); }
private void Button_CreateS(object sender, RoutedEventArgs e) { SessionStatus sessionStatus = P2PWrapper.ipv_CreateSession(friendID, ConfigFile.MediaType.IPV_MEDIA_AUDIO, ip, port); if (sessionStatus == SessionStatus.SESSION_CREATE_SUCCESSFULLY) { System.Diagnostics.Debug.WriteLine("Session created Successfully"); } }
private void Stop_Click_1(object sender, RoutedEventArgs e) { Console.WriteLine("Inside EndCall Button"); P2PWrapper p2pWrapper = P2PWrapper.GetInstance(); p2pWrapper.StopAudioCallR(200); p2pWrapper.StopAudioCallR(200); p2pWrapper.CloseSessionR(200, 1); p2pWrapper.CloseSessionR(200, 2); }
private void Button_Click(object sender, RoutedEventArgs e) { P2PWrapper p2pWrapper = P2PWrapper.GetInstance(); Console.WriteLine("Inside CheckCap Button"); p2pWrapper.InitializeLibraryR(100 /*UserID*/); p2pWrapper.LinkWithConnectivityLib(null); //p2pWrapper.CheckDeviceCapabilityR(100, 640, 480, 352, 288); p2pWrapper.CheckDeviceCapabilityR(100, 480, 640, 288, 352); }
public void StartSendingAudio() { while (true) { const int iFixedLengthAudio = 1920; short[] dataToSendAudio = new short[iFixedLengthAudio + 5]; ushort[] dataToSendAudio2 = new ushort[iFixedLengthAudio + 5]; if (AudioDataIndx == 0) { System.Console.WriteLine("C# audio data for the 1st frame"); } for (int i = 0; i < iFixedLengthAudio / 2; i++) { if ((AudioDataIndx + 2 * i + 1) >= iFixedLengthAudio / 2) { break; } ushort left = (ushort)AudioData[AudioDataIndx + 2 * i + 1]; ushort right = (ushort)AudioData[AudioDataIndx + 2 * i]; dataToSendAudio[i] = (short)(right | (left << 8)); dataToSendAudio2[i] = (ushort)(right | (left << 8)); if (AudioDataIndx == 0 && i < 30) { System.Console.Write(" " + (uint)dataToSendAudio2[i]); } } AudioDataIndx += iFixedLengthAudio; if (AudioDataIndx >= AudioData.Length) { AudioDataIndx = 0; } int iRet = P2PWrapper.SendAudioData(200, dataToSendAudio, iFixedLengthAudio / 2); System.IO.File.AppendAllText("log.txt", "P2PWrapper.SendAudioData = " + iRet + "\r\n"); Thread.Sleep(100); } }
public void InitRingIDSDKLib() { //string sIP = "192.168.8.29"; string sIP = "38.127.68.60"; //string sIP = "60.68.127.38"; int iFriendPort = 60007; int iRet = 0; P2PWrapper p2pWrapper = P2PWrapper.GetInstance(); iRet = p2pWrapper.InitializeLibraryR(100 /*UserID*/); System.Console.WriteLine("MediaEngineLib==> InitializeLibrary, iRet = " + iRet); p2pWrapper.CreateSessionR(200 /*FriendID*/, 1 /*Audio*/, sIP, iFriendPort); p2pWrapper.CreateSessionR(200, 2 /*Video*/, sIP, iFriendPort); p2pWrapper.SetRelayServerInformationR(200, 1, sIP, iFriendPort); p2pWrapper.SetRelayServerInformationR(200, 2, sIP, iFriendPort); iRet = p2pWrapper.StartAudioCallR(200); iRet = p2pWrapper.StartVideoCallR(200, height /*Height*/, width /*Width*/); System.Diagnostics.Debug.WriteLine("MediaEngineLib==> StartVideoCall, iRet = " + iRet); p2pWrapper.SetLoggingStateR(true, 5); p2pWrapper.LinkWithConnectivityLib(null); }
public void TestShortData(short[] dataToSendAudio, int iLen) { for (int i = 0; i < iLen; i++) { byte left = (byte)(dataToSendAudio[i] >> 8); byte right = (byte)(dataToSendAudio[i]); tempByte[i * 2] = left; tempByte[i * 2 + 1] = right; } if (tempByteCheck == 0) { System.IO.File.WriteAllBytes("TestShortData.pcm", tempByte); tempByteCheck++; } else { System.Console.WriteLine("Writing to TestShortData.pcm"); P2PWrapper.AppendAllBytes("TestShortData.pcm", tempByte); } }
public int BufferCB(double sampleTime, IntPtr pBuffer, int bufferLen) { Console.WriteLine("VampireEngg--> TimeDiff = " + (GetCurrentTimeStamp() - lastFrame)); lastFrame = GetCurrentTimeStamp(); iFpsControl++; //if (iFpsControl % 2 == 1) return 0; Marshal.Copy(pBuffer, TempFrameRGB24, 0, bufferLen); //P2PWrapper.iRenderHeight = height; //P2PWrapper.iRenderWidth = width; //P2PWrapper.framesQueue.Enqueue(TempFrameRGB24); int iRet = P2PWrapper.GetInstance().SendVideoDataR(200, TempFrameRGB24, bufferLen, 1, 0); //Console.WriteLine("VampireENgg--> Capturing RGB24 Data..... bufferLen = " + bufferLen + ", Returned = " + iRet); return(0); /* * //Console.WriteLine("VampireENgg--> bufferLen = " + (bufferLen - width * height * 3) ); * * * byte[] TempFrame = new byte[width * height * 3]; * byte[] YUVI420 = new byte[width * height * 3/2]; * * //capturedYUY2Buffer = new byte[bufferLen]; * // Marshal.Copy(pBuffer, capturedYUY2Buffer, 0, bufferLen); * * Marshal.Copy(pBuffer, TempFrame, 0, bufferLen); * * //YUY2ToI420(capturedYUY2Buffer, outputYUV420, width, height); * * //P2PWrapper.SendVideoData(200, capturedYUY2Buffer, capturedYUY2Buffer.Length, 1); * long milliseconds, milliseconds2; * * milliseconds = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond; * TransformRGB24(TempFrame, YUVI420, width, height); * milliseconds2 = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond - milliseconds; * Console.WriteLine("RGB2YUV420Managed2 time = " + milliseconds2); * * if (iTemp == 0) * { * System.IO.File.WriteAllBytes("TestYuv420.yuv", YUVI420); * iTemp = 1; * } * else * { * P2PWrapper.AppendAllBytes("TestYuv420.yuv", YUVI420); * } * * * milliseconds = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond; * YUV2RGBManaged2(outputYUV420, TempFrame, width, height); * milliseconds2 = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond - milliseconds; * Console.WriteLine("YUV2RGBManaged2 time = " + milliseconds2); * * * * * * * Console.WriteLine("TheKing-->BufferCB: " + bufferLen); * for (int i = 0; i < 10; i++) * { * Console.Write(TempFrame[i] + " "); * } * Console.WriteLine(""); * * P2PWrapper.framesQueue.Enqueue(TempFrame); * //frameArrived = true; * * return 0; */ }
public void Beta() { const int iFixedLength = 640 * 480 * 3 / 2; const int iFixedLengthAudio = 160; TestB = new byte[20]; TestS = new short[10]; for (int i = 0; i < 20; i++) { TestB[i] = (byte)i; } for (int i = 0; i < 10; i++) { short right = (short)TestB[2 * i + 1]; short left = (short)TestB[2 * i]; TestS[i] = (short)(right | (left << 8)); } //Array.Copy(TestB, TestS, TestS.Length); byte[] dataToSend = new byte[iFixedLength + 5]; short[] dataToSendAudio = new short[iFixedLengthAudio + 5]; ushort[] dataToSendAudio2 = new ushort[iFixedLengthAudio + 5]; while (true) { // Console.WriteLine("Alpha.Beta is running in its own thread."); if (icounttttt == 0) { System.IO.File.WriteAllText("log.txt", "running\r\n"); } else { System.IO.File.AppendAllText("log.txt", "running\r\n"); } icounttttt++; //MediaEngineWork for (int i = VideoDataIndx, indx = 0; i < VideoDataIndx + iFixedLength && i < VideoData.Length; i++, indx++) { dataToSend[indx] = VideoData[i]; } VideoDataIndx += iFixedLength; if (VideoDataIndx >= VideoData.Length) { VideoDataIndx = 0; } Thread.Sleep(33); /*for(int i=AudioDataIndx, indx = 0; i <AudioDataIndx+iFixedLengthAudio && i<AudioData.Length; i+=2, indx++) * { * short right = (short)AudioData[i + 1]; * short left = (short)AudioData[i]; * dataToSendAudio[indx] = (short)(right | (left << 8)); * * }*/ if (AudioDataIndx == 0) { System.Console.WriteLine("C# audio data for the 1st frame"); } for (int i = 0; i < iFixedLengthAudio / 2; i++) { ushort left = (ushort)AudioData[AudioDataIndx + 2 * i + 1]; ushort right = (ushort)AudioData[AudioDataIndx + 2 * i]; dataToSendAudio[i] = (short)(right | (left << 8)); dataToSendAudio2[i] = (ushort)(right | (left << 8)); if (AudioDataIndx == 0 && i < 30) { System.Console.Write(" " + (uint)dataToSendAudio2[i]); } } AudioDataIndx += iFixedLengthAudio; if (AudioDataIndx >= AudioData.Length) { AudioDataIndx = 0; } //TestShortData(dataToSendAudio, iFixedLengthAudio / 2); int iRet; iRet = P2PWrapper.SendVideoData(200, dataToSend, iFixedLength, 0, 0); iRet = P2PWrapper.SendAudioData(200, dataToSendAudio, iFixedLengthAudio / 2); System.IO.File.AppendAllText("log.txt", "P2PWrapper.SendAudioData = " + iRet + "\r\n"); Thread.Sleep(33); } }
private void Button_Destroy(object sender, RoutedEventArgs e) { P2PWrapper.ipv_Release(); }
private void Button_Disconnect(object sender, RoutedEventArgs e) { P2PWrapper.ipv_CloseSession(friendID, ConfigFile.MediaType.IPV_MEDIA_AUDIO); }