Commit 3aaac96e authored by Marco Simonelli's avatar Marco Simonelli Committed by Pier Angelo Vendrame
Browse files

BB 41459: WebRTC fails to build under mingw (Part 2)

- fixes required to build third_party/libwebrtc
parent 10244c0d
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -5,9 +5,12 @@
#ifndef DOM_MEDIA_WEBRTC_LIBWEBRTCOVERRIDES_MODULES_DESKTOP_CAPTURE_DESKTOP_CAPTURE_TYPES_H_
#define DOM_MEDIA_WEBRTC_LIBWEBRTCOVERRIDES_MODULES_DESKTOP_CAPTURE_DESKTOP_CAPTURE_TYPES_H_

#ifdef XP_WIN       // Moving this into the global namespace
typedef int pid_t;  // matching what used to be in
#endif              // video_capture_defines.h
// pid_t
#if !defined(XP_WIN) || defined(__MINGW32__)
#  include <sys/types.h>
#else
typedef int pid_t;
#endif

#include "../../third_party/libwebrtc/modules/desktop_capture/desktop_capture_types.h"

+1 −1
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@
#ifndef MODULES_AUDIO_CODING_CODECS_ISAC_MAIN_SOURCE_OS_SPECIFIC_INLINE_H_
#define MODULES_AUDIO_CODING_CODECS_ISAC_MAIN_SOURCE_OS_SPECIFIC_INLINE_H_

#if defined(WEBRTC_POSIX)
#if (defined(WEBRTC_POSIX) || defined(__MINGW32__))
#define WebRtcIsac_lrint lrint
#elif (defined(WEBRTC_ARCH_X86) && defined(WIN32))
static __inline long int WebRtcIsac_lrint(double x_dbl) {
+15 −4
Original line number Diff line number Diff line
@@ -11,8 +11,10 @@
#include "modules/desktop_capture/win/desktop_capture_utils.h"

#include <string>
#include <vector>

#include "rtc_base/strings/string_builder.h"
#include "stringapiset.h"

namespace webrtc {
namespace desktop_capture {
@@ -21,10 +23,19 @@ namespace utils {
// Generates a human-readable string from a COM error.
std::string ComErrorToString(const _com_error& error) {
  webrtc::StringBuilder string_builder;
  // Use _bstr_t to simplify the wchar to char conversion for ErrorMessage().
  _bstr_t error_message(error.ErrorMessage());
  string_builder.AppendFormat("HRESULT: 0x%08X, Message: %s", error.Error(),
                              static_cast<const char*>(error_message));
  string_builder.AppendFormat("HRESULT: 0x%08X, Message: ", error.Error());
#ifdef _UNICODE
  int size = WideCharToMultiByte(CP_UTF8, 0, error.ErrorMessage(), -1, nullptr,
                                 0, nullptr, nullptr);
  if (size > 0) {
    std::vector<char> buffer(static_cast<size_t>(size));
    WideCharToMultiByte(CP_UTF8, 0, error.ErrorMessage(), -1, buffer.data(),
                        size, nullptr, nullptr);
    string_builder << buffer.data();
  }
#else
  string_builder << error.ErrorMessage();
#endif
  return string_builder.str();
}

+2 −0
Original line number Diff line number Diff line
@@ -13,6 +13,8 @@
#include <DispatcherQueue.h>
#include <windows.graphics.capture.interop.h>
#include <windows.graphics.directX.direct3d11.interop.h>
#include <windows.graphics.h>
#include <wrl/client.h>
#include <wrl/event.h>

#include <algorithm>
+1 −1
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@
#ifndef MODULES_DESKTOP_CAPTURE_WIN_WINDOW_CAPTURE_UTILS_H_
#define MODULES_DESKTOP_CAPTURE_WIN_WINDOW_CAPTURE_UTILS_H_

#include <shlobj_core.h>
#include <shlobj.h>
#include <windows.h>
#include <wrl/client.h>

Loading