Scene player fixes and improvements (#5340)

* Don't log context canceled error during live transcode
* Pause live transcode if still scrubbing
* Debounce loading live transcode source to avoid multiple ffmpeg instances
* Don't start from start or resume time if seeking before playing
* Play video when seeked before playing
This commit is contained in:
WithoutPants
2024-10-07 09:00:49 +11:00
committed by GitHub
parent 3e4515e62a
commit 4697271294
3 changed files with 56 additions and 22 deletions

View File

@@ -1,6 +1,7 @@
package ffmpeg
import (
"context"
"errors"
"io"
"net/http"
@@ -230,7 +231,10 @@ func (sm *StreamManager) ServeTranscode(w http.ResponseWriter, r *http.Request,
handler, err := sm.getTranscodeStream(lockCtx, options)
if err != nil {
logger.Errorf("[transcode] error transcoding video file: %v", err)
// don't log context canceled errors
if !errors.Is(err, context.Canceled) {
logger.Errorf("[transcode] error transcoding video file: %v", err)
}
w.WriteHeader(http.StatusBadRequest)
if _, err := w.Write([]byte(err.Error())); err != nil {
logger.Warnf("[transcode] error writing response: %v", err)