Commit 86b8eb83 authored by Felix Paul Kühne's avatar Felix Paul Kühne

MVK: rebase patches and update libvlc

parent d058bde5
From d9a48c551fc478c8e35dc67bf9efe112c518261f Mon Sep 17 00:00:00 2001
From 64482a17f5ebbc0fa2945635d236047ebff7016f Mon Sep 17 00:00:00 2001
From: David Fuhrmann <david.fuhrmann@googlemail.com>
Date: Tue, 17 Dec 2013 23:03:06 +0100
Subject: [PATCH 1/2] Add secure transport TLS module
Subject: [PATCH 01/18] Add secure transport TLS module
Secure Transport is a TLS library part of the Security framework
(preinstalled on every iOS and MacOS device). This library does
......
From ef776041a5ad68d9819ad3f359a58b14de7af700 Mon Sep 17 00:00:00 2001
From ce27343baed78b661583b4139cf5107e84871401 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/23] arm_neon: added function macro to handle the underscore
......
From 8117aa88c245d291083935a251578c5bb109d0ad 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 02/18] arm_neon: added function macro to handle the underscore
prefix for the iOS ARM ABI
---
modules/arm_neon/asm.S | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 49 insertions(+)
create mode 100644 modules/arm_neon/asm.S
diff --git a/modules/arm_neon/asm.S b/modules/arm_neon/asm.S
new file mode 100644
index 0000000..d853255
--- /dev/null
+++ b/modules/arm_neon/asm.S
@@ -0,0 +1,49 @@
+@*****************************************************************************
+@ asm.S : defines and macros
+@*****************************************************************************
+@ Copyright (C) 2012 David Geldreich <david.geldreich at free.fr>
+@
+@ This program is free software; you can redistribute it and/or modify
+@ it under the terms of the GNU General Public License as published by
+@ the Free Software Foundation; either version 2 of the License, or
+@ (at your option) any later version.
+@
+@ This program is distributed in the hope that it will be useful,
+@ but WITHOUT ANY WARRANTY; without even the implied warranty of
+@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+@ GNU General Public License for more details.
+@
+@ You should have received a copy of the GNU General Public License
+@ along with this program; if not, write to the Free Software Foundation,
+@ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
+@****************************************************************************/
+
+#ifdef __APPLE__
+# define EXTERN_ASM _
+#else
+# define EXTERN_ASM
+#endif
+
+#ifdef __ELF__
+# define ELF
+#else
+# define ELF @
+#endif
+
+.macro function name, export=0
+ .macro endfunc
+ELF .size \name, . - \name
+ .endfunc
+ .purgem endfunc
+ .endm
+ .text
+ .align 2
+ .if \export
+ .global EXTERN_ASM\name
+EXTERN_ASM\name:
+ .endif
+ELF .type \name, %function
+ .func \name
+\name:
+.endm
+
--
1.8.3.4 (Apple Git-47)
From 7c8852f65771838642d881c287bcc9d7d16daafa Mon Sep 17 00:00:00 2001
From b714319967e81561f508cf2ff8c53b6a1ebba5af 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/23] arm_neon: use a macro to fix compilation for iOS
......
From ab21e0bc57d1e92fad355c92a48e8664138ba587 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 03/18] arm_neon: use a macro to fix compilation for iOS
---
modules/arm_neon/amplify.S | 9 +++---
modules/arm_neon/simple_channel_mixer.S | 57 +++++++++++++++------------------
2 files changed, 31 insertions(+), 35 deletions(-)
diff --git a/modules/arm_neon/amplify.S b/modules/arm_neon/amplify.S
index 5938118..578f972 100644
--- a/modules/arm_neon/amplify.S
+++ b/modules/arm_neon/amplify.S
@@ -18,6 +18,8 @@
@ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
@****************************************************************************/
+#include "asm.S"
+
.syntax unified
.arm
.fpu neon
@@ -26,10 +28,8 @@
#define DST r0
#define SRC r1
#define SIZE r2
- .align 2
- .global amplify_float_arm_neon
- .type amplify_float_arm_neon, %function
-amplify_float_arm_neon:
+
+function amplify_float_arm_neon, export=1
cmp SIZE, #0
bxeq lr
#ifdef __ARM_PCS
@@ -79,3 +79,4 @@ amplify_float_arm_neon:
4: vst1.f32 {d20-d21}, [DST,:128]!
5: vst1.f32 {d16-d17}, [DST,:128]!
bx lr
+endfunc
diff --git a/modules/arm_neon/simple_channel_mixer.S b/modules/arm_neon/simple_channel_mixer.S
index dcc51ed..4722be4 100644
--- a/modules/arm_neon/simple_channel_mixer.S
+++ b/modules/arm_neon/simple_channel_mixer.S
@@ -19,6 +19,8 @@
@ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
@****************************************************************************/
+#include "asm.S"
+
.fpu neon
.text
.align 2
@@ -34,9 +36,8 @@ coeff_7to2:
.float 0.5
.float 0.25
.float 0.25
- .global convert_7to2_neon_asm
- .type convert_7to2_neon_asm, %function
-convert_7to2_neon_asm:
+
+function convert_7to2_neon_asm, export=1
push {r4,lr}
adr COEFF, coeff_7to2
@@ -63,16 +64,15 @@ convert_7to2_neon_asm:
bne 0b
pop {r4,pc}
-
+endfunc
coeff_5to2:
.float 0.5
.float 0.5
.float 0.33
.float 0.33
- .global convert_5to2_neon_asm
- .type convert_5to2_neon_asm, %function
-convert_5to2_neon_asm:
+
+function convert_5to2_neon_asm, export=1
push {r4,lr}
adr COEFF, coeff_5to2
@@ -95,14 +95,13 @@ convert_5to2_neon_asm:
bne 0b
pop {r4,pc}
-
+endfunc
coeff_4to2:
.float 0.5
.float 0.5
- .global convert_4to2_neon_asm
- .type convert_4to2_neon_asm, %function
-convert_4to2_neon_asm:
+
+function convert_4to2_neon_asm, export=1
push {r4,lr}
adr COEFF, coeff_4to2
@@ -119,14 +118,13 @@ convert_4to2_neon_asm:
bne 0b
pop {r4,pc}
-
+endfunc
coeff_3to2:
.float 0.5
.float 0.5
- .global convert_3to2_neon_asm
- .type convert_3to2_neon_asm, %function
-convert_3to2_neon_asm:
+
+function convert_3to2_neon_asm, export=1
push {r4,lr}
adr COEFF, coeff_3to2
@@ -147,16 +145,15 @@ convert_3to2_neon_asm:
bne 0b
pop {r4,pc}
-
+endfunc
coeff_7to1:
.float 0.25
.float 0.25
.float 0.125
.float 0.125
- .global convert_7to1_neon_asm
- .type convert_7to1_neon_asm, %function
-convert_7to1_neon_asm:
+
+function convert_7to1_neon_asm, export=1
push {r4,lr}
adr COEFF, coeff_7to1
@@ -181,16 +178,15 @@ convert_7to1_neon_asm:
bne 0b
pop {r4,pc}
-
+endfunc
coeff_5to1:
.float 0.25
.float 0.25
.float 0.16666667
.float 0.16666667
- .global convert_5to1_neon_asm
- .type convert_5to1_neon_asm, %function
-convert_5to1_neon_asm:
+
+function convert_5to1_neon_asm, export=1
push {r4,lr}
adr COEFF, coeff_5to1
@@ -212,16 +208,15 @@ convert_5to1_neon_asm:
bne 0b
pop {r4,pc}
-
+endfunc
coeff_7to4:
.float 0.5
.float 0.5
.float 0.16666667
.float 0.16666667
- .global convert_7to4_neon_asm
- .type convert_7to4_neon_asm, %function
-convert_7to4_neon_asm:
+
+function convert_7to4_neon_asm, export=1
push {r4,lr}
adr COEFF, coeff_7to4
@@ -247,14 +242,13 @@ convert_7to4_neon_asm:
bne 0b
pop {r4,pc}
-
+endfunc
coeff_5to4:
.float 0.5
.float 0.5
- .global convert_5to4_neon_asm
- .type convert_5to4_neon_asm, %function
-convert_5to4_neon_asm:
+
+function convert_5to4_neon_asm, export=1
push {r4,lr}
adr COEFF, coeff_5to4
@@ -277,3 +271,4 @@ convert_5to4_neon_asm:
bne 0b
pop {r4,pc}
+endfunc
--
1.8.3.4 (Apple Git-47)
From 7cd23164a4a6edd46a44cc791f016d9b9ea90242 Mon Sep 17 00:00:00 2001
From 2937a5fd9ea60849a7657897bbe8bafa279832a6 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/23] deinterlace/merge: use a macro to fix compilation for
......
From f2806506856ea318eeb34da382624979019163c1 Mon Sep 17 00:00:00 2001
From e3d79b8a4f685c8cf3ae2bc864c90cb0360d48a9 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/23] contrib/ebml+mkv: compile with hidden symbols on iOS
......
From 2cdacf653548fb5fb401b8bf230f92a77c269439 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 04/18] deinterlace/merge: use a macro to fix compilation for
iOS
---
modules/video_filter/deinterlace/merge_arm.S | 26 ++++++++++----------------
1 file changed, 10 insertions(+), 16 deletions(-)
diff --git a/modules/video_filter/deinterlace/merge_arm.S b/modules/video_filter/deinterlace/merge_arm.S
index dd77902..03e5042 100644
--- a/modules/video_filter/deinterlace/merge_arm.S
+++ b/modules/video_filter/deinterlace/merge_arm.S
@@ -18,6 +18,8 @@
@ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
@****************************************************************************/
+#include "../../arm_neon/asm.S"
+
.syntax unified
.arm
.arch armv6
@@ -29,11 +31,8 @@
#define SRC2 r2
#define SIZE r3
- .align 2
- .global merge8_arm_neon
- .type merge8_arm_neon, %function
@ NOTE: Offset and pitch must be multiple of 16-bytes in VLC.
-merge8_arm_neon:
+function merge8_arm_neon, export=1
cmp SIZE, #64
blo 2f
1:
@@ -70,11 +69,9 @@ merge8_arm_neon:
vhadd.u8 q0, q0, q8
vst1.u8 {q0}, [DEST,:128]!
bx lr
+endfunc
- .align 2
- .global merge16_arm_neon
- .type merge16_arm_neon, %function
-merge16_arm_neon:
+function merge16_arm_neon, export=1
cmp SIZE, #64
blo 2f
1:
@@ -111,11 +108,9 @@ merge16_arm_neon:
vhadd.u16 q0, q0, q8
vst1.u16 {q0}, [DEST,:128]!
bx lr
+endfunc
- .align 2
- .global merge8_armv6
- .type merge8_armv6, %function
-merge8_armv6:
+function merge8_armv6, export=1
push {r4-r9,lr}
1:
pld [SRC1, #64]
@@ -133,11 +128,9 @@ merge8_armv6:
stm DEST!, {r6-r7}
popeq {r4-r9,pc}
b 1b
+endfunc
- .align 2
- .global merge16_armv6
- .type merge16_armv6, %function
-merge16_armv6:
+function merge16_armv6, export=1
push {r4-r9,lr}
1:
pld [SRC1, #64]
@@ -155,3 +148,4 @@ merge16_armv6:
stm DEST!, {r6-r7}
popeq {r4-r9,pc}
b 1b
+endfunc
--
1.8.3.4 (Apple Git-47)
From 8d29c02c05507c2181bdc5c477a5f8a94b4aa140 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 05/18] 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.8.3.4 (Apple Git-47)
From 254074a4594fdbaf040b1c8a30a4fde6540adb4a Mon Sep 17 00:00:00 2001
From 3328f06b081f63e17e7a97c989286c0dda14003f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Thu, 18 Oct 2012 18:38:17 +0200
Subject: [PATCH 05/23] posix/thread: add a hack to work-around crashes when
......
From b68a05f395c859ff8c25d2ccf6d9d55086ea556f Mon Sep 17 00:00:00 2001
From 9c951054886ec558da8e947c1a0914aad8a74336 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Fri, 19 Jul 2013 18:38:41 +0700
Subject: [PATCH 06/23] freetype: added a fake font lookup mechanism for iOS to
......@@ -9,10 +9,10 @@ Subject: [PATCH 06/23] freetype: added a fake font lookup mechanism for iOS to
1 file changed, 42 insertions(+)
diff --git a/modules/text_renderer/freetype.c b/modules/text_renderer/freetype.c
index c27ec45..93beba8 100644
index 25d6b15..dbeb0f1 100644
--- a/modules/text_renderer/freetype.c
+++ b/modules/text_renderer/freetype.c
@@ -107,6 +107,9 @@
@@ -106,6 +106,9 @@
#include <TargetConditionals.h>
#if !TARGET_OS_IPHONE
#include <Carbon/Carbon.h>
......@@ -22,7 +22,7 @@ index c27ec45..93beba8 100644
#endif
#include <sys/param.h> /* for MAXPATHLEN */
#undef HAVE_FONTCONFIG
@@ -808,6 +811,40 @@ static char* MacLegacy_Select( filter_t *p_filter, const char* psz_fontname,
@@ -807,6 +810,40 @@ static char* MacLegacy_Select( filter_t *p_filter, const char* psz_fontname,
return psz_path;
}
......@@ -63,7 +63,7 @@ index c27ec45..93beba8 100644
#endif
#endif
@@ -1989,6 +2026,8 @@ static FT_Face LoadFace( filter_t *p_filter,
@@ -1988,6 +2025,8 @@ static FT_Face LoadFace( filter_t *p_filter,
#elif defined( __APPLE__ )
#if !TARGET_OS_IPHONE
psz_fontfile = MacLegacy_Select( p_filter, p_style->psz_fontname, false, false, -1, &i_idx );
......@@ -72,7 +72,7 @@ index c27ec45..93beba8 100644
#endif
#elif defined( _WIN32 )
psz_fontfile = Win32_Select( p_filter,
@@ -2895,6 +2934,9 @@ static int Create( vlc_object_t *p_this )
@@ -2894,6 +2933,9 @@ static int Create( vlc_object_t *p_this )
#elif defined(__APPLE__)
#if !TARGET_OS_IPHONE
psz_fontfile = MacLegacy_Select( p_filter, psz_fontfamily, false, false, 0, &fontindex );
......
From a07f4a447e56ea6e459c5503a73b87eb8897e9dd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Thu, 18 Oct 2012 18:38:17 +0200
Subject: [PATCH 06/18] posix/thread: add a hack to work-around crashes when
using the buggy iOS 6 runtime
---
src/posix/thread.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/src/posix/thread.c b/src/posix/thread.c
index 514f592..6a95bb0 100644
--- a/src/posix/thread.c
+++ b/src/posix/thread.c
@@ -355,6 +355,18 @@ void vlc_cond_init_daytime (vlc_cond_t *p_condvar)
void vlc_cond_destroy (vlc_cond_t *p_condvar)
{
int val = pthread_cond_destroy( p_condvar );
+
+#ifdef __APPLE__
+ if (val != 0) {
+ printf("pthread_cond_destroy returned %i\n", val);
+
+ if (val == EBUSY) {
+ printf("this is a EBUSY!\n");
+ return;
+ }
+ }
+#endif
+
VLC_THREAD_ASSERT ("destroying condition");
}
--
1.8.3.4 (Apple Git-47)
From 54f927c0d90cfa26ff4b92a35fcadfee87e3d45c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Fri, 19 Jul 2013 18:38:41 +0700
Subject: [PATCH 07/18] freetype: added a fake font lookup mechanism for iOS to
use the packaged demo fonts
---
modules/text_renderer/freetype.c | 42 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
diff --git a/modules/text_renderer/freetype.c b/modules/text_renderer/freetype.c
index c27ec45..93beba8 100644
--- a/modules/text_renderer/freetype.c
+++ b/modules/text_renderer/freetype.c
@@ -107,6 +107,9 @@
#include <TargetConditionals.h>
#if !TARGET_OS_IPHONE
#include <Carbon/Carbon.h>
+#else
+#include <CoreFoundation/CoreFoundation.h>
+#include <vlc_url.h>
#endif
#include <sys/param.h> /* for MAXPATHLEN */
#undef HAVE_FONTCONFIG
@@ -808,6 +811,40 @@ static char* MacLegacy_Select( filter_t *p_filter, const char* psz_fontname,
return psz_path;
}
+#else
+static char *iOSFake_Select( filter_t *p_filter, bool b_monospace, bool b_bold,
+ bool b_italic )
+{
+ // included for future implementation
+ VLC_UNUSED(p_filter);
+ VLC_UNUSED(b_bold);
+ VLC_UNUSED(b_italic);
+ VLC_UNUSED(b_monospace);
+
+ CFURLRef fileURL;
+ fileURL = CFBundleCopyResourceURL(CFBundleGetMainBundle(), b_monospace ?
+ CFSTR("OpenSans-Regular.ttf") : CFSTR("SourceCodePro-Regular.ttf"),
+ NULL,
+ NULL);
+ CFStringRef urlString = CFURLCopyFileSystemPath(fileURL, kCFURLPOSIXPathStyle);
+ CFRelease(fileURL);
+
+ if (!urlString)
+ return NULL;
+
+ CFIndex length = CFStringGetLength(urlString);
+ if (!length)
+ return NULL;
+ length++;
+
+ char *psz_path = (char *)malloc(length);
+ CFStringGetCString(urlString, psz_path, length, kCFStringEncodingUTF8);
+ CFRelease(urlString);
+
+ psz_path = strdup(psz_path);
+
+ return psz_path;
+}
#endif
#endif
@@ -1989,6 +2026,8 @@ static FT_Face LoadFace( filter_t *p_filter,
#elif defined( __APPLE__ )
#if !TARGET_OS_IPHONE
psz_fontfile = MacLegacy_Select( p_filter, p_style->psz_fontname, false, false, -1, &i_idx );
+#else
+ psz_fontfile = iOSFake_Select( p_filter, false, false, false );
#endif
#elif defined( _WIN32 )
psz_fontfile = Win32_Select( p_filter,
@@ -2895,6 +2934,9 @@ static int Create( vlc_object_t *p_this )
#elif defined(__APPLE__)
#if !TARGET_OS_IPHONE
psz_fontfile = MacLegacy_Select( p_filter, psz_fontfamily, false, false, 0, &fontindex );
+#else
+ psz_fontfile = iOSFake_Select( p_filter, false, false, false );
+ psz_monofontfile = iOSFake_Select( p_filter, true, false, false );
#endif
#elif defined(_WIN32)
psz_fontfile = Win32_Select( p_filter, psz_fontfamily, false, false,
--
1.8.3.4 (Apple Git-47)
From c9feb6cf01b6470f6f3be7972d3839f34c5d21aa Mon Sep 17 00:00:00 2001
From e33c1c87ee0baebd8a8c4bed719a059ae7127647 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 07/23] libass: fix text rendering on iOS by providing a font
......
From 4ddaf9d4298756544f02587b8db2a190d44b5388 Mon Sep 17 00:00:00 2001
From 314b39d85b64776346f3cb005a183ffba7c11781 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Sun, 21 Jul 2013 18:18:33 +0200
Subject: [PATCH 08/23] freetype: fix corner-case crash
......@@ -8,10 +8,10 @@ Subject: [PATCH 08/23] freetype: fix corner-case crash
1 file changed, 2 insertions(+)
diff --git a/modules/text_renderer/freetype.c b/modules/text_renderer/freetype.c
index 93beba8..4bac64d 100644
index dbeb0f1..84799d7 100644
--- a/modules/text_renderer/freetype.c
+++ b/modules/text_renderer/freetype.c
@@ -826,6 +826,8 @@ static char *iOSFake_Select( filter_t *p_filter, bool b_monospace, bool b_bold,
@@ -825,6 +825,8 @@ static char *iOSFake_Select( filter_t *p_filter, bool b_monospace, bool b_bold,
CFSTR("OpenSans-Regular.ttf") : CFSTR("SourceCodePro-Regular.ttf"),
NULL,
NULL);
......
From 3d2cbaf8b17f1e7d526883d1529fcab0f5d06139 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 08/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(+)
diff --git a/modules/codec/libass.c b/modules/codec/libass.c
index aa38f1b..38961bc 100644
--- a/modules/codec/libass.c
+++ b/modules/codec/libass.c
@@ -29,6 +29,13 @@
# include "config.h"
#endif
+#if defined (__APPLE__)
+#include <TargetConditionals.h>
+#if TARGET_OS_IPHONE
+#include <CoreFoundation/CoreFoundation.h>
+#endif
+#endif
+
#include <string.h>
#include <limits.h>
#include <assert.h>
@@ -213,6 +220,34 @@ 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";
+#elif defined (__APPLE__)
+#if !TARGET_OS_IPHONE
+ 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 */
+#else
+ CFURLRef fileURL;
+ fileURL = CFBundleCopyResourceURL(CFBundleGetMainBundle(), CFSTR("OpenSans-Regular.ttf"),
+ NULL,
+ NULL);
+ CFStringRef urlString = CFURLCopyFileSystemPath(fileURL, kCFURLPOSIXPathStyle);
+ CFRelease(fileURL);
+
+ if (!urlString)
+ return VLC_EGENERIC;
+
+ CFIndex length = CFStringGetLength(urlString);