diff options
author | Wim Taymans <wtaymans@redhat.com> | 2016-01-08 17:17:44 +0100 |
---|---|---|
committer | Wim Taymans <wtaymans@redhat.com> | 2016-01-08 17:19:58 +0100 |
commit | 980163457e310082504f218061e4cde5e0603ad0 (patch) | |
tree | 2af4aab52089822e668ea5a436cb558d305b4834 | |
parent | 0da2709d0c583581c8e9045cf597fe8cb7151239 (diff) |
audio-convert: simplify API
Simplify the API, we don't need the consumed and produced output
arguments. The caller needs to use the _get_in_frames/get_out_frames API
to check how much input is needed and how much output will be produced.
-rw-r--r-- | gst-libs/gst/audio/audio-converter.c | 22 | ||||
-rw-r--r-- | gst-libs/gst/audio/audio-converter.h | 3 | ||||
-rw-r--r-- | gst/audioconvert/gstaudioconvert.c | 4 |
3 files changed, 8 insertions, 21 deletions
diff --git a/gst-libs/gst/audio/audio-converter.c b/gst-libs/gst/audio/audio-converter.c index 1cd387b8f..564a203bd 100644 --- a/gst-libs/gst/audio/audio-converter.c +++ b/gst-libs/gst/audio/audio-converter.c @@ -832,8 +832,6 @@ gst_audio_converter_get_max_latency (GstAudioConverter * convert) * @in_samples: number of input samples * @out: output samples * @out_samples: number of output samples - * @in_consumed: number of input samples consumed - * @out_produced: number of output samples produced * * Perform the conversion with @in_samples in @in to @out_samples in @out * using @convert. @@ -844,17 +842,17 @@ gst_audio_converter_get_max_latency (GstAudioConverter * convert) * If non-interleaved samples are used, @in and @out must point to an * array with pointers to memory blocks, one for each channel. * - * The actual number of samples used from @in is returned in @in_consumed and - * can be less than @in_samples. The actual number of samples produced is - * returned in @out_produced and can be less than @out_samples. + * This function always produces @out_frames of output and consumes @in_frames of + * input. Use gst_audio_converter_get_out_frames() and + * gst_audio_converter_get_in_frames() to make sure @in_frames and @out_frames + * are matching and @in and @out point to enough memory. * * Returns: %TRUE is the conversion could be performed. */ gboolean gst_audio_converter_samples (GstAudioConverter * convert, GstAudioConverterFlags flags, gpointer in[], gsize in_samples, - gpointer out[], gsize out_samples, gsize * in_consumed, - gsize * out_produced) + gpointer out[], gsize out_samples) { AudioChain *chain; gpointer *tmp; @@ -863,15 +861,11 @@ gst_audio_converter_samples (GstAudioConverter * convert, g_return_val_if_fail (convert != NULL, FALSE); g_return_val_if_fail (in != NULL, FALSE); g_return_val_if_fail (out != NULL, FALSE); - g_return_val_if_fail (in_consumed != NULL, FALSE); - g_return_val_if_fail (out_produced != NULL, FALSE); in_samples = MIN (in_samples, out_samples); if (in_samples == 0) { GST_LOG ("skipping empty buffer"); - *in_consumed = 0; - *out_produced = 0; return TRUE; } @@ -885,8 +879,6 @@ gst_audio_converter_samples (GstAudioConverter * convert, in_samples, bytes); for (i = 0; i < chain->blocks; i++) memcpy (out[i], in[i], bytes); - *out_produced = in_samples; - *in_consumed = in_samples; return TRUE; } @@ -906,9 +898,5 @@ gst_audio_converter_samples (GstAudioConverter * convert, convert->out.finfo->pack_func (convert->out.finfo, 0, tmp[i], out[i], in_samples * chain->inc); } - - *out_produced = in_samples; - *in_consumed = in_samples; - return TRUE; } diff --git a/gst-libs/gst/audio/audio-converter.h b/gst-libs/gst/audio/audio-converter.h index 1810293c5..18dcbc125 100644 --- a/gst-libs/gst/audio/audio-converter.h +++ b/gst-libs/gst/audio/audio-converter.h @@ -89,7 +89,6 @@ gsize gst_audio_converter_get_max_latency (GstAudioConverter *con gboolean gst_audio_converter_samples (GstAudioConverter * convert, GstAudioConverterFlags flags, gpointer in[], gsize in_samples, - gpointer out[], gsize out_samples, - gsize *in_consumed, gsize *out_produced); + gpointer out[], gsize out_samples); #endif /* __GST_AUDIO_CONVERTER_H__ */ diff --git a/gst/audioconvert/gstaudioconvert.c b/gst/audioconvert/gstaudioconvert.c index e5e8bbbba..b3714aa88 100644 --- a/gst/audioconvert/gstaudioconvert.c +++ b/gst/audioconvert/gstaudioconvert.c @@ -703,7 +703,7 @@ gst_audio_convert_transform (GstBaseTransform * base, GstBuffer * inbuf, gint insize, outsize; gboolean inbuf_writable; GstAudioConverterFlags flags; - gsize samples, consumed, produced; + gsize samples; /* get amount of samples to convert. */ samples = gst_buffer_get_size (inbuf) / this->in_info.bpf; @@ -741,7 +741,7 @@ gst_audio_convert_transform (GstBaseTransform * base, GstBuffer * inbuf, gpointer out[1] = { dstmap.data }; if (!gst_audio_converter_samples (this->convert, flags, - in, samples, out, samples, &consumed, &produced)) + in, samples, out, samples)) goto convert_error; } else { /* Create silence buffer */ |