* Activated -D_FILE_OFFSET_BITS=64 -D__USE_UNIX98 on all platforms, fixes
issues under Solaris and QNX.
* Additional checks for SSE-specific (non-MMXEXT) instructions, as
reported in <20010817114220.A23480@slartibartfast.angrypacket.com>.
extras/BSDI_dvdioctl after he suggested it. License is GPL.
* ./configure now checks for an installed libdvd under BSD/OS and
falls back to ours if not found.
* Fixed harmless typos in yesterday's Solaris libdvd patches.
* Bumped libdvdcss version number up to 0.0.3 ; release will probably
follow once the BSDI changes have been tested.
* Various debian scripts fixes.
* Added -lmsvcrt40 to the win32 flags for proper execution under Wine.
* Fixed broken soname setting under Solaris (and OS X, sort of).
* Made the illegal instruction report more explicit.
* BSD/OS 4.3beta1 fixes by Steven M. Schultz <sms@TO.GD-ES.COM>.
libdvdcss. It will try to dlopen() libdvdcss at runtime, though,
and will use the dummy functions only if it couldn't find a valid
libdvdcss. This is probably only useful to package maintainers.
* Tidied the snapshot-* Makefile rules.
* Tidied the modules Makefiles.
* Removed useless stuff in the debian/ directory.
* Removed the "make all" kludge in the Makefile.opts rule. I hope this
patch is harmless on all systems.
* Fixed a bug when compiling KDE plug-in without Qt plug-in ;
* Now taking into account $KDEDIR ;
* Made SDL configure error messages more explicit ;
* --disable-sdl is now correctly taken into account ;
* Changed the order of evaluation of sdl-config and sdl11-config ;
* Finally fixed SDL*/SDL.h check ;
* Fixed the --with-dvdcss flag:
o --with-dvdcss - build libdvdcss, link statically (also default behaviour)
o --with-dvdcss=local-static - build libdvdcss, link statically
o --with-dvdcss=local-shared - build libdvdcss, link dynamically
o --with-dvdcss=/foo/bar - don't build libdvdcss, use libdvdcss in /foo/bar
* Fixed an omission in the dvdcss.h header.
evil, but if we don't do it now we'll have to do it when more people
are using it.
* Fixed minor libdvdcss stuff such as the soname and compilation flags.
* New --with-dvdcss flag.
Explanation:
o default: build libdvdcss, statically link vlc against it.
o --with-dvdcss=no: build libdvdcss, dynamically link vlc against it.
o --with-dvdcss=yes: don't build libdvdcss, use already installed one.
o --with-dvdcss=/foo: don't build libdvdcss, use libdvdcss from /foo/*.
(this looks a bit strange to me, I'll find better flag settings)
vlc's DVD input (looks like decoders are expecting data too early and
DVD input can't cope with it due to decryption). Needs to be investigated.
* Plugins are now compiled in plugins/* and libraries in lib/*.
* The KDE UI compiles again but does not work yet.
* ALSA plugin message corrections.
* Calculation modules can now be calledwith a shorter name
(eg. '--downmix mmx' instead of '--downmix downmixmmx').
* Fixed insane verbosity of the SDL plugin.
code for a C function or variable.
GCC for Win32 normally prepends an underscore to the name of a
C function or variable, and the inline assembler code was using the
name without the underscore so we had undefined symbols in some
modules.
- Reenabled all the accelerated modules on Win32.
It works at last! configure with --enable-profiling, build, run
vlc (you may want to add --noaudio, it currently segfaults with sound
here) and launch "gprof vlc" when finished.
To make gprof work with multithreaded programs, one needs to set the
internal ITIMER_PROF timer for each new thread launched. I did this
through a wrapper in vlc_thread_create (see include/threads.h).
* Merged dvdcss_init and dvdcss_open into dvdcss_open, and dvdcss_close
and dvdcss_end into dvdcss_close. libdvdcss API now has 7 functions.
* Another failed attempt at profiling vlc under Linux: ported the
threads API to GNU Pth. Activate with --enable-pth. It doesn't seem to
spawn new threads for me, maybe someone will have better luck.
* Makefile optimizations.
* Automatic build of libdvdcss if not found.
about this in a forthcoming post here).
* Fixed the painfully slow build process (at last!).
* Moved the null plugin together with the dummy one.
* Added new dummy input plugin.
More on the dummy input plugin: we'll use it to insert commands in
the playlist. Currently implemented are the "quit" and "pause" functions,
here are examples on how they are used:
vlc file.mpeg vlc:quit # exit after file.mpeg has been read.
vlc file1.mpeg vlc:pause:3 file2.mpeg # pause 3 seconds before playing
# the next file.
From now we can more efficiently benchmark vlc. For instance, to test
the video output changes I am doing, I use such a command:
time vlc -I dummy --noaudio file.mpeg vlc:quit
Future extentions might include more interesting stuff like "switch
to full screen", "repeat next file 3 times", "switch to SDL video
output"...
Notes: o I called it 'directx' instead of 'windx' because it
made a lot more sense to me.
o Completely untested. I didn't manage to compile it yet.
o Code in vout_directx.c will go through a big rewrite when
vout 4 is finished. Xav is already working on this.
* The ALSA plugin is back.
* A gift for Gildas: plugins don't rely on backlinking any more. The
drawback is the dirty magic in include/modules_export.h which has to
be included whenever a module needs one of the functions in it. But
a) we should less and less rely on those functions
b) no plugin code modification was needed
The BeOS and MacOS X modules may be broken when compiled as plugins,
I'll check this later when I can reboot under BeOS.
* aout and vout are now allocated in banks, making it possible to have
several of them at the same time.
* configure now checks for MMX and MMX EXT support in the assembler.
* Removed all MMX code from the main program and moved it to the
existing idct modules (Closes: Debian bug #96036).
Don't forget to make distclean before building vlc again.
fix: the output threads are now spawned when a decoder needs one,
so it can decide the audio frequency or the video window size. Still
under heavy construction, so don't get too excited at finding bugs
in it yet.
Note: this change broke the XVideo module, so I made its score much
lower than before. I suspect xvideo.so had a bug before which only
appears now. Other video output plugins may be broken as well, but
again this might be due to old existing bugs showing their ugly head.
* Fixed a few buffer overflows in the Gnome interface.
* The module bank is now a global variable. The video output bank and
the audio output bank might follow (when they exist).
* Coding style and organization fixes to the spdif decoder.
* autoconf and Makefile changes by Arnaud Gomes-do-Vale
<arnaud@carrosse.frmug.org>.
* Miscellaneous QNX compile fixes.
* Beginning of the mingw32 port by Gildas Bazin <gbazin@netcourrier.com>.
* Added Marcari and Gildas to the AUTHORS file.
(I commited the mingw32 port because it doesn't add any new code outside
the #ifdefs, but we won't tell a word about it for the moment. We don't
really need windows users whining about bugs, do we ?)
* rc interface plugin for vlc control through /dev/stdin courtesy
of Peter Surda <shurdeek@panorama.sth.ac.at>.
* Support for `ts://foo:42' style input source:
vlc ts://vls.via.ecp.fr:1234
vlc ts://vls.via.ecp.fr
vlc ts:vls
vlc ts:vls:4321
As a side effect, the Gnome and Gtk "network input" buttons work.
* Built-in modules support almost finished.
Now you can compile any module within vlc, even the Gnome, Qt, SDL
and GGI modules at the same time, resulting in an awful extra fat
vlc binary with gazillons of library dependecies.
The only exception is that the Gnome and Gtk+ modules can't be
compiled together into vlc. But you can have one compiled built-in
and the other as a plugin.
Another consequence is that libdl should no longer be needed under
MacOS X. I'll check this as soon as possible.
A few words about the changes:
- heavy Makefile butchery has taken place, each plugin now has its own
Makefile. I know recursive make blablah harmful, but it was just so
much easier to do this way.
- Makefile.in has disappeared, we now generate Makefile.opts with
the overall configuration options, and Makefile.modules which is
specific to module compilation.
- After ./configure has been run you may want to modify Makefile.opts
to check which modules will be compiled built-in or as plugins.
- Some modules cannot be compiled built-in right now because proper
linkage doesn't work yet. We don't really care since they're the
interface or video output modules. The most important stuff works
(iDCT, motion, YUV, input).
- It's perfectly valid to compile a module both as built-in and as a
plugin. vlc will only load the built-in one, but I'll add an option
to ignore built-in modules for testing purposes.
- We *should* see a performance increase here. I didn't have much time
to test it, but if anyone can confirm and perhaps give a rough
estimate of how much we gain...
* Merged 6 months of CVS logs to the ChangeLog file.
The vlc changelog can now be viewed here:
http://www.videolan.org/vlc/changelog.html
* Fixed a lintian error in debian/rules.
* XVideo resize patch by Shane Harper <shanegh@optusnet.com.au>.
* Corrected an awful typo in the version name, I hope Lieutenant Commander
Arkady Grigorovich Ourumov will never set up us the bomb for that.
* Removed deprecated stuff from config.h.
* Disabled message queue by default.
* A few other changes in the CSS code, the BeOS issues should be fixed.
* Fixed a memory leak in gtk_callbacks.c (thanks to Dae).
isn't available on the desired platform.
* replaced the `--warning' flag with the standard cumulative `-v' flag.
`-v' is like `--warning 3', and `-vvvv' is like `--warning 0'
(`--warning' is still valid for those used to it)
* cleaning in configure.in and Makefile.in, the Solaris port now
builds and runs properly.
* Fixes to aout_darwin.c by Colin Delacroix <colin@zoy.org>.
* Fixes to configure.in, Makefile.in and main.c (Altivec detection)
by Eugenio Jarosiewicz <ej0@cise.ufl.edu>.
* Added Colin and Eugenio to the AUTHORS file.
o the slider should behave correctly and stop jumping here and
there (this bug is _not_ related to Stef's similar bug)
o added an "open network" menu (useless since the input doesn't
handle it properly yet)
o tried to reorganize gnome_callbacks.c and gtk_callbacks.c
o stream date is now displayed instead of percentage
o renamed gnome_sys.h to intf_gnome.h, and gtk_sys.h to intf_gtk.h
* Changed documentation and package creation files.
o added versioned conflicts/replaces to vlc-gtk (Closes Debian bug #88796)
o removed useless or outdated documentation from doc/*
o moved vlc.1 manpage from debian/vlc.1 to doc/vlc.1
* Added basic Qt interface.
o working features: slide bar, open file, toolbar, popup menu
o added "qvlc" alias, equivalent to "vlc -I qt"
o known issues : no "open disc" or "open network" menus yet
the IntfWindow class is never cleaned on destruction
the popup menu always pop at the middle of the screen
* Misc fixes/updates.
o renamed netutils.h functions from input_* to network_*
o renamed *plst* files and functions to *playlist* (it was stupid
from me to name them "plst")
o made a few input error messages more meaningful
o added -I, -A and -V short flags, corresponding to --intf, --audio
and --video
I got a lot of conflicts on this commit, lart me if I forgot a
file or made old bugs reappear.
* Got rid of the CONTRIBUTORS list, and switched AUTHORS to a
linux-kernel like author list.
* Updated TODO list.
* Fixed a segfault in the BeOS interface when --noaudio was specified.
* Title and Chapter selection in the Gnome and Gtk+ interfaces.
and changed plugins/dvd/* to reflect this change.
* Added .xpm icons (fixes lintian warnings).
* --help output and manpage are now in sync (Closes Debian bug #87478).
* Fixed Build-dpends entry in debian/control (Closes Debian bug #83707).
* Added a --disable-css configure option
* Moved some code here and there in the DVD plugin to make it easier
for me to build the Debian CSS-free packages.
don't forget to use the -p option if you cvs update)
* Added a plain Gtk+ port of the Gnome interface, for the gnome-impaired
people. Gtk+ is now compiled by default, while Gnome isn't (you will
have to add --enable-gnome when running configure)
* Replaced -lcurses with -lncurses in configure.in.
* DVD plugin is still non-functional when you don't have DVD ioctls,
but at least it compiles under BeOS as well.
* Minor cosmetic changes here and there.
so this didn't make it work better.
* Started thinking about built-in modules, and added some code to
make it easier eventually.
* Added Oct in the AUTHORS file.
* Fixed a mistake in configure.in.
* All your base are belong to us.
* Fixed a bug in src/misc/modules which prevented loading modules
when launched from the Tracker.
* Fixed a similar bug in src/video_output/video_text.c.
* BeOS CSS support, thanks to Markus Kuespert <ltlBeBoy@beosmail.com>
who ported the Linux DVD ioctls. We can now read encrypted DVDs
under BeOS ! Woohoo.
support for $(bindir) $(datadir) and $(libdir) stuff, courtesy
of Arkadiusz Miskiewicz <misiek@pld.ORG.PL>
* Ported ggi.so to the new modules API. As for the other modules, only
the "q" key works. Moreover, VLC doesn't exit cleanly if you close the
GGI window.
* Deactivated non-working widgets in the Gnome interface.
* Added CONTRIBUTORS file.
Hint of the day: don't expect to code quite long in your bed when sleepy.
I used this command to play an unencrypted DVD, but maybe there is a
better solution: ./vlc dvd:/dev/disk/ide/atapi/1/master/0/raw
Current problems: gcc doesn't like MMX-EXT instructions, and refuses
to have register %ebx being used in the main application. Grr.
,-- don't trust the CVS bot, it's Sam speaking here :)
/
* Fixed package building (both RPMs and .debs).
* Fixed `make snapshot' rule.
* Added some magic to filename detection. To read a DVD you now just
need to run 'vlc dvd:/dev/hdc' for instance. Same for file:// URIs.
* Fixed a segfault in the slider when no stream was playing.
* Made the slider go from 0 to 100 (instead of 99 :)
* The vlc now doesn't exit when finished playing. As a side effect of
the playlist code being very recent, it continuously loops.
deadlock. This happened mostly when opening non-existing files.
* Created input_SetStatus to do input_SetRate's job. input_SetRate will
be used to set an arbitrary rate, for people who want to read DVDs at
1/2.71828 times the actual speed.
* Stubs for the ncurses control interface. No working code yet, but the
holes just need to be filled.
* Improved X11 support. Still not as functional as before.
* The output window now states the method name, so that people know whether
they are using X11 or SDL.
* The Gnome interface is now drag'n'drop aware, you can drop a file
on it just like Xine does (or so I guess).
* started cleaning vout_sdl.c
* the dummy plugin works again
* added a slider to the Gnome interface so that we can browse through streams
There is a problem with the slider: we sometimes get unexpected async
replies, which would mean that we don't properly lock our Xlib calls.
Which is true. But we also get these errors when using `--vout dummy'.
I'll investigate.
---------------------------
* Plugins have completely disappeared, we now only use the new module API.
* All intf and vout modules are now independant. So far, only the Gnome
intf module and the SDL vout module have been ported. configure.in has
been modified to reflect the changes (x11 and dummy aren't compiled by
default anymore, while SDL and Gnome are).
Note that this is _not_ Interface II, it's just a step forward. For
instance, it lacks the whole message passing scheme.
Things that should work:
* Right-clicking on the SDL video output window brings the Gnome menu.
* Pause, Play, Exit, About work from the menu or from the interface window.
* The old SDL keys still work.
Things that are broken or may be broken:
* Xlib calls are not locked yet, which may lead to "Unexpected async reply"
errors, and make the vlc segfault.
* Sound only works for the first file.
* The SDL vout_sdl.c file is absolutely ugly and kludgey.
* The vlc immediately quits when no filename is given as an argument. Not
a real bug, but still annoying.
* The Gnome menu does not work in fullscreen mode.
Things that will come soon, maybe tomorrow:
* Complete navigation buttons (fast forward, slow, etc.).
* File/Open menu to add files to the playlist.
* Return of the X11 video output for those of us who do not have SDL.
* Textmode interface for those of us who do not have Gnome.
* aout and vout autospawn (maybe).
time later, when we don't have to backport modifications to input_*.c
What's new :
- playlist works again (still the old wrong way like Meuuh doesn't
like, but this is going to change within a few hours)
- input_ps, input_ts and input_dvd are now plugins, located in
plugins/mpeg/ and plugins/dvd/
What's broken :
- audio output might be broken on some streams ; have to investigate
What has changed :
- fast/slow keys are now A/Z instead of A/S since S was already
linked to the scale/noscale toggle.
- `--dvd' doesn't work anymore, for the moment try to use :
vlc --input dvd /dev/dvd
- module bank is now less verbose ; use `--warn 1' to turn back
verbosity on
. --overlay and --fulscreen options (only work with --vout sdl)
. the vlc exits after the end of the stream, which prevents from having
to kill it and relaunch it during a presentation, just script it like :
for i in ~/mpeg/* ; do vlc --fullscreen --overlay --vout sdl $i ; done
Yes, I know the --overlay stuff is fucking ugly. But *I* am not the one
who redefines vout_sys_t in an interface-related source file. I won't
change it until the vout/intf is finished being rewritten.
Additional information: if "--overlay --fulscreen" doesn't center your
picture, try with your screen geometry, eg:
"--overlay --fullscreen --width 1024 --height 768"
. changed codename to Urumov
. cleaned a lot of stuff in the Debian package generation.
If anyone objects with the versioning scheme, let's fight in the
dirt and sort that out. Or change it yourself.
Debian packages can be tried here: http://armitage.via.ecp.fr/~sam/vlc/
implementation with `--motion motion', `--motion motionmmx' or
`--motion motionmmxext'. Of course, the best implementation is chosen
if you don't ask for any. There doesn't seem to be any performance hit
due to the move to shared libs, which is a good thing. Please test
actively if you have time, though.
Updated --help result, manpage, INSTALL document, and a few files.
I moved vdec_motion.h and vpar_blocks.h back to /include because they
will be needed to build motion compensation modules, but perhaps we don't
need to export everything which is in these files.
/src/video_decoder/ now has only one .c file, perhaps it could now be
merged with video_parser ?
our optimized IDCT, and MMX IDCT.
. cosmetic changes for modules (pf_* instead of p_*)
. fixes to the BeOS and dummy modules
WARNING: a new directory has been added, which means you have to
use `cvs update -dP' to update ; files have been removed , which means
you either have to run `make distclean' or remove the .deps directory,
and the configure script has changed, which means you have to run it
again. Don't complain before having checked this :)
Note about the IDCT modules: there is no way to choose the one we
use, but you may remove the module in lib/ to prevent it from being
loaded. The preference order is : MMX, Optimized, Classic.
(tested on puma)
. removed most SYS_SOLARIS #ifdef's in favour of more generic tests
. updated example ./configure line in INSTALL file
. now we only load modules that end with ".so"
. null module is compiled by default
* --enable-sdl and some others are now --with-sdl[=name] to supply an
optional library name ;
* deleted all unnecessary #include <sys/uio.h> ;
* /usr/include is now searched when looking for libraries and headers.
It seems to compile and run on BSD. Under Linux Sam's latest commit makes
vlc crash on startup, so I can't really tell, but hey it compiles.
* Fixed a bug which made frames go backwards with some displays (the
video_decoder thread is now niced).
* Made use of intf_WarnMsg() in the most needed places.
Also simplified the synchro algorithm and fixed a bug with non-(5/1) streams.
Fixed the optimizations in the configure stuff.
Warning : this release needs a full rebuild (make clean; make).
Warning : I might have broken the BeOS port, could somebody check ?
. The interface part:
. created intf_AssignKey, intf_getKey and intf_AssignNormalKeys
these new function are a first abstraction of the the key handling system. It makes use of a new structure in the interface : p_keys.
. AssignNormalKeys is commonly used in all the interface plugins.
AssignKey is used to allow the SDL interface to react nicely.
. Now the plugin struct element psz_filename is filled (and freed
at the end of the program).
. the SDL plugin:
works but does only display a green screen for now. so don't use it !
. Please try and compile the client on your box with this version.
I've tried a few output plugin but not all.
-march=pentium directive. thanks Meuuh, blame sam.
* fixed a warning in main.c.
* separate Debian packages.
* added request for ALSA support in the TODO list.
piti�, pour ne laisser que � vlc �, � gvlc � (gnome) et � fbvlc �
(framebuffer) ; les autres restent bien entendu accessibles avec
par exemple � vlc --vout ggi �.
. IMPORTANT - nouvelle option --synchro pour forcer un type de
synchro. Pour le moment les options possibles sont :
--synchro I /* n'affiche que les I */
--synchro IP /* affiche les I et toutes les P */
--synchro IP+ /* affiche les I, les P, et la moiti� des B */
--synchro IPB /* affiche toutes les images */
Toute autre valeur de --synchro sera ignor�e et c'est l'algo
par d�faut bas� sur la consommation de processeur qui sera
utilis�. Notez que si vous en demandez trop au vlc, il va
bien entendu planter, ou tout du moins remplir sa fifo comme
un gros cochon. On n'y peut pas grand chose, c'est la vie.
Voil� le changelog appoximatif :
. fichier INSTALL plus clair
. vir� quelques warnings
. *PATH sont maintenant d�finis dans config.h
. quelques fautes d'orthographe
. l'option --enable-ppro n'est pas mise par d�faut car elle ne fonctionne
pas sur un K6-2
. nouvelle API des plugins
. le client framebuffer ne d�truit plus la console quand on quitte
. r�paration de la YUV 8 bits
. mise des YUV en plugins
. transfo YUV 32bits MMX chour�e dans la libmpeg2
convenablement les options de compilation
maintenant faire: ./configure --enable-fb --enable-blabla
(./configure --help pour tous les voir)
. correction d'un warning en mode non-MMX
. giclage de l'ancien d�codeur dans le Makefile
n'oubliez pas de relancer ./configure avec les bonnes options !
typiquement elles sont du genre :
./configure --enable-fb --enable-mmx --enable-ppro
. include/config.h devient include/config.h.in et config.h sera
g�n�r� par ./configure. Le but est d'�viter les options -DFOO de gcc
. suppression d'un 'Resources' qui trainait encore dans config.h