Home | History | Annotate | Download | only in client
      1 /*
      2  * libjingle
      3  * Copyright 2012, Google Inc.
      4  *
      5  * Redistribution and use in source and binary forms, with or without
      6  * modification, are permitted provided that the following conditions are met:
      7  *
      8  *  1. Redistributions of source code must retain the above copyright notice,
      9  *     this list of conditions and the following disclaimer.
     10  *  2. Redistributions in binary form must reproduce the above copyright notice,
     11  *     this list of conditions and the following disclaimer in the documentation
     12  *     and/or other materials provided with the distribution.
     13  *  3. The name of the author may not be used to endorse or promote products
     14  *     derived from this software without specific prior written permission.
     15  *
     16  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
     17  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
     18  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
     19  * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
     20  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     21  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
     22  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
     23  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
     24  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
     25  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     26  */
     27 
     28 #include "talk/examples/peerconnection/client/defaults.h"
     29 
     30 #include <stdlib.h>
     31 #include <string.h>
     32 
     33 #ifdef WIN32
     34 #include <winsock2.h>
     35 #else
     36 #include <unistd.h>
     37 #endif
     38 
     39 #include "talk/base/common.h"
     40 
     41 const char kAudioLabel[] = "audio_label";
     42 const char kVideoLabel[] = "video_label";
     43 const char kStreamLabel[] = "stream_label";
     44 const uint16 kDefaultServerPort = 8888;
     45 
     46 std::string GetEnvVarOrDefault(const char* env_var_name,
     47                                const char* default_value) {
     48   std::string value;
     49   const char* env_var = getenv(env_var_name);
     50   if (env_var)
     51     value = env_var;
     52 
     53   if (value.empty())
     54     value = default_value;
     55 
     56   return value;
     57 }
     58 
     59 std::string GetPeerConnectionString() {
     60   return GetEnvVarOrDefault("WEBRTC_CONNECT", "stun:stun.l.google.com:19302");
     61 }
     62 
     63 std::string GetDefaultServerName() {
     64   return GetEnvVarOrDefault("WEBRTC_SERVER", "localhost");
     65 }
     66 
     67 std::string GetPeerName() {
     68   char computer_name[256];
     69   if (gethostname(computer_name, ARRAY_SIZE(computer_name)) != 0)
     70     strcpy(computer_name, "host");
     71   std::string ret(GetEnvVarOrDefault("USERNAME", "user"));
     72   ret += '@';
     73   ret += computer_name;
     74   return ret;
     75 }
     76