+/** Get the short name for an audio format.
+ *
+ * You do not need to deallocate the returned string.
+ * \public \memberof mlt_frame_s
+ * \param format an audio format enum
+ * \return a string for the name of the image format
+ */
+
+const char * mlt_audio_format_name( mlt_audio_format format )
+{
+ switch ( format )
+ {
+ case mlt_audio_none: return "none";
+ case mlt_audio_s16: return "s16";
+ case mlt_audio_s32: return "s32";
+ case mlt_audio_s32le: return "s32le";
+ case mlt_audio_float: return "float";
+ case mlt_audio_f32le: return "f32le";
+ case mlt_audio_u8: return "u8";
+ }
+ return "invalid";
+}
+
+/** Get the amount of bytes needed for a block of audio.
+ *
+ * \public \memberof mlt_frame_s
+ * \param format an audio format enum
+ * \param samples the number of samples per channel
+ * \param channels the number of channels
+ * \return the number of bytes
+ */
+
+int mlt_audio_format_size( mlt_audio_format format, int samples, int channels )
+{
+ switch ( format )
+ {
+ case mlt_audio_none: return 0;
+ case mlt_audio_s16: return samples * channels * sizeof( int16_t );
+ case mlt_audio_s32le:
+ case mlt_audio_s32: return samples * channels * sizeof( int32_t );
+ case mlt_audio_f32le:
+ case mlt_audio_float: return samples * channels * sizeof( float );
+ case mlt_audio_u8: return samples * channels;
+ }
+ return 0;
+}
+
+/** Get the audio associated to the frame.
+ *
+ * You should express the desired format, frequency, channels, and samples as inputs. As long
+ * as the loader producer was used to generate this or the audioconvert filter
+ * was attached, then you will get the audio back in the format you desire.
+ * However, you do not always get the channels and samples you request depending
+ * on properties and filters. You do not need to supply a pre-allocated
+ * buffer, but you should always supply the desired audio format.
+ * The audio is always in interleaved format.
+ * You should use the \p mlt_sample_calculator to determine the number of samples you want.
+ *
+ * \public \memberof mlt_frame_s
+ * \param self a frame
+ * \param[out] buffer an audio buffer
+ * \param[in,out] format the audio format
+ * \param[in,out] frequency the sample rate
+ * \param[in,out] channels
+ * \param[in,out] samples the number of samples per frame
+ * \return true if error
+ */
+
+int mlt_frame_get_audio( mlt_frame self, void **buffer, mlt_audio_format *format, int *frequency, int *channels, int *samples )