bool CBaseDec::GetMetaDataBase(CAudiofile* const in, const bool nice) { if (in->FileType == CFile::STREAM_AUDIO) return true; if (LookupMetaData(in)) return true; bool Status = true; FILE* fp = fopen( in->Filename.c_str(), "r" ); if ( fp == NULL ) { fprintf( stderr, "Error opening file %s for meta data reading.\n", in->Filename.c_str() ); Status = false; } else { struct stat st; if (!fstat(fileno(fp), &st)) in->MetaData.filesize = st.st_size; in->MetaData.type = in->FileType; CFfmpegDec d; Status = d.GetMetaData(fp, nice, &in->MetaData); if (Status) CacheMetaData(in); if ( fclose( fp ) == EOF ) { fprintf( stderr, "Could not close file %s.\n", in->Filename.c_str() ); } } return Status; }
const LookupMetaData FEMemoryMetaData::getLookupMetaData(unsigned short locationid) { if (m_lookupMetaData.contains(locationid)) { return m_lookupMetaData[locationid]; } return LookupMetaData(); }