## RBStreamingSource RBStreamingSource — Base class for streaming sources such as internet radio |

## Synopsis

                        RBStreamingSource;
                        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
             +----GtkObject
                   +----GtkWidget
                         +----GtkContainer
                               +----GtkBox
                                     +----GtkHBox
                                           +----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

### RBStreamingSource

    typedef struct _RBStreamingSource RBStreamingSource;

### RBStreamingSourceClass

    typedef struct {
    	RBSourceClass parent;
    } RBStreamingSourceClass;

### 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
`progress` : | returns buffering progress fraction

### 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