feat: add insert sei

feat: add engine init done event
refactor: remove ring_lock
fix: retry connect to console
fix: h265 sps parse error
fix: concurrent publish

desc:
- 增加插入SEI帧的功能
- 增加engine初始化完成事件
- 删除ring_lock,DataTrack和MediaTrack共用一个ring
- 修复console无限重连导致远程服务器崩溃问题
- 修复h265 sps解析错误问题
- 修复并发发布导致的问题
This commit is contained in:
langhuihui
2023-06-15 20:04:14 +08:00
parent 1769ba1549
commit b87416b78e
24 changed files with 416 additions and 287 deletions

View File

@@ -1,6 +1,7 @@
package engine
import (
"m7s.live/engine/v4/common"
. "m7s.live/engine/v4/common"
"m7s.live/engine/v4/track"
"m7s.live/engine/v4/util"
@@ -68,15 +69,15 @@ func (w *waitTracks) Accept(t Track) bool {
suber := w.Promise.Value
switch t.(type) {
case *track.Audio:
if w.audio.Accept(t.GetBase().Name) {
if w.audio.Accept(t.GetName()) {
suber.OnEvent(t)
}
case *track.Video:
if w.video.Accept(t.GetBase().Name) {
if w.video.Accept(t.GetName()) {
suber.OnEvent(t)
}
case track.Custom:
w.data.Accept(t.GetBase().Name)
case common.Track:
w.data.Accept(t.GetName())
suber.OnEvent(t)
}
if w.NeedWait() {