Browse code

adds support for wideband audio

Raphael Coeffic authored on 21/02/2012 17:26:22
Showing 1 changed files
... ...
@@ -94,7 +94,7 @@ class AmConferenceStatus
94 94
   AmConferenceStatus(const string& conference_id);
95 95
   ~AmConferenceStatus();
96 96
 
97
-  AmConferenceChannel* getChannel(const string& sess_id);
97
+  AmConferenceChannel* getChannel(const string& sess_id, int input_sample_rate);
98 98
 
99 99
   int releaseChannel(unsigned int ch_id);
100 100
 
... ...
@@ -105,7 +105,8 @@ public:
105 105
   AmMultiPartyMixer* getMixer()  { return &mixer; }
106 106
 
107 107
   static AmConferenceChannel* getChannel(const string& cid, 
108
-					 const string& local_tag);
108
+					 const string& local_tag,
109
+                                         int input_sample_rate);
109 110
 
110 111
   static void releaseChannel(const string& cid, unsigned int ch_id);
111 112
 
Browse code

added OpenSSL linking exception to license

Stefan Sayer authored on 23/09/2010 14:41:49
Showing 1 changed files
... ...
@@ -1,11 +1,9 @@
1 1
 /*
2
- * $Id$
3
- *
4 2
  * Copyright (C) 2002-2003 Fhg Fokus
5 3
  *
6
- * This file is part of sems, a free SIP media server.
4
+ * This file is part of SEMS, a free SIP media server.
7 5
  *
8
- * sems is free software; you can redistribute it and/or modify
6
+ * SEMS is free software; you can redistribute it and/or modify
9 7
  * it under the terms of the GNU General Public License as published by
10 8
  * the Free Software Foundation; either version 2 of the License, or
11 9
  * (at your option) any later version.
... ...
@@ -15,7 +13,7 @@
15 13
  * software, please contact iptel.org by e-mail at the following addresses:
16 14
  *    info@iptel.org
17 15
  *
18
- * sems is distributed in the hope that it will be useful,
16
+ * SEMS is distributed in the hope that it will be useful,
19 17
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 18
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21 19
  * GNU General Public License for more details.
Browse code

fixes for SEMS on Solaris contributed by Richard Newman rnewman at twinql dot com

git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@633 8eb893ce-cfd4-0310-b710-fb5ebe64c474

Stefan Sayer authored on 28/01/2008 18:17:36
Showing 1 changed files
... ...
@@ -35,7 +35,6 @@
35 35
 
36 36
 #include <map>
37 37
 #include <string>
38
-using std::map;
39 38
 using std::string;
40 39
 
41 40
 class AmConferenceChannel;
... ...
@@ -68,7 +67,7 @@ struct ConferenceEvent: public AmEvent
68 67
  */
69 68
 class AmConferenceStatus
70 69
 {
71
-  static map<string,AmConferenceStatus*> cid2status;
70
+  static std::map<string,AmConferenceStatus*> cid2status;
72 71
   static AmMutex                         cid2s_mut;
73 72
 
74 73
   struct SessInfo {
... ...
@@ -87,10 +86,10 @@ class AmConferenceStatus
87 86
   AmMultiPartyMixer      mixer;
88 87
     
89 88
   // sess_id -> ch_id
90
-  map<string, unsigned int> sessions;
89
+  std::map<string, unsigned int> sessions;
91 90
 
92 91
   // ch_id -> sess_id
93
-  map<unsigned int, SessInfo*> channels;
92
+  std::map<unsigned int, SessInfo*> channels;
94 93
 
95 94
   AmMutex                      sessions_mut;
96 95
 
Browse code

add getConferenceSize function (to get conference size before joining)

git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@560 8eb893ce-cfd4-0310-b710-fb5ebe64c474

Stefan Sayer authored on 22/11/2007 11:33:08
Showing 1 changed files
... ...
@@ -114,6 +114,8 @@ public:
114 114
 
115 115
   static void postConferenceEvent(const string& cid, int event_id, 
116 116
 				  const string& sess_id);
117
+
118
+  static size_t getConferenceSize(const string& cid);
117 119
 };
118 120
 
119 121
 #endif
Browse code

o early media receiving support o local audio input support o posting conference event support o explicit monitor_rtp_timeout set

git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@505 8eb893ce-cfd4-0310-b710-fb5ebe64c474

Stefan Sayer authored on 04/10/2007 18:53:44
Showing 1 changed files
... ...
@@ -101,6 +101,8 @@ class AmConferenceStatus
101 101
 
102 102
   int releaseChannel(unsigned int ch_id);
103 103
 
104
+  void postConferenceEvent(int event_id, const string& sess_id);
105
+
104 106
 public:
105 107
   const string&      getConfID() { return conf_id; }
106 108
   AmMultiPartyMixer* getMixer()  { return &mixer; }
... ...
@@ -109,6 +111,9 @@ public:
109 111
 					 const string& local_tag);
110 112
 
111 113
   static void releaseChannel(const string& cid, unsigned int ch_id);
114
+
115
+  static void postConferenceEvent(const string& cid, int event_id, 
116
+				  const string& sess_id);
112 117
 };
113 118
 
114 119
 #endif
Browse code

train ride doxygen documentation

git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@457 8eb893ce-cfd4-0310-b710-fb5ebe64c474

Stefan Sayer authored on 24/09/2007 17:37:04
Showing 1 changed files
... ...
@@ -24,7 +24,7 @@
24 24
  * along with this program; if not, write to the Free Software 
25 25
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
26 26
  */
27
-
27
+/** @file AmConferenceStatus.h */
28 28
 #ifndef _ConferenceStatus_h_
29 29
 #define _ConferenceStatus_h_
30 30
 
Browse code

unifies indentation level in all source files to 2 (-i2)

git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@261 8eb893ce-cfd4-0310-b710-fb5ebe64c474

Stefan Sayer authored on 07/03/2007 20:34:39
Showing 1 changed files
... ...
@@ -46,19 +46,19 @@ enum { ConfNewParticipant = 1,
46 46
 /** \brief event in a conference*/
47 47
 struct ConferenceEvent: public AmEvent
48 48
 {
49
-    unsigned int participants;
50
-    string       conf_id;
51
-    string       sess_id;
52
-
53
-    ConferenceEvent(int event_id, 
54
-		    unsigned int participants,
55
-		    const string& conf_id,
56
-		    const string& sess_id)
57
-	: AmEvent(event_id),
58
-	  participants(participants),
59
-	  conf_id(conf_id),
60
-	  sess_id(sess_id)
61
-    {}
49
+  unsigned int participants;
50
+  string       conf_id;
51
+  string       sess_id;
52
+
53
+  ConferenceEvent(int event_id, 
54
+		  unsigned int participants,
55
+		  const string& conf_id,
56
+		  const string& sess_id)
57
+    : AmEvent(event_id),
58
+      participants(participants),
59
+      conf_id(conf_id),
60
+      sess_id(sess_id)
61
+  {}
62 62
 };
63 63
 
64 64
 /**
... ...
@@ -68,47 +68,47 @@ struct ConferenceEvent: public AmEvent
68 68
  */
69 69
 class AmConferenceStatus
70 70
 {
71
-    static map<string,AmConferenceStatus*> cid2status;
72
-    static AmMutex                         cid2s_mut;
71
+  static map<string,AmConferenceStatus*> cid2status;
72
+  static AmMutex                         cid2s_mut;
73 73
 
74
-    struct SessInfo {
74
+  struct SessInfo {
75 75
 
76
-	string       sess_id;
77
-	unsigned int ch_id;
76
+    string       sess_id;
77
+    unsigned int ch_id;
78 78
 
79
-	SessInfo(const string& local_tag,
80
-		 unsigned int  ch_id)
81
-	    : sess_id(local_tag),
82
-	      ch_id(ch_id)
83
-	{}
84
-    };
79
+    SessInfo(const string& local_tag,
80
+	     unsigned int  ch_id)
81
+      : sess_id(local_tag),
82
+	ch_id(ch_id)
83
+    {}
84
+  };
85 85
 
86
-    string                 conf_id;
87
-    AmMultiPartyMixer      mixer;
86
+  string                 conf_id;
87
+  AmMultiPartyMixer      mixer;
88 88
     
89
-    // sess_id -> ch_id
90
-    map<string, unsigned int> sessions;
89
+  // sess_id -> ch_id
90
+  map<string, unsigned int> sessions;
91 91
 
92
-    // ch_id -> sess_id
93
-    map<unsigned int, SessInfo*> channels;
92
+  // ch_id -> sess_id
93
+  map<unsigned int, SessInfo*> channels;
94 94
 
95
-    AmMutex                      sessions_mut;
95
+  AmMutex                      sessions_mut;
96 96
 
97
-    AmConferenceStatus(const string& conference_id);
98
-    ~AmConferenceStatus();
97
+  AmConferenceStatus(const string& conference_id);
98
+  ~AmConferenceStatus();
99 99
 
100
-    AmConferenceChannel* getChannel(const string& sess_id);
100
+  AmConferenceChannel* getChannel(const string& sess_id);
101 101
 
102
-    int releaseChannel(unsigned int ch_id);
102
+  int releaseChannel(unsigned int ch_id);
103 103
 
104
- public:
105
-    const string&      getConfID() { return conf_id; }
106
-    AmMultiPartyMixer* getMixer()  { return &mixer; }
104
+public:
105
+  const string&      getConfID() { return conf_id; }
106
+  AmMultiPartyMixer* getMixer()  { return &mixer; }
107 107
 
108
-    static AmConferenceChannel* getChannel(const string& cid, 
109
-					   const string& local_tag);
108
+  static AmConferenceChannel* getChannel(const string& cid, 
109
+					 const string& local_tag);
110 110
 
111
-    static void releaseChannel(const string& cid, unsigned int ch_id);
111
+  static void releaseChannel(const string& cid, unsigned int ch_id);
112 112
 };
113 113
 
114 114
 #endif
Browse code

enabled Id svn keyword property

git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@145 8eb893ce-cfd4-0310-b710-fb5ebe64c474

Stefan Sayer authored on 26/11/2006 00:01:18
Showing 1 changed files
... ...
@@ -1,5 +1,5 @@
1 1
 /*
2
- * $Id: AmConferenceStatus.h,v 1.1.2.1 2005/03/07 21:34:45 sayer Exp $
2
+ * $Id$
3 3
  *
4 4
  * Copyright (C) 2002-2003 Fhg Fokus
5 5
  *
Browse code

added the session key of the entering/leaving session to the conference event

git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@118 8eb893ce-cfd4-0310-b710-fb5ebe64c474

Stefan Sayer authored on 27/10/2006 14:53:40
Showing 1 changed files
... ...
@@ -48,13 +48,16 @@ struct ConferenceEvent: public AmEvent
48 48
 {
49 49
     unsigned int participants;
50 50
     string       conf_id;
51
+    string       sess_id;
51 52
 
52 53
     ConferenceEvent(int event_id, 
53 54
 		    unsigned int participants,
54
-		    const string& conf_id)
55
+		    const string& conf_id,
56
+		    const string& sess_id)
55 57
 	: AmEvent(event_id),
56 58
 	  participants(participants),
57
-	  conf_id(conf_id)
59
+	  conf_id(conf_id),
60
+	  sess_id(sess_id)
58 61
     {}
59 62
 };
60 63
 
Browse code

added doxygen class documentation beginning of the sems documentation initiative...

git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@83 8eb893ce-cfd4-0310-b710-fb5ebe64c474

Stefan Sayer authored on 25/09/2006 19:08:24
Showing 1 changed files
... ...
@@ -43,6 +43,7 @@ class AmConferenceChannel;
43 43
 enum { ConfNewParticipant = 1,
44 44
        ConfParticipantLeft };
45 45
 
46
+/** \brief event in a conference*/
46 47
 struct ConferenceEvent: public AmEvent
47 48
 {
48 49
     unsigned int participants;
... ...
@@ -57,7 +58,11 @@ struct ConferenceEvent: public AmEvent
57 58
     {}
58 59
 };
59 60
 
60
-
61
+/**
62
+ * \brief One conference (room).
63
+ * 
64
+ * The ConferenceStatus manages one conference.
65
+ */
61 66
 class AmConferenceStatus
62 67
 {
63 68
     static map<string,AmConferenceStatus*> cid2status;
Browse code

added dialout in conferencing module.

git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@42 8eb893ce-cfd4-0310-b710-fb5ebe64c474

Raphael Coeffic authored on 02/05/2006 07:24:49
Showing 1 changed files
... ...
@@ -46,10 +46,14 @@ enum { ConfNewParticipant = 1,
46 46
 struct ConferenceEvent: public AmEvent
47 47
 {
48 48
     unsigned int participants;
49
+    string       conf_id;
49 50
 
50
-    ConferenceEvent(int event_id, unsigned int participants)
51
+    ConferenceEvent(int event_id, 
52
+		    unsigned int participants,
53
+		    const string& conf_id)
51 54
 	: AmEvent(event_id),
52
-	  participants(participants)
55
+	  participants(participants),
56
+	  conf_id(conf_id)
53 57
     {}
54 58
 };
55 59
 
Browse code

initial checkin new open source version.

git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@5 8eb893ce-cfd4-0310-b710-fb5ebe64c474

Raphael Coeffic authored on 17/03/2006 13:16:06
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,106 @@
1
+/*
2
+ * $Id: AmConferenceStatus.h,v 1.1.2.1 2005/03/07 21:34:45 sayer Exp $
3
+ *
4
+ * Copyright (C) 2002-2003 Fhg Fokus
5
+ *
6
+ * This file is part of sems, a free SIP media server.
7
+ *
8
+ * sems is free software; you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation; either version 2 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * For a license to use the sems software under conditions
14
+ * other than those described here, or to purchase support for this
15
+ * software, please contact iptel.org by e-mail at the following addresses:
16
+ *    info@iptel.org
17
+ *
18
+ * sems is distributed in the hope that it will be useful,
19
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
20
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21
+ * GNU General Public License for more details.
22
+ *
23
+ * You should have received a copy of the GNU General Public License 
24
+ * along with this program; if not, write to the Free Software 
25
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
26
+ */
27
+
28
+#ifndef _ConferenceStatus_h_
29
+#define _ConferenceStatus_h_
30
+
31
+#include "AmThread.h"
32
+#include "AmRtpStream.h"
33
+#include "AmMultiPartyMixer.h"
34
+#include "AmEventQueue.h"
35
+
36
+#include <map>
37
+#include <string>
38
+using std::map;
39
+using std::string;
40
+
41
+class AmConferenceChannel;
42
+
43
+enum { ConfNewParticipant = 1,
44
+       ConfParticipantLeft };
45
+
46
+struct ConferenceEvent: public AmEvent
47
+{
48
+    unsigned int participants;
49
+
50
+    ConferenceEvent(int event_id, unsigned int participants)
51
+	: AmEvent(event_id),
52
+	  participants(participants)
53
+    {}
54
+};
55
+
56
+
57
+class AmConferenceStatus
58
+{
59
+    static map<string,AmConferenceStatus*> cid2status;
60
+    static AmMutex                         cid2s_mut;
61
+
62
+    struct SessInfo {
63
+
64
+	string       sess_id;
65
+	unsigned int ch_id;
66
+
67
+	SessInfo(const string& local_tag,
68
+		 unsigned int  ch_id)
69
+	    : sess_id(local_tag),
70
+	      ch_id(ch_id)
71
+	{}
72
+    };
73
+
74
+    string                 conf_id;
75
+    AmMultiPartyMixer      mixer;
76
+    
77
+    // sess_id -> ch_id
78
+    map<string, unsigned int> sessions;
79
+
80
+    // ch_id -> sess_id
81
+    map<unsigned int, SessInfo*> channels;
82
+
83
+    AmMutex                      sessions_mut;
84
+
85
+    AmConferenceStatus(const string& conference_id);
86
+    ~AmConferenceStatus();
87
+
88
+    AmConferenceChannel* getChannel(const string& sess_id);
89
+
90
+    int releaseChannel(unsigned int ch_id);
91
+
92
+ public:
93
+    const string&      getConfID() { return conf_id; }
94
+    AmMultiPartyMixer* getMixer()  { return &mixer; }
95
+
96
+    static AmConferenceChannel* getChannel(const string& cid, 
97
+					   const string& local_tag);
98
+
99
+    static void releaseChannel(const string& cid, unsigned int ch_id);
100
+};
101
+
102
+#endif
103
+// Local Variables:
104
+// mode:C++
105
+// End:
106
+