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.

Attachment: pgpecmHkhJUfL.pgp
Description: PGP signature

Reply via email to