mirror of https://bitbucket.org/ausocean/av.git
revid: sender ring buffers flush only if write was successful
This commit is contained in:
parent
6c8b980b2f
commit
53dc629fb1
|
@ -248,10 +248,12 @@ func (s *mtsSender) Write(d []byte) (int, error) {
|
|||
if time.Now().Sub(s.prev) >= s.clipDur && s.curPid == mts.PatPid && len(s.buf) > 0 {
|
||||
s.prev = time.Now()
|
||||
_, err := s.ring.Write(s.buf)
|
||||
if err == nil {
|
||||
s.ring.Flush()
|
||||
}
|
||||
if err != nil {
|
||||
s.log(logger.Warning, pkg+"mtsSender: ringBuffer write error", "error", err.Error())
|
||||
}
|
||||
s.ring.Flush()
|
||||
s.buf = s.buf[:0]
|
||||
}
|
||||
return len(d), nil
|
||||
|
@ -356,10 +358,12 @@ func (s *rtmpSender) output() {
|
|||
// Write implements io.Writer.
|
||||
func (s *rtmpSender) Write(d []byte) (int, error) {
|
||||
_, err := s.ring.Write(d)
|
||||
if err == nil {
|
||||
s.ring.Flush()
|
||||
}
|
||||
if err != nil {
|
||||
s.log(logger.Warning, pkg+"rtmpSender: ring buffer write error", "error", err.Error())
|
||||
}
|
||||
s.ring.Flush()
|
||||
return len(d), nil
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue