Show
Ignore:
Timestamp:
01/23/15 18:15:20 (3 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/osg/NodeVisitor

    r13307 r13798  
    6363    dispatch and the appropriate NodeVisitor::apply(..) method will 
    6464    not be called. */ 
    65 class OSG_EXPORT NodeVisitor : public virtual Referenced 
     65class OSG_EXPORT NodeVisitor : public virtual Object 
    6666{ 
    6767    public: 
     
    8888        NodeVisitor(VisitorType type,TraversalMode tm=TRAVERSE_NONE); 
    8989 
    90         virtual ~NodeVisitor(); 
    91  
    92         /** return the library name/namespapce of the visitor's. Should be defined by derived classes.*/ 
    93         virtual const char* libraryName() const { return "osg"; } 
    94  
    95         /** return the name of the visitor's class type. Should be defined by derived classes.*/ 
    96         virtual const char* className() const { return "NodeVisitor"; } 
     90        NodeVisitor(const NodeVisitor& nv, const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY); 
     91 
     92        virtual ~NodeVisitor(); 
     93         
     94        META_Object(osg, NodeVisitor) 
    9795 
    9896        /** Method to call to reset visitor. Useful if your visitor accumulates