@@ -279,6 +279,7 @@ impl Track {
279279 segment. timeline_offset . checked_add ( amount) . ok_or_else ( || {
280280 Error :: InvalidConfig ( "Timeline offset overflow after shifting" . to_string ( ) )
281281 } ) ?;
282+ track. update_duration ( ) ;
282283 }
283284 Track :: Audio ( track) => {
284285 let track = Arc :: make_mut ( track) ;
@@ -287,6 +288,7 @@ impl Track {
287288 segment. timeline_offset . checked_add ( amount) . ok_or_else ( || {
288289 Error :: InvalidConfig ( "Timeline offset overflow after shifting" . to_string ( ) )
289290 } ) ?;
291+ track. update_duration ( ) ;
290292 }
291293 Track :: Subtitle ( track) => {
292294 let track = Arc :: make_mut ( track) ;
@@ -295,6 +297,7 @@ impl Track {
295297 segment. timeline_offset . checked_add ( amount) . ok_or_else ( || {
296298 Error :: InvalidConfig ( "Timeline offset overflow after shifting" . to_string ( ) )
297299 } ) ?;
300+ track. update_duration ( ) ;
298301 }
299302 Track :: Overlay ( track) => {
300303 let track = Arc :: make_mut ( track) ;
@@ -303,6 +306,7 @@ impl Track {
303306 segment. timeline_offset . checked_add ( amount) . ok_or_else ( || {
304307 Error :: InvalidConfig ( "Timeline offset overflow after shifting" . to_string ( ) )
305308 } ) ?;
309+ track. update_duration ( ) ;
306310 }
307311 }
308312 Ok ( ( ) )
@@ -321,6 +325,7 @@ impl Track {
321325 segment. timeline_offset . checked_sub ( amount) . ok_or_else ( || {
322326 Error :: InvalidConfig ( "Timeline offset underflow after shifting" . to_string ( ) )
323327 } ) ?;
328+ track. update_duration ( ) ;
324329 }
325330 Track :: Audio ( track) => {
326331 let track = Arc :: make_mut ( track) ;
@@ -329,6 +334,7 @@ impl Track {
329334 segment. timeline_offset . checked_sub ( amount) . ok_or_else ( || {
330335 Error :: InvalidConfig ( "Timeline offset underflow after shifting" . to_string ( ) )
331336 } ) ?;
337+ track. update_duration ( ) ;
332338 }
333339 Track :: Subtitle ( track) => {
334340 let track = Arc :: make_mut ( track) ;
@@ -337,6 +343,7 @@ impl Track {
337343 segment. timeline_offset . checked_sub ( amount) . ok_or_else ( || {
338344 Error :: InvalidConfig ( "Timeline offset underflow after shifting" . to_string ( ) )
339345 } ) ?;
346+ track. update_duration ( ) ;
340347 }
341348 Track :: Overlay ( track) => {
342349 let track = Arc :: make_mut ( track) ;
@@ -345,6 +352,7 @@ impl Track {
345352 segment. timeline_offset . checked_sub ( amount) . ok_or_else ( || {
346353 Error :: InvalidConfig ( "Timeline offset underflow after shifting" . to_string ( ) )
347354 } ) ?;
355+ track. update_duration ( ) ;
348356 }
349357 }
350358 Ok ( ( ) )
@@ -724,6 +732,7 @@ impl Track {
724732 }
725733 }
726734
735+ Self :: update_track_duration ( self ) ;
727736 Ok ( ( ) )
728737 }
729738
@@ -744,6 +753,7 @@ impl Track {
744753 }
745754 }
746755
756+ Self :: update_track_duration ( self ) ;
747757 Ok ( ( ) )
748758 }
749759
0 commit comments