Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
itdan3344
stb
提交
e8b2939d
S
stb
项目概览
itdan3344
/
stb
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
stb
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
e8b2939d
编写于
6月 19, 2014
作者:
S
Sean Barrett
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix bug in stb_vorbis_get_samples_float
上级
b7be9848
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
13 addition
and
7 deletion
+13
-7
stb_vorbis.c
stb_vorbis.c
+13
-7
未找到文件。
stb_vorbis.c
浏览文件 @
e8b2939d
// Ogg Vorbis audio decoder - v1.0 - public domain
// Ogg Vorbis audio decoder - v1.0
1
- public domain
// http://nothings.org/stb_vorbis/
//
// Written by Sean Barrett in 2007, last updated in 2014
...
...
@@ -20,7 +20,7 @@
// files to around 6 hours (Ogg supports 64-bit)
//
// Bugfix/warning contributors:
// Terje Mathisen Niklas Frykholm
// Terje Mathisen Niklas Frykholm
Andy Hill
// Casey Muratori John Bolton
// Laurent Gomila Marc LeBlanc
// Bernhard Wodo Evan Balster
...
...
@@ -30,6 +30,7 @@
// list them all because I was lax about updating for a long time, sorry.)
//
// Partial history:
// 1.01 - 2014/06/18 - fix stb_vorbis_get_samples_float (interleaved was correct)
// 1.0 - 2014/05/26 - fix memory leaks; fix warnings; fix bugs in >2-channel;
// (API change) report sample rate for decode-full-file funcs
// 0.99996 - - bracket #include <malloc.h> for macintosh compilation
...
...
@@ -5368,8 +5369,10 @@ int stb_vorbis_get_samples_float_interleaved(stb_vorbis *f, int channels, float
}
n
+=
k
;
f
->
channel_buffer_start
+=
k
;
if
(
n
==
len
)
break
;
if
(
!
stb_vorbis_get_frame_float
(
f
,
NULL
,
&
outputs
))
break
;
if
(
n
==
len
)
break
;
if
(
!
stb_vorbis_get_frame_float
(
f
,
NULL
,
&
outputs
))
break
;
}
return
n
;
}
...
...
@@ -5386,20 +5389,23 @@ int stb_vorbis_get_samples_float(stb_vorbis *f, int channels, float **buffer, in
if
(
n
+
k
>=
num_samples
)
k
=
num_samples
-
n
;
if
(
k
)
{
for
(
i
=
0
;
i
<
z
;
++
i
)
memcpy
(
buffer
[
i
]
+
n
,
f
->
channel_buffers
+
f
->
channel_buffer_start
,
sizeof
(
float
)
*
k
);
memcpy
(
buffer
[
i
]
+
n
,
f
->
channel_buffers
[
i
]
+
f
->
channel_buffer_start
,
sizeof
(
float
)
*
k
);
for
(
;
i
<
channels
;
++
i
)
memset
(
buffer
[
i
]
+
n
,
0
,
sizeof
(
float
)
*
k
);
}
n
+=
k
;
f
->
channel_buffer_start
+=
k
;
if
(
n
==
num_samples
)
break
;
if
(
!
stb_vorbis_get_frame_float
(
f
,
NULL
,
&
outputs
))
break
;
if
(
n
==
num_samples
)
break
;
if
(
!
stb_vorbis_get_frame_float
(
f
,
NULL
,
&
outputs
))
break
;
}
return
n
;
}
#endif // STB_VORBIS_NO_PULLDATA_API
/* Version history
1.01 - 2014/06/18 - fix stb_vorbis_get_samples_float
1.0 - 2014/05/26 - fix memory leaks; fix warnings; fix bugs in multichannel
(API change) report sample rate for decode-full-file funcs
0.99996 - bracket #include <malloc.h> for macintosh compilation by Laurent Gomila
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录