node build fixed
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
package mediaplayer
|
||||
|
||||
import (
|
||||
"seanime/internal/hook_resolver"
|
||||
)
|
||||
|
||||
// MediaPlayerLocalFileTrackingRequestedEvent is triggered when the playback manager wants to track the progress of a local file.
|
||||
// Prevent default to stop tracking.
|
||||
type MediaPlayerLocalFileTrackingRequestedEvent struct {
|
||||
hook_resolver.Event
|
||||
// StartRefreshDelay is the number of seconds to wait before attempting to get the status
|
||||
StartRefreshDelay int `json:"startRefreshDelay"`
|
||||
// RefreshDelay is the number of seconds to wait before we refresh the status of the player after getting it for the first time
|
||||
RefreshDelay int `json:"refreshDelay"`
|
||||
// MaxRetries is the maximum number of retries
|
||||
MaxRetries int `json:"maxRetries"`
|
||||
}
|
||||
|
||||
// MediaPlayerStreamTrackingRequestedEvent is triggered when the playback manager wants to track the progress of a stream.
|
||||
// Prevent default to stop tracking.
|
||||
type MediaPlayerStreamTrackingRequestedEvent struct {
|
||||
hook_resolver.Event
|
||||
// StartRefreshDelay is the number of seconds to wait before attempting to get the status
|
||||
StartRefreshDelay int `json:"startRefreshDelay"`
|
||||
// RefreshDelay is the number of seconds to wait before we refresh the status of the player after getting it for the first time
|
||||
RefreshDelay int `json:"refreshDelay"`
|
||||
// MaxRetries is the maximum number of retries
|
||||
MaxRetries int `json:"maxRetries"`
|
||||
// MaxRetriesAfterStart is the maximum number of retries after the player has started
|
||||
MaxRetriesAfterStart int `json:"maxRetriesAfterStart"`
|
||||
}
|
||||
1035
seanime-2.9.10/internal/mediaplayers/mediaplayer/repository.go
Normal file
1035
seanime-2.9.10/internal/mediaplayers/mediaplayer/repository.go
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,24 @@
|
||||
package mediaplayer
|
||||
|
||||
import (
|
||||
"github.com/stretchr/testify/assert"
|
||||
"seanime/internal/test_utils"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
func TestRepository_StartTracking(t *testing.T) {
|
||||
test_utils.InitTestProvider(t, test_utils.MediaPlayer())
|
||||
|
||||
repo := NewTestRepository(t, "mpv")
|
||||
|
||||
err := repo.Play("E:\\ANIME\\Sousou no Frieren\\[SubsPlease] Sousou no Frieren - 01 (1080p) [F02B9CEE].mkv")
|
||||
assert.NoError(t, err)
|
||||
|
||||
repo.StartTracking()
|
||||
|
||||
go func() {
|
||||
time.Sleep(5 * time.Second)
|
||||
repo.Stop()
|
||||
}()
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
package mediaplayer
|
||||
|
||||
import (
|
||||
"seanime/internal/events"
|
||||
"seanime/internal/mediaplayers/mpchc"
|
||||
"seanime/internal/mediaplayers/mpv"
|
||||
"seanime/internal/mediaplayers/vlc"
|
||||
"seanime/internal/test_utils"
|
||||
"seanime/internal/util"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func NewTestRepository(t *testing.T, defaultPlayer string) *Repository {
|
||||
if defaultPlayer == "" {
|
||||
defaultPlayer = "mpv"
|
||||
}
|
||||
test_utils.InitTestProvider(t, test_utils.MediaPlayer())
|
||||
|
||||
logger := util.NewLogger()
|
||||
WSEventManager := events.NewMockWSEventManager(logger)
|
||||
|
||||
_vlc := &vlc.VLC{
|
||||
Host: test_utils.ConfigData.Provider.VlcHost,
|
||||
Port: test_utils.ConfigData.Provider.VlcPort,
|
||||
Password: test_utils.ConfigData.Provider.VlcPassword,
|
||||
Logger: logger,
|
||||
}
|
||||
|
||||
_mpc := &mpchc.MpcHc{
|
||||
Host: test_utils.ConfigData.Provider.MpcHost,
|
||||
Port: test_utils.ConfigData.Provider.MpcPort,
|
||||
Logger: logger,
|
||||
}
|
||||
|
||||
_mpv := mpv.New(logger, "", "")
|
||||
|
||||
repo := NewRepository(&NewRepositoryOptions{
|
||||
Logger: logger,
|
||||
Default: defaultPlayer,
|
||||
WSEventManager: WSEventManager,
|
||||
Mpv: _mpv,
|
||||
VLC: _vlc,
|
||||
MpcHc: _mpc,
|
||||
})
|
||||
|
||||
return repo
|
||||
}
|
||||
Reference in New Issue
Block a user