[ekiga/ds-opal-refactoring] OpalEndPoint: Code cleanup.



commit 369612465661fedb918cf08b8d0a9d7e453f69c2
Author: Damien Sandras <dsandras seconix com>
Date:   Sun Mar 22 18:37:15 2015 +0100

    OpalEndPoint: Code cleanup.
    
    - Moved codecs handling to the CallManager.
    - Removed useless code.

 lib/engine/components/opal/opal-call-manager.cpp   |   26 +++++-
 lib/engine/components/opal/opal-call-manager.h     |    2 +
 .../components/opal/process/opal-endpoint.cpp      |  102 --------------------
 lib/engine/components/opal/process/opal-endpoint.h |   37 ++------
 4 files changed, 33 insertions(+), 134 deletions(-)
---
diff --git a/lib/engine/components/opal/opal-call-manager.cpp 
b/lib/engine/components/opal/opal-call-manager.cpp
index db2eea2..328b195 100644
--- a/lib/engine/components/opal/opal-call-manager.cpp
+++ b/lib/engine/components/opal/opal-call-manager.cpp
@@ -113,15 +113,35 @@ const std::string & Opal::CallManager::get_display_name () const
 }
 
 
-void Opal::CallManager::set_codecs (Ekiga::CodecList & codecs)
+void Opal::CallManager::set_codecs (Ekiga::CodecList & _codecs)
 {
-  endpoint.set_codecs (codecs);
+  PStringArray mask, order;
+  OpalMediaFormatList formats;
+  OpalMediaFormat::GetAllRegisteredMediaFormats (formats);
+
+  codecs = _codecs;
+
+  for (Ekiga::CodecList::const_iterator iter = codecs.begin ();
+       iter != codecs.end ();
+       iter++)
+    if ((*iter).active)
+      order += (*iter).name;
+
+  formats.Remove (order);
+
+  for (int i = 0 ; i < formats.GetSize () ; i++)
+    mask += (const char *) formats[i];
+
+  endpoint.SetMediaFormatOrder (order);
+  endpoint.SetMediaFormatMask (mask);
+  PTRACE (4, "Opal::CallManager\tSet codecs: " << setfill(';') << endpoint.GetMediaFormatOrder ());
+  PTRACE (4, "Opal::CallManager\tDisabled codecs: " << setfill(';') << endpoint.GetMediaFormatMask ());
 }
 
 
 const Ekiga::CodecList& Opal::CallManager::get_codecs () const
 {
-  return endpoint.get_codecs ();
+  return codecs;
 }
 
 
diff --git a/lib/engine/components/opal/opal-call-manager.h b/lib/engine/components/opal/opal-call-manager.h
index 70ed303..6027685 100644
--- a/lib/engine/components/opal/opal-call-manager.h
+++ b/lib/engine/components/opal/opal-call-manager.h
@@ -41,6 +41,7 @@
 #include "call-manager.h"
 #include "opal-endpoint.h"
 #include "opal-call.h"
+#include "opal-codec-description.h"
 
 #include "ekiga-settings.h"
 
@@ -150,6 +151,7 @@ private:
     Ekiga::SettingsPtr personal_data_settings;
 
     std::string display_name;
+    Ekiga::CodecList codecs;
   };
 };
 #endif
diff --git a/lib/engine/components/opal/process/opal-endpoint.cpp 
b/lib/engine/components/opal/process/opal-endpoint.cpp
index f378938..b3c167f 100644
--- a/lib/engine/components/opal/process/opal-endpoint.cpp
+++ b/lib/engine/components/opal/process/opal-endpoint.cpp
@@ -109,7 +109,6 @@ private:
 Opal::EndPoint::EndPoint (Ekiga::ServiceCore& core)
 {
   call_core = core.get<Ekiga::CallCore> ("call-core");
-  notification_core = core.get<Ekiga::NotificationCore> ("notification-core");
 
   stun_thread = 0;
 
@@ -340,38 +339,6 @@ bool Opal::EndPoint::get_auto_answer (void) const
 }
 
 
-const Ekiga::CodecList & Opal::EndPoint::get_codecs () const
-{
-  return codecs;
-}
-
-
-void Opal::EndPoint::set_codecs (Ekiga::CodecList & _codecs)
-{
-  PStringArray mask, order;
-  OpalMediaFormatList formats;
-  OpalMediaFormat::GetAllRegisteredMediaFormats (formats);
-
-  codecs = _codecs;
-
-  for (Ekiga::CodecList::const_iterator iter = codecs.begin ();
-       iter != codecs.end ();
-       iter++)
-    if ((*iter).active)
-      order += (*iter).name;
-
-  formats.Remove (order);
-
-  for (int i = 0 ; i < formats.GetSize () ; i++)
-    mask += (const char *) formats[i];
-
-  SetMediaFormatOrder (order);
-  SetMediaFormatMask (mask);
-  PTRACE (4, "Ekiga\tSet codecs: " << setfill(';') << GetMediaFormatOrder ());
-  PTRACE (4, "Ekiga\tDisabled codecs: " << setfill(';') << GetMediaFormatMask ());
-}
-
-
 void Opal::EndPoint::set_forward_on_no_answer (bool enabled)
 {
   forward_on_no_answer = enabled;
@@ -606,75 +573,6 @@ Opal::EndPoint::DestroyCall (OpalCall* call)
 
 
 void
-Opal::EndPoint::OnClosedMediaStream (const OpalMediaStream & stream)
-{
-  OpalMediaFormatList list = pcssEP->GetMediaFormats ();
-  OpalManager::OnClosedMediaStream (stream);
-
-  if (list.FindFormat(stream.GetMediaFormat()) != list.end ())
-    dynamic_cast <Opal::Call &> (stream.GetConnection ().GetCall ()).OnClosedMediaStream ((OpalMediaStream 
&) stream);
-}
-
-
-bool
-Opal::EndPoint::OnOpenMediaStream (OpalConnection & connection,
-                               OpalMediaStream & stream)
-{
-  OpalMediaFormatList list = pcssEP->GetMediaFormats ();
-  if (!OpalManager::OnOpenMediaStream (connection, stream))
-    return FALSE;
-
-  if (list.FindFormat(stream.GetMediaFormat()) == list.end ())
-    dynamic_cast <Opal::Call &> (connection.GetCall ()).OnOpenMediaStream (stream);
-
-  return TRUE;
-}
-
-
-void Opal::EndPoint::GetAllowedFormats (OpalMediaFormatList & full_list)
-{
-  OpalMediaFormatList list = OpalTranscoder::GetPossibleFormats (pcssEP->GetMediaFormats ());
-  list.RemoveNonTransportable ();
-  std::list<std::string> black_list;
-
-  black_list.push_back ("GSM-AMR");
-  black_list.push_back ("Linear-16-Stereo-48kHz");
-  black_list.push_back ("LPC-10");
-  black_list.push_back ("SpeexIETFNarrow-11k");
-  black_list.push_back ("SpeexIETFNarrow-15k");
-  black_list.push_back ("SpeexIETFNarrow-18.2k");
-  black_list.push_back ("SpeexIETFNarrow-24.6k");
-  black_list.push_back ("SpeexIETFNarrow-5.95k");
-  black_list.push_back ("iLBC-13k3");
-  black_list.push_back ("iLBC-15k2");
-  black_list.push_back ("RFC4175_YCbCr-4:2:0");
-  black_list.push_back ("RFC4175_RGB");
-
-  // Disable T.140 chat for now
-  black_list.push_back ("T.140");
-
-  // Disable CISCO NSE
-  black_list.push_back ("NamedSignalEvent");
-
-  // Disable Far-End Camera Control for now.
-  black_list.push_back ("FECC-RTP");
-  black_list.push_back ("FECC-HDLC");
-
-
-  // Purge blacklisted codecs
-  for (PINDEX i = 0 ; i < list.GetSize () ; i++) {
-
-    std::list<std::string>::iterator it = find (black_list.begin (), black_list.end (), (const char *) list 
[i]);
-    if (it == black_list.end ()) {
-      if (list [i].GetMediaType () == OpalMediaType::Audio () || list [i].GetMediaType () == 
OpalMediaType::Video ())
-        full_list += list [i];
-    }
-  }
-
-  PTRACE(4, "Ekiga\tAll available formats: " << setfill (',') << full_list);
-}
-
-void
 Opal::EndPoint::HandleSTUNResult ()
 {
   gboolean error = false;
diff --git a/lib/engine/components/opal/process/opal-endpoint.h 
b/lib/engine/components/opal/process/opal-endpoint.h
index 2a99b64..0e7fdea 100644
--- a/lib/engine/components/opal/process/opal-endpoint.h
+++ b/lib/engine/components/opal/process/opal-endpoint.h
@@ -56,7 +56,6 @@
 #include "contact-core.h"
 
 #include "actor.h"
-#include "opal-codec-description.h"
 
 class GMPCSSEndpoint;
 
@@ -103,12 +102,7 @@ public:
     void set_auto_answer (bool enabled);
     bool get_auto_answer () const;
 
-    void set_codecs (Ekiga::CodecList & codecs);
-    const Ekiga::CodecList & get_codecs () const;
-
-
     /* Extended stuff, OPAL EndPoint specific */
-
     void set_forward_on_busy (bool enabled);
     bool get_forward_on_busy ();
 
@@ -154,39 +148,22 @@ public:
 
 private:
     boost::weak_ptr<Ekiga::CallCore> call_core;
-    boost::shared_ptr<Ekiga::NotificationCore> notification_core;
 
     OpalCall *CreateCall (void *uri);
     virtual void DestroyCall (OpalCall *);
 
-    virtual bool OnOpenMediaStream (OpalConnection &,
-                                    OpalMediaStream &);
-
-    virtual void OnClosedMediaStream (const OpalMediaStream &);
-
-    void GetAllowedFormats (OpalMediaFormatList & full_list);
-
-    PThread* stun_thread;
     void HandleSTUNResult ();
 
     void ReportSTUNError (const std::string error);
 
-    virtual PBoolean CreateVideoOutputDevice(const OpalConnection & connection,
-                                             const OpalMediaFormat & media_fmt,
-                                             PBoolean preview,
-                                             PVideoOutputDevice * & device,
-                                             PBoolean & auto_delete);
-
-    /* The various related endpoints */
-    GMPCSSEndpoint *pcssEP;
-
-    /* Various mutexes to ensure thread safeness around internal
-       variables */
-    PMutex manager_access_mutex;
-
-    Ekiga::CodecList codecs;
+    virtual PBoolean CreateVideoOutputDevice (const OpalConnection & connection,
+                                              const OpalMediaFormat & media_fmt,
+                                              PBoolean preview,
+                                              PVideoOutputDevice * & device,
+                                              PBoolean & auto_delete);
 
     /* used to get the STUNDetector results */
+    PThread* stun_thread;
     GAsyncQueue* queue;
     unsigned int patience;
 
@@ -198,6 +175,8 @@ private:
     bool stun_enabled;
     bool auto_answer;
 
+    /* The various related endpoints */
+    GMPCSSEndpoint *pcssEP;
     Sip::EndPoint *sip_endpoint;
 #ifdef HAVE_H323
     H323::EndPoint *h323_endpoint;


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