<commit_before>Only in libjingle-0.4.0: Makefile.in
diff -r libjingle-0.4.0/README libjingle/files/README
1,39c1,39
< Libjingle
< 
< Libjingle is a set of components provided by Google to interoperate with Google
< Talk's peer-to-peer and voice capabilities. This package will create several
< static libraries you may link to your project as needed.
< 
< -talk               - No source files in talk/, just these subdirectories
< |-base              - Contains basic low-level portable utility functions for 
< |                     things like threads and sockets
< |-p2p               - The P2P stack
<   |-base            - Base p2p functionality
<   |-client          - Hooks to tie it into XMPP
< |-session           - Signaling
<   |-phone           - Signaling code specific to making phone calls
< |-third_party       - Components that aren't ours
<   |-mediastreamer   - Media components for dealing with sound hardware and 
<   |                   voice codecs
< |-xmllite           - XML parser
< |-xmpp              - XMPP engine
< 
< In addition, this package contains two examples in talk/examples which 
< illustrate the basic concepts of how the provided classes work.
< 
< The xmllite component of libjingle depends on expat. You can download expat 
< from http://expat.sourceforge.net/.
< 
< mediastreamer, the media components used by the example applications depend on
< the oRTP and iLBC components from linphone, which can be found at 
< http://www.linphone.org. Linphone, in turn depends on GLib, which can be found
< at http://www.gtk.org. This GLib dependency should be removed in future 
< releases.
< 
< Building Libjingle
< 
< Once the dependencies are installed, run ./configure. ./configure will return
< an error if it failed to locate the proper dependencies. If ./configure
< succeeds, run 'make' to build the components and examples.
< 
< When the build is complete, you can run the call example from 
---
> Libjingle
> 
> Libjingle is a set of components provided by Google to interoperate with Google
> Talk's peer-to-peer and voice capabilities. This package will create several
> static libraries you may link to your project as needed.
> 
> -talk               - No source files in talk/, just these subdirectories
> |-base              - Contains basic low-level portable utility functions for 
> |                     things like threads and sockets
> |-p2p               - The P2P stack
>   |-base            - Base p2p functionality
>   |-client          - Hooks to tie it into XMPP
> |-session           - Signaling
>   |-phone           - Signaling code specific to making phone calls
> |-third_party       - Components that aren't ours
>   |-mediastreamer   - Media components for dealing with sound hardware and 
>   |                   voice codecs
> |-xmllite           - XML parser
> |-xmpp              - XMPP engine
> 
> In addition, this package contains two examples in talk/examples which 
> illustrate the basic concepts of how the provided classes work.
> 
> The xmllite component of libjingle depends on expat. You can download expat 
> from http://expat.sourceforge.net/.
> 
> mediastreamer, the media components used by the example applications depend on
> the oRTP and iLBC components from linphone, which can be found at 
> http://www.linphone.org. Linphone, in turn depends on GLib, which can be found
> at http://www.gtk.org. This GLib dependency should be removed in future 
> releases.
> 
> Building Libjingle
> 
> Once the dependencies are installed, run ./configure. ./configure will return
> an error if it failed to locate the proper dependencies. If ./configure
> succeeds, run 'make' to build the components and examples.
> 
> When the build is complete, you can run the call example from 
41,57c41,57
< 
< Relay Server
< 
< Libjingle will also build a relay server that may be used to relay traffic
< when a direct peer-to-peer connection could not be established. The relay
< server will build in talk/p2p/base/relayserver and will listen on UDP
< ports 5000 and 5001. See the Libjingle Developer Guide at 
< http://code.google.com/apis/talk/index.html for information about configuring
< a client to use this relay server.
< 
< STUN Server
< 
< Lastly, Libjingle builds a STUN server which implements the STUN protocol for
< Simple Traversal of UDP over NAT. The STUN server is built as
< talk/p2p/base/stunserver and listens on UDP port 7000. See the Libjingle
< Developer Guide at http://code.google.com/apis/talk/index.html for information
< about configuring a client to use this STUN server.
---
> 
> Relay Server
> 
> Libjingle will also build a relay server that may be used to relay traffic
> when a direct peer-to-peer connection could not be established. The relay
> server will build in talk/p2p/base/relayserver and will listen on UDP
> ports 5000 and 5001. See the Libjingle Developer Guide at 
> http://code.google.com/apis/talk/index.html for information about configuring
> a client to use this relay server.
> 
> STUN Server
> 
> Lastly, Libjingle builds a STUN server which implements the STUN protocol for
> Simple Traversal of UDP over NAT. The STUN server is built as
> talk/p2p/base/stunserver and listens on UDP port 7000. See the Libjingle
> Developer Guide at http://code.google.com/apis/talk/index.html for information
> about configuring a client to use this STUN server.
diff -r libjingle-0.4.0/README.win libjingle/files/README.win
1,24c1,24
< 1. Install Visual C++ Express 2005.  It is free from this link:
<    http://msdn.microsoft.com/vstudio/express/visualc/
< 
< 2. Install the platform SDK and integrate it into VC++ express
<    http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
< 
< 3. Download and install binary package for expat:
<    http://sourceforge.net/project/showfiles.php?group_id=10127&package_id=11277
< 
< 4. Update the Visual C++ directories in the Projects and Solutions section in the Options dialog box
<    Library files: C:\expat-VERSION\StaticLibs
<    Include files: C:\expat-VERSION\Source\Lib
<    where VERSION is the version of expat you've downoaded
< 
< 5. Unzip the libjingle files and open the solution.
< 
< 6. If you wish to build the call example with GIPS Voice Engine Lite, download Voice Engine Lite from http://developer.globalipsound.com
< 
< 7. Extract the Interface and Library directories from the Voice Engine Lite zip file into talk\third_party\gips
< 
< 8. Open talk\third_party\gips\expiration.h and set the GIPS_EXPIRATION #defines to the expiration date provided by GIPS and remove the #error directive
< 
< 9. Build the solution
< 
---
> 1. Install Visual C++ Express 2005.  It is free from this link:
>    http://msdn.microsoft.com/vstudio/express/visualc/
> 
> 2. Install the platform SDK and integrate it into VC++ express
>    http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
> 
> 3. Download and install binary package for expat:
>    http://sourceforge.net/project/showfiles.php?group_id=10127&package_id=11277
> 
> 4. Update the Visual C++ directories in the Projects and Solutions section in the Options dialog box
>    Library files: C:\expat-VERSION\StaticLibs
>    Include files: C:\expat-VERSION\Source\Lib
>    where VERSION is the version of expat you've downoaded
> 
> 5. Unzip the libjingle files and open the solution.
> 
> 6. If you wish to build the call example with GIPS Voice Engine Lite, download Voice Engine Lite from http://developer.globalipsound.com
> 
> 7. Extract the Interface and Library directories from the Voice Engine Lite zip file into talk\third_party\gips
> 
> 8. Open talk\third_party\gips\expiration.h and set the GIPS_EXPIRATION #defines to the expiration date provided by GIPS and remove the #error directive
> 
> 9. Build the solution
> 
Only in libjingle-0.4.0: aclocal.m4
Only in libjingle-0.4.0: config.guess
diff -r libjingle-0.4.0/config.h libjingle/files/config.h
14c14
< #define HAVE_ALSA_ASOUNDLIB_H 1
---
> /* #undef HAVE_ALSA_ASOUNDLIB_H */
23c23
< #define HAVE_GLIB 1
---
> /* #undef HAVE_GLIB */
38c38
< #define HAVE_ORTP 1
---
> /* #undef HAVE_ORTP */
41c41
< #define HAVE_SPEEX 1
---
> /* #undef HAVE_SPEEX */
47c47
< #define HAVE_SPEEX_SPEEX_H 1
---
> /* #undef HAVE_SPEEX_SPEEX_H */
71c71
< #define LINUX 1
---
> /* #undef LINUX */
113c113
< #define __ALSA_ENABLED__ 1
---
> /* #undef __ALSA_ENABLED__ */
Only in libjingle-0.4.0: config.h.in
Only in libjingle-0.4.0: config.sub
Only in libjingle-0.4.0: configure
Only in libjingle-0.4.0: depcomp
Only in libjingle-0.4.0: install-sh
Only in libjingle-0.4.0: ltmain.sh
Only in libjingle-0.4.0: missing
Only in libjingle-0.4.0/talk: Makefile.in
Only in libjingle-0.4.0/talk/base: Makefile.in
diff -r libjingle-0.4.0/talk/base/asynchttprequest.cc libjingle/files/talk/base/asynchttprequest.cc
73c73
<     talk_base::SSLAdapter * ssl_adapter = talk_base::SSLAdapter::Create(socket);
---
>     talk_base::SSLAdapter * ssl_adapter = factory_->CreateSSLAdapter(socket);
75c75,81
<     ssl_adapter->StartSSL(hostname_.c_str(), true);
---
>     int error = ssl_adapter->StartSSL(hostname_.c_str(),
>                                       use_restartable_ssl_sockets_);
>     if (error != 0) {
>       LOG(LS_WARNING) << "Could not start SSL; error = " << error;
>       delete ssl_adapter;
>       return 0;
>     }
diff -r libjingle-0.4.0/talk/base/asynchttprequest.h libjingle/files/talk/base/asynchttprequest.h
23,24c23
<   public SignalThread,
<   public sigslot::has_slots<> {
---
>   public SignalThread {
106c105,106
<       binary_mode_(false), agent_(user_agent) { }
---
>       binary_mode_(false), agent_(user_agent),
>       ignore_bad_cert_(false), use_restartable_ssl_sockets_(false) { }
114a115,120
>   bool use_restartable_ssl_sockets() const {
>     return use_restartable_ssl_sockets_;
>   }
>   void SetUseRestartableSSLSockets(bool use_restartable_ssl_sockets) {
>     use_restartable_ssl_sockets_ = use_restartable_ssl_sockets;
>   }
133a140
>   bool use_restartable_ssl_sockets_;
diff -r libjingle-0.4.0/talk/base/asynctcpsocket.cc libjingle/files/talk/base/asynctcpsocket.cc
31a32,33
> #include <cstring>
> 
diff -r libjingle-0.4.0/talk/base/autodetectproxy.cc libjingle/files/talk/base/autodetectproxy.cc
29c29
< #include "talk/base/httpcommon.h"
---
> #include "talk/base/httpcommon-inl.h"
114c114
<   Thread::Current()->MessageQueue::Stop();
---
>   Thread::Current()->Quit();
diff -r libjingle-0.4.0/talk/base/autodetectproxy.h libjingle/files/talk/base/autodetectproxy.h
22c22
< class AutoDetectProxy : public SignalThread, public sigslot::has_slots<> {
---
> class AutoDetectProxy : public SignalThread {
diff -r libjingle-0.4.0/talk/base/base64.h libjingle/files/talk/base/base64.h
26,27c26,27
<   static const std::string Base64::Base64Table;
<   static const std::string::size_type Base64::DecodeTable[];
---
>   static const std::string Base64Table;
>   static const std::string::size_type DecodeTable[];
diff -r libjingle-0.4.0/talk/base/common.h libjingle/files/talk/base/common.h
54c54
< #define stdmax(x,y) max(x,y)
---
> #define stdmax(x,y) _max(x,y)
114,119d113
< // A macro to disallow the evil copy constructor and operator= functions
< // This should be used in the private: declarations for a class
< #define DISALLOW_EVIL_CONSTRUCTORS(TypeName)    \
<   TypeName(const TypeName&);                    \
<   void operator=(const TypeName&)
< 
diff -r libjingle-0.4.0/talk/base/criticalsection.h libjingle/files/talk/base/criticalsection.h
39c39
< #ifdef _DEBUG
---
> #if !defined(NDEBUG)
41c41
< #endif  // _DEBUG
---
> #endif  // !defined(NDEBUG)
83c83
< public:
---
>  public:
85a86
>     pthread_mutexattr_init(&mutex_attribute);
87a89,90
>     pthread_mutexattr_destroy(&mutex_attribute);
>     TRACK_OWNER(thread_ = 0);
93a97
>     TRACK_OWNER(thread_ = pthread_self());
95a100
>     TRACK_OWNER(thread_ = 0);
98c103,110
< private:
---
> 
> #if CS_TRACK_OWNER
>   bool CurrentThreadIsOwner() const {
>     return pthread_equal(thread_, pthread_self());
>   }
> #endif  // CS_TRACK_OWNER
> 
>  private:
99a112
>   TRACK_OWNER(pthread_t thread_);
diff -r libjingle-0.4.0/talk/base/cryptstring.h libjingle/files/talk/base/cryptstring.h
30a31
> #include <string.h>
diff -r libjingle-0.4.0/talk/base/diskcache.cc libjingle/files/talk/base/diskcache.cc
43c43
< #ifdef _DEBUG
---
> #if !defined(NDEBUG)
45c45
< #else  // !_DEBUG
---
> #else  // defined(NDEBUG)
47c47
< #endif  // !_DEBUG
---
> #endif  // !defined(NDEBUG)
231c231
< #ifdef _DEBUG
---
> #if !defined(NDEBUG)
238c238
< #endif  // _DEBUG
---
> #endif  // !defined(NDEBUG)
diff -r libjingle-0.4.0/talk/base/diskcache_win32.cc libjingle/files/talk/base/diskcache_win32.cc
38c38
<       entry->streams = max(entry->streams, index + 1);
---
>       entry->streams = _max(entry->streams, index + 1);
diff -r libjingle-0.4.0/talk/base/helpers.cc libjingle/files/talk/base/helpers.cc
38a39
> #include <wincrypt.h>
diff -r libjingle-0.4.0/talk/base/host.cc libjingle/files/talk/base/host.cc
30a31
> #include <cstdlib>
diff -r libjingle-0.4.0/talk/base/httpclient.cc libjingle/files/talk/base/httpclient.cc
670a671
>         HttpAuthContext *context = context_.get();
676c677,678
<           *context_.use(), response, auth_method);
---
>           context, response, auth_method);
>         context_.reset(context);
diff -r libjingle-0.4.0/talk/base/httpcommon.h libjingle/files/talk/base/httpcommon.h
172c172
< inline const uint16 UrlDefaultPort(bool secure) {
---
> inline uint16 UrlDefaultPort(bool secure) {
diff -r libjingle-0.4.0/talk/base/logging.cc libjingle/files/talk/base/logging.cc
27a28
> #include <stdio.h>
76c77
< #if _DEBUG
---
> #if LOGGING
78c79
< #else  // !_DEBUG
---
> #else
80c81
< #endif  // !_DEBUG
---
> #endif
diff -r libjingle-0.4.0/talk/base/logging.h libjingle/files/talk/base/logging.h
67a68,69
> 
> #if defined(SAFE_TO_DEFINE_TALK_BASE_LOGGING_MACROS)
70a73
> #endif // defined(SAFE_TO_DEFINE_TALK_BASE_LOGGING_MACROS)
195a199
> #if defined(SAFE_TO_DEFINE_TALK_BASE_LOGGING_MACROS)
197c201
< #if defined(_DEBUG) && !defined(NDEBUG)
---
> #if !defined(NDEBUG)
290a295
> #endif  // defined(SAFE_TO_DEFINE_TALK_BASE_LOGGING_MACROS)
diff -r libjingle-0.4.0/talk/base/messagequeue.cc libjingle/files/talk/base/messagequeue.cc
98,99c98,99
<     new_ss = true;
<     ss_ = new PhysicalSocketServer();
---
>     default_ss_.reset(new PhysicalSocketServer());
>     ss_ = default_ss_.get();
103a104,107
>   // The signal is done from here to ensure
>   // that it always gets called when the queue
>   // is going away.
>   SignalQueueDestroyed();
108,109d111
<   if (new_ss)
<     delete ss_;
113,115d114
<   if (new_ss)
<     delete ss_;
<   new_ss = false;
119c118
< void MessageQueue::Stop() {
---
> void MessageQueue::Quit() {
124c123
< bool MessageQueue::IsStopping() {
---
> bool MessageQueue::IsQuitting() {
diff -r libjingle-0.4.0/talk/base/messagequeue.h libjingle/files/talk/base/messagequeue.h
35a36
> #include "talk/base/scoped_ptr.h"
162,164c163,164
< 
<   virtual void Stop();
<   virtual bool IsStopping();
---
>   virtual void Quit();
>   virtual bool IsQuitting();
188a189,192
>   // When this signal is sent out, any references to this queue should
>   // no longer be used.
>   sigslot::signal0<> SignalQueueDestroyed;
> 
192a197,198
>   // If a server isn't supplied in the constructor, use this one.
>   scoped_ptr<SocketServer> default_ss_;
diff -r libjingle-0.4.0/talk/base/natserver.cc libjingle/files/talk/base/natserver.cc
28a29
> #include <cstring>
diff -r libjingle-0.4.0/talk/base/natsocketfactory.cc libjingle/files/talk/base/natsocketfactory.cc
29a30
> #include <cstring>
diff -r libjingle-0.4.0/talk/base/openssladapter.cc libjingle/files/talk/base/openssladapter.cc
619c619
< #ifdef _DEBUG
---
> #if !defined(NDEBUG)
707c707
< #if _DEBUG
---
> #if !defined(NDEBUG)
736c736
< #endif  // _DEBUG
---
> #endif  // !defined(NDEBUG)
740c740
< #if _DEBUG
---
> #if !defined(NDEBUG)
798c798
< #ifdef _DEBUG
---
> #if !defined(NDEBUG)
diff -r libjingle-0.4.0/talk/base/openssladapter.h libjingle/files/talk/base/openssladapter.h
72c72
< #if _DEBUG
---
> #if !defined(NDEBUG)
74c74
< #endif  // !_DEBUG
---
> #endif  // !defined(NDEBUG)
diff -r libjingle-0.4.0/talk/base/physicalsocketserver.cc libjingle/files/talk/base/physicalsocketserver.cc
61a62
> #include "talk/base/winsock_initializer.h"
67,86d67
< #ifdef WIN32
< class WinsockInitializer {
< public:
<   WinsockInitializer() {
<     WSADATA wsaData;
<     WORD wVersionRequested = MAKEWORD(1, 0);
<     err_ = WSAStartup(wVersionRequested, &wsaData);
<   }
<   ~WinsockInitializer() {
<     WSACleanup();
<   }
<   int error() {
<     return err_;
<   }
< private:
<   int err_;
< };
< WinsockInitializer g_winsockinit;
< #endif
< 
124a106,108
> #ifdef WIN32
>     EnsureWinsockInit();
> #endif
187c171,177
<       addr2.Resolve(); // TODO: Do this async later?
---
>       // TODO: Do this async later?
>       if (!addr2.Resolve()) {
>         LOG(LS_ERROR) << "Resolving addr failed";
>         UpdateLastError();
>         Close();
>         return SOCKET_ERROR;
>       }
diff -r libjingle-0.4.0/talk/base/proxydetect.cc libjingle/files/talk/base/proxydetect.cc
205,206c205,206
<   const char* list = slist.c_str();
<   while (*list) {<commit_msg>Updated libjingle diff.<commit_after>Only in libjingle-0.4.0: Makefile.in
diff -r libjingle-0.4.0/README libjingle/files/README
1,39c1,39
< Libjingle
< 
< Libjingle is a set of components provided by Google to interoperate with Google
< Talk's peer-to-peer and voice capabilities. This package will create several
< static libraries you may link to your project as needed.
< 
< -talk               - No source files in talk/, just these subdirectories
< |-base              - Contains basic low-level portable utility functions for 
< |                     things like threads and sockets
< |-p2p               - The P2P stack
<   |-base            - Base p2p functionality
<   |-client          - Hooks to tie it into XMPP
< |-session           - Signaling
<   |-phone           - Signaling code specific to making phone calls
< |-third_party       - Components that aren't ours
<   |-mediastreamer   - Media components for dealing with sound hardware and 
<   |                   voice codecs
< |-xmllite           - XML parser
< |-xmpp              - XMPP engine
< 
< In addition, this package contains two examples in talk/examples which 
< illustrate the basic concepts of how the provided classes work.
< 
< The xmllite component of libjingle depends on expat. You can download expat 
< from http://expat.sourceforge.net/.
< 
< mediastreamer, the media components used by the example applications depend on
< the oRTP and iLBC components from linphone, which can be found at 
< http://www.linphone.org. Linphone, in turn depends on GLib, which can be found
< at http://www.gtk.org. This GLib dependency should be removed in future 
< releases.
< 
< Building Libjingle
< 
< Once the dependencies are installed, run ./configure. ./configure will return
< an error if it failed to locate the proper dependencies. If ./configure
< succeeds, run 'make' to build the components and examples.
< 
< When the build is complete, you can run the call example from 
---
> Libjingle
> 
> Libjingle is a set of components provided by Google to interoperate with Google
> Talk's peer-to-peer and voice capabilities. This package will create several
> static libraries you may link to your project as needed.
> 
> -talk               - No source files in talk/, just these subdirectories
> |-base              - Contains basic low-level portable utility functions for 
> |                     things like threads and sockets
> |-p2p               - The P2P stack
>   |-base            - Base p2p functionality
>   |-client          - Hooks to tie it into XMPP
> |-session           - Signaling
>   |-phone           - Signaling code specific to making phone calls
> |-third_party       - Components that aren't ours
>   |-mediastreamer   - Media components for dealing with sound hardware and 
>   |                   voice codecs
> |-xmllite           - XML parser
> |-xmpp              - XMPP engine
> 
> In addition, this package contains two examples in talk/examples which 
> illustrate the basic concepts of how the provided classes work.
> 
> The xmllite component of libjingle depends on expat. You can download expat 
> from http://expat.sourceforge.net/.
> 
> mediastreamer, the media components used by the example applications depend on
> the oRTP and iLBC components from linphone, which can be found at 
> http://www.linphone.org. Linphone, in turn depends on GLib, which can be found
> at http://www.gtk.org. This GLib dependency should be removed in future 
> releases.
> 
> Building Libjingle
> 
> Once the dependencies are installed, run ./configure. ./configure will return
> an error if it failed to locate the proper dependencies. If ./configure
> succeeds, run 'make' to build the components and examples.
> 
> When the build is complete, you can run the call example from 
41,57c41,57
< 
< Relay Server
< 
< Libjingle will also build a relay server that may be used to relay traffic
< when a direct peer-to-peer connection could not be established. The relay
< server will build in talk/p2p/base/relayserver and will listen on UDP
< ports 5000 and 5001. See the Libjingle Developer Guide at 
< http://code.google.com/apis/talk/index.html for information about configuring
< a client to use this relay server.
< 
< STUN Server
< 
< Lastly, Libjingle builds a STUN server which implements the STUN protocol for
< Simple Traversal of UDP over NAT. The STUN server is built as
< talk/p2p/base/stunserver and listens on UDP port 7000. See the Libjingle
< Developer Guide at http://code.google.com/apis/talk/index.html for information
< about configuring a client to use this STUN server.
---
> 
> Relay Server
> 
> Libjingle will also build a relay server that may be used to relay traffic
> when a direct peer-to-peer connection could not be established. The relay
> server will build in talk/p2p/base/relayserver and will listen on UDP
> ports 5000 and 5001. See the Libjingle Developer Guide at 
> http://code.google.com/apis/talk/index.html for information about configuring
> a client to use this relay server.
> 
> STUN Server
> 
> Lastly, Libjingle builds a STUN server which implements the STUN protocol for
> Simple Traversal of UDP over NAT. The STUN server is built as
> talk/p2p/base/stunserver and listens on UDP port 7000. See the Libjingle
> Developer Guide at http://code.google.com/apis/talk/index.html for information
> about configuring a client to use this STUN server.
diff -r libjingle-0.4.0/README.win libjingle/files/README.win
1,24c1,24
< 1. Install Visual C++ Express 2005.  It is free from this link:
<    http://msdn.microsoft.com/vstudio/express/visualc/
< 
< 2. Install the platform SDK and integrate it into VC++ express
<    http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
< 
< 3. Download and install binary package for expat:
<    http://sourceforge.net/project/showfiles.php?group_id=10127&package_id=11277
< 
< 4. Update the Visual C++ directories in the Projects and Solutions section in the Options dialog box
<    Library files: C:\expat-VERSION\StaticLibs
<    Include files: C:\expat-VERSION\Source\Lib
<    where VERSION is the version of expat you've downoaded
< 
< 5. Unzip the libjingle files and open the solution.
< 
< 6. If you wish to build the call example with GIPS Voice Engine Lite, download Voice Engine Lite from http://developer.globalipsound.com
< 
< 7. Extract the Interface and Library directories from the Voice Engine Lite zip file into talk\third_party\gips
< 
< 8. Open talk\third_party\gips\expiration.h and set the GIPS_EXPIRATION #defines to the expiration date provided by GIPS and remove the #error directive
< 
< 9. Build the solution
< 
---
> 1. Install Visual C++ Express 2005.  It is free from this link:
>    http://msdn.microsoft.com/vstudio/express/visualc/
> 
> 2. Install the platform SDK and integrate it into VC++ express
>    http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
> 
> 3. Download and install binary package for expat:
>    http://sourceforge.net/project/showfiles.php?group_id=10127&package_id=11277
> 
> 4. Update the Visual C++ directories in the Projects and Solutions section in the Options dialog box
>    Library files: C:\expat-VERSION\StaticLibs
>    Include files: C:\expat-VERSION\Source\Lib
>    where VERSION is the version of expat you've downoaded
> 
> 5. Unzip the libjingle files and open the solution.
> 
> 6. If you wish to build the call example with GIPS Voice Engine Lite, download Voice Engine Lite from http://developer.globalipsound.com
> 
> 7. Extract the Interface and Library directories from the Voice Engine Lite zip file into talk\third_party\gips
> 
> 8. Open talk\third_party\gips\expiration.h and set the GIPS_EXPIRATION #defines to the expiration date provided by GIPS and remove the #error directive
> 
> 9. Build the solution
> 
Only in libjingle-0.4.0: aclocal.m4
Only in libjingle-0.4.0: config.guess
diff -r libjingle-0.4.0/config.h libjingle/files/config.h
14c14
< #define HAVE_ALSA_ASOUNDLIB_H 1
---
> /* #undef HAVE_ALSA_ASOUNDLIB_H */
23c23
< #define HAVE_GLIB 1
---
> /* #undef HAVE_GLIB */
38c38
< #define HAVE_ORTP 1
---
> /* #undef HAVE_ORTP */
41c41
< #define HAVE_SPEEX 1
---
> /* #undef HAVE_SPEEX */
47c47
< #define HAVE_SPEEX_SPEEX_H 1
---
> /* #undef HAVE_SPEEX_SPEEX_H */
71c71
< #define LINUX 1
---
> /* #undef LINUX */
113c113
< #define __ALSA_ENABLED__ 1
---
> /* #undef __ALSA_ENABLED__ */
Only in libjingle-0.4.0: config.h.in
Only in libjingle-0.4.0: config.sub
Only in libjingle-0.4.0: configure
Only in libjingle-0.4.0: depcomp
Only in libjingle-0.4.0: install-sh
Only in libjingle-0.4.0: ltmain.sh
Only in libjingle-0.4.0: missing
Only in libjingle-0.4.0/talk: Makefile.in
Only in libjingle-0.4.0/talk/base: Makefile.in
diff -r libjingle-0.4.0/talk/base/asynchttprequest.cc libjingle/files/talk/base/asynchttprequest.cc
73c73
<     talk_base::SSLAdapter * ssl_adapter = talk_base::SSLAdapter::Create(socket);
---
>     talk_base::SSLAdapter * ssl_adapter = factory_->CreateSSLAdapter(socket);
75c75,81
<     ssl_adapter->StartSSL(hostname_.c_str(), true);
---
>     int error = ssl_adapter->StartSSL(hostname_.c_str(),
>                                       use_restartable_ssl_sockets_);
>     if (error != 0) {
>       LOG(LS_WARNING) << "Could not start SSL; error = " << error;
>       delete ssl_adapter;
>       return 0;
>     }
diff -r libjingle-0.4.0/talk/base/asynchttprequest.h libjingle/files/talk/base/asynchttprequest.h
23,24c23
<   public SignalThread,
<   public sigslot::has_slots<> {
---
>   public SignalThread {
106c105,106
<       binary_mode_(false), agent_(user_agent) { }
---
>       binary_mode_(false), agent_(user_agent),
>       ignore_bad_cert_(false), use_restartable_ssl_sockets_(false) { }
114a115,120
>   bool use_restartable_ssl_sockets() const {
>     return use_restartable_ssl_sockets_;
>   }
>   void SetUseRestartableSSLSockets(bool use_restartable_ssl_sockets) {
>     use_restartable_ssl_sockets_ = use_restartable_ssl_sockets;
>   }
133a140
>   bool use_restartable_ssl_sockets_;
diff -r libjingle-0.4.0/talk/base/asynctcpsocket.cc libjingle/files/talk/base/asynctcpsocket.cc
31a32,33
> #include <cstring>
> 
diff -r libjingle-0.4.0/talk/base/autodetectproxy.cc libjingle/files/talk/base/autodetectproxy.cc
29c29
< #include "talk/base/httpcommon.h"
---
> #include "talk/base/httpcommon-inl.h"
114c114
<   Thread::Current()->MessageQueue::Stop();
---
>   Thread::Current()->Quit();
diff -r libjingle-0.4.0/talk/base/autodetectproxy.h libjingle/files/talk/base/autodetectproxy.h
22c22
< class AutoDetectProxy : public SignalThread, public sigslot::has_slots<> {
---
> class AutoDetectProxy : public SignalThread {
diff -r libjingle-0.4.0/talk/base/base64.h libjingle/files/talk/base/base64.h
26,27c26,27
<   static const std::string Base64::Base64Table;
<   static const std::string::size_type Base64::DecodeTable[];
---
>   static const std::string Base64Table;
>   static const std::string::size_type DecodeTable[];
diff -r libjingle-0.4.0/talk/base/common.h libjingle/files/talk/base/common.h
54c54
< #define stdmax(x,y) max(x,y)
---
> #define stdmax(x,y) _max(x,y)
114,119d113
< // A macro to disallow the evil copy constructor and operator= functions
< // This should be used in the private: declarations for a class
< #define DISALLOW_EVIL_CONSTRUCTORS(TypeName)    \
<   TypeName(const TypeName&);                    \
<   void operator=(const TypeName&)
< 
diff -r libjingle-0.4.0/talk/base/criticalsection.h libjingle/files/talk/base/criticalsection.h
39c39
< #ifdef _DEBUG
---
> #if !defined(NDEBUG)
41c41
< #endif  // _DEBUG
---
> #endif  // !defined(NDEBUG)
83c83
< public:
---
>  public:
85a86
>     pthread_mutexattr_init(&mutex_attribute);
87a89,90
>     pthread_mutexattr_destroy(&mutex_attribute);
>     TRACK_OWNER(thread_ = 0);
93a97
>     TRACK_OWNER(thread_ = pthread_self());
95a100
>     TRACK_OWNER(thread_ = 0);
98c103,110
< private:
---
> 
> #if CS_TRACK_OWNER
>   bool CurrentThreadIsOwner() const {
>     return pthread_equal(thread_, pthread_self());
>   }
> #endif  // CS_TRACK_OWNER
> 
>  private:
99a112
>   TRACK_OWNER(pthread_t thread_);
diff -r libjingle-0.4.0/talk/base/cryptstring.h libjingle/files/talk/base/cryptstring.h
30a31
> #include <string.h>
diff -r libjingle-0.4.0/talk/base/diskcache.cc libjingle/files/talk/base/diskcache.cc
43c43
< #ifdef _DEBUG
---
> #if !defined(NDEBUG)
45c45
< #else  // !_DEBUG
---
> #else  // defined(NDEBUG)
47c47
< #endif  // !_DEBUG
---
> #endif  // !defined(NDEBUG)
231c231
< #ifdef _DEBUG
---
> #if !defined(NDEBUG)
238c238
< #endif  // _DEBUG
---
> #endif  // !defined(NDEBUG)
diff -r libjingle-0.4.0/talk/base/diskcache_win32.cc libjingle/files/talk/base/diskcache_win32.cc
38c38
<       entry->streams = max(entry->streams, index + 1);
---
>       entry->streams = _max(entry->streams, index + 1);
diff -r libjingle-0.4.0/talk/base/helpers.cc libjingle/files/talk/base/helpers.cc
38a39
> #include <wincrypt.h>
diff -r libjingle-0.4.0/talk/base/host.cc libjingle/files/talk/base/host.cc
30a31
> #include <cstdlib>
diff -r libjingle-0.4.0/talk/base/httpclient.cc libjingle/files/talk/base/httpclient.cc
670a671
>         HttpAuthContext *context = context_.get();
676c677,678
<           *context_.use(), response, auth_method);
---
>           context, response, auth_method);
>         context_.reset(context);
diff -r libjingle-0.4.0/talk/base/httpcommon.h libjingle/files/talk/base/httpcommon.h
172c172
< inline const uint16 UrlDefaultPort(bool secure) {
---
> inline uint16 UrlDefaultPort(bool secure) {
diff -r libjingle-0.4.0/talk/base/logging.cc libjingle/files/talk/base/logging.cc
27a28
> #include <stdio.h>
76c77
< #if _DEBUG
---
> #if LOGGING
78c79
< #else  // !_DEBUG
---
> #else
80c81
< #endif  // !_DEBUG
---
> #endif
diff -r libjingle-0.4.0/talk/base/logging.h libjingle/files/talk/base/logging.h
67a68,69
> 
> #if defined(SAFE_TO_DEFINE_TALK_BASE_LOGGING_MACROS)
70a73
> #endif // defined(SAFE_TO_DEFINE_TALK_BASE_LOGGING_MACROS)
195a199
> #if defined(SAFE_TO_DEFINE_TALK_BASE_LOGGING_MACROS)
197c201
< #if defined(_DEBUG) && !defined(NDEBUG)
---
> #if !defined(NDEBUG)
290a295
> #endif  // defined(SAFE_TO_DEFINE_TALK_BASE_LOGGING_MACROS)
diff -r libjingle-0.4.0/talk/base/messagequeue.cc libjingle/files/talk/base/messagequeue.cc
98,99c98,99
<     new_ss = true;
<     ss_ = new PhysicalSocketServer();
---
>     default_ss_.reset(new PhysicalSocketServer());
>     ss_ = default_ss_.get();
103a104,107
>   // The signal is done from here to ensure
>   // that it always gets called when the queue
>   // is going away.
>   SignalQueueDestroyed();
108,109d111
<   if (new_ss)
<     delete ss_;
113,115d114
<   if (new_ss)
<     delete ss_;
<   new_ss = false;
119c118
< void MessageQueue::Stop() {
---
> void MessageQueue::Quit() {
124c123
< bool MessageQueue::IsStopping() {
---
> bool MessageQueue::IsQuitting() {
diff -r libjingle-0.4.0/talk/base/messagequeue.h libjingle/files/talk/base/messagequeue.h
35a36
> #include "talk/base/scoped_ptr.h"
162,164c163,164
< 
<   virtual void Stop();
<   virtual bool IsStopping();
---
>   virtual void Quit();
>   virtual bool IsQuitting();
188a189,192
>   // When this signal is sent out, any references to this queue should
>   // no longer be used.
>   sigslot::signal0<> SignalQueueDestroyed;
> 
192a197,198
>   // If a server isn't supplied in the constructor, use this one.
>   scoped_ptr<SocketServer> default_ss_;
diff -r libjingle-0.4.0/talk/base/natserver.cc libjingle/files/talk/base/natserver.cc
28a29
> #include <cstring>
diff -r libjingle-0.4.0/talk/base/natsocketfactory.cc libjingle/files/talk/base/natsocketfactory.cc
29a30
> #include <cstring>
diff -r libjingle-0.4.0/talk/base/openssladapter.cc libjingle/files/talk/base/openssladapter.cc
619c619
< #ifdef _DEBUG
---
> #if !defined(NDEBUG)
707c707
< #if _DEBUG
---
> #if !defined(NDEBUG)
736c736
< #endif  // _DEBUG
---
> #endif  // !defined(NDEBUG)
740c740
< #if _DEBUG
---
> #if !defined(NDEBUG)
798c798
< #ifdef _DEBUG
---
> #if !defined(NDEBUG)
diff -r libjingle-0.4.0/talk/base/openssladapter.h libjingle/files/talk/base/openssladapter.h
72c72
< #if _DEBUG
---
> #if !defined(NDEBUG)
74c74
< #endif  // !_DEBUG
---
> #endif  // !defined(NDEBUG)
diff -r libjingle-0.4.0/talk/base/physicalsocketserver.cc libjingle/files/talk/base/physicalsocketserver.cc
61a62
> #include "talk/base/winsock_initializer.h"
67,86d67
< #ifdef WIN32
< class WinsockInitializer {
< public:
<   WinsockInitializer() {
<     WSADATA wsaData;
<     WORD wVersionRequested = MAKEWORD(1, 0);
<     err_ = WSAStartup(wVersionRequested, &wsaData);
<   }
<   ~WinsockInitializer() {
<     WSACleanup();
<   }
<   int error() {
<     return err_;
<   }
< private:
<   int err_;
< };
< WinsockInitializer g_winsockinit;
< #endif
< 
124a106,108
> #ifdef WIN32
>     EnsureWinsockInit();
> #endif
187c171,177
<       addr2.Resolve(); // TODO: Do this async later?
---
>       // TODO: Do this async later?
>       if (!addr2.Resolve()) {
>         LOG(LS_ERROR) << "Resolving addr failed";
>         UpdateLastError();
>         Close();
>         return SOCKET_ERROR;
>       }
265a256,259
>       LOG(LS_WARNING) << "EOF from socket; deferring close event";
>       // Must turn this back on so that the select() loop will notice the close
>       // event.
>       enabled_events_ |= kfRead;
402a397
>   virtual bool IsDescriptorClosed() = 0;
452a448,451
>   virtual bool IsDescriptorClosed() {
>     return false;
>   }
> 
490a490,497
>   virtual bool IsDescriptorClosed() {
>     // We don't have a reliable way of distinguishing end-of-stream
>     // from readability.  So test on each readable call.  Is this
>     // inefficient?  Probably.
>     char ch;
>     return (0 == ::recv(s_, &ch, 1, MSG_PEEK));
>   }
> 
546a554,557
>   virtual bool IsDescriptorClosed() {
>     return false;
>   }
> 
916c927,931
<           ff |= kfRead;
---
>           if (pdispatcher->IsDescriptorClosed()) {
>             ff |= kfClose;
>           } else {
>             ff |= kfRead;
>           }
diff -r libjingle-0.4.0/talk/base/proxydetect.cc libjingle/files/talk/base/proxydetect.cc
205,206c205,206
<   const char* list = slist.c_str();
<   while (*list) {
{'fraction_non_alphanumeric': 0.1162744710302551, 'fraction_numerical': 0.04050961891578858, 'mean_word_length': 3.354779185631689, 'pattern_counts': {'":': 0, '<': 364, '<?xml version=': 0, '>': 450, 'https://': 0, 'lorem ipsum': 0, 'www.': 8, 'xml': 8}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 22, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4617225', 'n_tokens_mistral': 13135, 'n_tokens_neox': 12168, 'n_words': 3345}