/// <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()); }