Changeset 4821:eb99f5b29f0d in roaraudio


Ignore:
Timestamp:
03/28/11 16:02:32 (13 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

corrected error in case recsource stream has diffrent info struct than waveform mixer

File:
1 edited

Legend:

Unmodified
Added
Removed
  • roard/waveform.c

    r4820 r4821  
    109109int waveform_update_inputs (void) { 
    110110 struct roar_buffer * buf; 
    111  size_t len; 
     111 void * bufdata; 
    112112 
    113113 // read recorded data...: 
    114114 if ( streams_recsource_id != -1 ) { 
    115   len = g_input_buffer_len; 
    116   if ( stream_shift_out_buffer(streams_recsource_id, g_input_buffer, &len) == -1 ) { 
    117    ROAR_DBG("waveform_update_mixer(void): streams_is_new(%i) = %i", streams_recsource_id, streams_is_new(streams_recsource_id)); 
    118    if ( streams_is_new(streams_recsource_id) ) { 
    119     ROAR_DBG("waveform_update_mixer(void): can not read record buffer: stream %i is still marked new.", streams_recsource_id); 
     115  if ( streams_get_outputbuffer(streams_recsource_id, &bufdata, g_input_buffer_len) == -1 ) { 
     116   ROAR_WARN("waveform_update_mixer(void): can not request output buffer for record stream %i.", streams_recsource_id); 
     117  } else { 
     118   if ( streams_fill_mixbuffer2(streams_recsource_id, g_sa) == -1 ) { 
     119    ROAR_WARN("waveform_update_mixer(void): can not fill output buffer for record stream %i.", streams_recsource_id); 
    120120   } else { 
    121     ROAR_WARN("waveform_update_mixer(void): can not read record buffer."); 
     121    memcpy(g_input_buffer, bufdata, g_input_buffer_len); 
    122122   } 
    123    memset(g_input_buffer, 0, g_input_buffer_len); 
    124   } else { 
    125    if ( len < g_input_buffer_len ) 
    126     memset(g_input_buffer+len, 0, g_input_buffer_len-len); 
    127123  } 
    128124 } 
Note: See TracChangeset for help on using the changeset viewer.