Questions tagged [cobalt]

Cobalt is a lightweight HTML5/CSS/JS application container that is designed to provide a rich application development environment with minimal resource consumption (deployment size, RAM, CPU, GPU). At the same time, Cobalt enables a rich, low-latency user experience across a wide variety of platforms and devices.

Target audiences

Cobalt's documentation is written with two audiences in mind:

Porters enable Cobalt to work on other platforms by using Starboard, Cobalt's porting layer and OS abstraction, to implement the platform-specific functionality that Cobalt uses. Each Starboard module (memory, socket, thread, etc.) defines functions that must be implemented for the porter's platform.

Developers want to build applications in familiar environments with advanced debugging tools without having to worry about compatibility with a highly fragmented set of browsers. At the same time, they want to have full control over their codebase so that they can ship features for constrained platforms, like TVs, on time and without technical risk.

Benefits of Cobalt

Cobalt significantly reduces the cost of supporting a browser on non-standard and resource-constrained platforms. In addition, since Cobalt operates at a consolidated, versioned platform abstraction layer, its porting effort is man-weeks, and subsequent rebases are near-free.

These are some other benefits that Cobalt provides:

More platforms

Cobalt does not require platforms to support JIT compilation and can run on platforms that disallow execution of dynamically generated code. Cobalt is a single-process application and does not rely on the ability to spawn multiple processes. Cobalt precompiles a set of shaders that are sufficient to express all graphical effects, thereby accommodating platforms that cannot compile shaders at runtime. Cobalt requires a compliant C++03 compiler, allowing it to reach platforms with legacy toolchains. Small footprint

Cobalt is optimized for memory. Its surface cache never exceeds a predefined budget, and it never creates duplicate layers, reducing the likelihood of out-of-memory crashes. Cobalt's small binary is designed to take up as little space as possible. By supporting a subset of HTML5/CSS/JS, Cobalt's reduced package size even allows bundling of CJK fonts on low-end devices. Reduced input latency

Cobalt produces consistent 60FPS animations by only supporting animation of properties that don't affect layout, like transform, and always running animations on a separate thread. Cobalt is optimized to run on single-core CPUs, resulting in better input latency since the renderer and resource loader do not compete with layout operations. On platforms that support GLES2, Cobalt avoids CPU painting by performing almost all rendering operations on the GPU.

References:

1.1 Overview & Source http://youtube.github.io/cobalt/overview.html

1.2 Porting http://youtube.github.io/cobalt/starboard/porting.html

1.3 Develop http://youtube.github.io/cobalt/development/setup-linux.html

1.4 Supporting Features http://youtube.github.io/cobalt/development/reference/supported-features.html

1.5 Testing http://youtube.github.io/cobalt/starboard/testing.html

1.6 Source Code https://cobalt.googlesource.com/cobalt/

1.7 h5vcc https://github.com/youtube/h5vcc

1.8 Build in linux https://cobalt.googlesource.com/cobalt/+/e9b4b99dab6e774b8b6e63add74c352cc5dd395a/src/README.md#Building-and-Running-the-Code

215 questions
1
vote
1 answer

YouTube stream with DRM key rotation can only play 2 min

The tricky point is, with the same cobalt and porting code, we could play them about one month ago. Then in near term, we find the stream can not play well. From log, no key rotation happens. But our software has no change. Anything updated on…
Yeyi Cui
  • 11
  • 1
1
vote
0 answers

How can I develop my own web app running on Cobalt

I had experience of building normal web apps for desktop and mobile before, and want to create my own video web app (similar to Youtube TV) on cross platforms, e.g. Smart TVs, game consoles. I heard of Cobalt recently and all I know so far is a…
chung1350
  • 41
  • 3
1
vote
1 answer

Has anyone got a version of Shaka player working with Cobalt

I have been trying to run a simple shaka player test page based on the latest version from the repository using Cobalt release 11. Using the debug version of shaka player currently I get the following console log: [0301/112442:INFO:console.cc(52)]…
1
vote
0 answers

Remote debugging with cobalt

I'm trying to remote debugging with cobalt. I launch cobalt like this: cobalt --remote-debugging-port=9222 after that I launch chrome with this url http://ip_adress_device_cobalt>:9222 when I try to navigate in developer tools tabs , the console…
1
vote
1 answer

cobalt: When StorageManager calling destructor , there is task in last_change_timer_ or change_max_delay_timer_ ,it maybe be discarded

I found that StorageManager would call FinishIO and OnDestroy when it call destructor. It will wait sql_message_loop and savegame_thread_ completed in FinishIO, and reset resources include flush_on_last_change_timer_ and…
1
vote
1 answer

white-space and some css support for Cobalt

I've been using Cobalt recently and I am converting an UI to make it work on Cobalt. One of my problem is that I'm using a specific class for overflow : .ellipsis { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } The…
julien H.
  • 21
  • 3
1
vote
1 answer

About the cookies/localstorage/cache in cobalt

It seemed cobalt can support cookies, localstorage, cache, so what's the the max size of cookies for each site? What's the max size of localstorage for each site? What's max size of cache for each site? Is there a total size limit for cookies, for…
bitchainer
  • 535
  • 2
  • 19
1
vote
1 answer

How to dump the original content data on the directfb surface?

we have a UI display issue when used directfb to display the youtube UI, so is there a way to dump the original content data on the directfb surface from cobalt to check whether it's right? The cobalt version is rc_11.95853.
bitchainer
  • 535
  • 2
  • 19
1
vote
1 answer

Can not change language with cobalt preload mode

With cobalt preload mode, it can not change the language as the language setting is set at the initialization of cobalt, so is there a way to to support it? //src/cobalt/browser/application.cc // Get the system language and initialize our localized…
bitchainer
  • 535
  • 2
  • 19
1
vote
1 answer

cobalt not display video information after Aug 30

as cobalt spec, we append "env_isVideoInfoVisible=1" to URL like below, it can display video information. https://www.youtube.com/tv?env_isVideoInfoVisible=1 before Aug 30, it work properly. but it not work now. did cobalt or Youtube change any…
1
vote
2 answers

preload function with network off

If the network is OFF(eg. it can not visit the youtube page), and start cobalt with --preload param when the platform is powering on, then it can not load and show the youtube ui, even when it switches from preloading state to starting state, the…
bitchainer
  • 535
  • 2
  • 19
1
vote
1 answer

Cobalt 360 video display is not correct

After implement 360 video as howto_decode_to_texture.md described, we found that the display color is not correct after renderer thread. could any one help to point out which caused it? input picture Display picture
Kai Wang
  • 25
  • 5
1
vote
1 answer

How can Cobalt test HDR implementation

In YouTube home page, when I choose a video in 4K HDR channel, the transfer id is always 'Bt709', no matter the below function returns true or false. [0627/102524:INFO:media_source.cc(322)] MediaSource::IsTypeSupported(video/webm; codecs="vp9";…
Ceri Ruan
  • 13
  • 3
1
vote
1 answer

did cobalt RC_9 implement webGL?

in WebGL performance Tests of qual-e, video["webkitDecodedFrameCount"] is undefined. did cobalt RC_9 implement webGL on latest GIT version ? if cobalt support webGL, could you tell us how to test it?
1
vote
1 answer

does cobalt support android/windows platform

Has cobalt already supported Android platform or even windows at current stage? If not, would you plan to complete the cobalt on the above mentioned platforms?
Huang
  • 11
  • 1
1
2
3
14 15