feat(media): share Browser encoding and complete local diagnostics

* fix: allow Linux interface discovery in embedded media service

* feat: expand local diagnostic reports

* research: validate independent Browser encoding producers

* feat: prototype Browser pool ownership and record remaining media gates

* feat: refine Browser shared encoders and native output reuse

* Refine carrier costs and simplify release entry points

* Close media phase and prepare piik design handoff
This commit is contained in:
AAA authored and GitHub committed 2026-09-09 20:59:44 +08:00
1 parent cfc323adce
commit c9a6642ac1
79 files changed
+3955 -1176

No files matched your search

+5 -2
View File
@@ -30,6 +30,7 @@ import (
"sync/atomic"
"time"
"github.com/TNTcraftHIM/Screener/internal/diagnostics"
"github.com/TNTcraftHIM/Screener/internal/server/config"
"github.com/TNTcraftHIM/Screener/internal/server/room"
"github.com/TNTcraftHIM/Screener/internal/server/sfu"
@@ -265,8 +266,9 @@ func (s *Server) start(ctx context.Context) (int, error) {
_ = s.stopServing(ctx)
return 0, fmt.Errorf("Screener SFU listener failed: %w", listenErr)
}
s.mediaMux = ice.NewUDPMuxDefault(ice.UDPMuxParams{UDPConn: connection})
settings := webrtc.SettingEngine{}
factory := diagnostics.PionLoggerFactory()
s.mediaMux = ice.NewUDPMuxDefault(ice.UDPMuxParams{UDPConn: connection, Logger: factory.NewLogger("sfu-udp")})
settings := webrtc.SettingEngine{LoggerFactory: factory}
settings.SetNetworkTypes([]webrtc.NetworkType{webrtc.NetworkTypeUDP4})
settings.SetICEUDPMux(s.mediaMux)
settings.SetIncludeLoopbackCandidate(net.ParseIP(configuration.ListenHost).IsLoopback())
@@ -290,6 +292,7 @@ func (s *Server) start(ctx context.Context) (int, error) {
// causes; report it rather than serving nothing in silence.
if err := s.httpServer.Serve(listener); !errors.Is(err, http.ErrServerClosed) {
s.logger.Error("Screener HTTP server stopped unexpectedly", "errorType", fmt.Sprintf("%T", err))
s.logger.Debug("http-listener-failed", diagnostics.Error(err))
}
}()
port := listener.Addr().(*net.TCPAddr).Port