summaryrefslogtreecommitdiff
path: root/docs/Classes/SDLStreamingMediaManager.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/Classes/SDLStreamingMediaManager.html')
-rw-r--r--docs/Classes/SDLStreamingMediaManager.html335
1 files changed, 182 insertions, 153 deletions
diff --git a/docs/Classes/SDLStreamingMediaManager.html b/docs/Classes/SDLStreamingMediaManager.html
index 2ebb4b0b2..879455738 100644
--- a/docs/Classes/SDLStreamingMediaManager.html
+++ b/docs/Classes/SDLStreamingMediaManager.html
@@ -3,25 +3,25 @@
<h3>Section Contents</h3>
<ul>
- <li><a href="#section-videoSessionConnected">videoSessionConnected</a></li>
- <li><a href="#section-audioSessionConnected">audioSessionConnected</a></li>
- <li><a href="#section-videoSessionEncrypted">videoSessionEncrypted</a></li>
- <li><a href="#section-audioSessionEncrypted">audioSessionEncrypted</a></li>
<li><a href="#section-touchManager">touchManager</a></li>
- <li><a href="#section-videoEncoderSettings">videoEncoderSettings</a></li>
- <li><a href="#section-displayCapabilties">displayCapabilties</a></li>
- <li><a href="#section-defaultVideoEncoderSettings">defaultVideoEncoderSettings</a></li>
+ <li><a href="#section-focusableItemManager">focusableItemManager</a></li>
+ <li><a href="#section-streamingSupported">streamingSupported</a></li>
+ <li><a href="#section-videoConnected">videoConnected</a></li>
+ <li><a href="#section-videoEncrypted">videoEncrypted</a></li>
+ <li><a href="#section-audioConnected">audioConnected</a></li>
+ <li><a href="#section-audioEncrypted">audioEncrypted</a></li>
+ <li><a href="#section-videoStreamingPaused">videoStreamingPaused</a></li>
<li><a href="#section-screenSize">screenSize</a></li>
+ <li><a href="#section-videoFormat">videoFormat</a></li>
+ <li><a href="#section-supportedFormats">supportedFormats</a></li>
<li><a href="#section-pixelBufferPool">pixelBufferPool</a></li>
- <li><a href="#section--initWithProtocol:">-initWithProtocol:</a></li>
- <li><a href="#section--initWithProtocol:displayCapabilities:">-initWithProtocol:displayCapabilities:</a></li>
- <li><a href="#section--startVideoSessionWithStartBlock:">-startVideoSessionWithStartBlock:</a></li>
- <li><a href="#section--startVideoSessionWithTLS:startBlock:">-startVideoSessionWithTLS:startBlock:</a></li>
- <li><a href="#section--stopVideoSession">-stopVideoSession</a></li>
+ <li><a href="#section-requestedEncryptionType">requestedEncryptionType</a></li>
+ <li><a href="#section--init">-init</a></li>
+ <li><a href="#section--initWithConnectionManager:configuration:">-initWithConnectionManager:configuration:</a></li>
+ <li><a href="#section--startWithProtocol:">-startWithProtocol:</a></li>
+ <li><a href="#section--stop">-stop</a></li>
<li><a href="#section--sendVideoData:">-sendVideoData:</a></li>
- <li><a href="#section--startAudioSessionWithStartBlock:">-startAudioSessionWithStartBlock:</a></li>
- <li><a href="#section--startAudioSessionWithTLS:startBlock:">-startAudioSessionWithTLS:startBlock:</a></li>
- <li><a href="#section--stopAudioSession">-stopAudioSession</a></li>
+ <li><a href="#section--sendVideoData:presentationTimestamp:">-sendVideoData:presentationTimestamp:</a></li>
<li><a href="#section--sendAudioData:">-sendAudioData:</a></li>
</ul>
@@ -31,133 +31,155 @@
<section class="section task-group-section">
- <h3 id="section-videoSessionConnected">
- videoSessionConnected
+ <h3 id="section-touchManager">
+ touchManager
</h3>
- <p>Undocumented</p>
+ <p>Touch Manager responsible for providing touch event notifications.</p>
+ <h4>Objective-C</h4>
+ <pre class="highlight"><code><span class="k">@property</span> <span class="p">(</span><span class="n">readonly</span><span class="p">,</span> <span class="n">strong</span><span class="p">,</span> <span class="n">nonatomic</span><span class="p">)</span> <span class="n"><a href="../Classes/SDLTouchManager.html">SDLTouchManager</a></span> <span class="o">*</span><span class="n">_Nonnull</span> <span class="n">touchManager</span><span class="p">;</span></code></pre>
+
+
+ <h4>Swift</h4>
+ <pre class="highlight"><code><span class="k">var</span> <span class="nv">touchManager</span><span class="p">:</span> <span class="kt"><a href="../Classes/SDLTouchManager.html">SDLTouchManager</a></span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
+
- <h3 id="section-audioSessionConnected">
- audioSessionConnected
+ <h3 id="section-focusableItemManager">
+ focusableItemManager
</h3>
- <p>Undocumented</p>
+ <p>A haptic interface that can be updated to reparse views within the window you&rsquo;ve provided. Send a <code><a href="../Constants.html#/c:@SDLDidUpdateProjectionView">SDLDidUpdateProjectionView</a></code> notification or call the <code>updateInterfaceLayout</code> method to reparse. The <q>output</q> of this haptic interface occurs in the <code><a href="../Classes/SDLStreamingMediaManager.html#/c:objc(cs)SDLStreamingMediaManager(py)touchManager">touchManager</a></code> property where it will call the delegate.</p>
+ <h4>Objective-C</h4>
+ <pre class="highlight"><code><span class="k">@property</span> <span class="p">(</span><span class="n">readonly</span><span class="p">,</span> <span class="n">strong</span><span class="p">,</span> <span class="n">nonatomic</span><span class="p">,</span> <span class="n">nullable</span><span class="p">)</span> <span class="n">id</span><span class="o">&lt;</span><span class="n">SDLFocusableItemLocatorType</span><span class="o">&gt;</span>
+ <span class="n">focusableItemManager</span><span class="p">;</span></code></pre>
+
- <h3 id="section-videoSessionEncrypted">
- videoSessionEncrypted
+
+ <h3 id="section-streamingSupported">
+ streamingSupported
</h3>
- <p>Undocumented</p>
+ <p>Whether or not video streaming is supported</p>
+<div class="aside aside-see">
+ <p class="aside-title">See</p>
+ SDLRegisterAppInterface SDLDisplayCapabilities
+
+</div>
+ <h4>Objective-C</h4>
+ <pre class="highlight"><code><span class="k">@property</span> <span class="p">(</span><span class="n">readonly</span><span class="p">,</span> <span class="n">getter</span><span class="o">=</span><span class="n">isStreamingSupported</span><span class="p">,</span> <span class="n">assign</span><span class="p">,</span> <span class="n">nonatomic</span><span class="p">)</span>
+ <span class="n">BOOL</span> <span class="n">streamingSupported</span><span class="p">;</span></code></pre>
+
+
+ <h4>Swift</h4>
+ <pre class="highlight"><code><span class="k">var</span> <span class="nv">isStreamingSupported</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
+
- <h3 id="section-audioSessionEncrypted">
- audioSessionEncrypted
+ <h3 id="section-videoConnected">
+ videoConnected
</h3>
- <p>Undocumented</p>
+ <p>Whether or not the video session is connected.</p>
+ <h4>Objective-C</h4>
+ <pre class="highlight"><code><span class="k">@property</span> <span class="p">(</span><span class="n">readonly</span><span class="p">,</span> <span class="n">getter</span><span class="o">=</span><span class="n">isVideoConnected</span><span class="p">,</span> <span class="n">assign</span><span class="p">,</span> <span class="n">nonatomic</span><span class="p">)</span>
+ <span class="n">BOOL</span> <span class="n">videoConnected</span><span class="p">;</span></code></pre>
+
+ <h4>Swift</h4>
+ <pre class="highlight"><code><span class="k">var</span> <span class="nv">isVideoConnected</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
+
- <h3 id="section-touchManager">
- touchManager
+
+ <h3 id="section-videoEncrypted">
+ videoEncrypted
</h3>
- <p>Touch Manager responsible for providing touch event notifications.</p>
+ <p>Whether or not the video session is encrypted. This may be different than the requestedEncryptionType.</p>
<h4>Objective-C</h4>
- <pre class="highlight"><code><span class="k">@property</span> <span class="p">(</span><span class="n">readonly</span><span class="p">,</span> <span class="n">strong</span><span class="p">,</span> <span class="n">nonatomic</span><span class="p">)</span> <span class="n"><a href="../Classes/SDLTouchManager.html">SDLTouchManager</a></span> <span class="o">*</span><span class="n">_Nonnull</span> <span class="n">touchManager</span><span class="p">;</span></code></pre>
+ <pre class="highlight"><code><span class="k">@property</span> <span class="p">(</span><span class="n">readonly</span><span class="p">,</span> <span class="n">getter</span><span class="o">=</span><span class="n">isVideoEncrypted</span><span class="p">,</span> <span class="n">assign</span><span class="p">,</span> <span class="n">nonatomic</span><span class="p">)</span>
+ <span class="n">BOOL</span> <span class="n">videoEncrypted</span><span class="p">;</span></code></pre>
<h4>Swift</h4>
- <pre class="highlight"><code><span class="k">var</span> <span class="nv">touchManager</span><span class="p">:</span> <span class="kt"><a href="../Classes/SDLTouchManager.html">SDLTouchManager</a></span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
+ <pre class="highlight"><code><span class="k">var</span> <span class="nv">isVideoEncrypted</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
- <h3 id="section-videoEncoderSettings">
- videoEncoderSettings
+ <h3 id="section-audioConnected">
+ audioConnected
</h3>
- <p>The settings used in a VTCompressionSessionRef encoder. These will be verified when the video stream is started. Acceptable properties for this are located in VTCompressionProperties. If set to nil, the defaultVideoEncoderSettings will be used.</p>
-
-<div class="aside aside-warning">
- <p class="aside-title">Warning</p>
- Video streaming must not be connected to update the encoder properties. If it is running, issue a stopVideoSession before updating.
-
-</div>
+ <p>Whether or not the audio session is connected.</p>
<h4>Objective-C</h4>
- <pre class="highlight"><code><span class="k">@property</span> <span class="p">(</span><span class="n">readwrite</span><span class="p">,</span> <span class="n">strong</span><span class="p">,</span> <span class="n">nonatomic</span><span class="p">,</span> <span class="n">null_resettable</span><span class="p">)</span>
- <span class="n">NSDictionary</span> <span class="o">*</span><span class="n">videoEncoderSettings</span><span class="p">;</span></code></pre>
+ <pre class="highlight"><code><span class="k">@property</span> <span class="p">(</span><span class="n">readonly</span><span class="p">,</span> <span class="n">getter</span><span class="o">=</span><span class="n">isAudioConnected</span><span class="p">,</span> <span class="n">assign</span><span class="p">,</span> <span class="n">nonatomic</span><span class="p">)</span>
+ <span class="n">BOOL</span> <span class="n">audioConnected</span><span class="p">;</span></code></pre>
<h4>Swift</h4>
- <pre class="highlight"><code><span class="k">var</span> <span class="nv">videoEncoderSettings</span><span class="p">:</span> <span class="p">[</span><span class="kt">AnyHashable</span> <span class="p">:</span> <span class="kt">Any</span><span class="p">]</span><span class="o">!</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
+ <pre class="highlight"><code><span class="k">var</span> <span class="nv">isAudioConnected</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
- <h3 id="section-displayCapabilties">
- displayCapabilties
+ <h3 id="section-audioEncrypted">
+ audioEncrypted
</h3>
- <p>Display capabilties that will set the screenSize property. If set to nil, the SDLDefaultScreenSize will be used.</p>
-
-<div class="aside aside-warning">
- <p class="aside-title">Warning</p>
- Video streaming must not be connected to update the encoder properties. If it is running, issue a stopVideoSession before updating.
-
-</div>
+ <p>Whether or not the audio session is encrypted. This may be different than the requestedEncryptionType.</p>
<h4>Objective-C</h4>
- <pre class="highlight"><code><span class="k">@property</span> <span class="p">(</span><span class="n">readwrite</span><span class="p">,</span> <span class="n">strong</span><span class="p">,</span> <span class="n">nonatomic</span><span class="p">,</span> <span class="n">null_resettable</span><span class="p">)</span>
- <span class="n"><a href="../Classes/SDLDisplayCapabilities.html">SDLDisplayCapabilities</a></span> <span class="o">*</span><span class="n">displayCapabilties</span><span class="p">;</span></code></pre>
+ <pre class="highlight"><code><span class="k">@property</span> <span class="p">(</span><span class="n">readonly</span><span class="p">,</span> <span class="n">getter</span><span class="o">=</span><span class="n">isAudioEncrypted</span><span class="p">,</span> <span class="n">assign</span><span class="p">,</span> <span class="n">nonatomic</span><span class="p">)</span>
+ <span class="n">BOOL</span> <span class="n">audioEncrypted</span><span class="p">;</span></code></pre>
<h4>Swift</h4>
- <pre class="highlight"><code><span class="k">var</span> <span class="nv">displayCapabilties</span><span class="p">:</span> <span class="kt"><a href="../Classes/SDLDisplayCapabilities.html">SDLDisplayCapabilities</a></span><span class="o">!</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
+ <pre class="highlight"><code><span class="k">var</span> <span class="nv">isAudioEncrypted</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
- <h3 id="section-defaultVideoEncoderSettings">
- defaultVideoEncoderSettings
+ <h3 id="section-videoStreamingPaused">
+ videoStreamingPaused
</h3>
- <p>Provides default video encoder settings used.</p>
+ <p>Whether or not the video stream is paused due to either the application being backgrounded, the HMI state being either NONE or BACKGROUND, or the video stream not being ready.</p>
<h4>Objective-C</h4>
- <pre class="highlight"><code><span class="k">@property</span> <span class="p">(</span><span class="n">readonly</span><span class="p">,</span> <span class="n">strong</span><span class="p">,</span> <span class="n">nonatomic</span><span class="p">)</span>
- <span class="n">NSDictionary</span> <span class="o">*</span><span class="n">_Nonnull</span> <span class="n">defaultVideoEncoderSettings</span><span class="p">;</span></code></pre>
+ <pre class="highlight"><code><span class="k">@property</span> <span class="p">(</span><span class="n">readonly</span><span class="p">,</span> <span class="n">getter</span><span class="o">=</span><span class="n">isVideoStreamingPaused</span><span class="p">,</span> <span class="n">assign</span><span class="p">,</span> <span class="n">nonatomic</span><span class="p">)</span>
+ <span class="n">BOOL</span> <span class="n">videoStreamingPaused</span><span class="p">;</span></code></pre>
<h4>Swift</h4>
- <pre class="highlight"><code><span class="k">var</span> <span class="nv">defaultVideoEncoderSettings</span><span class="p">:</span> <span class="p">[</span><span class="kt">AnyHashable</span> <span class="p">:</span> <span class="kt">Any</span><span class="p">]</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
+ <pre class="highlight"><code><span class="k">var</span> <span class="nv">isVideoStreamingPaused</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
@@ -180,12 +202,49 @@
+ <h3 id="section-videoFormat">
+ videoFormat
+ </h3>
+
+ <p>This is the agreed upon format of video encoder that is in use, or nil if not currently connected.</p>
+
+
+
+ <h4>Objective-C</h4>
+ <pre class="highlight"><code><span class="k">@property</span> <span class="p">(</span><span class="n">readonly</span><span class="p">,</span> <span class="n">strong</span><span class="p">,</span> <span class="n">nonatomic</span><span class="p">,</span> <span class="n">nullable</span><span class="p">)</span>
+ <span class="n"><a href="../Classes/SDLVideoStreamingFormat.html">SDLVideoStreamingFormat</a></span> <span class="o">*</span><span class="n">videoFormat</span><span class="p">;</span></code></pre>
+
+
+ <h4>Swift</h4>
+ <pre class="highlight"><code><span class="k">var</span> <span class="nv">videoFormat</span><span class="p">:</span> <span class="kt"><a href="../Classes/SDLVideoStreamingFormat.html">SDLVideoStreamingFormat</a></span><span class="p">?</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
+
+
+
+
+ <h3 id="section-supportedFormats">
+ supportedFormats
+ </h3>
+
+ <p>A list of all supported video formats by this manager</p>
+
+
+
+ <h4>Objective-C</h4>
+ <pre class="highlight"><code><span class="k">@property</span> <span class="p">(</span><span class="n">readonly</span><span class="p">,</span> <span class="n">strong</span><span class="p">,</span> <span class="n">nonatomic</span><span class="p">)</span>
+ <span class="n">NSArray</span><span class="o">&lt;</span><span class="n"><a href="../Classes/SDLVideoStreamingFormat.html">SDLVideoStreamingFormat</a></span> <span class="o">*&gt;</span> <span class="o">*</span><span class="n">_Nonnull</span> <span class="n">supportedFormats</span><span class="p">;</span></code></pre>
+
+
+ <h4>Swift</h4>
+ <pre class="highlight"><code><span class="k">var</span> <span class="nv">supportedFormats</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Classes/SDLVideoStreamingFormat.html">SDLVideoStreamingFormat</a></span><span class="p">]</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
+
+
+
+
<h3 id="section-pixelBufferPool">
pixelBufferPool
</h3>
<p>The pixel buffer pool reference returned back from an active VTCompressionSessionRef encoder.</p>
-
<div class="aside aside-warning">
<p class="aside-title">Warning</p>
This will only return a valid pixel buffer pool after the encoder has been initialized (when the video session has started).
@@ -206,19 +265,29 @@
- <h3 id="section--initWithProtocol:">
- -initWithProtocol:
+ <h3 id="section-requestedEncryptionType">
+ requestedEncryptionType
</h3>
- <p>Undocumented</p>
+ <p>The requested encryption type when a session attempts to connect. This setting applies to both video and audio sessions.</p>
+
+<p>DEFAULT: SDLStreamingEncryptionFlagAuthenticateAndEncrypt</p>
+ <h4>Objective-C</h4>
+ <pre class="highlight"><code><span class="k">@property</span> <span class="p">(</span><span class="n">assign</span><span class="p">,</span> <span class="n">readwrite</span><span class="p">,</span> <span class="n">nonatomic</span><span class="p">)</span>
+ <span class="n"><a href="../Enums/SDLStreamingEncryptionFlag.html">SDLStreamingEncryptionFlag</a></span> <span class="n">requestedEncryptionType</span><span class="p">;</span></code></pre>
+
+
+ <h4>Swift</h4>
+ <pre class="highlight"><code><span class="k">var</span> <span class="nv">requestedEncryptionType</span><span class="p">:</span> <span class="kt"><a href="../Enums/SDLStreamingEncryptionFlag.html">SDLStreamingEncryptionFlag</a></span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
+
- <h3 id="section--initWithProtocol:displayCapabilities:">
- -initWithProtocol:displayCapabilities:
+ <h3 id="section--init">
+ -init
</h3>
<p>Undocumented</p>
@@ -228,80 +297,68 @@
- <h3 id="section--startVideoSessionWithStartBlock:">
- -startVideoSessionWithStartBlock:
+ <h3 id="section--initWithConnectionManager:configuration:">
+ -initWithConnectionManager:configuration:
</h3>
- <p>This method will attempt to start a streaming video session. It will set up iOS&rsquo;s video encoder, and call out to the head unit asking if it will start a video session. This will not use encryption.</p>
-
-<div class="aside aside-warning">
- <p class="aside-title">Warning</p>
- <p>If this method is called on an 8.0 device, it will assert (in debug), or return a failure immediately to your block (in release).</p>
-
-</div>
+ <p>Create a new streaming media manager for navigation and VPM apps with a specified configuration</p>
<h4>Objective-C</h4>
- <pre class="highlight"><code><span class="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="nf">startVideoSessionWithStartBlock</span><span class="p">:</span>
- <span class="p">(</span><span class="n">nonnull</span> <span class="n"><a href="../Type Definitions.html#/c:SDLStreamingMediaManager.h@T@SDLStreamingStartBlock">SDLStreamingStartBlock</a></span><span class="p">)</span><span class="nv">startBlock</span><span class="p">;</span></code></pre>
+ <pre class="highlight"><code><span class="k">-</span> <span class="p">(</span><span class="n">nonnull</span> <span class="n">instancetype</span><span class="p">)</span>
+<span class="nf">initWithConnectionManager</span><span class="p">:</span>
+ <span class="p">(</span><span class="n">nonnull</span> <span class="n">id</span><span class="o">&lt;</span><span class="n">SDLConnectionManagerType</span><span class="o">&gt;</span><span class="p">)</span><span class="nv">connectionManager</span>
+ <span class="nf">configuration</span><span class="p">:</span>
+ <span class="p">(</span><span class="n">nonnull</span> <span class="n"><a href="../Classes/SDLStreamingMediaConfiguration.html">SDLStreamingMediaConfiguration</a></span> <span class="o">*</span><span class="p">)</span><span class="nv">configuration</span><span class="p">;</span></code></pre>
- <h4>Swift</h4>
- <pre class="highlight"><code><span class="kd">func</span> <span class="nf">startVideoSession</span><span class="p">(</span><span class="n">start</span> <span class="nv">startBlock</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="kt"><a href="../Type Definitions.html#/c:SDLStreamingMediaManager.h@T@SDLStreamingStartBlock">SDLStreamingStartBlock</a></span><span class="p">)</span></code></pre>
-
<h4>Parameters</h4>
<dl>
- <dt>startBlock</dt>
- <dd><p>A block that will be called with the result of attempting to start a video session</p>
-</dd>
+ <dt>connectionManager</dt>
+ <dd><p>The pass-through for RPCs</p></dd>
+ <dt>configuration</dt>
+ <dd><p>The configuration of this streaming media session</p></dd>
</dl>
+ <div>
+ <h4>Return Value</h4>
+ <p>A new streaming manager</p>
+ </div>
- <h3 id="section--startVideoSessionWithTLS:startBlock:">
- -startVideoSessionWithTLS:startBlock:
+ <h3 id="section--startWithProtocol:">
+ -startWithProtocol:
</h3>
- <p>Start a video session either with with no encryption (the default), with authentication but no encryption (this will attempt a TLS authentication with the other side, but will not physically encrypt the data after that), or authentication and encryption, which will encrypt all video data being sent.</p>
+ <p>Start the manager with a completion block that will be called when startup completes. This is used internally. To use an SDLStreamingMediaManager, you should use the manager found on <code><a href="../Classes/SDLManager.html">SDLManager</a></code>.</p>
<h4>Objective-C</h4>
- <pre class="highlight"><code><span class="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="nf">startVideoSessionWithTLS</span><span class="p">:(</span><span class="n"><a href="../Enums/SDLEncryptionFlag.html">SDLEncryptionFlag</a></span><span class="p">)</span><span class="nv">encryptionFlag</span>
- <span class="nf">startBlock</span><span class="p">:</span>
- <span class="p">(</span><span class="n">nonnull</span> <span class="n"><a href="../Type Definitions.html#/c:SDLStreamingMediaManager.h@T@SDLStreamingEncryptionStartBlock">SDLStreamingEncryptionStartBlock</a></span><span class="p">)</span><span class="nv">startBlock</span><span class="p">;</span></code></pre>
+ <pre class="highlight"><code><span class="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="nf">startWithProtocol</span><span class="p">:(</span><span class="n">nonnull</span> <span class="n"><a href="../Classes/SDLAbstractProtocol.html">SDLAbstractProtocol</a></span> <span class="o">*</span><span class="p">)</span><span class="nv">protocol</span><span class="p">;</span></code></pre>
<h4>Swift</h4>
- <pre class="highlight"><code><span class="kd">func</span> <span class="nf">startVideoSession</span><span class="p">(</span><span class="n">withTLS</span> <span class="nv">encryptionFlag</span><span class="p">:</span> <span class="kt"><a href="../Enums/SDLEncryptionFlag.html">SDLEncryptionFlag</a></span><span class="p">,</span> <span class="n">start</span> <span class="nv">startBlock</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="kt"><a href="../Type Definitions.html#/c:SDLStreamingMediaManager.h@T@SDLStreamingEncryptionStartBlock">SDLStreamingEncryptionStartBlock</a></span><span class="p">)</span></code></pre>
+ <pre class="highlight"><code><span class="kd">func</span> <span class="nf">start</span><span class="p">(</span><span class="n">with</span> <span class="nv">protocol</span><span class="p">:</span> <span class="kt"><a href="../Classes/SDLAbstractProtocol.html">SDLAbstractProtocol</a></span><span class="p">)</span></code></pre>
- <h4>Parameters</h4>
- <dl>
- <dt>encryptionFlag</dt>
- <dd><p>Whether and how much security to apply to the video session.</p>
-</dd>
- <dt>startBlock</dt>
- <dd><p>A block that will be called with the result of attempting to start a video session</p>
-</dd>
- </dl>
- <h3 id="section--stopVideoSession">
- -stopVideoSession
+ <h3 id="section--stop">
+ -stop
</h3>
- <p>This method will stop a running video session if there is one running.</p>
+ <p>Stop the manager. This method is used internally.</p>
<h4>Objective-C</h4>
- <pre class="highlight"><code><span class="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="n">stopVideoSession</span><span class="p">;</span></code></pre>
+ <pre class="highlight"><code><span class="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="n">stop</span><span class="p">;</span></code></pre>
<h4>Swift</h4>
- <pre class="highlight"><code><span class="kd">func</span> <span class="nf">stopVideoSession</span><span class="p">()</span></code></pre>
+ <pre class="highlight"><code><span class="kd">func</span> <span class="nf">stop</span><span class="p">()</span></code></pre>
@@ -326,68 +383,42 @@
<h4>Parameters</h4>
<dl>
<dt>imageBuffer</dt>
- <dd><p>A CVImageBufferRef to be encoded by Video Toolbox</p>
-</dd>
+ <dd><p>A CVImageBufferRef to be encoded by Video Toolbox</p></dd>
</dl>
<div>
<h4>Return Value</h4>
<p>Whether or not the data was successfully encoded and sent.</p>
-
</div>
- <h3 id="section--startAudioSessionWithStartBlock:">
- -startAudioSessionWithStartBlock:
+ <h3 id="section--sendVideoData:presentationTimestamp:">
+ -sendVideoData:presentationTimestamp:
</h3>
- <p>This method will attempt to start an audio session</p>
+ <p>This method receives raw image data and will run iOS8+&rsquo;s hardware video encoder to turn the data into a video stream, which will then be passed to the connected head unit.</p>
<h4>Objective-C</h4>
- <pre class="highlight"><code><span class="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="nf">startAudioSessionWithStartBlock</span><span class="p">:</span>
- <span class="p">(</span><span class="n">nonnull</span> <span class="n"><a href="../Type Definitions.html#/c:SDLStreamingMediaManager.h@T@SDLStreamingStartBlock">SDLStreamingStartBlock</a></span><span class="p">)</span><span class="nv">startBlock</span><span class="p">;</span></code></pre>
+ <pre class="highlight"><code><span class="k">-</span> <span class="p">(</span><span class="n">BOOL</span><span class="p">)</span><span class="nf">sendVideoData</span><span class="p">:(</span><span class="n">nonnull</span> <span class="n">CVImageBufferRef</span><span class="p">)</span><span class="nv">imageBuffer</span>
+ <span class="nf">presentationTimestamp</span><span class="p">:(</span><span class="n">CMTime</span><span class="p">)</span><span class="nv">presentationTimestamp</span><span class="p">;</span></code></pre>
<h4>Swift</h4>
- <pre class="highlight"><code><span class="kd">func</span> <span class="nf">startAudioSession</span><span class="p">(</span><span class="n">start</span> <span class="nv">startBlock</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="kt"><a href="../Type Definitions.html#/c:SDLStreamingMediaManager.h@T@SDLStreamingStartBlock">SDLStreamingStartBlock</a></span><span class="p">)</span></code></pre>
+ <pre class="highlight"><code><span class="kd">func</span> <span class="nf">sendVideoData</span><span class="p">(</span><span class="n">_</span> <span class="nv">imageBuffer</span><span class="p">:</span> <span class="kt">CVImageBuffer</span><span class="p">,</span> <span class="nv">presentationTimestamp</span><span class="p">:</span> <span class="kt">CMTime</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Bool</span></code></pre>
<h4>Parameters</h4>
<dl>
- <dt>startBlock</dt>
- <dd><p>A block that will be called with the result of attempting to start an audio session</p>
-</dd>
+ <dt>imageBuffer</dt>
+ <dd><p>A CVImageBufferRef to be encoded by Video Toolbox</p></dd>
+ <dt>presentationTimestamp</dt>
+ <dd><p>A presentation timestamp for the frame, or kCMTimeInvalid if timestamp is unknown. If it&rsquo;s valid, it must be greater than the previous one.</p></dd>
</dl>
-
- <h3 id="section--startAudioSessionWithTLS:startBlock:">
- -startAudioSessionWithTLS:startBlock:
- </h3>
-
- <p>Undocumented</p>
-
-
-
-
-
-
- <h3 id="section--stopAudioSession">
- -stopAudioSession
- </h3>
-
- <p>This method will stop a running audio session if there is one running.</p>
-
-
-
- <h4>Objective-C</h4>
- <pre class="highlight"><code><span class="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="n">stopAudioSession</span><span class="p">;</span></code></pre>
-
-
- <h4>Swift</h4>
- <pre class="highlight"><code><span class="kd">func</span> <span class="nf">stopAudioSession</span><span class="p">()</span></code></pre>
-
-
-
+ <div>
+ <h4>Return Value</h4>
+ <p>Whether or not the data was successfully encoded and sent.</p>
+ </div>
<h3 id="section--sendAudioData:">
-sendAudioData:
@@ -398,24 +429,22 @@
<h4>Objective-C</h4>
- <pre class="highlight"><code><span class="k">-</span> <span class="p">(</span><span class="n">BOOL</span><span class="p">)</span><span class="nf">sendAudioData</span><span class="p">:(</span><span class="n">nonnull</span> <span class="n">NSData</span> <span class="o">*</span><span class="p">)</span><span class="nv">pcmAudioData</span><span class="p">;</span></code></pre>
+ <pre class="highlight"><code><span class="k">-</span> <span class="p">(</span><span class="n">BOOL</span><span class="p">)</span><span class="nf">sendAudioData</span><span class="p">:(</span><span class="n">nonnull</span> <span class="n">NSData</span> <span class="o">*</span><span class="p">)</span><span class="nv">audioData</span><span class="p">;</span></code></pre>
<h4>Swift</h4>
- <pre class="highlight"><code><span class="kd">func</span> <span class="nf">sendAudioData</span><span class="p">(</span><span class="n">_</span> <span class="nv">pcmAudioData</span><span class="p">:</span> <span class="kt">Data</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Bool</span></code></pre>
+ <pre class="highlight"><code><span class="kd">func</span> <span class="nf">sendAudioData</span><span class="p">(</span><span class="n">_</span> <span class="nv">audioData</span><span class="p">:</span> <span class="kt">Data</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Bool</span></code></pre>
<h4>Parameters</h4>
<dl>
- <dt>pcmAudioData</dt>
- <dd><p>The data in PCM audio format, to be played</p>
-</dd>
+ <dt>audioData</dt>
+ <dd><p>The data in PCM audio format, to be played</p></dd>
</dl>
<div>
<h4>Return Value</h4>
<p>Whether or not the data was successfully sent.</p>
-
</div>
</section>