Files
yovision/Sense/server/cmd/sense/modules_media.go
T

31 lines
958 B
Go

package sense
import (
"os"
"yovision.local/sense/app/sense/adapters/mediamtx"
"yovision.local/sense/app/sense/media"
"yovision.local/sense/internal/platform"
)
func init() {
registerModule(func(app *platform.App) error {
var store media.Store
if app.Config().DatabaseMode == platform.DatabaseModeMemory {
store = media.NewMemoryStore()
} else {
store = media.NewPostgresStore(app.Database())
}
process := mediamtx.NewSupervisor(os.Getenv("SENSE_MEDIAMTX_BINARY"), os.Getenv("SENSE_MEDIAMTX_CONFIG"), 3)
controller := mediamtx.NewHTTPController(valueOr("SENSE_MEDIAMTX_API", "http://127.0.0.1:9997"))
app.RegisterMigration(platform.Migration{Version: 2026081203, Name: "sense_media", SQL: media.MigrationSQL})
media.NewModule(media.NewService(store, process, controller)).Register(app)
return nil
})
}
func valueOr(key, fallback string) string {
if value := os.Getenv(key); value != "" {
return value
}
return fallback
}