Does CCurlFile support HTTP/2 ?
#1
I am having difficulty playing certain videos in the Liveleak plugin. (Youtube videos work fine.)

Liveleak has apparently recently either switched to Cloudflare CDN hosting for its videos, or it has enabled HTTP/2 on its account. The URLs are HTTPS and CCurlFile is obviously used for fetching. It times out after 28 seconds.
Quote:2020-07-10 15:43:49.092 T:140704072362560  NOTICE: VideoPlayer::OpenFile: plugin://plugin.video.liveleak/?url=https%3A%2F%2Fcdn4.liveleak.com%2F2020%2FJul%2F10%2FLiveLeak-dot-com-uTf9T_1594408379-Phg4oejWlSgnjrp8JfEFWNo8miERf8on1594408353mp4.mp4.5f08bdcb7c456.mp4%3Fsecure%3DstdUd0TpGUAJCVaRt5PPyw%3D%3D%2C1594411727&src=view%3Ft%3D9OSJV_1594408379&mode=play
2020-07-10 15:43:49.402 T:140701224388352  NOTICE: Creating InputStream
2020-07-10 15:44:10.231 T:140701224388352   ERROR: CCurlFile::FillBuffer - Failed: Timeout was reached(28)
2020-07-10 15:44:10.231 T:140701224388352   ERROR: CCurlFile::Open failed with code 0 for https://cdn4.liveleak.com/2020/Jul/10/Li...1594411727:
2020-07-10 15:44:10.231 T:140701224388352   ERROR: Open - failed to open source <https://cdn4.liveleak.com/2020/Jul/10/LiveLeak-dot-com-uTf9T_1594408379-Phg4oejWlSgnjrp8JfEFWNo8miERf8on1594408353mp4.mp4.5f08bdcb7c456.mp4?secure=stdUd0TpGUAJCVaRt5PPyw==,1594411727>
2020-07-10 15:44:10.232 T:140701224388352   ERROR: CVideoPlayer::OpenInputStream - error opening [plugin://plugin.video.liveleak/?url=https%3A%2F%2Fcdn4.liveleak.com%2F2020%2FJul%2F10%2FLiveLeak-dot-com-uTf9T_1594408379-Phg4oejWlSgnjrp8JfEFWNo8miERf8on1594408353mp4.mp4.5f08bdcb7c456.mp4%3Fsecure%3DstdUd0TpGUAJCVaRt5PPyw%3D%3D%2C1594411727&src=view%3Ft%3D9OSJV_1594408379&mode=play]
2020-07-10 15:44:10.232 T:140701224388352  NOTICE: CVideoPlayer::OnExit()
2020-07-10 15:44:10.248 T:140704072362560  NOTICE: CVideoPlayer::CloseFile()
2020-07-10 15:44:10.251 T:140704072362560  NOTICE: VideoPlayer: waiting for threads to exit
2020-07-10 15:44:10.251 T:140704072362560  NOTICE: VideoPlayer: finished waiting
If I replace 'https' with 'http' in the URL, Cloudflare reverts to HTTP/1.1 and the video is fetched and plays successfully. (CCurlFile is not utilized in that case, according to the log.)

Hence, my question in the topic line. Or, is there something I need to do in order to help Kodi fetch Cloudflare-hosted files over HTTPS so I don't have to hack on the URL?
Reply
#2
kodi supports http2, if curl was built with support for it. This is the case for all of our official builds.

Please enable curl component logging and pastebin a full Debug Log
Reply
#3
(2020-07-10, 22:15)wsnipex Wrote: kodi supports http2, if curl was built with support for it. This is the case for all of our official builds.

Please enable curl component logging and pastebin a full Debug Log

Thank you for your (fast) response.

Just FYI, I am able to download the media with curl from the command line.

Debug log with libCurl component logging pasted to: https://paste.kodi.tv/cunozefije.kodi
Reply
#4
The forum moderators have determined that banned addons (wiki) are present on your system. To receive assistance here, these banned items must be removed. If a clean log is not submitted within 3 days, then the relevant post(s) will be removed after this time.
|Banned add-ons (wiki)|Forum rules (wiki)|VPN policy (wiki)|First time user (wiki)|FAQs (wiki) Troubleshooting (wiki)|Add-ons (wiki)|Free content (wiki)|Debug Log (wiki)|

Kodi Blog Posts
Reply
#5
Okay, I swept the system; hope I didn't miss anything.

A clean Debug log with libcURL component logging has been posted to https://paste.kodi.tv/ikoradobef.kodi
Reply
#6
Any ideas yet?
Reply
#7
it's clearly using http2, but somewhere down the line, this happens:
2020-07-11 11:45:13.703 T:140001814628096 DEBUG: Curl:Big Grinebug - TEXT: h2_process_pending_input: nghttp2_session_mem_recv() returned -902:The user callback function failed

that is curl internal and might be releated to how nghttd and/or curl was built on opensuse.

I'd like to try to reproduce, but I can't find that addon in our repo.
Reply
#8
Thank you for taking a look and pointing out that error line, wsnipex. I did some research on that and found an issue reported five years ago Sad
https://curl.haxx.se/mail/lib-2015-07/0029.html

I compiled the linked download example code, and then executed it with a Liveleak media URL. I don't know enough about C to understand exactly what it is doing, but it apparently effected a download with no errors.

If it is indeed an openSUSE-specific issue though, that may explain why I haven't received any complaints on the issue. And, since I was merely trying to be preemptive, I am not going to be overly concerned about it at the moment.
 
(2020-07-26, 14:37)wsnipex Wrote: I'd like to try to reproduce, but I can't find that addon in our repo.
You can't find it probably because you're running Kodi 19, and it isn't there yet. I haven't figured out how to maintain two versions in two separate branches without confusing myself. (If, given the issue's likely rarity, you still want to look into it, the plugin repo is at: https://github.com/Botster/plugin.video.liveleak)

Thank you for confirming that CCurlFile supports HTTP/2 and your expertise in picking out that telltale error line.
Reply

Logout Mark Read Team Forum Stats Members Help
Does CCurlFile support HTTP/2 ?0