## RBStreamingSource

RBStreamingSource — Base class for streaming sources such as internet radio

## Synopsis

    struct              RBStreamingSource;
    struct              RBStreamingSourceClass;
    void                rb_streaming_source_get_progress    (RBStreamingSource *source,
                                                             char **text,
                                                             float *progress);
    void                rb_streaming_source_set_streaming_title
                                                            (RBStreamingSource *source,
                                                             const char *title);
    void                rb_streaming_source_set_streaming_artist
                                                            (RBStreamingSource *source,
                                                             const char *artist);
    void                rb_streaming_source_set_streaming_album
                                                            (RBStreamingSource *source,
                                                             const char *album);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkWidget
                   +----GtkContainer
                         +----GtkBox
                               +----GtkHBox
                                     +----RBDisplayPage
                                           +----RBSource
                                                 +----RBStreamingSource

## Implemented Interfaces

RBStreamingSource implements AtkImplementorIface, GtkBuildable and GtkOrientable.

## Description

This class provides handling of buffering signals and streaming song metadata common to different types of sources that play continuous streaming media.

## Details

### struct RBStreamingSource

    struct RBStreamingSource;

### struct RBStreamingSourceClass

    struct RBStreamingSourceClass {
    	RBSourceClass parent;
    };

### rb_streaming_source_get_progress ()

    void                rb_streaming_source_get_progress    (RBStreamingSource *source,
                                                             char **text,
                                                             float *progress);

Provides status text and progress fraction suitable for use in a streaming source's `rb_source_get_status` method.

`source` : | a RBStreamingSource
`text` : | returns buffering status text. [out callee-allocates][transfer full]
`progress` : | returns buffering progress fraction. [out callee-allocates]

### rb_streaming_source_set_streaming_title ()

    void                rb_streaming_source_set_streaming_title
                                                            (RBStreamingSource *source,
                                                             const char *title);

Updates the streaming song title. Call this when an updated streaming song title is received from the stream.

`source` : | a RBStreamingSource
`title` : | the new streaming song title

### rb_streaming_source_set_streaming_artist ()

    void                rb_streaming_source_set_streaming_artist
                                                            (RBStreamingSource *source,
                                                             const char *artist);

Updates the streaming song artist name. Call this when an updated streaming song artist name is received from the stream.

`source` : | a RBStreamingSource
`artist` : | the new streaming song artist name

### rb_streaming_source_set_streaming_album ()

    void                rb_streaming_source_set_streaming_album
                                                            (RBStreamingSource *source,
                                                             const char *album);

Updates the streaming song album name. Call this when an updated streaming song album name is received from the stream.

`source` : | a RBStreamingSource
`album` : | the new streaming song album name