projects
/
lcr.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: Always keep transmit timer on when mISDN channel is open
[lcr.git]
/
port.h
diff --git
a/port.h
b/port.h
index
90b7239
..
af9610f
100644
(file)
--- a/
port.h
+++ b/
port.h
@@
-149,9
+149,14
@@
struct port_settings {
int no_seconds;
};
int no_seconds;
};
+#define BRIDGE_BUFFER 4096
+
struct port_bridge_member {
struct port_bridge_member *next;
class Port *port;
struct port_bridge_member {
struct port_bridge_member *next;
class Port *port;
+ unsigned char buffer[BRIDGE_BUFFER];
+ int write_p; /* points to write position in buffer */
+ int min_space; /* minimum space to calculate how much delay can be removed */
};
/* port bridge instance */
};
/* port bridge instance */
@@
-159,6
+164,10
@@
struct port_bridge {
struct port_bridge *next; /* next bridge node */
unsigned int bridge_id; /* unique ID to identify bridge */
struct port_bridge_member *first; /* list of ports that are bridged */
struct port_bridge *next; /* next bridge node */
unsigned int bridge_id; /* unique ID to identify bridge */
struct port_bridge_member *first; /* list of ports that are bridged */
+ signed long sum_buffer[BRIDGE_BUFFER];
+ int read_p; /* points to read position in buffer */
+ struct lcr_timer timer; /* clock to transmit sum data */
+ int sample_count; /* counter of samples since last delay check */
};
extern struct port_bridge *p_bridge_first;
};
extern struct port_bridge *p_bridge_first;
@@
-168,7
+177,7
@@
class Port
{
public:
/* methods */
{
public:
/* methods */
- Port(int type, const char *portname, struct port_settings *settings);
+ Port(int type, const char *portname, struct port_settings *settings
, struct interface *interface
);
virtual ~Port();
class Port *next; /* next port in list */
int p_type; /* type of port */
virtual ~Port();
class Port *next; /* next port in list */
int p_type; /* type of port */
@@
-179,6
+188,7
@@
class Port
virtual void update_load(void);
struct port_settings p_settings;
virtual void update_load(void);
struct port_settings p_settings;
+ char p_interface_name[64];
/* tone */
char p_tone_dir[256]; /* name of current directory */
/* tone */
char p_tone_dir[256]; /* name of current directory */
@@
-208,7
+218,6
@@
class Port
/* audio bridging */
struct port_bridge *p_bridge; /* linked to a port bridge or NULL */
void bridge(unsigned int bridge_id); /* join a bridge */
/* audio bridging */
struct port_bridge *p_bridge; /* linked to a port bridge or NULL */
void bridge(unsigned int bridge_id); /* join a bridge */
- class Port *bridge_remote(void); /* get remote port */
int bridge_tx(unsigned char *data, int len); /* used to transmit data to remote port */
virtual int bridge_rx(unsigned char *data, int len); /* function to be inherited, so data is received */
int bridge_tx(unsigned char *data, int len); /* used to transmit data to remote port */
virtual int bridge_rx(unsigned char *data, int len); /* function to be inherited, so data is received */