Changeset 2641:80c7f8cb3dbd in roaraudio


Ignore:
Timestamp:
09/12/09 02:04:36 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

some very basic code, copy of prototypes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libroardsp/vio_transcode.c

    r2639 r2641  
    2525#include "libroardsp.h" 
    2626 
     27int     roar_vio_open_xcode    (struct roar_vio_calls * calls, int encoder, struct roar_audio_info * info, 
     28                                struct roar_vio_calls * dst) { 
     29 struct roar_xcoder * xcoder = malloc(sizeof(struct roar_xcoder)); 
     30 
     31 if ( xcoder == NULL ) 
     32  return -1; 
     33 
     34 if ( calls == NULL || info == NULL || dst == NULL ) { 
     35  free(xcoder); 
     36  return -1; 
     37 } 
     38 
     39 if ( roar_xcoder_init(xcoder, encoder, info, dst) == -1 ) { 
     40  free(xcoder); 
     41  return -1; 
     42 } 
     43 
     44 memset(calls, 0, sizeof(struct roar_vio_calls)); 
     45 
     46 calls->inst   = (void*)xcoder; 
     47 
     48 calls->close  = roar_vio_xcode_close; 
     49 
     50 if ( encoder ) { 
     51  calls->write = roar_vio_xcode_proc; 
     52 } else { 
     53  calls->read  = roar_vio_xcode_proc; 
     54 } 
     55 
     56 return 0; 
     57} 
     58 
     59ssize_t roar_vio_xcode_proc    (struct roar_vio_calls * vio, void *buf, size_t count) { 
     60 if ( vio == NULL ) 
     61  return -1; 
     62 
     63 if ( buf == NULL && count != 0 ) 
     64  return -1; 
     65 
     66 return roar_xcoder_proc(vio->inst, buf, count); 
     67} 
     68 
     69off_t   roar_vio_xcode_lseek   (struct roar_vio_calls * vio, off_t offset, int whence); 
     70int     roar_vio_xcode_nonblock(struct roar_vio_calls * vio, int state); 
     71int     roar_vio_xcode_sync    (struct roar_vio_calls * vio); 
     72int     roar_vio_xcode_ctl     (struct roar_vio_calls * vio, int cmd, void * data); 
     73 
     74int     roar_vio_xcode_close   (struct roar_vio_calls * vio) { 
     75 int ret = 0; 
     76 
     77 if ( vio == NULL ) 
     78  return -1; 
     79 
     80 if ( roar_xcoder_close(vio->inst) == -1 ) 
     81  ret = -1; 
     82 
     83 if ( vio->inst != NULL ) 
     84  free(vio->inst); 
     85 
     86 return ret; 
     87} 
     88 
     89int     roar_vio_open_bixcode    (struct roar_vio_calls * calls, struct roar_audio_info * info, 
     90                                  struct roar_vio_calls * dst); 
     91ssize_t roar_vio_bixcode_read    (struct roar_vio_calls * vio, void *buf, size_t count); 
     92ssize_t roar_vio_bixcode_write   (struct roar_vio_calls * vio, void *buf, size_t count); 
     93off_t   roar_vio_bixcode_lseek   (struct roar_vio_calls * vio, off_t offset, int whence); 
     94int     roar_vio_bixcode_nonblock(struct roar_vio_calls * vio, int state); 
     95int     roar_vio_bixcode_sync    (struct roar_vio_calls * vio); 
     96int     roar_vio_bixcode_ctl     (struct roar_vio_calls * vio, int cmd, void * data); 
     97int     roar_vio_bixcode_close   (struct roar_vio_calls * vio); 
    2798 
    2899//ll 
Note: See TracChangeset for help on using the changeset viewer.