Browse Source

[netjack] Fix Redundancy mode.

git-svn-id: svn+ssh://jackaudio.org/trunk/jack@3199 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/0.116.2
torben 16 years ago
parent
commit
055826a2f2
2 changed files with 13 additions and 0 deletions
  1. +11
    -0
      drivers/netjack/netjack_packet.c
  2. +2
    -0
      drivers/netjack/netjack_packet.h

+ 11
- 0
drivers/netjack/netjack_packet.c View File

@@ -134,6 +134,9 @@ packet_cache
pcache->size = num_packets;
pcache->packets = malloc (sizeof (cache_packet) * num_packets);
pcache->master_address_valid = 0;
pcache->last_framecnt_retreived = 0;
pcache->last_framecnt_retreived_valid = 0;

if (pcache->packets == NULL)
{
jack_error ("could not allocate packet cache (2)\n");
@@ -494,6 +497,9 @@ packet_cache_drain_socket( packet_cache *pcache, int sockfd )
}

framecnt = ntohl (pkthdr->framecnt);
if( pcache->last_framecnt_retreived_valid && (framecnt <= pcache->last_framecnt_retreived ))
continue;

//printf( "Got Packet %d\n", framecnt );
cpack = packet_cache_get_packet (global_packcache, framecnt);
cache_packet_add_fragment (cpack, rx_packet, rcv_len);
@@ -505,6 +511,8 @@ void
packet_cache_reset_master_address( packet_cache *pcache )
{
pcache->master_address_valid = 0;
pcache->last_framecnt_retreived = 0;
pcache->last_framecnt_retreived_valid = 0;
}

void
@@ -549,6 +557,9 @@ packet_cache_retreive_packet( packet_cache *pcache, jack_nframes_t framecnt, cha
if( timestamp )
*timestamp = cpack->recv_timestamp;

pcache->last_framecnt_retreived_valid = 1;
pcache->last_framecnt_retreived = framecnt;

cache_packet_reset (cpack);
packet_cache_clear_old_packets( pcache, framecnt );


+ 2
- 0
drivers/netjack/netjack_packet.h View File

@@ -94,6 +94,8 @@ struct _packet_cache
int mtu;
struct sockaddr_in master_address;
int master_address_valid;
jack_nframes_t last_framecnt_retreived;
int last_framecnt_retreived_valid;
};

extern packet_cache *global_packcache;


Loading…
Cancel
Save