Improve error messages for VideoFrames that are too large to upload.

Instead of just having an opaque "Not implemented reached..." for
oversize resources, state that clearly.

Additionally change an instance of an arbitrary 16k limit to match
what's in media::limits for consistency (though it seems unused).

Fixed: 1281974
Change-Id: Ic34ec4c3f139c61bf5adff5e46338b36eea44fd9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3570387
Auto-Submit: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Stephen Chenney <schenney@chromium.org>
Commit-Queue: Stephen Chenney <schenney@chromium.org>
Cr-Commit-Position: refs/heads/main@{#988760}
diff --git a/media/renderers/video_resource_updater.cc b/media/renderers/video_resource_updater.cc
index 464e1bf4..968513a3 100644
--- a/media/renderers/video_resource_updater.cc
+++ b/media/renderers/video_resource_updater.cc
@@ -1034,6 +1034,10 @@
         output_plane_resource_size.height() > max_resource_size_) {
       // This output plane has invalid geometry so return an empty external
       // resources.
+      DLOG(ERROR)
+          << "Video resource is too large to upload. Maximum dimension is "
+          << max_resource_size_ << " and resource is "
+          << output_plane_resource_size.ToString();
       return VideoFrameExternalResources();
     }
   }
diff --git a/third_party/blink/renderer/platform/graphics/DEPS b/third_party/blink/renderer/platform/graphics/DEPS
index ffe3503..66cc799 100644
--- a/third_party/blink/renderer/platform/graphics/DEPS
+++ b/third_party/blink/renderer/platform/graphics/DEPS
@@ -33,6 +33,7 @@
     "+gpu/command_buffer/common/shared_image_usage.h",
     "+gpu/command_buffer/common/sync_token.h",
     "+gpu/ipc/common/mailbox.mojom-blink.h",
+    "+media/base/limits.h",
     "+media/base/media_switches.h",
     "+media/base/video_frame.h",
     "+media/base/video_frame_pool.h",
diff --git a/third_party/blink/renderer/platform/graphics/video_frame_resource_provider.cc b/third_party/blink/renderer/platform/graphics/video_frame_resource_provider.cc
index 7fff6982..96067df 100644
--- a/third_party/blink/renderer/platform/graphics/video_frame_resource_provider.cc
+++ b/third_party/blink/renderer/platform/graphics/video_frame_resource_provider.cc
@@ -14,6 +14,7 @@
 #include "components/viz/common/quads/solid_color_draw_quad.h"
 #include "components/viz/common/quads/texture_draw_quad.h"
 #include "components/viz/common/quads/yuv_video_draw_quad.h"
+#include "media/base/limits.h"
 #include "media/base/video_frame.h"
 #include "media/renderers/video_resource_updater.h"
 #include "third_party/blink/public/platform/web_vector.h"
@@ -43,8 +44,7 @@
     max_texture_size =
         context_provider_->ContextCapabilities().max_texture_size;
   } else {
-    // Pick an arbitrary limit here similar to what hardware might.
-    max_texture_size = 16 * 1024;
+    max_texture_size = media::limits::kMaxDimension;
   }
 
   resource_updater_ = std::make_unique<media::VideoResourceUpdater>(