diff --git a/src/ringmainwindow.cpp b/src/ringmainwindow.cpp
index 8e7bf5f..2458c42 100644
--- a/src/ringmainwindow.cpp
+++ b/src/ringmainwindow.cpp
@@ -45,7 +45,7 @@
 #include <accountmodel.h>
 #include <audio/codecmodel.h>
 #include "dialogs.h"
-#include "videosettingsview.h"
+#include "mediasettingsview.h"
 #include <video/previewmanager.h>
 #include <personmodel.h>
 #include "utils/drawing.h"
@@ -101,7 +101,7 @@
     GtkWidget *stack_call_view;
     GtkWidget *button_placecall;
     GtkWidget *account_settings_view;
-    GtkWidget *video_settings_view;
+    GtkWidget *media_settings_view;
     GtkWidget *last_settings_view;
     GtkWidget *radiobutton_general_settings;
     GtkWidget *radiobutton_media_settings;
@@ -411,8 +411,8 @@
         gtk_widget_show(priv->hbox_settings);
 
         /* make sure to start preview if we're showing the video settings */
-        if (priv->last_settings_view == priv->video_settings_view)
-            video_settings_show_preview(VIDEO_SETTINGS_VIEW(priv->video_settings_view), TRUE);
+        if (priv->last_settings_view == priv->media_settings_view)
+            media_settings_view_show_preview(MEDIA_SETTINGS_VIEW(priv->media_settings_view), TRUE);
 
         gtk_stack_set_transition_type(GTK_STACK(priv->stack_main_view), GTK_STACK_TRANSITION_TYPE_SLIDE_UP);
         gtk_stack_set_visible_child(GTK_STACK(priv->stack_main_view), priv->last_settings_view);
@@ -437,7 +437,7 @@
         gtk_stack_set_visible_child_name(GTK_STACK(priv->stack_main_view), CALL_VIEW_NAME);
 
         /* make sure video preview is stopped, in case it was started */
-        video_settings_show_preview(VIDEO_SETTINGS_VIEW(priv->video_settings_view), FALSE);
+        media_settings_view_show_preview(MEDIA_SETTINGS_VIEW(priv->media_settings_view), FALSE);
     }
 }
 
@@ -448,12 +448,12 @@
     RingMainWindowPrivate *priv = RING_MAIN_WINDOW_GET_PRIVATE(win);
 
     if (gtk_toggle_button_get_active(navbutton)) {
-        video_settings_show_preview(VIDEO_SETTINGS_VIEW(priv->video_settings_view), TRUE);
+        media_settings_view_show_preview(MEDIA_SETTINGS_VIEW(priv->media_settings_view), TRUE);
         gtk_stack_set_transition_type(GTK_STACK(priv->stack_main_view), GTK_STACK_TRANSITION_TYPE_SLIDE_RIGHT);
         gtk_stack_set_visible_child_name(GTK_STACK(priv->stack_main_view), MEDIA_SETTINGS_VIEW_NAME);
-        priv->last_settings_view = priv->video_settings_view;
+        priv->last_settings_view = priv->media_settings_view;
     } else {
-        video_settings_show_preview(VIDEO_SETTINGS_VIEW(priv->video_settings_view), FALSE);
+        media_settings_view_show_preview(MEDIA_SETTINGS_VIEW(priv->media_settings_view), FALSE);
     }
 }
 
@@ -942,12 +942,12 @@
     priv->account_settings_view = account_view_new();
     gtk_stack_add_named(GTK_STACK(priv->stack_main_view), priv->account_settings_view, ACCOUNT_SETTINGS_VIEW_NAME);
 
-    priv->video_settings_view = video_settings_view_new();
-    gtk_stack_add_named(GTK_STACK(priv->stack_main_view), priv->video_settings_view, MEDIA_SETTINGS_VIEW_NAME);
+    priv->media_settings_view = media_settings_view_new();
+    gtk_stack_add_named(GTK_STACK(priv->stack_main_view), priv->media_settings_view, MEDIA_SETTINGS_VIEW_NAME);
 
     /* make the setting we will show first the active one */
     gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(priv->radiobutton_media_settings), TRUE);
-    priv->last_settings_view = priv->video_settings_view;
+    priv->last_settings_view = priv->media_settings_view;
 
     /* connect the settings button signals to switch settings views */
     g_signal_connect(priv->radiobutton_media_settings, "toggled", G_CALLBACK(show_media_settings), win);
