Skip to content

Commit

Permalink
Adding video play duration for camera roll
Browse files Browse the repository at this point in the history
Reviewed By: zjj010104

Differential Revision: D5427454

fbshipit-source-id: 49b9fb2acf8f5093257780c927720776f3fae286
  • Loading branch information
Nivetha Singara Vadivelu authored and facebook-github-bot committed Jul 15, 2017
1 parent cb9b266 commit 636a21b
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 0 deletions.
3 changes: 3 additions & 0 deletions Libraries/CameraRoll/CameraRoll.js
Expand Up @@ -88,6 +88,9 @@ const getPhotosReturnChecker = createStrictShapeTypeChecker({
height: PropTypes.number.isRequired, height: PropTypes.number.isRequired,
width: PropTypes.number.isRequired, width: PropTypes.number.isRequired,
isStored: PropTypes.bool, isStored: PropTypes.bool,
// TODO (nivethavadivelu) Need to add changes to Android before
// setting it as required
playableDuration: PropTypes.number,
}).isRequired, }).isRequired,
timestamp: PropTypes.number.isRequired, timestamp: PropTypes.number.isRequired,
location: createStrictShapeTypeChecker({ location: createStrictShapeTypeChecker({
Expand Down
6 changes: 6 additions & 0 deletions Libraries/CameraRoll/RCTCameraRollManager.m
Expand Up @@ -187,6 +187,11 @@ static void RCTResolvePromise(RCTPromiseResolveBlock resolve,
CLLocation *loc = [result valueForProperty:ALAssetPropertyLocation]; CLLocation *loc = [result valueForProperty:ALAssetPropertyLocation];
NSDate *date = [result valueForProperty:ALAssetPropertyDate]; NSDate *date = [result valueForProperty:ALAssetPropertyDate];
NSString *filename = [result defaultRepresentation].filename; NSString *filename = [result defaultRepresentation].filename;
int64_t duration = 0;
if ([[result valueForProperty:ALAssetPropertyType] isEqualToString:ALAssetTypeVideo]) {
duration = [[result valueForProperty:ALAssetPropertyDuration] intValue];
}

[assets addObject:@{ [assets addObject:@{
@"node": @{ @"node": @{
@"type": [result valueForProperty:ALAssetPropertyType], @"type": [result valueForProperty:ALAssetPropertyType],
Expand All @@ -197,6 +202,7 @@ static void RCTResolvePromise(RCTPromiseResolveBlock resolve,
@"height": @(dimensions.height), @"height": @(dimensions.height),
@"width": @(dimensions.width), @"width": @(dimensions.width),
@"isStored": @YES, @"isStored": @YES,
@"playableDuration": @(duration),
}, },
@"timestamp": @(date.timeIntervalSince1970), @"timestamp": @(date.timeIntervalSince1970),
@"location": loc ? @{ @"location": loc ? @{
Expand Down

0 comments on commit 636a21b

Please sign in to comment.