...
 
Commits (218)
version: 2
jobs:
build:
macos:
xcode: "9.2.0"
environment:
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
shell: /bin/bash --login -eo pipefail
steps:
- checkout
- run: echo "2.3.5" > .ruby-version
- restore_cache:
key: v1-gems-{{ checksum "Gemfile.lock" }}
- run: bundle check || bundle install --path .bundle
- save_cache:
key: v1-gems-{{ checksum "Gemfile.lock" }}
paths:
- .bundle
- restore_cache:
key: v1-pods-{{ checksum "Podfile.lock" }}
- run:
name: Install CocoaPods
command: |
curl https://cocoapods-specs.circleci.com/fetch-cocoapods-repo-from-s3.sh | bash -s cf
pod install
- save_cache:
key: v1-pods-{{ checksum "Podfile.lock" }}
paths:
- Pods
- run: bundle exec fastlane ci
- store_artifacts:
path: /Users/distiller/Library/Logs/gym
!Makefile
*.mode*
*.pbxuser
# Xcode
xcuserdata
*.xccheckout
*.pbxuser
*.mode*
# macOS
.DS_Store
# Fastlane
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
# CocoaPods
Pods
# Private Constants
0001-privateConstants.patch
# Others
!Makefile
build
External
ImportedSources
DerivedData
Pods
......@@ -5,3 +5,7 @@ Felix Paul Kühne <fkuehne@videolan.org>
<fkuehne@videolan.org> <felix@serioese.gmbh>
<fkuehne@videolan.org> <felix@feepk.net>
Marc Etcheverry <marc@taplightsoftware.com> <marcetcheverry@gmail.com>
Soomin Lee <bubu@mikan.io>
<bubu@mikan.io> <thehungrybu@gmail.com>
Carola Nitz <nitz.carola@googlemail.com>
<deploy@Caro.local> <nitz.carola@googlemail.com>
......@@ -12,7 +12,7 @@
font-weight: 300; }
</style>
<div style="text-align:left; border:solid transparent 1px; padding:0.5em 1em 0.5em 1em; overflow:auto; font-size:20pt; font-family: -apple-system; color:#1f1f1f"; A:link {text-decoration: none; color:#1f1f1f}>
<p align="center">Copyright &copy; 2013-2018 VideoLAN and authors<br /><br />Written by Tobias Conradi and Felix Paul Kühne</a>,<br /><br /> based on VLC for iOS by Felix Paul Kühne, Tobias Conradi, Gleb Pinigin, Pierre Sagaspe, Carola Nitz, Soomin Lee, Jean-Baptiste Kempf, Marc Etcheverry, <br />with additions by Vincent L. Cone, David Loiret, Benjamin Adolphi, Tam&aacute;s T&iacute;m&aacute;r</a>, Shenghan Chen, Martin Storsjö, Filipe Cabecinhas, Thomas Guillem, Alessio Pollero, Christoph Miebach, Diego Fernando Nieto, Christopher Loessl, Fabio Ritrovato, Kevin Chromik, Sylver Bruneau, David Fuhrmann, Ulrich Trampe, Ron Soffer, Riccardo Angius, Adam Viaud, Ahmad Harb, Dean Lee, Jörg Bleyel, Kai Neuwerth, Konstantin Pavlov, Luis Fernandes, Shai Shamir, Steven Kabbes, Tim Byrne and Winston Weinert.</p>
<p align="center">Copyright &copy; 2013-2018 VideoLAN and authors<br /><br />Written by Tobias Conradi and Felix Paul Kühne,<br /><br /> based on VLC for iOS by Felix Paul Kühne, Carola Nitz, Tobias Conradi, Pierre Sagaspe, Gleb Pinigin, Soomin Lee, Jean-Baptiste Kempf, Marc Etcheverry, <br />with additions by David Cordero, Vincent L. Cone, David Loiret, Mike JS. Choi, Benjamin Adolphi, Thomas Guillem, Tam&aacute;s T&iacute;m&aacute;r, Shenghan Chen, Victor Gama, Martin Storsjö, Filipe Cabecinhas, Alessio Pollero, Richard Soderberg, Christoph Miebach, Diego Fernando Nieto, Christopher Loessl, Fabio Ritrovato, Kevin Chromik, Sylver Bruneau, David Fuhrmann, Ulrich Trampe, Ron Soffer, Riccardo Angius, Adam Viaud, Ahmad Harb, Dean Lee, Jörg Bleyel, Kai Neuwerth, Konstantin Pavlov, Luis Fernandes, Shai Shamir, Steven Kabbes, Tim Byrne, Cameron Mozie, Pavel Akhrameev and Winston Weinert.</p>
<p align="center">We would like to thank the following people for tests, ideas and translations:<br />
Phan Anh, Helena Arndt, Andriy Bandura, Luca Barbato, Ana Coronel, Keiji Costantini, Ludovic Fauvet, Roberto Ferraro, David González, Marián Hikaník, Christian Kosim, Alexander Lakhin, Freya Lindhorst, Adrien Maglo, Fumio Nakayama, Savvas Nesseris, Ilkka Ollakka, Alexandre Perraud, Vincenzo Reale, Anton Regnander, Thomas De Rocker, Mario Siegmann, Yaron Shahrabani, Michał Trzebiatowski, Kaya Zeren, Transifex VLC project team<br />
<br />
......
......@@ -17,11 +17,11 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>3.0.0</string>
<string>3.0.3</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>300</string>
<string>306</string>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>LSRequiresIPhoneOS</key>
......
......@@ -140,7 +140,7 @@
trackCell.selectionMarkerVisible = isSelected;
VLCPlaybackController *vpc = [VLCPlaybackController sharedInstance];
NSDictionary *description = [vpc chapterDescriptionsDictAtIndex:[vpc indexOfCurrentTitle]];
NSDictionary *description = [vpc chapterDescriptionsDictAtIndex:row];
NSString *chapter = description[VLCChapterDescriptionName];
if (chapter == nil)
......
......@@ -98,6 +98,7 @@
toFrame = smallFrame;
fromFrame = largeFrame;
[container addSubview:target.view];
[target.view layoutIfNeeded];
} else if ([source isKindOfClass:[VLCPlaybackInfoTVViewController class]]) {
infoVC = (VLCPlaybackInfoTVViewController*) source;
infoVC.dimmingView.alpha = 1.0;
......
......@@ -141,10 +141,6 @@
[vpc setAudioPassthrough:bValue];
[defaults setBool:bValue forKey:kVLCSettingUseSPDIF];
/* restart the audio output */
NSInteger currentAudioTrackIndex = [vpc indexOfCurrentAudioTrack];
[vpc selectAudioTrackAtIndex:0];
[vpc selectAudioTrackAtIndex:currentAudioTrackIndex];
} else {
[vpc selectAudioTrackAtIndex:row];
}
......
......@@ -86,13 +86,25 @@
</dict>
<dict>
<key>Type</key>
<string>PSToggleSwitchSpecifier</string>
<string>PSMultiValueSpecifier</string>
<key>Title</key>
<string>SETTINGS_DEINTERLACE</string>
<key>Key</key>
<string>deinterlace</string>
<key>DefaultValue</key>
<false/>
<integer>-1</integer>
<key>Values</key>
<array>
<string>1</string>
<string>0</string>
<string>-1</string>
</array>
<key>Titles</key>
<array>
<string>SETTINGS_DEINTERLACE_ON</string>
<string>SETTINGS_DEINTERLACE_OFF</string>
<string>SETTINGS_DEINTERLACE_AUTO</string>
</array>
</dict>
<dict>
<key>Type</key>
......
......@@ -76,13 +76,25 @@
</dict>
<dict>
<key>Type</key>
<string>PSToggleSwitchSpecifier</string>
<string>PSMultiValueSpecifier</string>
<key>Title</key>
<string>SETTINGS_DEINTERLACE</string>
<key>Key</key>
<string>deinterlace</string>
<key>DefaultValue</key>
<false/>
<integer>-1</integer>
<key>Values</key>
<array>
<integer>1</integer>
<string>0</string>
<string>-1</string>
</array>
<key>Titles</key>
<array>
<string>SETTINGS_DEINTERLACE_ON</string>
<string>SETTINGS_DEINTERLACE_OFF</string>
<string>SETTINGS_DEINTERLACE_AUTO</string>
</array>
</dict>
<dict>
<key>Type</key>
......
......@@ -25,9 +25,6 @@
#import "UIViewController+VLCAlert.h"
#import "VLCFullscreenMovieTVViewController.h"
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[UIDevice currentDevice] systemVersion].floatValue >= [v floatValue])
#ifndef NDEBUG
#define APLog(format, ...) NSLog(format, ## __VA_ARGS__)
#else
......
......@@ -12,10 +12,9 @@
#import "VLCMDFBrowsingArtworkProvider.h"
#import "MetaDataFetcherKit.h"
@interface VLCMDFBrowsingArtworkProvider () <MDFMovieDBFetcherDataRecipient, MDFHatchetFetcherDataRecipient>
@interface VLCMDFBrowsingArtworkProvider () <MDFMovieDBFetcherDataRecipient>
{
MDFMovieDBFetcher *_tmdbFetcher;
MDFHatchetFetcher *_hatchetFetcher;
}
@end
......@@ -26,27 +25,16 @@
{
if (_tmdbFetcher) {
[_tmdbFetcher cancelAllRequests];
if (_hatchetFetcher)
[_hatchetFetcher cancelAllRequests];
} else {
_tmdbFetcher = [[MDFMovieDBFetcher alloc] init];
_tmdbFetcher.dataRecipient = self;
_tmdbFetcher.shouldDecrapifyInputStrings = YES;
if (_searchForAudioMetadata) {
_hatchetFetcher = [[MDFHatchetFetcher alloc] init];
_hatchetFetcher.dataRecipient = self;
}
}
}
- (void)setSearchForAudioMetadata:(BOOL)searchForAudioMetadata
{
if (searchForAudioMetadata) {
_hatchetFetcher = [[MDFHatchetFetcher alloc] init];
_hatchetFetcher.dataRecipient = self;
}
_searchForAudioMetadata = searchForAudioMetadata;
NSLog(@"there is currently no audio metadata fetcher :-(");
}
- (void)searchForArtworkForVideoRelatedString:(NSString *)string
......@@ -107,18 +95,11 @@
- (void)MDFMovieDBFetcher:(MDFMovieDBFetcher *)aFetcher didFailToFindMovieForSearchRequest:(NSString *)searchRequest
{
APLog(@"Failed to find a movie for '%@'", searchRequest);
if (_searchForAudioMetadata) {
[_hatchetFetcher searchForArtist:searchRequest];
}
}
- (void)MDFMovieDBFetcher:(MDFMovieDBFetcher *)aFetcher didFindTVShow:(MDFTVShow *)details forSearchRequest:(NSString *)searchRequest
{
if (details == nil) {
if (_searchForAudioMetadata) {
[_hatchetFetcher searchForArtist:searchRequest];
}
return;
}
......@@ -148,9 +129,6 @@
}
}
if (!imagePath) {
if (_searchForAudioMetadata) {
[_hatchetFetcher searchForArtist:searchRequest];
}
return;
}
......@@ -164,49 +142,6 @@
- (void)MDFMovieDBFetcher:(MDFMovieDBFetcher *)aFetcher didFailToFindTVShowForSearchRequest:(NSString *)searchRequest
{
APLog(@"failed to find TV show");
if (_searchForAudioMetadata) {
[_hatchetFetcher searchForArtist:searchRequest];
}
}
- (void)MDFHatchetFetcher:(MDFHatchetFetcher *)aFetcher didFindArtist:(MDFArtist *)artist forSearchRequest:(NSString *)searchRequest
{
/* we have no match */
if (!artist) {
[self _simplifyMetaDataSearchString:searchRequest];
return;
}
NSArray *imageURLStrings = artist.largeSizedImages;
NSString *imageURLString;
if (imageURLStrings.count > 0) {
imageURLString = imageURLStrings.firstObject;
} else {
imageURLStrings = artist.mediumSizedImages;
if (imageURLStrings.count > 0) {
imageURLString = imageURLStrings.firstObject;
}
}
if (imageURLString) {
self.artworkReceiver.thumbnailURL = [NSURL URLWithString:[NSString stringWithFormat:@"%@?height=300&width=250",imageURLString]];
} else {
[self _simplifyMetaDataSearchString:searchRequest];
}
}
- (void)MDFHatchetFetcher:(MDFHatchetFetcher *)aFetcher didFailToFindArtistForSearchRequest:(NSString *)searchRequest
{
[self _simplifyMetaDataSearchString:searchRequest];
}
- (void)_simplifyMetaDataSearchString:(NSString *)searchString
{
NSRange lastRange = [searchString rangeOfString:@" " options:NSBackwardsSearch];
if (lastRange.location != NSNotFound)
[_hatchetFetcher searchForArtist:[searchString substringToIndex:lastRange.location]];
}
@end
iOS 3.1.4:
-----------
· We adapted VLC for the new iPad Pro by adjusting the App and bringing external screen support and FaceID to our iPad Pro users
· We brought the double tap to fullscreen feature to all devices, while still letting you double tap to jump back or forward on the sides of the screen
· Multiple files selection is now possible with iCloud Drive
· Fixed an issue where you couldn't log into the app if you killed it while setting a passcode
tvOS 3.0.3:
-----------
· Fixed black screen when playing back Audio files
· Fixed that list of chapters wasn't shown when the info pane was first opened
· Fixed a bug where all chapters show the name of the first chapter
· Improved audio passthrough behavior
· Audio / Subtitles track selector now appears without pausing first
· Greatly improved hardware decoding performance for H.264 and H.265 (Apple TV 4K only)
· Fix playback issues with certain AVI, MP4 and MKV files
· Improved display of subtitles
iOS 3.1.3:
-----------
· Added Corsican language
· Fixed a crash when reordering files outside of folders
· The Media title is now always visible when streaming to an external display
· Various Stability improvements and bug fixes
iOS 3.1.2:
-----------
· Added an activity indicator for buffering
· The background setting to continue playback is ignored when external screens are used
· Sorting in folders gets saved correctly
· Fixed playback pausing once external output devices like bluetooth headphones are disconnected
· Deinterlacing is disabled by default now modern devices no longer support this, which led to high battery usage
· Stability improvements for the H264 and H265 decoder and Chromecasting
iOS 3.1.1:
-----------
· Fixed the swiping Gestures to change brightness and Volume
· Chromecasting is not stopping anymore when locking the device
· Fixed Video not being displayed over an external Screen via HDMI
· Fixed Audio not working after pausing and leaving the App
· Fixed opening external files in VLC or from the Files app
· Fixed an issue where songs where skipped when playing albums or playlists
· Better 360 video behavior when panning
iOS 3.1.0:
-----------
· We added a feature many of you waited for: Chromecast support
· We fixed a bug where files on your phone were not displayed in VLC
· 360 videos can be viewed by moving your phone now
· Stability and performance improvements when decoding H.264/H.265 in hardware
· Improved audio playback quality
· Fixed a regression preventing the download of certain media files via http
· Fixed a regression where downloaded files might disappear
· Fixed a regression where users couldn't log into Google Drive
tvOS 3.0.2:
-----------
· Fixes issues with not being able to resume playback
· Fixes issues with no subtitles after selection
iOS 3.0.3:
-----------
· Hitting play after backgrounding VLC is finally fixed
· Opening a txt file on iOS won't jump into VLC anymore (we obviously still support this subtitle format)
· Instead of a black screen, when opening certain HEVC files, we now have a playing video
· Fixes an issue were users were prompted to enter a passcode without ever setting one
· We also fixed multiple crashes
· Scrubbing in the lock screen was added
iOS 3.0.2:
-----------
· Fixes issues with TouchID and FaceID
· Fixes a crash when opening a Folder
tvOS 3.0.1:
----------
· Fixes a crash browsing files on local file servers
iOS 3.0.1:
-----------
· Fixes a crash browsing files on local file servers
· the "use TouchID setting" is now respected
· Fixes a crash when locking your UI on iPhone X
iOS 3.0.0:
-----------
· Added support for Drag and Drop
......
......@@ -46,6 +46,9 @@ Look at the memory and performance while playing a video
* Upload the binary and dsym to Hockeyapp so that we get crashreporting
* Tag the version
* Upload archive and ipa to incoming of ftp.videolan.org and ping jb, thresh or etix to move it to ftp://ftp.videolan.org/pub/videolan/vlc-iOS
ipa: archive > export > for App Store
source archive: git archive --format=tar.gz <tag> -o <tag>.tar.gz
source "https://rubygems.org"
gem 'fastlane', '2.82.0'
gem 'cocoapods', '1.4.0'
gem 'xcode-install', '2.3.1'
gem 'xcodeproj', '1.5.6'
GEM
remote: https://rubygems.org/
specs:
CFPropertyList (2.3.6)
activesupport (4.2.10)
i18n (~> 0.7)
minitest (~> 5.1)
thread_safe (~> 0.3, >= 0.3.4)
tzinfo (~> 1.1)
addressable (2.5.2)
public_suffix (>= 2.0.2, < 4.0)
atomos (0.1.2)
babosa (1.0.2)
claide (1.0.2)
cocoapods (1.4.0)
activesupport (>= 4.0.2, < 5)
claide (>= 1.0.2, < 2.0)
cocoapods-core (= 1.4.0)
cocoapods-deintegrate (>= 1.0.2, < 2.0)
cocoapods-downloader (>= 1.1.3, < 2.0)
cocoapods-plugins (>= 1.0.0, < 2.0)
cocoapods-search (>= 1.0.0, < 2.0)
cocoapods-stats (>= 1.0.0, < 2.0)
cocoapods-trunk (>= 1.3.0, < 2.0)
cocoapods-try (>= 1.1.0, < 2.0)
colored2 (~> 3.1)
escape (~> 0.0.4)
fourflusher (~> 2.0.1)
gh_inspector (~> 1.0)
molinillo (~> 0.6.4)
nap (~> 1.0)
ruby-macho (~> 1.1)
xcodeproj (>= 1.5.4, < 2.0)
cocoapods-core (1.4.0)
activesupport (>= 4.0.2, < 6)
fuzzy_match (~> 2.0.4)
nap (~> 1.0)
cocoapods-deintegrate (1.0.2)
cocoapods-downloader (1.1.3)
cocoapods-plugins (1.0.0)
nap
cocoapods-search (1.0.0)
cocoapods-stats (1.0.0)
cocoapods-trunk (1.3.0)
nap (>= 0.8, < 2.0)
netrc (~> 0.11)
cocoapods-try (1.1.0)
colored (1.2)
colored2 (3.1.2)
commander-fastlane (4.4.6)
highline (~> 1.7.2)
concurrent-ruby (1.0.5)
declarative (0.0.10)
declarative-option (0.1.0)
domain_name (0.5.20170404)
unf (>= 0.0.5, < 1.0.0)
dotenv (2.2.1)
escape (0.0.4)
excon (0.60.0)
faraday (0.14.0)
multipart-post (>= 1.2, < 3)
faraday-cookie_jar (0.0.6)
faraday (>= 0.7.4)
http-cookie (~> 1.0.0)
faraday_middleware (0.12.2)
faraday (>= 0.7.4, < 1.0)
fastimage (2.1.1)
fastlane (2.82.0)
CFPropertyList (>= 2.3, < 4.0.0)
addressable (>= 2.3, < 3.0.0)
babosa (>= 1.0.2, < 2.0.0)
bundler (>= 1.12.0, < 2.0.0)
colored
commander-fastlane (>= 4.4.6, < 5.0.0)
dotenv (>= 2.1.1, < 3.0.0)
excon (>= 0.45.0, < 1.0.0)
faraday (~> 0.9)
faraday-cookie_jar (~> 0.0.6)
faraday_middleware (~> 0.9)
fastimage (>= 2.1.0, < 3.0.0)
gh_inspector (>= 1.1.2, < 2.0.0)
google-api-client (>= 0.13.1, < 0.14.0)
highline (>= 1.7.2, < 2.0.0)
json (< 3.0.0)
mini_magick (~> 4.5.1)
multi_json
multi_xml (~> 0.5)
multipart-post (~> 2.0.0)
plist (>= 3.1.0, < 4.0.0)
public_suffix (~> 2.0.0)
rubyzip (>= 1.1.0, < 2.0.0)
security (= 0.1.3)
slack-notifier (>= 2.0.0, < 3.0.0)
terminal-notifier (>= 1.6.2, < 2.0.0)
terminal-table (>= 1.4.5, < 2.0.0)
tty-screen (>= 0.6.3, < 1.0.0)
tty-spinner (>= 0.8.0, < 1.0.0)
word_wrap (~> 1.0.0)
xcodeproj (>= 1.5.2, < 2.0.0)
xcpretty (>= 0.2.4, < 1.0.0)
xcpretty-travis-formatter (>= 0.0.3)
fourflusher (2.0.1)
fuzzy_match (2.0.4)
gh_inspector (1.1.2)
google-api-client (0.13.6)
addressable (~> 2.5, >= 2.5.1)
googleauth (~> 0.5)
httpclient (>= 2.8.1, < 3.0)
mime-types (~> 3.0)
representable (~> 3.0)
retriable (>= 2.0, < 4.0)
googleauth (0.6.2)
faraday (~> 0.12)
jwt (>= 1.4, < 3.0)
logging (~> 2.0)
memoist (~> 0.12)
multi_json (~> 1.11)
os (~> 0.9)
signet (~> 0.7)
highline (1.7.10)
http-cookie (1.0.3)
domain_name (~> 0.5)
httpclient (2.8.3)
i18n (0.9.5)
concurrent-ruby (~> 1.0)
json (2.1.0)
jwt (2.1.0)
little-plugger (1.1.4)
logging (2.2.2)
little-plugger (~> 1.1)
multi_json (~> 1.10)
memoist (0.16.0)
mime-types (3.1)
mime-types-data (~> 3.2015)
mime-types-data (3.2016.0521)
mini_magick (4.5.1)
minitest (5.11.3)
molinillo (0.6.4)
multi_json (1.13.1)
multi_xml (0.6.0)
multipart-post (2.0.0)
nanaimo (0.2.3)
nap (1.1.0)
netrc (0.11.0)
os (0.9.6)
plist (3.4.0)
public_suffix (2.0.5)
representable (3.0.4)
declarative (< 0.1.0)
declarative-option (< 0.2.0)
uber (< 0.2.0)
retriable (3.1.1)
rouge (2.0.7)
ruby-macho (1.1.0)
rubyzip (1.2.1)
security (0.1.3)
signet (0.8.1)
addressable (~> 2.3)
faraday (~> 0.9)
jwt (>= 1.5, < 3.0)
multi_json (~> 1.10)
slack-notifier (2.3.2)
terminal-notifier (1.8.0)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
thread_safe (0.3.6)
tty-cursor (0.5.0)
tty-screen (0.6.4)
tty-spinner (0.8.0)
tty-cursor (>= 0.5.0)
tzinfo (1.2.5)
thread_safe (~> 0.1)
uber (0.1.0)
unf (0.1.4)
unf_ext
unf_ext (0.0.7.5)
unicode-display_width (1.3.0)
word_wrap (1.0.0)
xcodeproj (1.5.6)
CFPropertyList (~> 2.3.3)
atomos (~> 0.1.2)
claide (>= 1.0.2, < 2.0)
colored2 (~> 3.1)
nanaimo (~> 0.2.3)
xcpretty (0.2.8)
rouge (~> 2.0.7)
xcpretty-travis-formatter (1.0.0)
xcpretty (~> 0.2, >= 0.0.7)
PLATFORMS
ruby
DEPENDENCIES
cocoapods (= 1.4.0)
fastlane (= 2.82.0)
BUNDLED WITH
1.16.1
source 'https://github.com/CocoaPods/Specs.git'
install! 'cocoapods', :deterministic_uuids => false
inhibit_all_warnings!
target 'VLC-iOS' do
platform :ios, '9.0'
def shared_pods
pod 'XKKeychain', '~>1.0'
pod 'box-ios-sdk-v2', :git => 'git://github.com/fkuehne/box-ios-sdk-v2.git' #has a logout function added
pod 'upnpx', '~>1.4.0'
pod 'CocoaHTTPServer', :git => 'git://github.com/fkuehne/CocoaHTTPServer.git' # has our fixes
pod 'VLC-WhiteRaccoon'
pod 'VLC-LiveSDK', '5.7.0x'
pod 'ObjectiveDropboxOfficial', :git => 'git://github.com/carolanitz/dropbox-sdk-obj-c.git' #update ios platform version
end
pod 'OBSlider', '1.1.0'
pod 'InAppSettingsKit', :git => 'git://github.com/fkuehne/InAppSettingsKit.git', :commit => '415ea6bb' #tvOS fix
pod 'upnpx', '~>1.4.0'
pod 'HockeySDK', '~>4.1.6', :subspecs => ['CrashOnlyLib']
pod 'XKKeychain', '~>1.0'
pod 'box-ios-sdk-v2', :git => 'git://github.com/fkuehne/box-ios-sdk-v2.git' #has a logout function added
pod 'CocoaHTTPServer', :git => 'git://github.com/fkuehne/CocoaHTTPServer.git' # has our fixes
pod 'RESideMenu', '~>4.0.7'
pod 'PAPasscode', '~>1.0'
pod 'GoogleAPIClient/Drive'
pod 'VLC-LXReorderableCollectionViewFlowLayout', '0.1.3v'
pod 'VLC-WhiteRaccoon'
pod 'VLC-LiveSDK', '5.7.0x'
pod 'MediaLibraryKit-unstable'
pod 'MobileVLCKit-unstable', '3.0.0a56'
pod 'GTMAppAuth'
pod 'ObjectiveDropboxOfficial', :git => 'git://github.com/carolanitz/dropbox-sdk-obj-c.git' #update ios platform version
def iOS_pods
pod 'OBSlider', '1.1.0'
pod 'InAppSettingsKit', :git => 'git://github.com/fkuehne/InAppSettingsKit.git', :commit => '415ea6bb' #tvOS fix
pod 'HockeySDK', '~>5.1.4', :subspecs => ['CrashOnlyLib']
pod 'RESideMenu', '~>4.0.7'
pod 'PAPasscode', '~>1.0'
pod 'GoogleAPIClient/Drive'
pod 'VLC-LXReorderableCollectionViewFlowLayout', '0.1.3v'
pod 'MediaLibraryKit-prod'
pod 'MobileVLCKit', '3.1.5'
pod 'GTMAppAuth'
end
target 'VLC-iOS-no-watch' do
platform :ios, '9.0'
target 'VLC-iOS' do
platform :ios, '9.0'
shared_pods
iOS_pods
end
pod 'OBSlider', '1.1.0'
pod 'InAppSettingsKit', :git => 'git://github.com/fkuehne/InAppSettingsKit.git', :commit => '415ea6bb' #tvOS fix
pod 'upnpx', '~>1.4.0'
pod 'HockeySDK', '~>4.1.6', :subspecs => ['CrashOnlyLib']
pod 'XKKeychain', '~>1.0'
pod 'box-ios-sdk-v2', :git => 'git://github.com/fkuehne/box-ios-sdk-v2.git' #has a logout function added
pod 'CocoaHTTPServer', :git => 'git://github.com/fkuehne/CocoaHTTPServer.git' # has our fixes
pod 'RESideMenu', '~>4.0.7'
pod 'PAPasscode', '~>1.0'
pod 'GoogleAPIClient/Drive'
pod 'VLC-LXReorderableCollectionViewFlowLayout', '0.1.3v'
pod 'VLC-WhiteRaccoon'
pod 'VLC-LiveSDK', '5.7.0x'
pod 'MediaLibraryKit-unstable'
pod 'MobileVLCKit-unstable', '3.0.0a56'
pod 'ObjectiveDropboxOfficial', :git => 'git://github.com/carolanitz/dropbox-sdk-obj-c.git' #update ios platform version
pod 'GTMAppAuth'
target 'VLC-iOS-no-watch' do
platform :ios, '9.0'
shared_pods
iOS_pods
end
target 'VLC-tvOS' do
platform :tvos, '10.2'
pod 'XKKeychain', '~>1.0'
pod 'box-ios-sdk-v2', :git => 'git://github.com/fkuehne/box-ios-sdk-v2.git' #has tvOS support added
pod 'upnpx', '~>1.4.0'
pod 'CocoaHTTPServer', :git => 'git://github.com/fkuehne/CocoaHTTPServer.git' # has our fixes
pod 'MetaDataFetcherKit', '~>0.1.8'
pod "OROpenSubtitleDownloader", :git => 'https://github.com/orta/OROpenSubtitleDownloader.git', :commit => '0509eac2'
pod 'GRKArrayDiff', '~> 2.1'
pod 'VLC-WhiteRaccoon'
pod 'VLC-LiveSDK', '5.7.0x'
pod 'ObjectiveDropboxOfficial', :git => 'git://github.com/carolanitz/dropbox-sdk-obj-c.git' #update ios platform version
pod 'HockeySDK-tvOS', '~>5.0.0'
pod 'TVVLCKit-unstable', '3.0.0a56'
platform :tvos, '10.2'
shared_pods
pod 'MetaDataFetcherKit', '~>0.3.1'
pod "OROpenSubtitleDownloader", :git => 'https://github.com/orta/OROpenSubtitleDownloader.git', :commit => '0509eac2'
pod 'GRKArrayDiff', '~> 2.1'
pod 'HockeySDK-tvOS', '~>5.1.0'
pod 'TVVLCKit', '3.1.5'
end
target 'VLC-watchOS-Extension' do
platform :watchos, '2.0'
pod 'MediaLibraryKit-unstable'
platform :watchos, '2.0'
pod 'MediaLibraryKit-unstable'
end
post_install do |installer_representation|
installer_representation.pods_project.targets.each do |target|
if target.name == 'VLC-watchOS-Extension'
installer_representation.pods_project.build_configurations.each do |config|
config.build_settings['SKIP_INSTALL'] = 'YES'
config.build_settings['CLANG_CXX_LIBRARY'] = 'libc++'
config.build_settings['VALID_ARCHS'] = 'armv7 armv7s arm64 i386 armv7k'
config.build_settings['ARCHS'] = 'armv7 armv7s arm64 i386 armv7k'
end
else
installer_representation.pods_project.build_configurations.each do |config|
config.build_settings['SKIP_INSTALL'] = 'YES'
config.build_settings['VALID_ARCHS'] = 'armv7 armv7s arm64 i386 armv7k'
config.build_settings['ARCHS'] = 'armv7 armv7s arm64 i386 armv7k'
config.build_settings['CLANG_CXX_LIBRARY'] = 'libc++'
end
installer_representation.pods_project.build_configurations.each do |config|
config.build_settings['SKIP_INSTALL'] = 'YES'
config.build_settings['CLANG_CXX_LIBRARY'] = 'libc++'
config.build_settings['VALID_ARCHS'] = 'armv7 armv7s arm64 i386 armv7k'
config.build_settings['ARCHS'] = 'armv7 armv7s arm64 i386 armv7k'
end
else
installer_representation.pods_project.build_configurations.each do |config|
config.build_settings['SKIP_INSTALL'] = 'YES'
config.build_settings['VALID_ARCHS'] = 'armv7 armv7s arm64 i386 armv7k'
config.build_settings['ARCHS'] = 'armv7 armv7s arm64 i386 armv7k'
config.build_settings['CLANG_CXX_LIBRARY'] = 'libc++'
end
end
end
end
......@@ -24,25 +24,27 @@ PODS:
- GoogleAPIClient/Drive (1.0.5):
- GoogleAPIClient/Core
- GTMSessionFetcher (~> 1.1)
- GRKArrayDiff (2.1)
- GRKArrayDiff (2.2.1)
- GTMAppAuth (0.7.0):
- AppAuth (~> 0.92.0)
- GTMSessionFetcher (~> 1.1)
- GTMSessionFetcher (1.1.13):
- GTMSessionFetcher/Full (= 1.1.13)
- GTMSessionFetcher/Core (1.1.13)
- GTMSessionFetcher/Full (1.1.13):
- GTMSessionFetcher/Core (= 1.1.13)
- HockeySDK-tvOS (5.0.0)
- HockeySDK/CrashOnlyLib (4.1.6)
- GTMSessionFetcher (1.2.0):
- GTMSessionFetcher/Full (= 1.2.0)
- GTMSessionFetcher/Core (1.2.0)
- GTMSessionFetcher/Full (1.2.0):
- GTMSessionFetcher/Core (= 1.2.0)
- HockeySDK-tvOS (5.1.0)
- HockeySDK/CrashOnlyLib (5.1.4)
- InAppSettingsKit (2.2.2)
- MediaLibraryKit-prod (2.6.6):
- MobileVLCKit (~> 3.1.0)
- MediaLibraryKit-unstable (2.6.5):
- MobileVLCKit-unstable (~> 3.0.0a8)
- MetaDataFetcherKit (0.1.8):
- MetaDataFetcherKit (0.3.1):
- AFNetworking (= 3.1.0)
- OROpenSubtitleDownloader
- MobileVLCKit-unstable (3.0.0a56)
- NSData+Base64 (1.0.0)
- MobileVLCKit (3.1.5)
- "NSData+Base64 (1.0.0)"
- ObjectiveDropboxOfficial (1.1)
- OBSlider (1.1.0)
- OROpenSubtitleDownloader (1.2.0):
......@@ -50,14 +52,14 @@ PODS:
- xmlrpc
- PAPasscode (1.0)
- RESideMenu (4.0.7)
- TVVLCKit-unstable (3.0.0a56)
- TVVLCKit (3.1.5)
- 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`)
......@@ -65,24 +67,51 @@ DEPENDENCIES:
- GoogleAPIClient/Drive
- GRKArrayDiff (~> 2.1)
- GTMAppAuth
- HockeySDK-tvOS (~> 5.0.0)
- HockeySDK/CrashOnlyLib (~> 4.1.6)
- HockeySDK-tvOS (~> 5.1.0)
- HockeySDK/CrashOnlyLib (~> 5.1.4)
- InAppSettingsKit (from `git://github.com/fkuehne/InAppSettingsKit.git`, commit `415ea6bb`)
- MediaLibraryKit-prod
- MediaLibraryKit-unstable
- MetaDataFetcherKit (~> 0.1.8)
- MobileVLCKit-unstable (= 3.0.0a56)
- MetaDataFetcherKit (~> 0.3.1)
- MobileVLCKit (= 3.1.5)
- 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-unstable (= 3.0.0a56)
- TVVLCKit (= 3.1.5)
- 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
......@@ -120,22 +149,23 @@ SPEC CHECKSUMS:
box-ios-sdk-v2: 9423bd75373350ea40b92f3d2d6e89f81d96d634
CocoaHTTPServer: 07df8b05a8bde406fe367d22c90a24a2fd4ca49f
GoogleAPIClient: 77df755d41d70ee5a99b7b752614fbb439f19438
GRKArrayDiff: cf743e6b30f6b72a3763e1f16cc5d9da39af86a5
GRKArrayDiff: 7522e374edcc55c1731a219e428847164b04cfab
GTMAppAuth: 8d724be29ab8f2f6d35b2bf929d76340c9d1f1b1
GTMSessionFetcher: 5bb1eae636127de695590f50e7d248483eb891e6
HockeySDK: 95db557d54489a570dcdefae0d02f98eecc279a3
HockeySDK-tvOS: 6b2a69f86419ebaf23225f59a64e5761ed3a0d8a
GTMSessionFetcher: 0c4baf0a73acd0041bf9f71ea018deedab5ea84e
HockeySDK: 15afe6bc0a5bfe3a531fd73dbf082095f37dac3b
HockeySDK-tvOS: 62e86233bfa7356c5ac5cd946816d1ca0e9033f6
InAppSettingsKit: 76d5cfbaa3e3f8aa53fe3628516da7eb1aa6a5cb
MediaLibraryKit-prod: 87d856c2f5cc46da9596e5da57c97190f6216682
MediaLibraryKit-unstable: aaf147005a2e024ed2f4c45440bfcc19225ca776
MetaDataFetcherKit: 44c90defa89b3a72cef60e07ad9de37821dd7c5d
MobileVLCKit-unstable: 970a43f97af623c4c1d0b9fb4f0d56ac48b21f2c
NSData+Base64: 4e84902c4db907a15673474677e57763ef3903e4
MetaDataFetcherKit: d1d61b061bf74268aaffb6bf08a70396672163df
MobileVLCKit: 4d44e56380d0ee41c76f9ec7015d3a4b62a963a3
"NSData+Base64": 4e84902c4db907a15673474677e57763ef3903e4
ObjectiveDropboxOfficial: e11cdf40e8965a6c24c6d6ff64905f2df43ab653
OBSlider: 490f108007bfdd5414a38650b211fe403a95b8a0
OROpenSubtitleDownloader: 154b8c08acbf8836b77ac259018dc8b5baef907e
PAPasscode: b408fb87c530cad58a554e26482e87dbb14b7bc2
RESideMenu: f24c508404b49c667344c54aba7e590883533958
TVVLCKit-unstable: cee6dd81fbb0af080dc439dd9859db51869fd2f1
TVVLCKit: 3449ff8cbf37946c53aa6240788842657456fc6e
upnpx: c695b99229e08154d23abe5c252cb64f1600f35d
VLC-LiveSDK: c9566a9edde968f969138f84cfd40b540a109b3f
VLC-LXReorderableCollectionViewFlowLayout: 0204946967b746ca183835e854826290be06e2f4
......@@ -143,6 +173,6 @@ SPEC CHECKSUMS:
XKKeychain: 852ef663c56a7194c73d3c68e8d9d4f07b121d4f
xmlrpc: 109bb21d15ed6d108b2c1ac5973a6a223a50f5f4
PODFILE CHECKSUM: e03f45114ee07cf57464697d7158e798adc5e3dc
PODFILE CHECKSUM: 1fd603142c46d3c4fbe3109f7a1f53352883ae98
COCOAPODS: 1.3.1
COCOAPODS: 1.5.3
# VLC iOS
# VLC for iOS & tvOS
The best open source player ported to iOS!
This repository has the source code of VLC for iOS and tvOS application.
This repository has the source code of the iOS/AppleTV application and mostly the interface.
It's currently written in Objective-C / Swift and uses [VLCKit](https://code.videolan.org/videolan/VLCKit), a libvlc wrapper.
It's currently written in Obj-C and uses libVLC for the playback.
- [Requirements](#requirements)
- [Building](#building)
- [VLC-iOS](#vlc-ios)
- [Custom VLCKit](#custom-vlckit)
- [Contribute](#contribute)
- [Communication](#communication)
- [Forum](#forum)
- [Issues](#issues)
- [IRC](#irc)
- [Code of Conduct](#code-of-conduct)
- [License](#license)
- [More](#more)
It's completely open source.
## Requirements
* Xcode 9.0+
* macOS 10.12+
* Cocoapods 1.4+
# How to start development for VLC for iOS:
## Building
### VLC-iOS
1. Run `pod install`.
2. Open `VLC.xcworkspace`.
3. Hit "Build and Run".
### Custom VLCkit
Mostly for debugging or advanced users, you might want to have a custom local VLCKit build.
1. Clone VLCKit:
`git clone https://code.videolan.org/videolan/VLCKit.git`
2. Inside the VLCKit folder, run the following command:
`./buildMobileVLCKit.sh -a ${MYARCH}`
## Requirements
* Xcode 7.0 or later
* OS X 10.10 or later
* Command Line Tools package: https://developer.apple.com/downloads/
* Cocoapods 1.0 or later
## Let's compile!
1. Run ```pod update```
2. Open `VLC for iOS.xcworkspace`.
3. Change `BUNDLE_IDENTIFIER_PREFIX` in `SharedConfig.xcconfig` to your domain name in reverse DNS style.
4. Hit "Build and Run".
## Compile with your own VLCKit build
1. Clone a VLCKit repository: `git clone https://code.videolan.org/videolan/VLCKit.git`
2. Inside the VLCKit folder, run the following command: `./buildMobileVLCKit.sh -a ${MYARCH}`
MYARCH can be `i386` `x86_64` `armv7` `armv7s` or `aarch64`.
Add `-d` for a debug build (to have valid stack straces and asserts).
Add `-n` if you want to use you own VLC repository for VLCKit (See VLCKit README.md).
3. Replace the MobileVLCKit.framework with the one you just build.
Inside your vlc-ios folder, after a `podate update`, do:
`cd Pods/MobileVLCKit-unstable/MobileVLCKit-binary`
`rm -rf MobileVLCKit.framework`
`ln -s ${VLCKit}/build/MobileVLCKit.framework`
4. Hit "Build and Run".
4. Hit "Build and Run.
## Contribute
### Pull request
Pull request are more then welcome! If you do submit one, please make sure to use a descriptive title and description.
### Gitlab issues
You can look through issues we currently have on the [VideoLAN Gitlab](https://code.videolan.org/videolan/vlc-ios/issues).
A [beginner friendly](https://code.videolan.org/videolan/vlc-ios/issues?label_name%5B%5D=Beginner+friendly) tag is available if you don't know where to start.
## Communication
### Forum
If you have any question or you're not sure it's an issue please visit our [forum](https://forum.videolan.org/).
### Issues
You have encountered an issue and wish to report it to the VLC dev team?
You can create an issue on our [Gitlab](https://code.videolan.org/videolan/vlc-ios/issues) or on our [bug tracker](https://trac.videolan.org/vlc/).
Before creating an issue or ticket, please double check of duplicates!
### IRC
Want to quickly get in touch with us for a question, or even just to talk?
## Errors you might encounter on the way
You will always find someone of the VLC team on IRC, __#videolan__ channel on the freenode network.
### Build errors in Xcode
For VLC-iOS specific questions you can find us on __#vlc-ios__.
Are you sure you opened the workspace?
We use cocoapods and it creates a workspace with all the integrated libraries.
Chances are you opened the project file.
If you don't have an IRC client, you can always use the [freenode webchat](https://webchat.freenode.net/).
If you have opened the workspace and still get errors you should check out the Notes section
## Code of Conduct
## Submitting A Patch
Please read and follow the [VideoLAN CoC](https://wiki.videolan.org/Code_of_Conduct/).
So you added some code and are ready to contribute your commits but you don't see a way to make a pull request?
Soo *cough* we work with patches and Mailinglists like any good open source project!
## License
You should take a look at this: https://wiki.videolan.org/Sending_Patches_VLC/ but finally send the patch to ios@videolan.org.
VLC-iOS is under the GPLv2 (or later) and the MPLv2 license.
Also, if you haven't yet, you might want to subscribe to this mailinglist: https://mailman.videolan.org/listinfo/ios
See [COPYING](./COPYING) for more license info.
## Notes
## More
For everything else, check: https://wiki.videolan.org/IOSCompile/
or look here: http://www.videolan.org/support/
For fast replies, IRC is probably the best way. We hang out in the #videolan channel on the freenode network. There is also a web interface: http://webchat.freenode.net/
For everything else, check our [wiki](https://wiki.videolan.org/) or our [support page](http://www.videolan.org/support/).
We're happy to help!
......@@ -25,10 +25,10 @@
</tr>
</table>
</p>
<p align="center">Copyright &copy; 2013-2018 VideoLAN and authors<br /><br />Written by <a href="http://about.me/fkuehne">Felix Paul Kühne</a>, <a href="http://github.com/toco">Tobias Conradi</a>, <a href="http://twitter.com/gpinigin">Gleb Pinigin</a>, <a href="http://twitter.com/iTarax">Pierre Sagaspe</a>, <a href="http://about.me/carolanitz">Carola Nitz</a>, <a href="https://github.com/thehungrybu">Soomin Lee</a>, <a href="http://jbkempf.com">Jean-Baptiste Kempf</a>, <a href="http://taplightsoftware.com">Marc Etcheverry</a>, <br />with additions by Vincent L. Cone, David Loiret, Benjamin Adolphi, <a href="http://www.tamastimar.com">Tam&aacute;s T&iacute;m&aacute;r</a>, Shenghan Chen, Martin Storsjö, Filipe Cabecinhas, Thomas Guillem, Alessio Pollero, Christoph Miebach, Diego Fernando Nieto, Christopher Loessl, Fabio Ritrovato, Kevin Chromik, Sylver Bruneau, David Fuhrmann, Ulrich Trampe, Ron Soffer, Riccardo Angius, Adam Viaud, Ahmad Harb, Dean Lee, Jörg Bleyel, Kai Neuwerth, Konstantin Pavlov, Luis Fernandes, Shai Shamir, Steven Kabbes, Tim Byrne and Winston Weinert.<br /><br />Web Interface by <a href="http://ailleurs.me">Jean-Romain Pr&eacute;vost</a>.</p>
<p align="center">Copyright &copy; 2013-2018 VideoLAN and authors<br /><br />Written by <a href="http://about.me/fkuehne">Felix Paul Kühne</a>, <a href="https://www.carolanitz.com/">Carola Nitz</a>, <a href="http://github.com/toco">Tobias Conradi</a>, <a href="http://twitter.com/iTarax">Pierre Sagaspe</a>, <a href="http://twitter.com/gpinigin">Gleb Pinigin</a>, <a href="https://github.com/Mikanbu">Soomin Lee</a>, <a href="http://jbkempf.com">Jean-Baptiste Kempf</a>, <a href="http://taplightsoftware.com">Marc Etcheverry</a>, <br />with additions by David Cordero, Vincent L. Cone, David Loiret, Benjamin Adolphi, Thomas Guillem, <a href="http://www.tamastimar.com">Tam&aacute;s T&iacute;m&aacute;r</a>, Mike JS. Choi, Shenghan Chen, Victor Gama, Martin Storsjö, Filipe Cabecinhas, Alessio Pollero, Richard Soderberg, Christoph Miebach, Diego Fernando Nieto, Christopher Loessl, Fabio Ritrovato, Kevin Chromik, Sylver Bruneau, David Fuhrmann, Adrien Maglo, Ulrich Trampe, Ron Soffer, Riccardo Angius, Adam Viaud, Ahmad Harb, Dean Lee, Jörg Bleyel, Kai Neuwerth, Konstantin Pavlov, Luis Fernandes, Shai Shamir, Steven Kabbes, Tim Byrne, Cameron Mozie, Pavel Akhrameev and Winston Weinert.<br /><br />Web Interface by <a href="http://ailleurs.me">Jean-Romain Pr&eacute;vost</a>.</p>
<p align="center">Application Design by <a href="http://erambert.me">Damien Erambert</a>. Tutorial graphics by Freya Lindhorst.</p>
<p align="center">We would like to thank the following people for tests, ideas and translations:<br />
Phan Anh, Helena Arndt, Andriy Bandura, Luca Barbato, Ana Coronel, Keiji Costantini, Ludovic Fauvet, Roberto Ferraro, David González, Marián Hikaník, Christian Kosim, Alexander Lakhin, Freya Lindhorst, Adrien Maglo, Fumio Nakayama, Savvas Nesseris, Ilkka Ollakka, Alexandre Perraud, Vincenzo Reale, Anton Regnander, Thomas De Rocker, Mario Siegmann, Yaron Shahrabani, Michał Trzebiatowski, Kaya Zeren, Transifex VLC project team<br />
Phan Anh, Helena Arndt, Andriy Bandura, Luca Barbato, Ana Coronel, Keiji Costantini, Ludovic Fauvet, Roberto Ferraro, David González, Marián Hikaník, Christian Kosim, Alexander Lakhin, Freya Lindhorst, Fumio Nakayama, Savvas Nesseris, Ilkka Ollakka, Alexandre Perraud, Vincenzo Reale, Anton Regnander, Thomas De Rocker, Mario Siegmann, Yaron Shahrabani, Michał Trzebiatowski, Kaya Zeren, Transifex VLC project team<br />
<br />
... as well as <a href="https://twitter.com/pdherbemont">Pierre d'Herbemont</a>.</p>
<p align="center">This application is fully open-source. You can get its sources <a href="http://www.videolan.org/vlc/download-ios.html">online</a> and modify or redistribute them under the conditions of its licenses.<br />
......@@ -51,7 +51,7 @@ Copyright &copy; 2014, Box, Inc. - <a href="#apache2">Apache 2 License</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://github.com/robbiehanson/CocoaHTTPServer">CocoaHTTPServer</a><br />
Copyright &copy; 2011, Deusty, LLC - <a href="#bsd2clause">2-clause BSD License</a><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://github.com/TheHungryBu/dropbox-sdk-obj-c">Dropbox for Objective-C</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://github.com/carolanitz/dropbox-sdk-obj-c">Dropbox for Objective-C</a><br />
Copyright &copy; 2015-2017 Dropbox Inc. - <a href="#mit">MIT License</a><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://github.com/romaonthego/RESideMenu">RESideMenu</a><br />
......
......@@ -25,6 +25,7 @@
"ONE_SPU_TRACK" = "One subtitles track";
"PLAYING_EXTERNALLY_TITLE" = "TV Connected";
"PLAYING_EXTERNALLY_TITLE_CHROMECAST" = "Chromecast Connected";
"PLAYING_EXTERNALLY_DESC" = "This video is playing on the TV";
"VFILTER_HUE" = "Hue";
......@@ -72,6 +73,9 @@
"PRIVATE_PLAYBACK_TOGGLE" = "Private Playback";
"SCAN_SUBTITLE_TOGGLE" = "Scan for Subtitles (http-only)";
"BUTTON_RENDERER" = "Casting devices";
"BUTTON_RENDERER_HINT" = "Show a menu of available casting devices";
"UPGRADING_LIBRARY" = "Upgrading Media Library";
"UNTITLED_SHOW" = "Untitled Show";
"UNKNOWN" = "Unknown";
......@@ -99,6 +103,7 @@
"ERROR_NUMBER" = "Error %i occured";
"DOWNLOAD_FAILED" = "Download failed";
"FILE_NOT_SUPPORTED" = "File format not supported";
"FILE_NOT_SUPPORTED_LONG" = "The file format used by %@ is not supported by this version of VLC for iOS.";
"SCHEME_NOT_SUPPORTED" = "Address scheme not supported";
"SCHEME_NOT_SUPPORTED_LONG" = "The address scheme (%@) is not supported. Please use an address starting with HTTP, HTTPS or FTP.";
"LIBRARY_ALL_FILES" = "All Files";
......@@ -130,6 +135,7 @@
"SHARING_SUCCESS_CAMERA_ROLL" = "File was successfully saved to the Camera Roll";
"SECTION_HEADER_LIBRARY" = "Media Library";
"HEADER_TITLE_RENDERER" = "Select a casting device";
"SECTION_HEADER_NETWORK" = "Network";
"LOCAL_NETWORK" = "Local Network";
......@@ -319,6 +325,8 @@
"BONJOUR_FILE_SERVERS" = "BONJOUR File Server";
"DSM_WORKGROUP" = "Workgroup";
"URL_NOT_SUPPORTED" = "The URL can't be opened";
// Insert %@ where play-pause-glyph should be placed
"DELETE_ITEM_HINT" = "Press %@ to Delete"; /* Insert %@ where play-pause-glyph should be placed */
......@@ -329,3 +337,5 @@
/* New strings */
"Settings" = "Settings";
"ERROR" = "Error";
"OK" = "Ok";
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14460.31" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="uI9-tl-L4i">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14460.20"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--Navigation Controller-->
<scene sceneID="CYP-6r-fiq">
<objects>
<navigationController id="uI9-tl-L4i" sceneMemberID="viewController">
<navigationBar key="navigationBar" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" id="SdV-kr-mmU">
<rect key="frame" x="0.0" y="20" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<color key="barTintColor" red="1" green="0.53333333329999999" blue="0.0" alpha="0.59999999999999998" colorSpace="custom" customColorSpace="displayP3"/>
</navigationBar>
<connections>
<segue destination="4Ht-sK-31E" kind="relationship" relationship="rootViewController" id="34w-GB-xG6"/>
</connections>
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="gDG-eH-OOQ" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-451" y="298"/>
</scene>
<!--View Controller-->
<scene sceneID="hwJ-fo-U5B">
<objects>
<viewController id="4Ht-sK-31E" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="fUV-Cm-0Ob">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="0.12" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<viewLayoutGuide key="safeArea" id="Zv1-f0-1pc"/>
</view>
<navigationItem key="navigationItem" id="HhM-mz-MzV"/>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="7cO-QZ-wP7" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="431" y="297"/>
</scene>
</scenes>
</document>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="7531" systemVersion="14D131" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES">
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7520"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<view contentMode="scaleToFill" id="iN0-l3-epB">
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<view alpha="0.94999999999999996" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="08f-KG-S7V">
<rect key="frame" x="0.0" y="0.0" width="600" height="65"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="1000" verticalHuggingPriority="1000" image="title.png" translatesAutoresizingMaskIntoConstraints="NO" id="6ra-lX-N7Q">
<rect key="frame" x="281" y="30" width="39" height="19"/>
</imageView>
</subviews>
<color key="backgroundColor" red="1" green="0.51764705879999995" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="height" constant="65" id="Nv3-Z9-t13"/>
<constraint firstAttribute="centerX" secondItem="6ra-lX-N7Q" secondAttribute="centerX" constant="-0.5" id="e1x-na-svf"/>
<constraint firstAttribute="centerY" secondItem="6ra-lX-N7Q" secondAttribute="centerY" constant="-7" id="rfq-Oh-VgN"/>
</constraints>
</view>
</subviews>
<color key="backgroundColor" white="0.12" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="08f-KG-S7V" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" id="8rT-by-3db"/>
<constraint firstAttribute="trailing" secondItem="08f-KG-S7V" secondAttribute="trailing" id="RBf-zK-fpO"/>
<constraint firstItem="08f-KG-S7V" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" id="wvd-SD-NaR"/>
</constraints>
<nil key="simulatedStatusBarMetrics"/>
<point key="canvasLocation" x="404" y="445"/>
</view>
</objects>
<resources>
<image name="title.png" width="39" height="19"/>
</resources>
</document>
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14113" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
<capability name="Alignment constraints with different attributes" minToolsVersion="5.1"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>