/// <summary> /// Provides a JSON object for Media Playback Item /// </summary> public static JsonObject ToJsonObject(this MediaPlaybackItem item) { var b = new JsonBuilder("MediaPlaybackItem"); b.AddNumber("AudioTracks.Count", item.AudioTracks.Count); return(b.GetJsonObject()); }
/// <summary> /// Provides a JSON object for Media Playback Item Opened Event Args /// </summary> public static JsonObject ToJsonObject(this MediaPlaybackItemOpenedEventArgs o) { var builder = new JsonBuilder("MediaPlaybackItemOpenedEventArgs"); builder.AddJsonValue("Item", o.Item?.ToJsonObject()); return(builder.GetJsonObject()); }
/// <summary> /// Provides a JSON object for Media Playback Item Failed Event Args /// </summary> public static JsonObject ToJsonObject(this MediaPlaybackItemFailedEventArgs f) { var builder = new JsonBuilder("MediaPlaybackItemFailedEventArgs"); builder.AddString("Error", f.Error); builder.AddJsonValue("Item", f.Item?.ToJsonObject()); return(builder.GetJsonObject()); }
/// <summary> /// Provides a JSON object for Current Media PlaybackItem Changed Requested Event Args /// </summary> public static JsonObject ToJsonObject(this CurrentMediaPlaybackItemChangedEventArgs c) { var builder = new JsonBuilder("CurrentMediaPlaybackItemChangedEventArgs"); builder.AddJsonValue("NewItem", c.NewItem?.ToJsonObject()); builder.AddJsonValue("OldItem", c.OldItem?.ToJsonObject()); builder.AddString("Reason", c.Reason); return(builder.GetJsonObject()); }
/// <summary> /// Provides a JSON object for Download Bitrate Changed Event Args /// </summary> public static JsonObject ToJsonObject(this AdaptiveMediaSourceDownloadBitrateChangedEventArgs e) { var builder = new JsonBuilder("AdaptiveMediaSourceDownloadBitrateChangedEventArgs"); builder.AddNumber("OldValue", e.OldValue); builder.AddNumber("NewValue", e.NewValue); builder.AddString("Reason", e.Reason); return(builder.GetJsonObject()); }
/// <summary> /// Provides a JSON object for AdaptiveMediaSource Correlated Times /// </summary> public static JsonObject ToJsonObject(this AdaptiveMediaSourceCorrelatedTimes times) { var builder = new JsonBuilder("AdaptiveMediaSourceCorrelatedTimes"); builder.AddTimeSpan("Position", times.Position); builder.AddTimeSpan("PresentationTimeStamp", times.PresentationTimeStamp); builder.AddDateTime("ProgramDateTime", times.ProgramDateTime); return(builder.GetJsonObject()); }
/// <summary> /// Provides a JSON object for Playback Bitrate Changed Event Args /// </summary> public static JsonObject ToJsonObject(this AdaptiveMediaSourcePlaybackBitrateChangedEventArgs e) { var builder = new JsonBuilder("AdaptiveMediaSourcePlaybackBitrateChangedEventArgs"); builder.AddNumber("OldValue", e.OldValue); builder.AddNumber("NewValue", e.NewValue); builder.AddBoolean("AudioOnly", e.AudioOnly); return(builder.GetJsonObject()); }
/// <summary> /// Provides a JSON object for AdaptiveMediaSource Download Statistics /// </summary> public static JsonObject ToJsonObject(this AdaptiveMediaSourceDownloadStatistics stats) { var builder = new JsonBuilder("AdaptiveMediaSourceDownloadStatistics"); builder.AddTimeSpan("TimeToHeadersReceived", stats.TimeToHeadersReceived); builder.AddTimeSpan("TimeToFirstByteReceived", stats.TimeToFirstByteReceived); builder.AddTimeSpan("TimeToLastByteReceived", stats.TimeToLastByteReceived); builder.AddNumber("ContentBytesReceivedCount", stats.ContentBytesReceivedCount); return(builder.GetJsonObject()); }
/// <summary> /// Provides a JSON object for HttpProgress /// </summary> public static JsonObject ToJsonObject(this HttpProgress p) { var builder = new JsonBuilder("HttpProgress"); builder.AddString("Stage", p.Stage); builder.AddNumber("Retries", p.Retries); builder.AddNumber("BytesSent", p.BytesSent); builder.AddNumber("TotalBytesToSend", p.TotalBytesToSend); builder.AddNumber("BytesReceived", p.BytesReceived); builder.AddNumber("TotalBytesToReceive", p.TotalBytesToReceive); return(builder.GetJsonObject()); }
/// <summary> /// Provides a JSON formatted string for Download Requested Event Args /// </summary> public static JsonObject ToJsonObject(this AdaptiveMediaSourceDownloadRequestedEventArgs e) { var builder = new JsonBuilder("AdaptiveMediaSourceDownloadRequestedEventArgs"); builder.AddString("ResourceType", e.ResourceType); // builder.AddTimeSpan("Position", e.Position); // builder.AddNumber("RequestId", e.RequestId); builder.AddString("ResourceUri", e.ResourceUri); builder.AddNumber("ResourceByteRangeOffset", e.ResourceByteRangeOffset); builder.AddNumber("ResourceByteRangeLength", e.ResourceByteRangeLength); return(builder.GetJsonObject()); }
/// <summary> /// Provides a JSON object for Diagnostic Available Event Args /// </summary> public static JsonObject ToJsonObject(this AdaptiveMediaSourceDiagnosticAvailableEventArgs e) { var builder = new JsonBuilder("AdaptiveMediaSourceDiagnosticAvailableEventArgs"); builder.AddString("ResourceType", e.ResourceType); builder.AddString("DiagnosticType", e.DiagnosticType); // builder.AddTimeSpan("Position", e.Position); // builder.AddNumber("RequestId", e.RequestId); builder.AddString("ResourceUri", e.ResourceUri); builder.AddNumber("ResourceByteRangeOffset", e.ResourceByteRangeOffset); builder.AddNumber("ResourceByteRangeLength", e.ResourceByteRangeLength); builder.AddNumber("Bitrate", e.Bitrate); builder.AddNumber("SegmentId", e.SegmentId); return(builder.GetJsonObject()); }
/// <summary> /// Provides a JSON object for Download Completed Event Args /// </summary> public static JsonObject ToJsonObject(this AdaptiveMediaSourceDownloadCompletedEventArgs e) { StringBuilder sb = new StringBuilder(); var builder = new JsonBuilder("AdaptiveMediaSourceDownloadCompletedEventArgs"); builder.AddString("ResourceType", e.ResourceType); // builder.AddTimeSpan("Position", e.Position); // builder.AddString("RequestId", e.RequestId)); builder.AddString("ResourceUri", e.ResourceUri); builder.AddNumber("ResourceByteRangeOffset", e.ResourceByteRangeOffset); builder.AddNumber("ResourceByteRangeLength", e.ResourceByteRangeLength); // builder.AddJsonValue("Statistics", e.Statistics.ToJsonObject()); builder.AddString("HttpResponseMessage.StatusCode", e.HttpResponseMessage?.StatusCode); builder.AddNumber("HttpResponseMessage.Headers.Count", e.HttpResponseMessage?.Headers?.Count); builder.AddNumber("HttpResponseMessage.Content.Headers.Count", e.HttpResponseMessage?.Content?.Headers?.Count); // ... return(builder.GetJsonObject()); }