3333import static org .junit .Assert .assertNotNull ;
3434import static org .junit .Assert .assertTrue ;
3535
36-
3736public class VideoTimeCodeMetaTest {
3837
3938 @ BeforeClass
@@ -59,29 +58,29 @@ public void testVideoWithoutTimeCodeMeta() {
5958 @ Test
6059 public void testVideoTimeCodeMetaPal () {
6160 // timecodestamper is available since 1.10
62- TestAssumptions .requireGstVersion (1 ,10 );
61+ TestAssumptions .requireGstVersion (1 , 10 );
6362 TestAssumptions .requireElement ("timecodestamper" );
6463 SampleTester .test (sample -> {
6564 Buffer buffer = sample .getBuffer ();
6665 if (Gst .testVersion (1 , 14 )) {
6766 assertTrue ("Video should contains timecode meta" , buffer .hasMeta (VideoTimeCodeMeta .API ));
6867 }
69- VideoTimeCodeMeta meta = buffer .getMeta (VideoTimeCodeMeta .API );
70- assertNotNull (meta );
71- VideoTimeCode timeCode = meta .getTimeCode ();
72-
73- //first frame 00:00:00:00
74- assertEquals (0 , timeCode .getHours ());
75- assertEquals (0 , timeCode .getMinutes ());
76- assertEquals (0 , timeCode .getSeconds ());
77- assertEquals (0 , timeCode .getFrames ());
78-
79- VideoTimeCodeConfig timeCodeConfig = timeCode .getConfig ();
80- // PAL standard 25/1
81- assertEquals (25 , timeCodeConfig .getNumerator ());
82- assertEquals (1 , timeCodeConfig .getDenominator ());
83- assertTrue (timeCodeConfig .getFlags ().isEmpty ());
84-
68+ try ( VideoTimeCodeMeta meta = buffer .getMeta (VideoTimeCodeMeta .API )) {
69+ assertNotNull (meta );
70+ VideoTimeCode timeCode = meta .getTimeCode ();
71+
72+ //first frame 00:00:00:00
73+ assertEquals (0 , timeCode .getHours ());
74+ assertEquals (0 , timeCode .getMinutes ());
75+ assertEquals (0 , timeCode .getSeconds ());
76+ assertEquals (0 , timeCode .getFrames ());
77+
78+ VideoTimeCodeConfig timeCodeConfig = timeCode .getConfig ();
79+ // PAL standard 25/1
80+ assertEquals (25 , timeCodeConfig .getNumerator ());
81+ assertEquals (1 , timeCodeConfig .getDenominator ());
82+ assertTrue (timeCodeConfig .getFlags ().isEmpty ());
83+ }
8584 }, "videotestsrc ! video/x-raw,framerate=25/1 ! timecodestamper ! videoconvert ! appsink name=myappsink" );
8685 }
8786
@@ -95,22 +94,22 @@ public void testVideoTimeCodeNTSCDrop() {
9594 if (Gst .testVersion (1 , 14 )) {
9695 assertTrue ("Video should contains timecode meta" , buffer .hasMeta (VideoTimeCodeMeta .API ));
9796 }
98- VideoTimeCodeMeta meta = buffer .getMeta (VideoTimeCodeMeta .API );
99- assertNotNull (meta );
100- VideoTimeCode timeCode = meta .getTimeCode ();
101-
102- //first frame 00:00:00;00
103- assertEquals (0 , timeCode .getHours ());
104- assertEquals (0 , timeCode .getMinutes ());
105- assertEquals (0 , timeCode .getSeconds ());
106- assertEquals (0 , timeCode .getFrames ());
107-
108- VideoTimeCodeConfig timeCodeConfig = timeCode .getConfig ();
109- // NTSC drop standard 30000/1001
110- assertEquals (30000 , timeCodeConfig .getNumerator ());
111- assertEquals (1001 , timeCodeConfig .getDenominator ());
112- assertTrue (timeCodeConfig .getFlags ().contains (GST_VIDEO_TIME_CODE_FLAGS_DROP_FRAME ));
113-
97+ try ( VideoTimeCodeMeta meta = buffer .getMeta (VideoTimeCodeMeta .API )) {
98+ assertNotNull (meta );
99+ VideoTimeCode timeCode = meta .getTimeCode ();
100+
101+ //first frame 00:00:00;00
102+ assertEquals (0 , timeCode .getHours ());
103+ assertEquals (0 , timeCode .getMinutes ());
104+ assertEquals (0 , timeCode .getSeconds ());
105+ assertEquals (0 , timeCode .getFrames ());
106+
107+ VideoTimeCodeConfig timeCodeConfig = timeCode .getConfig ();
108+ // NTSC drop standard 30000/1001
109+ assertEquals (30000 , timeCodeConfig .getNumerator ());
110+ assertEquals (1001 , timeCodeConfig .getDenominator ());
111+ assertTrue (timeCodeConfig .getFlags ().contains (GST_VIDEO_TIME_CODE_FLAGS_DROP_FRAME ));
112+ }
114113 }, "videotestsrc ! video/x-raw,framerate=30000/1001 ! timecodestamper drop-frame=true ! videoconvert ! appsink name=myappsink" );
115114 }
116115
@@ -127,22 +126,22 @@ public void testVideoTimeCodeNTSCDropFrame() {
127126 if (Gst .testVersion (1 , 14 )) {
128127 assertTrue ("Video should contains timecode meta" , buffer .hasMeta (VideoTimeCodeMeta .API ));
129128 }
130- VideoTimeCodeMeta meta = buffer .getMeta (VideoTimeCodeMeta .API );
131- assertNotNull (meta );
132- VideoTimeCode timeCode = meta .getTimeCode ();
133-
134- //first frame 00:00:00;29
135- assertEquals (0 , timeCode .getHours ());
136- assertEquals (0 , timeCode .getMinutes ());
137- assertEquals (0 , timeCode .getSeconds ());
138- assertEquals (29 , timeCode .getFrames ());
139-
140- VideoTimeCodeConfig timeCodeConfig = timeCode .getConfig ();
141- // NTSC drop standard 30000/1001
142- assertEquals (30000 , timeCodeConfig .getNumerator ());
143- assertEquals (1001 , timeCodeConfig .getDenominator ());
144- assertTrue (timeCodeConfig .getFlags ().contains (GST_VIDEO_TIME_CODE_FLAGS_DROP_FRAME ));
145-
129+ try ( VideoTimeCodeMeta meta = buffer .getMeta (VideoTimeCodeMeta .API )) {
130+ assertNotNull (meta );
131+ VideoTimeCode timeCode = meta .getTimeCode ();
132+
133+ //first frame 00:00:00;29
134+ assertEquals (0 , timeCode .getHours ());
135+ assertEquals (0 , timeCode .getMinutes ());
136+ assertEquals (0 , timeCode .getSeconds ());
137+ assertEquals (29 , timeCode .getFrames ());
138+
139+ VideoTimeCodeConfig timeCodeConfig = timeCode .getConfig ();
140+ // NTSC drop standard 30000/1001
141+ assertEquals (30000 , timeCodeConfig .getNumerator ());
142+ assertEquals (1001 , timeCodeConfig .getDenominator ());
143+ assertTrue (timeCodeConfig .getFlags ().contains (GST_VIDEO_TIME_CODE_FLAGS_DROP_FRAME ));
144+ }
146145 }, "videotestsrc ! video/x-raw,framerate=30000/1001 ! videoconvert ! timecodestamper drop-frame=true ! videoconvert ! appsink name=myappsink" , 29 );
147146 }
148147
@@ -156,22 +155,22 @@ public void testVideoTimeCodeNTSCNonDrop() {
156155 if (Gst .testVersion (1 , 14 )) {
157156 assertTrue ("Video should contains timecode meta" , buffer .hasMeta (VideoTimeCodeMeta .API ));
158157 }
159- VideoTimeCodeMeta meta = buffer .getMeta (VideoTimeCodeMeta .API );
160- assertNotNull (meta );
161- VideoTimeCode timeCode = meta .getTimeCode ();
162-
163- //first frame 00:00:00:00
164- assertEquals (0 , timeCode .getHours ());
165- assertEquals (0 , timeCode .getMinutes ());
166- assertEquals (0 , timeCode .getSeconds ());
167- assertEquals (0 , timeCode .getFrames ());
168-
169- VideoTimeCodeConfig timeCodeConfig = timeCode .getConfig ();
170- // NTSC drop standard 30/1
171- assertEquals (30 , timeCodeConfig .getNumerator ());
172- assertEquals (1 , timeCodeConfig .getDenominator ());
173- assertTrue (timeCodeConfig .getFlags ().isEmpty ());
174-
158+ try ( VideoTimeCodeMeta meta = buffer .getMeta (VideoTimeCodeMeta .API )) {
159+ assertNotNull (meta );
160+ VideoTimeCode timeCode = meta .getTimeCode ();
161+
162+ //first frame 00:00:00:00
163+ assertEquals (0 , timeCode .getHours ());
164+ assertEquals (0 , timeCode .getMinutes ());
165+ assertEquals (0 , timeCode .getSeconds ());
166+ assertEquals (0 , timeCode .getFrames ());
167+
168+ VideoTimeCodeConfig timeCodeConfig = timeCode .getConfig ();
169+ // NTSC drop standard 30/1
170+ assertEquals (30 , timeCodeConfig .getNumerator ());
171+ assertEquals (1 , timeCodeConfig .getDenominator ());
172+ assertTrue (timeCodeConfig .getFlags ().isEmpty ());
173+ }
175174 }, "videotestsrc ! video/x-raw,framerate=30/1 ! timecodestamper ! videoconvert ! appsink name=myappsink" );
176175 }
177176}
0 commit comments