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

    r13041 r13798  
    4040 
    4141NodeVisitor::NodeVisitor(TraversalMode tm): 
    42         Referenced(true) 
     42    Object(true) 
    4343{ 
    4444    _visitorType = NODE_VISITOR; 
     
    5151 
    5252NodeVisitor::NodeVisitor(VisitorType type,TraversalMode tm): 
    53     Referenced(true) 
     53    Object(true) 
    5454{ 
    5555    _visitorType = type; 
     
    6161} 
    6262 
     63NodeVisitor::NodeVisitor(const NodeVisitor& nv, const osg::CopyOp& copyop): 
     64    Object(nv, copyop), 
     65    _visitorType(nv._visitorType), 
     66    _traversalNumber(nv._traversalNumber), 
     67    _traversalMode(nv._traversalMode), 
     68    _traversalMask(nv._traversalMask), 
     69    _nodeMaskOverride(nv._nodeMaskOverride) 
     70{ 
     71} 
    6372 
    6473NodeVisitor::~NodeVisitor()