Since I want to segregate the code according to the domain,
several methods must be provided to the video display to conduct
a properly synchronised handover of video pixel data; by using
`Glib::Dispatcher` as base class, all aspects of feed synchronisation
can be packaged into a single connection interface, without having
to share implementation details between the video display and player.
This implies a basic decision regarding the buffer and state data to use,
and how this can be defined, parameterised and passed between threads.
I decided to place separation of domains first and to prefer
using a functional callback over using a shared data structure.
leaning heavily on the similar structure used for last year's
FrOSCon talk regarding video output (by Benny Lyons and myself).
However, this time we'll use a process state object (the player)
and, furthermore, there is some cross-wiring of components involved...
Hereby I use the setup and framework from last year's FrOSCon talk
to bootstrap the demo example code for the talk at FrOSCon-26
Notably, the modern OpenGL output pipeline based on EGL is intended for reuse.
Insights in this code were based essentially on existing code bases under GPL.
Furthermore, using GPL is seen as a statement in support of "The Commons"
Will Godfry hatte mich gebeten, den Yoshimi-Workshop gemeinsam zu machen.
Zunächst hatten wir einen typischen Workshop geplant, dann aber nur 45Minuten
bekommen. Die reduzierte Version war mehr eine Demo-Session.
Hier auch einige Punkte zur Reisevorbereitung notiert,
sowie diverse praktische Erfahrungen.
Und eine Notiz zum Fazit
- noch zwei Folien rausgenommen
- auf der Reise im Hotel geübt und Übergänge optimiert
- trotzdem lande ich stets bei 60 Minuten
- beim tatsächlichen Vortrag habe ich noch fast
5 Minuten für Fragen rausgeholt
https://media.ccc.de/v/froscon2024-3133-alt_werden_mit_c