icy-metaint 的值类型

Ano*_*ous 3 shoutcast audio-streaming internet-radio

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

似乎有些程序员认为这个值必须是有符号整数(例如这里)。然而另一个例子说这个值可以是 32768,这超出了有符号整数定义。

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

PS“metaint”应该是元信息区间的意思,int这个词一定不是整数类型的意思!

Bra*_*rad 5

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

\n\n

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

\n\n
[8192 bytes audio] [metadata] [8192 bytes audio] [metadata] \xe2\x80\xa6\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n

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

\n