### Virtual Method

# RB Player open

#### Declaration [src]

    gboolean
    open (
      RBPlayer* player,
      const char* uri,
      gpointer stream_data,
      GDestroyNotify stream_data_destroy,
      GError** error
    )

#### Description [src]

Prepares a stream for playback. Depending on the player implementation, this may stop any existing stream being played. The stream preparation process may continue asynchronously, in which case errors may be reported from

# rb_player_play or using the 'error' signal.

#### Parameters

`uri`

  Type: `const char*`

  URI to open.

  The data is owned by the caller of the method.
  The value is a NUL terminated UTF-8 string.

`stream_data`

  Type: `gpointer`

  Arbitrary data to associate with the stream.

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

`stream_data_destroy`

  Type: `GDestroyNotify`

  Function to call to destroy the stream data.

`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 virtual function 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: `gboolean`

TRUE if the stream preparation was not unsuccessful.