Index: media.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/media/media.module,v
retrieving revision 1.63
diff -u -p -r1.63 media.module
--- media.module	5 Jan 2011 22:07:07 -0000	1.63
+++ media.module	13 Jan 2011 00:23:49 -0000
@@ -956,7 +956,7 @@ function media_element_process(&$element
     '#type' => 'item',
     '#markup' => empty($media) ? '' : drupal_render(media_get_thumbnail_preview($media)),
     '#prefix' => '<div class="preview launcher">',
-    '#suffix' => '</div><a class="launcher" href="#">' . t(media_variable_get('field_select_media_text')) . '</a>',
+    '#suffix' => '</div><a class="launcher" href="#">' . t(media_variable_get('field_select_media_text')) . '</a><a class="remove" href="#">' . t(media_variable_get('field_remove_media_text')) . '</a>',
   );
 
   /**
Index: css/media.css
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/media/css/media.css,v
retrieving revision 1.22
diff -u -p -r1.22 media.css
--- css/media.css	26 Oct 2010 14:55:15 -0000	1.22
+++ css/media.css	13 Jan 2011 00:23:49 -0000
@@ -78,7 +78,8 @@
   display:none;
 }
 
-.media-widget a.launcher {
+.media-widget a.launcher,
+.media-widget a.remove {
   -moz-border-radius: 20px 20px 20px 20px;
   background: url("../images/buttons.png") repeat-x scroll 0 0 transparent;
   border-color: #E4E4E4 #D2D2D2 #B4B4B4;
@@ -94,6 +95,11 @@
   text-align: center;
 }
 
+.media-widget a.remove {
+  margin-left: 15px;
+  display: none;
+}
+
 /* @end */
 
 /* @group media item */
Index: includes/media.variables.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/media/includes/media.variables.inc,v
retrieving revision 1.12
diff -u -p -r1.12 media.variables.inc
--- includes/media.variables.inc	26 Oct 2010 13:36:36 -0000	1.12
+++ includes/media.variables.inc	13 Jan 2011 00:23:49 -0000
@@ -125,6 +125,7 @@ function media_variable_default($name = 
       'wysiwyg_allowed_attributes' => array('height', 'width', 'hspace', 'vspace', 'border', 'align', 'style', 'alt', 'title', 'class', 'id'),
 
       'field_select_media_text' => 'Select media',
+      'field_remove_media_text' => 'Remove media',
 
       // Name of the theme to use in media popup dialogs
       'dialog_get_theme_name' => 'seven',
Index: javascript/media.js
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/media/javascript/media.js,v
retrieving revision 1.6
diff -u -p -r1.6 media.js
--- javascript/media.js	16 Nov 2010 05:34:08 -0000	1.6
+++ javascript/media.js	13 Jan 2011 00:23:49 -0000
@@ -24,6 +24,13 @@ Drupal.behaviors.mediaElement = {
       //options = Drupal.settings.media.fields[this.id];
       var fidField = $('.fid', this);
       var previewField = $('.preview', this);
+      var removeButton = $('.remove', this); // Actually a link, but looks like a button.
+
+      // Show the Remove button if there's an already selected media.
+      if (fidField.val() != 0) {
+        removeButton.show();
+      }
+
       // When someone clicks the link to pick media (or clicks on an existing thumbnail)
       $('.launcher', this).bind('click', function () {
         // Launch the browser, providing the following callback function
@@ -35,12 +42,25 @@ Drupal.behaviors.mediaElement = {
           var mediaFile = mediaFiles[0];
           // Set the value of the filefield fid (hidden).
           fidField.val(mediaFile.fid);
-          // Set the preview field HTML
+          // Set the preview field HTML.
           previewField.html(mediaFile.preview);
+          // Show the Remove button.
+          removeButton.show();
         }, globalOptions);
         return false;
       });
 
+      // When someone clicks the Remove button.
+      $('.remove', this).bind('click', function () {
+        // Set the value of the filefield fid (hidden).
+        fidField.val(0);
+        // Set the preview field HTML.
+        previewField.html('');
+        // Hide the Remove button.
+        removeButton.hide();
+        return false;
+      });
+
       $('.media-edit-link', this).bind('click', function () {
         var fid = fidField.val();
         if (fid) {
