当前位置: 首页>>代码示例>>C++>>正文


C++ WavPackDecoder类代码示例

本文整理汇总了C++中WavPackDecoder的典型用法代码示例。如果您正苦于以下问题:C++ WavPackDecoder类的具体用法?C++ WavPackDecoder怎么用?C++ WavPackDecoder使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了WavPackDecoder类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: set_pos_rel_callback

static int
set_pos_rel_callback(void *id, int32_t delta, int mode)
{
	assert(nullptr != id);
	
	WavPackDecoder *decoder = static_cast<WavPackDecoder *>(id);
	InputSource *inputSource = decoder->GetInputSource();

	if(!inputSource->SupportsSeeking())
		return -1;
	
	// Adjust offset as required
	SInt64 offset = delta;
	switch(mode) {
		case SEEK_SET:
			// offset remains unchanged
			break;
		case SEEK_CUR:
			offset += inputSource->GetOffset();
			break;
		case SEEK_END:
			offset += inputSource->GetLength();
			break;
	}
	
	return (!inputSource->SeekToOffset(offset));
}
开发者ID:LionelWang,项目名称:SFBAudioEngine,代码行数:27,代码来源:WavPackDecoder.cpp

示例2: set_pos_abs_callback

static int
set_pos_abs_callback(void *id, uint32_t pos)
{
	assert(nullptr != id);
	
	WavPackDecoder *decoder = static_cast<WavPackDecoder *>(id);
	return !decoder->GetInputSource()->SeekToOffset(pos);
}
开发者ID:LionelWang,项目名称:SFBAudioEngine,代码行数:8,代码来源:WavPackDecoder.cpp

示例3: get_pos_callback

static uint32_t
get_pos_callback(void *id)
{
	assert(nullptr != id);
	
	WavPackDecoder *decoder = static_cast<WavPackDecoder *>(id);
	return static_cast<uint32_t>(decoder->GetInputSource()->GetOffset());
}
开发者ID:LionelWang,项目名称:SFBAudioEngine,代码行数:8,代码来源:WavPackDecoder.cpp

示例4: read_bytes_callback

static int32_t
read_bytes_callback(void *id, void *data, int32_t bcount)
{
	assert(nullptr != id);

	WavPackDecoder *decoder = static_cast<WavPackDecoder *>(id);
	return static_cast<int32_t>(decoder->GetInputSource()->Read(data, bcount));
}
开发者ID:LionelWang,项目名称:SFBAudioEngine,代码行数:8,代码来源:WavPackDecoder.cpp

示例5: can_seek_callback

static int
can_seek_callback(void *id)
{
	assert(nullptr != id);
	
	WavPackDecoder *decoder = static_cast<WavPackDecoder *>(id);
	return static_cast<uint32_t>(decoder->GetInputSource()->SupportsSeeking());
}
开发者ID:LionelWang,项目名称:SFBAudioEngine,代码行数:8,代码来源:WavPackDecoder.cpp

示例6: get_length_callback

static uint32_t
get_length_callback(void *id)
{
	assert(NULL != id);
	
	WavPackDecoder *decoder = static_cast<WavPackDecoder *>(id);
	return static_cast<uint32_t>(decoder->GetInputSource()->GetLength());
}
开发者ID:hjzc,项目名称:SFBAudioEngine,代码行数:8,代码来源:WavPackDecoder.cpp

示例7: push_back_byte_callback

// FIXME: How does one emulate ungetc when the data is non-seekable?
static int
push_back_byte_callback(void *id, int c)
{
	assert(nullptr != id);
	
	WavPackDecoder *decoder = static_cast<WavPackDecoder *>(id);
	InputSource *inputSource = decoder->GetInputSource();
	
	if(!inputSource->SupportsSeeking())
		return EOF;
	
	if(!inputSource->SeekToOffset(inputSource->GetOffset() - 1))
		return EOF;
	
	return c;
}
开发者ID:LionelWang,项目名称:SFBAudioEngine,代码行数:17,代码来源:WavPackDecoder.cpp

示例8: wpd_get_length_shim

	uint32_t wpd_get_length_shim(void *id)
	{
		WavPackDecoder* d = (WavPackDecoder*)id;
		return d->getLength();
	}
开发者ID:ddaeschler,项目名称:audio-reflector,代码行数:5,代码来源:WavPackDecoder.cpp

示例9: wpd_push_back_byte_shim

	int wpd_push_back_byte_shim(void *id, int c)
	{
		WavPackDecoder* d = (WavPackDecoder*)id;
		return d->pushBackByte(c);
	}
开发者ID:ddaeschler,项目名称:audio-reflector,代码行数:5,代码来源:WavPackDecoder.cpp

示例10: wpd_get_pos_shim

	uint32_t wpd_get_pos_shim(void *id)
	{
		WavPackDecoder* d = (WavPackDecoder*)id;
		return d->getPos();
	}
开发者ID:ddaeschler,项目名称:audio-reflector,代码行数:5,代码来源:WavPackDecoder.cpp

示例11: wpd_read_bytes_shim

	int32_t wpd_read_bytes_shim(void *id, void *data, int32_t bcount)
	{
		WavPackDecoder* d = (WavPackDecoder*)id;
		return d->readBytes(data, bcount);
	}
开发者ID:ddaeschler,项目名称:audio-reflector,代码行数:5,代码来源:WavPackDecoder.cpp


注:本文中的WavPackDecoder类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。