BoxStar Development Status
ChangeLog
If you're really bored you can look at the ChangeLog
which is auto-generated by svn log at each release.
Status
DVB
DVB support is a major project and VDR has a huge head start. As an
interim solution I've just written a boxstar module for using VDR. It works well enough that I've felt I can put
boxstar to one side for a while to work on other projects, but I've always
had enough gripes with VDR that native DVB support in boxstar was always a
long-term goal, and since fitting a DVB-S card has highlighted more
shortcomings in VDR I'm keen to develop this part of boxstar ASAP.
The main ways I'd like to improve on VDR are in channel management, support
for Freesat's quirks, the client-server model, and video player front-end
(initially MPlayer instead of xine, then hvid).
hvid (formerly boxav)
I've started work on my video playing library. I even got as far as
getting it to play sound (with alsa) and picture (with SDL) together albeit
with no attempt at synchronisation just yet (but it accidentally synced
better than VDR's softdevice plugin and certain buggy versions of
MPlayer!) and it didn't work properly with MPEG 4. This is available in
the "try1" branch in svn. But then I
started a major rewrite and now I've decided to start yet again. I've looked
at the possibility of using
GStreamer but decided it would
be easier to use my own framework to support all the features I want.
Feature list (proposed)
- Use as much GPU hardware acceleration as possible, in particular
VDPAU.
- I originally planned to optimise for TV output (interlaced CRT), but I've
replaced my main CRT TV with an LCD, and also often watch on a PC monitor over
the network so I won't be considering CRT TVs as a priority after all.
- Always use vblank/vsync even though it's tricky to achieve with X. This
means interlaced programmes can possibly be played as-is on a TV and it avoids
tearing in X.
- Use OpenGL for deinterlacing with negligible CPU load (see
linuxtv.org).
- Ensure A/V sync is as close as possible, using audio resampling instead
of skipping/repeating frames so the picture will stay smooth.
- Use the resampling code to play 24fps films on a PAL TV by speeding them
up - again to preserve smooth video motion. On-the-fly pulldown for NTSC
will be another option.
- Allow frames to be dropped deliberately to speed up playback so you can
catch up after pausing live TV.
- Provide the output for boxstar instead of SDL, so it can overlay
its menus on a TV picture.
- WSS when
outputting a 480 or 576 line picture to a TV. I've heard of a patch for an
existing player that can do this, so hopefully it might be possible to add to
any compatible picture stream, although it might only be possible to send the
signal "off-picture" with certain DirectFB drivers.
Roadmap
Here are my future plans for BoxStar.
boxstar | | Command-line options for logging etc | | Support Xine | | Menu options for video items eg choose audio track, player app |
| |
| | More input modules: LIRC and TTY | | Support MPEG decoders like DXR3 and FF DVB cards |
| |
| | Music jukebox |
| | | | | | | | | | | Streaming client |
| | | | Choose and watch TV channels (DVB) | | Manage timers and recordings | | Management and control of advanced features | | | |
| | | | | | | | | | | |
boxstard | | XMLTV and/or DVB EPG | | Make DVB cards select and play channels | | Timed recordings | | Automatic recording of favourites | | | |
| | | | | | | | | | | |
| | | | | | | | Advert skipping | | DVD burning | |
| | | | | | | | | | | |
| | | | | | Web server | | WAP server | | | |
| | | | | | | | | | | Streaming server |
| | | | | | | | | | | |
hvid (formerly boxav) | | My own video player with special features for boxstar |
Key
Features I definitely want to include as a matter
of priority |
|
Features I consider important for completeness but
don't need personally; I'll probably add them as and when asked |
|
Features I'd like to include but won't add until
higher priorities are dealt with |
|
Fairly low priority features which may be tricky
to implement; collaboration will be welcome |
|
Features I'm not very interested in but will gladly
incorporate if someone else writes them |
|
Features already implemented, at least partially |