Table of Contents

Class IcyMetadata

Namespace
Nyra.Entities
Assembly
Nyra.dll

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

IReadOnlyDictionary<string, string>

Raw

Raw metadata block, with ICY NUL padding and surrounding whitespace stripped by the server.

[JsonPropertyName("raw")]
[JsonInclude]
public string? Raw { get; }

Property Value

string

StreamTitle

The title the stream reports.

[JsonPropertyName("streamTitle")]
[JsonInclude]
public string? StreamTitle { get; }

Property Value

string

StreamUrl

The URL the stream reports.

[JsonPropertyName("streamUrl")]
[JsonInclude]
public string? StreamUrl { get; }

Property Value

string

Methods

Equals(IcyMetadata?)

Indicates whether the metadata carries the same members.

public bool Equals(IcyMetadata? other)

Parameters

other IcyMetadata

The 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.