diff --git a/libs/audio/gstaudio.c b/libs/audio/gstaudio.c index 04d5b6bd63..c18d6c6e78 100644 --- a/libs/audio/gstaudio.c +++ b/libs/audio/gstaudio.c @@ -140,3 +140,13 @@ gst_audio_highest_sample_value (GstPad* pad) /* example : 16 bit, signed : samples between -32768 and 32767 */ return ((long) (1 << width)); } + +gboolean +gst_audio_is_buffer_framed (GstPad* pad, GstBuffer* buf) +/* check if the buffer size is a whole multiple of the frame size */ +{ + if (GST_BUFFER_SIZE (buf) % gst_audio_frame_byte_size (pad) == 0) + return TRUE; + else + return FALSE; +} diff --git a/libs/audio/gstaudio.h b/libs/audio/gstaudio.h index c0d82ff9e4..7cced9acf2 100644 --- a/libs/audio/gstaudio.h +++ b/libs/audio/gstaudio.h @@ -40,3 +40,6 @@ double gst_audio_length (GstPad* pad, GstBuffer* buf); /* calculate highest possible sample value based on capabilities of pad */ long gst_audio_highest_sample_value (GstPad* pad); +/* check if the buffer size is a whole multiple of the frame size */ +gboolean gst_audio_is_buffer_framed (GstPad* pad, GstBuffer* buf); +