mpg123 version 1.13.0 头文件inc定义

;
;◎ ◎ mpg123.h->mpg123.inc  use to asm By G-Spider @2011
;
; Begin of file mpg123.h
;
;  libmpg123:MPEG Audio Decoder library (version 1.13.0)
;
;  copyright 1995-2010 by the mpg123 project - free software under the terms of the LGPL 2.1
;  see COPYING and AUTHORS files in distribution or http://mpg123.org
;
; * file mpg123.h The header file for the libmpg123 MPEG Audio decoder
;  A macro to check at compile time which set of API functions to expect.
;    This should be incremented at least each time a new symbol is added to the header.
MPG123_API_VERSION EQU 29
;
; * Function to initialise the mpg123 library.
;  * This function is not thread-safe. Call it exactly once per process,before any other (possibly threaded) work with the library.
;  *
;  * return MPG123_OK if successful,otherwise an error number.
;  
mpg123_init  PROTO C

; * Function to close down the mpg123 library.
;  * This function is not thread-safe. Call it exactly once per process,before any other (possibly threaded) work with the library.

mpg123_exit  PROTO C

; * Create a handle with optional choice of decoder (named by a string,see mpg123_decoders() or mpg123_supported_decoders()).
;  *  and optional retrieval of an error code to feed to mpg123_plain_strerror().
;  *  Optional means:Any of or both the parameters may be NULL.
;  *
;  *  return Non-NULL pointer when successful.
;   
mpg123_new  PROTO C  :DWORD,:DWORD

; * Delete handle,mh is either a valid mpg123 handle or NULL.

mpg123_delete         PROTO C  :DWORD 

; * Enumeration of the parameters types that it is possible to set/get.
MPG123_VERBOSE  EQU 0; *< set verbosity value for enabling messages to stderr,>= 0 makes sense (integer)
MPG123_FLAGS  EQU 1; *< set all flags,p.ex val = MPG123_GAPLESS|MPG123_MONO_MIX (integer)
MPG123_ADD_FLAGS EQU 2; *< add some flags (integer)
MPG123_FORCE_RATE EQU 3; *< when value > 0,force output rate to that value (integer)
MPG123_DOWN_SAMPLE EQU 4; *< 0=native rate,1=half rate,2=quarter rate (integer)
MPG123_RVA  EQU 5; *< one of the RVA choices above (integer)
MPG123_DOWNSPEED EQU 6; *< play a frame N times (integer)
MPG123_UPSPEED  EQU 7; *< play every Nth frame (integer)
MPG123_START_FRAME EQU 8; *< start with this frame (skip frames before that,integer)
MPG123_DECODE_FRAMES EQU 9; *< decode only this number of frames (integer)
MPG123_ICY_INTERVAL EQU 10; *< stream contains ICY metadata with this interval (integer)
MPG123_OUTSCALE  EQU 11; *< the scale for output samples (amplitude - integer or float according to mpg123 output format,normally integer)
MPG123_TIMEOUT  EQU 12; *< timeout for reading from a stream (not supported on win32,integer)
MPG123_REMOVE_FLAGS EQU 13; *< remove some flags (inverse of MPG123_ADD_FLAGS,integer)
MPG123_RESYNC_LIMIT EQU 14; *< Try resync on frame parsing for that many bytes or until end of stream (<0 ... integer).
MPG123_INDEX_SIZE EQU 15; *< Set the frame index size (if supported). Values <0 mean that the index is allowed to grow dynamically in these steps (in positive direction,of course)
MPG123_PREFRAMES EQU 16; *< Decode/ignore that many frames in advance for layer 3.

; * Flag bits for MPG123_FLAGS,use the usual binary or to combine.
MPG123_FORCE_MONO EQU 7   ; *<0111 Force some mono mode:This is a test bitmask for seeing if any mono forcing is active.
MPG123_MONO_LEFT EQU 1   ; *<0001 Force playback of left channel only. 
MPG123_MONO_RIGHT EQU 2   ; *<0010 Force playback of right channel only.
MPG123_MONO_MIX  EQU 4   ; *<0100 Force playback of mixed mono.
MPG123_FORCE_STEREO EQU 8   ; *<1000 Force stereo output. 
MPG123_FORCE_8BIT EQU 16  ; *<00010000 Force 8bit formats.   
MPG123_QUIET  EQU 32  ; *<00100000 Suppress any printouts (overrules verbose).
MPG123_GAPLESS  EQU 64  ; *<01000000 Enable gapless decoding (default on if libmpg123 has support).                          
MPG123_NO_RESYNC EQU 128 ; *<10000000 Disable resync stream after error.
MPG123_SEEKBUFFER EQU 256 ; *<000100000000 Enable small buffer on non-seekable streams to allow some peek-ahead (for better MPEG sync).
MPG123_FUZZY  EQU 512 ; *<001000000000 Enable fuzzy seeks (guessing byte offsets or using approximate seek points from Xing TOC)
MPG123_FORCE_FLOAT EQU 1024; *<010000000000 Force floating point output (32 or 64 bits depends on mpg123 internal precision).
MPG123_PLAIN_ID3TEXT EQU 2048; *<100000000000 Do not translate ID3 text data to UTF-8. ID3 strings will contain the raw text data,with the first byte containing the ID3 encoding code.
MPG123_IGNORE_STREAMLENGTH EQU 4096; *<1000000000000 Ignore any stream length information contained in the stream,which can be contained in a 'TLEN' frame of an ID3v2 tag or a Xing tag
MPG123_SKIP_ID3V2 EQU 8192t;*<10000000000000 Do not parse ID3v2 tags,just skip them.

; * choices for MPG123_RVA  
MPG123_RVA_OFF  EQU 0; *< RVA disabled (default).
MPG123_RVA_MIX  EQU 1; *< Use mix/track/radio gain.
MPG123_RVA_ALBUM EQU 2; *< Use album/audiophile gain
MPG123_RVA_MAX  EQU 2; *< The maximum RVA code,may increase in future.

;  TODO:Assess the possibilities and troubles of changing parameters during playback.
; * Set a specific parameter,for a specific DWORD,using a parameter
;  *  type key chosen from the mpg123_parms enumeration,to the specified value.
mpg123_param    PROTO C  :DWORD,:DWORD,:DWORD,:REAL8

; * Get a specific parameter,for a specific DWORD.
;  *  See the mpg123_parms enumeration for a list of available parameters.
mpg123_getparam PROTO C  :DWORD,:DWORD,:DWORD,:DWORD

; * Feature set available for query with mpg123_feature.
MPG123_FEATURE_ABI_UTF8OPEN EQU 0; *< mpg123 expects path names to be given in UTF-8 encoding instead of plain native.
MPG123_FEATURE_OUTPUT_8BIT EQU 1; *< 8bit output  
MPG123_FEATURE_OUTPUT_16BIT EQU 2; *< 16bit output 
MPG123_FEATURE_OUTPUT_32BIT EQU 3; *< 32bit output 
MPG123_FEATURE_INDEX  EQU 4; *< support for building a frame index for accurate seeking
MPG123_FEATURE_PARSE_ID3V2 EQU 5; *< id3v2 parsing
MPG123_FEATURE_DECODE_LAYER1 EQU 6; *< mpeg layer-1 decoder enabled
MPG123_FEATURE_DECODE_LAYER2 EQU 7; *< mpeg layer-2 decoder enabled
MPG123_FEATURE_DECODE_LAYER3 EQU 8; *< mpeg layer-3 decoder enabled
MPG123_FEATURE_DECODE_ACCURATE EQU 9; *< accurate decoder rounding  
MPG123_FEATURE_DECODE_DOWNSAMPLE EQU    10; *< downsample (sample omit)    
MPG123_FEATURE_DECODE_NTOM EQU 11; *< flexible rate decoding      
MPG123_FEATURE_PARSE_ICY EQU 12; *< ICY support                 
MPG123_FEATURE_TIMEOUT_READ EQU 13; *< Reader with timeout (network).


; * Query libmpg123 feature,1 for success,0 for unimplemented functions.
mpg123_feature PROTO C :DWORD
 
; * defgroup mpg123_error mpg123 error handling
;  *
;  * Functions to get text version of the error numbers and an enumeration
;  * of the error codes returned by libmpg123.
;  *
;  * Most functions operating on a DWORD simply return MPG123_OK on success and MPG123_ERR on failure (setting the internal error variable of the handle to the specific error code).
;  * Decoding/seek functions may also return message codes MPG123_DONE,MPG123_NEW_FORMAT and MPG123_NEED_MORE (please read up on these on how to react!).
;  * The positive range of return values is used for "useful" values when appropriate.
;  *

; * Enumeration of the message and error codes and returned by libmpg123 functions.
MPG123_DONE         EQU -12; *< Message:Track ended. Stop decoding.
MPG123_NEW_FORMAT EQU -11; *< Message:Output format will be different on next call.
MPG123_NEED_MORE EQU -10; *< Message:For feed reader:"Feed me more!" (call mpg123_feed() or mpg123_decode() with some new input data).
MPG123_ERR  EQU -1; *< Generic Error
MPG123_OK  EQU 0; *< Success
MPG123_BAD_OUTFORMAT EQU 1; *< Unable to set up output format!
MPG123_BAD_CHANNEL EQU 2; *< Invalid channel number specified.
MPG123_BAD_RATE  EQU 3; *< Invalid sample rate specified. 
MPG123_ERR_16TO8TABLE EQU 4; *< Unable to allocate memory for 16 to 8 converter table!
MPG123_BAD_PARAM EQU 5; *< Bad parameter id!
MPG123_BAD_BUFFER EQU 6; *< Bad buffer given -- invalid pointer or too small size.
MPG123_OUT_OF_MEM EQU 7; *< Out of memory -- some malloc() failed.
MPG123_NOT_INITIALIZED EQU 8; *< You didn't initialize the library!
MPG123_BAD_DECODER EQU 9; *< Invalid decoder choice.
MPG123_BAD_HANDLE EQU 10; *< Invalid mpg123 handle.
MPG123_NO_BUFFERS EQU 11; *< Unable to initialize frame buffers (out of memory?).
MPG123_BAD_RVA  EQU 12; *< Invalid RVA mode.
MPG123_NO_GAPLESS EQU 13; *< This build doesn't support gapless decoding.
MPG123_NO_SPACE  EQU 14; *< Not enough buffer space.
MPG123_BAD_TYPES EQU 15; *< Incompatible numeric data types.
MPG123_BAD_BAND  EQU 16; *< Bad equalizer band.
MPG123_ERR_NULL  EQU 17; *< Null pointer given where valid storage address needed.
MPG123_ERR_READER EQU 18; *< Error reading the stre

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值