Development of Basic Editing Capabilities for Libreoffice for Android – Milestone 2

Total Page:16

File Type:pdf, Size:1020Kb

Development of Basic Editing Capabilities for Libreoffice for Android – Milestone 2 Work Report: TDF0002 – Milestone 2 Development of Basic Editing Capabilities for LibreOffice for Android – Milestone 2 This project targets implementing basic editing in the LibreOffice for Android code. The second milestone demonstrates that the functionality required for the project is complete. Ta le of Contents Development of Basic diting !apabilities for LibreOffice for Android – #ilestone $...........................% Overvie& of the Tas'...................................................................................................................................... $ Addressing !omments from #% Acceptance...........................................................................................$ Documentation concerns........................................................................................................................$ Ne& bullet not appearing........................................................................................................................$ Tap)to)edit not &or'ing in !alc.............................................................................................................* +election and cursor at une,pected location in -mpress....................................................................* $.%.6 /%0.1.61 2erformance !onsiderations, +upport for Open4L..........................................................5 $.%.7 /%0.1.71 7endering of +elections on Overlays..................................................................................8 9riter selections........................................................................................................................................ 8 -mpress:Dra& selections.......................................................................................................................... 8 !alc selections........................................................................................................................................... $.%.8 /%0.1.81 7outing of Application -nformation from the Program #odule<s !ore........................6 The other &ay around, routing the information from Android to the program module=s core> manipulating the selections....................................................................................................................; $.%.9 /%0.1.91 Te,t, Tables for 9riter and -mpress, Tables for !alc, Pictures and +hapes....................? Development and Documentation...........................................................................................................%0 !ommunity ngagement : Public Promotion.........................................................................................%0 !onclusion..................................................................................................................................................... %0 Appendi, A: !ommits 7elated to Deliverables.......................................................................................%% Appendi, B: !alc Tiled 7endering -mplementation...............................................................................%8 Appendi, !: !ommits 7elated to Android 9or'....................................................................................%8 Appendi, D: 4eneral Android and Other Bug)fi,ing and !leanups...................................................%8 Appendi, : 4t'Tiled7enderer Development Test)bed.........................................................................%. [email protected] ☎ @55 %$$* *.$ ?.6 Work Report: TDF0002 – Milestone 2 "vervie% of t&e Task The first #ilestone &as to deliver five of the relevant $.% items from the contract " including relevant items from $.$ and $.*. The final consolidated contract re)numbered the +O9 headings3 thus all headers mar'ed %0.%., are referred to as $.%., in the contract te,t. 9e provide both numberings in the heading hoping to clarify things in this regard. The five items completed for #ilestone % &ere> $.%.% /%0.%.%13 $.%.$ /%0.%.$13 $.%.* /%0.%.*13 $.%.5 /%0.%.51 and $.%.8 /%0.%.81. #ilestone $ completes the remaining items. Addressing Comments from M' Acceptance Documentation concerns 9e have improved documentation at several levels3 as planned, since #%> %. The Android Aava UI code /each class and method added during this &or'1 no& has javadoc comments. $. (ot only the editing-related, but all other LibreOfficeKit A2I methods have do,ygen comments. *. Architecture of the Android part is no& documented in android/READ#E. 5. As before3 architecture of LibreOfficeKit is documented in libreoffice'it:READ# 3 and each ne&ly introduced !++ class and method have do,ygen comments. In addition to documenting every method and class that &e added3 &e have gone further to document some methods that &ere simply altered or pre)date the Deliverables. Revie&ers should be a&are that this e,tra &or' &as done on a best)effort basis and that not all pre)e,isting methods /particularly trivial ones1 are commented. Additionally3 &e also improved the +drObject:dra&inglayer related documentation in sv,:READ# . )e% (llet not appearing There &as a problem &ith 'eyboard input handling: every other call bet&een Android and the core calls &as e,ecuted on a thread &hich ta'es the solar mute,. In contrast3 'eyboard events &ere posted to the main loop of the soffice thread. The result of that &as that in case of many Android to core calls3 the main loop e,ecuted its scheduled events &ith in a delayed manner. 9e have fixed that3 so no& every action is e,ecuted on a thread. Our testing sho&s that this fixes the effect that some users e,perienced missing : delayed processing of 'eyboard input. Figure 1: Bullet inserted to the reference ODT document [email protected] ☎ @55 %$$* *.$ ?.6 Work Report: TDF0002 – Milestone 2 Tap*to*edit not %orking in Calc The contract &as &ritten &ith the assumption that !alc tiled rendering is complete3 and only the editing there is in scope. This &as not the case3 the tiled rendering &or'ed only for very basic use cases3 and did not even render the test document correctly. Figure 2: Tap to edit, in Calc. In this area &e have gone far further than the contract anticipated, and implemented the missing functionality. On top of this &e &ere able to improve the input handling /both soft 'eyboard and touch) in !alc &hich no& &or's nicely. +election and c(rsor at (nexpected location in Impress #% had no e,plicit support for the Impress editeng cursor and selections that &e &ould implement3 the &or' so far &as simply e,posing 9riter shapes functionality as)is. +ince then, &e have audited all outgoing Impress callbac's and done the necessary fixing such that all outgoing coordinates are in T9-2s /in some cases they &ere in hundredths of millimeter1. This corrects various 'eyboard and selection position/siDe issues. Figure 3: Cursor and selection at expected position in mpress. [email protected] ☎ @55 %$$* *.$ ?.6 Work Report: TDF0002 – Milestone 2 2.'./ 0'0.'./) 2erformance Considerations, +(pport for "pen4! The &or' as it is uses OpenGL on the device in the sense that the bitmaps /tiles1 provided by the LibreOfficeKit are up-loaded as OpenGL te,tures to the 42B and handled there to provide a composited vie& at the end, &hich gives nice panning and Dooming e,perience. 9e evaluated the state of porting E!L to OpenGL. At the time of outlining the contract3 there &as hope that OpenGL &ill be used by default on the des'top by no& and ripe for re)use on Android. That did not happen yet> OpenGL on the des'top is still hurt by some lifecycle problems3 and a fe& rendering artifacts have to be fixed before that can happen. This means &e continue to use the basegf, !2U rendering. 9e have evaluated the performance3 and after some optimiDation found it to be acceptable> There is no need to provide a cumbersome non)9F+-9F4 overlay for editing. Gor image and shape resiDing, instant re)layouting &ould be e,pensive and problematic from a UI perspective3 so &e sho& a previe& of the bounding bo,3 and resiDe and re)layout only after the final bounding bo, position and siDe is 'no&n. 9e found t&o scenarios &here performance &as really poor> %. On loading Impress documents3 not only the main slide vie&3 but also the slide sorter &as rendered /invisibly1 in the bac'ground. The Android-specific mobile)config.py script3 that adapts the des'top default config to Android requirements no& disables the slide pane by default. $. 9e had a loo' at the amount of invalidations after different actions3 and found that initially Impress re) dre& the current slide si, times on each touch event> &hich made editing slo&er than necessary. This &as a tiled-rendering-specific quir' fixed by not changing map)mode too often. After the fixes3 &e found the Impress te,t editing performance acceptable. Another performance)related problem &as that in some cases &e &ere providing the tiles too quic'ly> LibreOfficeKit did not &ait for the 9riter layout to finish3 so the result &as sometimes incomplete. The presence of these partially rendered &hite tiles caused significant ugliness &hen Dooming in some cases. This is no& fixed, no tile is handed out till the relevant part of the layout is finished. This means that &e can still sho& the first page of a document in advance of subsequent pages= layout calculation3 and still be correct. Figure !: Tile showing the #rst page, before. Figure %: Tile showing the #rst page, after. 2erformance could be further improved in the future using a profiler on Android to see &hen the time is spent on the !2B
Recommended publications
  • Libreoffice 10Th Anniversary Digital Sovereignty & Open
    LibreOffice 10th Anniversary Digital Sovereignty & Open Document Standards Italo Vignoli 10 Years / 20 Years July 19, 2000: Sun announces OpenOffice.org Sept 28, 2010: OpenOffice.org community announces LibreOffice Timeline 35 years since Marco Börries releases the first version of StarWriter in 1985 2009: Oracle acquires Sun OpenOffice vs LibreOffice SEPTEMBER 28, 2010 OpenOffice.org Community announces The Document Foundation The community of volunteers developing and promoting OpenOffice.org sets up an independent Foundation to drive the further growth of the project The brand "LibreOffice" has been chosen for the software going forward Gamalielsson, J. and Lundell, B. (2011) Open Source communities for long-term maintenance of digital assets: what is offered for ODF & OOXML?, in Hammouda, I. and Lundell, B. (Eds.) Proceedings of SOS 2011: Towards Sustainable Open Source, Tampere University of Technology, Tampere, ISBN 978-952-15-2718-0, ISSN 1797-836X. LibreOffice 3.3 at FOSDEM 2011 Roadmap to the Future … • Time based, six-monthly release train … • Synchronised with the Linux distributions cadence • i.e. a normal Free Software project • Rapid fire, (monthly) bug-fix release on stable branch The Document Foundation The Document Foundation Founding Principles COPYLEFT LICENSE NO CONTRIBUTOR AGREEMENT MERITOCRACY COMMUNITY GOVERNANCE VENDOR INDEPENDENCE LibreOffice Main Asset Incredible Easy Hacks Huge Mentoring Effort 100 200 300 400 500 600 0 Sep 10 Oct 10 Nov 10 CumulativeNumber of LibreOffice New Code Committers New Hackers New Dec
    [Show full text]
  • Collabora 2017 16X9
    GStreamer in the world of Android Camera 3 Olivier Crête Open First Who am I ? ● GStreamer at Collabora since 2007 ● Started with VVoIP: Telepathy & Farstream ● Helps our customers use GStreamer – Many hardware integration projects 2 What is Camera 3? ● New Camera API style ● Introduced by Android 5.0 in 2004 ● Exposes modern SoC cameras 3 Modern SoCs? ● Used in all phones ● Multiple hardware blocks ● Configurable hardware pipeline ● Signal level transfer 4 Features ● Multiple streams from same sensor – Different characteristics for each ● Request based – Pull instead of push 5 What is a Request? ● Request to capture one frame ● Per request parameters ● Enables – HDR – Burst captures – Traditional video: timed requests 6 Existing APIs ● Linux: Media Controller – Requires per-hardware userspace code ● Android has HAL for this – Generic Linux has nothing – Intel has icamerasrc ● Android Java/NDK Camera2 API 7 Our design ● New base class – Not GstBaseSrc ● We tried, it was a huge pain ● Multiple source pads – Request pads – Stream APIs on pads 8 Pad API ● Per stream properties using GObject Properties ● Two types based on Caps frame rate 9 Caps frame rate = 0 / 1 ● Manual request using action signal or Ginterface ● Start/Stop method to start bursts – Possibly infinite bursts 10 Caps Frame rate > 0 ● Automatic timed requests based on framerate ● Stop on not-linked – Restart on reconfigure 11 Limitations ● Media Controller not dynamic – Only allow caps change in the READY→ PAUSED transition – Maybe only if more than one stream (pad) ● Some “” stream properties apply globally ¯\_( )_/¯ ツ 12 Android HAL limitations ● Requires single threaded access ● Recommendation: – One thread to interact – Queues frames for each pad – Streaming threads pick up from there ● Specific to Android HAL 13 Implementation status ● Only horribly prototype ● Code has no value – Based on GstBaseSrc – Tested with a single Android HAL ● Will not publish ● Code by Nicolas, Vincent P and Wonchul 14 Thank you!.
    [Show full text]
  • COPYRIGHT NOTE: This Source Code, and All of Its Derivations, Is Subject to the "ITU-T General Public License"
    COPYRIGHT NOTE: This source code, and all of its derivations, is subject to the "ITU-T General Public License". Please have it read in the distribution disk, or in the ITU-T Recommendation G.191 on "SOFTWARE TOOLS FOR SPEECH AND AUDIO CODING STANDARDS". This code has (C) Copyright by AT&T Corp. ** Copyright (C) 2010 David Schleef <[email protected]> Copyright (C) 2010 Sebastian Dröge <[email protected]> Copyright (C) <2011> Intel Corporation Copyright (C) <2011> Collabora Ltd. Copyright (C) <2011> Thibault Saunier <[email protected]> &copy; Panasonic System Networks Co., Ltd. 2012 &copy; Panasonic System Networks Co., Ltd. 2013 (c) 2003 Ronald Bultje <[email protected]> (c) 2003 Ronald Bultje <[email protected]> (c) 2005 Michal Benes <[email protected]> (c) 2003 Ronald Bultje <[email protected]> (c) 2005 Michal Benes <[email protected]> (c) 2008 Sebastian Dröge <[email protected]> (c) 2011 Mark Nauwelaerts <[email protected]> (C) 2003 Ronald Bultje <[email protected]> (C) 2006 Tim-Philipp Müller <tim centricular net> (c) 2003 Ronald Bultje <[email protected]> (c) 2006 Tim-Philipp Müller <tim centricular net> (c) 2008 Sebastian Dröge <[email protected]> (c) 2011 Debarshi Ray <[email protected]> (c) 2003 Ronald Bultje <[email protected]> (c) 2011 Debarshi Ray <[email protected]> (c) 2004 Arwed v. Merkatz <[email protected]> (c) 2004 Ronald Bultje <[email protected]> (c) 2005 Arwed v. Merkatz <[email protected]> (c) 2005 Ronald S. Bultje <[email protected]> (c) 2005 Ronald S.
    [Show full text]
  • Resuing Libreoffice in Your Application
    Reusing Libreoffice in your application GUADEC 2014 2014-07-26 1 GUADEC 2014 - Reusing LibreOffice in your application Overview Short bio LibreOfficeKit Document Liberation Features Libreoffice & Gnome How to get involved 2 GUADEC 2014 - Reusing LibreOffice in your application Bio math student at Karlsruhe Institute for Technology LibreOffice developer member of the ESC working on calc, chart2, testing framework maintainer for cppunit co-maintainer for orcus, ixion, mdds work part time for Collabora on LibreOffice 3 GUADEC 2014 - Reusing LibreOffice in your application LibreOfficeKit 4 GUADEC 2014 - Reusing LibreOffice in your application I'm not doing the work currently moved forward by Andrzej Hunt as GSoC desing to large degree by Michael Meeks 5 GUADEC 2014 - Reusing LibreOffice in your application Design known also as liblibreoffice has been renamed recently tiny static library exposes Libreoffice functionality at run-time simple interface C, C++ and Java bindings 6 GUADEC 2014 - Reusing LibreOffice in your application What is already implemented? stable import export unstable tiled rendering improved API handling 7 GUADEC 2014 - Reusing LibreOffice in your application Example 8 GUADEC 2014 - Reusing LibreOffice in your application Ideas Have a simple API that exposes the most common functions for what would you use the API? which features would you need? Allow fast rendering of documents for any application tiled rendering Gnome Documents? avoid UNO and/or unoconv no setUp/tearDown for repeated usage 9 GUADEC 2014 - Reusing LibreOffice
    [Show full text]
  • Let's Make GNOME a Collaborative Desktop
    Let’s make GNOME a collaborative desktop Let’s make GNOME a collaborative desktop Guillaume Desmottes ([email protected]) Collabora Ltd. (www.collabora.co.uk) 7 July 2009 Let’s make GNOME a collaborative desktop About Me Plan About Me Collaboration in Sugar Telepathy Introduction D-Bus API Implementation Tubes Collaboration in GNOME Tube integration Deeper Telepathy integration Get more from XMPP Conclusion Let’s make GNOME a collaborative desktop About Me About Me Let’s make GNOME a collaborative desktop Collaboration in Sugar Plan About Me Collaboration in Sugar Telepathy Introduction D-Bus API Implementation Tubes Collaboration in GNOME Tube integration Deeper Telepathy integration Get more from XMPP Conclusion Let’s make GNOME a collaborative desktop Collaboration in Sugar Sugar I OLPC User interface 1 I Sugarlabs I Education Plateform I Collaboration Oriented 1http://www.sugarlabs.org/ Let’s make GNOME a collaborative desktop Collaboration in Sugar Sugar Activity I Sugar Application I Shareable I Invite friends Let’s make GNOME a collaborative desktop Collaboration in Sugar Mesh View I Friends I Shared Activities Let’s make GNOME a collaborative desktop Collaboration in Sugar Journal I Previous activities I Participants I Share entry (File Transfer) Let’s make GNOME a collaborative desktop Collaboration in Sugar Write Together Let’s make GNOME a collaborative desktop Collaboration in Sugar Read Together Let’s make GNOME a collaborative desktop Collaboration in Sugar Browse the Web Together Let’s make GNOME a collaborative
    [Show full text]
  • Lightning Talks
    X.Org Developer’s Conference 2019 Report of Contributions https://xdc2020.x.org/e/XDC2019 X.Org Develope … / Report of Contributions State of the X.org Contribution ID: 8 Type: not specified State of the X.org Friday, 4 October 2019 14:50 (20 minutes) Your secretary’s yearly report on the state of the X.org Foundation. Expect updates on the freedeskop- top.org merger, internship and student programs, XDC, and more! Code of Conduct Yes GSoC, EVoC or Outreachy No Presenter: VETTER, Daniel (Intel) Session Classification: Main Track September 26, 2021 Page 1 X.Org Develope … / Report of Contributions Everything Wrong With FPGAs Contribution ID: 10 Type: not specified Everything Wrong With FPGAs Friday, 4 October 2019 11:40 (45 minutes) FPGAs and their less generic cousin, specialized accelerators have come onto the scene in a way that GPUs did 20 or so years ago. Indeed new interfaces have cropped up to support them in a fashion resembling early GPUs, and some vendors have even opted to try to use DRM/GEM APIs for their devices. This talk will start with a background of what FPGAs are, how they work, and where they’re currently used. Because the audience is primarily people with graphics/display background, I will make sure to cover this well. It will then discuss the existing software ecosystem around the various usage models with some comparison of the existing tools. If time permits, I will provide a demo comparing open tools vs. closed ones. The goal of the talk is to find people who have lived through DRI1 days and are abletohelp contribute their experience (and coding) toward improving the stack for the future accelerators.
    [Show full text]
  • Multimedia 1 Contents
    Multimedia 1 Contents 2 Requirements ................................ 2 3 Hardware-accelerated media rendering ............... 2 4 Multimedia Framework ....................... 2 5 Progressive download and buffered playback ............ 3 6 Distributed playback support .................... 3 7 Camera display on boot ....................... 3 8 Video playback on boot ....................... 3 9 Camera widget ............................ 3 10 Transcoding .............................. 4 11 DVD playback ............................ 4 12 Traffic control ............................. 4 13 Solutions .................................. 5 14 Multimedia Framework ....................... 5 15 Hardware-accelerated Media Rendering .............. 5 16 Buffering playback in GStreamer and clutter-gst ......... 6 17 Distributed playback ......................... 7 18 Camera and Video display on boot ................. 7 19 Camera widget and clutter-gst ................... 8 20 Transcoding .............................. 9 21 DVD playback ............................ 9 22 Traffic control ............................. 9 23 This document covers the various requirements for multimedia handling in the 24 Apertis platform. 25 The FreeScale I.MX/6 platform provides several IP blocks offering low-power 26 and hardware-accelerated features: 27 • GPU : For display and 3D transformation/processing 28 • VPU : For decoding and encoding video streams 29 The Apertis platform will provide robust and novel end-user features by getting 30 the most out of those hardware components.
    [Show full text]
  • Resurrecting Personas of Libreoffice
    Collabora Productivity Resurrecting Personas for LibreOffice By Muhammet Kara Consultant Software Engineer at Collabora Productivity @muhamm3tkara Collabora Productivity www.collaboraoffice.co m Muhammet Kara Work ● Working on the core & UI ● Since Dec 2018 ● Was @Pardus project before Community ● LibreOffice certified developer ● Long-time GNOME contributor ● Member of The Document Foundation & the GNOME Foundation Collabora Productivity www.collaboraoffice.co m Mozilla Themes, aka Personas Tools > Options > Personalization > Load Firefox theme ● Allows applying Mozilla Firefox themes on LibreOffice ● Can select a pre-installed theme ● Can search online for new ones ● Changes background of main menus, and toolbars ● Relies heavily on Mozilla add-ons API & web content Collabora Productivity www.collaboraoffice.co m Past Some of the issues ● Performance & reliability issues ● Error-prone ● Unrelated/incomplete categories ● Getting broken & fixed every now and then ● Simply not working / is practically dead Collabora Productivity www.collaboraoffice.co m Performance & Reliability Issues ● ~40 seconds to search for a keyword ● Fetching whole html pages ● Relying on the design & content of the html (easily broken) ● Multiple & repetitive string searches ● Overwriting existing data every time ● Using unreliable lib for download Collabora Productivity www.collaboraoffice.co m Categories ● 15 on Mozilla & only 6 on LibreOffice ● There is no LibreOffice category ● Not even actual categories! Collabora Productivity www.collaboraoffice.co m Fetch/Download
    [Show full text]
  • Collabora Online & Owncloud
    LIBOCON19 Collabora Online & ownCloud Collabora Productivity Michael Meeks <[email protected]> General Manager at Collabora Productivity @michael_meeks, mmeeks #libreoffice-dev irc.freenode.net “Stand at the crossroads and look; ask for the ancient paths, ask where the good way is, and walk in it, and you will find rest for your souls...” - Jeremiah 6:16 Collabora Productivity What is Collabora Online ? Documents + Spreadsheets + Slides • Viewing and Collaborative editing Excellent interoperability with Microsoft formats • DOCX, DOC, RTF, XLSX, XLS, PPTX, PPT Many other Import filters / Viewin !or • PDF, Visio, P"#lisher $$$ Power!"l %&SIW' ren(erin On-premise Integration with ownClo"($ *r+hitecture , a #et on CP- threa(s . networ/ 0 collabora online . com Collabora Productivity Overview Collabora Shared mission / raison d’etre: ● >100 staff, Cambridge & Montreal ● Make Open Source rock: simple goal of the shareholders ● Parent company – 14 years old ● We re-invest your support into FLOSS software Collabora Productivity – Office Productivity Leaders in the LibreOffice Community ● ~30 staff – 6 years old (last week) ● ~300 developers/year, ~1000 contributors ● 50% C’bra, 50% me ● Collabora Online (DE) – 20+ million docker images collabora online . com ownCloud-2019-09 .. 3 Collabora Productivity Collabora Parent: eg. Monado / OpenXR – play later ... Monado Fun & Games for hackers on Linux ● Founders & driving force behind ● Get involved FLOSS VR / XR ● https://gitlab.freedesktop.org/monado ● When the world goes this way ● https://monado.freedesktop.org/ ● Vital to have an open-source run- time, stack, drivers & community. collabora online . com Nextcloud-2019-09 .. 4 Collabora Productivity Collabora Productivity: examples One of the top three Italian banks 20,000 seats deployed in all their branch offices.
    [Show full text]
  • Libreoffice and Collabora
    Exploiting Concurrency How I stopped worrying and started threading Michael Meeks [email protected] mmeeks / irc.freenode.net Collabora Productivity “Stand at the crossroads and look; ask for the ancient paths, ask where the good way is, and walk in it, and you will find rest for your souls...” - Jeremiah 6:16 @CollaboraOfficeFOSDEM 2017 | Michael Meekswww.CollaboraOffice.com 1 / 15 The exciting (insurmountable?) opportunity ● Processor clocks are stymied at 3-4Ghz ● Various clever tricks improve IPC still ● But the real IPC wins: ● Those other cores – 16 threads: the new normal ● If we use a single thread: we waste 90+% FOSDEM 2017 | Michael Meeks 2 / 15 So where are we at ? LibreOffice Threading Status ● We use lots of threads ● Start impress: 6 threads. – VCL / main – thread – custom allocator thread: rtl_cache – factory thread → accept on argument pipe. – update-check thread → in a sleep. – gio thread → ? pulseaudio thread → ? ● Windows: worse → GDI + real-time timer threads ● Approximately 1+epsilon – zero concurrency FOSDEM 2017 | Michael Meeks 4 / 15 Its not all bad ... ● We have some threads that make sense ● eg. writing configuration thread (short lived) ● Thread-pool for larger tasks ● Large high-fidelity image scaling: – we parallelize nicely: easy to partition task. ● Zipping → ODF & DOCX – Deflation → expensive → implemented this. – Turns out the big problem: images → solved. ● XML parsing / tokenize / sheet loading. ● Drawing Layer / 3D / Software rendering fallback FOSDEM 2017 | Michael Meeks 5 / 15 Why thread ? ● Benefits: ● Focus limited CPU resources; Limited !? – Branch predictor complexity – L1 data cache size – memory bandwidth – Instruction decode logic & micro-op caches ● Splitting your work into a series of passes: – Each going in a thread → maximizes resource use ● eg.
    [Show full text]
  • COLLABORA JOINS GENIVI ALLIANCE UK Open Source
    COLLABORA JOINS GENIVI ALLIANCE UK open source software consultancy adds weight to industry group that enables quicker route to market for in-vehicle entertainment Cambridge, United Kingdom, October 12, 2011 -- UK-based multimedia and open source turnkey solutions company Collabora has today announced it has become an Associate Member of the GENIVI Alliance. The GENIVI Alliance gathers companies from the entire In-Vehicle Infotainment (IVI) industry, including: software, consumer electronics and communication, and major vehicle manufacturers including BMW, Hyundai Motor Group, PSA Peugeot-Citroen, Jaguar Land Rover, General Motors and Renault. Collabora will contribute to make GENIVI an open source platform with best of breed multimedia support and ease of deployment. "GENIVI is a critical organisation in enabling a quick route to market for new and innovative in-vehicle entertainment solutions," said Rob McQueen, Collabora co- founder and CTO. "We are regarded as one of the foremost open source consultancies and as the company behind leading multimedia technologies like the GStreamer multimedia framework, the Telepathy and Farstream real-time communications stack and with the Rygel DLNA implementation, we are convinced we can help propel GENIVI forward as a cutting edge platform." The GENIVI platform is built on top of the Linux kernel, GStreamer, D-bus, Webkit and other open source technologies in which Collabora is a major contributor. Collabora engineers have been contributing to the Linux community for more than six years, becoming one of the most widely-respected and effective open source consulting companies. The company is seen as a pioneer for its work in system infrastructure on open source platforms in fields such as multimedia, web technologies and Inter process communications (IPC).
    [Show full text]
  • Making Sense of the Audio Stack on Unix
    Making Sense of The Audio Stack On Unix Patrick Louis 2021-02-07 Published online on venam.nixers.net © Patrick Louis 2021 This publication is in copyright. Subject to statutory exception and to the provision of relevant collective licensing agreements, no reproduction of any part may take place without the written permission of the rightful author. First published eBook format 2021 The author has no responsibility for the persistence or accuracy of urls for external or third-party internet websites referred to in this publication, and does not guarantee that any content on such websites is, or will remain, accurate or appropriate. Contents Introduction 4 Hardware layer 6 Analog to Digital & Digital to Analog (ADC & DAC) 7 Libraries 10 Audio Driver 11 Advanced Linux Sound Architecture (ALSA) 15 Open Sound System (OSS) and SADA 22 Sound Servers 25 sndio 26 aRts (analog Real time synthesizer) and ESD or ESounD (Enlight- ened Sound Daemon) 28 PulseAudio 29 PulseAudio — What Is It? ........................ 29 Pulseaudio — Overall Design ....................... 30 Pulseaudio — Sink, Sink Input, Source, and Source Input ....... 32 Pulseaudio — Internal Concepts: Cards, Card Profile, Device Port, Device ................................. 34 Pulseaudio — Everything Is A Module Thinking ............ 35 Pulseaudio — Startup Process And Configuration ........... 36 Pulseaudio — Interesting Modules And Features ............ 38 Pulseaudio — Tools ............................ 40 Pulseaudio — Suspending ......................... 41 JACK 42 PipeWire 45 Conclusion 53 Bibliography 55 3 Introduction Come see my magical gramophone Audio on Unix is a little zoo, there are so many acronyms for projects and APIs that it’s easy to get lost. Let’s tackle that issue! Most articles are confusing because they either use audio technical jargon, or because they barely scratch the surface and leave people clueless.
    [Show full text]