mirror of https://bitbucket.org/ausocean/av.git
stream/mts/encoder.go: writing psi at start of stream
This commit is contained in:
parent
1ec23badcc
commit
df146cfb17
|
@ -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
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue