Skip to content

Commit 4c932e3

Browse files
committed
HTML5 initial commit. Untested.
* Autotools updated * MSVC and Xcode are not updated
1 parent 5b114e2 commit 4c932e3

File tree

8 files changed

+586
-1
lines changed

8 files changed

+586
-1
lines changed

Makefile.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ VERSION_OBJECTS = @VERSION_OBJECTS@
3838
PLAYWAVE_OBJECTS = @PLAYWAVE_OBJECTS@
3939
PLAYMUS_OBJECTS = @PLAYMUS_OBJECTS@
4040

41-
DIST = *.txt Android.mk Makefile.in SDL2_mixer.pc.in SDL2_mixer.spec.in SDL_mixer.h VisualC VisualC-WinRT Xcode Xcode-iOS acinclude aclocal.m4 autogen.sh build-scripts configure configure.in debian effect_position.c effect_stereoreverse.c effects_internal.c effects_internal.h external gcc-fat.sh load_aiff.c load_aiff.h load_voc.c load_voc.h mixer.c mixer.h music.c music.h music_cmd.c music_cmd.h music_flac.c music_flac.h music_fluidsynth.c music_fluidsynth.h music_mad.c music_mad.h music_mikmod.c music_mikmod.h music_modplug.c music_modplug.h music_mpg123.c music_mpg123.h music_nativemidi.c music_nativemidi.h music_ogg.c music_ogg.h music_opus.c music_opus.h music_timidity.c music_timidity.h music_wav.c music_wav.h native_midi playmus.c playwave.c timidity version.rc
41+
DIST = *.txt Android.mk Makefile.in SDL2_mixer.pc.in SDL2_mixer.spec.in SDL_mixer.h VisualC VisualC-WinRT Xcode Xcode-iOS acinclude aclocal.m4 autogen.sh build-scripts configure configure.in debian effect_position.c effect_stereoreverse.c effects_internal.c effects_internal.h external gcc-fat.sh load_aiff.c load_aiff.h load_voc.c load_voc.h mixer.c mixer.h music.c music.h music_html5.c music_html5.h music_cmd.c music_cmd.h music_flac.c music_flac.h music_fluidsynth.c music_fluidsynth.h music_mad.c music_mad.h music_mikmod.c music_mikmod.h music_modplug.c music_modplug.h music_mpg123.c music_mpg123.h music_nativemidi.c music_nativemidi.h music_ogg.c music_ogg.h music_opus.c music_opus.h music_timidity.c music_timidity.h music_wav.c music_wav.h native_midi playmus.c playwave.c timidity version.rc
4242

4343
LT_AGE = @LT_AGE@
4444
LT_CURRENT = @LT_CURRENT@

SDL_mixer.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ typedef enum {
127127
/* These are types of music files (not libraries used to load them) */
128128
typedef enum {
129129
MUS_NONE,
130+
MUS_HTML5,
130131
MUS_CMD,
131132
MUS_WAV,
132133
MUS_MOD,

configure

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -894,6 +894,7 @@ enable_dependency_tracking
894894
with_sdl_prefix
895895
with_sdl_exec_prefix
896896
enable_sdltest
897+
enable_music_html5
897898
enable_music_cmd
898899
enable_music_wave
899900
enable_music_mod
@@ -11687,6 +11688,17 @@ done
1168711688

1168811689
CheckVisibilityHidden
1168911690

11691+
# Check whether --enable-music-html5 was given.
11692+
if test "${enable_music_html5+set}" = set; then :
11693+
enableval=$enable_music_html5;
11694+
else
11695+
enable_music_html5=no
11696+
fi
11697+
11698+
if test x$enable_music_html5 = xyes; then
11699+
EXTRA_CFLAGS="$EXTRA_CFLAGS -DMUSIC_HTML5"
11700+
fi
11701+
1169011702
# Check whether --enable-music-cmd was given.
1169111703
if test "${enable_music_cmd+set}" = set; then :
1169211704
enableval=$enable_music_cmd;

configure.in

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,13 @@ dnl Check command-line options
206206

207207
CheckVisibilityHidden
208208

209+
AC_ARG_ENABLE([music-html5],
210+
AC_HELP_STRING([--enable-music-html5], [enable streaming music on HTML5 <audio> [[default=no]]]),
211+
[], [enable_music_html5=no])
212+
if test x$enable_music_html5 = xyes; then
213+
EXTRA_CFLAGS="$EXTRA_CFLAGS -DMUSIC_HTML5"
214+
fi
215+
209216
AC_ARG_ENABLE([music-cmd],
210217
AC_HELP_STRING([--enable-music-cmd], [support an external music player [[default=yes]]]),
211218
[], [enable_music_cmd=detect])

music.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
#include "mixer.h"
2929
#include "music.h"
3030

31+
#include "music_html5.h"
3132
#include "music_cmd.h"
3233
#include "music_wav.h"
3334
#include "music_mikmod.h"
@@ -80,6 +81,9 @@ static char* soundfont_paths = NULL;
8081
/* Interfaces for the various music interfaces, ordered by priority */
8182
static Mix_MusicInterface *s_music_interfaces[] =
8283
{
84+
#ifdef MUSIC_HTML5
85+
&Mix_MusicInterface_HTML5,
86+
#endif
8387
#ifdef MUSIC_CMD
8488
&Mix_MusicInterface_CMD,
8589
#endif
@@ -380,6 +384,7 @@ void open_music(const SDL_AudioSpec *spec)
380384
#endif
381385

382386
/* Load the music interfaces that don't have explicit initialization */
387+
load_music_type(MUS_HTML5);
383388
load_music_type(MUS_CMD);
384389
load_music_type(MUS_WAV);
385390

music.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727

2828
typedef enum
2929
{
30+
MIX_MUSIC_HTML5,
3031
MIX_MUSIC_CMD,
3132
MIX_MUSIC_WAVE,
3233
MIX_MUSIC_MODPLUG,
@@ -106,6 +107,7 @@ typedef struct
106107
extern int get_num_music_interfaces(void);
107108
extern Mix_MusicInterface *get_music_interface(int index);
108109
extern Mix_MusicType detect_music_type_from_magic(const Uint8 *magic);
110+
extern Mix_MusicType detect_music_type(SDL_RWops *src);
109111
extern SDL_bool load_music_type(Mix_MusicType type);
110112
extern SDL_bool open_music_type(Mix_MusicType type);
111113
extern SDL_bool has_music(Mix_MusicType type);

0 commit comments

Comments
 (0)