OSG, OCF, & An Automotive Fortnight!

The Samsung Open Source Group is playing an active role in the promotion and adoption of IoT standards across multiple domains. Samsung understands the importance of openness and collaboration to realize the full potential of IoT. One of the key promises we’ve made,  is to be open and collaborative in our approach to delivering products and solutions to our customers. This was a core part of the Samsung strategy, as explained in the following video.

Samsung has remain committed to this approach and continued to deliver on the promise, year after year.

Based on these principles the Open Connectivity Foundation (OCF), a global consortium of leading companies (~170 and growing) focused on creating a standard for interoperable devices and services was founded in 2014. The OCF approach has three key deliverables:

  1. An Open Specification: Open Connectivity Foundation
  2. An Open Source Implementation: IoTivity
  3. A membership driven certification program:  OCF certification

Through this approach, OCF has created an ecosystem where device manufacturers, IT service providers, and application developers can target their existing devices, services, and apps to a massive potential consumer base. This program has continued to gain more members and build momentum. Automotive is one key target of OCF and IoTivity, and the Open Source Group has been busy solving some important issues in this domain.

This post will cover a handful of presentations we’ve given recently to help spread the message. For some context, check out our overview of some of our recent activities with IoTivity and automotive functionality.

GENIVI & OCF Demo

A demonstration of GENIVI and OCF was presented at the recent GENIVI all member meeting in Paris. This technical session demonstrated how IoTivity can be used to connect automotive systems to OCF devices. This was a joint effort between Jaguar Land Rover, GENIVI, and Samsung.

Extra Resources:

Technical talk at the AGL AMM in Japan, 2016

Another talk worth mentioning is one given at the Automotive Grade Linux (AGL) All Members Meeting (AMM) that was held last February in Tokyo, Japan. It describes plans in the community to provide OCF support to a Yocto-based system.

Additional resources:

How to: IoTivity on Tizen presented at OpenIoT 2016

The combination of Tizen, IoTivity, and Yocto is proving to be a very powerful platform for building a wide range of consumer devices. Some hints were shared about IoTivity integration on commercialized Tizen devices with Tizen:IVI at OpenIoT in San Diego, CA.

Additional resources:

CampOSV: First Vehicle Hackathon, Rennes France

CampOSV is a community event in Rennes, France about what can be done on open R&D platforms. We demonstrated how Tizen and IoTivity can be used to create a “libre, connected car” through a proof of concept.

Additional resources:

OSIS2016 : Open Source Innovation Spring at IoT day, Paris

Philippe gave a talk at IoT Day in Paris, France about using IoTivity and Tizen to create IoT devices and prototypes using the RaspberryPI Zero. This talk offered more technical details about creating a GPS map that integrated a smart watch with an in-car dash.

Conclusion

The overall goal of these activities is for Samsung to examine the multiple approaches for collaboration with existing open source communities and distributions in the automotive space. GENIVI and AGL have built incredible communities that follow different approaches, and as part of expanding OCF into the automotive domain we would like to bring OCF and IoTivity to interested members in both of these communities. We’d like people to consider the adoption of an IoT standard that will be mutually beneficial to both OCF and the open source automotive pioneers. In the coming weeks we will be submitting patches into public repositories of GENIVI and Automotive Grade Linux, for these demos.

We have received tremendous response from a broad technical community including W3C, Genivi and AGL members and will continue to collaborate going further. We encourage you to checkout the information and links and let us know if you’re interested in collaborating with us.

[wp_biographia user="sanjeev"]

[wp_biographia user="pcoval"]

Spend Some Time With the Tizen Community at FOSDEM 2016

For the 5th year in a row, the Tizen community will meet at FOSDEM: one of the most important free and open source software conferences in Europe. Members of the Tizen community from all over the world, including South Korea, Poland, UK, Bulgaria, and France will converge  on January 31 and February 1, 2016 at ULB Solbosch Campus, Brussels, Belgium.

Here’s what you can expect from the Tizen community, this year:

  • Meet Tizen developers from around the world for discussions.
  • Interact with demos at the EFL/Tizen booth.
  • Dine with Tizen developers at the community dinner.
  • Learn and discover about free and open source software.

Join Our Casual Dinner Meeting!

If you are interested in Tizen presence at the conference, just bookmark Tizen’s wiki FOSDEM page and join us.

There you will find details about latest news and plans including the Tizen community dinner that will occur on the evening of Saturday, January 30, 2016.  Please register on TizenExperts before this event. It is open to anyone but places are limited. Also note that participants will need to pay for their own food. This is a community event, so sorry there won’t be any free beer, but there will certainly be unlimited free speech!

Spend Some Time With the Tizen Community at FOSDEM 2016 - bxl-14020008
Brussels is a wonderful location for a conference.

Demo Time!

Many of the community members will be found at the EFL/Tizen booth (K building) throughout the day; there you will also be able to see and interact with many devices that run Tizen including the RaspberryPI 1 (ARMv6), RaspberryPI 2 and more advanced devices.

Catch Some Great Talks!

The list of accepted talks has net yet been published in full, but here is a teaser talks that will be presented about Tizen and related topics.

Don’t miss these presentation about Tizen Core components:

Tizen’s primary use-case is for IoT, and you can expect many interesting talks about this subject; some of which closely relate to Tizen:

Finally, here are some other projects that are closely related to Tizen:

Here are a handful of other interesting talks:

Many more will appear on the schedule page as it is update. As a primer, check out one of the Tizen talks from last year. FOSDEM is a great experience for anyone interested in free and open source software, and we hope you will seek out the Tizen community while you are there!

Source: Tizen Wiki

Getting Things Done at the 2015 GStreamer Hackfest

Over the weekend of March 13-15th, the Samsung Open Source Group office in Staines-upon-Thames, UK, hosted 34 developers of the GStreamer  project for a hackfest. GStreamer is a library for constructing graphs of media-handling components, and its uses range from simple music file playback and audio/video streaming to complex audio mixing and video processing.

A lot of familiar faces showed up, as well as an unusual number of new people, and it was a very productive hackfest. While everybody hammered away on laptops, we worked on and discussed a variety of topics related to both the framework and applications.

Discussions to Be Had…

Some of the discussions that took place on the framework side included:

  • How to move forward with the DASH common encryption – Patches have been sitting in Bugzilla for this for a while. An agreement was reached on how to simplify things and make them more generic so its possible to add a minimal, new API rather than needing to add specialized libraries for each encryption scheme.
  • Moving bug tracking from Bugzilla to Phabricator – There seems to be a general consensus this is what we need to do; the main question is what needs to be done before this is possible. We still need to determine where to host it, developing scripts for porting the current bug information, and any potential new maintenance needs.
  • New design for how glimagesink outputs textures into applications – The first application for this is webkitgtk. Instead of having a custom webkitvideosink (defined and registered in WebKit code), you can now have glimagesink set up a GL context  for resource sharing. Glimagesink does not create an internal window, but rather creates a GL context which shares resources with WebKit’s GL context.
  • Plans for gap events supported by the aggregator base class – This is so it can be used with sparse streams, and the goal is to use this in a new SPU/subtitles base class.
  • How the RTP stack deals with various network conditions and how to improve this functionality – Currently, when there is a network burst (like when a stream starts) the jitterbuffer deals with it very poorly.
  • Customary discussion about documentation – The Pitivi people have implemented a more dynamic method for dealing with API docs, linking examples to API docs in a more modern way. The general consensus is that it could be a good framework to write more docs. These efforts have been postponed for a future Hackfest.

There were also a few questions and ideas related to PulseAudio development and some discussion about this topic. Finally, we had mandatory talks about ideas for GStreamer 2.0 and what we want to change in the future. Nothing was urgent, so 1.0 is here to stay for the foreseeable future.

…And Work to Be Done

Check out the event page to see all of the developers who contributed to this hackfest. Here are some of the highlights of our hands-on work:

  • Tim fixed some long-standing issues with the MPEG-TS muxer. He made the “alignment” property work for UDP streaming, and fixed a problem with pass through delta unit / keyframe flagging so that tcpserversink can keep a backlog from the last keyframe and do burst-on-connect when new clients connect.
  • Anton ported all of the 15 shader effects of GLeffects from GL to GLES2.
  • Arun prototyped his work on profiles in audio sinks/sources: work he revived from a long pending bug report. The idea is that we should allow clients to specify what kind of media they are playing and adapt our filtering and buffering appropriately. He wants to make setting up the sink easy for developers and save power where possible.
  • While fixing a bug, Arun also stumbled on a problem with the way PulseAudio sets up latency in capture devices for recording. He wrote a solution for this, and after some testing will submit it for review.
  • Thibault refactored the ges-launch command line interface branch which involved some internal cleanups and refactoring.
  • Wim reviewed and merged the patches from William that improved file descriptor passing between GStreamer processes. William has been toying with pulsevideo for his project which involves capturing video and passing it  between containers. The captured video is turned into a file descriptor which is passed between 2 GStreamer pipelines using sockets.
  • Jan and Nirbeek took a look at the alpha blending code in the compositor element and found many bugs. They fixed the alpha blending implementation in ORC for SSE and PPC versions and briefly looked at the ARM code. Nirbeek also wrote some unit tests for a video-converter and found some rounding errors that looked larger than expected. Wim investigated a little and experimented with different ways to make the rounding errors smaller. This presents a trade off between speed and accuracy, and no real solution has been found yet.
  • Nicolas, Thiago, and Victor were hacking on v4l2src and working to find methods that can be used to implement renegotiation of the format. The problem is that with the v4l2 API, its only possible to change the capture format after all buffers are returned to the driver, so it’s necessary to drain all the buffers from the pipeline.
  • Jan and Wim briefly looked at the current state of the stereoscopic video patches. The biggest challenge is to represent all possible layouts in the caps and negotiate them between elements. Jan made a new GstFlagSet type to GStreamer in order to simplify negotiation. There is some more work to do before this is ready to be merged, but it looks like they are making progress and we hope those patches will soon be ready.
  • Sebastian started merging and cleaning up an Android camera source element.
  • Thiago refactored camerabin to simplify its pipeline and be able to use bufferpools.
  • Finally, there were a lot of other bug fixes and patch reviews all around.

The Best Part

Since the second day of the Hackfest happened to be Pi Day (March 14th). We enjoyed some delicious pieces of pie.

 

Our next event, a GStreamer Conference, is scheduled to coincide with LinuxCon EU in Dublin, Ireland which is scheduled for October 7th – 9th. Looking forward to seeing you all there. Stay tuned for more details as this date approaches. In the meantime, check out this time lapse video of the event, and thank you everybody for coming!