Skip to content
This repository has been archived by the owner on Dec 20, 2023. It is now read-only.

修复综合动态序列解析溢出的问题 #1533

Merged
merged 1 commit into from
Oct 21, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/Adapter/Adapter.Implementation/PgcAdapter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ public EpisodeInformation ConvertToEpisodeInformation(MdlDynPGC pgc)
var aid = pgc.Aid.ToString();
var isPv = pgc.IsPreview;
var cover = _imageAdapter.ConvertToVideoCardCover(pgc.Cover);
var duration = Convert.ToInt32(pgc.Duration);
var duration = pgc.Duration;

var identifier = new VideoIdentifier(epid, title, duration, cover);
return new EpisodeInformation(identifier, ssid, aid, isPv: isPv);
Expand All @@ -148,7 +148,7 @@ public EpisodeInformation ConvertToEpisodeInformation(MdlDynArchive archive)
var aid = archive.Avid.ToString();
var isPv = archive.IsPreview;
var cover = _imageAdapter.ConvertToVideoCardCover(archive.Cover);
var duration = Convert.ToInt32(archive.Duration);
var duration = archive.Duration;

var identifier = new VideoIdentifier(epid, title, duration, cover);
return new EpisodeInformation(identifier, ssid, aid, isPv: isPv);
Expand Down
18 changes: 9 additions & 9 deletions src/Adapter/Adapter.Implementation/VideoAdapter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ public VideoInformation ConvertToVideoInformation(MdlDynArchive dynamicVideo)
var title = _textToolkit.ConvertToTraditionalChineseIfNeeded(dynamicVideo.Title);
var id = dynamicVideo.Avid.ToString();
var bvid = dynamicVideo.Bvid;
var duration = Convert.ToInt32(dynamicVideo.Duration);
var duration = dynamicVideo.Duration;
var cover = _imageAdapter.ConvertToImage(dynamicVideo.Cover, AppConstants.DynamicCoverWidth, AppConstants.DynamicCoverHeight);
var communityInfo = _communityAdapter.ConvertToVideoCommunityInformation(dynamicVideo);
var identifier = new VideoIdentifier(id, title, duration, cover);
Expand Down Expand Up @@ -154,10 +154,10 @@ public VideoInformation ConvertToVideoInformation(Item rankVideo)
{
var id = rankVideo.Param;
var title = _textToolkit.ConvertToTraditionalChineseIfNeeded(rankVideo.Title);
var duration = Convert.ToInt32(rankVideo.Duration);
var duration = rankVideo.Duration;
var publishTime = DateTimeOffset.FromUnixTimeSeconds(rankVideo.PubDate).ToLocalTime();

var user = _userAdapter.ConvertToUserProfile(Convert.ToInt32(rankVideo.Mid), rankVideo.Name, rankVideo.Face, Models.Enums.App.AvatarSize.Size48);
var user = _userAdapter.ConvertToUserProfile(rankVideo.Mid, rankVideo.Name, rankVideo.Face, Models.Enums.App.AvatarSize.Size48);
var publisher = new RoleProfile(user);
var cover = _imageAdapter.ConvertToVideoCardCover(rankVideo.Cover);
var communityInfo = _communityAdapter.ConvertToVideoCommunityInformation(rankVideo);
Expand Down Expand Up @@ -217,7 +217,7 @@ public VideoInformation ConvertToVideoInformation(Relate relatedVideo)
{
var title = _textToolkit.ConvertToTraditionalChineseIfNeeded(relatedVideo.Title);
var id = relatedVideo.Aid.ToString();
var duration = Convert.ToInt32(relatedVideo.Duration);
var duration = relatedVideo.Duration;
var description = _textToolkit.ConvertToTraditionalChineseIfNeeded(relatedVideo.Desc);
var publisher = _userAdapter.ConvertToRoleProfile(relatedVideo.Author);
var cover = _imageAdapter.ConvertToVideoCardCover(relatedVideo.Pic);
Expand Down Expand Up @@ -291,7 +291,7 @@ public VideoInformation ConvertToVideoInformation(CursorItem historyVideo)
var id = historyVideo.Kid.ToString();
var bvid = video.Bvid;
var subtitle = $"{video.Name} · {TimeSpan.FromSeconds(video.Progress)}";
var duration = Convert.ToInt32(video.Duration);
var duration = video.Duration;
var cover = _imageAdapter.ConvertToVideoCardCover(video.Cover);

var identifier = new VideoIdentifier(id, title, duration, cover);
Expand Down Expand Up @@ -329,7 +329,7 @@ public VideoInformation ConvertToVideoInformation(Arc video)
title = _textToolkit.ConvertToTraditionalChineseIfNeeded(title);
var id = archive.Aid.ToString();
var publisher = _userAdapter.ConvertToRoleProfile(archive.Author);
var duration = Convert.ToInt32(archive.Duration);
var duration = archive.Duration;
var cover = _imageAdapter.ConvertToVideoCardCover(archive.Pic);
var communityInfo = _communityAdapter.ConvertToVideoCommunityInformation(archive.Stat);
var publishTime = DateTimeOffset.FromUnixTimeSeconds(archive.Pubdate).DateTime;
Expand Down Expand Up @@ -431,7 +431,7 @@ private VideoInformation GetVideoInformationFromEpisode(Episode episode)
var id = episode.Aid.ToString();
var cid = episode.Cid.ToString();
var title = Regex.Replace(episode.Title, "<[^>]+>", string.Empty);
var duration = Convert.ToInt32(episode.Page.Duration);
var duration = episode.Page.Duration;
var publisher = _userAdapter.ConvertToRoleProfile(episode.Author);
var communityInfo = _communityAdapter.ConvertToVideoCommunityInformation(episode.Stat);
var cover = _imageAdapter.ConvertToVideoCardCover(episode.Cover);
Expand All @@ -447,7 +447,7 @@ private VideoInformation GetVideoInformationFromViewReply(ViewReply videoDetail)
var title = _textToolkit.ConvertToTraditionalChineseIfNeeded(arc.Title);
var id = arc.Aid.ToString();
var bvid = videoDetail.Bvid;
var duration = Convert.ToInt32(arc.Duration);
var duration = arc.Duration;
var cover = _imageAdapter.ConvertToImage(arc.Pic);
var collaborators = videoDetail.Staff.Count > 0
? videoDetail.Staff.Select(p => _userAdapter.ConvertToRoleProfile(p, Models.Enums.App.AvatarSize.Size32))
Expand Down Expand Up @@ -479,7 +479,7 @@ private IEnumerable<VideoIdentifier> GetSubVideosFromViewReply(ViewReply videoDe
{
var cid = page.Page.Cid.ToString();
var title = _textToolkit.ConvertToTraditionalChineseIfNeeded(page.Page.Part);
var duration = Convert.ToInt32(page.Page.Duration);
var duration = page.Page.Duration;
var identifier = new VideoIdentifier(cid, title, duration, null);
subVideos.Add(identifier);
}
Expand Down
4 changes: 2 additions & 2 deletions src/Models/Models.Data/Video/VideoIdentifier.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ public struct VideoIdentifier
/// <param name="title">视频名称.</param>
/// <param name="duration">视频时长.</param>
/// <param name="cover">封面.</param>
public VideoIdentifier(string id, string title, int duration, Image cover)
public VideoIdentifier(string id, string title, long duration, Image cover)
{
Id = id;
Title = title;
Expand All @@ -38,7 +38,7 @@ public VideoIdentifier(string id, string title, int duration, Image cover)
/// <summary>
/// 视频时长,以秒为单位.
/// </summary>
public int Duration { get; }
public long Duration { get; }

/// <summary>
/// 视频 Id,属于网站的资源标识符.
Expand Down