 102b2270c7
			
		
	
	102b2270c7
	
	
	
		
			
			I made several updates to the Windows version as well so that both implementations share a big portion of the code. The underlying PeerConnection notifications have changed a bit since the last update so that there's still a known issue that I plan to fix in my next change: // TODO(tommi): There's a problem now with terminating connections: // When ending a conversation, both peers now send a signaling message // that indicates that their ports are closed (port=0). The trouble this // causes us here is that we can interpret such a message as an invite // to a new conversation. So, currently there is a bug that ending // a conversation can immediately start a new one. // To fix this I plan to change how conversations start and have a special // notification message via the server that prepares a client for a // conversation instead of automatically recognizing the first signaling // message as an invite. Review URL: http://webrtc-codereview.appspot.com/112008 git-svn-id: http://webrtc.googlecode.com/svn/trunk@446 4adac7df-926f-26a2-2b94-8c16560cd09d
		
			
				
	
	
		
			59 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
 | |
|  *
 | |
|  *  Use of this source code is governed by a BSD-style license
 | |
|  *  that can be found in the LICENSE file in the root of the source
 | |
|  *  tree. An additional intellectual property rights grant can be found
 | |
|  *  in the file PATENTS.  All contributing project authors may
 | |
|  *  be found in the AUTHORS file in the root of the source tree.
 | |
|  */
 | |
| 
 | |
| #include <windows.h>
 | |
| 
 | |
| #include "peerconnection/samples/client/conductor.h"
 | |
| #include "peerconnection/samples/client/main_wnd.h"
 | |
| #include "peerconnection/samples/client/peer_connection_client.h"
 | |
| #include "system_wrappers/source/trace_impl.h"
 | |
| #include "talk/base/win32socketinit.h"
 | |
| 
 | |
| 
 | |
| int PASCAL wWinMain(HINSTANCE instance, HINSTANCE prev_instance,
 | |
|                     wchar_t* cmd_line, int cmd_show) {
 | |
|   talk_base::EnsureWinsockInit();
 | |
| 
 | |
|   webrtc::Trace::CreateTrace();
 | |
|   webrtc::Trace::SetTraceFile("peerconnection_client.log");
 | |
|   webrtc::Trace::SetLevelFilter(webrtc::kTraceWarning);
 | |
| 
 | |
|   MainWnd wnd;
 | |
|   if (!wnd.Create()) {
 | |
|     ASSERT(false);
 | |
|     return -1;
 | |
|   }
 | |
| 
 | |
|   PeerConnectionClient client;
 | |
|   Conductor conductor(&client, &wnd);
 | |
| 
 | |
|   // Main loop.
 | |
|   MSG msg;
 | |
|   BOOL gm;
 | |
|   while ((gm = ::GetMessage(&msg, NULL, 0, 0)) && gm != -1) {
 | |
|     if (!wnd.PreTranslateMessage(&msg)) {
 | |
|       ::TranslateMessage(&msg);
 | |
|       ::DispatchMessage(&msg);
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   if (conductor.connection_active() || client.is_connected()) {
 | |
|     while ((conductor.connection_active() || client.is_connected()) &&
 | |
|            (gm = ::GetMessage(&msg, NULL, 0, 0)) && gm != -1) {
 | |
|       if (!wnd.PreTranslateMessage(&msg)) {
 | |
|         ::TranslateMessage(&msg);
 | |
|         ::DispatchMessage(&msg);
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   return 0;
 | |
| }
 |