@@ -9,38 +9,78 @@ import (
9
9
)
10
10
11
11
func TestAbsCaptureTimeExtension_Roundtrip (t * testing.T ) {
12
- t0 := time .Now ()
13
- e1 := NewAbsCaptureTimeExtension (t0 )
14
- b1 , err1 := e1 .Marshal ()
15
- if err1 != nil {
16
- t .Fatal (err1 )
17
- }
18
- var o1 AbsCaptureTimeExtension
19
- if err := o1 .Unmarshal (b1 ); err != nil {
20
- t .Fatal (err )
21
- }
22
- dt1 := o1 .CaptureTime ().Sub (t0 ).Seconds ()
23
- if dt1 < - 0.001 || dt1 > 0.001 {
24
- t .Fatalf ("timestamp differs, want %v got %v (dt=%f)" , t0 , o1 .CaptureTime (), dt1 )
25
- }
26
- if o1 .EstimatedCaptureClockOffsetDuration () != nil {
27
- t .Fatalf ("duration differs, want nil got %d" , o1 .EstimatedCaptureClockOffsetDuration ())
28
- }
12
+ t .Run ("positive captureClockOffset" , func (t * testing.T ) {
13
+ t0 := time .Now ()
14
+ e1 := NewAbsCaptureTimeExtension (t0 )
15
+ b1 , err1 := e1 .Marshal ()
16
+ if err1 != nil {
17
+ t .Fatal (err1 )
18
+ }
19
+ var o1 AbsCaptureTimeExtension
20
+ if err := o1 .Unmarshal (b1 ); err != nil {
21
+ t .Fatal (err )
22
+ }
23
+ dt1 := o1 .CaptureTime ().Sub (t0 ).Seconds ()
24
+ if dt1 < - 0.001 || dt1 > 0.001 {
25
+ t .Fatalf ("timestamp differs, want %v got %v (dt=%f)" , t0 , o1 .CaptureTime (), dt1 )
26
+ }
27
+ if o1 .EstimatedCaptureClockOffsetDuration () != nil {
28
+ t .Fatalf ("duration differs, want nil got %d" , o1 .EstimatedCaptureClockOffsetDuration ())
29
+ }
29
30
30
- e2 := NewAbsCaptureTimeExtensionWithCaptureClockOffset (t0 , 1250 * time .Millisecond )
31
- b2 , err2 := e2 .Marshal ()
32
- if err2 != nil {
33
- t .Fatal (err2 )
34
- }
35
- var o2 AbsCaptureTimeExtension
36
- if err := o2 .Unmarshal (b2 ); err != nil {
37
- t .Fatal (err )
38
- }
39
- dt2 := o1 .CaptureTime ().Sub (t0 ).Seconds ()
40
- if dt2 < - 0.001 || dt2 > 0.001 {
41
- t .Fatalf ("timestamp differs, want %v got %v (dt=%f)" , t0 , o2 .CaptureTime (), dt2 )
42
- }
43
- if * o2 .EstimatedCaptureClockOffsetDuration () != 1250 * time .Millisecond {
44
- t .Fatalf ("duration differs, want 250ms got %d" , * o2 .EstimatedCaptureClockOffsetDuration ())
45
- }
31
+ e2 := NewAbsCaptureTimeExtensionWithCaptureClockOffset (t0 , 1250 * time .Millisecond )
32
+ b2 , err2 := e2 .Marshal ()
33
+ if err2 != nil {
34
+ t .Fatal (err2 )
35
+ }
36
+ var o2 AbsCaptureTimeExtension
37
+ if err := o2 .Unmarshal (b2 ); err != nil {
38
+ t .Fatal (err )
39
+ }
40
+ dt2 := o1 .CaptureTime ().Sub (t0 ).Seconds ()
41
+ if dt2 < - 0.001 || dt2 > 0.001 {
42
+ t .Fatalf ("timestamp differs, want %v got %v (dt=%f)" , t0 , o2 .CaptureTime (), dt2 )
43
+ }
44
+ if * o2 .EstimatedCaptureClockOffsetDuration () != 1250 * time .Millisecond {
45
+ t .Fatalf ("duration differs, want 250ms got %d" , * o2 .EstimatedCaptureClockOffsetDuration ())
46
+ }
47
+ })
48
+
49
+ // This test can verify the for for the issue 247
50
+ t .Run ("negative captureClockOffset" , func (t * testing.T ) {
51
+ t0 := time .Now ()
52
+ e1 := NewAbsCaptureTimeExtension (t0 )
53
+ b1 , err1 := e1 .Marshal ()
54
+ if err1 != nil {
55
+ t .Fatal (err1 )
56
+ }
57
+ var o1 AbsCaptureTimeExtension
58
+ if err := o1 .Unmarshal (b1 ); err != nil {
59
+ t .Fatal (err )
60
+ }
61
+ dt1 := o1 .CaptureTime ().Sub (t0 ).Seconds ()
62
+ if dt1 < - 0.001 || dt1 > 0.001 {
63
+ t .Fatalf ("timestamp differs, want %v got %v (dt=%f)" , t0 , o1 .CaptureTime (), dt1 )
64
+ }
65
+ if o1 .EstimatedCaptureClockOffsetDuration () != nil {
66
+ t .Fatalf ("duration differs, want nil got %d" , o1 .EstimatedCaptureClockOffsetDuration ())
67
+ }
68
+
69
+ e2 := NewAbsCaptureTimeExtensionWithCaptureClockOffset (t0 , - 250 * time .Millisecond )
70
+ b2 , err2 := e2 .Marshal ()
71
+ if err2 != nil {
72
+ t .Fatal (err2 )
73
+ }
74
+ var o2 AbsCaptureTimeExtension
75
+ if err := o2 .Unmarshal (b2 ); err != nil {
76
+ t .Fatal (err )
77
+ }
78
+ dt2 := o1 .CaptureTime ().Sub (t0 ).Seconds ()
79
+ if dt2 < - 0.001 || dt2 > 0.001 {
80
+ t .Fatalf ("timestamp differs, want %v got %v (dt=%f)" , t0 , o2 .CaptureTime (), dt2 )
81
+ }
82
+ if * o2 .EstimatedCaptureClockOffsetDuration () != - 250 * time .Millisecond {
83
+ t .Fatalf ("duration differs, want -250ms got %v" , * o2 .EstimatedCaptureClockOffsetDuration ())
84
+ }
85
+ })
46
86
}
0 commit comments