mirror of
https://github.com/navidrome/navidrome.git
synced 2025-04-04 13:07:36 +03:00
* bug(core/playback/mpv): jukebox mode under windows - #2767 Use named pipe for socket path under windows during mpv playback, change function name, unexport function Signed-off-by: apkatsikas <apkatsikas@gmail.com> * bug(core/playback/mpv): jukebox mode under windows - #2767 Fix typo Signed-off-by: apkatsikas <apkatsikas@gmail.com> * bug(core/playback/mpv): jukebox mode under windows - navidrome#2767 Early return for Close on Windows Signed-off-by: apkatsikas <apkatsikas@gmail.com> * bug(core/playback/mpv): jukebox mode under windows - navidrome#2767 Update import and run prettier Signed-off-by: apkatsikas <apkatsikas@gmail.com> * bug(core/playback/mpv): jukebox mode under windows - navidrome#2767 Update function name Signed-off-by: apkatsikas <apkatsikas@gmail.com> * bug(core/playback/mpv): jukebox mode under windows - navidrome#2767 Create track_close files for both platforms and move MpvTrack Close into new file Signed-off-by: apkatsikas <apkatsikas@gmail.com> * bug(core/playback/mpv): jukebox mode under windows - navidrome#2767 Create SocketName function for both platforms, restore name of TempFileName Signed-off-by: apkatsikas <apkatsikas@gmail.com> * bug(core/playback/mpv): jukebox mode under windows - navidrome#2767 Add missing params to SocketName on windows Signed-off-by: apkatsikas <apkatsikas@gmail.com> * Unexport SocketName, use socketName in NewTrack --------- Signed-off-by: apkatsikas <apkatsikas@gmail.com>
38 lines
831 B
Go
38 lines
831 B
Go
//go:build !windows
|
|
|
|
package mpv
|
|
|
|
import (
|
|
"os"
|
|
|
|
"github.com/navidrome/navidrome/log"
|
|
)
|
|
|
|
func (t *MpvTrack) Close() {
|
|
log.Debug("Closing resources", "track", t)
|
|
t.CloseCalled = true
|
|
// trying to shutdown mpv process using socket
|
|
if t.isSocketFilePresent() {
|
|
log.Debug("sending shutdown command")
|
|
_, err := t.Conn.Call("quit")
|
|
if err != nil {
|
|
log.Error("Error sending quit command to mpv-ipc socket", err)
|
|
|
|
if t.Exe != nil {
|
|
log.Debug("cancelling executor")
|
|
err = t.Exe.Cancel()
|
|
if err != nil {
|
|
log.Error("Error canceling executor", err)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if t.isSocketFilePresent() {
|
|
log.Debug("Removing socketfile", "socketfile", t.IPCSocketName)
|
|
err := os.Remove(t.IPCSocketName)
|
|
if err != nil {
|
|
log.Error("Error cleaning up socketfile", "socketfile", t.IPCSocketName, err)
|
|
}
|
|
}
|
|
}
|