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

📄 ttalib.h

📁 大名鼎鼎的CE下播放软件,TCPPMP的源代码!!!2410下可以流畅的解QVGA的H264,MPEG4等格式.
💻 H
字号:
/* * ttalib.h * * Description:	 TTAv1 player library prototypes * Developed by: Alexander Djourik <ald@true-audio.com> *               Pavel Zhilin <pzh@true-audio.com> * * Copyright (c) 2004 True Audio Software. All rights reserved. * *//* * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. Neither the name of the True Audio Software nor the names of its *    contributors may be used to endorse or promote products derived *    from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */#ifndef TTALIB_H_#define TTALIB_H_#include "..\..\common\common.h"#if _MSC_VER > 1000
#pragma warning(pop)
#endif
//#define _BIG_ENDIAN#define MAX_BPS         24	// Max supported Bit resolution#define MAX_NCH         8	// Max supported number of channels#define MAX_LINE        1024// return codes#define NO_ERROR        0	// No errors found#define OPEN_ERROR      1	// Can't open file#define FORMAT_ERROR    2	// Unknown TTA format version#define PLAYER_ERROR    3	// Not supported file format#define FILE_ERROR      4	// File is corrupted#define READ_ERROR      5	// Can't read from file#define MEMORY_ERROR    6	// Insufficient memory available#define FRAME_TIME              1.04489795918367346939#define SEEK_STEP               (int)(FRAME_TIME * 1000)#define ISO_BUFFER_LENGTH       (1024*32)#define ISO_NBUFFERS            (8)#define ISO_BUFFERS_SIZE        (ISO_BUFFER_LENGTH*ISO_NBUFFERS)#define PCM_BUFFER_LENGTH       (4608)typedef struct {	unsigned char  name[MAX_LINE];	unsigned char  title[MAX_LINE];	unsigned char  artist[MAX_LINE];	unsigned char  album[MAX_LINE];	unsigned char  comment[MAX_LINE];	unsigned char  year[5];	unsigned char  track[3];	unsigned char  genre[256];	unsigned int   size;	unsigned char  id3has;} id3_info;typedef struct {	format_reader* Reader;		// file handle	unsigned int   FILESIZE;	// compressed size	unsigned short NCH;		// number of channels	unsigned short BPS;		// bits per sample	unsigned short BSIZE;		// byte size	unsigned short FORMAT;		// audio format	unsigned int   SAMPLERATE;	// samplerate (sps)	unsigned int   DATALENGTH;	// data length in samples	unsigned int   FRAMELEN;	// frame length	unsigned int   LENGTH;		// playback time (sec)	unsigned int   STATE;		// return code	unsigned int   DATAPOS;		// size of ID3v2 header	unsigned int   BITRATE;		// average bitrate (kbps)	double         COMPRESS;	// compression ratio	id3_info       ID3;		// ID3 information} tta_info;/*********************** Library functions *************************/int	open_tta_file (		// FUNCTION: opens TTA file        //const char *filename,	// file to open        tta_info *info,		// file info structure        unsigned int offset);	// ID3v2 header size/* * RETURN VALUE * This function returns 0 if success. Otherwise, -1 is returned * and the variable STATE of the currently using info structure * is set to indicate the error. * */void    close_tta_file (	// FUNCTION: closes currently playing file        tta_info *info);	// file info structureint	set_position (		// FUNCTION: sets playback position        unsigned int pos);	// seek position = seek_time_ms / SEEK_STEP/* * RETURN VALUE * This function returns 0 if success. Otherwise, -1 is returned * and the variable STATE of the currently using info structure * is set to indicate the error. * */int	player_init (		// FUNCTION: initializes TTA player        tta_info *info);	// file info structure/* * RETURN VALUE * This function returns 0 if success. Otherwise, -1 is returned * and the variable STATE of the currently using info structure * is set to indicate the error. * */void    player_stop (void);	// FUNCTION: destroys memory poolsint	get_samples (		// FUNCTION: decode PCM_BUFFER_LENGTH samples        unsigned char *buffer);	// into the current PCM buffer position/* * RETURN VALUE * This function returns the number of samples successfully decoded. * Otherwise, -1 is returned and the variable STATE of the currently * using info structure is set to indicate the error. * */const char *get_error_str (int error); // FUNCTION: get error description#endif /* TTALIB_H_ */

⌨️ 快捷键说明

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