#include <gstreamer-1.0/gst/gst.h>
int main(int argc, char *argv[]) {
GstElement *pipeline;
gint64 durata, posizione;
/* Inicializa GStreamer */
gst_init (&argc, &argv);
pipeline = gst_element_factory_make ("playbin", NULL);
/* Especifica la URI para ejecutar el fichero */
if (argc != 2) {
g_print ("Uso: nombre_programa <file media>\n");
return -1;
};
g_object_set (pipeline, "uri", g_filename_to_uri(argv[1], NULL, NULL), NULL);
/* Ejecuta el fichero media */
gst_element_set_state(pipeline, GST_STATE_PLAYING);
while (durata!=posizione) {
gst_element_query_duration(pipeline, GST_FORMAT_TIME, &durata);
gst_element_query_position(pipeline, GST_FORMAT_TIME, &posizione);
g_print ("\rDuracion: %"GST_TIME_FORMAT, GST_TIME_ARGS (durata));
g_print (" - Posicion: %"GST_TIME_FORMAT, GST_TIME_ARGS (posizione));
};
/*Terminando... */
g_print ("\n");
gst_element_set_state (pipeline, GST_STATE_NULL);
gst_object_unref (pipeline);
return 0;
}
int main(int argc, char *argv[]) {
GstElement *pipeline;
gint64 durata, posizione;
/* Inicializa GStreamer */
gst_init (&argc, &argv);
pipeline = gst_element_factory_make ("playbin", NULL);
/* Especifica la URI para ejecutar el fichero */
if (argc != 2) {
g_print ("Uso: nombre_programa <file media>\n");
return -1;
};
g_object_set (pipeline, "uri", g_filename_to_uri(argv[1], NULL, NULL), NULL);
/* Ejecuta el fichero media */
gst_element_set_state(pipeline, GST_STATE_PLAYING);
while (durata!=posizione) {
gst_element_query_duration(pipeline, GST_FORMAT_TIME, &durata);
gst_element_query_position(pipeline, GST_FORMAT_TIME, &posizione);
g_print ("\rDuracion: %"GST_TIME_FORMAT, GST_TIME_ARGS (durata));
g_print (" - Posicion: %"GST_TIME_FORMAT, GST_TIME_ARGS (posizione));
};
/*Terminando... */
g_print ("\n");
gst_element_set_state (pipeline, GST_STATE_NULL);
gst_object_unref (pipeline);
return 0;
}
Este codigo fuente será compilado en Terminal con:
~ $ gcc -o /ruta/nombre_programa /ruta/nombre_codigo_fuente.c `pkg-config --cflags --libs gstreamer-1.0`