updated threadlock to actually be a thread locking test
[platform/upstream/gstreamer.git] / tests / threadlock.c
1 #include <stdio.h>
2 #include <gst/gst.h>
3
4 int main(int argc,char *argv[]) {
5   GstBin *pipeline, *thread;
6   GstElement *src, *queue1, *sink;
7
8   gst_init(&argc,&argv);
9   gst_info_set_categories(-1);
10   gst_debug_set_categories(-1);
11
12   pipeline = gst_pipeline_new("pipeline");
13   thread = gst_thread_new("thread");
14   src = gst_elementfactory_make("fakesrc","src");
15   sink = gst_elementfactory_make("fakesink","sink");
16
17   fprintf(stderr,"ADDING src\n");
18   gst_bin_add(thread,src);
19   fprintf(stderr,"ADDING sink\n");
20   gst_bin_add(thread,sink);
21   fprintf(stderr,"CONNECTING src to sink\n");
22   gst_element_connect (src, "src", sink, "sink");
23
24   fprintf(stderr,"ADDING thread\n");
25   gst_bin_add(pipeline,GST_ELEMENT(thread));
26
27   while (1) {
28     fprintf(stderr,"\nSWITCHING to PLAYING:\n");
29     gst_element_set_state (thread, GST_STATE_PLAYING);
30     fprintf(stderr,"\nSWITCHING to PAUSED:\n");
31     gst_element_set_state (thread, GST_STATE_PAUSED);
32   }
33 }