made tsGenerator implement Generator

This commit is contained in:
Saxon1 2018-05-06 17:02:51 +09:30
parent de7b80adfb
commit 94e174b641
1 changed files with 7 additions and 0 deletions

View File

@ -86,6 +86,7 @@ type tsGenerator struct {
fps uint fps uint
pesPktChan chan []byte pesPktChan chan []byte
ccMap map[int]int ccMap map[int]int
isGenerating bool
} }
// getInputChan returns a handle to the nalInputChan (inputChan) so that nal units // getInputChan returns a handle to the nalInputChan (inputChan) so that nal units
@ -117,6 +118,7 @@ func NewTsGenerator(fps uint) (g *tsGenerator) {
g.ccMap[pmtPid] = 0 g.ccMap[pmtPid] = 0
g.ccMap[videoPid] = 0 g.ccMap[videoPid] = 0
genPatAndPmt() genPatAndPmt()
g.isGenerating = false
return return
} }
@ -137,9 +139,14 @@ func (g *tsGenerator) genPcr() (pcr uint64) {
// Start is called when we would like generation to begin, i.e. we would like // Start is called when we would like generation to begin, i.e. we would like
// the generator to start taking input data and creating mpegts packets // the generator to start taking input data and creating mpegts packets
func (g *tsGenerator) Start() { func (g *tsGenerator) Start() {
g.isGenerating = true
go g.generate() go g.generate()
} }
func (g *tsGenerator) Stop() {
g.isGenerating = false
}
// getCC returns the next continuity counter for a particular pid // getCC returns the next continuity counter for a particular pid
func (g *tsGenerator) getCC(pid int) int { func (g *tsGenerator) getCC(pid int) int {
temp := g.ccMap[pid] temp := g.ccMap[pid]