diff --git a/app/services/recording_creator.rb b/app/services/recording_creator.rb
index cde51b1376a4f9a4d2f720f95912e2743d859b5b..569814f2b368f7ab9a7537960a8af115315c934a 100644
--- a/app/services/recording_creator.rb
+++ b/app/services/recording_creator.rb
@@ -68,7 +68,7 @@ class RecordingCreator
     length = 0
     if recording[:playback][:format].is_a?(Array)
       recording[:playback][:format].each do |formats|
-        length = formats[:length] if formats[:type] == 'presentation'
+        length = formats[:length] if formats[:type] == 'presentation' || formats[:type] == 'video'
       end
     else
       length = recording[:playback][:format][:length]
diff --git a/app/services/recordings_sync.rb b/app/services/recordings_sync.rb
index 7a96ac4c761cfe76160f09f032c50a1a572dda38..af50e10bdfe4df077675df6048d0914a4fdd7ef6 100644
--- a/app/services/recordings_sync.rb
+++ b/app/services/recordings_sync.rb
@@ -23,7 +23,9 @@ class RecordingsSync
   end
 
   def call
-    @room.recordings.destroy_all
+    recordings = @room.recordings
+    Format.where(recordings:).delete_all
+    recordings.delete_all
 
     recordings = BigBlueButtonApi.new(provider: @provider).get_recordings(meeting_ids: @room.meeting_id)
     recordings[:recordings].each do |recording|