...
 
Commits (41)
......@@ -267,7 +267,7 @@ extern NSString * VLCMediaPlayerStateToString(VLCMediaPlayerState state);
*
* Pass -1 to disable.
*/
@property (readwrite) NSUInteger currentVideoTrackIndex;
@property (readwrite) int currentVideoTrackIndex;
/**
* Returns the video track names, usually a language name or a description
......@@ -281,6 +281,12 @@ extern NSString * VLCMediaPlayerStateToString(VLCMediaPlayerState state);
*/
@property (NS_NONATOMIC_IOSONLY, readonly, copy) NSArray *videoTrackIndexes;
/**
* returns the number of video tracks available in the current media
* \return number of tracks
*/
@property (NS_NONATOMIC_IOSONLY, readonly) int numberOfVideoTracks;
/**
* Return the video tracks
*
......@@ -296,7 +302,7 @@ extern NSString * VLCMediaPlayerStateToString(VLCMediaPlayerState state);
*
* Pass -1 to disable.
*/
@property (readwrite) NSUInteger currentVideoSubTitleIndex;
@property (readwrite) int currentVideoSubTitleIndex;
/**
* Returns the video subtitle track names, usually a language name or a description
......@@ -310,6 +316,12 @@ extern NSString * VLCMediaPlayerStateToString(VLCMediaPlayerState state);
*/
@property (NS_NONATOMIC_IOSONLY, readonly, copy) NSArray *videoSubTitlesIndexes;
/**
* returns the number of SPU tracks available in the current media
* \return number of tracks
*/
@property (NS_NONATOMIC_IOSONLY, readonly) int numberOfSubtitlesTracks;
/**
* Return the video subtitle tracks
* \note this property is deprecated. use (NSArray *)videoSubtitleNames instead.
......@@ -353,6 +365,7 @@ extern NSString * VLCMediaPlayerStateToString(VLCMediaPlayerState state);
* \return NSNotFound if none is set.
*/
@property (readwrite) int currentTitleIndex;
@property (readonly) NSUInteger countOfTitles;
@property (NS_NONATOMIC_IOSONLY, readonly, copy) NSArray *titles;
/* Audio Options */
......@@ -365,7 +378,7 @@ extern NSString * VLCMediaPlayerStateToString(VLCMediaPlayerState state);
*
* Pass -1 to disable.
*/
@property (readwrite) NSUInteger currentAudioTrackIndex;
@property (readwrite) int currentAudioTrackIndex;
/**
* Returns the audio track names, usually a language name or a description
......@@ -379,6 +392,12 @@ extern NSString * VLCMediaPlayerStateToString(VLCMediaPlayerState state);
*/
@property (NS_NONATOMIC_IOSONLY, readonly, copy) NSArray *audioTrackIndexes;
/**
* returns the number of audio tracks available in the current media
* \return number of tracks
*/
@property (NS_NONATOMIC_IOSONLY, readonly) int numberOfAudioTracks;
/**
* Return the audio tracks
*
......
Pod::Spec.new do |s|
s.name = 'MobileVLCKit'
s.version = '2.2.2'
s.summary = "MobileVLCKit is an Objective-C wrapper for libvlc's external interface on iOS."
s.homepage = 'https://code.videolan.org/videolan/VLCKit'
s.license = {
:type => 'LGPL v2.1', :file => 'MobileVLCKit-binary/COPYING.txt'
}
s.documentation_url = 'https://wiki.videolan.org/VLCKit/'
s.platform = :ios
s.authors = 'Pierre d\'Herbemont', { 'Felix Paul Kühne' => 'fkuehne@videolan.org' }
s.source = {
:http => 'http://download.videolan.org/pub/cocoapods/MobileVLCKit-2.2.2.zip'
}
s.ios.vendored_framework = 'MobileVLCKit-binary/MobileVLCKit.framework'
s.public_header_files = 'MobileVLCKit-binary/MobileVLCKit.framework/Headers/*.h'
s.ios.deployment_target = '5.1.1'
s.frameworks = 'QuartzCore', 'CoreText', 'AVFoundation', 'Security', 'CFNetwork', 'AudioToolbox', 'OpenGLES', 'CoreGraphics'
s.libraries = 'stdc++', 'xml2', 'z', 'bz2', 'iconv'
s.requires_arc = false
s.xcconfig = {
'CLANG_CXX_LANGUAGE_STANDARD' => 'c++11',
'CLANG_CXX_LIBRARY' => 'libstdc++'
}
end
......@@ -301,7 +301,10 @@
baseConfigurationReference = 7A5ECB3311DE948C00F66AF3 /* MobileVLCKit.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
ARCHS = (
"$(ARCHS_STANDARD_INCLUDING_64_BIT)",
armv7s,
);
CLANG_ENABLE_OBJC_ARC = YES;
COPY_PHASE_STRIP = NO;
DSTROOT = /tmp/MobileVLCKit.dst;
......@@ -323,7 +326,10 @@
baseConfigurationReference = 7A5ECB3311DE948C00F66AF3 /* MobileVLCKit.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
ARCHS = (
"$(ARCHS_STANDARD_INCLUDING_64_BIT)",
armv7s,
);
CLANG_ENABLE_OBJC_ARC = YES;
DSTROOT = /tmp/MobileVLCKit.dst;
ENABLE_NS_ASSERTIONS = NO;
......
......@@ -36,5 +36,6 @@ VPX=$(VLC_CONTRIB_DIR)/lib/libvpx.a
XML=$(VLC_CONTRIB_DIR)/lib/libxml2.a
ZLIB=$(VLC_CONTRIB_DIR)/lib/libz.a
ZVBI=$(VLC_CONTRIB_DIR)/lib/libzvbi.a
SSH=$(VLC_CONTRIB_DIR)/lib/libssh2.a
OTHER_LIBTOOLFLAGS=$(ASS) $(AVCODEC) $(DVBPSI) $(FLAC) $(FRIBIDI) $(FREETYPE) $(GCRYPT) $(HARFBUZZ) $(LIVE555) $(MKV) $(MODPLUG) $(OGG) $(OPUS) $(PICS) $(SPEEX) $(TAGLIB) $(XML) $(VPX) $(ZLIB) $(ZVBI) $(VLC_INSTALL_DIR)/lib/vlc/libcompat.a $(VLC_INSTALL_DIR)/lib/libvlc.a $(VLC_INSTALL_DIR)/lib/libvlccore.a $(VLC_PLUGINS_LDFLAGS) $(OTHER_CFLAGS)
OTHER_LIBTOOLFLAGS=$(ASS) $(AVCODEC) $(DVBPSI) $(FLAC) $(FRIBIDI) $(FREETYPE) $(GCRYPT) $(HARFBUZZ) $(LIVE555) $(MKV) $(MODPLUG) $(OGG) $(OPUS) $(PICS) $(SPEEX) $(TAGLIB) $(XML) $(VPX) $(ZLIB) $(ZVBI) $(SSH) $(VLC_INSTALL_DIR)/lib/vlc/libcompat.a $(VLC_INSTALL_DIR)/lib/libvlc.a $(VLC_INSTALL_DIR)/lib/libvlccore.a $(VLC_PLUGINS_LDFLAGS) $(OTHER_CFLAGS)
From dd960cdb919a164de13ed02b7bbbbee12eff7a0e Mon Sep 17 00:00:00 2001
From dd693696c6e9ace691ea2f3fe59c7f912eb1ee3f Mon Sep 17 00:00:00 2001
From: David Geldreich <david.geldreich@free.fr>
Date: Fri, 20 Apr 2012 16:41:19 +0200
Subject: [PATCH 01/19] arm_neon: added function macro to handle the underscore
Subject: [PATCH 01/18] arm_neon: added function macro to handle the underscore
prefix for the iOS ARM ABI
---
......@@ -65,5 +65,5 @@ index 0000000..d853255
+.endm
+
--
1.9.3 (Apple Git-50)
2.4.3
From 0938789826068deecc1406d47dd825d87b9981d3 Mon Sep 17 00:00:00 2001
From 3ad6c2c1c07d9b39a73511c9481e1da4b2c019fe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Fri, 10 Aug 2012 16:01:49 +0200
Subject: [PATCH 02/19] arm_neon: use a macro to fix compilation for iOS
Subject: [PATCH 02/18] arm_neon: use a macro to fix compilation for iOS
---
modules/arm_neon/amplify.S | 9 +++---
......@@ -204,5 +204,5 @@ index dcc51ed..4722be4 100644
pop {r4,pc}
+endfunc
--
1.9.3 (Apple Git-50)
2.4.3
From 9c968febe108c08eac9cd521f51c863c0d7f5e46 Mon Sep 17 00:00:00 2001
From 2306957fb3e88f56447cfa5b75cb4b016aad0224 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Fri, 10 Aug 2012 16:02:07 +0200
Subject: [PATCH 03/19] deinterlace/merge: use a macro to fix compilation for
Subject: [PATCH 03/18] deinterlace/merge: use a macro to fix compilation for
iOS
---
......@@ -82,5 +82,5 @@ index dd77902..03e5042 100644
b 1b
+endfunc
--
1.9.3 (Apple Git-50)
2.4.3
From fd69a76cabc6a15acf0312e3b5dd8d19927a8185 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Sat, 11 Aug 2012 13:29:25 +0200
Subject: [PATCH 04/19] contrib/ebml+mkv: compile with hidden symbols on iOS
---
contrib/src/ebml/rules.mak | 7 +++++--
contrib/src/matroska/rules.mak | 6 +++++-
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/contrib/src/ebml/rules.mak b/contrib/src/ebml/rules.mak
index 1d01818..a36727c 100644
--- a/contrib/src/ebml/rules.mak
+++ b/contrib/src/ebml/rules.mak
@@ -16,8 +16,11 @@ libebml: libebml-$(EBML_VERSION).tar.bz2 .sum-ebml
$(MOVE)
# libebml requires exceptions
-EBML_EXTRA_FLAGS = CXXFLAGS="${CXXFLAGS} -fexceptions" \
- CPPFLAGS=""
+ifdef HAVE_IOS
+EBML_EXTRA_FLAGS = CXXFLAGS="${CXXFLAGS} -fexceptions -fvisibility=hidden" CPPFLAGS=""
+else
+EBML_EXTRA_FLAGS = CXXFLAGS="${CXXFLAGS} -fexceptions" CPPFLAGS=""
+endif
.ebml: libebml
ifdef HAVE_WIN32
diff --git a/contrib/src/matroska/rules.mak b/contrib/src/matroska/rules.mak
index 336e001..40dfb1e 100644
--- a/contrib/src/matroska/rules.mak
+++ b/contrib/src/matroska/rules.mak
@@ -17,11 +17,15 @@ libmatroska: libmatroska-$(MATROSKA_VERSION).tar.bz2 .sum-matroska
$(APPLY) $(SRC)/matroska/matroska-pic.patch
$(MOVE)
+ifdef HAVE_IOS
+MATROSKA_EXTRA_FLAGS = CXXFLAGS="${CXXFLAGS} -fvisibility=hidden"
+endif
+
.matroska: libmatroska
ifdef HAVE_WIN32
cd $< && $(MAKE) -C make/mingw32 prefix="$(PREFIX)" $(HOSTVARS) SHARED=no EBML_DLL=no libmatroska.a
else
- cd $< && $(MAKE) -C make/linux prefix="$(PREFIX)" $(HOSTVARS) staticlib
+ cd $< && $(MAKE) -C make/linux prefix="$(PREFIX)" $(HOSTVARS) $(MATROSKA_EXTRA_FLAGS) staticlib
endif
cd $< && $(MAKE) -C make/linux install_staticlib install_headers prefix="$(PREFIX)" $(HOSTVARS)
$(RANLIB) "$(PREFIX)/lib/libmatroska.a"
--
1.9.3 (Apple Git-50)
From 852fbfaa3906fb44d0a7f4b15afb9bcaea95ed4f Mon Sep 17 00:00:00 2001
From 84c6b30c061f21756ce1ba8ef1ff647a1d1abd4d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Wed, 29 May 2013 13:25:54 +0200
Subject: [PATCH 05/19] libass: fix text rendering on iOS by providing a font
Subject: [PATCH 04/18] libass: fix text rendering on iOS by providing a font
lookup mechanism for the font shipped with Aspen
---
modules/codec/libass.c | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
modules/codec/libass.c | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)
diff --git a/modules/codec/libass.c b/modules/codec/libass.c
index 5590df1..fff51db 100644
index 8e32d64..77418e7 100644
--- a/modules/codec/libass.c
+++ b/modules/codec/libass.c
@@ -29,6 +29,13 @@
......@@ -26,7 +26,7 @@ index 5590df1..fff51db 100644
#include <string.h>
#include <limits.h>
#include <assert.h>
@@ -213,6 +220,34 @@ static int Create( vlc_object_t *p_this )
@@ -213,6 +220,37 @@ static int Create( vlc_object_t *p_this )
#if defined( __ANDROID__ )
const char *psz_font = "/system/fonts/DroidSans-Bold.ttf";
const char *psz_family = "Droid Sans Bold";
......@@ -39,6 +39,9 @@ index 5590df1..fff51db 100644
+ fileURL = CFBundleCopyResourceURL(CFBundleGetMainBundle(), CFSTR("OpenSans-Regular.ttf"),
+ NULL,
+ NULL);
+ if (!fileURL)
+ return VLC_EGENERIC;
+
+ CFStringRef urlString = CFURLCopyFileSystemPath(fileURL, kCFURLPOSIXPathStyle);
+ CFRelease(fileURL);
+
......@@ -62,5 +65,5 @@ index 5590df1..fff51db 100644
const char *psz_font = NULL; /* We don't ship a default font with VLC */
const char *psz_family = "Arial"; /* Use Arial if we can't find anything more suitable */
--
1.9.3 (Apple Git-50)
2.4.3
From ae36ba388b2dfad83ab856e19f09c0d567d22d3c Mon Sep 17 00:00:00 2001
From 84fb4aac8388ca87ba2d67d560e39f7a4e0e9369 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20Ku=CC=88hne?= <fkuehne@videolan.org>
Date: Sat, 20 Jul 2013 23:35:05 +0200
Subject: [PATCH 06/19] contrib/png: fix ARM assembly for iOS
Subject: [PATCH 05/18] contrib/png: fix ARM assembly for iOS
---
contrib/src/png/ios.patch | 66 +++++++++++++++++++++++++++++++++++++++++++++++
......@@ -82,7 +82,7 @@ index 0000000..f4b8bc1
+ ldr r12, [r0, #4] @ rowbytes
+ vmov.i8 d3, #0
diff --git a/contrib/src/png/rules.mak b/contrib/src/png/rules.mak
index a63c4e6..fa65363 100644
index c5a3fba..7649c4b 100644
--- a/contrib/src/png/rules.mak
+++ b/contrib/src/png/rules.mak
@@ -7,6 +7,15 @@ ifeq ($(call need_pkg,"libpng"),)
......@@ -119,5 +119,5 @@ index a63c4e6..fa65363 100644
cd $< && $(MAKE) install
touch $@
--
1.9.3 (Apple Git-50)
2.4.3
From 1ac90dccccb8ca1265b24f2ee26b4b4a9943f3b8 Mon Sep 17 00:00:00 2001
From dfa384e697a1fe37449391e5740cb419479a61ce Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Thu, 21 Nov 2013 16:26:40 +0100
Subject: [PATCH 08/19] lib/media_player: inherit deinterlace and vbi variables
Subject: [PATCH 06/18] lib/media_player: inherit deinterlace and vbi variables
to fix correct variables values on first use
---
lib/media_player.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
lib/media_player.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/lib/media_player.c b/lib/media_player.c
index b75006a..5691345 100644
index b4a5f10..5691345 100644
--- a/lib/media_player.c
+++ b/lib/media_player.c
@@ -436,10 +436,10 @@ libvlc_media_player_new( libvlc_instance_t *instance )
@@ -436,11 +436,10 @@ libvlc_media_player_new( libvlc_instance_t *instance )
var_SetFloat (mp, "scale", 1.);
var_Create (mp, "aspect-ratio", VLC_VAR_STRING);
var_Create (mp, "crop", VLC_VAR_STRING);
......@@ -21,10 +21,11 @@ index b75006a..5691345 100644
var_Create (mp, "deinterlace-mode", VLC_VAR_STRING);
- var_Create (mp, "vbi-page", VLC_VAR_INTEGER);
- var_SetInteger (mp, "vbi-page", 100);
+ var_Create (mp, "vbi-page", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT);
var_Create (mp, "marq-marquee", VLC_VAR_STRING);
var_Create (mp, "marq-color", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT);
--
1.9.3 (Apple Git-50)
2.4.3
From a02ded8163ba002fd316a4bf4d53991dfe4f37bf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Mon, 7 Oct 2013 17:05:21 +0200
Subject: [PATCH 07/19] contrib/flac: fix compilation with clang 5.0
---
contrib/src/flac/libFLAC-clang-5.0.patch | 19 +++++++++++++++++++
contrib/src/flac/rules.mak | 1 +
2 files changed, 20 insertions(+)
create mode 100644 contrib/src/flac/libFLAC-clang-5.0.patch
diff --git a/contrib/src/flac/libFLAC-clang-5.0.patch b/contrib/src/flac/libFLAC-clang-5.0.patch
new file mode 100644
index 0000000..9fcad0b
--- /dev/null
+++ b/contrib/src/flac/libFLAC-clang-5.0.patch
@@ -0,0 +1,19 @@
+diff -ru flac/configure.ac flac-fixed/configure.ac
+--- flac/configure.ac 2013-05-27 10:08:57.000000000 +0200
++++ flac-fixed/configure.ac 2013-10-07 16:56:51.000000000 +0200
+@@ -381,15 +381,9 @@
+ CXXFLAGS="$CXXFLAGS -Wall -Wextra -Werror "
+ fi
+
+- if test "$GCC_MAJOR_VERSION" -ge 4 && test "$OBJ_FORMAT" = elf; then
+ CPPFLAGS="$CPPFLAGS -DFLAC__USE_VISIBILITY_ATTR"
+ CFLAGS="$CFLAGS -fvisibility=hidden"
+ CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
+- fi
+-
+- if test "x$GCC_MAJOR_VERSION$GCC_MINOR_VERSION" = "x42" ; then
+- XIPH_ADD_CFLAGS([-fgnu89-inline])
+- fi
+ fi
+
+
diff --git a/contrib/src/flac/rules.mak b/contrib/src/flac/rules.mak
index bf72caf..ee6c2b5 100644
--- a/contrib/src/flac/rules.mak
+++ b/contrib/src/flac/rules.mak
@@ -17,6 +17,7 @@ flac: flac-$(FLAC_VERSION).tar.xz .sum-flac
$(UNPACK)
$(APPLY) $(SRC)/flac/libFLAC-pc.patch
ifdef HAVE_DARWIN_OS
+ $(APPLY) $(SRC)/flac/libFLAC-clang-5.0.patch
cd $(UNPACK_DIR) && sed -e 's,-dynamiclib,-dynamiclib -arch $(ARCH),' -i.orig configure
endif
ifdef HAVE_ANDROID
--
1.9.3 (Apple Git-50)
From d26112e91e3ba08f07a7c59214fa04667392ba00 Mon Sep 17 00:00:00 2001
From 0a72aeb45c7b3aec98df1b2bde3fd08fd5634310 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Wed, 15 Jan 2014 15:26:46 +0100
Subject: [PATCH 10/19] contrib/opus disable asm on arm
Subject: [PATCH 07/18] contrib/opus disable asm on arm
---
contrib/src/opus/rules.mak | 3 +++
......@@ -22,5 +22,5 @@ index 56f0933..273521f 100644
.opus: opus
cd $< && $(HOSTVARS) ./configure $(HOSTCONF) $(OPUS_CONF)
--
1.9.3 (Apple Git-50)
2.4.3
From 2873ae8263670b9f335d9f8bb8d7ccece7dc3310 Mon Sep 17 00:00:00 2001
From 65024030e2bba46fa8cd34d446f07e293e4bf6fd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Wed, 22 Jan 2014 09:56:23 +0100
Subject: [PATCH 11/19] contrib/gcrypt: disable asm on iOS
Subject: [PATCH 08/18] contrib/gcrypt: disable asm on iOS
---
contrib/src/gcrypt/rules.mak | 3 +++
......@@ -22,5 +22,5 @@ index 0cc1222..7e67319 100644
ifdef HAVE_BSD
GCRYPT_CONF += --disable-asm --disable-aesni-support
--
1.9.3 (Apple Git-50)
2.4.3
From 954239e53d2615a2713fee71fa4923ca671b5eea Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Wed, 22 Jan 2014 13:43:11 +0100
Subject: [PATCH 09/19] contrib/avcodec: deploy libav
---
contrib/src/ffmpeg/rules.mak | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/contrib/src/ffmpeg/rules.mak b/contrib/src/ffmpeg/rules.mak
index 0ad6ac6..56fd34f 100644
--- a/contrib/src/ffmpeg/rules.mak
+++ b/contrib/src/ffmpeg/rules.mak
@@ -1,7 +1,7 @@
# FFmpeg
#Uncomment the one you want
-#USE_LIBAV ?= 1
+USE_LIBAV ?= 1
#USE_FFMPEG ?= 1
ifdef USE_FFMPEG
--
1.9.3 (Apple Git-50)
From 5ff6995bbd1f4727fc5895a8b336e48e714ee497 Mon Sep 17 00:00:00 2001
From ad54f99741c9c3af2d4fecdeb88af6310d5a6a29 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Fri, 10 Aug 2012 16:02:33 +0200
Subject: [PATCH 12/19] fix libtool
Subject: [PATCH 09/18] fix libtool
---
modules/arm_neon/Makefile.am | 4 ++++
......@@ -33,5 +33,5 @@ index 3bb8cdb..542abaa 100644
SOURCES_transform = transform.c
SOURCES_invert = invert.c
--
1.9.3 (Apple Git-50)
2.4.3
From 1e6c688206b1f70fb99d6fee28ef97f1d186cbb3 Mon Sep 17 00:00:00 2001
From 1cb693d1460768591fc079e00985cb2edb03b384 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Wed, 22 Jan 2014 13:55:16 +0100
Subject: [PATCH 13/19] freetype: added a fake font lookup mechanism for iOS to
Subject: [PATCH 10/18] freetype: added a fake font lookup mechanism for iOS to
use the packaged demo fonts
---
......@@ -11,10 +11,10 @@ Subject: [PATCH 13/19] freetype: added a fake font lookup mechanism for iOS to
3 files changed, 45 insertions(+)
diff --git a/modules/text_renderer/freetype.c b/modules/text_renderer/freetype.c
index f7fcd80..79bdfd4 100644
index b9da7bf..f7dbe21 100644
--- a/modules/text_renderer/freetype.c
+++ b/modules/text_renderer/freetype.c
@@ -1950,6 +1950,8 @@ static int Create( vlc_object_t *p_this )
@@ -1956,6 +1956,8 @@ static int Create( vlc_object_t *p_this )
#elif defined( __APPLE__ )
#if !TARGET_OS_IPHONE
p_sys->pf_select = MacLegacy_Select;
......@@ -96,5 +96,5 @@ index cff52b1..40b25fb 100644
#endif
--
1.9.3 (Apple Git-50)
2.4.3
From 407b787ae87531dc69baf3399cc566000e2bf415 Mon Sep 17 00:00:00 2001
From a65807ff6051740d706f7c3a42f2a93f9b38eb3a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Wed, 22 Jan 2014 15:19:43 +0100
Subject: [PATCH 14/19] contrib/speexdsp: disable neon for AArch64
Subject: [PATCH 11/18] contrib/speexdsp: disable neon for AArch64
---
contrib/src/speexdsp/rules.mak | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/contrib/src/speexdsp/rules.mak b/contrib/src/speexdsp/rules.mak
index 3cc2b15..049565d 100644
index e82c6ba..658a72e 100644
--- a/contrib/src/speexdsp/rules.mak
+++ b/contrib/src/speexdsp/rules.mak
@@ -36,6 +36,11 @@ ifeq ($(ARCH),arm)
@@ -31,6 +31,11 @@ ifeq ($(ARCH),arm)
SPEEXDSP_CONF += --enable-arm5e-asm
endif
endif
......@@ -22,7 +22,7 @@ index 3cc2b15..049565d 100644
+endif
.speexdsp: speexdsp
mkdir -p $</m4 && $(RECONF)
cd $< && $(HOSTVARS) ./configure $(HOSTCONF) $(SPEEXDSP_CONF)
--
1.9.3 (Apple Git-50)
2.4.3
From 6a1817276018208220de6eb87aacd413d02ebcd2 Mon Sep 17 00:00:00 2001
From 699a565be4e40d2ac68a49c9337615de3d93cee7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Thu, 3 Oct 2013 18:27:43 +0200
Subject: [PATCH 15/19] contrib: add arch option for platforms where the arch
Subject: [PATCH 12/18] contrib: add arch option for platforms where the arch
triplet would be ambigous
---
......@@ -65,7 +65,7 @@ index b77a9d9..86d4b9e 100755
;;
*bsd*)
diff --git a/contrib/src/main.mak b/contrib/src/main.mak
index dd2bd25..2b085ea 100644
index c9f409a..1ae11e9 100644
--- a/contrib/src/main.mak
+++ b/contrib/src/main.mak
@@ -35,7 +35,9 @@ PREFIX := $(abspath $(PREFIX))
......@@ -79,5 +79,5 @@ index dd2bd25..2b085ea 100644
ifeq ($(ARCH)-$(HAVE_WIN32),x86_64-1)
HAVE_WIN64 := 1
--
1.9.3 (Apple Git-50)
2.4.3
From f2ddd8e147a08fc63b01609d6028ebd8d7327fe6 Mon Sep 17 00:00:00 2001
From d2e9638c2008cabbc7785660bb180c9a4db8152d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Thu, 31 Oct 2013 20:42:59 +0100
Subject: [PATCH 17/19] contrib/gcrypt: use git version on iOS
Subject: [PATCH 13/18] contrib/gcrypt: use git version on iOS
---
contrib/src/gcrypt/disable-doc-compilation.patch | 43 ++++++++++++++++++++++
......@@ -135,5 +135,5 @@ index 0000000..df97ffb
+ AM_CFLAGS = $(GPG_ERROR_CFLAGS)
+
--
1.9.3 (Apple Git-50)
2.4.3
From 389859bd70e47c210a6a23aabfebecf7299c56e6 Mon Sep 17 00:00:00 2001
From 2ab08e418a4968e3abf4fee5aa3fd65d785c8d6f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Mon, 31 Mar 2014 17:54:01 +0200
Subject: [PATCH 18/19] libvlc: add preliminary code path to modify quartztext
Subject: [PATCH 14/18] libvlc: add preliminary code path to modify quartztext
variables on-the-fly
---
......@@ -275,5 +275,5 @@ index 8de1081..112e952 100644
+ return VLC_SUCCESS;
+}
--
1.9.3 (Apple Git-50)
2.4.3
From 259913e58d83b99bae60546010648f515b4e5d07 Mon Sep 17 00:00:00 2001
From f087abc2ac103eabccc324b4dea519bf8a51f5eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Wed, 22 Jan 2014 13:37:59 +0100
Subject: [PATCH 19/19] contrib/speex: fix compilation for non-ARMv7 iOS
Subject: [PATCH 15/18] contrib/speex: fix compilation for non-ARMv7 iOS
targets
---
......@@ -9,10 +9,10 @@ Subject: [PATCH 19/19] contrib/speex: fix compilation for non-ARMv7 iOS
1 file changed, 5 insertions(+)
diff --git a/contrib/src/speex/rules.mak b/contrib/src/speex/rules.mak
index fd90cde..a3d9ea3 100644
index a5f003c..916b0ea 100644
--- a/contrib/src/speex/rules.mak
+++ b/contrib/src/speex/rules.mak
@@ -37,6 +37,11 @@ endif
@@ -27,6 +27,11 @@ endif
ifeq ($(ARCH),aarch64)
SPEEX_CONF += --disable-neon
endif
......@@ -23,7 +23,7 @@ index fd90cde..a3d9ea3 100644
+endif
.speex: speex
mkdir -p $</m4 && $(RECONF)
cd $< && $(HOSTVARS) ./configure $(HOSTCONF) $(SPEEX_CONF)
--
1.9.3 (Apple Git-50)
2.4.3
From d665f7424cab347a425e7680618e5d3847df8f08 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Wed, 12 Mar 2014 14:48:12 +0100
Subject: [PATCH 16/19] contrib/harfbuzz: work-around build system stupidity
breaking clang compilation
---
contrib/src/harfbuzz/harfbuzz-clang.patch | 16 ++++++++++++++++
contrib/src/harfbuzz/rules.mak | 1 +
2 files changed, 17 insertions(+)
create mode 100644 contrib/src/harfbuzz/harfbuzz-clang.patch
diff --git a/contrib/src/harfbuzz/harfbuzz-clang.patch b/contrib/src/harfbuzz/harfbuzz-clang.patch
new file mode 100644
index 0000000..59d1e06
--- /dev/null
+++ b/contrib/src/harfbuzz/harfbuzz-clang.patch
@@ -0,0 +1,16 @@
+--- harfbuzz/configure.ac 2013-07-16 22:04:08.000000000 +0200
++++ harfbuzz/configure.ac 2014-03-12 14:46:36.000000000 +0100
+@@ -80,13 +80,6 @@
+ CXXFLAGS="$CXXFLAGS -fvisibility-inlines-hidden"
+ ;;
+ esac
+-
+- case "$host" in
+- arm-*-*)
+- # Request byte alignment on arm
+- CXXFLAGS="$CXXFLAGS -mstructure-size-boundary=8"
+- ;;
+- esac
+ fi
+
+ AM_CONDITIONAL(HAVE_GCC, test "x$GCC" = "xyes")
diff --git a/contrib/src/harfbuzz/rules.mak b/contrib/src/harfbuzz/rules.mak
index a34ee2b..30e9a2b 100644
--- a/contrib/src/harfbuzz/rules.mak
+++ b/contrib/src/harfbuzz/rules.mak
@@ -16,6 +16,7 @@ harfbuzz: harfbuzz-$(HARFBUZZ_VERSION).tar.bz2 .sum-harfbuzz
$(UNPACK)
$(UPDATE_AUTOCONFIG)
$(APPLY) $(SRC)/harfbuzz/harfbuzz-aarch64.patch
+ $(APPLY) $(SRC)/harfbuzz/harfbuzz-clang.patch
$(MOVE)
DEPS_harfbuzz = freetype2 $(DEPS_freetype2)
--
1.9.3 (Apple Git-50)
From 3fae29ea48c88524f483ee047f11ac103202fbb4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Tue, 12 May 2015 22:00:33 +0200
Subject: [PATCH 16/18] contrib/vpx: fix iOS 32bit Intel simulator compilation
---
contrib/src/vpx/libvpx-ios.patch | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/contrib/src/vpx/libvpx-ios.patch b/contrib/src/vpx/libvpx-ios.patch
index 504860c..abc46d2 100644
--- a/contrib/src/vpx/libvpx-ios.patch
+++ b/contrib/src/vpx/libvpx-ios.patch
@@ -1,5 +1,6 @@
---- libvpx-1.4.0/build/make/configure.sh.orig 2015-05-05 16:10:54.667129298 +0200
-+++ libvpx-1.4.0/build/make/configure.sh 2015-05-05 16:13:53.650560142 +0200
+diff -ru libvpx-b/build/make/configure.sh libvpx/build/make/configure.sh
+--- libvpx-b/build/make/configure.sh 2015-05-12 21:59:04.000000000 +0200
++++ libvpx/build/make/configure.sh 2015-05-12 21:59:53.000000000 +0200
@@ -745,58 +745,6 @@
# Minimum iOS version for all target platforms (darwin and iphonesimulator).
IOS_VERSION_MIN="6.0"
@@ -59,7 +60,16 @@
# Handle Solaris variants. Solaris 10 needs -lposix4
case ${toolchain} in
sparc-solaris-*)
-@@ -1149,6 +1097,13 @@
+@@ -1141,14 +1089,17 @@
+
+ bits=32
+ enabled x86_64 && bits=64
+- check_cpp <<EOF && bits=x32
+-#if !defined(__ILP32__) || !defined(__x86_64__)
+-#error "not x32"
+-#endif
+-EOF
++
case ${tgt_cc} in
gcc*)
add_cflags -m${bits}
--
2.4.3
From a00328f1162666553595232cae4f45132c7747d5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Wed, 13 May 2015 13:00:49 +0200
Subject: [PATCH 17/18] Revert "Contribs: update libvpx to 1.4.0"
This reverts commit caa52414b9f47919c9c0a64ff077765b4ceb86a4.
---
contrib/src/vpx/SHA512SUMS | 2 +-
contrib/src/vpx/libvpx-ios.patch | 159 ++++++++++++++++++----------------
contrib/src/vpx/libvpx-mac.patch | 49 +++--------
contrib/src/vpx/libvpx-no-cross.patch | 16 ++--
contrib/src/vpx/libvpx-sysroot.patch | 33 ++++---
contrib/src/vpx/rules.mak | 4 +-
6 files changed, 124 insertions(+), 139 deletions(-)
diff --git a/contrib/src/vpx/SHA512SUMS b/contrib/src/vpx/SHA512SUMS
index 7923cbc..84d2a30 100644
--- a/contrib/src/vpx/SHA512SUMS
+++ b/contrib/src/vpx/SHA512SUMS
@@ -1 +1 @@
-70234220e0ed64db000689ec8bea02dadef938a4f4dea96e5781d361c15245456212c1b6aec2b698d32ed423e73917d2303009e49224a2237669cab416dd6984 libvpx-1.4.0.tar.bz2
+af26766a3336155c5bc7b8cce7c23228de054287b990f9cacdc35273384a7af4999c01bb623d12143f40107036308a8b3207081efe67936748503c30c985fd6b libvpx-v1.3.0.tar.bz2
diff --git a/contrib/src/vpx/libvpx-ios.patch b/contrib/src/vpx/libvpx-ios.patch
index abc46d2..1bf5c4c 100644
--- a/contrib/src/vpx/libvpx-ios.patch
+++ b/contrib/src/vpx/libvpx-ios.patch
@@ -1,85 +1,90 @@
-diff -ru libvpx-b/build/make/configure.sh libvpx/build/make/configure.sh
---- libvpx-b/build/make/configure.sh 2015-05-12 21:59:04.000000000 +0200
-+++ libvpx/build/make/configure.sh 2015-05-12 21:59:53.000000000 +0200
-@@ -745,58 +745,6 @@
- # Minimum iOS version for all target platforms (darwin and iphonesimulator).
- IOS_VERSION_MIN="6.0"
+diff -ru libvpx-o/build/make/configure.sh libvpx/build/make/configure.sh
+--- libvpx-o/build/make/configure.sh 2015-05-13 13:02:07.000000000 +0200
++++ libvpx/build/make/configure.sh 2015-05-13 13:03:56.000000000 +0200
+@@ -714,59 +714,6 @@
+ # PIC is probably what we want when building shared libs
+ enabled shared && soft_enable pic
-- # Handle darwin variants. Newer SDKs allow targeting older
-- # platforms, so use the newest one available.
-- case ${toolchain} in
-- *-darwin*)
-- osx_sdk_dir="$(show_darwin_sdk_path macosx)"
-- if [ -d "${osx_sdk_dir}" ]; then
+- # Handle darwin variants. Newer SDKs allow targeting older
+- # platforms, so find the newest SDK available.
+- case ${toolchain} in
+- *-darwin*)
+- if [ -z "${DEVELOPER_DIR}" ]; then
+- DEVELOPER_DIR=`xcode-select -print-path 2> /dev/null`
+- [ $? -ne 0 ] && OSX_SKIP_DIR_CHECK=1
+- fi
+- if [ -z "${OSX_SKIP_DIR_CHECK}" ]; then
+- OSX_SDK_ROOTS="${DEVELOPER_DIR}/SDKs"
+- OSX_SDK_VERSIONS="MacOSX10.4u.sdk MacOSX10.5.sdk MacOSX10.6.sdk"
+- OSX_SDK_VERSIONS="${OSX_SDK_VERSIONS} MacOSX10.7.sdk"
+- for v in ${OSX_SDK_VERSIONS}; do
+- if [ -d "${OSX_SDK_ROOTS}/${v}" ]; then
+- osx_sdk_dir="${OSX_SDK_ROOTS}/${v}"
+- fi
+- done
+- fi
+- ;;
+- esac
+-
+- if [ -d "${osx_sdk_dir}" ]; then
- add_cflags "-isysroot ${osx_sdk_dir}"
- add_ldflags "-isysroot ${osx_sdk_dir}"
-- fi
-- ;;
-- esac
+- fi
-
-- case ${toolchain} in
-- *-darwin8-*)
-- add_cflags "-mmacosx-version-min=10.4"
-- add_ldflags "-mmacosx-version-min=10.4"
-- ;;
-- *-darwin9-*)
-- add_cflags "-mmacosx-version-min=10.5"
-- add_ldflags "-mmacosx-version-min=10.5"
-- ;;
-- *-darwin10-*)
-- add_cflags "-mmacosx-version-min=10.6"
-- add_ldflags "-mmacosx-version-min=10.6"
-- ;;
-- *-darwin11-*)
-- add_cflags "-mmacosx-version-min=10.7"
-- add_ldflags "-mmacosx-version-min=10.7"
-- ;;
-- *-darwin12-*)
-- add_cflags "-mmacosx-version-min=10.8"
-- add_ldflags "-mmacosx-version-min=10.8"
-- ;;
-- *-darwin13-*)
-- add_cflags "-mmacosx-version-min=10.9"
-- add_ldflags "-mmacosx-version-min=10.9"
-- ;;
-- *-darwin14-*)
-- add_cflags "-mmacosx-version-min=10.10"
-- add_ldflags "-mmacosx-version-min=10.10"
-- ;;
-- *-iphonesimulator-*)
-- add_cflags "-miphoneos-version-min=${IOS_VERSION_MIN}"
-- add_ldflags "-miphoneos-version-min=${IOS_VERSION_MIN}"
-- iossim_sdk_dir="$(show_darwin_sdk_path iphonesimulator)"
-- if [ -d "${iossim_sdk_dir}" ]; then
-- add_cflags "-isysroot ${iossim_sdk_dir}"
-- add_ldflags "-isysroot ${iossim_sdk_dir}"
-- fi
-- ;;
-- esac
+- case ${toolchain} in
+- *-darwin8-*)
+- add_cflags "-mmacosx-version-min=10.4"
+- add_ldflags "-mmacosx-version-min=10.4"
+- ;;
+- *-darwin9-*)
+- add_cflags "-mmacosx-version-min=10.5"
+- add_ldflags "-mmacosx-version-min=10.5"
+- ;;
+- *-darwin10-*)
+- add_cflags "-mmacosx-version-min=10.6"
+- add_ldflags "-mmacosx-version-min=10.6"
+- ;;
+- *-darwin11-*)
+- add_cflags "-mmacosx-version-min=10.7"
+- add_ldflags "-mmacosx-version-min=10.7"
+- ;;
+- *-darwin12-*)
+- add_cflags "-mmacosx-version-min=10.8"
+- add_ldflags "-mmacosx-version-min=10.8"
+- ;;
+- *-darwin13-*)
+- add_cflags "-mmacosx-version-min=10.9"
+- add_ldflags "-mmacosx-version-min=10.9"
+- ;;
+- esac
-
- # Handle Solaris variants. Solaris 10 needs -lposix4
- case ${toolchain} in
- sparc-solaris-*)
-@@ -1141,14 +1089,17 @@
-
- bits=32
- enabled x86_64 && bits=64
-- check_cpp <<EOF && bits=x32
--#if !defined(__ILP32__) || !defined(__x86_64__)
+ # Handle Solaris variants. Solaris 10 needs -lposix4
+ case ${toolchain} in
+ sparc-solaris-*)
+@@ -1025,11 +972,6 @@
+ x86*)
+ bits=32
+ enabled x86_64 && bits=64
+- check_cpp <<EOF && bits=x32
+-#ifndef __ILP32__
-#error "not x32"
-#endif
-EOF
-+
- case ${tgt_cc} in
- gcc*)
- add_cflags -m${bits}
-+ case ${tgt_os} in
-+ darwin*)
-+ ;;
-+ *)
-+ add_ldflags -m${bits}
-+ ;;
-+ esac
- add_ldflags -m${bits}
- ;;
- esac
+
+ case ${tgt_os} in
+ win*)
+@@ -1070,7 +1012,13 @@
+ ;;
+ gcc*)
+ add_cflags -m${bits}
+- add_ldflags -m${bits}
++ case ${tgt_os} in
++ darwin*)
++ ;;
++ *)
++ add_ldflags -m${bits}
++ ;;
++ esac
+ link_with_cc=gcc
+ tune_cflags="-march="
+ setup_gnu_toolchain
diff --git a/contrib/src/vpx/libvpx-mac.patch b/contrib/src/vpx/libvpx-mac.patch
index 7e41283..ebb868a 100644
--- a/contrib/src/vpx/libvpx-mac.patch
+++ b/contrib/src/vpx/libvpx-mac.patch
@@ -1,43 +1,18 @@
---- libvpx-1.4.0/build/make/configure.sh.orig 2015-05-05 16:03:00.504713016 +0200
-+++ libvpx-1.4.0/build/make/configure.sh 2015-05-05 16:05:52.358003947 +0200
-@@ -751,6 +751,12 @@
- ;;
- esac
-
-+ if [ -d "${sdk_path}" ]; then
-+ case "${sdk_path}" in
-+ darwin*) osx_sdk_dir=${sdk_path} ;;
-+ esac
-+ fi
-+
- case ${toolchain} in
- *-darwin8-*)
- add_cflags "-mmacosx-version-min=10.4"
---- libvpx-1.4.0/build/make/configure.sh.orig 2015-05-05 16:06:31.502087047 +0200
-+++ libvpx-1.4.0/build/make/configure.sh 2015-05-05 16:09:41.525727635 +0200
-@@ -651,6 +651,12 @@
- ;;
- esac
-
+libvpx's configure script hard-codes the SDK location of previous Xcode release in the /Developer folder. However, starting with Xcode 4.3, the SDKs moved to /Applications/Xcode.app/blabla
+VLC's contrib system is clever enough to detect this, but libvpx fails miserably. However, they are providing a work-around for iOS and Android, which is expanded by this patch.
+
+diff -ru libvpx/build/make/configure.sh libvpx/build/make/configure.sh
+--- libvpx/build/make/configure.sh 2012-06-08 10:26:47.000000000 +0200
++++ libvpx-fixed/build/make/configure.sh 2012-06-08 10:26:07.000000000 +0200
+@@ -628,6 +628,11 @@
+ if [ -d "/Developer/SDKs/MacOSX10.7.sdk" ]; then
+ osx_sdk_dir="/Developer/SDKs/MacOSX10.7.sdk"
+ fi
+ if [ -d "${sdk_path}" ]; then
+ case "${sdk_path}" in
+ darwin*) osx_sdk_dir=${sdk_path} ;;
+ esac
+ fi
-+
- # detect tgt_os
- case "$gcctarget" in
- *darwin8*)
-@@ -751,12 +757,6 @@
- ;;
- esac
-- if [ -d "${sdk_path}" ]; then
-- case "${sdk_path}" in
-- darwin*) osx_sdk_dir=${sdk_path} ;;
-- esac
-- fi
--
- case ${toolchain} in
- *-darwin8-*)
- add_cflags "-mmacosx-version-min=10.4"
+ case ${toolchain} in
+ *-darwin8-*)
diff --git a/contrib/src/vpx/libvpx-no-cross.patch b/contrib/src/vpx/libvpx-no-cross.patch
index 9881624..e261dc7 100644
--- a/contrib/src/vpx/libvpx-no-cross.patch
+++ b/contrib/src/vpx/libvpx-no-cross.patch
@@ -1,10 +1,10 @@
---- libvpx-1.4.0/build/make/configure.sh.orig 2015-05-05 16:00:58.682380921 +0200
-+++ libvpx-1.4.0/build/make/configure.sh 2015-05-05 16:02:13.537147158 +0200
-@@ -831,7 +831,6 @@
+--- libvpx-v1.0.0/build/make/configure.sh.orig 2012-01-29 04:59:36.976441000 -0500
++++ libvpx-v1.0.0/build/make/configure.sh 2012-01-29 04:59:46.684441001 -0500
+@@ -680,7 +680,6 @@
- case ${tgt_cc} in
+ case ${tgt_cc} in
gcc)
-- CROSS=${CROSS:-arm-none-linux-gnueabi-}
- link_with_cc=gcc
- setup_gnu_toolchain
- arch_int=${tgt_isa##armv}
+- CROSS=${CROSS:-arm-none-linux-gnueabi-}
+ link_with_cc=gcc
+ setup_gnu_toolchain
+ arch_int=${tgt_isa##armv}
diff --git a/contrib/src/vpx/libvpx-sysroot.patch b/contrib/src/vpx/libvpx-sysroot.patch
index 0ba43dc..9b84338 100644
--- a/contrib/src/vpx/libvpx-sysroot.patch
+++ b/contrib/src/vpx/libvpx-sysroot.patch
@@ -8,19 +8,24 @@ correct sysroot.
See also https://code.google.com/p/webm/issues/detail?id=809
---- libvpx-1.4.0/build/make/configure.sh.orig 2015-05-05 15:57:26.568321902 +0200
-+++ libvpx-1.4.0/build/make/configure.sh 2015-05-05 15:59:04.860202562 +0200
-@@ -941,8 +941,11 @@
- awk '{ print $1 }' | tail -1`
- fi
+diff --git a/build/make/configure.sh b/build/make/configure.sh
+index d4124c7..c420d25 100755
+--- a/build/make/configure.sh
++++ b/build/make/configure.sh
+@@ -939,8 +939,11 @@ EOF
+ awk '{ print $1 }' | tail -1`
+ fi
-- add_cflags "--sysroot=${alt_libc}"
-- add_ldflags "--sysroot=${alt_libc}"
-+ # this may happen if toolchain binaries are outside the ndk dir
-+ if [ "${alt_libc}" ]; then
-+ add_cflags "--sysroot=${alt_libc}"
-+ add_ldflags "--sysroot=${alt_libc}"
-+ fi
+- add_cflags "--sysroot=${alt_libc}"
+- add_ldflags "--sysroot=${alt_libc}"
++ # this may happen if toolchain binaries are outside the ndk dir
++ if [ "${alt_libc}" ]; then
++ add_cflags "--sysroot=${alt_libc}"
++ add_ldflags "--sysroot=${alt_libc}"
++ fi
- # linker flag that routes around a CPU bug in some
- # Cortex-A8 implementations (NDK Dev Guide)
+ # linker flag that routes around a CPU bug in some
+ # Cortex-A8 implementations (NDK Dev Guide)
+--
+1.8.3.2
+
diff --git a/contrib/src/vpx/rules.mak b/contrib/src/vpx/rules.mak
index ac3eace..b55199d 100644
--- a/contrib/src/vpx/rules.mak
+++ b/contrib/src/vpx/rules.mak
@@ -1,7 +1,7 @@
# libvpx
-VPX_VERSION := 1.4.0
-VPX_URL := http://storage.googleapis.com/downloads.webmproject.org/releases/webm/libvpx-$(VPX_VERSION).tar.bz2
+VPX_VERSION := v1.3.0
+VPX_URL := http://webm.googlecode.com/files/libvpx-$(VPX_VERSION).tar.bz2
$(TARBALLS)/libvpx-$(VPX_VERSION).tar.bz2:
$(call download,$(VPX_URL))
--
2.4.3
From 51b0f30008ecb018540faa9591c639d3b04b0bc4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Wed, 13 May 2015 13:06:05 +0200
Subject: [PATCH 18/18] ebml: disable exceptions
---
contrib/src/ebml/rules.mak | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/contrib/src/ebml/rules.mak b/contrib/src/ebml/rules.mak
index 4a5ac16..c779726 100644
--- a/contrib/src/ebml/rules.mak
+++ b/contrib/src/ebml/rules.mak
@@ -14,7 +14,7 @@ libebml: libebml-$(EBML_VERSION).tar.bz2 .sum-ebml
$(MOVE)
# libebml requires exceptions
-EBML_EXTRA_FLAGS = CXXFLAGS="${CXXFLAGS} -fexceptions -fvisibility=hidden" \
+EBML_EXTRA_FLAGS = CXXFLAGS="${CXXFLAGS} -fvisibility=hidden" \
CPPFLAGS=""
.ebml: libebml
--
2.4.3
Version 2.2.2:
--------------
New APIs:
- VLCMediaPlayer
- added properties: numberOfVideoTracks, numberOfSubtitlesTracks
numberOfAudioTracks
Version 2.2.0:
--------------
......@@ -33,6 +40,7 @@ New APIs:
- added delegate method mediaMetaDataDidChange
- VLCMediaPlayer:
- added equalizer
- added countOfTitles
Modified API behavior:
- VLCMediaPlayer:
......
# VLCKit
VLCKit is a generic library for any audio or video playback needs on OS X, iOS and tvOS. It also supports active streaming and media to file conversations on the Mac. It is open-source software licensed under LGPLv2.1 or later, available in source code and binary form from the [VideoLAN website]. You can also integrate MobileVLCKit easily via [CocoaPods].
## Use-case
When do you need VLCKit? Frankly always when you need to play media not supported by QuickTime / AVFoundation or if you require more flexibility. You want to play something else besides H264/AAC files or HLS streams? You need subtitles beyond QuickTime’s basic support for Closed Captions? Your media source is not your mobile device and not a basic HTTP server either, but perhaps a live stream hailing from some weird media server or even a raw DVB signal broadcasted on a local network? Then, VLCKit is for you.
But this is open-source software right? What does this mean for me and the end-user? And wasn’t MobileVLC removed from the App Store in 2011 for some crazy licensing reason?
First of all, open-source means for you, that you get access to the whole stack. There is no blackbox, all the sources are there at your fingertips. No reverse-engineering needed, no private APIs.
Then again, this must not be the case for your software. The [LGPLv2.1] allows our software to be included in proprietary apps, as long as you follow the license. As a start, make sure to publish any potential changes you do to our software, make sure that the end-user is aware that VLCKit is embedded within your greater work and that s/he is aware of the gained rights. S/he is granted access to our code as well as to your additions to our work. For further details, please read the license and consult your lawyer with any questions you might have.
## Contribute!
As VLCKit is an open-source project hosted by VideoLAN, we happily welcome all kinds of contributions to it. For detailed information on the development process, please read our wiki page on [how to send patches].
## Get in touch!
We happily provide guidance on VLCKit. The [web forum] is always there for you.
If you prefer live interaction, reach out to us via our IRC channel on the [freenode] Network (irc.freenode.org, #videolan). Use the [Freenode Web] interface, if you don't have an IRC client at hand.
## Further reading
You can find more documentation on the [VideoLAN wiki].
[VideoLAN website]: <http://www.videolan.org/>
[CocoaPods]: <http://cocoapods.org/>
[VideoLAN wiki]: <https://wiki.videolan.org/VLCKit/>
[LGPLv2.1]: <http://opensource.org/licenses/LGPL-2.1>
[how to send patches]: <https://wiki.videolan.org/Sending_Patches_VLC/>
[web forum]: <http://forum.videolan.org>
[freenode]: <http://www.freenode.net/>
[Freenode Web]: <http://webchat.freenode.net/>
......@@ -343,7 +343,8 @@ static void * EventDispatcherMainLoop(void * user_data)
// Check that we were not cancelled
if ([self markMessageHandledOnMainThreadIfExists:message]) {
void (*method)(id, SEL, id) = (void (*)(id, SEL, id))[message.target methodForSelector: message.sel];
method(message.target, message.sel, message.object);
if (message.target && message.sel)
method(message.target, message.sel, message.object);
}
}
......
......@@ -103,6 +103,7 @@ static VLCLibrary * sharedLibrary = nil;
@"--no-osd",
@"--no-video-title-show",
@"--no-stats",
@"--no-snapshot-preview",
#ifndef NOSCARYCODECS
@"--avcodec-fast",
#endif
......
......@@ -551,10 +551,10 @@ NSString *const VLCMediaTracksInformationTextEncoding = @"encoding"; // NSString
VLCMediaTracksInformationBitrate,
nil];
if (tracksInfo[i]->psz_language)
dictionary[VLCMediaTracksInformationLanguage] = [NSString stringWithFormat:@"%s",tracksInfo[i]->psz_language];
dictionary[VLCMediaTracksInformationLanguage] = [NSString stringWithUTF8String:tracksInfo[i]->psz_language];
if (tracksInfo[i]->psz_description)
dictionary[VLCMediaTracksInformationDescription] = [NSString stringWithFormat:@"%s",tracksInfo[i]->psz_description];
dictionary[VLCMediaTracksInformationDescription] = [NSString stringWithUTF8String:tracksInfo[i]->psz_description];
NSString *type;
switch (tracksInfo[i]->i_type) {
......@@ -575,7 +575,7 @@ NSString *const VLCMediaTracksInformationTextEncoding = @"encoding"; // NSString
case libvlc_track_text:
type = VLCMediaTracksInformationTypeText;
if (tracksInfo[i]->subtitle->psz_encoding)
dictionary[VLCMediaTracksInformationTextEncoding] = [NSString stringWithFormat:@"%s", tracksInfo[i]->subtitle->psz_encoding];
dictionary[VLCMediaTracksInformationTextEncoding] = [NSString stringWithUTF8String: tracksInfo[i]->subtitle->psz_encoding];
break;
case libvlc_track_unknown:
default:
......
......@@ -276,19 +276,18 @@ static void HandleMediaPlayerMediaChanged(const libvlc_event_t * event, void * s
#pragma mark -
#pragma mark Video Tracks
- (void)setCurrentVideoTrackIndex:(NSUInteger)value
- (void)setCurrentVideoTrackIndex:(int)value
{
libvlc_video_set_track(_playerInstance, (int)value);
libvlc_video_set_track(_playerInstance, value);
}
- (NSUInteger)currentVideoTrackIndex
- (int)currentVideoTrackIndex
{
NSInteger count = libvlc_video_get_track_count(_playerInstance);
int count = libvlc_video_get_track_count(_playerInstance);
if (count <= 0)
return NSNotFound;
NSUInteger result = libvlc_video_get_track(_playerInstance);
return result;
return libvlc_video_get_track(_playerInstance);
}
- (NSArray *)videoTrackNames
......@@ -297,14 +296,15 @@ static void HandleMediaPlayerMediaChanged(const libvlc_event_t * event, void * s
if (count <= 0)
return @[];
libvlc_track_description_t *currentTrack = libvlc_video_get_track_description(_playerInstance);
libvlc_track_description_t *firstTrack = libvlc_video_get_track_description(_playerInstance);
libvlc_track_description_t *currentTrack = firstTrack;
NSMutableArray *tempArray = [NSMutableArray array];
while (currentTrack) {
[tempArray addObject:@(currentTrack->psz_name)];
currentTrack = currentTrack->p_next;
}
libvlc_track_description_list_release(currentTrack);
libvlc_track_description_list_release(firstTrack);
return [NSArray arrayWithArray: tempArray];
}
......@@ -314,14 +314,15 @@ static void HandleMediaPlayerMediaChanged(const libvlc_event_t * event, void * s
if (count <= 0)
return @[];
libvlc_track_description_t *currentTrack = libvlc_video_get_track_description(_playerInstance);
libvlc_track_description_t *firstTrack = libvlc_video_get_track_description(_playerInstance);
libvlc_track_description_t *currentTrack = firstTrack;
NSMutableArray *tempArray = [NSMutableArray array];
while (currentTrack) {
[tempArray addObject:@(currentTrack->i_id)];
currentTrack = currentTrack->p_next;
}
libvlc_track_description_list_release(currentTrack);
libvlc_track_description_list_release(firstTrack);
return [NSArray arrayWithArray: tempArray];
}
......@@ -331,26 +332,33 @@ static void HandleMediaPlayerMediaChanged(const libvlc_event_t * event, void * s
if (count <= 0)
return @[];
libvlc_track_description_t *tracks = libvlc_video_get_track_description(_playerInstance);
libvlc_track_description_t *firstTrack = libvlc_video_get_track_description(_playerInstance);
libvlc_track_description_t *currentTrack = firstTrack;
NSMutableArray *tempArray = [NSMutableArray array];
for (NSUInteger i = 0; i < count ; i++) {
[tempArray addObject:@(tracks->psz_name)];
tracks = tracks->p_next;
[tempArray addObject:@(currentTrack->psz_name)];
currentTrack = currentTrack->p_next;
}
libvlc_track_description_list_release(tracks);
libvlc_track_description_list_release(firstTrack);
return [NSArray arrayWithArray: tempArray];
}
- (int)numberOfVideoTracks
{
return libvlc_video_get_track_count(_playerInstance);
}
#pragma mark -
#pragma mark Subtitles
- (void)setCurrentVideoSubTitleIndex:(NSUInteger)index
- (void)setCurrentVideoSubTitleIndex:(int)index
{
libvlc_video_set_spu(_playerInstance, (int)index);
libvlc_video_set_spu(_playerInstance, index);
}
- (NSUInteger)currentVideoSubTitleIndex
- (int)currentVideoSubTitleIndex
{
NSInteger count = libvlc_video_get_spu_count(_playerInstance);
......@@ -366,14 +374,15 @@ static void HandleMediaPlayerMediaChanged(const libvlc_event_t * event, void * s
if (count <= 0)
return @[];
libvlc_track_description_t *currentTrack = libvlc_video_get_spu_description(_playerInstance);
libvlc_track_description_t *firstTrack = libvlc_video_get_spu_description(_playerInstance);
libvlc_track_description_t *currentTrack = firstTrack;
NSMutableArray *tempArray = [NSMutableArray array];
while (currentTrack) {
[tempArray addObject:@(currentTrack->psz_name)];
currentTrack = currentTrack->p_next;
}
libvlc_track_description_list_release(currentTrack);
libvlc_track_description_list_release(firstTrack);
return [NSArray arrayWithArray: tempArray];
}
......@@ -383,17 +392,23 @@ static void HandleMediaPlayerMediaChanged(const libvlc_event_t * event, void * s
if (count <= 0)
return @[];
libvlc_track_description_t *currentTrack = libvlc_video_get_spu_description(_playerInstance);
libvlc_track_description_t *firstTrack = libvlc_video_get_spu_description(_playerInstance);
libvlc_track_description_t *currentTrack = firstTrack;
NSMutableArray *tempArray = [NSMutableArray array];
while (currentTrack) {
[tempArray addObject:@(currentTrack->i_id)];
currentTrack = currentTrack->p_next;
}
libvlc_track_description_list_release(currentTrack);
libvlc_track_description_list_release(firstTrack);
return [NSArray arrayWithArray: tempArray];
}
- (int)numberOfSubtitlesTracks
{
return libvlc_video_get_spu_count(_playerInstance);
}
- (BOOL)openVideoSubTitlesFromFile:(NSString *)path
{
return libvlc_video_set_subtitle_file(_playerInstance, [path UTF8String]);
......@@ -401,14 +416,15 @@ static void HandleMediaPlayerMediaChanged(const libvlc_event_t * event, void * s
- (NSArray *)videoSubTitles
{
libvlc_track_description_t *currentTrack = libvlc_video_get_spu_description(_playerInstance);
libvlc_track_description_t *firstTrack = libvlc_video_get_spu_description(_playerInstance);
libvlc_track_description_t *currentTrack = firstTrack;
NSMutableArray *tempArray = [NSMutableArray array];
while (currentTrack) {
[tempArray addObject:@(currentTrack->psz_name)];
currentTrack = currentTrack->p_next;
}
libvlc_track_description_list_release(currentTrack);
libvlc_track_description_list_release(firstTrack);
return [NSArray arrayWithArray: tempArray];
}
......@@ -482,7 +498,7 @@ static void HandleMediaPlayerMediaChanged(const libvlc_event_t * event, void * s
{
int failure = libvlc_video_take_snapshot(_playerInstance, 0, [path UTF8String], width, height);
if (failure)
[[NSException exceptionWithName:@"Can't take a video snapshot" reason:@"No video output" userInfo:nil] raise];
VKLog(@"Snapshotting failed because the media doesn't have a video track");
}
- (void)setDeinterlaceFilter:(NSString *)name
......@@ -645,13 +661,18 @@ static void HandleMediaPlayerMediaChanged(const libvlc_event_t * event, void * s
if (count <= 0)
return @[];
libvlc_track_description_t *tracks = libvlc_video_get_chapter_description(_playerInstance, title);
libvlc_track_description_t *firstTrack = libvlc_video_get_chapter_description(_playerInstance, title);
libvlc_track_description_t *currentTrack = firstTrack;
if (!currentTrack)
return [NSArray array];
NSMutableArray *tempArray = [NSMutableArray array];
for (NSInteger i = 0; i < count ; i++) {
[tempArray addObject:@(tracks->psz_name)];
tracks = tracks->p_next;
[tempArray addObject:@(currentTrack->psz_name)];
currentTrack = currentTrack->p_next;
}
libvlc_track_description_list_release(tracks);
libvlc_track_description_list_release(firstTrack);
return [NSArray arrayWithArray:tempArray];
}
......@@ -680,31 +701,45 @@ static void HandleMediaPlayerMediaChanged(const libvlc_event_t * event, void * s
- (NSArray *)titles
{
libvlc_track_description_t *tracks = libvlc_video_get_title_description(_playerInstance);
NSUInteger count = [self countOfTitles];
if (count == 0)
return [NSArray array];
libvlc_track_description_t *firstTrack = libvlc_video_get_title_description(_playerInstance);
libvlc_track_description_t *currentTrack = firstTrack;
if (!currentTrack)
return [NSArray array];
NSMutableArray *tempArray = [NSMutableArray array];
for (NSInteger i = 0; i < [self countOfTitles] ; i++) {
[tempArray addObject:@(tracks->psz_name)];
tracks = tracks->p_next;
while (1) {
if (currentTrack->psz_name != nil)
[tempArray addObject:@(currentTrack->psz_name)];
if (currentTrack->p_next)
currentTrack = currentTrack->p_next;
else
break;
}
libvlc_track_description_list_release(tracks);
libvlc_track_description_list_release(firstTrack);
return [NSArray arrayWithArray: tempArray];
}
#pragma mark -
#pragma mark Audio tracks
- (void)setCurrentAudioTrackIndex:(NSUInteger)value
- (void)setCurrentAudioTrackIndex:(int)value
{
libvlc_audio_set_track(_playerInstance, (int)value);
libvlc_audio_set_track(_playerInstance, value);
}
- (NSUInteger)currentAudioTrackIndex
- (int)currentAudioTrackIndex
{
NSInteger count = libvlc_audio_get_track_count(_playerInstance);
if (count <= 0)
return NSNotFound;
NSUInteger result = libvlc_audio_get_track(_playerInstance);
return result;
return libvlc_audio_get_track(_playerInstance);
}
- (NSArray *)audioTrackNames
......@@ -713,14 +748,15 @@ static void HandleMediaPlayerMediaChanged(const libvlc_event_t * event, void * s
if (count <= 0)
return @[];
libvlc_track_description_t *currentTrack = libvlc_audio_get_track_description(_playerInstance);
libvlc_track_description_t *firstTrack = libvlc_audio_get_track_description(_playerInstance);
libvlc_track_description_t *currentTrack = firstTrack;
NSMutableArray *tempArray = [NSMutableArray array];
while (currentTrack) {
[tempArray addObject:@(currentTrack->psz_name)];
currentTrack = currentTrack->p_next;
}
libvlc_track_description_list_release(currentTrack);
libvlc_track_description_list_release(firstTrack);
return [NSArray arrayWithArray: tempArray];
}
......@@ -730,14 +766,15 @@ static void HandleMediaPlayerMediaChanged(const libvlc_event_t * event, void * s
if (count <= 0)
return @[];
libvlc_track_description_t *currentTrack = libvlc_audio_get_track_description(_playerInstance);
libvlc_track_description_t *firstTrack = libvlc_audio_get_track_description(_playerInstance);
libvlc_track_description_t *currentTrack = firstTrack;
NSMutableArray *tempArray = [NSMutableArray array];
while (currentTrack) {
[tempArray addObject:@(currentTrack->i_id)];
currentTrack = currentTrack->p_next;
}
libvlc_track_description_list_release(currentTrack);
libvlc_track_description_list_release(firstTrack);
return [NSArray arrayWithArray: tempArray];
}
......@@ -747,17 +784,24 @@ static void HandleMediaPlayerMediaChanged(const libvlc_event_t * event, void * s
if (count <= 0)
return @[];
libvlc_track_description_t *tracks = libvlc_audio_get_track_description(_playerInstance);
libvlc_track_description_t *firstTrack = libvlc_audio_get_track_description(_playerInstance);
libvlc_track_description_t *currentTrack = firstTrack;
NSMutableArray *tempArray = [NSMutableArray array];
for (NSUInteger i = 0; i < count ; i++) {
[tempArray addObject:@(tracks->psz_name)];
tracks = tracks->p_next;
[tempArray addObject:@(currentTrack->psz_name)];
currentTrack = currentTrack->p_next;
}
libvlc_track_description_list_release(tracks);
libvlc_track_description_list_release(firstTrack);
return [NSArray arrayWithArray: tempArray];
}
- (int)numberOfAudioTracks
{
return libvlc_audio_get_track_count(_playerInstance);
}
- (void)setAudioChannel:(int)value
{
libvlc_audio_set_channel(_playerInstance, value);
......
......@@ -15,7 +15,7 @@ NONETWORK=no
SKIPLIBVLCCOMPILATION=no
SCARY=yes
TESTEDHASH=ee7783e6a
TESTEDHASH=4aa44a18
usage()
{
......@@ -151,6 +151,7 @@ fi