? myspace_regexp.patch
Index: video_filter.codecs.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/video_filter/video_filter.codecs.inc,v
retrieving revision 1.1.2.8.2.18
diff -u -r1.1.2.8.2.18 video_filter.codecs.inc
--- video_filter.codecs.inc	10 Dec 2010 14:40:38 -0000	1.1.2.8.2.18
+++ video_filter.codecs.inc	17 Feb 2011 14:38:03 -0000
@@ -110,10 +110,15 @@
   );
   $codecs['myspace'] = array(
     'name' => t('MySpace'),
-    'sample_url' => 'http://vids.myspace.com/index.cfm?fuseaction=vids.individual&VideoID=1234567890',
+    'sample_url' => 'http://myspace.com/video/vid/1234567890',
     'callback' => 'video_filter_myspace',
-    'regexp' => '/vids\.myspace\.com\/.*VideoID=([0-9]+)/i',
-    'ratio' => 425 / 320,
+    'regexp' => array(
+      '/vids\.myspace\.com\/.*VideoID=([0-9]+)/i',
+      '/myspace\.com\/video\/([a-z])+\/([0-9]+)/i',
+      '/myspace\.com\/video\/([a-z0-9\-_]+)\/([a-z0-9\-_]+)\/([a-z0-9]+)/i',
+      '/myspace\.com\/([a-z0-9\-_]+)\/videos\/([a-z0-9\-_]+)\/([a-z0-9]+)/i',
+    ),
+    'ratio' => 620 / 400,
     'control_bar_height' => 40,
   );
   $codecs['capped'] = array(
@@ -282,7 +287,9 @@
 }
 
 function video_filter_myspace($video) {
-  $video['source'] = 'http://mediaservices.myspace.com/services/media/embed.aspx/m='.$video['codec']['matches'][1];
+  // The last match is the ID we need.
+  $last = count($video['codec']['matches']);
+  $video['source'] = 'http://mediaservices.myspace.com/services/media/embed.aspx/m='.$video['codec']['matches'][$last-1];
 
   return video_filter_flash($video, $params);
 }
