i'm developing linux multimedia application running on imx6 (arm) processor, have used eclipse under windows7 (using linaro cross tool chain), add gstreamer function calls, possible so, under windows?
#include <gst/gst.h> int main (int argc, char *argv[]) { gstelement *pipeline; gstelement *filesrc; gstmessage *msg; gstbus *bus; gerror *error = null; gst_init (&argc, &argv); if (argc != 2) { g_print ("usage: %s <filename>\n", argv[0]); return -1; } pipeline = gst_parse_launch ("filesrc name=my_filesrc ! mad ! osssink", &error); if (!pipeline) { g_print ("parse error: %s\n", error->message); exit (1); } filesrc = gst_bin_get_by_name (gst_bin (pipeline), "my_filesrc"); g_object_set (filesrc, "location", argv[1], null); g_object_unref (filesrc); gst_element_set_state (pipeline, gst_state_playing); bus = gst_element_get_bus (pipeline); /* wait until either eos or error message. note in real * program not use gst_bus_poll(), rather set * async signal watch on bus , run main loop , connect * bus's signals catch messages or messages */ msg = gst_bus_poll (bus, gst_message_eos | gst_message_error, -1); switch (gst_message_type (msg)) { case gst_message_eos: { g_print ("eos\n"); break; } case gst_message_error: { gerror *err = null; /* error show users */ gchar *dbg = null; /* additional debug string developers */ gst_message_parse_error (msg, &err, &dbg); if (err) { g_printerr ("error: %s\n", err->message); g_error_free (err); } if (dbg) { g_printerr ("[debug details: %s]\n", dbg); g_free (dbg); } } default: g_printerr ("unexpected message of type %d", gst_message_type (msg)); break; } gst_message_unref (msg); gst_element_set_state (pipeline, gst_state_null); gst_object_unref (pipeline); gst_object_unref (bus); return 0; }
Comments
Post a Comment