annotate src/sdl_sound-test.c @ 7207:9ed6500e56d3 default tip @

maint: Merge release to default.
author Markus Mützel <markus.muetzel@gmx.de>
date Fri, 17 May 2024 20:16:41 +0200
parents 99516e73b368
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2352
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
1 /*
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
2 * This file is part of MXE.
2353
99516e73b368 Move doc/index.html -> index.html
Volker Grabsch <vog@notjusthosting.com>
parents: 2352
diff changeset
3 * See index.html for further information.
2352
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
4 *
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
5 * This is a simple test program for SDL_sound that tries to
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
6 * decode the file specified as the only command-line argument.
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
7 *
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
8 * This file is in the Public Domain.
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
9 */
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
10
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
11 #include <stdio.h>
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
12 #include <SDL_sound.h>
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
13
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
14 int main(int argc, char *argv[])
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
15 {
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
16 if (argc != 2) {
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
17 fprintf(stderr, "usage: %s <filename>\n", argv[0]);
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
18 return 1;
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
19 }
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
20
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
21 if (SDL_Init(SDL_INIT_AUDIO) != 0) {
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
22 fprintf(stderr, "Error: %s\n", SDL_GetError());
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
23 return 1;
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
24 }
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
25
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
26 if (Sound_Init() == 0) {
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
27 fprintf(stderr, "Error: %s\n", Sound_GetError());
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
28 return 1;
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
29 }
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
30
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
31 SDL_RWops* rw = SDL_RWFromFile(argv[1], "r");
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
32 if (rw == NULL) {
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
33 fprintf(stderr, "Error: %s\n", SDL_GetError());
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
34 return 1;
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
35 }
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
36
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
37 Sound_AudioInfo wantedFormat;
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
38 wantedFormat.channels = 2;
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
39 wantedFormat.rate = 44100;
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
40 wantedFormat.format = AUDIO_S16LSB;
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
41
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
42 Sound_Sample* sample = Sound_NewSample(rw, 0, &wantedFormat, 8192);
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
43 if (sample == 0) {
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
44 fprintf(stderr, "Error: %s\n", Sound_GetError());
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
45 return 1;
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
46 }
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
47
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
48 Sound_DecodeAll(sample);
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
49 printf("Format: %s\n", sample->decoder->description);
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
50 printf("Decoded %d bytes of data.\n", sample->buffer_size);
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
51 Sound_FreeSample(sample);
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
52
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
53 return 0;
8474fcb3e1b5 Fix line ending style (DOS -> Unix) for some test programs
Volker Grabsch <vog@notjusthosting.com>
parents: 2351
diff changeset
54 }