add: if( ! OSS_SetFragmentSize( 32, 8 ) ) { Req( "OSS device does not support a fragment size of 1024." ); return AHIE_UNKNOWN; }
context: _AHIsub_AllocAudio( struct TagItem*         taglist,		    struct AHIAudioCtrlDrv* AudioCtrl,		    struct DriverBase*      AHIsubBase ){  struct AROSBase* AROSBase = (struct AROSBase*) AHIsubBase;  int freq = AudioCtrl->ahiac_MixFreq;    dd = AllocVec( sizeof( struct AROSData ),		 MEMF_CLEAR | MEMF_PUBLIC );  if( dd != NULL )  {    dd->slavesignal      = -1;    dd->mastersignal     = AllocSignal( -1 );    dd->mastertask       = (struct Process*) FindTask( NULL );    dd->ahisubbase       = AROSBase;  }  else  {    return AHISF_ERROR;  }  if( dd->mastersignal == -1 )  {    return AHISF_ERROR;  }  if( ! OSS_Open( "/dev/dsp", FALSE, TRUE, FALSE ) )  {    return AHISF_ERROR;  }  if( ! OSS_FormatSupported_S16LE() || ! OSS_SetFormat_S16LE() )  {    Req( "OSS device does not support 16 bit little endian samples!" );    return AHISF_ERROR;  }  if( ! OSS_SetWriteRate( freq, &freq ) )  {    Req( "OSS device does not support the requested frequency." );    return AHISF_ERROR;  }  AudioCtrl->ahiac_MixFreq = freq;    return ( AHISF_KNOWHIFI | 	   AHISF_KNOWSTEREO |	   AHISF_MIXING |	   AHISF_TIMING );}