diff --git a/media_derivatives.module b/media_derivatives.module
index 7603c5f..7c88ac4 100644
--- a/media_derivatives.module
+++ b/media_derivatives.module
@@ -896,3 +896,24 @@ function media_derivatives_settings_form($form, &$form_state) {
 
   return system_settings_form($form);
 }
+
+
+/**
+ * Updates progress information when using background_process.module
+ * to process files in background.
+ *
+ * This function will probbably be called from encoding function of
+ * a module that implements an engine for media_derivatives.
+ *
+ * @param $progress Progress information (real number on a <0.0 - 1.0> interval).
+ * @param $message Message to be displayed with progress information.
+ *
+ * @return TRUE if progress update was successful, FALSE otherwise.
+ */
+function media_derivatives_set_progress($progress, $message) {
+  if (module_exists('background_process') && $handle = background_process_current_handle()) {
+    return progress_set_progress($handle, $message, $progress);
+  }
+
+  return FALSE;
+}
