Crunchy-Downloader/CRD/Utils/Structs/Crunchyroll/StreamLimits.cs
Elwador 5d94025fcc Add - Added encoding option to muxing settings
Add - Added Custom encoding presets
Add - Added Skip Muxing to muxing settings
Add - Added Dubs to file name settings
Add - IP check in settings to check if VPN is being used
Add - Dubs to "Add Downloads" Tab
Add - Series folder link to history series if it finds the folder
Add - Added command line arguments
Add - Added proxy settings to the Settings tab (changes require a restart to take effect)
Add - Added option to set "Sign" subs forced flag
Add - Added option to set "CC" subs "hearing-impaired" flag
Add - Added encoding presets editing
Add - Added CC subtitles font option to the settings
Add - Added available dubs to history episodes

Chg - Defaults to system accent color when no color is selected in the settings
Chg - Audio only mux to only copy and not encode
Chg - Update dialog
Chg - Light mode color adjustments
Chg - Http Connection change to detect proxy (Clash)
Chg - Settings filename description
Chg - Changed FPS on encoding presets to 24fps
Chg - Adjusted encoding to allow h264_nvenc & hevc_nvenc
Chg - Moved sync timing folders from the Windows temp folder to the application root's temp folder
Chg - The temp folder will now be deleted automatically when empty

Fix - Locale not correctly applied to Urls in the "Add Downloads" Tab
Fix - Locale not correctly applied to Search in the "Add Downloads" Tab
Fix - Scrolling issue in settings
Fix - Fix crash when removing streaming tokens (TOO_MANY_ACTIVE_STREAMS)
Fix - Search didn't reset correctly
Fix - Clash proxy didn't work
Fix - Chapters were always taken from the original version (mainly JP)
Fix - Connection issue
Fix - Fixed an issue where proxy settings were only available when history was enabled
Fix - Fixed scrolling issues with certain series in the "Add Downloads" tab
Fix - Fixed an issue where History Series appeared incomplete after being added then deleted and re-added
Fix - Fixed a crash related to sync timing
2024-09-30 20:08:37 +02:00

95 lines
No EOL
2.4 KiB
C#

using System;
using System.Collections.Generic;
using System.Text.Json.Serialization;
using Newtonsoft.Json;
namespace CRD.Utils.Structs.Crunchyroll;
public class StreamError{
[JsonPropertyName("error")]
public string Error{ get; set; }
[JsonPropertyName("activeStreams")]
public List<ActiveStream> ActiveStreams{ get; set; } = new ();
public static StreamError? FromJson(string json){
try{
return Helpers.Deserialize<StreamError>(json,null);
} catch (Exception e){
Console.Error.WriteLine(e);
return null;
}
}
public bool IsTooManyActiveStreamsError(){
return Error == "TOO_MANY_ACTIVE_STREAMS";
}
}
public class ActiveStream{
[JsonPropertyName("deviceSubtype")]
public string DeviceSubtype{ get; set; }
[JsonPropertyName("accountId")]
public string AccountId{ get; set; }
[JsonPropertyName("deviceType")]
public string DeviceType{ get; set; }
[JsonPropertyName("subscription")]
public string Subscription{ get; set; }
[JsonPropertyName("maxKeepAliveSeconds")]
public int MaxKeepAliveSeconds{ get; set; }
[JsonPropertyName("ttl")]
public int Ttl{ get; set; }
[JsonPropertyName("episodeIdentity")]
public string EpisodeIdentity{ get; set; }
[JsonPropertyName("tabId")]
public string TabId{ get; set; }
[JsonPropertyName("country")]
public string Country{ get; set; }
[JsonPropertyName("clientId")]
public string ClientId{ get; set; }
[JsonPropertyName("active")]
public bool Active{ get; set; }
[JsonPropertyName("deviceId")]
public string DeviceId{ get; set; }
[JsonPropertyName("token")]
public string Token{ get; set; }
[JsonPropertyName("assetId")]
public string AssetId{ get; set; }
[JsonPropertyName("sessionType")]
public string SessionType{ get; set; }
[JsonPropertyName("contentId")]
public string ContentId{ get; set; }
[JsonPropertyName("usesStreamLimits")]
public bool UsesStreamLimits{ get; set; }
[JsonPropertyName("playbackType")]
public string PlaybackType{ get; set; }
[JsonPropertyName("pk")]
public string Pk{ get; set; }
[JsonPropertyName("id")]
public string Id{ get; set; }
[JsonPropertyName("createdTimestamp")]
public long CreatedTimestamp{ get; set; }
[JsonPropertyName("lastKeepAliveTimestamp")]
public long LastKeepAliveTimestamp{ get; set; }
}