code: def start_stop_video(self):
          
          if self.parent.info.dataset is None:
              self.parent.statusBar().showMessage('No Dataset Loaded')
              return
  
          # & is added automatically by PyQt, it seems
          if 'Start' in self.idx_button.text().replace('&', ''):
              try:
                  self.update_video()
              except IndexError as er:
                  lg.debug(er)
                  self.idx_button.setText('Not Available / Start')
                  return
              except OSError as er:
                  lg.debug(er)
                  self.idx_button.setText('NO VIDEO for this dataset')
                  return
  
              self.idx_button.setText('Stop')
  
          elif 'Stop' in self.idx_button.text():
              self.idx_button.setText('Start')
              self.medialistplayer.stop()
              self.t.stop()
docs: Start and stop the video, and change the button.