Make EncodeResultCallback rvalue ref-qualified.

Bug: b/336978562
Change-Id: Icc9be7a5ad095304bf68e19ffedca77d8bc1810c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349266
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42285}
diff --git a/api/video_codecs/libaom_av1_encoder_factory.cc b/api/video_codecs/libaom_av1_encoder_factory.cc
index 7e3c583..29c4eb6 100644
--- a/api/video_codecs/libaom_av1_encoder_factory.cc
+++ b/api/video_codecs/libaom_av1_encoder_factory.cc
@@ -14,6 +14,7 @@
 #include <map>
 #include <memory>
 #include <string>
+#include <utility>
 #include <vector>
 
 #include "absl/algorithm/container.h"
@@ -619,7 +620,7 @@
 void DoErrorCallback(std::vector<FrameEncodeSettings>& frame_settings) {
   for (FrameEncodeSettings& settings : frame_settings) {
     if (settings.result_callback) {
-      settings.result_callback({});
+      std::move(settings.result_callback)({});
       // To avoid invoking any callback more than once.
       settings.result_callback = {};
     }
@@ -788,7 +789,7 @@
       return;
     } else {
       RTC_CHECK(settings.result_callback);
-      settings.result_callback(result);
+      std::move(settings.result_callback)(result);
       // To avoid invoking any callback more than once.
       settings.result_callback = {};
     }
diff --git a/api/video_codecs/video_encoder_interface.h b/api/video_codecs/video_encoder_interface.h
index 55ef558..de7c118 100644
--- a/api/video_codecs/video_encoder_interface.h
+++ b/api/video_codecs/video_encoder_interface.h
@@ -52,7 +52,7 @@
   };
   using EncodeResult = absl::variant<EncodingError, EncodedData>;
   using EncodeResultCallback =
-      absl::AnyInvocable<void(const EncodeResult& result)>;
+      absl::AnyInvocable<void(const EncodeResult& result) &&>;
 
   struct FrameEncodeSettings {
     struct Cbr {