How to play drm contents in cobalt - drm

I am developing using cobalt master.
I want to play the drm contents using cobalt. but as far as i know, cobalt(open-source) is not integrated with widevine or playready due to license.
So I have to the widevine integrating.. But I don't know what to do..
Below is question lists. I'd really appreciate it if your guys could answer this.
I found the sources about widevine in the cobalt source tree('cobalt/src/starboard/shared/widevine')
I think it is about widevine porting. then I just need to put in the widevine.so or the widevine source.
Is it right?
I made a ce_cdm(it is widevine 3.5 source) derectory in 'cobalt/src/third_party' and then tried 'cobalt/build/gyp_cobalt -C debug linux-x64x11' but following message is printed the Terminal.
$cobalt/build/gyp_cobalt -C debug linux-x64x11 gyp: Dependency '/home/amedia/cobalt4/cobalt/src/third_party/boringssl/boringssl.gyp:crypto#host' not found while trying to load target /home/amedia/cobalt4/cobalt/src/starboard/shared/widevine/widevine3.gyp:protoc#host
I have no idea what this means...
Please let me know if your guys have a guide or a way to do this.
Thank you.

From the gyp errors it looks like the version of widevine you have depends on boringssl which is not currently supported by Cobalt 19. And you might have some trouble integrating boringssl because it is a fork of openssl which is used by multiple components in Cobalt 19.
It might not be too difficult to replace openssl with boringssl. And maybe you can find a version of widevine that's also compatible with openssl, though I'm not sure about the feasibility.
Please also stay tuned to Cobalt's release announcements. We regularly upgrade our third party libraries and you should find new Cobalt releases easier to integrate with additional libraries.

Related

DRM exception: processLicense - Roku Ultra

I have a Roku Channel and it has live as well as non-live content, content is playing well for most of the Roku Devices but on Roku Ultra it's failing.
I am experiencing the following error:
<Component: roAssociativeArray> =
{
code: -6
message: "buffer:loop:unset:DRM exception: processLicense: [sess.lic.rep] KeyAdd failed : 99999(Cdm::kUnexpectedError):extra:etype:buffer"
}
Can anyone help me on this issue?
I looked over the internet for many threads but non was helpful for my case.
I don't know whether this will be helpful to resolve the issue, but I experienced similar kind of issue once. As far as I know DRM libraries are downloaded separately after firmware update on Roku. So, in case you did a factory reset recently and running the side-loaded app now, there may be chances that libraries are not downloaded completely. You can try for manual system software update and see if this resolves the issue. This worked for me. Also, partner success suggested to install one channel having widevine integration and running that channel as one step to resolve the issue, although I didn't need it. You can try this step also along with system software update.

What does the Qt configure option "-commercial" actually do

The help for configure in Qt commercial source 4.8.7 lists an option "-commercial" with the following description.
-commercial ........ Compile and link the Commercial Edition of Qt.
The options are also listed here, with the same brief explanation of this parameter, http://doc.qt.io/qt-4.8/configure-options.html
Since there are separate source packages for commercial (or enterprise) and open source, why is a flag needed? Also I can confirm that it successfully compiles also without giving this flag, which makes me wonder even more...
What does it actually do?
If you configure without commercial or opensource option you get asked with which license you want to use Qt: the commercial or the opensource one. I assume using one of these options just pre-answers this question.
EDIT: Sorry, I mixed something up. Forget the "answer".

Is gdbus part of Bluez, glib, or neither?

I'm following the advice of Zimano on using the Bluez client as an example to implement Bluetooth in my Linux application.
I have installed:
libbluetooth-dev
libglib2.0-dev
libdbus-1-dev
The Bluez client example uses a D-Bus helper library that is included as part of Bluez in a gdbus folder when the soure code is downloaded.
I have looked at it for a few hours and I think if I want to follow the Bluez client example, I need to add and compile the gdbus source from the Bluez source with my program. My question is, do I have that wrong? Is that gdbus included elsewhere? The naming is so close to files in glib-2.0/gio that I am concerned that I am missing something.
GDBus is part of GIO, which is distributed with GLib.
Based on the package names you've provided I'm guessing you are using a Debian-derived distribution, so libglib2.0-dev is the package you need.
This is indeed quite a mess for naming. It appears to be that:
Official Glib Dbus library is named "GDBus", BUT it is part of "GIO" => thus you would (*) need (<glib.h> and) <gio/gio.h> , not <gdbus.h>
Bluez "gdbus.h" is their completely own local support library not found anywhere in binary form as such, also their license is restrictive for free inclusion.
(*) But of course the Bluez client still remains dependent on their own "gdbus.h" support library.

Is there a library and header to use to access EWMH/NetWM functions?

I need to get similar information on the current windows and virtual desktops as that provided by the command-line app wmctrl. I s there some (C/C++) API header & lib-files that I can use?
If it must be in C/C++, i think libxcb-wm is the most prominent one: very mature, still actively developed, and from Freedesktop, the same organization that created the EWMH spec.
On Debian/Ubuntu you have the binary packages libxcb-ewmh2 (run-time library) and libxcb-ewmh-dev (development headers), both from source package xcb-util-wm:
sudo apt install libxcb-ewmh-dev # also pulls libxcb-ewmh2, as usual
And official Documentation and Tutorial from Xorg
Download the source code of wmctrl and study it. If you are making some free software with the same or compatible GPLv2 license you could take some code from it.
There is only one source file main.c and it seems to do ordinary Xlib calls, notably XGetWindowProperty calls wrapped in get_property
I'm very surprised you asked the question here. With free software, it is so much simpler and quicker to download the source code and study it.

Run DotNetOpenAuth on mono/linux

I have tried for some time with no luck to find a version of DotNetOpenAuth which would work on Mono/Linux combo. The source and binaries which I found in their page/git page contain some References to dll files not supported by mono.
On the other hand I have heard that it is possible to use it and even seen a page on which it is said, that it is done with such a combo.
Is it possible to run DotNetOpenAuth on mono/linux?
If yes, then what are the steps to do so?
If not, could you suggest any laternatives for providing openid/oauth logins on mono/linux?
Your best bet is to go to their git repository and use the 'mono2' branch, as it has the things Mono doesn't support removed.
Has anyone successfully implemented OpenID with Mono?

Resources