mirror of
https://github.com/Crunchy-DL/Crunchy-Downloader.git
synced 2026-01-11 20:10:26 +00:00
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
95 lines
No EOL
2.4 KiB
C#
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; }
|
|
} |