Discussion:
[libdvdcss-devel] [PATCH] Fix CSS key caching on Android
hackndo
2015-10-27 17:17:09 UTC
Permalink
From: Romain Bentz <***@gmail.com>

---
src/libdvdcss.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)

diff --git a/src/libdvdcss.c b/src/libdvdcss.c
index 3f4f7e6..febdff2 100644
--- a/src/libdvdcss.c
+++ b/src/libdvdcss.c
@@ -216,6 +216,18 @@ static int set_cache_directory( dvdcss_t dvdcss )
psz_cache = dvdcss->psz_cachefile;
}
#else
+#ifdef __ANDROID__
+ /* $HOME is not writable on __ANDROID__ so we have to create a custom
+ * directory in userland */
+ char *psz_home = strdup("/sdcard/Android/data/org.videolan.dvdcss");
+
+ int i_ret = mkdir( psz_home, 0755 );
+ if( i_ret < 0 && errno != EEXIST )
+ {
+ print_error( dvdcss, "failed creating home directory" );
+ psz_home = NULL;
+ }
+#else
char *psz_home = NULL;
#ifdef HAVE_PWD_H
struct passwd *p_pwd;
@@ -228,6 +240,8 @@ static int set_cache_directory( dvdcss_t dvdcss )
}
#endif /* HAVE_PWD_H */

+#endif /* __ANDROID__ */
+
if( psz_home == NULL )
{
psz_home = getenv( "HOME" );
--
2.4.9 (Apple Git-60)
Romain Bentz
2015-10-27 17:30:00 UTC
Permalink
libdvdcss | branch: master | Romain Bentz <***@gmail.com> | Tue Oct 27 18:17:09 2015 +0100| [c064e7cab0b490a45f5760f21d8c80553f07ed36] | committer: Jean-Baptiste Kempf

Fix CSS key caching on Android
http://git.videolan.org/gitweb.cgi/libdvdcss.git/?a=commit;h=c064e7cab0b490a45f5760f21d8c80553f07ed36
---

src/libdvdcss.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)

diff --git a/src/libdvdcss.c b/src/libdvdcss.c
index 3f4f7e6..febdff2 100644
--- a/src/libdvdcss.c
+++ b/src/libdvdcss.c
@@ -216,6 +216,18 @@ static int set_cache_directory( dvdcss_t dvdcss )
psz_cache = dvdcss->psz_cachefile;
}
#else
+#ifdef __ANDROID__
+ /* $HOME is not writable on __ANDROID__ so we have to create a custom
+ * directory in userland */
+ char *psz_home = strdup("/sdcard/Android/data/org.videolan.dvdcss");
+
+ int i_ret = mkdir( psz_home, 0755 );
+ if( i_ret < 0 && errno != EEXIST )
+ {
+ print_error( dvdcss, "failed creating home directory" );
+ psz_home = NULL;
+ }
+#else
char *psz_home = NULL;
#ifdef HAVE_PWD_H
struct passwd *p_pwd;
@@ -228,6 +240,8 @@ static int set_cache_directory( dvdcss_t dvdcss )
}
#endif /* HAVE_PWD_H */

+#endif /* __ANDROID__ */
+
if( psz_home == NULL )
{
psz_home = getenv( "HOME" );
Ludovic Fauvet
2015-10-27 17:40:16 UTC
Permalink
Post by Romain Bentz
Oct 27 18:17:09 2015 +0100| [c064e7cab0b490a45f5760f21d8c80553f07ed36] |
committer: Jean-Baptiste Kempf
Fix CSS key caching on Android
http://git.videolan.org/gitweb.cgi/libdvdcss.git/?a=commit;h=c064e7cab0b490a45f5760f21d8c80553f07ed36
---
src/libdvdcss.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/src/libdvdcss.c b/src/libdvdcss.c
index 3f4f7e6..febdff2 100644
--- a/src/libdvdcss.c
+++ b/src/libdvdcss.c
@@ -216,6 +216,18 @@ static int set_cache_directory( dvdcss_t dvdcss )
psz_cache = dvdcss->psz_cachefile;
}
#else
+#ifdef __ANDROID__
+ /* $HOME is not writable on __ANDROID__ so we have to create a custom
+ * directory in userland */
+ char *psz_home =
strdup("/sdcard/Android/data/org.videolan.dvdcss");
You have memory leak here.

This would be better according to the surrounding code:

char psz_home[PATH_MAX];
sprintf(psz_home, "/sdcard/Android/data/org.videolan.dvdcss");
Post by Romain Bentz
+
+ int i_ret = mkdir( psz_home, 0755 );
+ if( i_ret < 0 && errno != EEXIST )
+ {
+ print_error( dvdcss, "failed creating home directory" );
+ psz_home = NULL;
+ }
+#else
char *psz_home = NULL;
#ifdef HAVE_PWD_H
struct passwd *p_pwd;
@@ -228,6 +240,8 @@ static int set_cache_directory( dvdcss_t dvdcss )
}
#endif /* HAVE_PWD_H */
+#endif /* __ANDROID__ */
+
if( psz_home == NULL )
{
psz_home = getenv( "HOME" );
_______________________________________________
libdvdcss-devel mailing list
https://mailman.videolan.org/listinfo/libdvdcss-devel
Fine otherwise.
--
Ludovic Fauvet
www.videolan.org
Romain Bentz
2015-10-27 17:41:12 UTC
Permalink
libdvdcss | branch: master | Romain Bentz <***@gmail.com> | Tue Oct 27 18:17:09 2015 +0100| [50a9209451c63397a2aaccf9a3ae11ae29d3d707] | committer: Jean-Baptiste Kempf

Fix CSS key caching on Android
http://git.videolan.org/gitweb.cgi/libdvdcss.git/?a=commit;h=50a9209451c63397a2aaccf9a3ae11ae29d3d707
---

src/libdvdcss.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)

diff --git a/src/libdvdcss.c b/src/libdvdcss.c
index 3f4f7e6..9a3d8ab 100644
--- a/src/libdvdcss.c
+++ b/src/libdvdcss.c
@@ -216,6 +216,18 @@ static int set_cache_directory( dvdcss_t dvdcss )
psz_cache = dvdcss->psz_cachefile;
}
#else
+#ifdef __ANDROID__
+ /* $HOME is not writable on __ANDROID__ so we have to create a custom
+ * directory in userland */
+ char *psz_home = "/sdcard/Android/data/org.videolan.dvdcss";
+
+ int i_ret = mkdir( psz_home, 0755 );
+ if( i_ret < 0 && errno != EEXIST )
+ {
+ print_error( dvdcss, "failed creating home directory" );
+ psz_home = NULL;
+ }
+#else
char *psz_home = NULL;
#ifdef HAVE_PWD_H
struct passwd *p_pwd;
@@ -228,6 +240,8 @@ static int set_cache_directory( dvdcss_t dvdcss )
}
#endif /* HAVE_PWD_H */

+#endif /* __ANDROID__ */
+
if( psz_home == NULL )
{
psz_home = getenv( "HOME" );

Loading...