Implemented is a custom scheme 'client://' and the procedures Open and Read. This works without any issue if e.g. a javascript file is read and returned, independant of the size. The Read procedure is called multiple times till all bytes are read.
The observation is completely different if using the mime type 'video/webm'. The browser (used chrome as remote debugger) gets a content-length of 0 in the response header and the procedure Read in the scheme handler is called multiple times.
But if the video size is less than 65536 bytes then the video will be started without any issue using a modified cefsimple client. And if the size is greater than 65536 bytes, then the cefsimple client gets the error message
- Code: Select all
ERROR:batching_media_log.cc(38)] MediaEvent: {"error":"FFmpegDemuxer: open context failed"}
ERROR:batching_media_log.cc(35)] MediaEvent: {"pipeline_error":12}
In the first case (< 65536) Read is called twice and the second case (> 65536) Read is called more then twice, as often as normally needed.
If it's useful i can provide either a link a Github project or i could create a standalone project to demonstrate the observation including the two different videos.
I'm current using CEF 81.2.16+gdacda4f+chromium-81.0.4044.92 / Chromium 81.0.4044.92. Both self compiled and the prebuild binary from spotify.