Show
Ignore:
Timestamp:
01/23/15 18:15:20 (4 days ago)
Author:
robert
Message:

From Javier Taibo,
"I have found a "bug" in the new audio decoding code (actually I think the bug is in ffmpeg, but anyway it should be wise to protect the OSG plug-in about it). I am attaching a security check in FFmpegDecoderAudio.cpp.

If anybody is curious about the problem, it happens sometimes when decoding an AAC audio stream. It eventually includes a PCE block inside the AAC audio frame and then ffmpeg audio decoding function signals a "new_frame" with 1024 samples, but a null pointer instead of the audio data. It can be easily detected because in these cases number of channels is 0. Maybe this is the intended behaviour for ffmpeg, but I find it quite weird.
"

" It seems that libav does not have a channels attribute in AVFrame structure. This new version should do."

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • OpenSceneGraph/trunk/include/osgGA/CameraManipulator

    r13097 r13890  
    8888        virtual osg::Matrixd getInverseMatrix() const = 0; 
    8989 
    90         /** update the camera for the current frame, typically called by the viewer classes.  
     90        /** update the camera for the current frame, typically called by the viewer classes. 
    9191            Default implementation simply set the camera view matrix. */ 
    9292        virtual void updateCamera(osg::Camera& camera) { camera.setViewMatrix(getInverseMatrix()); } 
     
    164164        virtual void init(const GUIEventAdapter& ,GUIActionAdapter&) {} 
    165165 
     166        /** Handle event. Override the handle(..) method in your event handlers to respond to events. */ 
     167        virtual bool handle(osgGA::Event* event, osg::Object* object, osg::NodeVisitor* nv) { return GUIEventHandler::handle(event, object, nv); } 
     168 
    166169        /** Handle events, return true if handled, false otherwise. */ 
    167170        virtual bool handle(const GUIEventAdapter& ea,GUIActionAdapter& us);