rtspsrc: set-parameter / get-parameter action signals assume parameter values are text
"set-parameter" takes four params:
const char *name (the name of the param)
const char *value (the value of the param)
const char *content_type (text/parameters, etc)
GstPromise * promise (to get notified when the action completes)
And then it just does:
g_string_append_printf (req->body, "%s: %s\r\n", name, value);
This means you can't send arbitrary data (via media type negotiation); all you can send is content-type "text/<something>". This does not match all the possibilities listed in the spec: https://datatracker.ietf.org/doc/html/rfc7826#section-13.9
Interestingly, the "handle-request" signal is correctly implemented, and you can receive arbitrary data in "SET_PARAMETER".
The same problem also exists for "get-parameter". We should probably rework these and add new signals that allow sending / receiving GBytes.