Compiled libao 1.2.2 for windows. Added necessary headers
This commit is contained in:
@@ -11,12 +11,13 @@ add_library(ao-play-async SHARED
|
||||
)
|
||||
|
||||
if(WIN32)
|
||||
include_directories(../../libao/include ../../libao/build-windows)
|
||||
#include_directories(../../libao/include ../../libao/build-windows)
|
||||
include_directories(windows)
|
||||
target_link_directories(ao-play-async PRIVATE ../lib/windows-x86_64)
|
||||
endif()
|
||||
|
||||
if(WIN32)
|
||||
target_link_libraries(ao-play-async PRIVATE libao-1.2.2)
|
||||
target_link_libraries(ao-play-async PRIVATE libao-1.2.2 winmm.lib ksuser.lib)
|
||||
else()
|
||||
target_link_libraries(ao-play-async PRIVATE ao)
|
||||
endif()
|
||||
|
||||
151
ao-play-async/windows/ao/ao.h
Normal file
151
ao-play-async/windows/ao/ao.h
Normal file
@@ -0,0 +1,151 @@
|
||||
/*
|
||||
*
|
||||
* ao.h
|
||||
*
|
||||
* Original Copyright (C) Aaron Holtzman - May 1999
|
||||
* Modifications Copyright (C) Stan Seibert - July 2000, July 2001
|
||||
* More Modifications Copyright (C) Jack Moffitt - October 2000
|
||||
*
|
||||
* This file is part of libao, a cross-platform audio outputlibrary. See
|
||||
* README for a history of this source code.
|
||||
*
|
||||
* libao is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* libao is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with GNU Make; see the file COPYING. If not, write to
|
||||
* the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
*/
|
||||
#ifndef __AO_H__
|
||||
#define __AO_H__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <errno.h>
|
||||
#include "os_types.h"
|
||||
|
||||
/* --- Exporting functions ---*/
|
||||
|
||||
#ifdef _WIN32
|
||||
#ifdef AO_BUILDING_LIBAO
|
||||
#define AO_EXPORT __declspec(dllexport)
|
||||
#else
|
||||
#define AO_EXPORT __declspec(dllimport)
|
||||
#endif
|
||||
#else
|
||||
#define AO_EXPORT
|
||||
#endif
|
||||
|
||||
/* --- Constants ---*/
|
||||
|
||||
#define AO_TYPE_LIVE 1
|
||||
#define AO_TYPE_FILE 2
|
||||
|
||||
|
||||
#define AO_ENODRIVER 1
|
||||
#define AO_ENOTFILE 2
|
||||
#define AO_ENOTLIVE 3
|
||||
#define AO_EBADOPTION 4
|
||||
#define AO_EOPENDEVICE 5
|
||||
#define AO_EOPENFILE 6
|
||||
#define AO_EFILEEXISTS 7
|
||||
#define AO_EBADFORMAT 8
|
||||
|
||||
#define AO_EFAIL 100
|
||||
|
||||
|
||||
#define AO_FMT_LITTLE 1
|
||||
#define AO_FMT_BIG 2
|
||||
#define AO_FMT_NATIVE 4
|
||||
|
||||
/* --- Structures --- */
|
||||
|
||||
typedef struct ao_info {
|
||||
int type; /* live output or file output? */
|
||||
char *name; /* full name of driver */
|
||||
char *short_name; /* short name of driver */
|
||||
char *author; /* driver author */
|
||||
char *comment; /* driver comment */
|
||||
int preferred_byte_format;
|
||||
int priority;
|
||||
char **options;
|
||||
int option_count;
|
||||
} ao_info;
|
||||
|
||||
typedef struct ao_functions ao_functions;
|
||||
typedef struct ao_device ao_device;
|
||||
|
||||
typedef struct ao_sample_format {
|
||||
int bits; /* bits per sample */
|
||||
int rate; /* samples per second (in a single channel) */
|
||||
int channels; /* number of audio channels */
|
||||
int byte_format; /* Byte ordering in sample, see constants below */
|
||||
char *matrix; /* input channel location/ordering */
|
||||
} ao_sample_format;
|
||||
|
||||
typedef struct ao_option {
|
||||
char *key;
|
||||
char *value;
|
||||
struct ao_option *next;
|
||||
} ao_option;
|
||||
|
||||
#if defined(AO_BUILDING_LIBAO)
|
||||
#include "ao_private.h"
|
||||
#endif
|
||||
|
||||
/* --- Functions --- */
|
||||
|
||||
/* library setup/teardown */
|
||||
AO_EXPORT void ao_initialize(void);
|
||||
AO_EXPORT void ao_shutdown(void);
|
||||
|
||||
/* device setup/playback/teardown */
|
||||
AO_EXPORT int ao_append_global_option(const char *key,
|
||||
const char *value);
|
||||
AO_EXPORT int ao_append_option(ao_option **options,
|
||||
const char *key,
|
||||
const char *value);
|
||||
AO_EXPORT void ao_free_options(ao_option *options);
|
||||
AO_EXPORT ao_device* ao_open_live(int driver_id,
|
||||
ao_sample_format *format,
|
||||
ao_option *option);
|
||||
AO_EXPORT ao_device* ao_open_file(int driver_id,
|
||||
const char *filename,
|
||||
int overwrite,
|
||||
ao_sample_format *format,
|
||||
ao_option *option);
|
||||
|
||||
AO_EXPORT int ao_play(ao_device *device,
|
||||
char *output_samples,
|
||||
uint_32 num_bytes);
|
||||
AO_EXPORT int ao_close(ao_device *device);
|
||||
|
||||
/* driver information */
|
||||
AO_EXPORT int ao_driver_id(const char *short_name);
|
||||
AO_EXPORT int ao_default_driver_id(void);
|
||||
AO_EXPORT ao_info *ao_driver_info(int driver_id);
|
||||
AO_EXPORT ao_info **ao_driver_info_list(int *driver_count);
|
||||
AO_EXPORT const char *ao_file_extension(int driver_id);
|
||||
|
||||
/* miscellaneous */
|
||||
AO_EXPORT int ao_is_big_endian(void);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* __AO_H__ */
|
||||
10
ao-play-async/windows/ao/os_types.h
Normal file
10
ao-play-async/windows/ao/os_types.h
Normal file
@@ -0,0 +1,10 @@
|
||||
#pragma once
|
||||
#include <stdint.h>
|
||||
|
||||
typedef uint8_t uint_8;
|
||||
typedef uint16_t uint_16;
|
||||
typedef uint32_t uint_32;
|
||||
typedef int8_t sint_8;
|
||||
typedef int16_t sint_16;
|
||||
typedef int32_t sint_32;
|
||||
|
||||
Binary file not shown.
Binary file not shown.
BIN
lib/windows-x86_64/ao-play-async.lib
Normal file
BIN
lib/windows-x86_64/ao-play-async.lib
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user