[ekiga] Added a TOS field config option



commit b2f5973371757cbfc6e543f9572d4a8ab0e7b3a5
Author: Snark <jpuydt gnome org>
Date:   Fri Oct 15 15:46:28 2010 +0200

    Added a TOS field config option
    
    The patch is from Zoran Pericic. Thanks!

 ekiga.schemas.in.in                               |   11 +++++++++++
 lib/engine/components/opal/opal-call-manager.cpp  |   11 +++++++++++
 lib/engine/components/opal/opal-call-manager.h    |    3 +++
 lib/engine/components/opal/opal-gmconf-bridge.cpp |    5 +++++
 4 files changed, 30 insertions(+), 0 deletions(-)
---
diff --git a/ekiga.schemas.in.in b/ekiga.schemas.in.in
index 1cd9771..1da7f9e 100644
--- a/ekiga.schemas.in.in
+++ b/ekiga.schemas.in.in
@@ -409,6 +409,17 @@
       </locale>
     </schema>
     <schema>
+      <key>/schemas/apps/@PACKAGE_NAME@/protocols/ports/rtp_tos_field</key>
+      <applyto>/apps/@PACKAGE_NAME@/protocols/ports/rtp_tos_field</applyto>
+      <owner>Ekiga</owner>
+      <type>int</type>
+      <default>184</default>
+      <locale name="C">
+        <short>RTP TOS field</short>
+        <long>Set IP header TOS field for RTP packages.</long>
+      </locale>
+    </schema>
+    <schema>
       <key>/schemas/apps/@PACKAGE_NAME@/protocols/h323/enable_h245_tunneling</key>
       <applyto>/apps/@PACKAGE_NAME@/protocols/h323/enable_h245_tunneling</applyto>
       <owner>Ekiga</owner>
diff --git a/lib/engine/components/opal/opal-call-manager.cpp b/lib/engine/components/opal/opal-call-manager.cpp
index 05793f3..43d8a43 100644
--- a/lib/engine/components/opal/opal-call-manager.cpp
+++ b/lib/engine/components/opal/opal-call-manager.cpp
@@ -490,6 +490,17 @@ void CallManager::get_tcp_ports (unsigned & min_port,
   max_port = GetTCPPortMax ();
 }
 
+void
+CallManager::get_rtp_tos (unsigned &tos) const
+{
+  tos = GetRtpIpTypeofService ();
+}
+
+void
+CallManager::set_rtp_tos (unsigned tos)
+{
+  SetRtpIpTypeofService (tos);
+}
 
 void CallManager::set_stun_server (const std::string & server)
 {
diff --git a/lib/engine/components/opal/opal-call-manager.h b/lib/engine/components/opal/opal-call-manager.h
index aaa8bec..8483e71 100644
--- a/lib/engine/components/opal/opal-call-manager.h
+++ b/lib/engine/components/opal/opal-call-manager.h
@@ -136,6 +136,9 @@ public:
     void get_tcp_ports (unsigned & min_port, 
                         unsigned & max_port) const;
 
+    void get_rtp_tos (unsigned &tos) const;
+    void set_rtp_tos (unsigned tos);
+
     void set_stun_server (const std::string & server);
     void set_stun_enabled (bool);
 
diff --git a/lib/engine/components/opal/opal-gmconf-bridge.cpp b/lib/engine/components/opal/opal-gmconf-bridge.cpp
index aaa4115..25d4b81 100644
--- a/lib/engine/components/opal/opal-gmconf-bridge.cpp
+++ b/lib/engine/components/opal/opal-gmconf-bridge.cpp
@@ -396,4 +396,9 @@ void ConfBridge::on_property_changed (std::string key, GmConfEntry *entry)
 
     g_strfreev (couple);
   }
+  else if (key == PORTS_KEY "rtp_tos_field") {
+
+    manager.set_rtp_tos (gm_conf_entry_get_int (entry));
+  }
+
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]