# giostreamsrc

This plugin reads data from a custom GIO GInputStream.

It can, for example, be used to read data from memory with a GMemoryInputStream or to read from a file with a GFileInputStream.

## Example code

The following example reads data from a GMemoryInputStream.

    #include <gst/gst.h>
    #include <gio/gio.h>

    ...

    GstElement *src;
    GMemoryInputStream *stream;
    // in_data will contain the data to send
    guint8 *in_data;
    gint i;

    ...
    in_data = g_new (guint8, 512);
    for (i = 0; i < 512; i++)
      in_data[i] = i % 256;

    stream = G_MEMORY_INPUT_STREAM (g_memory_input_stream_new_from_data (in_data, 512,
              (GDestroyNotify) g_free));
    src = gst_element_factory_make ("giostreamsrc", "src");
    g_object_set (G_OBJECT (src), "stream", stream, NULL);

    ...

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstBaseSrc
                        ╰──GstGioBaseSrc
                            ╰──giostreamsrc

## Factory details

Authors: – Sebastian Dröge <sebastian.droege></sebastian.droege>

Classification: – `Source`

Rank – none

Plugin – gio

Package – GStreamer Base Plug-ins

## Pad Templates

### `src`

    ANY

Presence – always

Direction – src

Object type – GstPad

## Properties

### stream

    “stream” GInputStream *

Stream to read from

Flags : Read / Write

The results of the search are