+ introduce a "TEXT" subpicture region type.
+ a psz_text field stores the subpicture text.
* src/video_output/video_text.c: produce "TEXT" subpictures.
* modules/codec/subsdec.c: produce "TEXT" subpictures.
* modules/misc/freetype.c: auto sizing works again.
* modules/demux/ogg.c, modules/demux/mkv.cpp:
- store the vorbis/theora/speex headers in fmt.p_extra.
- this change simplifies the code quite a bit and is a lot cleaner.
* modules/codec/vorbis.c, theora.c, speex.c, flac.c:
- get the headers from fmt_in.p_extra or from the bitstream if empty.
* modules/mux/ogg.c:
- recontstruct the headers from fmt.p_extra.
- Re-use our audio decoder modules instead of using libavcodec directly.
- No more dependance on libavcodec.
(downmixing is currently broken + you have to force the ffmpeg codec for a52)
* modules/audio_filter/format.c:
- PCM audio format conversion filter using the new common filter architecture.
* modules/audio_filter/converter/mpgatofixed32.c:
- implements both the old and new filter architecture (ie. useable in the transcoder).
* modules/codec/ffmpeg/audio.c:
- fixes and cleanup.
- chroma + resizing video filter (using the filter_t architecture).
* modules/codec/ffmpeg/*:
- cleanup + small updates.
* modules/codec/speex.c, theora.c, vorbis.c:
- got rid of pf_header() in the encoder.
- store the headers in fmt_out.p_extra (this will break the ogg muxer for now).
* modules/codec/libmpeg2.c, modules/codec/ffmpeg/video.c:
- added a p_dec->b_pace_control field to signal if the decoder is allowed to drop frames.
* modules/stream_out/transcode.c:
- heavy cleanup.
- re-use video decoder modules and got rid of the duplicated ffmpeg video decoder.
- use video filters for chroma conversion and resizing.
(a few things are broken now like deinterlacing but I'll repair them asap).
* 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.
This way we can later on set IP6 instead of IP4 in a SDP.
* modules/stream_out/rtp.c: accept sdp=sap as a valid option.
* src/stream_output/sap.c:
- Set the SAP packet Hash headerfield to a unique value based on mtime
Patch by Philippe van Hecke <philippe at belnet dot be>
- Set SAP packet IPv6 field to 1 if we are a ipv6 session
- Made some preperations for setting the origin ip address in the header as well,
anyone any ideas on how to retrieve the current origin IP address???
* modules/control/rc.c: added option to listen on a socket instead of only stdin.
Inspired from a patch by Bernhard Rosenkraenzer <bero at arklinux dot org>.
* modules/video_output/opengl.c: new platform independant OpenGL vout (uses an "opengl provider" module).
* modules/visualization/galaktos/*: uses the new "opengl provider" module.
simple interface to create and use OpenGL windows
* modules/video_output/x11/glx.c: the GLX vout now implements the
"opengl provider" interface
* modules/visualization/galaktos/*: no more dependency on GLX: we use
the generic opengl provider interface instead.
+ When dealing with slow direct buffers, use a temporary picture to overlay subtitles (avoids slow reads during alpha-blending).
* modules/video_output/directx/directx.c: signal slow picture buffers.
(becarefull, it's just if you can seek or not, and not if you have to
display the progress bar, for thet last you have to check if "position"
value get != 0.0 )
- added "audio-delay" and "spu-delay" object variables to delay
audio/spu to the video. They can be changed on the fly (untested).
- renamed INPUT__GET/SET_SUBDELAY into
INPUT_SET_SPU_DELAY and added INPUT_SET_AUDIO_DELAY
(wrapper to "audio-delay" and "spu-delay")
- readded INPUT_ADD/GET_INFO/INPUT_SET_NAME. Becarefull to not over-use
them, a demuxer should export DEMUX_GET_META and not using them.
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.