IPC from Renderer to Browser with a shared memory handle

Having problems with building or using CEF's C/C++ APIs? This forum is here to help. Please do not post bug reports or feature requests here.

IPC from Renderer to Browser with a shared memory handle

Postby wkbittner » Wed Dec 23, 2015 2:04 pm

Does CEF currently support sending cross IPC messages ( renderer to browser) with a shared memory handle as an argument? If not - can I add that feature?
wkbittner
Techie
 
Posts: 28
Joined: Tue Dec 15, 2015 8:42 am

Re: IPC from Renderer to Browser with a shared memory handle

Postby wkbittner » Wed Jan 06, 2016 4:25 pm

I am currently using CefBinaryValue - is it implemented using Shared Memory handles? Also, is there a way to avoid the Copies to create, and get the data and do something like VideoFrame does in Chromium by allowing to wrap external shared memory?
wkbittner
Techie
 
Posts: 28
Joined: Tue Dec 15, 2015 8:42 am

Re: IPC from Renderer to Browser with a shared memory handle

Postby magreenblatt » Wed Jan 06, 2016 4:43 pm

wkbittner wrote:I am currently using CefBinaryValue - is it implemented using Shared Memory handles? Also, is there a way to avoid the Copies to create, and get the data and do something like VideoFrame does in Chromium by allowing to wrap external shared memory?

Shared memory functionality is not exposed by CEF. It does exist in Chromium in various forms.
magreenblatt
Site Admin
 
Posts: 12409
Joined: Fri May 29, 2009 6:57 pm

Re: IPC from Renderer to Browser with a shared memory handle

Postby wkbittner » Fri Jan 22, 2016 8:40 am

I am going to add it to CefListValue for IPC messages - I need to anyway as there is a mem cpy in and out of CefBinaryValue and I am send mass amounts of data cross IPC. How is CefSharedMemory? Any requests?
wkbittner
Techie
 
Posts: 28
Joined: Tue Dec 15, 2015 8:42 am

Re: IPC from Renderer to Browser with a shared memory handle

Postby magreenblatt » Fri Jan 22, 2016 10:50 am

CefListValue uses base::Value internally so you won't easily be able to add a new type. What Chromium object/API are you planning to use when implementing your shared memory support?
magreenblatt
Site Admin
 
Posts: 12409
Joined: Fri May 29, 2009 6:57 pm

Re: IPC from Renderer to Browser with a shared memory handle

Postby wkbittner » Thu Jan 28, 2016 11:17 am

Hi,
I have built a custom video rendering pipeline for real time streaming video - I am passing already decoded video frames into a custom part of chromium. Would be awesome if there was info on how to build a mojo interface then implement it on cef - that would be ideal I am thinking - if not I just would like to pass a shared memory handle cross renderer->browser process to chromium - The reason it is being done like this because I am built the rendering pipeline to be used in JS by normal webrtc calls to manipulate/add/remove video streams and though the enumerate devices seems to be able to enumerate cross IPC - it was too complicated to build initially and easier to leave in browser process. Right now I use CefBinaryValue to send in a message to browser process but that adds two memory copies which is really expensive to - imagine - 5 video streams at lets say approx 400 Mb/s of cross IPC frames ( back of envelope but of course varies) so the memory copies are huge to us.
wkbittner
Techie
 
Posts: 28
Joined: Tue Dec 15, 2015 8:42 am


Return to Support Forum

Who is online

Users browsing this forum: No registered users and 60 guests