• Andrea Gianarda's avatar
    Screensharing signalling feature. · a1c2f8a2
    Andrea Gianarda authored
    A client can ebale screensharing by setting the isScreensharing
    flag in the call parameters to TRUE. This change will only take into
    effect if the call and the conference support video capabilities.
    As far as the signalling is concerned, the SDK will add or modify the
    content of the main video stream to "slides" if the call is in a
    conference.
    
    Screensharing can be enabled for any layout the client is in.
    
    In case one or more clients wish to share the screen, the last one
    making its request will actually share the screen.
    
    The application has the responsability to set the video source
    descriptor corresponding to the screen, window or program to share. This
    can be done eithe rbefore or after updating the call parameters.
    Similarly, once the video scharing session ends, the application must
    change the video source descriptor.
    
    The person who shared its screen can avoid sharing the image of its
    camera by diabling the camera in the call parameters
    
    The application will be notified if the screensharing request was
    accepted through a dedicated callback
    
    Assign label to local streams
    
    Implement limit to number of thumbnail streams requested. In other word,
    this limit applies to the participants whose role is speaker and they
    send their video stream to the server only.
    For example if the limit is 10 and in a conference there are 50
    participants but only 10 that send their video stream to the conference
    server, all clients will be requesting these 10 streams. However, once
    another one turns its camera on, then all participant will send a
    reINVITE to the conference server to stop receiving any thumbnail stream
    The threshold can be configured by calling
    linphone_core_set_conference_max_minature
    
    Copy t= field from the offer
    Split main and thumbnail stream availabilities
    Ignore louder speaker callback as long as a participant is screensharing and notify me device that active speaker changed once the conference receives the confirmation that screensharing as been accepted
    Correctly propagate start and end times to conference
    Reset mLocalScreenSharingEnabled when the stream is inactive or no payload have been accepted
    Improve reliability of Android Platform Helper
    
    Do send automatic conference reINVITEs if RTP bundle mode is disabled
    and do not offer thumbnail stream either. This will allow to have better
    performances even if the user experience is worsened
    a1c2f8a2