Changeset 2774:d721a439d628 in roaraudio


Ignore:
Timestamp:
09/23/09 13:13:45 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

some very basic start of code wmm driver

Location:
roard
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • roard/driver_wmm.c

    r2773 r2774  
    2727#if defined(ROAR_HAVE_H_MMSYSTEM) && defined(ROAR_TARGET_WIN32) 
    2828 
     29int     driver_wmm_open_vio(struct roar_vio_calls * inst, char * device, struct roar_audio_info * info, int fh, struct roar_stream_server * sstream) { 
     30 struct driver_wmm * self; 
     31 
     32 if ( (self = malloc(sizeof(struct driver_wmm))) == NULL ) 
     33  return -1; 
     34 
     35 memset(self, 0, sizeof(struct driver_wmm)); 
     36 
     37 memset(inst, 0, sizeof(struct roar_vio_calls)); 
     38 
     39 inst->inst  = self; 
     40 inst->close = driver_wmm_close_vio; 
     41 inst->write = driver_wmm_write; 
     42 
     43 return 0; 
     44} 
     45 
     46int     driver_wmm_close_vio(struct roar_vio_calls * vio) { 
     47 struct driver_wmm * self; 
     48 
     49 if ( vio == NULL ) 
     50  return -1; 
     51 
     52 if ( (self = vio->inst) == NULL ) 
     53  return -1; 
     54 
     55 free(self); 
     56 
     57 return 0; 
     58} 
     59 
     60ssize_t driver_wmm_write(struct roar_vio_calls * vio, void *buf, size_t count) { 
     61 return -1; 
     62} 
     63 
    2964#endif 
    3065 
  • roard/include/driver_wmm.h

    r2773 r2774  
    2828#include <roaraudio.h> 
    2929 
     30struct driver_wmm { 
     31  UINT  id;             /* device id                       */ 
     32  HWAVEOUT hwo;         /* waveout handler                 */ 
     33  WAVEOUTCAPS caps;     /* device caps                     */ 
     34  WAVEFORMATEX wavefmt; /* sample format                   */ 
     35 
     36  int opened;           /* device has been opened          */ 
     37  int prepared;         /* waveheaders have been prepared  */ 
     38  int blocks;           /* number of blocks (wave headers) */ 
     39  int splPerBlock;      /* sample per blocks.              */ 
     40  int msPerBlock;       /* millisecond per block (approx.) */ 
     41 
     42//  void * bigbuffer;     /* Allocated buffer for waveheaders and sound data */ 
     43//  myWH_t * wh;          /* Pointer to waveheaders in bigbuffer             */ 
     44//  BYTE * spl;           /* Pointer to sound data in bigbuffer              */ 
     45}; 
     46 
     47int     driver_wmm_open_vio(struct roar_vio_calls * inst, char * device, struct roar_audio_info * info, int fh, struct roar_stream_server * sstream); 
     48int     driver_wmm_close_vio(struct roar_vio_calls * vio); 
     49ssize_t driver_wmm_write(struct roar_vio_calls * vio, void *buf, size_t count); 
     50 
    3051#endif 
    3152 
Note: See TracChangeset for help on using the changeset viewer.