* modules/gui/wxwindows/*: added support for input options in the open dialog.
The stream output and subtitles options use them and you can also add options in the MRL itself.
* include/variables.h, src/misc/variables.c: you can now use var_Create() directly to create an object variable with an inherited value.
eg. var_Create( p_vout, "zoom", VLC_VAR_FLOAT | VLC_VAR_DOINHERIT );
Beware, the object in which you create the var must be attached to a parent for this to work (otherwise we can't navigate the parents hierarchy to find the value to inherit).
* src/input/input.c, src/input/input_programs.c, src/video_output/video_output.c: converted more config_GetFoo() into var_Create()/var_Get();
* include/vlc_common.h: MAX_PATH PATH_MAX, we don't wanna bother and use the
latter everywhere.
* modules/demux/util/sub.c: Bring the config options in here to the variable structure.
* modules/misc/freetype.c: Bring the config options in here to the variable structure.
Fix the linespacing. Dnumgis, it works, just define another linespacing :)
Jean-Paul Saman [Wed, 23 Jul 2003 07:37:34 +0000 (07:37 +0000)]
When recv() returns -1 a bug is triggered inside RTPRead() and RTPChoose(). The return value of Read() is then -1. The test "if (!i_ret) return 0;" will be false and the function will continue resulting in segfault while copying from buffers that are in an undetermined state. The correct test is "if (i_ret<0) return 0;".
* ALL: changes to the playlist_Add() and VLC_AddTarget() proto to include a list of options associated with the input.
* src/input/input.c: parses the input options list before spawning the input and create object variables for these options. Options are of the form "[no[-]]foo[=bar]" where foo is the option name and bar is its value.
* src/input/input.c, src/input/input_dec.c: use the object var api to get the value of the "sout", "sout-video" and "sout-audio" options.
* src/libvlc.c: extended the command line parser to parse input options. Input options must always follow the input they apply to and begin with a ':'.
All these changes allow you to specify input specific options.
eg: ./vlc --no-sout-audio yourvideo.mpeg :sout=udp/http::8080 :sout-audio yourvideo2.mpeg
Here the ":sout" option will only apply to yourvideo.mpeg.
"--no-sout-audio" will be a global option so will apply to yourvideo2.mpeg but the global behaviour is overriden by ":sout-audio" for yourvideo.mpeg.
TODO: - the interfaces need to be modified to benefit from the new playlist_Add() api.
- only "sout", "sout-video", "sout-audio" implemented for now. To make it work with other options, we need to get rid of all the config_GetFoo() and replace them with var_Create()/var_Change()/var_Get().
* ALL:
- Removed all the RLE subtitle font code.
- Removed the .rle and even older .psf font files.
- Moved the filesubtitle code from spudec to subsdec.
- spudec is again DVD only.
* src/misc/variables.c: fixed small mem leak (courtesy of Andy Lindsay)
* modules/gui/wxwindows/interface.cpp: small improvements to the volume control.
Benjamin Pracht [Tue, 22 Jul 2003 13:58:23 +0000 (13:58 +0000)]
* We're finally parsing all parameters (including standard)
* syntax is now (roughly) the same as for the v4l input
ex : vlc pvr:/dev/video0:frequency=1242:norm=secam:size=12x42:bitrate=1200,maxbitrate=4200
* old syntax is still working
* norm can be "pal", "secam", "ntsc" or any hexa value
* vlc.ebuild: disabled kde, fixed mad and freetype support
* Makefile.am: added html files for http intf to macosx.
windows and beos probably need to do this too.
* README.MacOSX.rtf: updated section on subtitles.
* vlc.ebuild: added amd64 keyword. changed script to use emake again.
Removed MODULES from the doc installation.
* src/libvlc.h: added the new ffmpeg a/v encoders to the list for the prefs.
* share/vlc_win32_rc.rc: Changed the Win32 name of VLC from,
"An Opensource Media Player" to "VLC media player".
* other: added the new transcoding codecs, channels option and SAP option
to the stream output dialog.
Draw the text in the U and V planes as well. Removes the transparency effect.
Also check which chroma is in use and give an error message if it isn't
supported.
Someone (possibly me) should write some renderer functions for other
colorspaces.
* modules/gui/wxwindows/preferences.cpp: windows can't have open _and_ save file dialogs so only use open file dialogs on win32 in the preferences menu.
* Makefile.am: removed INSTALL.win32 from the win32 package as it's only useful for developpers anyway.
* modules/gui/wxwindows/*, include/vlc_interface.h: new generic "open file" dialog.
* modules/gui/skins/*: use the new generic "open file" dialog to load skins.
* Add -liconv to the ldflags of the spudec module.
* Add -framework Carbon to the ldflags of the spudec module when Carbon is
present. freetype-config unfortunatly omits this on MacOSX.
I think I did this correctly, but it might be wise to review this :)
* src/libvlc.h: disabled the encoders config options (encoders are not used anymore, all the encoding is done in the stream output transcode module).
* src/misc/win32_specific.c: added an --high-priority config option on win32 to increase the priority of the process (default enabled for now so the behaviour isn't changed.)
* modules/audio_output/alsa.c: alsa is now the default audio output.
* src/misc/configuration.c: removed unnecessary line.
* modules/gui/skins/parser.*: small cosmetic change.
* modules/video_output/directx/events.c: closing the video window doesn't doesn't exit vlc anymore, it just stops the current stream.
* modules/gui/wxwindows/*: fix for popup menu placement.
* modules/gui/wxwindows/*: The wxwindows interface is now a "dialogs provider" module as well as a normal "interface".
Dialog providers expose an api that allow other modules to use the GUI dialogs the module provides (open dialogs, etc...).
+ misc small enhancements.
* modules/gui/skins/*: completely removed the dependancy on the wxwindows code (which also eliminates the need for the basic_skins module).
The skins module will now try to load a "dialogs provider" to display the open, messages, file info and preferences dialogs.
Sam Hocevar [Thu, 17 Jul 2003 13:01:59 +0000 (13:01 +0000)]
* debian/compat:
+ New debhelper file.
* debian/control:
+ Updated debhelper build-dependency to (>= 3.4.4) because we now
use debian/compat.
+ Use ${misc:Depends} everywhere.
Sam Hocevar [Wed, 16 Jul 2003 15:40:53 +0000 (15:40 +0000)]
* debian/changelog:
+ Prepared my next Debian upload.
* debian/control:
+ Set policy to 3.6.0. No changes required.
+ Extended the package description.
Sam Hocevar [Wed, 16 Jul 2003 15:25:32 +0000 (15:25 +0000)]
* modules/video_output/x11/xcommon.c: Select events in the video subwindow
instead of the base window, because newer versions of Mozilla select
ButtonPress for the window it gives us, and XSelectInput only allows
one client to select this event.
moved Doxyfile to doc/ to make sam happy. Changed Doxyfile so the generated
documentation does not include information on which headers each file
includes, since this information isn't correct.
Clarified and doxygenized some of the documentation on subpictures
* modules/mux/mpeg/ps.c,ps.c: the ps muxer can now create mpeg system (mpeg1) files as well. Also modified the ps muxer to output streams with system headers.
All: My shot at improving subtitle rendering in vlc. Now each vout uses a "text renderer" module to render text on the video when needed. I decieded to make this a module type, because other api's (win32 and macosx) is supposed to do better than freetype under some circumstances.
include/video_output.h: added some members needed by text renderer modules
src/video_output/video_output.c: load and unload text renderer module when needed
src/video_output/video_text.c: implemented some functions to show text on the video
include/osd.h: exported the functions to show text
modules/misc/Modules.am, module/misc/freetype.c: new text renderer module, largly based on the old osdtext module.
modules/video_filter/Modules.am, modules/video_filter/osd_text.c: removed the osdtext module
configure.ac: changes "osdtext" to "freetype" some places
modules/codec/spudec/*: when iconv is available, use it to convert textual subtitles from the encoding given by --sub-encoding to utf8. Use new code to render subtitles
modules/control/lirc/lirc.c: use new code to give feedback on buttons pressed. untested.
modules/demux/util/sub.c: remove all traces of the ugly old osdtext module
modules/misc/dummy/*: added a "text renderer" submodule in the dummy module
src/misc/modules.c: included osd.h as it seems to be needed to export symbols
final notes: you need to give a proper value to --freetype-font. This should be the path to a font file freetype2 can handle (almost any format afaik) with a unicode translation table in it. Windows ttf files will do. In linux at least openoffice distributes some fonts that work. I think macosx and beos also has useable fonts.
toolbox: made a --add-include that can be used by doxygen to get proper
includes in the .h files, since they are parsed out of context by
doxygen
Doxyfile: misc fixes, use ./toolbox --add-include as filter for sources.
include/vlc_common.h: doxygenized VLC_COMMON_MEMBERS
With these changes, and a slightly patched version of doxygen (which you can
get here: http://www.idi.ntnu.no/~sigmunau/doxygen-vlcpatched.tgz ) you should
be able to get some useful documentation out of the vlc sources.
* modules/demux/mpeg: 0x06 stream type can be used for something else
than A/52, so disabled it for the moment (we should actually check for
the presence of a descriptor).