Files
monibuca/plugin/srt/pkg/receiver.go
langhuihui 8a9fffb987 refactor: frame converter and mp4 track improvements
- Refactor frame converter implementation
- Update mp4 track to use ICodex
- General refactoring and code improvements

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-28 19:55:37 +08:00

38 lines
633 B
Go

package srt
import (
"bytes"
srt "github.com/datarhei/gosrt"
mpegts "m7s.live/v5/pkg/format/ts"
"m7s.live/v5/pkg/task"
"m7s.live/v5/pkg/util"
)
type Receiver struct {
task.Task
mpegts.MpegTsStream
srt.Conn
}
func (r *Receiver) Start() error {
r.Allocator = util.NewScalableMemoryAllocator(1 << util.MinPowerOf2)
r.Using(r.Allocator, r.Publisher)
r.OnStop(r.Conn.Close)
return nil
}
func (r *Receiver) Run() error {
for !r.IsStopped() {
packet, err := r.ReadPacket()
if err != nil {
return err
}
err = r.Feed(bytes.NewReader(packet.Data()))
if err != nil {
return err
}
}
return r.StopReason()
}