### Method

# Aravis Device create_stream

since: 0.2.0

#### Declaration [src]

    ArvStream*
    arv_device_create_stream (
      ArvDevice* device,
      ArvStreamCallback callback,
      void* user_data,
      GError** error
    )

#### Description [src]

Creates a new `ArvStream` for video stream handling. See `ArvStreamCallback` for details regarding the callback function.

Available since: 0.2.0

This method is not directly available to language bindings.

The implementation of this method is provided by `arv_device_create_stream_full()` in language bindings.

#### Parameters

`callback`

  Type: `ArvStreamCallback`

  A frame processing callback.

`user_data`

  Type: `void*`

  User data for `callback`.

  The argument can be `NULL`.
  The data is owned by the caller of the method.

`error`

  Type: `GError **`

  The return location for a recoverable error.

  The argument can be `NULL`.
  If the return location is not `NULL`, then you must initialize it to a `NULL` `GError*`.
  The argument will be left initialized to `NULL` by the method if there are no errors.
  In case of error, the argument will be set to a newly allocated `GError`; the caller will take ownership of the data, and be responsible for freeing it.

#### Return value

Type: `ArvStream`

A new `ArvStream`.

The caller of the method takes ownership of the returned data, and is responsible for freeing it.