Hi, I was thinking about the Freevo 2.0 roadmap and when 2.0 will be out. The list is long and the number of developers is small, so when everything goes right, 2.0pre1 will be out at the and of the year.
Now the roadmap and design changes I want to make for 2.0pre1 1. Split Freevo in pieces. Right now some parts of Freevo are already moved out into the kaa media repository. But we still have many different applications in the Freevo tree (helpers). It makes no sense to install everything for Freevo just to run a recordserver and a machine. So I want to split Freevo in the following modules: freevo-core: Some basic stuff needed for all (or some) modules. This includes the config reader and the mbus client parts of recordserver and epg. freevo-ui: The ui part what we call Freevo right now freevo-tv: The recordserver. It is more than a recordserver right now. It also handles tv watching (live tv) and will be the epg master (see below) freevo-record: The current 'recorder' helper and all the tv card specific stuff. It is based on kaa.record. freevo-webserver: All the stuff for the webserver The helpers will be moved to the modules where needed. E.g. tvstat will be moved to freevo-record, tvgrab to freevo-tv. Other new modules could be an encoding server and a gnome/kde frontend for the recordserver. Sinec we now use svn, we can move stuff without loosing the file history. 2. Databases We will use two databases in Freevo, both sqlite based. One is the epg and the other the mediadb/vfs. Both databases are host local. If you have more than one machine, you have more independend vfs databases and more epg databases. The database on the recordserver is the master and all the other epg databases will sync to it. To make it easier, a database has only one writer and several reader. When the epg database updates itself, a subprocess will be created to do the writing. The mediadb also reads the db from inside the process but will use an extra process (one on each host) to do the writing and monitoring. EPG: freevo-ui has a thread for db reading (thread because of blocking, maybe it won't be a thread). It will ask freevo-tv from time to time about the db version number. If there are any changes, a process will be started to merge the updates. A webserver on the same pc may also see the changes, but since a process is already running for the update, it won't update. freevo-tv will run xmltv as primary source once a day. It will also check the dvb epg for some updates as secondary source. MediaDB: Freevo-ui will have a thread doing the queries and one process on each pc for writing and monitoring. Now you go into a dir. The thread will perform the db lookup but won't update the db on changes of files. It will send a 'monitor' request to the extra process. Now this process will check the files for updates and sends a signal back on changes. When the user wants to store something from inside freevo-ui, a save request with the data will be send to the extra process. 3. TV Much work to do on supporting analog tv cards, teletext and time shifting also needs some updates in xine. 4. Evas When the above is done, Tack should be finished with his work on kaa.canvas and we will integrate it into Freevo and drop kaa.mevas. That's a long list, if you want to help (e.g. create the mediadb, the encoding server or a gnome/kde recordserver client), contact me. Dischi -- The BEST part of waking up? Hitting the snooze button and going back to sleep.
pgpecmHkhJUfL.pgp
Description: PGP signature