I have a native WebRTC "server" on a Raspberry Pi on which I implemented a custom H264 video encoder which I give as an argument to
webrtc::CreatePeerConnectionFactory.
I can connect to this server using Chrome on any device and it works perfectly.
However, in a Cordova application on Android, the video fails to play (no error messages in the JavaScript console, just a blank video element) and in LogCat I can see lots of "The NullVideoDecoder doesn't support decoding." error messages.
I've tried latest stable Chrome and the latest Canary (setting the WebView implementation in Developer Options).
Again, this stream works perfectly well in the actual Chrome browser on the same device, but not in the WebView.
Is this a bug or is there some reason I can't decode a H264 WebRTC stream in a WebView? I've tried on multiple devices.
which perfectly describes my problem, but it seems like no solution has been provided there, hence my post here.
When I switch to VP8 encoder on the server side, the stream does play (although very choppy), so it is something specific to H264 decoding.
Encoding VP8 video is not feasible on the server side (no hardware encoding), so I must use H264 to get a smooth video stream.
Hopefully I've made myself clear and this is something that can be resolved.