Home | History | Annotate | Download | only in audio

Lines Matching refs:chunk

30 static int ReadChunk(SDL_RWops *src, Chunk *chunk);
396 Chunk chunk;
407 /* FMT chunk */
434 /* Read the audio data format chunk */
435 chunk.data = NULL;
437 if ( chunk.data != NULL ) {
438 SDL_free(chunk.data);
439 chunk.data = NULL;
441 lenread = ReadChunk(src, &chunk);
446 /* 2 Uint32's for chunk header+len, plus the lenread */
448 } while ( (chunk.magic == FACT) || (chunk.magic == LIST) );
451 format = (WaveFMT *)chunk.data;
452 if ( chunk.magic != FMT ) {
517 /* Read the audio data chunk */
524 lenread = ReadChunk(src, &chunk);
530 *audio_buf = chunk.data;
531 if(chunk.magic != DATA) headerDiff += lenread + 2 * sizeof(Uint32);
532 } while ( chunk.magic != DATA );
533 headerDiff += 2 * sizeof(Uint32); /* for the data chunk and len */
560 /* seek to the end of the file (given by the RIFF chunk) */
561 SDL_RWseek(src, wavelen - chunk.length - headerDiff, RW_SEEK_CUR);
580 static int ReadChunk(SDL_RWops *src, Chunk *chunk)
582 chunk->magic = SDL_ReadLE32(src);
583 chunk->length = SDL_ReadLE32(src);
584 chunk->data = (Uint8 *)SDL_malloc(chunk->length);
585 if ( chunk->data == NULL ) {
589 if ( SDL_RWread(src, chunk->data, chunk->length, 1) != 1 ) {
591 SDL_free(chunk->data);
592 chunk->data = NULL;
595 return(chunk->length);