Originally Posted by bhiga
What @Asphyx said.
It's like modifying the fuel pump nozzle so you can feed diesel into any vehicle. Just because you can put it into the vehicle doesn't mean it will work. The vehicle has to support and know it's getting diesel, or it won't always work.
Google (and the DIAL Consortium) sort of did the same thing with DIAL operations that Google did with Android's HAL...Pretty much set up the front side of the operations but left it unstandardized on the backend and left it all up to the developer. HAL tells you how to call to the Android Hardware but the Manufacturers support those hardware calls differently (via the Kernel) than other Manf do which is why it is so hard to make a custom rom work properly on a newly released version of Android unless the Manufacturer has released a new Kernel made to support all the new calls in the newer Android HAL.
DIAL only discovers the device and tells the OS what IP it is, and is only standardized as far as how you load an application into the device. But it does not define what application gets loaded.... the 3rd Party App does.
After that how it operates is up to the player app that gets loaded and the App that loaded it, which can be totally different from App to App (see what Bubble can do that Plex still can't regarding Subtitles as just one example).
So the only ways to achieve this (That I can think of) is to
- Code this capability to list and play to DLNA devices directly into the Apps you want to use (Bubble, All Cast and many other not including Plex)
- intercept all signals between the Launching Device and Receiver, To fool the Launch device it is dealing with a CCast and to translate CCast commands to a DLNA equivalent. Which is virtually impossible without being able to load the app the Launch device asks the CCast to launch and then pulling out and sending a stream via DLNA.