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

void Impala::Core::VideoSet::Walker::DoWalkBookmarks (  )  [inline]

Definition at line 647 of file Walker.h.

References Impala::Core::Stream::RgbDataSrc::FrameNr(), Impala::Core::Stream::RgbDataSrc::GotoFrame(), ILOG_INFO, Impala::Core::Geometry::VxRectangle::mAnno, Impala::Core::Geometry::VxRectangle::mEndFrame, Impala::Core::Geometry::VxRectangle::mRect, Impala::Core::Geometry::VxRectangle::mStartFrame, Impala::Core::Geometry::VxRectangle::mVideoName, and Impala::Core::Stream::RgbDataSrc::NextFrame().

Referenced by Impala::Application::VidSet::mainVidSet().

00648     {
00649         for (size_t l=0 ; l<mListeners.size() ; l++)
00650         {
00651             mListeners[l]->HandleNewWalk(mVideoSet, mVrList.size());
00652             mListeners[l]->HandleNewWalk(mVideoSet, "Bookmarks");
00653         }
00654         for (size_t v=0 ; v<mVrList.size() ; v++)
00655         {
00656             ILOG_INFO("Bookmark " << v << " of " << mVrList.size());
00657             Geometry::VxRectangle vr = mVrList[v];
00658             int fileId = mVideoSet->GetFileId(vr.mVideoName);
00659             // todo : now, video names are assumed unique. Should switch
00660             // to statement below, but not all .vxs files are in this format
00661             //int fileId = mVideoSet->GetFileId(vr.mSection, vr.mDir,
00662             //                                  vr.mVideoName);
00663             Stream::RgbDataSrc* src = mVideoSet->GetVideo(fileId);
00664             for (size_t l=0 ; l<mListeners.size() ; l++)
00665                 mListeners[l]->HandleNewFile(mVideoSet, fileId, src, v, vr);
00666 
00667             Geometry::Rectangle r = vr.mRect;
00668             String s = vr.mAnno;
00669             src->GotoFrame(vr.mStartFrame);
00670             for (size_t l=0 ; l<mListeners.size() ; l++)
00671                 mListeners[l]->HandleNewFrame(mVideoSet, fileId, src, r, s);
00672             while (src->FrameNr() < vr.mEndFrame)
00673             {
00674                 src->NextFrame();
00675                 for (size_t l=0 ; l<mListeners.size() ; l++)
00676                     mListeners[l]->HandleNewFrame(mVideoSet, fileId, src, r, s);
00677             }
00678 
00679             for (size_t l=0 ; l<mListeners.size() ; l++)
00680                 mListeners[l]->HandleDoneFile(mVideoSet, fileId, src, v, vr);
00681             delete src;
00682         }
00683         for (size_t l=0 ; l<mListeners.size() ; l++)
00684             mListeners[l]->HandleDoneWalk(mVideoSet, mVrList.size());
00685     }

Here is the call graph for this function:


Generated on Fri Mar 19 11:33:43 2010 for ImpalaSrc by  doxygen 1.5.1