![]() |
![]() |
![]() |
Shell Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Properties |
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
);
GObject +----GstObject +----GstElement +----GstBaseSrc +----GstPushSrc +----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.
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.
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.