mirror of https://github.com/Xhofe/alist
fix(google_photo): add support for streaming video, range requests (#5905)
* Update util.go Return mediaMetadata * Update driver.go Using width and heightpull/5910/head^2
parent
0f29a811bf
commit
8bccb69e8d
|
@ -58,9 +58,33 @@ func (d *GooglePhoto) Link(ctx context.Context, file model.Obj, args model.LinkA
|
||||||
URL: f.BaseURL + "=d",
|
URL: f.BaseURL + "=d",
|
||||||
}, nil
|
}, nil
|
||||||
} else if strings.Contains(f.MimeType, "video/") {
|
} else if strings.Contains(f.MimeType, "video/") {
|
||||||
return &model.Link{
|
var width, height int
|
||||||
URL: f.BaseURL + "=dv",
|
|
||||||
}, nil
|
fmt.Sscanf(f.MediaMetadata.Width, "%d", &width)
|
||||||
|
fmt.Sscanf(f.MediaMetadata.Height, "%d", &height)
|
||||||
|
|
||||||
|
switch {
|
||||||
|
// 1080P
|
||||||
|
case width == 1920 && height == 1080:
|
||||||
|
return &model.Link{
|
||||||
|
URL: f.BaseURL + "=m37",
|
||||||
|
}, nil
|
||||||
|
// 720P
|
||||||
|
case width == 1280 && height == 720:
|
||||||
|
return &model.Link{
|
||||||
|
URL: f.BaseURL + "=m22",
|
||||||
|
}, nil
|
||||||
|
// 360P
|
||||||
|
case width == 640 && height == 360:
|
||||||
|
return &model.Link{
|
||||||
|
URL: f.BaseURL + "=m18",
|
||||||
|
}, nil
|
||||||
|
default:
|
||||||
|
return &model.Link{
|
||||||
|
URL: f.BaseURL + "=dv",
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
return &model.Link{}, nil
|
return &model.Link{}, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -151,7 +151,7 @@ func (d *GooglePhoto) getMedia(id string) (MediaItem, error) {
|
||||||
var resp MediaItem
|
var resp MediaItem
|
||||||
|
|
||||||
query := map[string]string{
|
query := map[string]string{
|
||||||
"fields": "baseUrl,mimeType",
|
"fields": "mediaMetadata,baseUrl,mimeType",
|
||||||
}
|
}
|
||||||
_, err := d.request(fmt.Sprintf("https://photoslibrary.googleapis.com/v1/mediaItems/%s", id), http.MethodGet, func(req *resty.Request) {
|
_, err := d.request(fmt.Sprintf("https://photoslibrary.googleapis.com/v1/mediaItems/%s", id), http.MethodGet, func(req *resty.Request) {
|
||||||
req.SetQueryParams(query)
|
req.SetQueryParams(query)
|
||||||
|
|
Loading…
Reference in New Issue