def run(self):
     filename = time.strftime( 'movie%Y%m%d_%H%M%S.fmf' )
     depth = FMF.format2bpp_func(self.format)
     fmf_saver = FMF.FlyMovieSaver(filename,version=3,
                                   format=self.format,
                                   bits_per_pixel=depth,
                                   )
     while 1:
         try:
             frame,timestamp = self.backlog.pop(0)
         except IndexError:
             # no frame available
             if self.quit_when_done.isSet():
                 break
             else:
                 time.sleep(0.05) # wait 50 msec
                 continue # try again
         fmf_saver.add_frame(frame,timestamp)