Index: OpenSceneGraph/trunk/src/osgPlugins/ffmpeg/FFmpegImageStream.cpp
===================================================================
--- OpenSceneGraph/trunk/src/osgPlugins/ffmpeg/FFmpegImageStream.cpp (revision 9827)
+++ OpenSceneGraph/trunk/src/osgPlugins/ffmpeg/FFmpegImageStream.cpp (revision 9847)
@@ -1,10 +1,8 @@
 
 #include "FFmpegImageStream.hpp"
+#include "FFmpegAudioStream.hpp"
 
 #include <OpenThreads/ScopedLock>
 #include <osg/Notify>
-
-#include "FFmpegDecoder.hpp"
-#include "MessageQueue.hpp"
 
 #include <memory>
@@ -45,5 +43,4 @@
 
     delete m_commands;
-    delete m_decoder;
 }
 
@@ -64,4 +61,11 @@
     m_decoder->video_decoder().setUserData(this);
     m_decoder->video_decoder().setPublishCallback(publishNewFrame);
+    
+    if (m_decoder->audio_decoder().validContext())
+    {
+        osg::notify(osg::NOTICE)<<"Attaching FFmpegAudioStream"<<std::endl;
+    
+        getAudioStreams().push_back(new FFmpegAudioStream(m_decoder.get()));
+    }
 
     _status = PAUSED;
@@ -121,18 +125,4 @@
 
 
-
-void FFmpegImageStream::setAudioSink(osg::AudioSinkInterface* audio_sink)
-{ 
-    m_decoder->audio_decoder().setAudioSink(audio_sink); 
-}
-
-
-void FFmpegImageStream::consumeAudioBuffer(void * const buffer, const size_t size)
-{ 
-    m_decoder->audio_decoder().fillBuffer(buffer, size);
-}
-
-
-
 double FFmpegImageStream::duration() const
 { 
@@ -160,33 +150,4 @@
     return m_decoder->video_decoder().frameRate(); 
 }
-
-
-
-bool FFmpegImageStream::audioStream() const 
-{ 
-    return m_decoder->audio_decoder().validContext(); 
-}
-
-
-
-int FFmpegImageStream::audioFrequency() const 
-{ 
-    return m_decoder->audio_decoder().frequency(); 
-}
-
-
-
-int FFmpegImageStream::audioNbChannels() const 
-{ 
-    return m_decoder->audio_decoder().nbChannels();
-}
-
-
-
-osg::AudioStream::SampleFormat FFmpegImageStream::audioSampleFormat() const 
-{ 
-    return m_decoder->audio_decoder().sampleFormat(); 
-}
-
 
 
