decouple websocket and RTC nodes, prep for distributed

This commit is contained in:
David Zhao
2021-01-16 10:37:38 -08:00
parent 9a10a57b30
commit 9064f6ade1
61 changed files with 2683 additions and 1361 deletions
+2 -2
View File
@@ -168,7 +168,7 @@ func (c *RTCClient) Run() error {
c.conn.SetCloseHandler(func(code int, text string) error {
// when closed, stop connection
logger.GetLogger().Infow("connection closed", "code", code, "text", text)
logger.Infow("connection closed", "code", code, "text", text)
c.Stop()
return nil
})
@@ -519,7 +519,7 @@ func (c *RTCClient) logLoop() {
for !c.paused && c.reader != c.writer {
val, _ := c.reader.Value.(*logEntry)
if val != nil {
logger.GetLogger().Infow(val.msg, val.args...)
logger.Infow(val.msg, val.args...)
}
// advance reader until writer
c.reader = c.reader.Next()
+7 -7
View File
@@ -54,7 +54,7 @@ func (w *TrackWriter) Start() error {
return err
}
logger.GetLogger().Infow("starting track writer",
logger.Infow("starting track writer",
"track", w.track.ID(),
"mime", w.mime)
switch w.mime {
@@ -106,13 +106,13 @@ func (w *TrackWriter) writeOgg() {
}
pageData, pageHeader, err := w.ogg.ParseNextPage()
if err == io.EOF {
logger.GetLogger().Infow("all audio samples parsed and sent")
logger.Infow("all audio samples parsed and sent")
w.onWriteComplete()
return
}
if err != nil {
logger.GetLogger().Errorw("could not parse ogg page", "err", err)
logger.Errorw("could not parse ogg page", "err", err)
return
}
@@ -122,7 +122,7 @@ func (w *TrackWriter) writeOgg() {
sampleDuration := time.Duration((sampleCount/48000)*1000) * time.Millisecond
if err = w.track.WriteSample(media.Sample{Data: pageData, Duration: sampleDuration}); err != nil {
logger.GetLogger().Errorw("could not write sample", "err", err)
logger.Errorw("could not write sample", "err", err)
return
}
@@ -140,19 +140,19 @@ func (w *TrackWriter) writeVP8() {
}
frame, _, err := w.ivf.ParseNextFrame()
if err == io.EOF {
logger.GetLogger().Infow("all video frames parsed and sent")
logger.Infow("all video frames parsed and sent")
w.onWriteComplete()
return
}
if err != nil {
logger.GetLogger().Errorw("could not parse VP8 frame", "err", err)
logger.Errorw("could not parse VP8 frame", "err", err)
return
}
time.Sleep(sleepTime)
if err = w.track.WriteSample(media.Sample{Data: frame, Duration: time.Second}); err != nil {
logger.GetLogger().Errorw("could not write sample", "err", err)
logger.Errorw("could not write sample", "err", err)
return
}
}