Index: contributions/modules/feedapi_mapper/mappers/feedapi_mapper_video_cck.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/feedapi_mapper/mappers/Attic/feedapi_mapper_video_cck.inc,v
retrieving revision 1.1.2.1
diff -u -p -r1.1.2.1 feedapi_mapper_video_cck.inc
--- contributions/modules/feedapi_mapper/mappers/feedapi_mapper_video_cck.inc	28 Feb 2008 23:13:29 -0000	1.1.2.1
+++ contributions/modules/feedapi_mapper/mappers/feedapi_mapper_video_cck.inc	14 Mar 2008 14:26:09 -0000
@@ -27,10 +27,29 @@ function video_cck_feedapi_mapper($op, $
       return TRUE;
     case 'map':
       // Here is where the actual mapping happens.
-      $items = $node->$field_name; // $field -> $items
-      foreach ($feed_element as $element) {
-        $items[]['embed'] = $element['link'];
+      $items = $node->$field_name;
+      if (is_string($feed_element) && valid_url($feed_element)) {
+        // straight link usually from options->original_url or options->guid
+        $items[]['embed'] = $feed_element;
       }
+      elseif (is_array($feed_element)) {
+        foreach ($feed_element as $element) {
+          if (is_array($element)) {
+            // is this an options->enclosure-media->type array
+            if (valid_url($element['link'])) {
+              $items[]['embed'] = $element['link'];
+            }
+            elseif (valid_url($element['player'])) {
+              $items[]['embed'] = $element['player'];
+            }
+          }
+          elseif (is_string($element) && valid_url($element)) {
+            // not sure when this would be called but for completeness
+            $items[]['embed'] = $element;
+          }
+        }
+      }
+      // drupal_set_message(count($items) .' - [0][embed] = '. $items[0]['embed']);
       video_cck_field('submit', $node, $field, $items, FALSE, FALSE); 
       $node->$field_name = $items;
       return $node;
