[webkit-reviews] review granted: [Bug 219227] [Media In GPU Process][MSE] Add the support to forward initialization segment from the GPU Process to Web processes : [Attachment 414784] Patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Dec 1 10:34:28 PST 2020


Eric Carlson <eric.carlson at apple.com> has granted Peng Liu
<peng.liu6 at apple.com>'s request for review:
Bug 219227: [Media In GPU Process][MSE] Add the support to forward
initialization segment from the GPU Process to Web processes
https://bugs.webkit.org/show_bug.cgi?id=219227

Attachment 414784: Patch

https://bugs.webkit.org/attachment.cgi?id=414784&action=review




--- Comment #5 from Eric Carlson <eric.carlson at apple.com> ---
Comment on attachment 414784
  --> https://bugs.webkit.org/attachment.cgi?id=414784
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=414784&action=review

This would have been better as two patches, one for the remote track
cleanup/simplification, and another for the new initialization segment work.

> Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp:504
> +    ASSERT(m_audioTracks.contains(&track));
> +    auto audioTrack = m_audioTracks.get(&track);
> +   
m_webProcessConnection->send(Messages::MediaPlayerPrivateRemote::RemoveRemoteAu
dioTrack(audioTrack->identifier()), m_id);

This will now crash in a release build if the track is not in the map.

> Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp:517
> +    ASSERT(m_videoTracks.contains(&track));
> +    auto videoTrack = m_videoTracks.get(&track);
> +   
m_webProcessConnection->send(Messages::MediaPlayerPrivateRemote::RemoveRemoteVi
deoTrack(videoTrack->identifier()), m_id);

Ditto

> Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp:530
>      ASSERT(m_textTracks.contains(&track));
> +    auto textTrack = m_textTracks.get(&track);
> +   
m_webProcessConnection->send(Messages::MediaPlayerPrivateRemote::RemoveRemoteTe
xtTrack(textTrack->identifier()), m_id);

Ditto

> Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.cpp:74
> +	   auto description = audioTrackInfo.description;
> +	   segmentInfo.audioTracks.append({ { description->codec(),
description->isVideo(), description->isAudio(), description->isText() },
identifier });

This would be clearer/cleaner if you defined a MediaDescriptionInfo constructor
that took a MediaDescription&.

> Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.cpp:80
> +	   auto description = videoTrackInfo.description;
> +	   segmentInfo.videoTracks.append({ { description->codec(),
description->isVideo(), description->isAudio(), description->isText() },
identifier });

Ditto

> Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.cpp:86
> +	   auto description = textTrackInfo.description;
> +	   segmentInfo.textTracks.append({ { description->codec(),
description->isVideo(), description->isAudio(), description->isText() },
identifier });

Ditto

> Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.cpp:170
> +	   info.description = adoptRef(*new
RemoteMediaDescription(audioTrack.description));

`RemoteMediaDescription::create(track.description)` or
`RemoteMediaDescription::create(track)` would be more idiomatic

> Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.cpp:177
> +	   info.description = adoptRef(*new
RemoteMediaDescription(videoTrack.description));

Ditto

> Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.cpp:184
> +	   info.description = adoptRef(*new
RemoteMediaDescription(textTrack.description));

Ditto


More information about the webkit-reviews mailing list