def METHOD_NAME(self, episode):
    if not self._check_source(episode):
        return
    new_extension = self._get_new_extension()
    old_filename = episode.local_filename(create=False)
    filename, old_extension = os.path.splitext(old_filename)
    new_filename = filename + new_extension
    cmd_param = self.CMD[self.command_without_ext][new_extension]
    cmd = [self.command] + \
        [param % {'old_file': old_filename, 'new_file': new_filename}
            for param in cmd_param]
    if gpodder.ui.win32:
        ffmpeg = util.Popen(cmd)
        ffmpeg.wait()
        stdout, stderr = ("<unavailable>",) * 2
    else:
        ffmpeg = util.Popen(cmd, stdout=subprocess.PIPE,
                stderr=subprocess.PIPE)
        stdout, stderr = ffmpeg.communicate()
    if ffmpeg.returncode == 0:
        util.rename_episode_file(episode, new_filename)
        os.remove(old_filename)
        logger.info('Converted audio file to %(format)s.' % {'format': new_extension})
        gpodder.user_extensions.on_notification_show(_('File converted'), episode.title)
    else:
        logger.warning('Error converting audio file: %s / %s', stdout, stderr)
        gpodder.user_extensions.on_notification_show(_('Conversion failed'), episode.title)