MCPcopy Create free account
hub / github.com/ddnet/ddnet / LoadOpus

Method LoadOpus

src/engine/client/sound.cpp:553–588  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

551}
552
553int CSound::LoadOpus(const char *pFilename, int StorageType)
554{
555 // no need to load sound when we are running with no sound
556 if(!m_SoundEnabled)
557 return -1;
558
559 CSample *pSample = AllocSample();
560 if(!pSample)
561 {
562 log_error("sound/opus", "Failed to allocate sample ID. Filename='%s'", pFilename);
563 return -1;
564 }
565
566 void *pData;
567 unsigned DataSize;
568 if(!m_pStorage->ReadFile(pFilename, StorageType, &pData, &DataSize))
569 {
570 UnloadSample(pSample->m_Index);
571 log_error("sound/opus", "Failed to open file. Filename='%s'", pFilename);
572 return -1;
573 }
574
575 const bool DecodeSuccess = DecodeOpus(*pSample, pData, DataSize, pFilename);
576 free(pData);
577 if(!DecodeSuccess)
578 {
579 UnloadSample(pSample->m_Index);
580 return -1;
581 }
582
583 if(g_Config.m_Debug)
584 log_trace("sound/opus", "Loaded '%s' (index %d)", pFilename, pSample->m_Index);
585
586 RateConvert(*pSample);
587 return pSample->m_Index;
588}
589
590int CSound::LoadWV(const char *pFilename, int StorageType)
591{

Callers 2

OnMapLoadMethod · 0.80
UpdateFilePreviewMethod · 0.80

Calls 1

ReadFileMethod · 0.80

Tested by

no test coverage detected