diff --git a/src/osgPlugins/xine/ReaderWriterXine.cpp b/src/osgPlugins/xine/ReaderWriterXine.cpp index 4f0f1ca0a..d933984c1 100644 --- a/src/osgPlugins/xine/ReaderWriterXine.cpp +++ b/src/osgPlugins/xine/ReaderWriterXine.cpp @@ -49,7 +49,7 @@ class XineImageStream : public osg::ImageStream // set up audio driver char* audio_driver = getenv("OSG_XINE_AUDIO_DRIVER"); - _ao = audio_driver ? xine_open_audio_driver(_xine, audio_driver, NULL) : xine_open_audio_driver(_xine, "none", NULL); + _ao = audio_driver ? xine_open_audio_driver(_xine, audio_driver, NULL) : xine_open_audio_driver(_xine, "auto", NULL); if (!_vo) { @@ -70,6 +70,8 @@ class XineImageStream : public osg::ImageStream _ready = false; // play(); + + return true; } @@ -97,8 +99,8 @@ class XineImageStream : public osg::ImageStream virtual void pause() { - if (_status==PAUSED) return; - + if (_status==PAUSED || _status==INVALID) return; + _status=PAUSED; if (_stream) @@ -109,10 +111,13 @@ class XineImageStream : public osg::ImageStream virtual void rewind() { + if (_status==INVALID) return; + _status=REWINDING; if (_stream) { - xine_trick_mode(_stream,XINE_TRICK_MODE_FAST_REWIND,0); + osg::notify(osg::WARN)<<"Warning::XineImageStream::rewind() - rewind disabled at present."< imageStream = new osgXine::XineImageStream(); - if (!imageStream->open(_xine, file)) return ReadResult::FILE_NOT_HANDLED; + if (!imageStream->open(_xine, fileName)) return ReadResult::FILE_NOT_HANDLED; return imageStream.release(); }