Beispiel #1
0
AssetLoadState AudioAsset::DeserializeFromData(const u8 *data, size_t numBytes)
{
    if (WavLoader::IdentifyWavFileInMemory(data, numBytes) && this->Name().endsWith(".wav", Qt::CaseInsensitive)) // Detect whether this file is Wav data or not.
        return (LoadFromWavFileInMemory(data, numBytes) ? ASSET_LOAD_SUCCESFULL : ASSET_LOAD_FAILED);
    else if (this->Name().endsWith(".ogg", Qt::CaseInsensitive))
        return (LoadFromOggVorbisFileInMemory(data, numBytes) ? ASSET_LOAD_SUCCESFULL : ASSET_LOAD_FAILED);
    else
        LogError("Unable to serialize audio asset data. Unknown format!");
    return ASSET_LOAD_FAILED;
}
Beispiel #2
0
bool AudioAsset::DeserializeFromData(const u8 *data, size_t numBytes, bool /*allowAsynchronous*/)
{
    bool loadResult = false;

#ifndef TUNDRA_NO_AUDIO
    if (WavLoader::IdentifyWavFileInMemory(data, numBytes) && this->Name().endsWith(".wav", Qt::CaseInsensitive)) // Detect whether this file is Wav data or not.
    {
        loadResult = LoadFromWavFileInMemory(data, numBytes);
        if (loadResult)
            assetAPI->AssetLoadCompleted(Name());
    }
    else if (this->Name().endsWith(".ogg", Qt::CaseInsensitive))
    {
        loadResult = LoadFromOggVorbisFileInMemory(data, numBytes);
        if (loadResult)
            assetAPI->AssetLoadCompleted(Name());
    }
    else
        LogError("Unable to serialize audio asset data. Unknown format!");
#endif

    return loadResult;
}