+/** Callback function to get audio data.
+ *
+ */
+
+typedef int ( *mlt_get_audio )( mlt_frame self, void **buffer, mlt_audio_format *format, int *frequency, int *channels, int *samples );
+
+/** \brief Frame class
+ *
+ * The frame is the primary data object that gets passed around to and through services.
+ *
+ * \extends mlt_properties
+ * \properties \em test_image set if the frame holds a "test card" image
+ * \properties \em test_audio set if the frame holds "test card" audio
+ * \properties \em _producer holds a reference to the frame's end producer
+ * \properties \em _speed the current speed of the producer that generated the frame
+ * \properties \em _position the position of the frame
+ * \properties \em meta.* holds metadata
+ * \properties \em hide set to 1 to hide the video, 2 to mute the audio
+ * \properties \em last_track a flag to indicate an end-of-tracks frame
+ * \properties \em previous \em frame a reference to the unfiltered preceding frame
+ * (no speed factor applied, only available when \em _need_previous_next is set on the producer)
+ * \properties \em next \em frame a reference to the unfiltered following frame
+ * (no speed factor applied, only available when \em _need_previous_next is set on the producer)
+ * \properties \em colorspace the standard for luma coefficients
+ * \properties \em force_full_luma luma range handling, set to -1 for pass-through, 1 for full range, 0 for scaling
+ * \properties \em audio_frequency the sample rate of the audio
+ * \properties \em audio_channels the number of audio channels
+ * \properties \em audio_samples the number of audio samples
+ * \properties \em audio_format the mlt_audio_format for the audio on this frame
+ * \properties \em format the mlt_image_format of the image on this frame
+ * \properties \em width the horizontal resolution of the image
+ * \properties \em height the vertical resolution of the image
+ * \properties \em aspect_ratio the sample aspect ratio of the image
+ */
+