Summary: | Expose video tracks for media files in the GPUProcess | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Eric Carlson <eric.carlson> | ||||||
Component: | Media | Assignee: | Eric Carlson <eric.carlson> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | commit-queue, ews-watchlist, glenn, jer.noble, peng.liu6, philipj, sergio, webkit-bug-importer | ||||||
Priority: | P2 | Keywords: | InRadar | ||||||
Version: | Other | ||||||||
Hardware: | Unspecified | ||||||||
OS: | Unspecified | ||||||||
Bug Depends on: | |||||||||
Bug Blocks: | 205123 | ||||||||
Attachments: |
|
Description
Eric Carlson
2020-01-13 18:17:45 PST
Created attachment 387605 [details]
Patch
Comment on attachment 387605 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=387605&action=review r=me with a nit and a couple fixes. > Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:423 > + ASSERT(!m_videoTracks.contains(identifier)); > + if (m_videoTracks.contains(identifier)) > + return; > + > + auto track = VideoTrackPrivateRemote::create(*this, identifier, WTFMove(configuration)); > + m_player->addVideoTrack(m_videoTracks.add(identifier, WTFMove(track)).iterator->value); Nit: This could be made ever so slightly more efficient by doing something like: auto addResult = m_videoTracks.ensure(identifier, [&] { return VideoTrackPrivateRemote::create(*this, identifier, WTFMove(configuration)); }); ASSERT(addResult.isNewEntry); if (!addResult.isNewEntry) return; m_player->addVideoTrack(addResult.iterator->value); > Source/WebKit/WebProcess/GPU/media/VideoTrackPrivateRemote.cpp:65 > + client()->idChanged(m_label); labelChanged(m_label)? > Source/WebKit/WebProcess/GPU/media/VideoTrackPrivateRemote.cpp:72 > + client()->idChanged(m_language); languageChanged(m_language)? > Source/WebKit/WebProcess/GPU/media/VideoTrackPrivateRemote.h:67 > + int m_trackIndex { -1 }; Is it too late to use Optional<int> here? Probably, but it'd be a nice clean up in a future patch. Created attachment 387613 [details]
Patch
Comment on attachment 387605 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=387605&action=review >> Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:423 >> + m_player->addVideoTrack(m_videoTracks.add(identifier, WTFMove(track)).iterator->value); > > Nit: This could be made ever so slightly more efficient by doing something like: > > auto addResult = m_videoTracks.ensure(identifier, [&] { return VideoTrackPrivateRemote::create(*this, identifier, WTFMove(configuration)); }); > ASSERT(addResult.isNewEntry); > if (!addResult.isNewEntry) > return; > m_player->addVideoTrack(addResult.iterator->value); Changed. >> Source/WebKit/WebProcess/GPU/media/VideoTrackPrivateRemote.cpp:65 >> + client()->idChanged(m_label); > > labelChanged(m_label)? Oops, changed. >> Source/WebKit/WebProcess/GPU/media/VideoTrackPrivateRemote.cpp:72 >> + client()->idChanged(m_language); > > languageChanged(m_language)? Ditto Comment on attachment 387613 [details] Patch Clearing flags on attachment: 387613 Committed r254499: <https://trac.webkit.org/changeset/254499> All reviewed patches have been landed. Closing bug. |