Changeset 4814:6469acca68b7 in roaraudio


Ignore:
Timestamp:
03/27/11 14:09:32 (13 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

add a buffer for input mixer

Location:
roard
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • roard/include/output.h

    r4813 r4814  
    6969 
    7070void         * g_output_buffer; 
     71void         * g_input_buffer; 
    7172size_t         g_output_buffer_len; 
     73#define        g_input_buffer_len g_output_buffer_len 
    7274 
    7375int output_buffer_init   (struct roar_audio_info * info); 
  • roard/output.c

    r4811 r4814  
    2626#include "roard.h" 
    2727 
    28 /* 
    29 void         * g_output_buffer; 
    30 unsigned int   g_output_buffer_len; 
    31 */ 
    32  
    3328int output_buffer_init   (struct roar_audio_info * info) { 
    34  size_t   size; // = ROAR_OUTPUT_BUFFER_SAMPLES; 
     29 size_t   size; 
    3530 void   * buf; 
    3631 
    37 /* 
    38  size *= info->channels; 
    39  size *= info->bits / 8; 
    40 */ 
     32 g_output_buffer     = NULL; 
     33 g_input_buffer      = NULL; 
     34 g_output_buffer_len = 0; 
    4135 
    4236 size = ROAR_OUTPUT_CALC_OUTBUFSIZE(info); 
     
    5044 g_output_buffer_len = size; 
    5145 
     46 if ( (buf = roar_mm_malloc(size)) == NULL ) { 
     47  g_output_buffer     = NULL; 
     48  g_output_buffer_len = 0; 
     49  roar_mm_free(g_output_buffer); 
     50  return -1; 
     51 } 
     52 
     53 g_input_buffer = buf; 
     54 
    5255 ROAR_DBG("output_buffer_init(*): output buffer is at %p", buf); 
    5356 
    54  memlock_register(MEMLOCK_LOW, buf, size); 
     57 memlock_register(MEMLOCK_LOW, g_output_buffer, size); 
     58 memlock_register(MEMLOCK_LOW, g_input_buffer,  size); 
    5559 
    5660 output_buffer_reinit(); 
     
    7377  roar_mm_free(g_output_buffer); 
    7478 
     79 if ( g_input_buffer != NULL ) 
     80  roar_mm_free(g_input_buffer); 
     81 
    7582 g_output_buffer     = NULL; 
     83 g_input_buffer      = NULL; 
    7684 g_output_buffer_len = 0; 
    7785 
Note: See TracChangeset for help on using the changeset viewer.