Page MenuHomePhabricator

Video Player
Updated 3,105 Days AgoPublic

Video Player

General Description

A video player is a must to have application for everyone. On the EFL repositories, we have a few examples, applications that can play videos, but none of them is a complete video player application, user friendly, that people actually use to play their videos.

To be considered complete enough to be used by most users, besides being able to play videos (which is quite simple to do using the Emotion library), a video player must have a set of basic features common to most video players available out there:

  • a simple playlist/history of recent played videos;
  • be able to load a video using a file selector widget;
  • good subtitle support:
    • automatically load subtitles if there's one with a common subtitle extension, and the same basename as the video being loaded;
    • switch from different subtitles for the same video;
    • be able to load different subtitles by using a file selector widget;
  • support fullscreen;
  • have a clean UI, with OSD (on screen display) mode;
  • have a good name.

Most of this task will be to design and implement the UI elements of the player, since Emotion, the EFL library used to play video and music, already integrates different backends into EFL (for now, xine, gstreamer and vlc).


For the mid-term evaluation, we expect:

  1. a basic video player UI, that is capable of loading a video with a file selector widget;
  2. basic control panel, with play/pause, stop, and a progress bar;
  3. a good name (it must be good! Evideo and Eplayer won't be accepted).

For the final evaluation, we expect:

  1. good subtitles support:
    • automatically load subtitles;
    • be able to switch subtitles;
    • load a different subtitle through a file selector widget;
  2. playlist support:
    • a list of recently played files;
    • be able to play again a recently played video;
    • navigate through the playlist.

Stretch Goals

If the student delivers the project ahead of time, there are other possible tasks that can be done.

OSD support should be doable to be done in time. Polishing the UI is also a nice task, since we want a good looking player.

Additionally, the student can propose other features that he wants to implement.

Enlightenment project benefit

A video player that gets adopted by the community is a very good tool to exercise Emotion, our media player library, and also a good showcase of what can be done with EFL. For instance, videos can be inserted anywhere on an EFL application, so showing what else can be done with the libraries is good to demonstrate that Emotion is not a simple and incomplete tool.

It will also make the 3 backends get more well tested by the community, this way finding bugs and improving them.

Project technical details

  • Mentors:
    • Rafael Antognolli
    • Cedric Bail
  • Skills required:
    • C background
    • Resisting to become crazy after watching Big Bug Bunny in loop for 2 months.


The difficulty of this project is considered medium.

Last Author
Last Edited
Mar 27 2013, 6:53 PM