these are automagically 'replaced by the more efficient 'Dynamic Loader Compatibility Functions.'' as suggested by Apple's documentation. IMO, this should be ported to the 1.0-bugfix branch as it cleanly fixes some 64bit crashes and should improve the performance slightly
If main() is not found in pthread 10 line above it won't be find now.
And the patch submitter is looking for a better test
This reverts commit bb1d1eb5e7.
From the beginning we were using -march=pentium-m -mtune=prescott
However this was based on the Intel development machine of Apple. All actually shipped Intel machines by Apple are at least Core machines. As such, we might as well use -march=prescott -mtune=generic now. For 10.6 I currently think we should use -march=prescott -mtune=core2, since that will allow us to use much more advanced optimizations, and only few machines were shipped as Core, most were Core2 machines.
Please find attached my attempt to port VLC to libmpcdec6. Playing
and seeking works according to my tests with a bunch of files (both
SV7 and SV8). I tried to follow upstream's coding style.
Signed-off-by: Christophe Mutricy <xtophe@videolan.org>
This just in: CeGCC has a MinGW with working replacement *printf
functions. Just like for mingw32, require (and allow building with) a
recent enough version of mingwce.
Since MinGW is patched by CeGCC, this check is not strictly sufficient;
but at least this allows to have working WinCE builds again.
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
This just in: CeGCC has a MinGW with working replacement *printf
functions. Just like for mingw32, require (and allow building with) a
recent enough version of mingwce.
Since MinGW is patched by CeGCC, this check is not strictly sufficient;
but at least this allows to have working WinCE builds again.
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
the XvMC plugin use xcommon.c where some part use
HAVE_XINERAMA conditions.
Missing symbols are :
XineramaQueryScreens
XineramaQueryExtension
XineramaIsActive
Signed-off-by: Rémi Duraffort <ivoire@videolan.org>
the XvMC plugin use xcommon.c where some part use
HAVE_XINERAMA conditions.
Missing symbols are :
XineramaQueryScreens
XineramaQueryExtension
XineramaIsActive
Signed-off-by: Rémi Duraffort <ivoire@videolan.org>
Here is the updated patch with the modified configure.ac.
I have also added some comments and cleaned up a little bit of code.
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Allocation of U/V planes and unsupported chroma fallback are critically
missing. XvPort grabbing is not implemented. Also, full screen, scale,
zoom, A.R. and crop are missing as with the other XCB plugin.
An issue regrading %zu vasprintf NOT being recognized
by mingw runtime's 3.14 is fixed with an upgrade to 3.15
So make this the least required standart.
Note that this issue lead to a vlc early crash on windows
and is generally toxic on cases where %s is following a
misinterpreted %zu
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
*printf as per MSVCRT is not c99 compliant. mingw32 provides a set of
replacement functions, but these are buggy in old versions.
Defining __USE_MINGW_ANSI_STDIO causes mingw's stdio to provide a
set of wrappers that use the mingw32 version that gets statically
linked.
Attention needs to be given to contrib too, it is possible for contrib
to expect a c99 *printf and later die. This patch modifies the conrtib
bootstrap to define the above in CPPFLAGS, however, not all builds
honour CPPFLAGS.
This can be validated by looking for the import from msvcrt:
$ find vlc-w32/vlc-1.0.0-pre1/ -name '*.dll' -print -exec sh -c \
'i586-mingw32msvc-nm {} | grep __imp__.*printf' ';'
If all is good, this shouldn't find anything.
This patch *will* break WinCE support. However, it is semibroken
anyway; better to force it to be fixed completely.
Signed-off-by: David Flynn <davidf@rd.bbc.co.uk>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
On my linux x86_64 system, when trying to statically link the x264
module against libx264, I get the following error:
/usr/bin/ld: /usr/local/lib/libx264.a(cabac-a.o): relocation
R_X86_64_PC32 against symbol `x264_cabac_range_lps' can not be used when
making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
Even though libx264 was compiled as PIC. Dynamically linking against the
shared library, built during the same process, works well.
The x264 folks said that VLC needed to use the -Bsymbolic flag to allow
conversation of a static PIC library into a shared library, so that's
what I did, and it works for me.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
If you build your contrib out of tree (somehow), then a way
is needed to say where it is:
configure CONTRIB_DIR=wherever
Signed-off-by: David Flynn <davidf@rd.bbc.co.uk>
Signed-off-by: Christophe Mutricy <xtophe@videolan.org>
Thread initialization has changed in 2.7, such that VLC and Qt4 cannot
both use libxml2. While this maximum version requirement is bound to
frustrate Linux/BSD users, we cannot fix this within VLC. Falling back
to xtag is not quite as bad as crashing.
This reverts commit 364868f96f.
On deeper look, this deadlocks in all kind of places. I guess we'll
have to live with the racy Xlib behavior instead.
Conflicts:
configure.ac
We need to call XInitThreads before anyone tries XOpenDisplay or
something, and XInitThreads itself is not re-entrant, so call it before
we start LibVLC. This only "fixes" Xlib with VLC. Other LibVLC users
need to do something similar themselves. LibVLC cannot do it. Other
application may have already connected to X before it starts LibVLC.
* gather all tests (that I could find)
* X_FLAGS -> X_CFLAGS
* test for Xlib.h only once
* cleanup defaults (especially XvMC was silly)
* factorize CPPFLAGS
I have modified the original author patch to fix:
- vlc_cancelrestore (mtp).
- libmtp initialisation (race condition).
Signed-off-by: Laurent Aimar <fenrir@videolan.org>
- Ship the vlc module header zip.h
(rename isn't needed once the file in ship)
- Detect minizip presence with pkgconfig
- if .pc not available, try to assume presence from unzip.h
- Move the zlib.h detection in one place (after pkgconfig macro)
minizip in bundled within zlib in some distro
- Adds -lz in module that needs it in one place
- Prevent the compilation of libs/unzip if minizip is available
(it shound't prevent this directory to be bundled with the sources)
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
- Ship the vlc module header zip.h
(rename isn't needed once the file in ship)
- Detect minizip presence with pkgconfig
- if .pc not available, try to assume presence from unzip.h
- Move the zlib.h detection in one place (after pkgconfig macro)
minizip in bundled within zlib in some distro
- Adds -lz in module that needs it in one place
- Prevent the compilation of libs/unzip if minizip is available
(it shound't prevent this directory to be bundled with the sources)
Signed-off-by: Rémi Denis-Courmont <rdenis@simphalempin.com>
POSIX does not document the == construction for test; Even if GNU test and bash builtin allow it, configure is run by sh and FreeBSD test does not allow it so that this test is always false there.
Signed-off-by: Christophe Mutricy <xtophe@videolan.org>
The fixed integer WMA v1/2 decoder originates from the ffmpeg project and has been changed into a fixed integer decoder by the RockBox project. It was then adapted for vlc in the 0.8.6-neuros branch.
I kept include files to ../vlc otherwise #include syntax would break
Now, it's up to changing PKGDIR="vlc" to PKGDIR="vlc-1.0".
We just need to decide.
It is very limited:
- Uncrypted only
- No ISO or direct disc device
- No menu
- No still frame
- No angle
- No out of mux stream (some subtitles use it)
It does:
- title (MPLS)
- chapter (mark)
- correct seek
- hide invalid ES for a given MPLS
libtiger is a rendering library for Kate streams based on Pango
and Cairo, and supports almost everything Kate streams can do.
There's a bit of wonkiness with rendering on regions as VLC then
blends them onto a subsampled YUV buffer, and colors can bleed
in a not so nice way. I've tried frobbing the blender in blend.c
and I got rid of the chroma bleeding, but at the cost of other
artifacts, so I'm leaving it out.
Also, I can't find a way to get the preferences dialog to call
a callback on my variables with a pointer to the decoder, so
changing the variables will not have effect till VLC is started
again.
Also includes the misc kate fixes from a previous patch, which
was not applied yet, but changes the same code as this patch
(and fixed a possible crash).
Note that I don't have a big endian host to check, so the RGBA
component flipping code is untested.
Signed-off-by: Rémi Denis-Courmont <rdenis@simphalempin.com>
Apple AirPort Express devices can play audio streamed over the
network. The Remote Audio Output Protocol was reverse-engineered
by Jon Lech Johansen in 2004. He also released a proof of concept
implementation named JustePort.
The control protocol is similar to interleaved RTSP record mode and
based on HTTP. It is used to negotiate details before sending music
data over an AES encrypted TCP connection. RSA is used to encrypt the
AES key before transfering it via an HTTP header. To this day, only
the public part of the RSA key has been made public while the private
part remains unknown.
VLC uses libgcrypt for encryption. Unfortunately, libgcrypt doesn't
support the OAEP standard as defined in RFC2437 and RAOP demands
OAEP padding for RSA encrypted data. OAEP has been reimplemented from
scratch based on the specification for this plugin. These functions,
MGF1 and AddOaepPadding, can be adopted for libgcrypt at a later time.
All input data must be encoded using the Apple Lossless codec with
44100 Hz and 2 channels. The "transcode" plugin can be used to
reencode input data. Updating the volume while playing is not yet
supported. Except for logging, no use is made of the audio delay
and jack type reported by the device.
Apple's RAOP-compatible devices announce themselves on the network
using Zeroconf, but discovering them is not implemented in this
plugin. The service type is "_raop._tcp".
The "raop" plugin can be used like this:
--sout='#transcode{acodec=alac,channels=2}:raop{host=hostname}'
It also supports a "volume" parameter with a range from 0 to 255.
Signed-off-by: Michael Hanselmann <public@hansmi.ch>
Signed-off-by: Rémi Denis-Courmont <rdenis@simphalempin.com>