mirror of
https://github.com/DeBrosOfficial/orama.git
synced 2026-03-17 05:13:01 +00:00
fix: initialize SFU manager for WebRTC group calls
This commit is contained in:
parent
0c41158ff9
commit
426243fef2
@ -20,6 +20,7 @@ import (
|
|||||||
"github.com/DeBrosOfficial/network/pkg/gateway/handlers/storage"
|
"github.com/DeBrosOfficial/network/pkg/gateway/handlers/storage"
|
||||||
"github.com/DeBrosOfficial/network/pkg/gateway/sfu"
|
"github.com/DeBrosOfficial/network/pkg/gateway/sfu"
|
||||||
"github.com/DeBrosOfficial/network/pkg/ipfs"
|
"github.com/DeBrosOfficial/network/pkg/ipfs"
|
||||||
|
"github.com/pion/webrtc/v4"
|
||||||
"github.com/DeBrosOfficial/network/pkg/logging"
|
"github.com/DeBrosOfficial/network/pkg/logging"
|
||||||
"github.com/DeBrosOfficial/network/pkg/olric"
|
"github.com/DeBrosOfficial/network/pkg/olric"
|
||||||
"github.com/DeBrosOfficial/network/pkg/rqlite"
|
"github.com/DeBrosOfficial/network/pkg/rqlite"
|
||||||
@ -176,6 +177,30 @@ func New(logger *logging.ColoredLogger, cfg *Config) (*Gateway, error) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Initialize SFU manager for WebRTC group calls
|
||||||
|
if cfg.SFU != nil && cfg.SFU.Enabled {
|
||||||
|
sfuCfg := &sfu.Config{
|
||||||
|
MaxParticipants: cfg.SFU.MaxParticipants,
|
||||||
|
MediaTimeout: cfg.SFU.MediaTimeout,
|
||||||
|
}
|
||||||
|
// Add ICE servers from SFU config
|
||||||
|
for _, ice := range cfg.SFU.ICEServers {
|
||||||
|
sfuCfg.ICEServers = append(sfuCfg.ICEServers, webrtc.ICEServer{
|
||||||
|
URLs: ice.URLs,
|
||||||
|
Username: ice.Username,
|
||||||
|
Credential: ice.Credential,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
sfuMgr, err := sfu.NewRoomManager(sfuCfg, logger.Logger)
|
||||||
|
if err != nil {
|
||||||
|
logger.ComponentError(logging.ComponentGeneral, "Failed to initialize SFU manager", zap.Error(err))
|
||||||
|
} else {
|
||||||
|
gw.sfuManager = sfuMgr
|
||||||
|
logger.ComponentInfo(logging.ComponentGeneral, "SFU manager initialized",
|
||||||
|
zap.Int("max_participants", sfuCfg.MaxParticipants))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Start background Olric reconnection if initial connection failed
|
// Start background Olric reconnection if initial connection failed
|
||||||
if deps.OlricClient == nil {
|
if deps.OlricClient == nil {
|
||||||
olricCfg := olric.Config{
|
olricCfg := olric.Config{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user