summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXavi Artigas <xartigas@fluendo.com>2013-05-22 10:51:05 (GMT)
committerXavi Artigas <xartigas@fluendo.com>2013-05-22 10:51:35 (GMT)
commit72b7f3f2a21e91a8dd5662d229e1bdc56d876062 (patch)
tree68c4dcf6af6fe178c725b70a9e45a988d239b0da
parent1db12234ad6c23ac25626c7817ca20384c31b6aa (diff)
downloadgst-sdk-tutorials-72b7f3f2a21e91a8dd5662d229e1bdc56d876062.tar.gz
gst-sdk-tutorials-72b7f3f2a21e91a8dd5662d229e1bdc56d876062.tar.xz
Add Photo Library items to iOS Tutorial 5
-rw-r--r--gst-sdk/tutorials/xcode iOS/Tutorial 5/LibraryViewController.h1
-rw-r--r--gst-sdk/tutorials/xcode iOS/Tutorial 5/LibraryViewController.m56
-rw-r--r--gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.c6
3 files changed, 52 insertions, 11 deletions
diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/LibraryViewController.h b/gst-sdk/tutorials/xcode iOS/Tutorial 5/LibraryViewController.h
index db18bfa..6950b19 100644
--- a/gst-sdk/tutorials/xcode iOS/Tutorial 5/LibraryViewController.h
+++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/LibraryViewController.h
@@ -2,6 +2,7 @@
@interface LibraryViewController : UITableViewController
{
+ NSArray *libraryEntries;
NSArray *mediaEntries;
NSArray *onlineEntries;
}
diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/LibraryViewController.m b/gst-sdk/tutorials/xcode iOS/Tutorial 5/LibraryViewController.m
index e0ec124..f1aead5 100644
--- a/gst-sdk/tutorials/xcode iOS/Tutorial 5/LibraryViewController.m
+++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/LibraryViewController.m
@@ -1,5 +1,6 @@
#import "LibraryViewController.h"
#import "VideoViewController.h"
+#import <AssetsLibrary/AssetsLibrary.h>
@interface LibraryViewController ()
@@ -23,14 +24,15 @@
static NSString *CellIdentifier = @"CellIdentifier";
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
- return 2;
+ return 3;
}
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
switch (section)
{
- case 0: return @"Local files (iTunes file sharing)";
+ case 0: return @"Photo library";
+ case 1: return @"iTunes file sharing";
default: return @"Online files";
}
}
@@ -38,8 +40,10 @@ static NSString *CellIdentifier = @"CellIdentifier";
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
switch (section) {
case 0:
- return [self->mediaEntries count];
+ return [self->libraryEntries count];
case 1:
+ return [self->mediaEntries count];
+ case 2:
return [self->onlineEntries count];
default:
return 0;
@@ -52,13 +56,15 @@ static NSString *CellIdentifier = @"CellIdentifier";
UILabel *title = (UILabel *)[cell.contentView viewWithTag:10];
UILabel *subtitle = (UILabel *)[cell.contentView viewWithTag:11];
- if(indexPath.section == 0)
- {
- subtitle.text = [NSString stringWithFormat:@"file://%@",
- [self->mediaEntries objectAtIndex:indexPath.item], nil];
- } else if (indexPath.section == 1)
- {
- subtitle.text = [self->onlineEntries objectAtIndex:indexPath.item];
+ switch (indexPath.section) {
+ case 0: subtitle.text = [self->libraryEntries objectAtIndex:indexPath.item];
+ break;
+ case 1: subtitle.text = [self->mediaEntries objectAtIndex:indexPath.item];
+ break;
+ case 2: subtitle.text = [self->onlineEntries objectAtIndex:indexPath.item];
+ break;
+ default:
+ break;
}
NSArray *components = [subtitle.text pathComponents];
@@ -91,13 +97,41 @@ static NSString *CellIdentifier = @"CellIdentifier";
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSAllDomainsMask, YES);
NSString *docsPath = [paths objectAtIndex:0];
+ /* Entries from the Photo Library */
NSMutableArray *entries = [[NSMutableArray alloc] init];
+ ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
+ [library enumerateGroupsWithTypes:ALAssetsGroupAll
+ usingBlock:^(ALAssetsGroup *group, BOOL *stop)
+ {
+ if (group) {
+ [group enumerateAssetsUsingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop)
+ {
+ if(result) {
+ [entries addObject:[NSString stringWithFormat:@"%@",[result valueForProperty:ALAssetPropertyAssetURL]]];
+ *stop = NO;
+
+ }
+ }];
+ } else {
+ [self.tableView reloadData];
+ }
+ }
+ failureBlock:^(NSError *error)
+ {
+ NSLog(@"ERROR");
+ }
+ ];
+ self->libraryEntries = entries;
+
+ /* Retrieve entries from iTunes file sharing */
+ entries = [[NSMutableArray alloc] init];
for (NSString *e in [[NSFileManager defaultManager] contentsOfDirectoryAtPath:docsPath error:nil])
{
- [entries addObject:[NSString stringWithFormat:@"%@/%@",docsPath, e]];
+ [entries addObject:[NSString stringWithFormat:@"file://%@/%@", docsPath, e]];
}
self->mediaEntries = entries;
+ /* Hardcoded list of Online media files */
entries = [[NSMutableArray alloc] init];
// Big Buck Bunny
diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.c b/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.c
index e60564a..ce2dd36 100644
--- a/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.c
+++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.c
@@ -138,6 +138,9 @@ GST_PLUGIN_STATIC_DECLARE(eglglessink);
#if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS)
GST_PLUGIN_STATIC_DECLARE(applemedia_nonpublic);
#endif
+#if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS)
+GST_PLUGIN_STATIC_DECLARE(applemedia);
+#endif
#if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS)
GST_PLUGIN_STATIC_DECLARE(libvisual);
#endif
@@ -639,6 +642,9 @@ gst_ios_init (void)
#if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS)
GST_PLUGIN_STATIC_REGISTER(applemedia_nonpublic);
#endif
+#if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS)
+ GST_PLUGIN_STATIC_REGISTER(applemedia);
+#endif
#if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS)
GST_PLUGIN_STATIC_REGISTER(libvisual);
#endif