Bonjour,
J'essaie d'écrire une application utilisant giostreamsink (un plugin de Gstreamer) afin d'écrire un flux audio dans un bout de mémoire partagée et de pouvoir lire ce flux dans une application externe à Gstreamer.
J'ai lu les cours disponibles sur le site de Gstreamer visant à enseigner l'écriture d'applications et de plugins Gstreamer mais je bloque sur un point.
Dans un premier temps, je voudrais simplement essayer de compiler le bout de code suivant :
issu tout simplement du seul exemple que j'ai pu trouver se servant de giostreamsink.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 #include <gst/gst.h> #include <gio/gio.h> int main(int arg, char * argv) { GstElement *sink; GMemoryOuputStream *stream; guint8 *out_data; stream = G_MEMORY_OUTPUT_STREAM (g_memory_output_stream_new (NULL, 0, (GReallocFunc) g_realloc, (GDestroyNotify) g_free)); sink = gst_element_factory_make ("giostreamsink", "sink"); g_object_set (G_OBJECT (sink), "stream", stream, NULL); out_data = g_memory_ouput_stream_get_data (G_MEMORY_OUTPUT_STREAM (stream)); }
Je tente donc de la compiler :
Et... Ça ne fonctionne pas :gcc -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2/ -o testo test.c
Ce qui est étrange, puisque les librairies nécessaires sont incluses.test.c: In function ‘int main(int, char**)’:
test.c:7: error: ‘GMemoryOuputStream’ was not declared in this scope
test.c:7: error: ‘stream’ was not declared in this scope
test.c:15: error: ‘g_memory_ouput_stream_get_data’ was not declared in this scope
Quelqu'un a une idée ?
Merci d'avance.
Partager