Files
gortsplib/pkg/h264/dtsestimator_test.go
2021-09-23 20:03:49 +02:00

33 lines
680 B
Go

package h264
import (
"testing"
"time"
"github.com/stretchr/testify/require"
)
func TestDTSEstimator(t *testing.T) {
est := NewDTSEstimator()
// initial state
dts := est.Feed(0)
require.Equal(t, time.Duration(0), dts)
// b-frame
dts = est.Feed(1*time.Second - 200*time.Millisecond)
require.Equal(t, time.Millisecond, dts)
// b-frame
dts = est.Feed(1*time.Second - 400*time.Millisecond)
require.Equal(t, 2*time.Millisecond, dts)
// p-frame
dts = est.Feed(1 * time.Second)
require.Equal(t, 1*time.Second-400*time.Millisecond, dts)
// p-frame
dts = est.Feed(1*time.Second + 200*time.Millisecond)
require.Equal(t, 1*time.Second-399*time.Millisecond, dts)
}