 import mx.core.UIComponent;
 import mx.core.mx_internal;
 
+import spark.components.Group;
 import spark.components.mediaClasses.StreamItem;
 import spark.components.mediaClasses.StreamingVideoSource;
 import spark.events.VideoEvent;

    }
    
    //----------------------------------
    //  totalTime
    //----------------------------------
    

    override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number) : void
    {
        super.updateDisplayList(unscaledWidth, unscaledHeight);
        
        // if just showing the thumbnail, push this width/height in to the thumbnail
        // otherwise we'll push it in to the video object
        if (thumbnailSource && thumbnailGroup)
        {
            var imageWidth:Number;
            var imageHeight:Number;
            var bitmapImage:BitmapImage = thumbnailGroup.getElementAt(0) as BitmapImage;
            
            if (!maintainAspectRatio)
            {
                // if not maintainAspectRatio, the width and height of the image 
                // are what the layout wants them to be and the image is stretched or shrunken
                imageWidth = unscaledWidth;
                imageHeight = unscaledHeight;
                
                thumbnailGroup.setLayoutBoundsSize(imageWidth, imageHeight);
            }
            else
            {
                // the image dimensions need to maintain aspect ratio
                var realRatio:Number = thumbnailGroup.getPreferredBoundsWidth()/thumbnailGroup.getPreferredBoundsHeight();
                
                if (unscaledWidth / realRatio < unscaledHeight)
                {
                    // width is restrictive size
                    imageWidth = unscaledWidth;
                    imageHeight = unscaledWidth / realRatio;
                }
                else
                {
                    // height is restrictive size
                    imageWidth = unscaledHeight * realRatio;
                    imageHeight = unscaledHeight;
                }
                
                thumbnailGroup.setLayoutBoundsSize(imageWidth, imageHeight);
                
                // center the thumbnailGroup
                thumbnailGroup.x = (unscaledWidth - imageWidth)/2;
                thumbnailGroup.y = (unscaledHeight - imageHeight)/2;
            }
            
            return;
        }
        
        var flvPlayer:VideoPlayer = videoPlayer;
        
