Summary: | [Media In GPU Process][MSE] Add infrastructure needed to run MediaPlayerPrivateMediaSourceAVFObjC in the GPU process | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Peng Liu <peng.liu6> | ||||||||||||||||||||||||||
Component: | Media | Assignee: | Peng Liu <peng.liu6> | ||||||||||||||||||||||||||
Status: | RESOLVED FIXED | ||||||||||||||||||||||||||||
Severity: | Normal | CC: | annulen, calvaris, cdumez, cgarcia, changseok, eric.carlson, esprehn+autocc, ews-watchlist, glenn, gustavo, gyuyoung.kim, jer.noble, menard, mkwst, philipj, pnormand, ryuan.choi, sergio, vjaquez, webkit-bug-importer | ||||||||||||||||||||||||||
Priority: | P2 | Keywords: | InRadar | ||||||||||||||||||||||||||
Version: | WebKit Nightly Build | ||||||||||||||||||||||||||||
Hardware: | Unspecified | ||||||||||||||||||||||||||||
OS: | Unspecified | ||||||||||||||||||||||||||||
Attachments: |
|
Description
Peng Liu
2020-11-13 10:08:09 PST
Created attachment 414238 [details]
WIP patch
I need to rebase this patch. Created attachment 414246 [details]
Rebased WIP patch
Created attachment 414253 [details]
WIP patch: enable unified build
Created attachment 414255 [details]
WIP patch: fix WPE build failures
Created attachment 414258 [details]
WIP patch: fix WPE build failures again
Created attachment 414265 [details]
WIP patch: fix build failures
Created attachment 414276 [details]
WIP patch: fix build failures on WPE and GTK ports
Created attachment 414277 [details]
WIP patch: fix build failures on WPE and GTK ports (again)
Created attachment 414280 [details]
WIP patch: fix build failures on WPE and GTK ports
Created attachment 414285 [details]
WIP patch: fix build failures on WPE and GTK ports (update WebKit_MESSAGES_IN_FILES in CMakeLists.txt)
Created attachment 414286 [details]
Patch
Comment on attachment 414286 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=414286&action=review > Source/WebCore/platform/graphics/MediaPlayer.cpp:-480 > - m_contentType = contentType; Is this really not needed if we end up in `nextBestMediaEngine`? > Source/WebKit/GPUProcess/media/RemoteMediaSourceProxy.cpp:61 > + return { }; You could call `notImplemented()` from all of these stub methods. > Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.cpp:62 > +} Ditto > Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:637 > + if (m_remoteEngineIdentifier == MediaPlayerEnums::MediaEngineIdentifier::AVFoundationMSE) { > + auto identifier = RemoteMediaSourceIdentifier::generate(); > + connection().send(Messages::RemoteMediaPlayerProxy::LoadMediaSource(url, identifier), m_id); > + m_mediaSourcePrivate = MediaSourcePrivateRemote::create(m_manager.gpuProcessConnection(), identifier, m_manager.typeCache(m_remoteEngineIdentifier), *this, client); > + } else { You could use an early return here instead of the `else` > Source/WebKit/WebProcess/GPU/media/MediaSourcePrivateRemote.cpp:107 > +} notImplemented() > Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.cpp:85 > +} Ditto Created attachment 414304 [details]
Patch for landing
Comment on attachment 414286 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=414286&action=review >> Source/WebCore/platform/graphics/MediaPlayer.cpp:-480 >> - m_contentType = contentType; > > Is this really not needed if we end up in `nextBestMediaEngine`? Hmm, we may need it in that case. To be safe, I added the parameter back and changed MediaPlayerPrivate::load() accordingly. >> Source/WebKit/GPUProcess/media/RemoteMediaSourceProxy.cpp:61 >> + return { }; > > You could call `notImplemented()` from all of these stub methods. Fixed. >> Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.cpp:62 >> +} > > Ditto Fixed. >> Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:637 >> + } else { > > You could use an early return here instead of the `else` Right! Fixed. >> Source/WebKit/WebProcess/GPU/media/MediaSourcePrivateRemote.cpp:107 >> +} > > notImplemented() Fixed. >> Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.cpp:85 >> +} > > Ditto Fixed. Committed r269907: <https://trac.webkit.org/changeset/269907> All reviewed patches have been landed. Closing bug and clearing flags on attachment 414304 [details]. |