Fix "invalid cross-device link" error when running on a different filesystem (#1769)

* fix cross-device rename errors

* fallback to copy instead of always using it

* use tmp dir in data folder

* recreate tmp dir at startup
This commit is contained in:
Lerk
2022-03-08 01:30:40 +01:00
committed by GitHub
parent 88ed026eae
commit a7687c861e
5 changed files with 51 additions and 6 deletions

View File

@@ -20,7 +20,7 @@ func appendOfflineToVariantPlaylist(index int, playlistFilePath string) {
}
tmpFileName := fmt.Sprintf("tmp-stream-%d.m3u8", index)
atomicWriteTmpPlaylistFile, err := os.CreateTemp(os.TempDir(), tmpFileName)
atomicWriteTmpPlaylistFile, err := os.CreateTemp(config.TempDir, tmpFileName)
if err != nil {
log.Errorln("error creating tmp playlist file to write to", playlistFilePath, err)
return
@@ -94,7 +94,7 @@ func createEmptyOfflinePlaylist(playlistFilePath string, offlineFilename string)
func saveOfflineClipToDisk(offlineFilename string) (string, error) {
offlineFileData := static.GetOfflineSegment()
offlineTmpFile, err := os.CreateTemp(os.TempDir(), offlineFilename)
offlineTmpFile, err := os.CreateTemp(config.TempDir, offlineFilename)
if err != nil {
log.Errorln("unable to create temp file for offline video segment", err)
}