Class IcyMetadata
Shoutcast/Icecast metadata of a live stream, reported while the stream plays.
public sealed record IcyMetadata : IEquatable<IcyMetadata>
- Inheritance
-
IcyMetadata
- Implements
- Inherited Members
Remarks
NodeLink only.
Properties
Fields
The key='value' pairs the server's parser recognizes, alphanumeric keys with apostrophe-delimited values, keys lowercased by the server, null values dropped by this client. Raw carries the untouched block for anything the parser misses.
[JsonPropertyName("fields")]
[JsonInclude]
public IReadOnlyDictionary<string, string>? Fields { get; }
Property Value
Raw
Raw metadata block, with ICY NUL padding and surrounding whitespace stripped by the server.
[JsonPropertyName("raw")]
[JsonInclude]
public string? Raw { get; }
Property Value
StreamTitle
The title the stream reports.
[JsonPropertyName("streamTitle")]
[JsonInclude]
public string? StreamTitle { get; }
Property Value
StreamUrl
The URL the stream reports.
[JsonPropertyName("streamUrl")]
[JsonInclude]
public string? StreamUrl { get; }
Property Value
Methods
Equals(IcyMetadata?)
Indicates whether the metadata carries the same members.
public bool Equals(IcyMetadata? other)
Parameters
otherIcyMetadataThe metadata to compare with.
Returns
- bool
Whether the members match, the fields compared by content.
GetHashCode()
Returns a hash of the metadata's comparable members.
public override int GetHashCode()
Returns
- int
The hash code.
ToString()
Returns the metadata with its normalized field count.
public override string ToString()
Returns
- string
The public members, the raw backing field stays out of it.