GeeXboX: An Introduction to Enna Media Center
Zores, Benjamin
Enna is GeeXboX's next generation Media Center interface, built upon Enlightenment Foundation Libraries (EFL). It allows you to listen to your music files, watch your favorite movies, TV shows and photos across your network. It relies on libplayer multimedia A/V abstraction framework to control your preferred player and libvalhalla, a fast media scanner API that will grab metadata (covers, fan arts, song lyrics and so many more) from your multimedia contents. GeeXboX is a free embedded Linux distribution which aims at turning your computer into a so called HTPC (Home Theater PC) or Media Center. The GeeXboX project features both a LiveCD distribution and a standalone media center application (Enna); the project developed also several libraries (libplayer, libvalhalla) to enhance the multimedia experience under GNU/Linux.
 Hi. My name is Benjamin, as I said, and I'm the project leader of the Geeksbox Distribution for quite seven years now. We have designed a new media center application that I'm going to present to you guys now. So, again, Geeksbox is a major live CD multimedia distribution since 2003. Back at the time, there were only Muvix distribution for the one who might remember of it, who was also a live CD distribution. And the idea of the distribution at this time was to be able to turn the computer into full features set the boxes. At the time, many computers were at difficulties playing back several kind of videos of audio codecs or video codecs, whatever. And we wanted to make some distribution that only does this purpose. So the idea was that with a live CD, one can just boot his PC and be able to run every kind of multimedia content he has. Photos, videos, audio files, whatever. And we wanted it to be able to stream from various media locations. So we are able to read files from either your hard disk, from the NFS or from the network storage. Also, we wanted to add support for the UPNP or the LNA streaming Portugal. So again, also with the CDDA support and DVD support, analog TV support, DVD playback, this kind of thing. So at the time, it was a really small and tiny distribution which was at the very first release on this 3 megabit big or small, depends on the point of view. But it's something that really can boot your PC really quick. And as a live CD, you can also shut it down really quick. The idea was to replace the hardware set-up boxes. So when it was designed, it was the time of the first kiss set-up boxes, the first one that we were able to play the DVX files on your TV. So that was the idea of the distribution. So obviously, we had to make it fully controllable through your remote control, through LISC. And as you may see on the right, this is a screenshot of the interface, which honestly is quite ugly. And this is still the existing interface. And we have designed the new interface, which is called ENA, which aims at replacing this one. The Gizbox project was designed by a few employer developers, including myself. And as you may see, the design is quite simple because it uses the employer OSD interface. So it's also quite limited. Again as we are using right now the employer OSD interface, it is quite difficult to add any new functionalities. So what we wanted is to really split the media player interface from the user interface. Also with the Gizbox being completely based upon employer projects and being employer developers, we introduced many features that were not at this time in the regular employer project. So we introduced the support for the DVD nav, announced a lot of things in the OSD menu, add some TV control, LCD display supports, RTSP streaming and things like this. Of course, nowadays, all of these features have been included in the upstream project. But as a consequence, many of the users requested us that the features that Gizbox originally proposed, they requested us for these features to be able to be used in other distributions than Gizbox. So we had the willingness to create a new guy which had to be portable, which had to be configurable and extensible. So it has to work on any kind of display, whether it is frame buffer based or Xorg or OpenGL based, anything like this, and again, it had to be a standalone application that can run on any distribution, not just Gizbox. So the application that we are talking about is called Ena. You have on the right a few screenshots of the application, which as you can see is far different from the previous screenshot that you have seen of the current interface. Ena has been designed to be the GUI for the Gizbox 2.0 release. It's a media center application that is meant to be used as a home theater PC and is meant to run on low-resources computers. So the binary itself is only 250 kilobytes big. Of course, then you add the theme files which are composed of all the GPEGs, PNG and things like this, so it's quite an answer bit to the resource consumption. But we have decided to make the GUI realize on the Enlightenment Foundation Library's project. So we will see this a bit later on. But as for the graphical interface, so we realize on the EFL and as for the all of the multimedia playback capabilities and all the metadata retrieval, we rely on two separated projects which are called LeaPlayer and LeaValala, which are projects that have been created by the Github folks. So here you can see quite a simple interface, a view of what Ena really is. So Ena is in the green squares you have all the libs that have been designed by the Gixbox teams. So Ena itself which relies on the player AV framework and on the LeaValala metadata engine and for the graphical interface, it relies on the Enlightenment Foundation Library's or also known as the EFL, which mostly are the projects called Ena, EAT, E-Vas, E-core, Edge and Elementary. As for the LeaPlayer framework, it relies on different media player backends, so we can control Ampere, Xen, VLC, G-Streamer and of course this player controls the audio and video render layers. E-Vas itself is also used to control the video render for the graphic display, but it also is used in order to control the input layer. So one of the first library we designed is called LeaPlayer. This is a multimedia AV abstraction layer that was used to, I would say, to control various multimedia players. So the willingness is that some people, some of the users we have made some complaints that we are stick to Ampere and for some reason it was good in the past, it was maybe not as good as it used to be nowadays because VLC might be better for playing the net streams, Xen might be better for playing DVDs and things like this. So we have designed an AV abstraction layer that actually provides a generic API and this API allows us to control all of these players, so Ampere, Xen, VLC and G-Streamer. The two first ones are pretty much stable. The two last ones are pretty, in a pretty much experimental stage at the moment. So it basically can play but with still a lot of bugs. The application or the library has been designed to be fully milled and threaded and also thread safe. And it allows any front end to use it to control any media players through various audio and video renders, so as OSS projects for the audio ones and either the frame buffer, OpenGL, SDL, VDPIU, XL11 or X-Video for the video layers. This is some internal drawings of the lib player architecture. Just to say the slides will be available on our website, so as they are a bit complicated, if you want to spend any more time to check about the architecture, they will be available on our website. As for lib player, as I said, we have one public player API. This player API is used to expose the control to various media players. So what you have designed is this API and the front end, which at the moment is ENA only, but many other applications might not be able to use it. Just have to send some controls to a control queue. The controls can be very simple. They are the playback, stop, pause, seeking, backward, forward, any kind of things. And through this, we have a lot of internal structures that actually cause different wrappers. So when you register your player public API, you have to register a new player structure which you first define to be one of the four players that we support. And then the wrapper engine actually translates all the public API calls into one of the multimedia player API. So except from mPlayer, which by comparison to the other libraries isn't really a library, isn't a library. And so mPlayer only can be controlled through the slave mode, which is a FIFA-based mechanism. And we have implemented a complete wrapper that interacts with the players through this FIFA mechanism. One of the ideas of the player is to provide this video abstraction layer so that we might be able to control several new players or new things that might come in the future without having to change anything on the front end, so on the user interface. Next one that we use is LibValala. LibValala is a tiny media scanner library. It has been designed to feature high-performance and multi-streaded implementation. What it does is storing various information on your media files into a SQL Lite database. So in order to do that, it supports, it parses the audio-video stream properties through the FFNPEG project. And it also allows to grab many information from online websites in order to fetch covers, lyrics, synopsis, list of actors for your movies and things like this. On the bottom, you may see the different grabbers that we currently support. So as for the offline mechanisms, we support EXIF, FFNPEG and the NFF files. And for the online, we support different websites that provide such kind of information. This we probably won't spend much time on this, but this is some mechanisms, internal mechanisms of LibValala and how it works. So we have a scanner that actually calls many grabbers that can be, again, either offline or online and retrieves the various information from different content providers and store them within a database. If you're interested in the architecture, you may check this slide on the website. So for INA itself, again, a few more screenshots on the right, you may see it as it has been designed with embedded considerations in mind. So it has a law from print, and it also was meant to be user-convenient and plug-and-play. So the idea is that anyone without any computer skills is able to use the interface. As for now, we have many modules that has been designed, so basic features like the music player, the movie and TV show players, also photo viewer, weather forecast activities, and some online eBook reader that uses some content providers. So we have two at the moment. One is called the OneManga website and another is the GoComics one. So these are two websites where we can fetch eBooks or comics and things like this, and you can display them on your set-top box. As for the feature, as it was the case with GiggsBox, we support playing back from the local disk, from CDDA, DVD database, broadcast, podcast. We support the UPnP and DLNA playback. Also the application supports all the dynamic media detections through the UDAV library, so it's a replacement for the HAL that is currently dying. And so we may discover how many hard drive you have if you plug in a new USB key, it automatically appears on your applications and things like this. Again, it has been designed to be controllable through the keyboard, the mouse, or the touch screen. And as for the mid and long-term features, we expect to port it to Windows and to OSX. Currently it runs only on Linux and has been packaged to Ubuntu. And as you may see, many other features that might come like video and demand, voice over IP and things like this. We have the project is still young and a few announcements are due to spring. And it will be part of the GiggsBox 2.0 release that is supposed to be coming by the beginning of the month. Okay. So thank you for your attention. If you have any other questions, you can...
 Hi.  My name is Benjamin, as I said, and I'm the project leader of the Geeksbox Distribution  for quite seven years now.  We have designed a new media center application that I'm going to present to you guys now.  So, again, Geeksbox is a major live CD multimedia distribution since 2003.  Back at the time, there were only Muvix distribution for the one who might remember of it, who was  also a live CD distribution.  And the idea of the distribution at this time was to be able to turn the computer into full  features set the boxes.  At the time, many computers were at difficulties playing back several kind of videos of audio  codecs or video codecs, whatever.  And we wanted to make some distribution that only does this purpose.  So the idea was that with a live CD, one can just boot his PC and be able to run every  kind of multimedia content he has.  Photos, videos, audio files, whatever.  And we wanted it to be able to stream from various media locations.  So we are able to read files from either your hard disk, from the NFS or from the network  storage.  Also, we wanted to add support for the UPNP or the LNA streaming Portugal.  So again, also with the CDDA support and DVD support, analog TV support, DVD playback,  this kind of thing.  So at the time, it was a really small and tiny distribution which was at the very first  release on this 3 megabit big or small, depends on the point of view.  But it's something that really can boot your PC really quick.  And as a live CD, you can also shut it down really quick.  The idea was to replace the hardware set-up boxes.  So when it was designed, it was the time of the first kiss set-up boxes, the first one  that we were able to play the DVX files on your TV.  So that was the idea of the distribution.  So obviously, we had to make it fully controllable through your remote control, through LISC.  And as you may see on the right, this is a screenshot of the interface, which honestly  is quite ugly.  And this is still the existing interface.  And we have designed the new interface, which is called ENA, which aims at replacing this  one.  The Gizbox project was designed by a few employer developers, including myself.  And as you may see, the design is quite simple because it uses the employer OSD interface.  So it's also quite limited.  Again as we are using right now the employer OSD interface, it is quite difficult to add  any new functionalities.  So what we wanted is to really split the media player interface from the user interface.  Also with the Gizbox being completely based upon employer projects and being employer developers,  we introduced many features that were not at this time in the regular employer project.  So we introduced the support for the DVD nav, announced a lot of things in the OSD menu,  add some TV control, LCD display supports, RTSP streaming and things like this.  Of course, nowadays, all of these features have been included in the upstream project.  But as a consequence, many of the users requested us that the features that Gizbox originally  proposed, they requested us for these features to be able to be used in other distributions  than Gizbox.  So we had the willingness to create a new guy which had to be portable, which had to  be configurable and extensible.  So it has to work on any kind of display, whether it is frame buffer based or Xorg or  OpenGL based, anything like this, and again, it had to be a standalone application that  can run on any distribution, not just Gizbox.  So the application that we are talking about is called Ena.  You have on the right a few screenshots of the application, which as you can see is far  different from the previous screenshot that you have seen of the current interface.  Ena has been designed to be the GUI for the Gizbox 2.0 release.  It's a media center application that is meant to be used as a home theater PC and is meant  to run on low-resources computers.  So the binary itself is only 250 kilobytes big.  Of course, then you add the theme files which are composed of all the GPEGs, PNG and things  like this, so it's quite an answer bit to the resource consumption.  But we have decided to make the GUI realize on the Enlightenment Foundation Library's  project.  So we will see this a bit later on.  But as for the graphical interface, so we realize on the EFL and as for the all of the  multimedia playback capabilities and all the metadata retrieval, we rely on two separated  projects which are called LeaPlayer and LeaValala, which are projects that have been created by  the Github folks.  So here you can see quite a simple interface, a view of what Ena really is.  So Ena is in the green squares you have all the libs that have been designed by the Gixbox  teams.  So Ena itself which relies on the player AV framework and on the LeaValala metadata  engine and for the graphical interface, it relies on the Enlightenment Foundation Library's  or also known as the EFL, which mostly are the projects called Ena, EAT, E-Vas, E-core,  Edge and Elementary.  As for the LeaPlayer framework, it relies on different media player backends, so we can  control Ampere, Xen, VLC, G-Streamer and of course this player controls the audio and  video render layers.  E-Vas itself is also used to control the video render for the graphic display, but it also  is used in order to control the input layer.  So one of the first library we designed is called LeaPlayer.  This is a multimedia AV abstraction layer that was used to, I would say, to control  various multimedia players.  So the willingness is that some people, some of the users we have made some complaints  that we are stick to Ampere and for some reason it was good in the past, it was maybe not  as good as it used to be nowadays because VLC might be better for playing the net streams,  Xen might be better for playing DVDs and things like this.  So we have designed an AV abstraction layer that actually provides a generic API and this  API allows us to control all of these players, so Ampere, Xen, VLC and G-Streamer.  The two first ones are pretty much stable.  The two last ones are pretty, in a pretty much experimental stage at the moment.  So it basically can play but with still a lot of bugs.  The application or the library has been designed to be fully milled and threaded and also thread  safe.  And it allows any front end to use it to control any media players through various audio and  video renders, so as OSS projects for the audio ones and either the frame buffer, OpenGL,  SDL, VDPIU, XL11 or X-Video for the video layers.  This is some internal drawings of the lib player architecture.  Just to say the slides will be available on our website, so as they are a bit complicated,  if you want to spend any more time to check about the architecture, they will be available  on our website.  As for lib player, as I said, we have one public player API.  This player API is used to expose the control to various media players.  So what you have designed is this API and the front end, which at the moment is ENA  only, but many other applications might not be able to use it.  Just have to send some controls to a control queue.  The controls can be very simple.  They are the playback, stop, pause, seeking, backward, forward, any kind of things.  And through this, we have a lot of internal structures that actually cause different wrappers.  So when you register your player public API, you have to register a new player structure  which you first define to be one of the four players that we support.  And then the wrapper engine actually translates all the public API calls into one of the multimedia  player API.  So except from mPlayer, which by comparison to the other libraries isn't really a library,  isn't a library.  And so mPlayer only can be controlled through the slave mode, which is a FIFA-based mechanism.  And we have implemented a complete wrapper that interacts with the players through this  FIFA mechanism.  One of the ideas of the player is to provide this video abstraction layer so that we might  be able to control several new players or new things that might come in the future without  having to change anything on the front end, so on the user interface.  Next one that we use is LibValala.  LibValala is a tiny media scanner library.  It has been designed to feature high-performance and multi-streaded implementation.  What it does is storing various information on your media files into a SQL Lite database.  So in order to do that, it supports, it parses the audio-video stream properties through  the FFNPEG project.  And it also allows to grab many information from online websites in order to fetch covers,  lyrics, synopsis, list of actors for your movies and things like this.  On the bottom, you may see the different grabbers that we currently support.  So as for the offline mechanisms, we support EXIF, FFNPEG and the NFF files.  And for the online, we support different websites that provide such kind of information.  This we probably won't spend much time on this, but this is some mechanisms, internal  mechanisms of LibValala and how it works.  So we have a scanner that actually calls many grabbers that can be, again, either offline  or online and retrieves the various information from different content providers and store  them within a database.  If you're interested in the architecture, you may check this slide on the website.  So for INA itself, again, a few more screenshots on the right, you may see it as it has been  designed with embedded considerations in mind.  So it has a law from print, and it also was meant to be user-convenient and plug-and-play.  So the idea is that anyone without any computer skills is able to use the interface.  As for now, we have many modules that has been designed, so basic features like the  music player, the movie and TV show players, also photo viewer, weather forecast activities,  and some online eBook reader that uses some content providers.  So we have two at the moment.  One is called the OneManga website and another is the GoComics one.  So these are two websites where we can fetch eBooks or comics and things like this, and  you can display them on your set-top box.  As for the feature, as it was the case with GiggsBox, we support playing back from the  local disk, from CDDA, DVD database, broadcast, podcast.  We support the UPnP and DLNA playback.  Also the application supports all the dynamic media detections through the UDAV library,  so it's a replacement for the HAL that is currently dying.  And so we may discover how many hard drive you have if you plug in a new USB key, it  automatically appears on your applications and things like this.  Again, it has been designed to be controllable through the keyboard, the mouse, or the touch  screen.  And as for the mid and long-term features, we expect to port it to Windows and to OSX.  Currently it runs only on Linux and has been packaged to Ubuntu.  And as you may see, many other features that might come like video and demand, voice over  IP and things like this.  We have the project is still young and a few announcements are due to spring.  And it will be part of the GiggsBox 2.0 release that is supposed to be coming by the beginning  of the month.  Okay.  So thank you for your attention.  If you have any other questions, you can...
GeeXboX__An_Introduction_to_Enna_Media_Center_LwJ5lExiWhk_1_0_59.png GeeXboX__An_Introduction_to_Enna_Media_Center_LwJ5lExiWhk_1_60_131.png GeeXboX__An_Introduction_to_Enna_Media_Center_LwJ5lExiWhk_1_132_179.png GeeXboX__An_Introduction_to_Enna_Media_Center_LwJ5lExiWhk_1_180_647.png GeeXboX__An_Introduction_to_Enna_Media_Center_LwJ5lExiWhk_1_648_803.png GeeXboX__An_Introduction_to_Enna_Media_Center_LwJ5lExiWhk_1_804_899.png GeeXboX__An_Introduction_to_Enna_Media_Center_LwJ5lExiWhk_1_900_5003.png GeeXboX__An_Introduction_to_Enna_Media_Center_LwJ5lExiWhk_1_5004_7295.png GeeXboX__An_Introduction_to_Enna_Media_Center_LwJ5lExiWhk_1_7296_7475.png GeeXboX__An_Introduction_to_Enna_Media_Center_LwJ5lExiWhk_1_7476_9527.png GeeXboX__An_Introduction_to_Enna_Media_Center_LwJ5lExiWhk_1_9528_11231.png GeeXboX__An_Introduction_to_Enna_Media_Center_LwJ5lExiWhk_1_11232_13619.png GeeXboX__An_Introduction_to_Enna_Media_Center_LwJ5lExiWhk_1_13620_15371.png GeeXboX__An_Introduction_to_Enna_Media_Center_LwJ5lExiWhk_1_15372_15419.png GeeXboX__An_Introduction_to_Enna_Media_Center_LwJ5lExiWhk_1_15420_17411.png GeeXboX__An_Introduction_to_Enna_Media_Center_LwJ5lExiWhk_1_17412_18995.png GeeXboX__An_Introduction_to_Enna_Media_Center_LwJ5lExiWhk_1_18996_19775.png GeeXboX__An_Introduction_to_Enna_Media_Center_LwJ5lExiWhk_1_19776_21239.png GeeXboX__An_Introduction_to_Enna_Media_Center_LwJ5lExiWhk_1_21240_22715.png GeeXboX__An_Introduction_to_Enna_Media_Center_LwJ5lExiWhk_1_22716_23159.png GeeXboX__An_Introduction_to_Enna_Media_Center_LwJ5lExiWhk_1_23160_23279.png GeeXboX__An_Introduction_to_Enna_Media_Center_LwJ5lExiWhk_1_23280_23327.png GeeXboX__An_Introduction_to_Enna_Media_Center_LwJ5lExiWhk_1_23328_23375.png GeeXboX__An_Introduction_to_Enna_Media_Center_LwJ5lExiWhk_1_23376_23390.png
Hi. My name is Benjamin, as I said, and I'm the project leader of the Geeksbox Distribution for quite seven years now. We have designed a new media center application that I'm going to present to you guys now. So, again, Geeksbox is a major live CD multimedia distribution since 2003. Back at the time, there were only Muvix distribution for the one who might remember of it, who was also a live CD distribution. And the idea of the distribution at this time was to be able to turn the computer into full features set the boxes. At the time, many computers were at difficulties playing back several kind of videos of audio codecs or video codecs, whatever. And we wanted to make some distribution that only does this purpose. So the idea was that with a live CD, one can just boot his PC and be able to run every kind of multimedia content he has. Photos, videos, audio files, whatever. And we wanted it to be able to stream from various media locations. So we are able to read files from either your hard disk, from the NFS or from the network storage. Also, we wanted to add support for the UPNP or the LNA streaming Portugal. So again, also with the CDDA support and DVD support, analog TV support, DVD playback, this kind of thing. So at the time, it was a really small and tiny distribution which was at the very first release on this 3 megabit big or small, depends on the point of view. But it's something that really can boot your PC really quick. And as a live CD, you can also shut it down really quick. The idea was to replace the hardware set-up boxes. So when it was designed, it was the time of the first kiss set-up boxes, the first one that we were able to play the DVX files on your TV. So that was the idea of the distribution. So obviously, we had to make it fully controllable through your remote control, through LISC. And as you may see on the right, this is a screenshot of the interface, which honestly is quite ugly. And this is still the existing interface. And we have designed the new interface, which is called ENA, which aims at replacing this one. The Gizbox project was designed by a few employer developers, including myself. And as you may see, the design is quite simple because it uses the employer OSD interface. So it's also quite limited. Again as we are using right now the employer OSD interface, it is quite difficult to add any new functionalities. So what we wanted is to really split the media player interface from the user interface. Also with the Gizbox being completely based upon employer projects and being employer developers, we introduced many features that were not at this time in the regular employer project. So we introduced the support for the DVD nav, announced a lot of things in the OSD menu, add some TV control, LCD display supports, RTSP streaming and things like this. Of course, nowadays, all of these features have been included in the upstream project. But as a consequence, many of the users requested us that the features that Gizbox originally proposed, they requested us for these features to be able to be used in other distributions than Gizbox. So we had the willingness to create a new guy which had to be portable, which had to be configurable and extensible. So it has to work on any kind of display, whether it is frame buffer based or Xorg or OpenGL based, anything like this, and again, it had to be a standalone application that can run on any distribution, not just Gizbox. So the application that we are talking about is called Ena. You have on the right a few screenshots of the application, which as you can see is far different from the previous screenshot that you have seen of the current interface. Ena has been designed to be the GUI for the Gizbox 2.0 release. It's a media center application that is meant to be used as a home theater PC and is meant to run on low-resources computers. So the binary itself is only 250 kilobytes big. Of course, then you add the theme files which are composed of all the GPEGs, PNG and things like this, so it's quite an answer bit to the resource consumption. But we have decided to make the GUI realize on the Enlightenment Foundation Library's project. So we will see this a bit later on. But as for the graphical interface, so we realize on the EFL and as for the all of the multimedia playback capabilities and all the metadata retrieval, we rely on two separated projects which are called LeaPlayer and LeaValala, which are projects that have been created by the Github folks. So here you can see quite a simple interface, a view of what Ena really is. So Ena is in the green squares you have all the libs that have been designed by the Gixbox teams. So Ena itself which relies on the player AV framework and on the LeaValala metadata engine and for the graphical interface, it relies on the Enlightenment Foundation Library's or also known as the EFL, which mostly are the projects called Ena, EAT, E-Vas, E-core, Edge and Elementary. As for the LeaPlayer framework, it relies on different media player backends, so we can control Ampere, Xen, VLC, G-Streamer and of course this player controls the audio and video render layers. E-Vas itself is also used to control the video render for the graphic display, but it also is used in order to control the input layer. So one of the first library we designed is called LeaPlayer. This is a multimedia AV abstraction layer that was used to, I would say, to control various multimedia players. So the willingness is that some people, some of the users we have made some complaints that we are stick to Ampere and for some reason it was good in the past, it was maybe not as good as it used to be nowadays because VLC might be better for playing the net streams, Xen might be better for playing DVDs and things like this. So we have designed an AV abstraction layer that actually provides a generic API and this API allows us to control all of these players, so Ampere, Xen, VLC and G-Streamer. The two first ones are pretty much stable. The two last ones are pretty, in a pretty much experimental stage at the moment. So it basically can play but with still a lot of bugs. The application or the library has been designed to be fully milled and threaded and also thread safe. And it allows any front end to use it to control any media players through various audio and video renders, so as OSS projects for the audio ones and either the frame buffer, OpenGL, SDL, VDPIU, XL11 or X-Video for the video layers. This is some internal drawings of the lib player architecture. Just to say the slides will be available on our website, so as they are a bit complicated, if you want to spend any more time to check about the architecture, they will be available on our website. As for lib player, as I said, we have one public player API. This player API is used to expose the control to various media players. So what you have designed is this API and the front end, which at the moment is ENA only, but many other applications might not be able to use it. Just have to send some controls to a control queue. The controls can be very simple. They are the playback, stop, pause, seeking, backward, forward, any kind of things. And through this, we have a lot of internal structures that actually cause different wrappers. So when you register your player public API, you have to register a new player structure which you first define to be one of the four players that we support. And then the wrapper engine actually translates all the public API calls into one of the multimedia player API. So except from mPlayer, which by comparison to the other libraries isn't really a library, isn't a library. And so mPlayer only can be controlled through the slave mode, which is a FIFA-based mechanism. And we have implemented a complete wrapper that interacts with the players through this FIFA mechanism. One of the ideas of the player is to provide this video abstraction layer so that we might be able to control several new players or new things that might come in the future without having to change anything on the front end, so on the user interface. Next one that we use is LibValala. LibValala is a tiny media scanner library. It has been designed to feature high-performance and multi-streaded implementation. What it does is storing various information on your media files into a SQL Lite database. So in order to do that, it supports, it parses the audio-video stream properties through the FFNPEG project. And it also allows to grab many information from online websites in order to fetch covers, lyrics, synopsis, list of actors for your movies and things like this. On the bottom, you may see the different grabbers that we currently support. So as for the offline mechanisms, we support EXIF, FFNPEG and the NFF files. And for the online, we support different websites that provide such kind of information. This we probably won't spend much time on this, but this is some mechanisms, internal mechanisms of LibValala and how it works. So we have a scanner that actually calls many grabbers that can be, again, either offline or online and retrieves the various information from different content providers and store them within a database. If you're interested in the architecture, you may check this slide on the website. So for INA itself, again, a few more screenshots on the right, you may see it as it has been designed with embedded considerations in mind. So it has a law from print, and it also was meant to be user-convenient and plug-and-play. So the idea is that anyone without any computer skills is able to use the interface. As for now, we have many modules that has been designed, so basic features like the music player, the movie and TV show players, also photo viewer, weather forecast activities, and some online eBook reader that uses some content providers. So we have two at the moment. One is called the OneManga website and another is the GoComics one. So these are two websites where we can fetch eBooks or comics and things like this, and you can display them on your set-top box. As for the feature, as it was the case with GiggsBox, we support playing back from the local disk, from CDDA, DVD database, broadcast, podcast. We support the UPnP and DLNA playback. Also the application supports all the dynamic media detections through the UDAV library, so it's a replacement for the HAL that is currently dying. And so we may discover how many hard drive you have if you plug in a new USB key, it automatically appears on your applications and things like this. Again, it has been designed to be controllable through the keyboard, the mouse, or the touch screen. And as for the mid and long-term features, we expect to port it to Windows and to OSX. Currently it runs only on Linux and has been packaged to Ubuntu. And as you may see, many other features that might come like video and demand, voice over IP and things like this. We have the project is still young and a few announcements are due to spring. And it will be part of the GiggsBox 2.0 release that is supposed to be coming by the beginning of the month. Okay. So thank you for your attention. If you have any other questions, you can...
media center application that I'm going to able to turn the computer into full features set small and tiny distribution which was at the very interface, which is called ENA, which aims at it had to be a standalone application that can Enlightenment Foundation Library's or also known for the LeaPlayer framework, it relies on called LeaPlayer. This is a multimedia AV designed an AV abstraction layer that actually bugs. The application or the library has been calls into one of the multimedia player API. So so that we might be able to control several new media scanner library. It has been designed to information on your media files into a SQL Lite the FFNPEG project. And it also allows to grab fetch covers, lyrics, synopsis, list of actors scanner that actually calls many grabbers that you can...