summaryrefslogtreecommitdiff
path: root/src/lib/decoder.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2012-10-20 15:40:46 +0100
committerCarl Hetherington <cth@carlh.net>2012-10-20 20:05:08 +0100
commitb996eb8276dc4645745540190c9a2f5e2c875c0c (patch)
tree0dc0cef257733a52cc347197cb0ed08ae53fe4f4 /src/lib/decoder.h
parenta6976df179011056027a99ae210fb28117c36840 (diff)
Rework audio to deinterleave straight away and pass data
around as floats. Should simplify things.
Diffstat (limited to 'src/lib/decoder.h')
-rw-r--r--src/lib/decoder.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/lib/decoder.h b/src/lib/decoder.h
index 312cbbe8e..88dd90f0c 100644
--- a/src/lib/decoder.h
+++ b/src/lib/decoder.h
@@ -100,10 +100,10 @@ public:
sigc::signal<void, boost::shared_ptr<Image>, int, boost::shared_ptr<Subtitle> > Video;
/** Emitted when some audio data is ready.
- * First parameter is the interleaved sample data, format is given in the FilmState.
- * Second parameter is the size of the data.
+ * First parameter is an array of pointers to deinterleaved, floating point sample data for each channel.
+ * Second parameter is the size of the data in frames (ie samples on each channel).
*/
- sigc::signal<void, uint8_t *, int> Audio;
+ sigc::signal<void, float**, int> Audio;
protected:
/** perform a single pass at our content */
@@ -137,6 +137,7 @@ protected:
private:
void setup_video_filters ();
+ void emit_audio (uint8_t* data, int size);
/** last video frame to be processed */
int _video_frame;