add: if( ! OSS_SetFragmentSize( 32, 8 ) ) { Req( "OSS device does not support a fragment size of 1024." ); return AHIE_UNKNOWN; }
context: _AHIsub_Start( ULONG                   flags,	       struct AHIAudioCtrlDrv* AudioCtrl,	       struct DriverBase*      AHIsubBase ){  struct AROSBase* AROSBase = (struct AROSBase*) AHIsubBase;  AHIsub_Stop( flags, AudioCtrl );  if(flags & AHISF_PLAY)  {    int freq = AudioCtrl->ahiac_MixFreq;    struct TagItem proctags[] =      {	{ NP_Entry,     (ULONG) &slaveentry },	{ NP_Name,      (ULONG) LibName     },	{ NP_Priority,  127                 },	{ TAG_DONE,     0                   }      };        dd->mixbuffer = AllocVec( AudioCtrl->ahiac_BuffSize,			      MEMF_ANY | MEMF_PUBLIC );    if( dd->mixbuffer == NULL ) return AHIE_NOMEM;    Forbid();    dd->slavetask = CreateNewProc( proctags );    if( dd->slavetask != NULL )    {      dd->slavetask->pr_Task.tc_UserData = AudioCtrl;    }    Permit();    if( dd->slavetask != NULL )    {      Wait( 1L << dd->mastersignal );  // Wait for slave to come alive      if( dd->slavetask == NULL )      // Is slave alive or dead?      {        return AHIE_UNKNOWN;      }    }    else    {      return AHIE_NOMEM;                 // Well, out of memory or whatever...    }    // Since OSS kind of sucks, we have to close and reopen it here ...        OSS_Close();    if( ! OSS_Open( "/dev/dsp", FALSE, TRUE, FALSE ) )    {      Req( "OSS device would not reopen." );      return AHIE_UNKNOWN;    }    switch( AudioCtrl->ahiac_BuffType )    {      case AHIST_M16S:      case AHIST_M32S:	if( ! OSS_SetMono() )	{	  Req( "OSS device does not support mono samples." );	  return AHIE_UNKNOWN;	}	break;      case AHIST_S16S:      case AHIST_S32S:	if( ! OSS_SetStereo() )	{	  Req( "OSS device does not support stereo samples." );	  return AHIE_UNKNOWN;	}	break;      default: 	Req( "Unknown sample format requested: %08lx",	     AudioCtrl->ahiac_BuffType );	return AHIE_UNKNOWN;    }      if( ! OSS_SetFormat_S16LE() )    {      Req( "OSS device does not support 16 bit little endian samples!" );      return AHIE_UNKNOWN;    }    if( ! OSS_SetWriteRate( freq, &freq ) )    {      Req( "OSS device does not support the requested frequency." );      return AHIE_UNKNOWN;    }  }  if( flags & AHISF_RECORD )  {    return AHIE_UNKNOWN;  }  return AHIE_OK;}