Changeset 455:2aca84291306 in roaraudio for plugins/xmms


Ignore:
Timestamp:
08/12/08 04:00:00 (16 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added roar_get_output_time() and roar_get_written_time()

File:
1 edited

Legend:

Unmodified
Added
Removed
  • plugins/xmms/roar.c

    r454 r455  
    5252        roar_free, 
    5353        roar_playing, 
    54         NULL, //roar_get_output_time, 
    55         NULL, //roar_get_written_time, 
     54        roar_get_output_time, 
     55        roar_get_written_time, 
    5656}; 
    5757 
     
    6565 struct roar_stream     stream; 
    6666 int data_fh; 
     67 long int written; 
     68 int bps; 
    6769} g_inst; 
    6870 
     
    8284 
    8385void roar_write(void *ptr, int length) { 
    84  write(g_inst.data_fh, ptr, length); 
     86 int r; 
     87 if ( (r = write(g_inst.data_fh, ptr, length)) != -1 ) 
     88  g_inst.written += r; 
    8589} 
    8690 
     
    132136 } 
    133137 
     138 g_inst.bps = nch * rate * bits / 8; 
     139 
    134140 if ( (g_inst.data_fh = roar_simple_new_stream_obj(&(g_inst.con), &(g_inst.stream), 
    135141                              rate, nch, bits, codec, ROAR_DIR_PLAY)) == -1) { 
     
    137143 } 
    138144 g_inst.state |= STATE_PLAYING; 
     145 
     146 g_inst.written = 0; 
    139147 
    140148 return TRUE; 
     
    145153 g_inst.state |= STATE_PLAYING; 
    146154 g_inst.state -= STATE_PLAYING; 
     155 g_inst.written = 0; 
    147156} 
    148157 
    149158void roar_pause(short p); 
    150 int roar_get_output_time(void); 
    151 int roar_get_written_time(void); 
    152159 
    153160int roar_free(void) { 
     
    155162} 
    156163 
     164int roar_get_output_time(void) { 
     165 return roar_get_written_time(); 
     166} 
     167int roar_get_written_time(void) { 
     168 return (g_inst.written * 1000) / g_inst.bps; 
     169} 
     170 
    157171//ll 
Note: See TracChangeset for help on using the changeset viewer.