livestream/server/api.go

41 lines
714 B
Go
Raw Normal View History

2023-06-13 00:07:14 +03:00
package main
import (
"errors"
2023-06-13 00:07:14 +03:00
"os"
"path"
)
func (s *State) NowPlaying() string {
if s.CurrentFile == "" {
2024-02-25 01:52:03 +02:00
return "Nothing 😴"
2023-06-13 00:07:14 +03:00
} else {
return s.CurrentFile
}
}
var ErrChooseFile = errors.New("please choose a file")
2023-06-13 00:07:14 +03:00
// TODO: make it possible to specific timestamp
func (s *State) PlayVideo(filename string, seconds int) (err error) {
2023-06-13 00:07:14 +03:00
if filename == "" {
err = ErrChooseFile
return
2023-06-13 00:07:14 +03:00
}
err = s.playFile(filename)
2023-06-13 00:07:14 +03:00
return
}
// returns if media can be watched
func (s *State) IsLivestreamReady() (bool, error) {
if _, err := os.Stat(path.Join(s.StreamCacheDir, OUTFILE)); os.IsNotExist(err) {
2023-06-13 00:07:14 +03:00
return false, nil
} else if err != nil {
return false, err
} else {
return true, nil
}
}