|
|
Chromium Code Reviews|
Created:
4 years ago by emircan Modified:
4 years ago CC:
chromium-reviews, mlamouri+watch-content_chromium.org, posciak+watch_chromium.org, jam, feature-media-reviews_chromium.org, darin-cc_chromium.org, mcasas+watch+vc_chromium.org Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
DescriptionReset WebMediaPlayerMS video layer on rotation change
Incoming video stream's rotation might change during the session, i.e.
when the remote client changes between front/back camera. This CL adds
checks to find when rotation changes and resets cc_blink::WebLayerImpl with
the updated rotation information.
BUG=webrtc:6768, 669573
TEST=Added RotationChange unittest. Tested H264 AppRTC call between Nexus 5
and Linux while changing front/back camera.
Committed: https://crrev.com/f79979ea2cff435564fe96a89b24533855f77213
Cr-Commit-Position: refs/heads/master@{#435113}
Patch Set 1 #
Total comments: 4
Patch Set 2 : #
Total comments: 2
Patch Set 3 : #
Messages
Total messages: 42 (31 generated)
Description was changed from ========== rotation fix BUG= ========== to ========== rotation fix BUG=webrtc:6768 TEST=Added RotationChange unittest. ==========
Description was changed from ========== rotation fix BUG=webrtc:6768 TEST=Added RotationChange unittest. ========== to ========== Reset video layer on rotation change Incoming video stream's rotation might change during the session, i.e. when the remote client changes between front/back camera. This CL adds checks to find when rotation changes and resets cc_blink::WebLayerImpl with the updated rotation information. BUG=webrtc:6768 TEST=Added RotationChange unittest. Tested H264 AppRTC call between Nexus 5 and Linux while changing front/back camera. ==========
emircan@chromium.org changed reviewers: + dalecurtis@chromium.org
emircan@chromium.org changed reviewers: - dalecurtis@chromium.org
emircan@chromium.org changed reviewers: + mcasas@chromium.org, qiangchen@chromium.org
PTAL.
The CQ bit was checked by emircan@chromium.org to run a CQ dry run
Description was changed from ========== Reset video layer on rotation change Incoming video stream's rotation might change during the session, i.e. when the remote client changes between front/back camera. This CL adds checks to find when rotation changes and resets cc_blink::WebLayerImpl with the updated rotation information. BUG=webrtc:6768 TEST=Added RotationChange unittest. Tested H264 AppRTC call between Nexus 5 and Linux while changing front/back camera. ========== to ========== Reset WebMediaPlayerMS video layer on rotation change Incoming video stream's rotation might change during the session, i.e. when the remote client changes between front/back camera. This CL adds checks to find when rotation changes and resets cc_blink::WebLayerImpl with the updated rotation information. BUG=webrtc:6768 TEST=Added RotationChange unittest. Tested H264 AppRTC call between Nexus 5 and Linux while changing front/back camera. ==========
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
If this issue pertains to Chrome it should be filed as a crbug and not a webrtc bug. https://codereview.chromium.org/2536893002/diff/1/content/renderer/media/webm... File content/renderer/media/webmediaplayer_ms.cc (right): https://codereview.chromium.org/2536893002/diff/1/content/renderer/media/webm... content/renderer/media/webmediaplayer_ms.cc:641: void WebMediaPlayerMS::ResetVideoLayer(media::VideoRotation video_rotation, You could remove OnRotationChanged(), moving l.636 video_rotation_ = video_rotation; to WebMediaPlayerMS::ResetVideoLayer(), and deleting it from l.618 (and adapting l.108 Task method of course). WDYT?
The CQ bit was checked by emircan@chromium.org to run a CQ dry run
Description was changed from ========== Reset WebMediaPlayerMS video layer on rotation change Incoming video stream's rotation might change during the session, i.e. when the remote client changes between front/back camera. This CL adds checks to find when rotation changes and resets cc_blink::WebLayerImpl with the updated rotation information. BUG=webrtc:6768 TEST=Added RotationChange unittest. Tested H264 AppRTC call between Nexus 5 and Linux while changing front/back camera. ========== to ========== Reset WebMediaPlayerMS video layer on rotation change Incoming video stream's rotation might change during the session, i.e. when the remote client changes between front/back camera. This CL adds checks to find when rotation changes and resets cc_blink::WebLayerImpl with the updated rotation information. BUG=webrtc:6768,669573 TEST=Added RotationChange unittest. Tested H264 AppRTC call between Nexus 5 and Linux while changing front/back camera. ==========
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
I added the crbug as well. We need it to request merge to older versions also. https://codereview.chromium.org/2536893002/diff/1/content/renderer/media/webm... File content/renderer/media/webmediaplayer_ms.cc (right): https://codereview.chromium.org/2536893002/diff/1/content/renderer/media/webm... content/renderer/media/webmediaplayer_ms.cc:641: void WebMediaPlayerMS::ResetVideoLayer(media::VideoRotation video_rotation, On 2016/11/29 01:04:31, mcasas wrote: > You could remove OnRotationChanged(), moving l.636 > video_rotation_ = video_rotation; > > to WebMediaPlayerMS::ResetVideoLayer(), and deleting > it from l.618 (and adapting l.108 Task method of course). > > WDYT? Done. I was trying to be consistent with On*Changed observer pattern. However, I dont have a strong feeling since |video_rotation_| is actually tied to |video_weblayer_| lifetime.
lgtm with some minor comments. https://codereview.chromium.org/2536893002/diff/1/content/renderer/media/webm... File content/renderer/media/webmediaplayer_ms.cc (right): https://codereview.chromium.org/2536893002/diff/1/content/renderer/media/webm... content/renderer/media/webmediaplayer_ms.cc:641: void WebMediaPlayerMS::ResetVideoLayer(media::VideoRotation video_rotation, On 2016/11/29 18:19:21, emircan wrote: > On 2016/11/29 01:04:31, mcasas wrote: > > You could remove OnRotationChanged(), moving l.636 > > video_rotation_ = video_rotation; > > > > to WebMediaPlayerMS::ResetVideoLayer(), and deleting > > it from l.618 (and adapting l.108 Task method of course). > > > > WDYT? > > Done. I was trying to be consistent with On*Changed observer pattern. However, I > dont have a strong feeling since |video_rotation_| is actually tied to > |video_weblayer_| lifetime. Yeah, the names are misleading since they don't actually listen to anything, they are just methods to be posted to... maybe s/ResetVideoLayer/OnRotationChanged/ to keep the naming convention? https://codereview.chromium.org/2536893002/diff/20001/content/renderer/media/... File content/renderer/media/webmediaplayer_ms.cc (right): https://codereview.chromium.org/2536893002/diff/20001/content/renderer/media/... content/renderer/media/webmediaplayer_ms.cc:640: video_weblayer_->SetContentsOpaqueIsFixed(true); The opacity is set in OnOpacityChanged() which is pinged from l.102 when and if it changes, however is also set here. I wonder if it's bc of the setWebLayer() caching |video_weblayer_| or something. In any case, this might benefit from a little comment explaining if and why the overlap is needed.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
The CQ bit was checked by emircan@chromium.org to run a CQ dry run
https://codereview.chromium.org/2536893002/diff/1/content/renderer/media/webm... File content/renderer/media/webmediaplayer_ms.cc (right): https://codereview.chromium.org/2536893002/diff/1/content/renderer/media/webm... content/renderer/media/webmediaplayer_ms.cc:641: void WebMediaPlayerMS::ResetVideoLayer(media::VideoRotation video_rotation, On 2016/11/29 19:23:42, mcasas wrote: > On 2016/11/29 18:19:21, emircan wrote: > > On 2016/11/29 01:04:31, mcasas wrote: > > > You could remove OnRotationChanged(), moving l.636 > > > video_rotation_ = video_rotation; > > > > > > to WebMediaPlayerMS::ResetVideoLayer(), and deleting > > > it from l.618 (and adapting l.108 Task method of course). > > > > > > WDYT? > > > > Done. I was trying to be consistent with On*Changed observer pattern. However, > I > > dont have a strong feeling since |video_rotation_| is actually tied to > > |video_weblayer_| lifetime. > > Yeah, the names are misleading since they don't > actually listen to anything, they are just methods > to be posted to... maybe > s/ResetVideoLayer/OnRotationChanged/ to keep > the naming convention? Done. https://codereview.chromium.org/2536893002/diff/20001/content/renderer/media/... File content/renderer/media/webmediaplayer_ms.cc (right): https://codereview.chromium.org/2536893002/diff/20001/content/renderer/media/... content/renderer/media/webmediaplayer_ms.cc:640: video_weblayer_->SetContentsOpaqueIsFixed(true); On 2016/11/29 19:23:42, mcasas wrote: > The opacity is set in OnOpacityChanged() which is pinged from l.102 > when and if it changes, however is also set here. I wonder if it's bc > of the setWebLayer() caching |video_weblayer_| or something. In > any case, this might benefit from a little comment explaining if > and why the overlap is needed. We can change opacity dynamically while the session is going on using SetContentsOpaque() but I couldn't find a way to change rotation except resetting weblayer. l.102 wouldn't be called with the first frame. I will put that clause in else to make it clear and add a comment.
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: mac_chromium_compile_dbg_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_comp...)
The CQ bit was checked by emircan@chromium.org to run a CQ dry run
Patchset #3 (id:40001) has been deleted
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
lgtm
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
The CQ bit was checked by emircan@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from mcasas@chromium.org Link to the patchset: https://codereview.chromium.org/2536893002/#ps60001 (title: " ")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL)
The CQ bit was checked by emircan@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
CQ is committing da patch.
Bot data: {"patchset_id": 60001, "attempt_start_ts": 1480465470736860,
"parent_rev": "11017147ef7ac4f894b4215966fcac26390a99d9", "commit_rev":
"d8be50455f87977a07d4856ae6bb070c6b002e3d"}
Message was sent while issue was closed.
Description was changed from ========== Reset WebMediaPlayerMS video layer on rotation change Incoming video stream's rotation might change during the session, i.e. when the remote client changes between front/back camera. This CL adds checks to find when rotation changes and resets cc_blink::WebLayerImpl with the updated rotation information. BUG=webrtc:6768,669573 TEST=Added RotationChange unittest. Tested H264 AppRTC call between Nexus 5 and Linux while changing front/back camera. ========== to ========== Reset WebMediaPlayerMS video layer on rotation change Incoming video stream's rotation might change during the session, i.e. when the remote client changes between front/back camera. This CL adds checks to find when rotation changes and resets cc_blink::WebLayerImpl with the updated rotation information. BUG=webrtc:6768,669573 TEST=Added RotationChange unittest. Tested H264 AppRTC call between Nexus 5 and Linux while changing front/back camera. ==========
Message was sent while issue was closed.
Committed patchset #3 (id:60001)
Message was sent while issue was closed.
Description was changed from ========== Reset WebMediaPlayerMS video layer on rotation change Incoming video stream's rotation might change during the session, i.e. when the remote client changes between front/back camera. This CL adds checks to find when rotation changes and resets cc_blink::WebLayerImpl with the updated rotation information. BUG=webrtc:6768,669573 TEST=Added RotationChange unittest. Tested H264 AppRTC call between Nexus 5 and Linux while changing front/back camera. ========== to ========== Reset WebMediaPlayerMS video layer on rotation change Incoming video stream's rotation might change during the session, i.e. when the remote client changes between front/back camera. This CL adds checks to find when rotation changes and resets cc_blink::WebLayerImpl with the updated rotation information. BUG=webrtc:6768,669573 TEST=Added RotationChange unittest. Tested H264 AppRTC call between Nexus 5 and Linux while changing front/back camera. Committed: https://crrev.com/f79979ea2cff435564fe96a89b24533855f77213 Cr-Commit-Position: refs/heads/master@{#435113} ==========
Message was sent while issue was closed.
Patchset 3 (id:??) landed as https://crrev.com/f79979ea2cff435564fe96a89b24533855f77213 Cr-Commit-Position: refs/heads/master@{#435113} |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
