Changeset 246918 in webkit
- Timestamp:
- Jun 27, 2019 7:10:09 PM (5 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r246917 r246918 1 2019-06-27 Fujii Hironori <Hironori.Fujii@sony.com> 2 3 [WinCairo][MediaFoundation] Stop using soft linking for Media Foundation 4 https://bugs.webkit.org/show_bug.cgi?id=198783 5 6 Reviewed by Alex Christensen. 7 8 WinCairo is supporting Windows 7 or newer. It doesn't need soft 9 linking anymore. 10 11 No new tests because there is no behavior change. 12 13 * PlatformWinCairo.cmake: Added libraries to WebCore_LIBRARIES. 14 * platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp: 15 (WebCore::mimeTypeCache): 16 (WebCore::MediaPlayerPrivateMediaFoundation::setRate): 17 (WebCore::MediaPlayerPrivateMediaFoundation::setAllChannelVolumes): 18 (WebCore::MediaPlayerPrivateMediaFoundation::createSession): 19 (WebCore::MediaPlayerPrivateMediaFoundation::endSession): 20 (WebCore::MediaPlayerPrivateMediaFoundation::startCreateMediaSource): 21 (WebCore::MediaPlayerPrivateMediaFoundation::createTopologyFromSource): 22 (WebCore::MediaPlayerPrivateMediaFoundation::createOutputNode): 23 (WebCore::MediaPlayerPrivateMediaFoundation::createSourceStreamNode): 24 (WebCore::MediaPlayerPrivateMediaFoundation::updateReadyState): 25 (WebCore::MediaPlayerPrivateMediaFoundation::videoDisplay): 26 (WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::createOptimalVideoType): 27 (WebCore::MediaPlayerPrivateMediaFoundation::VideoScheduler::setFrameRate): 28 (WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::presentSample): 29 (WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::initializeD3D): 30 (WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::createD3DSample): 31 1 32 2019-06-27 Basuke Suzuki <Basuke.Suzuki@sony.com> 2 33 -
trunk/Source/WebCore/PlatformWinCairo.cmake
r246076 r246918 5 5 6 6 list(APPEND WebCore_PRIVATE_INCLUDE_DIRECTORIES 7 "${DirectX_INCLUDE_DIRS}"8 7 "${WEBKIT_LIBRARIES_DIR}/include" 9 8 "${WEBCORE_DIR}/loader/archive/cf" … … 39 38 40 39 list(APPEND WebCore_LIBRARIES 41 ${DirectX_LIBRARIES} 40 D3d9 41 Mf 42 Mfplat 42 43 comctl32 43 44 crypt32 45 dxva2 46 evr 44 47 iphlpapi 45 48 rpcrt4 -
trunk/Source/WebCore/platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp
r246302 r246918 39 39 #include <cairo.h> 40 40 #endif 41 #include <wtf/SoftLinking.h>42 41 43 42 #if USE(MEDIA_FOUNDATION) … … 45 44 #include <wtf/MainThread.h> 46 45 #include <wtf/NeverDestroyed.h> 47 48 SOFT_LINK_LIBRARY(Mf);49 SOFT_LINK_OPTIONAL(Mf, MFCreateSourceResolver, HRESULT, STDAPICALLTYPE, (IMFSourceResolver**));50 SOFT_LINK_OPTIONAL(Mf, MFCreateMediaSession, HRESULT, STDAPICALLTYPE, (IMFAttributes*, IMFMediaSession**));51 SOFT_LINK_OPTIONAL(Mf, MFCreateTopology, HRESULT, STDAPICALLTYPE, (IMFTopology**));52 SOFT_LINK_OPTIONAL(Mf, MFCreateTopologyNode, HRESULT, STDAPICALLTYPE, (MF_TOPOLOGY_TYPE, IMFTopologyNode**));53 SOFT_LINK_OPTIONAL(Mf, MFGetService, HRESULT, STDAPICALLTYPE, (IUnknown*, REFGUID, REFIID, LPVOID*));54 SOFT_LINK_OPTIONAL(Mf, MFCreateAudioRendererActivate, HRESULT, STDAPICALLTYPE, (IMFActivate**));55 SOFT_LINK_OPTIONAL(Mf, MFCreateVideoRendererActivate, HRESULT, STDAPICALLTYPE, (HWND, IMFActivate**));56 SOFT_LINK_OPTIONAL(Mf, MFGetSupportedMimeTypes, HRESULT, STDAPICALLTYPE, (PROPVARIANT*));57 58 SOFT_LINK_LIBRARY(Mfplat);59 SOFT_LINK_OPTIONAL(Mfplat, MFStartup, HRESULT, STDAPICALLTYPE, (ULONG, DWORD));60 SOFT_LINK_OPTIONAL(Mfplat, MFShutdown, HRESULT, STDAPICALLTYPE, ());61 SOFT_LINK_OPTIONAL(Mfplat, MFCreateMediaType, HRESULT, STDAPICALLTYPE, (IMFMediaType**));62 SOFT_LINK_OPTIONAL(Mfplat, MFFrameRateToAverageTimePerFrame, HRESULT, STDAPICALLTYPE, (UINT32, UINT32, UINT64*));63 64 SOFT_LINK_LIBRARY(evr);65 SOFT_LINK_OPTIONAL(evr, MFCreateVideoSampleFromSurface, HRESULT, STDAPICALLTYPE, (IUnknown*, IMFSample**));66 67 SOFT_LINK_LIBRARY(Dxva2);68 SOFT_LINK_OPTIONAL(Dxva2, DXVA2CreateDirect3DDeviceManager9, HRESULT, STDAPICALLTYPE, (UINT*, IDirect3DDeviceManager9**));69 70 SOFT_LINK_LIBRARY(D3d9);71 SOFT_LINK_OPTIONAL(D3d9, Direct3DCreate9Ex, HRESULT, STDAPICALLTYPE, (UINT, IDirect3D9Ex**));72 46 73 47 // MFSamplePresenterSampleCounter … … 128 102 cachedTypes.get().add(String("video/mp4")); 129 103 130 if (!MFGetSupportedMimeTypesPtr())131 return cachedTypes;132 133 104 PROPVARIANT propVarMimeTypeArray; 134 105 PropVariantInit(&propVarMimeTypeArray); 135 106 136 HRESULT hr = MFGetSupportedMimeTypes Ptr()(&propVarMimeTypeArray);107 HRESULT hr = MFGetSupportedMimeTypes(&propVarMimeTypeArray); 137 108 138 109 if (SUCCEEDED(hr)) { … … 248 219 COMPtr<IMFRateControl> rateControl; 249 220 250 HRESULT hr = MFGetService Ptr()(m_mediaSession.get(), MF_RATE_CONTROL_SERVICE, IID_IMFRateControl, (void**)&rateControl);221 HRESULT hr = MFGetService(m_mediaSession.get(), MF_RATE_CONTROL_SERVICE, IID_IMFRateControl, (void**)&rateControl); 251 222 252 223 if (!SUCCEEDED(hr)) … … 290 261 bool MediaPlayerPrivateMediaFoundation::setAllChannelVolumes(float volume) 291 262 { 292 if (!MFGetServicePtr())293 return false;294 295 263 COMPtr<IMFAudioStreamVolume> audioVolume; 296 if (!SUCCEEDED(MFGetService Ptr()(m_mediaSession.get(), MR_STREAM_VOLUME_SERVICE, __uuidof(IMFAudioStreamVolume), (void **)&audioVolume)))264 if (!SUCCEEDED(MFGetService(m_mediaSession.get(), MR_STREAM_VOLUME_SERVICE, __uuidof(IMFAudioStreamVolume), (void **)&audioVolume))) 297 265 return false; 298 266 … … 382 350 bool MediaPlayerPrivateMediaFoundation::createSession() 383 351 { 384 if (!MFStartupPtr() || !MFCreateMediaSessionPtr()) 385 return false; 386 387 if (FAILED(MFStartupPtr()(MF_VERSION, MFSTARTUP_FULL))) 388 return false; 389 390 if (FAILED(MFCreateMediaSessionPtr()(nullptr, &m_mediaSession))) 352 if (FAILED(MFStartup(MF_VERSION, MFSTARTUP_FULL))) 353 return false; 354 355 if (FAILED(MFCreateMediaSession(nullptr, &m_mediaSession))) 391 356 return false; 392 357 … … 423 388 } 424 389 425 if (!MFShutdownPtr()) 426 return false; 427 428 HRESULT hr = MFShutdownPtr()(); 390 HRESULT hr = MFShutdown(); 429 391 ASSERT_UNUSED(hr, SUCCEEDED(hr)); 430 392 … … 434 396 bool MediaPlayerPrivateMediaFoundation::startCreateMediaSource(const String& url) 435 397 { 436 if (!MFCreateSourceResolverPtr()) 437 return false; 438 439 if (FAILED(MFCreateSourceResolverPtr()(&m_sourceResolver))) 398 if (FAILED(MFCreateSourceResolver(&m_sourceResolver))) 440 399 return false; 441 400 … … 565 524 bool MediaPlayerPrivateMediaFoundation::createTopologyFromSource() 566 525 { 567 if (!MFCreateTopology Ptr())526 if (!MFCreateTopology) 568 527 return false; 569 528 570 529 // Create a new topology. 571 if (FAILED(MFCreateTopology Ptr()(&m_topology)))530 if (FAILED(MFCreateTopology(&m_topology))) 572 531 return false; 573 532 … … 678 637 bool MediaPlayerPrivateMediaFoundation::createOutputNode(COMPtr<IMFStreamDescriptor> sourceSD, COMPtr<IMFTopologyNode>& node) 679 638 { 680 if (!MFCreateTopologyNodePtr() || !MFCreateAudioRendererActivatePtr() || !MFCreateVideoRendererActivatePtr())681 return false;682 683 639 if (!sourceSD) 684 640 return false; … … 699 655 700 656 // Create a downstream node. 701 if (FAILED(MFCreateTopologyNode Ptr()(MF_TOPOLOGY_OUTPUT_NODE, &node)))657 if (FAILED(MFCreateTopologyNode(MF_TOPOLOGY_OUTPUT_NODE, &node))) 702 658 return false; 703 659 … … 706 662 if (MFMediaType_Audio == guidMajorType) { 707 663 // Create the audio renderer. 708 if (FAILED(MFCreateAudioRendererActivate Ptr()(&rendererActivate)))664 if (FAILED(MFCreateAudioRendererActivate(&rendererActivate))) 709 665 return false; 710 666 m_hasAudio = true; 711 667 } else if (MFMediaType_Video == guidMajorType) { 712 668 // Create the video renderer. 713 if (FAILED(MFCreateVideoRendererActivate Ptr()(nullptr, &rendererActivate)))669 if (FAILED(MFCreateVideoRendererActivate(nullptr, &rendererActivate))) 714 670 return false; 715 671 … … 731 687 bool MediaPlayerPrivateMediaFoundation::createSourceStreamNode(COMPtr<IMFStreamDescriptor> sourceSD, COMPtr<IMFTopologyNode>& node) 732 688 { 733 if (!MFCreateTopologyNodePtr())734 return false;735 736 689 if (!m_mediaSource || !m_sourcePD || !sourceSD) 737 690 return false; 738 691 739 692 // Create the source-stream node. 740 HRESULT hr = MFCreateTopologyNode Ptr()(MF_TOPOLOGY_SOURCESTREAM_NODE, &node);693 HRESULT hr = MFCreateTopologyNode(MF_TOPOLOGY_SOURCESTREAM_NODE, &node); 741 694 if (FAILED(hr)) 742 695 return false; … … 762 715 void MediaPlayerPrivateMediaFoundation::updateReadyState() 763 716 { 764 if (!MFGetServicePtr())765 return;766 767 717 COMPtr<IPropertyStore> prop; 768 718 769 719 // Get the property store from the media session. 770 HRESULT hr = MFGetService Ptr()(m_mediaSession.get(), MFNETSOURCE_STATISTICS_SERVICE, IID_PPV_ARGS(&prop));720 HRESULT hr = MFGetService(m_mediaSession.get(), MFNETSOURCE_STATISTICS_SERVICE, IID_PPV_ARGS(&prop)); 771 721 772 722 if (FAILED(hr)) … … 808 758 return m_videoDisplay; 809 759 810 if (!MFGetServicePtr()) 811 return nullptr; 812 813 MFGetServicePtr()(m_mediaSession.get(), MR_VIDEO_RENDER_SERVICE, IID_PPV_ARGS(&m_videoDisplay)); 760 MFGetService(m_mediaSession.get(), MR_VIDEO_RENDER_SERVICE, IID_PPV_ARGS(&m_videoDisplay)); 814 761 815 762 return m_videoDisplay; … … 1779 1726 { 1780 1727 COMPtr<IMFMediaType> optimalVideoType; 1781 HRESULT hr = MFCreateMediaType Ptr()(&optimalVideoType);1728 HRESULT hr = MFCreateMediaType(&optimalVideoType); 1782 1729 if (FAILED(hr)) 1783 1730 return hr; … … 2302 2249 { 2303 2250 UINT64 avgTimePerFrame = 0; 2304 MFFrameRateToAverageTimePerFrame Ptr()(fps.Numerator, fps.Denominator, &avgTimePerFrame);2251 MFFrameRateToAverageTimePerFrame(fps.Numerator, fps.Denominator, &avgTimePerFrame); 2305 2252 2306 2253 m_frameDuration = (MFTIME)avgTimePerFrame; … … 2800 2747 COMPtr<IMFMediaBuffer> buffer; 2801 2748 hr = sample->GetBufferByIndex(0, &buffer); 2802 hr = MFGetService Ptr()(buffer.get(), MR_BUFFER_SERVICE, __uuidof(IDirect3DSurface9), (void**)&surface);2749 hr = MFGetService(buffer.get(), MR_BUFFER_SERVICE, __uuidof(IDirect3DSurface9), (void**)&surface); 2803 2750 } else if (m_surfaceRepaint) { 2804 2751 // Use the last surface. … … 2904 2851 ASSERT(!m_deviceManager); 2905 2852 2906 HRESULT hr = Direct3DCreate9Ex Ptr()(D3D_SDK_VERSION, &m_direct3D9);2907 if (FAILED(hr)) 2908 return hr; 2909 2910 return DXVA2CreateDirect3DDeviceManager9 Ptr()(&m_deviceResetToken, &m_deviceManager);2853 HRESULT hr = Direct3DCreate9Ex(D3D_SDK_VERSION, &m_direct3D9); 2854 if (FAILED(hr)) 2855 return hr; 2856 2857 return DXVA2CreateDirect3DDeviceManager9(&m_deviceResetToken, &m_deviceManager); 2911 2858 } 2912 2859 … … 2991 2938 return hr; 2992 2939 2993 return MFCreateVideoSampleFromSurface Ptr()(surface.get(), &videoSample);2940 return MFCreateVideoSampleFromSurface(surface.get(), &videoSample); 2994 2941 } 2995 2942
Note: See TracChangeset
for help on using the changeset viewer.