- fix goom location
- some small url improvements. please test the contrib system.
* modules/gui/macosx/*
- autodetect Quartz Extreme. Use OpenGL vout if present.
- --macosx-vout auto|quartz|opengl to force a vout.
* Makefile.am: add share/http/vlm to target.
* NEWS: small updates
* AUTHORS: updated my email address.
- 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.
+ 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
* src/playlist/item.c
src/playlist/info.c
src/playlist/item-ext.c
src/playlist/group.c
src/playlist/sort.c
src/playlist/loadsave.c
include/vlc_playlist.h
- New playlist_info structures and accessors
It works pretty like the old input_info (with categories)
It provides modularity to the playlist
- Removed ppsz_options and i_options from playlist_item
(we use the special category Options)
- Added a unique id to each playlist_item to be able to track the
items accross playlist reorders
- Simplified adding of items.
- playlist_AddExt is removed
- playlist_AddItem is still here and exported but should not be used
- use playlist_Add( p_playlist, uri, name, duration, mode, pos )
and use the accessors for all other things
- Added setters for fields of the playlist_item structure
- Introduced "item-change" and "playlist-current" playlist variables
to give more flexibility than only intf-change
At the moment, duration is still in the structure (easier to use, IMHO)
* src/input/input.c
src/libvlc.c :
playlist item options parsing changed
* include/vlc_common.h : added playlist_info structures
fix support of audio channel mixers, like the headphone channel mixer
for instance, which was broken since the introduction of user audio
filters; if specified by the user and compatible with the audio
pipeline, we add the channel mixer after the user filters.
-> unfortunately, this fix removed two strings and introduced 4 new
ones
-> TODO: allow the user to choose only amongst channel mixers, not
all available audio filters
* vlc.exe.manifest Makefile.am install-win32 :
add a manifest file to allow the win32 gui to use Windows XP visual
styles when available.
* modules/LIST: updated
* Makefile.am: include new OS X art in the dist.
* NEWS: updated
* */.cvsignore: added and improved some of these.
* modules/gui/macosx/prefs_widgets.?:
- new config controls much like in the wxwindows module. not yet in use.
- beware not tested irl. but it compiles :)
download a precompiled binary package, or to build all the packages
from the sources, at the user's option. It is currently written for
Mac OS X, but could easily be ported to other platforms.
* ALL: bring the project files to XCode.
10.2 users should revert the change in Makefile.am or they won't be able to
build VLC on their machine. Editing the project files will probably also not
be possible for them.
- splitted the enormous playlist.c file
- implemented a better item group system: groups have a name
and must be created before use by
playlist_CreateGroup( p_playlist, "newgroupname")
* modules/misc/sap.c
- Create our own playlist group ("SAP") and use it
* modules/access/slp.c
- Create our own playlist group ("SLP") and use it
* modules/demux/util/id3tag.c
- Trigger playlist update when we have parsed our tag
* modules/gui/wxwindows/interface.cpp
- Fixed the about box by using vlc_wraptext
- Added the simple open and the streaming wizard icons
*** Icons need to be changed ! ***
- Added the visualization to the extended gui
* modules/gui/wxwindows/preferences.cpp && include/vlc_help.h
- Enlarged the window to fit the wrapped text
- Added help for audio encoders
* modules/gui/wxwindows/stream.cpp & open.cpp & include/vlc_interface.h
- Created a "streaming wizard" window (3-step streaming)
* modules/gui/wxwindows/iteminfo.cpp:
- Group change is now based on the name
* modules/gui/wxwindows/playlist.cpp
- Added author and group columns to the listview
- Redesigned the window
- Added the Sort menu with several criteria (title, author, group)
- Added up/down buttons to move an item in the playlist
- Added the group menu to enable/disable a group in an understandable way
TODO:
-----
* playlist core :
- Implement advanced sort capabilities (multi-criteria)
- File format to save the new features
- export playlist (to M3U, eg)
- more robust group creation (duplicates check, ...)
* wxWindows playlist:
The idea of a treeview seems impossible, because of wxWindow's treeview,
that don't allow multi-selection, and, as far as I know, multi-columns.
- Provide a frontend to advanced sort (when it's done :-) )
- Allow moving items by drag & drop (well, if possible, haven't checked yet)
- Allow moving several items at once
- Customizable listview (ability to remove/move columns)
- Find a solution to the focus problem
(when you change track, the selected one scrolls at the
bottom of the visible screen)
* wxWindows interface:
- New icons, our icons begin to get old and not so pretty
- Find a solution for the volume bar (nobody understands what it is)
* include/vlc_video.h: new video_frame_format_t structure which defines the properties of a video frame.
* include/vlc/decoder.h: include vlc_codec.h
* src/misc/objects.c: added VLC_OBJECT_PACKETIZER and VLC_OBJECT_ENCODER object types.
* modules/stream_out/transcode.c, modules/codec/theora.c: experimental theora video encoder.
* src/input/*: some cleanup.
* modules/gui/macosx/output.m: updated part of the Stream output dialog
* modules/demux/util/sub.c: removed sub_detect() and moved the sub-file and
sub-autodetect file options to src/input/input.c
* src/input/input.c: added the moved options and use them to add subtitle
tracks.
* src/libvlc.h: description strings etc for sub-file and sub-autodetect-file
* src/input/subtitles.c: new subtitles_Detect() largely based on the
code used by MPlayer. Adapted for coding style and structure differences.
The autodetect routine can now detect multiple subtitle files and assigns scores
based on their names. if they much well enough they are sorted based on their
score. It will then return this set, and they will all be added as SPU tracks
to the current stream. The (un)selecting of these tracks will need to be fixed
because they all get assigned the es id 0xFF currently.
. cleanups, use of top_builddir where possible, just to feel safer
. fixed VLC.app inclusion of AUTHORS, COPYING etc.
. propagated previous changes to package-osx
. checked both build methods
special goom tree source as I was unable to use standard goom library.
(I will provide it once mmx/ppc included)
* modules/visualization/Modules.am: added goom
* include/vlc_block.h src/misc/block.c: introduce a new data block
api (not yet tested, ported from my local new input work).
in use by the OS. It's pretty nifty. if available it uses nl_langinfo. Then
it falls back to trying setlocale (exept on OSX, where this funtion is useless)
and then falls back to LC_ALL, LC_TYPE and LANG environment variables.
If only the LANG variable is available (like on osx) it tries a countrycode
to charset mapping (making an educated guess ).
On windows it retrieves the charset with GetACP().
It also has an aliases system to transform incompatible charset description
strings to libiconv compatible charset descriptions. If you want you can even
retrieve the charset on OS/2.
* modules/codec/subsdec/subsdec.c: By default we try to open a subtitle file in
the systems charset (or language mapped to charset). It's no more than a guess,
and if you open Latin1 subs on your Japanese system you will still need to
specify the encoding by hand, but it's better then nothing.
* src/playlist/playlist.c: spelling error in a comment.
* ninput.h : extracted duplicated stream functions from a lot of
demuxers and do a nice (?) API.
* stream.c: implement basic streams manipulation. It is just a wrapper
but it is useful.
* all: added a i_ttl field in network_socket_t to allow per connection ttl
setting (in fact only used by access_out/udp.c.
defined symbols and libmp3lame
* Makefile.am: Build po before . because we need the po files to build
VLC.app
* po/fr.po: French translation courtesy of Jean-Pierre Kuypers
* OS X interface: cosmetics
+ Removed a useless use of cut.
+ Do not fail in the "clean" rule if no targets were built.
* Makefile.am:
+ Propagate $(srcdir) to toolbox.
* toolbox:
+ Do not include .moc files in POTFILES.in.
+ Fixed the generation of MSVC project files (untested).
share/vlc_win32_rc.rc: provide some version info in the vlc binary
If all is well, this should not break msvc build, but binaries built
with msvc will have version 0.0.0
woody package build.
* bootstrap:
+ Remove config.h.in and config.h before running autoheader.
+ Added "set -e" for better error tracking.
+ Call autoheader and automake after autoconf so that the first build does
not need to call autoheader.
* debian/woody-buildpackage:
+ Removed that script and put the code in toolbox.
* debian/control:
+ Added a build-dependency on libmatroska-dev.
* debian/rules:
+ Activated Matroska support.
+ Re-enabled dh_installchangelogs.
+ Removed the Modules.am generation. To build module/foo/libfoo.so, you
now need to cd modules/foo and make libfoo.so.
+ Workaround for Solaris sed. Which sucks. Did I mention that before?
+ Forward AM_MAKEFLAGS through recursive makefiles.
+ Removed the plugins and builtins rules. This causes libintl to be built
before the plugins.
* bootstrap:
+ Enabled recursive builds of plugins and builtins.
* vlc-config.in.in:
+ Fixed a typo.
* debian/changelog:
+ Next upload will fix bug #199427.
+ Call $(srcdir)/toolbox from $(builddir) instead of $(srcdir).
+ Call $(builddir)/vlc-config instead of $(srcdir)/vlc-config, because
generated files end in $(builddir).
+ Added -Imozilla to the mozilla plugin link flags.
+ Look for mozilla/vlcintf.idl in $(srcdir).
* configure.ac:
+ Set VLC_CONFIG to $(builddir)/vlc-config instead of $(srcdir)/vlc-config.
* toolbox:
+ Look for Makefile.am in ${srcdir}, and Makefile in ${builddir}.
+ Prepend ${srcdir} to header files we handle.
* m4/vlc.m4:
+ Look for vlc-config.in.in in ${srcdir} but generate vlc-config.in in
${builddir}.
* modules/gui/skins/src/dialogs.cpp, modules/gui/wxwindows/interface.cpp:
+ Include the pixmap with a path relative to the current directory.
This commit should fix builds that use --srcdir (Closes: #319).
+ Updated to the latest Debian unstable upload.
* debian/rules:
+ Moved the skins interface into the wxvlc package.
+ Cosmetic fixes.
* debian/control:
+ Updated the description of the wxvlc package.
* bootstrap:
+ Put subdirectories of modules/ in SUBDIRS, not DIST_SUBDIRS.
* Makefile.am:
+ Put modules in SUBDIRS, not DIST_SUBDIRS.
* .cvsignore:
+ Ignore vlc-config.in.
+ New build system, using recursive makefiles. Due to the amount of code
in VLC, this had become unavoidable.
+ Removed the check for OS X's stack size, since our automake targets are
a lot less hungry now.
+ Ditto for Solaris's sed.
+ Since automake-1.6 is faster than 1.7, use it first if both are present.
* m4/vlc.m4:
+ New AX_ADD_CPPFLAGS, AX_ADD_CFLAGS, AX_ADD_CXXFLAGS, AX_ADD_OBJCFLAGS
and AX_ADD_LDFLAGS macros that do all the magic to detect possible
modules and register their flags.
+ New AX_ADD_BUILTINS and AX_ADD_PLUGINS macros.
+ Some magic to generate vlc-config.
* configure.ac:
+ Moved most code to the AX_ADD_* macros.
+ Explicitely added all target Makefiles.
* modules/**/Modules.am:
+ Path to sources are now relative to Modules.am's directory level.
* modules/gui/beos/*: added _()s so the whole interface is translated
* src/libvlc.c: ask gettext for UTF-8 strings (under BeOS only for now)
FIXME: currently, untranslated strings are not converted to UTF-8
we might have an additional target one day, such as vlcplugin :)
* ./mozilla/vlc.r: OS X specific resource file for an OS X plugin.
* ./mozilla/vlcshell.cpp: added required OS X functions.
* modules/gui/wxwindows/open.cpp: fixed a string
* src/misc/configuration.c: don't yell when a config variable disappears
* po/de.po po/it.po: new translations by maintainers
render text on the video
include/osd.h: some constants useful when interfacing with the osd module
configure.ac.in: check for freetype2, enabled the osdtext module by default
Makefile.am: added osd.h, please check that this is correct
lirc.c: modified to provide feedback when buttons are pressed.
Look at the Feedback() function in lirc.c to see how this module can be used
* toolbox, msvc/*: few fixes to the msvc project files generation.
(compiling plugins won't work yet because there are a few hacks that
need to be done in order to compile dlls that use the c-runtime)
* modules/gui/macosx/prefs.m: Wrap tool tips to 60 characters,
* src/input/input.c: Correctly parse MRL of the type
/Volumes/toto:titi/coincoin.mpg (closes#238 & #186)
* modules/access/*: Changed some msg_Warn into msg_Err
* po/fr.po: Updated French translation,
* configure.ac.in: Re-enabled Swedish translation,
* Makefile.am: Do not recompile everything everytime someone changes a .h
* Makefile.am: fixed FAQ, THANKS and NEWS handling in package* rules
* src/misc/darwin_specific.m: more generic language detection
* NEWS: summarized changes from 0.4.6 to 0.5.0
it simply outputs a usage message.
* ./src/*: fixed a bunch of (legitimate) warnings under VC++.
* ./evc/*, ./msvc/*: split the workspaces into three projects (libvlc, vlc
and plugins -- plugins doesn't build anything yet).
directory because the two project files are starting to diverge.
* ./evc/vlc.c: created a specific vlc.c file for Windows CE.
* ./src/misc/messages.c: as WinCE doesn't have stdout or stderr, the message
queue outputs to a logfile (until we have a proper interface).
* ./modules/access/http.c: fixed a segfault (unchecked strstr return value).
* ./src/input/input_ext-plugins.c: removed platform-specific code and put
it in plugins. This leads to some code duplication but I have an evil
plan to get rid of that, too.
yet so there's little that can be tested, but threads work at least.
* ./src/extras/libc.c: renamed strndup.c to libc.c because a few other
libc functions were added (strcasecmp, atof, getenv...).
work is still needed for missing functions. I only touched libvlc for
the moment, plugins will come in a long long while.
* ./bootstrap: moved MSVC project files generation here; use --update-msvc.
file from the makefile.
* ./msvc/*: moved the MSVC files here.
* ./src/extras/*: moved the extra code here (used to be in src/misc,
extras/GNUgetopt and extras/Win32_msvc).
* ./include/*: a few warning fixes.
* ./mozilla/npvlc_rc.rc, ./mozilla/vlcplugin.h: added the Ogg mime type to
the Mozilla plugin properties.
* ./debian/control: added libogg-dev and libvorbis-dev dependicies to the
Debian build script.
For the moment it spawns a separate window and seems to behave nastily
(read: crashes) when the target has sound, but the javascript interface
works perfectly, for instance.
To build it, I installed Mozilla development files in my mingw32 dir
and hacked mozilla-config so that it uses these files. I also hacked
jri_md.h and jni_md.h to put "defined(_MSC_VER) || defined(__MINGW32__)"
where it read "defined(_MSC_VER)". No other changes were necessary.
* ./include/main.h: removed p_vlc->i_status because it was not sufficient
to represent all the possible states of p_vlc; each part should be tested
separately upon destruction.
* ./src/misc/objects.c: fixed a signed/unsigned bug that prevented creation
of VLC_OBJECT_GENERIC objects.
* ./src/misc/variables.c: added the VLC_VAR_COMMAND type which is simply a
variable that stores a function pointer, and calls it when var_Get is
called for it. The function argument is taken in val.psz_string.
* ./src/misc/objects.c: vlc_dumpstructure and vlc_liststructure are no longer
exported to the rest of the program; instead, they're VLC_VAR_COMMAND vars
("tree" and "list").
* ./modules/control/rc/rc.c: moved a few commands to VLC_VAR_COMMAND vars.
* modules/demux/mpeg/ts.c: added an #include <stdint.h> to make mingw32 happy when
compiled with libdvbpsi.
* Makefile.am: fixed dependency problem with share/vlc_win32_rc.rc.
* ./include/vlc/vlc.h: changed the naming conventions for libvlc. Now
exported functions start with VLC_ instead of vlc_ to avoid conflicts.
* ./include/vlc/vlc.h: removed the vlc_object_t, vlc_list_t, vlc_error_t
and vlc_t types; they are now internal types only.
* ./include/vlc/vlc.h: merged the reentrant and non-reentrant libvlc
calls. In non-reentrant mode, we just use 0 as the first argument. In
reentrant mode, we use an object's ID. (see below)
Internal changes:
* ./src/libvlc.c, ./src/misc/objects.c: instead of manipulating vlc_object_t
pointers, we manipulate their i_object_id. When needed, an object is
retrieved using vlc_object_get (I hope the lookup isn't too expensive,
that's why I designed the pp_objects layout to allow log2(n) seeks).
* ./src/misc/objects.c: activated the per-object variable storage. Unused
yet, unless you want to try "getfoo" and "setfoo blablah" in vlc -I rc.
* ./include/vlc_objects.h: moved the vlc_object_t and vlc_list_t definitions
here.
Misc:
* ./src/vlc.c, ./mozilla/vlcshell.cpp: removed inclusion of config.h in
code portions not part of libvlc; it was just required for the
COPYRIGHT_MESSAGE string which is now available from VLC_Version().
don't seem to work very well if you are using autopoint, although
gettext 0.11.5 claims to be fully backwards compatible. Welcome to
automake hell.
* ./bootstrap: workaround which uses gettextize if you do not have
autopoint. We'll probably stay like this for a while, until gettext
0.11.x (which replaces gettextize with autopoint) becomes more
widespread. Currently this workaround seems to work, but don't expect
a clean tarball if you make dist without having used autopoint. Welcome
to automake hell.
unnoticeable apart from the extra dependency on autoconf, automake and
gettextize. See the new HACKING file for some information, especially if
you don't run Linux.
The current strategy is to have the configure script generate a nice
automake Makefile from Makefile.am, and then clobber it with our good
old dirty Makefile. Muahaha :-)