icy-metaint的值类型

时间:2017-11-20 09:19:02

标签: audio-streaming shoutcast internet-radio

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

似乎有些程序员认为这个值必须是有符号整数(例如here)。但是另一个example表示该值可以是32768,它超出了有符号整数定义。

我理解"有符号整数"在不同情况下可能意味着2字节大小或4字节大小。那么比特值的大小是多少(如果签名则包括符号)?我需要知道它,因为我编写了Verilog代码并且不想为不需要的位花费逻辑。

P.S。 " metaint"应该是指元信息区间 int 这个词不能代表整数类型!

1 个答案:

答案 0 :(得分:1)

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

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

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

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

我个人看到的元数据间隔高达64KB。在奇怪的情况下看到它们更高,我不会感到惊讶。 8KB和16KB是很常见的。另请注意,没有必要像这样具有正常值......我还看到过像15,000字节这样的事情。