Exemplo n.º 1
0
LinuxOggMusic::LinuxOggMusic(gdx_cpp::backends::nix::LinuxOpenALAudio* audio, const ref_ptr_maker< gdx_cpp::files::FileHandle >::type file):
        LinuxOpenALMusic(audio, file)
{
    input = new LinuxOggInputStream();
    input->open(file->path());
    setup(input->getChannels(), input->getSampleRate());
}
Exemplo n.º 2
0
LinuxOggSound::LinuxOggSound(gdx::nix::LinuxOpenALAudio* audio, const ref_ptr_maker< gdx::FileHandle >::shared_ptr_t file): LinuxOpenALSound(audio)
{
    LinuxOggInputStream input;
    input.open(file->path());
    char* buffer = (char *) malloc(16384);
    int bufSize = 16384;
    int size = 0;
    int i = 0;

    while ((size = input.read(&buffer[i], 16384)) > 0) {
        i += size;
        if (i == bufSize) {
            buffer = (char *) realloc(buffer, bufSize * 2);
            assert(buffer);
            bufSize *= 2;
        }
    }

    setup(buffer, i, input.getChannels(), input.getSampleRate());
    free(buffer);
}