| 64 | } |
| 65 | |
| 66 | func NewDataTrack(params DataTrackParams, dti *livekit.DataTrackInfo) *DataTrack { |
| 67 | d := &DataTrack{ |
| 68 | params: params, |
| 69 | dti: dti, |
| 70 | subscribedTracks: make(map[livekit.ParticipantID]subscribedDataTrack), |
| 71 | } |
| 72 | d.logger = params.Logger.WithValues("name", d.Name(), "handle", dti.PubHandle) |
| 73 | d.downTrackSpreader = sfuutils.NewDownTrackSpreader[types.DataTrackSender](sfuutils.DownTrackSpreaderParams{ |
| 74 | Threshold: 20, |
| 75 | Logger: d.logger, |
| 76 | }) |
| 77 | d.stats = newDataTrackStats(dataTrackStatsParams{Logger: d.logger}) |
| 78 | d.logger.Infow("created data track", "dataTrackInfo", logger.Proto(d.dti)) |
| 79 | return d |
| 80 | } |
| 81 | |
| 82 | func (d *DataTrack) Close() { |
| 83 | d.logger.Infow("closing data track") |