diff --git a/Podfile b/Podfile
index 8886c480b2f38711ea3a8050224033996a07f8fb..1fe844c638cc3549d2e1d36b304140dca3118a8c 100644
--- a/Podfile
+++ b/Podfile
@@ -21,7 +21,7 @@ def iOS_pods
   pod 'GoogleAPIClient/Drive'
   pod 'VLC-LXReorderableCollectionViewFlowLayout', '0.1.3v'
   pod 'MediaLibraryKit-prod'
-  pod 'MobileVLCKit', '3.0.2'
+  pod 'MobileVLCKit', '3.1.0'
   pod 'GTMAppAuth'
 end
 
@@ -44,7 +44,7 @@ target 'VLC-tvOS' do
   pod "OROpenSubtitleDownloader", :git => 'https://github.com/orta/OROpenSubtitleDownloader.git', :commit => '0509eac2'
   pod 'GRKArrayDiff', '~> 2.1'
   pod 'HockeySDK-tvOS', '~>5.0.0'
-  pod 'TVVLCKit', '3.0.2'
+  pod 'TVVLCKit', '3.1.0'
 end
 
 target 'VLC-watchOS-Extension' do
diff --git a/Podfile.lock b/Podfile.lock
index 0cb5ed337f554ab2f18f1d771cc8a224b1a65877..58d4f2231f38e8f691dd91222fd486b9bafc68ef 100644
--- a/Podfile.lock
+++ b/Podfile.lock
@@ -24,7 +24,7 @@ PODS:
   - GoogleAPIClient/Drive (1.0.5):
     - GoogleAPIClient/Core
     - GTMSessionFetcher (~> 1.1)
-  - GRKArrayDiff (2.1.1)
+  - GRKArrayDiff (2.2.1)
   - GTMAppAuth (0.7.0):
     - AppAuth (~> 0.92.0)
     - GTMSessionFetcher (~> 1.1)
@@ -36,15 +36,15 @@ PODS:
   - HockeySDK-tvOS (5.0.0)
   - HockeySDK/CrashOnlyLib (5.1.2)
   - InAppSettingsKit (2.2.2)
-  - MediaLibraryKit-prod (2.6.5):
-    - MobileVLCKit (~> 3.0.1)
+  - MediaLibraryKit-prod (2.6.6):
+    - MobileVLCKit (~> 3.1.0)
   - MediaLibraryKit-unstable (2.6.5):
     - MobileVLCKit-unstable (~> 3.0.0a8)
   - MetaDataFetcherKit (0.3.1):
     - AFNetworking (= 3.1.0)
     - OROpenSubtitleDownloader
-  - MobileVLCKit (3.0.2)
-  - NSData+Base64 (1.0.0)
+  - MobileVLCKit (3.1.0)
+  - "NSData+Base64 (1.0.0)"
   - ObjectiveDropboxOfficial (1.1)
   - OBSlider (1.1.0)
   - OROpenSubtitleDownloader (1.2.0):
@@ -52,14 +52,14 @@ PODS:
     - xmlrpc
   - PAPasscode (1.0)
   - RESideMenu (4.0.7)
-  - TVVLCKit (3.0.2)
+  - TVVLCKit (3.1.0)
   - upnpx (1.4.0)
   - VLC-LiveSDK (5.7.0x)
   - VLC-LXReorderableCollectionViewFlowLayout (0.1.3v)
   - VLC-WhiteRaccoon (1.0.0)
   - XKKeychain (1.0.1)
   - xmlrpc (2.3.4):
-    - NSData+Base64 (~> 1.0.0)
+    - "NSData+Base64 (~> 1.0.0)"
 
 DEPENDENCIES:
   - box-ios-sdk-v2 (from `git://github.com/fkuehne/box-ios-sdk-v2.git`)
@@ -73,19 +73,45 @@ DEPENDENCIES:
   - MediaLibraryKit-prod
   - MediaLibraryKit-unstable
   - MetaDataFetcherKit (~> 0.3.1)
-  - MobileVLCKit (= 3.0.2)
+  - MobileVLCKit (= 3.1.0)
   - ObjectiveDropboxOfficial (from `git://github.com/carolanitz/dropbox-sdk-obj-c.git`)
   - OBSlider (= 1.1.0)
   - OROpenSubtitleDownloader (from `https://github.com/orta/OROpenSubtitleDownloader.git`, commit `0509eac2`)
   - PAPasscode (~> 1.0)
   - RESideMenu (~> 4.0.7)
-  - TVVLCKit (= 3.0.2)
+  - TVVLCKit (= 3.1.0)
   - upnpx (~> 1.4.0)
   - VLC-LiveSDK (= 5.7.0x)
   - VLC-LXReorderableCollectionViewFlowLayout (= 0.1.3v)
   - VLC-WhiteRaccoon
   - XKKeychain (~> 1.0)
 
+SPEC REPOS:
+  https://github.com/cocoapods/specs.git:
+    - AFNetworking
+    - AppAuth
+    - GoogleAPIClient
+    - GRKArrayDiff
+    - GTMAppAuth
+    - GTMSessionFetcher
+    - HockeySDK
+    - HockeySDK-tvOS
+    - MediaLibraryKit-prod
+    - MediaLibraryKit-unstable
+    - MetaDataFetcherKit
+    - MobileVLCKit
+    - "NSData+Base64"
+    - OBSlider
+    - PAPasscode
+    - RESideMenu
+    - TVVLCKit
+    - upnpx
+    - VLC-LiveSDK
+    - VLC-LXReorderableCollectionViewFlowLayout
+    - VLC-WhiteRaccoon
+    - XKKeychain
+    - xmlrpc
+
 EXTERNAL SOURCES:
   box-ios-sdk-v2:
     :git: git://github.com/fkuehne/box-ios-sdk-v2.git
@@ -123,23 +149,23 @@ SPEC CHECKSUMS:
   box-ios-sdk-v2: 9423bd75373350ea40b92f3d2d6e89f81d96d634
   CocoaHTTPServer: 07df8b05a8bde406fe367d22c90a24a2fd4ca49f
   GoogleAPIClient: 77df755d41d70ee5a99b7b752614fbb439f19438
-  GRKArrayDiff: d24cb2d9694985b7032dee96d0d55b917d7b400c
+  GRKArrayDiff: 7522e374edcc55c1731a219e428847164b04cfab
   GTMAppAuth: 8d724be29ab8f2f6d35b2bf929d76340c9d1f1b1
   GTMSessionFetcher: 5fa5b80fd20e439ef5f545fb2cb3ca6c6714caa2
   HockeySDK: 38b7e2726af1ea86ae97ce4b5de33ab0817e3500
   HockeySDK-tvOS: 6b2a69f86419ebaf23225f59a64e5761ed3a0d8a
   InAppSettingsKit: 76d5cfbaa3e3f8aa53fe3628516da7eb1aa6a5cb
-  MediaLibraryKit-prod: 095dce5faa59e2bb0a537646ac09fe57eaf3fbdf
+  MediaLibraryKit-prod: 87d856c2f5cc46da9596e5da57c97190f6216682
   MediaLibraryKit-unstable: aaf147005a2e024ed2f4c45440bfcc19225ca776
   MetaDataFetcherKit: d1d61b061bf74268aaffb6bf08a70396672163df
-  MobileVLCKit: a9e06de53e7a7fd43d7b04bcab4f2e68868f768a
-  NSData+Base64: 4e84902c4db907a15673474677e57763ef3903e4
+  MobileVLCKit: 4e55792b03c99429c9f4716aa44e685f65b3d178
+  "NSData+Base64": 4e84902c4db907a15673474677e57763ef3903e4
   ObjectiveDropboxOfficial: e11cdf40e8965a6c24c6d6ff64905f2df43ab653
   OBSlider: 490f108007bfdd5414a38650b211fe403a95b8a0
   OROpenSubtitleDownloader: 154b8c08acbf8836b77ac259018dc8b5baef907e
   PAPasscode: b408fb87c530cad58a554e26482e87dbb14b7bc2
   RESideMenu: f24c508404b49c667344c54aba7e590883533958
-  TVVLCKit: 178e4f82f8b57320774821384e42eaac403d2faa
+  TVVLCKit: 9474d4644124917d29585b3962f2f3fb64cbc64a
   upnpx: c695b99229e08154d23abe5c252cb64f1600f35d
   VLC-LiveSDK: c9566a9edde968f969138f84cfd40b540a109b3f
   VLC-LXReorderableCollectionViewFlowLayout: 0204946967b746ca183835e854826290be06e2f4
@@ -147,6 +173,6 @@ SPEC CHECKSUMS:
   XKKeychain: 852ef663c56a7194c73d3c68e8d9d4f07b121d4f
   xmlrpc: 109bb21d15ed6d108b2c1ac5973a6a223a50f5f4
 
-PODFILE CHECKSUM: 6a912f6ba8819dae74bb05d7a721fd2430785700
+PODFILE CHECKSUM: 2082937778b8f75b8564ea62b81a8b108a31c25d
 
-COCOAPODS: 1.4.0
+COCOAPODS: 1.5.2
diff --git a/VLC.xcodeproj/project.pbxproj b/VLC.xcodeproj/project.pbxproj
index 3a7c6a6d5b83d0f94d9d685421aaeb47bef2d66f..6be8911ffec99d857a00e552928ec3d1a6462061 100644
--- a/VLC.xcodeproj/project.pbxproj
+++ b/VLC.xcodeproj/project.pbxproj
@@ -2835,7 +2835,6 @@
 				7D1329391BA1F10100BE647E /* Sources */,
 				7D13293A1BA1F10100BE647E /* Frameworks */,
 				7D13293B1BA1F10100BE647E /* Resources */,
-				12FBF6B8DF68C968D9AD05E3 /* [CP] Embed Pods Frameworks */,
 				0452CD613294910CB73B58CB /* [CP] Copy Pods Resources */,
 			);
 			buildRules = (
@@ -2855,7 +2854,6 @@
 				7D3CF7B02050265B00FA0C1F /* Sources */,
 				7D3CF82F2050265B00FA0C1F /* Frameworks */,
 				7D3CF84D2050265B00FA0C1F /* Resources */,
-				7D3CF8882050265B00FA0C1F /* [CP] Embed Pods Frameworks */,
 				7D3CF8892050265B00FA0C1F /* [CP] Copy Pods Resources */,
 				7D3CF88A2050265B00FA0C1F /* ShellScript */,
 			);
@@ -2878,7 +2876,6 @@
 				7D94FCD916DE7D1000F2623B /* Resources */,
 				DD3567881B6760BF00338947 /* Embed Watch Content */,
 				7D14C3551BF4E498003DDC41 /* Embed App Extensions */,
-				50F88350D33999B9CF48A5E2 /* [CP] Embed Pods Frameworks */,
 				9706D52A0CDF446E336826A6 /* [CP] Copy Pods Resources */,
 				41F7087C1F37900A00953630 /* ShellScript */,
 			);
@@ -2919,7 +2916,6 @@
 				DD35676C1B6760BF00338947 /* Sources */,
 				DD35676D1B6760BF00338947 /* Frameworks */,
 				DD35676E1B6760BF00338947 /* Resources */,
-				70B91CB914052D9EA124AEC3 /* [CP] Embed Pods Frameworks */,
 				E83630DE168FA377CB2B8C84 /* [CP] Copy Pods Resources */,
 			);
 			buildRules = (
@@ -3362,21 +3358,6 @@
 			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-VLC-tvOS/Pods-VLC-tvOS-resources.sh\"\n";
 			showEnvVarsInLog = 0;
 		};
-		12FBF6B8DF68C968D9AD05E3 /* [CP] Embed Pods Frameworks */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputPaths = (
-			);
-			name = "[CP] Embed Pods Frameworks";
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-VLC-tvOS/Pods-VLC-tvOS-frameworks.sh\"\n";
-			showEnvVarsInLog = 0;
-		};
 		23B425DEB65EA5C88D873ED2 /* [CP] Check Pods Manifest.lock */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
@@ -3408,36 +3389,6 @@
 			shellPath = /bin/sh;
 			shellScript = "python Tools/update_strings.py Resources/en.lproj/Localizable.strings";
 		};
-		50F88350D33999B9CF48A5E2 /* [CP] Embed Pods Frameworks */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputPaths = (
-			);
-			name = "[CP] Embed Pods Frameworks";
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-VLC-iOS/Pods-VLC-iOS-frameworks.sh\"\n";
-			showEnvVarsInLog = 0;
-		};
-		70B91CB914052D9EA124AEC3 /* [CP] Embed Pods Frameworks */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputPaths = (
-			);
-			name = "[CP] Embed Pods Frameworks";
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-VLC-watchOS-Extension/Pods-VLC-watchOS-Extension-frameworks.sh\"\n";
-			showEnvVarsInLog = 0;
-		};
 		7D3CF7AF2050265B00FA0C1F /* [CP] Check Pods Manifest.lock */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
@@ -3456,21 +3407,6 @@
 			shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
 			showEnvVarsInLog = 0;
 		};
-		7D3CF8882050265B00FA0C1F /* [CP] Embed Pods Frameworks */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputPaths = (
-			);
-			name = "[CP] Embed Pods Frameworks";
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-VLC-iOS-no-watch/Pods-VLC-iOS-no-watch-frameworks.sh\"\n";
-			showEnvVarsInLog = 0;
-		};
 		7D3CF8892050265B00FA0C1F /* [CP] Copy Pods Resources */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;