class Image;
class Log;
class Subtitle;
+class AudioBuffers;
/** @class Encoder
* @brief Parent class for classes which can encode video and audio frames.
Encoder (boost::shared_ptr<const FilmState> s, boost::shared_ptr<const Options> o, Log* l);
/** Called to indicate that a processing run is about to begin */
- virtual void process_begin (int64_t audio_channel_layout, AVSampleFormat audio_sample_format) = 0;
+ virtual void process_begin (int64_t audio_channel_layout) = 0;
/** Called with a frame of video.
* @param i Video frame image.
virtual void process_video (boost::shared_ptr<Image> i, int f, boost::shared_ptr<Subtitle> s) = 0;
/** Called with some audio data.
- * @param d Data.
- * @param s Size of data (in bytes)
+ * @param d Array of pointers to floating point sample data for each channel.
+ * @param s Number of frames (ie number of samples in each channel)
*/
- virtual void process_audio (uint8_t* d, int s) = 0;
+ virtual void process_audio (boost::shared_ptr<const AudioBuffers>) = 0;
/** Called when a processing run has finished */
virtual void process_end () = 0;