Merged in psi-at-start (pull request #127)

stream/mts/encoder.go: writing psi at start of stream

Approved-by: Alan Noble <anoble@gmail.com>
This commit is contained in:
Saxon Milton 2019-01-24 02:53:53 +00:00 committed by Alan Noble
commit 286ae4334b
1 changed files with 7 additions and 7 deletions

View File

@ -233,6 +233,12 @@ const (
// generate handles the incoming data and generates equivalent mpegts packets -
// sending them to the output channel.
func (e *Encoder) Encode(nalu []byte) error {
if e.psiCount <= 0 {
err := e.writePSI()
if err != nil {
return err
}
}
// Prepare PES data.
pesPkt := pes.Packet{
StreamID: streamID,
@ -262,14 +268,8 @@ func (e *Encoder) Encode(nalu []byte) error {
pkt.PCR = e.pcr()
pusi = false
}
if e.psiCount <= 0 {
err := e.writePSI()
if err != nil {
return err
}
}
e.psiCount--
_, err := e.dst.Write(pkt.Bytes(e.tsSpace[:PacketSize]))
e.psiCount--
if err != nil {
return err
}