| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2012 The Native Client Authors. All rights reserved. | 2 * Copyright (c) 2012 The Native Client Authors. All rights reserved. |
| 3 * Use of this source code is governed by a BSD-style license that can be | 3 * Use of this source code is governed by a BSD-style license that can be |
| 4 * found in the LICENSE file. | 4 * found in the LICENSE file. |
| 5 */ | 5 */ |
| 6 | 6 |
| 7 | 7 |
| 8 /* This example loads an ogg file using the C Pepper URLLoader interface, | 8 /* This example loads an ogg file using the C Pepper URLLoader interface, |
| 9 * decodes the file using libvorbis/libogg, and loop plays the file using | 9 * decodes the file using libvorbis/libogg, and loop plays the file using |
| 10 * OpenAL. Various properties of the audio source and listener can be changed | 10 * OpenAL. Various properties of the audio source and listener can be changed |
| (...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 199 struct PP_CompletionCallback cb = | 199 struct PP_CompletionCallback cb = |
| 200 PP_MakeCompletionCallback(ReadCallback, data); | 200 PP_MakeCompletionCallback(ReadCallback, data); |
| 201 int32_t read_ret = g_MyState.loader_interface->ReadResponseBody( | 201 int32_t read_ret = g_MyState.loader_interface->ReadResponseBody( |
| 202 (PP_Resource)data, | 202 (PP_Resource)data, |
| 203 ogg_file_contents + ogg_file_size, | 203 ogg_file_contents + ogg_file_size, |
| 204 BUFFER_READ_SIZE, | 204 BUFFER_READ_SIZE, |
| 205 cb); | 205 cb); |
| 206 assert(read_ret == PP_OK_COMPLETIONPENDING); | 206 assert(read_ret == PP_OK_COMPLETIONPENDING); |
| 207 } | 207 } |
| 208 | 208 |
| 209 /* This function is part of the NaCl libopenal port and is | |
| 210 * required to be called before OpenAL initialization. | |
| 211 */ | |
| 212 extern void alSetPpapiInfo(PP_Instance, PPB_GetInterface); | |
| 213 | |
| 214 void* InitializeOpenAL(void* data) { | 209 void* InitializeOpenAL(void* data) { |
| 215 /* PPAPI should be the default device in NaCl, hence 'NULL'. */ | 210 /* PPAPI should be the default device in NaCl, hence 'NULL'. */ |
| 216 g_MyState.alc_device = alcOpenDevice(NULL); | 211 g_MyState.alc_device = alcOpenDevice(NULL); |
| 217 assert(g_MyState.alc_device != NULL); | 212 assert(g_MyState.alc_device != NULL); |
| 218 | 213 |
| 219 g_MyState.alc_context = alcCreateContext(g_MyState.alc_device, 0); | 214 g_MyState.alc_context = alcCreateContext(g_MyState.alc_device, 0); |
| 220 assert(g_MyState.alc_context != NULL); | 215 assert(g_MyState.alc_context != NULL); |
| 221 | 216 |
| 222 alcMakeContextCurrent(g_MyState.alc_context); | 217 alcMakeContextCurrent(g_MyState.alc_context); |
| 223 alGenBuffers(1, &g_MyState.buffer); | 218 alGenBuffers(1, &g_MyState.buffer); |
| (...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 403 PP_EXPORT void PPP_ShutdownModule() { | 398 PP_EXPORT void PPP_ShutdownModule() { |
| 404 } | 399 } |
| 405 | 400 |
| 406 PP_EXPORT const void* PPP_GetInterface(const char* interface_name) { | 401 PP_EXPORT const void* PPP_GetInterface(const char* interface_name) { |
| 407 if (strcmp(interface_name, PPP_INSTANCE_INTERFACE) == 0) | 402 if (strcmp(interface_name, PPP_INSTANCE_INTERFACE) == 0) |
| 408 return &instance_interface; | 403 return &instance_interface; |
| 409 if (strcmp(interface_name, PPP_MESSAGING_INTERFACE) == 0) | 404 if (strcmp(interface_name, PPP_MESSAGING_INTERFACE) == 0) |
| 410 return &messaging_interface; | 405 return &messaging_interface; |
| 411 return NULL; | 406 return NULL; |
| 412 } | 407 } |
| OLD | NEW |