lumiera_/doc/devel/rfc/DataBackend.txt
Ichthyostega 23f6f731f1 DOC: update technical docs to reflect recent development
At various places, concepts and drafts from the early stage of the
Lumiera Project are still reflected in the online documentation pages.
During the last months, development focussed on the Render Engine,
causing a shift in some parts of the design, and obsoleting other
parts altogether (notably we consider to use IO_URING for async IO)
2023-10-25 00:02:08 +02:00

70 lines
2.1 KiB
Text

Design Process : Data Backend
=============================
[grid="all"]
`------------`-----------------------
*State* _Parked_
*Date* _2007-06-04_
*Proposed by* link:ct[]
-------------------------------------
DataBackend
-----------
Describe the DataBackend functionality.
Description
~~~~~~~~~~~
This just starts as braindump, I will refine it soon:
. handle all files lumiera uses at runtime (media, edl, temp data)
. manage filehandles, lumiera might use more more files than available
filehandles
. manage temporary data
. do caching
. io will be blocked where the backend tells the core where it can expect the
data (not read()/write() like)
. kindof garbage collector
. do prefetching
. no/low latency for the core the prefetcher and other things ensure that data
is available in time
. translate any input into a format which the lumiera core understands (demux,
decode)
. same for encoding to output formats
. offer a plugin API for encoders/decoders
. maybe network backend for serving data to distributed rendernodes
. can do some load control or management (trigger adaptive rendering if system
is idle etc)
. pull based arch
.Notes:
* ichthyo wrote also some ideas on
http://www.pipapo.org/pipawiki/Cinelerra/Developers/ichthyo/Cinelerra3/Architecture[Architecture] and a sketch/draft about http://www.pipapo.org/pipawiki/Cinelerra/Developers/ichthyo/Possibilities_at_hand[things possible in the middle layer]
Parked
~~~~~~
The underlying principles remain valid, yet development took another
direction during the last years. Special frameworks for high-performance
asynchronous IO will be used for dedicated use cases.
Ichthyostega:: '2023-10-24' ~<prg@ichthyostega.de>~
Comments
--------
Sounds fairly complete to me
-- link:Ichthyostega[] [[DateTime(2007-06-16T23:19:44Z)]]
Developement takes place in the repo now
-- link:ct[] [[DateTime(2007-06-27T16:14:56Z)]]
Development took another direction over the last years;
the former »Backend« layer is restructured
-- link:Ichthyostega[] [[DateTime(2023-10-24T22:45:55Z)]]
''''
Back to link:/documentation/devel/rfc.html[Lumiera Design Process overview]