diff --git a/media.module b/media.module
index 0b0d63a..0f20be8 100644
--- a/media.module
+++ b/media.module
@@ -450,6 +450,20 @@ function media_element_info_alter(&$types) {
 }
 
 /**
+ * Implements hook_file_mimetype_mapping().
+ *
+ * m4v mime is missing from file.mimetypes.inc. See: http://drupal.org/node/1290486
+ */
+function media_file_mimetype_mapping_alter(&$mapping) {
+  // Add m4v to the core mime listing
+  $mapping['mimetypes'][] = 'video/x-m4v';
+  end($mapping['mimetypes']);
+  $key = key($mapping['mimetypes']);
+  $mapping['extensions']['m4v'] = $key;
+  reset($mapping['mimetypes']);
+}
+
+/**
  * Implements hook_media_display_types().
  *
  * This is used to display media in different ways on the admin section.
@@ -1140,7 +1154,7 @@ function media_ctools_plugin_api($owner, $api) {
 
 /**
  * Helper function to get a list of hidden stream wrappers.
- * 
+ *
  * This is used in several places to filter queries for media so that files in
  * temporary:// don't show up.
  */
