|
Lines 126-132
const char *Mix_GetChunkDecoder(int inde
Link Here
|
| 126 |
|
126 |
|
| 127 |
static void add_chunk_decoder(const char *decoder) |
127 |
static void add_chunk_decoder(const char *decoder) |
| 128 |
{ |
128 |
{ |
| 129 |
void *ptr = SDL_realloc(chunk_decoders, (num_decoders + 1) * sizeof (const char **)); |
129 |
void *ptr = SDL_realloc(chunk_decoders, (num_decoders + 1) * sizeof (const char *)); |
| 130 |
if (ptr == NULL) { |
130 |
if (ptr == NULL) { |
| 131 |
return; /* oh well, go on without it. */ |
131 |
return; /* oh well, go on without it. */ |
| 132 |
} |
132 |
} |
|
Lines 370-382
static void mix_channels(void *udata, Ui
Link Here
|
| 370 |
if (mix_input != mix_channel[i].chunk->abuf) |
370 |
if (mix_input != mix_channel[i].chunk->abuf) |
| 371 |
SDL_free(mix_input); |
371 |
SDL_free(mix_input); |
| 372 |
|
372 |
|
| 373 |
--mix_channel[i].looping; |
373 |
if (mix_channel[i].looping > 0) |
|
|
374 |
--mix_channel[i].looping; |
| 374 |
mix_channel[i].samples = mix_channel[i].chunk->abuf + remaining; |
375 |
mix_channel[i].samples = mix_channel[i].chunk->abuf + remaining; |
| 375 |
mix_channel[i].playing = mix_channel[i].chunk->alen - remaining; |
376 |
mix_channel[i].playing = mix_channel[i].chunk->alen - remaining; |
| 376 |
index += remaining; |
377 |
index += remaining; |
| 377 |
} |
378 |
} |
| 378 |
if ( ! mix_channel[i].playing && mix_channel[i].looping ) { |
379 |
if ( ! mix_channel[i].playing && mix_channel[i].looping ) { |
| 379 |
--mix_channel[i].looping; |
380 |
if (mix_channel[i].looping > 0) |
|
|
381 |
--mix_channel[i].looping; |
| 380 |
mix_channel[i].samples = mix_channel[i].chunk->abuf; |
382 |
mix_channel[i].samples = mix_channel[i].chunk->abuf; |
| 381 |
mix_channel[i].playing = mix_channel[i].chunk->alen; |
383 |
mix_channel[i].playing = mix_channel[i].chunk->alen; |
| 382 |
} |
384 |
} |
|
Lines 1096-1109
int Mix_Playing(int which)
Link Here
|
| 1096 |
|
1098 |
|
| 1097 |
for ( i=0; i<num_channels; ++i ) { |
1099 |
for ( i=0; i<num_channels; ++i ) { |
| 1098 |
if ((mix_channel[i].playing > 0) || |
1100 |
if ((mix_channel[i].playing > 0) || |
| 1099 |
(mix_channel[i].looping > 0)) |
1101 |
mix_channel[i].looping) |
| 1100 |
{ |
1102 |
{ |
| 1101 |
++status; |
1103 |
++status; |
| 1102 |
} |
1104 |
} |
| 1103 |
} |
1105 |
} |
| 1104 |
} else if ( which < num_channels ) { |
1106 |
} else if ( which < num_channels ) { |
| 1105 |
if ( (mix_channel[which].playing > 0) || |
1107 |
if ( (mix_channel[which].playing > 0) || |
| 1106 |
(mix_channel[which].looping > 0) ) |
1108 |
mix_channel[which].looping ) |
| 1107 |
{ |
1109 |
{ |
| 1108 |
++status; |
1110 |
++status; |
| 1109 |
} |
1111 |
} |