meetecho / simple-whip-client

Simple WHIP Client (based on GStreamer's webrtcbin)
GNU General Public License v3.0
71 stars 19 forks source link

Switch HTTP stack to libsoup3 #16

Closed lminiero closed 6 months ago

lminiero commented 10 months ago

This PR addresses the infamous

libsoup2 symbols detected. Using libsoup2 and libsoup3 in the same process is not supported

error when compiling the WHIP client on a system where GStreamer is built against libsoup3, by basically using libsoup3 in the client too. Notice that this means the client will now be broken for installations where GStreamer is still based on libsoup2: unfortunately the changes between libsoup2 and libsoup3 are way too numerous to keep support for them both in the client, so I'd say if that's your case, just upgrade your setup.

I only did marginal testing in a local environment, and it seemed to work for me. Please test and provide feedback: as soon as I'm confident it works as expected, I'll merge.

OverSamu commented 8 months ago

Hi, I'm trying this version of the client. The Authorization header appears not to be sent even though the token is present (and is printed in the WHIP client information). I think the problem is in this line: https://github.com/meetecho/simple-whip-client/blob/e0ec5bf7966b1ae543d3e6e08e4e3ba46fab30a0/src/whip-client.c#L947

image

Server-side request headers: image

lminiero commented 8 months ago

@OverSamu good catch! There was a typo, where I was appending the header to the response headers, while this was a request. The same problem was there for If-Match too, so I fixed it with both and it seems to be working for me now.

lminiero commented 6 months ago

Merging.