Package tvi.webrtc

Class Camera1Capturer

java.lang.Object
tvi.webrtc.Camera1Capturer
All Implemented Interfaces:
CameraVideoCapturer, VideoCapturer

public class Camera1Capturer extends Object
  • Constructor Details

  • Method Details

    • createCameraSession

      protected void createCameraSession(CameraSession.CreateSessionCallback createSessionCallback, CameraSession.Events events, android.content.Context applicationContext, SurfaceTextureHelper surfaceTextureHelper, String cameraName, int width, int height, int framerate)
    • initialize

      public void initialize(SurfaceTextureHelper surfaceTextureHelper, android.content.Context applicationContext, CapturerObserver capturerObserver)
      Description copied from interface: VideoCapturer
      This function is used to initialize the camera thread, the android application context, and the capture observer. It will be called only once and before any startCapture() request. The camera thread is guaranteed to be valid until dispose() is called. If the VideoCapturer wants to deliver texture frames, it should do this by rendering on the SurfaceTexture in surfaceTextureHelper, register itself as a listener, and forward the frames to CapturerObserver.onFrameCaptured(). The caller still has ownership of surfaceTextureHelper and is responsible for making sure surfaceTextureHelper.dispose() is called. This also means that the caller can reuse the SurfaceTextureHelper to initialize a new VideoCapturer once the previous VideoCapturer has been disposed.
      Specified by:
      initialize in interface VideoCapturer
    • startCapture

      public void startCapture(int width, int height, int framerate)
      Description copied from interface: VideoCapturer
      Start capturing frames in a format that is as close as possible to width x height and framerate.
      Specified by:
      startCapture in interface VideoCapturer
    • stopCapture

      public void stopCapture()
      Description copied from interface: VideoCapturer
      Stop capturing. This function should block until capture is actually stopped.
      Specified by:
      stopCapture in interface VideoCapturer
    • changeCaptureFormat

      public void changeCaptureFormat(int width, int height, int framerate)
      Specified by:
      changeCaptureFormat in interface VideoCapturer
    • dispose

      public void dispose()
      Description copied from interface: VideoCapturer
      Perform any final cleanup here. No more capturing will be done after this call.
      Specified by:
      dispose in interface VideoCapturer
    • switchCamera

      public void switchCamera(CameraVideoCapturer.CameraSwitchHandler switchEventsHandler)
      Description copied from interface: CameraVideoCapturer
      Switch camera to the next valid camera id. This can only be called while the camera is running. This function can be called from any thread.
      Specified by:
      switchCamera in interface CameraVideoCapturer
    • getCameraSession

      @Nullable public CameraSession getCameraSession()
      Returns the current camera session. This method will return null if the capturer is stopped.
    • getHandler

      @Nullable public android.os.Handler getHandler()
      Returns the camera thread Handler. This method will return null if the capturer has been disposed.
    • switchCamera

      public void switchCamera(CameraVideoCapturer.CameraSwitchHandler switchEventsHandler, String cameraName)
      Description copied from interface: CameraVideoCapturer
      Switch camera to the specified camera id. This can only be called while the camera is running. This function can be called from any thread.
      Specified by:
      switchCamera in interface CameraVideoCapturer
    • isScreencast

      public boolean isScreencast()
      Specified by:
      isScreencast in interface VideoCapturer
      Returns:
      true if-and-only-if this is a screen capturer.
    • printStackTrace

      public void printStackTrace()
    • getCameraName

      protected String getCameraName()