Add support for timeOffset in /stream endpoint

This commit is contained in:
Deluan
2023-12-02 13:10:25 -05:00
parent a9cf54afef
commit 812dc2090f
11 changed files with 71 additions and 43 deletions
+1 -1
View File
@@ -23,7 +23,7 @@ func (p *Router) handleStream(w http.ResponseWriter, r *http.Request) {
return
}
stream, err := p.streamer.NewStream(ctx, info.id, info.format, info.bitrate)
stream, err := p.streamer.NewStream(ctx, info.id, info.format, info.bitrate, 0)
if err != nil {
log.Error(ctx, "Error starting shared stream", err)
http.Error(w, "invalid request", http.StatusInternalServerError)
+3 -1
View File
@@ -8,6 +8,8 @@ import (
func (api *Router) GetOpenSubsonicExtensions(_ *http.Request) (*responses.Subsonic, error) {
response := newResponse()
response.OpenSubsonicExtensions = &responses.OpenSubsonicExtensions{}
response.OpenSubsonicExtensions = &responses.OpenSubsonicExtensions{
{Name: "transcodeOffset", Versions: []int32{1}},
}
return response, nil
}
+3 -2
View File
@@ -57,8 +57,9 @@ func (api *Router) Stream(w http.ResponseWriter, r *http.Request) (*responses.Su
}
maxBitRate := utils.ParamInt(r, "maxBitRate", 0)
format := utils.ParamString(r, "format")
timeOffset := utils.ParamInt(r, "timeOffset", 0)
stream, err := api.streamer.NewStream(ctx, id, format, maxBitRate)
stream, err := api.streamer.NewStream(ctx, id, format, maxBitRate, timeOffset)
if err != nil {
return nil, err
}
@@ -126,7 +127,7 @@ func (api *Router) Download(w http.ResponseWriter, r *http.Request) (*responses.
switch v := entity.(type) {
case *model.MediaFile:
stream, err := api.streamer.NewStream(ctx, id, format, maxBitRate)
stream, err := api.streamer.NewStream(ctx, id, format, maxBitRate, 0)
if err != nil {
return nil, err
}