Exemple #1
0
static int filter(struct af_instance *af, struct mp_audio *data)
{
  af_drc_t *s = af->priv;

  if (!data)
    return 0;

  if (af_make_writeable(af, data) < 0) {
    talloc_free(data);
    return -1;
  }

  if(af->data->format == (AF_FORMAT_S16))
  {
    if (s->method == 2)
        method2_int16(s, data);
    else
        method1_int16(s, data);
  }
  else if(af->data->format == (AF_FORMAT_FLOAT))
  {
    if (s->method == 2)
        method2_float(s, data);
    else
        method1_float(s, data);
  }
  af_add_output_frame(af, data);
  return 0;
}
Exemple #2
0
static int filter_frame(struct af_instance *af, struct mp_audio *data)
{
    if (!data)
        return 0;
    if (af_make_writeable(af, data) < 0) {
        talloc_free(data);
        return -1;
    }
    if (data->format == AF_FORMAT_FLOAT) {
        play_float(af->priv, data);
    } else {
        play_s16(af->priv, data);
    }
    af_add_output_frame(af, data);
    return 0;
}