mpv: Add error logs
This commit is contained in:
parent
1ae02a7d47
commit
eb2eeee3c7
1 changed files with 20 additions and 2 deletions
|
@ -1,6 +1,7 @@
|
||||||
package mpv
|
package mpv
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
|
@ -75,13 +76,23 @@ func (s *MPVSource) Enable() (err error) {
|
||||||
|
|
||||||
s.process = exec.Command("mpv", opts...)
|
s.process = exec.Command("mpv", opts...)
|
||||||
if err = s.process.Start(); err != nil {
|
if err = s.process.Start(); err != nil {
|
||||||
|
log.Println("Unable to launch mpv:", err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
go func() {
|
go func() {
|
||||||
err := s.process.Wait()
|
err := s.process.Wait()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
s.process.Process.Kill()
|
var exiterr *exec.ExitError
|
||||||
|
if errors.As(err, &exiterr) {
|
||||||
|
if exiterr.ExitCode() > 0 {
|
||||||
|
log.Printf("mpv exited with error code = %d", exiterr.ExitCode())
|
||||||
|
} else {
|
||||||
|
log.Print("mpv exited successfully")
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
s.process.Process.Kill()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if s.ipcSocketDir != "" {
|
if s.ipcSocketDir != "" {
|
||||||
|
@ -106,6 +117,7 @@ func (s *MPVSource) Enable() (err error) {
|
||||||
err = conn.Open()
|
err = conn.Open()
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
log.Println("Unable to connect to mpv socket:", err.Error())
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
defer conn.Close()
|
defer conn.Close()
|
||||||
|
@ -120,15 +132,21 @@ func (s *MPVSource) Enable() (err error) {
|
||||||
|
|
||||||
err = conn.Set("pause", false)
|
err = conn.Set("pause", false)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
log.Println("Unable to unpause:", err.Error())
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
var pfc interface{}
|
var pfc interface{}
|
||||||
|
pfc, err = conn.Get("core-idle")
|
||||||
|
|
||||||
for err == nil && pfc.(bool) {
|
for err == nil && pfc.(bool) {
|
||||||
time.Sleep(250 * time.Millisecond)
|
time.Sleep(250 * time.Millisecond)
|
||||||
pfc, err = conn.Get("core-idle")
|
pfc, err = conn.Get("core-idle")
|
||||||
}
|
}
|
||||||
err = nil
|
|
||||||
|
if err != nil {
|
||||||
|
log.Println("Unable to retrieve core-idle status:", err.Error())
|
||||||
|
}
|
||||||
|
|
||||||
s.FadeIn(conn, 3, 50)
|
s.FadeIn(conn, 3, 50)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue