icy-metaint 的值类型

Value type of icy-metaint

研究这个问题我在标准中找不到这个变量的第一手描述。我实际上根本找不到对 ICY 标准的正确描述。

似乎有些程序员认为这个值必须是有符号整数(例如 here). However another example 说这个值可以是 32768,这在有符号整数定义之外。

我理解 "signed integer" 在不同情况下可能表示 2 字节大小或 4 字节大小。那么以位为单位的值的大小是多少(如果有符号则包括符号)?我需要知道它,因为我编写 Verilog 代码并且不想为不需要的位花费逻辑。

P.S。 "metaint"应该是meta information interval的意思,int这个词一定不是整数类型的意思!

icy-metaint是每个元数据块之间媒体流数据的字节数。

假设我有一个互联网电台,icy-metaint 值为 8192。来自服务器的数据将如下所示:

[8192 bytes audio] [metadata] [8192 bytes audio] [metadata] …

这个间隔的大小取决于服务器及其配置。您应该能够处理各种值。实际上,一个 32 位无符号整数就足够了。

我亲眼见过高达64KB的元数据区间。看到他们在奇怪的情况下更高,我不会感到惊讶。 8KB 和 16KB 很常见。另请注意,没有必要具有这样的正常值...我也看到过 15,000 字节之类的东西。