* Each module can declare a "human-readable short name" with set_name
* Modules are sorted by category (set_category, set_subcategory).
Modules configs can be separated by set_section()
* Separated audio-filter and audio-visual
* Separated extraintf and control
* New command and widget : add_module_list() for comma-separated modules
* Vfilters now use "," as separator
Won't work for many things (only those for which metadata can be gotten during initialization).
Processing is done asynchronously, use playlist_PreparseEnqueue to add an item to the queue.
* include/vlc_xml.h, src/misc/xml.c: core wrapper for XML modules.
* modules/misc/xml/xtag.c: trivial XML parser module.
* modules/misc/xml/libxml.c: XML parser module using libxml2.
* modules/gui/skins2/parser/*: removed dependancy on libxml2 and use an XML module.
* 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.
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.
* demux, access: change the prototype of access2_New/demux2_New.
* control: implemented all INPUT_GET/SET.
* src/input/*.c: removed old functions, move some of them.
* renamed VLC_Stop to VLC_CleanUp since this name is closer to what it actually does.
* added a new VLC_Stop that just does playlist_Stop analogous to VLC_Play and VLC_Pause.
* reordered the functions in libvlc. everything was mixed up.
* added doxygen info to all the functions
* fixed several functions to use the correct underlying API calls
* corrected the copyright info
This is in preparation of the new libvlc calls for mozilla plugin
temp. moved the playlist_command_t typedef to vlc_common.h awaiting implementation of playlist_Control()
This is still experimental so isn't enabled by default (use --plugins-cache).
There are also a few issues that aren't dealt with yet:
- translation of module strings.
- config options callbacks and actions.
- a few memory leaks.
- and likely other things ;)
You can easily reset the plugins cache with --reset-plugins-cache.
- The SAP handler now runs in a separate thread.
- RTP sessions can be announced with sap (sdp=sap://,name=...)
TODO: Make this more configurable
- Better SDP generation (the timestamp problem is not resolved)
About this, there is a problem : as, for a RTP session, the URI
is the complete SDP, if the session is recreated, as the URI has
changed, a new item is added to the playlist
- Experimental flow control algorithm :
It does not follow the "Recommended" implementation, as it needs
to count the sessions (to achieve this, we should make this work
together with the SAP listener)
It is disabled by default (use --sap-flow-control to enable).
When it is disabled, sap announcement interval is set by --sap-interval
* src/misc/net.c : created net_ReadNonBlock
* sap.c : Fixed memory problem
* src/input/input.c:
+ introduced input_item_t that is shared between the playlist/vlm and the input thread (contains input name, options, infos, etc...).
+ changed prototype of input_CreateThread() to input_thread_t *input_CreateThread( vlc_object_t *, input_item_t * ).
* ALL: use input_item_t and INPUT_ADD_INFO when necessary.
cast of lvalue. -> Don't use them anymore in C++ code.
( Don't use *(void**)&p, it won't work because of aliasing problem).
* vlc_meta.h: don't use TAB_* as this file is included in C++ code.
+ new input_Control() function (doesn't do much for now).
+ started bookmarks support through input_Control().
+ new --bookmarks={name=foo,bytes=foo,time=foo},{...} config option.
* src/video_output/*:
+ started support for embeddable vouts (vout_RequestWindow()/vout_ReleaseWindow())
+ new --video-x/y config options
this way meta data will be available for stream_outs and muxers.
The only 'problem' is that it will be available for sure only after
that the first data packet is received by the stream output.