Licode-ErizoClientIOS icon indicating copy to clipboard operation
Licode-ErizoClientIOS copied to clipboard

Feature - Add class ECCameraPreviewView

Open allenlinli opened this issue 6 years ago • 4 comments

Hi zevarito,

I add a new class ECCameraPreviewView to provide a mirror stream view. It's based on RTCCameraPreviewView, which is used in demo code "APP RTC Mobile iOS"

  • https://github.com/WebKit/webkit/tree/master/Source/ThirdParty/libwebrtc/Source/webrtc/examples/objc/AppRTCMobile/ios
  • https://github.com/jasonchuang/AppRTCMobileIOS

Please feel free to suggest it on code review, or open a pull request on this pull request to modify it :)


Notes:

  • I considered using "mirror" property on ECPlayerView by making RTCEAGLVideoView or its layer mirrored. I may give another PR for its implementation later.
  • I didn't provide RTCEAGLVideoViewDelegate now since I don't know how to connect it so far.
  • It's interesting that we have class RTCCameraPreviewView, which is based on AVCaptureVideoPreviewLayer (https://goo.gl/Vw355f). I wonder why do we need a capture session especially, and why do WebRTC provide RTCCameraPreviewView, not a mirror property on RTCEAGLVideoView (https://goo.gl/84u6To)? I ask for a feature request on WebRTC already (https://bugs.chromium.org/p/webrtc/issues/detail?id=9164), but I think our PR goes faster.

Cheers.

allenlinli avatar Apr 29 '18 15:04 allenlinli

@allenlinli sounds promising! give me a few days to review this, thank you for your support.

zevarito avatar May 02 '18 14:05 zevarito

Hi @allenlinli, just a few comments before actually review it.

Please keep the header paragraph, license and copyright as any other files in the project.

It's interesting that we have class RTCCameraPreviewView, which is based on AVCaptureVideoPreviewLayer(https://goo.gl/Vw355f). I wonder why do we need a capture session especially, and why do WebRTC provide RTCCameraPreviewView, not a mirror property on RTCEAGLVideoView (https://goo.gl/84u6To)? I ask for a feature request on WebRTC already (https://bugs.chromium.org/p/webrtc/issues/detail?id=9164), but I think our PR goes faster.

Well, if I understand your question the reason is that the class didn't existed before.

zevarito avatar May 02 '18 14:05 zevarito

Thanks zevarito :) , I will add the header paragraph. I found I don't know how to get video size like ECPlayerView does from RTCEAGLVideoViewDelegate, so I can not give it a scaling mode so far. You can have a look about it when you do code review.

allenlinli avatar May 03 '18 02:05 allenlinli

Sorry about not keep license and copyright correctly, I will learn about copyright later.

allenlinli avatar May 04 '18 02:05 allenlinli