1 // Copyright (C) 2000-2005 Open Source Telecom Corporation.
2 // Copyright (C) 2006-2014 David Sugar, Tycho Softworks.
3 // Copyright (C) 2015 Cherokees of Idaho.
4 //
5 // This program is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation; either version 2 of the License, or
8 // (at your option) any later version.
9 //
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software
17 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18
19 #ifndef CCXX_PHONE_H_
20 #define CCXX_PHONE_H_
21
22 #ifndef CCXX_RTP_H_
24 #endif
25
26 #ifdef CCXX_NAMESPACES
27 namespace ost {
28 #endif
29
38 {
39 public:
44
49 {return InetHostAddress(getLast("interface"));};
50
55 {return (tpport_t) atoi(getLast("port"));};
56
62
68 };
69
78 {
79 public:
84 };
85
94 {
95 public:
100
107 {return atoi(getLast("audio"));};
108
115 {return atoi(getLast("rtp"));};
116
123 {return atoi(getLast("priority"));};
124
131 {return atoi(getLast("stack"));};
132
133
140 {return getLast("priority");};
141 };
142
150 {
151 private:
153
156
157 protected:
159
161 {return;};
162
164 const std::string& reason)
165 {return;};
166 };
167
176 {
177 private:
178 unsigned groups;
// multicast groups joined
181
183 void onGotGoodbye(
const SyncSource &src,
const std::string& reason);
184
185 public:
187
188 void exit(const char *reason);
189 };
190
198 {
199 protected:
201
202 public:
203 virtual void open(void) = 0; // open device channel
204 virtual void close(void) = 0; // close device channel
205 };
206
214
215 #ifdef CCXX_NAMESPACES
216 }
217 #endif
218
219 #endif
int priRTP(void)
Get relative priority for the rtp stack.
Synchronization source in an RTP session.
This is the base interface for DSO loadable audio devices.
uint32 microtimeout_t
Time interval expressed in microseconds.
microtimeout_t getExpire(void)
Get packet expiration timer.
Load /etc/phone.conf [audio] key value pairs.
tpport_t getPort(void)
Get binding port number.
Process RTP Events for plugins and special purpose classes.
unsigned getStack(void)
Get thread stack frame size.
virtual void gotHello(const SyncSource &src)
const char * getPolicy(void)
Get scheduler policy to use.
int getPriority(void)
Get relative process priority.
This is the base session stack that will maintain all network audio activity.
Load /etc/phone.conf [thread] key value pairs.
virtual void gotGoodbye(const SyncSource &src, const std::string &reason)
This template class adds the threading aspect to the RTPSessionBase template in one of the many possi...
Load /etc/phone.conf [thread] key value pairs.
InetHostAddress getInterface(void)
Get unicast address.
int priAudio(void)
Get relative priority to run service threads at.
Generic and audio/video profile specific RTP interface of ccRTP.
microtimeout_t getTimer(void)
Get stack timer.