Changeset 4891:7d1d30510aa6 in roaraudio


Ignore:
Timestamp:
04/28/11 20:36:59 (13 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

clear some more ckport warnings

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • libroararts/libartsc.c

    r4708 r4891  
    4343 
    4444struct _libroarartsc_stream { 
    45  struct roar_stream stream; 
    46  int fh; 
    47  int blocking; 
     45 roar_vs_t * vss; 
     46 struct roar_stream _stream; 
     47 int _fh; 
     48 int _blocking; 
    4849 int block_size; 
    4950 int dir; 
     
    8283 */ 
    8384const char *arts_error_text(int errorcode) { 
    84  return strerror(errorcode); 
     85 return roar_vs_strerr(errorcode); 
     86} 
     87 
     88static arts_stream_t _arts_stream(int rate, int bits, int channels, const char *name, int dir) { 
     89 struct _libroarartsc_stream * s = roar_mm_malloc(sizeof(struct _libroarartsc_stream)); 
     90 struct roar_stream * stream; 
     91 struct roar_audio_info auinfo; 
     92 struct roar_stream_info info; 
     93 struct roar_keyval kv[1]; 
     94 int err = ROAR_ERROR_NONE; 
     95 
     96 if ( s == NULL ) 
     97  return NULL; 
     98 
     99 if ( (s->vss = roar_vs_new_from_con(_libroarartsc_connection, &err)) == NULL ) { 
     100  roar_mm_free(s); 
     101  return NULL; 
     102 } 
     103 
     104 memset(&auinfo, 0, sizeof(auinfo)); 
     105 auinfo.rate     = rate; 
     106 auinfo.channels = channels; 
     107 auinfo.bits     = bits; 
     108 auinfo.codec    = ROAR_CODEC_DEFAULT; 
     109 
     110 if ( roar_vs_stream(s->vss, &auinfo, dir, &err) == -1 ) { 
     111  roar_vs_close(s->vss, ROAR_VS_TRUE, &err); 
     112  roar_mm_free(s); 
     113  return NULL; 
     114 } 
     115 
     116 s->dir = dir; 
     117 
     118 stream = roar_vs_stream_obj(s->vss, &err); 
     119 
     120 if ( roar_stream_get_info(_libroarartsc_connection, stream, &info) != -1 ) { 
     121  s->block_size = info.block_size; 
     122 } else { 
     123  roar_vs_close(s->vss, ROAR_VS_TRUE, &err); 
     124  roar_mm_free(s); 
     125  return NULL; 
     126 } 
     127 
     128 if ( name != NULL && *name ) { 
     129  kv[0].key   = "description"; 
     130  kv[0].value = (char*)name; 
     131 
     132  roar_vs_meta(s->vss, kv, 1, &err); 
     133 } 
     134 
     135 return (arts_stream_t) s; 
    85136} 
    86137 
     
    97148 */ 
    98149arts_stream_t arts_play_stream(int rate, int bits, int channels, const char *name) { 
    99  struct _libroarartsc_stream * s = roar_mm_malloc(sizeof(struct _libroarartsc_stream)); 
    100  struct roar_meta meta; 
    101  struct roar_stream_info info; 
    102  
    103  if ( !s ) 
    104   return NULL; 
    105  
    106  if ( (s->fh = roar_simple_new_stream_obj(_libroarartsc_connection, &(s->stream), 
    107                                  rate, channels, bits, ROAR_CODEC_DEFAULT, ROAR_DIR_PLAY)) == -1 ) { 
    108   roar_mm_free(s); 
    109   return NULL; 
    110  } 
    111  
    112  s->dir = ROAR_DIR_PLAY; 
    113  
    114  s->blocking = 1; 
    115  
    116  if ( roar_stream_get_info(_libroarartsc_connection, &(s->stream), &info) != -1 ) { 
    117   s->block_size = info.block_size; 
    118  } else { 
    119   close(s->fh); 
    120   roar_mm_free(s); 
    121   return NULL; 
    122  } 
    123  
    124  if ( name && *name ) { 
    125   meta.value  = (char*)name; 
    126   meta.key[0] = 0; 
    127   meta.type   = ROAR_META_TYPE_DESCRIPTION; 
    128  
    129   roar_stream_meta_set(_libroarartsc_connection, &(s->stream), ROAR_META_MODE_SET, &meta); 
    130  } 
    131  
    132  return (arts_stream_t) s; 
     150 return _arts_stream(rate, bits, channels, name, ROAR_DIR_PLAY); 
    133151} 
    134152 
     
    145163 */ 
    146164arts_stream_t arts_record_stream(int rate, int bits, int channels, const char *name) { 
    147  struct _libroarartsc_stream * s = roar_mm_malloc(sizeof(struct _libroarartsc_stream)); 
    148  struct roar_meta meta; 
    149  struct roar_stream_info info; 
    150  
    151  if ( !s ) 
    152   return NULL; 
    153  
    154  if ( (s->fh = roar_simple_new_stream_obj(_libroarartsc_connection, &(s->stream), 
    155                                  rate, channels, bits, ROAR_CODEC_DEFAULT, ROAR_DIR_RECORD)) == -1 ) { 
    156   roar_mm_free(s); 
    157   return NULL; 
    158  } 
    159  
    160  s->dir = ROAR_DIR_RECORD; 
    161  
    162  s->blocking = 1; 
    163  
    164  if ( roar_stream_get_info(_libroarartsc_connection, &(s->stream), &info) != -1 ) { 
    165   s->block_size = info.block_size; 
    166  } else { 
    167   close(s->fh); 
    168   roar_mm_free(s); 
    169   return NULL; 
    170  } 
    171  
    172  if ( name && *name ) { 
    173   meta.value  = (char*)name; 
    174   meta.key[0] = 0; 
    175   meta.type   = ROAR_META_TYPE_DESCRIPTION; 
    176  
    177   roar_stream_meta_set(_libroarartsc_connection, &(s->stream), ROAR_META_MODE_SET, &meta); 
    178  } 
    179  
    180  return (arts_stream_t) s; 
     165 return _arts_stream(rate, bits, channels, name, ROAR_DIR_RECORD); 
    181166} 
    182167 
     
    186171void arts_close_stream(arts_stream_t stream) { 
    187172 struct _libroarartsc_stream * s = (struct _libroarartsc_stream *) stream; 
    188  if ( !stream ) 
     173 if ( stream == NULL ) 
    189174  return; 
    190175 
    191  close(s->fh); 
     176 roar_vs_close(s->vss, ROAR_VS_TRUE, NULL); 
    192177 
    193178 roar_mm_free(stream); 
     
    205190int arts_read(arts_stream_t stream, void *buffer, int count) { 
    206191 struct _libroarartsc_stream * s = (struct _libroarartsc_stream *) stream; 
    207  if ( !stream ) 
    208   return -1; 
    209  
    210  return read(s->fh, buffer, count); 
     192 if ( stream == NULL ) 
     193  return -1; 
     194 
     195 return roar_vs_read(s->vss, buffer, count, NULL); 
    211196} 
    212197 
     
    225210  return -1; 
    226211 
    227  return write(s->fh, buffer, count); 
     212 return roar_vs_write(s->vss, buffer, count, NULL); 
    228213} 
    229214 
     
    240225int arts_stream_set(arts_stream_t stream, arts_parameter_t param, int value) { 
    241226 struct _libroarartsc_stream * s = (struct _libroarartsc_stream *) stream; 
    242  if ( !stream ) 
     227 if ( stream == NULL ) 
    243228  return -1; 
    244229 
    245230 if ( param == ARTS_P_BLOCKING ) { 
    246   if ( roar_socket_nonblock(s->fh, value ? ROAR_SOCKET_BLOCK : ROAR_SOCKET_NONBLOCK) == -1 ) 
     231  if ( roar_vs_blocking(s->vss, value ? ROAR_VS_TRUE : ROAR_VS_FALSE, NULL) == -1 ) 
    247232   return -1; 
    248233  return arts_stream_get(stream, param); 
     
    262247int arts_stream_get(arts_stream_t stream, arts_parameter_t param) { 
    263248 struct _libroarartsc_stream * s = (struct _libroarartsc_stream *) stream; 
    264  fd_set sl; 
    265  struct timeval tv; 
    266  
    267  if ( !stream ) 
     249 struct roar_vio_select vios; 
     250 struct roar_vio_selecttv rtv; 
     251 int events; 
     252 
     253 if ( stream == NULL ) 
    268254  return -1; 
    269255 
     
    271257   return s->block_size; 
    272258 } else if ( param == ARTS_P_BUFFER_SPACE ) { 
    273   FD_ZERO(&sl); 
    274   FD_SET(s->fh, &sl); 
    275  
    276   tv.tv_sec  = 0; 
    277   tv.tv_usec = 1; 
    278  
    279   if ( s->dir == ROAR_DIR_PLAY ) { 
    280    if (select(s->fh + 1, NULL, &sl, NULL, &tv) > 0) 
    281     return s->block_size; 
    282   } else { 
    283    if (select(s->fh + 1, &sl, NULL, NULL, &tv) > 0) 
    284     return s->block_size; 
    285   } 
     259  rtv.sec    = 0; 
     260  rtv.nsec   = 1000; 
     261 
     262  events     = s->dir == ROAR_DIR_PLAY ? ROAR_VIO_SELECT_WRITE : ROAR_VIO_SELECT_READ; 
     263 
     264  ROAR_VIO_SELECT_SETVIO(&vios, roar_vs_vio_obj(s->vss, NULL), events); 
     265 
     266  if ( roar_vio_select(&vios, 1, &rtv, NULL) == 1 ) 
     267   return s->block_size; 
    286268 
    287269  return 0; 
     
    291273  return 1; 
    292274 } else if ( param == ARTS_P_BLOCKING ) { 
    293   return s->blocking; 
     275  return roar_vs_blocking(s->vss, ROAR_VS_ASK, NULL) == ROAR_VS_TRUE ? 1 : 0; 
    294276 } 
    295277 
  • libroarsndio/para.c

    r4708 r4891  
    173173  return 0; 
    174174 
    175  if ( roar_server_oinfo(&(hdl->con), &s) == -1 ) 
     175 if ( roar_server_oinfo2(&(hdl->con), &s, ROAR_DIR_PLAY) == -1 ) 
    176176  return 0; 
    177177 
Note: See TracChangeset for help on using the changeset viewer.