...
 
Commits (45)
......@@ -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-no-scary'
s.version = '2.2.3a1'
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://people.videolan.org/~feepk/MobileVLCKit-no-scary/MobileVLCKit-2.2.3a1.zip'
}
s.ios.vendored_framework = 'MobileVLCKit-binary/MobileVLCKit.framework'
s.public_header_files = 'MobileVLCKit-binary/MobileVLCKit.framework/Headers/*.h'
s.ios.deployment_target = '6.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
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 = '6.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 a47e248a2cc1393d62ec2a2f75d0a489b460a19a 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.5.4 (Apple Git-61)
From 0938789826068deecc1406d47dd825d87b9981d3 Mon Sep 17 00:00:00 2001
From f0b050c516049ac3cda9cad30b9d25778f5bc8df 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.5.4 (Apple Git-61)
From 9c968febe108c08eac9cd521f51c863c0d7f5e46 Mon Sep 17 00:00:00 2001
From 185e234c2faa6c9982d7e7e4cb390b855945dd1f 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.5.4 (Apple Git-61)
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 ec9ee76f64b15bc53b15750840e5284c8c852473 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 a86f27a..d2f2d72 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.5.4 (Apple Git-61)
From ae36ba388b2dfad83ab856e19f09c0d567d22d3c Mon Sep 17 00:00:00 2001
From 78ea7702174cd2b8083bb98c6abf9ea62afb62d0 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 61f835e..8e5f654 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.5.4 (Apple Git-61)
From 1ac90dccccb8ca1265b24f2ee26b4b4a9943f3b8 Mon Sep 17 00:00:00 2001
From ac01bda2879d1c00a251b04cf11480abc1a9b938 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 8e2d161..9729eec 100644
--- a/lib/media_player.c
+++ b/lib/media_player.c
@@ -436,10 +436,10 @@ libvlc_media_player_new( libvlc_instance_t *instance )
@@ -499,11 +499,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.5.4 (Apple Git-61)
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 a0f79773d80884517fb058d556dc78c3783d46b2 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 +++
1 file changed, 3 insertions(+)
diff --git a/contrib/src/opus/rules.mak b/contrib/src/opus/rules.mak
index 56f0933..273521f 100644
index 0c002d2..4a8aca7 100644
--- a/contrib/src/opus/rules.mak
+++ b/contrib/src/opus/rules.mak
@@ -23,6 +23,9 @@ OPUS_CONF= --disable-extra-programs --disable-doc
......@@ -22,5 +22,5 @@ index 56f0933..273521f 100644
.opus: opus
cd $< && $(HOSTVARS) ./configure $(HOSTCONF) $(OPUS_CONF)
--
1.9.3 (Apple Git-50)
2.5.4 (Apple Git-61)
From 2873ae8263670b9f335d9f8bb8d7ccece7dc3310 Mon Sep 17 00:00:00 2001
From 5e35ee252ca2b1e91f2c0455456eebe762ad699e 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 +++
1 file changed, 3 insertions(+)
diff --git a/contrib/src/gcrypt/rules.mak b/contrib/src/gcrypt/rules.mak
index 0cc1222..7e67319 100644
index f8dcfc1..6fa8b1e 100644
--- a/contrib/src/gcrypt/rules.mak
+++ b/contrib/src/gcrypt/rules.mak
@@ -31,6 +31,9 @@ GCRYPT_EXTRA_CFLAGS =
......@@ -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.5.4 (Apple Git-61)
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 93e79aa655b3ff8627b5928527654560158fbb2f 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.5.4 (Apple Git-61)
From 1e6c688206b1f70fb99d6fee28ef97f1d186cbb3 Mon Sep 17 00:00:00 2001
From 0f83d66d39fcb926fb48f0aee119c69acda1e7ea 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.5.4 (Apple Git-61)
From 407b787ae87531dc69baf3399cc566000e2bf415 Mon Sep 17 00:00:00 2001
From 76aea2ea8858128d23e62a7471f9e4994a1af45d 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.5.4 (Apple Git-61)
From 6a1817276018208220de6eb87aacd413d02ebcd2 Mon Sep 17 00:00:00 2001
From c7d40e281c8a398e71032e0f2672d9cd60613fc7 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
---
......@@ -10,7 +10,7 @@ Subject: [PATCH 15/19] contrib: add arch option for platforms where the arch
2 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/contrib/bootstrap b/contrib/bootstrap
index b77a9d9..86d4b9e 100755
index 4fa2474..376e3ea 100755
--- a/contrib/bootstrap
+++ b/contrib/bootstrap
@@ -31,6 +31,7 @@ usage()
......@@ -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 d3be485..01eef93 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.5.4 (Apple Git-61)
From f2ddd8e147a08fc63b01609d6028ebd8d7327fe6 Mon Sep 17 00:00:00 2001
From ebc498d0c3a43286815e0f8cd326daf8b4f4c39c 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 ++++++++++++++++++++++
......@@ -61,12 +61,12 @@ index 0000000..e63224e
+1.8.3.4 (Apple Git-47)
+
diff --git a/contrib/src/gcrypt/rules.mak b/contrib/src/gcrypt/rules.mak
index 7e67319..8773aa1 100644
index 6fa8b1e..ef297a1 100644
--- a/contrib/src/gcrypt/rules.mak
+++ b/contrib/src/gcrypt/rules.mak
@@ -1,6 +1,7 @@
# GCRYPT
GCRYPT_VERSION := 1.6.2
GCRYPT_VERSION := 1.6.4
GCRYPT_URL := ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-$(GCRYPT_VERSION).tar.bz2
+GCRYPT_GITURL := git://git.gnupg.org/libgcrypt.git
......@@ -135,5 +135,5 @@ index 0000000..df97ffb
+ AM_CFLAGS = $(GPG_ERROR_CFLAGS)
+
--
1.9.3 (Apple Git-50)
2.5.4 (Apple Git-61)
From 389859bd70e47c210a6a23aabfebecf7299c56e6 Mon Sep 17 00:00:00 2001
From fbf58a2cf78f6501b26215ddd3c6dcf58a393710 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
---
......@@ -67,10 +67,10 @@ index c0c66dd..7810ed7 100644
libvlc_video_take_snapshot
libvlc_vlm_add_broadcast
diff --git a/lib/media_player.c b/lib/media_player.c
index 5691345..3ca1e10 100644
index 9729eec..a8a9d18 100644
--- a/lib/media_player.c
+++ b/lib/media_player.c
@@ -465,6 +465,12 @@ libvlc_media_player_new( libvlc_instance_t *instance )
@@ -528,6 +528,12 @@ libvlc_media_player_new( libvlc_instance_t *instance )
var_Create (mp, "saturation", VLC_VAR_FLOAT | VLC_VAR_DOINHERIT);
var_Create (mp, "gamma", VLC_VAR_FLOAT | VLC_VAR_DOINHERIT);
......@@ -139,7 +139,7 @@ index 19065fb..8988069 100644
+ return get_string( p_mi, "quartztext", textrenderer_option_bynumber(option) );
+}
diff --git a/modules/text_renderer/quartztext.c b/modules/text_renderer/quartztext.c
index 8de1081..112e952 100644
index 69a31ed..2c3337f 100644
--- a/modules/text_renderer/quartztext.c
+++ b/modules/text_renderer/quartztext.c
@@ -65,6 +65,10 @@
......@@ -223,7 +223,7 @@ index 8de1081..112e952 100644
+
#ifndef TARGET_OS_IPHONE
if (p_sys->p_fonts) {
for (int k = 0; k < p_sys->i_fonts; k++) {
for (int k = 0; k < p_sys->i_fonts; k++)
@@ -236,8 +259,8 @@ static void Destroy(vlc_object_t *p_this)
free(p_sys->p_fonts);
......@@ -234,7 +234,7 @@ index 8de1081..112e952 100644
free(p_sys);
}
@@ -949,12 +972,12 @@ static int GetFontSize(filter_t *p_filter)
@@ -953,12 +976,12 @@ static int GetFontSize(filter_t *p_filter)
{
int i_size = 0;
......@@ -250,7 +250,7 @@ index 8de1081..112e952 100644
msg_Warn( p_filter, "invalid fontsize, using 12" );
i_size = 12;
}
@@ -1041,3 +1064,23 @@ static int RenderYUVA(filter_t *p_filter, subpicture_region_t *p_region,
@@ -1045,3 +1068,23 @@ static int RenderYUVA(filter_t *p_filter, subpicture_region_t *p_region,
return VLC_SUCCESS;
}
......@@ -275,5 +275,5 @@ index 8de1081..112e952 100644
+ return VLC_SUCCESS;
+}
--
1.9.3 (Apple Git-50)
2.5.4 (Apple Git-61)
From 259913e58d83b99bae60546010648f515b4e5d07 Mon Sep 17 00:00:00 2001
From 90f1155d92ac24ea570f05fb39521abef2255eda 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.5.4 (Apple Git-61)
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 d4a920aac8eb21305800c90b083fe802a180a5c1 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.5.4 (Apple Git-61)
From 17271ac3d7f551a6e29584a6be5973d3d4b44571 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.5.4 (Apple Git-61)
From f8b3bf066e3ff0ec66f0827eabf153929e67348a 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 0859b55..4793316 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.5.4 (Apple Git-61)
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) {