diff options
| author | Carl Hetherington <cth@carlh.net> | 2012-10-20 15:40:46 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2012-10-20 20:05:08 +0100 |
| commit | b996eb8276dc4645745540190c9a2f5e2c875c0c (patch) | |
| tree | 0dc0cef257733a52cc347197cb0ed08ae53fe4f4 /src/lib/decoder.h | |
| parent | a6976df179011056027a99ae210fb28117c36840 (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.h | 7 |
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; |
