Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- vbl::CVBLError SaveStatisticsArrayToFS(vbl::const_basestring base_path, vbl::const_basestring filename_template, vbl::const_basestring data_format, vbl::const_basestring estimation_name, vbl::TArray<DATA_TYPE> data) {
- vbl::CVBLError result = EVBLErrorOk;
- CVBLString filename = CVBLString::Format( filename_template, m_StreamNumber ) ;
- result = vbl::CVBLBaseFile::FolderExists(base_path) ;
- if (result.IsError()) {
- result = vbl::CVBLBaseFile::CreatePathForFile(base_path);
- if (result.IsError()) {
- result.SetMessage(_T("Could not create folder to save fps estimations") ) ;
- return (result);
- }
- }
- CVBLString full_path = CVBLString( base_path ) + _T("/") + filename ;
- vbl::TObjectPtr<vbl::CVBLFileDataWriter> writer = vbl::CVBLBaseFile::CreateFile(full_path.c_ptr(), 0) ;
- if (writer == NULL) {
- result = EVBLErrorIO ;
- result.SetMessage( _T("Could not create file to save fps estimations") ) ;
- return (result);
- }
- vbl::CVBLString formatted_definition = media_components::CMediaUtils::FormatDefinition( m_MediaDefinition, 0 ) ;
- vbl::CVBLString header = CVBLString::Format( _T("Estimation name:,%s\nStream definition:\n %s\nFrame,Estimation\n"),
- estimation_name,
- formatted_definition.c_ptr()
- ) ;
- writer->Write(header.c_ptr(), ( header.GetLength() + 1 ) * sizeof(vbl::basechar) ) ;
- for (vbl::baseuint i = 0; i < data.Length(); i++) {
- CVBLString message = GenerateMessage( data, i, data_format ) ;
- vbl::baseuint data_written = writer->Write(message.c_ptr(), ( message.GetLength() + 1 ) * sizeof(vbl::basechar) ) ;
- if (data_written != ( ( message.GetLength() + 1 ) * sizeof(vbl::basechar) ) ) {
- result = EVBLErrorIO;
- result.SetMessage(_T("Failed to write fps statistics to file") ) ;
- return (result) ;
- }
- }
- return (result);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement