Changeset 1151:699db521c74a in roaraudio for roard/streams.c


Ignore:
Timestamp:
01/22/09 14:23:48 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

got latency calc for oss driver working, need to cleanup some code

File:
1 edited

Legend:

Unmodified
Added
Removed
  • roard/streams.c

    r1148 r1151  
    339339int sreams_calc_delay    (int id) { 
    340340 struct roar_stream_server * ss; 
     341 struct roar_stream        * s; 
    341342 register uint_least32_t d = 0; 
    342343 uint_least32_t t[1]; 
    343  
    344  if ( (ss = g_streams[id]) == NULL ) 
     344 uint64_t       tmp; 
     345 
     346 if ( (s = ROAR_STREAM(ss = g_streams[id])) == NULL ) 
    345347  return -1; 
    346348 
     
    349351   d += *t; 
    350352 } 
     353 
     354 if ( ss->vio.ctl != NULL ) { 
     355  if ( roar_vio_ctl(&(ss->vio), ROAR_VIO_CTL_GET_DELAY, t) != -1 ) { // *t is in byte 
     356   ROAR_WARN("sreams_calc_delay(id=%i): VIO delay in byte: %i", id, *t); 
     357   tmp = *t; 
     358   tmp *= 1000000; // musec per sec 
     359   tmp /= s->info.rate * s->info.channels * (s->info.bits/8); 
     360   ROAR_WARN("sreams_calc_delay(id=%i): VIO delay in musec: %i", id, tmp); 
     361 
     362   d += tmp; 
     363  } 
     364 } 
     365 
     366    ROAR_WARN("sreams_calc_delay(id=%i): delay in musec: %i", id, d); 
    351367 
    352368 ss->delay = d; 
Note: See TracChangeset for help on using the changeset viewer.