summaryrefslogtreecommitdiff
path: root/SmartDeviceLink/SDLStreamingMediaConfiguration.h
diff options
context:
space:
mode:
authorJoel Fischer <joeljfischer@gmail.com>2017-08-30 15:21:44 -0400
committerJoel Fischer <joeljfischer@gmail.com>2017-08-30 15:21:44 -0400
commita11fe4aa4747ddebddc8c1f97ec7baebd9042914 (patch)
tree317daf2fe3ad97c4c3f17a715c9de4e079ecd57d /SmartDeviceLink/SDLStreamingMediaConfiguration.h
parent4a117bb0a0e42be31cea320670f1c8588c40b92e (diff)
downloadsdl_ios-a11fe4aa4747ddebddc8c1f97ec7baebd9042914.tar.gz
In progress updates for video service control payloads
* Add initializers to `SDLImageResolution` and `SDLVideoStreamingFormat` structs * Fix abstract protocol startService methods not permitting nil payloads * Fix some documentation on SDLHMICapabilities * Navigation and projection apps now attempt to start streaming on HMI_FULL automatically * Added a streaming media data source protocol developers may implement to alter default runtime behavior, settable in the streaming media configuration * The streaming media manager now takes the full configuration instead of just the data it needs. This expands forward compatibility. * Consolodated `audioStreamingSupported` and `videoStreamingSupported` into `streamingSupported` because you can’t have one without the other * Turned the SMM start block into a hard type and changed it’s naming to “readyHandler” to match the lifecycle manager * In-progress altering of SMM lifecycle to handle pulling capabilities, passing start service parameters and handling retries with alternate settings
Diffstat (limited to 'SmartDeviceLink/SDLStreamingMediaConfiguration.h')
-rw-r--r--SmartDeviceLink/SDLStreamingMediaConfiguration.h26
1 files changed, 16 insertions, 10 deletions
diff --git a/SmartDeviceLink/SDLStreamingMediaConfiguration.h b/SmartDeviceLink/SDLStreamingMediaConfiguration.h
index 033ce6ea3..3877721e2 100644
--- a/SmartDeviceLink/SDLStreamingMediaConfiguration.h
+++ b/SmartDeviceLink/SDLStreamingMediaConfiguration.h
@@ -9,6 +9,7 @@
#import <Foundation/Foundation.h>
#import "SDLStreamingMediaManagerConstants.h"
+#import "SDLStreamingMediaManagerDataSource.h"
@protocol SDLSecurityType;
@@ -33,6 +34,18 @@ NS_ASSUME_NONNULL_BEGIN
@property (copy, nonatomic, nullable) NSDictionary<NSString *, id> *customVideoEncoderSettings;
/**
+ Usable to change run time video stream setup behavior. Only use this and modify the results if you *really* know what you're doing. The head unit defaults are generally good.
+ */
+@property (weak, nonatomic, nullable) id<SDLStreamingMediaManagerDataSource> dataSource;
+
+/**
+ Create an insecure video streaming configuration. No security managers will be provided and the encryption flag will be set to None. If you'd like custom video encoder settings, you can set the property manually.
+
+ @return The configuration
+ */
+- (instancetype)init;
+
+/**
Manually set all the properties to the streaming media configuration
@param securityManagers The security managers to use or nil for none.
@@ -40,7 +53,7 @@ NS_ASSUME_NONNULL_BEGIN
@param videoSettings Custom video encoder settings to be used in video streaming.
@return The configuration
*/
-- (instancetype)initWithSecurityManagers:(NSArray<Class<SDLSecurityType>> *_Nullable)securityManagers encryptionFlag:(SDLStreamingEncryptionFlag)encryptionFlag videoSettings:(NSDictionary<NSString *, id> *_Nullable)videoSettings;
+- (instancetype)initWithSecurityManagers:(NSArray<Class<SDLSecurityType>> *_Nullable)securityManagers encryptionFlag:(SDLStreamingEncryptionFlag)encryptionFlag videoSettings:(NSDictionary<NSString *, id> *_Nullable)videoSettings dataSource:(nullable id<SDLStreamingMediaManagerDataSource>)dataSource;
/**
Create a secure configuration for each of the security managers provided.
@@ -48,7 +61,7 @@ NS_ASSUME_NONNULL_BEGIN
@param securityManagers The security managers to be used. The encryption flag will be set to AuthenticateAndEncrypt if any security managers are set.
@return The configuration
*/
-- (instancetype)initSecureConfigurationWithSecurityManagers:(NSArray<Class<SDLSecurityType>> *)securityManagers;
+- (instancetype)initWithSecurityManagers:(NSArray<Class<SDLSecurityType>> *)securityManagers;
/**
Create a secure configuration for each of the security managers provided.
@@ -63,14 +76,7 @@ NS_ASSUME_NONNULL_BEGIN
@return The configuration
*/
-- (instancetype)initInsecureConfiguration;
-
-/**
- Create an insecure video streaming configuration. No security managers will be provided and the encryption flag will be set to None. If you'd like custom video encoder settings, you can set the property manually.
-
- @return The configuration
- */
-+ (instancetype)insecureConfiguration;
++ (instancetype)insecureConfiguration NS_SWIFT_UNAVAILABLE("Use the standard initializer instead");
@end