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

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

Definition at line 580 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().

00581     {
00582         for (size_t l=0 ; l<mListeners.size() ; l++)
00583         {
00584             mListeners[l]->HandleNewWalk(mVideoSet, mVrList.size());
00585             mListeners[l]->HandleNewWalk(mVideoSet, "Bookmarks");
00586         }
00587         for (size_t v=0 ; v<mVrList.size() ; v++)
00588         {
00589             ILOG_INFO("Bookmark " << v << " of " << mVrList.size());
00590             Geometry::VxRectangle vr = mVrList[v];
00591             int fileId = mVideoSet->GetFileId(vr.mVideoName);
00592             // todo : now, video names are assumed unique. Should switch
00593             // to statement below, but not all .vxs files are in this format
00594             //int fileId = mVideoSet->GetFileId(vr.mSection, vr.mDir,
00595             //                                  vr.mVideoName);
00596             Stream::RgbDataSrc* src = mVideoSet->GetVideo(fileId);
00597             for (size_t l=0 ; l<mListeners.size() ; l++)
00598                 mListeners[l]->HandleNewFile(mVideoSet, fileId, src, v, vr);
00599 
00600             Geometry::Rectangle r = vr.mRect;
00601             String s = vr.mAnno;
00602             src->GotoFrame(vr.mStartFrame);
00603             for (size_t l=0 ; l<mListeners.size() ; l++)
00604                 mListeners[l]->HandleNewFrame(mVideoSet, fileId, src, r, s);
00605             while (src->FrameNr() < vr.mEndFrame)
00606             {
00607                 src->NextFrame();
00608                 for (size_t l=0 ; l<mListeners.size() ; l++)
00609                     mListeners[l]->HandleNewFrame(mVideoSet, fileId, src, r, s);
00610             }
00611 
00612             for (size_t l=0 ; l<mListeners.size() ; l++)
00613                 mListeners[l]->HandleDoneFile(mVideoSet, fileId, src, v, vr);
00614             delete src;
00615         }
00616         for (size_t l=0 ; l<mListeners.size() ; l++)
00617             mListeners[l]->HandleDoneWalk(mVideoSet, mVrList.size());
00618     }

Here is the call graph for this function:


Generated on Thu Jan 13 09:22:20 2011 for ImpalaSrc by  doxygen 1.5.1