Table of Contents

Class StreamMetadata

Namespace
Nyra.Entities
Assembly
Nyra.dll

One live-stream metadata update, delivered through StreamMetadataEvent.

public sealed record StreamMetadata : IEquatable<StreamMetadata>
Inheritance
StreamMetadata
Implements
Inherited Members

Remarks

NodeLink only.

Properties

Icy

Station headers captured when the stream connection was opened.

[JsonPropertyName("icy")]
[JsonInclude]
public IcyStreamHeaders? Icy { get; }

Property Value

IcyStreamHeaders

Metadata

The ICY metadata of the stream.

[JsonPropertyName("metadata")]
[JsonInclude]
public IcyMetadata? Metadata { get; }

Property Value

IcyMetadata

ReceivedAt

When the server received the metadata, null when it sent no timestamp.

[JsonIgnore]
public DateTimeOffset? ReceivedAt { get; }

Property Value

DateTimeOffset?

Remarks

A value outside the DateTimeOffset range (a hostile host) reads as MinValue, which the exact floor of the range reads as too, so the sentinel cannot be told apart from it.

ReceivedAtMilliseconds

Unix timestamp, in milliseconds, null when the server sent none.

[JsonPropertyName("receivedAt")]
[JsonInclude]
[JsonConverter(typeof(RoundedInt64Converter))]
public long? ReceivedAtMilliseconds { get; }

Property Value

long?