diff --git a/media/webrtc/trunk/webrtc/modules/video_capture/windows/MediaType.cpp b/media/webrtc/trunk/webrtc/modules/video_capture/windows/MediaType.cpp index 54fc2ab7b..f06709446 100644 --- a/media/webrtc/trunk/webrtc/modules/video_capture/windows/MediaType.cpp +++ b/media/webrtc/trunk/webrtc/modules/video_capture/windows/MediaType.cpp @@ -82,7 +82,10 @@ MediaType::Assign(const AM_MEDIA_TYPE* aMediaType) Clear(); // Shallow copy. - memcpy(this, aMediaType, sizeof(AM_MEDIA_TYPE)); + memcpy(static_cast(this), aMediaType, sizeof(AM_MEDIA_TYPE)); + + if (pUnk) + pUnk->AddRef(); // Create deep copy of incoming data... if (cbFormat) { @@ -92,9 +95,6 @@ MediaType::Assign(const AM_MEDIA_TYPE* aMediaType) memcpy(pbFormat, aMediaType->pbFormat, cbFormat); } - if (pUnk) - pUnk->AddRef(); - return S_OK; }