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/src/osgShadow/ViewDependentShadowMap.cpp

    r13109 r13110  
    800800    } 
    801801 
    802     //minZNear = osg::maximum(10.0,minZNear); 
    803     //maxZFar = osg::minimum(60.0,maxZFar); 
    804  
     802    // clamp the minZNear and maxZFar to those provided by ShadowSettings 
     803    maxZFar = osg::minimum(settings->getMaximumShadowMapDistance(),maxZFar); 
     804    if (minZNear>maxZFar) minZNear = maxZFar*settings->getMinimumShadowMapNearFarRatio(); 
     805 
     806    //OSG_NOTICE<<"maxZFar "<<maxZFar<<std::endl; 
     807     
    805808    Frustum frustum(&cv, minZNear, maxZFar); 
    806809