harlanc/xiu

Still unable to use WHIP

kaitlynia opened this issue · 5 comments

v0.12.6, Ubuntu

Describe the bug
Throws the following error: [2024-04-28T00:25:45Z ERROR xwebrtc::webrtc] session run error, err: Utf8Error: invalid utf-8 sequence of 1 bytes from index 11

No matter what URL is supplied in OBS (with/without token, specifying /whip or not) it always throws Utf8Error

To Reproduce
Use any URL pointing to a xiu server in OBS (WHIP)

Expected behavior
Accepts incoming request from OBS

The error occurs for this line:

if let Some(content_length) = parse_content_length(std::str::from_utf8(&remaining_data)?) {

...indicating that whatever data ends up in reader is not Utf8. I have not supplied any non-Utf8 text in my OBS settings, so it's possible that OBS is injecting some non-Utf8 characters or somewhere along the way the request is mutated by xiu to contain non-Utf8 characters

A similar problem mentioned here : #82 (comment).
Or refer to the doc https://www.rustxiu.com/docs/scenarios/webrtc

There is not sufficient information in the docs for me to troubleshoot with. An example push URL is provided in the form of http://localhost:8900/whip?app=live&stream=test&token=123 but there is no explanation of where to set app or whether token goes into the URL field or Bearer Token field in OBS. Is /whip always the served path? Do WHEP listeners really need the token too/is there no way to require authentication for only WHIP?