mirror of
https://github.com/aler9/gortsplib
synced 2025-10-04 14:52:46 +08:00
33 lines
680 B
Go
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)
|
|
}
|