⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sounddb.h

📁 这是DVD中伺服部分的核心代码
💻 H
字号:
/*****************************************************************************
******************************************************************************
**                                                                          **
**  Copyright (c) 2005-2006 Videon Central, Inc.                            **
**  All rights reserved.                                                    **
**                                                                          **
**  The computer program contained herein contains proprietary information  **
**  which is the property of Videon Central, Inc.  The program may be used  **
**  and/or copied only with the written permission of Videon Central, Inc.  **
**  or in accordance with the terms and conditions stipulated in the        **
**  agreement/contract under which the programs have been supplied.         **
**                                                                          **
******************************************************************************
*****************************************************************************/
/**
 * @file sounddb.h
 *
 * API to the Sound.bdmv Database.
 * The Sound Database handles the storage of and access to Sound data.
 *
 * $Id: sounddb.h,v 1.2 2006/10/25 23:35:40 rbehe Exp $
 */

#ifndef SOUNDDB_H
#define SOUNDDB_H

#ifdef __cplusplus
extern "C" {
#endif

/**
 * Clip Info Database Status types
 */
typedef ERR_CODE  SOUNDDB_STATUS;

#define SOUNDDB_SUCCESS            (SOUNDDB_STATUS( 0))
#define SOUNDDB_FAILURE            (SOUNDDB_STATUS(-1))
#define SOUNDDB_NULL_PTR           (SOUNDDB_STATUS(-2))
#define SOUNDDB_FILE_ERROR         (SOUNDDB_STATUS(-3))
#define SOUNDDB_INVALID_FORMAT     (SOUNDDB_STATUS(-4))

#define MAX_NUMBER_SOUNDS          128


typedef struct tagSOUND_ATTRIBUTES
{
    uint8   channel_configuration;
    uint8   sampling_frequency;
    uint8   bits_per_sample;
} SOUND_ATTRIBUTES;

typedef struct tagSOUND_LOCATION
{
    uint32  sound_data_start_address;
    uint32  sound_data_length;
} SOUND_LOCATION;

typedef struct tagSOUNDINDEX
{
    uint32              length;

    uint8               number_of_sound_entries;

    SOUND_ATTRIBUTES    *sound_attributes;
    SOUND_LOCATION      *sound_location;

} SOUNDINDEX;


typedef struct tagEXTENSIONDATA
{
} EXTENSIONDATA;


/**
 * Movie Playlist
 */
typedef struct tagSOUNDDB
{
    uint8           type_indicator[4];
    uint8           version_number[4];
    uint32          SoundData_start_address;
    uint32          ExtensionData_start_address;
    SOUNDINDEX      SoundIndex;
    BYTE            *SoundData;
    EXTENSIONDATA   ExtensionData;
} SOUNDDB;


/**
 * Sounddb Interface functions
 */
SOUNDDB_STATUS SOUNDDBCreate(LOADER_HANDLE tLoader);
SOUNDDB_STATUS SOUNDDBDelete(void);
SOUNDDB_STATUS SOUNDDBLoad(void);

SOUNDDB_STATUS SOUNDDBGetSoundInfo(BYTE sound_id, SOUND_ATTRIBUTES *sound_attributes);
SOUNDDB_STATUS SOUNDDBGetSoundData(BYTE sound_id, BYTE **buffer, ULONG *buffer_length);


#ifdef __cplusplus
}
#endif

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -