separated the code to parse html files with embedded wmp, and the code to
parse asx files. Added a new shortcut "html" to force the "html" behaviour.
Reduced number of false positives for both html and asx files. We now also
trigger on the content of files, since html and asx files are often
autogenerated on the webserver using php or asp.
Sam Hocevar [Sat, 23 Nov 2002 20:37:10 +0000 (20:37 +0000)]
* ./modules/control/rc/rc.c: the seek command is now "seek" and not "r",
and it uses a command variable like other controls. This also fixes a
bug that prevented to have spaces between the command and its argument.
Sam Hocevar [Sat, 23 Nov 2002 02:40:30 +0000 (02:40 +0000)]
* ./modules/video_output/wingdi.c: the GDI video output now properly sets
the bitmasks; we're not limited to 8bpp and 16/24 works.
* ./modules/video_filter/*: the video filters now work under WinCE.
Sam Hocevar [Fri, 22 Nov 2002 20:27:19 +0000 (20:27 +0000)]
* ./modules/video_output/wingdi.c: ported the wingdi plugin to Win32; it
somewhat works under Wine (if you force internal buffers to 8bpp), but
doesn't work under Win2k. Any hints welcome.
* ./configure.ac.in: activated the wingdi plugin by default.
Sam Hocevar [Fri, 22 Nov 2002 18:35:57 +0000 (18:35 +0000)]
* ./modules/access/mms/var_buffer.h: this file is now a separate .c, to
prevent gcc's optimizer to go amok with nested inline functions, loop
unrolling and such things that we don't really need in an access plugin.
Sam Hocevar [Fri, 22 Nov 2002 15:19:47 +0000 (15:19 +0000)]
* ./modules/video_output/wingdi.c: implemented offscreen rendering with
fast blit (well at least it was considered "fast" back in the times of
Windows 3.1). Default is 8bpp because that's what my iPaq does (no
palette support yet though), 16bpp can be chosen at compile time and
works perfectly in the emulator.
Gildas Bazin [Thu, 21 Nov 2002 21:37:46 +0000 (21:37 +0000)]
* modules/codec/Modules.am, configure.ac.in, modules/codec/vorbis.c: added
a tremor decoder module using libvorbisidec (aka tremor) from xiph.org.
This module allows decoding vorbis audio on hardware without a fpu
(--enable-tremor).
* modules/LIST: added entries for tremor and theora.
Gildas Bazin [Thu, 21 Nov 2002 15:51:57 +0000 (15:51 +0000)]
* src/playlist/playlist.c: fixed deadlock in playlist.
* modules/audio_output/oss.c: don't play blank samples when we are starving
for data but our internal buffers are not empty. Some cleanup too.
Sam Hocevar [Thu, 21 Nov 2002 13:53:32 +0000 (13:53 +0000)]
* ./modules/video_output/wingdi.c: skeleton of a Windows GDI video output.
* ./modules/access/file.c: the file access plugin gets the real file size
under WinCE.
* ./modules/audio_filter/converter/u8tofixed32.c: added this conversion
filter to play some WAV files without an FPU.
* ./bootstrap: bootstrap --update-vc doesn't rely on the Makefile's presence.
Gildas Bazin [Thu, 21 Nov 2002 09:39:39 +0000 (09:39 +0000)]
* modules/demux/ogg.c: better handling of PCRs (we now base our calculations
on all sub-streams instead of just using one of them). Some code factorisation
too.
Sam Hocevar [Wed, 20 Nov 2002 19:07:27 +0000 (19:07 +0000)]
* ./src/misc/messages.c: added ^Ms to the WinCE logfile.
* ./bootstrap: fixed a typo that prevented per-object target directories
to work.
* ./evc/*, ./msvc/*: removed project files; they're becoming a bit large
(more than 1MB) and I don't want to spoil the CVS with them.
Sam Hocevar [Wed, 20 Nov 2002 16:43:33 +0000 (16:43 +0000)]
* ./modules/audio_output/waveout.c: audio output now works under WinCE
using the waveout module.
* ./bootstrap: we ignore comments when parsing makefiles.
* ./modules/audio_filter/converter/fixed32tofloat32.c: changed this module
so that it also does float32tofixed32.
* ./modules/*: ported a few other modules to WinCE (most of the time it's
just a #include <errno.h> that needs to be removed).
Gildas Bazin [Wed, 20 Nov 2002 14:09:57 +0000 (14:09 +0000)]
* modules/codec/theora.c, configure.ac.in, modules/codec/Modules.am: new
theora codec plugin.
This plugin is based on the experimental theora codec from the Xiph.Org
foundation (http://www.theora.org/). Because the theora bitstream
specifications are likely to change in the near future, this plugin won't
be compiled by default. If you want to test/develop theora with vlc, you'll
need to configure it with --enable-theora and also make sure you've got a
fresh libogg from cvs.
* modules/demux/ogg.c: modified to handle theora and tarkin bitstreams.
Sam Hocevar [Wed, 20 Nov 2002 13:37:36 +0000 (13:37 +0000)]
* ./evc/plugins.vcp.in: fixed plugin entry points for WinCE.
* ./modules/*: fixed a bunch of modules so that they compile under WinCE,
we now have access_file and the mpeg demux and video decoder working
(http://zoy.org/~sam/vlc/pocketvlc2.png).
Sam Hocevar [Wed, 20 Nov 2002 08:58:24 +0000 (08:58 +0000)]
* ./include/vlc_common.h, ./src/extras/libc.c: exported our custom libc
functions to plugins.
* ./bootstrap: enhanced the project file generation for plugins; we now
parse makefiles to make this easier.
* ./modules/**/Modules.am: reworked a few makefiles so that they are more
easily parsed.
Gildas Bazin [Wed, 20 Nov 2002 01:49:15 +0000 (01:49 +0000)]
* src/video_output/video_output.c: fixed a really old bug in the video output
layer. This bug was only affecting video outputs without direct rendering
capabilities.
Gildas Bazin [Tue, 19 Nov 2002 20:45:09 +0000 (20:45 +0000)]
* include/video.h, include/vlc_config.h, src/video_output/*: changed the
picture buffer allocation scheme to allocate pictures from the render
heap in a clockwise fashion instead of always picking the first available
one from the start of the heap.
This allows us to benefit from ffmpeg's macro-block skipping feature.
As a side effect, we also have less chance of reusing a refrence picture
buffer when we can't link/unlink them.
* modules/codec/ffmpeg/video.c: modified the direct rendering code to benefit
from the macro-block skipping algorithm.
A new flag has also been introduced in the video_output's render heap to
forbid modifications to the render picture buffers (for instance to overlay
subtitles).
Sam Hocevar [Tue, 19 Nov 2002 17:38:07 +0000 (17:38 +0000)]
* ./src/misc/modules.c: p_module->psz_filename is now filled with a real
8 bit string under WinCE.
* ./extras/Win32_msvc: scrapped this directory.
* ./bootstrap: we now parse plugin makefiles to guess what to put in
the MSVC project files. Only the dummy plugin has been tested yet.
Sam Hocevar [Mon, 18 Nov 2002 18:05:13 +0000 (18:05 +0000)]
* ./src/misc/modules.c: support for Unicode filenames under WinCE; VLC now
successfully opens plugins.
* ./modules/misc/dummy/*: hacked the dummy plugin so that it compiles for
WinCE.
Gildas Bazin [Mon, 18 Nov 2002 13:28:09 +0000 (13:28 +0000)]
* configure.ac.in, modules/codec/Modules.am, modules/codec/tarkin.c: added
an experimental tarkin video decoder. You will need to specify the tarkin
tree you want to use with --with-tarkin-tree=.
Warning: Tarkin is still in very early development stage, so this plugin isn't
actually usefull unless you intend to do some development on tarkin itself.
Gildas Bazin [Mon, 18 Nov 2002 13:02:16 +0000 (13:02 +0000)]
* added a wxwindows interface using the wxWindows cross-platform GUI framework.
The interface is quite basic for now but should be functional anyway.
(you need to have wxWindows >= 2.3.0 installed to use this plugin)
Laurent Aimar [Sun, 17 Nov 2002 06:46:56 +0000 (06:46 +0000)]
* ffmpeg: disable direct rendering by default. I have too many files
that don't work with it (I don't see why it doesn't work :(
* mp4: fix a bug in timestamp calculation. Replace s/u* by s/uint*_t
* avi : remove an useless debug message.
* src/misc/objects.c : fix stream output object allocation.
Laurent Aimar [Fri, 15 Nov 2002 18:10:26 +0000 (18:10 +0000)]
* modules/demux/util : add a text subtitle demuxer. (Module called by demux).
MicroDVD, SubRIP, SSA subtitle format should work...
Options: --sub-file <subtitle file> [--sub-fps, --sub-delay --sub-format].
* modules/demux/avi : make use of subtitle parser.
* modules/demux/asf : display movie length. (It will not work with live
streams of course).
modules/codec/spudec : use i_dts to send end of display time for subtitle.
(Yes it's ugly, but it works :)
Gildas Bazin [Fri, 15 Nov 2002 17:17:29 +0000 (17:17 +0000)]
* configure.ac.in, modules/audio_output/arts.c, modules/audio_output/esd.c:
fixed the arts and esd audio plugins after the recent changes to aout3
(untested).
Gildas Bazin [Fri, 15 Nov 2002 16:27:10 +0000 (16:27 +0000)]
* configure.ac.in, modules/audio_output/directx.c, modules/audio_output/waveout.c:
fixed the waveout and directx audio plugins after the recent changes to aout3.
Gildas Bazin [Fri, 15 Nov 2002 14:41:49 +0000 (14:41 +0000)]
* modules/access/http.c: added an http-proxy config variable. If the variable
is not set, we'll still look at the value of the http_proxy environment
variable.
Gildas Bazin [Fri, 15 Nov 2002 01:23:54 +0000 (01:23 +0000)]
* configure.ac.in: fixed a few typos regarding LDFLAGS_access_*. Re-enabled
the oss plugin as it seems to be working fine.
* src/audio_output/input.c: fixed an obscure bug... (strange one though:
int foo = -1; unsigned int bar = 2; __MAX( foo, bar) == -1 ).
Major change of the channels management. p_format->i_channels disappeares
and is replaced by two members : i_physical_channels and i_original_channels.
i_physical_channels describes the channels which are effectively present
in the stream (at the current point of the aout pipeline), whereas
i_original_channels represents the channels we used to constitute the
stream. For instance a mono stream (FRONT_CENTER) may emanate from a
FRONT_LEFT channel of a STEREO stream.
Additionally, this contains hooks to dynamically select the audio device
and the channels configuration. In order to do that, all aout plugins,
and all interface plug-ins need to be adapted. Currently only SDL
(partially OSS) and the rc interface have been adapted, please use them
as a guide. Other aout plug-ins have been temporarily disabled.
IMPORTANT : if you need a working sound output, DO NOT UPDATE YOUR TREE
for several days until we fix that.
* modules/misc/network/ipv4.c: Fixed a long-standing segfault when saving
preferences and asking for multicast.
Laurent Aimar [Thu, 14 Nov 2002 16:32:43 +0000 (16:32 +0000)]
mms.c: it takes care of --no-audio and --no-video (to reduce bandwith
usage), and should not use more than --mms-maxbitrate (when there
are multiple audio or video streams).
Laurent Aimar [Thu, 14 Nov 2002 16:17:47 +0000 (16:17 +0000)]
asf/* : Convert all u* into uint*_t
Fix playing of some live asf, seek improvement (at least for me ;)
but it's more some "kludge" with vlc clock than true fixes ...
Sam Hocevar [Wed, 13 Nov 2002 20:51:05 +0000 (20:51 +0000)]
* ./bootstrap: bootstrap now requires the --config flag. With no arguments
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).
Laurent Aimar [Wed, 13 Nov 2002 20:23:21 +0000 (20:23 +0000)]
access/* : don't override demux setting made by user.
modules/demux/demuxdump.c : a little demux that dump raw stream.
(should work with all access...)
Sam Hocevar [Wed, 13 Nov 2002 15:28:24 +0000 (15:28 +0000)]
* ./msvc/*, ./evc/*: moved eMbedded Visual Studio files to the toplevel evc/
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).
Gildas Bazin [Wed, 13 Nov 2002 12:58:19 +0000 (12:58 +0000)]
* src/playlist/playlist.c: bugfix for when we delete the last playlist
element (I'll get this one right... eventually ;).
* modules/demux/m3u.c: allow forcing the demux to be used by specifying the
asx or m3u demux.
Gildas Bazin [Wed, 13 Nov 2002 11:09:56 +0000 (11:09 +0000)]
* src/playlist/playlist.c: when autodeleting an item, we don't need to skip
to the next one.
* modules/demux/m3u.c: added .asx support and changed the autodetection of
file type to just probe the file extension.
added a new demux that reads .m3u files and addes the contained items to
the playlist. Currently only autodetects files that start with #EXTM3U
otherwise you'll have to force it.
Gildas Bazin [Tue, 12 Nov 2002 21:20:36 +0000 (21:20 +0000)]
* include/vlc_playlist.h, src/playlist/playlist.c: added a b_autodeletion
flag to the playlist item structure. If this flag is set then the playlist
item will be deleted automatically after it has been played.
Sam Hocevar [Tue, 12 Nov 2002 13:57:13 +0000 (13:57 +0000)]
* ./Makefile.am: fixed rc compilation under mingw32/cygwin.
* ./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.
Laurent Aimar [Tue, 12 Nov 2002 00:54:40 +0000 (00:54 +0000)]
* modules/demux/asf/.cvsignore : put the good one.
* modules/access/mms : add MMS (Microsoft Media Streaming) access (Support
only TCP, I will try to add UDP and HTTP as well).
There are some problems with streams selections and we cannot seek, but
anyway it seems to work. (Usefull for some radio web)
* other: enable mms access by default.
Gildas Bazin [Mon, 11 Nov 2002 22:27:01 +0000 (22:27 +0000)]
* src/audio_output/filters.c, src/audio_output/input.c, include/aout_internal.h,
modules/audio_filter/resampler/*: Changes that allow the resamplers to set
the start and end date of the frame it outputs.
This allows us for instance to output a smaller frame than what we should, and
keep the rest of the data to compute the resampling of the next frame.
In short, we can implement much more complex resampling algorithms than before.
* modules/audio_filter/resampler/linear.c: rewrote the linear resampler. The audio
quality doesn't seem to be better than the ugly resampler, maybe I shouldn't
have wasted my time on this...
Gildas Bazin [Mon, 11 Nov 2002 19:16:21 +0000 (19:16 +0000)]
* modules/audio_output/file.c: will write a WAV header by default. Can be
disabled with --no-audiofile-wav.
* modules/audio_filter/resampler/linear.c: disabled for now, until I actually
manage to make it work without a problem.
Sam Hocevar [Mon, 11 Nov 2002 14:39:12 +0000 (14:39 +0000)]
* ./include/*, ./src/*: separated WIN32 #tests and UNDER_CE #tests, because
WIN32 isn't always defined under WinCE, but might be. Grmbl.
* ./include/*: changed a few u* and s* to uint*_t and int*_t.
Sam Hocevar [Sun, 10 Nov 2002 23:41:54 +0000 (23:41 +0000)]
* ALL: libvlc now compiles and run under WinCE. I haven't ported any modules
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...).
Sam Hocevar [Sun, 10 Nov 2002 18:04:24 +0000 (18:04 +0000)]
* ALL: WinCE compilation fixes (mostly nonexistent headers). A lot of
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.
Gildas Bazin [Sun, 10 Nov 2002 14:31:46 +0000 (14:31 +0000)]
* src/audio_output/output.c: fixed another quality affecting bug.
* include/aout_internal.h src/audio_output/input.c: major change to the
resampling algorithm. When resampling is requested to keep the audio stream
synchronised to the main clock, we trigger it but we change the resampling
rate only progressively so it doesn't get noticed too much by the listener.
./ChangeLog: added entry for the linear resampler
./modules/audio_filter/resampler/linear.c: This should allways generate the
right number of samples now. The morale is never base your floating point
calculations on the output of integer divitions.
Laurent Aimar [Sun, 10 Nov 2002 02:47:27 +0000 (02:47 +0000)]
* faad : adapt to newer version.
* ffmpeg : adapt postprocessing for latest libavcodec version, add an
option to disable direct rendering as postprocessing is currently broken
with it, and with some files I have bad pictures.