@@ -376,7 +376,6 @@ def play_media(self, media, offset, present_time):
376376 ):
377377 fadeout = True
378378
379- # if track does not end in time, use show end_time instead of track duration
380379 if fadeout :
381380 self .fadeout = True
382381 self .ctrl .add_request (
@@ -397,18 +396,30 @@ def play_media(self, media, offset, present_time):
397396 )
398397 else :
399398 self .fadeout = False
400- self .ctrl .add_request (
401- start_time = self .media_start_time ,
402- media_type = media ["media_type" ],
403- uri = obplayer .Sync .media_uri (
404- media ["file_location" ], media ["filename" ]
405- ),
406- media_id = media ["media_id" ],
407- order_num = media ["order_num" ],
408- artist = media ["artist" ],
409- title = media ["title" ],
410- duration = media ["duration" ],
411- )
399+
400+ # if track does not end in time, use show end_time instead of track duration
401+ if self .end_time () and self .media_start_time + media ['duration' ] > self .end_time ():
402+ self .ctrl .add_request (
403+ start_time = self .media_start_time ,
404+ end_time = self .end_time (),
405+ media_type = media ["media_type" ],
406+ uri = obplayer .Sync .media_uri (media ["file_location" ], media ["filename" ]),
407+ media_id = media ["media_id" ],
408+ order_num = media ["order_num" ],
409+ artist = media ["artist" ],
410+ title = media ["title" ],
411+ )
412+ else :
413+ self .ctrl .add_request (
414+ start_time = self .media_start_time ,
415+ media_type = media ["media_type" ],
416+ uri = obplayer .Sync .media_uri (media ["file_location" ], media ["filename" ]),
417+ media_id = media ["media_id" ],
418+ order_num = media ["order_num" ],
419+ artist = media ["artist" ],
420+ title = media ["title" ],
421+ duration = media ["duration" ],
422+ )
412423
413424 obplayer .Sync .now_playing_update (
414425 self .show_data ["show_id" ],
0 commit comments