Example #1
0
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;
}
Example #2
0
const LookupMetaData FEMemoryMetaData::getLookupMetaData(unsigned short locationid)
{
	if (m_lookupMetaData.contains(locationid))
	{
		return m_lookupMetaData[locationid];
	}
	return LookupMetaData();
}