Definition at line 148 of file Manager.h. References Impala::FileNameBase(), Impala::FileNameExt(), Impala::Core::Database::RawDataSet::GetDatabase(), Impala::Core::Database::RawDataSet::GetFilePathVideoData(), Impala::Util::Database::GetIOBuffer(), ILOG_ERROR, ILOG_INFO, ILOG_WARN, Impala::Core::VideoSet::MakeVideoSet(), mCompactedVideoSetSize, mCurrentMask, mData, Impala::Core::VideoJob::Data::mInitialMask, mMaskFileName, mMaskPath, Impala::Core::VideoJob::Data::mProcessDef, Impala::Core::VideoJob::Data::mProcessDefFile, mReporter, Impala::Core::VideoJob::Data::mVideos, mVideoSet, Impala::Core::VideoJob::Data::mVideoSetName, Impala::Core::VideoJob::Data::mVideoSetSize, Impala::Core::Database::RawDataSet::NrFiles(), Impala::Util::IOBuffer::ReadLine(), ReportProcessDefinition(), ReportVideoSet(), Impala::Core::VideoJob::ProcessDefinition::StageCount(), UpdateMaskFile(), Impala::Core::VideoJob::Data::VideoSetSize(), Impala::Core::VideoJob::Data::WasInitiallyMaskedOut(), and WriteVideoSet(). Referenced by Start(). 00149 { 00150 mVideoSet = Core::VideoSet::MakeVideoSet(mData.mVideoSetName); 00151 mData.mVideoSetSize = mVideoSet->NrFiles(); 00152 ILOG_INFO("Video set contains " << mData.mVideoSetSize << 00153 " video file(s)"); 00154 if (mData.mVideoSetSize <= 0) 00155 { 00156 ILOG_WARN("No video files to process"); 00157 return false; 00158 } 00159 00160 mData.mProcessDef = new ProcessDefinition(mData.mProcessDefFile); 00161 if (mData.mProcessDef->StageCount() < 1) 00162 { 00163 ILOG_WARN("Empty process definition"); 00164 return false; 00165 } 00166 00167 mMaskPath = mVideoSet->GetFilePathVideoData(mMaskFileName, false, true); 00168 if (mMaskPath.empty()) 00169 { 00170 ILOG_INFO("Mask file '" << mMaskFileName << "' not found"); 00171 // since the file was not found, set path for the file for writing 00172 mMaskPath = mVideoSet->GetFilePathVideoData(mMaskFileName, true, 00173 false); 00174 } 00175 else 00176 { 00177 Util::Database* db = mVideoSet->GetDatabase(); 00178 Util::IOBuffer* buffer = db->GetIOBuffer(mMaskPath, true, false, ""); 00179 if (buffer) 00180 { 00181 mCurrentMask = buffer->ReadLine(); 00182 delete buffer; 00183 int maskLength = Min<int>(mCurrentMask.size(), 00184 mData.VideoSetSize()); 00185 mCurrentMask = mCurrentMask.substr(0, maskLength); 00186 if (mCurrentMask.empty()) 00187 ILOG_INFO("Mask file '" << mMaskFileName << "' is empty"); 00188 } 00189 else 00190 { 00191 ILOG_ERROR("Failed to read mask file '" << mMaskFileName << "'"); 00192 return false; 00193 } 00194 } 00195 mData.mInitialMask = mCurrentMask; 00196 00197 const int setSize = mData.VideoSetSize(); 00198 for (int v = 0; v < setSize; v++) 00199 { 00200 if (! mData.WasInitiallyMaskedOut(v)) 00201 { 00202 VideoMeta video; 00203 video.videoNr = v; 00204 video.discarded = false; 00205 mData.mVideos[v] = video; 00206 } 00207 } 00208 00209 ILOG_INFO("Ignoring " << mData.mVideoSetSize - mData.mVideos.size() << 00210 " video file(s)"); 00211 00212 if (mData.mVideos.empty()) 00213 { 00214 ILOG_WARN("No video files to process"); 00215 return false; 00216 } 00217 00218 if (!UpdateMaskFile(false)) 00219 { 00220 ILOG_ERROR("Mask file update test failed"); 00221 return false; 00222 } 00223 00224 mReporter = new Reporter(mData, options); 00225 ReportVideoSet(mVideoSet); 00226 ReportProcessDefinition(); 00227 00228 WriteVideoSet(FileNameBase(mData.mVideoSetName) + "_bak." + 00229 FileNameExt(mData.mVideoSetName)); 00230 00231 mCompactedVideoSetSize = mData.mVideoSetSize; // must initially have 00232 // this value 00233 return true; 00234 }
Here is the call graph for this function:
|