Crate wavpack_sys

Source
Expand description

§wavpack-rs

Rust bindings for WavPack.

The included WavPack version is 5.6.0.

§Current Status

Reading and writing support is implemented and appears to work correctly, although is under-tested.

Not all APIs are exposed, but please feel encouraged to open PRs for anything that you need that’s missing. APIs that have been exposed are thin wrappers for calls to the underlying WavPack functions, for usage information see the WavPack API documentation.

§Dependencies

  • CMake is used to build WavPack.
  • A C++ compiler.

§Acknowledgments

Many thanks to Toru3 who started this project.

Structs§

ChunkHeader
RiffChunkHeader
WaveHeader
WavpackConfig
WavPack Configuration ///////////////////////////////
WavpackContext
WavpackHeader
WavpackStreamReader
Callbacks used for reading & writing WavPack streams //////////
WavpackStreamReader64
__atomic_wide_counter__bindgen_ty_1
__fsid_t
__once_flag
__pthread_cond_s
__pthread_internal_list
__pthread_internal_slist
__pthread_mutex_s
__pthread_rwlock_arch_t
__sigset_t
fd_set
timespec
timeval

Constants§

BIG_ENDIAN
BYTES_STORED
BYTE_ORDER
CONFIG_BITRATE_KBPS
CONFIG_CALC_NOISE
CONFIG_COMPATIBLE_WRITE
CONFIG_CREATE_EXE
CONFIG_CREATE_WVC
CONFIG_CROSS_DECORR
CONFIG_DYNAMIC_SHAPING
CONFIG_EXTRA_MODE
CONFIG_FAST_FLAG
CONFIG_HIGH_FLAG
CONFIG_HYBRID_FLAG
CONFIG_HYBRID_SHAPE
CONFIG_JOINT_OVERRIDE
CONFIG_JOINT_STEREO
CONFIG_MD5_CHECKSUM
CONFIG_MERGE_BLOCKS
CONFIG_OPTIMIZE_MONO
CONFIG_OPTIMIZE_WVC
CONFIG_PAIR_UNDEF_CHANS
CONFIG_SHAPE_OVERRIDE
CONFIG_SKIP_WVX
CONFIG_VERY_HIGH_FLAG
CROSS_DECORR
ChunkHeaderFormat
DSD_FLAG
FALSE_STEREO
FD_SETSIZE
FINAL_BLOCK
FLOAT_DATA
HAS_CHECKSUM
HYBRID_BALANCE
HYBRID_BITRATE
HYBRID_FLAG
HYBRID_SHAPE
ID_ALT_EXTENSION
ID_ALT_HEADER
ID_ALT_MD5_CHECKSUM
ID_ALT_TRAILER
ID_BLOCK_CHECKSUM
ID_CHANNEL_IDENTITIES
ID_CHANNEL_INFO
ID_CONFIG_BLOCK
ID_DECORR_SAMPLES
ID_DECORR_TERMS
ID_DECORR_WEIGHTS
ID_DSD_BLOCK
ID_DUMMY
ID_ENCODER_INFO
ID_ENTROPY_VARS
ID_FLOAT_INFO
ID_HYBRID_PROFILE
ID_INT32_INFO
ID_LARGE
ID_MD5_CHECKSUM
ID_NEW_CONFIG_BLOCK
ID_ODD_SIZE
ID_OPTIONAL_DATA
ID_RIFF_HEADER
ID_RIFF_TRAILER
ID_SAMPLE_RATE
ID_SHAPING_WEIGHTS
ID_UNIQUE
ID_WVC_BITSTREAM
ID_WVX_BITSTREAM
ID_WV_BITSTREAM
IGNORED_FLAGS
INITIAL_BLOCK
INT8_MAX
INT8_MIN
INT16_MAX
INT16_MIN
INT32_DATA
INT32_MAX
INT32_MIN
INTPTR_MAX
INTPTR_MIN
INT_FAST8_MAX
INT_FAST8_MIN
INT_FAST16_MAX
INT_FAST16_MIN
INT_FAST32_MAX
INT_FAST32_MIN
INT_LEAST8_MAX
INT_LEAST8_MIN
INT_LEAST16_MAX
INT_LEAST16_MIN
INT_LEAST32_MAX
INT_LEAST32_MIN
JOINT_STEREO
LITTLE_ENDIAN
MAG_LSB
MAG_MASK
MAX_STREAM_VERS
MAX_WAVPACK_SAMPLES
MIN_STREAM_VERS
MODE_APETAG
MODE_DNS
MODE_EXTRA
MODE_FAST
MODE_FLOAT
MODE_HIGH
MODE_HYBRID
MODE_LOSSLESS
MODE_MD5
MODE_SFX
MODE_VALID_TAG
MODE_VERY_HIGH
MODE_WVC
MODE_XMODE
MONO_DATA
MONO_FLAG
NEW_SHAPING
OPEN_2CH_MAX
OPEN_ALT_TYPES
OPEN_DSD_AS_PCM
OPEN_DSD_NATIVE
OPEN_EDIT_TAGS
OPEN_FILE_UTF8
OPEN_NORMALIZE
OPEN_NO_CHECKSUM
OPEN_STREAMING
OPEN_TAGS
OPEN_WRAPPER
OPEN_WVC
PDP_ENDIAN
PTRDIFF_MAX
PTRDIFF_MIN
QMODE_ADOBE_MODE
QMODE_BIG_ENDIAN
QMODE_CHANS_UNASSIGNED
QMODE_DSD_AUDIO
QMODE_DSD_IN_BLOCKS
QMODE_DSD_LSB_FIRST
QMODE_DSD_MSB_FIRST
QMODE_EVEN_BYTE_DEPTH
QMODE_IGNORE_LENGTH
QMODE_NO_STORE_WRAPPER
QMODE_RAW_PCM
QMODE_REORDERED_CHANS
QMODE_SIGNED_BYTES
QMODE_UNSIGNED_WORDS
SHIFT_LSB
SHIFT_MASK
SIG_ATOMIC_MAX
SIG_ATOMIC_MIN
SIZE_MAX
SRATE_LSB
SRATE_MASK
UINT8_MAX
UINT16_MAX
UINT32_MAX
UINTPTR_MAX
UINT_FAST8_MAX
UINT_FAST16_MAX
UINT_FAST32_MAX
UINT_LEAST8_MAX
UINT_LEAST16_MAX
UINT_LEAST32_MAX
UNKNOWN_FLAGS
WAVPACK_MAX_CHANS
WAVPACK_MAX_CLI_CHANS
WINT_MAX
WINT_MIN
WP_FORMAT_AIF
WP_FORMAT_CAF
WP_FORMAT_DFF
WP_FORMAT_DSF
WP_FORMAT_W64
WP_FORMAT_WAV
WaveHeaderFormat
WavpackHeaderFormat
_ATFILE_SOURCE
_BITS_BYTESWAP_H
_BITS_ENDIANNESS_H
_BITS_ENDIAN_H
_BITS_PTHREADTYPES_ARCH_H
_BITS_PTHREADTYPES_COMMON_H
_BITS_STDINT_INTN_H
_BITS_STDINT_LEAST_H
_BITS_STDINT_UINTN_H
_BITS_TIME64_H
_BITS_TYPESIZES_H
_BITS_TYPES_H
_BITS_UINTN_IDENTITY_H
_BITS_WCHAR_H
_DEFAULT_SOURCE
_ENDIAN_H
_FEATURES_H
_POSIX_C_SOURCE
_POSIX_SOURCE
_STDC_PREDEF_H
_STDINT_H
_STRUCT_TIMESPEC
_SYS_CDEFS_H
_SYS_SELECT_H
_SYS_TYPES_H
_THREAD_MUTEX_INTERNAL_H
_THREAD_SHARED_TYPES_H
__BIG_ENDIAN
__BIT_TYPES_DEFINED__
__BYTE_ORDER
__FD_SETSIZE
__FLOAT_WORD_ORDER
__GLIBC_MINOR__
__GLIBC_USE_C2X_STRTOL
__GLIBC_USE_DEPRECATED_GETS
__GLIBC_USE_DEPRECATED_SCANF
__GLIBC_USE_IEC_60559_BFP_EXT
__GLIBC_USE_IEC_60559_BFP_EXT_C2X
__GLIBC_USE_IEC_60559_EXT
__GLIBC_USE_IEC_60559_FUNCS_EXT
__GLIBC_USE_IEC_60559_FUNCS_EXT_C2X
__GLIBC_USE_IEC_60559_TYPES_EXT
__GLIBC_USE_ISOC2X
__GLIBC_USE_LIB_EXT2
__GLIBC__
__GNU_LIBRARY__
__HAVE_GENERIC_SELECTION
__INO_T_MATCHES_INO64_T
__KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64
__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI
__LITTLE_ENDIAN
__OFF_T_MATCHES_OFF64_T
__PDP_ENDIAN
__PTHREAD_MUTEX_HAVE_PREV
__RLIM_T_MATCHES_RLIM64_T
__SIZEOF_PTHREAD_ATTR_T
__SIZEOF_PTHREAD_BARRIERATTR_T
__SIZEOF_PTHREAD_BARRIER_T
__SIZEOF_PTHREAD_CONDATTR_T
__SIZEOF_PTHREAD_COND_T
__SIZEOF_PTHREAD_MUTEXATTR_T
__SIZEOF_PTHREAD_MUTEX_T
__SIZEOF_PTHREAD_RWLOCKATTR_T
__SIZEOF_PTHREAD_RWLOCK_T
__STATFS_MATCHES_STATFS64
__STDC_IEC_559_COMPLEX__
__STDC_IEC_559__
__STDC_IEC_60559_BFP__
__STDC_IEC_60559_COMPLEX__
__STDC_ISO_10646__
__SYSCALL_WORDSIZE
__TIMESIZE
__USE_ATFILE
__USE_FORTIFY_LEVEL
__USE_ISOC11
__USE_ISOC95
__USE_ISOC99
__USE_MISC
__USE_POSIX
__USE_POSIX2
__USE_POSIX199309
__USE_POSIX199506
__USE_POSIX_IMPLICITLY
__USE_XOPEN2K
__USE_XOPEN2K8
__WORDSIZE
__WORDSIZE_TIME64_COMPAT32
__clock_t_defined
__clockid_t_defined
__glibc_c99_flexarr_available
__have_pthread_attr_t
__sigset_t_defined
__time_t_defined
__timer_t_defined
__timeval_defined

Functions§

WavpackAddWrapper
WavpackAppendBinaryTagItem
WavpackAppendTagItem
WavpackBigEndianToNative
WavpackCloseFile
WavpackDeleteTagItem
WavpackFloatNormalize
WavpackFlushSamples
WavpackFreeWrapper
WavpackGetAverageBitrate
WavpackGetBinaryTagItem
WavpackGetBinaryTagItemIndexed
WavpackGetBitsPerSample
WavpackGetBytesPerSample
WavpackGetChannelIdentities
WavpackGetChannelLayout
WavpackGetChannelMask
WavpackGetEncodedNoise
WavpackGetErrorMessage
WavpackGetFileExtension
WavpackGetFileFormat
WavpackGetFileSize
WavpackGetFileSize64
WavpackGetFloatNormExp
WavpackGetInstantBitrate
WavpackGetLibraryVersion
WavpackGetLibraryVersionString
WavpackGetMD5Sum
WavpackGetMode
WavpackGetNativeSampleRate
WavpackGetNumBinaryTagItems
WavpackGetNumChannels
WavpackGetNumErrors
WavpackGetNumSamples
WavpackGetNumSamples64
WavpackGetNumSamplesInFrame
WavpackGetNumTagItems
WavpackGetProgress
WavpackGetQualifyMode
WavpackGetRatio
WavpackGetReducedChannels
WavpackGetSampleIndex
WavpackGetSampleIndex64
WavpackGetSampleRate
WavpackGetTagItem
WavpackGetTagItemIndexed
WavpackGetVersion
WavpackGetWrapperBytes
WavpackGetWrapperData
WavpackGetWrapperLocation
WavpackLittleEndianToNative
WavpackLossyBlocks
WavpackNativeToBigEndian
WavpackNativeToLittleEndian
WavpackOpenFileInput
WavpackOpenFileInputEx
WavpackOpenFileInputEx64
WavpackOpenFileOutput
WavpackOpenRawDecoder
WavpackPackInit
WavpackPackSamples
WavpackSeekSample
WavpackSeekSample64
WavpackSeekTrailingWrapper
WavpackSetChannelLayout
WavpackSetConfiguration
WavpackSetConfiguration64
WavpackSetFileInformation
WavpackStoreMD5Sum
WavpackUnpackSamples
WavpackUpdateNumSamples
WavpackVerifySingleBlock
WavpackWriteTag
pselect
select

Type Aliases§

WavpackBlockOutput
__blkcnt64_t
__blkcnt_t
__blksize_t
__caddr_t
__clock_t
__clockid_t
__daddr_t
__dev_t
__fd_mask
__fsblkcnt64_t
__fsblkcnt_t
__fsfilcnt64_t
__fsfilcnt_t
__fsword_t
__gid_t
__id_t
__ino64_t
__ino_t
__int8_t
__int16_t
__int32_t
__int64_t
__int_least8_t
__int_least16_t
__int_least32_t
__int_least64_t
__intmax_t
__intptr_t
__key_t
__loff_t
__mode_t
__nlink_t
__off64_t
__off_t
__pid_t
__pthread_list_t
__pthread_slist_t
__quad_t
__rlim64_t
__rlim_t
__sig_atomic_t
__socklen_t
__ssize_t
__suseconds64_t
__suseconds_t
__syscall_slong_t
__syscall_ulong_t
__thrd_t
__time_t
__timer_t
__tss_t
__u_char
__u_int
__u_long
__u_quad_t
__u_short
__uid_t
__uint8_t
__uint16_t
__uint32_t
__uint64_t
__uint_least8_t
__uint_least16_t
__uint_least32_t
__uint_least64_t
__uintmax_t
__useconds_t
blkcnt_t
blksize_t
caddr_t
clock_t
clockid_t
daddr_t
dev_t
fd_mask
fsblkcnt_t
fsfilcnt_t
fsid_t
gid_t
id_t
ino_t
int_fast8_t
int_fast16_t
int_fast32_t
int_fast64_t
int_least8_t
int_least16_t
int_least32_t
int_least64_t
intmax_t
key_t
loff_t
mode_t
nlink_t
off_t
pid_t
pthread_key_t
pthread_once_t
pthread_spinlock_t
pthread_t
quad_t
register_t
sigset_t
suseconds_t
time_t
timer_t
u_char
u_int
u_int8_t
u_int16_t
u_int32_t
u_int64_t
u_long
u_quad_t
u_short
uid_t
uint
uint_fast8_t
uint_fast16_t
uint_fast32_t
uint_fast64_t
uint_least8_t
uint_least16_t
uint_least32_t
uint_least64_t
uintmax_t
ulong
ushort

Unions§

__atomic_wide_counter
pthread_attr_t
pthread_barrier_t
pthread_barrierattr_t
pthread_cond_t
pthread_condattr_t
pthread_mutex_t
pthread_mutexattr_t
pthread_rwlock_t
pthread_rwlockattr_t