* src/video_output/vout_subpictures.c: more correct cropping (cropping coordinates are relative to the video size, not subpicture size).
* include/vlc_es.h, modules/video_filter/blend.c: use the i_entries member of video_palette_t.
* include/vlc_common.h: added SetWBE()/SetDWBE()/SetQWBE() facility.
When you want to use OSD, you have to register an OSD channel, by calling
vout_RegisterOSDChannel, then pass it to vout_CreateSubPicture.
There is a particular channel, DEFAULT_CHANNEL that can be used for
general purpose.
See modules/control/hotkeys.c for an example.
* added i_channel and i_content properties to subpicture_t
* p_last_osd_message is no more used
An OSD channel can contain simultaneously an OSD text and an OSD widget.
Vobsub is working now. only track 0 will be played atm.
spudec scaling will need to be implemented or vobsub is pretty useless.
* modules/codec/spudec
Changed an error into a warning message.
- Removed all the RLE subtitle font code.
- Removed the .rle and even older .psf font files.
- Moved the filesubtitle code from spudec to subsdec.
- spudec is again DVD only.
palette, implemented the "force display" command as forever-living
subtitles, and reworked some code.
* ./src/video_output/video_output.c: we increment the image date even if
we are repeating the previous image, so that subtitles have a chance to
get displayed.
* ./src/video_output/vout_subpictures.c: ephemer subpictures don't timeout.
functions.
* ./modules/demux/mpeg/audio.c: at least three PS startcodes are required
before we abort the parsing and consider the input as PS instead of MP3.
waveout, directx, qnx, beos, win32, macosx, and the AltiVec modules.
* ALL: removed mention of AC3 in favour of A52.
* ./configure.in, ./Makefile*: modules can now be built deeper than 1
directory. As a consequence, the build is even slower (but I'm fixing
this) and make clean doesn't work anymore.
* include/input_ext-intf.h: killed p_es->b_audio, since i_cat already fills
its purpose.
* include/input_ext-intf.h: killed p_es->i_type in favour of p_es->i_fourcc.
* include/video.h: killed p_pic->p_plane->b_margin; now i_visible_pitch is
always valid.
* ./src/libvlc.h: replaced --mpeg-adec and --ac3-adec with --codec; see
vlc --help for more information.
* include/video.h: removed fourcc values which should _not_ be global
(thanks fenrir for convincing me).
* ALL: video output plugins use the VLC_FOURCC macro to build their fourccs.
* ./plugins/beos/InterfaceWindow.cpp: removed the last remaining call to
input_ChangeES.
Things I'm not sure about and need comments:
- I used "mpga" and "mpgv" for MPEG (1+2) audio and video fourcc values.
- I also introduced "spu ", "lpcm" and "ac3 ".
- I removed for instance "MP4_GetCodec" because it wasn't really
used except for the description string. I hope this change did not
break anything really important.
- fenrir, I must have broken a lot of things you wrote. Sorry in advance.
* ./plugins/spudec/spu_decoder.c: we now use FIND_ANYWHERE to find a vout.
(ported from v0_4_1_branch)
* ./plugins/dvdread/dvdread.c: disabled the dvdread plugin because it
currently sucks.
* ./src/misc/configuration.c, ./src/interface/main.c: we now accept --nofoo
and --no-foo as negations for --foo. Also, the --help output is nicer.
* ./plugins/qnx/vout_qnx.c: QNX compilation fix.
* ./plugins/dvd/dvd_es.c, ./plugins/satellite/input_satellite.c,
./plugins/dvdread/input_dvdread.c: updated outdated variable names.
(ported from 0_4_1_branch)
* ./plugins/spudec/spu_decoder.c: fixed a margin bug in the SPU renderer
which caused subtitles to appear slanted in odd width windows.
As for video output 4, this breaks almost everything, but I'll slowly
do what remains to be fixed during the weekend.
Changes in vlc:
===============
* vlc is now a very small program (20 lines) which uses the libvlc API;
it is quite simple for the moment but can be extended in the future.
* interfaces, decoders, video outputs, etc. are now almost the same
objects (yes, I know, this is C++ redone in C) and are structured in
a tree. More about this later, but basically it allows the following
nice features:
- several interfaces
- several playlists with several outputs
- input plugins spawning helper interfaces (will be used for DVD menus)
- anything spawning anything; I swear there are useful uses for this!
* libvlc can be used in other programs; I'm currently writing a Mozilla
plugin for my employer.
Things currently broken:
========================
* most interfaces, most ports
* the playlist handling (almost finished rewriting this though). This means
no file can be played from the GUI, you need to use the commandline. This
also means it segfaults at EOF, when exiting the program, and it sometimes
refuses to open a file when asked to.
* Objective-C files are now .m
* Fixed a major bug in the spu decoder
* Disabled auto-hiding of mouse cursor since it doesn't work when browsing
menus ; instead, click in the video window