コード例 #1
0
ファイル: ga.c プロジェクト: Botyto/Core
/* Sound Functions */
ga_Sound* ga_sound_create(ga_Memory* in_memory, ga_Format* in_format)
{
  ga_Sound* ret = gcX_ops->allocFunc(sizeof(ga_Sound));
  ret->numSamples = ga_memory_size(in_memory) / ga_format_sampleSize(in_format);
  memcpy(&ret->format, in_format, sizeof(ga_Format));
  ga_memory_acquire(in_memory);
  ret->memory = in_memory;
  ret->refMutex = gc_mutex_create();
  ret->refCount = 1;
  return (ga_Sound*)ret;
}
コード例 #2
0
ファイル: gau.c プロジェクト: dazzlex27/S3DGE
ga_DataSource* gau_data_source_create_memory(ga_Memory* in_memory)
{
  gau_DataSourceMemory* ret = gcX_ops->allocFunc(sizeof(gau_DataSourceMemory));
  ga_data_source_init(&ret->dataSrc);
  ret->dataSrc.flags = GA_FLAG_SEEKABLE | GA_FLAG_THREADSAFE;
  ret->dataSrc.readFunc = &gauX_data_source_memory_read;
  ret->dataSrc.seekFunc = &gauX_data_source_memory_seek;
  ret->dataSrc.tellFunc = &gauX_data_source_memory_tell;
  ret->dataSrc.closeFunc = &gauX_data_source_memory_close;
  ga_memory_acquire(in_memory);
  ret->context.memory = in_memory;
  ret->context.pos = 0;
  ret->context.memMutex = gc_mutex_create();
  return (ga_DataSource*)ret;
}