Index: src/wp-includes/media.php
===================================================================
--- src/wp-includes/media.php	(revision 25419)
+++ src/wp-includes/media.php	(working copy)
@@ -848,6 +848,11 @@
  * @return string HTML content to display audio.
  */
 function wp_audio_shortcode( $attr ) {
+	// Allow plugins to short-circuit the shortcode.
+	$html = apply_filters( 'wp_audio_shortcode_handler', false, $attr );
+	if ( false !== $html )
+		return $html;
+
 	$post_id = get_post() ? get_the_ID() : 0;
 
 	static $instances = 0;
@@ -946,7 +951,7 @@
 
 	return apply_filters( 'wp_audio_shortcode', $html, $atts, $audio, $post_id, $library );
 }
-add_shortcode( 'audio', apply_filters( 'wp_audio_shortcode_handler', 'wp_audio_shortcode' ) );
+add_shortcode( 'audio', 'wp_audio_shortcode' );
 
 /**
  * Return a filtered list of WP-supported video formats
@@ -971,6 +976,12 @@
  */
 function wp_video_shortcode( $attr ) {
 	global $content_width;
+
+	// Allow plugins to short-circuit the shortcode.
+	$html = apply_filters( 'wp_video_shortcode_handler', false, $attr );
+	if ( false !== $html )
+		return $html;
+
 	$post_id = get_post() ? get_the_ID() : 0;
 
 	static $instances = 0;
@@ -1090,7 +1101,7 @@
 	$html = sprintf( '<div style="width: %dpx; max-width: 100%%;">%s</div>', $width, $html );
 	return apply_filters( 'wp_video_shortcode', $html, $atts, $video, $post_id, $library );
 }
-add_shortcode( 'video', apply_filters( 'wp_video_shortcode_handler', 'wp_video_shortcode' ) );
+add_shortcode( 'video', 'wp_video_shortcode' );
 
 /**
  * Display previous image link that has the same post parent.
