[vlc-devel] New widget for EPG
Marian Ďurkovič
md at bts.sk
Tue Sep 22 12:08:58 CEST 2009
On Tue, Sep 22, 2009 at 10:35:29AM +0200, Jean-Baptiste Kempf wrote:
> While those tests are great, let's face it, this is a bad solution.
>
> I'll try to make an EPG widget in Qt4, if I know how to get some data.
Great, that would be of course the best solution!
First, I uploaded a sample stream (epg.ts) to streams.videolan.org upload
area. This is a raw TS dump with all of SDT, EIT p/f and EIT schedule
entries encoded in ISO6937. After pressing play, wait for at least 15 seconds
(the repetition interval of EIT schedule) and press pause - now all the
EPG data is loaded and Infopanel will display it.
As for the current VLC implementation, EPG data, kept in vlc_epg_event_t
are handed over to GUI via input_item_SetEpg() function in src/input/item.c,
which feeds it between the streaminfo entries. The EPG entries could be
identified by having "EPG " as first four characters of
p_item->pp_categories[i]->psz_name. I.e. those shouldn't be displayed
in the Third panel, but in the new EPG panel instead.
In my development tree I have also a small patch, which splits the event
items a bit differently, i.e:
- putting start date/time, name and duration of the event, i.e.
"2009-09-22 11:00:00 Dobrá rada na zlato (00:35)"
into p_item->pp_categories[i]->pp_infos[j]->psz_name
- and putting all the description texts (which could be extremely
long and might contain CR/LFs inside)
into p_item->pp_categories[i]->pp_infos[j]->psz_value
IMHO the new EPG widget should display only the psz_name items initially
(the list of events) and after e.g. poiting on a specific event (?)
it could display the formatted description text (psz_value). What I have
in mind is something like a help text displayed in a small yellow window
when you point on some item in Preferences dialog.
Not sure if / how efficiently is that doable within the QT4 framework, but
the above could probably be used as a starting idea.
Thanks & kind regards,
M.
More information about the vlc-devel
mailing list