## shell-recorder-src

shell-recorder-src

## Synopsis

                        ShellRecorderSrc;
                        ShellRecorderSrcClass;
    void                shell_recorder_src_add_buffer       (ShellRecorderSrc *src,
                                                             GstBuffer *buffer);
    void                shell_recorder_src_close            (ShellRecorderSrc *src);
    void                shell_recorder_src_register         (void);

## Object Hierarchy

      GObject
       +----GstObject
             +----GstElement
                   +----GstBaseSrc
                         +----GstPushSrc
                               +----ShellRecorderSrc

## Properties

      "caps"                     GstCaps*              : Read / Write
      "memory-used"              guint                 : Read

## Description

## Details

### ShellRecorderSrc

    typedef struct _ShellRecorderSrc ShellRecorderSrc;

shellrecordersrc a custom source element is pretty much like a very simple version of the stander GStreamer 'appsrc' element, without any of the provisions for seeking, generating data on demand, etc. In both cases, the application supplies the buffers and the element pushes them into the pipeline. The main reason for not using appsrc is that it wasn't a supported element until gstreamer 0.10.22, and as of 2009-03, many systems still have 0.10.21.

### ShellRecorderSrcClass

    typedef struct _ShellRecorderSrcClass ShellRecorderSrcClass;

### shell_recorder_src_add_buffer ()

    void                shell_recorder_src_add_buffer       (ShellRecorderSrc *src,
                                                             GstBuffer *buffer);

Adds a buffer to the internal queue to be pushed out at the next opportunity. There is no flow control, so arbitrary amounts of memory may be used by the buffers on the queue. The buffer contents must match the GstCaps set in the :caps property.

### shell_recorder_src_close ()

    void                shell_recorder_src_close            (ShellRecorderSrc *src);

Indicates the end of the input stream. Once all previously added buffers have been pushed out an end-of-stream message will be sent.

### shell_recorder_src_register ()

    void                shell_recorder_src_register         (void);

Registers a plugin holding our single element to use privately in this application. Can safely be called multiple times.

## Property Details

### The `"caps"` property

      "caps"                     GstCaps*              : Read / Write

Fixed GstCaps for the source.

### The `"memory-used"` property

      "memory-used"              guint                 : Read

Memory currently used by the queue (in kB).

Default value: 0