X-Git-Url: https://git.ao2.it/gst-aseq-appsrc.git/blobdiff_plain/1964e092825b7d2fccb01cbe5064efc2cfd187d5..2c5b603490fb866797473a684a256da35ef456b1:/gst-aseq-appsrc.c diff --git a/gst-aseq-appsrc.c b/gst-aseq-appsrc.c index 2fd617f..7c42ab4 100644 --- a/gst-aseq-appsrc.c +++ b/gst-aseq-appsrc.c @@ -38,8 +38,8 @@ #define DEFAULT_TICK_PERIOD_MS 10 #define DEFAULT_POLL_TIMEOUT_MS (DEFAULT_TICK_PERIOD_MS / 2) -GST_DEBUG_CATEGORY (mysrc_debug); -#define GST_CAT_DEFAULT mysrc_debug +GST_DEBUG_CATEGORY (mysource_debug); +#define GST_CAT_DEFAULT mysource_debug typedef struct _App App; @@ -171,12 +171,11 @@ connect_ports (App * app) static void push_buffer (App * app, gpointer data, guint size) { - GstBuffer *buffer; GstClockTime time; - int ret; gpointer local_data; + GstBuffer *buffer; + int ret; - /* read the next chunk */ buffer = gst_buffer_new (); time = app->tick * DEFAULT_TICK_PERIOD_MS * GST_MSECOND; @@ -192,6 +191,8 @@ push_buffer (App * app, gpointer data, guint size) gst_memory_new_wrapped (0, local_data, size, 0, size, local_data, g_free)); + GST_MEMDUMP ("MIDI data:", local_data, size); + GST_DEBUG ("feed buffer %p, tick %" G_GUINT64_FORMAT " size: %u", (gpointer) buffer, app->tick, size); g_signal_emit_by_name (app->appsrc, "push-buffer", buffer, &ret); @@ -392,9 +393,12 @@ main (int argc, char *argv[]) GOptionContext *ctx; GError *err = NULL; gchar *ports = NULL; + gboolean verbose = FALSE; GOptionEntry options[] = { {"ports", 'p', 0, G_OPTION_ARG_STRING, &ports, "Comma separated list of sequencer ports", "client:port,..."}, + {"verbose", 'v', 0, G_OPTION_ARG_NONE, &verbose, + "Output status information and property notifications", NULL}, {NULL} }; @@ -412,7 +416,7 @@ main (int argc, char *argv[]) gst_init (&argc, &argv); - GST_DEBUG_CATEGORY_INIT (mysrc_debug, "mysrc", 0, + GST_DEBUG_CATEGORY_INIT (mysource_debug, "mysource", 0, "ALSA MIDI sequencer appsrc pipeline"); ret = app_init (app, ports); @@ -433,6 +437,9 @@ main (int argc, char *argv[]) ("appsrc name=mysource ! fluiddec ! audioconvert ! autoaudiosink", NULL); g_assert (app->pipeline); + if (verbose) + g_signal_connect (app->pipeline, "deep-notify", G_CALLBACK (gst_object_default_deep_notify), NULL); + bus = gst_pipeline_get_bus (GST_PIPELINE (app->pipeline)); g_assert (bus);