|
|||||||||||||
News2015-05-05The first 2015 Linux Media mini-summit happened in San Jose, CA, USA, on March, 26 2015. The notes taken during the meeting is available here. Report of the V4L/DVB mini-summit in San Jose, May 26 2015 Attendees:
1) Media Controller support for DVBMauro presented a set of slides showing how the DVB pipelines look like and underlined that several topics needs to be addressed by the Media controller: a) dynamic creation/removal of pipelines b) change media_entity_pipeline_start to also define the final entity c) how to setup pipelines that also envolve audio and DRM? d) how to lock the media controller pipeline between enabling a pipeline and starting it How to do complex pipelines in DVB?The DVB demux can filter MPEG-TS traffic (either in hardware or in software) and can send multiplexed TS to the dvr node, elementary streams to the demux node and can create network interfaces for elementary streams (ES) via the net node. A given set of elementary streams can go to one of those three options only, or it can be sent directly to a GPU and/or an ALSA pipeline. There is support for hardware PID filtering at the Kernel, but no support (yet) for a real hw demuxer that splits the MPEG TS into separate DMA MPEG-TS and/or ES streams. Frontend device node is to be attached to the demod entity and it will control the demod, the tuner and a possible LNA via the active Media Controller links. The dvr/net/demux device nodes are attached to the demux entity. The net interfaces are not (yet) represented via MC: we need the ability to remove entities dynamically for that, and we are not really sure if we want this at all. So, it as agreed to wait for support for removing entities to arrive, then this need can be discussed again. For now we can safely assume that there is only one Satellite Equipment Control (SEC) in each active data path that goes through a tuner/demod. So each frontend will control just one SEC. Should we encounter really complex scenarios, then we should consider having device nodes for SEC entities. It was decided that:
2) Media TokensShuah submitted some RFC Patches: https://git.kernel.org/cgit/linux/kernel/git/shuah/linux.git Changes from the previous RFC:
It was decided that:
3) FPGA/Project ARA: dynamic reconfiguration - http://www.projectara.comPartial pipeline removal: controlled removal in the case of FPGA reconfiguration. subdevs/entities will be removed: unsupported today. No notification in MC when things change: we likely need an event mechanism. Adding entities: doable, might need to add links in a 'pending' state, to be made into a normal link once all streaming is stopped. Subdevs: add refcounting, remove calls subdev_unregister(). Internal release callback when the refcount goes to 0. Removal of subdevs will lead to holes (missing entities) in the MC graph. Reuse entity IDs? Mauro doesn't like it, Laurent/Hans undecided. If one entity has a pointer to another it has to take a refcount. Possible locking issues. Needs analysis. 4) Update on ongoing projectsHans Verkuil presented the V4L2 updates slide deck, with a series of proposed updates to the V4L2 API.5) Android Camera v3The Khronos OpenKCam API addresses the same needs as the Android Camera HAL v3 API, and is quite similar in concept. We should make sure that our API can support OpenKCam. The specification isn't public, but it's based on the FCam API (Nokia research project) which should be available publicly. |
||||