docs: def refresh_config(self):
          '''
          __NB__ This *must* be called from a *different* thread than the GUI/Gtk thread.
          '''
          from gi.repository import Clutter, Gst, GstVideo, ClutterGst
          from path_helpers import path
          from .warp import bounding_box_from_allocation
  
          if self.config_requested is not None:
              sink = ClutterGst.VideoSink.new(self.pipeline_actor.texture)
              sink.set_property('sync', True)
              sink.set_property('qos', True)
  
              if self.record_path is not None:
                  record_path = path(self.record_path)
                  warp_path = record_path.parent.joinpath(record_path.namebase +
                                                          '.h5')
                  # Parent allocation
                  parent_bbox = \
                      bounding_box_from_allocation(self.warp_actor
                                                   .get_allocation_geometry())
                  # Child allocation
                  child_bbox = \
                      bounding_box_from_allocation(self.warp_actor.actor
                                                   .get_allocation_geometry())
                  common_settings = dict(format='table', data_columns=True,
                                         complib='zlib', complevel=6)
                  parent_bbox.to_hdf(str(warp_path), '/shape/parent',
                                     **common_settings)
                  child_bbox.to_hdf(str(warp_path), '/shape/child',
                                    **common_settings)
                  self.warp_actor.parent_corners.to_hdf(str(warp_path),
                                                        '/corners/parent',
                                                        **common_settings)
                  self.warp_actor.child_corners.to_hdf(str(warp_path),
                                                       '/corners/child',
                                                       **common_settings)
              self.pipeline_manager.set_config(self.config_requested,
                                               record_path=self.record_path,
                                               sink=sink)
              self.config_requested = None
          return True