         // set the gateway's dimensions
         LayoutUtils.setAbsoluteLayout(videoGateway.metadata, 
             Math.floor(unscaledWidth), Math.floor(unscaledHeight));
+        
+        // need to validate the gateway immediately--otherwise we may run out of synch 
+        // as they may wait a frame by default before validating (see SDK-24880)
+        videoGateway.validateContentNow();
     }
     
     //--------------------------------------------------------------------------

        // if showing the thumbnail, just use the thumbnail's size
        if (thumbnailSource && thumbnailGroup)
        {
            intrinsicWidth = thumbnailGroup.getPreferredBoundsWidth();
            intrinsicHeight = thumbnailGroup.getPreferredBoundsHeight();
        }
        else
        {

        {
            // get what the size of our image should be
            var newSize:Point = ScaleModeUtils.getScaledSize(scaleMode, unscaledWidth, unscaledHeight, 
                thumbnailBitmapImage.getPreferredBoundsWidth(), thumbnailBitmapImage.getPreferredBoundsHeight());
            
            // set the thumbnailGroup to be the size of the component.
            // set the bitmap image to be the size it should be according to OSMF
            thumbnailGroup.setLayoutBoundsSize(unscaledWidth, unscaledHeight);
            thumbnailBitmapImage.setLayoutBoundsSize(newSize.x, newSize.y);
            
            // center the thumnail image within the thumbnail group.
            // if it's too big to fit, the thumbnail group will crop it
            thumbnailBitmapImage.x = (unscaledWidth - newSize.x)/2;
            thumbnailBitmapImage.y = (unscaledHeight - newSize.y)/2;
            
            return;
        }
