Beispiel #1
0
static bool rs_stop(void *data)
{
   rsd_t *rsd = (rsd_t*)data;
   rsd_stop(rsd->rd);

   return true;
}
Beispiel #2
0
int     driver_rsound_close        (struct roar_vio_calls * vio) {
 int r = 0;

 if ( rsd_stop(vio->inst) == -1 )
  r = -1;

 if ( rsd_free(vio->inst) == -1 )
  r = -1;

 return r;
}
Beispiel #3
0
static void rs_free(void *data)
{
   rsd_t *rsd = (rsd_t*)data;

   rsd_stop(rsd->rd);
   rsd_free(rsd->rd);

   fifo_free(rsd->buffer);
   slock_free(rsd->cond_lock);
   scond_free(rsd->cond);

   free(rsd);
}
Beispiel #4
0
static void uninit(struct ao *ao, bool cut_audio)
{
    struct priv *priv = ao->priv;
    /* The API does not provide a direct way to explicitly wait until
     * the last byte has been played server-side as this cannot be
     * guaranteed by backend drivers, so we approximate this behavior.
     */
    if (!cut_audio)
        mp_sleep_us(rsd_delay_ms(priv->rd) * 1000);

    rsd_stop(priv->rd);
    rsd_free(priv->rd);
}
Beispiel #5
0
static void reset(struct ao *ao)
{
    struct priv *priv = ao->priv;
    rsd_stop(priv->rd);
    rsd_start(priv->rd);
}