# IMAVODStreamRequest

    @interface IMAVODStreamRequest : https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAStreamRequest.html

Data object describing a VOD stream request.
- `


  ### [contentSourceID](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAVODStreamRequest#/c:objc(cs)IMAVODStreamRequest(py)contentSourceID)


  ` The stream request content source ID. This is used to determine the
  content source of the stream.

  #### Declaration

  Swift

      var contentSourceID: String { get }

  Objective-C

      @property (nonatomic, copy, readonly) NSString *_Nonnull contentSourceID;

- `


  ### [videoID](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAVODStreamRequest#/c:objc(cs)IMAVODStreamRequest(py)videoID)


  ` The stream request video ID. This is used to determine which specific video
  stream should be played.

  #### Declaration

  Swift

      var videoID: String { get }

  Objective-C

      @property (nonatomic, copy, readonly) NSString *_Nonnull videoID;

- `


  ### [useHLSInterstitials](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAVODStreamRequest#/c:objc(cs)IMAVODStreamRequest(py)useHLSInterstitials)


  ` Specifies whether to use HLS interstitials for this stream. This will request that DAI use HLS
  interstitials, or return an error if interstitials are not supported. If IMAAVPlayerVideoDisplay
  is used in the stream request, the SDK will perform a compatibility check to ensure the device
  can handle HLS interstitial playback, and will throw an error at request time otherwise. If a
  custom video display is used, the compatibility check will not be performed.

  #### Declaration

  Swift

      var useHLSInterstitials: Bool { get set }

  Objective-C

      @property (nonatomic) BOOL useHLSInterstitials;

- `


  ### [-initWithContentSourceID:videoID:networkCode:adDisplayContainer:videoDisplay:userContext:](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAVODStreamRequest#/c:objc(cs)IMAVODStreamRequest(im)initWithContentSourceID:videoID:networkCode:adDisplayContainer:videoDisplay:userContext:)


  ` Initializes a stream request instance with the given content source ID and video ID.
  Uses the given ad display container to display the stream. This is used for on-demand streams.

  #### Declaration

  Swift

      init(contentSourceID: String, videoID: String, networkCode: String?, adDisplayContainer: https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAAdDisplayContainer.html, videoDisplay: any https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Protocols/IMAVideoDisplay.html, userContext: Any?)

  Objective-C

      - (nonnull instancetype)
          initWithContentSourceID:(nonnull NSString *)contentSourceID
                          videoID:(nonnull NSString *)videoID
                      networkCode:(nullable NSString *)networkCode
               adDisplayContainer:(nonnull https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAAdDisplayContainer.html *)adDisplayContainer
                     videoDisplay:(nonnull id<https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Protocols/IMAVideoDisplay.html>)videoDisplay
                      userContext:(nullable id)userContext;

  #### Parameters

  |---|---|
  | ` contentSourceID ` | the content source ID for this stream |
  | ` videoID ` | the video identifier for this stream |
  | ` networkCode ` | the network code for the stream (optional but recommended). |
  | ` adDisplayContainer ` | the IMAAdDisplayContainer for rendering the ad UI |
  | ` videoDisplay ` | the IMAVideoDisplay for playing the stream |
  | ` userContext ` | The user context for tracking requests (optional) |

  #### Return Value

  the IMAVODStreamRequest instance
- `


  ### [-initWithContentSourceID:videoID:networkCode:adDisplayContainer:videoDisplay:pictureInPictureProxy:userContext:](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAVODStreamRequest#/c:objc(cs)IMAVODStreamRequest(im)initWithContentSourceID:videoID:networkCode:adDisplayContainer:videoDisplay:pictureInPictureProxy:userContext:)


  ` Initializes a stream request instance with the given content source ID and video ID.
  Uses the given ad display container to display the stream. This is used for on-demand streams.
  Uses the picture in picture proxy to track PIP events.

  #### Declaration

  Swift

      init(contentSourceID: String, videoID: String, networkCode: String?, adDisplayContainer: https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAAdDisplayContainer.html, videoDisplay: any https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Protocols/IMAVideoDisplay.html, pictureInPictureProxy: https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAPictureInPictureProxy.html?, userContext: Any?)

  Objective-C

      - (nonnull instancetype)
          initWithContentSourceID:(nonnull NSString *)contentSourceID
                          videoID:(nonnull NSString *)videoID
                      networkCode:(nullable NSString *)networkCode
               adDisplayContainer:(nonnull https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAAdDisplayContainer.html *)adDisplayContainer
                     videoDisplay:(nonnull id<https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Protocols/IMAVideoDisplay.html>)videoDisplay
            pictureInPictureProxy:
                (nullable https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAPictureInPictureProxy.html *)pictureInPictureProxy
                      userContext:(nullable id)userContext;

  #### Parameters

  |---|---|
  | ` contentSourceID ` | the content source ID for this stream |
  | ` videoID ` | the video identifier for this stream |
  | ` networkCode ` | the network code for the stream (optional but recommended). |
  | ` adDisplayContainer ` | the IMAAdDisplayContainer for rendering the ad UI |
  | ` videoDisplay ` | the IMAVideoDisplay for playing the stream |
  | ` pictureInPictureProxy ` | the IMAPictureInPictureProxy for tracking PIP events |
  | ` userContext ` | The user context for tracking requests (optional) |

  #### Return Value

  the IMAVODStreamRequest instance
- `


  ### [-initWithContentSourceID:videoID:adDisplayContainer:videoDisplay:userContext:](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAVODStreamRequest#/c:objc(cs)IMAVODStreamRequest(im)initWithContentSourceID:videoID:adDisplayContainer:videoDisplay:userContext:)


  ` Deprecated

  Use contentSourceID:videoId:networkCode:adDisplayContainer:videoDisplay:userContext: instead.
  Initializes a stream request instance with the given content source ID and video ID.
  Uses the given ad display container to display the stream. This is used for on-demand streams.

  #### Declaration

  Swift

      init(contentSourceID: String, videoID: String, adDisplayContainer: https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAAdDisplayContainer.html, videoDisplay: any https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Protocols/IMAVideoDisplay.html, userContext: Any?)

  Objective-C

      - (nonnull instancetype)
          initWithContentSourceID:(nonnull NSString *)contentSourceID
                          videoID:(nonnull NSString *)videoID
               adDisplayContainer:(nonnull https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAAdDisplayContainer.html *)adDisplayContainer
                     videoDisplay:(nonnull id<https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Protocols/IMAVideoDisplay.html>)videoDisplay
                      userContext:(nullable id)userContext;

  #### Parameters

  |---|---|
  | ` contentSourceID ` | the content source ID for this stream |
  | ` videoID ` | the video identifier for this stream |
  | ` adDisplayContainer ` | the IMAAdDisplayContainer for rendering the ad UI |
  | ` videoDisplay ` | the IMAVideoDisplay for playing the stream |
  | ` userContext ` | The user context for tracking requests (optional) |

  #### Return Value

  the IMAVODStreamRequest instance
- `


  ### [-initWithContentSourceID:videoID:adDisplayContainer:videoDisplay:pictureInPictureProxy:userContext:](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAVODStreamRequest#/c:objc(cs)IMAVODStreamRequest(im)initWithContentSourceID:videoID:adDisplayContainer:videoDisplay:pictureInPictureProxy:userContext:)


  ` Deprecated

  Use initWithContentSourceID:videoID:networkCode:adDisplayContainer:videoDisplay:pictureInPictureProxy:userContext: instead.
  Initializes a stream request instance with the given content source ID and video ID.
  Uses the given ad display container to display the stream. This is used for on-demand streams.
  Uses the picture in picture proxy to track PIP events.

  #### Declaration

  Swift

      init(contentSourceID: String, videoID: String, adDisplayContainer: https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAAdDisplayContainer.html, videoDisplay: any https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Protocols/IMAVideoDisplay.html, pictureInPictureProxy: https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAPictureInPictureProxy.html?, userContext: Any?)

  Objective-C

      - (nonnull instancetype)
          initWithContentSourceID:(nonnull NSString *)contentSourceID
                          videoID:(nonnull NSString *)videoID
               adDisplayContainer:(nonnull https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAAdDisplayContainer.html *)adDisplayContainer
                     videoDisplay:(nonnull id<https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Protocols/IMAVideoDisplay.html>)videoDisplay
            pictureInPictureProxy:
                (nullable https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAPictureInPictureProxy.html *)pictureInPictureProxy
                      userContext:(nullable id)userContext;

  #### Parameters

  |---|---|
  | ` contentSourceID ` | the content source ID for this stream |
  | ` videoID ` | the video identifier for this stream |
  | ` adDisplayContainer ` | the IMAAdDisplayContainer for rendering the ad UI |
  | ` videoDisplay ` | the IMAVideoDisplay for playing the stream |
  | ` pictureInPictureProxy ` | the IMAPictureInPictureProxy for tracking PIP events |
  | ` userContext ` | The user context for tracking requests (optional) |

  #### Return Value

  the IMAVODStreamRequest instance