C programm mit gstreamer

hallo,
ich habe folgendes programm geschrieben.
es soll erst ein paar sachen ausgeben und dann eine datei abspielen.
die datei wird aber leider nicht abgespielt.
hier mal das programm:

[code]/* HalloLinux.c */
#include <stdio.h>
#include <unistd.h>
#include <gst/gst.h>
#include <stdbool.h>

int main(void) {
int time = 1;
long s = 600;//zeit in sekunden zum warten
while(time<20)
{
if(time==1)
{
printf(“Zeit: %d Minute\n”, time);
}
else
{
printf(“Zeit: %d Minuten\n”, time);
}
time++;
usleep(s);
}

char uri[100] = "file:///home/sebastian/Dokumente/a.mp3";

GstElement *pipeline;
pipeline = gst_element_factory_make ("playbin", "player");

g_object_set (G_OBJECT (pipeline), "uri", uri, NULL);

gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_PLAYING);

GMainLoop *loop;
loop = g_main_loop_new (NULL, FALSE);
g_main_loop_run (loop);

gst_init (NULL, NULL);

gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_NULL);
gst_object_unref (GST_OBJECT (pipeline));


return 0;

}[/code]

grüße,
sebastian

g_main_loop_run (loop); startet die glib-mainloop. Dieser Funktionsaufruf ist blockierend.