Home || Architecture || Video Search || Visual Search || Scripts || Applications || Important Messages || OGL || Src

UInt64 Impala::Core::Stream::RgbDataSrcInfo::GetPos ( int  fr  )  const [inline, protected]

Definition at line 491 of file RgbDataSrcInfo.h.

References DUMMY_FRAME_HASH, Impala::Core::Table::TableTem< Col1T, Col2T, Col3T, Col4T, Col5T, Col6T, Col7T, Col8T, Col9T >::Get3(), GetHash(), ILOG_ERROR, ILOG_WARN, mIndex, Impala::Core::Stream::RgbDataSrc::mIndexExists, and Impala::Core::Stream::RgbDataSrc::mNewImpl.

Referenced by Impala::Core::Stream::RgbDataSrcLavc_old::JumpToKeyFrame(), and Impala::Core::Stream::RgbDataSrcLavc::SeekFrame().

00492     {
00493         const int indexPosition = fr;
00494 
00495         if (mIndexExists)
00496         {
00497             if (indexPosition < mIndex->Size())
00498             {
00499                 if (GetHash(indexPosition) == DUMMY_FRAME_HASH)
00500                 {
00501                     ILOG_WARN("No position for invalid frame: " << fr << 
00502                         "; returning next frame's position instead");
00503                     return GetPos(fr + 1);
00504                 }
00505                 else
00506                     return mIndex->Get3(indexPosition);
00507             }
00508             else
00509                 ILOG_ERROR("Index position out of bounds: " << indexPosition);
00510         }
00511         else
00512         {
00513             ILOG_WARN("No external index available; " <<
00514                 "cannot lookup seek position for frame: " << fr);
00515             if (!mNewImpl)
00516                 return 0; // backw.compat.
00517         }
00518 
00519         return -1;
00520     }

Here is the call graph for this function:


Generated on Fri Mar 19 11:17:29 2010 for ImpalaSrc by  doxygen 1.5.1