## BraseroTrackStream

BraseroTrackStream

## Synopsis

                        BraseroTrackStream;
    BraseroTrackStream * brasero_track_stream_new           (void);
    BraseroBurnResult   brasero_track_stream_set_source     (BraseroTrackStream *track,
                                                             const gchar *uri);
    BraseroBurnResult   brasero_track_stream_set_format     (BraseroTrackStream *track,
                                                             BraseroStreamFormat format);
    BraseroBurnResult   brasero_track_stream_set_boundaries (BraseroTrackStream *track,
                                                             gint64 start,
                                                             gint64 end,
                                                             gint64 gap);
    gchar *             brasero_track_stream_get_source     (BraseroTrackStream *track,
                                                             gboolean uri);
    BraseroBurnResult   brasero_track_stream_get_length     (BraseroTrackStream *track,
                                                             guint64 *length);
    guint64             brasero_track_stream_get_start      (BraseroTrackStream *track);
    guint64             brasero_track_stream_get_end        (BraseroTrackStream *track);
    guint64             brasero_track_stream_get_gap        (BraseroTrackStream *track);
    BraseroStreamFormat  brasero_track_stream_get_format    (BraseroTrackStream *track);

## Description

## Details

### BraseroTrackStream

    typedef struct {
    	BraseroTrack parent_instance;
    } BraseroTrackStream;

### brasero_track_stream_new ()

    BraseroTrackStream * brasero_track_stream_new           (void);

Creates a new BraseroTrackStream object.

This type of tracks is used to burn audio or video files.

Returns : | a BraseroTrackStream object.

### brasero_track_stream_set_source ()

    BraseroBurnResult   brasero_track_stream_set_source     (BraseroTrackStream *track,
                                                             const gchar *uri);

Sets the stream (song or video) uri.

Note: it resets the end point of the track to 0 but keeps start point and gap unchanged.

`track` : | a BraseroTrackStream
`uri` : | a gchar
Returns : | a BraseroBurnResult. BRASERO_BURN_OK if it is successful.

### brasero_track_stream_set_format ()

    BraseroBurnResult   brasero_track_stream_set_format     (BraseroTrackStream *track,
                                                             BraseroStreamFormat format);

Sets the format of the stream.

`track` : | a BraseroTrackStream
`format` : | a BraseroStreamFormat
Returns : | a BraseroBurnResult. BRASERO_BURN_OK if it is successful.

### brasero_track_stream_set_boundaries ()

    BraseroBurnResult   brasero_track_stream_set_boundaries (BraseroTrackStream *track,
                                                             gint64 start,
                                                             gint64 end,
                                                             gint64 gap);

Sets the boundaries of the stream (where it starts, ends in the file; how long is the gap with the next track) in nano seconds.

`track` : | a BraseroTrackStream
`start` : | a gint64 or -1 to ignore
`end` : | a gint64 or -1 to ignore
`gap` : | a gint64 or -1 to ignore
Returns : | a BraseroBurnResult. BRASERO_BURN_OK if it is successful.

### brasero_track_stream_get_source ()

    gchar *             brasero_track_stream_get_source     (BraseroTrackStream *track,
                                                             gboolean uri);

This function returns the path or the URI (if `uri` is TRUE) of the stream (song or video file).

`track` : | a BraseroTrackStream
`uri` : | a gboolean
Returns : | a gchar.

### brasero_track_stream_get_length ()

    BraseroBurnResult   brasero_track_stream_get_length     (BraseroTrackStream *track,
                                                             guint64 *length);

This function returns the length of the stream (in nano seconds) taking into account the start and end time as well as the length of the gap. It stores it in `length`.

`track` : | a BraseroTrackStream
`length` : | a guint64
Returns : | a BraseroBurnResult. BRASERO_BURN_OK if `length` was set.

### brasero_track_stream_get_start ()

    guint64             brasero_track_stream_get_start      (BraseroTrackStream *track);

This function returns start time in the stream (in nano seconds).

`track` : | a BraseroTrackStream
Returns : | a guint64.

### brasero_track_stream_get_end ()

    guint64             brasero_track_stream_get_end        (BraseroTrackStream *track);

This function returns end time in the stream (in nano seconds).

`track` : | a BraseroTrackStream
Returns : | a guint64.

### brasero_track_stream_get_gap ()

    guint64             brasero_track_stream_get_gap        (BraseroTrackStream *track);

This function returns length of the gap (in nano seconds).

`track` : | a BraseroTrackStream
Returns : | a guint64.

### brasero_track_stream_get_format ()

    BraseroStreamFormat  brasero_track_stream_get_format    (BraseroTrackStream *track);

This function returns the format of the stream.

`track` : | a BraseroTrackStream
Returns : | a BraseroStreamFormat.