From 736cd9e5f2fb46467ccc3d16f65f68a58bccd0aa Mon Sep 17 00:00:00 2001 From: power721 Date: Sun, 24 Aug 2025 19:55:10 +0800 Subject: [PATCH] fix(quark): fix getTranscodingLink (#1136) The first video info may not contain url * fix(quark): fix getTranscodingLink * fix(quark_tv): fix getTranscodingLink --- drivers/quark_uc/util.go | 18 ++++++++++++------ drivers/quark_uc_tv/util.go | 18 ++++++++++++------ 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/drivers/quark_uc/util.go b/drivers/quark_uc/util.go index 94b62778..fa448588 100644 --- a/drivers/quark_uc/util.go +++ b/drivers/quark_uc/util.go @@ -149,12 +149,18 @@ func (d *QuarkOrUC) getTranscodingLink(file model.Obj) (*model.Link, error) { return nil, err } - return &model.Link{ - URL: resp.Data.VideoList[0].VideoInfo.URL, - ContentLength: resp.Data.VideoList[0].VideoInfo.Size, - Concurrency: 3, - PartSize: 10 * utils.MB, - }, nil + for _, info := range resp.Data.VideoList { + if info.VideoInfo.URL != "" { + return &model.Link{ + URL: info.VideoInfo.URL, + ContentLength: info.VideoInfo.Size, + Concurrency: 3, + PartSize: 10 * utils.MB, + }, nil + } + } + + return nil, errors.New("no link found") } func (d *QuarkOrUC) upPre(file model.FileStreamer, parentId string) (UpPreResp, error) { diff --git a/drivers/quark_uc_tv/util.go b/drivers/quark_uc_tv/util.go index f513ef11..d68a2f3c 100644 --- a/drivers/quark_uc_tv/util.go +++ b/drivers/quark_uc_tv/util.go @@ -228,12 +228,18 @@ func (d *QuarkUCTV) getTranscodingLink(ctx context.Context, file model.Obj) (*mo return nil, err } - return &model.Link{ - URL: fileLink.Data.VideoInfo[0].URL, - Concurrency: 3, - PartSize: 10 * utils.MB, - ContentLength: fileLink.Data.VideoInfo[0].Size, - }, nil + for _, info := range fileLink.Data.VideoInfo { + if info.URL != "" { + return &model.Link{ + URL: info.URL, + ContentLength: info.Size, + Concurrency: 3, + PartSize: 10 * utils.MB, + }, nil + } + } + + return nil, errors.New("no link found") } func (d *QuarkUCTV) getDownloadLink(ctx context.Context, file model.Obj) (*model.Link, error) {