Browse Source

make -dnet report xruns.

git-svn-id: svn+ssh://jackaudio.org/trunk/jack@3709 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/0.117.0
torben 15 years ago
parent
commit
8fe3be703c
3 changed files with 14 additions and 7 deletions
  1. +5
    -1
      drivers/netjack/net_driver.c
  2. +8
    -3
      drivers/netjack/netjack.c
  3. +1
    -3
      drivers/netjack/netjack.h

+ 5
- 1
drivers/netjack/net_driver.c View File

@@ -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;
} }


+ 8
- 3
drivers/netjack/netjack.c View File

@@ -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 )


+ 1
- 3
drivers/netjack/netjack.h View File

@@ -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 );


Loading…
Cancel
Save