1 Star 1 Fork 0

fensnote/RTSPtoWeb

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
hlsFragment.go 1.02 KB
一键复制 编辑 原始数据 按行查看 历史
Andrey Semochkin 提交于 2021-05-21 16:52 +08:00 . test hls ll
package main
import (
"time"
"github.com/deepch/vdk/av"
)
//Fragment struct
type Fragment struct {
Independent bool //Fragment have i-frame (key frame)
Finish bool //Fragment Ready
Duration time.Duration //Fragment Duration
Packets []*av.Packet //Packet Slice
}
//NewFragment open new fragment
func (element *Segment) NewFragment() *Fragment {
res := &Fragment{}
element.Fragment[element.CurrentFragmentID] = res
return res
}
//GetDuration return fragment dur
func (element *Fragment) GetDuration() time.Duration {
return element.Duration
}
//WritePacket to fragment func
func (element *Fragment) WritePacket(packet *av.Packet) {
//increase fragment dur
element.Duration += packet.Duration
//Independent if have key
if packet.IsKeyFrame {
element.Independent = true
}
//append packet to slice of packet
element.Packets = append(element.Packets, packet)
}
//Close fragment block func
func (element *Fragment) Close() {
//TODO add callback func
//finalize fragment
element.Finish = true
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/fensnote/RTSPtoWeb.git
git@gitee.com:fensnote/RTSPtoWeb.git
fensnote
RTSPtoWeb
RTSPtoWeb
master

搜索帮助