diff options
author | Samuel Nevala <samuel.nevala@intopalo.com> | 2015-09-23 09:41:19 +0300 |
---|---|---|
committer | Samuel Nevala <samuel.nevala@intopalo.com> | 2015-09-30 09:46:26 +0000 |
commit | 12512d557f976983117bed8a35d585a902893b0b (patch) | |
tree | 371216831ae42d72f2f5b3785d50ddfbc9c68f93 | |
parent | f6082d46326055712fe772d1973b2de94f028a08 (diff) |
Revert: "winrt: fix camera preview on Lumia 630"
This reverts commit be0a231be4ed28474271fb29f44e1eb3270f35b7. Moving
blitting away from the camera device removed the need to lock buffer.
Change-Id: I3a0e983d9ff2135e32e3e352c443ca653c1dd017
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
-rw-r--r-- | src/plugins/winrt/qwinrtcameracontrol.cpp | 43 |
1 files changed, 1 insertions, 42 deletions
diff --git a/src/plugins/winrt/qwinrtcameracontrol.cpp b/src/plugins/winrt/qwinrtcameracontrol.cpp index b503007c3..764c23860 100644 --- a/src/plugins/winrt/qwinrtcameracontrol.cpp +++ b/src/plugins/winrt/qwinrtcameracontrol.cpp @@ -55,11 +55,6 @@ #include <windows.storage.streams.h> #include <windows.media.devices.h> -#ifdef Q_OS_WINPHONE -#include <Windows.Security.ExchangeActiveSyncProvisioning.h> -using namespace ABI::Windows::Security::ExchangeActiveSyncProvisioning; -#endif - using namespace Microsoft::WRL; using namespace Microsoft::WRL::Wrappers; using namespace ABI::Windows::Devices::Enumeration; @@ -200,21 +195,9 @@ private: class MediaStream : public RuntimeClass<RuntimeClassFlags<WinRtClassicComMix>, IMFStreamSink, IMFMediaEventGenerator, IMFMediaTypeHandler> { - enum Flags { NoFlag = 0, BufferLockRequired = 1 }; - - template <int n> - static Flags bufferLockRequired(const wchar_t (&blackListName)[n], const HString &deviceModel) - { - quint32 deviceNameLength; - const wchar_t *deviceName = deviceModel.GetRawBuffer(&deviceNameLength); - if (n - 1 <= deviceNameLength && !wmemcmp(blackListName, deviceName, n - 1)) - return BufferLockRequired; - return NoFlag; - } - public: MediaStream(IMFMediaType *type, IMFMediaSink *mediaSink, QWinRTCameraVideoRendererControl *videoRenderer) - : m_type(type), m_sink(mediaSink), m_videoRenderer(videoRenderer), m_flags(NoFlag) + : m_type(type), m_sink(mediaSink), m_videoRenderer(videoRenderer) { Q_ASSERT(m_videoRenderer); @@ -225,19 +208,6 @@ public: Q_ASSERT_SUCCEEDED(hr); hr = MFAllocateSerialWorkQueue(MFASYNC_CALLBACK_QUEUE_STANDARD, &m_workQueueId); Q_ASSERT_SUCCEEDED(hr); - -#ifdef Q_OS_WINPHONE - // Workaround for certain devices which fail to blit software buffers without first mapping them - ComPtr<IEasClientDeviceInformation> deviceInfo; - hr = RoActivateInstance(HString::MakeReference(RuntimeClass_Windows_Security_ExchangeActiveSyncProvisioning_EasClientDeviceInformation).Get(), - &deviceInfo); - Q_ASSERT_SUCCEEDED(hr); - HString deviceModel; - hr = deviceInfo->get_SystemSku(deviceModel.GetAddressOf()); - Q_ASSERT_SUCCEEDED(hr); - m_flags |= bufferLockRequired(L"NOKIA RM-976", deviceModel); - m_flags |= bufferLockRequired(L"NOKIA RM-1019", deviceModel); -#endif } ~MediaStream() @@ -311,16 +281,6 @@ public: hr = buffer.As(&buffer2d); RETURN_HR_IF_FAILED("Failed to cast camera sample buffer to 2D buffer"); -#ifdef Q_OS_WINPHONE - if (m_flags & BufferLockRequired) { - BYTE *bytes; - LONG stride; - hr = buffer2d->Lock2D(&bytes, &stride); - RETURN_HR_IF_FAILED("Failed to lock camera frame buffer"); - hr = buffer2d->Unlock2D(); - RETURN_HR_IF_FAILED("Failed to unlock camera frame buffer"); - } -#endif m_pendingSamples.deref(); m_videoRenderer->queueBuffer(buffer2d.Get()); @@ -394,7 +354,6 @@ private: QWinRTCameraVideoRendererControl *m_videoRenderer; QAtomicInt m_pendingSamples; - quint32 m_flags; }; class MediaSink : public RuntimeClass<RuntimeClassFlags<WinRtClassicComMix>, IMediaExtension, IMFMediaSink, IMFClockStateSink> |