Top

rtcService.remoteVideoTrack in later SDK versions

Comments

11 comments

  • Rick LUPPINO

    This is still happening in the latest LTS version of the SDK (2.4.0). I'm adding the remote video track to the view (RTCMTLVideoView) in the didAddRemoteVideoTrack event but the stream does not render. If I fall back to the previous method as described above, the remote video stream renders correctly

    0
    Comment actions Permalink
  • Mahdi QWAREEQ

    Hello Rick,

    Could you please share the code that you are using to render with remoteVideoStream, as it's expected to have the same result when use remoteVideoTrack.

    0
    Comment actions Permalink
  • Rick LUPPINO

    This is the code that works:

    if let remoteVideoStreams = ServicesManager.sharedInstance()?.rtcService.remoteVideoStream(for: self.currentCall!) {
    if remoteVideoStreams.videoTracks.count > 0 {
    remoteVideoTrack = remoteVideoStreams.videoTracks[0]
    }
    }

    This is the code that presents a blank view/stream

    remoteVideoTrack = ServicesManager.sharedInstance()?.rtcService.remoteVideoTrack(for: self.currentCall!)

     

    0
    Comment actions Permalink
  • Mahdi QWAREEQ

    Thanks Rick, yes it's expected to get the same results for both codes.

    To compare the tracks values, could you please try to log the remoteVideoTrack in both cases, and also to log remoteVideoStreams.videoTracks to check the list of video tracks in the remoteVideoStreams.

    Also it will help if you can share the full logs when run the tests.

    0
    Comment actions Permalink
  • Rick LUPPINO

    It appears that remoteVideoTrack is indeed the same in both cases.

    VideoStream approach:

    VideoTrack approach:

     

    0
    Comment actions Permalink
  • Mahdi QWAREEQ

    Did you try both approaches in same test, since in the second approach I see that the remoteVideoTrack has different pointer value (0x0000000110dbec10)

    0
    Comment actions Permalink
  • Rick LUPPINO

    Sorry, I misunderstood. Here is the result when doing both approaches in the same test. remoteVideoTrack is from the remoteVideoStreamFor approach and remoteVideoTrack2 is from the remoteVideoTrackFor approach.

    0
    Comment actions Permalink
  • Mahdi QWAREEQ

    Could you please try to log the values using NSLog, and also if you could share the full logs from the Xcode console.

    0
    Comment actions Permalink
  • Rick LUPPINO

    The log is 100's of lines and will be too large to paste here. Is there a way to send it to you directly? via the Rainbow app maybe? Or is there a specific section you're looking for?

    NSLog here:

    2022-06-02 17:03:31.171534+0930 FitMed[42064:2955061] remoteVideoTrack: RTC_OBJC_TYPE(RTCMediaStreamTrack):

    video

    b7fe46a8-2952-4d99-aef9-a728d20ab629

    enabled

    Live

    2022-06-02 17:03:31.171984+0930 FitMed[42064:2955061] remoteVideoTrack2: RTC_OBJC_TYPE(RTCMediaStreamTrack):

    video

    b7fe46a8-2952-4d99-aef9-a728d20ab629

    enabled

    Live

     

    0
    Comment actions Permalink
  • Mahdi QWAREEQ

    It's okay, no need to share full logs for now, where from the tracks logs we see that both tracks look identical.

    When render the video track, can you try to remove the renderer first before adding the renderer to see if this could help to avoid the problem when use remoteVideoTrack.

    0
    Comment actions Permalink
  • Rick LUPPINO

    OK. I have tried that but it didn't solve the problem. I can continue to use the video stream approach for the time being.

    0
    Comment actions Permalink

Please sign in to leave a comment.

Still can't find what you need?

  • Contact Us

    Do you have any question about Rainbow? Leave us a message to get more information.

    Contact
  • Ask the Community

    Do you need help? Ask your questions to the Community and get answers from other Rainbow users.

    Post message