Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

openal: Fix build with emsdk >= 3.1.65 #44

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions subprojects/gst-plugins-bad/ext/openal/gstopenalsink.c
Original file line number Diff line number Diff line change
Expand Up @@ -701,49 +701,73 @@ gst_openal_sink_parse_spec (GstOpenALSink * sink,
switch (GST_AUDIO_INFO_FORMAT (&spec->info)) {
case GST_AUDIO_FORMAT_U8:
switch (GST_AUDIO_INFO_CHANNELS (&spec->info)) {
#ifdef AL_FORMAT_MONO8
case 1:
format = AL_FORMAT_MONO8;
break;
#endif
#ifdef AL_FORMAT_STEREO8
case 2:
format = AL_FORMAT_STEREO8;
break;
#endif
#ifdef AL_FORMAT_QUAD8
case 4:
format = AL_FORMAT_QUAD8;
break;
#endif
#ifdef AL_FORMAT_51CHN8
case 6:
format = AL_FORMAT_51CHN8;
break;
#endif
#ifdef AL_FORMAT_61CHN8
case 7:
format = AL_FORMAT_61CHN8;
break;
#endif
#ifdef AL_FORMAT_71CHN8
case 8:
format = AL_FORMAT_71CHN8;
break;
#endif
default:
break;
}
break;

case GST_AUDIO_FORMAT_S16:
switch (GST_AUDIO_INFO_CHANNELS (&spec->info)) {
#ifdef AL_FORMAT_MONO16
case 1:
format = AL_FORMAT_MONO16;
break;
#endif
#ifdef AL_FORMAT_STEREO16
case 2:
format = AL_FORMAT_STEREO16;
break;
#endif
#ifdef AL_FORMAT_QUAD16
case 4:
format = AL_FORMAT_QUAD16;
break;
#endif
#ifdef AL_FORMAT_51CHN16
case 6:
format = AL_FORMAT_51CHN16;
break;
#endif
#ifdef AL_FORMAT_61CHN16
case 7:
format = AL_FORMAT_61CHN16;
break;
#endif
#ifdef AL_FORMAT_71CHN16
case 8:
format = AL_FORMAT_71CHN16;
break;
#endif
default:
break;
}
Expand All @@ -757,31 +781,43 @@ gst_openal_sink_parse_spec (GstOpenALSink * sink,
case 2:
format = AL_FORMAT_STEREO_FLOAT32;
break;
#ifdef AL_FORMAT_QUAD32
case 4:
format = AL_FORMAT_QUAD32;
break;
#endif
#ifdef AL_FORMAT_51CHN32
case 6:
format = AL_FORMAT_51CHN32;
break;
#endif
#ifdef AL_FORMAT_61CHN32
case 7:
format = AL_FORMAT_61CHN32;
break;
#endif
#ifdef AL_FORMAT_71CHN32
case 8:
format = AL_FORMAT_71CHN32;
break;
#endif
default:
break;
}
break;

case GST_AUDIO_FORMAT_F64:
switch (GST_AUDIO_INFO_CHANNELS (&spec->info)) {
#ifdef AL_FORMAT_MONO_DOUBLE_EXT
case 1:
format = AL_FORMAT_MONO_DOUBLE_EXT;
break;
#endif
#ifdef AL_FORMAT_STEREO_DOUBLE_EXT
case 2:
format = AL_FORMAT_STEREO_DOUBLE_EXT;
break;
#endif
default:
break;
}
Expand All @@ -793,50 +829,70 @@ gst_openal_sink_parse_spec (GstOpenALSink * sink,

case GST_AUDIO_RING_BUFFER_FORMAT_TYPE_IMA_ADPCM:
switch (GST_AUDIO_INFO_CHANNELS (&spec->info)) {
#ifdef AL_FORMAT_MONO_IMA4
case 1:
format = AL_FORMAT_MONO_IMA4;
break;
#endif
#ifdef AL_FORMAT_STEREO_IMA4
case 2:
format = AL_FORMAT_STEREO_IMA4;
break;
#endif
default:
break;
}
break;

case GST_AUDIO_RING_BUFFER_FORMAT_TYPE_A_LAW:
switch (GST_AUDIO_INFO_CHANNELS (&spec->info)) {
#ifdef AL_FORMAT_MONO_ALAW_EXT
case 1:
format = AL_FORMAT_MONO_ALAW_EXT;
break;
#endif
#ifdef AL_FORMAT_STEREO_ALAW_EXT
case 2:
format = AL_FORMAT_STEREO_ALAW_EXT;
break;
#endif
default:
break;
}
break;

case GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MU_LAW:
switch (GST_AUDIO_INFO_CHANNELS (&spec->info)) {
#ifdef AL_FORMAT_MONO_MULAW
case 1:
format = AL_FORMAT_MONO_MULAW;
break;
#endif
#ifdef AL_FORMAT_STEREO_MULAW
case 2:
format = AL_FORMAT_STEREO_MULAW;
break;
#endif
#ifdef AL_FORMAT_QUAD_MULAW
case 4:
format = AL_FORMAT_QUAD_MULAW;
break;
#endif
#ifdef AL_FORMAT_51CHN_MULAW
case 6:
format = AL_FORMAT_51CHN_MULAW;
break;
#endif
#ifdef AL_FORMAT_61CHN_MULAW
case 7:
format = AL_FORMAT_61CHN_MULAW;
break;
#endif
#ifdef AL_FORMAT_71CHN_MULAW
case 8:
format = AL_FORMAT_71CHN_MULAW;
break;
#endif
default:
break;
}
Expand Down
12 changes: 12 additions & 0 deletions subprojects/gst-plugins-bad/ext/openal/gstopenalsrc.c
Original file line number Diff line number Diff line change
Expand Up @@ -402,9 +402,11 @@ gst_openal_src_parse_spec (GstOpenalSrc * openalsrc,
switch (GST_AUDIO_INFO_FORMAT (&spec->info)) {
case GST_AUDIO_FORMAT_U8:
switch (GST_AUDIO_INFO_CHANNELS (&spec->info)) {
#ifdef AL_FORMAT_MONO8
case 1:
format = AL_FORMAT_MONO8;
break;
#endif
default:
break;
}
Expand All @@ -413,9 +415,11 @@ gst_openal_src_parse_spec (GstOpenalSrc * openalsrc,
case GST_AUDIO_FORMAT_U16:
case GST_AUDIO_FORMAT_S16:
switch (GST_AUDIO_INFO_CHANNELS (&spec->info)) {
#ifdef AL_FORMAT_MONO16
case 1:
format = AL_FORMAT_MONO16;
break;
#endif
default:
break;
}
Expand All @@ -433,9 +437,11 @@ gst_openal_src_parse_spec (GstOpenalSrc * openalsrc,

case GST_AUDIO_FORMAT_F64:
switch (GST_AUDIO_INFO_CHANNELS (&spec->info)) {
#ifdef AL_FORMAT_MONO_DOUBLE_EXT
case 1:
format = AL_FORMAT_MONO_DOUBLE_EXT;
break;
#endif
default:
break;
}
Expand All @@ -448,29 +454,35 @@ gst_openal_src_parse_spec (GstOpenalSrc * openalsrc,

case GST_AUDIO_RING_BUFFER_FORMAT_TYPE_IMA_ADPCM:
switch (GST_AUDIO_INFO_CHANNELS (&spec->info)) {
#ifdef AL_FORMAT_MONO_IMA4
case 1:
format = AL_FORMAT_MONO_IMA4;
break;
#endif
default:
break;
}
break;

case GST_AUDIO_RING_BUFFER_FORMAT_TYPE_A_LAW:
switch (GST_AUDIO_INFO_CHANNELS (&spec->info)) {
#ifdef AL_FORMAT_MONO_ALAW_EXT
case 1:
format = AL_FORMAT_MONO_ALAW_EXT;
break;
#endif
default:
break;
}
break;

case GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MU_LAW:
switch (GST_AUDIO_INFO_CHANNELS (&spec->info)) {
#ifdef AL_FORMAT_MONO_MULAW
case 1:
format = AL_FORMAT_MONO_MULAW;
break;
#endif
default:
break;
}
Expand Down