Skip to content
  • Mathieu Duponchelle's avatar
    8ad882be
    gstwebrtc-api: address issues raised by mix matrix support · 8ad882be
    Mathieu Duponchelle authored and GStreamer Marge Bot's avatar GStreamer Marge Bot committed
    1c48d706 was mistakenly merged too
    early, and there were concerns about the implementation and API design:
    
    The fact that the frontend had to expose a text area specifically for
    sending over a mix matrix, and had to manually edit in floats into the
    stringified JSON was suboptimal.
    
    Said text area was always present even when remote control was not
    enabled.
    
    The sendControlRequest API was made more complex than needed by
    accepting an optional stringifier callback.
    
    This patch addresses all those concerns:
    
    The deserialization code in webrtcsink is now made more clever and
    robust by first having it pick a numerical type to coerce to when
    deserializing arrays with numbers, then making sure it doesn't allow
    mixed types in arrays (or arrays of arrays as those too must share
    the same inner value type).
    
    The frontend side simply sends over strings wrapped with a request
    message envelope to the backend.
    
    The request text area is only shown when remote control is enabled.
    
    Part-of: <!1725>
    8ad882be
    gstwebrtc-api: address issues raised by mix matrix support
    Mathieu Duponchelle authored and GStreamer Marge Bot's avatar GStreamer Marge Bot committed
    1c48d706 was mistakenly merged too
    early, and there were concerns about the implementation and API design:
    
    The fact that the frontend had to expose a text area specifically for
    sending over a mix matrix, and had to manually edit in floats into the
    stringified JSON was suboptimal.
    
    Said text area was always present even when remote control was not
    enabled.
    
    The sendControlRequest API was made more complex than needed by
    accepting an optional stringifier callback.
    
    This patch addresses all those concerns:
    
    The deserialization code in webrtcsink is now made more clever and
    robust by first having it pick a numerical type to coerce to when
    deserializing arrays with numbers, then making sure it doesn't allow
    mixed types in arrays (or arrays of arrays as those too must share
    the same inner value type).
    
    The frontend side simply sends over strings wrapped with a request
    message envelope to the backend.
    
    The request text area is only shown when remote control is enabled.
    
    Part-of: <!1725>
Loading