rendered paste body#include <gst/gst.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int
main (int argc,
char *argv[])
{
GstStateChangeReturn sret;
GstElement *pipeline;
GstElement *source, *sink, *queue;
gst_init (&argc, &argv);
if (unlink("test")) {
perror("unlink:");
}
if (mkfifo("test", O_CREAT|S_IRWXU)) {
perror("mkfifo:");
}
if (!fopen("test", "w+")) {
perror("fopen:");
}
pipeline = gst_pipeline_new ("my-pipeline");
source = gst_element_factory_make ("fakesrc", "source");
g_object_set (G_OBJECT (source), "num-buffers", 5, NULL);
g_object_set (G_OBJECT (source), "sizetype", 2, NULL);
g_object_set (G_OBJECT (source), "filltype", 4, NULL);
g_object_set (G_OBJECT (source), "sizemax", 70000, NULL);
queue = gst_element_factory_make ("queue", "queue");
gst_bin_add_many (GST_BIN (pipeline), source, queue, NULL);
if (!gst_element_link_many (source, queue, NULL)) {
g_warning ("Failed to link elements!");
}
sret = gst_element_set_state (pipeline, GST_STATE_PLAYING);
sink = gst_element_factory_make ("filesink", "sink");
g_object_set (G_OBJECT (sink), "location",
"test",
NULL);
gst_bin_add (GST_BIN (pipeline), sink);
gst_element_set_state (sink, GST_STATE_PLAYING);
gst_element_link (queue, sink);
sleep (1);
gst_element_set_state (sink, GST_STATE_NULL);
return 0;
}