@@ -261,6 +261,7 @@ def __init__(self, driver: "QtDriver") -> None:
261
261
loop_action .setChecked (self .driver .settings .loop )
262
262
loop_action .triggered .connect (lambda : self .toggle_loop ())
263
263
self .loop = loop_action
264
+ self .toggle_loop ()
264
265
265
266
# start the player muted
266
267
self .player .audioOutput ().setMuted (True )
@@ -277,6 +278,8 @@ def toggle_loop(self) -> None:
277
278
self .driver .settings .loop = self .loop .isChecked ()
278
279
self .driver .settings .save ()
279
280
281
+ self .player .setLoops (- 1 if self .driver .settings .loop else 1 )
282
+
280
283
def apply_rounded_corners (self ) -> None :
281
284
"""Apply a rounded corner effect to the video player."""
282
285
width : int = int (max (self .contentsRect ().size ().width (), 0 ))
@@ -468,12 +471,6 @@ def media_status_changed(self, status: QMediaPlayer.MediaStatus) -> None:
468
471
current = self .format_time (self .player .position ())
469
472
duration = self .format_time (self .player .duration ())
470
473
self .position_label .setText (f"{ current } / { duration } " )
471
- elif status == QMediaPlayer .MediaStatus .EndOfMedia :
472
- self .player .setPosition (0 )
473
- if self .loop .isChecked ():
474
- self .player .play ()
475
- else :
476
- self .player .pause ()
477
474
478
475
def _update_controls (self , size : QSize ) -> None :
479
476
self .scene ().setSceneRect (0 , 0 , size .width (), size .height ())
0 commit comments