[Merge to M80] - [DirectX] Fix vector allocation for raw data handling.

std::vector::reserve has the effect to reserve space in memory but does
not affect the result of size(), which keeps on returning 0. If size is
0, however, data() might either return null or not [1].

This CL fixes the use of reserve() in favour of resize() which
effectively allocates the memory in the vector and updates its size.
This way size() returns a value bigger than 0 and data() returns a valid
pointer.

[1] https://en.cppreference.com/w/cpp/container/vector/data

TBR=jamiewalch@chromium.org

(cherry picked from commit b52f7fb5933a098c48f907bb488ef3097c1c4bd9)

No-Try: True
Fixed: chromium:1059764
Change-Id: Ida3dbe643710c6895f09b9da87b0075b7d7b28df
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170470
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Armando Miraglia <armax@webrtc.org>
Cr-Original-Commit-Position: refs/heads/master@{#30836}
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171505
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Armando Miraglia <armax@webrtc.org>
Cr-Commit-Position: refs/branch-heads/3987@{#7}
Cr-Branched-From: 1256d9bcac500d962e884231b0360d8c3eb3ef02-refs/heads/master@{#30022}
diff --git a/modules/desktop_capture/win/dxgi_output_duplicator.cc b/modules/desktop_capture/win/dxgi_output_duplicator.cc
index db7ba25..2d56b9a 100644
--- a/modules/desktop_capture/win/dxgi_output_duplicator.cc
+++ b/modules/desktop_capture/win/dxgi_output_duplicator.cc
@@ -275,7 +275,7 @@
 
   if (metadata_.capacity() < frame_info.TotalMetadataBufferSize) {
     metadata_.clear();  // Avoid data copy
-    metadata_.reserve(frame_info.TotalMetadataBufferSize);
+    metadata_.resize(frame_info.TotalMetadataBufferSize);
   }
 
   UINT buff_size = 0;