<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def start_stop_video(self):
 """Start and stop the video, and change the button. """

        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()