Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement SDL 0179 - Pixel density and Scale #1401

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
6d00081
Adding new properties 'pixel', 'density' and 'scale' in 'SDLVideoStre…
lnafarrateluxoft Jul 23, 2019
addae68
Accessing SDLVideoStreamingCapability from SDLCarWindow, to apply cha…
lnafarrateluxoft Jul 23, 2019
a115a48
Calculating the correct coordinates by dividing the incoming coords w…
lnafarrateluxoft Jul 25, 2019
4e5b88c
Fixing tests for new changes in implementation for 'Pixel density and…
lnafarrateluxoft Jul 25, 2019
6f46e1e
Adding Unit Tests for Pixel density and Scale proposal.
lnafarrateluxoft Jul 25, 2019
e4a8547
Merge remote-tracking branch 'upstream/develop' into feature/pixel_de…
lnafarrateluxoft Jul 25, 2019
05ed747
Fixing unit tests.
lnafarrateluxoft Jul 25, 2019
f138bd5
Merge remote-tracking branch 'upstream/develop' into feature/0179_pix…
lnafarrateluxoft Aug 5, 2019
fcf51e3
Addressing comment in PR to copy OnTouchEvent before modification.
lnafarrateluxoft Aug 5, 2019
d499eff
Merge remote-tracking branch 'upstream/develop' into feature/0179_pix…
lnafarrateluxoft Aug 9, 2019
31d9165
Fixing video frame dimensions, applying scale. Now video frame and vi…
lnafarrateluxoft Aug 9, 2019
505ca7f
Merge remote-tracking branch 'upstream/develop' into feature/0179_pix…
lnafarrateluxoft Aug 26, 2019
4cd321e
Addressing comments in PR.
lnafarrateluxoft Aug 27, 2019
a0a3269
update Travis script (sdk-ios12.2)
yLeonid Sep 12, 2019
b04a22b
fixing warnings in Tests (wrong or incompatible data types)
yLeonid Sep 12, 2019
3b3d553
fixing 6 errors in Tests (expanded macro in SDLStreamingVideoLifecycl…
yLeonid Sep 12, 2019
eb85bd2
fixing warnings in Tests (wrong or incompatible data types)
yLeonid Sep 13, 2019
abcc998
hot fix SDLTouchManagerSpec (FIXIT: SDLTouchManager must unsubscribe …
yLeonid Sep 13, 2019
7e1ffcb
tmp: try to fix SDLTouchManagerSpec
yLeonid Sep 13, 2019
e55dfb0
tmp fixed SDLStreamingVideoLifecycleManagerSpec
yLeonid Sep 13, 2019
7600d81
update if statement using early return as proposed at:
yLeonid Sep 13, 2019
91b30ce
update CarWindow and TouchManager to use scale from StreamingVideoLif…
yLeonid Sep 13, 2019
8f0dca9
update private property of tested class in test to meet its declaration
yLeonid Sep 13, 2019
c551769
update scale in SDLVideoStreamingCapability.m, it can be nil
yLeonid Sep 13, 2019
046c0b9
update SDLVideoStreamingCapabilitySpec tests as requested
yLeonid Sep 13, 2019
9c94d3e
fixing warnings in Tests (wrong or incompatible data types)
yLeonid Sep 12, 2019
4e35c82
fixing warnings in Tests (wrong or incompatible data types)
yLeonid Sep 13, 2019
f26c4d8
update if statement using early return as proposed at:
yLeonid Sep 14, 2019
3aa7be8
hot fix SDLTouchManagerSpec (FIXIT: SDLTouchManager must unsubscribe …
yLeonid Sep 14, 2019
c8a9e5e
update SDLVideoStreamingCapabilitySpec tests as requested
yLeonid Sep 14, 2019
476234e
update scale in SDLVideoStreamingCapability.m, it can be nil
yLeonid Sep 14, 2019
ec2e1ba
Prepare merge into DEVELOP : Merge branch 'feature/0179_pixel_density…
yLeonid Sep 17, 2019
a8b54df
apply code review comments @NicoleYarroch :
yLeonid Sep 18, 2019
01262e2
fix test cases with test review comments @NicoleYarroch :
yLeonid Sep 18, 2019
4feb98d
fix review comments in SDLTouchManagerSpec
yLeonid Sep 19, 2019
17a73f9
fix a review comment @NicoleYarroch
yLeonid Sep 19, 2019
6bf3478
Replace Travis script with its version from develop branch 0e7d70b8
yLeonid Sep 20, 2019
53bf335
Merge branch '0179_pixel_density_and_scale' into develop, fix conflic…
yLeonid Sep 20, 2019
a32f571
Merge branch 'develop' of https://github.com/smartdevicelink/sdl_ios …
yLeonid Sep 23, 2019
e944477
Update SmartDeviceLink/SDLVideoStreamingCapability.h
yLeonid Sep 24, 2019
46ed0f0
0179_pixel_density_and_scale: handle haptic rectangles frames in Focu…
yLeonid Sep 24, 2019
47551a8
SDL 0179 - Pixel density and Scale : update SDLCarWindow and SDLFocus…
yLeonid Sep 27, 2019
8a4cdff
SDL 0179 - Pixel density and Scale : add scale property for SDLCarWin…
yLeonid Sep 27, 2019
9baffbb
0179_pixel_density_and_scale: add CGGeometry extensions for CGRect an…
yLeonid Sep 29, 2019
39dac48
0179_pixel_density_and_scale: fix FocusableItemLocator : scale the re…
yLeonid Sep 29, 2019
a86b539
0179_pixel_density_and_scale: update CGGeometry+SDL
yLeonid Sep 29, 2019
7ae5a2e
0179_pixel_density_and_scale : fix UI tests for HapticManager aka SDL…
yLeonid Sep 29, 2019
2fd9e09
0179_pixel_density_and_scale : discard fallen test
yLeonid Sep 29, 2019
710ad4f
0179_pixel_density_and_scale_v2 : minor update in CGGeometry+SDL
yLeonid Sep 30, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions SmartDeviceLink-iOS.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -1512,6 +1512,8 @@
9FE2471522D77AD500F8D2FC /* SDLWindowType.h in Headers */ = {isa = PBXBuildFile; fileRef = 9FE2471322D77AD500F8D2FC /* SDLWindowType.h */; settings = {ATTRIBUTES = (Public, ); }; };
9FE2471622D77AD500F8D2FC /* SDLWindowType.m in Sources */ = {isa = PBXBuildFile; fileRef = 9FE2471422D77AD500F8D2FC /* SDLWindowType.m */; };
9FE2471922D77AED00F8D2FC /* SDLPredefinedWindows.h in Headers */ = {isa = PBXBuildFile; fileRef = 9FE2471722D77AED00F8D2FC /* SDLPredefinedWindows.h */; settings = {ATTRIBUTES = (Public, ); }; };
B3BC36FC2340C63500485E64 /* CGGeometry+SDL.h in Headers */ = {isa = PBXBuildFile; fileRef = B3BC36FA2340C63500485E64 /* CGGeometry+SDL.h */; settings = {ATTRIBUTES = (Public, ); }; };
B3BC36FD2340C63500485E64 /* CGGeometry+SDL.m in Sources */ = {isa = PBXBuildFile; fileRef = B3BC36FB2340C63500485E64 /* CGGeometry+SDL.m */; };
DA0C46AD1DCD35080001F2A8 /* SDLRPCParameterNames.m in Sources */ = {isa = PBXBuildFile; fileRef = DA0C46AC1DCD35080001F2A8 /* SDLRPCParameterNames.m */; };
DA0C46AF1DCD41E30001F2A8 /* SDLMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = DA0C46AE1DCD41E30001F2A8 /* SDLMacros.h */; settings = {ATTRIBUTES = (Public, ); }; };
DA318C1F1DD0F06C00C035AC /* NSMutableDictionary+Store.h in Headers */ = {isa = PBXBuildFile; fileRef = DA318C1D1DD0F06C00C035AC /* NSMutableDictionary+Store.h */; };
Expand Down Expand Up @@ -3237,6 +3239,8 @@
9FE2471322D77AD500F8D2FC /* SDLWindowType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDLWindowType.h; sourceTree = "<group>"; };
9FE2471422D77AD500F8D2FC /* SDLWindowType.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDLWindowType.m; sourceTree = "<group>"; };
9FE2471722D77AED00F8D2FC /* SDLPredefinedWindows.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDLPredefinedWindows.h; sourceTree = "<group>"; };
B3BC36FA2340C63500485E64 /* CGGeometry+SDL.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "CGGeometry+SDL.h"; sourceTree = "<group>"; };
B3BC36FB2340C63500485E64 /* CGGeometry+SDL.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "CGGeometry+SDL.m"; sourceTree = "<group>"; };
BB3C600D221AEF37007DD4CA /* NSMutableDictionary+StoreSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = "NSMutableDictionary+StoreSpec.m"; path = "DevAPISpecs/NSMutableDictionary+StoreSpec.m"; sourceTree = "<group>"; };
DA0C46AC1DCD35080001F2A8 /* SDLRPCParameterNames.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLRPCParameterNames.m; sourceTree = "<group>"; };
DA0C46AE1DCD41E30001F2A8 /* SDLMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDLMacros.h; sourceTree = "<group>"; };
Expand Down Expand Up @@ -6382,6 +6386,8 @@
E9C32B9B1AB20C5900F283AF /* EAAccessoryManager+SDLProtocols.m */,
DA318C1D1DD0F06C00C035AC /* NSMutableDictionary+Store.h */,
DA318C1E1DD0F06C00C035AC /* NSMutableDictionary+Store.m */,
B3BC36FA2340C63500485E64 /* CGGeometry+SDL.h */,
B3BC36FB2340C63500485E64 /* CGGeometry+SDL.m */,
);
name = "@categories";
sourceTree = "<group>";
Expand Down Expand Up @@ -6413,6 +6419,7 @@
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
B3BC36FC2340C63500485E64 /* CGGeometry+SDL.h in Headers */,
9F425AD222DD980200BE3245 /* SDLWindowCapability.h in Headers */,
9F425ADA22DD983500BE3245 /* SDLDisplayCapability.h in Headers */,
9F425ACE22DD97DE00BE3245 /* SDLTemplateConfiguration.h in Headers */,
Expand Down Expand Up @@ -7390,6 +7397,7 @@
5D61FC791A84238C00846EE7 /* SDLDeleteFileResponse.m in Sources */,
5D3E48801D6F88A30000BFEF /* SDLRPCNotificationNotification.m in Sources */,
DAC572581D1067270004288B /* SDLTouchManager.m in Sources */,
B3BC36FD2340C63500485E64 /* CGGeometry+SDL.m in Sources */,
5D61FC641A84238C00846EE7 /* SDLClusterModeStatus.m in Sources */,
5DB9965D1F268F97002D8795 /* SDLControlFramePayloadVideoStartService.m in Sources */,
5D61FCF91A84238C00846EE7 /* SDLMenuParams.m in Sources */,
Expand Down
43 changes: 43 additions & 0 deletions SmartDeviceLink/CGGeometry+SDL.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
//
// CGGeometry+SDL.h
// SmartDeviceLink
//
// Created by Leonid Lokhmatov on 9/29/19.
// Copyright © 2018 Luxoft. All rights reserved
//

#import <CoreGraphics/CGGeometry.h>

/**
@abstract
creates a new scaled rect
@param
rect the source rect
@param
scale the scale factor
@return
a new rect scaled by the @scale factor
*/
CGRect CGRectScale(CGRect rect, float scale);

/**
@abstract
creates a new scaled point
@param
point the source point
@param
scale the scale factor
@return
a new point scaled by the @scale factor
*/
CGPoint CGPointScale(CGPoint point, float scale);

/**
@abstract
creates a new point which is the center point of the rect
@param
rect the source rect
@return
a new point at the center of the rect
*/
CGPoint CGRectGetCenterPoint(CGRect rect);
32 changes: 32 additions & 0 deletions SmartDeviceLink/CGGeometry+SDL.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
//
// CGGeometry+SDL.c
// SmartDeviceLink
//
// Created by Leonid Lokhmatov on 9/29/19.
// Copyright © 2018 Luxoft. All rights reserved
//

#import "CGGeometry+SDL.h"

CGRect CGRectScale(CGRect rect, float scale) {
if (1.f >= scale) {
return rect;
}
const CGFloat s = scale;
return CGRectMake(CGRectGetMinX(rect) * s,
CGRectGetMinY(rect) * s,
CGRectGetWidth(rect) * s,
CGRectGetHeight(rect) * s);
}

CGPoint CGPointScale(CGPoint point, float scale) {
if (1.f >= scale) {
return point;
}
const CGFloat s = scale;
return CGPointMake(point.x * s, point.y * s);
}

CGPoint CGRectGetCenterPoint(CGRect rect) {
return CGPointMake(CGRectGetMidX(rect), CGRectGetMidY(rect));
}
20 changes: 19 additions & 1 deletion SmartDeviceLink/SDLCarWindow.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,20 @@ NS_ASSUME_NONNULL_BEGIN
@param configuration The streaming media configuration
@return An instance of this class
*/
- (instancetype)initWithStreamManager:(SDLStreamingVideoLifecycleManager *)streamManager configuration:(SDLStreamingMediaConfiguration *)configuration;
- (instancetype)initWithStreamManager:(SDLStreamingVideoLifecycleManager *)streamManager
configuration:(SDLStreamingMediaConfiguration *)configuration;

/**
Initialize the CarWindow automatic streamer.

@param streamManager The stream manager to use for retrieving head unit dimension details and forwarding video frame data
@param configuration The streaming media configuration
@param scale The scale factor value to scale coordinates from one coordinate space to another
@return An instance of this class
*/
- (instancetype)initWithStreamManager:(SDLStreamingVideoLifecycleManager *)streamManager
configuration:(nonnull SDLStreamingMediaConfiguration *)configuration
scale:(float)scale;

/**
* View Controller that will be streamed.
Expand All @@ -33,6 +46,11 @@ NS_ASSUME_NONNULL_BEGIN

- (void)syncFrame;

/**
the scale factor value
*/
@property (assign, nonatomic) float scale;

@end

NS_ASSUME_NONNULL_END
25 changes: 21 additions & 4 deletions SmartDeviceLink/SDLCarWindow.m
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
#import <CommonCrypto/CommonDigest.h>
#import <ImageIO/ImageIO.h>
#import <MobileCoreServices/MobileCoreServices.h>
#import <simd/simd.h>

#import "SDLCarWindow.h"
#import "SDLGlobals.h"
Expand Down Expand Up @@ -41,10 +42,18 @@ @interface SDLCarWindow ()

@implementation SDLCarWindow

- (instancetype)initWithStreamManager:(SDLStreamingVideoLifecycleManager *)streamManager configuration:(nonnull SDLStreamingMediaConfiguration *)configuration {
- (instancetype)initWithStreamManager:(SDLStreamingVideoLifecycleManager *)streamManager
configuration:(nonnull SDLStreamingMediaConfiguration *)configuration {
return [self initWithStreamManager:streamManager configuration:configuration scale:1.f];
}

- (instancetype)initWithStreamManager:(SDLStreamingVideoLifecycleManager *)streamManager
configuration:(nonnull SDLStreamingMediaConfiguration *)configuration
scale:(float)scale {
self = [super init];
if (!self) { return nil; }

[self setScale:scale];
_streamManager = streamManager;
_renderingType = configuration.carWindowRenderingType;
_allowMultipleOrientations = configuration.allowMultipleViewControllerOrientations;
Expand All @@ -71,7 +80,7 @@ - (void)syncFrame {
return;
}

CGRect bounds = self.rootViewController.view.bounds;
CGRect bounds = self.sdl_getScaledScreenSizeFrame;

UIGraphicsBeginImageContextWithOptions(bounds.size, YES, 1.0f);
switch (self.renderingType) {
Expand Down Expand Up @@ -120,13 +129,17 @@ - (void)sdl_didReceiveVideoStreamStarted:(NSNotification *)notification {

dispatch_async(dispatch_get_main_queue(), ^{
// If the video stream has started, we want to resize the streamingViewController to the size from the RegisterAppInterface
self.rootViewController.view.frame = CGRectMake(0, 0, self.streamManager.screenSize.width, self.streamManager.screenSize.height);
self.rootViewController.view.frame = self.sdl_getScaledScreenSizeFrame;
self.rootViewController.view.bounds = self.rootViewController.view.frame;

SDLLogD(@"Video stream started, setting CarWindow frame to: %@", NSStringFromCGRect(self.rootViewController.view.bounds));
});
}

- (CGRect)sdl_getScaledScreenSizeFrame {
return CGRectMake(0, 0, self.streamManager.screenSize.width / self.scale, self.streamManager.screenSize.height / self.scale);
}

- (void)sdl_didReceiveVideoStreamStopped:(NSNotification *)notification {
self.videoStreamStarted = false;

Expand Down Expand Up @@ -161,6 +174,10 @@ - (void)setRootViewController:(nullable UIViewController *)rootViewController {
});
}

- (void)setScale:(float)scale {
_scale = simd_clamp(scale, 1.f, 10.f);
}

#pragma mark - Private Helpers
+ (nullable CVPixelBufferRef)sdl_pixelBufferForImageRef:(CGImageRef)imageRef usingPool:(CVPixelBufferPoolRef)pool {
size_t imageWidth = CGImageGetWidth(imageRef);
Expand Down
29 changes: 21 additions & 8 deletions SmartDeviceLink/SDLFocusableItemLocator.m
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
//

#import <Foundation/Foundation.h>
#import <simd/simd.h>
yLeonid marked this conversation as resolved.
Show resolved Hide resolved

#import "SDLFocusableItemLocator.h"
#import "SDLLogMacros.h"
Expand All @@ -14,6 +15,7 @@
#import "SDLHapticRect.h"
#import "SDLSendHapticData.h"
#import "SDLTouch.h"
#import "CGGeometry+SDL.h"

NS_ASSUME_NONNULL_BEGIN

Expand All @@ -28,17 +30,21 @@ @interface SDLFocusableItemLocator()
reference to SDLConnectionManager
*/
@property (nonatomic, weak) id<SDLConnectionManagerType> connectionManager;

@end


@implementation SDLFocusableItemLocator

- (instancetype)initWithViewController:(UIViewController *)viewController connectionManager:(id<SDLConnectionManagerType>)connectionManager {
@synthesize scale = _scale;

- (instancetype)initWithViewController:(UIViewController *)viewController connectionManager:(id<SDLConnectionManagerType>)connectionManager scale:(float)scale {
self = [super init];
if(!self) {
return nil;
}

_scale = simd_clamp(scale, 1.f, 10.f);
_viewController = viewController;
_connectionManager = connectionManager;
_enableHapticDataRequests = NO;
Expand Down Expand Up @@ -107,10 +113,11 @@ - (void)sdl_sendHapticRPC {
NSMutableArray<SDLHapticRect *> *hapticRects = [[NSMutableArray alloc] init];

for (UIView *view in self.focusableViews) {
CGPoint originOnScreen = [self.viewController.view convertPoint:view.frame.origin toView:nil];
CGRect convertedRect = {originOnScreen, view.bounds.size};
SDLRectangle* rect = [[SDLRectangle alloc] initWithCGRect:(convertedRect)];
const CGPoint originOnScreen = [self.viewController.view convertPoint:view.frame.origin toView:nil];
const CGRect convertedRect = {originOnScreen, view.bounds.size};
SDLRectangle* rect = [[SDLRectangle alloc] initWithCGRect:CGRectScale(convertedRect, self.scale)];
// using the view index as the id field in SendHapticData request (should be guaranteed unique)
//TODO: the index aka rectId is already known no need to look it up once again
NSUInteger rectId = [self.focusableViews indexOfObject:view];
SDLHapticRect *hapticRect = [[SDLHapticRect alloc] initWithId:(UInt32)rectId rect:rect];
[hapticRects addObject:hapticRect];
Expand All @@ -129,12 +136,11 @@ - (nullable UIView *)viewForPoint:(CGPoint)point {
CGPoint localPoint = [view convertPoint:point fromView:self.viewController.view];
if ([view pointInside:localPoint withEvent:nil]) {
if (selectedView != nil) {
selectedView = nil;
break;
return nil;
//the point has been indentified in two views. We cannot identify which with confidence.
} else {
selectedView = view;
}

selectedView = view;
}
}

Expand All @@ -157,6 +163,13 @@ - (void)sdl_projectionViewUpdated:(NSNotification *)notification {
}
}

- (void)setScale:(float)scale {
if (_scale != scale) {
_scale = scale;
[self updateInterfaceLayout];
}
}

@end

NS_ASSUME_NONNULL_END
7 changes: 6 additions & 1 deletion SmartDeviceLink/SDLFocusableItemLocatorType.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,18 @@ NS_ASSUME_NONNULL_BEGIN
@param viewController UIViewController to be checked for focusable views
@param connectionManager Object of a class that implements ConnectionManagerType. This is used for RPC communication.
*/
- (instancetype)initWithViewController:(UIViewController *)viewController connectionManager:(id<SDLConnectionManagerType>)connectionManager;
- (instancetype)initWithViewController:(UIViewController *)viewController connectionManager:(id<SDLConnectionManagerType>)connectionManager scale:(float)scale;

/**
updateInterfaceLayout crawls through the view hierarchy, updates and keep tracks of views to be reported through Haptic RPC. This function is automatically called when SDLDidUpdateProjectionView notification is sent by the application.
*/
- (void)updateInterfaceLayout;

/**
the scale factor value
*/
@property (assign, nonatomic) float scale;

@end

NS_ASSUME_NONNULL_END
3 changes: 3 additions & 0 deletions SmartDeviceLink/SDLRPCParameterNames.h
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,7 @@ extern SDLRPCParameterName const SDLRPCParameterNameDestinationETA;
extern SDLRPCParameterName const SDLRPCParameterNameDetails;
extern SDLRPCParameterName const SDLRPCParameterNameDeviceInfo;
extern SDLRPCParameterName const SDLRPCParameterNameDeviceStatus;
extern SDLRPCParameterName const SDLRPCParameterNameDiagonalScreenSize;
extern SDLRPCParameterName const SDLRPCParameterNameDialNumberEnabled;
extern SDLRPCParameterName const SDLRPCParameterNameDIDLocation;
extern SDLRPCParameterName const SDLRPCParameterNameDIDResult;
Expand Down Expand Up @@ -460,6 +461,7 @@ extern SDLRPCParameterName const SDLRPCParameterNamePhoneCall;
extern SDLRPCParameterName const SDLRPCParameterNamePhoneCapability;
extern SDLRPCParameterName const SDLRPCParameterNamePhoneNumber;
extern SDLRPCParameterName const SDLRPCParameterNamePhoneRoaming;
extern SDLRPCParameterName const SDLRPCParameterNamePixelPerInch;
extern SDLRPCParameterName const SDLRPCParameterNamePlaylistName;
extern SDLRPCParameterName const SDLRPCParameterNamePlayTone;
extern SDLRPCParameterName const SDLRPCParameterNamePosition;
Expand Down Expand Up @@ -534,6 +536,7 @@ extern SDLRPCParameterName const SDLRPCParameterNameRPM;
extern SDLRPCParameterName const SDLRPCParameterNameRadioText;
extern SDLRPCParameterName const SDLRPCParameterNameSamplingRate;
extern SDLRPCParameterName const SDLRPCParameterNameSatellites;
extern SDLRPCParameterName const SDLRPCParameterNameScale;
extern SDLRPCParameterName const SDLRPCParameterNameScreenParams;
extern SDLRPCParameterName const SDLRPCParameterNameScrollableMessageBody;
extern SDLRPCParameterName const SDLRPCParameterNameSDLVersion;
Expand Down
3 changes: 3 additions & 0 deletions SmartDeviceLink/SDLRPCParameterNames.m
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,7 @@
SDLRPCParameterName const SDLRPCParameterNameDeviceInfo = @"deviceInfo";
SDLRPCParameterName const SDLRPCParameterNameDeviceStatus = @"deviceStatus";
SDLRPCParameterName const SDLRPCParameterNameDetails = @"details";
SDLRPCParameterName const SDLRPCParameterNameDiagonalScreenSize = @"diagonalScreenSize";
SDLRPCParameterName const SDLRPCParameterNameDialNumberEnabled = @"dialNumberEnabled";
SDLRPCParameterName const SDLRPCParameterNameDIDLocation = @"didLocation";
SDLRPCParameterName const SDLRPCParameterNameDIDResult = @"didResult";
Expand Down Expand Up @@ -454,6 +455,7 @@
SDLRPCParameterName const SDLRPCParameterNamePhoneCapability = @"phoneCapability";
SDLRPCParameterName const SDLRPCParameterNamePhoneNumber = @"phoneNumber";
SDLRPCParameterName const SDLRPCParameterNamePhoneRoaming = @"phoneRoaming";
SDLRPCParameterName const SDLRPCParameterNamePixelPerInch = @"pixelPerInch";
SDLRPCParameterName const SDLRPCParameterNamePrimaryColor = @"primaryColor";
SDLRPCParameterName const SDLRPCParameterNamePlaylistName = @"playlistName";
SDLRPCParameterName const SDLRPCParameterNamePlayTone = @"playTone";
Expand Down Expand Up @@ -529,6 +531,7 @@
SDLRPCParameterName const SDLRPCParameterNameRadioText = @"RT";
SDLRPCParameterName const SDLRPCParameterNameSamplingRate = @"samplingRate";
SDLRPCParameterName const SDLRPCParameterNameSatellites = @"satellites";
SDLRPCParameterName const SDLRPCParameterNameScale = @"scale";
SDLRPCParameterName const SDLRPCParameterNameScreenParams = @"screenParams";
SDLRPCParameterName const SDLRPCParameterNameScrollableMessageBody = @"scrollableMessageBody";
SDLRPCParameterName const SDLRPCParameterNameSDLVersion = @"sdlVersion";
Expand Down
2 changes: 2 additions & 0 deletions SmartDeviceLink/SDLStreamingVideoLifecycleManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
@class SDLStateMachine;
@class SDLStreamingMediaConfiguration;
@class SDLTouchManager;
@class SDLVideoStreamingCapability;

@protocol SDLConnectionManagerType;
@protocol SDLFocusableItemLocatorType;
Expand All @@ -35,6 +36,7 @@ NS_ASSUME_NONNULL_BEGIN

@property (strong, nonatomic, readonly) SDLStateMachine *videoStreamStateMachine;
@property (strong, nonatomic, readonly) SDLVideoStreamManagerState *currentVideoStreamState;
@property (nullable, strong, nonatomic, readonly) SDLVideoStreamingCapability *videoStreamingCapability;

@property (strong, nonatomic, readonly) SDLStateMachine *appStateMachine;
@property (strong, nonatomic, readonly) SDLAppState *currentAppState;
Expand Down
Loading