git-svn-id: svn+ssh://jackaudio.org/trunk/jack@3709 0c269be4-1314-0410-8aa9-9f06e86f4224tags/0.117.0
@@ -59,7 +59,10 @@ net_driver_wait (net_driver_t *driver, int extra_fd, int *status, float *delayed | |||||
{ | { | ||||
netjack_driver_state_t *netj = &( driver->netj ); | netjack_driver_state_t *netj = &( driver->netj ); | ||||
netjack_wait( netj ); | |||||
if( netjack_wait( netj ) ) { | |||||
driver->engine->delay( driver->engine, 0 ); | |||||
} | |||||
driver->last_wait_ust = jack_get_microseconds (); | driver->last_wait_ust = jack_get_microseconds (); | ||||
driver->engine->transport_cycle_start (driver->engine, driver->last_wait_ust); | driver->engine->transport_cycle_start (driver->engine, driver->last_wait_ust); | ||||
@@ -200,6 +203,7 @@ net_driver_read (net_driver_t* driver, jack_nframes_t nframes) | |||||
} | } | ||||
render_payload_to_jack_ports (netj->bitdepth, packet_bufX, netj->net_period_down, netj->capture_ports, netj->capture_srcs, nframes, netj->dont_htonl_floats ); | render_payload_to_jack_ports (netj->bitdepth, packet_bufX, netj->net_period_down, netj->capture_ports, netj->capture_srcs, nframes, netj->dont_htonl_floats ); | ||||
packet_cache_release_packet(global_packcache, netj->expected_framecnt ); | |||||
return 0; | return 0; | ||||
} | } | ||||
@@ -87,7 +87,7 @@ net_driver_sync_cb(jack_transport_state_t state, jack_position_t *pos, void *dat | |||||
return retval; | return retval; | ||||
} | } | ||||
void netjack_wait( netjack_driver_state_t *netj ) | |||||
int netjack_wait( netjack_driver_state_t *netj ) | |||||
{ | { | ||||
int we_have_the_expected_frame = 0; | int we_have_the_expected_frame = 0; | ||||
jack_nframes_t next_frame_avail; | jack_nframes_t next_frame_avail; | ||||
@@ -136,8 +136,8 @@ void netjack_wait( netjack_driver_state_t *netj ) | |||||
// it works... so... | // it works... so... | ||||
netj->running_free = 0; | netj->running_free = 0; | ||||
if( !we_have_the_expected_frame ) | |||||
jack_error( "netxrun... %d", netj->expected_framecnt ); | |||||
//if( !we_have_the_expected_frame ) | |||||
// jack_error( "netxrun... %d", netj->expected_framecnt ); | |||||
if( we_have_the_expected_frame ) { | if( we_have_the_expected_frame ) { | ||||
netj->time_to_deadline = netj->next_deadline - jack_get_time() - netj->period_usecs; | netj->time_to_deadline = netj->next_deadline - jack_get_time() - netj->period_usecs; | ||||
@@ -283,6 +283,11 @@ void netjack_wait( netjack_driver_state_t *netj ) | |||||
else { | else { | ||||
netj->num_lost_packets = 0; | netj->num_lost_packets = 0; | ||||
} | } | ||||
if( !netj->packet_data_valid && !netj->running_free ) | |||||
return 1; | |||||
return 0; | |||||
} | } | ||||
void netjack_send_silence( netjack_driver_state_t *netj, int syncstate ) | void netjack_send_silence( netjack_driver_state_t *netj, int syncstate ) | ||||
@@ -37,8 +37,6 @@ extern "C" | |||||
{ | { | ||||
#endif | #endif | ||||
#define CELT_MODE 1000 | |||||
#define MASTER_FREEWHEELS 0x80000000 | |||||
typedef struct _netjack_driver_state netjack_driver_state_t; | typedef struct _netjack_driver_state netjack_driver_state_t; | ||||
@@ -111,7 +109,7 @@ struct _netjack_driver_state { | |||||
unsigned int resample_factor_up; | unsigned int resample_factor_up; | ||||
}; | }; | ||||
void netjack_wait( netjack_driver_state_t *netj ); | |||||
int netjack_wait( netjack_driver_state_t *netj ); | |||||
void netjack_send_silence( netjack_driver_state_t *netj, int syncstate ); | void netjack_send_silence( netjack_driver_state_t *netj, int syncstate ); | ||||
void netjack_read( netjack_driver_state_t *netj, jack_nframes_t nframes ) ; | void netjack_read( netjack_driver_state_t *netj, jack_nframes_t nframes ) ; | ||||
void netjack_write( netjack_driver_state_t *netj, jack_nframes_t nframes, int syncstate ); | void netjack_write( netjack_driver_state_t *netj, jack_nframes_t nframes, int syncstate ); | ||||