From 27c6ed059b238b2f7af21b67387bfcf1db8bcf1f Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 17 Apr 2012 12:50:15 +0200 Subject: [PATCH 001/979] Initial commit --- gst-sdk/tutorials/basic-tutorial-1.c | 28 + gst-sdk/tutorials/basic-tutorial-2.c | 76 + gst-sdk/tutorials/basic-tutorial-3.c | 149 + gst-sdk/tutorials/basic-tutorial-4.c | 157 + gst-sdk/tutorials/basic-tutorial-5.c | 248 ++ gst-sdk/tutorials/playback-test.c | 3389 +++++++++++++++++ gst-sdk/tutorials/playback-tutorial-1.c | 218 ++ .../basic-tutorial-1/basic-tutorial-1.vcxproj | 84 + .../basic-tutorial-1.vcxproj.filters | 6 + vs/2010/tutorials/tutorials.sln | 20 + 10 files changed, 4375 insertions(+) create mode 100644 gst-sdk/tutorials/basic-tutorial-1.c create mode 100644 gst-sdk/tutorials/basic-tutorial-2.c create mode 100644 gst-sdk/tutorials/basic-tutorial-3.c create mode 100644 gst-sdk/tutorials/basic-tutorial-4.c create mode 100644 gst-sdk/tutorials/basic-tutorial-5.c create mode 100644 gst-sdk/tutorials/playback-test.c create mode 100644 gst-sdk/tutorials/playback-tutorial-1.c create mode 100644 vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj create mode 100644 vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj.filters create mode 100644 vs/2010/tutorials/tutorials.sln diff --git a/gst-sdk/tutorials/basic-tutorial-1.c b/gst-sdk/tutorials/basic-tutorial-1.c new file mode 100644 index 0000000000..a02e8f28e1 --- /dev/null +++ b/gst-sdk/tutorials/basic-tutorial-1.c @@ -0,0 +1,28 @@ +#include + +int main(int argc, char *argv[]) { + GstElement *pipeline; + GstBus *bus; + GstMessage *msg; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Build the pipeline */ + pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + + /* Start playing */ + gst_element_set_state (pipeline, GST_STATE_PLAYING); + + /* Wait until error or EOS */ + bus = gst_element_get_bus (pipeline); + msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, GST_MESSAGE_ERROR | GST_MESSAGE_EOS); + + /* Free resources */ + if (msg != NULL) + gst_message_unref (msg); + gst_object_unref (bus); + gst_element_set_state (pipeline, GST_STATE_NULL); + gst_object_unref (pipeline); + return 0; +} \ No newline at end of file diff --git a/gst-sdk/tutorials/basic-tutorial-2.c b/gst-sdk/tutorials/basic-tutorial-2.c new file mode 100644 index 0000000000..984442b436 --- /dev/null +++ b/gst-sdk/tutorials/basic-tutorial-2.c @@ -0,0 +1,76 @@ +#include + +int main(int argc, char *argv[]) { + GstElement *pipeline, *source, *sink; + GstBus *bus; + GstMessage *msg; + GstStateChangeReturn ret; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Create the elements */ + source = gst_element_factory_make ("videotestsrc", "source"); + sink = gst_element_factory_make ("autovideosink", "sink"); + + /* Create the empty pipeline */ + pipeline = gst_pipeline_new ("test-pipeline"); + + if (!pipeline || !source || !sink) { + g_printerr ("Not all elements could be created.\n"); + return -1; + } + + /* Build the pipeline */ + gst_bin_add_many (GST_BIN (pipeline), source, sink, NULL); + if (gst_element_link (source, sink) != TRUE) { + g_printerr ("Elements could not be linked.\n"); + gst_object_unref (pipeline); + return -1; + } + + /* Modify the source's properties */ + g_object_set (source, "pattern", 0, NULL); + + /* Start playing */ + ret = gst_element_set_state (pipeline, GST_STATE_PLAYING); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (pipeline); + return -1; + } + + /* Wait until error or EOS */ + bus = gst_element_get_bus (pipeline); + msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, GST_MESSAGE_ERROR | GST_MESSAGE_EOS); + + /* Parse message */ + if (msg != NULL) { + GError *err; + gchar *debug_info; + + switch (GST_MESSAGE_TYPE (msg)) { + case GST_MESSAGE_ERROR: + gst_message_parse_error (msg, &err, &debug_info); + g_printerr ("Error received from element %s: %s\n", GST_OBJECT_NAME (msg->src), err->message); + g_printerr ("Debugging information: %s\n", debug_info ? debug_info : "none"); + g_clear_error (&err); + g_free (debug_info); + break; + case GST_MESSAGE_EOS: + g_print ("End-Of-Stream reached.\n"); + break; + default: + /* We should not reach here because we only asked for ERRORs and EOS */ + g_printerr ("Unexpected message received.\n"); + break; + } + gst_message_unref (msg); + } + + /* Free resources */ + gst_object_unref (bus); + gst_element_set_state (pipeline, GST_STATE_NULL); + gst_object_unref (pipeline); + return 0; +} \ No newline at end of file diff --git a/gst-sdk/tutorials/basic-tutorial-3.c b/gst-sdk/tutorials/basic-tutorial-3.c new file mode 100644 index 0000000000..204b930a83 --- /dev/null +++ b/gst-sdk/tutorials/basic-tutorial-3.c @@ -0,0 +1,149 @@ +#include + +/* Structure to contain all our information, so we can pass it to callbacks */ +typedef struct _CustomData { + GstElement *pipeline; + GstElement *source; + GstElement *convert; + GstElement *sink; +} CustomData; + +/* Handler for the pad-added signal */ +static void pad_added_handler (GstElement *src, GstPad *pad, CustomData *data); + +int main(int argc, char *argv[]) { + CustomData data; + GstBus *bus; + GstMessage *msg; + GstStateChangeReturn ret; + gboolean terminate = FALSE; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Create the elements */ + data.source = gst_element_factory_make ("uridecodebin", "source"); + data.convert = gst_element_factory_make ("audioconvert", "convert"); + data.sink = gst_element_factory_make ("autoaudiosink", "sink"); + + /* Create the empty pipeline */ + data.pipeline = gst_pipeline_new ("test-pipeline"); + + if (!data.pipeline || !data.source || !data.convert || !data.sink) { + g_printerr ("Not all elements could be created.\n"); + return -1; + } + + /* Build the pipeline. Note that we are NOT linking the source at this + * point. We will do it later. */ + gst_bin_add_many (GST_BIN (data.pipeline), data.source, data.convert , data.sink, NULL); + if (!gst_element_link (data.convert, data.sink)) { + g_printerr ("Elements could not be linked.\n"); + gst_object_unref (data.pipeline); + return -1; + } + + /* Set the URI to play */ + g_object_set (data.source, "uri", "http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + + /* Connect to the pad-added signal */ + g_signal_connect (data.source, "pad-added", G_CALLBACK (pad_added_handler), &data); + + /* Start playing */ + ret = gst_element_set_state (data.pipeline, GST_STATE_PLAYING); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (data.pipeline); + return -1; + } + + /* Listen to the bus */ + bus = gst_element_get_bus (data.pipeline); + do { + msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, + GST_MESSAGE_STATE_CHANGED | GST_MESSAGE_ERROR | GST_MESSAGE_EOS); + + /* Parse message */ + if (msg != NULL) { + GError *err; + gchar *debug_info; + + switch (GST_MESSAGE_TYPE (msg)) { + case GST_MESSAGE_ERROR: + gst_message_parse_error (msg, &err, &debug_info); + g_printerr ("Error received from element %s: %s\n", GST_OBJECT_NAME (msg->src), err->message); + g_printerr ("Debugging information: %s\n", debug_info ? debug_info : "none"); + g_clear_error (&err); + g_free (debug_info); + terminate = TRUE; + break; + case GST_MESSAGE_EOS: + g_print ("End-Of-Stream reached.\n"); + terminate = TRUE; + break; + case GST_MESSAGE_STATE_CHANGED: + /* We are only interested in state-changed messages from the pipeline */ + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data.pipeline)) { + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + g_print ("Pipeline state changed from %s to %s:\n", + gst_element_state_get_name (old_state), gst_element_state_get_name (new_state)); + } + break; + default: + /* We should not reach here */ + g_printerr ("Unexpected message received.\n"); + break; + } + gst_message_unref (msg); + } + } while (!terminate); + + /* Free resources */ + gst_object_unref (bus); + gst_element_set_state (data.pipeline, GST_STATE_NULL); + gst_object_unref (data.pipeline); + return 0; +} + +/* This function will be called by the pad-added signal */ +static void pad_added_handler (GstElement *src, GstPad *new_pad, CustomData *data) { + GstPad *sink_pad = gst_element_get_static_pad (data->convert, "sink"); + GstPadLinkReturn ret; + GstCaps *new_pad_caps = NULL; + GstStructure *new_pad_struct = NULL; + const gchar *new_pad_type = NULL; + + g_print ("Received new pad '%s' from '%s':\n", GST_PAD_NAME (new_pad), GST_ELEMENT_NAME (src)); + + /* If our converter is already linked, we have nothing to do here */ + if (gst_pad_is_linked (sink_pad)) { + g_print (" We are already linked. Ignoring.\n"); + goto exit; + } + + /* Check the new pad's type */ + new_pad_caps = gst_pad_get_caps (new_pad); + new_pad_struct = gst_caps_get_structure (new_pad_caps, 0); + new_pad_type = gst_structure_get_name (new_pad_struct); + if (!g_str_has_prefix (new_pad_type, "audio/x-raw")) { + g_print (" It has type '%s' which is not raw audio. Ignoring.\n", new_pad_type); + goto exit; + } + + /* Attempt the link */ + ret = gst_pad_link (new_pad, sink_pad); + if (GST_PAD_LINK_FAILED (ret)) { + g_print (" Type is '%s' but link failed.\n", new_pad_type); + } else { + g_print (" Link succeeded (type '%s').\n", new_pad_type); + } + +exit: + /* Unreference the new pad's caps, if we got them */ + if (new_pad_caps != NULL) + gst_caps_unref (new_pad_caps); + + /* Unreference the sink pad */ + gst_object_unref (sink_pad); +} diff --git a/gst-sdk/tutorials/basic-tutorial-4.c b/gst-sdk/tutorials/basic-tutorial-4.c new file mode 100644 index 0000000000..7f3c94f05c --- /dev/null +++ b/gst-sdk/tutorials/basic-tutorial-4.c @@ -0,0 +1,157 @@ +#include + +/* Structure to contain all our information, so we can pass it around */ +typedef struct _CustomData { + GstElement *playbin2; /* Our one and only element */ + gboolean playing; /* Are we in the PLAYING state? */ + gboolean terminate; /* Should we terminate execution? */ + gboolean seek_enabled; /* Is seeking enabled for this media? */ + gboolean seek_done; /* Have we performed the seek already? */ + gint64 duration; /* How long does this media last, in nanoseconds */ +} CustomData; + +/* Forward definition of the message processing function */ +static void handle_message (CustomData *data, GstMessage *msg); + +int main(int argc, char *argv[]) { + CustomData data; + GstBus *bus; + GstMessage *msg; + GstStateChangeReturn ret; + + data.playing = FALSE; + data.terminate = FALSE; + data.seek_enabled = FALSE; + data.seek_done = FALSE; + data.duration = GST_CLOCK_TIME_NONE; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Create the elements */ + data.playbin2 = gst_element_factory_make ("playbin2", "playbin2"); + + if (!data.playbin2) { + g_printerr ("Not all elements could be created.\n"); + return -1; + } + + /* Set the URI to play */ + g_object_set (data.playbin2, "uri", "http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + + /* Start playing */ + ret = gst_element_set_state (data.playbin2, GST_STATE_PLAYING); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (data.playbin2); + return -1; + } + + /* Listen to the bus */ + bus = gst_element_get_bus (data.playbin2); + do { + msg = gst_bus_timed_pop_filtered (bus, 100 * GST_MSECOND, + GST_MESSAGE_STATE_CHANGED | GST_MESSAGE_ERROR | GST_MESSAGE_EOS | GST_MESSAGE_DURATION); + + /* Parse message */ + if (msg != NULL) { + handle_message (&data, msg); + } else { + /* We got no message, this means the timeout expired */ + if (data.playing) { + GstFormat fmt = GST_FORMAT_TIME; + gint64 current = -1; + + /* Query the current position of the stream */ + if (!gst_element_query_position (data.playbin2, &fmt, ¤t)) { + g_printerr ("Could not query current position.\n"); + } + + /* If we didn't know it yet, query the stream duration */ + if (!GST_CLOCK_TIME_IS_VALID (data.duration)) { + if (!gst_element_query_duration (data.playbin2, &fmt, &data.duration)) { + g_printerr ("Could not query current duration.\n"); + } + } + + /* Print current position and total duration */ + g_print ("Position %" GST_TIME_FORMAT " / %" GST_TIME_FORMAT "\r", + GST_TIME_ARGS (current), GST_TIME_ARGS (data.duration)); + + /* If seeking is enabled, we have not done it yet, and the time is right, seek */ + if (data.seek_enabled && !data.seek_done && current > 10 * GST_SECOND) { + g_print ("\nReached 10s, performing seek...\n"); + gst_element_seek_simple (data.playbin2, GST_FORMAT_TIME, + GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, 30 * GST_SECOND); + data.seek_done = TRUE; + } + } + } + } while (!data.terminate); + + /* Free resources */ + gst_object_unref (bus); + gst_element_set_state (data.playbin2, GST_STATE_NULL); + gst_object_unref (data.playbin2); + return 0; +} + +static void handle_message (CustomData *data, GstMessage *msg) { + GError *err; + gchar *debug_info; + + switch (GST_MESSAGE_TYPE (msg)) { + case GST_MESSAGE_ERROR: + gst_message_parse_error (msg, &err, &debug_info); + g_printerr ("Error received from element %s: %s\n", GST_OBJECT_NAME (msg->src), err->message); + g_printerr ("Debugging information: %s\n", debug_info ? debug_info : "none"); + g_clear_error (&err); + g_free (debug_info); + data->terminate = TRUE; + break; + case GST_MESSAGE_EOS: + g_print ("End-Of-Stream reached.\n"); + data->terminate = TRUE; + break; + case GST_MESSAGE_DURATION: + /* The duration has changed, mark the current one as invalid */ + data->duration = GST_CLOCK_TIME_NONE; + break; + case GST_MESSAGE_STATE_CHANGED: { + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->playbin2)) { + g_print ("Pipeline state changed from %s to %s:\n", + gst_element_state_get_name (old_state), gst_element_state_get_name (new_state)); + + /* Remember whether we are in the PLAYING state or not */ + data->playing = (new_state == GST_STATE_PLAYING); + + if (data->playing) { + /* We just moved to PLAYING. Check if seeking is possible */ + GstQuery *query; + gint64 start, end; + query = gst_query_new_seeking (GST_FORMAT_TIME); + if (gst_element_query (data->playbin2, query)) { + gst_query_parse_seeking (query, NULL, &data->seek_enabled, &start, &end); + if (data->seek_enabled) { + g_print ("Seeking is ENABLED from %" GST_TIME_FORMAT " to %" GST_TIME_FORMAT "\n", + GST_TIME_ARGS (start), GST_TIME_ARGS (end)); + } else { + g_print ("Seeking is DISABLED for this stream.\n"); + } + } + else { + g_printerr ("Seeking query failed."); + } + gst_query_unref (query); + } + } + } break; + default: + /* We should not reach here */ + g_printerr ("Unexpected message received.\n"); + break; + } + gst_message_unref (msg); +} diff --git a/gst-sdk/tutorials/basic-tutorial-5.c b/gst-sdk/tutorials/basic-tutorial-5.c new file mode 100644 index 0000000000..b777c6f5a5 --- /dev/null +++ b/gst-sdk/tutorials/basic-tutorial-5.c @@ -0,0 +1,248 @@ +#include +#include + +#include +#if defined (GDK_WINDOWING_X11) +#include +#elif defined (GDK_WINDOWING_WIN32) +#include +#elif defined (GDK_WINDOWING_QUARTZ) +#include +#endif + +#include +#include + +/* Structure to contain all our information, so we can pass it around */ +typedef struct _CustomData { + GstElement *playbin2; /* Our one and only pipeline */ + GtkWidget *main_window; + GtkWidget *video_window; + GtkWidget *slider; + + GstState state; + gint64 duration; + + guintptr embed_xid; +} CustomData; + +/* Forward definition of the message processing function */ +static gboolean handle_message (GstBus *bus, GstMessage *msg, CustomData *data); +static GstBusSyncReply bus_sync_handler (GstBus *bus, GstMessage *msg, CustomData *data); + +static void realize_cb (GtkWidget *widget, CustomData *data) { + GdkWindow *window = gtk_widget_get_window (widget); + + /* This is here just for pedagogical purposes, GDK_WINDOW_XID will call it + * as well */ /* + if (!gdk_window_ensure_native (window)) + g_error ("Couldn't create native window needed for GstXOverlay!");*/ + +#if defined (GDK_WINDOWING_WIN32) + data->embed_xid = (guintptr)GDK_WINDOW_HWND (window); +#elif defined (GDK_WINDOWING_QUARTZ) + data->embed_xid = gdk_quartz_window_get_nsview (window); +#elif defined (GDK_WINDOWING_X11) + data->embed_xid = GDK_WINDOW_XID (window); +#endif +} + +static void play_cb (GtkButton *button, CustomData *data) { + gst_element_set_state (data->playbin2, GST_STATE_PLAYING); +} + +static void pause_cb (GtkButton *button, CustomData *data) { + gst_element_set_state (data->playbin2, GST_STATE_PAUSED); +} + +static void stop_cb (GtkButton *button, CustomData *data) { + gst_element_set_state (data->playbin2, GST_STATE_READY); +} + +static void delete_event_cb (GtkWidget *widget, GdkEvent *event, CustomData *data) { + stop_cb (NULL, data); + gtk_main_quit (); +} + +static gboolean draw_cb (GtkWidget *widget, GdkEventExpose *event, CustomData *data) { + if (data->state < GST_STATE_PAUSED) { + GtkAllocation allocation; + GdkWindow *window = gtk_widget_get_window (widget); + cairo_t *cr; + + gtk_widget_get_allocation (widget, &allocation); + cr = gdk_cairo_create (window); + cairo_set_source_rgb (cr, 0, 0, 0); + cairo_rectangle (cr, 0, 0, allocation.width, allocation.height); + cairo_fill (cr); + cairo_destroy (cr); + } + /* + if (app->xoverlay_element) + gst_x_overlay_expose (GST_X_OVERLAY (app->xoverlay_element)); + */ + return FALSE; +} + +static void create_ui (CustomData *data) { + GtkWidget *controls, *main_box; + GtkWidget *play_button, *pause_button, *stop_button; + + data->main_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + g_signal_connect (G_OBJECT (data->main_window), "delete-event", G_CALLBACK (delete_event_cb), data); + + data->video_window = gtk_drawing_area_new (); + gtk_widget_set_double_buffered (data->video_window, FALSE); + g_signal_connect (data->video_window, "realize", G_CALLBACK (realize_cb), data); + g_signal_connect (data->video_window, "expose_event", G_CALLBACK (draw_cb), data); + + play_button = gtk_button_new_from_stock (GTK_STOCK_MEDIA_PLAY); + g_signal_connect (G_OBJECT (play_button), "clicked", G_CALLBACK (play_cb), data); + + pause_button = gtk_button_new_from_stock (GTK_STOCK_MEDIA_PAUSE); + g_signal_connect (G_OBJECT (pause_button), "clicked", G_CALLBACK (pause_cb), data); + + stop_button = gtk_button_new_from_stock (GTK_STOCK_MEDIA_STOP); + g_signal_connect (G_OBJECT (stop_button), "clicked", G_CALLBACK (stop_cb), data); + + data->slider = gtk_hscale_new_with_range (0, 100, 1); + gtk_scale_set_draw_value (GTK_SCALE (data->slider), 0); + + controls = gtk_hbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (controls), play_button, FALSE, FALSE, 2); + gtk_box_pack_start (GTK_BOX (controls), pause_button, FALSE, FALSE, 2); + gtk_box_pack_start (GTK_BOX (controls), stop_button, FALSE, FALSE, 2); + gtk_box_pack_start (GTK_BOX (controls), data->slider, TRUE, TRUE, 2); + + main_box = gtk_vbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (main_box), data->video_window, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (main_box), controls, FALSE, FALSE, 0); + gtk_container_add (GTK_CONTAINER (data->main_window), main_box); + gtk_window_set_default_size (GTK_WINDOW (data->main_window), 640, 480); + + gtk_widget_show_all (data->main_window); + + gtk_widget_realize (data->main_window); +} + +static gboolean refresh_ui (CustomData *data) { + GstFormat fmt = GST_FORMAT_TIME; + gint64 current = -1; + + /* We do not want to update anything unless we are in the PLAYING state */ + if (data->state != GST_STATE_PLAYING) return TRUE; + + /* If we didn't know it yet, query the stream duration */ + if (!GST_CLOCK_TIME_IS_VALID (data->duration)) { + if (!gst_element_query_duration (data->playbin2, &fmt, &data->duration)) { + g_printerr ("Could not query current duration.\n"); + } else { + gtk_range_set_range (GTK_RANGE (data->slider), 0, data->duration / GST_SECOND); + } + } + + if (gst_element_query_position (data->playbin2, &fmt, ¤t)) { + gtk_range_set_value (GTK_RANGE (data->slider), current / GST_SECOND); + } + return TRUE; +} + +int main(int argc, char *argv[]) { + CustomData data; + GstStateChangeReturn ret; + GstBus *bus; + + /* Initialize GTK */ + gtk_init (&argc, &argv); + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Initialize our data structure */ + memset (&data, 0, sizeof (data)); + data.duration = GST_CLOCK_TIME_NONE; + + /* Create the elements */ + data.playbin2 = gst_element_factory_make ("playbin2", "playbin2"); + + if (!data.playbin2) { + g_printerr ("Not all elements could be created.\n"); + return -1; + } + + /* Set the URI to play */ +// g_object_set (data.playbin2, "uri", "http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + g_object_set (data.playbin2, "uri", "file:///f:/media/big_buck_bunny_480p.H264.mov", NULL); + + create_ui (&data); + + bus = gst_element_get_bus (data.playbin2); + gst_bus_set_sync_handler (bus, (GstBusSyncHandler)bus_sync_handler, &data); + gst_bus_add_watch (bus, (GstBusFunc)handle_message, &data); + gst_object_unref (bus); + + /* Start playing */ + ret = gst_element_set_state (data.playbin2, GST_STATE_PLAYING); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (data.playbin2); + return -1; + } + + g_timeout_add (500, (GSourceFunc)refresh_ui, &data); + // add timeout to refresh UI: query position and duration (if unknown), gtk_range_set_value() on the slider + gtk_main (); + + /* Free resources */ + gst_element_set_state (data.playbin2, GST_STATE_NULL); + gst_object_unref (data.playbin2); + return 0; +} + +static gboolean handle_message (GstBus *bus, GstMessage *msg, CustomData *data) { + GError *err; + gchar *debug_info; + + switch (GST_MESSAGE_TYPE (msg)) { + case GST_MESSAGE_ERROR: + gst_message_parse_error (msg, &err, &debug_info); + g_printerr ("Error received from element %s: %s\n", GST_OBJECT_NAME (msg->src), err->message); + g_printerr ("Debugging information: %s\n", debug_info ? debug_info : "none"); + g_clear_error (&err); + g_free (debug_info); + gtk_main_quit (); + break; + case GST_MESSAGE_EOS: + g_print ("End-Of-Stream reached.\n"); + gst_element_set_state (data->playbin2, GST_STATE_READY); + break; + case GST_MESSAGE_STATE_CHANGED: { + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->playbin2)) { + data->state = new_state; + g_print ("State set to %s\n", gst_element_state_get_name (new_state)); + } + } break; + } + + return TRUE; +} +static GstBusSyncReply bus_sync_handler (GstBus *bus, GstMessage *msg, CustomData *data) { + /*ignore anything but 'prepare-xwindow-id' element messages */ + if (GST_MESSAGE_TYPE (msg) != GST_MESSAGE_ELEMENT) + return GST_BUS_PASS; + if (!gst_structure_has_name (msg->structure, "prepare-xwindow-id")) + return GST_BUS_PASS; + + if (data->embed_xid != 0) { + /* GST_MESSAGE_SRC (message) will be the video sink element */ + GstXOverlay *xoverlay = GST_X_OVERLAY (GST_MESSAGE_SRC (msg)); + gst_x_overlay_set_window_handle (xoverlay, data->embed_xid); + } else { + g_warning ("Should have obtained an xid by now!"); + } + + gst_message_unref (msg); + return GST_BUS_DROP; +} diff --git a/gst-sdk/tutorials/playback-test.c b/gst-sdk/tutorials/playback-test.c new file mode 100644 index 0000000000..d732956923 --- /dev/null +++ b/gst-sdk/tutorials/playback-test.c @@ -0,0 +1,3389 @@ +/* GStreamer + * + * playback-test.c: playback sample application + * + * Copyright (C) 2005 Wim Taymans + * 2006 Stefan Kost + * 2012 Collabora Ltd. + * Author: Sebastian Dröge + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +/* FIXME 0.11: suppress warnings for deprecated API such as GStaticRecMutex + * with newer GTK versions (>= 3.3.0) */ +#define GDK_DISABLE_DEPRECATION_WARNINGS +#define GLIB_DISABLE_DEPRECATION_WARNINGS + +#include +#include +#include +#include +#include +#include + +#include +#if defined (GDK_WINDOWING_X11) +#include +#elif defined (GDK_WINDOWING_WIN32) +#include +#elif defined (GDK_WINDOWING_QUARTZ) +#include +#endif + +#include +#include +#include + +GST_DEBUG_CATEGORY_STATIC (playback_debug); +#define GST_CAT_DEFAULT (playback_debug) + +/* Copied from gst-plugins-base/gst/playback/gstplay-enum.h */ +typedef enum +{ + GST_PLAY_FLAG_VIDEO = (1 << 0), + GST_PLAY_FLAG_AUDIO = (1 << 1), + GST_PLAY_FLAG_TEXT = (1 << 2), + GST_PLAY_FLAG_VIS = (1 << 3), + GST_PLAY_FLAG_SOFT_VOLUME = (1 << 4), + GST_PLAY_FLAG_NATIVE_AUDIO = (1 << 5), + GST_PLAY_FLAG_NATIVE_VIDEO = (1 << 6), + GST_PLAY_FLAG_DOWNLOAD = (1 << 7), + GST_PLAY_FLAG_BUFFERING = (1 << 8), + GST_PLAY_FLAG_DEINTERLACE = (1 << 9), + GST_PLAY_FLAG_SOFT_COLORBALANCE = (1 << 10) +} GstPlayFlags; + +/* configuration */ + +#define FILL_INTERVAL 100 +//#define UPDATE_INTERVAL 500 +//#define UPDATE_INTERVAL 100 +#define UPDATE_INTERVAL 40 + +/* number of milliseconds to play for after a seek */ +#define SCRUB_TIME 100 + +/* timeout for gst_element_get_state() after a seek */ +#define SEEK_TIMEOUT 40 * GST_MSECOND + +#define DEFAULT_VIDEO_HEIGHT 300 + +/* the state to go to when stop is pressed */ +#define STOP_STATE GST_STATE_READY + +#define N_GRAD 1000.0 + +/* we keep an array of the visualisation entries so that we can easily switch + * with the combo box index. */ +typedef struct +{ + GstElementFactory *factory; +} VisEntry; + +typedef struct +{ + /* GTK widgets */ + GtkWidget *window; + GtkWidget *video_combo, *audio_combo, *text_combo, *vis_combo; + GtkWidget *video_window; + + GtkWidget *vis_checkbox, *video_checkbox, *audio_checkbox; + GtkWidget *text_checkbox, *mute_checkbox, *volume_spinbutton; + GtkWidget *soft_volume_checkbox, *native_audio_checkbox, + *native_video_checkbox; + GtkWidget *download_checkbox, *buffering_checkbox, *deinterlace_checkbox; + GtkWidget *soft_colorbalance_checkbox; + GtkWidget *video_sink_entry, *audio_sink_entry, *text_sink_entry; + GtkWidget *buffer_size_entry, *buffer_duration_entry; + GtkWidget *ringbuffer_maxsize_entry, *connection_speed_entry; + GtkWidget *av_offset_entry, *subtitle_encoding_entry; + GtkWidget *subtitle_fontdesc_button; + + GtkWidget *seek_format_combo, *seek_position_label, *seek_duration_label; + GtkWidget *seek_entry; + + GtkWidget *seek_scale, *statusbar; + guint status_id; + + GtkWidget *step_format_combo, *step_amount_spinbutton, *step_rate_spinbutton; + GtkWidget *shuttle_scale; + + GtkWidget *contrast_scale, *brightness_scale, *hue_scale, *saturation_scale; + + struct + { + GstNavigationCommand cmd; + GtkWidget *button; + } navigation_buttons[14]; + + guintptr embed_xid; + + /* GStreamer pipeline */ + GstElement *pipeline; + + GstElement *navigation_element; + GstElement *colorbalance_element; + GstElement *xoverlay_element; + + /* Settings */ + gboolean accurate_seek; + gboolean keyframe_seek; + gboolean loop_seek; + gboolean flush_seek; + gboolean scrub; + gboolean play_scrub; + gboolean skip_seek; + gdouble rate; + + /* From commandline parameters */ + gboolean stats; + gboolean verbose; + const gchar *pipeline_spec; + gint pipeline_type; + GList *paths, *current_path; + GList *sub_paths, *current_sub_path; + + gchar *audiosink_str, *videosink_str; + + /* Internal state */ + gint64 position, duration; + + gboolean is_live; + gboolean buffering; + GstBufferingMode mode; + gint64 buffering_left; + GstState state; + guint update_id; + guint seek_timeout_id; + gulong changed_id; + guint fill_id; + + gboolean need_streams; + gint n_video, n_audio, n_text; + + GStaticMutex state_mutex; + + GArray *vis_entries; /* Array of VisEntry structs */ + + gboolean shuttling; + gdouble shuttle_rate; + gdouble play_rate; + + const GstFormatDefinition *seek_format; + GList *formats; + + gint n_formats; +} PlaybackApp; + +static void clear_streams (PlaybackApp * app); +static void find_interface_elements (PlaybackApp * app); +static void volume_notify_cb (GstElement * pipeline, GParamSpec * arg, + PlaybackApp * app); +static void mute_notify_cb (GstElement * pipeline, GParamSpec * arg, + PlaybackApp * app); + +static void video_sink_activate_cb (GtkEntry * entry, PlaybackApp * app); +static void text_sink_activate_cb (GtkEntry * entry, PlaybackApp * app); +static void audio_sink_activate_cb (GtkEntry * entry, PlaybackApp * app); +static void buffer_size_activate_cb (GtkEntry * entry, PlaybackApp * app); +static void buffer_duration_activate_cb (GtkEntry * entry, PlaybackApp * app); +static void ringbuffer_maxsize_activate_cb (GtkEntry * entry, + PlaybackApp * app); +static void connection_speed_activate_cb (GtkEntry * entry, PlaybackApp * app); +static void av_offset_activate_cb (GtkEntry * entry, PlaybackApp * app); +static void subtitle_encoding_activate_cb (GtkEntry * entry, PlaybackApp * app); + +/* pipeline construction */ + +static GstElement * +gst_element_factory_make_or_warn (const gchar * type, const gchar * name) +{ + GstElement *element = gst_element_factory_make (type, name); + +#ifndef GST_DISABLE_PARSE + if (!element) { + /* Try parsing it as a pipeline description */ + element = gst_parse_bin_from_description (type, TRUE, NULL); + if (element) { + gst_element_set_name (element, name); + } + } +#endif + + if (!element) { + g_warning ("Failed to create element %s of type %s", name, type); + } + + return element; +} + +static void +set_uri_property (GObject * object, const gchar * property, + const gchar * location) +{ + gchar *uri; + + /* Add "file://" prefix for convenience */ + if (location && (g_str_has_prefix (location, "/") + || !gst_uri_is_valid (location))) { + uri = gst_filename_to_uri (location, NULL); + g_print ("Setting URI: %s\n", uri); + g_object_set (object, property, uri, NULL); + g_free (uri); + } else { + g_print ("Setting URI: %s\n", location); + g_object_set (object, property, location, NULL); + } +} + +static void +playbin_set_uri (GstElement * playbin, const gchar * location, + const gchar * sub_location) +{ + set_uri_property (G_OBJECT (playbin), "uri", location); + set_uri_property (G_OBJECT (playbin), "suburi", sub_location); +} + +static void +make_playbin2_pipeline (PlaybackApp * app, const gchar * location) +{ + GstElement *pipeline; + + app->pipeline = pipeline = gst_element_factory_make ("playbin2", "playbin2"); + g_assert (pipeline); + + playbin_set_uri (pipeline, location, + app->current_sub_path ? app->current_sub_path->data : NULL); + + g_signal_connect (pipeline, "notify::volume", G_CALLBACK (volume_notify_cb), + app); + g_signal_connect (pipeline, "notify::mute", G_CALLBACK (mute_notify_cb), app); + + app->navigation_element = GST_ELEMENT (gst_object_ref (pipeline)); + app->colorbalance_element = GST_ELEMENT (gst_object_ref (pipeline)); +} + +#ifndef GST_DISABLE_PARSE +static void +make_parselaunch_pipeline (PlaybackApp * app, const gchar * description) +{ + app->pipeline = gst_parse_launch (description, NULL); +} +#endif + +typedef struct +{ + const gchar *name; + void (*func) (PlaybackApp * app, const gchar * location); +} +Pipeline; + +static const Pipeline pipelines[] = { + {"playbin2", make_playbin2_pipeline}, +#ifndef GST_DISABLE_PARSE + {"parse-launch", make_parselaunch_pipeline}, +#endif +}; + +/* ui callbacks and helpers */ + +static gchar * +format_value (GtkScale * scale, gdouble value, PlaybackApp * app) +{ + gint64 real; + gint64 seconds; + gint64 subseconds; + + real = value * app->duration / N_GRAD; + seconds = (gint64) real / GST_SECOND; + subseconds = (gint64) real / (GST_SECOND / N_GRAD); + + return g_strdup_printf ("%02" G_GINT64_FORMAT ":%02" G_GINT64_FORMAT ":%02" + G_GINT64_FORMAT, seconds / 60, seconds % 60, subseconds % 100); +} + +static gchar * +shuttle_format_value (GtkScale * scale, gdouble value) +{ + return g_strdup_printf ("%0.*g", gtk_scale_get_digits (scale), value); +} + +typedef struct +{ + const gchar *name; + const GstFormat format; +} +seek_format; + +static seek_format seek_formats[] = { + {"tim", GST_FORMAT_TIME}, + {"byt", GST_FORMAT_BYTES}, + {"buf", GST_FORMAT_BUFFERS}, + {"def", GST_FORMAT_DEFAULT}, + {NULL, 0}, +}; + +static void +query_positions (PlaybackApp * app) +{ + gint i = 0; + + g_print ("positions %8.8s: ", GST_ELEMENT_NAME (app->pipeline)); + while (seek_formats[i].name) { + gint64 position, total; + GstFormat format; + + format = seek_formats[i].format; + + if (gst_element_query_position (app->pipeline, &format, &position) && + gst_element_query_duration (app->pipeline, &format, &total)) { + g_print ("%s %13" G_GINT64_FORMAT " / %13" G_GINT64_FORMAT " | ", + seek_formats[i].name, position, total); + } else { + g_print ("%s %13.13s / %13.13s | ", seek_formats[i].name, "*NA*", "*NA*"); + } + i++; + } + g_print (" %s\n", GST_ELEMENT_NAME (app->pipeline)); +} + +static gboolean start_seek (GtkRange * range, GdkEventButton * event, + PlaybackApp * app); +static gboolean stop_seek (GtkRange * range, GdkEventButton * event, + PlaybackApp * app); +static void seek_cb (GtkRange * range, PlaybackApp * app); + +static void +set_scale (PlaybackApp * app, gdouble value) +{ + g_signal_handlers_block_by_func (app->seek_scale, start_seek, app); + g_signal_handlers_block_by_func (app->seek_scale, stop_seek, app); + g_signal_handlers_block_by_func (app->seek_scale, seek_cb, app); + gtk_range_set_value (GTK_RANGE (app->seek_scale), value); + g_signal_handlers_unblock_by_func (app->seek_scale, start_seek, app); + g_signal_handlers_unblock_by_func (app->seek_scale, stop_seek, app); + g_signal_handlers_unblock_by_func (app->seek_scale, seek_cb, app); + gtk_widget_queue_draw (app->seek_scale); +} + +static gboolean +update_fill (PlaybackApp * app) +{ + GstQuery *query; + + query = gst_query_new_buffering (GST_FORMAT_PERCENT); + if (gst_element_query (app->pipeline, query)) { + gint64 start, stop, buffering_total; + GstFormat format; + gdouble fill; + gboolean busy; + gint percent; + GstBufferingMode mode; + gint avg_in, avg_out; + gint64 buffering_left; + + gst_query_parse_buffering_percent (query, &busy, &percent); + gst_query_parse_buffering_range (query, &format, &start, &stop, + &buffering_total); + gst_query_parse_buffering_stats (query, &mode, &avg_in, &avg_out, + &buffering_left); + + /* note that we could start the playback when buffering_left < remaining + * playback time */ + GST_DEBUG ("buffering total %" G_GINT64_FORMAT " ms, left %" + G_GINT64_FORMAT " ms", buffering_total, buffering_left); + GST_DEBUG ("start %" G_GINT64_FORMAT ", stop %" G_GINT64_FORMAT, + start, stop); + + if (stop != -1) + fill = N_GRAD * stop / GST_FORMAT_PERCENT_MAX; + else + fill = N_GRAD; + + gtk_range_set_fill_level (GTK_RANGE (app->seek_scale), fill); + } + gst_query_unref (query); + + return TRUE; +} + +static gboolean +update_scale (PlaybackApp * app) +{ + GstFormat format = GST_FORMAT_TIME; + gint64 seek_pos, seek_dur; + gchar *str; + + //position = 0; + //duration = 0; + + gst_element_query_position (app->pipeline, &format, &app->position); + gst_element_query_duration (app->pipeline, &format, &app->duration); + + if (app->stats) + query_positions (app); + + if (app->position >= app->duration) + app->duration = app->position; + + if (app->duration > 0) { + set_scale (app, app->position * N_GRAD / app->duration); + } + + if (app->seek_format) { + format = app->seek_format->value; + seek_pos = seek_dur = -1; + gst_element_query_position (app->pipeline, &format, &seek_pos); + gst_element_query_duration (app->pipeline, &format, &seek_dur); + + str = g_strdup_printf ("%" G_GINT64_FORMAT, seek_pos); + gtk_label_set_text (GTK_LABEL (app->seek_position_label), str); + g_free (str); + + str = g_strdup_printf ("%" G_GINT64_FORMAT, seek_dur); + gtk_label_set_text (GTK_LABEL (app->seek_duration_label), str); + g_free (str); + } + + return TRUE; +} + +static void set_update_scale (PlaybackApp * app, gboolean active); +static void set_update_fill (PlaybackApp * app, gboolean active); + +static gboolean +end_scrub (PlaybackApp * app) +{ + GST_DEBUG ("end scrub, PAUSE"); + gst_element_set_state (app->pipeline, GST_STATE_PAUSED); + app->seek_timeout_id = 0; + + return FALSE; +} + +static gboolean +send_event (PlaybackApp * app, GstEvent * event) +{ + gboolean res = FALSE; + + GST_DEBUG ("send event on element %s", GST_ELEMENT_NAME (app->pipeline)); + res = gst_element_send_event (app->pipeline, event); + + return res; +} + +static void +do_seek (PlaybackApp * app, GstFormat format, gint64 position) +{ + gboolean res = FALSE; + GstEvent *s_event; + GstSeekFlags flags; + + flags = 0; + if (app->flush_seek) + flags |= GST_SEEK_FLAG_FLUSH; + if (app->accurate_seek) + flags |= GST_SEEK_FLAG_ACCURATE; + if (app->keyframe_seek) + flags |= GST_SEEK_FLAG_KEY_UNIT; + if (app->loop_seek) + flags |= GST_SEEK_FLAG_SEGMENT; + if (app->skip_seek) + flags |= GST_SEEK_FLAG_SKIP; + + if (app->rate >= 0) { + s_event = gst_event_new_seek (app->rate, + format, flags, GST_SEEK_TYPE_SET, position, GST_SEEK_TYPE_SET, + GST_CLOCK_TIME_NONE); + GST_DEBUG ("seek with rate %lf to %" GST_TIME_FORMAT " / %" GST_TIME_FORMAT, + app->rate, GST_TIME_ARGS (position), GST_TIME_ARGS (app->duration)); + } else { + s_event = gst_event_new_seek (app->rate, + format, flags, GST_SEEK_TYPE_SET, G_GINT64_CONSTANT (0), + GST_SEEK_TYPE_SET, position); + GST_DEBUG ("seek with rate %lf to %" GST_TIME_FORMAT " / %" GST_TIME_FORMAT, + app->rate, GST_TIME_ARGS (0), GST_TIME_ARGS (position)); + } + + res = send_event (app, s_event); + + if (res) { + if (app->flush_seek) { + gst_element_get_state (GST_ELEMENT (app->pipeline), NULL, NULL, + SEEK_TIMEOUT); + } else { + set_update_scale (app, TRUE); + } + } else { + g_print ("seek failed\n"); + set_update_scale (app, TRUE); + } +} + +static void +seek_cb (GtkRange * range, PlaybackApp * app) +{ + gint64 real; + /* If the timer hasn't expired yet, then the pipeline is running */ + if (app->play_scrub && app->seek_timeout_id != 0) { + GST_DEBUG ("do scrub seek, PAUSED"); + gst_element_set_state (app->pipeline, GST_STATE_PAUSED); + } + + real = + gtk_range_get_value (GTK_RANGE (app->seek_scale)) * app->duration / + N_GRAD; + + GST_DEBUG ("value=%f, real=%" G_GINT64_FORMAT, + gtk_range_get_value (GTK_RANGE (app->seek_scale)), real); + + GST_DEBUG ("do seek"); + do_seek (app, GST_FORMAT_TIME, real); + + if (app->play_scrub) { + GST_DEBUG ("do scrub seek, PLAYING"); + gst_element_set_state (app->pipeline, GST_STATE_PLAYING); + + if (app->seek_timeout_id == 0) { + app->seek_timeout_id = + g_timeout_add (SCRUB_TIME, (GSourceFunc) end_scrub, app); + } + } +} + +static void +advanced_seek_button_cb (GtkButton * button, PlaybackApp * app) +{ + GstFormat fmt; + gint64 pos; + const gchar *text; + gchar *endptr; + + fmt = app->seek_format->value; + + text = gtk_entry_get_text (GTK_ENTRY (app->seek_entry)); + + pos = g_ascii_strtoll (text, &endptr, 10); + if (endptr != text && pos != G_MAXINT64 && pos != G_MININT64) { + do_seek (app, fmt, pos); + } +} + +static void +set_update_fill (PlaybackApp * app, gboolean active) +{ + GST_DEBUG ("fill scale is %d", active); + + if (active) { + if (app->fill_id == 0) { + app->fill_id = + g_timeout_add (FILL_INTERVAL, (GSourceFunc) update_fill, app); + } + } else { + if (app->fill_id) { + g_source_remove (app->fill_id); + app->fill_id = 0; + } + } +} + +static void +set_update_scale (PlaybackApp * app, gboolean active) +{ + GST_DEBUG ("update scale is %d", active); + + if (active) { + if (app->update_id == 0) { + app->update_id = + g_timeout_add (UPDATE_INTERVAL, (GSourceFunc) update_scale, app); + } + } else { + if (app->update_id) { + g_source_remove (app->update_id); + app->update_id = 0; + } + } +} + +static gboolean +start_seek (GtkRange * range, GdkEventButton * event, PlaybackApp * app) +{ + if (event->type != GDK_BUTTON_PRESS) + return FALSE; + + set_update_scale (app, FALSE); + + if (app->state == GST_STATE_PLAYING && app->flush_seek && app->scrub) { + GST_DEBUG ("start scrub seek, PAUSE"); + gst_element_set_state (app->pipeline, GST_STATE_PAUSED); + } + + if (app->changed_id == 0 && app->flush_seek && app->scrub) { + app->changed_id = + g_signal_connect (app->seek_scale, "value-changed", + G_CALLBACK (seek_cb), app); + } + + return FALSE; +} + +static gboolean +stop_seek (GtkRange * range, GdkEventButton * event, PlaybackApp * app) +{ + if (app->changed_id) { + g_signal_handler_disconnect (app->seek_scale, app->changed_id); + app->changed_id = 0; + } + + if (!app->flush_seek || !app->scrub) { + gint64 real; + + GST_DEBUG ("do final seek"); + real = + gtk_range_get_value (GTK_RANGE (app->seek_scale)) * app->duration / + N_GRAD; + do_seek (app, GST_FORMAT_TIME, real); + } + + if (app->seek_timeout_id != 0) { + g_source_remove (app->seek_timeout_id); + app->seek_timeout_id = 0; + /* Still scrubbing, so the pipeline is playing, see if we need PAUSED + * instead. */ + if (app->state == GST_STATE_PAUSED) { + GST_DEBUG ("stop scrub seek, PAUSED"); + gst_element_set_state (app->pipeline, GST_STATE_PAUSED); + } + } else { + if (app->state == GST_STATE_PLAYING) { + GST_DEBUG ("stop scrub seek, PLAYING"); + gst_element_set_state (app->pipeline, GST_STATE_PLAYING); + } + } + + return FALSE; +} + +static void +play_cb (GtkButton * button, PlaybackApp * app) +{ + GstStateChangeReturn ret; + + if (app->state != GST_STATE_PLAYING) { + g_print ("PLAY pipeline\n"); + gtk_statusbar_pop (GTK_STATUSBAR (app->statusbar), app->status_id); + + if (app->pipeline_type == 0) { + video_sink_activate_cb (GTK_ENTRY (app->video_sink_entry), app); + audio_sink_activate_cb (GTK_ENTRY (app->audio_sink_entry), app); + text_sink_activate_cb (GTK_ENTRY (app->text_sink_entry), app); + buffer_size_activate_cb (GTK_ENTRY (app->buffer_size_entry), app); + buffer_duration_activate_cb (GTK_ENTRY (app->buffer_duration_entry), app); + ringbuffer_maxsize_activate_cb (GTK_ENTRY (app->ringbuffer_maxsize_entry), + app); + connection_speed_activate_cb (GTK_ENTRY (app->connection_speed_entry), + app); + av_offset_activate_cb (GTK_ENTRY (app->av_offset_entry), app); + subtitle_encoding_activate_cb (GTK_ENTRY (app->subtitle_encoding_entry), + app); + } + + ret = gst_element_set_state (app->pipeline, GST_STATE_PLAYING); + switch (ret) { + case GST_STATE_CHANGE_FAILURE: + goto failed; + case GST_STATE_CHANGE_NO_PREROLL: + app->is_live = TRUE; + break; + default: + break; + } + app->state = GST_STATE_PLAYING; + gtk_statusbar_push (GTK_STATUSBAR (app->statusbar), app->status_id, + "Playing"); + } + + return; + +failed: + { + g_print ("PLAY failed\n"); + gtk_statusbar_push (GTK_STATUSBAR (app->statusbar), app->status_id, + "Play failed"); + } +} + +static void +pause_cb (GtkButton * button, PlaybackApp * app) +{ + g_static_mutex_lock (&app->state_mutex); + if (app->state != GST_STATE_PAUSED) { + GstStateChangeReturn ret; + + gtk_statusbar_pop (GTK_STATUSBAR (app->statusbar), app->status_id); + g_print ("PAUSE pipeline\n"); + ret = gst_element_set_state (app->pipeline, GST_STATE_PAUSED); + switch (ret) { + case GST_STATE_CHANGE_FAILURE: + goto failed; + case GST_STATE_CHANGE_NO_PREROLL: + app->is_live = TRUE; + break; + default: + break; + } + + app->state = GST_STATE_PAUSED; + gtk_statusbar_push (GTK_STATUSBAR (app->statusbar), app->status_id, + "Paused"); + } + g_static_mutex_unlock (&app->state_mutex); + + return; + +failed: + { + g_static_mutex_unlock (&app->state_mutex); + g_print ("PAUSE failed\n"); + gtk_statusbar_push (GTK_STATUSBAR (app->statusbar), app->status_id, + "Pause failed"); + } +} + +static void +stop_cb (GtkButton * button, PlaybackApp * app) +{ + if (app->state != STOP_STATE) { + GstStateChangeReturn ret; + gint i; + + g_print ("READY pipeline\n"); + gtk_statusbar_pop (GTK_STATUSBAR (app->statusbar), app->status_id); + + g_static_mutex_lock (&app->state_mutex); + ret = gst_element_set_state (app->pipeline, STOP_STATE); + if (ret == GST_STATE_CHANGE_FAILURE) + goto failed; + + app->state = STOP_STATE; + gtk_statusbar_push (GTK_STATUSBAR (app->statusbar), app->status_id, + "Stopped"); + gtk_widget_queue_draw (app->video_window); + + app->is_live = FALSE; + app->buffering = FALSE; + set_update_scale (app, FALSE); + set_scale (app, 0.0); + set_update_fill (app, FALSE); + + if (app->pipeline_type == 0) + clear_streams (app); + g_static_mutex_unlock (&app->state_mutex); + + gtk_widget_set_sensitive (GTK_WIDGET (app->seek_scale), TRUE); + for (i = 0; i < G_N_ELEMENTS (app->navigation_buttons); i++) + gtk_widget_set_sensitive (app->navigation_buttons[i].button, FALSE); + } + return; + +failed: + { + g_static_mutex_unlock (&app->state_mutex); + g_print ("STOP failed\n"); + gtk_statusbar_push (GTK_STATUSBAR (app->statusbar), app->status_id, + "Stop failed"); + } +} + +static void +accurate_toggle_cb (GtkToggleButton * button, PlaybackApp * app) +{ + app->accurate_seek = gtk_toggle_button_get_active (button); +} + +static void +key_toggle_cb (GtkToggleButton * button, PlaybackApp * app) +{ + app->keyframe_seek = gtk_toggle_button_get_active (button); +} + +static void +loop_toggle_cb (GtkToggleButton * button, PlaybackApp * app) +{ + app->loop_seek = gtk_toggle_button_get_active (button); + if (app->state == GST_STATE_PLAYING) { + gint64 real; + + real = + gtk_range_get_value (GTK_RANGE (app->seek_scale)) * app->duration / + N_GRAD; + do_seek (app, GST_FORMAT_TIME, real); + } +} + +static void +flush_toggle_cb (GtkToggleButton * button, PlaybackApp * app) +{ + app->flush_seek = gtk_toggle_button_get_active (button); +} + +static void +scrub_toggle_cb (GtkToggleButton * button, PlaybackApp * app) +{ + app->scrub = gtk_toggle_button_get_active (button); +} + +static void +play_scrub_toggle_cb (GtkToggleButton * button, PlaybackApp * app) +{ + app->play_scrub = gtk_toggle_button_get_active (button); +} + +static void +skip_toggle_cb (GtkToggleButton * button, PlaybackApp * app) +{ + app->skip_seek = gtk_toggle_button_get_active (button); + if (app->state == GST_STATE_PLAYING) { + gint64 real; + + real = + gtk_range_get_value (GTK_RANGE (app->seek_scale)) * app->duration / + N_GRAD; + do_seek (app, GST_FORMAT_TIME, real); + } +} + +static void +rate_spinbutton_changed_cb (GtkSpinButton * button, PlaybackApp * app) +{ + gboolean res = FALSE; + GstEvent *s_event; + GstSeekFlags flags; + + app->rate = gtk_spin_button_get_value (button); + + GST_DEBUG ("rate changed to %lf", app->rate); + + flags = 0; + if (app->flush_seek) + flags |= GST_SEEK_FLAG_FLUSH; + if (app->loop_seek) + flags |= GST_SEEK_FLAG_SEGMENT; + if (app->accurate_seek) + flags |= GST_SEEK_FLAG_ACCURATE; + if (app->keyframe_seek) + flags |= GST_SEEK_FLAG_KEY_UNIT; + if (app->skip_seek) + flags |= GST_SEEK_FLAG_SKIP; + + if (app->rate >= 0.0) { + s_event = gst_event_new_seek (app->rate, + GST_FORMAT_TIME, flags, GST_SEEK_TYPE_SET, app->position, + GST_SEEK_TYPE_SET, GST_CLOCK_TIME_NONE); + } else { + s_event = gst_event_new_seek (app->rate, + GST_FORMAT_TIME, flags, GST_SEEK_TYPE_SET, G_GINT64_CONSTANT (0), + GST_SEEK_TYPE_SET, app->position); + } + + res = send_event (app, s_event); + + if (res) { + if (app->flush_seek) { + gst_element_get_state (GST_ELEMENT (app->pipeline), NULL, NULL, + SEEK_TIMEOUT); + } + } else + g_print ("seek failed\n"); +} + +static void +update_flag (GstElement * pipeline, GstPlayFlags flag, gboolean state) +{ + gint flags; + + g_print ("%ssetting flag 0x%08x\n", (state ? "" : "un"), flag); + + g_object_get (pipeline, "flags", &flags, NULL); + if (state) + flags |= flag; + else + flags &= ~(flag); + g_object_set (pipeline, "flags", flags, NULL); +} + +static void +vis_toggle_cb (GtkToggleButton * button, PlaybackApp * app) +{ + gboolean state; + + state = gtk_toggle_button_get_active (button); + update_flag (app->pipeline, GST_PLAY_FLAG_VIS, state); + gtk_widget_set_sensitive (app->vis_combo, state); +} + +static void +audio_toggle_cb (GtkToggleButton * button, PlaybackApp * app) +{ + gboolean state; + + state = gtk_toggle_button_get_active (button); + update_flag (app->pipeline, GST_PLAY_FLAG_AUDIO, state); + gtk_widget_set_sensitive (app->audio_combo, state); +} + +static void +video_toggle_cb (GtkToggleButton * button, PlaybackApp * app) +{ + gboolean state; + + state = gtk_toggle_button_get_active (button); + update_flag (app->pipeline, GST_PLAY_FLAG_VIDEO, state); + gtk_widget_set_sensitive (app->video_combo, state); +} + +static void +text_toggle_cb (GtkToggleButton * button, PlaybackApp * app) +{ + gboolean state; + + state = gtk_toggle_button_get_active (button); + update_flag (app->pipeline, GST_PLAY_FLAG_TEXT, state); + gtk_widget_set_sensitive (app->text_combo, state); +} + +static void +mute_toggle_cb (GtkToggleButton * button, PlaybackApp * app) +{ + gboolean mute; + + mute = gtk_toggle_button_get_active (button); + g_object_set (app->pipeline, "mute", mute, NULL); +} + +static void +download_toggle_cb (GtkToggleButton * button, PlaybackApp * app) +{ + gboolean state; + + state = gtk_toggle_button_get_active (button); + update_flag (app->pipeline, GST_PLAY_FLAG_DOWNLOAD, state); +} + +static void +buffering_toggle_cb (GtkToggleButton * button, PlaybackApp * app) +{ + gboolean state; + + state = gtk_toggle_button_get_active (button); + update_flag (app->pipeline, GST_PLAY_FLAG_BUFFERING, state); +} + +static void +soft_volume_toggle_cb (GtkToggleButton * button, PlaybackApp * app) +{ + gboolean state; + + state = gtk_toggle_button_get_active (button); + update_flag (app->pipeline, GST_PLAY_FLAG_SOFT_VOLUME, state); +} + +static void +native_audio_toggle_cb (GtkToggleButton * button, PlaybackApp * app) +{ + gboolean state; + + state = gtk_toggle_button_get_active (button); + update_flag (app->pipeline, GST_PLAY_FLAG_NATIVE_AUDIO, state); +} + +static void +native_video_toggle_cb (GtkToggleButton * button, PlaybackApp * app) +{ + gboolean state; + + state = gtk_toggle_button_get_active (button); + update_flag (app->pipeline, GST_PLAY_FLAG_NATIVE_VIDEO, state); +} + +static void +deinterlace_toggle_cb (GtkToggleButton * button, PlaybackApp * app) +{ + gboolean state; + + state = gtk_toggle_button_get_active (button); + update_flag (app->pipeline, GST_PLAY_FLAG_DEINTERLACE, state); +} + +static void +soft_colorbalance_toggle_cb (GtkToggleButton * button, PlaybackApp * app) +{ + gboolean state; + + state = gtk_toggle_button_get_active (button); + update_flag (app->pipeline, GST_PLAY_FLAG_SOFT_COLORBALANCE, state); +} + +static void +clear_streams (PlaybackApp * app) +{ + gint i; + + /* remove previous info */ + for (i = 0; i < app->n_video; i++) + gtk_combo_box_text_remove (GTK_COMBO_BOX_TEXT (app->video_combo), 0); + for (i = 0; i < app->n_audio; i++) + gtk_combo_box_text_remove (GTK_COMBO_BOX_TEXT (app->audio_combo), 0); + for (i = 0; i < app->n_text; i++) + gtk_combo_box_text_remove (GTK_COMBO_BOX_TEXT (app->text_combo), 0); + + app->n_audio = app->n_video = app->n_text = 0; + gtk_widget_set_sensitive (app->video_combo, FALSE); + gtk_widget_set_sensitive (app->audio_combo, FALSE); + gtk_widget_set_sensitive (app->text_combo, FALSE); + + app->need_streams = TRUE; +} + +static void +update_streams (PlaybackApp * app) +{ + gint i; + + if (app->pipeline_type == 0 && app->need_streams) { + GstTagList *tags; + gchar *name, *str; + gint active_idx; + gboolean state; + + /* remove previous info */ + clear_streams (app); + + /* here we get and update the different streams detected by playbin2 */ + g_object_get (app->pipeline, "n-video", &app->n_video, NULL); + g_object_get (app->pipeline, "n-audio", &app->n_audio, NULL); + g_object_get (app->pipeline, "n-text", &app->n_text, NULL); + + g_print ("video %d, audio %d, text %d\n", app->n_video, app->n_audio, + app->n_text); + + active_idx = 0; + for (i = 0; i < app->n_video; i++) { + g_signal_emit_by_name (app->pipeline, "get-video-tags", i, &tags); + if (tags) { + str = gst_structure_to_string ((GstStructure *) tags); + g_print ("video %d: %s\n", i, str); + g_free (str); + } + /* find good name for the label */ + name = g_strdup_printf ("video %d", i + 1); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (app->video_combo), + name); + g_free (name); + } + state = + gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (app->video_checkbox)); + gtk_widget_set_sensitive (app->video_combo, state && app->n_video > 0); + gtk_combo_box_set_active (GTK_COMBO_BOX (app->video_combo), active_idx); + + active_idx = 0; + for (i = 0; i < app->n_audio; i++) { + g_signal_emit_by_name (app->pipeline, "get-audio-tags", i, &tags); + if (tags) { + str = gst_structure_to_string ((GstStructure *) tags); + g_print ("audio %d: %s\n", i, str); + g_free (str); + } + /* find good name for the label */ + name = g_strdup_printf ("audio %d", i + 1); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (app->audio_combo), + name); + g_free (name); + } + state = + gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (app->audio_checkbox)); + gtk_widget_set_sensitive (app->audio_combo, state && app->n_audio > 0); + gtk_combo_box_set_active (GTK_COMBO_BOX (app->audio_combo), active_idx); + + active_idx = 0; + for (i = 0; i < app->n_text; i++) { + g_signal_emit_by_name (app->pipeline, "get-text-tags", i, &tags); + + name = NULL; + if (tags) { + const GValue *value; + + str = gst_structure_to_string ((GstStructure *) tags); + g_print ("text %d: %s\n", i, str); + g_free (str); + + /* get the language code if we can */ + value = gst_tag_list_get_value_index (tags, GST_TAG_LANGUAGE_CODE, 0); + if (value && G_VALUE_HOLDS_STRING (value)) { + name = g_strdup_printf ("text %s", g_value_get_string (value)); + } + } + /* find good name for the label if we didn't use a tag */ + if (name == NULL) + name = g_strdup_printf ("text %d", i + 1); + + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (app->text_combo), + name); + g_free (name); + } + state = + gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (app->text_checkbox)); + gtk_widget_set_sensitive (app->text_combo, state && app->n_text > 0); + gtk_combo_box_set_active (GTK_COMBO_BOX (app->text_combo), active_idx); + + app->need_streams = FALSE; + } +} + +static void +video_combo_cb (GtkComboBox * combo, PlaybackApp * app) +{ + gint active; + + active = gtk_combo_box_get_active (combo); + + g_print ("setting current video track %d\n", active); + g_object_set (app->pipeline, "current-video", active, NULL); +} + +static void +audio_combo_cb (GtkComboBox * combo, PlaybackApp * app) +{ + gint active; + + active = gtk_combo_box_get_active (combo); + + g_print ("setting current audio track %d\n", active); + g_object_set (app->pipeline, "current-audio", active, NULL); +} + +static void +text_combo_cb (GtkComboBox * combo, PlaybackApp * app) +{ + gint active; + + active = gtk_combo_box_get_active (combo); + + g_print ("setting current text track %d\n", active); + g_object_set (app->pipeline, "current-text", active, NULL); +} + +static gboolean +filter_vis_features (GstPluginFeature * feature, gpointer data) +{ + GstElementFactory *f; + + if (!GST_IS_ELEMENT_FACTORY (feature)) + return FALSE; + f = GST_ELEMENT_FACTORY (feature); + if (!g_strrstr (gst_element_factory_get_klass (f), "Visualization")) + return FALSE; + + return TRUE; +} + +static void +init_visualization_features (PlaybackApp * app) +{ + GList *list, *walk; + + app->vis_entries = g_array_new (FALSE, FALSE, sizeof (VisEntry)); + + list = gst_registry_feature_filter (gst_registry_get_default (), + filter_vis_features, FALSE, NULL); + + for (walk = list; walk; walk = g_list_next (walk)) { + VisEntry entry; + const gchar *name; + + entry.factory = GST_ELEMENT_FACTORY (walk->data); + name = gst_element_factory_get_longname (entry.factory); + + g_array_append_val (app->vis_entries, entry); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (app->vis_combo), name); + } + gtk_combo_box_set_active (GTK_COMBO_BOX (app->vis_combo), 0); +} + +static void +vis_combo_cb (GtkComboBox * combo, PlaybackApp * app) +{ + guint index; + VisEntry *entry; + GstElement *element; + + /* get the selected index and get the factory for this index */ + index = gtk_combo_box_get_active (GTK_COMBO_BOX (app->vis_combo)); + if (app->vis_entries->len > 0) { + entry = &g_array_index (app->vis_entries, VisEntry, index); + + /* create an instance of the element from the factory */ + element = gst_element_factory_create (entry->factory, NULL); + if (!element) + return; + + /* set vis plugin for playbin2 */ + g_object_set (app->pipeline, "vis-plugin", element, NULL); + } +} + +static void +volume_spinbutton_changed_cb (GtkSpinButton * button, PlaybackApp * app) +{ + gdouble volume; + + volume = gtk_spin_button_get_value (button); + + g_object_set (app->pipeline, "volume", volume, NULL); +} + +static gboolean +volume_notify_idle_cb (PlaybackApp * app) +{ + gdouble cur_volume, new_volume; + + g_object_get (app->pipeline, "volume", &new_volume, NULL); + cur_volume = + gtk_spin_button_get_value (GTK_SPIN_BUTTON (app->volume_spinbutton)); + if (fabs (cur_volume - new_volume) > 0.001) { + g_signal_handlers_block_by_func (app->volume_spinbutton, + volume_spinbutton_changed_cb, app); + gtk_spin_button_set_value (GTK_SPIN_BUTTON (app->volume_spinbutton), + new_volume); + g_signal_handlers_unblock_by_func (app->volume_spinbutton, + volume_spinbutton_changed_cb, app); + } + + return FALSE; +} + +static void +volume_notify_cb (GstElement * pipeline, GParamSpec * arg, PlaybackApp * app) +{ + /* Do this from the main thread */ + g_idle_add ((GSourceFunc) volume_notify_idle_cb, app); +} + +static gboolean +mute_notify_idle_cb (PlaybackApp * app) +{ + gboolean cur_mute, new_mute; + + g_object_get (app->pipeline, "mute", &new_mute, NULL); + cur_mute = + gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (app->mute_checkbox)); + if (cur_mute != new_mute) { + g_signal_handlers_block_by_func (app->mute_checkbox, mute_toggle_cb, app); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (app->mute_checkbox), + new_mute); + g_signal_handlers_unblock_by_func (app->mute_checkbox, mute_toggle_cb, app); + } + + return FALSE; +} + +static void +mute_notify_cb (GstElement * pipeline, GParamSpec * arg, PlaybackApp * app) +{ + /* Do this from the main thread */ + g_idle_add ((GSourceFunc) mute_notify_idle_cb, app); +} + +static void +shot_cb (GtkButton * button, PlaybackApp * app) +{ + GstBuffer *buffer; + GstCaps *caps; + + /* convert to our desired format (RGB24) */ + caps = gst_caps_new_simple ("video/x-raw-rgb", + "bpp", G_TYPE_INT, 24, "depth", G_TYPE_INT, 24, + /* Note: we don't ask for a specific width/height here, so that + * videoscale can adjust dimensions from a non-1/1 pixel aspect + * ratio to a 1/1 pixel-aspect-ratio */ + "pixel-aspect-ratio", GST_TYPE_FRACTION, 1, 1, + "endianness", G_TYPE_INT, G_BIG_ENDIAN, + "red_mask", G_TYPE_INT, 0xff0000, + "green_mask", G_TYPE_INT, 0x00ff00, + "blue_mask", G_TYPE_INT, 0x0000ff, NULL); + + /* convert the latest frame to the requested format */ + g_signal_emit_by_name (app->pipeline, "convert-frame", caps, &buffer); + gst_caps_unref (caps); + + if (buffer) { + GstCaps *caps; + GstStructure *s; + gboolean res; + gint width, height; + GdkPixbuf *pixbuf; + GError *error = NULL; + + /* get the snapshot buffer format now. We set the caps on the appsink so + * that it can only be an rgb buffer. The only thing we have not specified + * on the caps is the height, which is dependant on the pixel-aspect-ratio + * of the source material */ + caps = GST_BUFFER_CAPS (buffer); + if (!caps) { + g_warning ("could not get snapshot format\n"); + goto done; + } + s = gst_caps_get_structure (caps, 0); + + /* we need to get the final caps on the buffer to get the size */ + res = gst_structure_get_int (s, "width", &width); + res |= gst_structure_get_int (s, "height", &height); + if (!res) { + g_warning ("could not get snapshot dimension\n"); + goto done; + } + + /* create pixmap from buffer and save, gstreamer video buffers have a stride + * that is rounded up to the nearest multiple of 4 */ + pixbuf = gdk_pixbuf_new_from_data (GST_BUFFER_DATA (buffer), + GDK_COLORSPACE_RGB, FALSE, 8, width, height, + GST_ROUND_UP_4 (width * 3), NULL, NULL); + + /* save the pixbuf */ + gdk_pixbuf_save (pixbuf, "snapshot.png", "png", &error, NULL); + + done: + gst_buffer_unref (buffer); + } +} + +/* called when the Step button is pressed */ +static void +step_cb (GtkButton * button, PlaybackApp * app) +{ + GstEvent *event; + GstFormat format; + guint64 amount; + gdouble rate; + gboolean flush, res; + gint active; + + active = gtk_combo_box_get_active (GTK_COMBO_BOX (app->step_format_combo)); + amount = + gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON + (app->step_amount_spinbutton)); + rate = + gtk_spin_button_get_value (GTK_SPIN_BUTTON (app->step_rate_spinbutton)); + flush = TRUE; + + switch (active) { + case 0: + format = GST_FORMAT_BUFFERS; + break; + case 1: + format = GST_FORMAT_TIME; + amount *= GST_MSECOND; + break; + default: + format = GST_FORMAT_UNDEFINED; + break; + } + + event = gst_event_new_step (format, amount, rate, flush, FALSE); + + res = send_event (app, event); + + if (!res) { + g_print ("Sending step event failed\n"); + } +} + +static void +message_received (GstBus * bus, GstMessage * message, PlaybackApp * app) +{ + const GstStructure *s; + + switch (GST_MESSAGE_TYPE (message)) { + case GST_MESSAGE_ERROR: + GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS (GST_BIN (app->pipeline), + GST_DEBUG_GRAPH_SHOW_ALL, "seek.error"); + break; + case GST_MESSAGE_WARNING: + GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS (GST_BIN (app->pipeline), + GST_DEBUG_GRAPH_SHOW_ALL, "seek.warning"); + break; + default: + break; + } + + s = gst_message_get_structure (message); + g_print ("message from \"%s\" (%s): ", + GST_STR_NULL (GST_ELEMENT_NAME (GST_MESSAGE_SRC (message))), + gst_message_type_get_name (GST_MESSAGE_TYPE (message))); + if (s) { + gchar *sstr; + + sstr = gst_structure_to_string (s); + g_print ("%s\n", sstr); + g_free (sstr); + } else { + g_print ("no message details\n"); + } +} + +static void +do_shuttle (PlaybackApp * app) +{ + guint64 duration; + + if (app->shuttling) + duration = 40 * GST_MSECOND; + else + duration = -1; + + gst_element_send_event (app->pipeline, + gst_event_new_step (GST_FORMAT_TIME, duration, app->shuttle_rate, FALSE, + FALSE)); +} + +static void +msg_sync_step_done (GstBus * bus, GstMessage * message, PlaybackApp * app) +{ + GstFormat format; + guint64 amount; + gdouble rate; + gboolean flush; + gboolean intermediate; + guint64 duration; + gboolean eos; + + gst_message_parse_step_done (message, &format, &amount, &rate, &flush, + &intermediate, &duration, &eos); + + if (eos) { + g_print ("stepped till EOS\n"); + return; + } + + if (g_static_mutex_trylock (&app->state_mutex)) { + if (app->shuttling) + do_shuttle (app); + g_static_mutex_unlock (&app->state_mutex); + } else { + /* ignore step messages that come while we are doing a state change */ + g_print ("state change is busy\n"); + } +} + +static void +shuttle_toggled (GtkToggleButton * button, PlaybackApp * app) +{ + gboolean active; + + active = gtk_toggle_button_get_active (button); + + if (active != app->shuttling) { + app->shuttling = active; + g_print ("shuttling %s\n", app->shuttling ? "active" : "inactive"); + if (active) { + app->shuttle_rate = 0.0; + app->play_rate = 1.0; + pause_cb (NULL, app); + gst_element_get_state (app->pipeline, NULL, NULL, -1); + } + } +} + +static void +shuttle_rate_switch (PlaybackApp * app) +{ + GstSeekFlags flags; + GstEvent *s_event; + gboolean res; + + if (app->state == GST_STATE_PLAYING) { + /* pause when we need to */ + pause_cb (NULL, app); + gst_element_get_state (app->pipeline, NULL, NULL, -1); + } + + if (app->play_rate == 1.0) + app->play_rate = -1.0; + else + app->play_rate = 1.0; + + g_print ("rate changed to %lf %" GST_TIME_FORMAT "\n", app->play_rate, + GST_TIME_ARGS (app->position)); + + flags = GST_SEEK_FLAG_FLUSH; + flags |= GST_SEEK_FLAG_ACCURATE; + + if (app->play_rate >= 0.0) { + s_event = gst_event_new_seek (app->play_rate, + GST_FORMAT_TIME, flags, GST_SEEK_TYPE_SET, app->position, + GST_SEEK_TYPE_SET, GST_CLOCK_TIME_NONE); + } else { + s_event = gst_event_new_seek (app->play_rate, + GST_FORMAT_TIME, flags, GST_SEEK_TYPE_SET, G_GINT64_CONSTANT (0), + GST_SEEK_TYPE_SET, app->position); + } + res = send_event (app, s_event); + if (res) { + gst_element_get_state (app->pipeline, NULL, NULL, SEEK_TIMEOUT); + } else { + g_print ("seek failed\n"); + } +} + +static void +shuttle_value_changed (GtkRange * range, PlaybackApp * app) +{ + gdouble rate; + + rate = gtk_range_get_value (range); + + if (rate == 0.0) { + g_print ("rate 0.0, pause\n"); + pause_cb (NULL, app); + gst_element_get_state (app->pipeline, NULL, NULL, -1); + } else { + g_print ("rate changed %0.3g\n", rate); + + if ((rate < 0.0 && app->play_rate > 0.0) || (rate > 0.0 + && app->play_rate < 0.0)) { + shuttle_rate_switch (app); + } + + app->shuttle_rate = ABS (rate); + if (app->state != GST_STATE_PLAYING) { + do_shuttle (app); + play_cb (NULL, app); + } + } +} + +static void +colorbalance_value_changed (GtkRange * range, PlaybackApp * app) +{ + const gchar *label; + gdouble val; + gint ival; + GstColorBalanceChannel *channel = NULL; + const GList *channels, *l; + + if (range == GTK_RANGE (app->contrast_scale)) + label = "CONTRAST"; + else if (range == GTK_RANGE (app->brightness_scale)) + label = "BRIGHTNESS"; + else if (range == GTK_RANGE (app->hue_scale)) + label = "HUE"; + else if (range == GTK_RANGE (app->saturation_scale)) + label = "SATURATION"; + else + g_assert_not_reached (); + + val = gtk_range_get_value (range); + + g_print ("colorbalance %s value changed %lf\n", label, val / N_GRAD); + + if (!app->colorbalance_element) { + find_interface_elements (app); + if (!app->colorbalance_element) + return; + } + + channels = + gst_color_balance_list_channels (GST_COLOR_BALANCE + (app->colorbalance_element)); + for (l = channels; l; l = l->next) { + GstColorBalanceChannel *tmp = l->data; + + if (g_strrstr (tmp->label, label)) { + channel = tmp; + break; + } + } + + if (!channel) + return; + + ival = + (gint) (0.5 + channel->min_value + + (val / N_GRAD) * ((gdouble) channel->max_value - + (gdouble) channel->min_value)); + gst_color_balance_set_value (GST_COLOR_BALANCE (app->colorbalance_element), + channel, ival); +} + +static void +seek_format_changed_cb (GtkComboBox * box, PlaybackApp * app) +{ + gchar *format_str; + GList *l; + const GstFormatDefinition *format = NULL; + + format_str = gtk_combo_box_text_get_active_text (GTK_COMBO_BOX_TEXT (box)); + + for (l = app->formats; l; l = l->next) { + const GstFormatDefinition *tmp = l->data; + + if (g_strcmp0 (tmp->nick, format_str) == 0) { + format = tmp; + break; + } + } + + if (!format) + goto done; + + app->seek_format = format; + update_scale (app); + +done: + g_free (format_str); +} + +static void +update_formats (PlaybackApp * app) +{ + GstIterator *it; + gboolean done; + GList *l; + gpointer item; + gchar *selected; + gint selected_idx = 0, i; + gint n_formats = 0; + + selected = + gtk_combo_box_text_get_active_text (GTK_COMBO_BOX_TEXT + (app->seek_format_combo)); + if (selected == NULL) + selected = g_strdup ("time"); + + it = gst_format_iterate_definitions (); + done = FALSE; + + g_list_free (app->formats); + app->formats = NULL; + + while (!done) { + switch (gst_iterator_next (it, &item)) { + case GST_ITERATOR_OK: + app->formats = g_list_prepend (app->formats, item); + n_formats++; + break; + case GST_ITERATOR_RESYNC: + g_list_free (app->formats); + app->formats = NULL; + gst_iterator_resync (it); + break; + case GST_ITERATOR_ERROR: + case GST_ITERATOR_DONE: + default: + done = TRUE; + break; + } + } + + app->formats = g_list_reverse (app->formats); + gst_iterator_free (it); + + g_signal_handlers_block_by_func (app->seek_format_combo, + seek_format_changed_cb, app); + + for (i = 0; i < app->n_formats; i++) + gtk_combo_box_text_remove (GTK_COMBO_BOX_TEXT (app->seek_format_combo), 0); + app->n_formats = n_formats; + + for (i = 0, l = app->formats; l; l = l->next, i++) { + const GstFormatDefinition *def = l->data; + + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (app->seek_format_combo), + def->nick); + if (g_strcmp0 (def->nick, selected) == 0) + selected_idx = i; + } + g_signal_handlers_unblock_by_func (app->seek_format_combo, + seek_format_changed_cb, app); + + gtk_combo_box_set_active (GTK_COMBO_BOX (app->seek_format_combo), + selected_idx); + + g_free (selected); +} + +static void +msg_async_done (GstBus * bus, GstMessage * message, PlaybackApp * app) +{ + GST_DEBUG ("async done"); + + /* Now query all available GstFormats */ + update_formats (app); + + /* when we get ASYNC_DONE we can query position, duration and other + * properties */ + update_scale (app); + + /* update the available streams */ + update_streams (app); + + find_interface_elements (app); +} + +static void +msg_state_changed (GstBus * bus, GstMessage * message, PlaybackApp * app) +{ + const GstStructure *s; + + s = gst_message_get_structure (message); + + /* We only care about state changed on the pipeline */ + if (s && GST_MESSAGE_SRC (message) == GST_OBJECT_CAST (app->pipeline)) { + GstState old, new, pending; + + gst_message_parse_state_changed (message, &old, &new, &pending); + + /* When state of the pipeline changes to paused or playing we start updating scale */ + if (new == GST_STATE_PLAYING) { + set_update_scale (app, TRUE); + } else { + set_update_scale (app, FALSE); + } + + /* dump graph for (some) pipeline state changes */ + { + gchar *dump_name; + + dump_name = g_strdup_printf ("seek.%s_%s", + gst_element_state_get_name (old), gst_element_state_get_name (new)); + + GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS (GST_BIN (app->pipeline), + GST_DEBUG_GRAPH_SHOW_ALL, dump_name); + + g_free (dump_name); + } + } +} + +static void +msg_segment_done (GstBus * bus, GstMessage * message, PlaybackApp * app) +{ + GstEvent *s_event; + GstSeekFlags flags; + gboolean res; + GstFormat format; + + GST_DEBUG ("position is %" GST_TIME_FORMAT, GST_TIME_ARGS (app->position)); + gst_message_parse_segment_done (message, &format, &app->position); + GST_DEBUG ("end of segment at %" GST_TIME_FORMAT, + GST_TIME_ARGS (app->position)); + + flags = 0; + /* in the segment-done callback we never flush as this would not make sense + * for seamless playback. */ + if (app->loop_seek) + flags |= GST_SEEK_FLAG_SEGMENT; + if (app->skip_seek) + flags |= GST_SEEK_FLAG_SKIP; + + s_event = gst_event_new_seek (app->rate, + GST_FORMAT_TIME, flags, GST_SEEK_TYPE_SET, G_GINT64_CONSTANT (0), + GST_SEEK_TYPE_SET, app->duration); + + GST_DEBUG ("restart loop with rate %lf to 0 / %" GST_TIME_FORMAT, + app->rate, GST_TIME_ARGS (app->duration)); + + res = send_event (app, s_event); + if (!res) + g_print ("segment seek failed\n"); +} + +/* in stream buffering mode we PAUSE the pipeline until we receive a 100% + * message */ +static void +do_stream_buffering (PlaybackApp * app, gint percent) +{ + gchar *bufstr; + + gtk_statusbar_pop (GTK_STATUSBAR (app->statusbar), app->status_id); + bufstr = g_strdup_printf ("Buffering...%d", percent); + gtk_statusbar_push (GTK_STATUSBAR (app->statusbar), app->status_id, bufstr); + g_free (bufstr); + + if (percent == 100) { + /* a 100% message means buffering is done */ + app->buffering = FALSE; + /* if the desired state is playing, go back */ + if (app->state == GST_STATE_PLAYING) { + /* no state management needed for live pipelines */ + if (!app->is_live) { + fprintf (stderr, "Done buffering, setting pipeline to PLAYING ...\n"); + gst_element_set_state (app->pipeline, GST_STATE_PLAYING); + } + gtk_statusbar_pop (GTK_STATUSBAR (app->statusbar), app->status_id); + gtk_statusbar_push (GTK_STATUSBAR (app->statusbar), app->status_id, + "Playing"); + } + } else { + /* buffering busy */ + if (app->buffering == FALSE && app->state == GST_STATE_PLAYING) { + /* we were not buffering but PLAYING, PAUSE the pipeline. */ + if (!app->is_live) { + fprintf (stderr, "Buffering, setting pipeline to PAUSED ...\n"); + gst_element_set_state (app->pipeline, GST_STATE_PAUSED); + } + } + app->buffering = TRUE; + } +} + +static void +do_download_buffering (PlaybackApp * app, gint percent) +{ + if (!app->buffering && percent < 100) { + gchar *bufstr; + + app->buffering = TRUE; + + bufstr = g_strdup_printf ("Downloading..."); + gtk_statusbar_push (GTK_STATUSBAR (app->statusbar), app->status_id, bufstr); + g_free (bufstr); + + /* once we get a buffering message, we'll do the fill update */ + set_update_fill (app, TRUE); + + if (app->state == GST_STATE_PLAYING && !app->is_live) { + fprintf (stderr, "Downloading, setting pipeline to PAUSED ...\n"); + gst_element_set_state (app->pipeline, GST_STATE_PAUSED); + /* user has to manually start the playback */ + app->state = GST_STATE_PAUSED; + } + } +} + +static void +msg_buffering (GstBus * bus, GstMessage * message, PlaybackApp * app) +{ + gint percent; + + gst_message_parse_buffering (message, &percent); + + /* get more stats */ + gst_message_parse_buffering_stats (message, &app->mode, NULL, NULL, + &app->buffering_left); + + switch (app->mode) { + case GST_BUFFERING_DOWNLOAD: + do_download_buffering (app, percent); + break; + case GST_BUFFERING_LIVE: + app->is_live = TRUE; + case GST_BUFFERING_TIMESHIFT: + case GST_BUFFERING_STREAM: + do_stream_buffering (app, percent); + break; + } +} + +static void +msg_clock_lost (GstBus * bus, GstMessage * message, PlaybackApp * app) +{ + g_print ("clock lost! PAUSE and PLAY to select a new clock\n"); + if (app->state == GST_STATE_PLAYING) { + gst_element_set_state (app->pipeline, GST_STATE_PAUSED); + gst_element_set_state (app->pipeline, GST_STATE_PLAYING); + } +} + +static gboolean +is_valid_color_balance_element (GstElement * element) +{ + GstColorBalance *bal = GST_COLOR_BALANCE (element); + gboolean have_brightness = FALSE; + gboolean have_contrast = FALSE; + gboolean have_hue = FALSE; + gboolean have_saturation = FALSE; + const GList *channels, *l; + + channels = gst_color_balance_list_channels (bal); + for (l = channels; l; l = l->next) { + GstColorBalanceChannel *ch = l->data; + + if (g_strrstr (ch->label, "BRIGHTNESS")) + have_brightness = TRUE; + else if (g_strrstr (ch->label, "CONTRAST")) + have_contrast = TRUE; + else if (g_strrstr (ch->label, "HUE")) + have_hue = TRUE; + else if (g_strrstr (ch->label, "SATURATION")) + have_saturation = TRUE; + } + + return have_brightness && have_contrast && have_hue && have_saturation; +} + +static void +find_interface_elements (PlaybackApp * app) +{ + GstIterator *it; + gpointer item; + gboolean done = FALSE, hardware = FALSE; + + if (app->pipeline_type == 0) + return; + + if (app->navigation_element) + gst_object_unref (app->navigation_element); + app->navigation_element = NULL; + + if (app->colorbalance_element) + gst_object_unref (app->colorbalance_element); + app->colorbalance_element = NULL; + + app->navigation_element = + gst_bin_get_by_interface (GST_BIN (app->pipeline), GST_TYPE_NAVIGATION); + + it = gst_bin_iterate_all_by_interface (GST_BIN (app->pipeline), + GST_TYPE_COLOR_BALANCE); + while (!done) { + switch (gst_iterator_next (it, &item)) { + case GST_ITERATOR_OK:{ + GstElement *element = GST_ELEMENT (item); + + if (is_valid_color_balance_element (element)) { + if (!app->colorbalance_element) { + app->colorbalance_element = + GST_ELEMENT_CAST (gst_object_ref (element)); + hardware = + (gst_color_balance_get_balance_type (GST_COLOR_BALANCE + (element)) == GST_COLOR_BALANCE_HARDWARE); + } else if (!hardware) { + gboolean tmp = + (gst_color_balance_get_balance_type (GST_COLOR_BALANCE + (element)) == GST_COLOR_BALANCE_HARDWARE); + + if (tmp) { + if (app->colorbalance_element) + gst_object_unref (app->colorbalance_element); + app->colorbalance_element = + GST_ELEMENT_CAST (gst_object_ref (element)); + hardware = TRUE; + } + } + } + + gst_object_unref (element); + + if (hardware && app->colorbalance_element) + done = TRUE; + break; + } + case GST_ITERATOR_RESYNC: + gst_iterator_resync (it); + done = FALSE; + hardware = FALSE; + if (app->colorbalance_element) + gst_object_unref (app->colorbalance_element); + app->colorbalance_element = NULL; + break; + case GST_ITERATOR_DONE: + case GST_ITERATOR_ERROR: + default: + done = TRUE; + } + } + + gst_iterator_free (it); +} + +/* called when Navigation command button is pressed */ +static void +navigation_cmd_cb (GtkButton * button, PlaybackApp * app) +{ + GstNavigationCommand cmd = GST_NAVIGATION_COMMAND_INVALID; + gint i; + + if (!app->navigation_element) { + find_interface_elements (app); + if (!app->navigation_element) + return; + } + + for (i = 0; i < G_N_ELEMENTS (app->navigation_buttons); i++) { + if (app->navigation_buttons[i].button == GTK_WIDGET (button)) { + cmd = app->navigation_buttons[i].cmd; + break; + } + } + + if (cmd != GST_NAVIGATION_COMMAND_INVALID) + gst_navigation_send_command (GST_NAVIGATION (app->navigation_element), cmd); +} + +#if defined (GDK_WINDOWING_X11) || defined (GDK_WINDOWING_WIN32) || defined (GDK_WINDOWING_QUARTZ) +/* We set the xid here in response to the prepare-xwindow-id message via a + * bus sync handler because we don't know the actual videosink used from the + * start (as we don't know the pipeline, or bin elements such as autovideosink + * or gconfvideosink may be used which create the actual videosink only once + * the pipeline is started) */ +static GstBusSyncReply +bus_sync_handler (GstBus * bus, GstMessage * message, PlaybackApp * app) +{ + if ((GST_MESSAGE_TYPE (message) == GST_MESSAGE_ELEMENT) && + gst_structure_has_name (message->structure, "prepare-xwindow-id")) { + GstElement *element = GST_ELEMENT (GST_MESSAGE_SRC (message)); + + if (app->xoverlay_element) + gst_object_unref (app->xoverlay_element); + app->xoverlay_element = GST_ELEMENT (gst_object_ref (element)); + + g_print ("got prepare-xwindow-id, setting XID %" G_GUINTPTR_FORMAT "\n", + app->embed_xid); + + if (g_object_class_find_property (G_OBJECT_GET_CLASS (element), + "force-aspect-ratio")) { + g_object_set (element, "force-aspect-ratio", TRUE, NULL); + } + + /* Should have been initialised from main thread before (can't use + * GDK_WINDOW_XID here with Gtk+ >= 2.18, because the sync handler will + * be called from a streaming thread and GDK_WINDOW_XID maps to more than + * a simple structure lookup with Gtk+ >= 2.18, where 'more' is stuff that + * shouldn't be done from a non-GUI thread without explicit locking). */ + g_assert (app->embed_xid != 0); + + gst_x_overlay_set_window_handle (GST_X_OVERLAY (element), app->embed_xid); + + find_interface_elements (app); + } + return GST_BUS_PASS; +} +#endif + +static gboolean +handle_expose_cb (GtkWidget * widget, GdkEventExpose * event, PlaybackApp * app) +{ + if (app->state < GST_STATE_PAUSED) { + GtkAllocation allocation; + GdkWindow *window = gtk_widget_get_window (widget); + cairo_t *cr; + + gtk_widget_get_allocation (widget, &allocation); + cr = gdk_cairo_create (window); + cairo_set_source_rgb (cr, 0, 0, 0); + cairo_rectangle (cr, 0, 0, allocation.width, allocation.height); + cairo_fill (cr); + cairo_destroy (cr); + } + + if (app->xoverlay_element) + gst_x_overlay_expose (GST_X_OVERLAY (app->xoverlay_element)); + + return FALSE; +} + +static void +realize_cb (GtkWidget * widget, PlaybackApp * app) +{ + GdkWindow *window = gtk_widget_get_window (widget); + + /* This is here just for pedagogical purposes, GDK_WINDOW_XID will call it + * as well */ + if (!gdk_window_ensure_native (window)) + g_error ("Couldn't create native window needed for GstXOverlay!"); + +#if defined (GDK_WINDOWING_WIN32) + app->embed_xid = GDK_WINDOW_HWND (window); + g_print ("Window realize: video window HWND = %lu\n", app->embed_xid); +#elif defined (GDK_WINDOWING_QUARTZ) + app->embed_xid = gdk_quartz_window_get_nsview (window); + g_print ("Window realize: video window NSView = %p\n", app->embed_xid); +#elif defined (GDK_WINDOWING_X11) + app->embed_xid = GDK_WINDOW_XID (window); + g_print ("Window realize: video window XID = %" G_GUINTPTR_FORMAT "\n", + app->embed_xid); +#endif +} + +static gboolean +button_press_cb (GtkWidget * widget, GdkEventButton * event, PlaybackApp * app) +{ + gtk_widget_grab_focus (widget); + + if (app->navigation_element) + gst_navigation_send_mouse_event (GST_NAVIGATION (app->navigation_element), + "mouse-button-press", event->button, event->x, event->y); + + return FALSE; +} + +static gboolean +button_release_cb (GtkWidget * widget, GdkEventButton * event, + PlaybackApp * app) +{ + if (app->navigation_element) + gst_navigation_send_mouse_event (GST_NAVIGATION (app->navigation_element), + "mouse-button-release", event->button, event->x, event->y); + + return FALSE; +} + +static gboolean +key_press_cb (GtkWidget * widget, GdkEventKey * event, PlaybackApp * app) +{ + if (app->navigation_element) + gst_navigation_send_key_event (GST_NAVIGATION (app->navigation_element), + "key-press", gdk_keyval_name (event->keyval)); + + return FALSE; +} + +static gboolean +key_release_cb (GtkWidget * widget, GdkEventKey * event, PlaybackApp * app) +{ + if (app->navigation_element) + gst_navigation_send_key_event (GST_NAVIGATION (app->navigation_element), + "key-release", gdk_keyval_name (event->keyval)); + + return FALSE; +} + +static gboolean +motion_notify_cb (GtkWidget * widget, GdkEventMotion * event, PlaybackApp * app) +{ + if (app->navigation_element) + gst_navigation_send_mouse_event (GST_NAVIGATION (app->navigation_element), + "mouse-move", 0, event->x, event->y); + + return FALSE; +} + +static void +msg_eos (GstBus * bus, GstMessage * message, PlaybackApp * app) +{ + message_received (bus, message, app); + + /* Set new uri for playerbins and continue playback */ + if (app->current_path && app->pipeline_type == 0) { + stop_cb (NULL, app); + app->current_path = g_list_next (app->current_path); + app->current_sub_path = g_list_next (app->current_sub_path); + if (app->current_path) { + playbin_set_uri (app->pipeline, app->current_path->data, + app->current_sub_path ? app->current_sub_path->data : NULL); + play_cb (NULL, app); + } + } +} + +static void +msg_step_done (GstBus * bus, GstMessage * message, PlaybackApp * app) +{ + if (!app->shuttling) + message_received (bus, message, app); +} + +static void +msg (GstBus * bus, GstMessage * message, PlaybackApp * app) +{ + GstNavigationMessageType nav_type; + + nav_type = gst_navigation_message_get_type (message); + switch (nav_type) { + case GST_NAVIGATION_MESSAGE_COMMANDS_CHANGED:{ + GstQuery *query; + gboolean res, j; + + /* Heuristic to detect if we're dealing with a DVD menu */ + query = gst_navigation_query_new_commands (); + res = gst_element_query (GST_ELEMENT (GST_MESSAGE_SRC (message)), query); + + for (j = 0; j < G_N_ELEMENTS (app->navigation_buttons); j++) + gtk_widget_set_sensitive (app->navigation_buttons[j].button, FALSE); + + if (res) { + gboolean is_menu = FALSE; + guint i, n; + + if (gst_navigation_query_parse_commands_length (query, &n)) { + for (i = 0; i < n; i++) { + GstNavigationCommand cmd; + + if (!gst_navigation_query_parse_commands_nth (query, i, &cmd)) + break; + + is_menu |= (cmd == GST_NAVIGATION_COMMAND_ACTIVATE); + is_menu |= (cmd == GST_NAVIGATION_COMMAND_LEFT); + is_menu |= (cmd == GST_NAVIGATION_COMMAND_RIGHT); + is_menu |= (cmd == GST_NAVIGATION_COMMAND_UP); + is_menu |= (cmd == GST_NAVIGATION_COMMAND_DOWN); + + for (j = 0; j < G_N_ELEMENTS (app->navigation_buttons); j++) { + if (app->navigation_buttons[j].cmd != cmd) + continue; + + gtk_widget_set_sensitive (app->navigation_buttons[j].button, + TRUE); + } + } + } + + gtk_widget_set_sensitive (GTK_WIDGET (app->seek_scale), !is_menu); + } else { + g_assert_not_reached (); + } + + gst_query_unref (query); + message_received (bus, message, app); + break; + } + default: + break; + } +} + +static void +connect_bus_signals (PlaybackApp * app) +{ + GstBus *bus = gst_pipeline_get_bus (GST_PIPELINE (app->pipeline)); + +#if defined (GDK_WINDOWING_X11) || defined (GDK_WINDOWING_WIN32) || defined (GDK_WINDOWING_QUARTZ) + if (app->pipeline_type != 0) { + /* handle prepare-xwindow-id element message synchronously, but only for non-playbin2 */ + gst_bus_set_sync_handler (bus, (GstBusSyncHandler) bus_sync_handler, app); + } +#endif + + gst_bus_add_signal_watch_full (bus, G_PRIORITY_HIGH); + gst_bus_enable_sync_message_emission (bus); + + g_signal_connect (bus, "message::state-changed", + G_CALLBACK (msg_state_changed), app); + g_signal_connect (bus, "message::segment-done", G_CALLBACK (msg_segment_done), + app); + g_signal_connect (bus, "message::async-done", G_CALLBACK (msg_async_done), + app); + + g_signal_connect (bus, "message::new-clock", G_CALLBACK (message_received), + app); + g_signal_connect (bus, "message::clock-lost", G_CALLBACK (msg_clock_lost), + app); + g_signal_connect (bus, "message::error", G_CALLBACK (message_received), app); + g_signal_connect (bus, "message::warning", G_CALLBACK (message_received), + app); + g_signal_connect (bus, "message::eos", G_CALLBACK (msg_eos), app); + g_signal_connect (bus, "message::tag", G_CALLBACK (message_received), app); + g_signal_connect (bus, "message::element", G_CALLBACK (message_received), + app); + g_signal_connect (bus, "message::segment-done", G_CALLBACK (message_received), + app); + g_signal_connect (bus, "message::buffering", G_CALLBACK (msg_buffering), app); +// g_signal_connect (bus, "message::step-done", G_CALLBACK (msg_step_done), +// app); + g_signal_connect (bus, "message::step-start", G_CALLBACK (msg_step_done), + app); + g_signal_connect (bus, "sync-message::step-done", + G_CALLBACK (msg_sync_step_done), app); + g_signal_connect (bus, "message", G_CALLBACK (msg), app); + + gst_object_unref (bus); +} + +/* Return GList of paths described in location string */ +static GList * +handle_wildcards (const gchar * location) +{ + GList *res = NULL; + gchar *path = g_path_get_dirname (location); + gchar *pattern = g_path_get_basename (location); + GPatternSpec *pspec = g_pattern_spec_new (pattern); + GDir *dir = g_dir_open (path, 0, NULL); + const gchar *name; + + g_print ("matching %s from %s\n", pattern, path); + + if (!dir) { + g_print ("opening directory %s failed\n", path); + goto out; + } + + while ((name = g_dir_read_name (dir)) != NULL) { + if (g_pattern_match_string (pspec, name)) { + res = g_list_append (res, g_strjoin ("/", path, name, NULL)); + g_print (" found clip %s\n", name); + } + } + + g_dir_close (dir); +out: + g_pattern_spec_free (pspec); + g_free (pattern); + g_free (path); + + return res; +} + +static void +delete_event_cb (GtkWidget * widget, GdkEvent * event, PlaybackApp * app) +{ + stop_cb (NULL, app); + gtk_main_quit (); +} + +static void +video_sink_activate_cb (GtkEntry * entry, PlaybackApp * app) +{ + GstElement *sink = NULL; + const gchar *text; + + text = gtk_entry_get_text (entry); + if (text != NULL && *text != '\0') { + sink = gst_element_factory_make_or_warn (text, NULL); + } + + g_object_set (app->pipeline, "video-sink", sink, NULL); +} + +static void +audio_sink_activate_cb (GtkEntry * entry, PlaybackApp * app) +{ + GstElement *sink = NULL; + const gchar *text; + + text = gtk_entry_get_text (entry); + if (text != NULL && *text != '\0') { + sink = gst_element_factory_make_or_warn (text, NULL); + } + + g_object_set (app->pipeline, "audio-sink", sink, NULL); +} + +static void +text_sink_activate_cb (GtkEntry * entry, PlaybackApp * app) +{ + GstElement *sink = NULL; + const gchar *text; + + text = gtk_entry_get_text (entry); + if (text != NULL && *text != '\0') { + sink = gst_element_factory_make_or_warn (text, NULL); + } + + g_object_set (app->pipeline, "text-sink", sink, NULL); +} + +static void +buffer_size_activate_cb (GtkEntry * entry, PlaybackApp * app) +{ + const gchar *text; + + text = gtk_entry_get_text (entry); + if (text != NULL && *text != '\0') { + gint v; + gchar *endptr; + + v = g_ascii_strtoll (text, &endptr, 10); + if (endptr != text && v != G_MAXINT64 && v != G_MININT64) { + g_object_set (app->pipeline, "buffer-size", v, NULL); + } + } +} + +static void +buffer_duration_activate_cb (GtkEntry * entry, PlaybackApp * app) +{ + const gchar *text; + + text = gtk_entry_get_text (entry); + if (text != NULL && *text != '\0') { + gint64 v; + gchar *endptr; + + v = g_ascii_strtoll (text, &endptr, 10); + if (endptr != text && v != G_MAXINT64 && v != G_MININT64) { + g_object_set (app->pipeline, "buffer-duration", v, NULL); + } + } +} + +static void +ringbuffer_maxsize_activate_cb (GtkEntry * entry, PlaybackApp * app) +{ + const gchar *text; + + text = gtk_entry_get_text (entry); + if (text != NULL && *text != '\0') { + guint64 v; + gchar *endptr; + + v = g_ascii_strtoull (text, &endptr, 10); + if (endptr != text && v != G_MAXUINT64) { + g_object_set (app->pipeline, "ring-buffer-max-size", v, NULL); + } + } +} + +static void +connection_speed_activate_cb (GtkEntry * entry, PlaybackApp * app) +{ + const gchar *text; + + text = gtk_entry_get_text (entry); + if (text != NULL && *text != '\0') { + guint v; + gchar *endptr; + + v = g_ascii_strtoll (text, &endptr, 10); + if (endptr != text && v != G_MAXINT64 && v != G_MININT64) { + g_object_set (app->pipeline, "connection-speed", v, NULL); + } + } +} + +static void +subtitle_encoding_activate_cb (GtkEntry * entry, PlaybackApp * app) +{ + const gchar *text; + + text = gtk_entry_get_text (entry); + g_object_set (app->pipeline, "subtitle-encoding", text, NULL); +} + +static void +subtitle_fontdesc_cb (GtkFontButton * button, PlaybackApp * app) +{ + const gchar *text; + + text = gtk_font_button_get_font_name (button); + g_object_set (app->pipeline, "subtitle-font-desc", text, NULL); +} + +static void +av_offset_activate_cb (GtkEntry * entry, PlaybackApp * app) +{ + const gchar *text; + + text = gtk_entry_get_text (entry); + if (text != NULL && *text != '\0') { + gint64 v; + gchar *endptr; + + v = g_ascii_strtoll (text, &endptr, 10); + if (endptr != text && v != G_MAXINT64 && v != G_MININT64) { + g_object_set (app->pipeline, "av-offset", v, NULL); + } + } +} + +static void +print_usage (int argc, char **argv) +{ + gint i; + + g_print ("usage: %s \n", argv[0]); + g_print (" possible types:\n"); + + for (i = 0; i < G_N_ELEMENTS (pipelines); i++) { + g_print (" %d = %s\n", i, pipelines[i].name); + } +} + +static void +create_ui (PlaybackApp * app) +{ + GtkWidget *hbox, *vbox, *seek, *playbin, *step, *navigation, *colorbalance; + GtkWidget *play_button, *pause_button, *stop_button; + GtkAdjustment *adjustment; + + /* initialize gui elements ... */ + app->window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + app->video_window = gtk_drawing_area_new (); + g_signal_connect (app->video_window, "expose-event", + G_CALLBACK (handle_expose_cb), app); + g_signal_connect (app->video_window, "realize", G_CALLBACK (realize_cb), app); + g_signal_connect (app->video_window, "button-press-event", + G_CALLBACK (button_press_cb), app); + g_signal_connect (app->video_window, "button-release-event", + G_CALLBACK (button_release_cb), app); + g_signal_connect (app->video_window, "key-press-event", + G_CALLBACK (key_press_cb), app); + g_signal_connect (app->video_window, "key-release-event", + G_CALLBACK (key_release_cb), app); + g_signal_connect (app->video_window, "motion-notify-event", + G_CALLBACK (motion_notify_cb), app); + gtk_widget_set_can_focus (app->video_window, TRUE); + gtk_widget_set_double_buffered (app->video_window, FALSE); + gtk_widget_add_events (app->video_window, + GDK_POINTER_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK); + + app->statusbar = gtk_statusbar_new (); + app->status_id = + gtk_statusbar_get_context_id (GTK_STATUSBAR (app->statusbar), + "playback-test"); + gtk_statusbar_push (GTK_STATUSBAR (app->statusbar), app->status_id, + "Stopped"); + hbox = gtk_hbox_new (FALSE, 0); + vbox = gtk_vbox_new (FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (vbox), 3); + + /* media controls */ + play_button = gtk_button_new_from_stock (GTK_STOCK_MEDIA_PLAY); + pause_button = gtk_button_new_from_stock (GTK_STOCK_MEDIA_PAUSE); + stop_button = gtk_button_new_from_stock (GTK_STOCK_MEDIA_STOP); + + /* seek expander */ + { + GtkWidget *accurate_checkbox, *key_checkbox, *loop_checkbox, + *flush_checkbox; + GtkWidget *scrub_checkbox, *play_scrub_checkbox, *rate_label; + GtkWidget *skip_checkbox, *rate_spinbutton; + GtkWidget *flagtable, *advanced_seek, *advanced_seek_grid; + GtkWidget *duration_label, *position_label, *seek_button; + + seek = gtk_expander_new ("seek options"); + flagtable = gtk_table_new (5, 4, FALSE); + + accurate_checkbox = gtk_check_button_new_with_label ("Accurate Playback"); + key_checkbox = gtk_check_button_new_with_label ("Key-unit Playback"); + loop_checkbox = gtk_check_button_new_with_label ("Loop"); + flush_checkbox = gtk_check_button_new_with_label ("Flush"); + scrub_checkbox = gtk_check_button_new_with_label ("Scrub"); + play_scrub_checkbox = gtk_check_button_new_with_label ("Play Scrub"); + skip_checkbox = gtk_check_button_new_with_label ("Play Skip"); + rate_spinbutton = gtk_spin_button_new_with_range (-100, 100, 0.1); + gtk_spin_button_set_digits (GTK_SPIN_BUTTON (rate_spinbutton), 3); + rate_label = gtk_label_new ("Rate"); + + gtk_widget_set_tooltip_text (accurate_checkbox, + "accurate position is requested, this might be considerably slower for some formats"); + gtk_widget_set_tooltip_text (key_checkbox, + "seek to the nearest keyframe. This might be faster but less accurate"); + gtk_widget_set_tooltip_text (loop_checkbox, "loop playback"); + gtk_widget_set_tooltip_text (flush_checkbox, + "flush pipeline after seeking"); + gtk_widget_set_tooltip_text (rate_spinbutton, + "define the playback rate, " "negative value trigger reverse playback"); + gtk_widget_set_tooltip_text (scrub_checkbox, "show images while seeking"); + gtk_widget_set_tooltip_text (play_scrub_checkbox, + "play video while seeking"); + gtk_widget_set_tooltip_text (skip_checkbox, + "Skip frames while playing at high frame rates"); + + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (flush_checkbox), TRUE); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (scrub_checkbox), TRUE); + + gtk_spin_button_set_value (GTK_SPIN_BUTTON (rate_spinbutton), app->rate); + + g_signal_connect (G_OBJECT (accurate_checkbox), "toggled", + G_CALLBACK (accurate_toggle_cb), app); + g_signal_connect (G_OBJECT (key_checkbox), "toggled", + G_CALLBACK (key_toggle_cb), app); + g_signal_connect (G_OBJECT (loop_checkbox), "toggled", + G_CALLBACK (loop_toggle_cb), app); + g_signal_connect (G_OBJECT (flush_checkbox), "toggled", + G_CALLBACK (flush_toggle_cb), app); + g_signal_connect (G_OBJECT (scrub_checkbox), "toggled", + G_CALLBACK (scrub_toggle_cb), app); + g_signal_connect (G_OBJECT (play_scrub_checkbox), "toggled", + G_CALLBACK (play_scrub_toggle_cb), app); + g_signal_connect (G_OBJECT (skip_checkbox), "toggled", + G_CALLBACK (skip_toggle_cb), app); + g_signal_connect (G_OBJECT (rate_spinbutton), "value-changed", + G_CALLBACK (rate_spinbutton_changed_cb), app); + + gtk_table_attach_defaults (GTK_TABLE (flagtable), accurate_checkbox, 0, 1, + 0, 1); + gtk_table_attach_defaults (GTK_TABLE (flagtable), flush_checkbox, 1, 2, 0, + 1); + gtk_table_attach_defaults (GTK_TABLE (flagtable), loop_checkbox, 2, 3, 0, + 1); + gtk_table_attach_defaults (GTK_TABLE (flagtable), key_checkbox, 0, 1, 1, 2); + gtk_table_attach_defaults (GTK_TABLE (flagtable), scrub_checkbox, 1, 2, 1, + 2); + gtk_table_attach_defaults (GTK_TABLE (flagtable), play_scrub_checkbox, 2, 3, + 1, 2); + gtk_table_attach_defaults (GTK_TABLE (flagtable), skip_checkbox, 3, 4, 0, + 1); + gtk_table_attach_defaults (GTK_TABLE (flagtable), rate_label, 4, 5, 0, 1); + gtk_table_attach_defaults (GTK_TABLE (flagtable), rate_spinbutton, 4, 5, 1, + 2); + + advanced_seek = gtk_frame_new ("Advanced Seeking"); + gtk_frame_set_shadow_type (GTK_FRAME (advanced_seek), GTK_SHADOW_NONE); + advanced_seek_grid = gtk_table_new (4, 2, FALSE); + + app->seek_format_combo = gtk_combo_box_text_new (); + g_signal_connect (app->seek_format_combo, "changed", + G_CALLBACK (seek_format_changed_cb), app); + gtk_table_attach_defaults (GTK_TABLE (advanced_seek_grid), + app->seek_format_combo, 0, 1, 0, 1); + + app->seek_entry = gtk_entry_new (); + gtk_entry_set_width_chars (GTK_ENTRY (app->seek_entry), 12); + gtk_table_attach_defaults (GTK_TABLE (advanced_seek_grid), app->seek_entry, + 0, 1, 1, 2); + + seek_button = gtk_button_new_with_label ("Seek"); + g_signal_connect (G_OBJECT (seek_button), "clicked", + G_CALLBACK (advanced_seek_button_cb), app); + gtk_table_attach_defaults (GTK_TABLE (advanced_seek_grid), seek_button, 1, + 2, 0, 1); + + position_label = gtk_label_new ("Position:"); + gtk_table_attach_defaults (GTK_TABLE (advanced_seek_grid), position_label, + 2, 3, 0, 1); + duration_label = gtk_label_new ("Duration:"); + gtk_table_attach_defaults (GTK_TABLE (advanced_seek_grid), duration_label, + 2, 3, 1, 2); + + app->seek_position_label = gtk_label_new ("-1"); + gtk_table_attach_defaults (GTK_TABLE (advanced_seek_grid), + app->seek_position_label, 3, 4, 0, 1); + app->seek_duration_label = gtk_label_new ("-1"); + gtk_table_attach_defaults (GTK_TABLE (advanced_seek_grid), + app->seek_duration_label, 3, 4, 1, 2); + + gtk_container_add (GTK_CONTAINER (advanced_seek), advanced_seek_grid); + gtk_table_attach_defaults (GTK_TABLE (flagtable), advanced_seek, 0, 3, 2, + 4); + gtk_container_add (GTK_CONTAINER (seek), flagtable); + } + + /* step expander */ + { + GtkWidget *hbox; + GtkWidget *step_button, *shuttle_checkbox; + + step = gtk_expander_new ("step options"); + hbox = gtk_hbox_new (FALSE, 0); + + app->step_format_combo = gtk_combo_box_text_new (); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (app->step_format_combo), + "frames"); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (app->step_format_combo), + "time (ms)"); + gtk_combo_box_set_active (GTK_COMBO_BOX (app->step_format_combo), 0); + gtk_box_pack_start (GTK_BOX (hbox), app->step_format_combo, FALSE, FALSE, + 2); + + app->step_amount_spinbutton = gtk_spin_button_new_with_range (1, 1000, 1); + gtk_spin_button_set_digits (GTK_SPIN_BUTTON (app->step_amount_spinbutton), + 0); + gtk_spin_button_set_value (GTK_SPIN_BUTTON (app->step_amount_spinbutton), + 1.0); + gtk_box_pack_start (GTK_BOX (hbox), app->step_amount_spinbutton, FALSE, + FALSE, 2); + + app->step_rate_spinbutton = gtk_spin_button_new_with_range (0.0, 100, 0.1); + gtk_spin_button_set_digits (GTK_SPIN_BUTTON (app->step_rate_spinbutton), 3); + gtk_spin_button_set_value (GTK_SPIN_BUTTON (app->step_rate_spinbutton), + 1.0); + gtk_box_pack_start (GTK_BOX (hbox), app->step_rate_spinbutton, FALSE, FALSE, + 2); + + step_button = gtk_button_new_from_stock (GTK_STOCK_MEDIA_FORWARD); + gtk_button_set_label (GTK_BUTTON (step_button), "Step"); + gtk_box_pack_start (GTK_BOX (hbox), step_button, FALSE, FALSE, 2); + + g_signal_connect (G_OBJECT (step_button), "clicked", G_CALLBACK (step_cb), + app); + + /* shuttle scale */ + shuttle_checkbox = gtk_check_button_new_with_label ("Shuttle"); + gtk_box_pack_start (GTK_BOX (hbox), shuttle_checkbox, FALSE, FALSE, 2); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (shuttle_checkbox), FALSE); + g_signal_connect (shuttle_checkbox, "toggled", G_CALLBACK (shuttle_toggled), + app); + + adjustment = + GTK_ADJUSTMENT (gtk_adjustment_new (0.0, -3.00, 4.0, 0.1, 1.0, 1.0)); + app->shuttle_scale = gtk_hscale_new (adjustment); + gtk_scale_set_digits (GTK_SCALE (app->shuttle_scale), 2); + gtk_scale_set_value_pos (GTK_SCALE (app->shuttle_scale), GTK_POS_TOP); + g_signal_connect (app->shuttle_scale, "value-changed", + G_CALLBACK (shuttle_value_changed), app); + g_signal_connect (app->shuttle_scale, "format_value", + G_CALLBACK (shuttle_format_value), app); + + gtk_box_pack_start (GTK_BOX (hbox), app->shuttle_scale, TRUE, TRUE, 2); + + gtk_container_add (GTK_CONTAINER (step), hbox); + } + + /* navigation command expander */ + { + GtkWidget *navigation_button; + GtkWidget *grid; + gint i = 0; + + navigation = gtk_expander_new ("navigation commands"); + grid = gtk_table_new (7, 2, FALSE); + + navigation_button = gtk_button_new_with_label ("Menu 1"); + g_signal_connect (G_OBJECT (navigation_button), "clicked", + G_CALLBACK (navigation_cmd_cb), app); + gtk_table_attach_defaults (GTK_TABLE (grid), navigation_button, i, i + 1, 0, + 1); + gtk_widget_set_sensitive (navigation_button, FALSE); + gtk_widget_set_tooltip_text (navigation_button, "DVD Menu"); + app->navigation_buttons[i].button = navigation_button; + app->navigation_buttons[i++].cmd = GST_NAVIGATION_COMMAND_MENU1; + + navigation_button = gtk_button_new_with_label ("Menu 2"); + g_signal_connect (G_OBJECT (navigation_button), "clicked", + G_CALLBACK (navigation_cmd_cb), app); + gtk_table_attach_defaults (GTK_TABLE (grid), navigation_button, i, i + 1, 0, + 1); + gtk_widget_set_sensitive (navigation_button, FALSE); + gtk_widget_set_tooltip_text (navigation_button, "DVD Title Menu"); + app->navigation_buttons[i].button = navigation_button; + app->navigation_buttons[i++].cmd = GST_NAVIGATION_COMMAND_MENU2; + + navigation_button = gtk_button_new_with_label ("Menu 3"); + g_signal_connect (G_OBJECT (navigation_button), "clicked", + G_CALLBACK (navigation_cmd_cb), app); + gtk_table_attach_defaults (GTK_TABLE (grid), navigation_button, i, i + 1, 0, + 1); + gtk_widget_set_sensitive (navigation_button, FALSE); + gtk_widget_set_tooltip_text (navigation_button, "DVD Root Menu"); + app->navigation_buttons[i].button = navigation_button; + app->navigation_buttons[i++].cmd = GST_NAVIGATION_COMMAND_MENU3; + + navigation_button = gtk_button_new_with_label ("Menu 4"); + g_signal_connect (G_OBJECT (navigation_button), "clicked", + G_CALLBACK (navigation_cmd_cb), app); + gtk_table_attach_defaults (GTK_TABLE (grid), navigation_button, i, i + 1, 0, + 1); + gtk_widget_set_sensitive (navigation_button, FALSE); + gtk_widget_set_tooltip_text (navigation_button, "DVD Subpicture Menu"); + app->navigation_buttons[i].button = navigation_button; + app->navigation_buttons[i++].cmd = GST_NAVIGATION_COMMAND_MENU4; + + navigation_button = gtk_button_new_with_label ("Menu 5"); + g_signal_connect (G_OBJECT (navigation_button), "clicked", + G_CALLBACK (navigation_cmd_cb), app); + gtk_table_attach_defaults (GTK_TABLE (grid), navigation_button, i, i + 1, 0, + 1); + gtk_widget_set_sensitive (navigation_button, FALSE); + gtk_widget_set_tooltip_text (navigation_button, "DVD Audio Menu"); + app->navigation_buttons[i].button = navigation_button; + app->navigation_buttons[i++].cmd = GST_NAVIGATION_COMMAND_MENU5; + + navigation_button = gtk_button_new_with_label ("Menu 6"); + g_signal_connect (G_OBJECT (navigation_button), "clicked", + G_CALLBACK (navigation_cmd_cb), app); + gtk_table_attach_defaults (GTK_TABLE (grid), navigation_button, i, i + 1, 0, + 1); + gtk_widget_set_sensitive (navigation_button, FALSE); + gtk_widget_set_tooltip_text (navigation_button, "DVD Angle Menu"); + app->navigation_buttons[i].button = navigation_button; + app->navigation_buttons[i++].cmd = GST_NAVIGATION_COMMAND_MENU6; + + navigation_button = gtk_button_new_with_label ("Menu 7"); + g_signal_connect (G_OBJECT (navigation_button), "clicked", + G_CALLBACK (navigation_cmd_cb), app); + gtk_table_attach_defaults (GTK_TABLE (grid), navigation_button, i, i + 1, 0, + 1); + gtk_widget_set_sensitive (navigation_button, FALSE); + gtk_widget_set_tooltip_text (navigation_button, "DVD Chapter Menu"); + app->navigation_buttons[i].button = navigation_button; + app->navigation_buttons[i++].cmd = GST_NAVIGATION_COMMAND_MENU7; + + navigation_button = gtk_button_new_with_label ("Left"); + g_signal_connect (G_OBJECT (navigation_button), "clicked", + G_CALLBACK (navigation_cmd_cb), app); + gtk_table_attach_defaults (GTK_TABLE (grid), navigation_button, i - 7, + i - 7 + 1, 1, 2); + gtk_widget_set_sensitive (navigation_button, FALSE); + app->navigation_buttons[i].button = navigation_button; + app->navigation_buttons[i++].cmd = GST_NAVIGATION_COMMAND_LEFT; + + navigation_button = gtk_button_new_with_label ("Right"); + g_signal_connect (G_OBJECT (navigation_button), "clicked", + G_CALLBACK (navigation_cmd_cb), app); + gtk_table_attach_defaults (GTK_TABLE (grid), navigation_button, i - 7, + i - 7 + 1, 1, 2); + gtk_widget_set_sensitive (navigation_button, FALSE); + app->navigation_buttons[i].button = navigation_button; + app->navigation_buttons[i++].cmd = GST_NAVIGATION_COMMAND_RIGHT; + + navigation_button = gtk_button_new_with_label ("Up"); + g_signal_connect (G_OBJECT (navigation_button), "clicked", + G_CALLBACK (navigation_cmd_cb), app); + gtk_table_attach_defaults (GTK_TABLE (grid), navigation_button, i - 7, + i - 7 + 1, 1, 2); + gtk_widget_set_sensitive (navigation_button, FALSE); + app->navigation_buttons[i].button = navigation_button; + app->navigation_buttons[i++].cmd = GST_NAVIGATION_COMMAND_UP; + + navigation_button = gtk_button_new_with_label ("Down"); + g_signal_connect (G_OBJECT (navigation_button), "clicked", + G_CALLBACK (navigation_cmd_cb), app); + gtk_table_attach_defaults (GTK_TABLE (grid), navigation_button, i - 7, + i - 7 + 1, 1, 2); + gtk_widget_set_sensitive (navigation_button, FALSE); + app->navigation_buttons[i].button = navigation_button; + app->navigation_buttons[i++].cmd = GST_NAVIGATION_COMMAND_DOWN; + + navigation_button = gtk_button_new_with_label ("Activate"); + g_signal_connect (G_OBJECT (navigation_button), "clicked", + G_CALLBACK (navigation_cmd_cb), app); + gtk_table_attach_defaults (GTK_TABLE (grid), navigation_button, i - 7, + i - 7 + 1, 1, 2); + gtk_widget_set_sensitive (navigation_button, FALSE); + app->navigation_buttons[i].button = navigation_button; + app->navigation_buttons[i++].cmd = GST_NAVIGATION_COMMAND_ACTIVATE; + + navigation_button = gtk_button_new_with_label ("Prev. Angle"); + g_signal_connect (G_OBJECT (navigation_button), "clicked", + G_CALLBACK (navigation_cmd_cb), app); + gtk_table_attach_defaults (GTK_TABLE (grid), navigation_button, i - 7, + i - 7 + 1, 1, 2); + gtk_widget_set_sensitive (navigation_button, FALSE); + app->navigation_buttons[i].button = navigation_button; + app->navigation_buttons[i++].cmd = GST_NAVIGATION_COMMAND_PREV_ANGLE; + + navigation_button = gtk_button_new_with_label ("Next. Angle"); + g_signal_connect (G_OBJECT (navigation_button), "clicked", + G_CALLBACK (navigation_cmd_cb), app); + gtk_table_attach_defaults (GTK_TABLE (grid), navigation_button, i - 7, + i - 7 + 1, 1, 2); + gtk_widget_set_sensitive (navigation_button, FALSE); + app->navigation_buttons[i].button = navigation_button; + app->navigation_buttons[i++].cmd = GST_NAVIGATION_COMMAND_NEXT_ANGLE; + + gtk_container_add (GTK_CONTAINER (navigation), grid); + } + + /* colorbalance expander */ + { + GtkWidget *vbox, *frame; + + colorbalance = gtk_expander_new ("color balance options"); + vbox = gtk_vbox_new (FALSE, 0); + + /* contrast scale */ + frame = gtk_frame_new ("Contrast"); + gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE); + adjustment = + GTK_ADJUSTMENT (gtk_adjustment_new (N_GRAD / 2.0, 0.00, N_GRAD, 0.1, + 1.0, 1.0)); + app->contrast_scale = gtk_hscale_new (adjustment); + gtk_scale_set_draw_value (GTK_SCALE (app->contrast_scale), FALSE); + g_signal_connect (app->contrast_scale, "value-changed", + G_CALLBACK (colorbalance_value_changed), app); + gtk_container_add (GTK_CONTAINER (frame), app->contrast_scale); + gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 2); + + /* brightness scale */ + frame = gtk_frame_new ("Brightness"); + gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE); + adjustment = + GTK_ADJUSTMENT (gtk_adjustment_new (N_GRAD / 2.0, 0.00, N_GRAD, 0.1, + 1.0, 1.0)); + app->brightness_scale = gtk_hscale_new (adjustment); + gtk_scale_set_draw_value (GTK_SCALE (app->brightness_scale), FALSE); + g_signal_connect (app->brightness_scale, "value-changed", + G_CALLBACK (colorbalance_value_changed), app); + gtk_container_add (GTK_CONTAINER (frame), app->brightness_scale); + gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 2); + + /* hue scale */ + frame = gtk_frame_new ("Hue"); + gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE); + adjustment = + GTK_ADJUSTMENT (gtk_adjustment_new (N_GRAD / 2.0, 0.00, N_GRAD, 0.1, + 1.0, 1.0)); + app->hue_scale = gtk_hscale_new (adjustment); + gtk_scale_set_draw_value (GTK_SCALE (app->hue_scale), FALSE); + g_signal_connect (app->hue_scale, "value-changed", + G_CALLBACK (colorbalance_value_changed), app); + gtk_container_add (GTK_CONTAINER (frame), app->hue_scale); + gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 2); + + /* saturation scale */ + frame = gtk_frame_new ("Saturation"); + gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE); + adjustment = + GTK_ADJUSTMENT (gtk_adjustment_new (N_GRAD / 2.0, 0.00, N_GRAD, 0.1, + 1.0, 1.0)); + app->saturation_scale = gtk_hscale_new (adjustment); + gtk_scale_set_draw_value (GTK_SCALE (app->saturation_scale), FALSE); + g_signal_connect (app->saturation_scale, "value-changed", + G_CALLBACK (colorbalance_value_changed), app); + gtk_container_add (GTK_CONTAINER (frame), app->saturation_scale); + gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 2); + + gtk_container_add (GTK_CONTAINER (colorbalance), vbox); + } + + /* seek bar */ + adjustment = + GTK_ADJUSTMENT (gtk_adjustment_new (0.0, 0.00, N_GRAD, 0.1, 1.0, 1.0)); + app->seek_scale = gtk_hscale_new (adjustment); + gtk_scale_set_digits (GTK_SCALE (app->seek_scale), 2); + gtk_scale_set_value_pos (GTK_SCALE (app->seek_scale), GTK_POS_RIGHT); + gtk_range_set_show_fill_level (GTK_RANGE (app->seek_scale), TRUE); + gtk_range_set_fill_level (GTK_RANGE (app->seek_scale), N_GRAD); + + g_signal_connect (app->seek_scale, "button_press_event", + G_CALLBACK (start_seek), app); + g_signal_connect (app->seek_scale, "button_release_event", + G_CALLBACK (stop_seek), app); + g_signal_connect (app->seek_scale, "format_value", G_CALLBACK (format_value), + app); + + if (app->pipeline_type == 0) { + GtkWidget *pb2vbox, *boxes, *boxes2, *panel, *boxes3; + GtkWidget *volume_label, *shot_button; + GtkWidget *label; + + playbin = gtk_expander_new ("playbin2 options"); + /* the playbin2 panel controls for the video/audio/subtitle tracks */ + panel = gtk_hbox_new (FALSE, 0); + app->video_combo = gtk_combo_box_text_new (); + app->audio_combo = gtk_combo_box_text_new (); + app->text_combo = gtk_combo_box_text_new (); + gtk_widget_set_sensitive (app->video_combo, FALSE); + gtk_widget_set_sensitive (app->audio_combo, FALSE); + gtk_widget_set_sensitive (app->text_combo, FALSE); + gtk_box_pack_start (GTK_BOX (panel), app->video_combo, TRUE, TRUE, 2); + gtk_box_pack_start (GTK_BOX (panel), app->audio_combo, TRUE, TRUE, 2); + gtk_box_pack_start (GTK_BOX (panel), app->text_combo, TRUE, TRUE, 2); + g_signal_connect (G_OBJECT (app->video_combo), "changed", + G_CALLBACK (video_combo_cb), app); + g_signal_connect (G_OBJECT (app->audio_combo), "changed", + G_CALLBACK (audio_combo_cb), app); + g_signal_connect (G_OBJECT (app->text_combo), "changed", + G_CALLBACK (text_combo_cb), app); + /* playbin2 panel for flag checkboxes and volume/mute */ + boxes = gtk_table_new (8, 2, FALSE); + + app->video_checkbox = gtk_check_button_new_with_label ("Video"); + app->audio_checkbox = gtk_check_button_new_with_label ("Audio"); + app->text_checkbox = gtk_check_button_new_with_label ("Text"); + app->vis_checkbox = gtk_check_button_new_with_label ("Vis"); + app->soft_volume_checkbox = gtk_check_button_new_with_label ("Soft Volume"); + app->native_audio_checkbox = + gtk_check_button_new_with_label ("Native Audio"); + app->native_video_checkbox = + gtk_check_button_new_with_label ("Native Video"); + app->download_checkbox = gtk_check_button_new_with_label ("Download"); + app->buffering_checkbox = gtk_check_button_new_with_label ("Buffering"); + app->deinterlace_checkbox = gtk_check_button_new_with_label ("Deinterlace"); + app->soft_colorbalance_checkbox = + gtk_check_button_new_with_label ("Soft Colorbalance"); + app->mute_checkbox = gtk_check_button_new_with_label ("Mute"); + volume_label = gtk_label_new ("Volume"); + app->volume_spinbutton = gtk_spin_button_new_with_range (0, 10.0, 0.1); + + gtk_table_attach_defaults (GTK_TABLE (boxes), app->video_checkbox, 0, 1, 0, + 1); + gtk_table_attach_defaults (GTK_TABLE (boxes), app->audio_checkbox, 1, 2, 0, + 1); + gtk_table_attach_defaults (GTK_TABLE (boxes), app->text_checkbox, 2, 3, 0, + 1); + gtk_table_attach_defaults (GTK_TABLE (boxes), app->vis_checkbox, 3, 4, 0, + 1); + gtk_table_attach_defaults (GTK_TABLE (boxes), app->soft_volume_checkbox, 4, + 5, 0, 1); + gtk_table_attach_defaults (GTK_TABLE (boxes), app->native_audio_checkbox, 5, + 6, 0, 1); + gtk_table_attach_defaults (GTK_TABLE (boxes), app->native_video_checkbox, 0, + 1, 1, 2); + gtk_table_attach_defaults (GTK_TABLE (boxes), app->download_checkbox, 1, 2, + 1, 2); + gtk_table_attach_defaults (GTK_TABLE (boxes), app->buffering_checkbox, 2, 3, + 1, 2); + gtk_table_attach_defaults (GTK_TABLE (boxes), app->deinterlace_checkbox, 3, + 4, 1, 2); + gtk_table_attach_defaults (GTK_TABLE (boxes), + app->soft_colorbalance_checkbox, 4, 5, 1, 2); + + gtk_table_attach_defaults (GTK_TABLE (boxes), app->mute_checkbox, 7, 8, 0, + 1); + gtk_table_attach_defaults (GTK_TABLE (boxes), volume_label, 6, 7, 1, 2); + gtk_table_attach_defaults (GTK_TABLE (boxes), app->volume_spinbutton, 7, 8, + 1, 2); + + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (app->video_checkbox), + TRUE); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (app->audio_checkbox), + TRUE); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (app->text_checkbox), TRUE); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (app->vis_checkbox), FALSE); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (app->soft_volume_checkbox), + TRUE); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON + (app->native_audio_checkbox), FALSE); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON + (app->native_video_checkbox), FALSE); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (app->download_checkbox), + FALSE); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (app->buffering_checkbox), + FALSE); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (app->deinterlace_checkbox), + FALSE); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON + (app->soft_colorbalance_checkbox), TRUE); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (app->mute_checkbox), + FALSE); + gtk_spin_button_set_value (GTK_SPIN_BUTTON (app->volume_spinbutton), 1.0); + + g_signal_connect (G_OBJECT (app->video_checkbox), "toggled", + G_CALLBACK (video_toggle_cb), app); + g_signal_connect (G_OBJECT (app->audio_checkbox), "toggled", + G_CALLBACK (audio_toggle_cb), app); + g_signal_connect (G_OBJECT (app->text_checkbox), "toggled", + G_CALLBACK (text_toggle_cb), app); + g_signal_connect (G_OBJECT (app->vis_checkbox), "toggled", + G_CALLBACK (vis_toggle_cb), app); + g_signal_connect (G_OBJECT (app->soft_volume_checkbox), "toggled", + G_CALLBACK (soft_volume_toggle_cb), app); + g_signal_connect (G_OBJECT (app->native_audio_checkbox), "toggled", + G_CALLBACK (native_audio_toggle_cb), app); + g_signal_connect (G_OBJECT (app->native_video_checkbox), "toggled", + G_CALLBACK (native_video_toggle_cb), app); + g_signal_connect (G_OBJECT (app->download_checkbox), "toggled", + G_CALLBACK (download_toggle_cb), app); + g_signal_connect (G_OBJECT (app->buffering_checkbox), "toggled", + G_CALLBACK (buffering_toggle_cb), app); + g_signal_connect (G_OBJECT (app->deinterlace_checkbox), "toggled", + G_CALLBACK (deinterlace_toggle_cb), app); + g_signal_connect (G_OBJECT (app->soft_colorbalance_checkbox), "toggled", + G_CALLBACK (soft_colorbalance_toggle_cb), app); + g_signal_connect (G_OBJECT (app->mute_checkbox), "toggled", + G_CALLBACK (mute_toggle_cb), app); + g_signal_connect (G_OBJECT (app->volume_spinbutton), "value-changed", + G_CALLBACK (volume_spinbutton_changed_cb), app); + /* playbin2 panel for snapshot */ + boxes2 = gtk_hbox_new (FALSE, 0); + shot_button = gtk_button_new_from_stock (GTK_STOCK_SAVE); + gtk_widget_set_tooltip_text (shot_button, + "save a screenshot .png in the current directory"); + g_signal_connect (G_OBJECT (shot_button), "clicked", G_CALLBACK (shot_cb), + app); + app->vis_combo = gtk_combo_box_text_new (); + g_signal_connect (G_OBJECT (app->vis_combo), "changed", + G_CALLBACK (vis_combo_cb), app); + gtk_widget_set_sensitive (app->vis_combo, FALSE); + gtk_box_pack_start (GTK_BOX (boxes2), shot_button, TRUE, TRUE, 2); + gtk_box_pack_start (GTK_BOX (boxes2), app->vis_combo, TRUE, TRUE, 2); + + /* fill the vis combo box and the array of factories */ + init_visualization_features (app); + + /* Grid with other properties */ + boxes3 = gtk_table_new (5, 6, FALSE); + + label = gtk_label_new ("Video sink"); + gtk_table_attach_defaults (GTK_TABLE (boxes3), label, 0, 1, 0, 1); + app->video_sink_entry = gtk_entry_new (); + g_signal_connect (app->video_sink_entry, "activate", + G_CALLBACK (video_sink_activate_cb), app); + gtk_table_attach_defaults (GTK_TABLE (boxes3), app->video_sink_entry, 0, 1, + 1, 2); + + label = gtk_label_new ("Audio sink"); + gtk_table_attach_defaults (GTK_TABLE (boxes3), label, 1, 2, 0, 1); + app->audio_sink_entry = gtk_entry_new (); + g_signal_connect (app->audio_sink_entry, "activate", + G_CALLBACK (audio_sink_activate_cb), app); + gtk_table_attach_defaults (GTK_TABLE (boxes3), app->audio_sink_entry, 1, 2, + 1, 2); + + label = gtk_label_new ("Text sink"); + gtk_table_attach_defaults (GTK_TABLE (boxes3), label, 2, 3, 0, 1); + app->text_sink_entry = gtk_entry_new (); + g_signal_connect (app->text_sink_entry, "activate", + G_CALLBACK (text_sink_activate_cb), app); + gtk_table_attach_defaults (GTK_TABLE (boxes3), app->text_sink_entry, 2, 3, + 1, 2); + + label = gtk_label_new ("Buffer Size"); + gtk_table_attach_defaults (GTK_TABLE (boxes3), label, 0, 1, 2, 3); + app->buffer_size_entry = gtk_entry_new (); + gtk_entry_set_text (GTK_ENTRY (app->buffer_size_entry), "-1"); + g_signal_connect (app->buffer_size_entry, "activate", + G_CALLBACK (buffer_size_activate_cb), app); + gtk_table_attach_defaults (GTK_TABLE (boxes3), app->buffer_size_entry, 0, 1, + 3, 4); + + label = gtk_label_new ("Buffer Duration"); + gtk_table_attach_defaults (GTK_TABLE (boxes3), label, 1, 2, 2, 3); + app->buffer_duration_entry = gtk_entry_new (); + gtk_entry_set_text (GTK_ENTRY (app->buffer_duration_entry), "-1"); + g_signal_connect (app->buffer_duration_entry, "activate", + G_CALLBACK (buffer_duration_activate_cb), app); + gtk_table_attach_defaults (GTK_TABLE (boxes3), app->buffer_duration_entry, + 1, 2, 3, 4); + + label = gtk_label_new ("Ringbuffer Max Size"); + gtk_table_attach_defaults (GTK_TABLE (boxes3), label, 2, 3, 2, 3); + app->ringbuffer_maxsize_entry = gtk_entry_new (); + gtk_entry_set_text (GTK_ENTRY (app->ringbuffer_maxsize_entry), "0"); + g_signal_connect (app->ringbuffer_maxsize_entry, "activate", + G_CALLBACK (ringbuffer_maxsize_activate_cb), app); + gtk_table_attach_defaults (GTK_TABLE (boxes3), + app->ringbuffer_maxsize_entry, 2, 3, 3, 4); + + label = gtk_label_new ("Connection Speed"); + gtk_table_attach_defaults (GTK_TABLE (boxes3), label, 3, 4, 2, 3); + app->connection_speed_entry = gtk_entry_new (); + gtk_entry_set_text (GTK_ENTRY (app->connection_speed_entry), "0"); + g_signal_connect (app->connection_speed_entry, "activate", + G_CALLBACK (connection_speed_activate_cb), app); + gtk_table_attach_defaults (GTK_TABLE (boxes3), app->connection_speed_entry, + 3, 4, 3, 4); + + label = gtk_label_new ("A/V offset"); + gtk_table_attach_defaults (GTK_TABLE (boxes3), label, 4, 5, 2, 3); + app->av_offset_entry = gtk_entry_new (); + g_signal_connect (app->av_offset_entry, "activate", + G_CALLBACK (av_offset_activate_cb), app); + gtk_entry_set_text (GTK_ENTRY (app->av_offset_entry), "0"); + g_signal_connect (app->av_offset_entry, "activate", + G_CALLBACK (av_offset_activate_cb), app); + gtk_table_attach_defaults (GTK_TABLE (boxes3), app->av_offset_entry, 4, 5, + 3, 4); + + label = gtk_label_new ("Subtitle Encoding"); + gtk_table_attach_defaults (GTK_TABLE (boxes3), label, 0, 1, 4, 5); + app->subtitle_encoding_entry = gtk_entry_new (); + g_signal_connect (app->subtitle_encoding_entry, "activate", + G_CALLBACK (subtitle_encoding_activate_cb), app); + gtk_table_attach_defaults (GTK_TABLE (boxes3), app->subtitle_encoding_entry, + 0, 1, 5, 6); + + label = gtk_label_new ("Subtitle Fontdesc"); + gtk_table_attach_defaults (GTK_TABLE (boxes3), label, 1, 2, 4, 5); + app->subtitle_fontdesc_button = gtk_font_button_new (); + g_signal_connect (app->subtitle_fontdesc_button, "font-set", + G_CALLBACK (subtitle_fontdesc_cb), app); + gtk_table_attach_defaults (GTK_TABLE (boxes3), + app->subtitle_fontdesc_button, 1, 2, 5, 6); + + pb2vbox = gtk_vbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (pb2vbox), panel, FALSE, FALSE, 2); + gtk_box_pack_start (GTK_BOX (pb2vbox), boxes, FALSE, FALSE, 2); + gtk_box_pack_start (GTK_BOX (pb2vbox), boxes2, FALSE, FALSE, 2); + gtk_box_pack_start (GTK_BOX (pb2vbox), boxes3, FALSE, FALSE, 2); + gtk_container_add (GTK_CONTAINER (playbin), pb2vbox); + } else { + playbin = NULL; + } + + /* do the packing stuff ... */ + gtk_window_set_default_size (GTK_WINDOW (app->window), 250, 96); + /* FIXME: can we avoid this for audio only? */ + gtk_widget_set_size_request (GTK_WIDGET (app->video_window), -1, + DEFAULT_VIDEO_HEIGHT); + gtk_container_add (GTK_CONTAINER (app->window), vbox); + gtk_box_pack_start (GTK_BOX (vbox), app->video_window, TRUE, TRUE, 2); + gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 2); + gtk_box_pack_start (GTK_BOX (hbox), play_button, FALSE, FALSE, 2); + gtk_box_pack_start (GTK_BOX (hbox), pause_button, FALSE, FALSE, 2); + gtk_box_pack_start (GTK_BOX (hbox), stop_button, FALSE, FALSE, 2); + + gtk_box_pack_start (GTK_BOX (vbox), seek, FALSE, FALSE, 2); + if (playbin) + gtk_box_pack_start (GTK_BOX (vbox), playbin, FALSE, FALSE, 2); + gtk_box_pack_start (GTK_BOX (vbox), step, FALSE, FALSE, 2); + gtk_box_pack_start (GTK_BOX (vbox), navigation, FALSE, FALSE, 2); + gtk_box_pack_start (GTK_BOX (vbox), colorbalance, FALSE, FALSE, 2); + gtk_box_pack_start (GTK_BOX (vbox), gtk_hseparator_new (), FALSE, FALSE, 2); + gtk_box_pack_start (GTK_BOX (vbox), app->seek_scale, FALSE, FALSE, 2); + gtk_box_pack_start (GTK_BOX (vbox), app->statusbar, FALSE, FALSE, 2); + + /* connect things ... */ + g_signal_connect (G_OBJECT (play_button), "clicked", G_CALLBACK (play_cb), + app); + g_signal_connect (G_OBJECT (pause_button), "clicked", G_CALLBACK (pause_cb), + app); + g_signal_connect (G_OBJECT (stop_button), "clicked", G_CALLBACK (stop_cb), + app); + + g_signal_connect (G_OBJECT (app->window), "delete-event", + G_CALLBACK (delete_event_cb), app); +} + +static void +set_defaults (PlaybackApp * app) +{ + memset (app, 0, sizeof (PlaybackApp)); + + app->flush_seek = TRUE; + app->scrub = TRUE; + app->rate = 1.0; + + app->position = app->duration = -1; + app->state = GST_STATE_NULL; + + app->need_streams = TRUE; + + g_static_mutex_init (&app->state_mutex); + + app->play_rate = 1.0; +} + +static void +reset_app (PlaybackApp * app) +{ + g_free (app->audiosink_str); + g_free (app->videosink_str); + + g_list_free (app->formats); + + g_static_mutex_free (&app->state_mutex); + + if (app->xoverlay_element) + gst_object_unref (app->xoverlay_element); + if (app->navigation_element) + gst_object_unref (app->navigation_element); + + g_list_foreach (app->paths, (GFunc) g_free, NULL); + g_list_free (app->paths); + g_list_foreach (app->sub_paths, (GFunc) g_free, NULL); + g_list_free (app->sub_paths); + + g_print ("free pipeline\n"); + gst_object_unref (app->pipeline); +} + +int +main (int argc, char **argv) +{ + PlaybackApp app; + GOptionEntry options[] = { + {"stats", 's', 0, G_OPTION_ARG_NONE, &app.stats, + "Show pad stats", NULL}, + {"verbose", 'v', 0, G_OPTION_ARG_NONE, &app.verbose, + "Verbose properties", NULL}, + {NULL} + }; + GOptionContext *ctx; + GError *err = NULL; + + set_defaults (&app); + +#if !GLIB_CHECK_VERSION (2, 31, 0) + if (!g_thread_supported ()) + g_thread_init (NULL); +#endif + + ctx = g_option_context_new ("- playback testing in gsteamer"); + g_option_context_add_main_entries (ctx, options, NULL); + g_option_context_add_group (ctx, gst_init_get_option_group ()); + g_option_context_add_group (ctx, gtk_get_option_group (TRUE)); + + if (!g_option_context_parse (ctx, &argc, &argv, &err)) { + g_print ("Error initializing: %s\n", err->message); + exit (1); + } + + GST_DEBUG_CATEGORY_INIT (playback_debug, "playback-test", 0, + "playback example"); + + if (argc < 3) { + print_usage (argc, argv); + exit (-1); + } + + app.pipeline_type = atoi (argv[1]); + + if (app.pipeline_type < 0 || app.pipeline_type >= G_N_ELEMENTS (pipelines)) { + print_usage (argc, argv); + exit (-1); + } + + app.pipeline_spec = argv[2]; + + if (g_path_is_absolute (app.pipeline_spec) && + (g_strrstr (app.pipeline_spec, "*") != NULL || + g_strrstr (app.pipeline_spec, "?") != NULL)) { + app.paths = handle_wildcards (app.pipeline_spec); + } else { + app.paths = g_list_prepend (app.paths, g_strdup (app.pipeline_spec)); + } + + if (!app.paths) { + g_print ("opening %s failed\n", app.pipeline_spec); + exit (-1); + } + + app.current_path = app.paths; + + if (argc > 3 && argv[3]) { + if (g_path_is_absolute (argv[3]) && + (g_strrstr (argv[3], "*") != NULL || + g_strrstr (argv[3], "?") != NULL)) { + app.sub_paths = handle_wildcards (argv[3]); + } else { + app.sub_paths = g_list_prepend (app.sub_paths, g_strdup (argv[3])); + } + + if (!app.sub_paths) { + g_print ("opening %s failed\n", argv[3]); + exit (-1); + } + + app.current_sub_path = app.sub_paths; + } + + pipelines[app.pipeline_type].func (&app, app.current_path->data); + g_assert (app.pipeline); + + create_ui (&app); + + /* show the gui. */ + gtk_widget_show_all (app.window); + + /* realize window now so that the video window gets created and we can + * obtain its XID before the pipeline is started up and the videosink + * asks for the XID of the window to render onto */ + gtk_widget_realize (app.window); + +#if defined (GDK_WINDOWING_X11) || defined (GDK_WINDOWING_WIN32) || defined (GDK_WINDOWING_QUARTZ) + /* we should have the XID now */ + g_assert (app.embed_xid != 0); + + if (app.pipeline_type == 0) { + gst_x_overlay_set_window_handle (GST_X_OVERLAY (app.pipeline), + app.embed_xid); + } +#endif + + if (app.verbose) { + g_signal_connect (app.pipeline, "deep_notify", + G_CALLBACK (gst_object_default_deep_notify), NULL); + } + + connect_bus_signals (&app); + + gtk_main (); + + g_print ("NULL pipeline\n"); + gst_element_set_state (app.pipeline, GST_STATE_NULL); + + reset_app (&app); + + return 0; +} diff --git a/gst-sdk/tutorials/playback-tutorial-1.c b/gst-sdk/tutorials/playback-tutorial-1.c new file mode 100644 index 0000000000..f61da93fab --- /dev/null +++ b/gst-sdk/tutorials/playback-tutorial-1.c @@ -0,0 +1,218 @@ +#include + +/* Structure to contain all our information, so we can pass it around */ +typedef struct _CustomData { + GstElement *playbin2; /* Our one and only element */ + + gint n_video; /* Number of embedded video streams */ + gint n_audio; /* Number of embedded audio streams */ + gint n_text; /* Number of embedded subtitle streams */ + + gint current_video; /* Currently playing video stream */ + gint current_audio; /* Currently playing audio stream */ + gint current_text; /* Currently playing subtitle stream */ + + GMainLoop *main_loop; /* GLib's Main Loop */ +} CustomData; + +/* playbin2 flags */ +typedef enum { + GST_PLAY_FLAG_VIDEO = (1 << 0), /* We want video output */ + GST_PLAY_FLAG_AUDIO = (1 << 1), /* We want audio output */ + GST_PLAY_FLAG_TEXT = (1 << 2) /* We want subtitle output */ +} GstPlayFlags; + +/* Forward definition for the message and keyboard processing functions */ +static gboolean handle_message (GstBus *bus, GstMessage *msg, CustomData *data); +static gboolean handle_keyboard (GIOChannel *source, GIOCondition cond, CustomData *data); + +int main(int argc, char *argv[]) { + CustomData data; + GstBus *bus; + GstStateChangeReturn ret; + gint flags; + GIOChannel *io_stdin; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Create the elements */ + data.playbin2 = gst_element_factory_make ("playbin2", "playbin2"); + + if (!data.playbin2) { + g_printerr ("Not all elements could be created.\n"); + return -1; + } + + /* Set the URI to play */ + g_object_set (data.playbin2, "uri", "http://docs.gstreamer.com/media/sintel_cropped_multilingual.webm", NULL); + + /* Set flags to show Audio and Video but ignore Subtitles */ + g_object_get (data.playbin2, "flags", &flags, NULL); + flags |= GST_PLAY_FLAG_VIDEO | GST_PLAY_FLAG_AUDIO; + flags &= ~GST_PLAY_FLAG_TEXT; + g_object_set (data.playbin2, "flags", flags, NULL); + + /* Set connection speed. This will affect some internal decisions of playbin2 */ + g_object_set (data.playbin2, "connection-speed", 56000, NULL); + + /* Add a bus watch, so we get notified when a message arrives */ + bus = gst_element_get_bus (data.playbin2); + gst_bus_add_watch (bus, (GstBusFunc)handle_message, &data); + + /* Add a keyboard watch so we get notified of keystrokes */ +#ifdef _WIN32 + io_stdin = g_io_channel_win32_new_fd (fileno (stdin)); +#else + io_stdin = g_io_channel_unix_new (fileno (stdin)); +#endif + g_io_add_watch (io_stdin, G_IO_IN, (GIOFunc)handle_keyboard, &data); + + /* Start playing */ + ret = gst_element_set_state (data.playbin2, GST_STATE_PLAYING); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (data.playbin2); + return -1; + } + + /* Create a GLib Main Loop and set it to run */ + data.main_loop = g_main_loop_new (NULL, FALSE); + g_main_loop_run (data.main_loop); + + /* Free resources */ + g_main_loop_unref (data.main_loop); + g_io_channel_unref (io_stdin); + gst_object_unref (bus); + gst_element_set_state (data.playbin2, GST_STATE_NULL); + gst_object_unref (data.playbin2); + return 0; +} + +/* Extract some metadata from the streams and print it on the screen */ +static void analyze_streams (CustomData *data) { + gint i; + GstTagList *tags; + gchar *str; + guint rate; + + /* Read some properties */ + g_object_get (data->playbin2, "n-video", &data->n_video, NULL); + g_object_get (data->playbin2, "n-audio", &data->n_audio, NULL); + g_object_get (data->playbin2, "n-text", &data->n_text, NULL); + + g_print ("%d video stream(s), %d audio stream(s), %d text stream(s)\n", + data->n_video, data->n_audio, data->n_text); + + g_print ("\n"); + for (i = 0; i < data->n_video; i++) { + tags = NULL; + /* Retrieve the stream's video tags */ + g_signal_emit_by_name (data->playbin2, "get-video-tags", i, &tags); + if (tags) { + g_print ("video stream %d:\n", i); + gst_tag_list_get_string (tags, GST_TAG_VIDEO_CODEC, &str); + g_print (" codec: %s\n", str ? str : "unknown"); + g_free (str); + gst_tag_list_free (tags); + } + } + + g_print ("\n"); + for (i = 0; i < data->n_audio; i++) { + tags = NULL; + /* Retrieve the stream's audio tags */ + g_signal_emit_by_name (data->playbin2, "get-audio-tags", i, &tags); + if (tags) { + g_print ("audio stream %d:\n", i); + if (gst_tag_list_get_string (tags, GST_TAG_AUDIO_CODEC, &str)) { + g_print (" codec: %s\n", str); + g_free (str); + } + if (gst_tag_list_get_string (tags, GST_TAG_LANGUAGE_CODE, &str)) { + g_print (" language: %s\n", str); + g_free (str); + } + if (gst_tag_list_get_uint (tags, GST_TAG_BITRATE, &rate)) { + g_print (" bitrate: %d\n", rate); + } + gst_tag_list_free (tags); + } + } + + g_print ("\n"); + for (i = 0; i < data->n_text; i++) { + tags = NULL; + /* Retrieve the stream's subtitle tags */ + g_signal_emit_by_name (data->playbin2, "get-text-tags", i, &tags); + if (tags) { + g_print ("subtitle stream %d:\n", i); + if (gst_tag_list_get_string (tags, GST_TAG_LANGUAGE_CODE, &str)) { + g_print (" language: %s\n", str); + g_free (str); + } + gst_tag_list_free (tags); + } + } + + g_object_get (data->playbin2, "current-video", &data->current_video, NULL); + g_object_get (data->playbin2, "current-audio", &data->current_audio, NULL); + g_object_get (data->playbin2, "current-text", &data->current_text, NULL); + + g_print ("\n"); + g_print ("Currently playing video stream %d, audio stream %d and text stream %d\n", + data->current_video, data->current_audio, data->current_text); + g_print ("Type any number and hit ENTER to select a different audio stream\n"); +} + +/* Process messages from GStreamer */ +static gboolean handle_message (GstBus *bus, GstMessage *msg, CustomData *data) { + GError *err; + gchar *debug_info; + + switch (GST_MESSAGE_TYPE (msg)) { + case GST_MESSAGE_ERROR: + gst_message_parse_error (msg, &err, &debug_info); + g_printerr ("Error received from element %s: %s\n", GST_OBJECT_NAME (msg->src), err->message); + g_printerr ("Debugging information: %s\n", debug_info ? debug_info : "none"); + g_clear_error (&err); + g_free (debug_info); + g_main_loop_quit (data->main_loop); + break; + case GST_MESSAGE_EOS: + g_print ("End-Of-Stream reached.\n"); + g_main_loop_quit (data->main_loop); + break; + case GST_MESSAGE_STATE_CHANGED: { + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->playbin2)) { + if (new_state == GST_STATE_PLAYING) { + /* Once we are in the playing state, analyze the streams */ + analyze_streams (data); + } + } + } break; + } + + /* We want to keep receiving messages */ + return TRUE; +} + +/* Process keyboard input */ +static gboolean handle_keyboard (GIOChannel *source, GIOCondition cond, CustomData *data) { + gchar *str = NULL; + + if (g_io_channel_read_line (source, &str, NULL, NULL, NULL) == G_IO_STATUS_NORMAL) { + int index = atoi (str); + if (index < 0 || index >= data->n_audio) { + g_printerr ("Index out of bounds\n"); + } else { + /* If the input was a valid audio stream index, set the current audio stream */ + g_print ("Setting current audio stream to %d\n", index); + g_object_set (data->playbin2, "current-audio", index, NULL); + } + } + g_free (str); + return TRUE; +} diff --git a/vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj b/vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj new file mode 100644 index 0000000000..b5a2dabcc5 --- /dev/null +++ b/vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj @@ -0,0 +1,84 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {9DEC64B5-E1FA-4A55-9174-58FF94BDF432} + Win32Proj + basictutorial1 + + + + Application + true + Unicode + + + Application + false + true + Unicode + + + + + + + + + + + + + + + true + + + false + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + true + true + + + + + + + + + \ No newline at end of file diff --git a/vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj.filters b/vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj.filters new file mode 100644 index 0000000000..260bf3cdf8 --- /dev/null +++ b/vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj.filters @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/vs/2010/tutorials/tutorials.sln b/vs/2010/tutorials/tutorials.sln new file mode 100644 index 0000000000..a79fc4223d --- /dev/null +++ b/vs/2010/tutorials/tutorials.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual C++ Express 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-1", "basic-tutorial-1\basic-tutorial-1.vcxproj", "{9DEC64B5-E1FA-4A55-9174-58FF94BDF432}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {9DEC64B5-E1FA-4A55-9174-58FF94BDF432}.Debug|Win32.ActiveCfg = Debug|Win32 + {9DEC64B5-E1FA-4A55-9174-58FF94BDF432}.Debug|Win32.Build.0 = Debug|Win32 + {9DEC64B5-E1FA-4A55-9174-58FF94BDF432}.Release|Win32.ActiveCfg = Release|Win32 + {9DEC64B5-E1FA-4A55-9174-58FF94BDF432}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal From f696021e2711df3418ff52043da06235ed551ddb Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 17 Apr 2012 13:07:31 +0200 Subject: [PATCH 002/979] .gitignore added --- .gitignore | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000..0c7f5026be --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ + +Debug +ipch +*.user +*.sdf +*.opensdf +vs/2010/libs \ No newline at end of file From b1405d830d8ea4dbcde61a857942b82330d7ac70 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 17 Apr 2012 13:11:20 +0200 Subject: [PATCH 003/979] This file does not belong to the tutorials --- gst-sdk/tutorials/playback-test.c | 3389 ----------------------------- 1 file changed, 3389 deletions(-) delete mode 100644 gst-sdk/tutorials/playback-test.c diff --git a/gst-sdk/tutorials/playback-test.c b/gst-sdk/tutorials/playback-test.c deleted file mode 100644 index d732956923..0000000000 --- a/gst-sdk/tutorials/playback-test.c +++ /dev/null @@ -1,3389 +0,0 @@ -/* GStreamer - * - * playback-test.c: playback sample application - * - * Copyright (C) 2005 Wim Taymans - * 2006 Stefan Kost - * 2012 Collabora Ltd. - * Author: Sebastian Dröge - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif -/* FIXME 0.11: suppress warnings for deprecated API such as GStaticRecMutex - * with newer GTK versions (>= 3.3.0) */ -#define GDK_DISABLE_DEPRECATION_WARNINGS -#define GLIB_DISABLE_DEPRECATION_WARNINGS - -#include -#include -#include -#include -#include -#include - -#include -#if defined (GDK_WINDOWING_X11) -#include -#elif defined (GDK_WINDOWING_WIN32) -#include -#elif defined (GDK_WINDOWING_QUARTZ) -#include -#endif - -#include -#include -#include - -GST_DEBUG_CATEGORY_STATIC (playback_debug); -#define GST_CAT_DEFAULT (playback_debug) - -/* Copied from gst-plugins-base/gst/playback/gstplay-enum.h */ -typedef enum -{ - GST_PLAY_FLAG_VIDEO = (1 << 0), - GST_PLAY_FLAG_AUDIO = (1 << 1), - GST_PLAY_FLAG_TEXT = (1 << 2), - GST_PLAY_FLAG_VIS = (1 << 3), - GST_PLAY_FLAG_SOFT_VOLUME = (1 << 4), - GST_PLAY_FLAG_NATIVE_AUDIO = (1 << 5), - GST_PLAY_FLAG_NATIVE_VIDEO = (1 << 6), - GST_PLAY_FLAG_DOWNLOAD = (1 << 7), - GST_PLAY_FLAG_BUFFERING = (1 << 8), - GST_PLAY_FLAG_DEINTERLACE = (1 << 9), - GST_PLAY_FLAG_SOFT_COLORBALANCE = (1 << 10) -} GstPlayFlags; - -/* configuration */ - -#define FILL_INTERVAL 100 -//#define UPDATE_INTERVAL 500 -//#define UPDATE_INTERVAL 100 -#define UPDATE_INTERVAL 40 - -/* number of milliseconds to play for after a seek */ -#define SCRUB_TIME 100 - -/* timeout for gst_element_get_state() after a seek */ -#define SEEK_TIMEOUT 40 * GST_MSECOND - -#define DEFAULT_VIDEO_HEIGHT 300 - -/* the state to go to when stop is pressed */ -#define STOP_STATE GST_STATE_READY - -#define N_GRAD 1000.0 - -/* we keep an array of the visualisation entries so that we can easily switch - * with the combo box index. */ -typedef struct -{ - GstElementFactory *factory; -} VisEntry; - -typedef struct -{ - /* GTK widgets */ - GtkWidget *window; - GtkWidget *video_combo, *audio_combo, *text_combo, *vis_combo; - GtkWidget *video_window; - - GtkWidget *vis_checkbox, *video_checkbox, *audio_checkbox; - GtkWidget *text_checkbox, *mute_checkbox, *volume_spinbutton; - GtkWidget *soft_volume_checkbox, *native_audio_checkbox, - *native_video_checkbox; - GtkWidget *download_checkbox, *buffering_checkbox, *deinterlace_checkbox; - GtkWidget *soft_colorbalance_checkbox; - GtkWidget *video_sink_entry, *audio_sink_entry, *text_sink_entry; - GtkWidget *buffer_size_entry, *buffer_duration_entry; - GtkWidget *ringbuffer_maxsize_entry, *connection_speed_entry; - GtkWidget *av_offset_entry, *subtitle_encoding_entry; - GtkWidget *subtitle_fontdesc_button; - - GtkWidget *seek_format_combo, *seek_position_label, *seek_duration_label; - GtkWidget *seek_entry; - - GtkWidget *seek_scale, *statusbar; - guint status_id; - - GtkWidget *step_format_combo, *step_amount_spinbutton, *step_rate_spinbutton; - GtkWidget *shuttle_scale; - - GtkWidget *contrast_scale, *brightness_scale, *hue_scale, *saturation_scale; - - struct - { - GstNavigationCommand cmd; - GtkWidget *button; - } navigation_buttons[14]; - - guintptr embed_xid; - - /* GStreamer pipeline */ - GstElement *pipeline; - - GstElement *navigation_element; - GstElement *colorbalance_element; - GstElement *xoverlay_element; - - /* Settings */ - gboolean accurate_seek; - gboolean keyframe_seek; - gboolean loop_seek; - gboolean flush_seek; - gboolean scrub; - gboolean play_scrub; - gboolean skip_seek; - gdouble rate; - - /* From commandline parameters */ - gboolean stats; - gboolean verbose; - const gchar *pipeline_spec; - gint pipeline_type; - GList *paths, *current_path; - GList *sub_paths, *current_sub_path; - - gchar *audiosink_str, *videosink_str; - - /* Internal state */ - gint64 position, duration; - - gboolean is_live; - gboolean buffering; - GstBufferingMode mode; - gint64 buffering_left; - GstState state; - guint update_id; - guint seek_timeout_id; - gulong changed_id; - guint fill_id; - - gboolean need_streams; - gint n_video, n_audio, n_text; - - GStaticMutex state_mutex; - - GArray *vis_entries; /* Array of VisEntry structs */ - - gboolean shuttling; - gdouble shuttle_rate; - gdouble play_rate; - - const GstFormatDefinition *seek_format; - GList *formats; - - gint n_formats; -} PlaybackApp; - -static void clear_streams (PlaybackApp * app); -static void find_interface_elements (PlaybackApp * app); -static void volume_notify_cb (GstElement * pipeline, GParamSpec * arg, - PlaybackApp * app); -static void mute_notify_cb (GstElement * pipeline, GParamSpec * arg, - PlaybackApp * app); - -static void video_sink_activate_cb (GtkEntry * entry, PlaybackApp * app); -static void text_sink_activate_cb (GtkEntry * entry, PlaybackApp * app); -static void audio_sink_activate_cb (GtkEntry * entry, PlaybackApp * app); -static void buffer_size_activate_cb (GtkEntry * entry, PlaybackApp * app); -static void buffer_duration_activate_cb (GtkEntry * entry, PlaybackApp * app); -static void ringbuffer_maxsize_activate_cb (GtkEntry * entry, - PlaybackApp * app); -static void connection_speed_activate_cb (GtkEntry * entry, PlaybackApp * app); -static void av_offset_activate_cb (GtkEntry * entry, PlaybackApp * app); -static void subtitle_encoding_activate_cb (GtkEntry * entry, PlaybackApp * app); - -/* pipeline construction */ - -static GstElement * -gst_element_factory_make_or_warn (const gchar * type, const gchar * name) -{ - GstElement *element = gst_element_factory_make (type, name); - -#ifndef GST_DISABLE_PARSE - if (!element) { - /* Try parsing it as a pipeline description */ - element = gst_parse_bin_from_description (type, TRUE, NULL); - if (element) { - gst_element_set_name (element, name); - } - } -#endif - - if (!element) { - g_warning ("Failed to create element %s of type %s", name, type); - } - - return element; -} - -static void -set_uri_property (GObject * object, const gchar * property, - const gchar * location) -{ - gchar *uri; - - /* Add "file://" prefix for convenience */ - if (location && (g_str_has_prefix (location, "/") - || !gst_uri_is_valid (location))) { - uri = gst_filename_to_uri (location, NULL); - g_print ("Setting URI: %s\n", uri); - g_object_set (object, property, uri, NULL); - g_free (uri); - } else { - g_print ("Setting URI: %s\n", location); - g_object_set (object, property, location, NULL); - } -} - -static void -playbin_set_uri (GstElement * playbin, const gchar * location, - const gchar * sub_location) -{ - set_uri_property (G_OBJECT (playbin), "uri", location); - set_uri_property (G_OBJECT (playbin), "suburi", sub_location); -} - -static void -make_playbin2_pipeline (PlaybackApp * app, const gchar * location) -{ - GstElement *pipeline; - - app->pipeline = pipeline = gst_element_factory_make ("playbin2", "playbin2"); - g_assert (pipeline); - - playbin_set_uri (pipeline, location, - app->current_sub_path ? app->current_sub_path->data : NULL); - - g_signal_connect (pipeline, "notify::volume", G_CALLBACK (volume_notify_cb), - app); - g_signal_connect (pipeline, "notify::mute", G_CALLBACK (mute_notify_cb), app); - - app->navigation_element = GST_ELEMENT (gst_object_ref (pipeline)); - app->colorbalance_element = GST_ELEMENT (gst_object_ref (pipeline)); -} - -#ifndef GST_DISABLE_PARSE -static void -make_parselaunch_pipeline (PlaybackApp * app, const gchar * description) -{ - app->pipeline = gst_parse_launch (description, NULL); -} -#endif - -typedef struct -{ - const gchar *name; - void (*func) (PlaybackApp * app, const gchar * location); -} -Pipeline; - -static const Pipeline pipelines[] = { - {"playbin2", make_playbin2_pipeline}, -#ifndef GST_DISABLE_PARSE - {"parse-launch", make_parselaunch_pipeline}, -#endif -}; - -/* ui callbacks and helpers */ - -static gchar * -format_value (GtkScale * scale, gdouble value, PlaybackApp * app) -{ - gint64 real; - gint64 seconds; - gint64 subseconds; - - real = value * app->duration / N_GRAD; - seconds = (gint64) real / GST_SECOND; - subseconds = (gint64) real / (GST_SECOND / N_GRAD); - - return g_strdup_printf ("%02" G_GINT64_FORMAT ":%02" G_GINT64_FORMAT ":%02" - G_GINT64_FORMAT, seconds / 60, seconds % 60, subseconds % 100); -} - -static gchar * -shuttle_format_value (GtkScale * scale, gdouble value) -{ - return g_strdup_printf ("%0.*g", gtk_scale_get_digits (scale), value); -} - -typedef struct -{ - const gchar *name; - const GstFormat format; -} -seek_format; - -static seek_format seek_formats[] = { - {"tim", GST_FORMAT_TIME}, - {"byt", GST_FORMAT_BYTES}, - {"buf", GST_FORMAT_BUFFERS}, - {"def", GST_FORMAT_DEFAULT}, - {NULL, 0}, -}; - -static void -query_positions (PlaybackApp * app) -{ - gint i = 0; - - g_print ("positions %8.8s: ", GST_ELEMENT_NAME (app->pipeline)); - while (seek_formats[i].name) { - gint64 position, total; - GstFormat format; - - format = seek_formats[i].format; - - if (gst_element_query_position (app->pipeline, &format, &position) && - gst_element_query_duration (app->pipeline, &format, &total)) { - g_print ("%s %13" G_GINT64_FORMAT " / %13" G_GINT64_FORMAT " | ", - seek_formats[i].name, position, total); - } else { - g_print ("%s %13.13s / %13.13s | ", seek_formats[i].name, "*NA*", "*NA*"); - } - i++; - } - g_print (" %s\n", GST_ELEMENT_NAME (app->pipeline)); -} - -static gboolean start_seek (GtkRange * range, GdkEventButton * event, - PlaybackApp * app); -static gboolean stop_seek (GtkRange * range, GdkEventButton * event, - PlaybackApp * app); -static void seek_cb (GtkRange * range, PlaybackApp * app); - -static void -set_scale (PlaybackApp * app, gdouble value) -{ - g_signal_handlers_block_by_func (app->seek_scale, start_seek, app); - g_signal_handlers_block_by_func (app->seek_scale, stop_seek, app); - g_signal_handlers_block_by_func (app->seek_scale, seek_cb, app); - gtk_range_set_value (GTK_RANGE (app->seek_scale), value); - g_signal_handlers_unblock_by_func (app->seek_scale, start_seek, app); - g_signal_handlers_unblock_by_func (app->seek_scale, stop_seek, app); - g_signal_handlers_unblock_by_func (app->seek_scale, seek_cb, app); - gtk_widget_queue_draw (app->seek_scale); -} - -static gboolean -update_fill (PlaybackApp * app) -{ - GstQuery *query; - - query = gst_query_new_buffering (GST_FORMAT_PERCENT); - if (gst_element_query (app->pipeline, query)) { - gint64 start, stop, buffering_total; - GstFormat format; - gdouble fill; - gboolean busy; - gint percent; - GstBufferingMode mode; - gint avg_in, avg_out; - gint64 buffering_left; - - gst_query_parse_buffering_percent (query, &busy, &percent); - gst_query_parse_buffering_range (query, &format, &start, &stop, - &buffering_total); - gst_query_parse_buffering_stats (query, &mode, &avg_in, &avg_out, - &buffering_left); - - /* note that we could start the playback when buffering_left < remaining - * playback time */ - GST_DEBUG ("buffering total %" G_GINT64_FORMAT " ms, left %" - G_GINT64_FORMAT " ms", buffering_total, buffering_left); - GST_DEBUG ("start %" G_GINT64_FORMAT ", stop %" G_GINT64_FORMAT, - start, stop); - - if (stop != -1) - fill = N_GRAD * stop / GST_FORMAT_PERCENT_MAX; - else - fill = N_GRAD; - - gtk_range_set_fill_level (GTK_RANGE (app->seek_scale), fill); - } - gst_query_unref (query); - - return TRUE; -} - -static gboolean -update_scale (PlaybackApp * app) -{ - GstFormat format = GST_FORMAT_TIME; - gint64 seek_pos, seek_dur; - gchar *str; - - //position = 0; - //duration = 0; - - gst_element_query_position (app->pipeline, &format, &app->position); - gst_element_query_duration (app->pipeline, &format, &app->duration); - - if (app->stats) - query_positions (app); - - if (app->position >= app->duration) - app->duration = app->position; - - if (app->duration > 0) { - set_scale (app, app->position * N_GRAD / app->duration); - } - - if (app->seek_format) { - format = app->seek_format->value; - seek_pos = seek_dur = -1; - gst_element_query_position (app->pipeline, &format, &seek_pos); - gst_element_query_duration (app->pipeline, &format, &seek_dur); - - str = g_strdup_printf ("%" G_GINT64_FORMAT, seek_pos); - gtk_label_set_text (GTK_LABEL (app->seek_position_label), str); - g_free (str); - - str = g_strdup_printf ("%" G_GINT64_FORMAT, seek_dur); - gtk_label_set_text (GTK_LABEL (app->seek_duration_label), str); - g_free (str); - } - - return TRUE; -} - -static void set_update_scale (PlaybackApp * app, gboolean active); -static void set_update_fill (PlaybackApp * app, gboolean active); - -static gboolean -end_scrub (PlaybackApp * app) -{ - GST_DEBUG ("end scrub, PAUSE"); - gst_element_set_state (app->pipeline, GST_STATE_PAUSED); - app->seek_timeout_id = 0; - - return FALSE; -} - -static gboolean -send_event (PlaybackApp * app, GstEvent * event) -{ - gboolean res = FALSE; - - GST_DEBUG ("send event on element %s", GST_ELEMENT_NAME (app->pipeline)); - res = gst_element_send_event (app->pipeline, event); - - return res; -} - -static void -do_seek (PlaybackApp * app, GstFormat format, gint64 position) -{ - gboolean res = FALSE; - GstEvent *s_event; - GstSeekFlags flags; - - flags = 0; - if (app->flush_seek) - flags |= GST_SEEK_FLAG_FLUSH; - if (app->accurate_seek) - flags |= GST_SEEK_FLAG_ACCURATE; - if (app->keyframe_seek) - flags |= GST_SEEK_FLAG_KEY_UNIT; - if (app->loop_seek) - flags |= GST_SEEK_FLAG_SEGMENT; - if (app->skip_seek) - flags |= GST_SEEK_FLAG_SKIP; - - if (app->rate >= 0) { - s_event = gst_event_new_seek (app->rate, - format, flags, GST_SEEK_TYPE_SET, position, GST_SEEK_TYPE_SET, - GST_CLOCK_TIME_NONE); - GST_DEBUG ("seek with rate %lf to %" GST_TIME_FORMAT " / %" GST_TIME_FORMAT, - app->rate, GST_TIME_ARGS (position), GST_TIME_ARGS (app->duration)); - } else { - s_event = gst_event_new_seek (app->rate, - format, flags, GST_SEEK_TYPE_SET, G_GINT64_CONSTANT (0), - GST_SEEK_TYPE_SET, position); - GST_DEBUG ("seek with rate %lf to %" GST_TIME_FORMAT " / %" GST_TIME_FORMAT, - app->rate, GST_TIME_ARGS (0), GST_TIME_ARGS (position)); - } - - res = send_event (app, s_event); - - if (res) { - if (app->flush_seek) { - gst_element_get_state (GST_ELEMENT (app->pipeline), NULL, NULL, - SEEK_TIMEOUT); - } else { - set_update_scale (app, TRUE); - } - } else { - g_print ("seek failed\n"); - set_update_scale (app, TRUE); - } -} - -static void -seek_cb (GtkRange * range, PlaybackApp * app) -{ - gint64 real; - /* If the timer hasn't expired yet, then the pipeline is running */ - if (app->play_scrub && app->seek_timeout_id != 0) { - GST_DEBUG ("do scrub seek, PAUSED"); - gst_element_set_state (app->pipeline, GST_STATE_PAUSED); - } - - real = - gtk_range_get_value (GTK_RANGE (app->seek_scale)) * app->duration / - N_GRAD; - - GST_DEBUG ("value=%f, real=%" G_GINT64_FORMAT, - gtk_range_get_value (GTK_RANGE (app->seek_scale)), real); - - GST_DEBUG ("do seek"); - do_seek (app, GST_FORMAT_TIME, real); - - if (app->play_scrub) { - GST_DEBUG ("do scrub seek, PLAYING"); - gst_element_set_state (app->pipeline, GST_STATE_PLAYING); - - if (app->seek_timeout_id == 0) { - app->seek_timeout_id = - g_timeout_add (SCRUB_TIME, (GSourceFunc) end_scrub, app); - } - } -} - -static void -advanced_seek_button_cb (GtkButton * button, PlaybackApp * app) -{ - GstFormat fmt; - gint64 pos; - const gchar *text; - gchar *endptr; - - fmt = app->seek_format->value; - - text = gtk_entry_get_text (GTK_ENTRY (app->seek_entry)); - - pos = g_ascii_strtoll (text, &endptr, 10); - if (endptr != text && pos != G_MAXINT64 && pos != G_MININT64) { - do_seek (app, fmt, pos); - } -} - -static void -set_update_fill (PlaybackApp * app, gboolean active) -{ - GST_DEBUG ("fill scale is %d", active); - - if (active) { - if (app->fill_id == 0) { - app->fill_id = - g_timeout_add (FILL_INTERVAL, (GSourceFunc) update_fill, app); - } - } else { - if (app->fill_id) { - g_source_remove (app->fill_id); - app->fill_id = 0; - } - } -} - -static void -set_update_scale (PlaybackApp * app, gboolean active) -{ - GST_DEBUG ("update scale is %d", active); - - if (active) { - if (app->update_id == 0) { - app->update_id = - g_timeout_add (UPDATE_INTERVAL, (GSourceFunc) update_scale, app); - } - } else { - if (app->update_id) { - g_source_remove (app->update_id); - app->update_id = 0; - } - } -} - -static gboolean -start_seek (GtkRange * range, GdkEventButton * event, PlaybackApp * app) -{ - if (event->type != GDK_BUTTON_PRESS) - return FALSE; - - set_update_scale (app, FALSE); - - if (app->state == GST_STATE_PLAYING && app->flush_seek && app->scrub) { - GST_DEBUG ("start scrub seek, PAUSE"); - gst_element_set_state (app->pipeline, GST_STATE_PAUSED); - } - - if (app->changed_id == 0 && app->flush_seek && app->scrub) { - app->changed_id = - g_signal_connect (app->seek_scale, "value-changed", - G_CALLBACK (seek_cb), app); - } - - return FALSE; -} - -static gboolean -stop_seek (GtkRange * range, GdkEventButton * event, PlaybackApp * app) -{ - if (app->changed_id) { - g_signal_handler_disconnect (app->seek_scale, app->changed_id); - app->changed_id = 0; - } - - if (!app->flush_seek || !app->scrub) { - gint64 real; - - GST_DEBUG ("do final seek"); - real = - gtk_range_get_value (GTK_RANGE (app->seek_scale)) * app->duration / - N_GRAD; - do_seek (app, GST_FORMAT_TIME, real); - } - - if (app->seek_timeout_id != 0) { - g_source_remove (app->seek_timeout_id); - app->seek_timeout_id = 0; - /* Still scrubbing, so the pipeline is playing, see if we need PAUSED - * instead. */ - if (app->state == GST_STATE_PAUSED) { - GST_DEBUG ("stop scrub seek, PAUSED"); - gst_element_set_state (app->pipeline, GST_STATE_PAUSED); - } - } else { - if (app->state == GST_STATE_PLAYING) { - GST_DEBUG ("stop scrub seek, PLAYING"); - gst_element_set_state (app->pipeline, GST_STATE_PLAYING); - } - } - - return FALSE; -} - -static void -play_cb (GtkButton * button, PlaybackApp * app) -{ - GstStateChangeReturn ret; - - if (app->state != GST_STATE_PLAYING) { - g_print ("PLAY pipeline\n"); - gtk_statusbar_pop (GTK_STATUSBAR (app->statusbar), app->status_id); - - if (app->pipeline_type == 0) { - video_sink_activate_cb (GTK_ENTRY (app->video_sink_entry), app); - audio_sink_activate_cb (GTK_ENTRY (app->audio_sink_entry), app); - text_sink_activate_cb (GTK_ENTRY (app->text_sink_entry), app); - buffer_size_activate_cb (GTK_ENTRY (app->buffer_size_entry), app); - buffer_duration_activate_cb (GTK_ENTRY (app->buffer_duration_entry), app); - ringbuffer_maxsize_activate_cb (GTK_ENTRY (app->ringbuffer_maxsize_entry), - app); - connection_speed_activate_cb (GTK_ENTRY (app->connection_speed_entry), - app); - av_offset_activate_cb (GTK_ENTRY (app->av_offset_entry), app); - subtitle_encoding_activate_cb (GTK_ENTRY (app->subtitle_encoding_entry), - app); - } - - ret = gst_element_set_state (app->pipeline, GST_STATE_PLAYING); - switch (ret) { - case GST_STATE_CHANGE_FAILURE: - goto failed; - case GST_STATE_CHANGE_NO_PREROLL: - app->is_live = TRUE; - break; - default: - break; - } - app->state = GST_STATE_PLAYING; - gtk_statusbar_push (GTK_STATUSBAR (app->statusbar), app->status_id, - "Playing"); - } - - return; - -failed: - { - g_print ("PLAY failed\n"); - gtk_statusbar_push (GTK_STATUSBAR (app->statusbar), app->status_id, - "Play failed"); - } -} - -static void -pause_cb (GtkButton * button, PlaybackApp * app) -{ - g_static_mutex_lock (&app->state_mutex); - if (app->state != GST_STATE_PAUSED) { - GstStateChangeReturn ret; - - gtk_statusbar_pop (GTK_STATUSBAR (app->statusbar), app->status_id); - g_print ("PAUSE pipeline\n"); - ret = gst_element_set_state (app->pipeline, GST_STATE_PAUSED); - switch (ret) { - case GST_STATE_CHANGE_FAILURE: - goto failed; - case GST_STATE_CHANGE_NO_PREROLL: - app->is_live = TRUE; - break; - default: - break; - } - - app->state = GST_STATE_PAUSED; - gtk_statusbar_push (GTK_STATUSBAR (app->statusbar), app->status_id, - "Paused"); - } - g_static_mutex_unlock (&app->state_mutex); - - return; - -failed: - { - g_static_mutex_unlock (&app->state_mutex); - g_print ("PAUSE failed\n"); - gtk_statusbar_push (GTK_STATUSBAR (app->statusbar), app->status_id, - "Pause failed"); - } -} - -static void -stop_cb (GtkButton * button, PlaybackApp * app) -{ - if (app->state != STOP_STATE) { - GstStateChangeReturn ret; - gint i; - - g_print ("READY pipeline\n"); - gtk_statusbar_pop (GTK_STATUSBAR (app->statusbar), app->status_id); - - g_static_mutex_lock (&app->state_mutex); - ret = gst_element_set_state (app->pipeline, STOP_STATE); - if (ret == GST_STATE_CHANGE_FAILURE) - goto failed; - - app->state = STOP_STATE; - gtk_statusbar_push (GTK_STATUSBAR (app->statusbar), app->status_id, - "Stopped"); - gtk_widget_queue_draw (app->video_window); - - app->is_live = FALSE; - app->buffering = FALSE; - set_update_scale (app, FALSE); - set_scale (app, 0.0); - set_update_fill (app, FALSE); - - if (app->pipeline_type == 0) - clear_streams (app); - g_static_mutex_unlock (&app->state_mutex); - - gtk_widget_set_sensitive (GTK_WIDGET (app->seek_scale), TRUE); - for (i = 0; i < G_N_ELEMENTS (app->navigation_buttons); i++) - gtk_widget_set_sensitive (app->navigation_buttons[i].button, FALSE); - } - return; - -failed: - { - g_static_mutex_unlock (&app->state_mutex); - g_print ("STOP failed\n"); - gtk_statusbar_push (GTK_STATUSBAR (app->statusbar), app->status_id, - "Stop failed"); - } -} - -static void -accurate_toggle_cb (GtkToggleButton * button, PlaybackApp * app) -{ - app->accurate_seek = gtk_toggle_button_get_active (button); -} - -static void -key_toggle_cb (GtkToggleButton * button, PlaybackApp * app) -{ - app->keyframe_seek = gtk_toggle_button_get_active (button); -} - -static void -loop_toggle_cb (GtkToggleButton * button, PlaybackApp * app) -{ - app->loop_seek = gtk_toggle_button_get_active (button); - if (app->state == GST_STATE_PLAYING) { - gint64 real; - - real = - gtk_range_get_value (GTK_RANGE (app->seek_scale)) * app->duration / - N_GRAD; - do_seek (app, GST_FORMAT_TIME, real); - } -} - -static void -flush_toggle_cb (GtkToggleButton * button, PlaybackApp * app) -{ - app->flush_seek = gtk_toggle_button_get_active (button); -} - -static void -scrub_toggle_cb (GtkToggleButton * button, PlaybackApp * app) -{ - app->scrub = gtk_toggle_button_get_active (button); -} - -static void -play_scrub_toggle_cb (GtkToggleButton * button, PlaybackApp * app) -{ - app->play_scrub = gtk_toggle_button_get_active (button); -} - -static void -skip_toggle_cb (GtkToggleButton * button, PlaybackApp * app) -{ - app->skip_seek = gtk_toggle_button_get_active (button); - if (app->state == GST_STATE_PLAYING) { - gint64 real; - - real = - gtk_range_get_value (GTK_RANGE (app->seek_scale)) * app->duration / - N_GRAD; - do_seek (app, GST_FORMAT_TIME, real); - } -} - -static void -rate_spinbutton_changed_cb (GtkSpinButton * button, PlaybackApp * app) -{ - gboolean res = FALSE; - GstEvent *s_event; - GstSeekFlags flags; - - app->rate = gtk_spin_button_get_value (button); - - GST_DEBUG ("rate changed to %lf", app->rate); - - flags = 0; - if (app->flush_seek) - flags |= GST_SEEK_FLAG_FLUSH; - if (app->loop_seek) - flags |= GST_SEEK_FLAG_SEGMENT; - if (app->accurate_seek) - flags |= GST_SEEK_FLAG_ACCURATE; - if (app->keyframe_seek) - flags |= GST_SEEK_FLAG_KEY_UNIT; - if (app->skip_seek) - flags |= GST_SEEK_FLAG_SKIP; - - if (app->rate >= 0.0) { - s_event = gst_event_new_seek (app->rate, - GST_FORMAT_TIME, flags, GST_SEEK_TYPE_SET, app->position, - GST_SEEK_TYPE_SET, GST_CLOCK_TIME_NONE); - } else { - s_event = gst_event_new_seek (app->rate, - GST_FORMAT_TIME, flags, GST_SEEK_TYPE_SET, G_GINT64_CONSTANT (0), - GST_SEEK_TYPE_SET, app->position); - } - - res = send_event (app, s_event); - - if (res) { - if (app->flush_seek) { - gst_element_get_state (GST_ELEMENT (app->pipeline), NULL, NULL, - SEEK_TIMEOUT); - } - } else - g_print ("seek failed\n"); -} - -static void -update_flag (GstElement * pipeline, GstPlayFlags flag, gboolean state) -{ - gint flags; - - g_print ("%ssetting flag 0x%08x\n", (state ? "" : "un"), flag); - - g_object_get (pipeline, "flags", &flags, NULL); - if (state) - flags |= flag; - else - flags &= ~(flag); - g_object_set (pipeline, "flags", flags, NULL); -} - -static void -vis_toggle_cb (GtkToggleButton * button, PlaybackApp * app) -{ - gboolean state; - - state = gtk_toggle_button_get_active (button); - update_flag (app->pipeline, GST_PLAY_FLAG_VIS, state); - gtk_widget_set_sensitive (app->vis_combo, state); -} - -static void -audio_toggle_cb (GtkToggleButton * button, PlaybackApp * app) -{ - gboolean state; - - state = gtk_toggle_button_get_active (button); - update_flag (app->pipeline, GST_PLAY_FLAG_AUDIO, state); - gtk_widget_set_sensitive (app->audio_combo, state); -} - -static void -video_toggle_cb (GtkToggleButton * button, PlaybackApp * app) -{ - gboolean state; - - state = gtk_toggle_button_get_active (button); - update_flag (app->pipeline, GST_PLAY_FLAG_VIDEO, state); - gtk_widget_set_sensitive (app->video_combo, state); -} - -static void -text_toggle_cb (GtkToggleButton * button, PlaybackApp * app) -{ - gboolean state; - - state = gtk_toggle_button_get_active (button); - update_flag (app->pipeline, GST_PLAY_FLAG_TEXT, state); - gtk_widget_set_sensitive (app->text_combo, state); -} - -static void -mute_toggle_cb (GtkToggleButton * button, PlaybackApp * app) -{ - gboolean mute; - - mute = gtk_toggle_button_get_active (button); - g_object_set (app->pipeline, "mute", mute, NULL); -} - -static void -download_toggle_cb (GtkToggleButton * button, PlaybackApp * app) -{ - gboolean state; - - state = gtk_toggle_button_get_active (button); - update_flag (app->pipeline, GST_PLAY_FLAG_DOWNLOAD, state); -} - -static void -buffering_toggle_cb (GtkToggleButton * button, PlaybackApp * app) -{ - gboolean state; - - state = gtk_toggle_button_get_active (button); - update_flag (app->pipeline, GST_PLAY_FLAG_BUFFERING, state); -} - -static void -soft_volume_toggle_cb (GtkToggleButton * button, PlaybackApp * app) -{ - gboolean state; - - state = gtk_toggle_button_get_active (button); - update_flag (app->pipeline, GST_PLAY_FLAG_SOFT_VOLUME, state); -} - -static void -native_audio_toggle_cb (GtkToggleButton * button, PlaybackApp * app) -{ - gboolean state; - - state = gtk_toggle_button_get_active (button); - update_flag (app->pipeline, GST_PLAY_FLAG_NATIVE_AUDIO, state); -} - -static void -native_video_toggle_cb (GtkToggleButton * button, PlaybackApp * app) -{ - gboolean state; - - state = gtk_toggle_button_get_active (button); - update_flag (app->pipeline, GST_PLAY_FLAG_NATIVE_VIDEO, state); -} - -static void -deinterlace_toggle_cb (GtkToggleButton * button, PlaybackApp * app) -{ - gboolean state; - - state = gtk_toggle_button_get_active (button); - update_flag (app->pipeline, GST_PLAY_FLAG_DEINTERLACE, state); -} - -static void -soft_colorbalance_toggle_cb (GtkToggleButton * button, PlaybackApp * app) -{ - gboolean state; - - state = gtk_toggle_button_get_active (button); - update_flag (app->pipeline, GST_PLAY_FLAG_SOFT_COLORBALANCE, state); -} - -static void -clear_streams (PlaybackApp * app) -{ - gint i; - - /* remove previous info */ - for (i = 0; i < app->n_video; i++) - gtk_combo_box_text_remove (GTK_COMBO_BOX_TEXT (app->video_combo), 0); - for (i = 0; i < app->n_audio; i++) - gtk_combo_box_text_remove (GTK_COMBO_BOX_TEXT (app->audio_combo), 0); - for (i = 0; i < app->n_text; i++) - gtk_combo_box_text_remove (GTK_COMBO_BOX_TEXT (app->text_combo), 0); - - app->n_audio = app->n_video = app->n_text = 0; - gtk_widget_set_sensitive (app->video_combo, FALSE); - gtk_widget_set_sensitive (app->audio_combo, FALSE); - gtk_widget_set_sensitive (app->text_combo, FALSE); - - app->need_streams = TRUE; -} - -static void -update_streams (PlaybackApp * app) -{ - gint i; - - if (app->pipeline_type == 0 && app->need_streams) { - GstTagList *tags; - gchar *name, *str; - gint active_idx; - gboolean state; - - /* remove previous info */ - clear_streams (app); - - /* here we get and update the different streams detected by playbin2 */ - g_object_get (app->pipeline, "n-video", &app->n_video, NULL); - g_object_get (app->pipeline, "n-audio", &app->n_audio, NULL); - g_object_get (app->pipeline, "n-text", &app->n_text, NULL); - - g_print ("video %d, audio %d, text %d\n", app->n_video, app->n_audio, - app->n_text); - - active_idx = 0; - for (i = 0; i < app->n_video; i++) { - g_signal_emit_by_name (app->pipeline, "get-video-tags", i, &tags); - if (tags) { - str = gst_structure_to_string ((GstStructure *) tags); - g_print ("video %d: %s\n", i, str); - g_free (str); - } - /* find good name for the label */ - name = g_strdup_printf ("video %d", i + 1); - gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (app->video_combo), - name); - g_free (name); - } - state = - gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (app->video_checkbox)); - gtk_widget_set_sensitive (app->video_combo, state && app->n_video > 0); - gtk_combo_box_set_active (GTK_COMBO_BOX (app->video_combo), active_idx); - - active_idx = 0; - for (i = 0; i < app->n_audio; i++) { - g_signal_emit_by_name (app->pipeline, "get-audio-tags", i, &tags); - if (tags) { - str = gst_structure_to_string ((GstStructure *) tags); - g_print ("audio %d: %s\n", i, str); - g_free (str); - } - /* find good name for the label */ - name = g_strdup_printf ("audio %d", i + 1); - gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (app->audio_combo), - name); - g_free (name); - } - state = - gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (app->audio_checkbox)); - gtk_widget_set_sensitive (app->audio_combo, state && app->n_audio > 0); - gtk_combo_box_set_active (GTK_COMBO_BOX (app->audio_combo), active_idx); - - active_idx = 0; - for (i = 0; i < app->n_text; i++) { - g_signal_emit_by_name (app->pipeline, "get-text-tags", i, &tags); - - name = NULL; - if (tags) { - const GValue *value; - - str = gst_structure_to_string ((GstStructure *) tags); - g_print ("text %d: %s\n", i, str); - g_free (str); - - /* get the language code if we can */ - value = gst_tag_list_get_value_index (tags, GST_TAG_LANGUAGE_CODE, 0); - if (value && G_VALUE_HOLDS_STRING (value)) { - name = g_strdup_printf ("text %s", g_value_get_string (value)); - } - } - /* find good name for the label if we didn't use a tag */ - if (name == NULL) - name = g_strdup_printf ("text %d", i + 1); - - gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (app->text_combo), - name); - g_free (name); - } - state = - gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (app->text_checkbox)); - gtk_widget_set_sensitive (app->text_combo, state && app->n_text > 0); - gtk_combo_box_set_active (GTK_COMBO_BOX (app->text_combo), active_idx); - - app->need_streams = FALSE; - } -} - -static void -video_combo_cb (GtkComboBox * combo, PlaybackApp * app) -{ - gint active; - - active = gtk_combo_box_get_active (combo); - - g_print ("setting current video track %d\n", active); - g_object_set (app->pipeline, "current-video", active, NULL); -} - -static void -audio_combo_cb (GtkComboBox * combo, PlaybackApp * app) -{ - gint active; - - active = gtk_combo_box_get_active (combo); - - g_print ("setting current audio track %d\n", active); - g_object_set (app->pipeline, "current-audio", active, NULL); -} - -static void -text_combo_cb (GtkComboBox * combo, PlaybackApp * app) -{ - gint active; - - active = gtk_combo_box_get_active (combo); - - g_print ("setting current text track %d\n", active); - g_object_set (app->pipeline, "current-text", active, NULL); -} - -static gboolean -filter_vis_features (GstPluginFeature * feature, gpointer data) -{ - GstElementFactory *f; - - if (!GST_IS_ELEMENT_FACTORY (feature)) - return FALSE; - f = GST_ELEMENT_FACTORY (feature); - if (!g_strrstr (gst_element_factory_get_klass (f), "Visualization")) - return FALSE; - - return TRUE; -} - -static void -init_visualization_features (PlaybackApp * app) -{ - GList *list, *walk; - - app->vis_entries = g_array_new (FALSE, FALSE, sizeof (VisEntry)); - - list = gst_registry_feature_filter (gst_registry_get_default (), - filter_vis_features, FALSE, NULL); - - for (walk = list; walk; walk = g_list_next (walk)) { - VisEntry entry; - const gchar *name; - - entry.factory = GST_ELEMENT_FACTORY (walk->data); - name = gst_element_factory_get_longname (entry.factory); - - g_array_append_val (app->vis_entries, entry); - gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (app->vis_combo), name); - } - gtk_combo_box_set_active (GTK_COMBO_BOX (app->vis_combo), 0); -} - -static void -vis_combo_cb (GtkComboBox * combo, PlaybackApp * app) -{ - guint index; - VisEntry *entry; - GstElement *element; - - /* get the selected index and get the factory for this index */ - index = gtk_combo_box_get_active (GTK_COMBO_BOX (app->vis_combo)); - if (app->vis_entries->len > 0) { - entry = &g_array_index (app->vis_entries, VisEntry, index); - - /* create an instance of the element from the factory */ - element = gst_element_factory_create (entry->factory, NULL); - if (!element) - return; - - /* set vis plugin for playbin2 */ - g_object_set (app->pipeline, "vis-plugin", element, NULL); - } -} - -static void -volume_spinbutton_changed_cb (GtkSpinButton * button, PlaybackApp * app) -{ - gdouble volume; - - volume = gtk_spin_button_get_value (button); - - g_object_set (app->pipeline, "volume", volume, NULL); -} - -static gboolean -volume_notify_idle_cb (PlaybackApp * app) -{ - gdouble cur_volume, new_volume; - - g_object_get (app->pipeline, "volume", &new_volume, NULL); - cur_volume = - gtk_spin_button_get_value (GTK_SPIN_BUTTON (app->volume_spinbutton)); - if (fabs (cur_volume - new_volume) > 0.001) { - g_signal_handlers_block_by_func (app->volume_spinbutton, - volume_spinbutton_changed_cb, app); - gtk_spin_button_set_value (GTK_SPIN_BUTTON (app->volume_spinbutton), - new_volume); - g_signal_handlers_unblock_by_func (app->volume_spinbutton, - volume_spinbutton_changed_cb, app); - } - - return FALSE; -} - -static void -volume_notify_cb (GstElement * pipeline, GParamSpec * arg, PlaybackApp * app) -{ - /* Do this from the main thread */ - g_idle_add ((GSourceFunc) volume_notify_idle_cb, app); -} - -static gboolean -mute_notify_idle_cb (PlaybackApp * app) -{ - gboolean cur_mute, new_mute; - - g_object_get (app->pipeline, "mute", &new_mute, NULL); - cur_mute = - gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (app->mute_checkbox)); - if (cur_mute != new_mute) { - g_signal_handlers_block_by_func (app->mute_checkbox, mute_toggle_cb, app); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (app->mute_checkbox), - new_mute); - g_signal_handlers_unblock_by_func (app->mute_checkbox, mute_toggle_cb, app); - } - - return FALSE; -} - -static void -mute_notify_cb (GstElement * pipeline, GParamSpec * arg, PlaybackApp * app) -{ - /* Do this from the main thread */ - g_idle_add ((GSourceFunc) mute_notify_idle_cb, app); -} - -static void -shot_cb (GtkButton * button, PlaybackApp * app) -{ - GstBuffer *buffer; - GstCaps *caps; - - /* convert to our desired format (RGB24) */ - caps = gst_caps_new_simple ("video/x-raw-rgb", - "bpp", G_TYPE_INT, 24, "depth", G_TYPE_INT, 24, - /* Note: we don't ask for a specific width/height here, so that - * videoscale can adjust dimensions from a non-1/1 pixel aspect - * ratio to a 1/1 pixel-aspect-ratio */ - "pixel-aspect-ratio", GST_TYPE_FRACTION, 1, 1, - "endianness", G_TYPE_INT, G_BIG_ENDIAN, - "red_mask", G_TYPE_INT, 0xff0000, - "green_mask", G_TYPE_INT, 0x00ff00, - "blue_mask", G_TYPE_INT, 0x0000ff, NULL); - - /* convert the latest frame to the requested format */ - g_signal_emit_by_name (app->pipeline, "convert-frame", caps, &buffer); - gst_caps_unref (caps); - - if (buffer) { - GstCaps *caps; - GstStructure *s; - gboolean res; - gint width, height; - GdkPixbuf *pixbuf; - GError *error = NULL; - - /* get the snapshot buffer format now. We set the caps on the appsink so - * that it can only be an rgb buffer. The only thing we have not specified - * on the caps is the height, which is dependant on the pixel-aspect-ratio - * of the source material */ - caps = GST_BUFFER_CAPS (buffer); - if (!caps) { - g_warning ("could not get snapshot format\n"); - goto done; - } - s = gst_caps_get_structure (caps, 0); - - /* we need to get the final caps on the buffer to get the size */ - res = gst_structure_get_int (s, "width", &width); - res |= gst_structure_get_int (s, "height", &height); - if (!res) { - g_warning ("could not get snapshot dimension\n"); - goto done; - } - - /* create pixmap from buffer and save, gstreamer video buffers have a stride - * that is rounded up to the nearest multiple of 4 */ - pixbuf = gdk_pixbuf_new_from_data (GST_BUFFER_DATA (buffer), - GDK_COLORSPACE_RGB, FALSE, 8, width, height, - GST_ROUND_UP_4 (width * 3), NULL, NULL); - - /* save the pixbuf */ - gdk_pixbuf_save (pixbuf, "snapshot.png", "png", &error, NULL); - - done: - gst_buffer_unref (buffer); - } -} - -/* called when the Step button is pressed */ -static void -step_cb (GtkButton * button, PlaybackApp * app) -{ - GstEvent *event; - GstFormat format; - guint64 amount; - gdouble rate; - gboolean flush, res; - gint active; - - active = gtk_combo_box_get_active (GTK_COMBO_BOX (app->step_format_combo)); - amount = - gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON - (app->step_amount_spinbutton)); - rate = - gtk_spin_button_get_value (GTK_SPIN_BUTTON (app->step_rate_spinbutton)); - flush = TRUE; - - switch (active) { - case 0: - format = GST_FORMAT_BUFFERS; - break; - case 1: - format = GST_FORMAT_TIME; - amount *= GST_MSECOND; - break; - default: - format = GST_FORMAT_UNDEFINED; - break; - } - - event = gst_event_new_step (format, amount, rate, flush, FALSE); - - res = send_event (app, event); - - if (!res) { - g_print ("Sending step event failed\n"); - } -} - -static void -message_received (GstBus * bus, GstMessage * message, PlaybackApp * app) -{ - const GstStructure *s; - - switch (GST_MESSAGE_TYPE (message)) { - case GST_MESSAGE_ERROR: - GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS (GST_BIN (app->pipeline), - GST_DEBUG_GRAPH_SHOW_ALL, "seek.error"); - break; - case GST_MESSAGE_WARNING: - GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS (GST_BIN (app->pipeline), - GST_DEBUG_GRAPH_SHOW_ALL, "seek.warning"); - break; - default: - break; - } - - s = gst_message_get_structure (message); - g_print ("message from \"%s\" (%s): ", - GST_STR_NULL (GST_ELEMENT_NAME (GST_MESSAGE_SRC (message))), - gst_message_type_get_name (GST_MESSAGE_TYPE (message))); - if (s) { - gchar *sstr; - - sstr = gst_structure_to_string (s); - g_print ("%s\n", sstr); - g_free (sstr); - } else { - g_print ("no message details\n"); - } -} - -static void -do_shuttle (PlaybackApp * app) -{ - guint64 duration; - - if (app->shuttling) - duration = 40 * GST_MSECOND; - else - duration = -1; - - gst_element_send_event (app->pipeline, - gst_event_new_step (GST_FORMAT_TIME, duration, app->shuttle_rate, FALSE, - FALSE)); -} - -static void -msg_sync_step_done (GstBus * bus, GstMessage * message, PlaybackApp * app) -{ - GstFormat format; - guint64 amount; - gdouble rate; - gboolean flush; - gboolean intermediate; - guint64 duration; - gboolean eos; - - gst_message_parse_step_done (message, &format, &amount, &rate, &flush, - &intermediate, &duration, &eos); - - if (eos) { - g_print ("stepped till EOS\n"); - return; - } - - if (g_static_mutex_trylock (&app->state_mutex)) { - if (app->shuttling) - do_shuttle (app); - g_static_mutex_unlock (&app->state_mutex); - } else { - /* ignore step messages that come while we are doing a state change */ - g_print ("state change is busy\n"); - } -} - -static void -shuttle_toggled (GtkToggleButton * button, PlaybackApp * app) -{ - gboolean active; - - active = gtk_toggle_button_get_active (button); - - if (active != app->shuttling) { - app->shuttling = active; - g_print ("shuttling %s\n", app->shuttling ? "active" : "inactive"); - if (active) { - app->shuttle_rate = 0.0; - app->play_rate = 1.0; - pause_cb (NULL, app); - gst_element_get_state (app->pipeline, NULL, NULL, -1); - } - } -} - -static void -shuttle_rate_switch (PlaybackApp * app) -{ - GstSeekFlags flags; - GstEvent *s_event; - gboolean res; - - if (app->state == GST_STATE_PLAYING) { - /* pause when we need to */ - pause_cb (NULL, app); - gst_element_get_state (app->pipeline, NULL, NULL, -1); - } - - if (app->play_rate == 1.0) - app->play_rate = -1.0; - else - app->play_rate = 1.0; - - g_print ("rate changed to %lf %" GST_TIME_FORMAT "\n", app->play_rate, - GST_TIME_ARGS (app->position)); - - flags = GST_SEEK_FLAG_FLUSH; - flags |= GST_SEEK_FLAG_ACCURATE; - - if (app->play_rate >= 0.0) { - s_event = gst_event_new_seek (app->play_rate, - GST_FORMAT_TIME, flags, GST_SEEK_TYPE_SET, app->position, - GST_SEEK_TYPE_SET, GST_CLOCK_TIME_NONE); - } else { - s_event = gst_event_new_seek (app->play_rate, - GST_FORMAT_TIME, flags, GST_SEEK_TYPE_SET, G_GINT64_CONSTANT (0), - GST_SEEK_TYPE_SET, app->position); - } - res = send_event (app, s_event); - if (res) { - gst_element_get_state (app->pipeline, NULL, NULL, SEEK_TIMEOUT); - } else { - g_print ("seek failed\n"); - } -} - -static void -shuttle_value_changed (GtkRange * range, PlaybackApp * app) -{ - gdouble rate; - - rate = gtk_range_get_value (range); - - if (rate == 0.0) { - g_print ("rate 0.0, pause\n"); - pause_cb (NULL, app); - gst_element_get_state (app->pipeline, NULL, NULL, -1); - } else { - g_print ("rate changed %0.3g\n", rate); - - if ((rate < 0.0 && app->play_rate > 0.0) || (rate > 0.0 - && app->play_rate < 0.0)) { - shuttle_rate_switch (app); - } - - app->shuttle_rate = ABS (rate); - if (app->state != GST_STATE_PLAYING) { - do_shuttle (app); - play_cb (NULL, app); - } - } -} - -static void -colorbalance_value_changed (GtkRange * range, PlaybackApp * app) -{ - const gchar *label; - gdouble val; - gint ival; - GstColorBalanceChannel *channel = NULL; - const GList *channels, *l; - - if (range == GTK_RANGE (app->contrast_scale)) - label = "CONTRAST"; - else if (range == GTK_RANGE (app->brightness_scale)) - label = "BRIGHTNESS"; - else if (range == GTK_RANGE (app->hue_scale)) - label = "HUE"; - else if (range == GTK_RANGE (app->saturation_scale)) - label = "SATURATION"; - else - g_assert_not_reached (); - - val = gtk_range_get_value (range); - - g_print ("colorbalance %s value changed %lf\n", label, val / N_GRAD); - - if (!app->colorbalance_element) { - find_interface_elements (app); - if (!app->colorbalance_element) - return; - } - - channels = - gst_color_balance_list_channels (GST_COLOR_BALANCE - (app->colorbalance_element)); - for (l = channels; l; l = l->next) { - GstColorBalanceChannel *tmp = l->data; - - if (g_strrstr (tmp->label, label)) { - channel = tmp; - break; - } - } - - if (!channel) - return; - - ival = - (gint) (0.5 + channel->min_value + - (val / N_GRAD) * ((gdouble) channel->max_value - - (gdouble) channel->min_value)); - gst_color_balance_set_value (GST_COLOR_BALANCE (app->colorbalance_element), - channel, ival); -} - -static void -seek_format_changed_cb (GtkComboBox * box, PlaybackApp * app) -{ - gchar *format_str; - GList *l; - const GstFormatDefinition *format = NULL; - - format_str = gtk_combo_box_text_get_active_text (GTK_COMBO_BOX_TEXT (box)); - - for (l = app->formats; l; l = l->next) { - const GstFormatDefinition *tmp = l->data; - - if (g_strcmp0 (tmp->nick, format_str) == 0) { - format = tmp; - break; - } - } - - if (!format) - goto done; - - app->seek_format = format; - update_scale (app); - -done: - g_free (format_str); -} - -static void -update_formats (PlaybackApp * app) -{ - GstIterator *it; - gboolean done; - GList *l; - gpointer item; - gchar *selected; - gint selected_idx = 0, i; - gint n_formats = 0; - - selected = - gtk_combo_box_text_get_active_text (GTK_COMBO_BOX_TEXT - (app->seek_format_combo)); - if (selected == NULL) - selected = g_strdup ("time"); - - it = gst_format_iterate_definitions (); - done = FALSE; - - g_list_free (app->formats); - app->formats = NULL; - - while (!done) { - switch (gst_iterator_next (it, &item)) { - case GST_ITERATOR_OK: - app->formats = g_list_prepend (app->formats, item); - n_formats++; - break; - case GST_ITERATOR_RESYNC: - g_list_free (app->formats); - app->formats = NULL; - gst_iterator_resync (it); - break; - case GST_ITERATOR_ERROR: - case GST_ITERATOR_DONE: - default: - done = TRUE; - break; - } - } - - app->formats = g_list_reverse (app->formats); - gst_iterator_free (it); - - g_signal_handlers_block_by_func (app->seek_format_combo, - seek_format_changed_cb, app); - - for (i = 0; i < app->n_formats; i++) - gtk_combo_box_text_remove (GTK_COMBO_BOX_TEXT (app->seek_format_combo), 0); - app->n_formats = n_formats; - - for (i = 0, l = app->formats; l; l = l->next, i++) { - const GstFormatDefinition *def = l->data; - - gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (app->seek_format_combo), - def->nick); - if (g_strcmp0 (def->nick, selected) == 0) - selected_idx = i; - } - g_signal_handlers_unblock_by_func (app->seek_format_combo, - seek_format_changed_cb, app); - - gtk_combo_box_set_active (GTK_COMBO_BOX (app->seek_format_combo), - selected_idx); - - g_free (selected); -} - -static void -msg_async_done (GstBus * bus, GstMessage * message, PlaybackApp * app) -{ - GST_DEBUG ("async done"); - - /* Now query all available GstFormats */ - update_formats (app); - - /* when we get ASYNC_DONE we can query position, duration and other - * properties */ - update_scale (app); - - /* update the available streams */ - update_streams (app); - - find_interface_elements (app); -} - -static void -msg_state_changed (GstBus * bus, GstMessage * message, PlaybackApp * app) -{ - const GstStructure *s; - - s = gst_message_get_structure (message); - - /* We only care about state changed on the pipeline */ - if (s && GST_MESSAGE_SRC (message) == GST_OBJECT_CAST (app->pipeline)) { - GstState old, new, pending; - - gst_message_parse_state_changed (message, &old, &new, &pending); - - /* When state of the pipeline changes to paused or playing we start updating scale */ - if (new == GST_STATE_PLAYING) { - set_update_scale (app, TRUE); - } else { - set_update_scale (app, FALSE); - } - - /* dump graph for (some) pipeline state changes */ - { - gchar *dump_name; - - dump_name = g_strdup_printf ("seek.%s_%s", - gst_element_state_get_name (old), gst_element_state_get_name (new)); - - GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS (GST_BIN (app->pipeline), - GST_DEBUG_GRAPH_SHOW_ALL, dump_name); - - g_free (dump_name); - } - } -} - -static void -msg_segment_done (GstBus * bus, GstMessage * message, PlaybackApp * app) -{ - GstEvent *s_event; - GstSeekFlags flags; - gboolean res; - GstFormat format; - - GST_DEBUG ("position is %" GST_TIME_FORMAT, GST_TIME_ARGS (app->position)); - gst_message_parse_segment_done (message, &format, &app->position); - GST_DEBUG ("end of segment at %" GST_TIME_FORMAT, - GST_TIME_ARGS (app->position)); - - flags = 0; - /* in the segment-done callback we never flush as this would not make sense - * for seamless playback. */ - if (app->loop_seek) - flags |= GST_SEEK_FLAG_SEGMENT; - if (app->skip_seek) - flags |= GST_SEEK_FLAG_SKIP; - - s_event = gst_event_new_seek (app->rate, - GST_FORMAT_TIME, flags, GST_SEEK_TYPE_SET, G_GINT64_CONSTANT (0), - GST_SEEK_TYPE_SET, app->duration); - - GST_DEBUG ("restart loop with rate %lf to 0 / %" GST_TIME_FORMAT, - app->rate, GST_TIME_ARGS (app->duration)); - - res = send_event (app, s_event); - if (!res) - g_print ("segment seek failed\n"); -} - -/* in stream buffering mode we PAUSE the pipeline until we receive a 100% - * message */ -static void -do_stream_buffering (PlaybackApp * app, gint percent) -{ - gchar *bufstr; - - gtk_statusbar_pop (GTK_STATUSBAR (app->statusbar), app->status_id); - bufstr = g_strdup_printf ("Buffering...%d", percent); - gtk_statusbar_push (GTK_STATUSBAR (app->statusbar), app->status_id, bufstr); - g_free (bufstr); - - if (percent == 100) { - /* a 100% message means buffering is done */ - app->buffering = FALSE; - /* if the desired state is playing, go back */ - if (app->state == GST_STATE_PLAYING) { - /* no state management needed for live pipelines */ - if (!app->is_live) { - fprintf (stderr, "Done buffering, setting pipeline to PLAYING ...\n"); - gst_element_set_state (app->pipeline, GST_STATE_PLAYING); - } - gtk_statusbar_pop (GTK_STATUSBAR (app->statusbar), app->status_id); - gtk_statusbar_push (GTK_STATUSBAR (app->statusbar), app->status_id, - "Playing"); - } - } else { - /* buffering busy */ - if (app->buffering == FALSE && app->state == GST_STATE_PLAYING) { - /* we were not buffering but PLAYING, PAUSE the pipeline. */ - if (!app->is_live) { - fprintf (stderr, "Buffering, setting pipeline to PAUSED ...\n"); - gst_element_set_state (app->pipeline, GST_STATE_PAUSED); - } - } - app->buffering = TRUE; - } -} - -static void -do_download_buffering (PlaybackApp * app, gint percent) -{ - if (!app->buffering && percent < 100) { - gchar *bufstr; - - app->buffering = TRUE; - - bufstr = g_strdup_printf ("Downloading..."); - gtk_statusbar_push (GTK_STATUSBAR (app->statusbar), app->status_id, bufstr); - g_free (bufstr); - - /* once we get a buffering message, we'll do the fill update */ - set_update_fill (app, TRUE); - - if (app->state == GST_STATE_PLAYING && !app->is_live) { - fprintf (stderr, "Downloading, setting pipeline to PAUSED ...\n"); - gst_element_set_state (app->pipeline, GST_STATE_PAUSED); - /* user has to manually start the playback */ - app->state = GST_STATE_PAUSED; - } - } -} - -static void -msg_buffering (GstBus * bus, GstMessage * message, PlaybackApp * app) -{ - gint percent; - - gst_message_parse_buffering (message, &percent); - - /* get more stats */ - gst_message_parse_buffering_stats (message, &app->mode, NULL, NULL, - &app->buffering_left); - - switch (app->mode) { - case GST_BUFFERING_DOWNLOAD: - do_download_buffering (app, percent); - break; - case GST_BUFFERING_LIVE: - app->is_live = TRUE; - case GST_BUFFERING_TIMESHIFT: - case GST_BUFFERING_STREAM: - do_stream_buffering (app, percent); - break; - } -} - -static void -msg_clock_lost (GstBus * bus, GstMessage * message, PlaybackApp * app) -{ - g_print ("clock lost! PAUSE and PLAY to select a new clock\n"); - if (app->state == GST_STATE_PLAYING) { - gst_element_set_state (app->pipeline, GST_STATE_PAUSED); - gst_element_set_state (app->pipeline, GST_STATE_PLAYING); - } -} - -static gboolean -is_valid_color_balance_element (GstElement * element) -{ - GstColorBalance *bal = GST_COLOR_BALANCE (element); - gboolean have_brightness = FALSE; - gboolean have_contrast = FALSE; - gboolean have_hue = FALSE; - gboolean have_saturation = FALSE; - const GList *channels, *l; - - channels = gst_color_balance_list_channels (bal); - for (l = channels; l; l = l->next) { - GstColorBalanceChannel *ch = l->data; - - if (g_strrstr (ch->label, "BRIGHTNESS")) - have_brightness = TRUE; - else if (g_strrstr (ch->label, "CONTRAST")) - have_contrast = TRUE; - else if (g_strrstr (ch->label, "HUE")) - have_hue = TRUE; - else if (g_strrstr (ch->label, "SATURATION")) - have_saturation = TRUE; - } - - return have_brightness && have_contrast && have_hue && have_saturation; -} - -static void -find_interface_elements (PlaybackApp * app) -{ - GstIterator *it; - gpointer item; - gboolean done = FALSE, hardware = FALSE; - - if (app->pipeline_type == 0) - return; - - if (app->navigation_element) - gst_object_unref (app->navigation_element); - app->navigation_element = NULL; - - if (app->colorbalance_element) - gst_object_unref (app->colorbalance_element); - app->colorbalance_element = NULL; - - app->navigation_element = - gst_bin_get_by_interface (GST_BIN (app->pipeline), GST_TYPE_NAVIGATION); - - it = gst_bin_iterate_all_by_interface (GST_BIN (app->pipeline), - GST_TYPE_COLOR_BALANCE); - while (!done) { - switch (gst_iterator_next (it, &item)) { - case GST_ITERATOR_OK:{ - GstElement *element = GST_ELEMENT (item); - - if (is_valid_color_balance_element (element)) { - if (!app->colorbalance_element) { - app->colorbalance_element = - GST_ELEMENT_CAST (gst_object_ref (element)); - hardware = - (gst_color_balance_get_balance_type (GST_COLOR_BALANCE - (element)) == GST_COLOR_BALANCE_HARDWARE); - } else if (!hardware) { - gboolean tmp = - (gst_color_balance_get_balance_type (GST_COLOR_BALANCE - (element)) == GST_COLOR_BALANCE_HARDWARE); - - if (tmp) { - if (app->colorbalance_element) - gst_object_unref (app->colorbalance_element); - app->colorbalance_element = - GST_ELEMENT_CAST (gst_object_ref (element)); - hardware = TRUE; - } - } - } - - gst_object_unref (element); - - if (hardware && app->colorbalance_element) - done = TRUE; - break; - } - case GST_ITERATOR_RESYNC: - gst_iterator_resync (it); - done = FALSE; - hardware = FALSE; - if (app->colorbalance_element) - gst_object_unref (app->colorbalance_element); - app->colorbalance_element = NULL; - break; - case GST_ITERATOR_DONE: - case GST_ITERATOR_ERROR: - default: - done = TRUE; - } - } - - gst_iterator_free (it); -} - -/* called when Navigation command button is pressed */ -static void -navigation_cmd_cb (GtkButton * button, PlaybackApp * app) -{ - GstNavigationCommand cmd = GST_NAVIGATION_COMMAND_INVALID; - gint i; - - if (!app->navigation_element) { - find_interface_elements (app); - if (!app->navigation_element) - return; - } - - for (i = 0; i < G_N_ELEMENTS (app->navigation_buttons); i++) { - if (app->navigation_buttons[i].button == GTK_WIDGET (button)) { - cmd = app->navigation_buttons[i].cmd; - break; - } - } - - if (cmd != GST_NAVIGATION_COMMAND_INVALID) - gst_navigation_send_command (GST_NAVIGATION (app->navigation_element), cmd); -} - -#if defined (GDK_WINDOWING_X11) || defined (GDK_WINDOWING_WIN32) || defined (GDK_WINDOWING_QUARTZ) -/* We set the xid here in response to the prepare-xwindow-id message via a - * bus sync handler because we don't know the actual videosink used from the - * start (as we don't know the pipeline, or bin elements such as autovideosink - * or gconfvideosink may be used which create the actual videosink only once - * the pipeline is started) */ -static GstBusSyncReply -bus_sync_handler (GstBus * bus, GstMessage * message, PlaybackApp * app) -{ - if ((GST_MESSAGE_TYPE (message) == GST_MESSAGE_ELEMENT) && - gst_structure_has_name (message->structure, "prepare-xwindow-id")) { - GstElement *element = GST_ELEMENT (GST_MESSAGE_SRC (message)); - - if (app->xoverlay_element) - gst_object_unref (app->xoverlay_element); - app->xoverlay_element = GST_ELEMENT (gst_object_ref (element)); - - g_print ("got prepare-xwindow-id, setting XID %" G_GUINTPTR_FORMAT "\n", - app->embed_xid); - - if (g_object_class_find_property (G_OBJECT_GET_CLASS (element), - "force-aspect-ratio")) { - g_object_set (element, "force-aspect-ratio", TRUE, NULL); - } - - /* Should have been initialised from main thread before (can't use - * GDK_WINDOW_XID here with Gtk+ >= 2.18, because the sync handler will - * be called from a streaming thread and GDK_WINDOW_XID maps to more than - * a simple structure lookup with Gtk+ >= 2.18, where 'more' is stuff that - * shouldn't be done from a non-GUI thread without explicit locking). */ - g_assert (app->embed_xid != 0); - - gst_x_overlay_set_window_handle (GST_X_OVERLAY (element), app->embed_xid); - - find_interface_elements (app); - } - return GST_BUS_PASS; -} -#endif - -static gboolean -handle_expose_cb (GtkWidget * widget, GdkEventExpose * event, PlaybackApp * app) -{ - if (app->state < GST_STATE_PAUSED) { - GtkAllocation allocation; - GdkWindow *window = gtk_widget_get_window (widget); - cairo_t *cr; - - gtk_widget_get_allocation (widget, &allocation); - cr = gdk_cairo_create (window); - cairo_set_source_rgb (cr, 0, 0, 0); - cairo_rectangle (cr, 0, 0, allocation.width, allocation.height); - cairo_fill (cr); - cairo_destroy (cr); - } - - if (app->xoverlay_element) - gst_x_overlay_expose (GST_X_OVERLAY (app->xoverlay_element)); - - return FALSE; -} - -static void -realize_cb (GtkWidget * widget, PlaybackApp * app) -{ - GdkWindow *window = gtk_widget_get_window (widget); - - /* This is here just for pedagogical purposes, GDK_WINDOW_XID will call it - * as well */ - if (!gdk_window_ensure_native (window)) - g_error ("Couldn't create native window needed for GstXOverlay!"); - -#if defined (GDK_WINDOWING_WIN32) - app->embed_xid = GDK_WINDOW_HWND (window); - g_print ("Window realize: video window HWND = %lu\n", app->embed_xid); -#elif defined (GDK_WINDOWING_QUARTZ) - app->embed_xid = gdk_quartz_window_get_nsview (window); - g_print ("Window realize: video window NSView = %p\n", app->embed_xid); -#elif defined (GDK_WINDOWING_X11) - app->embed_xid = GDK_WINDOW_XID (window); - g_print ("Window realize: video window XID = %" G_GUINTPTR_FORMAT "\n", - app->embed_xid); -#endif -} - -static gboolean -button_press_cb (GtkWidget * widget, GdkEventButton * event, PlaybackApp * app) -{ - gtk_widget_grab_focus (widget); - - if (app->navigation_element) - gst_navigation_send_mouse_event (GST_NAVIGATION (app->navigation_element), - "mouse-button-press", event->button, event->x, event->y); - - return FALSE; -} - -static gboolean -button_release_cb (GtkWidget * widget, GdkEventButton * event, - PlaybackApp * app) -{ - if (app->navigation_element) - gst_navigation_send_mouse_event (GST_NAVIGATION (app->navigation_element), - "mouse-button-release", event->button, event->x, event->y); - - return FALSE; -} - -static gboolean -key_press_cb (GtkWidget * widget, GdkEventKey * event, PlaybackApp * app) -{ - if (app->navigation_element) - gst_navigation_send_key_event (GST_NAVIGATION (app->navigation_element), - "key-press", gdk_keyval_name (event->keyval)); - - return FALSE; -} - -static gboolean -key_release_cb (GtkWidget * widget, GdkEventKey * event, PlaybackApp * app) -{ - if (app->navigation_element) - gst_navigation_send_key_event (GST_NAVIGATION (app->navigation_element), - "key-release", gdk_keyval_name (event->keyval)); - - return FALSE; -} - -static gboolean -motion_notify_cb (GtkWidget * widget, GdkEventMotion * event, PlaybackApp * app) -{ - if (app->navigation_element) - gst_navigation_send_mouse_event (GST_NAVIGATION (app->navigation_element), - "mouse-move", 0, event->x, event->y); - - return FALSE; -} - -static void -msg_eos (GstBus * bus, GstMessage * message, PlaybackApp * app) -{ - message_received (bus, message, app); - - /* Set new uri for playerbins and continue playback */ - if (app->current_path && app->pipeline_type == 0) { - stop_cb (NULL, app); - app->current_path = g_list_next (app->current_path); - app->current_sub_path = g_list_next (app->current_sub_path); - if (app->current_path) { - playbin_set_uri (app->pipeline, app->current_path->data, - app->current_sub_path ? app->current_sub_path->data : NULL); - play_cb (NULL, app); - } - } -} - -static void -msg_step_done (GstBus * bus, GstMessage * message, PlaybackApp * app) -{ - if (!app->shuttling) - message_received (bus, message, app); -} - -static void -msg (GstBus * bus, GstMessage * message, PlaybackApp * app) -{ - GstNavigationMessageType nav_type; - - nav_type = gst_navigation_message_get_type (message); - switch (nav_type) { - case GST_NAVIGATION_MESSAGE_COMMANDS_CHANGED:{ - GstQuery *query; - gboolean res, j; - - /* Heuristic to detect if we're dealing with a DVD menu */ - query = gst_navigation_query_new_commands (); - res = gst_element_query (GST_ELEMENT (GST_MESSAGE_SRC (message)), query); - - for (j = 0; j < G_N_ELEMENTS (app->navigation_buttons); j++) - gtk_widget_set_sensitive (app->navigation_buttons[j].button, FALSE); - - if (res) { - gboolean is_menu = FALSE; - guint i, n; - - if (gst_navigation_query_parse_commands_length (query, &n)) { - for (i = 0; i < n; i++) { - GstNavigationCommand cmd; - - if (!gst_navigation_query_parse_commands_nth (query, i, &cmd)) - break; - - is_menu |= (cmd == GST_NAVIGATION_COMMAND_ACTIVATE); - is_menu |= (cmd == GST_NAVIGATION_COMMAND_LEFT); - is_menu |= (cmd == GST_NAVIGATION_COMMAND_RIGHT); - is_menu |= (cmd == GST_NAVIGATION_COMMAND_UP); - is_menu |= (cmd == GST_NAVIGATION_COMMAND_DOWN); - - for (j = 0; j < G_N_ELEMENTS (app->navigation_buttons); j++) { - if (app->navigation_buttons[j].cmd != cmd) - continue; - - gtk_widget_set_sensitive (app->navigation_buttons[j].button, - TRUE); - } - } - } - - gtk_widget_set_sensitive (GTK_WIDGET (app->seek_scale), !is_menu); - } else { - g_assert_not_reached (); - } - - gst_query_unref (query); - message_received (bus, message, app); - break; - } - default: - break; - } -} - -static void -connect_bus_signals (PlaybackApp * app) -{ - GstBus *bus = gst_pipeline_get_bus (GST_PIPELINE (app->pipeline)); - -#if defined (GDK_WINDOWING_X11) || defined (GDK_WINDOWING_WIN32) || defined (GDK_WINDOWING_QUARTZ) - if (app->pipeline_type != 0) { - /* handle prepare-xwindow-id element message synchronously, but only for non-playbin2 */ - gst_bus_set_sync_handler (bus, (GstBusSyncHandler) bus_sync_handler, app); - } -#endif - - gst_bus_add_signal_watch_full (bus, G_PRIORITY_HIGH); - gst_bus_enable_sync_message_emission (bus); - - g_signal_connect (bus, "message::state-changed", - G_CALLBACK (msg_state_changed), app); - g_signal_connect (bus, "message::segment-done", G_CALLBACK (msg_segment_done), - app); - g_signal_connect (bus, "message::async-done", G_CALLBACK (msg_async_done), - app); - - g_signal_connect (bus, "message::new-clock", G_CALLBACK (message_received), - app); - g_signal_connect (bus, "message::clock-lost", G_CALLBACK (msg_clock_lost), - app); - g_signal_connect (bus, "message::error", G_CALLBACK (message_received), app); - g_signal_connect (bus, "message::warning", G_CALLBACK (message_received), - app); - g_signal_connect (bus, "message::eos", G_CALLBACK (msg_eos), app); - g_signal_connect (bus, "message::tag", G_CALLBACK (message_received), app); - g_signal_connect (bus, "message::element", G_CALLBACK (message_received), - app); - g_signal_connect (bus, "message::segment-done", G_CALLBACK (message_received), - app); - g_signal_connect (bus, "message::buffering", G_CALLBACK (msg_buffering), app); -// g_signal_connect (bus, "message::step-done", G_CALLBACK (msg_step_done), -// app); - g_signal_connect (bus, "message::step-start", G_CALLBACK (msg_step_done), - app); - g_signal_connect (bus, "sync-message::step-done", - G_CALLBACK (msg_sync_step_done), app); - g_signal_connect (bus, "message", G_CALLBACK (msg), app); - - gst_object_unref (bus); -} - -/* Return GList of paths described in location string */ -static GList * -handle_wildcards (const gchar * location) -{ - GList *res = NULL; - gchar *path = g_path_get_dirname (location); - gchar *pattern = g_path_get_basename (location); - GPatternSpec *pspec = g_pattern_spec_new (pattern); - GDir *dir = g_dir_open (path, 0, NULL); - const gchar *name; - - g_print ("matching %s from %s\n", pattern, path); - - if (!dir) { - g_print ("opening directory %s failed\n", path); - goto out; - } - - while ((name = g_dir_read_name (dir)) != NULL) { - if (g_pattern_match_string (pspec, name)) { - res = g_list_append (res, g_strjoin ("/", path, name, NULL)); - g_print (" found clip %s\n", name); - } - } - - g_dir_close (dir); -out: - g_pattern_spec_free (pspec); - g_free (pattern); - g_free (path); - - return res; -} - -static void -delete_event_cb (GtkWidget * widget, GdkEvent * event, PlaybackApp * app) -{ - stop_cb (NULL, app); - gtk_main_quit (); -} - -static void -video_sink_activate_cb (GtkEntry * entry, PlaybackApp * app) -{ - GstElement *sink = NULL; - const gchar *text; - - text = gtk_entry_get_text (entry); - if (text != NULL && *text != '\0') { - sink = gst_element_factory_make_or_warn (text, NULL); - } - - g_object_set (app->pipeline, "video-sink", sink, NULL); -} - -static void -audio_sink_activate_cb (GtkEntry * entry, PlaybackApp * app) -{ - GstElement *sink = NULL; - const gchar *text; - - text = gtk_entry_get_text (entry); - if (text != NULL && *text != '\0') { - sink = gst_element_factory_make_or_warn (text, NULL); - } - - g_object_set (app->pipeline, "audio-sink", sink, NULL); -} - -static void -text_sink_activate_cb (GtkEntry * entry, PlaybackApp * app) -{ - GstElement *sink = NULL; - const gchar *text; - - text = gtk_entry_get_text (entry); - if (text != NULL && *text != '\0') { - sink = gst_element_factory_make_or_warn (text, NULL); - } - - g_object_set (app->pipeline, "text-sink", sink, NULL); -} - -static void -buffer_size_activate_cb (GtkEntry * entry, PlaybackApp * app) -{ - const gchar *text; - - text = gtk_entry_get_text (entry); - if (text != NULL && *text != '\0') { - gint v; - gchar *endptr; - - v = g_ascii_strtoll (text, &endptr, 10); - if (endptr != text && v != G_MAXINT64 && v != G_MININT64) { - g_object_set (app->pipeline, "buffer-size", v, NULL); - } - } -} - -static void -buffer_duration_activate_cb (GtkEntry * entry, PlaybackApp * app) -{ - const gchar *text; - - text = gtk_entry_get_text (entry); - if (text != NULL && *text != '\0') { - gint64 v; - gchar *endptr; - - v = g_ascii_strtoll (text, &endptr, 10); - if (endptr != text && v != G_MAXINT64 && v != G_MININT64) { - g_object_set (app->pipeline, "buffer-duration", v, NULL); - } - } -} - -static void -ringbuffer_maxsize_activate_cb (GtkEntry * entry, PlaybackApp * app) -{ - const gchar *text; - - text = gtk_entry_get_text (entry); - if (text != NULL && *text != '\0') { - guint64 v; - gchar *endptr; - - v = g_ascii_strtoull (text, &endptr, 10); - if (endptr != text && v != G_MAXUINT64) { - g_object_set (app->pipeline, "ring-buffer-max-size", v, NULL); - } - } -} - -static void -connection_speed_activate_cb (GtkEntry * entry, PlaybackApp * app) -{ - const gchar *text; - - text = gtk_entry_get_text (entry); - if (text != NULL && *text != '\0') { - guint v; - gchar *endptr; - - v = g_ascii_strtoll (text, &endptr, 10); - if (endptr != text && v != G_MAXINT64 && v != G_MININT64) { - g_object_set (app->pipeline, "connection-speed", v, NULL); - } - } -} - -static void -subtitle_encoding_activate_cb (GtkEntry * entry, PlaybackApp * app) -{ - const gchar *text; - - text = gtk_entry_get_text (entry); - g_object_set (app->pipeline, "subtitle-encoding", text, NULL); -} - -static void -subtitle_fontdesc_cb (GtkFontButton * button, PlaybackApp * app) -{ - const gchar *text; - - text = gtk_font_button_get_font_name (button); - g_object_set (app->pipeline, "subtitle-font-desc", text, NULL); -} - -static void -av_offset_activate_cb (GtkEntry * entry, PlaybackApp * app) -{ - const gchar *text; - - text = gtk_entry_get_text (entry); - if (text != NULL && *text != '\0') { - gint64 v; - gchar *endptr; - - v = g_ascii_strtoll (text, &endptr, 10); - if (endptr != text && v != G_MAXINT64 && v != G_MININT64) { - g_object_set (app->pipeline, "av-offset", v, NULL); - } - } -} - -static void -print_usage (int argc, char **argv) -{ - gint i; - - g_print ("usage: %s \n", argv[0]); - g_print (" possible types:\n"); - - for (i = 0; i < G_N_ELEMENTS (pipelines); i++) { - g_print (" %d = %s\n", i, pipelines[i].name); - } -} - -static void -create_ui (PlaybackApp * app) -{ - GtkWidget *hbox, *vbox, *seek, *playbin, *step, *navigation, *colorbalance; - GtkWidget *play_button, *pause_button, *stop_button; - GtkAdjustment *adjustment; - - /* initialize gui elements ... */ - app->window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - app->video_window = gtk_drawing_area_new (); - g_signal_connect (app->video_window, "expose-event", - G_CALLBACK (handle_expose_cb), app); - g_signal_connect (app->video_window, "realize", G_CALLBACK (realize_cb), app); - g_signal_connect (app->video_window, "button-press-event", - G_CALLBACK (button_press_cb), app); - g_signal_connect (app->video_window, "button-release-event", - G_CALLBACK (button_release_cb), app); - g_signal_connect (app->video_window, "key-press-event", - G_CALLBACK (key_press_cb), app); - g_signal_connect (app->video_window, "key-release-event", - G_CALLBACK (key_release_cb), app); - g_signal_connect (app->video_window, "motion-notify-event", - G_CALLBACK (motion_notify_cb), app); - gtk_widget_set_can_focus (app->video_window, TRUE); - gtk_widget_set_double_buffered (app->video_window, FALSE); - gtk_widget_add_events (app->video_window, - GDK_POINTER_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK); - - app->statusbar = gtk_statusbar_new (); - app->status_id = - gtk_statusbar_get_context_id (GTK_STATUSBAR (app->statusbar), - "playback-test"); - gtk_statusbar_push (GTK_STATUSBAR (app->statusbar), app->status_id, - "Stopped"); - hbox = gtk_hbox_new (FALSE, 0); - vbox = gtk_vbox_new (FALSE, 0); - gtk_container_set_border_width (GTK_CONTAINER (vbox), 3); - - /* media controls */ - play_button = gtk_button_new_from_stock (GTK_STOCK_MEDIA_PLAY); - pause_button = gtk_button_new_from_stock (GTK_STOCK_MEDIA_PAUSE); - stop_button = gtk_button_new_from_stock (GTK_STOCK_MEDIA_STOP); - - /* seek expander */ - { - GtkWidget *accurate_checkbox, *key_checkbox, *loop_checkbox, - *flush_checkbox; - GtkWidget *scrub_checkbox, *play_scrub_checkbox, *rate_label; - GtkWidget *skip_checkbox, *rate_spinbutton; - GtkWidget *flagtable, *advanced_seek, *advanced_seek_grid; - GtkWidget *duration_label, *position_label, *seek_button; - - seek = gtk_expander_new ("seek options"); - flagtable = gtk_table_new (5, 4, FALSE); - - accurate_checkbox = gtk_check_button_new_with_label ("Accurate Playback"); - key_checkbox = gtk_check_button_new_with_label ("Key-unit Playback"); - loop_checkbox = gtk_check_button_new_with_label ("Loop"); - flush_checkbox = gtk_check_button_new_with_label ("Flush"); - scrub_checkbox = gtk_check_button_new_with_label ("Scrub"); - play_scrub_checkbox = gtk_check_button_new_with_label ("Play Scrub"); - skip_checkbox = gtk_check_button_new_with_label ("Play Skip"); - rate_spinbutton = gtk_spin_button_new_with_range (-100, 100, 0.1); - gtk_spin_button_set_digits (GTK_SPIN_BUTTON (rate_spinbutton), 3); - rate_label = gtk_label_new ("Rate"); - - gtk_widget_set_tooltip_text (accurate_checkbox, - "accurate position is requested, this might be considerably slower for some formats"); - gtk_widget_set_tooltip_text (key_checkbox, - "seek to the nearest keyframe. This might be faster but less accurate"); - gtk_widget_set_tooltip_text (loop_checkbox, "loop playback"); - gtk_widget_set_tooltip_text (flush_checkbox, - "flush pipeline after seeking"); - gtk_widget_set_tooltip_text (rate_spinbutton, - "define the playback rate, " "negative value trigger reverse playback"); - gtk_widget_set_tooltip_text (scrub_checkbox, "show images while seeking"); - gtk_widget_set_tooltip_text (play_scrub_checkbox, - "play video while seeking"); - gtk_widget_set_tooltip_text (skip_checkbox, - "Skip frames while playing at high frame rates"); - - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (flush_checkbox), TRUE); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (scrub_checkbox), TRUE); - - gtk_spin_button_set_value (GTK_SPIN_BUTTON (rate_spinbutton), app->rate); - - g_signal_connect (G_OBJECT (accurate_checkbox), "toggled", - G_CALLBACK (accurate_toggle_cb), app); - g_signal_connect (G_OBJECT (key_checkbox), "toggled", - G_CALLBACK (key_toggle_cb), app); - g_signal_connect (G_OBJECT (loop_checkbox), "toggled", - G_CALLBACK (loop_toggle_cb), app); - g_signal_connect (G_OBJECT (flush_checkbox), "toggled", - G_CALLBACK (flush_toggle_cb), app); - g_signal_connect (G_OBJECT (scrub_checkbox), "toggled", - G_CALLBACK (scrub_toggle_cb), app); - g_signal_connect (G_OBJECT (play_scrub_checkbox), "toggled", - G_CALLBACK (play_scrub_toggle_cb), app); - g_signal_connect (G_OBJECT (skip_checkbox), "toggled", - G_CALLBACK (skip_toggle_cb), app); - g_signal_connect (G_OBJECT (rate_spinbutton), "value-changed", - G_CALLBACK (rate_spinbutton_changed_cb), app); - - gtk_table_attach_defaults (GTK_TABLE (flagtable), accurate_checkbox, 0, 1, - 0, 1); - gtk_table_attach_defaults (GTK_TABLE (flagtable), flush_checkbox, 1, 2, 0, - 1); - gtk_table_attach_defaults (GTK_TABLE (flagtable), loop_checkbox, 2, 3, 0, - 1); - gtk_table_attach_defaults (GTK_TABLE (flagtable), key_checkbox, 0, 1, 1, 2); - gtk_table_attach_defaults (GTK_TABLE (flagtable), scrub_checkbox, 1, 2, 1, - 2); - gtk_table_attach_defaults (GTK_TABLE (flagtable), play_scrub_checkbox, 2, 3, - 1, 2); - gtk_table_attach_defaults (GTK_TABLE (flagtable), skip_checkbox, 3, 4, 0, - 1); - gtk_table_attach_defaults (GTK_TABLE (flagtable), rate_label, 4, 5, 0, 1); - gtk_table_attach_defaults (GTK_TABLE (flagtable), rate_spinbutton, 4, 5, 1, - 2); - - advanced_seek = gtk_frame_new ("Advanced Seeking"); - gtk_frame_set_shadow_type (GTK_FRAME (advanced_seek), GTK_SHADOW_NONE); - advanced_seek_grid = gtk_table_new (4, 2, FALSE); - - app->seek_format_combo = gtk_combo_box_text_new (); - g_signal_connect (app->seek_format_combo, "changed", - G_CALLBACK (seek_format_changed_cb), app); - gtk_table_attach_defaults (GTK_TABLE (advanced_seek_grid), - app->seek_format_combo, 0, 1, 0, 1); - - app->seek_entry = gtk_entry_new (); - gtk_entry_set_width_chars (GTK_ENTRY (app->seek_entry), 12); - gtk_table_attach_defaults (GTK_TABLE (advanced_seek_grid), app->seek_entry, - 0, 1, 1, 2); - - seek_button = gtk_button_new_with_label ("Seek"); - g_signal_connect (G_OBJECT (seek_button), "clicked", - G_CALLBACK (advanced_seek_button_cb), app); - gtk_table_attach_defaults (GTK_TABLE (advanced_seek_grid), seek_button, 1, - 2, 0, 1); - - position_label = gtk_label_new ("Position:"); - gtk_table_attach_defaults (GTK_TABLE (advanced_seek_grid), position_label, - 2, 3, 0, 1); - duration_label = gtk_label_new ("Duration:"); - gtk_table_attach_defaults (GTK_TABLE (advanced_seek_grid), duration_label, - 2, 3, 1, 2); - - app->seek_position_label = gtk_label_new ("-1"); - gtk_table_attach_defaults (GTK_TABLE (advanced_seek_grid), - app->seek_position_label, 3, 4, 0, 1); - app->seek_duration_label = gtk_label_new ("-1"); - gtk_table_attach_defaults (GTK_TABLE (advanced_seek_grid), - app->seek_duration_label, 3, 4, 1, 2); - - gtk_container_add (GTK_CONTAINER (advanced_seek), advanced_seek_grid); - gtk_table_attach_defaults (GTK_TABLE (flagtable), advanced_seek, 0, 3, 2, - 4); - gtk_container_add (GTK_CONTAINER (seek), flagtable); - } - - /* step expander */ - { - GtkWidget *hbox; - GtkWidget *step_button, *shuttle_checkbox; - - step = gtk_expander_new ("step options"); - hbox = gtk_hbox_new (FALSE, 0); - - app->step_format_combo = gtk_combo_box_text_new (); - gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (app->step_format_combo), - "frames"); - gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (app->step_format_combo), - "time (ms)"); - gtk_combo_box_set_active (GTK_COMBO_BOX (app->step_format_combo), 0); - gtk_box_pack_start (GTK_BOX (hbox), app->step_format_combo, FALSE, FALSE, - 2); - - app->step_amount_spinbutton = gtk_spin_button_new_with_range (1, 1000, 1); - gtk_spin_button_set_digits (GTK_SPIN_BUTTON (app->step_amount_spinbutton), - 0); - gtk_spin_button_set_value (GTK_SPIN_BUTTON (app->step_amount_spinbutton), - 1.0); - gtk_box_pack_start (GTK_BOX (hbox), app->step_amount_spinbutton, FALSE, - FALSE, 2); - - app->step_rate_spinbutton = gtk_spin_button_new_with_range (0.0, 100, 0.1); - gtk_spin_button_set_digits (GTK_SPIN_BUTTON (app->step_rate_spinbutton), 3); - gtk_spin_button_set_value (GTK_SPIN_BUTTON (app->step_rate_spinbutton), - 1.0); - gtk_box_pack_start (GTK_BOX (hbox), app->step_rate_spinbutton, FALSE, FALSE, - 2); - - step_button = gtk_button_new_from_stock (GTK_STOCK_MEDIA_FORWARD); - gtk_button_set_label (GTK_BUTTON (step_button), "Step"); - gtk_box_pack_start (GTK_BOX (hbox), step_button, FALSE, FALSE, 2); - - g_signal_connect (G_OBJECT (step_button), "clicked", G_CALLBACK (step_cb), - app); - - /* shuttle scale */ - shuttle_checkbox = gtk_check_button_new_with_label ("Shuttle"); - gtk_box_pack_start (GTK_BOX (hbox), shuttle_checkbox, FALSE, FALSE, 2); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (shuttle_checkbox), FALSE); - g_signal_connect (shuttle_checkbox, "toggled", G_CALLBACK (shuttle_toggled), - app); - - adjustment = - GTK_ADJUSTMENT (gtk_adjustment_new (0.0, -3.00, 4.0, 0.1, 1.0, 1.0)); - app->shuttle_scale = gtk_hscale_new (adjustment); - gtk_scale_set_digits (GTK_SCALE (app->shuttle_scale), 2); - gtk_scale_set_value_pos (GTK_SCALE (app->shuttle_scale), GTK_POS_TOP); - g_signal_connect (app->shuttle_scale, "value-changed", - G_CALLBACK (shuttle_value_changed), app); - g_signal_connect (app->shuttle_scale, "format_value", - G_CALLBACK (shuttle_format_value), app); - - gtk_box_pack_start (GTK_BOX (hbox), app->shuttle_scale, TRUE, TRUE, 2); - - gtk_container_add (GTK_CONTAINER (step), hbox); - } - - /* navigation command expander */ - { - GtkWidget *navigation_button; - GtkWidget *grid; - gint i = 0; - - navigation = gtk_expander_new ("navigation commands"); - grid = gtk_table_new (7, 2, FALSE); - - navigation_button = gtk_button_new_with_label ("Menu 1"); - g_signal_connect (G_OBJECT (navigation_button), "clicked", - G_CALLBACK (navigation_cmd_cb), app); - gtk_table_attach_defaults (GTK_TABLE (grid), navigation_button, i, i + 1, 0, - 1); - gtk_widget_set_sensitive (navigation_button, FALSE); - gtk_widget_set_tooltip_text (navigation_button, "DVD Menu"); - app->navigation_buttons[i].button = navigation_button; - app->navigation_buttons[i++].cmd = GST_NAVIGATION_COMMAND_MENU1; - - navigation_button = gtk_button_new_with_label ("Menu 2"); - g_signal_connect (G_OBJECT (navigation_button), "clicked", - G_CALLBACK (navigation_cmd_cb), app); - gtk_table_attach_defaults (GTK_TABLE (grid), navigation_button, i, i + 1, 0, - 1); - gtk_widget_set_sensitive (navigation_button, FALSE); - gtk_widget_set_tooltip_text (navigation_button, "DVD Title Menu"); - app->navigation_buttons[i].button = navigation_button; - app->navigation_buttons[i++].cmd = GST_NAVIGATION_COMMAND_MENU2; - - navigation_button = gtk_button_new_with_label ("Menu 3"); - g_signal_connect (G_OBJECT (navigation_button), "clicked", - G_CALLBACK (navigation_cmd_cb), app); - gtk_table_attach_defaults (GTK_TABLE (grid), navigation_button, i, i + 1, 0, - 1); - gtk_widget_set_sensitive (navigation_button, FALSE); - gtk_widget_set_tooltip_text (navigation_button, "DVD Root Menu"); - app->navigation_buttons[i].button = navigation_button; - app->navigation_buttons[i++].cmd = GST_NAVIGATION_COMMAND_MENU3; - - navigation_button = gtk_button_new_with_label ("Menu 4"); - g_signal_connect (G_OBJECT (navigation_button), "clicked", - G_CALLBACK (navigation_cmd_cb), app); - gtk_table_attach_defaults (GTK_TABLE (grid), navigation_button, i, i + 1, 0, - 1); - gtk_widget_set_sensitive (navigation_button, FALSE); - gtk_widget_set_tooltip_text (navigation_button, "DVD Subpicture Menu"); - app->navigation_buttons[i].button = navigation_button; - app->navigation_buttons[i++].cmd = GST_NAVIGATION_COMMAND_MENU4; - - navigation_button = gtk_button_new_with_label ("Menu 5"); - g_signal_connect (G_OBJECT (navigation_button), "clicked", - G_CALLBACK (navigation_cmd_cb), app); - gtk_table_attach_defaults (GTK_TABLE (grid), navigation_button, i, i + 1, 0, - 1); - gtk_widget_set_sensitive (navigation_button, FALSE); - gtk_widget_set_tooltip_text (navigation_button, "DVD Audio Menu"); - app->navigation_buttons[i].button = navigation_button; - app->navigation_buttons[i++].cmd = GST_NAVIGATION_COMMAND_MENU5; - - navigation_button = gtk_button_new_with_label ("Menu 6"); - g_signal_connect (G_OBJECT (navigation_button), "clicked", - G_CALLBACK (navigation_cmd_cb), app); - gtk_table_attach_defaults (GTK_TABLE (grid), navigation_button, i, i + 1, 0, - 1); - gtk_widget_set_sensitive (navigation_button, FALSE); - gtk_widget_set_tooltip_text (navigation_button, "DVD Angle Menu"); - app->navigation_buttons[i].button = navigation_button; - app->navigation_buttons[i++].cmd = GST_NAVIGATION_COMMAND_MENU6; - - navigation_button = gtk_button_new_with_label ("Menu 7"); - g_signal_connect (G_OBJECT (navigation_button), "clicked", - G_CALLBACK (navigation_cmd_cb), app); - gtk_table_attach_defaults (GTK_TABLE (grid), navigation_button, i, i + 1, 0, - 1); - gtk_widget_set_sensitive (navigation_button, FALSE); - gtk_widget_set_tooltip_text (navigation_button, "DVD Chapter Menu"); - app->navigation_buttons[i].button = navigation_button; - app->navigation_buttons[i++].cmd = GST_NAVIGATION_COMMAND_MENU7; - - navigation_button = gtk_button_new_with_label ("Left"); - g_signal_connect (G_OBJECT (navigation_button), "clicked", - G_CALLBACK (navigation_cmd_cb), app); - gtk_table_attach_defaults (GTK_TABLE (grid), navigation_button, i - 7, - i - 7 + 1, 1, 2); - gtk_widget_set_sensitive (navigation_button, FALSE); - app->navigation_buttons[i].button = navigation_button; - app->navigation_buttons[i++].cmd = GST_NAVIGATION_COMMAND_LEFT; - - navigation_button = gtk_button_new_with_label ("Right"); - g_signal_connect (G_OBJECT (navigation_button), "clicked", - G_CALLBACK (navigation_cmd_cb), app); - gtk_table_attach_defaults (GTK_TABLE (grid), navigation_button, i - 7, - i - 7 + 1, 1, 2); - gtk_widget_set_sensitive (navigation_button, FALSE); - app->navigation_buttons[i].button = navigation_button; - app->navigation_buttons[i++].cmd = GST_NAVIGATION_COMMAND_RIGHT; - - navigation_button = gtk_button_new_with_label ("Up"); - g_signal_connect (G_OBJECT (navigation_button), "clicked", - G_CALLBACK (navigation_cmd_cb), app); - gtk_table_attach_defaults (GTK_TABLE (grid), navigation_button, i - 7, - i - 7 + 1, 1, 2); - gtk_widget_set_sensitive (navigation_button, FALSE); - app->navigation_buttons[i].button = navigation_button; - app->navigation_buttons[i++].cmd = GST_NAVIGATION_COMMAND_UP; - - navigation_button = gtk_button_new_with_label ("Down"); - g_signal_connect (G_OBJECT (navigation_button), "clicked", - G_CALLBACK (navigation_cmd_cb), app); - gtk_table_attach_defaults (GTK_TABLE (grid), navigation_button, i - 7, - i - 7 + 1, 1, 2); - gtk_widget_set_sensitive (navigation_button, FALSE); - app->navigation_buttons[i].button = navigation_button; - app->navigation_buttons[i++].cmd = GST_NAVIGATION_COMMAND_DOWN; - - navigation_button = gtk_button_new_with_label ("Activate"); - g_signal_connect (G_OBJECT (navigation_button), "clicked", - G_CALLBACK (navigation_cmd_cb), app); - gtk_table_attach_defaults (GTK_TABLE (grid), navigation_button, i - 7, - i - 7 + 1, 1, 2); - gtk_widget_set_sensitive (navigation_button, FALSE); - app->navigation_buttons[i].button = navigation_button; - app->navigation_buttons[i++].cmd = GST_NAVIGATION_COMMAND_ACTIVATE; - - navigation_button = gtk_button_new_with_label ("Prev. Angle"); - g_signal_connect (G_OBJECT (navigation_button), "clicked", - G_CALLBACK (navigation_cmd_cb), app); - gtk_table_attach_defaults (GTK_TABLE (grid), navigation_button, i - 7, - i - 7 + 1, 1, 2); - gtk_widget_set_sensitive (navigation_button, FALSE); - app->navigation_buttons[i].button = navigation_button; - app->navigation_buttons[i++].cmd = GST_NAVIGATION_COMMAND_PREV_ANGLE; - - navigation_button = gtk_button_new_with_label ("Next. Angle"); - g_signal_connect (G_OBJECT (navigation_button), "clicked", - G_CALLBACK (navigation_cmd_cb), app); - gtk_table_attach_defaults (GTK_TABLE (grid), navigation_button, i - 7, - i - 7 + 1, 1, 2); - gtk_widget_set_sensitive (navigation_button, FALSE); - app->navigation_buttons[i].button = navigation_button; - app->navigation_buttons[i++].cmd = GST_NAVIGATION_COMMAND_NEXT_ANGLE; - - gtk_container_add (GTK_CONTAINER (navigation), grid); - } - - /* colorbalance expander */ - { - GtkWidget *vbox, *frame; - - colorbalance = gtk_expander_new ("color balance options"); - vbox = gtk_vbox_new (FALSE, 0); - - /* contrast scale */ - frame = gtk_frame_new ("Contrast"); - gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE); - adjustment = - GTK_ADJUSTMENT (gtk_adjustment_new (N_GRAD / 2.0, 0.00, N_GRAD, 0.1, - 1.0, 1.0)); - app->contrast_scale = gtk_hscale_new (adjustment); - gtk_scale_set_draw_value (GTK_SCALE (app->contrast_scale), FALSE); - g_signal_connect (app->contrast_scale, "value-changed", - G_CALLBACK (colorbalance_value_changed), app); - gtk_container_add (GTK_CONTAINER (frame), app->contrast_scale); - gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 2); - - /* brightness scale */ - frame = gtk_frame_new ("Brightness"); - gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE); - adjustment = - GTK_ADJUSTMENT (gtk_adjustment_new (N_GRAD / 2.0, 0.00, N_GRAD, 0.1, - 1.0, 1.0)); - app->brightness_scale = gtk_hscale_new (adjustment); - gtk_scale_set_draw_value (GTK_SCALE (app->brightness_scale), FALSE); - g_signal_connect (app->brightness_scale, "value-changed", - G_CALLBACK (colorbalance_value_changed), app); - gtk_container_add (GTK_CONTAINER (frame), app->brightness_scale); - gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 2); - - /* hue scale */ - frame = gtk_frame_new ("Hue"); - gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE); - adjustment = - GTK_ADJUSTMENT (gtk_adjustment_new (N_GRAD / 2.0, 0.00, N_GRAD, 0.1, - 1.0, 1.0)); - app->hue_scale = gtk_hscale_new (adjustment); - gtk_scale_set_draw_value (GTK_SCALE (app->hue_scale), FALSE); - g_signal_connect (app->hue_scale, "value-changed", - G_CALLBACK (colorbalance_value_changed), app); - gtk_container_add (GTK_CONTAINER (frame), app->hue_scale); - gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 2); - - /* saturation scale */ - frame = gtk_frame_new ("Saturation"); - gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE); - adjustment = - GTK_ADJUSTMENT (gtk_adjustment_new (N_GRAD / 2.0, 0.00, N_GRAD, 0.1, - 1.0, 1.0)); - app->saturation_scale = gtk_hscale_new (adjustment); - gtk_scale_set_draw_value (GTK_SCALE (app->saturation_scale), FALSE); - g_signal_connect (app->saturation_scale, "value-changed", - G_CALLBACK (colorbalance_value_changed), app); - gtk_container_add (GTK_CONTAINER (frame), app->saturation_scale); - gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 2); - - gtk_container_add (GTK_CONTAINER (colorbalance), vbox); - } - - /* seek bar */ - adjustment = - GTK_ADJUSTMENT (gtk_adjustment_new (0.0, 0.00, N_GRAD, 0.1, 1.0, 1.0)); - app->seek_scale = gtk_hscale_new (adjustment); - gtk_scale_set_digits (GTK_SCALE (app->seek_scale), 2); - gtk_scale_set_value_pos (GTK_SCALE (app->seek_scale), GTK_POS_RIGHT); - gtk_range_set_show_fill_level (GTK_RANGE (app->seek_scale), TRUE); - gtk_range_set_fill_level (GTK_RANGE (app->seek_scale), N_GRAD); - - g_signal_connect (app->seek_scale, "button_press_event", - G_CALLBACK (start_seek), app); - g_signal_connect (app->seek_scale, "button_release_event", - G_CALLBACK (stop_seek), app); - g_signal_connect (app->seek_scale, "format_value", G_CALLBACK (format_value), - app); - - if (app->pipeline_type == 0) { - GtkWidget *pb2vbox, *boxes, *boxes2, *panel, *boxes3; - GtkWidget *volume_label, *shot_button; - GtkWidget *label; - - playbin = gtk_expander_new ("playbin2 options"); - /* the playbin2 panel controls for the video/audio/subtitle tracks */ - panel = gtk_hbox_new (FALSE, 0); - app->video_combo = gtk_combo_box_text_new (); - app->audio_combo = gtk_combo_box_text_new (); - app->text_combo = gtk_combo_box_text_new (); - gtk_widget_set_sensitive (app->video_combo, FALSE); - gtk_widget_set_sensitive (app->audio_combo, FALSE); - gtk_widget_set_sensitive (app->text_combo, FALSE); - gtk_box_pack_start (GTK_BOX (panel), app->video_combo, TRUE, TRUE, 2); - gtk_box_pack_start (GTK_BOX (panel), app->audio_combo, TRUE, TRUE, 2); - gtk_box_pack_start (GTK_BOX (panel), app->text_combo, TRUE, TRUE, 2); - g_signal_connect (G_OBJECT (app->video_combo), "changed", - G_CALLBACK (video_combo_cb), app); - g_signal_connect (G_OBJECT (app->audio_combo), "changed", - G_CALLBACK (audio_combo_cb), app); - g_signal_connect (G_OBJECT (app->text_combo), "changed", - G_CALLBACK (text_combo_cb), app); - /* playbin2 panel for flag checkboxes and volume/mute */ - boxes = gtk_table_new (8, 2, FALSE); - - app->video_checkbox = gtk_check_button_new_with_label ("Video"); - app->audio_checkbox = gtk_check_button_new_with_label ("Audio"); - app->text_checkbox = gtk_check_button_new_with_label ("Text"); - app->vis_checkbox = gtk_check_button_new_with_label ("Vis"); - app->soft_volume_checkbox = gtk_check_button_new_with_label ("Soft Volume"); - app->native_audio_checkbox = - gtk_check_button_new_with_label ("Native Audio"); - app->native_video_checkbox = - gtk_check_button_new_with_label ("Native Video"); - app->download_checkbox = gtk_check_button_new_with_label ("Download"); - app->buffering_checkbox = gtk_check_button_new_with_label ("Buffering"); - app->deinterlace_checkbox = gtk_check_button_new_with_label ("Deinterlace"); - app->soft_colorbalance_checkbox = - gtk_check_button_new_with_label ("Soft Colorbalance"); - app->mute_checkbox = gtk_check_button_new_with_label ("Mute"); - volume_label = gtk_label_new ("Volume"); - app->volume_spinbutton = gtk_spin_button_new_with_range (0, 10.0, 0.1); - - gtk_table_attach_defaults (GTK_TABLE (boxes), app->video_checkbox, 0, 1, 0, - 1); - gtk_table_attach_defaults (GTK_TABLE (boxes), app->audio_checkbox, 1, 2, 0, - 1); - gtk_table_attach_defaults (GTK_TABLE (boxes), app->text_checkbox, 2, 3, 0, - 1); - gtk_table_attach_defaults (GTK_TABLE (boxes), app->vis_checkbox, 3, 4, 0, - 1); - gtk_table_attach_defaults (GTK_TABLE (boxes), app->soft_volume_checkbox, 4, - 5, 0, 1); - gtk_table_attach_defaults (GTK_TABLE (boxes), app->native_audio_checkbox, 5, - 6, 0, 1); - gtk_table_attach_defaults (GTK_TABLE (boxes), app->native_video_checkbox, 0, - 1, 1, 2); - gtk_table_attach_defaults (GTK_TABLE (boxes), app->download_checkbox, 1, 2, - 1, 2); - gtk_table_attach_defaults (GTK_TABLE (boxes), app->buffering_checkbox, 2, 3, - 1, 2); - gtk_table_attach_defaults (GTK_TABLE (boxes), app->deinterlace_checkbox, 3, - 4, 1, 2); - gtk_table_attach_defaults (GTK_TABLE (boxes), - app->soft_colorbalance_checkbox, 4, 5, 1, 2); - - gtk_table_attach_defaults (GTK_TABLE (boxes), app->mute_checkbox, 7, 8, 0, - 1); - gtk_table_attach_defaults (GTK_TABLE (boxes), volume_label, 6, 7, 1, 2); - gtk_table_attach_defaults (GTK_TABLE (boxes), app->volume_spinbutton, 7, 8, - 1, 2); - - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (app->video_checkbox), - TRUE); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (app->audio_checkbox), - TRUE); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (app->text_checkbox), TRUE); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (app->vis_checkbox), FALSE); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (app->soft_volume_checkbox), - TRUE); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON - (app->native_audio_checkbox), FALSE); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON - (app->native_video_checkbox), FALSE); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (app->download_checkbox), - FALSE); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (app->buffering_checkbox), - FALSE); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (app->deinterlace_checkbox), - FALSE); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON - (app->soft_colorbalance_checkbox), TRUE); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (app->mute_checkbox), - FALSE); - gtk_spin_button_set_value (GTK_SPIN_BUTTON (app->volume_spinbutton), 1.0); - - g_signal_connect (G_OBJECT (app->video_checkbox), "toggled", - G_CALLBACK (video_toggle_cb), app); - g_signal_connect (G_OBJECT (app->audio_checkbox), "toggled", - G_CALLBACK (audio_toggle_cb), app); - g_signal_connect (G_OBJECT (app->text_checkbox), "toggled", - G_CALLBACK (text_toggle_cb), app); - g_signal_connect (G_OBJECT (app->vis_checkbox), "toggled", - G_CALLBACK (vis_toggle_cb), app); - g_signal_connect (G_OBJECT (app->soft_volume_checkbox), "toggled", - G_CALLBACK (soft_volume_toggle_cb), app); - g_signal_connect (G_OBJECT (app->native_audio_checkbox), "toggled", - G_CALLBACK (native_audio_toggle_cb), app); - g_signal_connect (G_OBJECT (app->native_video_checkbox), "toggled", - G_CALLBACK (native_video_toggle_cb), app); - g_signal_connect (G_OBJECT (app->download_checkbox), "toggled", - G_CALLBACK (download_toggle_cb), app); - g_signal_connect (G_OBJECT (app->buffering_checkbox), "toggled", - G_CALLBACK (buffering_toggle_cb), app); - g_signal_connect (G_OBJECT (app->deinterlace_checkbox), "toggled", - G_CALLBACK (deinterlace_toggle_cb), app); - g_signal_connect (G_OBJECT (app->soft_colorbalance_checkbox), "toggled", - G_CALLBACK (soft_colorbalance_toggle_cb), app); - g_signal_connect (G_OBJECT (app->mute_checkbox), "toggled", - G_CALLBACK (mute_toggle_cb), app); - g_signal_connect (G_OBJECT (app->volume_spinbutton), "value-changed", - G_CALLBACK (volume_spinbutton_changed_cb), app); - /* playbin2 panel for snapshot */ - boxes2 = gtk_hbox_new (FALSE, 0); - shot_button = gtk_button_new_from_stock (GTK_STOCK_SAVE); - gtk_widget_set_tooltip_text (shot_button, - "save a screenshot .png in the current directory"); - g_signal_connect (G_OBJECT (shot_button), "clicked", G_CALLBACK (shot_cb), - app); - app->vis_combo = gtk_combo_box_text_new (); - g_signal_connect (G_OBJECT (app->vis_combo), "changed", - G_CALLBACK (vis_combo_cb), app); - gtk_widget_set_sensitive (app->vis_combo, FALSE); - gtk_box_pack_start (GTK_BOX (boxes2), shot_button, TRUE, TRUE, 2); - gtk_box_pack_start (GTK_BOX (boxes2), app->vis_combo, TRUE, TRUE, 2); - - /* fill the vis combo box and the array of factories */ - init_visualization_features (app); - - /* Grid with other properties */ - boxes3 = gtk_table_new (5, 6, FALSE); - - label = gtk_label_new ("Video sink"); - gtk_table_attach_defaults (GTK_TABLE (boxes3), label, 0, 1, 0, 1); - app->video_sink_entry = gtk_entry_new (); - g_signal_connect (app->video_sink_entry, "activate", - G_CALLBACK (video_sink_activate_cb), app); - gtk_table_attach_defaults (GTK_TABLE (boxes3), app->video_sink_entry, 0, 1, - 1, 2); - - label = gtk_label_new ("Audio sink"); - gtk_table_attach_defaults (GTK_TABLE (boxes3), label, 1, 2, 0, 1); - app->audio_sink_entry = gtk_entry_new (); - g_signal_connect (app->audio_sink_entry, "activate", - G_CALLBACK (audio_sink_activate_cb), app); - gtk_table_attach_defaults (GTK_TABLE (boxes3), app->audio_sink_entry, 1, 2, - 1, 2); - - label = gtk_label_new ("Text sink"); - gtk_table_attach_defaults (GTK_TABLE (boxes3), label, 2, 3, 0, 1); - app->text_sink_entry = gtk_entry_new (); - g_signal_connect (app->text_sink_entry, "activate", - G_CALLBACK (text_sink_activate_cb), app); - gtk_table_attach_defaults (GTK_TABLE (boxes3), app->text_sink_entry, 2, 3, - 1, 2); - - label = gtk_label_new ("Buffer Size"); - gtk_table_attach_defaults (GTK_TABLE (boxes3), label, 0, 1, 2, 3); - app->buffer_size_entry = gtk_entry_new (); - gtk_entry_set_text (GTK_ENTRY (app->buffer_size_entry), "-1"); - g_signal_connect (app->buffer_size_entry, "activate", - G_CALLBACK (buffer_size_activate_cb), app); - gtk_table_attach_defaults (GTK_TABLE (boxes3), app->buffer_size_entry, 0, 1, - 3, 4); - - label = gtk_label_new ("Buffer Duration"); - gtk_table_attach_defaults (GTK_TABLE (boxes3), label, 1, 2, 2, 3); - app->buffer_duration_entry = gtk_entry_new (); - gtk_entry_set_text (GTK_ENTRY (app->buffer_duration_entry), "-1"); - g_signal_connect (app->buffer_duration_entry, "activate", - G_CALLBACK (buffer_duration_activate_cb), app); - gtk_table_attach_defaults (GTK_TABLE (boxes3), app->buffer_duration_entry, - 1, 2, 3, 4); - - label = gtk_label_new ("Ringbuffer Max Size"); - gtk_table_attach_defaults (GTK_TABLE (boxes3), label, 2, 3, 2, 3); - app->ringbuffer_maxsize_entry = gtk_entry_new (); - gtk_entry_set_text (GTK_ENTRY (app->ringbuffer_maxsize_entry), "0"); - g_signal_connect (app->ringbuffer_maxsize_entry, "activate", - G_CALLBACK (ringbuffer_maxsize_activate_cb), app); - gtk_table_attach_defaults (GTK_TABLE (boxes3), - app->ringbuffer_maxsize_entry, 2, 3, 3, 4); - - label = gtk_label_new ("Connection Speed"); - gtk_table_attach_defaults (GTK_TABLE (boxes3), label, 3, 4, 2, 3); - app->connection_speed_entry = gtk_entry_new (); - gtk_entry_set_text (GTK_ENTRY (app->connection_speed_entry), "0"); - g_signal_connect (app->connection_speed_entry, "activate", - G_CALLBACK (connection_speed_activate_cb), app); - gtk_table_attach_defaults (GTK_TABLE (boxes3), app->connection_speed_entry, - 3, 4, 3, 4); - - label = gtk_label_new ("A/V offset"); - gtk_table_attach_defaults (GTK_TABLE (boxes3), label, 4, 5, 2, 3); - app->av_offset_entry = gtk_entry_new (); - g_signal_connect (app->av_offset_entry, "activate", - G_CALLBACK (av_offset_activate_cb), app); - gtk_entry_set_text (GTK_ENTRY (app->av_offset_entry), "0"); - g_signal_connect (app->av_offset_entry, "activate", - G_CALLBACK (av_offset_activate_cb), app); - gtk_table_attach_defaults (GTK_TABLE (boxes3), app->av_offset_entry, 4, 5, - 3, 4); - - label = gtk_label_new ("Subtitle Encoding"); - gtk_table_attach_defaults (GTK_TABLE (boxes3), label, 0, 1, 4, 5); - app->subtitle_encoding_entry = gtk_entry_new (); - g_signal_connect (app->subtitle_encoding_entry, "activate", - G_CALLBACK (subtitle_encoding_activate_cb), app); - gtk_table_attach_defaults (GTK_TABLE (boxes3), app->subtitle_encoding_entry, - 0, 1, 5, 6); - - label = gtk_label_new ("Subtitle Fontdesc"); - gtk_table_attach_defaults (GTK_TABLE (boxes3), label, 1, 2, 4, 5); - app->subtitle_fontdesc_button = gtk_font_button_new (); - g_signal_connect (app->subtitle_fontdesc_button, "font-set", - G_CALLBACK (subtitle_fontdesc_cb), app); - gtk_table_attach_defaults (GTK_TABLE (boxes3), - app->subtitle_fontdesc_button, 1, 2, 5, 6); - - pb2vbox = gtk_vbox_new (FALSE, 0); - gtk_box_pack_start (GTK_BOX (pb2vbox), panel, FALSE, FALSE, 2); - gtk_box_pack_start (GTK_BOX (pb2vbox), boxes, FALSE, FALSE, 2); - gtk_box_pack_start (GTK_BOX (pb2vbox), boxes2, FALSE, FALSE, 2); - gtk_box_pack_start (GTK_BOX (pb2vbox), boxes3, FALSE, FALSE, 2); - gtk_container_add (GTK_CONTAINER (playbin), pb2vbox); - } else { - playbin = NULL; - } - - /* do the packing stuff ... */ - gtk_window_set_default_size (GTK_WINDOW (app->window), 250, 96); - /* FIXME: can we avoid this for audio only? */ - gtk_widget_set_size_request (GTK_WIDGET (app->video_window), -1, - DEFAULT_VIDEO_HEIGHT); - gtk_container_add (GTK_CONTAINER (app->window), vbox); - gtk_box_pack_start (GTK_BOX (vbox), app->video_window, TRUE, TRUE, 2); - gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 2); - gtk_box_pack_start (GTK_BOX (hbox), play_button, FALSE, FALSE, 2); - gtk_box_pack_start (GTK_BOX (hbox), pause_button, FALSE, FALSE, 2); - gtk_box_pack_start (GTK_BOX (hbox), stop_button, FALSE, FALSE, 2); - - gtk_box_pack_start (GTK_BOX (vbox), seek, FALSE, FALSE, 2); - if (playbin) - gtk_box_pack_start (GTK_BOX (vbox), playbin, FALSE, FALSE, 2); - gtk_box_pack_start (GTK_BOX (vbox), step, FALSE, FALSE, 2); - gtk_box_pack_start (GTK_BOX (vbox), navigation, FALSE, FALSE, 2); - gtk_box_pack_start (GTK_BOX (vbox), colorbalance, FALSE, FALSE, 2); - gtk_box_pack_start (GTK_BOX (vbox), gtk_hseparator_new (), FALSE, FALSE, 2); - gtk_box_pack_start (GTK_BOX (vbox), app->seek_scale, FALSE, FALSE, 2); - gtk_box_pack_start (GTK_BOX (vbox), app->statusbar, FALSE, FALSE, 2); - - /* connect things ... */ - g_signal_connect (G_OBJECT (play_button), "clicked", G_CALLBACK (play_cb), - app); - g_signal_connect (G_OBJECT (pause_button), "clicked", G_CALLBACK (pause_cb), - app); - g_signal_connect (G_OBJECT (stop_button), "clicked", G_CALLBACK (stop_cb), - app); - - g_signal_connect (G_OBJECT (app->window), "delete-event", - G_CALLBACK (delete_event_cb), app); -} - -static void -set_defaults (PlaybackApp * app) -{ - memset (app, 0, sizeof (PlaybackApp)); - - app->flush_seek = TRUE; - app->scrub = TRUE; - app->rate = 1.0; - - app->position = app->duration = -1; - app->state = GST_STATE_NULL; - - app->need_streams = TRUE; - - g_static_mutex_init (&app->state_mutex); - - app->play_rate = 1.0; -} - -static void -reset_app (PlaybackApp * app) -{ - g_free (app->audiosink_str); - g_free (app->videosink_str); - - g_list_free (app->formats); - - g_static_mutex_free (&app->state_mutex); - - if (app->xoverlay_element) - gst_object_unref (app->xoverlay_element); - if (app->navigation_element) - gst_object_unref (app->navigation_element); - - g_list_foreach (app->paths, (GFunc) g_free, NULL); - g_list_free (app->paths); - g_list_foreach (app->sub_paths, (GFunc) g_free, NULL); - g_list_free (app->sub_paths); - - g_print ("free pipeline\n"); - gst_object_unref (app->pipeline); -} - -int -main (int argc, char **argv) -{ - PlaybackApp app; - GOptionEntry options[] = { - {"stats", 's', 0, G_OPTION_ARG_NONE, &app.stats, - "Show pad stats", NULL}, - {"verbose", 'v', 0, G_OPTION_ARG_NONE, &app.verbose, - "Verbose properties", NULL}, - {NULL} - }; - GOptionContext *ctx; - GError *err = NULL; - - set_defaults (&app); - -#if !GLIB_CHECK_VERSION (2, 31, 0) - if (!g_thread_supported ()) - g_thread_init (NULL); -#endif - - ctx = g_option_context_new ("- playback testing in gsteamer"); - g_option_context_add_main_entries (ctx, options, NULL); - g_option_context_add_group (ctx, gst_init_get_option_group ()); - g_option_context_add_group (ctx, gtk_get_option_group (TRUE)); - - if (!g_option_context_parse (ctx, &argc, &argv, &err)) { - g_print ("Error initializing: %s\n", err->message); - exit (1); - } - - GST_DEBUG_CATEGORY_INIT (playback_debug, "playback-test", 0, - "playback example"); - - if (argc < 3) { - print_usage (argc, argv); - exit (-1); - } - - app.pipeline_type = atoi (argv[1]); - - if (app.pipeline_type < 0 || app.pipeline_type >= G_N_ELEMENTS (pipelines)) { - print_usage (argc, argv); - exit (-1); - } - - app.pipeline_spec = argv[2]; - - if (g_path_is_absolute (app.pipeline_spec) && - (g_strrstr (app.pipeline_spec, "*") != NULL || - g_strrstr (app.pipeline_spec, "?") != NULL)) { - app.paths = handle_wildcards (app.pipeline_spec); - } else { - app.paths = g_list_prepend (app.paths, g_strdup (app.pipeline_spec)); - } - - if (!app.paths) { - g_print ("opening %s failed\n", app.pipeline_spec); - exit (-1); - } - - app.current_path = app.paths; - - if (argc > 3 && argv[3]) { - if (g_path_is_absolute (argv[3]) && - (g_strrstr (argv[3], "*") != NULL || - g_strrstr (argv[3], "?") != NULL)) { - app.sub_paths = handle_wildcards (argv[3]); - } else { - app.sub_paths = g_list_prepend (app.sub_paths, g_strdup (argv[3])); - } - - if (!app.sub_paths) { - g_print ("opening %s failed\n", argv[3]); - exit (-1); - } - - app.current_sub_path = app.sub_paths; - } - - pipelines[app.pipeline_type].func (&app, app.current_path->data); - g_assert (app.pipeline); - - create_ui (&app); - - /* show the gui. */ - gtk_widget_show_all (app.window); - - /* realize window now so that the video window gets created and we can - * obtain its XID before the pipeline is started up and the videosink - * asks for the XID of the window to render onto */ - gtk_widget_realize (app.window); - -#if defined (GDK_WINDOWING_X11) || defined (GDK_WINDOWING_WIN32) || defined (GDK_WINDOWING_QUARTZ) - /* we should have the XID now */ - g_assert (app.embed_xid != 0); - - if (app.pipeline_type == 0) { - gst_x_overlay_set_window_handle (GST_X_OVERLAY (app.pipeline), - app.embed_xid); - } -#endif - - if (app.verbose) { - g_signal_connect (app.pipeline, "deep_notify", - G_CALLBACK (gst_object_default_deep_notify), NULL); - } - - connect_bus_signals (&app); - - gtk_main (); - - g_print ("NULL pipeline\n"); - gst_element_set_state (app.pipeline, GST_STATE_NULL); - - reset_app (&app); - - return 0; -} From fe0d5422c348691c6698b6d90b4e69b32491b779 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 17 Apr 2012 13:43:26 +0200 Subject: [PATCH 004/979] Add more projects. gitignore. Whitespace. Fix warning in tut5. --- .../basic-tutorial-2/basic-tutorial-2.vcxproj | 84 ++++++++++++++++++ .../basic-tutorial-2.vcxproj.filters | 6 ++ .../basic-tutorial-3/basic-tutorial-3.vcxproj | 84 ++++++++++++++++++ .../basic-tutorial-3.vcxproj.filters | 6 ++ .../basic-tutorial-4/basic-tutorial-4.vcxproj | 84 ++++++++++++++++++ .../basic-tutorial-4.vcxproj.filters | 6 ++ .../basic-tutorial-5/basic-tutorial-5.vcxproj | 88 +++++++++++++++++++ .../basic-tutorial-5.vcxproj.filters | 6 ++ .../playback-tutorial-1.vcxproj | 84 ++++++++++++++++++ .../playback-tutorial-1.vcxproj.filters | 6 ++ 10 files changed, 454 insertions(+) create mode 100644 vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj create mode 100644 vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj.filters create mode 100644 vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj create mode 100644 vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj.filters create mode 100644 vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj create mode 100644 vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj.filters create mode 100644 vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj create mode 100644 vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj.filters create mode 100644 vs/2010/tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj create mode 100644 vs/2010/tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj.filters diff --git a/vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj b/vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj new file mode 100644 index 0000000000..2a77d025a4 --- /dev/null +++ b/vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj @@ -0,0 +1,84 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {F9127BA2-C3CB-4123-8967-32D5BABB3C34} + Win32Proj + basictutorial2 + + + + Application + true + Unicode + + + Application + false + true + Unicode + + + + + + + + + + + + + + + true + + + false + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + true + true + + + + + + + + + \ No newline at end of file diff --git a/vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj.filters b/vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj.filters new file mode 100644 index 0000000000..e6aec2795e --- /dev/null +++ b/vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj.filters @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj b/vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj new file mode 100644 index 0000000000..46ebf02ec8 --- /dev/null +++ b/vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj @@ -0,0 +1,84 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {D8595056-4F87-4767-A84C-07B7F67A6560} + Win32Proj + basictutorial3 + + + + Application + true + Unicode + + + Application + false + true + Unicode + + + + + + + + + + + + + + + true + + + false + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + true + true + + + + + + + + + \ No newline at end of file diff --git a/vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj.filters b/vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj.filters new file mode 100644 index 0000000000..fedb4ee7e6 --- /dev/null +++ b/vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj.filters @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj b/vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj new file mode 100644 index 0000000000..bbbeb80fca --- /dev/null +++ b/vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj @@ -0,0 +1,84 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {1F5D411C-72FE-43BA-85BB-96DA7AC9C8D3} + Win32Proj + basictutorial4 + + + + Application + true + Unicode + + + Application + false + true + Unicode + + + + + + + + + + + + + + + true + + + false + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + true + true + + + + + + + + + \ No newline at end of file diff --git a/vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj.filters b/vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj.filters new file mode 100644 index 0000000000..d052c4354e --- /dev/null +++ b/vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj.filters @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj b/vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj new file mode 100644 index 0000000000..610d0542d2 --- /dev/null +++ b/vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj @@ -0,0 +1,88 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {BB88B26A-DD54-42BF-9893-26E0FDF28050} + Win32Proj + basictutorial5 + + + + Application + true + Unicode + + + Application + false + true + Unicode + + + + + + + + + + + + + + + + + + + true + + + false + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + true + true + + + + + + + + + \ No newline at end of file diff --git a/vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj.filters b/vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj.filters new file mode 100644 index 0000000000..399cfb2070 --- /dev/null +++ b/vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj.filters @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/vs/2010/tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj b/vs/2010/tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj new file mode 100644 index 0000000000..c27a6ad244 --- /dev/null +++ b/vs/2010/tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj @@ -0,0 +1,84 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {474353B0-D353-4DB7-A9EE-E210D1ED954B} + Win32Proj + playbacktutorial1 + + + + Application + true + Unicode + + + Application + false + true + Unicode + + + + + + + + + + + + + + + true + + + false + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + true + true + + + + + + + + + \ No newline at end of file diff --git a/vs/2010/tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj.filters b/vs/2010/tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj.filters new file mode 100644 index 0000000000..5e28209a2f --- /dev/null +++ b/vs/2010/tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj.filters @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file From 86f2c5c9a34d408729e70fe78b969287fcfe2c4e Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 17 Apr 2012 13:50:28 +0200 Subject: [PATCH 005/979] Add more projects. gitignore. Whitespace. Fix warning in tut5. --- .gitignore | 1 + gst-sdk/tutorials/basic-tutorial-5.c | 317 +++++++++++++-------------- vs/2010/tutorials/tutorials.sln | 30 +++ 3 files changed, 189 insertions(+), 159 deletions(-) diff --git a/.gitignore b/.gitignore index 0c7f5026be..09dc148f42 100644 --- a/.gitignore +++ b/.gitignore @@ -3,5 +3,6 @@ Debug ipch *.user *.sdf +*.suo *.opensdf vs/2010/libs \ No newline at end of file diff --git a/gst-sdk/tutorials/basic-tutorial-5.c b/gst-sdk/tutorials/basic-tutorial-5.c index b777c6f5a5..a50ecd0694 100644 --- a/gst-sdk/tutorials/basic-tutorial-5.c +++ b/gst-sdk/tutorials/basic-tutorial-5.c @@ -1,4 +1,4 @@ -#include +#include #include #include @@ -9,27 +9,27 @@ #elif defined (GDK_WINDOWING_QUARTZ) #include #endif - -#include -#include - -/* Structure to contain all our information, so we can pass it around */ -typedef struct _CustomData { - GstElement *playbin2; /* Our one and only pipeline */ - GtkWidget *main_window; + +#include +#include + +/* Structure to contain all our information, so we can pass it around */ +typedef struct _CustomData { + GstElement *playbin2; /* Our one and only pipeline */ + GtkWidget *main_window; GtkWidget *video_window; GtkWidget *slider; GstState state; gint64 duration; - guintptr embed_xid; -} CustomData; - -/* Forward definition of the message processing function */ -static gboolean handle_message (GstBus *bus, GstMessage *msg, CustomData *data); -static GstBusSyncReply bus_sync_handler (GstBus *bus, GstMessage *msg, CustomData *data); - + guintptr embed_xid; +} CustomData; + +/* Forward definition of the message processing function */ +static gboolean handle_message (GstBus *bus, GstMessage *msg, CustomData *data); +static GstBusSyncReply bus_sync_handler (GstBus *bus, GstMessage *msg, CustomData *data); + static void realize_cb (GtkWidget *widget, CustomData *data) { GdkWindow *window = gtk_widget_get_window (widget); @@ -44,26 +44,26 @@ static void realize_cb (GtkWidget *widget, CustomData *data) { data->embed_xid = gdk_quartz_window_get_nsview (window); #elif defined (GDK_WINDOWING_X11) data->embed_xid = GDK_WINDOW_XID (window); -#endif -} - -static void play_cb (GtkButton *button, CustomData *data) { - gst_element_set_state (data->playbin2, GST_STATE_PLAYING); -} - -static void pause_cb (GtkButton *button, CustomData *data) { - gst_element_set_state (data->playbin2, GST_STATE_PAUSED); -} - -static void stop_cb (GtkButton *button, CustomData *data) { - gst_element_set_state (data->playbin2, GST_STATE_READY); -} - +#endif +} + +static void play_cb (GtkButton *button, CustomData *data) { + gst_element_set_state (data->playbin2, GST_STATE_PLAYING); +} + +static void pause_cb (GtkButton *button, CustomData *data) { + gst_element_set_state (data->playbin2, GST_STATE_PAUSED); +} + +static void stop_cb (GtkButton *button, CustomData *data) { + gst_element_set_state (data->playbin2, GST_STATE_READY); +} + static void delete_event_cb (GtkWidget *widget, GdkEvent *event, CustomData *data) { stop_cb (NULL, data); gtk_main_quit (); -} - +} + static gboolean draw_cb (GtkWidget *widget, GdkEventExpose *event, CustomData *data) { if (data->state < GST_STATE_PAUSED) { GtkAllocation allocation; @@ -83,7 +83,7 @@ static gboolean draw_cb (GtkWidget *widget, GdkEventExpose *event, CustomData *d */ return FALSE; } - + static void create_ui (CustomData *data) { GtkWidget *controls, *main_box; GtkWidget *play_button, *pause_button, *stop_button; @@ -94,7 +94,7 @@ static void create_ui (CustomData *data) { data->video_window = gtk_drawing_area_new (); gtk_widget_set_double_buffered (data->video_window, FALSE); g_signal_connect (data->video_window, "realize", G_CALLBACK (realize_cb), data); - g_signal_connect (data->video_window, "expose_event", G_CALLBACK (draw_cb), data); + g_signal_connect (data->video_window, "expose_event", G_CALLBACK (draw_cb), data); play_button = gtk_button_new_from_stock (GTK_STOCK_MEDIA_PLAY); g_signal_connect (G_OBJECT (play_button), "clicked", G_CALLBACK (play_cb), data); @@ -122,127 +122,126 @@ static void create_ui (CustomData *data) { gtk_widget_show_all (data->main_window); - gtk_widget_realize (data->main_window); -} - -static gboolean refresh_ui (CustomData *data) { - GstFormat fmt = GST_FORMAT_TIME; - gint64 current = -1; - - /* We do not want to update anything unless we are in the PLAYING state */ - if (data->state != GST_STATE_PLAYING) return TRUE; - - /* If we didn't know it yet, query the stream duration */ - if (!GST_CLOCK_TIME_IS_VALID (data->duration)) { - if (!gst_element_query_duration (data->playbin2, &fmt, &data->duration)) { - g_printerr ("Could not query current duration.\n"); - } else { - gtk_range_set_range (GTK_RANGE (data->slider), 0, data->duration / GST_SECOND); - } - } - - if (gst_element_query_position (data->playbin2, &fmt, ¤t)) { - gtk_range_set_value (GTK_RANGE (data->slider), current / GST_SECOND); - } - return TRUE; -} - -int main(int argc, char *argv[]) { - CustomData data; - GstStateChangeReturn ret; - GstBus *bus; - - /* Initialize GTK */ - gtk_init (&argc, &argv); - - /* Initialize GStreamer */ - gst_init (&argc, &argv); - - /* Initialize our data structure */ - memset (&data, 0, sizeof (data)); - data.duration = GST_CLOCK_TIME_NONE; - - /* Create the elements */ - data.playbin2 = gst_element_factory_make ("playbin2", "playbin2"); - - if (!data.playbin2) { - g_printerr ("Not all elements could be created.\n"); - return -1; - } - - /* Set the URI to play */ -// g_object_set (data.playbin2, "uri", "http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); - g_object_set (data.playbin2, "uri", "file:///f:/media/big_buck_bunny_480p.H264.mov", NULL); - - create_ui (&data); - - bus = gst_element_get_bus (data.playbin2); - gst_bus_set_sync_handler (bus, (GstBusSyncHandler)bus_sync_handler, &data); - gst_bus_add_watch (bus, (GstBusFunc)handle_message, &data); - gst_object_unref (bus); - - /* Start playing */ - ret = gst_element_set_state (data.playbin2, GST_STATE_PLAYING); - if (ret == GST_STATE_CHANGE_FAILURE) { - g_printerr ("Unable to set the pipeline to the playing state.\n"); - gst_object_unref (data.playbin2); - return -1; - } - - g_timeout_add (500, (GSourceFunc)refresh_ui, &data); - // add timeout to refresh UI: query position and duration (if unknown), gtk_range_set_value() on the slider - gtk_main (); - - /* Free resources */ - gst_element_set_state (data.playbin2, GST_STATE_NULL); - gst_object_unref (data.playbin2); - return 0; -} - -static gboolean handle_message (GstBus *bus, GstMessage *msg, CustomData *data) { - GError *err; - gchar *debug_info; - - switch (GST_MESSAGE_TYPE (msg)) { - case GST_MESSAGE_ERROR: - gst_message_parse_error (msg, &err, &debug_info); - g_printerr ("Error received from element %s: %s\n", GST_OBJECT_NAME (msg->src), err->message); - g_printerr ("Debugging information: %s\n", debug_info ? debug_info : "none"); - g_clear_error (&err); - g_free (debug_info); - gtk_main_quit (); - break; - case GST_MESSAGE_EOS: - g_print ("End-Of-Stream reached.\n"); - gst_element_set_state (data->playbin2, GST_STATE_READY); - break; - case GST_MESSAGE_STATE_CHANGED: { - GstState old_state, new_state, pending_state; - gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); - if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->playbin2)) { - data->state = new_state; - g_print ("State set to %s\n", gst_element_state_get_name (new_state)); - } - } break; - } - - return TRUE; -} -static GstBusSyncReply bus_sync_handler (GstBus *bus, GstMessage *msg, CustomData *data) { - /*ignore anything but 'prepare-xwindow-id' element messages */ - if (GST_MESSAGE_TYPE (msg) != GST_MESSAGE_ELEMENT) - return GST_BUS_PASS; - if (!gst_structure_has_name (msg->structure, "prepare-xwindow-id")) - return GST_BUS_PASS; - - if (data->embed_xid != 0) { - /* GST_MESSAGE_SRC (message) will be the video sink element */ - GstXOverlay *xoverlay = GST_X_OVERLAY (GST_MESSAGE_SRC (msg)); - gst_x_overlay_set_window_handle (xoverlay, data->embed_xid); - } else { - g_warning ("Should have obtained an xid by now!"); - } - - gst_message_unref (msg); - return GST_BUS_DROP; -} + gtk_widget_realize (data->main_window); +} + +static gboolean refresh_ui (CustomData *data) { + GstFormat fmt = GST_FORMAT_TIME; + gint64 current = -1; + + /* We do not want to update anything unless we are in the PLAYING state */ + if (data->state != GST_STATE_PLAYING) return TRUE; + + /* If we didn't know it yet, query the stream duration */ + if (!GST_CLOCK_TIME_IS_VALID (data->duration)) { + if (!gst_element_query_duration (data->playbin2, &fmt, &data->duration)) { + g_printerr ("Could not query current duration.\n"); + } else { + gtk_range_set_range (GTK_RANGE (data->slider), 0, (gdouble)data->duration / GST_SECOND); + } + } + + if (gst_element_query_position (data->playbin2, &fmt, ¤t)) { + gtk_range_set_value (GTK_RANGE (data->slider), (gdouble)current / GST_SECOND); + } + return TRUE; +} + +int main(int argc, char *argv[]) { + CustomData data; + GstStateChangeReturn ret; + GstBus *bus; + + /* Initialize GTK */ + gtk_init (&argc, &argv); + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Initialize our data structure */ + memset (&data, 0, sizeof (data)); + data.duration = GST_CLOCK_TIME_NONE; + + /* Create the elements */ + data.playbin2 = gst_element_factory_make ("playbin2", "playbin2"); + + if (!data.playbin2) { + g_printerr ("Not all elements could be created.\n"); + return -1; + } + + /* Set the URI to play */ + g_object_set (data.playbin2, "uri", "http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + + create_ui (&data); + + bus = gst_element_get_bus (data.playbin2); + gst_bus_set_sync_handler (bus, (GstBusSyncHandler)bus_sync_handler, &data); + gst_bus_add_watch (bus, (GstBusFunc)handle_message, &data); + gst_object_unref (bus); + + /* Start playing */ + ret = gst_element_set_state (data.playbin2, GST_STATE_PLAYING); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (data.playbin2); + return -1; + } + + g_timeout_add (500, (GSourceFunc)refresh_ui, &data); + // add timeout to refresh UI: query position and duration (if unknown), gtk_range_set_value() on the slider + gtk_main (); + + /* Free resources */ + gst_element_set_state (data.playbin2, GST_STATE_NULL); + gst_object_unref (data.playbin2); + return 0; +} + +static gboolean handle_message (GstBus *bus, GstMessage *msg, CustomData *data) { + GError *err; + gchar *debug_info; + + switch (GST_MESSAGE_TYPE (msg)) { + case GST_MESSAGE_ERROR: + gst_message_parse_error (msg, &err, &debug_info); + g_printerr ("Error received from element %s: %s\n", GST_OBJECT_NAME (msg->src), err->message); + g_printerr ("Debugging information: %s\n", debug_info ? debug_info : "none"); + g_clear_error (&err); + g_free (debug_info); + gtk_main_quit (); + break; + case GST_MESSAGE_EOS: + g_print ("End-Of-Stream reached.\n"); + gst_element_set_state (data->playbin2, GST_STATE_READY); + break; + case GST_MESSAGE_STATE_CHANGED: { + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->playbin2)) { + data->state = new_state; + g_print ("State set to %s\n", gst_element_state_get_name (new_state)); + } + } break; + } + + return TRUE; +} +static GstBusSyncReply bus_sync_handler (GstBus *bus, GstMessage *msg, CustomData *data) { + /*ignore anything but 'prepare-xwindow-id' element messages */ + if (GST_MESSAGE_TYPE (msg) != GST_MESSAGE_ELEMENT) + return GST_BUS_PASS; + if (!gst_structure_has_name (msg->structure, "prepare-xwindow-id")) + return GST_BUS_PASS; + + if (data->embed_xid != 0) { + /* GST_MESSAGE_SRC (message) will be the video sink element */ + GstXOverlay *xoverlay = GST_X_OVERLAY (GST_MESSAGE_SRC (msg)); + gst_x_overlay_set_window_handle (xoverlay, data->embed_xid); + } else { + g_warning ("Should have obtained an xid by now!"); + } + + gst_message_unref (msg); + return GST_BUS_DROP; +} diff --git a/vs/2010/tutorials/tutorials.sln b/vs/2010/tutorials/tutorials.sln index a79fc4223d..d77250206a 100644 --- a/vs/2010/tutorials/tutorials.sln +++ b/vs/2010/tutorials/tutorials.sln @@ -3,6 +3,16 @@ Microsoft Visual Studio Solution File, Format Version 11.00 # Visual C++ Express 2010 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-1", "basic-tutorial-1\basic-tutorial-1.vcxproj", "{9DEC64B5-E1FA-4A55-9174-58FF94BDF432}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-2", "basic-tutorial-2\basic-tutorial-2.vcxproj", "{F9127BA2-C3CB-4123-8967-32D5BABB3C34}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-3", "basic-tutorial-3\basic-tutorial-3.vcxproj", "{D8595056-4F87-4767-A84C-07B7F67A6560}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-4", "basic-tutorial-4\basic-tutorial-4.vcxproj", "{1F5D411C-72FE-43BA-85BB-96DA7AC9C8D3}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-5", "basic-tutorial-5\basic-tutorial-5.vcxproj", "{BB88B26A-DD54-42BF-9893-26E0FDF28050}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "playback-tutorial-1", "playback-tutorial-1\playback-tutorial-1.vcxproj", "{474353B0-D353-4DB7-A9EE-E210D1ED954B}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -13,6 +23,26 @@ Global {9DEC64B5-E1FA-4A55-9174-58FF94BDF432}.Debug|Win32.Build.0 = Debug|Win32 {9DEC64B5-E1FA-4A55-9174-58FF94BDF432}.Release|Win32.ActiveCfg = Release|Win32 {9DEC64B5-E1FA-4A55-9174-58FF94BDF432}.Release|Win32.Build.0 = Release|Win32 + {F9127BA2-C3CB-4123-8967-32D5BABB3C34}.Debug|Win32.ActiveCfg = Debug|Win32 + {F9127BA2-C3CB-4123-8967-32D5BABB3C34}.Debug|Win32.Build.0 = Debug|Win32 + {F9127BA2-C3CB-4123-8967-32D5BABB3C34}.Release|Win32.ActiveCfg = Release|Win32 + {F9127BA2-C3CB-4123-8967-32D5BABB3C34}.Release|Win32.Build.0 = Release|Win32 + {D8595056-4F87-4767-A84C-07B7F67A6560}.Debug|Win32.ActiveCfg = Debug|Win32 + {D8595056-4F87-4767-A84C-07B7F67A6560}.Debug|Win32.Build.0 = Debug|Win32 + {D8595056-4F87-4767-A84C-07B7F67A6560}.Release|Win32.ActiveCfg = Release|Win32 + {D8595056-4F87-4767-A84C-07B7F67A6560}.Release|Win32.Build.0 = Release|Win32 + {1F5D411C-72FE-43BA-85BB-96DA7AC9C8D3}.Debug|Win32.ActiveCfg = Debug|Win32 + {1F5D411C-72FE-43BA-85BB-96DA7AC9C8D3}.Debug|Win32.Build.0 = Debug|Win32 + {1F5D411C-72FE-43BA-85BB-96DA7AC9C8D3}.Release|Win32.ActiveCfg = Release|Win32 + {1F5D411C-72FE-43BA-85BB-96DA7AC9C8D3}.Release|Win32.Build.0 = Release|Win32 + {BB88B26A-DD54-42BF-9893-26E0FDF28050}.Debug|Win32.ActiveCfg = Debug|Win32 + {BB88B26A-DD54-42BF-9893-26E0FDF28050}.Debug|Win32.Build.0 = Debug|Win32 + {BB88B26A-DD54-42BF-9893-26E0FDF28050}.Release|Win32.ActiveCfg = Release|Win32 + {BB88B26A-DD54-42BF-9893-26E0FDF28050}.Release|Win32.Build.0 = Release|Win32 + {474353B0-D353-4DB7-A9EE-E210D1ED954B}.Debug|Win32.ActiveCfg = Debug|Win32 + {474353B0-D353-4DB7-A9EE-E210D1ED954B}.Debug|Win32.Build.0 = Debug|Win32 + {474353B0-D353-4DB7-A9EE-E210D1ED954B}.Release|Win32.ActiveCfg = Release|Win32 + {474353B0-D353-4DB7-A9EE-E210D1ED954B}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From 62fa2c46da1744d31549cd1dda4f54f14ce18d1f Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 17 Apr 2012 18:28:05 +0200 Subject: [PATCH 006/979] First working tutorial-5 (Toolkit integration) --- gst-sdk/tutorials/basic-tutorial-5.c | 164 ++++++++++++++++++++++++--- 1 file changed, 149 insertions(+), 15 deletions(-) diff --git a/gst-sdk/tutorials/basic-tutorial-5.c b/gst-sdk/tutorials/basic-tutorial-5.c index a50ecd0694..333a95d506 100644 --- a/gst-sdk/tutorials/basic-tutorial-5.c +++ b/gst-sdk/tutorials/basic-tutorial-5.c @@ -16,9 +16,13 @@ /* Structure to contain all our information, so we can pass it around */ typedef struct _CustomData { GstElement *playbin2; /* Our one and only pipeline */ + GstElement *xoverlay_element; + GtkWidget *main_window; GtkWidget *video_window; GtkWidget *slider; + GtkWidget *streams_list; + gboolean updating_slider; GstState state; gint64 duration; @@ -34,9 +38,9 @@ static void realize_cb (GtkWidget *widget, CustomData *data) { GdkWindow *window = gtk_widget_get_window (widget); /* This is here just for pedagogical purposes, GDK_WINDOW_XID will call it - * as well */ /* + * as well */ if (!gdk_window_ensure_native (window)) - g_error ("Couldn't create native window needed for GstXOverlay!");*/ + g_error ("Couldn't create native window needed for GstXOverlay!"); #if defined (GDK_WINDOWING_WIN32) data->embed_xid = (guintptr)GDK_WINDOW_HWND (window); @@ -77,15 +81,22 @@ static gboolean draw_cb (GtkWidget *widget, GdkEventExpose *event, CustomData *d cairo_fill (cr); cairo_destroy (cr); } - /* - if (app->xoverlay_element) - gst_x_overlay_expose (GST_X_OVERLAY (app->xoverlay_element)); - */ + + if (data->xoverlay_element) + gst_x_overlay_expose (GST_X_OVERLAY (data->xoverlay_element)); + return FALSE; } +static void slider_cb (GtkRange *range, CustomData *data) { + if (!data->updating_slider) { + gdouble value = gtk_range_get_value (GTK_RANGE (data->slider)); + gst_element_seek_simple (data->playbin2, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, (gint64)(value * GST_SECOND)); + } +} + static void create_ui (CustomData *data) { - GtkWidget *controls, *main_box; + GtkWidget *controls, *main_box, *main_hbox; GtkWidget *play_button, *pause_button, *stop_button; data->main_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); @@ -107,6 +118,10 @@ static void create_ui (CustomData *data) { data->slider = gtk_hscale_new_with_range (0, 100, 1); gtk_scale_set_draw_value (GTK_SCALE (data->slider), 0); + g_signal_connect (G_OBJECT (data->slider), "value-changed", G_CALLBACK (slider_cb), data); + + data->streams_list = gtk_text_view_new (); + gtk_text_view_set_editable (GTK_TEXT_VIEW (data->streams_list), FALSE); controls = gtk_hbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (controls), play_button, FALSE, FALSE, 2); @@ -114,8 +129,12 @@ static void create_ui (CustomData *data) { gtk_box_pack_start (GTK_BOX (controls), stop_button, FALSE, FALSE, 2); gtk_box_pack_start (GTK_BOX (controls), data->slider, TRUE, TRUE, 2); + main_hbox = gtk_hbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (main_hbox), data->video_window, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (main_hbox), data->streams_list, FALSE, FALSE, 2); + main_box = gtk_vbox_new (FALSE, 0); - gtk_box_pack_start (GTK_BOX (main_box), data->video_window, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (main_box), main_hbox, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (main_box), controls, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER (data->main_window), main_box); gtk_window_set_default_size (GTK_WINDOW (data->main_window), 640, 480); @@ -142,11 +161,25 @@ static gboolean refresh_ui (CustomData *data) { } if (gst_element_query_position (data->playbin2, &fmt, ¤t)) { + data->updating_slider = TRUE; gtk_range_set_value (GTK_RANGE (data->slider), (gdouble)current / GST_SECOND); + data->updating_slider = FALSE; } return TRUE; } +static void reset_app (CustomData *data) { + if (data->xoverlay_element) + gst_object_unref (data->xoverlay_element); + gst_object_unref (data->playbin2); +} + +static void tags_cb (GstElement *playbin2, gint stream, CustomData *data) { + gst_element_post_message (playbin2, + gst_message_new_application (GST_OBJECT (playbin2), + gst_structure_new ("tags-changed", NULL))); +} + int main(int argc, char *argv[]) { CustomData data; GstStateChangeReturn ret; @@ -173,6 +206,11 @@ int main(int argc, char *argv[]) { /* Set the URI to play */ g_object_set (data.playbin2, "uri", "http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + /* Connect to interesting signals in playbin2 */ + g_signal_connect (G_OBJECT (data.playbin2), "video-tags-changed", (GCallback) tags_cb, &data); + g_signal_connect (G_OBJECT (data.playbin2), "audio-tags-changed", (GCallback) tags_cb, &data); + g_signal_connect (G_OBJECT (data.playbin2), "text-tags-changed", (GCallback) tags_cb, &data); + create_ui (&data); bus = gst_element_get_bus (data.playbin2); @@ -188,16 +226,95 @@ int main(int argc, char *argv[]) { return -1; } - g_timeout_add (500, (GSourceFunc)refresh_ui, &data); - // add timeout to refresh UI: query position and duration (if unknown), gtk_range_set_value() on the slider + /* Register a function that GTK will call every second */ + g_timeout_add (1000, (GSourceFunc)refresh_ui, &data); + gtk_main (); /* Free resources */ gst_element_set_state (data.playbin2, GST_STATE_NULL); - gst_object_unref (data.playbin2); + reset_app (&data); return 0; } +/* Extract metadata from all the streams */ +static void analyze_streams (CustomData *data) { + gint i; + GstTagList *tags; + gchar *str, total_str[8192]; + guint rate; + gint n_video, n_audio, n_text; + GtkTextBuffer *text; + GtkTextIter text_start, text_end; + + /* Clean current contents of the widget */ + text = gtk_text_view_get_buffer (GTK_TEXT_VIEW (data->streams_list)); + gtk_text_buffer_get_start_iter (text, &text_start); + gtk_text_buffer_get_end_iter (text, &text_end); + gtk_text_buffer_delete (text, &text_start, &text_end); + + /* Read some properties */ + g_object_get (data->playbin2, "n-video", &n_video, NULL); + g_object_get (data->playbin2, "n-audio", &n_audio, NULL); + g_object_get (data->playbin2, "n-text", &n_text, NULL); + + for (i = 0; i < n_video; i++) { + tags = NULL; + /* Retrieve the stream's video tags */ + g_signal_emit_by_name (data->playbin2, "get-video-tags", i, &tags); + if (tags) { + g_snprintf (total_str, sizeof (total_str), "video stream %d:\n", i); + gtk_text_buffer_insert_at_cursor (text, total_str, -1); + gst_tag_list_get_string (tags, GST_TAG_VIDEO_CODEC, &str); + g_snprintf (total_str, sizeof (total_str), " codec: %s\n", str ? str : "unknown"); + gtk_text_buffer_insert_at_cursor (text, total_str, -1); + g_free (str); + gst_tag_list_free (tags); + } + } + + for (i = 0; i < n_audio; i++) { + tags = NULL; + /* Retrieve the stream's audio tags */ + g_signal_emit_by_name (data->playbin2, "get-audio-tags", i, &tags); + if (tags) { + g_snprintf (total_str, sizeof (total_str), "\naudio stream %d:\n", i); + gtk_text_buffer_insert_at_cursor (text, total_str, -1); + if (gst_tag_list_get_string (tags, GST_TAG_AUDIO_CODEC, &str)) { + g_snprintf (total_str, sizeof (total_str), " codec: %s\n", str); + gtk_text_buffer_insert_at_cursor (text, total_str, -1); + g_free (str); + } + if (gst_tag_list_get_string (tags, GST_TAG_LANGUAGE_CODE, &str)) { + g_snprintf (total_str, sizeof (total_str), " language: %s\n", str); + gtk_text_buffer_insert_at_cursor (text, total_str, -1); + g_free (str); + } + if (gst_tag_list_get_uint (tags, GST_TAG_BITRATE, &rate)) { + g_snprintf (total_str, sizeof (total_str), " bitrate: %d\n", rate); + gtk_text_buffer_insert_at_cursor (text, total_str, -1); + } + gst_tag_list_free (tags); + } + } + + for (i = 0; i < n_text; i++) { + tags = NULL; + /* Retrieve the stream's subtitle tags */ + g_signal_emit_by_name (data->playbin2, "get-text-tags", i, &tags); + if (tags) { + g_snprintf (total_str, sizeof (total_str), "\nsubtitle stream %d:\n", i); + gtk_text_buffer_insert_at_cursor (text, total_str, -1); + if (gst_tag_list_get_string (tags, GST_TAG_LANGUAGE_CODE, &str)) { + g_snprintf (total_str, sizeof (total_str), " language: %s\n", str); + gtk_text_buffer_insert_at_cursor (text, total_str, -1); + g_free (str); + } + gst_tag_list_free (tags); + } + } +} + static gboolean handle_message (GstBus *bus, GstMessage *msg, CustomData *data) { GError *err; gchar *debug_info; @@ -209,7 +326,7 @@ static gboolean handle_message (GstBus *bus, GstMessage *msg, CustomData *data) g_printerr ("Debugging information: %s\n", debug_info ? debug_info : "none"); g_clear_error (&err); g_free (debug_info); - gtk_main_quit (); + gst_element_set_state (data->playbin2, GST_STATE_READY); break; case GST_MESSAGE_EOS: g_print ("End-Of-Stream reached.\n"); @@ -223,10 +340,16 @@ static gboolean handle_message (GstBus *bus, GstMessage *msg, CustomData *data) g_print ("State set to %s\n", gst_element_state_get_name (new_state)); } } break; + case GST_MESSAGE_APPLICATION: + if (g_strcmp0 (gst_structure_get_name (msg->structure), "tags-changed") == 0) { + analyze_streams (data); + } + break; } - + return TRUE; } + static GstBusSyncReply bus_sync_handler (GstBus *bus, GstMessage *msg, CustomData *data) { /*ignore anything but 'prepare-xwindow-id' element messages */ if (GST_MESSAGE_TYPE (msg) != GST_MESSAGE_ELEMENT) @@ -236,8 +359,19 @@ static GstBusSyncReply bus_sync_handler (GstBus *bus, GstMessage *msg, CustomDat if (data->embed_xid != 0) { /* GST_MESSAGE_SRC (message) will be the video sink element */ - GstXOverlay *xoverlay = GST_X_OVERLAY (GST_MESSAGE_SRC (msg)); - gst_x_overlay_set_window_handle (xoverlay, data->embed_xid); + GstElement *sink = GST_ELEMENT (GST_MESSAGE_SRC (msg)); + + /* If we were tracking a previous video sink, release it */ + if (data->xoverlay_element != NULL) + gst_object_unref (data->xoverlay_element); + + /* Get a reference to the new sink */ + data->xoverlay_element = GST_ELEMENT (gst_object_ref (sink)); + + if (g_object_class_find_property (G_OBJECT_GET_CLASS (sink), "force-aspect-ratio")) { + g_object_set (sink, "force-aspect-ratio", TRUE, NULL); + } + gst_x_overlay_set_window_handle (GST_X_OVERLAY (sink), data->embed_xid); } else { g_warning ("Should have obtained an xid by now!"); } From e01b6dd7f51ec8244c5e38c7f1ef09884fe24e14 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 17 Apr 2012 18:43:22 +0200 Subject: [PATCH 007/979] no sync_bus_handler black magic anymore :) --- gst-sdk/tutorials/basic-tutorial-5.c | 52 ++++------------------------ 1 file changed, 7 insertions(+), 45 deletions(-) diff --git a/gst-sdk/tutorials/basic-tutorial-5.c b/gst-sdk/tutorials/basic-tutorial-5.c index 333a95d506..5dccd35408 100644 --- a/gst-sdk/tutorials/basic-tutorial-5.c +++ b/gst-sdk/tutorials/basic-tutorial-5.c @@ -16,7 +16,6 @@ /* Structure to contain all our information, so we can pass it around */ typedef struct _CustomData { GstElement *playbin2; /* Our one and only pipeline */ - GstElement *xoverlay_element; GtkWidget *main_window; GtkWidget *video_window; @@ -26,29 +25,28 @@ typedef struct _CustomData { GstState state; gint64 duration; - - guintptr embed_xid; } CustomData; /* Forward definition of the message processing function */ static gboolean handle_message (GstBus *bus, GstMessage *msg, CustomData *data); -static GstBusSyncReply bus_sync_handler (GstBus *bus, GstMessage *msg, CustomData *data); static void realize_cb (GtkWidget *widget, CustomData *data) { GdkWindow *window = gtk_widget_get_window (widget); - + guintptr window_handle; + /* This is here just for pedagogical purposes, GDK_WINDOW_XID will call it * as well */ if (!gdk_window_ensure_native (window)) g_error ("Couldn't create native window needed for GstXOverlay!"); - + #if defined (GDK_WINDOWING_WIN32) - data->embed_xid = (guintptr)GDK_WINDOW_HWND (window); + window_handle = (guintptr)GDK_WINDOW_HWND (window); #elif defined (GDK_WINDOWING_QUARTZ) - data->embed_xid = gdk_quartz_window_get_nsview (window); + window_handle = gdk_quartz_window_get_nsview (window); #elif defined (GDK_WINDOWING_X11) - data->embed_xid = GDK_WINDOW_XID (window); + window_handle = GDK_WINDOW_XID (window); #endif + gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->playbin2), window_handle); } static void play_cb (GtkButton *button, CustomData *data) { @@ -81,9 +79,6 @@ static gboolean draw_cb (GtkWidget *widget, GdkEventExpose *event, CustomData *d cairo_fill (cr); cairo_destroy (cr); } - - if (data->xoverlay_element) - gst_x_overlay_expose (GST_X_OVERLAY (data->xoverlay_element)); return FALSE; } @@ -169,8 +164,6 @@ static gboolean refresh_ui (CustomData *data) { } static void reset_app (CustomData *data) { - if (data->xoverlay_element) - gst_object_unref (data->xoverlay_element); gst_object_unref (data->playbin2); } @@ -214,7 +207,6 @@ int main(int argc, char *argv[]) { create_ui (&data); bus = gst_element_get_bus (data.playbin2); - gst_bus_set_sync_handler (bus, (GstBusSyncHandler)bus_sync_handler, &data); gst_bus_add_watch (bus, (GstBusFunc)handle_message, &data); gst_object_unref (bus); @@ -349,33 +341,3 @@ static gboolean handle_message (GstBus *bus, GstMessage *msg, CustomData *data) return TRUE; } - -static GstBusSyncReply bus_sync_handler (GstBus *bus, GstMessage *msg, CustomData *data) { - /*ignore anything but 'prepare-xwindow-id' element messages */ - if (GST_MESSAGE_TYPE (msg) != GST_MESSAGE_ELEMENT) - return GST_BUS_PASS; - if (!gst_structure_has_name (msg->structure, "prepare-xwindow-id")) - return GST_BUS_PASS; - - if (data->embed_xid != 0) { - /* GST_MESSAGE_SRC (message) will be the video sink element */ - GstElement *sink = GST_ELEMENT (GST_MESSAGE_SRC (msg)); - - /* If we were tracking a previous video sink, release it */ - if (data->xoverlay_element != NULL) - gst_object_unref (data->xoverlay_element); - - /* Get a reference to the new sink */ - data->xoverlay_element = GST_ELEMENT (gst_object_ref (sink)); - - if (g_object_class_find_property (G_OBJECT_GET_CLASS (sink), "force-aspect-ratio")) { - g_object_set (sink, "force-aspect-ratio", TRUE, NULL); - } - gst_x_overlay_set_window_handle (GST_X_OVERLAY (sink), data->embed_xid); - } else { - g_warning ("Should have obtained an xid by now!"); - } - - gst_message_unref (msg); - return GST_BUS_DROP; -} From 04f87e2d06cbb5b67c07260908098d3eb489fafd Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 19 Apr 2012 17:25:32 +0200 Subject: [PATCH 008/979] Added code comments and more --- gst-sdk/tutorials/basic-tutorial-5.c | 368 +++++++++++++++------------ 1 file changed, 203 insertions(+), 165 deletions(-) diff --git a/gst-sdk/tutorials/basic-tutorial-5.c b/gst-sdk/tutorials/basic-tutorial-5.c index 5dccd35408..639cc25d19 100644 --- a/gst-sdk/tutorials/basic-tutorial-5.c +++ b/gst-sdk/tutorials/basic-tutorial-5.c @@ -1,5 +1,8 @@ +#include + #include #include +#include #include #if defined (GDK_WINDOWING_X11) @@ -10,35 +13,29 @@ #include #endif -#include -#include - /* Structure to contain all our information, so we can pass it around */ typedef struct _CustomData { - GstElement *playbin2; /* Our one and only pipeline */ + GstElement *playbin2; /* Our one and only pipeline */ - GtkWidget *main_window; - GtkWidget *video_window; - GtkWidget *slider; - GtkWidget *streams_list; - gboolean updating_slider; + GtkWidget *slider; /* Slider widget to keep track of current position */ + GtkWidget *streams_list; /* Text widget to display info about the streams */ + gulong slider_update_signal_id; /* Signal ID for the slider update signal */ - GstState state; - gint64 duration; + GstState state; /* Current state of the pipeline */ + gint64 duration; /* Duration of the clip, in nanoseconds */ } CustomData; -/* Forward definition of the message processing function */ -static gboolean handle_message (GstBus *bus, GstMessage *msg, CustomData *data); - +/* This function is called when the GUI toolkit creates the physical window that will hold the video. + * At this point we can retrieve its handler (which has a different meaning depending on the windowing system) + * and pass it to GStreamer through the XOverlay interface. */ static void realize_cb (GtkWidget *widget, CustomData *data) { GdkWindow *window = gtk_widget_get_window (widget); guintptr window_handle; - /* This is here just for pedagogical purposes, GDK_WINDOW_XID will call it - * as well */ if (!gdk_window_ensure_native (window)) g_error ("Couldn't create native window needed for GstXOverlay!"); + /* Retrieve window handler from GDK */ #if defined (GDK_WINDOWING_WIN32) window_handle = (guintptr)GDK_WINDOW_HWND (window); #elif defined (GDK_WINDOWING_QUARTZ) @@ -46,32 +43,42 @@ static void realize_cb (GtkWidget *widget, CustomData *data) { #elif defined (GDK_WINDOWING_X11) window_handle = GDK_WINDOW_XID (window); #endif + /* Pass it to playbin2, which implements XOverlay and will forward it to the video sink */ gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->playbin2), window_handle); } +/* This function is called when the PLAY button is clicked */ static void play_cb (GtkButton *button, CustomData *data) { gst_element_set_state (data->playbin2, GST_STATE_PLAYING); } +/* This function is called when the PAUSE button is clicked */ static void pause_cb (GtkButton *button, CustomData *data) { gst_element_set_state (data->playbin2, GST_STATE_PAUSED); } +/* This function is called when the STOP button is clicked */ static void stop_cb (GtkButton *button, CustomData *data) { gst_element_set_state (data->playbin2, GST_STATE_READY); } +/* This function is called when the main window is closed */ static void delete_event_cb (GtkWidget *widget, GdkEvent *event, CustomData *data) { stop_cb (NULL, data); gtk_main_quit (); } -static gboolean draw_cb (GtkWidget *widget, GdkEventExpose *event, CustomData *data) { +/* This function is called everytime the video window needs to be redrawn (due to damage/exposure, + * rescaling, etc). GStreamer takes care of this in the PAUSED and PLAYING states, otherwise, + * we simply draw a black rectangle to avoid garbage showing up. */ +static gboolean expose_cb (GtkWidget *widget, GdkEventExpose *event, CustomData *data) { if (data->state < GST_STATE_PAUSED) { GtkAllocation allocation; GdkWindow *window = gtk_widget_get_window (widget); cairo_t *cr; + /* Cairo is a 2D graphics library which we use here to clean the video window. + * It is used by GStreamer for other reasons, so it will always be available to us. */ gtk_widget_get_allocation (widget, &allocation); cr = gdk_cairo_create (window); cairo_set_source_rgb (cr, 0, 0, 0); @@ -83,24 +90,30 @@ static gboolean draw_cb (GtkWidget *widget, GdkEventExpose *event, CustomData *d return FALSE; } +/* This function is called when the slider changes its position. We perform a seek to the + * new position here. */ static void slider_cb (GtkRange *range, CustomData *data) { - if (!data->updating_slider) { - gdouble value = gtk_range_get_value (GTK_RANGE (data->slider)); - gst_element_seek_simple (data->playbin2, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, (gint64)(value * GST_SECOND)); - } + gdouble value = gtk_range_get_value (GTK_RANGE (data->slider)); + gst_element_seek_simple (data->playbin2, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, + (gint64)(value * GST_SECOND)); } +/* This creates all the GTK+ widgets that compose our application, and registers the callbacks */ static void create_ui (CustomData *data) { - GtkWidget *controls, *main_box, *main_hbox; - GtkWidget *play_button, *pause_button, *stop_button; + GtkWidget *main_window; /* The uppermost window, containing all other windows */ + GtkWidget *video_window; /* The drawing area where the video will be shown */ + GtkWidget *main_box; /* VBox to hold main_hbox and the controls */ + GtkWidget *main_hbox; /* HBox to hold the video_window and the stream info text widget */ + GtkWidget *controls; /* HBox to hold the buttons and the slider */ + GtkWidget *play_button, *pause_button, *stop_button; /* Buttons */ - data->main_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - g_signal_connect (G_OBJECT (data->main_window), "delete-event", G_CALLBACK (delete_event_cb), data); - - data->video_window = gtk_drawing_area_new (); - gtk_widget_set_double_buffered (data->video_window, FALSE); - g_signal_connect (data->video_window, "realize", G_CALLBACK (realize_cb), data); - g_signal_connect (data->video_window, "expose_event", G_CALLBACK (draw_cb), data); + main_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + g_signal_connect (G_OBJECT (main_window), "delete-event", G_CALLBACK (delete_event_cb), data); + + video_window = gtk_drawing_area_new (); + gtk_widget_set_double_buffered (video_window, FALSE); + g_signal_connect (video_window, "realize", G_CALLBACK (realize_cb), data); + g_signal_connect (video_window, "expose_event", G_CALLBACK (expose_cb), data); play_button = gtk_button_new_from_stock (GTK_STOCK_MEDIA_PLAY); g_signal_connect (G_OBJECT (play_button), "clicked", G_CALLBACK (play_cb), data); @@ -113,8 +126,8 @@ static void create_ui (CustomData *data) { data->slider = gtk_hscale_new_with_range (0, 100, 1); gtk_scale_set_draw_value (GTK_SCALE (data->slider), 0); - g_signal_connect (G_OBJECT (data->slider), "value-changed", G_CALLBACK (slider_cb), data); - + data->slider_update_signal_id = g_signal_connect (G_OBJECT (data->slider), "value-changed", G_CALLBACK (slider_cb), data); + data->streams_list = gtk_text_view_new (); gtk_text_view_set_editable (GTK_TEXT_VIEW (data->streams_list), FALSE); @@ -123,56 +136,187 @@ static void create_ui (CustomData *data) { gtk_box_pack_start (GTK_BOX (controls), pause_button, FALSE, FALSE, 2); gtk_box_pack_start (GTK_BOX (controls), stop_button, FALSE, FALSE, 2); gtk_box_pack_start (GTK_BOX (controls), data->slider, TRUE, TRUE, 2); - + main_hbox = gtk_hbox_new (FALSE, 0); - gtk_box_pack_start (GTK_BOX (main_hbox), data->video_window, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (main_hbox), video_window, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (main_hbox), data->streams_list, FALSE, FALSE, 2); - + main_box = gtk_vbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (main_box), main_hbox, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (main_box), controls, FALSE, FALSE, 0); - gtk_container_add (GTK_CONTAINER (data->main_window), main_box); - gtk_window_set_default_size (GTK_WINDOW (data->main_window), 640, 480); + gtk_container_add (GTK_CONTAINER (main_window), main_box); + gtk_window_set_default_size (GTK_WINDOW (main_window), 640, 480); - gtk_widget_show_all (data->main_window); - - gtk_widget_realize (data->main_window); + gtk_widget_show_all (main_window); } +/* This function is called periodically to refresh the GUI */ static gboolean refresh_ui (CustomData *data) { GstFormat fmt = GST_FORMAT_TIME; gint64 current = -1; - + /* We do not want to update anything unless we are in the PLAYING state */ - if (data->state != GST_STATE_PLAYING) return TRUE; + if (data->state != GST_STATE_PLAYING) + return TRUE; /* If we didn't know it yet, query the stream duration */ if (!GST_CLOCK_TIME_IS_VALID (data->duration)) { if (!gst_element_query_duration (data->playbin2, &fmt, &data->duration)) { g_printerr ("Could not query current duration.\n"); } else { + /* Set the range of the slider to the clip duration, in SECONDS */ gtk_range_set_range (GTK_RANGE (data->slider), 0, (gdouble)data->duration / GST_SECOND); } } if (gst_element_query_position (data->playbin2, &fmt, ¤t)) { - data->updating_slider = TRUE; + /* Block the "value-changed" signal, so the slider_cb function is not called + * (which would trigger a seek the user has not requested) */ + g_signal_handler_block (data->slider, data->slider_update_signal_id); + /* Set the position of the slider to the current pipeline positoin, in SECONDS */ gtk_range_set_value (GTK_RANGE (data->slider), (gdouble)current / GST_SECOND); - data->updating_slider = FALSE; + /* Re-enable the signal */ + g_signal_handler_unblock (data->slider, data->slider_update_signal_id); } return TRUE; } -static void reset_app (CustomData *data) { - gst_object_unref (data->playbin2); -} - +/* This function is called when new metadata is discovered in the stream */ static void tags_cb (GstElement *playbin2, gint stream, CustomData *data) { + /* We are possibly in a GStreamer working thread, so we notify the main + * thread of this event through a message in the bus */ gst_element_post_message (playbin2, gst_message_new_application (GST_OBJECT (playbin2), gst_structure_new ("tags-changed", NULL))); } +/* This function is called when an error message is posted on the bus */ +static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + GError *err; + gchar *debug_info; + + /* Print error details on the screen */ + gst_message_parse_error (msg, &err, &debug_info); + g_printerr ("Error received from element %s: %s\n", GST_OBJECT_NAME (msg->src), err->message); + g_printerr ("Debugging information: %s\n", debug_info ? debug_info : "none"); + g_clear_error (&err); + g_free (debug_info); + + /* Set the pipeline to READY (which stops playback) */ + gst_element_set_state (data->playbin2, GST_STATE_READY); +} + +/* This function is called when an End-Of-Stream message is posted on the bus. + * We just set the pipeline to READY (which stops playback) */ +static void eos_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + g_print ("End-Of-Stream reached.\n"); + gst_element_set_state (data->playbin2, GST_STATE_READY); +} + +/* This function is called when the pipeline changes states. We use it to + * keep track of the current state. */ +static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->playbin2)) { + data->state = new_state; + g_print ("State set to %s\n", gst_element_state_get_name (new_state)); + } +} + +/* Extract metadata from all the streams and write it to the text widget in the GUI */ +static void analyze_streams (CustomData *data) { + gint i; + GstTagList *tags; + gchar *str, *total_str; + guint rate; + gint n_video, n_audio, n_text; + GtkTextBuffer *text; + + /* Clean current contents of the widget */ + text = gtk_text_view_get_buffer (GTK_TEXT_VIEW (data->streams_list)); + gtk_text_buffer_set_text (text, "", -1); + + /* Read some properties */ + g_object_get (data->playbin2, "n-video", &n_video, NULL); + g_object_get (data->playbin2, "n-audio", &n_audio, NULL); + g_object_get (data->playbin2, "n-text", &n_text, NULL); + + for (i = 0; i < n_video; i++) { + tags = NULL; + /* Retrieve the stream's video tags */ + g_signal_emit_by_name (data->playbin2, "get-video-tags", i, &tags); + if (tags) { + total_str = g_strdup_printf ("video stream %d:\n", i); + gtk_text_buffer_insert_at_cursor (text, total_str, -1); + g_free (total_str); + gst_tag_list_get_string (tags, GST_TAG_VIDEO_CODEC, &str); + total_str = g_strdup_printf (" codec: %s\n", str ? str : "unknown"); + gtk_text_buffer_insert_at_cursor (text, total_str, -1); + g_free (total_str); + g_free (str); + gst_tag_list_free (tags); + } + } + + for (i = 0; i < n_audio; i++) { + tags = NULL; + /* Retrieve the stream's audio tags */ + g_signal_emit_by_name (data->playbin2, "get-audio-tags", i, &tags); + if (tags) { + total_str = g_strdup_printf ("\naudio stream %d:\n", i); + gtk_text_buffer_insert_at_cursor (text, total_str, -1); + g_free (total_str); + if (gst_tag_list_get_string (tags, GST_TAG_AUDIO_CODEC, &str)) { + total_str = g_strdup_printf (" codec: %s\n", str); + gtk_text_buffer_insert_at_cursor (text, total_str, -1); + g_free (total_str); + g_free (str); + } + if (gst_tag_list_get_string (tags, GST_TAG_LANGUAGE_CODE, &str)) { + total_str = g_strdup_printf (" language: %s\n", str); + gtk_text_buffer_insert_at_cursor (text, total_str, -1); + g_free (total_str); + g_free (str); + } + if (gst_tag_list_get_uint (tags, GST_TAG_BITRATE, &rate)) { + total_str = g_strdup_printf (" bitrate: %d\n", rate); + gtk_text_buffer_insert_at_cursor (text, total_str, -1); + g_free (total_str); + } + gst_tag_list_free (tags); + } + } + + for (i = 0; i < n_text; i++) { + tags = NULL; + /* Retrieve the stream's subtitle tags */ + g_signal_emit_by_name (data->playbin2, "get-text-tags", i, &tags); + if (tags) { + total_str = g_strdup_printf ("\nsubtitle stream %d:\n", i); + gtk_text_buffer_insert_at_cursor (text, total_str, -1); + g_free (total_str); + if (gst_tag_list_get_string (tags, GST_TAG_LANGUAGE_CODE, &str)) { + total_str = g_strdup_printf (" language: %s\n", str); + gtk_text_buffer_insert_at_cursor (text, total_str, -1); + g_free (total_str); + g_free (str); + } + gst_tag_list_free (tags); + } + } +} + +/* This function is called when an "application" message is posted on the bus. + * Here we retrieve the message posted by the tags_cb callback */ +static void application_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + if (g_strcmp0 (gst_structure_get_name (msg->structure), "tags-changed") == 0) { + /* If the message is the "tags-changed" (only one we are currently issuing), update + * the stream info GUI */ + analyze_streams (data); + } +} + int main(int argc, char *argv[]) { CustomData data; GstStateChangeReturn ret; @@ -204,10 +348,16 @@ int main(int argc, char *argv[]) { g_signal_connect (G_OBJECT (data.playbin2), "audio-tags-changed", (GCallback) tags_cb, &data); g_signal_connect (G_OBJECT (data.playbin2), "text-tags-changed", (GCallback) tags_cb, &data); + /* Create the GUI */ create_ui (&data); + /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ bus = gst_element_get_bus (data.playbin2); - gst_bus_add_watch (bus, (GstBusFunc)handle_message, &data); + gst_bus_add_signal_watch (bus); + g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, &data); + g_signal_connect (G_OBJECT (bus), "message::eos", (GCallback)eos_cb, &data); + g_signal_connect (G_OBJECT (bus), "message::state-changed", (GCallback)state_changed_cb, &data); + g_signal_connect (G_OBJECT (bus), "message::application", (GCallback)application_cb, &data); gst_object_unref (bus); /* Start playing */ @@ -218,126 +368,14 @@ int main(int argc, char *argv[]) { return -1; } - /* Register a function that GTK will call every second */ - g_timeout_add (1000, (GSourceFunc)refresh_ui, &data); + /* Register a function that GLib will call every second */ + g_timeout_add_seconds (1, (GSourceFunc)refresh_ui, &data); + /* Start the GTK main loop. We will not regain control until gtk_main_quit is called. */ gtk_main (); /* Free resources */ gst_element_set_state (data.playbin2, GST_STATE_NULL); - reset_app (&data); + gst_object_unref (data.playbin2); return 0; } - -/* Extract metadata from all the streams */ -static void analyze_streams (CustomData *data) { - gint i; - GstTagList *tags; - gchar *str, total_str[8192]; - guint rate; - gint n_video, n_audio, n_text; - GtkTextBuffer *text; - GtkTextIter text_start, text_end; - - /* Clean current contents of the widget */ - text = gtk_text_view_get_buffer (GTK_TEXT_VIEW (data->streams_list)); - gtk_text_buffer_get_start_iter (text, &text_start); - gtk_text_buffer_get_end_iter (text, &text_end); - gtk_text_buffer_delete (text, &text_start, &text_end); - - /* Read some properties */ - g_object_get (data->playbin2, "n-video", &n_video, NULL); - g_object_get (data->playbin2, "n-audio", &n_audio, NULL); - g_object_get (data->playbin2, "n-text", &n_text, NULL); - - for (i = 0; i < n_video; i++) { - tags = NULL; - /* Retrieve the stream's video tags */ - g_signal_emit_by_name (data->playbin2, "get-video-tags", i, &tags); - if (tags) { - g_snprintf (total_str, sizeof (total_str), "video stream %d:\n", i); - gtk_text_buffer_insert_at_cursor (text, total_str, -1); - gst_tag_list_get_string (tags, GST_TAG_VIDEO_CODEC, &str); - g_snprintf (total_str, sizeof (total_str), " codec: %s\n", str ? str : "unknown"); - gtk_text_buffer_insert_at_cursor (text, total_str, -1); - g_free (str); - gst_tag_list_free (tags); - } - } - - for (i = 0; i < n_audio; i++) { - tags = NULL; - /* Retrieve the stream's audio tags */ - g_signal_emit_by_name (data->playbin2, "get-audio-tags", i, &tags); - if (tags) { - g_snprintf (total_str, sizeof (total_str), "\naudio stream %d:\n", i); - gtk_text_buffer_insert_at_cursor (text, total_str, -1); - if (gst_tag_list_get_string (tags, GST_TAG_AUDIO_CODEC, &str)) { - g_snprintf (total_str, sizeof (total_str), " codec: %s\n", str); - gtk_text_buffer_insert_at_cursor (text, total_str, -1); - g_free (str); - } - if (gst_tag_list_get_string (tags, GST_TAG_LANGUAGE_CODE, &str)) { - g_snprintf (total_str, sizeof (total_str), " language: %s\n", str); - gtk_text_buffer_insert_at_cursor (text, total_str, -1); - g_free (str); - } - if (gst_tag_list_get_uint (tags, GST_TAG_BITRATE, &rate)) { - g_snprintf (total_str, sizeof (total_str), " bitrate: %d\n", rate); - gtk_text_buffer_insert_at_cursor (text, total_str, -1); - } - gst_tag_list_free (tags); - } - } - - for (i = 0; i < n_text; i++) { - tags = NULL; - /* Retrieve the stream's subtitle tags */ - g_signal_emit_by_name (data->playbin2, "get-text-tags", i, &tags); - if (tags) { - g_snprintf (total_str, sizeof (total_str), "\nsubtitle stream %d:\n", i); - gtk_text_buffer_insert_at_cursor (text, total_str, -1); - if (gst_tag_list_get_string (tags, GST_TAG_LANGUAGE_CODE, &str)) { - g_snprintf (total_str, sizeof (total_str), " language: %s\n", str); - gtk_text_buffer_insert_at_cursor (text, total_str, -1); - g_free (str); - } - gst_tag_list_free (tags); - } - } -} - -static gboolean handle_message (GstBus *bus, GstMessage *msg, CustomData *data) { - GError *err; - gchar *debug_info; - - switch (GST_MESSAGE_TYPE (msg)) { - case GST_MESSAGE_ERROR: - gst_message_parse_error (msg, &err, &debug_info); - g_printerr ("Error received from element %s: %s\n", GST_OBJECT_NAME (msg->src), err->message); - g_printerr ("Debugging information: %s\n", debug_info ? debug_info : "none"); - g_clear_error (&err); - g_free (debug_info); - gst_element_set_state (data->playbin2, GST_STATE_READY); - break; - case GST_MESSAGE_EOS: - g_print ("End-Of-Stream reached.\n"); - gst_element_set_state (data->playbin2, GST_STATE_READY); - break; - case GST_MESSAGE_STATE_CHANGED: { - GstState old_state, new_state, pending_state; - gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); - if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->playbin2)) { - data->state = new_state; - g_print ("State set to %s\n", gst_element_state_get_name (new_state)); - } - } break; - case GST_MESSAGE_APPLICATION: - if (g_strcmp0 (gst_structure_get_name (msg->structure), "tags-changed") == 0) { - analyze_streams (data); - } - break; - } - - return TRUE; -} From f1cf5cbac7b64605353b30ba2175e23d495339dc Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 20 Apr 2012 13:50:10 +0200 Subject: [PATCH 009/979] Link against msvcrt.dll using the right property sheet. Whitespacey. --- gst-sdk/tutorials/basic-tutorial-5.c | 158 +++++++++--------- .../basic-tutorial-1/basic-tutorial-1.vcxproj | 4 + .../basic-tutorial-2/basic-tutorial-2.vcxproj | 2 + .../basic-tutorial-3/basic-tutorial-3.vcxproj | 2 + .../basic-tutorial-4/basic-tutorial-4.vcxproj | 2 + .../basic-tutorial-5/basic-tutorial-5.vcxproj | 2 + .../playback-tutorial-1.vcxproj | 2 + 7 files changed, 93 insertions(+), 79 deletions(-) diff --git a/gst-sdk/tutorials/basic-tutorial-5.c b/gst-sdk/tutorials/basic-tutorial-5.c index 639cc25d19..83e0a88eb6 100644 --- a/gst-sdk/tutorials/basic-tutorial-5.c +++ b/gst-sdk/tutorials/basic-tutorial-5.c @@ -224,88 +224,88 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { } } -/* Extract metadata from all the streams and write it to the text widget in the GUI */ -static void analyze_streams (CustomData *data) { - gint i; - GstTagList *tags; - gchar *str, *total_str; - guint rate; +/* Extract metadata from all the streams and write it to the text widget in the GUI */ +static void analyze_streams (CustomData *data) { + gint i; + GstTagList *tags; + gchar *str, *total_str; + guint rate; gint n_video, n_audio, n_text; - GtkTextBuffer *text; + GtkTextBuffer *text; /* Clean current contents of the widget */ - text = gtk_text_view_get_buffer (GTK_TEXT_VIEW (data->streams_list)); - gtk_text_buffer_set_text (text, "", -1); - - /* Read some properties */ - g_object_get (data->playbin2, "n-video", &n_video, NULL); - g_object_get (data->playbin2, "n-audio", &n_audio, NULL); - g_object_get (data->playbin2, "n-text", &n_text, NULL); - - for (i = 0; i < n_video; i++) { - tags = NULL; - /* Retrieve the stream's video tags */ - g_signal_emit_by_name (data->playbin2, "get-video-tags", i, &tags); - if (tags) { - total_str = g_strdup_printf ("video stream %d:\n", i); - gtk_text_buffer_insert_at_cursor (text, total_str, -1); - g_free (total_str); - gst_tag_list_get_string (tags, GST_TAG_VIDEO_CODEC, &str); - total_str = g_strdup_printf (" codec: %s\n", str ? str : "unknown"); - gtk_text_buffer_insert_at_cursor (text, total_str, -1); - g_free (total_str); - g_free (str); - gst_tag_list_free (tags); - } - } - - for (i = 0; i < n_audio; i++) { - tags = NULL; - /* Retrieve the stream's audio tags */ - g_signal_emit_by_name (data->playbin2, "get-audio-tags", i, &tags); - if (tags) { - total_str = g_strdup_printf ("\naudio stream %d:\n", i); - gtk_text_buffer_insert_at_cursor (text, total_str, -1); - g_free (total_str); - if (gst_tag_list_get_string (tags, GST_TAG_AUDIO_CODEC, &str)) { - total_str = g_strdup_printf (" codec: %s\n", str); - gtk_text_buffer_insert_at_cursor (text, total_str, -1); - g_free (total_str); - g_free (str); - } - if (gst_tag_list_get_string (tags, GST_TAG_LANGUAGE_CODE, &str)) { - total_str = g_strdup_printf (" language: %s\n", str); - gtk_text_buffer_insert_at_cursor (text, total_str, -1); - g_free (total_str); - g_free (str); - } - if (gst_tag_list_get_uint (tags, GST_TAG_BITRATE, &rate)) { - total_str = g_strdup_printf (" bitrate: %d\n", rate); - gtk_text_buffer_insert_at_cursor (text, total_str, -1); - g_free (total_str); - } - gst_tag_list_free (tags); - } - } - - for (i = 0; i < n_text; i++) { - tags = NULL; - /* Retrieve the stream's subtitle tags */ - g_signal_emit_by_name (data->playbin2, "get-text-tags", i, &tags); - if (tags) { - total_str = g_strdup_printf ("\nsubtitle stream %d:\n", i); - gtk_text_buffer_insert_at_cursor (text, total_str, -1); - g_free (total_str); - if (gst_tag_list_get_string (tags, GST_TAG_LANGUAGE_CODE, &str)) { - total_str = g_strdup_printf (" language: %s\n", str); - gtk_text_buffer_insert_at_cursor (text, total_str, -1); - g_free (total_str); - g_free (str); - } - gst_tag_list_free (tags); - } - } -} + text = gtk_text_view_get_buffer (GTK_TEXT_VIEW (data->streams_list)); + gtk_text_buffer_set_text (text, "", -1); + + /* Read some properties */ + g_object_get (data->playbin2, "n-video", &n_video, NULL); + g_object_get (data->playbin2, "n-audio", &n_audio, NULL); + g_object_get (data->playbin2, "n-text", &n_text, NULL); + + for (i = 0; i < n_video; i++) { + tags = NULL; + /* Retrieve the stream's video tags */ + g_signal_emit_by_name (data->playbin2, "get-video-tags", i, &tags); + if (tags) { + total_str = g_strdup_printf ("video stream %d:\n", i); + gtk_text_buffer_insert_at_cursor (text, total_str, -1); + g_free (total_str); + gst_tag_list_get_string (tags, GST_TAG_VIDEO_CODEC, &str); + total_str = g_strdup_printf (" codec: %s\n", str ? str : "unknown"); + gtk_text_buffer_insert_at_cursor (text, total_str, -1); + g_free (total_str); + g_free (str); + gst_tag_list_free (tags); + } + } + + for (i = 0; i < n_audio; i++) { + tags = NULL; + /* Retrieve the stream's audio tags */ + g_signal_emit_by_name (data->playbin2, "get-audio-tags", i, &tags); + if (tags) { + total_str = g_strdup_printf ("\naudio stream %d:\n", i); + gtk_text_buffer_insert_at_cursor (text, total_str, -1); + g_free (total_str); + if (gst_tag_list_get_string (tags, GST_TAG_AUDIO_CODEC, &str)) { + total_str = g_strdup_printf (" codec: %s\n", str); + gtk_text_buffer_insert_at_cursor (text, total_str, -1); + g_free (total_str); + g_free (str); + } + if (gst_tag_list_get_string (tags, GST_TAG_LANGUAGE_CODE, &str)) { + total_str = g_strdup_printf (" language: %s\n", str); + gtk_text_buffer_insert_at_cursor (text, total_str, -1); + g_free (total_str); + g_free (str); + } + if (gst_tag_list_get_uint (tags, GST_TAG_BITRATE, &rate)) { + total_str = g_strdup_printf (" bitrate: %d\n", rate); + gtk_text_buffer_insert_at_cursor (text, total_str, -1); + g_free (total_str); + } + gst_tag_list_free (tags); + } + } + + for (i = 0; i < n_text; i++) { + tags = NULL; + /* Retrieve the stream's subtitle tags */ + g_signal_emit_by_name (data->playbin2, "get-text-tags", i, &tags); + if (tags) { + total_str = g_strdup_printf ("\nsubtitle stream %d:\n", i); + gtk_text_buffer_insert_at_cursor (text, total_str, -1); + g_free (total_str); + if (gst_tag_list_get_string (tags, GST_TAG_LANGUAGE_CODE, &str)) { + total_str = g_strdup_printf (" language: %s\n", str); + gtk_text_buffer_insert_at_cursor (text, total_str, -1); + g_free (total_str); + g_free (str); + } + gst_tag_list_free (tags); + } + } +} /* This function is called when an "application" message is posted on the bus. * Here we retrieve the message posted by the tags_cb callback */ diff --git a/vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj b/vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj index b5a2dabcc5..25c6579848 100644 --- a/vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj +++ b/vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj @@ -33,10 +33,12 @@ + + @@ -56,6 +58,8 @@ Console true + %(AdditionalDependencies) + %(AdditionalLibraryDirectories) diff --git a/vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj b/vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj index 2a77d025a4..fc4093d47c 100644 --- a/vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj +++ b/vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj @@ -33,10 +33,12 @@ + + diff --git a/vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj b/vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj index 46ebf02ec8..b0840ca31d 100644 --- a/vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj +++ b/vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj @@ -33,10 +33,12 @@ + + diff --git a/vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj b/vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj index bbbeb80fca..86e2da936e 100644 --- a/vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj +++ b/vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj @@ -33,10 +33,12 @@ + + diff --git a/vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj b/vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj index 610d0542d2..86837c6958 100644 --- a/vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj +++ b/vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj @@ -35,12 +35,14 @@ + + diff --git a/vs/2010/tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj b/vs/2010/tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj index c27a6ad244..79bed35685 100644 --- a/vs/2010/tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj +++ b/vs/2010/tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj @@ -33,10 +33,12 @@ + + From 1e20154e2bf049dde486c03bfb24bc4d1a8f7b8a Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 23 Apr 2012 13:32:31 +0200 Subject: [PATCH 010/979] Fix bug in code --- gst-sdk/tutorials/basic-tutorial-5.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gst-sdk/tutorials/basic-tutorial-5.c b/gst-sdk/tutorials/basic-tutorial-5.c index 83e0a88eb6..9769a5cc8a 100644 --- a/gst-sdk/tutorials/basic-tutorial-5.c +++ b/gst-sdk/tutorials/basic-tutorial-5.c @@ -155,8 +155,8 @@ static gboolean refresh_ui (CustomData *data) { GstFormat fmt = GST_FORMAT_TIME; gint64 current = -1; - /* We do not want to update anything unless we are in the PLAYING state */ - if (data->state != GST_STATE_PLAYING) + /* We do not want to update anything unless we are in the PAUSED or PLAYING states */ + if (data->state < GST_STATE_PAUSED) return TRUE; /* If we didn't know it yet, query the stream duration */ @@ -221,6 +221,10 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->playbin2)) { data->state = new_state; g_print ("State set to %s\n", gst_element_state_get_name (new_state)); + if (old_state == GST_STATE_READY && new_state == GST_STATE_PAUSED) { + /* For extra responsiveness, we refresh the GUI as soon as we reach the PAUSED state */ + refresh_ui (data); + } } } From a8e8e02ef28cb0329057f95a329351a692ab5ed6 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 24 Apr 2012 12:46:22 +0200 Subject: [PATCH 011/979] Added playback tutorial 2, fixed connection speed in playback tutorial 1 --- gst-sdk/tutorials/playback-tutorial-1.c | 2 +- gst-sdk/tutorials/playback-tutorial-2.c | 220 ++++++++++++++++++ .../playback-tutorial-2.vcxproj | 86 +++++++ .../playback-tutorial-2.vcxproj.filters | 6 + vs/2010/tutorials/tutorials.sln | 6 + 5 files changed, 319 insertions(+), 1 deletion(-) create mode 100644 gst-sdk/tutorials/playback-tutorial-2.c create mode 100644 vs/2010/tutorials/playback-tutorial-2/playback-tutorial-2.vcxproj create mode 100644 vs/2010/tutorials/playback-tutorial-2/playback-tutorial-2.vcxproj.filters diff --git a/gst-sdk/tutorials/playback-tutorial-1.c b/gst-sdk/tutorials/playback-tutorial-1.c index f61da93fab..196edad6ac 100644 --- a/gst-sdk/tutorials/playback-tutorial-1.c +++ b/gst-sdk/tutorials/playback-tutorial-1.c @@ -54,7 +54,7 @@ int main(int argc, char *argv[]) { g_object_set (data.playbin2, "flags", flags, NULL); /* Set connection speed. This will affect some internal decisions of playbin2 */ - g_object_set (data.playbin2, "connection-speed", 56000, NULL); + g_object_set (data.playbin2, "connection-speed", 56, NULL); /* Add a bus watch, so we get notified when a message arrives */ bus = gst_element_get_bus (data.playbin2); diff --git a/gst-sdk/tutorials/playback-tutorial-2.c b/gst-sdk/tutorials/playback-tutorial-2.c new file mode 100644 index 0000000000..8e5ee15f8d --- /dev/null +++ b/gst-sdk/tutorials/playback-tutorial-2.c @@ -0,0 +1,220 @@ +#include + +/* Structure to contain all our information, so we can pass it around */ +typedef struct _CustomData { + GstElement *playbin2; /* Our one and only element */ + + gint n_video; /* Number of embedded video streams */ + gint n_audio; /* Number of embedded audio streams */ + gint n_text; /* Number of embedded subtitle streams */ + + gint current_video; /* Currently playing video stream */ + gint current_audio; /* Currently playing audio stream */ + gint current_text; /* Currently playing subtitle stream */ + + GMainLoop *main_loop; /* GLib's Main Loop */ +} CustomData; + +/* playbin2 flags */ +typedef enum { + GST_PLAY_FLAG_VIDEO = (1 << 0), /* We want video output */ + GST_PLAY_FLAG_AUDIO = (1 << 1), /* We want audio output */ + GST_PLAY_FLAG_TEXT = (1 << 2) /* We want subtitle output */ +} GstPlayFlags; + +/* Forward definition for the message and keyboard processing functions */ +static gboolean handle_message (GstBus *bus, GstMessage *msg, CustomData *data); +static gboolean handle_keyboard (GIOChannel *source, GIOCondition cond, CustomData *data); + +int main(int argc, char *argv[]) { + CustomData data; + GstBus *bus; + GstStateChangeReturn ret; + gint flags; + GIOChannel *io_stdin; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Create the elements */ + data.playbin2 = gst_element_factory_make ("playbin2", "playbin2"); + + if (!data.playbin2) { + g_printerr ("Not all elements could be created.\n"); + return -1; + } + + /* Set the URI to play */ + g_object_set (data.playbin2, "uri", "http://docs.gstreamer.com/media/sintel_trailer-480p.ogv", NULL); + + /* Set the subtitle URI to play and some font description */ + g_object_set (data.playbin2, "suburi", "http://docs.gstreamer.com/media/sintel_trailer_gr.srt", NULL); + g_object_set (data.playbin2, "subtitle-font-desc", "Sans, 18", NULL); + + /* Set flags to show Audio, Video and Subtitles */ + g_object_get (data.playbin2, "flags", &flags, NULL); + flags |= GST_PLAY_FLAG_VIDEO | GST_PLAY_FLAG_AUDIO | GST_PLAY_FLAG_TEXT; + g_object_set (data.playbin2, "flags", flags, NULL); + + /* Add a bus watch, so we get notified when a message arrives */ + bus = gst_element_get_bus (data.playbin2); + gst_bus_add_watch (bus, (GstBusFunc)handle_message, &data); + + /* Add a keyboard watch so we get notified of keystrokes */ +#ifdef _WIN32 + io_stdin = g_io_channel_win32_new_fd (fileno (stdin)); +#else + io_stdin = g_io_channel_unix_new (fileno (stdin)); +#endif + g_io_add_watch (io_stdin, G_IO_IN, (GIOFunc)handle_keyboard, &data); + + /* Start playing */ + ret = gst_element_set_state (data.playbin2, GST_STATE_PLAYING); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (data.playbin2); + return -1; + } + + /* Create a GLib Main Loop and set it to run */ + data.main_loop = g_main_loop_new (NULL, FALSE); + g_main_loop_run (data.main_loop); + + /* Free resources */ + g_main_loop_unref (data.main_loop); + g_io_channel_unref (io_stdin); + gst_object_unref (bus); + gst_element_set_state (data.playbin2, GST_STATE_NULL); + gst_object_unref (data.playbin2); + return 0; +} + +/* Extract some metadata from the streams and print it on the screen */ +static void analyze_streams (CustomData *data) { + gint i; + GstTagList *tags; + gchar *str; + guint rate; + + /* Read some properties */ + g_object_get (data->playbin2, "n-video", &data->n_video, NULL); + g_object_get (data->playbin2, "n-audio", &data->n_audio, NULL); + g_object_get (data->playbin2, "n-text", &data->n_text, NULL); + + g_print ("%d video stream(s), %d audio stream(s), %d text stream(s)\n", + data->n_video, data->n_audio, data->n_text); + + g_print ("\n"); + for (i = 0; i < data->n_video; i++) { + tags = NULL; + /* Retrieve the stream's video tags */ + g_signal_emit_by_name (data->playbin2, "get-video-tags", i, &tags); + if (tags) { + g_print ("video stream %d:\n", i); + gst_tag_list_get_string (tags, GST_TAG_VIDEO_CODEC, &str); + g_print (" codec: %s\n", str ? str : "unknown"); + g_free (str); + gst_tag_list_free (tags); + } + } + + g_print ("\n"); + for (i = 0; i < data->n_audio; i++) { + tags = NULL; + /* Retrieve the stream's audio tags */ + g_signal_emit_by_name (data->playbin2, "get-audio-tags", i, &tags); + if (tags) { + g_print ("audio stream %d:\n", i); + if (gst_tag_list_get_string (tags, GST_TAG_AUDIO_CODEC, &str)) { + g_print (" codec: %s\n", str); + g_free (str); + } + if (gst_tag_list_get_string (tags, GST_TAG_LANGUAGE_CODE, &str)) { + g_print (" language: %s\n", str); + g_free (str); + } + if (gst_tag_list_get_uint (tags, GST_TAG_BITRATE, &rate)) { + g_print (" bitrate: %d\n", rate); + } + gst_tag_list_free (tags); + } + } + + g_print ("\n"); + for (i = 0; i < data->n_text; i++) { + tags = NULL; + /* Retrieve the stream's subtitle tags */ + g_print ("subtitle stream %d:\n", i); + g_signal_emit_by_name (data->playbin2, "get-text-tags", i, &tags); + if (tags) { + if (gst_tag_list_get_string (tags, GST_TAG_LANGUAGE_CODE, &str)) { + g_print (" language: %s\n", str); + g_free (str); + } + gst_tag_list_free (tags); + } else { + g_print (" no tags found\n"); + } + } + + g_object_get (data->playbin2, "current-video", &data->current_video, NULL); + g_object_get (data->playbin2, "current-audio", &data->current_audio, NULL); + g_object_get (data->playbin2, "current-text", &data->current_text, NULL); + + g_print ("\n"); + g_print ("Currently playing video stream %d, audio stream %d and subtitle stream %d\n", + data->current_video, data->current_audio, data->current_text); + g_print ("Type any number and hit ENTER to select a different subtitle stream\n"); +} + +/* Process messages from GStreamer */ +static gboolean handle_message (GstBus *bus, GstMessage *msg, CustomData *data) { + GError *err; + gchar *debug_info; + + switch (GST_MESSAGE_TYPE (msg)) { + case GST_MESSAGE_ERROR: + gst_message_parse_error (msg, &err, &debug_info); + g_printerr ("Error received from element %s: %s\n", GST_OBJECT_NAME (msg->src), err->message); + g_printerr ("Debugging information: %s\n", debug_info ? debug_info : "none"); + g_clear_error (&err); + g_free (debug_info); + g_main_loop_quit (data->main_loop); + break; + case GST_MESSAGE_EOS: + g_print ("End-Of-Stream reached.\n"); + g_main_loop_quit (data->main_loop); + break; + case GST_MESSAGE_STATE_CHANGED: { + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->playbin2)) { + if (new_state == GST_STATE_PLAYING) { + /* Once we are in the playing state, analyze the streams */ + analyze_streams (data); + } + } + } break; + } + + /* We want to keep receiving messages */ + return TRUE; +} + +/* Process keyboard input */ +static gboolean handle_keyboard (GIOChannel *source, GIOCondition cond, CustomData *data) { + gchar *str = NULL; + + if (g_io_channel_read_line (source, &str, NULL, NULL, NULL) == G_IO_STATUS_NORMAL) { + int index = atoi (str); + if (index < 0 || index >= data->n_text) { + g_printerr ("Index out of bounds\n"); + } else { + /* If the input was a valid subtitle stream index, set the current subtitle stream */ + g_print ("Setting current subtitle stream to %d\n", index); + g_object_set (data->playbin2, "current-text", index, NULL); + } + } + g_free (str); + return TRUE; +} diff --git a/vs/2010/tutorials/playback-tutorial-2/playback-tutorial-2.vcxproj b/vs/2010/tutorials/playback-tutorial-2/playback-tutorial-2.vcxproj new file mode 100644 index 0000000000..f08e478127 --- /dev/null +++ b/vs/2010/tutorials/playback-tutorial-2/playback-tutorial-2.vcxproj @@ -0,0 +1,86 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {4319F5D7-039A-44B5-B1A7-507DC627B24D} + Win32Proj + playbacktutorial2 + + + + Application + true + Unicode + + + Application + false + true + Unicode + + + + + + + + + + + + + + + + + true + + + false + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + true + true + + + + + + + + + \ No newline at end of file diff --git a/vs/2010/tutorials/playback-tutorial-2/playback-tutorial-2.vcxproj.filters b/vs/2010/tutorials/playback-tutorial-2/playback-tutorial-2.vcxproj.filters new file mode 100644 index 0000000000..0dee9653b5 --- /dev/null +++ b/vs/2010/tutorials/playback-tutorial-2/playback-tutorial-2.vcxproj.filters @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/vs/2010/tutorials/tutorials.sln b/vs/2010/tutorials/tutorials.sln index d77250206a..67ed9442ab 100644 --- a/vs/2010/tutorials/tutorials.sln +++ b/vs/2010/tutorials/tutorials.sln @@ -13,6 +13,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-5", "basic-t EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "playback-tutorial-1", "playback-tutorial-1\playback-tutorial-1.vcxproj", "{474353B0-D353-4DB7-A9EE-E210D1ED954B}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "playback-tutorial-2", "playback-tutorial-2\playback-tutorial-2.vcxproj", "{4319F5D7-039A-44B5-B1A7-507DC627B24D}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -43,6 +45,10 @@ Global {474353B0-D353-4DB7-A9EE-E210D1ED954B}.Debug|Win32.Build.0 = Debug|Win32 {474353B0-D353-4DB7-A9EE-E210D1ED954B}.Release|Win32.ActiveCfg = Release|Win32 {474353B0-D353-4DB7-A9EE-E210D1ED954B}.Release|Win32.Build.0 = Release|Win32 + {4319F5D7-039A-44B5-B1A7-507DC627B24D}.Debug|Win32.ActiveCfg = Debug|Win32 + {4319F5D7-039A-44B5-B1A7-507DC627B24D}.Debug|Win32.Build.0 = Debug|Win32 + {4319F5D7-039A-44B5-B1A7-507DC627B24D}.Release|Win32.ActiveCfg = Release|Win32 + {4319F5D7-039A-44B5-B1A7-507DC627B24D}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From 589218bd1397dd72ce63902593e9a8cdf88fb960 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 30 Apr 2012 13:09:52 +0200 Subject: [PATCH 012/979] Added basic tutorial 6 --- gst-sdk/tutorials/basic-tutorial-6.c | 203 ++++++++++++++++++ .../basic-tutorial-6/basic-tutorial-6.vcxproj | 85 ++++++++ .../basic-tutorial-6.vcxproj.filters | 6 + vs/2010/tutorials/tutorials.sln | 6 + 4 files changed, 300 insertions(+) create mode 100644 gst-sdk/tutorials/basic-tutorial-6.c create mode 100644 vs/2010/tutorials/basic-tutorial-6/basic-tutorial-6.vcxproj create mode 100644 vs/2010/tutorials/basic-tutorial-6/basic-tutorial-6.vcxproj.filters diff --git a/gst-sdk/tutorials/basic-tutorial-6.c b/gst-sdk/tutorials/basic-tutorial-6.c new file mode 100644 index 0000000000..0715a51943 --- /dev/null +++ b/gst-sdk/tutorials/basic-tutorial-6.c @@ -0,0 +1,203 @@ +#include + +/* Functions below print the Capabilities in a human-friendly format */ +static gboolean print_field (GQuark field, const GValue * value, gpointer pfx) { + gchar *str = gst_value_serialize (value); + + g_print ("%s %15s: %s\n", (gchar *) pfx, g_quark_to_string (field), str); + g_free (str); + return TRUE; +} + +static void print_caps (const GstCaps * caps, const gchar * pfx) { + guint i; + + g_return_if_fail (caps != NULL); + + if (gst_caps_is_any (caps)) { + g_print ("%sANY\n", pfx); + return; + } + if (gst_caps_is_empty (caps)) { + g_print ("%sEMPTY\n", pfx); + return; + } + + for (i = 0; i < gst_caps_get_size (caps); i++) { + GstStructure *structure = gst_caps_get_structure (caps, i); + + g_print ("%s%s\n", pfx, gst_structure_get_name (structure)); + gst_structure_foreach (structure, print_field, (gpointer) pfx); + } +} + +/* Prints information about a Pad Template, including its Capabilities */ +static void print_pad_templates_information (GstElementFactory * factory) { + const GList *pads; + GstStaticPadTemplate *padtemplate; + + g_print ("Pad Templates for %s:\n", gst_element_factory_get_longname (factory)); + if (!factory->numpadtemplates) { + g_print (" none\n"); + return; + } + + pads = factory->staticpadtemplates; + while (pads) { + padtemplate = (GstStaticPadTemplate *) (pads->data); + pads = g_list_next (pads); + + if (padtemplate->direction == GST_PAD_SRC) + g_print (" SRC template: '%s'\n", padtemplate->name_template); + else if (padtemplate->direction == GST_PAD_SINK) + g_print (" SINK template: '%s'\n", padtemplate->name_template); + else + g_print (" UNKNOWN!!! template: '%s'\n", padtemplate->name_template); + + if (padtemplate->presence == GST_PAD_ALWAYS) + g_print (" Availability: Always\n"); + else if (padtemplate->presence == GST_PAD_SOMETIMES) + g_print (" Availability: Sometimes\n"); + else if (padtemplate->presence == GST_PAD_REQUEST) { + g_print (" Availability: On request\n"); + } else + g_print (" Availability: UNKNOWN!!!\n"); + + if (padtemplate->static_caps.string) { + g_print (" Capabilities:\n"); + print_caps (gst_static_caps_get (&padtemplate->static_caps), " "); + } + + g_print ("\n"); + } +} + +/* Shows the CURRENT capabilities of the requested pad in the given element */ +static void print_pad_capabilities (GstElement *element, gchar *pad_name) { + GstPad *pad = NULL; + GstCaps *caps = NULL; + + /* Retrieve pad */ + pad = gst_element_get_static_pad (element, pad_name); + if (!pad) { + g_printerr ("Could not retrieve pad '%s'\n", pad_name); + return; + } + + /* Retrieve negotiated caps (or acceptable caps if negotiation is not finished yet) */ + caps = gst_pad_get_negotiated_caps (pad); + if (!caps) + caps = gst_pad_get_caps_reffed (pad); + + /* Print and free */ + g_print ("Caps for the %s pad:\n", pad_name); + print_caps (caps, " "); + gst_caps_unref (caps); + gst_object_unref (pad); +} + +int main(int argc, char *argv[]) { + GstElement *pipeline, *source, *sink; + GstElementFactory *source_factory, *sink_factory; + GstBus *bus; + GstMessage *msg; + GstStateChangeReturn ret; + gboolean terminate = FALSE; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Create the element factories */ + source_factory = gst_element_factory_find ("audiotestsrc"); + sink_factory = gst_element_factory_find ("autoaudiosink"); + if (!source_factory || !sink_factory) { + g_printerr ("Not all element factories could be created.\n"); + return -1; + } + + /* Print information about the pad templates of these factories */ + print_pad_templates_information (source_factory); + print_pad_templates_information (sink_factory); + + /* Ask the factories to instantiate actual elements */ + source = gst_element_factory_create (source_factory, "source"); + sink = gst_element_factory_create (sink_factory, "sink"); + + /* Create the empty pipeline */ + pipeline = gst_pipeline_new ("test-pipeline"); + + if (!pipeline || !source || !sink) { + g_printerr ("Not all elements could be created.\n"); + return -1; + } + + /* Build the pipeline */ + gst_bin_add_many (GST_BIN (pipeline), source, sink, NULL); + if (gst_element_link (source, sink) != TRUE) { + g_printerr ("Elements could not be linked.\n"); + gst_object_unref (pipeline); + return -1; + } + + /* Print initial negotiated caps (in NULL state) */ + g_print ("In NULL state:\n"); + print_pad_capabilities (sink, "sink"); + + /* Start playing */ + ret = gst_element_set_state (pipeline, GST_STATE_PLAYING); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state (check the bus for error messages).\n"); + } + + /* Wait until error, EOS or State Change */ + bus = gst_element_get_bus (pipeline); + do { + msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, GST_MESSAGE_ERROR | GST_MESSAGE_EOS | + GST_MESSAGE_STATE_CHANGED); + + /* Parse message */ + if (msg != NULL) { + GError *err; + gchar *debug_info; + + switch (GST_MESSAGE_TYPE (msg)) { + case GST_MESSAGE_ERROR: + gst_message_parse_error (msg, &err, &debug_info); + g_printerr ("Error received from element %s: %s\n", GST_OBJECT_NAME (msg->src), err->message); + g_printerr ("Debugging information: %s\n", debug_info ? debug_info : "none"); + g_clear_error (&err); + g_free (debug_info); + terminate = TRUE; + break; + case GST_MESSAGE_EOS: + g_print ("End-Of-Stream reached.\n"); + terminate = TRUE; + break; + case GST_MESSAGE_STATE_CHANGED: + /* We are only interested in state-changed messages from the pipeline */ + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (pipeline)) { + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + g_print ("\nPipeline state changed from %s to %s:\n", + gst_element_state_get_name (old_state), gst_element_state_get_name (new_state)); + /* Print the current capabilities of the sink element */ + print_pad_capabilities (sink, "sink"); + } + break; + default: + /* We should not reach here because we only asked for ERRORs, EOS and STATE_CHANGED */ + g_printerr ("Unexpected message received.\n"); + break; + } + gst_message_unref (msg); + } + } while (!terminate); + + /* Free resources */ + gst_object_unref (bus); + gst_element_set_state (pipeline, GST_STATE_NULL); + gst_object_unref (pipeline); + gst_object_unref (source_factory); + gst_object_unref (sink_factory); + return 0; +} diff --git a/vs/2010/tutorials/basic-tutorial-6/basic-tutorial-6.vcxproj b/vs/2010/tutorials/basic-tutorial-6/basic-tutorial-6.vcxproj new file mode 100644 index 0000000000..dc209353ce --- /dev/null +++ b/vs/2010/tutorials/basic-tutorial-6/basic-tutorial-6.vcxproj @@ -0,0 +1,85 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {A2A55F96-F759-4AF6-84EB-96ABD9D82410} + Win32Proj + basictutorial6 + + + + Application + true + + + Application + false + true + Unicode + + + + + + + + + + + + + + + + + true + + + false + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + true + true + + + + + + + + + \ No newline at end of file diff --git a/vs/2010/tutorials/basic-tutorial-6/basic-tutorial-6.vcxproj.filters b/vs/2010/tutorials/basic-tutorial-6/basic-tutorial-6.vcxproj.filters new file mode 100644 index 0000000000..95ed60a53d --- /dev/null +++ b/vs/2010/tutorials/basic-tutorial-6/basic-tutorial-6.vcxproj.filters @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/vs/2010/tutorials/tutorials.sln b/vs/2010/tutorials/tutorials.sln index 67ed9442ab..15fdf51880 100644 --- a/vs/2010/tutorials/tutorials.sln +++ b/vs/2010/tutorials/tutorials.sln @@ -15,6 +15,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "playback-tutorial-1", "play EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "playback-tutorial-2", "playback-tutorial-2\playback-tutorial-2.vcxproj", "{4319F5D7-039A-44B5-B1A7-507DC627B24D}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-6", "basic-tutorial-6\basic-tutorial-6.vcxproj", "{A2A55F96-F759-4AF6-84EB-96ABD9D82410}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -49,6 +51,10 @@ Global {4319F5D7-039A-44B5-B1A7-507DC627B24D}.Debug|Win32.Build.0 = Debug|Win32 {4319F5D7-039A-44B5-B1A7-507DC627B24D}.Release|Win32.ActiveCfg = Release|Win32 {4319F5D7-039A-44B5-B1A7-507DC627B24D}.Release|Win32.Build.0 = Release|Win32 + {A2A55F96-F759-4AF6-84EB-96ABD9D82410}.Debug|Win32.ActiveCfg = Debug|Win32 + {A2A55F96-F759-4AF6-84EB-96ABD9D82410}.Debug|Win32.Build.0 = Debug|Win32 + {A2A55F96-F759-4AF6-84EB-96ABD9D82410}.Release|Win32.ActiveCfg = Release|Win32 + {A2A55F96-F759-4AF6-84EB-96ABD9D82410}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From 4fd14556b587062cffe85833b84d2e8808c70ff0 Mon Sep 17 00:00:00 2001 From: Andoni Morales Alastruey Date: Fri, 4 May 2012 04:03:52 +0200 Subject: [PATCH 013/979] Fix paths of msvc props --- vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj | 4 ++-- vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj | 4 ++-- vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj | 4 ++-- vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj | 4 ++-- vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj | 4 ++-- vs/2010/tutorials/basic-tutorial-6/basic-tutorial-6.vcxproj | 4 ++-- .../tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj | 4 ++-- .../tutorials/playback-tutorial-2/playback-tutorial-2.vcxproj | 4 ++-- 8 files changed, 16 insertions(+), 16 deletions(-) diff --git a/vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj b/vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj index 25c6579848..8948cf489a 100644 --- a/vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj +++ b/vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj @@ -33,12 +33,12 @@ - + - + diff --git a/vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj b/vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj index fc4093d47c..db14823d2b 100644 --- a/vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj +++ b/vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj @@ -33,12 +33,12 @@ - + - + diff --git a/vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj b/vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj index b0840ca31d..748306939d 100644 --- a/vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj +++ b/vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj @@ -33,12 +33,12 @@ - + - + diff --git a/vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj b/vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj index 86e2da936e..891281fd37 100644 --- a/vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj +++ b/vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj @@ -33,12 +33,12 @@ - + - + diff --git a/vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj b/vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj index 86837c6958..b366c389c4 100644 --- a/vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj +++ b/vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj @@ -35,14 +35,14 @@ - + - + diff --git a/vs/2010/tutorials/basic-tutorial-6/basic-tutorial-6.vcxproj b/vs/2010/tutorials/basic-tutorial-6/basic-tutorial-6.vcxproj index dc209353ce..68f52966ac 100644 --- a/vs/2010/tutorials/basic-tutorial-6/basic-tutorial-6.vcxproj +++ b/vs/2010/tutorials/basic-tutorial-6/basic-tutorial-6.vcxproj @@ -32,12 +32,12 @@ - + - + diff --git a/vs/2010/tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj b/vs/2010/tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj index 79bed35685..69bd2369c2 100644 --- a/vs/2010/tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj +++ b/vs/2010/tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj @@ -33,12 +33,12 @@ - + - + diff --git a/vs/2010/tutorials/playback-tutorial-2/playback-tutorial-2.vcxproj b/vs/2010/tutorials/playback-tutorial-2/playback-tutorial-2.vcxproj index f08e478127..aca66d738f 100644 --- a/vs/2010/tutorials/playback-tutorial-2/playback-tutorial-2.vcxproj +++ b/vs/2010/tutorials/playback-tutorial-2/playback-tutorial-2.vcxproj @@ -33,12 +33,12 @@ - + - + From 5e2462c9aef120989f97b19c525059b927a5e9bc Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 7 May 2012 17:21:05 +0200 Subject: [PATCH 014/979] gitignore + use GSTREAMER_SDK_ROOT instead of relative path to the props files --- .gitignore | 1 + .../basic-tutorial-1/basic-tutorial-1.vcxproj | 8 ++++---- .../basic-tutorial-2/basic-tutorial-2.vcxproj | 8 ++++---- .../basic-tutorial-3/basic-tutorial-3.vcxproj | 8 ++++---- .../basic-tutorial-4/basic-tutorial-4.vcxproj | 8 ++++---- .../basic-tutorial-5/basic-tutorial-5.vcxproj | 16 ++++++++-------- .../basic-tutorial-6/basic-tutorial-6.vcxproj | 8 ++++---- .../playback-tutorial-1.vcxproj | 8 ++++---- .../playback-tutorial-2.vcxproj | 8 ++++---- 9 files changed, 37 insertions(+), 36 deletions(-) diff --git a/.gitignore b/.gitignore index 09dc148f42..d4a0768bad 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ Debug +Release ipch *.user *.sdf diff --git a/vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj b/vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj index 8948cf489a..c948b1a2fc 100644 --- a/vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj +++ b/vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj @@ -32,13 +32,13 @@ - - + + - - + + diff --git a/vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj b/vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj index db14823d2b..fff848b659 100644 --- a/vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj +++ b/vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj @@ -32,13 +32,13 @@ - - + + - - + + diff --git a/vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj b/vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj index 748306939d..1cde4a42e5 100644 --- a/vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj +++ b/vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj @@ -32,13 +32,13 @@ - - + + - - + + diff --git a/vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj b/vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj index 891281fd37..ed59bf79e8 100644 --- a/vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj +++ b/vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj @@ -32,13 +32,13 @@ - - + + - - + + diff --git a/vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj b/vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj index b366c389c4..3846f2b7cc 100644 --- a/vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj +++ b/vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj @@ -32,17 +32,17 @@ - - - - + + + + - - - - + + + + diff --git a/vs/2010/tutorials/basic-tutorial-6/basic-tutorial-6.vcxproj b/vs/2010/tutorials/basic-tutorial-6/basic-tutorial-6.vcxproj index 68f52966ac..10311879d9 100644 --- a/vs/2010/tutorials/basic-tutorial-6/basic-tutorial-6.vcxproj +++ b/vs/2010/tutorials/basic-tutorial-6/basic-tutorial-6.vcxproj @@ -31,13 +31,13 @@ - - + + - - + + diff --git a/vs/2010/tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj b/vs/2010/tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj index 69bd2369c2..7b73648d46 100644 --- a/vs/2010/tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj +++ b/vs/2010/tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj @@ -32,13 +32,13 @@ - - + + - - + + diff --git a/vs/2010/tutorials/playback-tutorial-2/playback-tutorial-2.vcxproj b/vs/2010/tutorials/playback-tutorial-2/playback-tutorial-2.vcxproj index aca66d738f..2d5020692b 100644 --- a/vs/2010/tutorials/playback-tutorial-2/playback-tutorial-2.vcxproj +++ b/vs/2010/tutorials/playback-tutorial-2/playback-tutorial-2.vcxproj @@ -32,13 +32,13 @@ - - + + - - + + From 2c2daae38793c88c56f7f77c69f0209f3ec6efab Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 7 May 2012 18:06:31 +0200 Subject: [PATCH 015/979] Added basic tutorial 7 --- gst-sdk/tutorials/basic-tutorial-7.c | 87 +++++++++++++++++++ .../basic-tutorial-7/basic-tutorial-7.vcxproj | 86 ++++++++++++++++++ .../basic-tutorial-7.vcxproj.filters | 6 ++ vs/2010/tutorials/tutorials.sln | 6 ++ 4 files changed, 185 insertions(+) create mode 100644 gst-sdk/tutorials/basic-tutorial-7.c create mode 100644 vs/2010/tutorials/basic-tutorial-7/basic-tutorial-7.vcxproj create mode 100644 vs/2010/tutorials/basic-tutorial-7/basic-tutorial-7.vcxproj.filters diff --git a/gst-sdk/tutorials/basic-tutorial-7.c b/gst-sdk/tutorials/basic-tutorial-7.c new file mode 100644 index 0000000000..5763aeba0b --- /dev/null +++ b/gst-sdk/tutorials/basic-tutorial-7.c @@ -0,0 +1,87 @@ +#include + +int main(int argc, char *argv[]) { + GstElement *pipeline, *audio_source, *tee, *audio_queue, *audio_convert, *audio_sink; + GstElement *video_queue, *visual, *video_convert, *video_sink; + GstBus *bus; + GstMessage *msg; + GstPadTemplate *tee_src_pad_template; + GstPad *tee_audio_pad, *tee_video_pad; + GstPad *queue_audio_pad, *queue_video_pad; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Create the elements */ + audio_source = gst_element_factory_make ("audiotestsrc", "audio_source"); + tee = gst_element_factory_make ("tee", "tee"); + audio_queue = gst_element_factory_make ("queue", "audio_queue"); + audio_convert = gst_element_factory_make ("audioconvert", "audio_convert"); + audio_sink = gst_element_factory_make ("autoaudiosink", "audio_sink"); + video_queue = gst_element_factory_make ("queue", "video_queue"); + visual = gst_element_factory_make ("wavescope", "visual"); + video_convert = gst_element_factory_make ("ffmpegcolorspace", "csp"); + video_sink = gst_element_factory_make ("autovideosink", "video_sink"); + + /* Create the empty pipeline */ + pipeline = gst_pipeline_new ("test-pipeline"); + + if (!pipeline || !audio_source || !tee || !audio_queue || !audio_convert || !audio_sink || + !video_queue || !visual || !video_convert || !video_sink) { + g_printerr ("Not all elements could be created.\n"); + return -1; + } + + /* Configure elements */ + g_object_set (visual, "shader", 0, NULL); + + /* Link all elements that can be automatically linked because they have "Always" pads */ + gst_bin_add_many (GST_BIN (pipeline), audio_source, tee, audio_queue, audio_convert, audio_sink, + video_queue, visual, video_convert, video_sink, NULL); + if (gst_element_link_many (audio_source, tee, NULL) != TRUE || + gst_element_link_many (audio_queue, audio_convert, audio_sink, NULL) != TRUE || + gst_element_link_many (video_queue, visual, video_convert, video_sink, NULL) != TRUE) { + g_printerr ("Elements could not be linked.\n"); + gst_object_unref (pipeline); + return -1; + } + + /* Manually link the Tee, which has "Request" pads */ + tee_src_pad_template = gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS (tee), "src%d"); + tee_audio_pad = gst_element_request_pad (tee, tee_src_pad_template, NULL, NULL); + g_print ("Obtained request pad %s for audio branch.\n", gst_pad_get_name (tee_audio_pad)); + queue_audio_pad = gst_element_get_static_pad (audio_queue, "sink"); + tee_video_pad = gst_element_request_pad (tee, tee_src_pad_template, NULL, NULL); + g_print ("Obtained request pad %s for video branch.\n", gst_pad_get_name (tee_video_pad)); + queue_video_pad = gst_element_get_static_pad (video_queue, "sink"); + if (gst_pad_link (tee_audio_pad, queue_audio_pad) != GST_PAD_LINK_OK || + gst_pad_link (tee_video_pad, queue_video_pad) != GST_PAD_LINK_OK) { + g_printerr ("Tee could not be linked.\n"); + gst_object_unref (pipeline); + return -1; + } + gst_object_unref (queue_audio_pad); + gst_object_unref (queue_video_pad); + + /* Start playing the pipeline */ + gst_element_set_state (pipeline, GST_STATE_PLAYING); + + /* Wait until error or EOS */ + bus = gst_element_get_bus (pipeline); + msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, GST_MESSAGE_ERROR | GST_MESSAGE_EOS); + + /* Release the request pads from the Tee, and unref them */ + gst_element_release_request_pad (tee, tee_audio_pad); + gst_element_release_request_pad (tee, tee_video_pad); + gst_object_unref (tee_audio_pad); + gst_object_unref (tee_video_pad); + + /* Free resources */ + if (msg != NULL) + gst_message_unref (msg); + gst_object_unref (bus); + gst_element_set_state (pipeline, GST_STATE_NULL); + + gst_object_unref (pipeline); + return 0; +} diff --git a/vs/2010/tutorials/basic-tutorial-7/basic-tutorial-7.vcxproj b/vs/2010/tutorials/basic-tutorial-7/basic-tutorial-7.vcxproj new file mode 100644 index 0000000000..966a0a6a5b --- /dev/null +++ b/vs/2010/tutorials/basic-tutorial-7/basic-tutorial-7.vcxproj @@ -0,0 +1,86 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {B1666543-AE05-46BF-9528-95916A02A9D4} + Win32Proj + basictutorial7 + + + + Application + true + Unicode + + + Application + false + true + Unicode + + + + + + + + + + + + + + + + + true + + + false + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + true + true + + + + + + + + + \ No newline at end of file diff --git a/vs/2010/tutorials/basic-tutorial-7/basic-tutorial-7.vcxproj.filters b/vs/2010/tutorials/basic-tutorial-7/basic-tutorial-7.vcxproj.filters new file mode 100644 index 0000000000..2a499f8cc2 --- /dev/null +++ b/vs/2010/tutorials/basic-tutorial-7/basic-tutorial-7.vcxproj.filters @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/vs/2010/tutorials/tutorials.sln b/vs/2010/tutorials/tutorials.sln index 15fdf51880..3e2720f66e 100644 --- a/vs/2010/tutorials/tutorials.sln +++ b/vs/2010/tutorials/tutorials.sln @@ -17,6 +17,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "playback-tutorial-2", "play EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-6", "basic-tutorial-6\basic-tutorial-6.vcxproj", "{A2A55F96-F759-4AF6-84EB-96ABD9D82410}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-7", "basic-tutorial-7\basic-tutorial-7.vcxproj", "{B1666543-AE05-46BF-9528-95916A02A9D4}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -55,6 +57,10 @@ Global {A2A55F96-F759-4AF6-84EB-96ABD9D82410}.Debug|Win32.Build.0 = Debug|Win32 {A2A55F96-F759-4AF6-84EB-96ABD9D82410}.Release|Win32.ActiveCfg = Release|Win32 {A2A55F96-F759-4AF6-84EB-96ABD9D82410}.Release|Win32.Build.0 = Release|Win32 + {B1666543-AE05-46BF-9528-95916A02A9D4}.Debug|Win32.ActiveCfg = Debug|Win32 + {B1666543-AE05-46BF-9528-95916A02A9D4}.Debug|Win32.Build.0 = Debug|Win32 + {B1666543-AE05-46BF-9528-95916A02A9D4}.Release|Win32.ActiveCfg = Release|Win32 + {B1666543-AE05-46BF-9528-95916A02A9D4}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From 2ef027e295ea68902ed8d5154902a199d493fd6a Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 9 May 2012 14:16:08 +0200 Subject: [PATCH 016/979] Minor cosmetic changes --- gst-sdk/tutorials/basic-tutorial-7.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/basic-tutorial-7.c b/gst-sdk/tutorials/basic-tutorial-7.c index 5763aeba0b..c5a737beda 100644 --- a/gst-sdk/tutorials/basic-tutorial-7.c +++ b/gst-sdk/tutorials/basic-tutorial-7.c @@ -33,7 +33,8 @@ int main(int argc, char *argv[]) { } /* Configure elements */ - g_object_set (visual, "shader", 0, NULL); + g_object_set (audio_source, "freq", 215.0f, NULL); + g_object_set (visual, "shader", 0, "style", 1, NULL); /* Link all elements that can be automatically linked because they have "Always" pads */ gst_bin_add_many (GST_BIN (pipeline), audio_source, tee, audio_queue, audio_convert, audio_sink, From e3964e1ec6c2af1eed8ecff1f8ff8eedb578348c Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 9 May 2012 17:37:00 +0200 Subject: [PATCH 017/979] Remove /OPT:NOREF from project files. This is set to FALSE in the props, but new projects created from VS2010 set it to TRUE for the Release configuration, overriding the props file. --- vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj | 1 - vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj | 1 - vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj | 1 - vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj | 1 - vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj | 1 - vs/2010/tutorials/basic-tutorial-6/basic-tutorial-6.vcxproj | 1 - vs/2010/tutorials/basic-tutorial-7/basic-tutorial-7.vcxproj | 1 - .../tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj | 1 - .../tutorials/playback-tutorial-2/playback-tutorial-2.vcxproj | 1 - 9 files changed, 9 deletions(-) diff --git a/vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj b/vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj index c948b1a2fc..b726720063 100644 --- a/vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj +++ b/vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj @@ -76,7 +76,6 @@ Console true true - true diff --git a/vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj b/vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj index fff848b659..218d82b609 100644 --- a/vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj +++ b/vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj @@ -74,7 +74,6 @@ Console true true - true diff --git a/vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj b/vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj index 1cde4a42e5..6173514e84 100644 --- a/vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj +++ b/vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj @@ -74,7 +74,6 @@ Console true true - true diff --git a/vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj b/vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj index ed59bf79e8..ec24f2610c 100644 --- a/vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj +++ b/vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj @@ -74,7 +74,6 @@ Console true true - true diff --git a/vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj b/vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj index 3846f2b7cc..3069005f58 100644 --- a/vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj +++ b/vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj @@ -78,7 +78,6 @@ Console true true - true diff --git a/vs/2010/tutorials/basic-tutorial-6/basic-tutorial-6.vcxproj b/vs/2010/tutorials/basic-tutorial-6/basic-tutorial-6.vcxproj index 10311879d9..9019f7fb24 100644 --- a/vs/2010/tutorials/basic-tutorial-6/basic-tutorial-6.vcxproj +++ b/vs/2010/tutorials/basic-tutorial-6/basic-tutorial-6.vcxproj @@ -73,7 +73,6 @@ Console true true - true diff --git a/vs/2010/tutorials/basic-tutorial-7/basic-tutorial-7.vcxproj b/vs/2010/tutorials/basic-tutorial-7/basic-tutorial-7.vcxproj index 966a0a6a5b..2dc5323309 100644 --- a/vs/2010/tutorials/basic-tutorial-7/basic-tutorial-7.vcxproj +++ b/vs/2010/tutorials/basic-tutorial-7/basic-tutorial-7.vcxproj @@ -74,7 +74,6 @@ Console true true - true diff --git a/vs/2010/tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj b/vs/2010/tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj index 7b73648d46..8e1c77a28b 100644 --- a/vs/2010/tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj +++ b/vs/2010/tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj @@ -74,7 +74,6 @@ Console true true - true diff --git a/vs/2010/tutorials/playback-tutorial-2/playback-tutorial-2.vcxproj b/vs/2010/tutorials/playback-tutorial-2/playback-tutorial-2.vcxproj index 2d5020692b..08e20db015 100644 --- a/vs/2010/tutorials/playback-tutorial-2/playback-tutorial-2.vcxproj +++ b/vs/2010/tutorials/playback-tutorial-2/playback-tutorial-2.vcxproj @@ -74,7 +74,6 @@ Console true true - true From 54687a3e611ead4e0d0036d79c335b95e44fd231 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Thu, 10 May 2012 17:58:21 +0200 Subject: [PATCH 018/979] Added basic tutorial 8 --- gst-sdk/tutorials/basic-tutorial-8.c | 231 ++++++++++++++++++ .../basic-tutorial-8/basic-tutorial-8.vcxproj | 85 +++++++ .../basic-tutorial-8.vcxproj.filters | 6 + vs/2010/tutorials/tutorials.sln | 6 + 4 files changed, 328 insertions(+) create mode 100644 gst-sdk/tutorials/basic-tutorial-8.c create mode 100644 vs/2010/tutorials/basic-tutorial-8/basic-tutorial-8.vcxproj create mode 100644 vs/2010/tutorials/basic-tutorial-8/basic-tutorial-8.vcxproj.filters diff --git a/gst-sdk/tutorials/basic-tutorial-8.c b/gst-sdk/tutorials/basic-tutorial-8.c new file mode 100644 index 0000000000..48e3e81339 --- /dev/null +++ b/gst-sdk/tutorials/basic-tutorial-8.c @@ -0,0 +1,231 @@ +#include +#include +#include + +#define CHUNK_SIZE 1024 /* Amount of bytes we are sending in each buffer */ +#define SAMPLE_RATE 44100 /* Samples per second we are sending */ +#define AUDIO_CAPS "audio/x-raw-int,channels=1,rate=%d,signed=(boolean)true,width=16,depth=16,endianness=1234" + +/* Structure to contain all our information, so we can pass it to callbacks */ +typedef struct _CustomData { + GstElement *pipeline, *app_source, *tee, *audio_queue, *audio_convert1, *audio_sink; + GstElement *video_queue, *audio_convert2, *visual, *video_convert, *video_sink; + GstElement *app_queue, *app_sink; + + gint time; /* For timestamp generation */ + gfloat a, b, c, d; /* For waveform generation */ + + guint sourceid; /* To control the GSource */ + + GMainLoop *main_loop; /* GLib's Main Loop */ +} CustomData; + +/* This method is called by the idle GSource in the mainloop, to feed CHUNK_SIZE bytes into appsrc. + * The ide handler is added to the mainloop when appsrc requests us to start sending data (need-data signal) + * and is removed when appsrc has enough data (enough-data signal). + */ +static gboolean push_data (CustomData *data) { + GstBuffer *buffer; + GstFlowReturn ret; + int i; + gshort *raw; + gint num_samples = CHUNK_SIZE / 2; /* Because each sample is 16 bits */ + gfloat freq; + + /* Create a new empty buffer */ + buffer = gst_buffer_new_and_alloc (CHUNK_SIZE); + + /* Set its timestamp and duration */ + GST_BUFFER_TIMESTAMP (buffer) = GST_SECOND * data->time / SAMPLE_RATE; + GST_BUFFER_DURATION (buffer) = GST_SECOND * CHUNK_SIZE / SAMPLE_RATE; + + /* Generate some psychodelic waveforms */ + raw = (gshort *)GST_BUFFER_DATA (buffer); + data->c += data->d; + data->d -= data->c / 1000; + freq = 1100 + 1000 * data->d; + for (i = 0; i < num_samples; i++) { + data->a += data->b; + data->b -= data->a / freq; + raw[i] = (gshort)(500 * data->a); + } + data->time += num_samples; + + /* Push the buffer into the appsrc */ + g_signal_emit_by_name (data->app_source, "push-buffer", buffer, &ret); + + /* Free the buffer now that we are done with it */ + gst_buffer_unref (buffer); + + if (ret != GST_FLOW_OK) { + /* We got some error, stop sending data */ + return FALSE; + } + + return TRUE; +} + +/* This signal callback triggers when appsrc needs data. Here, we add an idle handler + * to the mainloop to start pushing data into the appsrc */ +static void start_feed (GstElement *playbin, guint size, CustomData *data) { + if (data->sourceid == 0) { + g_print ("Start feeding\n"); + data->sourceid = g_idle_add ((GSourceFunc) push_data, data); + } +} + +/* This callback triggers when appsrc has enough data and we can stop sending. + * We remove the idle handler from the mainloop */ +static void stop_feed (GstElement *playbin, CustomData *data) { + if (data->sourceid != 0) { + g_print ("Stop feeding\n"); + g_source_remove (data->sourceid); + data->sourceid = 0; + } +} + +/* The appsink has received a buffer */ +static void new_buffer (GstElement *sink, CustomData *data) { + GstBuffer *buffer; + + /* Retrieve the buffer */ + g_signal_emit_by_name (sink, "pull-buffer", &buffer); + if (buffer) { + /* The only thing we do in this example is print a * to indicate a received buffer */ + g_print ("*"); + gst_buffer_unref (buffer); + } +} + +/* This function is called when an error message is posted on the bus */ +static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + GError *err; + gchar *debug_info; + + /* Print error details on the screen */ + gst_message_parse_error (msg, &err, &debug_info); + g_printerr ("Error received from element %s: %s\n", GST_OBJECT_NAME (msg->src), err->message); + g_printerr ("Debugging information: %s\n", debug_info ? debug_info : "none"); + g_clear_error (&err); + g_free (debug_info); + + g_main_loop_quit (data->main_loop); +} + +int main(int argc, char *argv[]) { + CustomData data; + GstPadTemplate *tee_src_pad_template; + GstPad *tee_audio_pad, *tee_video_pad, *tee_app_pad; + GstPad *queue_audio_pad, *queue_video_pad, *queue_app_pad; + gchar *audio_caps_text; + GstCaps *audio_caps; + GstBus *bus; + + /* Initialize cumstom data structure */ + memset (&data, 0, sizeof (data)); + data.b = 1; /* For waveform generation */ + data.d = 1; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Create the elements */ + data.app_source = gst_element_factory_make ("appsrc", "audio_source"); + data.tee = gst_element_factory_make ("tee", "tee"); + data.audio_queue = gst_element_factory_make ("queue", "audio_queue"); + data.audio_convert1 = gst_element_factory_make ("audioconvert", "audio_convert1"); + data.audio_sink = gst_element_factory_make ("autoaudiosink", "audio_sink"); + data.video_queue = gst_element_factory_make ("queue", "video_queue"); + data.audio_convert2 = gst_element_factory_make ("audioconvert", "audio_convert2"); + data.visual = gst_element_factory_make ("wavescope", "visual"); + data.video_convert = gst_element_factory_make ("ffmpegcolorspace", "csp"); + data.video_sink = gst_element_factory_make ("autovideosink", "video_sink"); + data.app_queue = gst_element_factory_make ("queue", "app_queue"); + data.app_sink = gst_element_factory_make ("appsink", "app_sink"); + + /* Create the empty pipeline */ + data.pipeline = gst_pipeline_new ("test-pipeline"); + + if (!data.pipeline || !data.app_source || !data.tee || !data.audio_queue || !data.audio_convert1 || !data.audio_sink || + !data.video_queue || !data.audio_convert2 || !data.visual || !data.video_convert || !data.video_sink || !data.app_queue || !data.app_sink) { + g_printerr ("Not all elements could be created.\n"); + return -1; + } + + /* Configure wavescope */ + g_object_set (data.visual, "shader", 0, "style", 0, NULL); + + /* Configure appsrc */ + audio_caps_text = g_strdup_printf (AUDIO_CAPS, SAMPLE_RATE); + audio_caps = gst_caps_from_string (audio_caps_text); + g_object_set (data.app_source, "caps", audio_caps, NULL); + g_signal_connect (data.app_source, "need-data", G_CALLBACK (start_feed), &data); + g_signal_connect (data.app_source, "enough-data", G_CALLBACK (stop_feed), &data); + + /* Configure appsink */ + g_object_set (data.app_sink, "emit-signals", TRUE, "caps", audio_caps, NULL); + g_signal_connect (data.app_sink, "new-buffer", G_CALLBACK (new_buffer), &data); + gst_caps_unref (audio_caps); + g_free (audio_caps_text); + + /* Link all elements that can be automatically linked because they have "Always" pads */ + gst_bin_add_many (GST_BIN (data.pipeline), data.app_source, data.tee, data.audio_queue, data.audio_convert1, + data.audio_sink, data.video_queue, data.audio_convert2, data.visual, data.video_convert, data.video_sink, data.app_queue, + data.app_sink, NULL); + if (gst_element_link_many (data.app_source, data.tee, NULL) != TRUE || + gst_element_link_many (data.audio_queue, data.audio_convert1, data.audio_sink, NULL) != TRUE || + gst_element_link_many (data.video_queue, data.audio_convert2, data.visual, data.video_convert, data.video_sink, NULL) != TRUE || + gst_element_link_many (data.app_queue, data.app_sink, NULL) != TRUE) { + g_printerr ("Elements could not be linked.\n"); + gst_object_unref (data.pipeline); + return -1; + } + + /* Manually link the Tee, which has "Request" pads */ + tee_src_pad_template = gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS (data.tee), "src%d"); + tee_audio_pad = gst_element_request_pad (data.tee, tee_src_pad_template, NULL, NULL); + g_print ("Obtained request pad %s for audio branch.\n", gst_pad_get_name (tee_audio_pad)); + queue_audio_pad = gst_element_get_static_pad (data.audio_queue, "sink"); + tee_video_pad = gst_element_request_pad (data.tee, tee_src_pad_template, NULL, NULL); + g_print ("Obtained request pad %s for video branch.\n", gst_pad_get_name (tee_video_pad)); + queue_video_pad = gst_element_get_static_pad (data.video_queue, "sink"); + tee_app_pad = gst_element_request_pad (data.tee, tee_src_pad_template, NULL, NULL); + g_print ("Obtained request pad %s for app branch.\n", gst_pad_get_name (tee_app_pad)); + queue_app_pad = gst_element_get_static_pad (data.app_queue, "sink"); + if (gst_pad_link (tee_audio_pad, queue_audio_pad) != GST_PAD_LINK_OK || + gst_pad_link (tee_video_pad, queue_video_pad) != GST_PAD_LINK_OK || + gst_pad_link (tee_app_pad, queue_app_pad) != GST_PAD_LINK_OK) { + g_printerr ("Tee could not be linked\n"); + gst_object_unref (data.pipeline); + return -1; + } + gst_object_unref (queue_audio_pad); + gst_object_unref (queue_video_pad); + gst_object_unref (queue_app_pad); + + /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ + bus = gst_element_get_bus (data.pipeline); + gst_bus_add_signal_watch (bus); + g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, &data); + gst_object_unref (bus); + + /* Start playing the pipeline */ + gst_element_set_state (data.pipeline, GST_STATE_PLAYING); + + /* Create a GLib Main Loop and set it to run */ + data.main_loop = g_main_loop_new (NULL, FALSE); + g_main_loop_run (data.main_loop); + + /* Release the request pads from the Tee, and unref them */ + gst_element_release_request_pad (data.tee, tee_audio_pad); + gst_element_release_request_pad (data.tee, tee_video_pad); + gst_element_release_request_pad (data.tee, tee_app_pad); + gst_object_unref (tee_audio_pad); + gst_object_unref (tee_video_pad); + gst_object_unref (tee_app_pad); + + /* Free resources */ + gst_element_set_state (data.pipeline, GST_STATE_NULL); + gst_object_unref (data.pipeline); + return 0; +} diff --git a/vs/2010/tutorials/basic-tutorial-8/basic-tutorial-8.vcxproj b/vs/2010/tutorials/basic-tutorial-8/basic-tutorial-8.vcxproj new file mode 100644 index 0000000000..9d1d4eb292 --- /dev/null +++ b/vs/2010/tutorials/basic-tutorial-8/basic-tutorial-8.vcxproj @@ -0,0 +1,85 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {12F59BBB-208F-4F78-BB9C-4A15D2A9AB2E} + Win32Proj + basictutorial8 + + + + Application + true + Unicode + + + Application + false + true + Unicode + + + + + + + + + + + + + + + + + true + + + false + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + true + + + + + + + + + \ No newline at end of file diff --git a/vs/2010/tutorials/basic-tutorial-8/basic-tutorial-8.vcxproj.filters b/vs/2010/tutorials/basic-tutorial-8/basic-tutorial-8.vcxproj.filters new file mode 100644 index 0000000000..368db13680 --- /dev/null +++ b/vs/2010/tutorials/basic-tutorial-8/basic-tutorial-8.vcxproj.filters @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/vs/2010/tutorials/tutorials.sln b/vs/2010/tutorials/tutorials.sln index 3e2720f66e..238a65800d 100644 --- a/vs/2010/tutorials/tutorials.sln +++ b/vs/2010/tutorials/tutorials.sln @@ -19,6 +19,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-6", "basic-t EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-7", "basic-tutorial-7\basic-tutorial-7.vcxproj", "{B1666543-AE05-46BF-9528-95916A02A9D4}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-8", "basic-tutorial-8\basic-tutorial-8.vcxproj", "{12F59BBB-208F-4F78-BB9C-4A15D2A9AB2E}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -61,6 +63,10 @@ Global {B1666543-AE05-46BF-9528-95916A02A9D4}.Debug|Win32.Build.0 = Debug|Win32 {B1666543-AE05-46BF-9528-95916A02A9D4}.Release|Win32.ActiveCfg = Release|Win32 {B1666543-AE05-46BF-9528-95916A02A9D4}.Release|Win32.Build.0 = Release|Win32 + {12F59BBB-208F-4F78-BB9C-4A15D2A9AB2E}.Debug|Win32.ActiveCfg = Debug|Win32 + {12F59BBB-208F-4F78-BB9C-4A15D2A9AB2E}.Debug|Win32.Build.0 = Debug|Win32 + {12F59BBB-208F-4F78-BB9C-4A15D2A9AB2E}.Release|Win32.ActiveCfg = Release|Win32 + {12F59BBB-208F-4F78-BB9C-4A15D2A9AB2E}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From 2cceb62cf3e035330e020a2dd14e6ad45bcd9865 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 11 May 2012 16:32:59 +0200 Subject: [PATCH 019/979] Re-created all project files using the new Wizard. This adds support for 64 bits to all tutorials. --- .../basic-tutorial-1/basic-tutorial-1.vcxproj | 44 +++--- .../basic-tutorial-2/basic-tutorial-2.vcxproj | 46 +++--- .../basic-tutorial-3/basic-tutorial-3.vcxproj | 46 +++--- .../basic-tutorial-4/basic-tutorial-4.vcxproj | 46 +++--- .../basic-tutorial-5/basic-tutorial-5.vcxproj | 54 ++++--- .../basic-tutorial-6/basic-tutorial-6.vcxproj | 47 +++--- .../basic-tutorial-7/basic-tutorial-7.vcxproj | 46 +++--- .../basic-tutorial-8/basic-tutorial-8.vcxproj | 46 +++--- .../playback-tutorial-1.vcxproj | 46 +++--- .../playback-tutorial-2.vcxproj | 46 +++--- vs/2010/tutorials/tutorials.sln | 142 ++++++++++++------ 11 files changed, 375 insertions(+), 234 deletions(-) diff --git a/vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj b/vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj index b726720063..1ed93ef986 100644 --- a/vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj +++ b/vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj @@ -5,23 +5,34 @@ Debug Win32 + + Debug + x64 + Release Win32 + + Release + x64 + + + + - {9DEC64B5-E1FA-4A55-9174-58FF94BDF432} Win32Proj - basictutorial1 + {63AEFB51-5FB8-409B-BDF3-893A23D28BF3} + v4.0 - + Application true Unicode - + Application false true @@ -30,24 +41,24 @@ - + - - + + - + - - + + - + true - + false - + @@ -62,7 +73,7 @@ %(AdditionalLibraryDirectories) - + Level3 @@ -74,13 +85,10 @@ Console - true + false true - - - diff --git a/vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj b/vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj index 218d82b609..5c77c45ae1 100644 --- a/vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj +++ b/vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj @@ -5,23 +5,34 @@ Debug Win32 + + Debug + x64 + Release Win32 + + Release + x64 + + + + - {F9127BA2-C3CB-4123-8967-32D5BABB3C34} Win32Proj - basictutorial2 + {4FA695D0-7A7B-4ED6-BA2B-B14997D8231E} + v4.0 - + Application true Unicode - + Application false true @@ -30,24 +41,24 @@ - + - - + + - + - - + + - + true - + false - + @@ -58,9 +69,11 @@ Console true + %(AdditionalDependencies) + %(AdditionalLibraryDirectories) - + Level3 @@ -72,13 +85,10 @@ Console - true + false true - - - diff --git a/vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj b/vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj index 6173514e84..9fa71cdc83 100644 --- a/vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj +++ b/vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj @@ -5,23 +5,34 @@ Debug Win32 + + Debug + x64 + Release Win32 + + Release + x64 + + + + - {D8595056-4F87-4767-A84C-07B7F67A6560} Win32Proj - basictutorial3 + {48361596-FE9B-4CC8-B846-B2897550E3A0} + v4.0 - + Application true Unicode - + Application false true @@ -30,24 +41,24 @@ - + - - + + - + - - + + - + true - + false - + @@ -58,9 +69,11 @@ Console true + %(AdditionalDependencies) + %(AdditionalLibraryDirectories) - + Level3 @@ -72,13 +85,10 @@ Console - true + false true - - - diff --git a/vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj b/vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj index ec24f2610c..1d43da710e 100644 --- a/vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj +++ b/vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj @@ -5,23 +5,34 @@ Debug Win32 + + Debug + x64 + Release Win32 + + Release + x64 + + + + - {1F5D411C-72FE-43BA-85BB-96DA7AC9C8D3} Win32Proj - basictutorial4 + {38771206-5047-4FE6-B0F8-E36C2C44EA3F} + v4.0 - + Application true Unicode - + Application false true @@ -30,24 +41,24 @@ - + - - + + - + - - + + - + true - + false - + @@ -58,9 +69,11 @@ Console true + %(AdditionalDependencies) + %(AdditionalLibraryDirectories) - + Level3 @@ -72,13 +85,10 @@ Console - true + false true - - - diff --git a/vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj b/vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj index 3069005f58..75c43a5910 100644 --- a/vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj +++ b/vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj @@ -5,23 +5,34 @@ Debug Win32 + + Debug + x64 + Release Win32 + + Release + x64 + + + + - {BB88B26A-DD54-42BF-9893-26E0FDF28050} Win32Proj - basictutorial5 + {71882E71-E5D8-47BE-A8FF-35F99B78A5A6} + v4.0 - + Application true Unicode - + Application false true @@ -30,28 +41,28 @@ - + - - - - + + + + - + - - - - + + + + - + true - + false - + @@ -62,9 +73,11 @@ Console true + %(AdditionalDependencies) + %(AdditionalLibraryDirectories) - + Level3 @@ -76,13 +89,10 @@ Console - true + false true - - - diff --git a/vs/2010/tutorials/basic-tutorial-6/basic-tutorial-6.vcxproj b/vs/2010/tutorials/basic-tutorial-6/basic-tutorial-6.vcxproj index 9019f7fb24..7d0c8bb1c3 100644 --- a/vs/2010/tutorials/basic-tutorial-6/basic-tutorial-6.vcxproj +++ b/vs/2010/tutorials/basic-tutorial-6/basic-tutorial-6.vcxproj @@ -5,22 +5,34 @@ Debug Win32 + + Debug + x64 + Release Win32 + + Release + x64 + + + + - {A2A55F96-F759-4AF6-84EB-96ABD9D82410} Win32Proj - basictutorial6 + {22CBF273-BFBC-41AB-842C-5E56045C1220} + v4.0 - + Application true + Unicode - + Application false true @@ -29,24 +41,24 @@ - + - - + + - + - - + + - + true - + false - + @@ -57,9 +69,11 @@ Console true + %(AdditionalDependencies) + %(AdditionalLibraryDirectories) - + Level3 @@ -71,13 +85,10 @@ Console - true + false true - - - diff --git a/vs/2010/tutorials/basic-tutorial-7/basic-tutorial-7.vcxproj b/vs/2010/tutorials/basic-tutorial-7/basic-tutorial-7.vcxproj index 2dc5323309..94d40872ef 100644 --- a/vs/2010/tutorials/basic-tutorial-7/basic-tutorial-7.vcxproj +++ b/vs/2010/tutorials/basic-tutorial-7/basic-tutorial-7.vcxproj @@ -5,23 +5,34 @@ Debug Win32 + + Debug + x64 + Release Win32 + + Release + x64 + + + + - {B1666543-AE05-46BF-9528-95916A02A9D4} Win32Proj - basictutorial7 + {16607817-1262-46A5-8FA2-5C5865189FE2} + v4.0 - + Application true Unicode - + Application false true @@ -30,24 +41,24 @@ - + - - + + - + - - + + - + true - + false - + @@ -58,9 +69,11 @@ Console true + %(AdditionalDependencies) + %(AdditionalLibraryDirectories) - + Level3 @@ -72,13 +85,10 @@ Console - true + false true - - - diff --git a/vs/2010/tutorials/basic-tutorial-8/basic-tutorial-8.vcxproj b/vs/2010/tutorials/basic-tutorial-8/basic-tutorial-8.vcxproj index 9d1d4eb292..d6877dbe10 100644 --- a/vs/2010/tutorials/basic-tutorial-8/basic-tutorial-8.vcxproj +++ b/vs/2010/tutorials/basic-tutorial-8/basic-tutorial-8.vcxproj @@ -5,23 +5,34 @@ Debug Win32 + + Debug + x64 + Release Win32 + + Release + x64 + + + + - {12F59BBB-208F-4F78-BB9C-4A15D2A9AB2E} Win32Proj - basictutorial8 + {7D5B2500-D176-45D5-AA39-BC70C6A58D59} + v4.0 - + Application true Unicode - + Application false true @@ -30,24 +41,24 @@ - + - - + + - + - - + + - + true - + false - + @@ -58,9 +69,11 @@ Console true + %(AdditionalDependencies) + %(AdditionalLibraryDirectories) - + Level3 @@ -72,13 +85,10 @@ Console - true + false true - - - diff --git a/vs/2010/tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj b/vs/2010/tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj index 8e1c77a28b..0f75ceedf0 100644 --- a/vs/2010/tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj +++ b/vs/2010/tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj @@ -5,23 +5,34 @@ Debug Win32 + + Debug + x64 + Release Win32 + + Release + x64 + + + + - {474353B0-D353-4DB7-A9EE-E210D1ED954B} Win32Proj - playbacktutorial1 + {EE66402B-FA3A-473F-ADC6-484B25B4B1DB} + v4.0 - + Application true Unicode - + Application false true @@ -30,24 +41,24 @@ - + - - + + - + - - + + - + true - + false - + @@ -58,9 +69,11 @@ Console true + %(AdditionalDependencies) + %(AdditionalLibraryDirectories) - + Level3 @@ -72,13 +85,10 @@ Console - true + false true - - - diff --git a/vs/2010/tutorials/playback-tutorial-2/playback-tutorial-2.vcxproj b/vs/2010/tutorials/playback-tutorial-2/playback-tutorial-2.vcxproj index 08e20db015..c63fd602f3 100644 --- a/vs/2010/tutorials/playback-tutorial-2/playback-tutorial-2.vcxproj +++ b/vs/2010/tutorials/playback-tutorial-2/playback-tutorial-2.vcxproj @@ -5,23 +5,34 @@ Debug Win32 + + Debug + x64 + Release Win32 + + Release + x64 + + + + - {4319F5D7-039A-44B5-B1A7-507DC627B24D} Win32Proj - playbacktutorial2 + {9AC36197-6B43-49D2-B747-75AA06550637} + v4.0 - + Application true Unicode - + Application false true @@ -30,24 +41,24 @@ - + - - + + - + - - + + - + true - + false - + @@ -58,9 +69,11 @@ Console true + %(AdditionalDependencies) + %(AdditionalLibraryDirectories) - + Level3 @@ -72,13 +85,10 @@ Console - true + false true - - - diff --git a/vs/2010/tutorials/tutorials.sln b/vs/2010/tutorials/tutorials.sln index 238a65800d..f03817bdb8 100644 --- a/vs/2010/tutorials/tutorials.sln +++ b/vs/2010/tutorials/tutorials.sln @@ -1,72 +1,114 @@  Microsoft Visual Studio Solution File, Format Version 11.00 # Visual C++ Express 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-1", "basic-tutorial-1\basic-tutorial-1.vcxproj", "{9DEC64B5-E1FA-4A55-9174-58FF94BDF432}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-1", "basic-tutorial-1\basic-tutorial-1.vcxproj", "{63AEFB51-5FB8-409B-BDF3-893A23D28BF3}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-2", "basic-tutorial-2\basic-tutorial-2.vcxproj", "{F9127BA2-C3CB-4123-8967-32D5BABB3C34}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-2", "basic-tutorial-2\basic-tutorial-2.vcxproj", "{4FA695D0-7A7B-4ED6-BA2B-B14997D8231E}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-3", "basic-tutorial-3\basic-tutorial-3.vcxproj", "{D8595056-4F87-4767-A84C-07B7F67A6560}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-3", "basic-tutorial-3\basic-tutorial-3.vcxproj", "{48361596-FE9B-4CC8-B846-B2897550E3A0}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-4", "basic-tutorial-4\basic-tutorial-4.vcxproj", "{1F5D411C-72FE-43BA-85BB-96DA7AC9C8D3}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-4", "basic-tutorial-4\basic-tutorial-4.vcxproj", "{38771206-5047-4FE6-B0F8-E36C2C44EA3F}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-5", "basic-tutorial-5\basic-tutorial-5.vcxproj", "{BB88B26A-DD54-42BF-9893-26E0FDF28050}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-5", "basic-tutorial-5\basic-tutorial-5.vcxproj", "{71882E71-E5D8-47BE-A8FF-35F99B78A5A6}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "playback-tutorial-1", "playback-tutorial-1\playback-tutorial-1.vcxproj", "{474353B0-D353-4DB7-A9EE-E210D1ED954B}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-6", "basic-tutorial-6\basic-tutorial-6.vcxproj", "{22CBF273-BFBC-41AB-842C-5E56045C1220}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "playback-tutorial-2", "playback-tutorial-2\playback-tutorial-2.vcxproj", "{4319F5D7-039A-44B5-B1A7-507DC627B24D}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-7", "basic-tutorial-7\basic-tutorial-7.vcxproj", "{16607817-1262-46A5-8FA2-5C5865189FE2}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-6", "basic-tutorial-6\basic-tutorial-6.vcxproj", "{A2A55F96-F759-4AF6-84EB-96ABD9D82410}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-8", "basic-tutorial-8\basic-tutorial-8.vcxproj", "{7D5B2500-D176-45D5-AA39-BC70C6A58D59}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-7", "basic-tutorial-7\basic-tutorial-7.vcxproj", "{B1666543-AE05-46BF-9528-95916A02A9D4}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "playback-tutorial-1", "playback-tutorial-1\playback-tutorial-1.vcxproj", "{EE66402B-FA3A-473F-ADC6-484B25B4B1DB}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-8", "basic-tutorial-8\basic-tutorial-8.vcxproj", "{12F59BBB-208F-4F78-BB9C-4A15D2A9AB2E}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "playback-tutorial-2", "playback-tutorial-2\playback-tutorial-2.vcxproj", "{9AC36197-6B43-49D2-B747-75AA06550637}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 Release|Win32 = Release|Win32 + Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {9DEC64B5-E1FA-4A55-9174-58FF94BDF432}.Debug|Win32.ActiveCfg = Debug|Win32 - {9DEC64B5-E1FA-4A55-9174-58FF94BDF432}.Debug|Win32.Build.0 = Debug|Win32 - {9DEC64B5-E1FA-4A55-9174-58FF94BDF432}.Release|Win32.ActiveCfg = Release|Win32 - {9DEC64B5-E1FA-4A55-9174-58FF94BDF432}.Release|Win32.Build.0 = Release|Win32 - {F9127BA2-C3CB-4123-8967-32D5BABB3C34}.Debug|Win32.ActiveCfg = Debug|Win32 - {F9127BA2-C3CB-4123-8967-32D5BABB3C34}.Debug|Win32.Build.0 = Debug|Win32 - {F9127BA2-C3CB-4123-8967-32D5BABB3C34}.Release|Win32.ActiveCfg = Release|Win32 - {F9127BA2-C3CB-4123-8967-32D5BABB3C34}.Release|Win32.Build.0 = Release|Win32 - {D8595056-4F87-4767-A84C-07B7F67A6560}.Debug|Win32.ActiveCfg = Debug|Win32 - {D8595056-4F87-4767-A84C-07B7F67A6560}.Debug|Win32.Build.0 = Debug|Win32 - {D8595056-4F87-4767-A84C-07B7F67A6560}.Release|Win32.ActiveCfg = Release|Win32 - {D8595056-4F87-4767-A84C-07B7F67A6560}.Release|Win32.Build.0 = Release|Win32 - {1F5D411C-72FE-43BA-85BB-96DA7AC9C8D3}.Debug|Win32.ActiveCfg = Debug|Win32 - {1F5D411C-72FE-43BA-85BB-96DA7AC9C8D3}.Debug|Win32.Build.0 = Debug|Win32 - {1F5D411C-72FE-43BA-85BB-96DA7AC9C8D3}.Release|Win32.ActiveCfg = Release|Win32 - {1F5D411C-72FE-43BA-85BB-96DA7AC9C8D3}.Release|Win32.Build.0 = Release|Win32 - {BB88B26A-DD54-42BF-9893-26E0FDF28050}.Debug|Win32.ActiveCfg = Debug|Win32 - {BB88B26A-DD54-42BF-9893-26E0FDF28050}.Debug|Win32.Build.0 = Debug|Win32 - {BB88B26A-DD54-42BF-9893-26E0FDF28050}.Release|Win32.ActiveCfg = Release|Win32 - {BB88B26A-DD54-42BF-9893-26E0FDF28050}.Release|Win32.Build.0 = Release|Win32 - {474353B0-D353-4DB7-A9EE-E210D1ED954B}.Debug|Win32.ActiveCfg = Debug|Win32 - {474353B0-D353-4DB7-A9EE-E210D1ED954B}.Debug|Win32.Build.0 = Debug|Win32 - {474353B0-D353-4DB7-A9EE-E210D1ED954B}.Release|Win32.ActiveCfg = Release|Win32 - {474353B0-D353-4DB7-A9EE-E210D1ED954B}.Release|Win32.Build.0 = Release|Win32 - {4319F5D7-039A-44B5-B1A7-507DC627B24D}.Debug|Win32.ActiveCfg = Debug|Win32 - {4319F5D7-039A-44B5-B1A7-507DC627B24D}.Debug|Win32.Build.0 = Debug|Win32 - {4319F5D7-039A-44B5-B1A7-507DC627B24D}.Release|Win32.ActiveCfg = Release|Win32 - {4319F5D7-039A-44B5-B1A7-507DC627B24D}.Release|Win32.Build.0 = Release|Win32 - {A2A55F96-F759-4AF6-84EB-96ABD9D82410}.Debug|Win32.ActiveCfg = Debug|Win32 - {A2A55F96-F759-4AF6-84EB-96ABD9D82410}.Debug|Win32.Build.0 = Debug|Win32 - {A2A55F96-F759-4AF6-84EB-96ABD9D82410}.Release|Win32.ActiveCfg = Release|Win32 - {A2A55F96-F759-4AF6-84EB-96ABD9D82410}.Release|Win32.Build.0 = Release|Win32 - {B1666543-AE05-46BF-9528-95916A02A9D4}.Debug|Win32.ActiveCfg = Debug|Win32 - {B1666543-AE05-46BF-9528-95916A02A9D4}.Debug|Win32.Build.0 = Debug|Win32 - {B1666543-AE05-46BF-9528-95916A02A9D4}.Release|Win32.ActiveCfg = Release|Win32 - {B1666543-AE05-46BF-9528-95916A02A9D4}.Release|Win32.Build.0 = Release|Win32 - {12F59BBB-208F-4F78-BB9C-4A15D2A9AB2E}.Debug|Win32.ActiveCfg = Debug|Win32 - {12F59BBB-208F-4F78-BB9C-4A15D2A9AB2E}.Debug|Win32.Build.0 = Debug|Win32 - {12F59BBB-208F-4F78-BB9C-4A15D2A9AB2E}.Release|Win32.ActiveCfg = Release|Win32 - {12F59BBB-208F-4F78-BB9C-4A15D2A9AB2E}.Release|Win32.Build.0 = Release|Win32 + {63AEFB51-5FB8-409B-BDF3-893A23D28BF3}.Debug|Win32.ActiveCfg = Debug|Win32 + {63AEFB51-5FB8-409B-BDF3-893A23D28BF3}.Debug|Win32.Build.0 = Debug|Win32 + {63AEFB51-5FB8-409B-BDF3-893A23D28BF3}.Debug|x64.ActiveCfg = Debug|x64 + {63AEFB51-5FB8-409B-BDF3-893A23D28BF3}.Debug|x64.Build.0 = Debug|x64 + {63AEFB51-5FB8-409B-BDF3-893A23D28BF3}.Release|Win32.ActiveCfg = Release|Win32 + {63AEFB51-5FB8-409B-BDF3-893A23D28BF3}.Release|Win32.Build.0 = Release|Win32 + {63AEFB51-5FB8-409B-BDF3-893A23D28BF3}.Release|x64.ActiveCfg = Release|x64 + {63AEFB51-5FB8-409B-BDF3-893A23D28BF3}.Release|x64.Build.0 = Release|x64 + {4FA695D0-7A7B-4ED6-BA2B-B14997D8231E}.Debug|Win32.ActiveCfg = Debug|Win32 + {4FA695D0-7A7B-4ED6-BA2B-B14997D8231E}.Debug|Win32.Build.0 = Debug|Win32 + {4FA695D0-7A7B-4ED6-BA2B-B14997D8231E}.Debug|x64.ActiveCfg = Debug|x64 + {4FA695D0-7A7B-4ED6-BA2B-B14997D8231E}.Debug|x64.Build.0 = Debug|x64 + {4FA695D0-7A7B-4ED6-BA2B-B14997D8231E}.Release|Win32.ActiveCfg = Release|Win32 + {4FA695D0-7A7B-4ED6-BA2B-B14997D8231E}.Release|Win32.Build.0 = Release|Win32 + {4FA695D0-7A7B-4ED6-BA2B-B14997D8231E}.Release|x64.ActiveCfg = Release|x64 + {4FA695D0-7A7B-4ED6-BA2B-B14997D8231E}.Release|x64.Build.0 = Release|x64 + {48361596-FE9B-4CC8-B846-B2897550E3A0}.Debug|Win32.ActiveCfg = Debug|Win32 + {48361596-FE9B-4CC8-B846-B2897550E3A0}.Debug|Win32.Build.0 = Debug|Win32 + {48361596-FE9B-4CC8-B846-B2897550E3A0}.Debug|x64.ActiveCfg = Debug|x64 + {48361596-FE9B-4CC8-B846-B2897550E3A0}.Debug|x64.Build.0 = Debug|x64 + {48361596-FE9B-4CC8-B846-B2897550E3A0}.Release|Win32.ActiveCfg = Release|Win32 + {48361596-FE9B-4CC8-B846-B2897550E3A0}.Release|Win32.Build.0 = Release|Win32 + {48361596-FE9B-4CC8-B846-B2897550E3A0}.Release|x64.ActiveCfg = Release|x64 + {48361596-FE9B-4CC8-B846-B2897550E3A0}.Release|x64.Build.0 = Release|x64 + {38771206-5047-4FE6-B0F8-E36C2C44EA3F}.Debug|Win32.ActiveCfg = Debug|Win32 + {38771206-5047-4FE6-B0F8-E36C2C44EA3F}.Debug|Win32.Build.0 = Debug|Win32 + {38771206-5047-4FE6-B0F8-E36C2C44EA3F}.Debug|x64.ActiveCfg = Debug|x64 + {38771206-5047-4FE6-B0F8-E36C2C44EA3F}.Debug|x64.Build.0 = Debug|x64 + {38771206-5047-4FE6-B0F8-E36C2C44EA3F}.Release|Win32.ActiveCfg = Release|Win32 + {38771206-5047-4FE6-B0F8-E36C2C44EA3F}.Release|Win32.Build.0 = Release|Win32 + {38771206-5047-4FE6-B0F8-E36C2C44EA3F}.Release|x64.ActiveCfg = Release|x64 + {38771206-5047-4FE6-B0F8-E36C2C44EA3F}.Release|x64.Build.0 = Release|x64 + {71882E71-E5D8-47BE-A8FF-35F99B78A5A6}.Debug|Win32.ActiveCfg = Debug|Win32 + {71882E71-E5D8-47BE-A8FF-35F99B78A5A6}.Debug|Win32.Build.0 = Debug|Win32 + {71882E71-E5D8-47BE-A8FF-35F99B78A5A6}.Debug|x64.ActiveCfg = Debug|x64 + {71882E71-E5D8-47BE-A8FF-35F99B78A5A6}.Debug|x64.Build.0 = Debug|x64 + {71882E71-E5D8-47BE-A8FF-35F99B78A5A6}.Release|Win32.ActiveCfg = Release|Win32 + {71882E71-E5D8-47BE-A8FF-35F99B78A5A6}.Release|Win32.Build.0 = Release|Win32 + {71882E71-E5D8-47BE-A8FF-35F99B78A5A6}.Release|x64.ActiveCfg = Release|x64 + {71882E71-E5D8-47BE-A8FF-35F99B78A5A6}.Release|x64.Build.0 = Release|x64 + {22CBF273-BFBC-41AB-842C-5E56045C1220}.Debug|Win32.ActiveCfg = Debug|Win32 + {22CBF273-BFBC-41AB-842C-5E56045C1220}.Debug|Win32.Build.0 = Debug|Win32 + {22CBF273-BFBC-41AB-842C-5E56045C1220}.Debug|x64.ActiveCfg = Debug|x64 + {22CBF273-BFBC-41AB-842C-5E56045C1220}.Debug|x64.Build.0 = Debug|x64 + {22CBF273-BFBC-41AB-842C-5E56045C1220}.Release|Win32.ActiveCfg = Release|Win32 + {22CBF273-BFBC-41AB-842C-5E56045C1220}.Release|Win32.Build.0 = Release|Win32 + {22CBF273-BFBC-41AB-842C-5E56045C1220}.Release|x64.ActiveCfg = Release|x64 + {22CBF273-BFBC-41AB-842C-5E56045C1220}.Release|x64.Build.0 = Release|x64 + {16607817-1262-46A5-8FA2-5C5865189FE2}.Debug|Win32.ActiveCfg = Debug|Win32 + {16607817-1262-46A5-8FA2-5C5865189FE2}.Debug|Win32.Build.0 = Debug|Win32 + {16607817-1262-46A5-8FA2-5C5865189FE2}.Debug|x64.ActiveCfg = Debug|x64 + {16607817-1262-46A5-8FA2-5C5865189FE2}.Debug|x64.Build.0 = Debug|x64 + {16607817-1262-46A5-8FA2-5C5865189FE2}.Release|Win32.ActiveCfg = Release|Win32 + {16607817-1262-46A5-8FA2-5C5865189FE2}.Release|Win32.Build.0 = Release|Win32 + {16607817-1262-46A5-8FA2-5C5865189FE2}.Release|x64.ActiveCfg = Release|x64 + {16607817-1262-46A5-8FA2-5C5865189FE2}.Release|x64.Build.0 = Release|x64 + {7D5B2500-D176-45D5-AA39-BC70C6A58D59}.Debug|Win32.ActiveCfg = Debug|Win32 + {7D5B2500-D176-45D5-AA39-BC70C6A58D59}.Debug|Win32.Build.0 = Debug|Win32 + {7D5B2500-D176-45D5-AA39-BC70C6A58D59}.Debug|x64.ActiveCfg = Debug|x64 + {7D5B2500-D176-45D5-AA39-BC70C6A58D59}.Debug|x64.Build.0 = Debug|x64 + {7D5B2500-D176-45D5-AA39-BC70C6A58D59}.Release|Win32.ActiveCfg = Release|Win32 + {7D5B2500-D176-45D5-AA39-BC70C6A58D59}.Release|Win32.Build.0 = Release|Win32 + {7D5B2500-D176-45D5-AA39-BC70C6A58D59}.Release|x64.ActiveCfg = Release|x64 + {7D5B2500-D176-45D5-AA39-BC70C6A58D59}.Release|x64.Build.0 = Release|x64 + {EE66402B-FA3A-473F-ADC6-484B25B4B1DB}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE66402B-FA3A-473F-ADC6-484B25B4B1DB}.Debug|Win32.Build.0 = Debug|Win32 + {EE66402B-FA3A-473F-ADC6-484B25B4B1DB}.Debug|x64.ActiveCfg = Debug|x64 + {EE66402B-FA3A-473F-ADC6-484B25B4B1DB}.Debug|x64.Build.0 = Debug|x64 + {EE66402B-FA3A-473F-ADC6-484B25B4B1DB}.Release|Win32.ActiveCfg = Release|Win32 + {EE66402B-FA3A-473F-ADC6-484B25B4B1DB}.Release|Win32.Build.0 = Release|Win32 + {EE66402B-FA3A-473F-ADC6-484B25B4B1DB}.Release|x64.ActiveCfg = Release|x64 + {EE66402B-FA3A-473F-ADC6-484B25B4B1DB}.Release|x64.Build.0 = Release|x64 + {9AC36197-6B43-49D2-B747-75AA06550637}.Debug|Win32.ActiveCfg = Debug|Win32 + {9AC36197-6B43-49D2-B747-75AA06550637}.Debug|Win32.Build.0 = Debug|Win32 + {9AC36197-6B43-49D2-B747-75AA06550637}.Debug|x64.ActiveCfg = Debug|x64 + {9AC36197-6B43-49D2-B747-75AA06550637}.Debug|x64.Build.0 = Debug|x64 + {9AC36197-6B43-49D2-B747-75AA06550637}.Release|Win32.ActiveCfg = Release|Win32 + {9AC36197-6B43-49D2-B747-75AA06550637}.Release|Win32.Build.0 = Release|Win32 + {9AC36197-6B43-49D2-B747-75AA06550637}.Release|x64.ActiveCfg = Release|x64 + {9AC36197-6B43-49D2-B747-75AA06550637}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From 64dc844baa8b7e170c17f5dddee654b7f42f1b76 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 11 May 2012 16:55:37 +0200 Subject: [PATCH 020/979] Minor changes --- gst-sdk/tutorials/basic-tutorial-8.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/gst-sdk/tutorials/basic-tutorial-8.c b/gst-sdk/tutorials/basic-tutorial-8.c index 48e3e81339..4787e66e95 100644 --- a/gst-sdk/tutorials/basic-tutorial-8.c +++ b/gst-sdk/tutorials/basic-tutorial-8.c @@ -1,10 +1,9 @@ #include #include -#include #define CHUNK_SIZE 1024 /* Amount of bytes we are sending in each buffer */ #define SAMPLE_RATE 44100 /* Samples per second we are sending */ -#define AUDIO_CAPS "audio/x-raw-int,channels=1,rate=%d,signed=(boolean)true,width=16,depth=16,endianness=1234" +#define AUDIO_CAPS "audio/x-raw-int,channels=1,rate=%d,signed=(boolean)true,width=16,depth=16,endianness=BYTE_ORDER" /* Structure to contain all our information, so we can pass it to callbacks */ typedef struct _CustomData { @@ -12,7 +11,7 @@ typedef struct _CustomData { GstElement *video_queue, *audio_convert2, *visual, *video_convert, *video_sink; GstElement *app_queue, *app_sink; - gint time; /* For timestamp generation */ + guint64 num_samples; /* Number of samples generated so far (for timestamp generation) */ gfloat a, b, c, d; /* For waveform generation */ guint sourceid; /* To control the GSource */ @@ -28,7 +27,7 @@ static gboolean push_data (CustomData *data) { GstBuffer *buffer; GstFlowReturn ret; int i; - gshort *raw; + gint16 *raw; gint num_samples = CHUNK_SIZE / 2; /* Because each sample is 16 bits */ gfloat freq; @@ -36,20 +35,20 @@ static gboolean push_data (CustomData *data) { buffer = gst_buffer_new_and_alloc (CHUNK_SIZE); /* Set its timestamp and duration */ - GST_BUFFER_TIMESTAMP (buffer) = GST_SECOND * data->time / SAMPLE_RATE; - GST_BUFFER_DURATION (buffer) = GST_SECOND * CHUNK_SIZE / SAMPLE_RATE; + GST_BUFFER_TIMESTAMP (buffer) = gst_util_uint64_scale (data->num_samples, GST_SECOND, SAMPLE_RATE); + GST_BUFFER_DURATION (buffer) = gst_util_uint64_scale (CHUNK_SIZE, GST_SECOND, SAMPLE_RATE); /* Generate some psychodelic waveforms */ - raw = (gshort *)GST_BUFFER_DATA (buffer); + raw = (gint16 *)GST_BUFFER_DATA (buffer); data->c += data->d; data->d -= data->c / 1000; freq = 1100 + 1000 * data->d; for (i = 0; i < num_samples; i++) { data->a += data->b; data->b -= data->a / freq; - raw[i] = (gshort)(500 * data->a); + raw[i] = (gint16)(500 * data->a); } - data->time += num_samples; + data->num_samples += num_samples; /* Push the buffer into the appsrc */ g_signal_emit_by_name (data->app_source, "push-buffer", buffer, &ret); From fed3696eef6ec575b1a4bff3e25387bcdb6160ab Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 14 May 2012 13:33:01 +0200 Subject: [PATCH 021/979] Cosmetic: Fixed parameter name. --- gst-sdk/tutorials/basic-tutorial-8.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gst-sdk/tutorials/basic-tutorial-8.c b/gst-sdk/tutorials/basic-tutorial-8.c index 4787e66e95..3edfe47faf 100644 --- a/gst-sdk/tutorials/basic-tutorial-8.c +++ b/gst-sdk/tutorials/basic-tutorial-8.c @@ -66,7 +66,7 @@ static gboolean push_data (CustomData *data) { /* This signal callback triggers when appsrc needs data. Here, we add an idle handler * to the mainloop to start pushing data into the appsrc */ -static void start_feed (GstElement *playbin, guint size, CustomData *data) { +static void start_feed (GstElement *source, guint size, CustomData *data) { if (data->sourceid == 0) { g_print ("Start feeding\n"); data->sourceid = g_idle_add ((GSourceFunc) push_data, data); @@ -75,7 +75,7 @@ static void start_feed (GstElement *playbin, guint size, CustomData *data) { /* This callback triggers when appsrc has enough data and we can stop sending. * We remove the idle handler from the mainloop */ -static void stop_feed (GstElement *playbin, CustomData *data) { +static void stop_feed (GstElement *source, CustomData *data) { if (data->sourceid != 0) { g_print ("Stop feeding\n"); g_source_remove (data->sourceid); From 6f313a55c6fc47fb23bf0835a89c302988e6a830 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 15 May 2012 12:21:42 +0200 Subject: [PATCH 022/979] Added audioresample to make sure the audio sink will link happily. --- gst-sdk/tutorials/basic-tutorial-7.c | 9 +++++---- gst-sdk/tutorials/basic-tutorial-8.c | 12 +++++++----- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/gst-sdk/tutorials/basic-tutorial-7.c b/gst-sdk/tutorials/basic-tutorial-7.c index c5a737beda..3201d647a7 100644 --- a/gst-sdk/tutorials/basic-tutorial-7.c +++ b/gst-sdk/tutorials/basic-tutorial-7.c @@ -1,7 +1,7 @@ #include int main(int argc, char *argv[]) { - GstElement *pipeline, *audio_source, *tee, *audio_queue, *audio_convert, *audio_sink; + GstElement *pipeline, *audio_source, *tee, *audio_queue, *audio_convert, *audio_resample, *audio_sink; GstElement *video_queue, *visual, *video_convert, *video_sink; GstBus *bus; GstMessage *msg; @@ -17,6 +17,7 @@ int main(int argc, char *argv[]) { tee = gst_element_factory_make ("tee", "tee"); audio_queue = gst_element_factory_make ("queue", "audio_queue"); audio_convert = gst_element_factory_make ("audioconvert", "audio_convert"); + audio_resample = gst_element_factory_make ("audioresample", "audio_resample"); audio_sink = gst_element_factory_make ("autoaudiosink", "audio_sink"); video_queue = gst_element_factory_make ("queue", "video_queue"); visual = gst_element_factory_make ("wavescope", "visual"); @@ -26,7 +27,7 @@ int main(int argc, char *argv[]) { /* Create the empty pipeline */ pipeline = gst_pipeline_new ("test-pipeline"); - if (!pipeline || !audio_source || !tee || !audio_queue || !audio_convert || !audio_sink || + if (!pipeline || !audio_source || !tee || !audio_queue || !audio_convert || !audio_resample || !audio_sink || !video_queue || !visual || !video_convert || !video_sink) { g_printerr ("Not all elements could be created.\n"); return -1; @@ -37,10 +38,10 @@ int main(int argc, char *argv[]) { g_object_set (visual, "shader", 0, "style", 1, NULL); /* Link all elements that can be automatically linked because they have "Always" pads */ - gst_bin_add_many (GST_BIN (pipeline), audio_source, tee, audio_queue, audio_convert, audio_sink, + gst_bin_add_many (GST_BIN (pipeline), audio_source, tee, audio_queue, audio_convert, audio_resample, audio_sink, video_queue, visual, video_convert, video_sink, NULL); if (gst_element_link_many (audio_source, tee, NULL) != TRUE || - gst_element_link_many (audio_queue, audio_convert, audio_sink, NULL) != TRUE || + gst_element_link_many (audio_queue, audio_convert, audio_resample, audio_sink, NULL) != TRUE || gst_element_link_many (video_queue, visual, video_convert, video_sink, NULL) != TRUE) { g_printerr ("Elements could not be linked.\n"); gst_object_unref (pipeline); diff --git a/gst-sdk/tutorials/basic-tutorial-8.c b/gst-sdk/tutorials/basic-tutorial-8.c index 3edfe47faf..d74aad80d3 100644 --- a/gst-sdk/tutorials/basic-tutorial-8.c +++ b/gst-sdk/tutorials/basic-tutorial-8.c @@ -7,7 +7,7 @@ /* Structure to contain all our information, so we can pass it to callbacks */ typedef struct _CustomData { - GstElement *pipeline, *app_source, *tee, *audio_queue, *audio_convert1, *audio_sink; + GstElement *pipeline, *app_source, *tee, *audio_queue, *audio_convert1, *audio_resample, *audio_sink; GstElement *video_queue, *audio_convert2, *visual, *video_convert, *video_sink; GstElement *app_queue, *app_sink; @@ -133,6 +133,7 @@ int main(int argc, char *argv[]) { data.tee = gst_element_factory_make ("tee", "tee"); data.audio_queue = gst_element_factory_make ("queue", "audio_queue"); data.audio_convert1 = gst_element_factory_make ("audioconvert", "audio_convert1"); + data.audio_resample = gst_element_factory_make ("audioresample", "audio_resample"); data.audio_sink = gst_element_factory_make ("autoaudiosink", "audio_sink"); data.video_queue = gst_element_factory_make ("queue", "video_queue"); data.audio_convert2 = gst_element_factory_make ("audioconvert", "audio_convert2"); @@ -145,8 +146,9 @@ int main(int argc, char *argv[]) { /* Create the empty pipeline */ data.pipeline = gst_pipeline_new ("test-pipeline"); - if (!data.pipeline || !data.app_source || !data.tee || !data.audio_queue || !data.audio_convert1 || !data.audio_sink || - !data.video_queue || !data.audio_convert2 || !data.visual || !data.video_convert || !data.video_sink || !data.app_queue || !data.app_sink) { + if (!data.pipeline || !data.app_source || !data.tee || !data.audio_queue || !data.audio_convert1 || + !data.audio_resample || !data.audio_sink || !data.video_queue || !data.audio_convert2 || !data.visual || + !data.video_convert || !data.video_sink || !data.app_queue || !data.app_sink) { g_printerr ("Not all elements could be created.\n"); return -1; } @@ -168,11 +170,11 @@ int main(int argc, char *argv[]) { g_free (audio_caps_text); /* Link all elements that can be automatically linked because they have "Always" pads */ - gst_bin_add_many (GST_BIN (data.pipeline), data.app_source, data.tee, data.audio_queue, data.audio_convert1, + gst_bin_add_many (GST_BIN (data.pipeline), data.app_source, data.tee, data.audio_queue, data.audio_convert1, data.audio_resample, data.audio_sink, data.video_queue, data.audio_convert2, data.visual, data.video_convert, data.video_sink, data.app_queue, data.app_sink, NULL); if (gst_element_link_many (data.app_source, data.tee, NULL) != TRUE || - gst_element_link_many (data.audio_queue, data.audio_convert1, data.audio_sink, NULL) != TRUE || + gst_element_link_many (data.audio_queue, data.audio_convert1, data.audio_resample, data.audio_sink, NULL) != TRUE || gst_element_link_many (data.video_queue, data.audio_convert2, data.visual, data.video_convert, data.video_sink, NULL) != TRUE || gst_element_link_many (data.app_queue, data.app_sink, NULL) != TRUE) { g_printerr ("Elements could not be linked.\n"); From 6575e17365a215da6e336008d54736d3f1c51cd8 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 15 May 2012 13:53:40 +0200 Subject: [PATCH 023/979] Added Basic Tutorial 9 --- gst-sdk/tutorials/basic-tutorial-9.c | 216 ++++++++++++++++++ .../basic-tutorial-9/basic-tutorial-9.vcxproj | 97 ++++++++ .../basic-tutorial-9.vcxproj.filters | 6 + vs/2010/tutorials/tutorials.sln | 10 + 4 files changed, 329 insertions(+) create mode 100644 gst-sdk/tutorials/basic-tutorial-9.c create mode 100644 vs/2010/tutorials/basic-tutorial-9/basic-tutorial-9.vcxproj create mode 100644 vs/2010/tutorials/basic-tutorial-9/basic-tutorial-9.vcxproj.filters diff --git a/gst-sdk/tutorials/basic-tutorial-9.c b/gst-sdk/tutorials/basic-tutorial-9.c new file mode 100644 index 0000000000..f7ad575e52 --- /dev/null +++ b/gst-sdk/tutorials/basic-tutorial-9.c @@ -0,0 +1,216 @@ +#include +#include +#include + +/* Structure to contain all our information, so we can pass it around */ +typedef struct _CustomData { + GstDiscoverer *discoverer; + GMainLoop *loop; +} CustomData; + +/* Print a tag in a human-readable format (name: value) */ +static void print_tag_foreach (const GstTagList *tags, const gchar *tag, gpointer user_data) { + GValue val = { 0, }; + gchar *str; + gint depth = GPOINTER_TO_INT (user_data); + + gst_tag_list_copy_value (&val, tags, tag); + + if (G_VALUE_HOLDS_STRING (&val)) + str = g_value_dup_string (&val); + else + str = gst_value_serialize (&val); + + g_print ("%*s%s: %s\n", 2 * depth, " ", gst_tag_get_nick (tag), str); + g_free (str); + + g_value_unset (&val); +} + +/* Print information regarding a stream */ +static void print_stream_info (GstDiscovererStreamInfo *info, gint depth) { + gchar *desc = NULL; + GstCaps *caps; + const GstTagList *tags; + + caps = gst_discoverer_stream_info_get_caps (info); + + if (caps) { + if (gst_caps_is_fixed (caps)) + desc = gst_pb_utils_get_codec_description (caps); + else + desc = gst_caps_to_string (caps); + gst_caps_unref (caps); + } + + g_print ("%*s%s: %s\n", 2 * depth, " ", gst_discoverer_stream_info_get_stream_type_nick (info), (desc ? desc : "")); + + if (desc) { + g_free (desc); + desc = NULL; + } + + tags = gst_discoverer_stream_info_get_tags (info); + if (tags) { + g_print ("%*sTags:\n", 2 * (depth + 1), " "); + gst_tag_list_foreach (tags, print_tag_foreach, GINT_TO_POINTER (depth + 2)); + } +} + +/* Print information regarding a stream and its substreams, if any */ +static void print_topology (GstDiscovererStreamInfo *info, gint depth) { + GstDiscovererStreamInfo *next; + + if (!info) + return; + + print_stream_info (info, depth); + + next = gst_discoverer_stream_info_get_next (info); + if (next) { + print_topology (next, depth + 1); + gst_discoverer_stream_info_unref (next); + } else if (GST_IS_DISCOVERER_CONTAINER_INFO (info)) { + GList *tmp, *streams; + + streams = gst_discoverer_container_info_get_streams (GST_DISCOVERER_CONTAINER_INFO (info)); + for (tmp = streams; tmp; tmp = tmp->next) { + GstDiscovererStreamInfo *tmpinf = (GstDiscovererStreamInfo *) tmp->data; + print_topology (tmpinf, depth + 1); + } + gst_discoverer_stream_info_list_free (streams); + } +} + +/* This function is called every time the discoverer has information regarding + * one of the URIs we provided.*/ +static void on_discovered_cb (GstDiscoverer *discoverer, GstDiscovererInfo *info, GError *err, CustomData *data) { + GstDiscovererResult result; + const gchar *uri; + const GstTagList *tags; + GstDiscovererStreamInfo *sinfo; + + uri = gst_discoverer_info_get_uri (info); + result = gst_discoverer_info_get_result (info); + switch (result) { + case GST_DISCOVERER_URI_INVALID: + g_print ("Invalid URI '%s'\n", uri); + break; + case GST_DISCOVERER_ERROR: + g_print ("Discoverer error: %s\n", err->message); + break; + case GST_DISCOVERER_TIMEOUT: + g_print ("Timeout\n"); + break; + case GST_DISCOVERER_BUSY: + g_print ("Busy\n"); + break; + case GST_DISCOVERER_MISSING_PLUGINS:{ + const GstStructure *s; + gchar *str; + + s = gst_discoverer_info_get_misc (info); + str = gst_structure_to_string (s); + + g_print ("Missing plugins: %s\n", str); + g_free (str); + break; + } + case GST_DISCOVERER_OK: + g_print ("Discovered '%s'\n", uri); + break; + } + + if (result != GST_DISCOVERER_OK) { + g_printerr ("This URI cannot be played\n"); + return; + } + + /* If we got no error, show the retrieved information */ + + g_print ("\nDuration: %" GST_TIME_FORMAT "\n", GST_TIME_ARGS (gst_discoverer_info_get_duration (info))); + + tags = gst_discoverer_info_get_tags (info); + if (tags) { + g_print ("Tags:\n"); + gst_tag_list_foreach (tags, print_tag_foreach, GINT_TO_POINTER (1)); + } + + g_print ("Seekable: %s\n", (gst_discoverer_info_get_seekable (info) ? "yes" : "no")); + + g_print ("\n"); + + sinfo = gst_discoverer_info_get_stream_info (info); + if (!sinfo) + return; + + g_print ("Stream information:\n"); + + print_topology (sinfo, 1); + + gst_discoverer_stream_info_unref (sinfo); + + g_print ("\n"); +} + +/* This function is called when the discoverer has finished examining + * all the URIs we provided.*/ +static void on_finished_cb (GstDiscoverer *discoverer, CustomData *data) { + g_print ("Finished discovering\n"); + + g_main_loop_quit (data->loop); +} + +int main (int argc, char **argv) { + CustomData data; + GError *err = NULL; + + if (argc != 2) { + g_print ("No URI to discover given\n"); + return -1; + } + + /* Initialize cumstom data structure */ + memset (&data, 0, sizeof (data)); + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + g_print ("Discovering '%s'\n", argv[1]); + + /* Instantiate the Discoverer */ + data.discoverer = gst_discoverer_new (5 * GST_SECOND, &err); + if (!data.discoverer) { + g_print ("Error creating discoverer instance: %s\n", err->message); + g_clear_error (&err); + return -1; + } + + /* Connect to the interesting signals */ + g_signal_connect (data.discoverer, "discovered", G_CALLBACK (on_discovered_cb), &data); + g_signal_connect (data.discoverer, "finished", G_CALLBACK (on_finished_cb), &data); + + /* Start the discoverer process (nothing to do yet) */ + gst_discoverer_start (data.discoverer); + + /* Add a request to process asynchronously the URI passed through the command line */ + if (!gst_discoverer_discover_uri_async (data.discoverer, argv[1])) { + g_print ("Failed to start discovering URI '%s'\n", argv[1]); + g_object_unref (data.discoverer); + g_main_loop_unref (data.loop); + return -1; + } + + /* Create a GLib Main Loop and set it to run, so we can wait for the signals */ + data.loop = g_main_loop_new (NULL, FALSE); + g_main_loop_run (data.loop); + + /* Stop the discoverer process */ + gst_discoverer_stop (data.discoverer); + + /* Free resources */ + g_object_unref (data.discoverer); + g_main_loop_unref (data.loop); + + return 0; +} \ No newline at end of file diff --git a/vs/2010/tutorials/basic-tutorial-9/basic-tutorial-9.vcxproj b/vs/2010/tutorials/basic-tutorial-9/basic-tutorial-9.vcxproj new file mode 100644 index 0000000000..f50a95d3d7 --- /dev/null +++ b/vs/2010/tutorials/basic-tutorial-9/basic-tutorial-9.vcxproj @@ -0,0 +1,97 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + + + + Win32Proj + {7B61F2C6-5202-48B7-8589-164F81BC636C} + v4.0 + + + + Application + true + Unicode + + + Application + false + true + Unicode + + + + + + + + + + + + + + + + + + + true + + + false + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + %(AdditionalDependencies) + %(AdditionalLibraryDirectories) + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + false + true + + + + + + \ No newline at end of file diff --git a/vs/2010/tutorials/basic-tutorial-9/basic-tutorial-9.vcxproj.filters b/vs/2010/tutorials/basic-tutorial-9/basic-tutorial-9.vcxproj.filters new file mode 100644 index 0000000000..f101a7332c --- /dev/null +++ b/vs/2010/tutorials/basic-tutorial-9/basic-tutorial-9.vcxproj.filters @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/vs/2010/tutorials/tutorials.sln b/vs/2010/tutorials/tutorials.sln index f03817bdb8..8f3403354a 100644 --- a/vs/2010/tutorials/tutorials.sln +++ b/vs/2010/tutorials/tutorials.sln @@ -21,6 +21,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "playback-tutorial-1", "play EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "playback-tutorial-2", "playback-tutorial-2\playback-tutorial-2.vcxproj", "{9AC36197-6B43-49D2-B747-75AA06550637}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-9", "basic-tutorial-9\basic-tutorial-9.vcxproj", "{7B61F2C6-5202-48B7-8589-164F81BC636C}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -109,6 +111,14 @@ Global {9AC36197-6B43-49D2-B747-75AA06550637}.Release|Win32.Build.0 = Release|Win32 {9AC36197-6B43-49D2-B747-75AA06550637}.Release|x64.ActiveCfg = Release|x64 {9AC36197-6B43-49D2-B747-75AA06550637}.Release|x64.Build.0 = Release|x64 + {7B61F2C6-5202-48B7-8589-164F81BC636C}.Debug|Win32.ActiveCfg = Debug|Win32 + {7B61F2C6-5202-48B7-8589-164F81BC636C}.Debug|Win32.Build.0 = Debug|Win32 + {7B61F2C6-5202-48B7-8589-164F81BC636C}.Debug|x64.ActiveCfg = Debug|x64 + {7B61F2C6-5202-48B7-8589-164F81BC636C}.Debug|x64.Build.0 = Debug|x64 + {7B61F2C6-5202-48B7-8589-164F81BC636C}.Release|Win32.ActiveCfg = Release|Win32 + {7B61F2C6-5202-48B7-8589-164F81BC636C}.Release|Win32.Build.0 = Release|Win32 + {7B61F2C6-5202-48B7-8589-164F81BC636C}.Release|x64.ActiveCfg = Release|x64 + {7B61F2C6-5202-48B7-8589-164F81BC636C}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From 3bd48544091884093a7910e61e0b7c073caeba1a Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 15 May 2012 17:25:03 +0200 Subject: [PATCH 024/979] Add a default URI --- gst-sdk/tutorials/basic-tutorial-9.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/gst-sdk/tutorials/basic-tutorial-9.c b/gst-sdk/tutorials/basic-tutorial-9.c index f7ad575e52..df265e7d15 100644 --- a/gst-sdk/tutorials/basic-tutorial-9.c +++ b/gst-sdk/tutorials/basic-tutorial-9.c @@ -164,10 +164,11 @@ static void on_finished_cb (GstDiscoverer *discoverer, CustomData *data) { int main (int argc, char **argv) { CustomData data; GError *err = NULL; + gchar *uri = "http://docs.gstreamer.com/media/sintel_trailer-480p.webm"; - if (argc != 2) { - g_print ("No URI to discover given\n"); - return -1; + /* if a URI was provided, use it instead of the default one */ + if (argc > 1) { + uri = argv[1]; } /* Initialize cumstom data structure */ @@ -176,7 +177,7 @@ int main (int argc, char **argv) { /* Initialize GStreamer */ gst_init (&argc, &argv); - g_print ("Discovering '%s'\n", argv[1]); + g_print ("Discovering '%s'\n", uri); /* Instantiate the Discoverer */ data.discoverer = gst_discoverer_new (5 * GST_SECOND, &err); @@ -194,8 +195,8 @@ int main (int argc, char **argv) { gst_discoverer_start (data.discoverer); /* Add a request to process asynchronously the URI passed through the command line */ - if (!gst_discoverer_discover_uri_async (data.discoverer, argv[1])) { - g_print ("Failed to start discovering URI '%s'\n", argv[1]); + if (!gst_discoverer_discover_uri_async (data.discoverer, uri)) { + g_print ("Failed to start discovering URI '%s'\n", uri); g_object_unref (data.discoverer); g_main_loop_unref (data.loop); return -1; From f90232dc3a547f6141618ebac2487bf03ffec89d Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 16 May 2012 18:16:05 +0200 Subject: [PATCH 025/979] CRLF and fix unreffing bug --- gst-sdk/tutorials/basic-tutorial-9.c | 421 +++++++++++++-------------- 1 file changed, 210 insertions(+), 211 deletions(-) diff --git a/gst-sdk/tutorials/basic-tutorial-9.c b/gst-sdk/tutorials/basic-tutorial-9.c index df265e7d15..5477efec37 100644 --- a/gst-sdk/tutorials/basic-tutorial-9.c +++ b/gst-sdk/tutorials/basic-tutorial-9.c @@ -1,217 +1,216 @@ -#include -#include -#include - -/* Structure to contain all our information, so we can pass it around */ -typedef struct _CustomData { - GstDiscoverer *discoverer; - GMainLoop *loop; -} CustomData; - -/* Print a tag in a human-readable format (name: value) */ -static void print_tag_foreach (const GstTagList *tags, const gchar *tag, gpointer user_data) { - GValue val = { 0, }; - gchar *str; - gint depth = GPOINTER_TO_INT (user_data); - - gst_tag_list_copy_value (&val, tags, tag); - - if (G_VALUE_HOLDS_STRING (&val)) - str = g_value_dup_string (&val); - else - str = gst_value_serialize (&val); - - g_print ("%*s%s: %s\n", 2 * depth, " ", gst_tag_get_nick (tag), str); - g_free (str); - - g_value_unset (&val); -} - -/* Print information regarding a stream */ -static void print_stream_info (GstDiscovererStreamInfo *info, gint depth) { - gchar *desc = NULL; - GstCaps *caps; - const GstTagList *tags; - - caps = gst_discoverer_stream_info_get_caps (info); - - if (caps) { - if (gst_caps_is_fixed (caps)) - desc = gst_pb_utils_get_codec_description (caps); - else - desc = gst_caps_to_string (caps); - gst_caps_unref (caps); - } - - g_print ("%*s%s: %s\n", 2 * depth, " ", gst_discoverer_stream_info_get_stream_type_nick (info), (desc ? desc : "")); - - if (desc) { - g_free (desc); - desc = NULL; - } - - tags = gst_discoverer_stream_info_get_tags (info); - if (tags) { - g_print ("%*sTags:\n", 2 * (depth + 1), " "); - gst_tag_list_foreach (tags, print_tag_foreach, GINT_TO_POINTER (depth + 2)); - } -} - -/* Print information regarding a stream and its substreams, if any */ -static void print_topology (GstDiscovererStreamInfo *info, gint depth) { - GstDiscovererStreamInfo *next; - - if (!info) - return; - - print_stream_info (info, depth); - - next = gst_discoverer_stream_info_get_next (info); - if (next) { - print_topology (next, depth + 1); - gst_discoverer_stream_info_unref (next); - } else if (GST_IS_DISCOVERER_CONTAINER_INFO (info)) { - GList *tmp, *streams; - - streams = gst_discoverer_container_info_get_streams (GST_DISCOVERER_CONTAINER_INFO (info)); - for (tmp = streams; tmp; tmp = tmp->next) { - GstDiscovererStreamInfo *tmpinf = (GstDiscovererStreamInfo *) tmp->data; - print_topology (tmpinf, depth + 1); - } - gst_discoverer_stream_info_list_free (streams); - } -} - -/* This function is called every time the discoverer has information regarding - * one of the URIs we provided.*/ -static void on_discovered_cb (GstDiscoverer *discoverer, GstDiscovererInfo *info, GError *err, CustomData *data) { - GstDiscovererResult result; - const gchar *uri; - const GstTagList *tags; - GstDiscovererStreamInfo *sinfo; - - uri = gst_discoverer_info_get_uri (info); - result = gst_discoverer_info_get_result (info); - switch (result) { - case GST_DISCOVERER_URI_INVALID: - g_print ("Invalid URI '%s'\n", uri); - break; - case GST_DISCOVERER_ERROR: - g_print ("Discoverer error: %s\n", err->message); - break; - case GST_DISCOVERER_TIMEOUT: - g_print ("Timeout\n"); - break; - case GST_DISCOVERER_BUSY: - g_print ("Busy\n"); - break; - case GST_DISCOVERER_MISSING_PLUGINS:{ - const GstStructure *s; - gchar *str; - - s = gst_discoverer_info_get_misc (info); - str = gst_structure_to_string (s); - - g_print ("Missing plugins: %s\n", str); - g_free (str); - break; - } - case GST_DISCOVERER_OK: - g_print ("Discovered '%s'\n", uri); - break; - } - - if (result != GST_DISCOVERER_OK) { - g_printerr ("This URI cannot be played\n"); - return; - } - - /* If we got no error, show the retrieved information */ - - g_print ("\nDuration: %" GST_TIME_FORMAT "\n", GST_TIME_ARGS (gst_discoverer_info_get_duration (info))); - - tags = gst_discoverer_info_get_tags (info); - if (tags) { - g_print ("Tags:\n"); - gst_tag_list_foreach (tags, print_tag_foreach, GINT_TO_POINTER (1)); - } - - g_print ("Seekable: %s\n", (gst_discoverer_info_get_seekable (info) ? "yes" : "no")); - - g_print ("\n"); - - sinfo = gst_discoverer_info_get_stream_info (info); - if (!sinfo) - return; - - g_print ("Stream information:\n"); - - print_topology (sinfo, 1); - - gst_discoverer_stream_info_unref (sinfo); - - g_print ("\n"); -} - -/* This function is called when the discoverer has finished examining - * all the URIs we provided.*/ -static void on_finished_cb (GstDiscoverer *discoverer, CustomData *data) { - g_print ("Finished discovering\n"); - - g_main_loop_quit (data->loop); -} - -int main (int argc, char **argv) { - CustomData data; - GError *err = NULL; - gchar *uri = "http://docs.gstreamer.com/media/sintel_trailer-480p.webm"; - - /* if a URI was provided, use it instead of the default one */ - if (argc > 1) { - uri = argv[1]; - } +#include +#include +#include - /* Initialize cumstom data structure */ - memset (&data, 0, sizeof (data)); +/* Structure to contain all our information, so we can pass it around */ +typedef struct _CustomData { + GstDiscoverer *discoverer; + GMainLoop *loop; +} CustomData; - /* Initialize GStreamer */ - gst_init (&argc, &argv); - - g_print ("Discovering '%s'\n", uri); +/* Print a tag in a human-readable format (name: value) */ +static void print_tag_foreach (const GstTagList *tags, const gchar *tag, gpointer user_data) { + GValue val = { 0, }; + gchar *str; + gint depth = GPOINTER_TO_INT (user_data); - /* Instantiate the Discoverer */ - data.discoverer = gst_discoverer_new (5 * GST_SECOND, &err); - if (!data.discoverer) { - g_print ("Error creating discoverer instance: %s\n", err->message); - g_clear_error (&err); - return -1; - } - - /* Connect to the interesting signals */ - g_signal_connect (data.discoverer, "discovered", G_CALLBACK (on_discovered_cb), &data); - g_signal_connect (data.discoverer, "finished", G_CALLBACK (on_finished_cb), &data); - - /* Start the discoverer process (nothing to do yet) */ - gst_discoverer_start (data.discoverer); - - /* Add a request to process asynchronously the URI passed through the command line */ - if (!gst_discoverer_discover_uri_async (data.discoverer, uri)) { - g_print ("Failed to start discovering URI '%s'\n", uri); - g_object_unref (data.discoverer); - g_main_loop_unref (data.loop); - return -1; - } + gst_tag_list_copy_value (&val, tags, tag); - /* Create a GLib Main Loop and set it to run, so we can wait for the signals */ - data.loop = g_main_loop_new (NULL, FALSE); - g_main_loop_run (data.loop); - - /* Stop the discoverer process */ - gst_discoverer_stop (data.discoverer); + if (G_VALUE_HOLDS_STRING (&val)) + str = g_value_dup_string (&val); + else + str = gst_value_serialize (&val); - /* Free resources */ - g_object_unref (data.discoverer); - g_main_loop_unref (data.loop); - - return 0; + g_print ("%*s%s: %s\n", 2 * depth, " ", gst_tag_get_nick (tag), str); + g_free (str); + + g_value_unset (&val); +} + +/* Print information regarding a stream */ +static void print_stream_info (GstDiscovererStreamInfo *info, gint depth) { + gchar *desc = NULL; + GstCaps *caps; + const GstTagList *tags; + + caps = gst_discoverer_stream_info_get_caps (info); + + if (caps) { + if (gst_caps_is_fixed (caps)) + desc = gst_pb_utils_get_codec_description (caps); + else + desc = gst_caps_to_string (caps); + gst_caps_unref (caps); + } + + g_print ("%*s%s: %s\n", 2 * depth, " ", gst_discoverer_stream_info_get_stream_type_nick (info), (desc ? desc : "")); + + if (desc) { + g_free (desc); + desc = NULL; + } + + tags = gst_discoverer_stream_info_get_tags (info); + if (tags) { + g_print ("%*sTags:\n", 2 * (depth + 1), " "); + gst_tag_list_foreach (tags, print_tag_foreach, GINT_TO_POINTER (depth + 2)); + } +} + +/* Print information regarding a stream and its substreams, if any */ +static void print_topology (GstDiscovererStreamInfo *info, gint depth) { + GstDiscovererStreamInfo *next; + + if (!info) + return; + + print_stream_info (info, depth); + + next = gst_discoverer_stream_info_get_next (info); + if (next) { + print_topology (next, depth + 1); + gst_discoverer_stream_info_unref (next); + } else if (GST_IS_DISCOVERER_CONTAINER_INFO (info)) { + GList *tmp, *streams; + + streams = gst_discoverer_container_info_get_streams (GST_DISCOVERER_CONTAINER_INFO (info)); + for (tmp = streams; tmp; tmp = tmp->next) { + GstDiscovererStreamInfo *tmpinf = (GstDiscovererStreamInfo *) tmp->data; + print_topology (tmpinf, depth + 1); + } + gst_discoverer_stream_info_list_free (streams); + } +} + +/* This function is called every time the discoverer has information regarding + * one of the URIs we provided.*/ +static void on_discovered_cb (GstDiscoverer *discoverer, GstDiscovererInfo *info, GError *err, CustomData *data) { + GstDiscovererResult result; + const gchar *uri; + const GstTagList *tags; + GstDiscovererStreamInfo *sinfo; + + uri = gst_discoverer_info_get_uri (info); + result = gst_discoverer_info_get_result (info); + switch (result) { + case GST_DISCOVERER_URI_INVALID: + g_print ("Invalid URI '%s'\n", uri); + break; + case GST_DISCOVERER_ERROR: + g_print ("Discoverer error: %s\n", err->message); + break; + case GST_DISCOVERER_TIMEOUT: + g_print ("Timeout\n"); + break; + case GST_DISCOVERER_BUSY: + g_print ("Busy\n"); + break; + case GST_DISCOVERER_MISSING_PLUGINS:{ + const GstStructure *s; + gchar *str; + + s = gst_discoverer_info_get_misc (info); + str = gst_structure_to_string (s); + + g_print ("Missing plugins: %s\n", str); + g_free (str); + break; + } + case GST_DISCOVERER_OK: + g_print ("Discovered '%s'\n", uri); + break; + } + + if (result != GST_DISCOVERER_OK) { + g_printerr ("This URI cannot be played\n"); + return; + } + + /* If we got no error, show the retrieved information */ + + g_print ("\nDuration: %" GST_TIME_FORMAT "\n", GST_TIME_ARGS (gst_discoverer_info_get_duration (info))); + + tags = gst_discoverer_info_get_tags (info); + if (tags) { + g_print ("Tags:\n"); + gst_tag_list_foreach (tags, print_tag_foreach, GINT_TO_POINTER (1)); + } + + g_print ("Seekable: %s\n", (gst_discoverer_info_get_seekable (info) ? "yes" : "no")); + + g_print ("\n"); + + sinfo = gst_discoverer_info_get_stream_info (info); + if (!sinfo) + return; + + g_print ("Stream information:\n"); + + print_topology (sinfo, 1); + + gst_discoverer_stream_info_unref (sinfo); + + g_print ("\n"); +} + +/* This function is called when the discoverer has finished examining + * all the URIs we provided.*/ +static void on_finished_cb (GstDiscoverer *discoverer, CustomData *data) { + g_print ("Finished discovering\n"); + + g_main_loop_quit (data->loop); +} + +int main (int argc, char **argv) { + CustomData data; + GError *err = NULL; + gchar *uri = "http://docs.gstreamer.com/media/sintel_trailer-480p.webm"; + + /* if a URI was provided, use it instead of the default one */ + if (argc > 1) { + uri = argv[1]; + } + + /* Initialize cumstom data structure */ + memset (&data, 0, sizeof (data)); + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + g_print ("Discovering '%s'\n", uri); + + /* Instantiate the Discoverer */ + data.discoverer = gst_discoverer_new (5 * GST_SECOND, &err); + if (!data.discoverer) { + g_print ("Error creating discoverer instance: %s\n", err->message); + g_clear_error (&err); + return -1; + } + + /* Connect to the interesting signals */ + g_signal_connect (data.discoverer, "discovered", G_CALLBACK (on_discovered_cb), &data); + g_signal_connect (data.discoverer, "finished", G_CALLBACK (on_finished_cb), &data); + + /* Start the discoverer process (nothing to do yet) */ + gst_discoverer_start (data.discoverer); + + /* Add a request to process asynchronously the URI passed through the command line */ + if (!gst_discoverer_discover_uri_async (data.discoverer, uri)) { + g_print ("Failed to start discovering URI '%s'\n", uri); + g_object_unref (data.discoverer); + return -1; + } + + /* Create a GLib Main Loop and set it to run, so we can wait for the signals */ + data.loop = g_main_loop_new (NULL, FALSE); + g_main_loop_run (data.loop); + + /* Stop the discoverer process */ + gst_discoverer_stop (data.discoverer); + + /* Free resources */ + g_object_unref (data.discoverer); + g_main_loop_unref (data.loop); + + return 0; } \ No newline at end of file From 5aed7c7815f1a9627588962c5c74246a2dc13371 Mon Sep 17 00:00:00 2001 From: Andoni Morales Alastruey Date: Wed, 23 May 2012 17:54:30 +0200 Subject: [PATCH 026/979] Fix quartz include --- gst-sdk/tutorials/basic-tutorial-5.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/basic-tutorial-5.c b/gst-sdk/tutorials/basic-tutorial-5.c index 9769a5cc8a..c182d763f1 100644 --- a/gst-sdk/tutorials/basic-tutorial-5.c +++ b/gst-sdk/tutorials/basic-tutorial-5.c @@ -10,7 +10,7 @@ #elif defined (GDK_WINDOWING_WIN32) #include #elif defined (GDK_WINDOWING_QUARTZ) -#include +#include #endif /* Structure to contain all our information, so we can pass it around */ From 981df5be595e2b1a44280eea10b246ffd0926c15 Mon Sep 17 00:00:00 2001 From: Andoni Morales Alastruey Date: Wed, 23 May 2012 17:55:16 +0200 Subject: [PATCH 027/979] Add tutorials projects for XCode --- .../project.pbxproj | 849 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../UserInterfaceState.xcuserstate | Bin 0 -> 48470 bytes .../xcschemes/Playback Tutorial 1.xcscheme | 84 ++ .../xcschemes/Playback Tutorial 2.xcscheme | 84 ++ .../xcschemes/Turorial 3.xcscheme | 84 ++ .../xcschemes/Tutorial 1.xcscheme | 91 ++ .../xcschemes/Tutorial 2.xcscheme | 84 ++ .../xcschemes/Tutorial 4.xcscheme | 84 ++ .../xcschemes/Tutorial 5.xcscheme | 84 ++ .../xcschemes/Tutorial 6.xcscheme | 84 ++ .../xcschemes/xcschememanagement.plist | 107 +++ 12 files changed, 1642 insertions(+) create mode 100644 xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/project.pbxproj create mode 100644 xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/project.xcworkspace/xcuserdata/fluendo.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Playback Tutorial 1.xcscheme create mode 100644 xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Playback Tutorial 2.xcscheme create mode 100644 xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Turorial 3.xcscheme create mode 100644 xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 1.xcscheme create mode 100644 xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 2.xcscheme create mode 100644 xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 4.xcscheme create mode 100644 xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 5.xcscheme create mode 100644 xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 6.xcscheme create mode 100644 xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/project.pbxproj b/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..5684509af2 --- /dev/null +++ b/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/project.pbxproj @@ -0,0 +1,849 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 63118C62156D2AF10085CF03 /* basic-tutorial-3.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118C60156D2AA70085CF03 /* basic-tutorial-3.c */; }; + 63118C81156D2BAE0085CF03 /* basic-tutorial-4.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118C7F156D2BA30085CF03 /* basic-tutorial-4.c */; }; + 63118C93156D2D630085CF03 /* basic-tutorial-1.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118C92156D2D630085CF03 /* basic-tutorial-1.c */; }; + 63118CA3156D2E400085CF03 /* basic-tutorial-5.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118CA2156D2E400085CF03 /* basic-tutorial-5.c */; }; + 63118CC3156D31300085CF03 /* basic-tutorial-2.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118C4D156D29530085CF03 /* basic-tutorial-2.c */; }; + 63118CD4156D33040085CF03 /* playback-tutorial-1.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118CD2156D32FE0085CF03 /* playback-tutorial-1.c */; }; + 63118CE5156D35610085CF03 /* playback-tutorial-2.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118CE3156D35390085CF03 /* playback-tutorial-2.c */; }; + 63118CF6156D3ACB0085CF03 /* basic-tutorial-6.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118CF4156D3AB60085CF03 /* basic-tutorial-6.c */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 63118C52156D29DE0085CF03 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; + 63118C73156D2B970085CF03 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; + 63118C86156D2D190085CF03 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; + 63118C96156D2E2F0085CF03 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; + 63118CB7156D31240085CF03 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; + 63118CC6156D32E20085CF03 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; + 63118CD7156D34BA0085CF03 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; + 63118CE8156D3A870085CF03 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 63118C4D156D29530085CF03 /* basic-tutorial-2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-2.c"; path = "../../gst-sdk/tutorials/basic-tutorial-2.c"; sourceTree = SOURCE_ROOT; }; + 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10.xcconfig"; path = "../../../../../../../../System/Library/Frameworks/GStreamer.framework/Version/2012.5/x86_64/share/gst-sdk/xcode/gstreamer-0.10.xcconfig"; sourceTree = ""; }; + 63118C54156D29DE0085CF03 /* Turorial 3 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Turorial 3"; sourceTree = BUILT_PRODUCTS_DIR; }; + 63118C60156D2AA70085CF03 /* basic-tutorial-3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-3.c"; path = "../../gst-sdk/tutorials/basic-tutorial-3.c"; sourceTree = SOURCE_ROOT; }; + 63118C75156D2B970085CF03 /* Tutorial 4 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 4"; sourceTree = BUILT_PRODUCTS_DIR; }; + 63118C7F156D2BA30085CF03 /* basic-tutorial-4.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-4.c"; path = "../../gst-sdk/tutorials/basic-tutorial-4.c"; sourceTree = SOURCE_ROOT; }; + 63118C88156D2D190085CF03 /* Tutorial 1 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 1"; sourceTree = BUILT_PRODUCTS_DIR; }; + 63118C92156D2D630085CF03 /* basic-tutorial-1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-1.c"; path = "../../gst-sdk/tutorials/basic-tutorial-1.c"; sourceTree = SOURCE_ROOT; }; + 63118C98156D2E2F0085CF03 /* Tutorial 5 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 5"; sourceTree = BUILT_PRODUCTS_DIR; }; + 63118CA2156D2E400085CF03 /* basic-tutorial-5.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; name = "basic-tutorial-5.c"; path = "../../gst-sdk/tutorials/basic-tutorial-5.c"; sourceTree = SOURCE_ROOT; }; + 63118CA4156D2EAC0085CF03 /* gstreamer-0.10-gtk+-2.0.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-gtk+-2.0.xcconfig"; path = "../../../../../../../../System/Library/Frameworks/GStreamer.framework/Version/2012.5/x86_64/share/gst-sdk/xcode/gstreamer-0.10-gtk+-2.0.xcconfig"; sourceTree = ""; }; + 63118CB9156D31240085CF03 /* Tutorial 2 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 2"; sourceTree = BUILT_PRODUCTS_DIR; }; + 63118CC8156D32E20085CF03 /* Playback Tutorial 1 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Playback Tutorial 1"; sourceTree = BUILT_PRODUCTS_DIR; }; + 63118CD2156D32FE0085CF03 /* playback-tutorial-1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-1.c"; path = "../../gst-sdk/tutorials/playback-tutorial-1.c"; sourceTree = SOURCE_ROOT; }; + 63118CD9156D34BA0085CF03 /* Playback Tutorial 2 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Playback Tutorial 2"; sourceTree = BUILT_PRODUCTS_DIR; }; + 63118CE3156D35390085CF03 /* playback-tutorial-2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-2.c"; path = "../../gst-sdk/tutorials/playback-tutorial-2.c"; sourceTree = SOURCE_ROOT; }; + 63118CEA156D3A870085CF03 /* Tutorial 6 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 6"; sourceTree = BUILT_PRODUCTS_DIR; }; + 63118CF4156D3AB60085CF03 /* basic-tutorial-6.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-6.c"; path = "../../gst-sdk/tutorials/basic-tutorial-6.c"; sourceTree = SOURCE_ROOT; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 63118C51156D29DE0085CF03 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63118C72156D2B970085CF03 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63118C85156D2D190085CF03 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63118C95156D2E2F0085CF03 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63118CB6156D31240085CF03 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63118CC5156D32E20085CF03 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63118CD6156D34BA0085CF03 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63118CE7156D3A870085CF03 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 63118C35156D29340085CF03 = { + isa = PBXGroup; + children = ( + 63118CA4156D2EAC0085CF03 /* gstreamer-0.10-gtk+-2.0.xcconfig */, + 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */, + 63118C8A156D2D190085CF03 /* Tutorial 1 */, + 63118C43156D29340085CF03 /* Tutorial 2 */, + 63118C56156D29DE0085CF03 /* Turorial 3 */, + 63118C77156D2B970085CF03 /* Tutorial 4 */, + 63118C9A156D2E2F0085CF03 /* Tutorial 5 */, + 63118CEC156D3A870085CF03 /* Tutorial 6 */, + 63118CCA156D32E20085CF03 /* Playback Tutorial 1 */, + 63118CDB156D34BA0085CF03 /* Playback Tutorial 2 */, + 63118C41156D29340085CF03 /* Products */, + ); + sourceTree = ""; + }; + 63118C41156D29340085CF03 /* Products */ = { + isa = PBXGroup; + children = ( + 63118C54156D29DE0085CF03 /* Turorial 3 */, + 63118C75156D2B970085CF03 /* Tutorial 4 */, + 63118C88156D2D190085CF03 /* Tutorial 1 */, + 63118C98156D2E2F0085CF03 /* Tutorial 5 */, + 63118CB9156D31240085CF03 /* Tutorial 2 */, + 63118CC8156D32E20085CF03 /* Playback Tutorial 1 */, + 63118CD9156D34BA0085CF03 /* Playback Tutorial 2 */, + 63118CEA156D3A870085CF03 /* Tutorial 6 */, + ); + name = Products; + sourceTree = SOURCE_ROOT; + }; + 63118C43156D29340085CF03 /* Tutorial 2 */ = { + isa = PBXGroup; + children = ( + 63118C4D156D29530085CF03 /* basic-tutorial-2.c */, + ); + name = "Tutorial 2"; + path = "GStreamer Tutorials"; + sourceTree = SOURCE_ROOT; + }; + 63118C56156D29DE0085CF03 /* Turorial 3 */ = { + isa = PBXGroup; + children = ( + 63118C60156D2AA70085CF03 /* basic-tutorial-3.c */, + ); + name = "Turorial 3"; + path = Turorial3; + sourceTree = SOURCE_ROOT; + }; + 63118C77156D2B970085CF03 /* Tutorial 4 */ = { + isa = PBXGroup; + children = ( + 63118C7F156D2BA30085CF03 /* basic-tutorial-4.c */, + ); + path = "Tutorial 4"; + sourceTree = ""; + }; + 63118C8A156D2D190085CF03 /* Tutorial 1 */ = { + isa = PBXGroup; + children = ( + 63118C92156D2D630085CF03 /* basic-tutorial-1.c */, + ); + path = "Tutorial 1"; + sourceTree = ""; + }; + 63118C9A156D2E2F0085CF03 /* Tutorial 5 */ = { + isa = PBXGroup; + children = ( + 63118CA2156D2E400085CF03 /* basic-tutorial-5.c */, + ); + path = "Tutorial 5"; + sourceTree = ""; + }; + 63118CCA156D32E20085CF03 /* Playback Tutorial 1 */ = { + isa = PBXGroup; + children = ( + 63118CD2156D32FE0085CF03 /* playback-tutorial-1.c */, + ); + path = "Playback Tutorial 1"; + sourceTree = ""; + }; + 63118CDB156D34BA0085CF03 /* Playback Tutorial 2 */ = { + isa = PBXGroup; + children = ( + 63118CE3156D35390085CF03 /* playback-tutorial-2.c */, + ); + path = "Playback Tutorial 2"; + sourceTree = ""; + }; + 63118CEC156D3A870085CF03 /* Tutorial 6 */ = { + isa = PBXGroup; + children = ( + 63118CF4156D3AB60085CF03 /* basic-tutorial-6.c */, + ); + path = "Tutorial 6"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 63118C53156D29DE0085CF03 /* Turorial 3 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 63118C5B156D29DE0085CF03 /* Build configuration list for PBXNativeTarget "Turorial 3" */; + buildPhases = ( + 63118C50156D29DE0085CF03 /* Sources */, + 63118C51156D29DE0085CF03 /* Frameworks */, + 63118C52156D29DE0085CF03 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Turorial 3"; + productName = Turorial3; + productReference = 63118C54156D29DE0085CF03 /* Turorial 3 */; + productType = "com.apple.product-type.tool"; + }; + 63118C74156D2B970085CF03 /* Tutorial 4 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 63118C7C156D2B970085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 4" */; + buildPhases = ( + 63118C71156D2B970085CF03 /* Sources */, + 63118C72156D2B970085CF03 /* Frameworks */, + 63118C73156D2B970085CF03 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Tutorial 4"; + productName = "Tutorial 4"; + productReference = 63118C75156D2B970085CF03 /* Tutorial 4 */; + productType = "com.apple.product-type.tool"; + }; + 63118C87156D2D190085CF03 /* Tutorial 1 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 63118C8F156D2D190085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 1" */; + buildPhases = ( + 63118C84156D2D190085CF03 /* Sources */, + 63118C85156D2D190085CF03 /* Frameworks */, + 63118C86156D2D190085CF03 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Tutorial 1"; + productName = "Tutorial 1"; + productReference = 63118C88156D2D190085CF03 /* Tutorial 1 */; + productType = "com.apple.product-type.tool"; + }; + 63118C97156D2E2F0085CF03 /* Tutorial 5 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 63118C9F156D2E2F0085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 5" */; + buildPhases = ( + 63118C94156D2E2F0085CF03 /* Sources */, + 63118C95156D2E2F0085CF03 /* Frameworks */, + 63118C96156D2E2F0085CF03 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Tutorial 5"; + productName = "Tutorial 5"; + productReference = 63118C98156D2E2F0085CF03 /* Tutorial 5 */; + productType = "com.apple.product-type.tool"; + }; + 63118CB8156D31240085CF03 /* Tutorial 2 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 63118CC0156D31240085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 2" */; + buildPhases = ( + 63118CB5156D31240085CF03 /* Sources */, + 63118CB6156D31240085CF03 /* Frameworks */, + 63118CB7156D31240085CF03 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Tutorial 2"; + productName = "Tutorial 2"; + productReference = 63118CB9156D31240085CF03 /* Tutorial 2 */; + productType = "com.apple.product-type.tool"; + }; + 63118CC7156D32E20085CF03 /* Playback Tutorial 1 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 63118CCF156D32E20085CF03 /* Build configuration list for PBXNativeTarget "Playback Tutorial 1" */; + buildPhases = ( + 63118CC4156D32E20085CF03 /* Sources */, + 63118CC5156D32E20085CF03 /* Frameworks */, + 63118CC6156D32E20085CF03 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Playback Tutorial 1"; + productName = "Playback Tutorial 1"; + productReference = 63118CC8156D32E20085CF03 /* Playback Tutorial 1 */; + productType = "com.apple.product-type.tool"; + }; + 63118CD8156D34BA0085CF03 /* Playback Tutorial 2 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 63118CE0156D34BA0085CF03 /* Build configuration list for PBXNativeTarget "Playback Tutorial 2" */; + buildPhases = ( + 63118CD5156D34BA0085CF03 /* Sources */, + 63118CD6156D34BA0085CF03 /* Frameworks */, + 63118CD7156D34BA0085CF03 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Playback Tutorial 2"; + productName = "Playback Tutorial 2"; + productReference = 63118CD9156D34BA0085CF03 /* Playback Tutorial 2 */; + productType = "com.apple.product-type.tool"; + }; + 63118CE9156D3A870085CF03 /* Tutorial 6 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 63118CF1156D3A870085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 6" */; + buildPhases = ( + 63118CE6156D3A870085CF03 /* Sources */, + 63118CE7156D3A870085CF03 /* Frameworks */, + 63118CE8156D3A870085CF03 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Tutorial 6"; + productName = "Tutorial 6"; + productReference = 63118CEA156D3A870085CF03 /* Tutorial 6 */; + productType = "com.apple.product-type.tool"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 63118C37156D29340085CF03 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0420; + }; + buildConfigurationList = 63118C3A156D29340085CF03 /* Build configuration list for PBXProject "GStreamer Tutorials" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = 63118C35156D29340085CF03; + productRefGroup = 63118C41156D29340085CF03 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 63118C53156D29DE0085CF03 /* Turorial 3 */, + 63118C74156D2B970085CF03 /* Tutorial 4 */, + 63118C87156D2D190085CF03 /* Tutorial 1 */, + 63118C97156D2E2F0085CF03 /* Tutorial 5 */, + 63118CB8156D31240085CF03 /* Tutorial 2 */, + 63118CC7156D32E20085CF03 /* Playback Tutorial 1 */, + 63118CD8156D34BA0085CF03 /* Playback Tutorial 2 */, + 63118CE9156D3A870085CF03 /* Tutorial 6 */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXSourcesBuildPhase section */ + 63118C50156D29DE0085CF03 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63118C62156D2AF10085CF03 /* basic-tutorial-3.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63118C71156D2B970085CF03 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63118C81156D2BAE0085CF03 /* basic-tutorial-4.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63118C84156D2D190085CF03 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63118C93156D2D630085CF03 /* basic-tutorial-1.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63118C94156D2E2F0085CF03 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63118CA3156D2E400085CF03 /* basic-tutorial-5.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63118CB5156D31240085CF03 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63118CC3156D31300085CF03 /* basic-tutorial-2.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63118CC4156D32E20085CF03 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63118CD4156D33040085CF03 /* playback-tutorial-1.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63118CD5156D34BA0085CF03 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63118CE5156D35610085CF03 /* playback-tutorial-2.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63118CE6156D3A870085CF03 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63118CF6156D3ACB0085CF03 /* basic-tutorial-6.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 63118C48156D29340085CF03 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_ARC = YES; + COPY_PHASE_STRIP = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + }; + name = Debug; + }; + 63118C49156D29340085CF03 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_ARC = YES; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; + SDKROOT = macosx; + }; + name = Release; + }; + 63118C5C156D29DE0085CF03 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 63118C5D156D29DE0085CF03 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 63118C7D156D2B970085CF03 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 63118C7E156D2B970085CF03 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 63118C90156D2D190085CF03 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 63118C91156D2D190085CF03 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 63118CA0156D2E2F0085CF03 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63118CA4156D2EAC0085CF03 /* gstreamer-0.10-gtk+-2.0.xcconfig */; + buildSettings = { + OTHER_LDFLAGS = ( + "-framework", + Cocoa, + "-lgstpbutils-0.10", + "-lgstnetbuffer-0.10", + "-lgstvideo-0.10", + "-lgstriff-0.10", + "-lgstcheck-0.10", + "-lgstcodecparsers-0.10", + "-lgstaudio-0.10", + "-lgstcontroller-0.10", + "-lgstdataprotocol-0.10", + "-lgstrtp-0.10", + "-lgstinterfaces-0.10", + "-lgstbasevideo-0.10", + "-lgstnet-0.10", + "-lgstphotography-0.10", + "-lgstcdda-0.10", + "-lgsttag-0.10", + "-lgstapp-0.10", + "-lgstrtsp-0.10", + "-lgstsdp-0.10", + "-lgstbase-0.10", + "-lgstfft-0.10", + "-lgstreamer-0.10", + "-lgthread-2.0", + "-lxml2", + "-lgtk-quartz-2.0", + "-lgdk-quartz-2.0", + "-latk-1.0", + "-lgio-2.0", + "-lpangocairo-1.0", + "-lgdk_pixbuf-2.0", + "-lpango-1.0", + "-lcairo", + "-lgmodule-2.0", + "-lgobject-2.0", + "-lglib-2.0", + "-lintl", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 63118CA1156D2E2F0085CF03 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63118CA4156D2EAC0085CF03 /* gstreamer-0.10-gtk+-2.0.xcconfig */; + buildSettings = { + OTHER_LDFLAGS = ( + "-framework", + Cocoa, + "-lgstpbutils-0.10", + "-lgstnetbuffer-0.10", + "-lgstvideo-0.10", + "-lgstriff-0.10", + "-lgstcheck-0.10", + "-lgstcodecparsers-0.10", + "-lgstaudio-0.10", + "-lgstcontroller-0.10", + "-lgstdataprotocol-0.10", + "-lgstrtp-0.10", + "-lgstinterfaces-0.10", + "-lgstbasevideo-0.10", + "-lgstnet-0.10", + "-lgstphotography-0.10", + "-lgstcdda-0.10", + "-lgsttag-0.10", + "-lgstapp-0.10", + "-lgstrtsp-0.10", + "-lgstsdp-0.10", + "-lgstbase-0.10", + "-lgstfft-0.10", + "-lgstreamer-0.10", + "-lgthread-2.0", + "-lxml2", + "-lgtk-quartz-2.0", + "-lgdk-quartz-2.0", + "-latk-1.0", + "-lgio-2.0", + "-lpangocairo-1.0", + "-lgdk_pixbuf-2.0", + "-lpango-1.0", + "-lcairo", + "-lgmodule-2.0", + "-lgobject-2.0", + "-lglib-2.0", + "-lintl", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 63118CC1156D31240085CF03 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 63118CC2156D31240085CF03 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 63118CD0156D32E20085CF03 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 63118CD1156D32E20085CF03 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 63118CE1156D34BA0085CF03 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 63118CE2156D34BA0085CF03 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 63118CF2156D3A870085CF03 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 63118CF3156D3A870085CF03 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 63118C3A156D29340085CF03 /* Build configuration list for PBXProject "GStreamer Tutorials" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63118C48156D29340085CF03 /* Debug */, + 63118C49156D29340085CF03 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 63118C5B156D29DE0085CF03 /* Build configuration list for PBXNativeTarget "Turorial 3" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63118C5C156D29DE0085CF03 /* Debug */, + 63118C5D156D29DE0085CF03 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; + 63118C7C156D2B970085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 4" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63118C7D156D2B970085CF03 /* Debug */, + 63118C7E156D2B970085CF03 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; + 63118C8F156D2D190085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 1" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63118C90156D2D190085CF03 /* Debug */, + 63118C91156D2D190085CF03 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; + 63118C9F156D2E2F0085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 5" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63118CA0156D2E2F0085CF03 /* Debug */, + 63118CA1156D2E2F0085CF03 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; + 63118CC0156D31240085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 2" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63118CC1156D31240085CF03 /* Debug */, + 63118CC2156D31240085CF03 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; + 63118CCF156D32E20085CF03 /* Build configuration list for PBXNativeTarget "Playback Tutorial 1" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63118CD0156D32E20085CF03 /* Debug */, + 63118CD1156D32E20085CF03 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; + 63118CE0156D34BA0085CF03 /* Build configuration list for PBXNativeTarget "Playback Tutorial 2" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63118CE1156D34BA0085CF03 /* Debug */, + 63118CE2156D34BA0085CF03 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; + 63118CF1156D3A870085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 6" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63118CF2156D3A870085CF03 /* Debug */, + 63118CF3156D3A870085CF03 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; +/* End XCConfigurationList section */ + }; + rootObject = 63118C37156D29340085CF03 /* Project object */; +} diff --git a/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000000..98cf3a3b7a --- /dev/null +++ b/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/project.xcworkspace/xcuserdata/fluendo.xcuserdatad/UserInterfaceState.xcuserstate b/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/project.xcworkspace/xcuserdata/fluendo.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..96ade427c623f774dca5239ed92ccb1fd71cbbac GIT binary patch literal 48470 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 PoMQTaB + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Playback Tutorial 2.xcscheme b/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Playback Tutorial 2.xcscheme new file mode 100644 index 0000000000..a7abd55990 --- /dev/null +++ b/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Playback Tutorial 2.xcscheme @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Turorial 3.xcscheme b/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Turorial 3.xcscheme new file mode 100644 index 0000000000..7b1edf519d --- /dev/null +++ b/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Turorial 3.xcscheme @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 1.xcscheme b/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 1.xcscheme new file mode 100644 index 0000000000..0514207a2f --- /dev/null +++ b/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 1.xcscheme @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 2.xcscheme b/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 2.xcscheme new file mode 100644 index 0000000000..e98502b827 --- /dev/null +++ b/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 2.xcscheme @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 4.xcscheme b/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 4.xcscheme new file mode 100644 index 0000000000..240193664e --- /dev/null +++ b/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 4.xcscheme @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 5.xcscheme b/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 5.xcscheme new file mode 100644 index 0000000000..30f512ad7f --- /dev/null +++ b/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 5.xcscheme @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 6.xcscheme b/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 6.xcscheme new file mode 100644 index 0000000000..f52447c863 --- /dev/null +++ b/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 6.xcscheme @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/xcschememanagement.plist b/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000000..32404742f9 --- /dev/null +++ b/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,107 @@ + + + + + SchemeUserState + + Playback Tutorial 1.xcscheme + + orderHint + 6 + + Playback Tutorial 2.xcscheme + + orderHint + 7 + + Turorial 3.xcscheme + + orderHint + 4 + + Tutorial 1.xcscheme + + orderHint + 1 + + Tutorial 2.xcscheme + + orderHint + 5 + + Tutorial 4.xcscheme + + orderHint + 0 + + Tutorial 5.xcscheme + + orderHint + 2 + + Tutorial 6.xcscheme + + orderHint + 3 + + + SuppressBuildableAutocreation + + 63118C3F156D29340085CF03 + + primary + + + 63118C53156D29DE0085CF03 + + primary + + + 63118C66156D2B790085CF03 + + primary + + + 63118C74156D2B970085CF03 + + primary + + + 63118C87156D2D190085CF03 + + primary + + + 63118C97156D2E2F0085CF03 + + primary + + + 63118CA8156D30610085CF03 + + primary + + + 63118CB8156D31240085CF03 + + primary + + + 63118CC7156D32E20085CF03 + + primary + + + 63118CD8156D34BA0085CF03 + + primary + + + 63118CE9156D3A870085CF03 + + primary + + + + + From 7a59d7b4503a39fd3d44b6fd0d4f485850fc0f7d Mon Sep 17 00:00:00 2001 From: Andoni Morales Alastruey Date: Wed, 23 May 2012 18:54:05 +0200 Subject: [PATCH 028/979] Set Project to search user paths --- .../GStreamer Tutorials.xcodeproj/project.pbxproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/project.pbxproj b/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/project.pbxproj index 5684509af2..10d863f2d4 100644 --- a/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/project.pbxproj +++ b/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/project.pbxproj @@ -514,7 +514,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; + ALWAYS_SEARCH_USER_PATHS = YES; ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_ARC = YES; COPY_PHASE_STRIP = NO; @@ -542,7 +542,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; + ALWAYS_SEARCH_USER_PATHS = YES; ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_ARC = YES; COPY_PHASE_STRIP = YES; From c07f032e10c177c2751ab8ad7c0cc289cd37e0e1 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 29 May 2012 12:47:29 +0200 Subject: [PATCH 029/979] Move VS2010 project files to a more confortable place --- .../tutorials/vs2010}/basic-tutorial-1/basic-tutorial-1.vcxproj | 0 .../vs2010}/basic-tutorial-1/basic-tutorial-1.vcxproj.filters | 0 .../tutorials/vs2010}/basic-tutorial-2/basic-tutorial-2.vcxproj | 0 .../vs2010}/basic-tutorial-2/basic-tutorial-2.vcxproj.filters | 0 .../tutorials/vs2010}/basic-tutorial-3/basic-tutorial-3.vcxproj | 0 .../vs2010}/basic-tutorial-3/basic-tutorial-3.vcxproj.filters | 0 .../tutorials/vs2010}/basic-tutorial-4/basic-tutorial-4.vcxproj | 0 .../vs2010}/basic-tutorial-4/basic-tutorial-4.vcxproj.filters | 0 .../tutorials/vs2010}/basic-tutorial-5/basic-tutorial-5.vcxproj | 0 .../vs2010}/basic-tutorial-5/basic-tutorial-5.vcxproj.filters | 0 .../tutorials/vs2010}/basic-tutorial-6/basic-tutorial-6.vcxproj | 0 .../vs2010}/basic-tutorial-6/basic-tutorial-6.vcxproj.filters | 0 .../tutorials/vs2010}/basic-tutorial-7/basic-tutorial-7.vcxproj | 0 .../vs2010}/basic-tutorial-7/basic-tutorial-7.vcxproj.filters | 0 .../tutorials/vs2010}/basic-tutorial-8/basic-tutorial-8.vcxproj | 0 .../vs2010}/basic-tutorial-8/basic-tutorial-8.vcxproj.filters | 0 .../tutorials/vs2010}/basic-tutorial-9/basic-tutorial-9.vcxproj | 0 .../vs2010}/basic-tutorial-9/basic-tutorial-9.vcxproj.filters | 0 .../vs2010}/playback-tutorial-1/playback-tutorial-1.vcxproj | 0 .../playback-tutorial-1/playback-tutorial-1.vcxproj.filters | 0 .../vs2010}/playback-tutorial-2/playback-tutorial-2.vcxproj | 0 .../playback-tutorial-2/playback-tutorial-2.vcxproj.filters | 0 {vs/2010/tutorials => gst-sdk/tutorials/vs2010}/tutorials.sln | 0 23 files changed, 0 insertions(+), 0 deletions(-) rename {vs/2010/tutorials => gst-sdk/tutorials/vs2010}/basic-tutorial-1/basic-tutorial-1.vcxproj (100%) rename {vs/2010/tutorials => gst-sdk/tutorials/vs2010}/basic-tutorial-1/basic-tutorial-1.vcxproj.filters (100%) rename {vs/2010/tutorials => gst-sdk/tutorials/vs2010}/basic-tutorial-2/basic-tutorial-2.vcxproj (100%) rename {vs/2010/tutorials => gst-sdk/tutorials/vs2010}/basic-tutorial-2/basic-tutorial-2.vcxproj.filters (100%) rename {vs/2010/tutorials => gst-sdk/tutorials/vs2010}/basic-tutorial-3/basic-tutorial-3.vcxproj (100%) rename {vs/2010/tutorials => gst-sdk/tutorials/vs2010}/basic-tutorial-3/basic-tutorial-3.vcxproj.filters (100%) rename {vs/2010/tutorials => gst-sdk/tutorials/vs2010}/basic-tutorial-4/basic-tutorial-4.vcxproj (100%) rename {vs/2010/tutorials => gst-sdk/tutorials/vs2010}/basic-tutorial-4/basic-tutorial-4.vcxproj.filters (100%) rename {vs/2010/tutorials => gst-sdk/tutorials/vs2010}/basic-tutorial-5/basic-tutorial-5.vcxproj (100%) rename {vs/2010/tutorials => gst-sdk/tutorials/vs2010}/basic-tutorial-5/basic-tutorial-5.vcxproj.filters (100%) rename {vs/2010/tutorials => gst-sdk/tutorials/vs2010}/basic-tutorial-6/basic-tutorial-6.vcxproj (100%) rename {vs/2010/tutorials => gst-sdk/tutorials/vs2010}/basic-tutorial-6/basic-tutorial-6.vcxproj.filters (100%) rename {vs/2010/tutorials => gst-sdk/tutorials/vs2010}/basic-tutorial-7/basic-tutorial-7.vcxproj (100%) rename {vs/2010/tutorials => gst-sdk/tutorials/vs2010}/basic-tutorial-7/basic-tutorial-7.vcxproj.filters (100%) rename {vs/2010/tutorials => gst-sdk/tutorials/vs2010}/basic-tutorial-8/basic-tutorial-8.vcxproj (100%) rename {vs/2010/tutorials => gst-sdk/tutorials/vs2010}/basic-tutorial-8/basic-tutorial-8.vcxproj.filters (100%) rename {vs/2010/tutorials => gst-sdk/tutorials/vs2010}/basic-tutorial-9/basic-tutorial-9.vcxproj (100%) rename {vs/2010/tutorials => gst-sdk/tutorials/vs2010}/basic-tutorial-9/basic-tutorial-9.vcxproj.filters (100%) rename {vs/2010/tutorials => gst-sdk/tutorials/vs2010}/playback-tutorial-1/playback-tutorial-1.vcxproj (100%) rename {vs/2010/tutorials => gst-sdk/tutorials/vs2010}/playback-tutorial-1/playback-tutorial-1.vcxproj.filters (100%) rename {vs/2010/tutorials => gst-sdk/tutorials/vs2010}/playback-tutorial-2/playback-tutorial-2.vcxproj (100%) rename {vs/2010/tutorials => gst-sdk/tutorials/vs2010}/playback-tutorial-2/playback-tutorial-2.vcxproj.filters (100%) rename {vs/2010/tutorials => gst-sdk/tutorials/vs2010}/tutorials.sln (100%) diff --git a/vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-1/basic-tutorial-1.vcxproj similarity index 100% rename from vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj rename to gst-sdk/tutorials/vs2010/basic-tutorial-1/basic-tutorial-1.vcxproj diff --git a/vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj.filters b/gst-sdk/tutorials/vs2010/basic-tutorial-1/basic-tutorial-1.vcxproj.filters similarity index 100% rename from vs/2010/tutorials/basic-tutorial-1/basic-tutorial-1.vcxproj.filters rename to gst-sdk/tutorials/vs2010/basic-tutorial-1/basic-tutorial-1.vcxproj.filters diff --git a/vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-2/basic-tutorial-2.vcxproj similarity index 100% rename from vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj rename to gst-sdk/tutorials/vs2010/basic-tutorial-2/basic-tutorial-2.vcxproj diff --git a/vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj.filters b/gst-sdk/tutorials/vs2010/basic-tutorial-2/basic-tutorial-2.vcxproj.filters similarity index 100% rename from vs/2010/tutorials/basic-tutorial-2/basic-tutorial-2.vcxproj.filters rename to gst-sdk/tutorials/vs2010/basic-tutorial-2/basic-tutorial-2.vcxproj.filters diff --git a/vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-3/basic-tutorial-3.vcxproj similarity index 100% rename from vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj rename to gst-sdk/tutorials/vs2010/basic-tutorial-3/basic-tutorial-3.vcxproj diff --git a/vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj.filters b/gst-sdk/tutorials/vs2010/basic-tutorial-3/basic-tutorial-3.vcxproj.filters similarity index 100% rename from vs/2010/tutorials/basic-tutorial-3/basic-tutorial-3.vcxproj.filters rename to gst-sdk/tutorials/vs2010/basic-tutorial-3/basic-tutorial-3.vcxproj.filters diff --git a/vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-4/basic-tutorial-4.vcxproj similarity index 100% rename from vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj rename to gst-sdk/tutorials/vs2010/basic-tutorial-4/basic-tutorial-4.vcxproj diff --git a/vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj.filters b/gst-sdk/tutorials/vs2010/basic-tutorial-4/basic-tutorial-4.vcxproj.filters similarity index 100% rename from vs/2010/tutorials/basic-tutorial-4/basic-tutorial-4.vcxproj.filters rename to gst-sdk/tutorials/vs2010/basic-tutorial-4/basic-tutorial-4.vcxproj.filters diff --git a/vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-5/basic-tutorial-5.vcxproj similarity index 100% rename from vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj rename to gst-sdk/tutorials/vs2010/basic-tutorial-5/basic-tutorial-5.vcxproj diff --git a/vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj.filters b/gst-sdk/tutorials/vs2010/basic-tutorial-5/basic-tutorial-5.vcxproj.filters similarity index 100% rename from vs/2010/tutorials/basic-tutorial-5/basic-tutorial-5.vcxproj.filters rename to gst-sdk/tutorials/vs2010/basic-tutorial-5/basic-tutorial-5.vcxproj.filters diff --git a/vs/2010/tutorials/basic-tutorial-6/basic-tutorial-6.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-6/basic-tutorial-6.vcxproj similarity index 100% rename from vs/2010/tutorials/basic-tutorial-6/basic-tutorial-6.vcxproj rename to gst-sdk/tutorials/vs2010/basic-tutorial-6/basic-tutorial-6.vcxproj diff --git a/vs/2010/tutorials/basic-tutorial-6/basic-tutorial-6.vcxproj.filters b/gst-sdk/tutorials/vs2010/basic-tutorial-6/basic-tutorial-6.vcxproj.filters similarity index 100% rename from vs/2010/tutorials/basic-tutorial-6/basic-tutorial-6.vcxproj.filters rename to gst-sdk/tutorials/vs2010/basic-tutorial-6/basic-tutorial-6.vcxproj.filters diff --git a/vs/2010/tutorials/basic-tutorial-7/basic-tutorial-7.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-7/basic-tutorial-7.vcxproj similarity index 100% rename from vs/2010/tutorials/basic-tutorial-7/basic-tutorial-7.vcxproj rename to gst-sdk/tutorials/vs2010/basic-tutorial-7/basic-tutorial-7.vcxproj diff --git a/vs/2010/tutorials/basic-tutorial-7/basic-tutorial-7.vcxproj.filters b/gst-sdk/tutorials/vs2010/basic-tutorial-7/basic-tutorial-7.vcxproj.filters similarity index 100% rename from vs/2010/tutorials/basic-tutorial-7/basic-tutorial-7.vcxproj.filters rename to gst-sdk/tutorials/vs2010/basic-tutorial-7/basic-tutorial-7.vcxproj.filters diff --git a/vs/2010/tutorials/basic-tutorial-8/basic-tutorial-8.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-8/basic-tutorial-8.vcxproj similarity index 100% rename from vs/2010/tutorials/basic-tutorial-8/basic-tutorial-8.vcxproj rename to gst-sdk/tutorials/vs2010/basic-tutorial-8/basic-tutorial-8.vcxproj diff --git a/vs/2010/tutorials/basic-tutorial-8/basic-tutorial-8.vcxproj.filters b/gst-sdk/tutorials/vs2010/basic-tutorial-8/basic-tutorial-8.vcxproj.filters similarity index 100% rename from vs/2010/tutorials/basic-tutorial-8/basic-tutorial-8.vcxproj.filters rename to gst-sdk/tutorials/vs2010/basic-tutorial-8/basic-tutorial-8.vcxproj.filters diff --git a/vs/2010/tutorials/basic-tutorial-9/basic-tutorial-9.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-9/basic-tutorial-9.vcxproj similarity index 100% rename from vs/2010/tutorials/basic-tutorial-9/basic-tutorial-9.vcxproj rename to gst-sdk/tutorials/vs2010/basic-tutorial-9/basic-tutorial-9.vcxproj diff --git a/vs/2010/tutorials/basic-tutorial-9/basic-tutorial-9.vcxproj.filters b/gst-sdk/tutorials/vs2010/basic-tutorial-9/basic-tutorial-9.vcxproj.filters similarity index 100% rename from vs/2010/tutorials/basic-tutorial-9/basic-tutorial-9.vcxproj.filters rename to gst-sdk/tutorials/vs2010/basic-tutorial-9/basic-tutorial-9.vcxproj.filters diff --git a/vs/2010/tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj b/gst-sdk/tutorials/vs2010/playback-tutorial-1/playback-tutorial-1.vcxproj similarity index 100% rename from vs/2010/tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj rename to gst-sdk/tutorials/vs2010/playback-tutorial-1/playback-tutorial-1.vcxproj diff --git a/vs/2010/tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj.filters b/gst-sdk/tutorials/vs2010/playback-tutorial-1/playback-tutorial-1.vcxproj.filters similarity index 100% rename from vs/2010/tutorials/playback-tutorial-1/playback-tutorial-1.vcxproj.filters rename to gst-sdk/tutorials/vs2010/playback-tutorial-1/playback-tutorial-1.vcxproj.filters diff --git a/vs/2010/tutorials/playback-tutorial-2/playback-tutorial-2.vcxproj b/gst-sdk/tutorials/vs2010/playback-tutorial-2/playback-tutorial-2.vcxproj similarity index 100% rename from vs/2010/tutorials/playback-tutorial-2/playback-tutorial-2.vcxproj rename to gst-sdk/tutorials/vs2010/playback-tutorial-2/playback-tutorial-2.vcxproj diff --git a/vs/2010/tutorials/playback-tutorial-2/playback-tutorial-2.vcxproj.filters b/gst-sdk/tutorials/vs2010/playback-tutorial-2/playback-tutorial-2.vcxproj.filters similarity index 100% rename from vs/2010/tutorials/playback-tutorial-2/playback-tutorial-2.vcxproj.filters rename to gst-sdk/tutorials/vs2010/playback-tutorial-2/playback-tutorial-2.vcxproj.filters diff --git a/vs/2010/tutorials/tutorials.sln b/gst-sdk/tutorials/vs2010/tutorials.sln similarity index 100% rename from vs/2010/tutorials/tutorials.sln rename to gst-sdk/tutorials/vs2010/tutorials.sln From 782541f1329321c04ee8cd5677a7ea31bf7ea0c9 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 29 May 2012 12:49:03 +0200 Subject: [PATCH 030/979] Set new directory structure in the project files --- .../basic-tutorial-1/basic-tutorial-1.vcxproj | 2 +- .../basic-tutorial-1.vcxproj.filters | 2 +- .../basic-tutorial-10.vcxproj | 99 +++++++++++++++++++ .../basic-tutorial-10.vcxproj.filters | 6 ++ .../basic-tutorial-2/basic-tutorial-2.vcxproj | 2 +- .../basic-tutorial-2.vcxproj.filters | 2 +- .../basic-tutorial-3/basic-tutorial-3.vcxproj | 2 +- .../basic-tutorial-3.vcxproj.filters | 2 +- .../basic-tutorial-4/basic-tutorial-4.vcxproj | 2 +- .../basic-tutorial-4.vcxproj.filters | 2 +- .../basic-tutorial-5/basic-tutorial-5.vcxproj | 2 +- .../basic-tutorial-5.vcxproj.filters | 2 +- .../basic-tutorial-6/basic-tutorial-6.vcxproj | 2 +- .../basic-tutorial-6.vcxproj.filters | 2 +- .../basic-tutorial-7/basic-tutorial-7.vcxproj | 2 +- .../basic-tutorial-7.vcxproj.filters | 2 +- .../basic-tutorial-8/basic-tutorial-8.vcxproj | 2 +- .../basic-tutorial-8.vcxproj.filters | 2 +- .../basic-tutorial-9/basic-tutorial-9.vcxproj | 2 +- .../basic-tutorial-9.vcxproj.filters | 2 +- .../playback-tutorial-1.vcxproj | 2 +- .../playback-tutorial-1.vcxproj.filters | 2 +- .../playback-tutorial-2.vcxproj | 2 +- .../playback-tutorial-2.vcxproj.filters | 2 +- 24 files changed, 127 insertions(+), 22 deletions(-) create mode 100644 gst-sdk/tutorials/vs2010/basic-tutorial-10/basic-tutorial-10.vcxproj create mode 100644 gst-sdk/tutorials/vs2010/basic-tutorial-10/basic-tutorial-10.vcxproj.filters diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-1/basic-tutorial-1.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-1/basic-tutorial-1.vcxproj index 1ed93ef986..0092e18408 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-1/basic-tutorial-1.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-1/basic-tutorial-1.vcxproj @@ -19,7 +19,7 @@ - + Win32Proj diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-1/basic-tutorial-1.vcxproj.filters b/gst-sdk/tutorials/vs2010/basic-tutorial-1/basic-tutorial-1.vcxproj.filters index 260bf3cdf8..b5b006354d 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-1/basic-tutorial-1.vcxproj.filters +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-1/basic-tutorial-1.vcxproj.filters @@ -1,6 +1,6 @@  - + \ No newline at end of file diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-10/basic-tutorial-10.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-10/basic-tutorial-10.vcxproj new file mode 100644 index 0000000000..ff1ae2c560 --- /dev/null +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-10/basic-tutorial-10.vcxproj @@ -0,0 +1,99 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + + + + Win32Proj + {A2E63C29-3375-4930-B7D3-2F23EC824EAF} + v4.0 + + + + Application + true + Unicode + Windows7.1SDK + Windows7.1SDK + + + Application + false + true + Unicode + Windows7.1SDK + Windows7.1SDK + + + + + + + + + + + + + + + + + true + + + false + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + %(AdditionalDependencies) + %(AdditionalLibraryDirectories) + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + false + true + + + + + + \ No newline at end of file diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-10/basic-tutorial-10.vcxproj.filters b/gst-sdk/tutorials/vs2010/basic-tutorial-10/basic-tutorial-10.vcxproj.filters new file mode 100644 index 0000000000..b0c0be2e6b --- /dev/null +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-10/basic-tutorial-10.vcxproj.filters @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-2/basic-tutorial-2.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-2/basic-tutorial-2.vcxproj index 5c77c45ae1..4da9b383c5 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-2/basic-tutorial-2.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-2/basic-tutorial-2.vcxproj @@ -19,7 +19,7 @@ - + Win32Proj diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-2/basic-tutorial-2.vcxproj.filters b/gst-sdk/tutorials/vs2010/basic-tutorial-2/basic-tutorial-2.vcxproj.filters index e6aec2795e..20de2446c2 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-2/basic-tutorial-2.vcxproj.filters +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-2/basic-tutorial-2.vcxproj.filters @@ -1,6 +1,6 @@  - + \ No newline at end of file diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-3/basic-tutorial-3.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-3/basic-tutorial-3.vcxproj index 9fa71cdc83..e02a19fd03 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-3/basic-tutorial-3.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-3/basic-tutorial-3.vcxproj @@ -19,7 +19,7 @@ - + Win32Proj diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-3/basic-tutorial-3.vcxproj.filters b/gst-sdk/tutorials/vs2010/basic-tutorial-3/basic-tutorial-3.vcxproj.filters index fedb4ee7e6..db211db532 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-3/basic-tutorial-3.vcxproj.filters +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-3/basic-tutorial-3.vcxproj.filters @@ -1,6 +1,6 @@  - + \ No newline at end of file diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-4/basic-tutorial-4.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-4/basic-tutorial-4.vcxproj index 1d43da710e..b31200650c 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-4/basic-tutorial-4.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-4/basic-tutorial-4.vcxproj @@ -19,7 +19,7 @@ - + Win32Proj diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-4/basic-tutorial-4.vcxproj.filters b/gst-sdk/tutorials/vs2010/basic-tutorial-4/basic-tutorial-4.vcxproj.filters index d052c4354e..42706ff392 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-4/basic-tutorial-4.vcxproj.filters +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-4/basic-tutorial-4.vcxproj.filters @@ -1,6 +1,6 @@  - + \ No newline at end of file diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-5/basic-tutorial-5.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-5/basic-tutorial-5.vcxproj index 75c43a5910..8ae696f20e 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-5/basic-tutorial-5.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-5/basic-tutorial-5.vcxproj @@ -19,7 +19,7 @@ - + Win32Proj diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-5/basic-tutorial-5.vcxproj.filters b/gst-sdk/tutorials/vs2010/basic-tutorial-5/basic-tutorial-5.vcxproj.filters index 399cfb2070..a4a46c304b 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-5/basic-tutorial-5.vcxproj.filters +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-5/basic-tutorial-5.vcxproj.filters @@ -1,6 +1,6 @@  - + \ No newline at end of file diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-6/basic-tutorial-6.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-6/basic-tutorial-6.vcxproj index 7d0c8bb1c3..9db79a6393 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-6/basic-tutorial-6.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-6/basic-tutorial-6.vcxproj @@ -19,7 +19,7 @@ - + Win32Proj diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-6/basic-tutorial-6.vcxproj.filters b/gst-sdk/tutorials/vs2010/basic-tutorial-6/basic-tutorial-6.vcxproj.filters index 95ed60a53d..97b4a546a5 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-6/basic-tutorial-6.vcxproj.filters +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-6/basic-tutorial-6.vcxproj.filters @@ -1,6 +1,6 @@  - + \ No newline at end of file diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-7/basic-tutorial-7.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-7/basic-tutorial-7.vcxproj index 94d40872ef..6a609d2e9d 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-7/basic-tutorial-7.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-7/basic-tutorial-7.vcxproj @@ -19,7 +19,7 @@ - + Win32Proj diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-7/basic-tutorial-7.vcxproj.filters b/gst-sdk/tutorials/vs2010/basic-tutorial-7/basic-tutorial-7.vcxproj.filters index 2a499f8cc2..e2bbe80929 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-7/basic-tutorial-7.vcxproj.filters +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-7/basic-tutorial-7.vcxproj.filters @@ -1,6 +1,6 @@  - + \ No newline at end of file diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-8/basic-tutorial-8.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-8/basic-tutorial-8.vcxproj index d6877dbe10..7da90e7e76 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-8/basic-tutorial-8.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-8/basic-tutorial-8.vcxproj @@ -19,7 +19,7 @@ - + Win32Proj diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-8/basic-tutorial-8.vcxproj.filters b/gst-sdk/tutorials/vs2010/basic-tutorial-8/basic-tutorial-8.vcxproj.filters index 368db13680..e14f0f5131 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-8/basic-tutorial-8.vcxproj.filters +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-8/basic-tutorial-8.vcxproj.filters @@ -1,6 +1,6 @@  - + \ No newline at end of file diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-9/basic-tutorial-9.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-9/basic-tutorial-9.vcxproj index f50a95d3d7..2196977644 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-9/basic-tutorial-9.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-9/basic-tutorial-9.vcxproj @@ -19,7 +19,7 @@ - + Win32Proj diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-9/basic-tutorial-9.vcxproj.filters b/gst-sdk/tutorials/vs2010/basic-tutorial-9/basic-tutorial-9.vcxproj.filters index f101a7332c..965f49cd5a 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-9/basic-tutorial-9.vcxproj.filters +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-9/basic-tutorial-9.vcxproj.filters @@ -1,6 +1,6 @@  - + \ No newline at end of file diff --git a/gst-sdk/tutorials/vs2010/playback-tutorial-1/playback-tutorial-1.vcxproj b/gst-sdk/tutorials/vs2010/playback-tutorial-1/playback-tutorial-1.vcxproj index 0f75ceedf0..f4bfa77da6 100644 --- a/gst-sdk/tutorials/vs2010/playback-tutorial-1/playback-tutorial-1.vcxproj +++ b/gst-sdk/tutorials/vs2010/playback-tutorial-1/playback-tutorial-1.vcxproj @@ -19,7 +19,7 @@ - + Win32Proj diff --git a/gst-sdk/tutorials/vs2010/playback-tutorial-1/playback-tutorial-1.vcxproj.filters b/gst-sdk/tutorials/vs2010/playback-tutorial-1/playback-tutorial-1.vcxproj.filters index 5e28209a2f..98ab89aecd 100644 --- a/gst-sdk/tutorials/vs2010/playback-tutorial-1/playback-tutorial-1.vcxproj.filters +++ b/gst-sdk/tutorials/vs2010/playback-tutorial-1/playback-tutorial-1.vcxproj.filters @@ -1,6 +1,6 @@  - + \ No newline at end of file diff --git a/gst-sdk/tutorials/vs2010/playback-tutorial-2/playback-tutorial-2.vcxproj b/gst-sdk/tutorials/vs2010/playback-tutorial-2/playback-tutorial-2.vcxproj index c63fd602f3..aec8b9f4cc 100644 --- a/gst-sdk/tutorials/vs2010/playback-tutorial-2/playback-tutorial-2.vcxproj +++ b/gst-sdk/tutorials/vs2010/playback-tutorial-2/playback-tutorial-2.vcxproj @@ -19,7 +19,7 @@ - + Win32Proj diff --git a/gst-sdk/tutorials/vs2010/playback-tutorial-2/playback-tutorial-2.vcxproj.filters b/gst-sdk/tutorials/vs2010/playback-tutorial-2/playback-tutorial-2.vcxproj.filters index 0dee9653b5..92690d52d2 100644 --- a/gst-sdk/tutorials/vs2010/playback-tutorial-2/playback-tutorial-2.vcxproj.filters +++ b/gst-sdk/tutorials/vs2010/playback-tutorial-2/playback-tutorial-2.vcxproj.filters @@ -1,6 +1,6 @@  - + \ No newline at end of file From e478001fcef971c9a4c991c1247b2030aeff958e Mon Sep 17 00:00:00 2001 From: Andoni Morales Alastruey Date: Thu, 24 May 2012 01:43:14 +0200 Subject: [PATCH 031/979] Move toturials to a folder with the arch name --- .../project.pbxproj | 271 +++++++++++++++++- .../contents.xcworkspacedata | 0 .../UserInterfaceState.xcuserstate | Bin 0 -> 90787 bytes .../xcschemes/Playback Tutorial 1.xcscheme | 0 .../xcschemes/Playback Tutorial 2.xcscheme | 0 .../xcschemes/Turorial 3.xcscheme | 0 .../xcschemes/Tutorial 1.xcscheme | 0 .../xcschemes/Tutorial 2.xcscheme | 0 .../xcschemes/Tutorial 4.xcscheme | 0 .../xcschemes/Tutorial 5.xcscheme | 0 .../xcschemes/Tutorial 6.xcscheme | 0 .../xcschemes/Tutorial 7.xcscheme | 84 ++++++ .../xcschemes/Tutorial 8.xcscheme | 84 ++++++ .../xcschemes/Tutorial 9.xcscheme | 84 ++++++ .../xcschemes/xcschememanagement.plist | 30 ++ .../UserInterfaceState.xcuserstate | Bin 48470 -> 0 bytes 16 files changed, 545 insertions(+), 8 deletions(-) rename xcode/{GStreamer Tutorials/GStreamer Tutorials.xcodeproj => GStreamer Tutorials x86_64.xcodeproj}/project.pbxproj (73%) rename xcode/{GStreamer Tutorials/GStreamer Tutorials.xcodeproj => GStreamer Tutorials x86_64.xcodeproj}/project.xcworkspace/contents.xcworkspacedata (100%) create mode 100644 xcode/GStreamer Tutorials x86_64.xcodeproj/project.xcworkspace/xcuserdata/fluendo.xcuserdatad/UserInterfaceState.xcuserstate rename xcode/{GStreamer Tutorials/GStreamer Tutorials.xcodeproj => GStreamer Tutorials x86_64.xcodeproj}/xcuserdata/fluendo.xcuserdatad/xcschemes/Playback Tutorial 1.xcscheme (100%) rename xcode/{GStreamer Tutorials/GStreamer Tutorials.xcodeproj => GStreamer Tutorials x86_64.xcodeproj}/xcuserdata/fluendo.xcuserdatad/xcschemes/Playback Tutorial 2.xcscheme (100%) rename xcode/{GStreamer Tutorials/GStreamer Tutorials.xcodeproj => GStreamer Tutorials x86_64.xcodeproj}/xcuserdata/fluendo.xcuserdatad/xcschemes/Turorial 3.xcscheme (100%) rename xcode/{GStreamer Tutorials/GStreamer Tutorials.xcodeproj => GStreamer Tutorials x86_64.xcodeproj}/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 1.xcscheme (100%) rename xcode/{GStreamer Tutorials/GStreamer Tutorials.xcodeproj => GStreamer Tutorials x86_64.xcodeproj}/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 2.xcscheme (100%) rename xcode/{GStreamer Tutorials/GStreamer Tutorials.xcodeproj => GStreamer Tutorials x86_64.xcodeproj}/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 4.xcscheme (100%) rename xcode/{GStreamer Tutorials/GStreamer Tutorials.xcodeproj => GStreamer Tutorials x86_64.xcodeproj}/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 5.xcscheme (100%) rename xcode/{GStreamer Tutorials/GStreamer Tutorials.xcodeproj => GStreamer Tutorials x86_64.xcodeproj}/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 6.xcscheme (100%) create mode 100644 xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 7.xcscheme create mode 100644 xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 8.xcscheme create mode 100644 xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 9.xcscheme rename xcode/{GStreamer Tutorials/GStreamer Tutorials.xcodeproj => GStreamer Tutorials x86_64.xcodeproj}/xcuserdata/fluendo.xcuserdatad/xcschemes/xcschememanagement.plist (78%) delete mode 100644 xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/project.xcworkspace/xcuserdata/fluendo.xcuserdatad/UserInterfaceState.xcuserstate diff --git a/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/project.pbxproj b/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj similarity index 73% rename from xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/project.pbxproj rename to xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj index 10d863f2d4..c86f8fde51 100644 --- a/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/project.pbxproj +++ b/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj @@ -15,6 +15,9 @@ 63118CD4156D33040085CF03 /* playback-tutorial-1.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118CD2156D32FE0085CF03 /* playback-tutorial-1.c */; }; 63118CE5156D35610085CF03 /* playback-tutorial-2.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118CE3156D35390085CF03 /* playback-tutorial-2.c */; }; 63118CF6156D3ACB0085CF03 /* basic-tutorial-6.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118CF4156D3AB60085CF03 /* basic-tutorial-6.c */; }; + 63DE883E156DAC18006F2D3B /* basic-tutorial-7.c in Sources */ = {isa = PBXBuildFile; fileRef = 63DE8838156DAC09006F2D3B /* basic-tutorial-7.c */; }; + 63DE883F156DAC1D006F2D3B /* basic-tutorial-8.c in Sources */ = {isa = PBXBuildFile; fileRef = 63DE883A156DAC0E006F2D3B /* basic-tutorial-8.c */; }; + 63DE8840156DAC21006F2D3B /* basic-tutorial-9.c in Sources */ = {isa = PBXBuildFile; fileRef = 63DE883C156DAC15006F2D3B /* basic-tutorial-9.c */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -90,27 +93,61 @@ ); runOnlyForDeploymentPostprocessing = 1; }; + 63DE8810156DABDF006F2D3B /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; + 63DE881E156DABE6006F2D3B /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; + 63DE882C156DABEE006F2D3B /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 63118C4D156D29530085CF03 /* basic-tutorial-2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-2.c"; path = "../../gst-sdk/tutorials/basic-tutorial-2.c"; sourceTree = SOURCE_ROOT; }; + 63118C4D156D29530085CF03 /* basic-tutorial-2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-2.c"; path = "../gst-sdk/tutorials/basic-tutorial-2.c"; sourceTree = SOURCE_ROOT; }; 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10.xcconfig"; path = "../../../../../../../../System/Library/Frameworks/GStreamer.framework/Version/2012.5/x86_64/share/gst-sdk/xcode/gstreamer-0.10.xcconfig"; sourceTree = ""; }; 63118C54156D29DE0085CF03 /* Turorial 3 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Turorial 3"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118C60156D2AA70085CF03 /* basic-tutorial-3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-3.c"; path = "../../gst-sdk/tutorials/basic-tutorial-3.c"; sourceTree = SOURCE_ROOT; }; + 63118C60156D2AA70085CF03 /* basic-tutorial-3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-3.c"; path = "../gst-sdk/tutorials/basic-tutorial-3.c"; sourceTree = SOURCE_ROOT; }; 63118C75156D2B970085CF03 /* Tutorial 4 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 4"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118C7F156D2BA30085CF03 /* basic-tutorial-4.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-4.c"; path = "../../gst-sdk/tutorials/basic-tutorial-4.c"; sourceTree = SOURCE_ROOT; }; + 63118C7F156D2BA30085CF03 /* basic-tutorial-4.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-4.c"; path = "../gst-sdk/tutorials/basic-tutorial-4.c"; sourceTree = SOURCE_ROOT; }; 63118C88156D2D190085CF03 /* Tutorial 1 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 1"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118C92156D2D630085CF03 /* basic-tutorial-1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-1.c"; path = "../../gst-sdk/tutorials/basic-tutorial-1.c"; sourceTree = SOURCE_ROOT; }; + 63118C92156D2D630085CF03 /* basic-tutorial-1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-1.c"; path = "../gst-sdk/tutorials/basic-tutorial-1.c"; sourceTree = SOURCE_ROOT; }; 63118C98156D2E2F0085CF03 /* Tutorial 5 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 5"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118CA2156D2E400085CF03 /* basic-tutorial-5.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; name = "basic-tutorial-5.c"; path = "../../gst-sdk/tutorials/basic-tutorial-5.c"; sourceTree = SOURCE_ROOT; }; + 63118CA2156D2E400085CF03 /* basic-tutorial-5.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; name = "basic-tutorial-5.c"; path = "../gst-sdk/tutorials/basic-tutorial-5.c"; sourceTree = SOURCE_ROOT; }; 63118CA4156D2EAC0085CF03 /* gstreamer-0.10-gtk+-2.0.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-gtk+-2.0.xcconfig"; path = "../../../../../../../../System/Library/Frameworks/GStreamer.framework/Version/2012.5/x86_64/share/gst-sdk/xcode/gstreamer-0.10-gtk+-2.0.xcconfig"; sourceTree = ""; }; 63118CB9156D31240085CF03 /* Tutorial 2 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 2"; sourceTree = BUILT_PRODUCTS_DIR; }; 63118CC8156D32E20085CF03 /* Playback Tutorial 1 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Playback Tutorial 1"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118CD2156D32FE0085CF03 /* playback-tutorial-1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-1.c"; path = "../../gst-sdk/tutorials/playback-tutorial-1.c"; sourceTree = SOURCE_ROOT; }; + 63118CD2156D32FE0085CF03 /* playback-tutorial-1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-1.c"; path = "../gst-sdk/tutorials/playback-tutorial-1.c"; sourceTree = SOURCE_ROOT; }; 63118CD9156D34BA0085CF03 /* Playback Tutorial 2 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Playback Tutorial 2"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118CE3156D35390085CF03 /* playback-tutorial-2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-2.c"; path = "../../gst-sdk/tutorials/playback-tutorial-2.c"; sourceTree = SOURCE_ROOT; }; + 63118CE3156D35390085CF03 /* playback-tutorial-2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-2.c"; path = "../gst-sdk/tutorials/playback-tutorial-2.c"; sourceTree = SOURCE_ROOT; }; 63118CEA156D3A870085CF03 /* Tutorial 6 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 6"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118CF4156D3AB60085CF03 /* basic-tutorial-6.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-6.c"; path = "../../gst-sdk/tutorials/basic-tutorial-6.c"; sourceTree = SOURCE_ROOT; }; + 63118CF4156D3AB60085CF03 /* basic-tutorial-6.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-6.c"; path = "../gst-sdk/tutorials/basic-tutorial-6.c"; sourceTree = SOURCE_ROOT; }; + 63DE8812156DABDF006F2D3B /* Tutorial 7 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 7"; sourceTree = BUILT_PRODUCTS_DIR; }; + 63DE8820156DABE6006F2D3B /* Tutorial 8 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 8"; sourceTree = BUILT_PRODUCTS_DIR; }; + 63DE882E156DABEE006F2D3B /* Tutorial 9 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 9"; sourceTree = BUILT_PRODUCTS_DIR; }; + 63DE8838156DAC09006F2D3B /* basic-tutorial-7.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-7.c"; path = "../gst-sdk/tutorials/basic-tutorial-7.c"; sourceTree = SOURCE_ROOT; }; + 63DE883A156DAC0E006F2D3B /* basic-tutorial-8.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-8.c"; path = "../gst-sdk/tutorials/basic-tutorial-8.c"; sourceTree = SOURCE_ROOT; }; + 63DE883C156DAC15006F2D3B /* basic-tutorial-9.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-9.c"; path = "../gst-sdk/tutorials/basic-tutorial-9.c"; sourceTree = SOURCE_ROOT; }; + 63DE8841156DACB3006F2D3B /* gstreamer-0.10-all.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-all.xcconfig"; path = "../../../../../../../System/Library/Frameworks/GStreamer.framework/Version/2012.5/x86_64/share/gst-sdk/xcode/gstreamer-0.10-all.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -170,12 +207,34 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 63DE880F156DABDF006F2D3B /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63DE881D156DABE6006F2D3B /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63DE882B156DABEE006F2D3B /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ 63118C35156D29340085CF03 = { isa = PBXGroup; children = ( + 63DE8841156DACB3006F2D3B /* gstreamer-0.10-all.xcconfig */, 63118CA4156D2EAC0085CF03 /* gstreamer-0.10-gtk+-2.0.xcconfig */, 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */, 63118C8A156D2D190085CF03 /* Tutorial 1 */, @@ -186,6 +245,9 @@ 63118CEC156D3A870085CF03 /* Tutorial 6 */, 63118CCA156D32E20085CF03 /* Playback Tutorial 1 */, 63118CDB156D34BA0085CF03 /* Playback Tutorial 2 */, + 63DE8814156DABDF006F2D3B /* Tutorial 7 */, + 63DE8822156DABE6006F2D3B /* Tutorial 8 */, + 63DE8830156DABEE006F2D3B /* Tutorial 9 */, 63118C41156D29340085CF03 /* Products */, ); sourceTree = ""; @@ -201,6 +263,9 @@ 63118CC8156D32E20085CF03 /* Playback Tutorial 1 */, 63118CD9156D34BA0085CF03 /* Playback Tutorial 2 */, 63118CEA156D3A870085CF03 /* Tutorial 6 */, + 63DE8812156DABDF006F2D3B /* Tutorial 7 */, + 63DE8820156DABE6006F2D3B /* Tutorial 8 */, + 63DE882E156DABEE006F2D3B /* Tutorial 9 */, ); name = Products; sourceTree = SOURCE_ROOT; @@ -271,6 +336,30 @@ path = "Tutorial 6"; sourceTree = ""; }; + 63DE8814156DABDF006F2D3B /* Tutorial 7 */ = { + isa = PBXGroup; + children = ( + 63DE8838156DAC09006F2D3B /* basic-tutorial-7.c */, + ); + path = "Tutorial 7"; + sourceTree = ""; + }; + 63DE8822156DABE6006F2D3B /* Tutorial 8 */ = { + isa = PBXGroup; + children = ( + 63DE883A156DAC0E006F2D3B /* basic-tutorial-8.c */, + ); + path = "Tutorial 8"; + sourceTree = ""; + }; + 63DE8830156DABEE006F2D3B /* Tutorial 9 */ = { + isa = PBXGroup; + children = ( + 63DE883C156DAC15006F2D3B /* basic-tutorial-9.c */, + ); + path = "Tutorial 9"; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -410,6 +499,57 @@ productReference = 63118CEA156D3A870085CF03 /* Tutorial 6 */; productType = "com.apple.product-type.tool"; }; + 63DE8811156DABDF006F2D3B /* Tutorial 7 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 63DE8819156DABDF006F2D3B /* Build configuration list for PBXNativeTarget "Tutorial 7" */; + buildPhases = ( + 63DE880E156DABDF006F2D3B /* Sources */, + 63DE880F156DABDF006F2D3B /* Frameworks */, + 63DE8810156DABDF006F2D3B /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Tutorial 7"; + productName = "Tutorial 7"; + productReference = 63DE8812156DABDF006F2D3B /* Tutorial 7 */; + productType = "com.apple.product-type.tool"; + }; + 63DE881F156DABE6006F2D3B /* Tutorial 8 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 63DE8827156DABE7006F2D3B /* Build configuration list for PBXNativeTarget "Tutorial 8" */; + buildPhases = ( + 63DE881C156DABE6006F2D3B /* Sources */, + 63DE881D156DABE6006F2D3B /* Frameworks */, + 63DE881E156DABE6006F2D3B /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Tutorial 8"; + productName = "Tutorial 8"; + productReference = 63DE8820156DABE6006F2D3B /* Tutorial 8 */; + productType = "com.apple.product-type.tool"; + }; + 63DE882D156DABEE006F2D3B /* Tutorial 9 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 63DE8835156DABEE006F2D3B /* Build configuration list for PBXNativeTarget "Tutorial 9" */; + buildPhases = ( + 63DE882A156DABEE006F2D3B /* Sources */, + 63DE882B156DABEE006F2D3B /* Frameworks */, + 63DE882C156DABEE006F2D3B /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Tutorial 9"; + productName = "Tutorial 9"; + productReference = 63DE882E156DABEE006F2D3B /* Tutorial 9 */; + productType = "com.apple.product-type.tool"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -438,6 +578,9 @@ 63118CC7156D32E20085CF03 /* Playback Tutorial 1 */, 63118CD8156D34BA0085CF03 /* Playback Tutorial 2 */, 63118CE9156D3A870085CF03 /* Tutorial 6 */, + 63DE8811156DABDF006F2D3B /* Tutorial 7 */, + 63DE881F156DABE6006F2D3B /* Tutorial 8 */, + 63DE882D156DABEE006F2D3B /* Tutorial 9 */, ); }; /* End PBXProject section */ @@ -507,6 +650,30 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 63DE880E156DABDF006F2D3B /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63DE883E156DAC18006F2D3B /* basic-tutorial-7.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63DE881C156DABE6006F2D3B /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63DE883F156DAC1D006F2D3B /* basic-tutorial-8.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63DE882A156DABEE006F2D3B /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63DE8840156DAC21006F2D3B /* basic-tutorial-9.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin XCBuildConfiguration section */ @@ -535,6 +702,7 @@ MACOSX_DEPLOYMENT_TARGET = 10.7; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; + VALID_ARCHS = x86_64; }; name = Debug; }; @@ -556,6 +724,7 @@ GCC_WARN_UNUSED_VARIABLE = YES; MACOSX_DEPLOYMENT_TARGET = 10.7; SDKROOT = macosx; + VALID_ARCHS = x86_64; }; name = Release; }; @@ -767,6 +936,60 @@ }; name = Release; }; + 63DE881A156DABDF006F2D3B /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 63DE881B156DABDF006F2D3B /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 63DE8828156DABE7006F2D3B /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 63DE8829156DABE7006F2D3B /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 63DE8836156DABEE006F2D3B /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63DE8841156DACB3006F2D3B /* gstreamer-0.10-all.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 63DE8837156DABEE006F2D3B /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63DE8841156DACB3006F2D3B /* gstreamer-0.10-all.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -786,6 +1009,7 @@ 63118C5D156D29DE0085CF03 /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; 63118C7C156D2B970085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 4" */ = { isa = XCConfigurationList; @@ -794,6 +1018,7 @@ 63118C7E156D2B970085CF03 /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; 63118C8F156D2D190085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 1" */ = { isa = XCConfigurationList; @@ -802,6 +1027,7 @@ 63118C91156D2D190085CF03 /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; 63118C9F156D2E2F0085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 5" */ = { isa = XCConfigurationList; @@ -810,6 +1036,7 @@ 63118CA1156D2E2F0085CF03 /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; 63118CC0156D31240085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 2" */ = { isa = XCConfigurationList; @@ -818,6 +1045,7 @@ 63118CC2156D31240085CF03 /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; 63118CCF156D32E20085CF03 /* Build configuration list for PBXNativeTarget "Playback Tutorial 1" */ = { isa = XCConfigurationList; @@ -826,6 +1054,7 @@ 63118CD1156D32E20085CF03 /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; 63118CE0156D34BA0085CF03 /* Build configuration list for PBXNativeTarget "Playback Tutorial 2" */ = { isa = XCConfigurationList; @@ -834,6 +1063,7 @@ 63118CE2156D34BA0085CF03 /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; 63118CF1156D3A870085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 6" */ = { isa = XCConfigurationList; @@ -842,6 +1072,31 @@ 63118CF3156D3A870085CF03 /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 63DE8819156DABDF006F2D3B /* Build configuration list for PBXNativeTarget "Tutorial 7" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63DE881A156DABDF006F2D3B /* Debug */, + 63DE881B156DABDF006F2D3B /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; + 63DE8827156DABE7006F2D3B /* Build configuration list for PBXNativeTarget "Tutorial 8" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63DE8828156DABE7006F2D3B /* Debug */, + 63DE8829156DABE7006F2D3B /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; + 63DE8835156DABEE006F2D3B /* Build configuration list for PBXNativeTarget "Tutorial 9" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63DE8836156DABEE006F2D3B /* Debug */, + 63DE8837156DABEE006F2D3B /* Release */, + ); + defaultConfigurationIsVisible = 0; }; /* End XCConfigurationList section */ }; diff --git a/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/xcode/GStreamer Tutorials x86_64.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to xcode/GStreamer Tutorials x86_64.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/xcode/GStreamer Tutorials x86_64.xcodeproj/project.xcworkspace/xcuserdata/fluendo.xcuserdatad/UserInterfaceState.xcuserstate b/xcode/GStreamer Tutorials x86_64.xcodeproj/project.xcworkspace/xcuserdata/fluendo.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..c5bd3d9e705a7d95fecb1d6ce13f3c8039611c19 GIT binary patch literal 90787 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 Qi@kg5&(r^(5F7Hp0Q*LptN;K2 literal 0 HcmV?d00001 diff --git a/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Playback Tutorial 1.xcscheme b/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Playback Tutorial 1.xcscheme similarity index 100% rename from xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Playback Tutorial 1.xcscheme rename to xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Playback Tutorial 1.xcscheme diff --git a/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Playback Tutorial 2.xcscheme b/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Playback Tutorial 2.xcscheme similarity index 100% rename from xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Playback Tutorial 2.xcscheme rename to xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Playback Tutorial 2.xcscheme diff --git a/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Turorial 3.xcscheme b/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Turorial 3.xcscheme similarity index 100% rename from xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Turorial 3.xcscheme rename to xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Turorial 3.xcscheme diff --git a/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 1.xcscheme b/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 1.xcscheme similarity index 100% rename from xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 1.xcscheme rename to xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 1.xcscheme diff --git a/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 2.xcscheme b/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 2.xcscheme similarity index 100% rename from xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 2.xcscheme rename to xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 2.xcscheme diff --git a/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 4.xcscheme b/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 4.xcscheme similarity index 100% rename from xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 4.xcscheme rename to xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 4.xcscheme diff --git a/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 5.xcscheme b/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 5.xcscheme similarity index 100% rename from xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 5.xcscheme rename to xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 5.xcscheme diff --git a/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 6.xcscheme b/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 6.xcscheme similarity index 100% rename from xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 6.xcscheme rename to xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 6.xcscheme diff --git a/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 7.xcscheme b/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 7.xcscheme new file mode 100644 index 0000000000..84fccd6558 --- /dev/null +++ b/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 7.xcscheme @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 8.xcscheme b/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 8.xcscheme new file mode 100644 index 0000000000..aecc95c59f --- /dev/null +++ b/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 8.xcscheme @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 9.xcscheme b/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 9.xcscheme new file mode 100644 index 0000000000..9f6bec9592 --- /dev/null +++ b/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 9.xcscheme @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/xcschememanagement.plist b/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/xcschememanagement.plist similarity index 78% rename from xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/xcschememanagement.plist rename to xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/xcschememanagement.plist index 32404742f9..f879c08f72 100644 --- a/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/xcschememanagement.plist @@ -44,6 +44,21 @@ orderHint 3 + Tutorial 7.xcscheme + + orderHint + 8 + + Tutorial 8.xcscheme + + orderHint + 9 + + Tutorial 9.xcscheme + + orderHint + 10 + SuppressBuildableAutocreation @@ -102,6 +117,21 @@ primary + 63DE8811156DABDF006F2D3B + + primary + + + 63DE881F156DABE6006F2D3B + + primary + + + 63DE882D156DABEE006F2D3B + + primary + + diff --git a/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/project.xcworkspace/xcuserdata/fluendo.xcuserdatad/UserInterfaceState.xcuserstate b/xcode/GStreamer Tutorials/GStreamer Tutorials.xcodeproj/project.xcworkspace/xcuserdata/fluendo.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index 96ade427c623f774dca5239ed92ccb1fd71cbbac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48470 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 PoMQTaB Date: Thu, 24 May 2012 01:56:47 +0200 Subject: [PATCH 032/979] Add x86 XCode projects --- .../project.pbxproj | 1105 +++++++++++++++++ .../contents.xcworkspacedata | 7 + .../UserInterfaceState.xcuserstate | Bin 0 -> 92804 bytes .../xcschemes/Playback Tutorial 1.xcscheme | 84 ++ .../xcschemes/Playback Tutorial 2.xcscheme | 84 ++ .../xcschemes/Turorial 3.xcscheme | 84 ++ .../xcschemes/Tutorial 1.xcscheme | 84 ++ .../xcschemes/Tutorial 2.xcscheme | 84 ++ .../xcschemes/Tutorial 4.xcscheme | 84 ++ .../xcschemes/Tutorial 5.xcscheme | 84 ++ .../xcschemes/Tutorial 6.xcscheme | 84 ++ .../xcschemes/Tutorial 7 2.xcscheme | 84 ++ .../xcschemes/Tutorial 7.xcscheme | 84 ++ .../xcschemes/Tutorial 8.xcscheme | 84 ++ .../xcschemes/Tutorial 9.xcscheme | 84 ++ .../xcschemes/xcschememanagement.plist | 137 ++ 16 files changed, 2257 insertions(+) create mode 100644 xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj create mode 100644 xcode/GStreamer Tutorials x86.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 xcode/GStreamer Tutorials x86.xcodeproj/project.xcworkspace/xcuserdata/fluendo.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Playback Tutorial 1.xcscheme create mode 100644 xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Playback Tutorial 2.xcscheme create mode 100644 xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Turorial 3.xcscheme create mode 100644 xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 1.xcscheme create mode 100644 xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 2.xcscheme create mode 100644 xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 4.xcscheme create mode 100644 xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 5.xcscheme create mode 100644 xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 6.xcscheme create mode 100644 xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 7 2.xcscheme create mode 100644 xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 7.xcscheme create mode 100644 xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 8.xcscheme create mode 100644 xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 9.xcscheme create mode 100644 xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj b/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..6954038ba9 --- /dev/null +++ b/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj @@ -0,0 +1,1105 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 63118C62156D2AF10085CF03 /* basic-tutorial-3.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118C60156D2AA70085CF03 /* basic-tutorial-3.c */; }; + 63118C81156D2BAE0085CF03 /* basic-tutorial-4.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118C7F156D2BA30085CF03 /* basic-tutorial-4.c */; }; + 63118C93156D2D630085CF03 /* basic-tutorial-1.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118C92156D2D630085CF03 /* basic-tutorial-1.c */; }; + 63118CA3156D2E400085CF03 /* basic-tutorial-5.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118CA2156D2E400085CF03 /* basic-tutorial-5.c */; }; + 63118CC3156D31300085CF03 /* basic-tutorial-2.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118C4D156D29530085CF03 /* basic-tutorial-2.c */; }; + 63118CD4156D33040085CF03 /* playback-tutorial-1.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118CD2156D32FE0085CF03 /* playback-tutorial-1.c */; }; + 63118CE5156D35610085CF03 /* playback-tutorial-2.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118CE3156D35390085CF03 /* playback-tutorial-2.c */; }; + 63118CF6156D3ACB0085CF03 /* basic-tutorial-6.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118CF4156D3AB60085CF03 /* basic-tutorial-6.c */; }; + 63DE883E156DAC18006F2D3B /* basic-tutorial-7.c in Sources */ = {isa = PBXBuildFile; fileRef = 63DE8838156DAC09006F2D3B /* basic-tutorial-7.c */; }; + 63DE883F156DAC1D006F2D3B /* basic-tutorial-8.c in Sources */ = {isa = PBXBuildFile; fileRef = 63DE883A156DAC0E006F2D3B /* basic-tutorial-8.c */; }; + 63DE8840156DAC21006F2D3B /* basic-tutorial-9.c in Sources */ = {isa = PBXBuildFile; fileRef = 63DE883C156DAC15006F2D3B /* basic-tutorial-9.c */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 63118C52156D29DE0085CF03 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; + 63118C73156D2B970085CF03 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; + 63118C86156D2D190085CF03 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; + 63118C96156D2E2F0085CF03 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; + 63118CB7156D31240085CF03 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; + 63118CC6156D32E20085CF03 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; + 63118CD7156D34BA0085CF03 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; + 63118CE8156D3A870085CF03 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; + 63DE8810156DABDF006F2D3B /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; + 63DE881E156DABE6006F2D3B /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; + 63DE882C156DABEE006F2D3B /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 63118C4D156D29530085CF03 /* basic-tutorial-2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-2.c"; path = "../gst-sdk/tutorials/basic-tutorial-2.c"; sourceTree = SOURCE_ROOT; }; + 63118C54156D29DE0085CF03 /* Turorial 3 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Turorial 3"; sourceTree = BUILT_PRODUCTS_DIR; }; + 63118C60156D2AA70085CF03 /* basic-tutorial-3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-3.c"; path = "../gst-sdk/tutorials/basic-tutorial-3.c"; sourceTree = SOURCE_ROOT; }; + 63118C75156D2B970085CF03 /* Tutorial 4 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 4"; sourceTree = BUILT_PRODUCTS_DIR; }; + 63118C7F156D2BA30085CF03 /* basic-tutorial-4.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-4.c"; path = "../gst-sdk/tutorials/basic-tutorial-4.c"; sourceTree = SOURCE_ROOT; }; + 63118C88156D2D190085CF03 /* Tutorial 1 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 1"; sourceTree = BUILT_PRODUCTS_DIR; }; + 63118C92156D2D630085CF03 /* basic-tutorial-1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-1.c"; path = "../gst-sdk/tutorials/basic-tutorial-1.c"; sourceTree = SOURCE_ROOT; }; + 63118C98156D2E2F0085CF03 /* Tutorial 5 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 5"; sourceTree = BUILT_PRODUCTS_DIR; }; + 63118CA2156D2E400085CF03 /* basic-tutorial-5.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; name = "basic-tutorial-5.c"; path = "../gst-sdk/tutorials/basic-tutorial-5.c"; sourceTree = SOURCE_ROOT; }; + 63118CB9156D31240085CF03 /* Tutorial 2 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 2"; sourceTree = BUILT_PRODUCTS_DIR; }; + 63118CC8156D32E20085CF03 /* Playback Tutorial 1 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Playback Tutorial 1"; sourceTree = BUILT_PRODUCTS_DIR; }; + 63118CD2156D32FE0085CF03 /* playback-tutorial-1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-1.c"; path = "../gst-sdk/tutorials/playback-tutorial-1.c"; sourceTree = SOURCE_ROOT; }; + 63118CD9156D34BA0085CF03 /* Playback Tutorial 2 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Playback Tutorial 2"; sourceTree = BUILT_PRODUCTS_DIR; }; + 63118CE3156D35390085CF03 /* playback-tutorial-2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-2.c"; path = "../gst-sdk/tutorials/playback-tutorial-2.c"; sourceTree = SOURCE_ROOT; }; + 63118CEA156D3A870085CF03 /* Tutorial 6 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 6"; sourceTree = BUILT_PRODUCTS_DIR; }; + 63118CF4156D3AB60085CF03 /* basic-tutorial-6.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-6.c"; path = "../gst-sdk/tutorials/basic-tutorial-6.c"; sourceTree = SOURCE_ROOT; }; + 63DE8812156DABDF006F2D3B /* Tutorial 7 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 7"; sourceTree = BUILT_PRODUCTS_DIR; }; + 63DE8820156DABE6006F2D3B /* Tutorial 8 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 8"; sourceTree = BUILT_PRODUCTS_DIR; }; + 63DE882E156DABEE006F2D3B /* Tutorial 9 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 9"; sourceTree = BUILT_PRODUCTS_DIR; }; + 63DE8838156DAC09006F2D3B /* basic-tutorial-7.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-7.c"; path = "../gst-sdk/tutorials/basic-tutorial-7.c"; sourceTree = SOURCE_ROOT; }; + 63DE883A156DAC0E006F2D3B /* basic-tutorial-8.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-8.c"; path = "../gst-sdk/tutorials/basic-tutorial-8.c"; sourceTree = SOURCE_ROOT; }; + 63DE883C156DAC15006F2D3B /* basic-tutorial-9.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-9.c"; path = "../gst-sdk/tutorials/basic-tutorial-9.c"; sourceTree = SOURCE_ROOT; }; + 63DE8851156DAE94006F2D3B /* gstreamer-0.10-all.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-all.xcconfig"; path = "../../../../../../../System/Library/Frameworks/GStreamer.framework/Version/2012.5/x86/share/gst-sdk/xcode/gstreamer-0.10-all.xcconfig"; sourceTree = ""; }; + 63DE8852156DAE94006F2D3B /* gstreamer-0.10-gtk+-2.0.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-gtk+-2.0.xcconfig"; path = "../../../../../../../System/Library/Frameworks/GStreamer.framework/Version/2012.5/x86/share/gst-sdk/xcode/gstreamer-0.10-gtk+-2.0.xcconfig"; sourceTree = ""; }; + 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10.xcconfig"; path = "../../../../../../../System/Library/Frameworks/GStreamer.framework/Version/2012.5/x86/share/gst-sdk/xcode/gstreamer-0.10.xcconfig"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 63118C51156D29DE0085CF03 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63118C72156D2B970085CF03 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63118C85156D2D190085CF03 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63118C95156D2E2F0085CF03 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63118CB6156D31240085CF03 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63118CC5156D32E20085CF03 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63118CD6156D34BA0085CF03 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63118CE7156D3A870085CF03 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63DE880F156DABDF006F2D3B /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63DE881D156DABE6006F2D3B /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63DE882B156DABEE006F2D3B /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 63118C35156D29340085CF03 = { + isa = PBXGroup; + children = ( + 63DE8851156DAE94006F2D3B /* gstreamer-0.10-all.xcconfig */, + 63DE8852156DAE94006F2D3B /* gstreamer-0.10-gtk+-2.0.xcconfig */, + 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */, + 63118C8A156D2D190085CF03 /* Tutorial 1 */, + 63118C43156D29340085CF03 /* Tutorial 2 */, + 63118C56156D29DE0085CF03 /* Turorial 3 */, + 63118C77156D2B970085CF03 /* Tutorial 4 */, + 63118C9A156D2E2F0085CF03 /* Tutorial 5 */, + 63118CEC156D3A870085CF03 /* Tutorial 6 */, + 63118CCA156D32E20085CF03 /* Playback Tutorial 1 */, + 63118CDB156D34BA0085CF03 /* Playback Tutorial 2 */, + 63DE8814156DABDF006F2D3B /* Tutorial 7 */, + 63DE8822156DABE6006F2D3B /* Tutorial 8 */, + 63DE8830156DABEE006F2D3B /* Tutorial 9 */, + 63118C41156D29340085CF03 /* Products */, + ); + sourceTree = ""; + }; + 63118C41156D29340085CF03 /* Products */ = { + isa = PBXGroup; + children = ( + 63118C54156D29DE0085CF03 /* Turorial 3 */, + 63118C75156D2B970085CF03 /* Tutorial 4 */, + 63118C88156D2D190085CF03 /* Tutorial 1 */, + 63118C98156D2E2F0085CF03 /* Tutorial 5 */, + 63118CB9156D31240085CF03 /* Tutorial 2 */, + 63118CC8156D32E20085CF03 /* Playback Tutorial 1 */, + 63118CD9156D34BA0085CF03 /* Playback Tutorial 2 */, + 63118CEA156D3A870085CF03 /* Tutorial 6 */, + 63DE8812156DABDF006F2D3B /* Tutorial 7 */, + 63DE8820156DABE6006F2D3B /* Tutorial 8 */, + 63DE882E156DABEE006F2D3B /* Tutorial 9 */, + ); + name = Products; + sourceTree = SOURCE_ROOT; + }; + 63118C43156D29340085CF03 /* Tutorial 2 */ = { + isa = PBXGroup; + children = ( + 63118C4D156D29530085CF03 /* basic-tutorial-2.c */, + ); + name = "Tutorial 2"; + path = "GStreamer Tutorials"; + sourceTree = SOURCE_ROOT; + }; + 63118C56156D29DE0085CF03 /* Turorial 3 */ = { + isa = PBXGroup; + children = ( + 63118C60156D2AA70085CF03 /* basic-tutorial-3.c */, + ); + name = "Turorial 3"; + path = Turorial3; + sourceTree = SOURCE_ROOT; + }; + 63118C77156D2B970085CF03 /* Tutorial 4 */ = { + isa = PBXGroup; + children = ( + 63118C7F156D2BA30085CF03 /* basic-tutorial-4.c */, + ); + path = "Tutorial 4"; + sourceTree = ""; + }; + 63118C8A156D2D190085CF03 /* Tutorial 1 */ = { + isa = PBXGroup; + children = ( + 63118C92156D2D630085CF03 /* basic-tutorial-1.c */, + ); + path = "Tutorial 1"; + sourceTree = ""; + }; + 63118C9A156D2E2F0085CF03 /* Tutorial 5 */ = { + isa = PBXGroup; + children = ( + 63118CA2156D2E400085CF03 /* basic-tutorial-5.c */, + ); + path = "Tutorial 5"; + sourceTree = ""; + }; + 63118CCA156D32E20085CF03 /* Playback Tutorial 1 */ = { + isa = PBXGroup; + children = ( + 63118CD2156D32FE0085CF03 /* playback-tutorial-1.c */, + ); + path = "Playback Tutorial 1"; + sourceTree = ""; + }; + 63118CDB156D34BA0085CF03 /* Playback Tutorial 2 */ = { + isa = PBXGroup; + children = ( + 63118CE3156D35390085CF03 /* playback-tutorial-2.c */, + ); + path = "Playback Tutorial 2"; + sourceTree = ""; + }; + 63118CEC156D3A870085CF03 /* Tutorial 6 */ = { + isa = PBXGroup; + children = ( + 63118CF4156D3AB60085CF03 /* basic-tutorial-6.c */, + ); + path = "Tutorial 6"; + sourceTree = ""; + }; + 63DE8814156DABDF006F2D3B /* Tutorial 7 */ = { + isa = PBXGroup; + children = ( + 63DE8838156DAC09006F2D3B /* basic-tutorial-7.c */, + ); + path = "Tutorial 7"; + sourceTree = ""; + }; + 63DE8822156DABE6006F2D3B /* Tutorial 8 */ = { + isa = PBXGroup; + children = ( + 63DE883A156DAC0E006F2D3B /* basic-tutorial-8.c */, + ); + path = "Tutorial 8"; + sourceTree = ""; + }; + 63DE8830156DABEE006F2D3B /* Tutorial 9 */ = { + isa = PBXGroup; + children = ( + 63DE883C156DAC15006F2D3B /* basic-tutorial-9.c */, + ); + path = "Tutorial 9"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 63118C53156D29DE0085CF03 /* Turorial 3 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 63118C5B156D29DE0085CF03 /* Build configuration list for PBXNativeTarget "Turorial 3" */; + buildPhases = ( + 63118C50156D29DE0085CF03 /* Sources */, + 63118C51156D29DE0085CF03 /* Frameworks */, + 63118C52156D29DE0085CF03 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Turorial 3"; + productName = Turorial3; + productReference = 63118C54156D29DE0085CF03 /* Turorial 3 */; + productType = "com.apple.product-type.tool"; + }; + 63118C74156D2B970085CF03 /* Tutorial 4 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 63118C7C156D2B970085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 4" */; + buildPhases = ( + 63118C71156D2B970085CF03 /* Sources */, + 63118C72156D2B970085CF03 /* Frameworks */, + 63118C73156D2B970085CF03 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Tutorial 4"; + productName = "Tutorial 4"; + productReference = 63118C75156D2B970085CF03 /* Tutorial 4 */; + productType = "com.apple.product-type.tool"; + }; + 63118C87156D2D190085CF03 /* Tutorial 1 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 63118C8F156D2D190085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 1" */; + buildPhases = ( + 63118C84156D2D190085CF03 /* Sources */, + 63118C85156D2D190085CF03 /* Frameworks */, + 63118C86156D2D190085CF03 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Tutorial 1"; + productName = "Tutorial 1"; + productReference = 63118C88156D2D190085CF03 /* Tutorial 1 */; + productType = "com.apple.product-type.tool"; + }; + 63118C97156D2E2F0085CF03 /* Tutorial 5 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 63118C9F156D2E2F0085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 5" */; + buildPhases = ( + 63118C94156D2E2F0085CF03 /* Sources */, + 63118C95156D2E2F0085CF03 /* Frameworks */, + 63118C96156D2E2F0085CF03 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Tutorial 5"; + productName = "Tutorial 5"; + productReference = 63118C98156D2E2F0085CF03 /* Tutorial 5 */; + productType = "com.apple.product-type.tool"; + }; + 63118CB8156D31240085CF03 /* Tutorial 2 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 63118CC0156D31240085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 2" */; + buildPhases = ( + 63118CB5156D31240085CF03 /* Sources */, + 63118CB6156D31240085CF03 /* Frameworks */, + 63118CB7156D31240085CF03 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Tutorial 2"; + productName = "Tutorial 2"; + productReference = 63118CB9156D31240085CF03 /* Tutorial 2 */; + productType = "com.apple.product-type.tool"; + }; + 63118CC7156D32E20085CF03 /* Playback Tutorial 1 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 63118CCF156D32E20085CF03 /* Build configuration list for PBXNativeTarget "Playback Tutorial 1" */; + buildPhases = ( + 63118CC4156D32E20085CF03 /* Sources */, + 63118CC5156D32E20085CF03 /* Frameworks */, + 63118CC6156D32E20085CF03 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Playback Tutorial 1"; + productName = "Playback Tutorial 1"; + productReference = 63118CC8156D32E20085CF03 /* Playback Tutorial 1 */; + productType = "com.apple.product-type.tool"; + }; + 63118CD8156D34BA0085CF03 /* Playback Tutorial 2 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 63118CE0156D34BA0085CF03 /* Build configuration list for PBXNativeTarget "Playback Tutorial 2" */; + buildPhases = ( + 63118CD5156D34BA0085CF03 /* Sources */, + 63118CD6156D34BA0085CF03 /* Frameworks */, + 63118CD7156D34BA0085CF03 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Playback Tutorial 2"; + productName = "Playback Tutorial 2"; + productReference = 63118CD9156D34BA0085CF03 /* Playback Tutorial 2 */; + productType = "com.apple.product-type.tool"; + }; + 63118CE9156D3A870085CF03 /* Tutorial 6 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 63118CF1156D3A870085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 6" */; + buildPhases = ( + 63118CE6156D3A870085CF03 /* Sources */, + 63118CE7156D3A870085CF03 /* Frameworks */, + 63118CE8156D3A870085CF03 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Tutorial 6"; + productName = "Tutorial 6"; + productReference = 63118CEA156D3A870085CF03 /* Tutorial 6 */; + productType = "com.apple.product-type.tool"; + }; + 63DE8811156DABDF006F2D3B /* Tutorial 7 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 63DE8819156DABDF006F2D3B /* Build configuration list for PBXNativeTarget "Tutorial 7" */; + buildPhases = ( + 63DE880E156DABDF006F2D3B /* Sources */, + 63DE880F156DABDF006F2D3B /* Frameworks */, + 63DE8810156DABDF006F2D3B /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Tutorial 7"; + productName = "Tutorial 7"; + productReference = 63DE8812156DABDF006F2D3B /* Tutorial 7 */; + productType = "com.apple.product-type.tool"; + }; + 63DE881F156DABE6006F2D3B /* Tutorial 8 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 63DE8827156DABE7006F2D3B /* Build configuration list for PBXNativeTarget "Tutorial 8" */; + buildPhases = ( + 63DE881C156DABE6006F2D3B /* Sources */, + 63DE881D156DABE6006F2D3B /* Frameworks */, + 63DE881E156DABE6006F2D3B /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Tutorial 8"; + productName = "Tutorial 8"; + productReference = 63DE8820156DABE6006F2D3B /* Tutorial 8 */; + productType = "com.apple.product-type.tool"; + }; + 63DE882D156DABEE006F2D3B /* Tutorial 9 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 63DE8835156DABEE006F2D3B /* Build configuration list for PBXNativeTarget "Tutorial 9" */; + buildPhases = ( + 63DE882A156DABEE006F2D3B /* Sources */, + 63DE882B156DABEE006F2D3B /* Frameworks */, + 63DE882C156DABEE006F2D3B /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Tutorial 9"; + productName = "Tutorial 9"; + productReference = 63DE882E156DABEE006F2D3B /* Tutorial 9 */; + productType = "com.apple.product-type.tool"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 63118C37156D29340085CF03 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0420; + }; + buildConfigurationList = 63118C3A156D29340085CF03 /* Build configuration list for PBXProject "GStreamer Tutorials x86" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = 63118C35156D29340085CF03; + productRefGroup = 63118C41156D29340085CF03 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 63118C53156D29DE0085CF03 /* Turorial 3 */, + 63118C74156D2B970085CF03 /* Tutorial 4 */, + 63118C87156D2D190085CF03 /* Tutorial 1 */, + 63118C97156D2E2F0085CF03 /* Tutorial 5 */, + 63118CB8156D31240085CF03 /* Tutorial 2 */, + 63118CC7156D32E20085CF03 /* Playback Tutorial 1 */, + 63118CD8156D34BA0085CF03 /* Playback Tutorial 2 */, + 63118CE9156D3A870085CF03 /* Tutorial 6 */, + 63DE8811156DABDF006F2D3B /* Tutorial 7 */, + 63DE881F156DABE6006F2D3B /* Tutorial 8 */, + 63DE882D156DABEE006F2D3B /* Tutorial 9 */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXSourcesBuildPhase section */ + 63118C50156D29DE0085CF03 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63118C62156D2AF10085CF03 /* basic-tutorial-3.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63118C71156D2B970085CF03 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63118C81156D2BAE0085CF03 /* basic-tutorial-4.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63118C84156D2D190085CF03 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63118C93156D2D630085CF03 /* basic-tutorial-1.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63118C94156D2E2F0085CF03 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63118CA3156D2E400085CF03 /* basic-tutorial-5.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63118CB5156D31240085CF03 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63118CC3156D31300085CF03 /* basic-tutorial-2.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63118CC4156D32E20085CF03 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63118CD4156D33040085CF03 /* playback-tutorial-1.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63118CD5156D34BA0085CF03 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63118CE5156D35610085CF03 /* playback-tutorial-2.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63118CE6156D3A870085CF03 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63118CF6156D3ACB0085CF03 /* basic-tutorial-6.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63DE880E156DABDF006F2D3B /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63DE883E156DAC18006F2D3B /* basic-tutorial-7.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63DE881C156DABE6006F2D3B /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63DE883F156DAC1D006F2D3B /* basic-tutorial-8.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63DE882A156DABEE006F2D3B /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63DE8840156DAC21006F2D3B /* basic-tutorial-9.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 63118C48156D29340085CF03 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = YES; + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + CLANG_ENABLE_OBJC_ARC = YES; + COPY_PHASE_STRIP = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx10.7; + VALID_ARCHS = i386; + }; + name = Debug; + }; + 63118C49156D29340085CF03 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = YES; + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + CLANG_ENABLE_OBJC_ARC = YES; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; + SDKROOT = macosx10.7; + VALID_ARCHS = i386; + }; + name = Release; + }; + 63118C5C156D29DE0085CF03 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 63118C5D156D29DE0085CF03 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 63118C7D156D2B970085CF03 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 63118C7E156D2B970085CF03 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 63118C90156D2D190085CF03 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 63118C91156D2D190085CF03 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 63118CA0156D2E2F0085CF03 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63DE8852156DAE94006F2D3B /* gstreamer-0.10-gtk+-2.0.xcconfig */; + buildSettings = { + OTHER_LDFLAGS = ( + "-framework", + Cocoa, + "-lgstpbutils-0.10", + "-lgstnetbuffer-0.10", + "-lgstvideo-0.10", + "-lgstriff-0.10", + "-lgstcheck-0.10", + "-lgstcodecparsers-0.10", + "-lgstaudio-0.10", + "-lgstcontroller-0.10", + "-lgstdataprotocol-0.10", + "-lgstrtp-0.10", + "-lgstinterfaces-0.10", + "-lgstbasevideo-0.10", + "-lgstnet-0.10", + "-lgstphotography-0.10", + "-lgstcdda-0.10", + "-lgsttag-0.10", + "-lgstapp-0.10", + "-lgstrtsp-0.10", + "-lgstsdp-0.10", + "-lgstbase-0.10", + "-lgstfft-0.10", + "-lgstreamer-0.10", + "-lgthread-2.0", + "-lxml2", + "-lgtk-quartz-2.0", + "-lgdk-quartz-2.0", + "-latk-1.0", + "-lgio-2.0", + "-lpangocairo-1.0", + "-lgdk_pixbuf-2.0", + "-lpango-1.0", + "-lcairo", + "-lgmodule-2.0", + "-lgobject-2.0", + "-lglib-2.0", + "-lintl", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 63118CA1156D2E2F0085CF03 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63DE8852156DAE94006F2D3B /* gstreamer-0.10-gtk+-2.0.xcconfig */; + buildSettings = { + OTHER_LDFLAGS = ( + "-framework", + Cocoa, + "-lgstpbutils-0.10", + "-lgstnetbuffer-0.10", + "-lgstvideo-0.10", + "-lgstriff-0.10", + "-lgstcheck-0.10", + "-lgstcodecparsers-0.10", + "-lgstaudio-0.10", + "-lgstcontroller-0.10", + "-lgstdataprotocol-0.10", + "-lgstrtp-0.10", + "-lgstinterfaces-0.10", + "-lgstbasevideo-0.10", + "-lgstnet-0.10", + "-lgstphotography-0.10", + "-lgstcdda-0.10", + "-lgsttag-0.10", + "-lgstapp-0.10", + "-lgstrtsp-0.10", + "-lgstsdp-0.10", + "-lgstbase-0.10", + "-lgstfft-0.10", + "-lgstreamer-0.10", + "-lgthread-2.0", + "-lxml2", + "-lgtk-quartz-2.0", + "-lgdk-quartz-2.0", + "-latk-1.0", + "-lgio-2.0", + "-lpangocairo-1.0", + "-lgdk_pixbuf-2.0", + "-lpango-1.0", + "-lcairo", + "-lgmodule-2.0", + "-lgobject-2.0", + "-lglib-2.0", + "-lintl", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 63118CC1156D31240085CF03 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 63118CC2156D31240085CF03 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 63118CD0156D32E20085CF03 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 63118CD1156D32E20085CF03 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 63118CE1156D34BA0085CF03 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 63118CE2156D34BA0085CF03 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 63118CF2156D3A870085CF03 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 63118CF3156D3A870085CF03 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 63DE881A156DABDF006F2D3B /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 63DE881B156DABDF006F2D3B /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 63DE8828156DABE7006F2D3B /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 63DE8829156DABE7006F2D3B /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 63DE8836156DABEE006F2D3B /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63DE8851156DAE94006F2D3B /* gstreamer-0.10-all.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 63DE8837156DABEE006F2D3B /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63DE8851156DAE94006F2D3B /* gstreamer-0.10-all.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 63118C3A156D29340085CF03 /* Build configuration list for PBXProject "GStreamer Tutorials x86" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63118C48156D29340085CF03 /* Debug */, + 63118C49156D29340085CF03 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 63118C5B156D29DE0085CF03 /* Build configuration list for PBXNativeTarget "Turorial 3" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63118C5C156D29DE0085CF03 /* Debug */, + 63118C5D156D29DE0085CF03 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 63118C7C156D2B970085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 4" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63118C7D156D2B970085CF03 /* Debug */, + 63118C7E156D2B970085CF03 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 63118C8F156D2D190085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 1" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63118C90156D2D190085CF03 /* Debug */, + 63118C91156D2D190085CF03 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 63118C9F156D2E2F0085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 5" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63118CA0156D2E2F0085CF03 /* Debug */, + 63118CA1156D2E2F0085CF03 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 63118CC0156D31240085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 2" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63118CC1156D31240085CF03 /* Debug */, + 63118CC2156D31240085CF03 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 63118CCF156D32E20085CF03 /* Build configuration list for PBXNativeTarget "Playback Tutorial 1" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63118CD0156D32E20085CF03 /* Debug */, + 63118CD1156D32E20085CF03 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 63118CE0156D34BA0085CF03 /* Build configuration list for PBXNativeTarget "Playback Tutorial 2" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63118CE1156D34BA0085CF03 /* Debug */, + 63118CE2156D34BA0085CF03 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 63118CF1156D3A870085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 6" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63118CF2156D3A870085CF03 /* Debug */, + 63118CF3156D3A870085CF03 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 63DE8819156DABDF006F2D3B /* Build configuration list for PBXNativeTarget "Tutorial 7" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63DE881A156DABDF006F2D3B /* Debug */, + 63DE881B156DABDF006F2D3B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 63DE8827156DABE7006F2D3B /* Build configuration list for PBXNativeTarget "Tutorial 8" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63DE8828156DABE7006F2D3B /* Debug */, + 63DE8829156DABE7006F2D3B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 63DE8835156DABEE006F2D3B /* Build configuration list for PBXNativeTarget "Tutorial 9" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63DE8836156DABEE006F2D3B /* Debug */, + 63DE8837156DABEE006F2D3B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 63118C37156D29340085CF03 /* Project object */; +} diff --git a/xcode/GStreamer Tutorials x86.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/xcode/GStreamer Tutorials x86.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000000..98cf3a3b7a --- /dev/null +++ b/xcode/GStreamer Tutorials x86.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/xcode/GStreamer Tutorials x86.xcodeproj/project.xcworkspace/xcuserdata/fluendo.xcuserdatad/UserInterfaceState.xcuserstate b/xcode/GStreamer Tutorials x86.xcodeproj/project.xcworkspace/xcuserdata/fluendo.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..c55948b4f003a61b98191213f9dcef6ec78b63e8 GIT binary patch literal 92804 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Playback Tutorial 2.xcscheme b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Playback Tutorial 2.xcscheme new file mode 100644 index 0000000000..42afe33496 --- /dev/null +++ b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Playback Tutorial 2.xcscheme @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Turorial 3.xcscheme b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Turorial 3.xcscheme new file mode 100644 index 0000000000..48e55a943e --- /dev/null +++ b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Turorial 3.xcscheme @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 1.xcscheme b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 1.xcscheme new file mode 100644 index 0000000000..3630f7dba5 --- /dev/null +++ b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 1.xcscheme @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 2.xcscheme b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 2.xcscheme new file mode 100644 index 0000000000..6fc9902899 --- /dev/null +++ b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 2.xcscheme @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 4.xcscheme b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 4.xcscheme new file mode 100644 index 0000000000..1afef38a9f --- /dev/null +++ b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 4.xcscheme @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 5.xcscheme b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 5.xcscheme new file mode 100644 index 0000000000..29de751a20 --- /dev/null +++ b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 5.xcscheme @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 6.xcscheme b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 6.xcscheme new file mode 100644 index 0000000000..9c5c8ffce7 --- /dev/null +++ b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 6.xcscheme @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 7 2.xcscheme b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 7 2.xcscheme new file mode 100644 index 0000000000..f5f79c08c5 --- /dev/null +++ b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 7 2.xcscheme @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 7.xcscheme b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 7.xcscheme new file mode 100644 index 0000000000..f5f79c08c5 --- /dev/null +++ b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 7.xcscheme @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 8.xcscheme b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 8.xcscheme new file mode 100644 index 0000000000..c646f0f0c2 --- /dev/null +++ b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 8.xcscheme @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 9.xcscheme b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 9.xcscheme new file mode 100644 index 0000000000..f7cafe5ffa --- /dev/null +++ b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 9.xcscheme @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/xcschememanagement.plist b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000000..fdf0ef73aa --- /dev/null +++ b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,137 @@ + + + + + SchemeUserState + + Playback Tutorial 1.xcscheme + + orderHint + 9 + + Playback Tutorial 2.xcscheme + + orderHint + 10 + + Turorial 3.xcscheme + + orderHint + 2 + + Tutorial 1.xcscheme + + orderHint + 0 + + Tutorial 2.xcscheme + + orderHint + 1 + + Tutorial 4.xcscheme + + orderHint + 3 + + Tutorial 5.xcscheme + + orderHint + 4 + + Tutorial 6.xcscheme + + orderHint + 5 + + Tutorial 7.xcscheme + + orderHint + 6 + + Tutorial 8.xcscheme + + orderHint + 7 + + Tutorial 9.xcscheme + + orderHint + 8 + + + SuppressBuildableAutocreation + + 63118C3F156D29340085CF03 + + primary + + + 63118C53156D29DE0085CF03 + + primary + + + 63118C66156D2B790085CF03 + + primary + + + 63118C74156D2B970085CF03 + + primary + + + 63118C87156D2D190085CF03 + + primary + + + 63118C97156D2E2F0085CF03 + + primary + + + 63118CA8156D30610085CF03 + + primary + + + 63118CB8156D31240085CF03 + + primary + + + 63118CC7156D32E20085CF03 + + primary + + + 63118CD8156D34BA0085CF03 + + primary + + + 63118CE9156D3A870085CF03 + + primary + + + 63DE8811156DABDF006F2D3B + + primary + + + 63DE881F156DABE6006F2D3B + + primary + + + 63DE882D156DABEE006F2D3B + + primary + + + + + From 023dd32969973957d5431847c4657eb8d2c38b0a Mon Sep 17 00:00:00 2001 From: Andoni Morales Alastruey Date: Fri, 25 May 2012 14:57:11 +0200 Subject: [PATCH 033/979] Remove user data from XCode projects --- .../UserInterfaceState.xcuserstate | Bin 92804 -> 0 bytes .../xcschemes/Playback Tutorial 1.xcscheme | 84 ----------- .../xcschemes/Playback Tutorial 2.xcscheme | 84 ----------- .../xcschemes/Turorial 3.xcscheme | 84 ----------- .../xcschemes/Tutorial 1.xcscheme | 84 ----------- .../xcschemes/Tutorial 2.xcscheme | 84 ----------- .../xcschemes/Tutorial 4.xcscheme | 84 ----------- .../xcschemes/Tutorial 5.xcscheme | 84 ----------- .../xcschemes/Tutorial 6.xcscheme | 84 ----------- .../xcschemes/Tutorial 7 2.xcscheme | 84 ----------- .../xcschemes/Tutorial 7.xcscheme | 84 ----------- .../xcschemes/Tutorial 8.xcscheme | 84 ----------- .../xcschemes/Tutorial 9.xcscheme | 84 ----------- .../xcschemes/xcschememanagement.plist | 137 ------------------ .../UserInterfaceState.xcuserstate | Bin 90787 -> 0 bytes .../xcschemes/Playback Tutorial 1.xcscheme | 84 ----------- .../xcschemes/Playback Tutorial 2.xcscheme | 84 ----------- .../xcschemes/Turorial 3.xcscheme | 84 ----------- .../xcschemes/Tutorial 1.xcscheme | 91 ------------ .../xcschemes/Tutorial 2.xcscheme | 84 ----------- .../xcschemes/Tutorial 4.xcscheme | 84 ----------- .../xcschemes/Tutorial 5.xcscheme | 84 ----------- .../xcschemes/Tutorial 6.xcscheme | 84 ----------- .../xcschemes/Tutorial 7.xcscheme | 84 ----------- .../xcschemes/Tutorial 8.xcscheme | 84 ----------- .../xcschemes/Tutorial 9.xcscheme | 84 ----------- .../xcschemes/xcschememanagement.plist | 137 ------------------ 27 files changed, 2213 deletions(-) delete mode 100644 xcode/GStreamer Tutorials x86.xcodeproj/project.xcworkspace/xcuserdata/fluendo.xcuserdatad/UserInterfaceState.xcuserstate delete mode 100644 xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Playback Tutorial 1.xcscheme delete mode 100644 xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Playback Tutorial 2.xcscheme delete mode 100644 xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Turorial 3.xcscheme delete mode 100644 xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 1.xcscheme delete mode 100644 xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 2.xcscheme delete mode 100644 xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 4.xcscheme delete mode 100644 xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 5.xcscheme delete mode 100644 xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 6.xcscheme delete mode 100644 xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 7 2.xcscheme delete mode 100644 xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 7.xcscheme delete mode 100644 xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 8.xcscheme delete mode 100644 xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 9.xcscheme delete mode 100644 xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/xcschememanagement.plist delete mode 100644 xcode/GStreamer Tutorials x86_64.xcodeproj/project.xcworkspace/xcuserdata/fluendo.xcuserdatad/UserInterfaceState.xcuserstate delete mode 100644 xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Playback Tutorial 1.xcscheme delete mode 100644 xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Playback Tutorial 2.xcscheme delete mode 100644 xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Turorial 3.xcscheme delete mode 100644 xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 1.xcscheme delete mode 100644 xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 2.xcscheme delete mode 100644 xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 4.xcscheme delete mode 100644 xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 5.xcscheme delete mode 100644 xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 6.xcscheme delete mode 100644 xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 7.xcscheme delete mode 100644 xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 8.xcscheme delete mode 100644 xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 9.xcscheme delete mode 100644 xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/xcode/GStreamer Tutorials x86.xcodeproj/project.xcworkspace/xcuserdata/fluendo.xcuserdatad/UserInterfaceState.xcuserstate b/xcode/GStreamer Tutorials x86.xcodeproj/project.xcworkspace/xcuserdata/fluendo.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index c55948b4f003a61b98191213f9dcef6ec78b63e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92804 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Playback Tutorial 2.xcscheme b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Playback Tutorial 2.xcscheme deleted file mode 100644 index 42afe33496..0000000000 --- a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Playback Tutorial 2.xcscheme +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Turorial 3.xcscheme b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Turorial 3.xcscheme deleted file mode 100644 index 48e55a943e..0000000000 --- a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Turorial 3.xcscheme +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 1.xcscheme b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 1.xcscheme deleted file mode 100644 index 3630f7dba5..0000000000 --- a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 1.xcscheme +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 2.xcscheme b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 2.xcscheme deleted file mode 100644 index 6fc9902899..0000000000 --- a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 2.xcscheme +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 4.xcscheme b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 4.xcscheme deleted file mode 100644 index 1afef38a9f..0000000000 --- a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 4.xcscheme +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 5.xcscheme b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 5.xcscheme deleted file mode 100644 index 29de751a20..0000000000 --- a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 5.xcscheme +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 6.xcscheme b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 6.xcscheme deleted file mode 100644 index 9c5c8ffce7..0000000000 --- a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 6.xcscheme +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 7 2.xcscheme b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 7 2.xcscheme deleted file mode 100644 index f5f79c08c5..0000000000 --- a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 7 2.xcscheme +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 7.xcscheme b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 7.xcscheme deleted file mode 100644 index f5f79c08c5..0000000000 --- a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 7.xcscheme +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 8.xcscheme b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 8.xcscheme deleted file mode 100644 index c646f0f0c2..0000000000 --- a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 8.xcscheme +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 9.xcscheme b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 9.xcscheme deleted file mode 100644 index f7cafe5ffa..0000000000 --- a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 9.xcscheme +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/xcschememanagement.plist b/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index fdf0ef73aa..0000000000 --- a/xcode/GStreamer Tutorials x86.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,137 +0,0 @@ - - - - - SchemeUserState - - Playback Tutorial 1.xcscheme - - orderHint - 9 - - Playback Tutorial 2.xcscheme - - orderHint - 10 - - Turorial 3.xcscheme - - orderHint - 2 - - Tutorial 1.xcscheme - - orderHint - 0 - - Tutorial 2.xcscheme - - orderHint - 1 - - Tutorial 4.xcscheme - - orderHint - 3 - - Tutorial 5.xcscheme - - orderHint - 4 - - Tutorial 6.xcscheme - - orderHint - 5 - - Tutorial 7.xcscheme - - orderHint - 6 - - Tutorial 8.xcscheme - - orderHint - 7 - - Tutorial 9.xcscheme - - orderHint - 8 - - - SuppressBuildableAutocreation - - 63118C3F156D29340085CF03 - - primary - - - 63118C53156D29DE0085CF03 - - primary - - - 63118C66156D2B790085CF03 - - primary - - - 63118C74156D2B970085CF03 - - primary - - - 63118C87156D2D190085CF03 - - primary - - - 63118C97156D2E2F0085CF03 - - primary - - - 63118CA8156D30610085CF03 - - primary - - - 63118CB8156D31240085CF03 - - primary - - - 63118CC7156D32E20085CF03 - - primary - - - 63118CD8156D34BA0085CF03 - - primary - - - 63118CE9156D3A870085CF03 - - primary - - - 63DE8811156DABDF006F2D3B - - primary - - - 63DE881F156DABE6006F2D3B - - primary - - - 63DE882D156DABEE006F2D3B - - primary - - - - - diff --git a/xcode/GStreamer Tutorials x86_64.xcodeproj/project.xcworkspace/xcuserdata/fluendo.xcuserdatad/UserInterfaceState.xcuserstate b/xcode/GStreamer Tutorials x86_64.xcodeproj/project.xcworkspace/xcuserdata/fluendo.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index c5bd3d9e705a7d95fecb1d6ce13f3c8039611c19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90787 zcmd2^2VfJ&(!Sk0-RX*&O-%t4Y695UfH8y+j0-rp#f2JBj4i-mY+~7z0O2OR_ueTX zz4zXG@4ffld;4csI-O)ovP2U8_mW49Jp0}3?Cfm0nNN#WwloJj#*BGEAOaOcK@uE- zoOyrd19OI~3bY5C+gj%gX`Q9MEHaNQBuykh7L%3a0Mbr^q=R&lwd5#rG&zPGOO7MQ zlN0DHI+yN8{d5rx(4}-aZKVg$4!W8iNHfZUE#mFsUE;ms1LDKtW8#zIGvf2&OX92I8{*sId*X-UC*tSgSK_zg z58}__Z{nYlAc>MJsgfaiqztLI)KA)38XyglhDgJuJ*3gn7-_7OFHMvtOM6Sxq!MX{ zG*haS_Lb_S+0r~|fwaHWC@q$nr5348YL_~tHPSliAPJ;Hr6Z)HrQ@U%rBkHSrL&}S zr3<9Z(l%k8uvWTMx=OlQx<>qix?8$Ox>tHydPaIydQN&?dO>*WpdLGniVF!>ny6!}#7H2FOFeE90dnhB79A$5(>{OkG)8ou=_ICDj?(7`k9ONA09PZr1IodhKIo6r)oamhF z+}kl}GoawA|?(3{`&UVgoE^zMeY;-PmHalCKZO(RQr*n;So%0|kI1hCm;XK-T zobyEIDbCZKXF1PxUf|s9yvTWp^K$1^&TE}FIB#~|=DgE+kMn-#L(WH?PdJ};KIeSV z`HJ&(=UdKqogX+qc7Epk()o?^d*@HiU!8wA|5mB$P@Sr-x>cXrOYN)fr0%L_se{#F z>h9_&HAl@;$EyYEp6V2}P%T!ctNW-GYPDLc&Qj;9`>B3)ks45!s>{_@^#HX)U9BFd zZct725cP2NDD_zN1odR~H1$mN9QAy4le$&CSiMZWQoTmKUcE`ZRlP&KTfI+xP<=#w zTzyJ?R((NzS$$1?Q+-E$U;Rk^RQ*EzTK!J_QT;{zUHwZVnxrY3rnxk)mZ|m8`fIyr z1GU|>q1p&-q?WDaYU8vC+9Yi+ZK_tJm1<>LxmKmsXtT7rTC=uHTduWeE3{UvOwUe}ywbQk;wez(t+E(o%?Mm$`?P~2B?ON?_?H=u3?P2W+ z?FH>c?M>}1?QQLS?Gx=&?KABM?MLk=?Pu*5?GN41UAkNM=w98YXXw54*Y&sbcl8hS zkM+;=FZFNq@AaSbU-duqzYS_Q45y(RZo_BvGWr@j8M_);#$aQZvAZ$K$T9Ma@kW8M zr!mDSG>VPs#y&=cQEk*3vy8dMeum#zWCV<*#&V<8IKb#IRvQNz8w}Gp#5mkI$~e|I z!8qAC%{bFI$2i~EWNbAqHZC)+G_EnOH*PX+HSRF(HtsVXG#)V?H=Z({HC`}YHeNH{ zG~O}ZH$E~xHNG&uHoh}{G=4FDH~w-Fm*i4hn#<+#x-wmTT>V|UxCXj*a}9NkaE)|j zyK-IQToYWATzk2ux{6$-t}<7-tIAd5s&~zC&37$yHMp8wOI*ubD_kpGLDwqRTGx8l zM%Tfv!(2zYj&U9DI>~ja>kQY~uJc?My0*Bsxh{2G;kw#&o$E%|Ew0;Lce(C$J>YuS z^_c5P*E6o?T`##_b-m$w+x4F7L)Ry+&s|@+zIFZJ`q}lH>rc1f7TvO2bsKJvJHy@E z-Os(Vdw_e8dx(34d#Ss{-R2IuSGf;#Z*YVAQ1_AUW85dWPj;W~KFfWc`$G3t_r>nZ z-B-DHgOJgZmfv@9w`n z)FXQokM1!%UQec{uV*LE0M8)LP|pa@C{K=OtS8?y%~Rwl_LO)^J<~liJY}AG&n(Yu z&m2#aC*WD^S>g$LIy{}8Ri4$JHJ-Je!#sz3j_{n~In{HTXOm~MXN%`*&o!QFJ=b~e z^4#sY$8)deNzYTBr#;Vjp7lKEdEWDa=N-?xp7%UodA|01O&xZ@zb$x5!)UE%EN_t?|}+{oeh(4c-;rR&Sekop-%=gZC)!(cWXc zXL!%_p5?vByUlyC_j>OQ-W$F5dhhez?|s_)jQ3gZo8Gs)Z+k!Ye&PMn`=^iiB%jl# z`#io3Umst8->$wa-w@w$-)LX9FV9!to9LV5+uK*-EAv(Qs(jVHS-yEbzi)qEgKvp% zsjtO%fUn&b^sV)6@Ezbui- zm+wB`{k}(ikNKYRz2tk%_m=N{->1IMd|&x~@crcbBSXlLGqenMMn*=zj9oHz%NUU{ zDkCqWAY*dIw2XZ+W@eOURAf|U)MeCX%*yDp9{XPl97PR6+z7iMhAxF};=##I?tXIztUZN_yOw`JU(aYx1j84qSWl<`!?(;3fX zypr*1#%mexWxSv9LBJ1YIx$m*AZ>q_L$T7@S>Mo4q`+HaHLe8{V**^EV4_!DCWW+${Kn3{wK~ zvfn!-Z`!!AC8hbLqsNRd95)(&o;bQ-?AVggh12pUj4de0%gZk)_IrDk6_?CzYhNB* z+0Ym$ZfopZ5oqnOp4><1D`c7eON4$xe_-s=X=D z9%zbmAqFSt_x6uGwXC%ijT&rh4+L5(+L};-QPB#7RI_!cZ*4xHGf>uq=4f8rj5>J- zqIh9r2ObULKP~!Ub!}}eiyGR?g0q@~&5K&_Vf`YCpo-ICe${{7y0H`TMrGyZkJ&IP zYhCWRF=Iw$O&nLSVS_yo?uq(J*L<6nHgrL*~{#0_PIou zg65wp6bjRXBK)bu?8}Wm8OS0aOMyJb|N7zrRHmeW~wM*MpS2nC_ zUebUc`@MY%gF!qqHMDkw1cT)bYuh?I{NB;5BbLX+n7h8Cxuv;dErYDZ16Rka=D_L@ zb_6%{xERC7Kokdp%}ZM2ATaGh_|1Xfd{hCOl{YL3L}p1Jp<0;BOti01Bh(6YLcK6c zm@UjP`xw53xRHNG}M>g%*qsD}+{|O;{-$fbO-j zy?I4L``VBa%#8zUIx4xF_gxZbZSD-l`AtT9TU$qHTv$gvF1?r_v3{VgcIjQ;SV>5`MsIbu~7hHTzghs zCr+m3hL+%S!YRV3!fC?k^Fo2V6@NV^^kV>reHT>2HYYZ3Ze7BAQQgqozF9a!II{Oj`Dj~EN*TIOv=e=!SQHW+7|4{sSlzz=PYjN z3}9@}X$-V43beQ71lu~>8w0_RT+WhU$LL_w^3ffZIdax82(f-A=>a4N1{AROo6|-Ty zUxiv;BV6nEj_B$Q_L#)F_-5fc2A8sY>~w0w>BRoOUbq>JEujC8vApXx=3TAkppa5` z3U~Rv!%?Y-JH|xI*r~f&xSQ#es(9!L_X_vxv*=>sE8%P58{u30=X>D?v)C*#X9C%q|2q{(;eMq!&59d38d$)@=$^c8qW`nuNY{cCQkNRV) zL+XdDSKS_1)!fz@jQOyLZMSiT$C1wt1-Eis!n1>HqqB-{bVkJywV>-7+Lr{vJE<`8 z$T;Hun9s^u7q^8pjIVcCdRiwgr?r8O4)p5qDvx{H7^JY5ggx3CSt~YTH~WXg<3L$9 z??ZMcBXKU0JcLY3Qw8=v9<#_)oFA37 zk-58eGnp!!X+NfzOz-lTGJMQ}!BY<(69rOEDi%hT6uwYyA?0kT3_YWYRHJ`J1nh@x zAyw>gshO;f)SLbbFSK;)L*@|Nqh5HSH81vK^J0P7^a5LziC?&Y>`xlVBGNcF$j1t2 zq`4T#6myA*QDDcey@LyHTye##!qpGh+Ak$7rhf}*Cdr$IgOl7&LC%!v&h-x9C9u>kDN~~AQzHNWHZ@9wvvm; zHgYk!gj`B4BbSpa$d%+Oay7YzTuZJa*OME_jpQbBGr5J_N^T>!lRL%5 zN`521lRwCx z6Wy8aLU*MD=s=o92hrW=U^;{jrNiiOI)d&__n;%`C_0*E(;Pa6=F&VmmX4$2X+E7m z3+O~TiS9`!)4k{vx;LFl3+XgkM2l$&Ev3`x3|dC_p)+YYt)P{(idNHoX$`HVb+q1G zWv({Ym}|`g&2{E_bAx%1xzRLDFb_5lF%LBlGY>b9Fpo5kGLJToF^@HmGmke8G0!#6GtW0KFfTMWnVZcm=2r6}bDMdwd5L+cd6{{+ zd4+kUd6jv!d5w9kd7XK^d4qYQd6Rjwd5d|gd7F8=d53wYd6#*&d5?Lod7pW|`GEPL z`H=ar`H1`G@(Z`Iq@O5CI4QLV<`t@B+&L1h0)0AWk4E5Dkb9!~o&~f)`63AYLFoAQ?b1 zf%F2>8%Q4@c-hepNPi$Z0ofVIEqj0chrWCD-^AQRcV!lMzL!wy6P3E!J_;ARL9 ziNW>j3yX`(>dLAr3(Nhr#WQOy;rUFscQ@ghq8Sm9g-oPxR}loMsj8~8a2lA<;BG?o z)zwusbtT3A>hi+6(yE$@2x=2+uyfZ2vkJ@0iv5Mrk6*$B`;$=civ;NP>ucv$L@Tf? zfmqeFeWJxyFtMR=&}J0YFg0sRimEEAYyHJ#HCESFvL*w*M_WTHCfA= z4DW_rQdv?{SXY9oSCy8PmsL*p7gZIPSdG@RMpL^sigdHAvZ%bixWqrBq_7wj^q1CD zRrp!g>KI;eeNkPEDK;{+-MgaI)K~h8$_w$ywRMGcWkvo%^s>40N+K3Km^I7m+N`#y zu+m>xj{aCxUsF`#N9{{cgQ^;TSgVLt4`c1Ky0+)O67D(E)avq)OnN9O!jpVfEneH< z{&W3$W)pvH+4M?(No8GGU3p0b{x|Y~V_1_x37fFvH#VAUJ>hsJJ}RMjO-Z;%HTA4V z)rEC4td=LSmP5L$t0_0qc2&K=P}8h6JSXMp@vRdZ( zIJ9hlE%+_0)u5PGIP<2JRiZPN6<3$}%PI<|+v3}pcvg&faY=P~)m%1?{_?6KbUb@@ zUCN|~C6cbLs;xusE-FF2D*54$h0QBio1J3XlvScbql3m+@an{JG4{KT$qk5$$E@dP z185oJMkd=UMz$D7IV!&1!X)~~NLboM``7JEY-o&FMPX4@?HqrUwdx9Mrk6yf%U#`@ zgr`2XDJ`qys|LpJvf4O@<>d3j7i0MW^GAzA&-Lm0T$eoA;Fn}_SQg47H&{GTLSCXqxErK`YQ`7B8bm0 z!CgpvLF`jar0dTogRHHqicGYZnBaf}kX;soSD9>IQr_IUoCm9E^_9h_VR;n`%2sFI zU_wJ}q2jsaWz#TfRN(lRO~c4vH@E8|^EPWTuv?S*ni@7~x+w7;6W%pS7?*@_P-5|> zI%=wX$V7+RqPXhJ#0XYgR*TF0+**GHt_9^dy3E9p3I7Relo{0se_!RVE{hDp=S*Of zEr5$uZAs0n5_CgL6XuPzxV#kmF}T@#iLY48sD9$Y9I}ozMWV<0+b+T-bHZB`+)zxb zDi4Jz%jiEa;XbxbOaVW}(>jb(mdwvgW|%F*tl^(sRyTt!hn2;JHN}1$sT$lV*v9yc zwdrlQ!AUy9U*)fxTOEP@lZo`VMX*!heL-~S7X>EP%NDDuL7(BFHmsj0GKnbf3N1I~ z#W6546N>V#>DIQQqOcZi?Z<6YNl{%4uF9H3*#^gpcO5%x4Z3JBnE|$TGfPUUac5CB zi!DqgbJ!9Uk@YayLAES*7yiyaPIGipH=ckZHQePuEa5(jiaon2T{$u?_3Q!MHvb^A2kHkF@_() zWQUUKhQ{R$OL)L2tgbGfi`HV>jWXPfRaMW8S#8DPtVvdMlae_lMfG)jyUE6(GHP=w z?!lyYO(2c7D=nL2S#~rN9T_cJR#{rbR|_29YBp6vJLTGvI-E3-eT_JVH5?S(Fw)=Z znbR3aOrOVgQ>nBDqs#27nweb!nV8Q+cZx=~RbpEZOZACNE<3(lXpUf4!}|o>l*ahV zWY%_Yg0}T_)%7@4@U&AH@xZ;4JS^rh_L>{<^l3>R78;H4{@v!+3DIV6cLvss%F(NAGJ2lUUF=af|9xdA`5 zx;>AzikTR*YjEyiKfBGL1x$1}sSPyX>*y@@QkWgW%V)FoF&xh7(YUcOZGYBiXqQH| zqsI$_jjYLTU7CbCZas&MLByFBGx@Wa)#2tYN z4I#5awF04YZg_Ktaf>h5v70>cP}X8VOpCAtt{YuK?h#COXkyvWvWL5~qH;^?qgj)z z#7#oc%91{=2kF}S(x{c@#DuD|P*pn@w<#4C@+nMqP+~p!fJC;|;^|Dhu#mk+%qlOR zRgs0S6<6Y$&i1Ua*<-RsXYs3q>4DZjJ5Tmlzn)#_l;XySZHtQdzPGTh$U5YUXEC^v zG~vQmKee?bW9?uPnYHIK$kOeG9G4ph^MZefnHL9hGsCRgPCfCuD|9cz?kJfZ*!H~! zZ+6)2fi<)ju_sJP^9d}r&&5Luu37v{RAfP2#h_-U2^Gg|>)AZFZXGP3R~S$d&$59+ zm-t0<<|GDtoq>%{rFT(a{Px4TJs00f8G_py;{Y0`c5Y=|VdT{LE`!KVMGFQ|R>{u{ zc=U_9UlBiG7%2~Vc$|u=t8vvUDyfcHlRjop6H-+t3aSRr#MUr<#z2Zv1+g!gtc9cN z9h3Ma15C0~+T+fQ6xNDwXu9|C8-|r6pv1+(0EfZ6+CF=H&rp)AW^qw)DZntoPNP+2 z?5aQHO#ULgn2$`~pVG1&i@s%*p)-fSw7!yWFk%6JO&hSLWICQwakC#E@Q<{*j^`YV zqNpZrnAr_4x^8j!H0!U$SQB+5{hI+#OvP_v*?W@srzyD(aJ z2wz$Xg$>K!z~V)o~$u=r>Uf0gRlmLu3^^psFX;%i2F{q6B&}h>^a4WpEJ9moxOs_+aLA_cKwUn zg_5F~{#txTfS1~AmlX3hS{lX>lWdgYAeQ1QbiNBIEMhUJ2oFs7?jiDmTiTsLCK;hP zkQir*t7cn6JcsdDt5p@3*&`Zoqg3K<)m-H{Bi!e zD*xC#|1<=~-o{>YNO=r#dYals6y<3G-9g7Q&?HV8$A&mZ@En6KiZL8_A3RB;uBxai zGII(TW|A#-9L%!H8Th)79cIh9H=)Z%d~r_(SDs40BfiLA@Z!N3(>1u8m)4i#s|0*q zRWuV7wsxb^6o#B+GZ9D8!fAM0i-(=MdUW}yotIR|u#&{+I9NP~fb9YB=vj&B619<6 zX;Lvmt4OQQA@cZ`0$&voRvH?<|@{3_OZKs9?nl5J_6!K%db=&Z7ux_Vr6uoR77 z;Z#}YBdL}FCRxI4z%G#lx8As6@fS|Bw#?Ej29=je=dHJHMKPO&xvYJ9yjLSe-WQ(>a z{T_!rns2@_M1&5!cnK8ID!?FW-s>j!;*0R-oA!udLNp=>oJ+8x@d|h}AV3`^?@hoHVeN@;r@m8(Y zUs6+3RTHu70qi-mQgLrK-r?t1YFnPk@8?-=3{S!8_KXhpjFe+>=oyJMUd_!Iu)~T*dgJDK?yK*d8={ZNS{r`nsyf2$>8m z$@O2XCxmsIS&4aK*vZ1_m|J1>@{sL8;#*Q{pe>}s8B%)lvA&Wcl^0GciR?^{VlXL% z=}52%!>~-O3fwzHBL1=4tr4bp)<+`53EOQVo~4Tu&oa@;3@OQtm_2M!u>r5e#?0yd z%0oJhfu*$9j2J2uQlp~2HHHy)IFo@Uc{5>a*aft#GL%AHRa%M}7gePg6pL!C>uTv7 z20Nvem322}6}C3CtUVB4a^VZErGduf_!bfKWO*L1mB5R^qp+B#&axjcy$urrEF+%J zRoosdOsB1=uELxXe1C>Vf!IZE6N8pCHB6Qou`*Z@C0#3BCtWYyAhgZL`snsR3yw4rL*UPg8iD~JML?#R!j7)l z;Ao=`J88n9H_q9r8?Y%87yk{Ap}K?uHF& zq}ofmUwYK^UnD&sJt#dSJuE!}WCoBjAo~EpTGjH4gsIZw(i8aSQ@oI>0!S7AVP7oP z4i)&8B2hq)l`GAig(bEPSi2pZjno9ewwA!WkVL4KiSaAgGzpQCLR*!Wq*t)?PP!T8_1mbVf7fz!{DihToTi+k3)1wF$IMV#i3d%JFrS-et23sT&S|c z?Z8Tz{ebu*4|ZfYdPhIl(Z_*BGiaHGb8!qpK0kQs+EAgS-D(%dz?fE94lJhG9|%&1 zc&xEQ&We!I8>+h~J?v(MzoKk$T7q8Z*>$qN*tvQB>HFuvJA*_AT3)RWsZFu zGacnXRscC2$T>jH#q^3$bin@2Z0^X8P?%&R-#~~F0yCKth;U~{U$fjY(%6b$jCLXx zwJaFy3WIf~F2{X~uU~t7eCj6kjHQ2B!&}4*B8%7W_d7f2Cui!*qb-V8H%cqJc}43tH2UCGbC^}7l1jqWHzBk2CZM8ANuu${MU!r?Q<;wT(j8&wsC>O zY=L}B;Ifdw6{}1<1K;vLIMwPffM4Y6M5PrA=$^c>`6A*I1B8lkiaus;1pY6q9yP` zNZ=(daGEVJ!JeG2Io`rTXvgc0Hym#QIRnUt56JmIE&zf)vI)p$AX|WJ1#;1) z7({+_{N(r<|NE=sH~jMt9!JnsE(UTH|M`9(I1)H*9t`!cq#Xye>tya0aeUabNQE^@ zvtnxYS!8PS_{W;D{s*V64KZKzW*>w@LWIF0+%y8mL|JV%%7!9PS8e=W7Fr_m)7#rR zS7L*1L1aw+h7H^eWT&hGx$+`elXcmUU9uaCaX(2CbaZwoYV{Vug;` ziy0{z`!r_;It8QDsjQvX)*8r0j-x>2QF+@*w-YAd$?1p?@ZdJJxiLb>GdeFD$uZg@ z&-u@~gkim?rV}~UR&?pv`2VVB<5|y^?U0_~(we=LFFSH?xeszwSd2x1jxG2}-Nhl8|+-v%%>gqdEsa| z7Z*f156Dfg%H!nm!ufK(JV8+90^tIAqCAPQ7Ri(GpS|QM^4{_kd}8C$hV}+z$!V{_ zyqy3(xBF*-R-Apv4aLJ)OXrH#%FY!?5rwla*wN4)if+*#XILL&l~%x#^@afKk21r2 zR)3p#odNnEaSndFA|v4 zA^n=Q53+`1i(D#CXJ^<%0=Tka)2_{MUgnL@3bZ0MV<;^)YZYUQ2xhgmb!08YO&M<1 zvYK17f~%W58kbJW8a^HKWw9QtmgOiFR?ZzhD)yuLN`5ic_2ckmCl z+#-1qdR&tnkehI@N3g-hwdihZu=#!V`fh`rIOs-5$D(3xII}w^Z%l4p_V}DNNH3W` zE~mM*u?6{O7=0P8)M)Tfjk7{VIYqHdDPwl<=H<@w0|6L|CnpL2FQn4r#|^mAdg$mKf+wNMLtqKO2+;0 z6F{B@@|@MkkdKp3j6ToFC&?!Rc@oG|ad;&0j5jsrjAzJa$Y;kiKSw?n2=4TrjU~Js zJoOl}OUq62)|i$T$++ct9>@!!2S=zULr2{3gYh&M8Oq4cIB4_N@h)Rny#k$F=x@qa zKl{kn$ak3j%jIk3>*VX@8{`}1o8+72TjX2i+vMAUyaMD^Ag=*=9mpF%aEtjCkhg)n z1LR#G?_Dkok?#@~$oI(i%J<3l%MZv8veO^mlfBROp3=P_Jp|ID;84Kf1jjJ`E8LLw znudP7d}Uj6Ye$e%nKFOHyOc05Wtb+4k)#Dn+uHF42{%c7L(G#HzC#qL(*jG8K#fs^ z_6o6~;&P6(ofydZMrOazhqaAM11pfTXxA8MzV)eXJ}?kL_gK*`1dh)eQ{E8lU>oL^ z04irw#Dx&2;q6)ze*`j(A}1d%Z@3E$?fPP`?84gPTOEE4Rn}V3+}a%J3u+(p_wcog zJwh+aui_?Y@Ow4hC7y(%GT$nus&bd z`uxVOv=8aF6#VN9l|AxS+FJe@*7B=}mI`57uH6AzT60$e zpDF!GgR(Pe1cFznQ-J(v1~>uPD}Ud=)z&ym!ObxzAX5f20x}>!ZBd3Q!<6Abeg^Uj zkYDj`E1_!EMhv6OcCwBsqnYN}Kz_58%2f)I(T*t-l}Q%u7?9tA;wES^zahX&g2~}k zQ7PmcUCK12NGVoIlu~87GD9g-_EBakUfG}=q-<171(bu8LzF|6!<567Ba|bRqm-kSW0Yf+ zuKc0=sr;qWy+faU_t13DJyIH2Q!<^!Dov;gQtpp$^^ z33M{hy?{;ux;N0NKnsCR16l;M7-$L5QlQg;&H!2lbRVEIftCZU09pyO3TQRZeSy{h ztp!>Kv>xazptFI_0Xi4xJfQP|?gw-M(1k$#K=%jQ0CW-1MxaeV13(u8T>^9|&}N{^ zfG!8x0(1q?R-kP_R{}i%Xgkm#&<>!TKvw}>4Rj6AwLlL9x(?`ipc{Z51au=%6DR;Z z80aBD4+VM{(8GZq0rW_qM*%$==rKT#1$rFN6zF9@F9&)B&?|vn z1@vm5*8sg1=ygD^2YLh08-d;g^k$&90KFCHZ9s1adI!)uf!+nwI;S{!+I5O-VNRZ1 zos=!i$y26#U<-5dr06u*!kj$sIR&;bC(ml`kuA*0GnV6s;mhPG)*UC$OHPX|%*oS^ zQ)3Hr^3>rJ*utDVBiPa-CAKgp&-hJ~EzHTYeE%)BFelIJO`9#u$&+`tpDoPE^K?^X z3v==e+_c!joIJ}mWwtOUPo3Q!wlF78lud^%%*m5sdteK5^0d}e*utDVTQ!knG~1Pv z=b^@OGT97dQEXvOo==)CTbPq4ji$^N=H!W?sj`JRc^YVXY++8G=h-t`n3Lyh#+Qq+ zA5Y9ojV;W{GcJ>{g*o}Cr=IBIRRr=6oZtLXZ@wZ7UtwxeTg8W z*utDVX)iUlFelH1a{H$+(`JTiFphiV-UgTbT1=CX*gp znDa8$CMjE(^GYTXMP7xSio+J>yoQM-V+(U$&m^L}D^zS3%U0#Qi3vq{SA=mOAzPU9 zR@NlSHkk3=l`YJ92a|~+!Aimw=DeH94oa0R%z0lIXgdUSV+(UW$Yi5TV5u5iJK%hT z2}Kz^K3kac@h)m6XA5&a)de;D_M;11nDbdC7GYlsH`%4Gv|DhiEam5nDZUha8NW|Q^e)su!T9_@1~MXq7+*y=KP3>_RJRM z{FKRUA6uC73)VIbwlL?{Ngjq4ja#H>+4#F84-1V(Y>}(;N7f)_w3D!fIe%f&>9K`5 ze`jsdWD9ft#Txa*7N+uB%XHYnRH<7BdSnYz71kzQwlGy=tzsrdBDOHq#Y9ujPUiRA zs+ToNi!DseWKB|M3sd_r`83$V)c&kNifm!(E=>5}U<*?R#zWd3wlH-!hSYT=usotB zQh(o_i&7mL>UAuqR|2*$bwoVj1Z-jING9A9TbP>7qzHR{cZFIBa2R4a58|*}~L%_Jky5%W*9cpDj$C!?2Rn zx{yI7;a7M>l60n7-K?atD zc_l7bSGF*96+=lkEGA?NQ`a)Mbi-m&wlH-)gZvlR!qklnD9MzKr7KCs7N#D|p#C{q zn0i#NCuR|vuvPHsbDg;F!dM)mZV}mE?5j(n0kE55Nxs(#bFCmPht=$ za~s8F3sX;J7%2~VczKS?7N(xTp#C9Sn0ht?NkYqDTb7xnXSOi)JO-F#rHlm(caYa! zc4G@uFJxFr0!m!0u54lI7KV~!HH(Xq0$Z56EiK#O-XAMVld*-Vm!=JvoGnbfBCW2c z&K9O#&47~>huby{&F<)Nw%Nke>ljSRGb$P+!WO39$S}5-Elj<6|v*et@^lQ0<@`>`9rdX+b4p z3sWCsP)W8?u}1IC7N$PQ0FoSUVgcCvwJ0$e4F~_etFCNe>N5;838%-u#1^JL&z|#d zvW2NHF~lSrr8rapJ+OtTuQJFaBNPWRhAm8eg8`(=f)k;>Ny-+czMZ}Wle2}X?=i%b z7#u=Dk@I*&_+jF+g{dDh&?HV8$A&$zg{hw~%p_avIG9P;!qm?h+<(CqrhdhclWZp9 zC>r9#=*||Ve#@|u#OOF!7PD7(wlMVvhL#d75R1`#q+=<)60(J*}^n|Js`=pG|pfpWed|p2AE_CvjL;#CW|E9*upfKL2W-< zn5MG!>5Xp>Y+;(gAk&SLQM@scklCFrO!F}8B)bvYauHAO!WO1wq~GI^`&k56-Pppk z-V8Fy1~iUVaoEDNehenPiII#gOxu~^r4$yT+$<%wFl_*XPO`Iz?eTWAg=vG>bN*Yl zFl`8XM#{0c2evS6I73TsiR_6jOxq(Z4S9S|%oe7N-X63>Y+>3MhL+^|FV+*ny2WD) z)5dNO5^jWxBaFh~x5ZjMLrQNx#$gN7CNh|m!gM6qBw!2ECU3V!(QIMb-rH@WE^J}i zG=`MqM$8_zsMwHzElew6U@7f2BZdlv)TpT6l`Tx0!9bI|nXonN0-BU9OqjXC4r96T8rF0?3Dhq2)eh1CD{i%o8kToF z1@!67+QAwYcsv92*#!tz)`Wy7&5N5EQ-Bx$&RD)G8t_Y|JFp_Vdhpahm)c+LXzjRe zcvuXAc+U@>dU%M@Dp}o{-Mv$_(_%=rv@^A{*ay5v!qM8fSOcbE^~fuc>NV{G(x7e9 zu!IDQcBcS+9q6n78)AuD*KS2#fbjfm(6BNlGCLmu`tC*AZQAYH9on55R>-^u^nIY80{slc zd(!vr#MOp&m+#jev>g`1!v~ggKFXZ)G3{}n9|HZ@YG7zjY0q|ZrsugceH6#_Ue;dg zCXJRw*ZU+T*Rve!UFKM5j?Zn!`T!m4Bkg0LUvkI#3g{Pp?}7hs#iKdQpT;~lDECjx zR(-TDv~RE|Q@d3AO8Xk!2`K*g%@*xj?K|yzpx*-h4(Ru@LQyZp>deGrYEun_7@u%D z{>H5KJJ26&mHyHlYKdaI+zaUM z;lfOc#ec{!7-pJ`6H-H5P5rGHn#D!3aPA-jP)9SPA{r8kp>f(4H{&wVur>rSI7%$s zd@U!4ij|5G7sWnlZB`Lh>MubyE%wOhvR4bM5=kqfpu%3S_p&G;NRHl@6`tO&_tX39 zJLx;?yXd>>1N4Df`kB zdcHnEFVH9Ilk`3H$@*UU6n$@fs$Qs1(~I)^tt*xeZIb*zCd57`}O_x27QsFf0k`a$|e-PA!pSU*HRR6k5VTt7lTQa?&R zT0cfVRzFTZUOz!UQ9nsPSwBTTRXq~#7tp^!6hI^(QV>NDB@i7T${;ErIzd!H)IiihG(dEL=myaPq8CITh#4Se zg4heh-XQh?u`h`IKq!nIM*fSOH=sh*cm~gSan$ND*MPVd!~;QG2jY4VH-LB$h#NsPK?D#F z2JsLO4+Zfs5Dy3O2oR41@hA|F2JsjWj|K5K5RV7(1Q1UI@gxvW2JsXSPX+Nb5Kjm3 z3=q!*@hlL}2Jsva&js;35YGqk0uV0*aTAD}LEHl3RuC@&aT|yigLnyumx6d1h?j$S z1&CLIcom3OgLn;y*MfK*h}VO71Bf?*coT>>gLn&ww}N;Zh_{1y2Z(oqco&FP&8g1Q zz*DR_)p_c7(wbA9r+fEMbE@-1?=)&ob)NB^Ld~hp)4SsolVUbXR57W}le*)G;U!+Q z7|-9fYCR+S-}UR+_dekPKKv3AzmB<#6Tu?kh0Zg$Q>!`Ee_Jb87JH?zC%84W8h={WYfsPxVf<=G5TX-f7jG8a&rK<(gB2=Xq~W z&8fjNzSF5WHF(N*4>hL-PxVezNjklzs@^KYGk7X@BFX5QNrR_q$5!^mtvNM@GM`Vk z=F}L$TBTfbYVb_$RBKKRp0S-?&8fi?xZ~H7##oT2ZO503u^&&_POawD;JMn#YEBKF zpB-D~$x=1h*Azv43B17*vttWLk)j@XDY1UEy1Z&G{~Fl3!kXzN*0;18JU=_ONe?xr z2G7xsRVGf&sljuv)2TT%cxrV|HKztomX7sIyWlLU=G5RB(1{8}qiRkKp2(a^&8fk! zt`b2;)tnkU@i?`bQ-fy~N0r3It2s4zmT**6V9zzD2G0PFDz8jdb87Ic-jr%i4W6o- zX3eR=({q#5oEkjqc6(}04W42f)z4%#rv}fYjS@~)b87HB*{Hh8I5npRPkc?U=G5Rh zu1RZ74W7FiRRS5m=F~Wh#nEInr^b;?BFeks)tnkUmo&<|B6;fxYfcTGI~rvh+&gux zIW>54XjCa>lA2S4CxND1b87HJ&nRd+1azx8HF!Q}lnE?VqiaqLo}(FM@c1>S22a0? zQZsqYsloFsqfpt4CsrgATk~u1tjVa}B&j(yctT`aHKztod5oz-jH)6nnSvT|9j%t(sF8&x%U5 z=G4U#ppr<()SS9_Zc|*0@T)1$ydHkAF7f(M*lFZWsWW1VF7f(0(2bghcPF+0d=)bHvb@3FWB+0LFEfK%w z)Ws8!l4N$o#ft2V6V;r$cqUSkbe*`cacfRpJQXQPl}=o!h=z%4PF*}RDc!F3Saa&) znM&#En?lX0i{~x<+cl>yp2n0U6~CK#yVRVzc=l3~q_b`S(=qQkUd^eigoUgmc~EhY z64ac!c*;_e`klC7U29HVJVPnnu$Zvs)WwsO{)GZj7f(w{GQVOgRFV~ly6TwK|9OF^ zYc|74(zh-uB`gqi&FjGpY@kp&T(SaD*8&EXBuP0gSWJPaYyXrXm}kc;5Op;&h?L9O z;ueUy7Bh^LhdjKN#w`$aH8ZGxSRm?ZVIWB|@omd8v-Dgb>S|+vNtU%(z;Flo?xS0Q zsH>e}C7JzkvAPzBx;hz3l29HOC4~Y}*P66!*K>iWYhBua$qPhX2c^~Z)C)viz<`tF z1KTzY&F<)NwhKgEhccLyXH+yuq(Ibl1jE?g0#Vn|taVB*mZU(`bsR%UlJIVugUuqm z>PS`~>N=63r4;SLXx$1#U8kg_P}s1E3PfF}GqiMrR@?$n*I8*nB`Xkhoy(w-?0I61 z-n~H7bpZoNa&CwPNU1>7wV7ciDdYH;3PfEOvFH4o1){D?7-EvcUYzXk9tuQVmovyD zBNPWRra;tn6$41O@F`O5l(az9b#3|kn*=w2Y|x}RYsiP3Se5*LWN9%5)I zRf4e?olb$M>rn=s-b9S8=ImA=>Ux4frdJ0S3mID=>Ux^t{f7mjuIJbTl59)k3|7(t zQP+zMFv${T14hkF7D>7lh`L^3P}^T1>Uy2EPj7sCC=hkM#URs-lToEYk&xNFK-Bdv z!%ngru`L(z^ezRWt`E}hamf7=7Kpk&W{^oXpmDT{Qy}X4jKQQgF_IOCy1rz1DTRe7 zH%qBN)b$O6PO`Iz?eTUOh`PRK&-rf)L|s3zXQUj9dngcf{mRhNTOxZZ5Ow{LmWDkP zh`RpX9<)RSqHfC2lHAqBdP0%{QMY4zkm41Hx}6Luz4;iYK-8@>n3TeFB-kV<5Ouq^ zTchX#QMYfqP1L18)ZL3ACAk>2hb<~LBq$Jd_hn!y?KLBY3We0DsNc0f)V&h}O>&oR zYuE)eX@RJFR|fm<6o|UBxQhRFfv9^hgWdiD(Mau%dzgE8O!b|64|kdAzuG&%J<>hO zJ=&e^&T)@%=eqOUW8LH2-ME4~3p68^5DyZ3e1xNF^Y?t1qu z_iXnZ_gwcp_k8z$?gj3JZohkfcY}M8yV2d`4!9S)v0~vbkYtcFklY~k2B{xNJA*U; zq}@Oo22wUixgd=LX#z--K*I0#oC;DANYg>u2c!y+szIs+X%^<(hMEgRd=o0r&@ zJ1(s2leVrWG0W9-)3rVrXbVvwvPO=W`|j9T(rf)-(W6&ZfnDHP0el=+cEp8 zINPZ3*O!Z5MpX0=HmLvVHfm*COG}hpJW|+`zBUCs?ynim_kN?BnuEx~6IijRW$mP# zoL~nIw|{Xv5*+N!|D4efT)J0oZtmFJ+;O?N;|mHV=HVaX#z(e<9yJX6ZQ8JT1>^Gb z#*Hf&KVck()cgtg;IqM=XH$~p59>{f3$V%&xUdTZl0EWH=KNT z5w-42?54slVHJM1Rp2)f|CtH}-BcJHR^eA$1)ik(pQ$jRn+kh`RruXjA)5`v4hujN zqbFK!Serj>ZN~3VZSuJ`f+pxfA5Vd2FVnx(Gto22v!`b=h<}45fJ8u|TRl@edkaH6 zg&>I_NkCSC&A@A%FQhpyJ7CS+`QZg zqq4?qz_1YR%}h^q!rtubslndVfuw-sh2#uAomNQj+-!c!z_j$4LQ%_PYAic zrvV`wLDE4oIHZd~PCo1XHDAqPKocg8M?Le#O&pb#KQT(rW=|^vUFKQtY4NN8$pexX zBp*l_TRm-_l_5PdLFyIK^Z(Q8S1i2kjZ1?UmuC*(!po#8n* zp?%NuoFBs51*BbVyek&nS=$`aEw3P2w~IW;+?8O4T<*C7v91DXAV^spYY=yUM;H9{ z`TTVgCyYbQ#!MW$Va~b<1zr5=1`m>TC4jxnb34M`3DRJYhH%)Sd;$z>cCQJkIA+X5 z1f4i0Kh|0A_dLQtAMiZrdC2oHNW(!I0n+Xu?XlJKsOK>ReFCJBAdTXnqyInsYFpmI zQ+w^VE_Zw`PL8~BWAkyMNC&hA*ei%#@bN3e>ilVCl1tio}Uv!{o?sG1T`L{{3xhdI}iLi1XU2_sb0a0 zq*?LZz$<%|5L5w36K$xG=f3#%tzoUk+D`9vdovS4_44)(LG20BWE*PqpdZYEaiDhb z4oV2Mn|E*sY6?hu+fdo#TOS)52Wk&*PC}?L-rNurt})YWs4+{H-j@>xs=%9Yt@2Ls z;#%cJoMMnlI8-T{GLwEdsLb4NT^?>s*|ITqB3m{l7NE;T#dz;@Z+Su;E4-B<9cO@4 zX6u;u+3JTM4Cxp%p7q{&38ChD_X|PI1gYGHn*82j4ZCoti4&q032&o!X+o%G@3Ih7 zB}i2^)R@uzidJ%{d<+ngbsd3PKb7j_tX&DY>?(ep~>=n z$MAlRjj{eY-U|~#ZSrmoLCphcz6~{g?7$~3h%=Cvdaq(o@s?=s)!u7DPzyj>XhU88 zOYt*LgrIOIVO#%Z?;Q!D?)2Ujg4!RXhA5~%s)S*2pdR!-mJsT3?-L;?+>kWcP*)Jo z>kH#RJ@0)bA=Inh*FsQ>L0S?8wVqu0JBON(KOw4v?|MICQ1LdA-jBVXgrJ&1T4qD- zmH*NO!{b1G?fnT!1ijyQzx96S{oeb7_eYRgKxzePB}nZcb%3;LoA+n$FWz6hzj=T6 z{sGb&kT!yJC`dnK?GxEn`?MZTVCBt=+Hs4UQyf?oXkq+< zIh-;O|K8rbD$rEi(9w_+xsmi+C$Qk?MQc_p?Py%Gbk&+Ai`s)ttClTqTC((j&bFoP z%a`YHTEZM832f?Y>XORcqTD7cFTIcDAkVSh;NV z>h?tqJvvOjZSS4KdUx7-5Bx73{U7NaW$)d>dat(i9`;}Ay*(2&^g0Cnd@R~Kbk6kc z?i-2Jw!S?;TD!?N3Zw&(eV~{e{hj|6-IMJ+dfp4sDoNv4@ zUs&Mx_CX%-eLI^QmzTG-Ew64^5~%E4fv-eC+5pl)AgxEL)c@76#kN_ww+|hT>?NlN zr~3BvA&cuS(cS54kS)Hwd{cxodyw*bGm(J0Yg>B=3VlWP5a6cIw9Gu6nHe{0V4Ha# zG;_Iti}fMgng?@h{*MP!Zq{BWcf4nJxyDy#cex&lgPVO_>ll*8>V&&Mt=U|l|v zcln6_T?fi#J>7FRZP4jGZ9(t$@3n6Rq)H$9lRRq?7EP9)vwLSx-;lJw5q< zx2Jr(uNe90gmSy5hx?ASJsY=ir&&Ecmi6>FkWROI`hV5k2XvHW+bHTMFrl~1fE4K< zAP{<2k#0eH6+~))NQcm@8O4UZ0@6W2r6`IbRuoa}Em%+xLFoi+NOxZWKJfSV{Clr; z)^Y9gt#y4wGVlG|?M)`hXzo+#16h?$KUwLt|4%FZfA)2$g+6k zxp?HIc;uCM2RL@##;WGqZlUQs+NEvl%{Wh@aK8XxXB9Lq9Z0Zr-qU{p5Ph z>(ozfRI5#+8L?`)){rz6e&he)*>)T&pfQG@!)tybIy>r%|oe4bJ`$D(RKekrw__q&9UMG;H0XVRD1k4O%AGtKXC|Rj;9rH)`H6xp}MBjgwoqY}ueqn_4Xz zw`iI5lZ2ytt298Y~opxpF$U!NSI`&T+njUh+BTvU8OXHE5vPk+W z>FcC#!gb*~zed7;eC$6DyCP-ekhGy9{pIgY{>RbdktL@-!GD|dUGKlVb3xLkF#WH8 zaq3auCv7?PtmcYQL;n6rd|}cLNn5j?0AxMu`G@!a?>_bal(ZwOb=%{S<@1wv#v{-C zpR{goR_pe~BhUW5bw6v}(v#g;ak4wJ|I(erpOk%eW`~lFoSoUxc;xy2e3&|s72Jvi5t;$zZ2e_=&T@T17AMn>C`Xqiy1mx8jkt z3!;}sFN;Usjz`v6Z5!sR_|$HmMe%MiWpbk<&O`hU@@(4y(5)AEAUfAMF`e|-sa^w!fUeD<%V@Yh!+MW>!l!Anp7 z#V(xs+4kwJzVCDjUT^v@rtsHS8%0mQI62}KrvG9Je|^<$bjIl}crod}n8IIQXB(Y! zIt8yB?OW*o!WXVb7oJYg3rGLmmm{CLYfpY+$QOMwy2NiZiar(fIqv&-WXpo+(x_+t zKg1(jyG=|Tls2^c(3I36L(?iWyLnB>`rny1{`1KtUvy=3)!$;g6kQ#U{1}h?bmq}# z-Z*>N>(Mv=cG+9eweiS~c*HMLns&$k(`oCYAN=jI52K!*?v6+HoH^vo8)r}ZJi6g; zmwg%iDjxCdEc48x&%AN=vhSkb|Lw9ZQO!9JkNkY*(P!Q`d)fBruD@NjJGv(x`86K- z?aZUkym9uj1JPgqcG+)HpFt1CBY&KE^qDu#UUnpU{BM_?h}3UFNq@U68jHmvf5sEfF2_GyRxEbz-!3Z|D-}=7 z7EjE6=Fw-~ID1<8*m-}utWvCUJTWnznB&Z&&%AN+31ULcSarXBFce77_Mb54#A?Or z`Q25q+OayZy79!^@x(mw#Jme*^6Ql9OSl>dG{#y$FB}uP#8Z}lyeG66lpC8!5OD(&kjP}wgKOyQ{==}fr z(WlNh`Gs1AW+(5~5IU9ZcJgOVXG`cB>-kS5Tp8;X>m5%l5>GrQo>;U(vqGl=bZ%1i zpPs+Q`p0~8?!Px;aBN6yXgslaJh4PP@!Sd*A2=0dU?_WDwoq1|v%aK>jfh89bx6u~ z)d0V?aa>xhS{Vu1vPTkgTySB}iWB@RK}OrN;-~@Fcuqd<%8LE7o}c^ct`*ZpjgE$d z+vY9HnX6!-66cnzcwRMM^LMK_a{Tb&U*yh{H(&k&SGDibJk7K20iLpt>t1nS)~}E3 z*}luE&ZK8g&zGL<$}Zyv4opcIlrrdxJW0`5;i6ezUkyu{Jg%2NPoJ8ecR`VJ(j)1K z3yKv_&yk+nmsM>>jZE`MzYuKH*o-`-N|z~Hu6zZ5pY=T7A6-(fO>xlRHpBZ58JC_b zJ!gexl}^>3l)sQKL9Q4-Fm+J>OMFc}C?&bYsNsV?uT;6p`MpkMI8uzBr{0wHsk0VT zsVZKFlU?{CPxa&)HESvE2{V$@&b!ZzphrVHO7!}5ZabbM8DclzB4Ku>bFel6l3&Im&ad;{` z8(s=;hV|i-@O9W2z6(Evo#9wQLPEZTA_*lE$|O`tsF`qKLaT%}3700cP3V}=Gog1v zzl0G9qZ7s_Oij2aVL`&mgjETzo@#Ekgj0Wpi%Xa{ymNi1EA8fuCzgpPmR%H^6q?1Zja}#0(lv`GmdpBmbcyBTiC%c+l`?*q zQT~6v^}0?To%O}z|NJ0dnR`&>|NVoyq)i_Fzkg)bi!M(-vO=?5r^^03HYMba-5R?s zYo*h?`{ehN-|n|^PCT)~$!{FQ?ugxK!Ll-05W6Gm+b@N>jvCZ|a@qcAWotL7+qi7= zc7=BT=fmN>=~q7;yDw=*?19*Wv4>(0#~z728k-iI9#8bO|Ezdom3U&+cw+TuYagkDpGV+P|8@ zU;hQc*y(=>E;0FEP2sQqN~xa{oE${t!M{w$k4aAb5}!6w%Jx1SgP^~;CY z>2KdA*8Nvo_SY{ZW2e9Gn^^zfZiFuo{^0|0Y+dY~Zdv~|ffOH$gOA1`6sJ7Zs817o zWX$snFYp%c@fqK-nQi>U4)&7C&mrV3MoliHDIMrU7rN1dE9p%i`ZAiaq%o0ext<$| zGlhr9;7|zp3e%Dlyg%P8USb{Z@--WgYd*Q=+rn0UWIH=K%u!B+kY6A2N61MY^5cn2 z{?gRua^#f%9$w`WzD1n;yAdb9Td)STaDBnHj6|*l^`)SE3qHzp9%B}Bn8yNE z@jl;RhK1}xp*-ZH0D4d;N-NsYfzEWr>6V9(&wbQTu2)(#Y~glaRLxO!M%C&21|h1> zs5+xdSjMwF$1D8A?hs;jDJD*=CC-fLpHJr@b_40CD`pO{+j)jpQCm!2G4;jXVLcxq z$JlqsGbVm)2fH}HFZ|A-5DHgBorU$Wus#-c4-_7NxfdS8IGkH}3b%0wQ@NXaxgR|) zJfDR;!IP-7@N!ll$HL}XSRRG#dJ#KQM1PB1%$2CK$Y{or#snszhed9|xka2?QzyB7rmD2xs$ulqoU#!eV7@{WHxFjsy9X7U_GC)8MznD zI`Mr&cZ~JgukBd-u@hj*;H+o=p#rrXUK@7&(#m8g!i$BYUY~U;G zWN|xL+&qe#NAW`(!90qe2%d!;L$aidJ3tRb-?d)VXd&%SgzwjICE2&>4k8lkA zDy3hgvJoK%xyVC43Q&kBg*k^}l%OP~DNA`OQi&>5r8+gJMIGwVfJQXoLYmTy7PO)b zmvT8*(4LNTrYqg)NiVMAYWgvNK@4Un*D#!sjAkrpOkfh%ay>Va&dp5WHtt|5cXKcI z^B@oNDARe2S2g%0GF3^Y7IkSrV=m-k z%%pT{%%ilA38l@VwEMO6m0X8@mDaD)dQf^XYA?N(5BV5*md?u0{Zz)1m8nD(TH#|~ z86W$~48vT?m`fRP%7{}&oHBY-Mo-GP=ga)cF;0X~R*bSWsZDPNF&NjB)$g(^*}^XL ztXx^nryBAvC;xKtFBiv*%b9VxXIYIImD`Q;%Kh%?V@Z5mEU#DPn{zo=Am{ROE-&Zu zk09^z^LU+ic@MRhS9^K2SExXBYS0P0Tj45hxD6-NKgYeW-z(w~9o$$3+` znwGnxe+|RYwF2-c-8@ zv#Ms_tGT|~YpA2zUNS?dUIzDB^{RBlb=7-wBe!!WuC4Cc>aMLW@9Jh!U0;*)a}LG0 z825g%T}vLv^@x%D6s}LUAIWwjc@y7^t)DbT4HXs8ic_xy=3USE_2gUcdi1%TIKGDz>WNd|`|FEUUw-u`b2C$TnYFA7 zp+N-mYfupRH|T}@8%$#!3)s$neh#5wV_MJ(@fxbH;XQoBm&mVC5%jfDS+2%h8l|#? zmAr_ZYow2j4u{ZKGaEPILdK(x#`@QI4f@{r17C_KQh-8qr!W1HUlVbgEMq5fZ1QUe z7c}Q`uHZptVvjD^#$KF%q4O?mjeWcD7VhR=-sMxw`y%IF-}Q2ZiE@MZpkF#+=BXBXYgeR zZ7SowX;X)57>Ay<(T6tr&_*9Fv7eXZM?Wr+_a%KW`%Bb!$xFN(!lgwiOL?wi3b&!( zexX^o)OnYcq7qfm%gfT3z-r#&?GP@{j+tC;-j}zdJ3V=r+05m8cCtH!w&Jy|iT!Om zn#nl7t^C`{zpebQh;lB@zao{fIQxnhcpZDu&YA6sppJH3FvE6sqFsLmVeailVdvV} zxpwkxr?z&xumkN~+r9&?Yd;jZwAah_>T9p}?d99vebL_i*8W%s9kP)ZeeGbcJH)6; zH5$=`)?7+k+GD>ubVctw3?Kz(bZoOSl{}>evf)chswn1Cdw9YtXZf`q0t+*YS4Du;Zi5 zM1CF3vg6~}+m25o-;QtaA@c0_37@iw@7c|i&)@;mOCj_S~!&`Cc#6{IldPz?2S zDoX{DX+TT#x04z=T|s-yy;FCtL{B@V;hyPq3%79xcX2P%unV2$FdubvTEX+YgnOdX ztGvlt>|!VNbo!3XY~v@?(rGW|(dlQ@(m5yQ(AnO0wpX3i(AoZWE=^^sqK?kBsEeFC zkLOOF;zi`p`CZ=UBlNNJ7ktS#$fNTfoZH#Coqxk_cFsCqFSR0c(Z??Juxnk^-{lF^ z)kUl>^6s(|*LHDj7jx)xB809HU zsHJC1)Y9`ZuAl>*c`bx1)qdqP{tTg)ntG|F*Uj9?eN1O2_NJHq_gc=gyu$0aUwgfc zx_jw=uMK?7w`}GIy1HB*OY2M&-#Ou9@ z@7ao&y?1bcUqZNQAo9QJHtxYJu2Ns0nl$AS)Za(_ebnE_Jo{WtDz57@3VrRP{yvkq z1+n_*L!Z0Ri#`vc7ky?kkA`uSRRL2ba)k4nw{CBE^?Q-k$f=*4`pK!^I`p{T2Yk#=>_m?JGWi)f_WOe)91o#? zK%e{PKu`NOLErihV-nM`Tm8+b|Dg~DMA7pB4UqeQ=Cs1j47i+jbmvO0LjMO0Kwk&Q zZ@>>B49rV0+}i`oQ4zfvSQWcHupSMO%Rq4liaSu;fgR{cFW%=XHX^ry-=o%nyF(Z> znj6r^LARifgYM=25K{6{oO7vyGgHhYr3Pk_VwX~!pQ5f5b)~eyE~T_Z4k;ZO&K*2} zdoRUoQtVF3)0k1pvzSqey-9hU5BP`-zT|7ZWh-WsBJY$vAq*~rogUl*=M8q=VCN0) zLO=9z@F>PGj`7%+!IQZTISsxGwGNis;D?#UV=Ux}5Qf&GF6KA1F&A<%&K%mBOL6wl z_H?2vJ<#)^eUQh{fea=Uy%;K|p<|KH&`HQ;sC#T^oGIAhp;Nhs`*{dG8>(kR?Zwc! zEFdetCt1RBR~v~6w{RPGayR$!AdfJenap86kFyxNnYxT;d7c+p z&8xh@TdZR}AMi1sk-=ANWD{H1#&&kGm;L<0?;PSNCqlR;fe1OtLw*Vo;~a`pk}{O% zJgQKQ8q}s94QawfG@~VLxQr|4KxewqliplSe+DsxYZ$?3#xa4(T+glC&Qm}j?3AM_)e&QO zAMC+!GaddQ596BQ`aOJW2qOwm6g?Z!o*rC@{71-tg#1T5!%Mu(W_DmkBa7j@krlWc z`!`arMvh_<*COYUavmw?k!z9n$dB2}@B9(MD7BAL`zW=K>O?QD;wJ83Dt2qstGv#) z{D@r{t>)4BP{-(+G@=ROj236KIHTn)H4jl9^&u{98DY-99htX#(0pRwYM6=$qCW7RcQ zU1QZXRz73pGgdz1Vw9vb^{}JkE@mVXnaoV|b=)G>^BG^Dx8wA7oZhCD<$UxvttD5` z9($WMj`7^hBTQojYD$w+ntIaqu|I_Ixky4@m}qAvs%fH~ znb?V5T*dX++ljZMHxrj(Ruk>}MAuK;6T&2QOe#T1+TlK%)RP-=-K0BN$_uQ*wUb;s z$+eT^J=shq>+9qTXhj=F;NG7+iTON@7?Z!k^^@(#wRYp$yyT}L&1ivHTx%BBjz{mV zUC0xBKn7oOD1_@0$c}5SYm3~kGrQ{^!R)SkllS?MO#a|-2-lxWMJmyp%eeymzJ3&A zn2x-!clPyf^AVpQ#ti|v-*6r^s6`j_`-ZEzi949ea#pdL<00Ib1G{r$N3Ntd=5pgQ z%;iRP-K4IY)OC{?-ZYRD7UBIjtw5Y~ani*}zZCOMcYeBj)1OA4)5VF46Bj4${c*A4 z@{2F#S$zDB@8oBG4dLcGnBUD8A^)52K>jzc<6}Mz;g-Ubq6|YA%~-^{MSZut!qE_> zM3CQ{V*L%7w>-KvkbR;DjQxrT+P<5vB7Hc)#XB( zGKG7%5Bc3D?rqjcCFx z=+RyGvIqC{T?a$B+dS@WgE`-QKQoxgXKduV5bjB)0b<=_cK4XwJ!W^0d*z-@d>_KS zRj7?R?wv?FYPeUNd&Rj|ocql7zDjuPeZxp&0`Kq%9(#Xr%2Sb4%>RCmyZ?Q@U_%HG zoQwBAAl3teF@p!ju!v_^f%+fJMucv-ZyxN&bmpUH59-5%`tYDWJY+u~x&ZxnNZt?K zh1ox(zK6E6GlYj*)1Hnz#dEAgzaKHfN1XRaTe{L6y?kT=kF$dV{1U>WwK0=N&HK^o zn8Izm#Rq&8!nFLHLovjg)(87LZ4QfZ{xtbdlm9gNPjAL$IDh&y=Hcw=+t`b}nBmMB zEm6meIA%D*PRzKE2Ql{_d))FtZxYp4k~S&Fn!h)Hc&>W~Olic5J4e%)A{r&Q#A#y__l5OtYJ*pEK1z zb1CLM^EKQfGe2V^dOcIVGu1rvXMV#z%*@K+&k$zGcUDErVU~TJRge0#K;EM;{JgQKOhO}b{uAMyrbC|8x*=n7w*4cJ$ z_WhW}Z1v7o?`-wXUd+>|Z?<{QapoMopQDyJdOt_+=Op3mIVCBF8s}6-eRCRMzvnci zIqI8ZU*=qa`(w@k29e5e%x;bx=S<{UZecD@B9A%Cc$PPLn|FDik3yJxIbAT*x#G?h zbFP?k#hg2q$y|>)&%K#DS&r-HZeTN8uzPdu-rQfYZ}YOD=6PzKr{;NTo~Pz{g;DQ3 z_0Ci8ys9Ll=kv^Wo?PZRd)}kG%GMC(=cEv3Ha~`*%`Y9og2g-m6>`HT#{!i*MdLJbSlus{t9cCnZJ{DOKG9O5V^LRgqU1bHpYLw@A9P;Lv) zp*V6}ScdYPM-{43gW8z$LOZsw2^Z0fmYDUz%P{MO9q5diFYHNguBJcczi6pKeB_}?Bf83IU2$frKm&|nsFIwe&2$BY)`=N$BYkvNOQStQOPy;-Cuizf02bC`!1i$231EHcx@ zImm@;7VG!o?%d2>=-J}8_<)a)|6=(smj9C#s7?(!(;G8-@@|~> zI-Xw0QkEmm)8afW&eL*v`gi^aVM!UxVM$fgvP3OQ)UsqUVl1&oOO{|Cmb{4mE!l|s zXUUNemS!grJy}|v8ni<%m&$4B1a87kE?t0FOP8THOXafE{wx(|nK;YDS*EUK>RP6* zW%5}jpJnn{c02d;AWvdPmp#u`_OLI6w=GdUpL=1G%1Ck=HZwc}70Z$mf}_*n+&CRnxQiC_oiz zQy24kR;*`xaU)_pdnZq@oM+MJXE&nHD5_&b#RMs?Twst~$nv5MC-zHIf;_wb-4P-sU4d31PLl ztS*PStX9`*b*)y{YBOB@72kyLatXZu=jB&1@0XqbihN%wjXu93&MV@) zBF-z`|B6_z$nVv2sfdriuU&a?cCxNGG4W<$*RO}V~#KW6jhOn$%~zPUGqx9V^K&VS2!Z#~STnAuz3vMGeM z=THXoSnJ%i&Ry%=wU4n7=day~v)Ag=+h+TAJsL2Xo0)=I-d4-oYFVe2b!u6smUSJu zlHNRy9<6&Ogm>)QJLdOJQLe^J-brNzFY_wDaFpXAyxX20i1qF~o?;2VV{YpMm(dw@ zte?(&)UaNh_2R4-=e?#}g2%phH;*ul9UQ=8-)}-oS~C^%f8XQY-@|Vl4B>+d@%|6Q z`rvlV;DZNwmrwaTgb&sKVFk`(0yhz7HE*G3AL+wK`tXrHeAI=j(2tMg{n1j){v-8$ zoRi%6`1kQB#_&F0upxv`^!pPt{KR>m3}-wO(aTTPvMz*AbCE=h&X~!k=Kbj`o?tQC z*h^*zpVgotjS=s&8?nEiy@7^*=KRm)|9KJQ|9O9|!TF!R#G5$#iwOC#7hgE@i$SR4 ziv`$)FUJ7_*tjLKg89OObDeTr*xkjTx`-I%>@@&kXa= z(3cGNLWVuaFrSPs`G)WKo~``EPV7{MUT6G_-P)k;4eH*Y?hWR>AxdFxhE)rIK8SNiakK77@QUR;ITzWSX* z9L2r!bq;c2XTCP)uSYPNv0TRusOM|feC?XAPlTZC@QpgY$;)JJ<4*48UZyc4gpKOm zsLqY{Xk!V?cB7eYtc-d$s&nI$EMXZh@=^%js`=ZCQ0up5`)zC5(~)=3|8MpGTZw%8 zEkCk7gzttjo=M34JGp-+x9{!8a>>icUxvLm-)zR%hC{jsL6#~Obc4k4s-tDaaORBRjkImw&ucFTb;GF z5S{7E08)_SR`cF!-dhibuq`_|FyC#i+oo6B^lIB=^m3ayZVYr8YH zf5k>Nv4vgiCF|^8aDQz#-yJ#8haG0RLv1_Gr#dyMLw%akoK{@I<(SD1{o3&uZ{ge> z8`#Q^?Bf8xa*)Fz?94_YX1y~nX1&urx3e5Is6}HgC>)8G)JFy>C-NK+SQKk^dprCnD4GQQ@EX}nD4GfG2dP0yUToc zEkLfj^mCV)?Y4uvox59~b~nKpyDy_N-RMbgu4V|=FoMyH<9cpIe|A62Z050$MLflG zyueGm!t1=tr`V<4-?NiFWb!k=aXbWn74~GueYqz$QO>0bRjEq@%y^F(?=j;&m(mt9 z-ebml%y>^91|#P^y0qfO})_ zP==AlM6Trq(zz44@14gooi1r`?|qZE`3QaA`vqU}4O`LZy@xmw!an`pr{DYJ zzAqmIDTco9D@{2nl1u|y;-1>4-~04?pWOGkr}p(?Ao{*9mEnwH5_-SyUhYS~_v!aO z{oZFk_dUUK^nKq-R`D`xk^8<)e9ungy)ToW`HkZt_{Wf`hD8x-v2nuc$VjRk=4A#I@a?6AM+Jk zkn{fi9O5V^LO75>g!~jD#yJ$HJk^l%fhO4V1M)u5j*fJpJ8C#!XAbE7f#KMh17jJ_ zByQyn?&2OEWqJrd*Wx0Y(UR7*N9>>N$ItTnMSj1??-#rAOF@!&3ibY?-d|qjb>8K@ z5Pt2C{{1?JG$wEp@eqDf({GhHA9MMw1`TPu2GHeALPbijW6et^Rv94tl|nqo%}%I)Al29t_j9n`CXdUVjN51REsvp)C$4>OI& zm>t3&V*H{1e~9x(cdq0r`eJ|n7{&-jGma_T&Q$dLkNZP7RE64zbx6+-$^Vf256SJQ~7beLJjghg;$L!>&K<`oro!+?n3=p&#l!Yz~Jf zqQ=8&JgmkedUK>4VjZbPT^i6B_xTaKa74XF?AwucT#f!68N?8-3E^lq@*>vJ5>%!t z$%uJW%%fr+74xV(kIM6?Jdeurs63B$qbDh-{iq%u9l-*g;W=Jl6?-|%G2HXV5)k{C z9v&0>nApeKqPAoDbxgmG>DMv$>#_Iwij8dI`w)&7M*YVtP>J)YPEEu)ZqCQMb0y|{ z++2>E>G69J`?wuB{xH*cjK%oear|RG!&%3-vxh%II1wmLS@h$C9-I*Ogub58*Ax1B zLSIkl>xtXA4`-Zk#tCPfSjuwr<%GVR(3cZ0v5xg@K#eDydqRyTwy+I-JCVuH{1(EW zxyegD3KFFVKGytMkA^fsU;osHKikuZUYOCJqnN-g+{zu?#l6V)&&Qa>T+H#$RjlS^ zUSkbw`IOI*_n%+$Et}cFF68~^{*VwN&J>)N{kM=1@&1UONAx?A8-0m*f8=(iBA>{SkdWy8iFq)O#Dd5@(fbqc z;eO6sdqV>(}v5qg3jny&H)T#5_*=? zymFdX&RcPQPUq)ze$E*z;2E5iGwYnyyvm!r&AWWcH*9Ao`#8X_975l6>RT@L=2Ay4 zGtOo2a#cj$xvEl=I@Cw*xh|nA-RaHM^k*=sm`Sej+{j(XIhTIrGT&V0n`<`nSjbXd z;4S2w>pec?6EgS;`o~`U)H+rA@Ab*C0 zJh{k2e(YDCl9a~1o~H`cs6l-iVQ=y@MUHvyMjm267rgN-nO_8@}_e$cVJd|r=jk=^Ld=bI5Y1GRp?F9rpx*^PCzYWb_u>6X@=02N zI+OG^NnT0nOj?cFlH3zXAEL+6i@Aahbfzn29{mI}kJ`VeI%1d7i@tdNk@dfb=QCOV Qi@kg5&(r^(5F7Hp0Q*LptN;K2 diff --git a/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Playback Tutorial 1.xcscheme b/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Playback Tutorial 1.xcscheme deleted file mode 100644 index 807d156737..0000000000 --- a/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Playback Tutorial 1.xcscheme +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Playback Tutorial 2.xcscheme b/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Playback Tutorial 2.xcscheme deleted file mode 100644 index a7abd55990..0000000000 --- a/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Playback Tutorial 2.xcscheme +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Turorial 3.xcscheme b/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Turorial 3.xcscheme deleted file mode 100644 index 7b1edf519d..0000000000 --- a/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Turorial 3.xcscheme +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 1.xcscheme b/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 1.xcscheme deleted file mode 100644 index 0514207a2f..0000000000 --- a/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 1.xcscheme +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 2.xcscheme b/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 2.xcscheme deleted file mode 100644 index e98502b827..0000000000 --- a/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 2.xcscheme +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 4.xcscheme b/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 4.xcscheme deleted file mode 100644 index 240193664e..0000000000 --- a/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 4.xcscheme +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 5.xcscheme b/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 5.xcscheme deleted file mode 100644 index 30f512ad7f..0000000000 --- a/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 5.xcscheme +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 6.xcscheme b/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 6.xcscheme deleted file mode 100644 index f52447c863..0000000000 --- a/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 6.xcscheme +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 7.xcscheme b/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 7.xcscheme deleted file mode 100644 index 84fccd6558..0000000000 --- a/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 7.xcscheme +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 8.xcscheme b/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 8.xcscheme deleted file mode 100644 index aecc95c59f..0000000000 --- a/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 8.xcscheme +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 9.xcscheme b/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 9.xcscheme deleted file mode 100644 index 9f6bec9592..0000000000 --- a/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/Tutorial 9.xcscheme +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/xcschememanagement.plist b/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index f879c08f72..0000000000 --- a/xcode/GStreamer Tutorials x86_64.xcodeproj/xcuserdata/fluendo.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,137 +0,0 @@ - - - - - SchemeUserState - - Playback Tutorial 1.xcscheme - - orderHint - 6 - - Playback Tutorial 2.xcscheme - - orderHint - 7 - - Turorial 3.xcscheme - - orderHint - 4 - - Tutorial 1.xcscheme - - orderHint - 1 - - Tutorial 2.xcscheme - - orderHint - 5 - - Tutorial 4.xcscheme - - orderHint - 0 - - Tutorial 5.xcscheme - - orderHint - 2 - - Tutorial 6.xcscheme - - orderHint - 3 - - Tutorial 7.xcscheme - - orderHint - 8 - - Tutorial 8.xcscheme - - orderHint - 9 - - Tutorial 9.xcscheme - - orderHint - 10 - - - SuppressBuildableAutocreation - - 63118C3F156D29340085CF03 - - primary - - - 63118C53156D29DE0085CF03 - - primary - - - 63118C66156D2B790085CF03 - - primary - - - 63118C74156D2B970085CF03 - - primary - - - 63118C87156D2D190085CF03 - - primary - - - 63118C97156D2E2F0085CF03 - - primary - - - 63118CA8156D30610085CF03 - - primary - - - 63118CB8156D31240085CF03 - - primary - - - 63118CC7156D32E20085CF03 - - primary - - - 63118CD8156D34BA0085CF03 - - primary - - - 63118CE9156D3A870085CF03 - - primary - - - 63DE8811156DABDF006F2D3B - - primary - - - 63DE881F156DABE6006F2D3B - - primary - - - 63DE882D156DABEE006F2D3B - - primary - - - - - From eb76de785548355f9701c68baaa8576d83612b7e Mon Sep 17 00:00:00 2001 From: Andoni Morales Alastruey Date: Fri, 25 May 2012 14:58:10 +0200 Subject: [PATCH 034/979] Use absolute paths for xcconfig files --- xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj | 6 +++--- xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj b/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj index 6954038ba9..9e2eec8bad 100644 --- a/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj +++ b/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj @@ -145,9 +145,9 @@ 63DE8838156DAC09006F2D3B /* basic-tutorial-7.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-7.c"; path = "../gst-sdk/tutorials/basic-tutorial-7.c"; sourceTree = SOURCE_ROOT; }; 63DE883A156DAC0E006F2D3B /* basic-tutorial-8.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-8.c"; path = "../gst-sdk/tutorials/basic-tutorial-8.c"; sourceTree = SOURCE_ROOT; }; 63DE883C156DAC15006F2D3B /* basic-tutorial-9.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-9.c"; path = "../gst-sdk/tutorials/basic-tutorial-9.c"; sourceTree = SOURCE_ROOT; }; - 63DE8851156DAE94006F2D3B /* gstreamer-0.10-all.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-all.xcconfig"; path = "../../../../../../../System/Library/Frameworks/GStreamer.framework/Version/2012.5/x86/share/gst-sdk/xcode/gstreamer-0.10-all.xcconfig"; sourceTree = ""; }; - 63DE8852156DAE94006F2D3B /* gstreamer-0.10-gtk+-2.0.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-gtk+-2.0.xcconfig"; path = "../../../../../../../System/Library/Frameworks/GStreamer.framework/Version/2012.5/x86/share/gst-sdk/xcode/gstreamer-0.10-gtk+-2.0.xcconfig"; sourceTree = ""; }; - 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10.xcconfig"; path = "../../../../../../../System/Library/Frameworks/GStreamer.framework/Version/2012.5/x86/share/gst-sdk/xcode/gstreamer-0.10.xcconfig"; sourceTree = ""; }; + 63DE8851156DAE94006F2D3B /* gstreamer-0.10-all.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-all.xcconfig"; path = "/System/Library/Frameworks/GStreamer.framework/Version/2012.5/x86/share/xcode/gstreamer-0.10-all.xcconfig"; sourceTree = ""; }; + 63DE8852156DAE94006F2D3B /* gstreamer-0.10-gtk+-2.0.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-gtk+-2.0.xcconfig"; path = "/System/Library/Frameworks/GStreamer.framework/Version/2012.5/x86/share/xcode/gstreamer-0.10-gtk+-2.0.xcconfig"; sourceTree = ""; }; + 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10.xcconfig"; path = "/System/Library/Frameworks/GStreamer.framework/Version/2012.5/x86/share/xcode/gstreamer-0.10.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ diff --git a/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj b/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj index c86f8fde51..d7192b9d4a 100644 --- a/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj +++ b/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj @@ -124,7 +124,7 @@ /* Begin PBXFileReference section */ 63118C4D156D29530085CF03 /* basic-tutorial-2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-2.c"; path = "../gst-sdk/tutorials/basic-tutorial-2.c"; sourceTree = SOURCE_ROOT; }; - 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10.xcconfig"; path = "../../../../../../../../System/Library/Frameworks/GStreamer.framework/Version/2012.5/x86_64/share/gst-sdk/xcode/gstreamer-0.10.xcconfig"; sourceTree = ""; }; + 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10.xcconfig"; path = "/System/Library/Frameworks/GStreamer.framework/Version/2012.5/x86_64/share/xcode/gstreamer-0.10.xcconfig"; sourceTree = ""; }; 63118C54156D29DE0085CF03 /* Turorial 3 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Turorial 3"; sourceTree = BUILT_PRODUCTS_DIR; }; 63118C60156D2AA70085CF03 /* basic-tutorial-3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-3.c"; path = "../gst-sdk/tutorials/basic-tutorial-3.c"; sourceTree = SOURCE_ROOT; }; 63118C75156D2B970085CF03 /* Tutorial 4 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 4"; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -133,7 +133,7 @@ 63118C92156D2D630085CF03 /* basic-tutorial-1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-1.c"; path = "../gst-sdk/tutorials/basic-tutorial-1.c"; sourceTree = SOURCE_ROOT; }; 63118C98156D2E2F0085CF03 /* Tutorial 5 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 5"; sourceTree = BUILT_PRODUCTS_DIR; }; 63118CA2156D2E400085CF03 /* basic-tutorial-5.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; name = "basic-tutorial-5.c"; path = "../gst-sdk/tutorials/basic-tutorial-5.c"; sourceTree = SOURCE_ROOT; }; - 63118CA4156D2EAC0085CF03 /* gstreamer-0.10-gtk+-2.0.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-gtk+-2.0.xcconfig"; path = "../../../../../../../../System/Library/Frameworks/GStreamer.framework/Version/2012.5/x86_64/share/gst-sdk/xcode/gstreamer-0.10-gtk+-2.0.xcconfig"; sourceTree = ""; }; + 63118CA4156D2EAC0085CF03 /* gstreamer-0.10-gtk+-2.0.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-gtk+-2.0.xcconfig"; path = "/System/Library/Frameworks/GStreamer.framework/Version/2012.5/x86_64/share/xcode/gstreamer-0.10-gtk+-2.0.xcconfig"; sourceTree = ""; }; 63118CB9156D31240085CF03 /* Tutorial 2 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 2"; sourceTree = BUILT_PRODUCTS_DIR; }; 63118CC8156D32E20085CF03 /* Playback Tutorial 1 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Playback Tutorial 1"; sourceTree = BUILT_PRODUCTS_DIR; }; 63118CD2156D32FE0085CF03 /* playback-tutorial-1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-1.c"; path = "../gst-sdk/tutorials/playback-tutorial-1.c"; sourceTree = SOURCE_ROOT; }; @@ -147,7 +147,7 @@ 63DE8838156DAC09006F2D3B /* basic-tutorial-7.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-7.c"; path = "../gst-sdk/tutorials/basic-tutorial-7.c"; sourceTree = SOURCE_ROOT; }; 63DE883A156DAC0E006F2D3B /* basic-tutorial-8.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-8.c"; path = "../gst-sdk/tutorials/basic-tutorial-8.c"; sourceTree = SOURCE_ROOT; }; 63DE883C156DAC15006F2D3B /* basic-tutorial-9.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-9.c"; path = "../gst-sdk/tutorials/basic-tutorial-9.c"; sourceTree = SOURCE_ROOT; }; - 63DE8841156DACB3006F2D3B /* gstreamer-0.10-all.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-all.xcconfig"; path = "../../../../../../../System/Library/Frameworks/GStreamer.framework/Version/2012.5/x86_64/share/gst-sdk/xcode/gstreamer-0.10-all.xcconfig"; sourceTree = ""; }; + 63DE8841156DACB3006F2D3B /* gstreamer-0.10-all.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-all.xcconfig"; path = "/System/Library/Frameworks/GStreamer.framework/Version/2012.5/x86_64/share/xcode/gstreamer-0.10-all.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ From 4ed25091659770c23416fea12564bdd183dcf0a9 Mon Sep 17 00:00:00 2001 From: Josep Torra Date: Wed, 30 May 2012 18:10:39 +0200 Subject: [PATCH 035/979] xcode: use new install path in /Library --- xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj | 6 +++--- xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj b/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj index 9e2eec8bad..22c46efc60 100644 --- a/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj +++ b/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj @@ -145,9 +145,9 @@ 63DE8838156DAC09006F2D3B /* basic-tutorial-7.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-7.c"; path = "../gst-sdk/tutorials/basic-tutorial-7.c"; sourceTree = SOURCE_ROOT; }; 63DE883A156DAC0E006F2D3B /* basic-tutorial-8.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-8.c"; path = "../gst-sdk/tutorials/basic-tutorial-8.c"; sourceTree = SOURCE_ROOT; }; 63DE883C156DAC15006F2D3B /* basic-tutorial-9.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-9.c"; path = "../gst-sdk/tutorials/basic-tutorial-9.c"; sourceTree = SOURCE_ROOT; }; - 63DE8851156DAE94006F2D3B /* gstreamer-0.10-all.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-all.xcconfig"; path = "/System/Library/Frameworks/GStreamer.framework/Version/2012.5/x86/share/xcode/gstreamer-0.10-all.xcconfig"; sourceTree = ""; }; - 63DE8852156DAE94006F2D3B /* gstreamer-0.10-gtk+-2.0.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-gtk+-2.0.xcconfig"; path = "/System/Library/Frameworks/GStreamer.framework/Version/2012.5/x86/share/xcode/gstreamer-0.10-gtk+-2.0.xcconfig"; sourceTree = ""; }; - 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10.xcconfig"; path = "/System/Library/Frameworks/GStreamer.framework/Version/2012.5/x86/share/xcode/gstreamer-0.10.xcconfig"; sourceTree = ""; }; + 63DE8851156DAE94006F2D3B /* gstreamer-0.10-all.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-all.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Version/2012.5/x86/share/xcode/gstreamer-0.10-all.xcconfig"; sourceTree = ""; }; + 63DE8852156DAE94006F2D3B /* gstreamer-0.10-gtk+-2.0.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-gtk+-2.0.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Version/2012.5/x86/share/xcode/gstreamer-0.10-gtk+-2.0.xcconfig"; sourceTree = ""; }; + 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Version/2012.5/x86/share/xcode/gstreamer-0.10.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ diff --git a/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj b/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj index d7192b9d4a..20bea0b0cc 100644 --- a/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj +++ b/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj @@ -124,7 +124,7 @@ /* Begin PBXFileReference section */ 63118C4D156D29530085CF03 /* basic-tutorial-2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-2.c"; path = "../gst-sdk/tutorials/basic-tutorial-2.c"; sourceTree = SOURCE_ROOT; }; - 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10.xcconfig"; path = "/System/Library/Frameworks/GStreamer.framework/Version/2012.5/x86_64/share/xcode/gstreamer-0.10.xcconfig"; sourceTree = ""; }; + 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Version/2012.5/x86_64/share/xcode/gstreamer-0.10.xcconfig"; sourceTree = ""; }; 63118C54156D29DE0085CF03 /* Turorial 3 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Turorial 3"; sourceTree = BUILT_PRODUCTS_DIR; }; 63118C60156D2AA70085CF03 /* basic-tutorial-3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-3.c"; path = "../gst-sdk/tutorials/basic-tutorial-3.c"; sourceTree = SOURCE_ROOT; }; 63118C75156D2B970085CF03 /* Tutorial 4 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 4"; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -133,7 +133,7 @@ 63118C92156D2D630085CF03 /* basic-tutorial-1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-1.c"; path = "../gst-sdk/tutorials/basic-tutorial-1.c"; sourceTree = SOURCE_ROOT; }; 63118C98156D2E2F0085CF03 /* Tutorial 5 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 5"; sourceTree = BUILT_PRODUCTS_DIR; }; 63118CA2156D2E400085CF03 /* basic-tutorial-5.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; name = "basic-tutorial-5.c"; path = "../gst-sdk/tutorials/basic-tutorial-5.c"; sourceTree = SOURCE_ROOT; }; - 63118CA4156D2EAC0085CF03 /* gstreamer-0.10-gtk+-2.0.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-gtk+-2.0.xcconfig"; path = "/System/Library/Frameworks/GStreamer.framework/Version/2012.5/x86_64/share/xcode/gstreamer-0.10-gtk+-2.0.xcconfig"; sourceTree = ""; }; + 63118CA4156D2EAC0085CF03 /* gstreamer-0.10-gtk+-2.0.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-gtk+-2.0.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Version/2012.5/x86_64/share/xcode/gstreamer-0.10-gtk+-2.0.xcconfig"; sourceTree = ""; }; 63118CB9156D31240085CF03 /* Tutorial 2 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 2"; sourceTree = BUILT_PRODUCTS_DIR; }; 63118CC8156D32E20085CF03 /* Playback Tutorial 1 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Playback Tutorial 1"; sourceTree = BUILT_PRODUCTS_DIR; }; 63118CD2156D32FE0085CF03 /* playback-tutorial-1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-1.c"; path = "../gst-sdk/tutorials/playback-tutorial-1.c"; sourceTree = SOURCE_ROOT; }; @@ -147,7 +147,7 @@ 63DE8838156DAC09006F2D3B /* basic-tutorial-7.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-7.c"; path = "../gst-sdk/tutorials/basic-tutorial-7.c"; sourceTree = SOURCE_ROOT; }; 63DE883A156DAC0E006F2D3B /* basic-tutorial-8.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-8.c"; path = "../gst-sdk/tutorials/basic-tutorial-8.c"; sourceTree = SOURCE_ROOT; }; 63DE883C156DAC15006F2D3B /* basic-tutorial-9.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-9.c"; path = "../gst-sdk/tutorials/basic-tutorial-9.c"; sourceTree = SOURCE_ROOT; }; - 63DE8841156DACB3006F2D3B /* gstreamer-0.10-all.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-all.xcconfig"; path = "/System/Library/Frameworks/GStreamer.framework/Version/2012.5/x86_64/share/xcode/gstreamer-0.10-all.xcconfig"; sourceTree = ""; }; + 63DE8841156DACB3006F2D3B /* gstreamer-0.10-all.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-all.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Version/2012.5/x86_64/share/xcode/gstreamer-0.10-all.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ From 16e5b36a1b91d7886df23bec5223b9425c7f339d Mon Sep 17 00:00:00 2001 From: Andoni Morales Alastruey Date: Mon, 4 Jun 2012 11:20:32 +0200 Subject: [PATCH 036/979] remove link with gstcodecparsers --- xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj | 2 -- xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj | 2 -- 2 files changed, 4 deletions(-) diff --git a/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj b/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj index 22c46efc60..91ad3804c7 100644 --- a/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj +++ b/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj @@ -786,7 +786,6 @@ "-lgstvideo-0.10", "-lgstriff-0.10", "-lgstcheck-0.10", - "-lgstcodecparsers-0.10", "-lgstaudio-0.10", "-lgstcontroller-0.10", "-lgstdataprotocol-0.10", @@ -834,7 +833,6 @@ "-lgstvideo-0.10", "-lgstriff-0.10", "-lgstcheck-0.10", - "-lgstcodecparsers-0.10", "-lgstaudio-0.10", "-lgstcontroller-0.10", "-lgstdataprotocol-0.10", diff --git a/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj b/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj index 20bea0b0cc..c8bf371f4f 100644 --- a/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj +++ b/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj @@ -788,7 +788,6 @@ "-lgstvideo-0.10", "-lgstriff-0.10", "-lgstcheck-0.10", - "-lgstcodecparsers-0.10", "-lgstaudio-0.10", "-lgstcontroller-0.10", "-lgstdataprotocol-0.10", @@ -836,7 +835,6 @@ "-lgstvideo-0.10", "-lgstriff-0.10", "-lgstcheck-0.10", - "-lgstcodecparsers-0.10", "-lgstaudio-0.10", "-lgstcontroller-0.10", "-lgstdataprotocol-0.10", From e0c162a0e7847b106c0126b356a9281f3abf95b3 Mon Sep 17 00:00:00 2001 From: Andoni Morales Alastruey Date: Mon, 4 Jun 2012 19:22:57 +0200 Subject: [PATCH 037/979] Move xcode tutorials under gst-sdk/tutorials/xcode --- .../project.pbxproj | 30 ++--- .../contents.xcworkspacedata | 0 .../project.pbxproj | 113 +++++++++++++++--- .../contents.xcworkspacedata | 0 4 files changed, 107 insertions(+), 36 deletions(-) rename {xcode => gst-sdk/tutorials/xcode}/GStreamer Tutorials x86.xcodeproj/project.pbxproj (96%) rename {xcode => gst-sdk/tutorials/xcode}/GStreamer Tutorials x86.xcodeproj/project.xcworkspace/contents.xcworkspacedata (100%) rename {xcode => gst-sdk/tutorials/xcode}/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj (92%) rename {xcode => gst-sdk/tutorials/xcode}/GStreamer Tutorials x86_64.xcodeproj/project.xcworkspace/contents.xcworkspacedata (100%) diff --git a/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj b/gst-sdk/tutorials/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj similarity index 96% rename from xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj rename to gst-sdk/tutorials/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj index 91ad3804c7..f533292f0e 100644 --- a/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj @@ -123,28 +123,28 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 63118C4D156D29530085CF03 /* basic-tutorial-2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-2.c"; path = "../gst-sdk/tutorials/basic-tutorial-2.c"; sourceTree = SOURCE_ROOT; }; + 63118C4D156D29530085CF03 /* basic-tutorial-2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-2.c"; path = "../basic-tutorial-2.c"; sourceTree = SOURCE_ROOT; }; 63118C54156D29DE0085CF03 /* Turorial 3 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Turorial 3"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118C60156D2AA70085CF03 /* basic-tutorial-3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-3.c"; path = "../gst-sdk/tutorials/basic-tutorial-3.c"; sourceTree = SOURCE_ROOT; }; + 63118C60156D2AA70085CF03 /* basic-tutorial-3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-3.c"; path = "../basic-tutorial-3.c"; sourceTree = SOURCE_ROOT; }; 63118C75156D2B970085CF03 /* Tutorial 4 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 4"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118C7F156D2BA30085CF03 /* basic-tutorial-4.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-4.c"; path = "../gst-sdk/tutorials/basic-tutorial-4.c"; sourceTree = SOURCE_ROOT; }; + 63118C7F156D2BA30085CF03 /* basic-tutorial-4.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-4.c"; path = "../basic-tutorial-4.c"; sourceTree = SOURCE_ROOT; }; 63118C88156D2D190085CF03 /* Tutorial 1 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 1"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118C92156D2D630085CF03 /* basic-tutorial-1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-1.c"; path = "../gst-sdk/tutorials/basic-tutorial-1.c"; sourceTree = SOURCE_ROOT; }; + 63118C92156D2D630085CF03 /* basic-tutorial-1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-1.c"; path = "../basic-tutorial-1.c"; sourceTree = SOURCE_ROOT; }; 63118C98156D2E2F0085CF03 /* Tutorial 5 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 5"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118CA2156D2E400085CF03 /* basic-tutorial-5.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; name = "basic-tutorial-5.c"; path = "../gst-sdk/tutorials/basic-tutorial-5.c"; sourceTree = SOURCE_ROOT; }; + 63118CA2156D2E400085CF03 /* basic-tutorial-5.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; name = "basic-tutorial-5.c"; path = "../basic-tutorial-5.c"; sourceTree = SOURCE_ROOT; }; 63118CB9156D31240085CF03 /* Tutorial 2 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 2"; sourceTree = BUILT_PRODUCTS_DIR; }; 63118CC8156D32E20085CF03 /* Playback Tutorial 1 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Playback Tutorial 1"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118CD2156D32FE0085CF03 /* playback-tutorial-1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-1.c"; path = "../gst-sdk/tutorials/playback-tutorial-1.c"; sourceTree = SOURCE_ROOT; }; + 63118CD2156D32FE0085CF03 /* playback-tutorial-1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-1.c"; path = "../playback-tutorial-1.c"; sourceTree = SOURCE_ROOT; }; 63118CD9156D34BA0085CF03 /* Playback Tutorial 2 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Playback Tutorial 2"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118CE3156D35390085CF03 /* playback-tutorial-2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-2.c"; path = "../gst-sdk/tutorials/playback-tutorial-2.c"; sourceTree = SOURCE_ROOT; }; + 63118CE3156D35390085CF03 /* playback-tutorial-2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-2.c"; path = "../playback-tutorial-2.c"; sourceTree = SOURCE_ROOT; }; 63118CEA156D3A870085CF03 /* Tutorial 6 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 6"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118CF4156D3AB60085CF03 /* basic-tutorial-6.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-6.c"; path = "../gst-sdk/tutorials/basic-tutorial-6.c"; sourceTree = SOURCE_ROOT; }; + 63118CF4156D3AB60085CF03 /* basic-tutorial-6.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-6.c"; path = "../basic-tutorial-6.c"; sourceTree = SOURCE_ROOT; }; 63DE8812156DABDF006F2D3B /* Tutorial 7 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 7"; sourceTree = BUILT_PRODUCTS_DIR; }; 63DE8820156DABE6006F2D3B /* Tutorial 8 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 8"; sourceTree = BUILT_PRODUCTS_DIR; }; 63DE882E156DABEE006F2D3B /* Tutorial 9 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 9"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63DE8838156DAC09006F2D3B /* basic-tutorial-7.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-7.c"; path = "../gst-sdk/tutorials/basic-tutorial-7.c"; sourceTree = SOURCE_ROOT; }; - 63DE883A156DAC0E006F2D3B /* basic-tutorial-8.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-8.c"; path = "../gst-sdk/tutorials/basic-tutorial-8.c"; sourceTree = SOURCE_ROOT; }; - 63DE883C156DAC15006F2D3B /* basic-tutorial-9.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-9.c"; path = "../gst-sdk/tutorials/basic-tutorial-9.c"; sourceTree = SOURCE_ROOT; }; + 63DE8838156DAC09006F2D3B /* basic-tutorial-7.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-7.c"; path = "../basic-tutorial-7.c"; sourceTree = SOURCE_ROOT; }; + 63DE883A156DAC0E006F2D3B /* basic-tutorial-8.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-8.c"; path = "../basic-tutorial-8.c"; sourceTree = SOURCE_ROOT; }; + 63DE883C156DAC15006F2D3B /* basic-tutorial-9.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-9.c"; path = "../basic-tutorial-9.c"; sourceTree = SOURCE_ROOT; }; 63DE8851156DAE94006F2D3B /* gstreamer-0.10-all.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-all.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Version/2012.5/x86/share/xcode/gstreamer-0.10-all.xcconfig"; sourceTree = ""; }; 63DE8852156DAE94006F2D3B /* gstreamer-0.10-gtk+-2.0.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-gtk+-2.0.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Version/2012.5/x86/share/xcode/gstreamer-0.10-gtk+-2.0.xcconfig"; sourceTree = ""; }; 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Version/2012.5/x86/share/xcode/gstreamer-0.10.xcconfig"; sourceTree = ""; }; @@ -243,11 +243,11 @@ 63118C77156D2B970085CF03 /* Tutorial 4 */, 63118C9A156D2E2F0085CF03 /* Tutorial 5 */, 63118CEC156D3A870085CF03 /* Tutorial 6 */, - 63118CCA156D32E20085CF03 /* Playback Tutorial 1 */, - 63118CDB156D34BA0085CF03 /* Playback Tutorial 2 */, 63DE8814156DABDF006F2D3B /* Tutorial 7 */, 63DE8822156DABE6006F2D3B /* Tutorial 8 */, 63DE8830156DABEE006F2D3B /* Tutorial 9 */, + 63118CCA156D32E20085CF03 /* Playback Tutorial 1 */, + 63118CDB156D34BA0085CF03 /* Playback Tutorial 2 */, 63118C41156D29340085CF03 /* Products */, ); sourceTree = ""; @@ -791,9 +791,7 @@ "-lgstdataprotocol-0.10", "-lgstrtp-0.10", "-lgstinterfaces-0.10", - "-lgstbasevideo-0.10", "-lgstnet-0.10", - "-lgstphotography-0.10", "-lgstcdda-0.10", "-lgsttag-0.10", "-lgstapp-0.10", @@ -838,9 +836,7 @@ "-lgstdataprotocol-0.10", "-lgstrtp-0.10", "-lgstinterfaces-0.10", - "-lgstbasevideo-0.10", "-lgstnet-0.10", - "-lgstphotography-0.10", "-lgstcdda-0.10", "-lgsttag-0.10", "-lgstapp-0.10", diff --git a/xcode/GStreamer Tutorials x86.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/gst-sdk/tutorials/xcode/GStreamer Tutorials x86.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from xcode/GStreamer Tutorials x86.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to gst-sdk/tutorials/xcode/GStreamer Tutorials x86.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj b/gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj similarity index 92% rename from xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj rename to gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj index c8bf371f4f..348cd04fbf 100644 --- a/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj @@ -123,30 +123,30 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 63118C4D156D29530085CF03 /* basic-tutorial-2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-2.c"; path = "../gst-sdk/tutorials/basic-tutorial-2.c"; sourceTree = SOURCE_ROOT; }; + 63118C4D156D29530085CF03 /* basic-tutorial-2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-2.c"; path = "../basic-tutorial-2.c"; sourceTree = SOURCE_ROOT; }; 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Version/2012.5/x86_64/share/xcode/gstreamer-0.10.xcconfig"; sourceTree = ""; }; 63118C54156D29DE0085CF03 /* Turorial 3 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Turorial 3"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118C60156D2AA70085CF03 /* basic-tutorial-3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-3.c"; path = "../gst-sdk/tutorials/basic-tutorial-3.c"; sourceTree = SOURCE_ROOT; }; + 63118C60156D2AA70085CF03 /* basic-tutorial-3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-3.c"; path = "../basic-tutorial-3.c"; sourceTree = SOURCE_ROOT; }; 63118C75156D2B970085CF03 /* Tutorial 4 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 4"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118C7F156D2BA30085CF03 /* basic-tutorial-4.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-4.c"; path = "../gst-sdk/tutorials/basic-tutorial-4.c"; sourceTree = SOURCE_ROOT; }; + 63118C7F156D2BA30085CF03 /* basic-tutorial-4.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-4.c"; path = "../basic-tutorial-4.c"; sourceTree = SOURCE_ROOT; }; 63118C88156D2D190085CF03 /* Tutorial 1 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 1"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118C92156D2D630085CF03 /* basic-tutorial-1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-1.c"; path = "../gst-sdk/tutorials/basic-tutorial-1.c"; sourceTree = SOURCE_ROOT; }; + 63118C92156D2D630085CF03 /* basic-tutorial-1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-1.c"; path = "../basic-tutorial-1.c"; sourceTree = SOURCE_ROOT; }; 63118C98156D2E2F0085CF03 /* Tutorial 5 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 5"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118CA2156D2E400085CF03 /* basic-tutorial-5.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; name = "basic-tutorial-5.c"; path = "../gst-sdk/tutorials/basic-tutorial-5.c"; sourceTree = SOURCE_ROOT; }; + 63118CA2156D2E400085CF03 /* basic-tutorial-5.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; name = "basic-tutorial-5.c"; path = "../basic-tutorial-5.c"; sourceTree = SOURCE_ROOT; }; 63118CA4156D2EAC0085CF03 /* gstreamer-0.10-gtk+-2.0.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-gtk+-2.0.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Version/2012.5/x86_64/share/xcode/gstreamer-0.10-gtk+-2.0.xcconfig"; sourceTree = ""; }; 63118CB9156D31240085CF03 /* Tutorial 2 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 2"; sourceTree = BUILT_PRODUCTS_DIR; }; 63118CC8156D32E20085CF03 /* Playback Tutorial 1 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Playback Tutorial 1"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118CD2156D32FE0085CF03 /* playback-tutorial-1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-1.c"; path = "../gst-sdk/tutorials/playback-tutorial-1.c"; sourceTree = SOURCE_ROOT; }; + 63118CD2156D32FE0085CF03 /* playback-tutorial-1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-1.c"; path = "../playback-tutorial-1.c"; sourceTree = SOURCE_ROOT; }; 63118CD9156D34BA0085CF03 /* Playback Tutorial 2 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Playback Tutorial 2"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118CE3156D35390085CF03 /* playback-tutorial-2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-2.c"; path = "../gst-sdk/tutorials/playback-tutorial-2.c"; sourceTree = SOURCE_ROOT; }; + 63118CE3156D35390085CF03 /* playback-tutorial-2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-2.c"; path = "../playback-tutorial-2.c"; sourceTree = SOURCE_ROOT; }; 63118CEA156D3A870085CF03 /* Tutorial 6 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 6"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118CF4156D3AB60085CF03 /* basic-tutorial-6.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-6.c"; path = "../gst-sdk/tutorials/basic-tutorial-6.c"; sourceTree = SOURCE_ROOT; }; + 63118CF4156D3AB60085CF03 /* basic-tutorial-6.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-6.c"; path = "../basic-tutorial-6.c"; sourceTree = SOURCE_ROOT; }; 63DE8812156DABDF006F2D3B /* Tutorial 7 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 7"; sourceTree = BUILT_PRODUCTS_DIR; }; 63DE8820156DABE6006F2D3B /* Tutorial 8 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 8"; sourceTree = BUILT_PRODUCTS_DIR; }; 63DE882E156DABEE006F2D3B /* Tutorial 9 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 9"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63DE8838156DAC09006F2D3B /* basic-tutorial-7.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-7.c"; path = "../gst-sdk/tutorials/basic-tutorial-7.c"; sourceTree = SOURCE_ROOT; }; - 63DE883A156DAC0E006F2D3B /* basic-tutorial-8.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-8.c"; path = "../gst-sdk/tutorials/basic-tutorial-8.c"; sourceTree = SOURCE_ROOT; }; - 63DE883C156DAC15006F2D3B /* basic-tutorial-9.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-9.c"; path = "../gst-sdk/tutorials/basic-tutorial-9.c"; sourceTree = SOURCE_ROOT; }; + 63DE8838156DAC09006F2D3B /* basic-tutorial-7.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-7.c"; path = "../basic-tutorial-7.c"; sourceTree = SOURCE_ROOT; }; + 63DE883A156DAC0E006F2D3B /* basic-tutorial-8.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-8.c"; path = "../basic-tutorial-8.c"; sourceTree = SOURCE_ROOT; }; + 63DE883C156DAC15006F2D3B /* basic-tutorial-9.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-9.c"; path = "../basic-tutorial-9.c"; sourceTree = SOURCE_ROOT; }; 63DE8841156DACB3006F2D3B /* gstreamer-0.10-all.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-all.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Version/2012.5/x86_64/share/xcode/gstreamer-0.10-all.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ @@ -243,11 +243,11 @@ 63118C77156D2B970085CF03 /* Tutorial 4 */, 63118C9A156D2E2F0085CF03 /* Tutorial 5 */, 63118CEC156D3A870085CF03 /* Tutorial 6 */, - 63118CCA156D32E20085CF03 /* Playback Tutorial 1 */, - 63118CDB156D34BA0085CF03 /* Playback Tutorial 2 */, 63DE8814156DABDF006F2D3B /* Tutorial 7 */, 63DE8822156DABE6006F2D3B /* Tutorial 8 */, 63DE8830156DABEE006F2D3B /* Tutorial 9 */, + 63118CCA156D32E20085CF03 /* Playback Tutorial 1 */, + 63118CDB156D34BA0085CF03 /* Playback Tutorial 2 */, 63118C41156D29340085CF03 /* Products */, ); sourceTree = ""; @@ -558,7 +558,7 @@ attributes = { LastUpgradeCheck = 0420; }; - buildConfigurationList = 63118C3A156D29340085CF03 /* Build configuration list for PBXProject "GStreamer Tutorials" */; + buildConfigurationList = 63118C3A156D29340085CF03 /* Build configuration list for PBXProject "GStreamer Tutorials x86_64" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = English; hasScannedForEncodings = 0; @@ -793,7 +793,44 @@ "-lgstdataprotocol-0.10", "-lgstrtp-0.10", "-lgstinterfaces-0.10", - "-lgstbasevideo-0.10", + "-lgstnet-0.10", + "-lgstcdda-0.10", + "-lgsttag-0.10", + "-lgstapp-0.10", + "-lgstrtsp-0.10", + "-lgstsdp-0.10", + "-lgstbase-0.10", + "-lgstfft-0.10", + "-lgstreamer-0.10", + "-lgthread-2.0", + "-lxml2", + "-lgtk-quartz-2.0", + "-lgdk-quartz-2.0", + "-latk-1.0", + "-lgio-2.0", + "-lpangocairo-1.0", + "-lgdk_pixbuf-2.0", + "-lpango-1.0", + "-lcairo", + "-lgmodule-2.0", + "-lgobject-2.0", + "-lglib-2.0", + "-lintl", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + WARNING_LDFLAGS = ( + "-framework", + Cocoa, + "-lgstpbutils-0.10", + "-lgstnetbuffer-0.10", + "-lgstvideo-0.10", + "-lgstriff-0.10", + "-lgstcheck-0.10", + "-lgstaudio-0.10", + "-lgstcontroller-0.10", + "-lgstdataprotocol-0.10", + "-lgstrtp-0.10", + "-lgstinterfaces-0.10", "-lgstnet-0.10", "-lgstphotography-0.10", "-lgstcdda-0.10", @@ -819,7 +856,6 @@ "-lglib-2.0", "-lintl", ); - PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Debug; }; @@ -840,7 +876,44 @@ "-lgstdataprotocol-0.10", "-lgstrtp-0.10", "-lgstinterfaces-0.10", - "-lgstbasevideo-0.10", + "-lgstnet-0.10", + "-lgstcdda-0.10", + "-lgsttag-0.10", + "-lgstapp-0.10", + "-lgstrtsp-0.10", + "-lgstsdp-0.10", + "-lgstbase-0.10", + "-lgstfft-0.10", + "-lgstreamer-0.10", + "-lgthread-2.0", + "-lxml2", + "-lgtk-quartz-2.0", + "-lgdk-quartz-2.0", + "-latk-1.0", + "-lgio-2.0", + "-lpangocairo-1.0", + "-lgdk_pixbuf-2.0", + "-lpango-1.0", + "-lcairo", + "-lgmodule-2.0", + "-lgobject-2.0", + "-lglib-2.0", + "-lintl", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + WARNING_LDFLAGS = ( + "-framework", + Cocoa, + "-lgstpbutils-0.10", + "-lgstnetbuffer-0.10", + "-lgstvideo-0.10", + "-lgstriff-0.10", + "-lgstcheck-0.10", + "-lgstaudio-0.10", + "-lgstcontroller-0.10", + "-lgstdataprotocol-0.10", + "-lgstrtp-0.10", + "-lgstinterfaces-0.10", "-lgstnet-0.10", "-lgstphotography-0.10", "-lgstcdda-0.10", @@ -866,7 +939,6 @@ "-lglib-2.0", "-lintl", ); - PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Release; }; @@ -991,7 +1063,7 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 63118C3A156D29340085CF03 /* Build configuration list for PBXProject "GStreamer Tutorials" */ = { + 63118C3A156D29340085CF03 /* Build configuration list for PBXProject "GStreamer Tutorials x86_64" */ = { isa = XCConfigurationList; buildConfigurations = ( 63118C48156D29340085CF03 /* Debug */, @@ -1079,6 +1151,7 @@ 63DE881B156DABDF006F2D3B /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; 63DE8827156DABE7006F2D3B /* Build configuration list for PBXNativeTarget "Tutorial 8" */ = { isa = XCConfigurationList; @@ -1087,6 +1160,7 @@ 63DE8829156DABE7006F2D3B /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; 63DE8835156DABEE006F2D3B /* Build configuration list for PBXNativeTarget "Tutorial 9" */ = { isa = XCConfigurationList; @@ -1095,6 +1169,7 @@ 63DE8837156DABEE006F2D3B /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; diff --git a/xcode/GStreamer Tutorials x86_64.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from xcode/GStreamer Tutorials x86_64.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.xcworkspace/contents.xcworkspacedata From dac018ac0bcf42cd7a9c1879062f200915de6670 Mon Sep 17 00:00:00 2001 From: Thiago Santos Date: Tue, 5 Jun 2012 15:40:34 -0300 Subject: [PATCH 038/979] xcode: fix typo in project folder --- .../xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj | 6 +++--- .../GStreamer Tutorials x86_64.xcodeproj/project.pbxproj | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj b/gst-sdk/tutorials/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj index f533292f0e..7831e746f0 100644 --- a/gst-sdk/tutorials/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj @@ -239,7 +239,7 @@ 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */, 63118C8A156D2D190085CF03 /* Tutorial 1 */, 63118C43156D29340085CF03 /* Tutorial 2 */, - 63118C56156D29DE0085CF03 /* Turorial 3 */, + 63118C56156D29DE0085CF03 /* Tutorial 3 */, 63118C77156D2B970085CF03 /* Tutorial 4 */, 63118C9A156D2E2F0085CF03 /* Tutorial 5 */, 63118CEC156D3A870085CF03 /* Tutorial 6 */, @@ -279,12 +279,12 @@ path = "GStreamer Tutorials"; sourceTree = SOURCE_ROOT; }; - 63118C56156D29DE0085CF03 /* Turorial 3 */ = { + 63118C56156D29DE0085CF03 /* Tutorial 3 */ = { isa = PBXGroup; children = ( 63118C60156D2AA70085CF03 /* basic-tutorial-3.c */, ); - name = "Turorial 3"; + name = "Tutorial 3"; path = Turorial3; sourceTree = SOURCE_ROOT; }; diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj b/gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj index 348cd04fbf..bbaca7601f 100644 --- a/gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj @@ -239,7 +239,7 @@ 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */, 63118C8A156D2D190085CF03 /* Tutorial 1 */, 63118C43156D29340085CF03 /* Tutorial 2 */, - 63118C56156D29DE0085CF03 /* Turorial 3 */, + 63118C56156D29DE0085CF03 /* Tutorial 3 */, 63118C77156D2B970085CF03 /* Tutorial 4 */, 63118C9A156D2E2F0085CF03 /* Tutorial 5 */, 63118CEC156D3A870085CF03 /* Tutorial 6 */, @@ -279,12 +279,12 @@ path = "GStreamer Tutorials"; sourceTree = SOURCE_ROOT; }; - 63118C56156D29DE0085CF03 /* Turorial 3 */ = { + 63118C56156D29DE0085CF03 /* Tutorial 3 */ = { isa = PBXGroup; children = ( 63118C60156D2AA70085CF03 /* basic-tutorial-3.c */, ); - name = "Turorial 3"; + name = "Tutorial 3"; path = Turorial3; sourceTree = SOURCE_ROOT; }; From 8228ae72bebd5cbb0ff342eb512833907dcb1779 Mon Sep 17 00:00:00 2001 From: Andoni Morales Alastruey Date: Wed, 6 Jun 2012 15:10:38 +0200 Subject: [PATCH 039/979] xcode: change deployment target to 10.6 --- .../xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj | 4 ++-- .../GStreamer Tutorials x86_64.xcodeproj/project.pbxproj | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj b/gst-sdk/tutorials/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj index 7831e746f0..d1d7281344 100644 --- a/gst-sdk/tutorials/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj @@ -698,7 +698,7 @@ GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.7; + MACOSX_DEPLOYMENT_TARGET = 10.6; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx10.7; VALID_ARCHS = i386; @@ -720,7 +720,7 @@ GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.7; + MACOSX_DEPLOYMENT_TARGET = 10.6; SDKROOT = macosx10.7; VALID_ARCHS = i386; }; diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj b/gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj index bbaca7601f..6b8f242e7b 100644 --- a/gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj @@ -699,7 +699,7 @@ GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.7; + MACOSX_DEPLOYMENT_TARGET = 10.6; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; VALID_ARCHS = x86_64; @@ -722,7 +722,7 @@ GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.7; + MACOSX_DEPLOYMENT_TARGET = 10.6; SDKROOT = macosx; VALID_ARCHS = x86_64; }; From 84dacefa56158ef62f5e51cb6b39ea077e5df6b1 Mon Sep 17 00:00:00 2001 From: Andoni Morales Alastruey Date: Wed, 6 Jun 2012 15:10:38 +0200 Subject: [PATCH 040/979] xcode: change deployment target to 10.6 --- .../xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj | 4 ++-- .../GStreamer Tutorials x86_64.xcodeproj/project.pbxproj | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj b/gst-sdk/tutorials/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj index 7831e746f0..d1d7281344 100644 --- a/gst-sdk/tutorials/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj @@ -698,7 +698,7 @@ GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.7; + MACOSX_DEPLOYMENT_TARGET = 10.6; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx10.7; VALID_ARCHS = i386; @@ -720,7 +720,7 @@ GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.7; + MACOSX_DEPLOYMENT_TARGET = 10.6; SDKROOT = macosx10.7; VALID_ARCHS = i386; }; diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj b/gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj index bbaca7601f..6b8f242e7b 100644 --- a/gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj @@ -699,7 +699,7 @@ GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.7; + MACOSX_DEPLOYMENT_TARGET = 10.6; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; VALID_ARCHS = x86_64; @@ -722,7 +722,7 @@ GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.7; + MACOSX_DEPLOYMENT_TARGET = 10.6; SDKROOT = macosx; VALID_ARCHS = x86_64; }; From 0ccd90d99a6d91e39caf28867ec305d77b62cf7a Mon Sep 17 00:00:00 2001 From: Andoni Morales Alastruey Date: Thu, 7 Jun 2012 02:55:14 +0200 Subject: [PATCH 041/979] Use the renamed 'Versions' directory --- .../xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj | 6 +++--- .../GStreamer Tutorials x86_64.xcodeproj/project.pbxproj | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj b/gst-sdk/tutorials/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj index d1d7281344..cc362754db 100644 --- a/gst-sdk/tutorials/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj @@ -145,9 +145,9 @@ 63DE8838156DAC09006F2D3B /* basic-tutorial-7.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-7.c"; path = "../basic-tutorial-7.c"; sourceTree = SOURCE_ROOT; }; 63DE883A156DAC0E006F2D3B /* basic-tutorial-8.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-8.c"; path = "../basic-tutorial-8.c"; sourceTree = SOURCE_ROOT; }; 63DE883C156DAC15006F2D3B /* basic-tutorial-9.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-9.c"; path = "../basic-tutorial-9.c"; sourceTree = SOURCE_ROOT; }; - 63DE8851156DAE94006F2D3B /* gstreamer-0.10-all.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-all.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Version/2012.5/x86/share/xcode/gstreamer-0.10-all.xcconfig"; sourceTree = ""; }; - 63DE8852156DAE94006F2D3B /* gstreamer-0.10-gtk+-2.0.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-gtk+-2.0.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Version/2012.5/x86/share/xcode/gstreamer-0.10-gtk+-2.0.xcconfig"; sourceTree = ""; }; - 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Version/2012.5/x86/share/xcode/gstreamer-0.10.xcconfig"; sourceTree = ""; }; + 63DE8851156DAE94006F2D3B /* gstreamer-0.10-all.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-all.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Versions/2012.5/x86/share/xcode/gstreamer-0.10-all.xcconfig"; sourceTree = ""; }; + 63DE8852156DAE94006F2D3B /* gstreamer-0.10-gtk+-2.0.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-gtk+-2.0.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Versions/2012.5/x86/share/xcode/gstreamer-0.10-gtk+-2.0.xcconfig"; sourceTree = ""; }; + 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Versions/2012.5/x86/share/xcode/gstreamer-0.10.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj b/gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj index 6b8f242e7b..8fcc1e7bd8 100644 --- a/gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj @@ -124,7 +124,7 @@ /* Begin PBXFileReference section */ 63118C4D156D29530085CF03 /* basic-tutorial-2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-2.c"; path = "../basic-tutorial-2.c"; sourceTree = SOURCE_ROOT; }; - 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Version/2012.5/x86_64/share/xcode/gstreamer-0.10.xcconfig"; sourceTree = ""; }; + 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Versions/2012.5/x86_64/share/xcode/gstreamer-0.10.xcconfig"; sourceTree = ""; }; 63118C54156D29DE0085CF03 /* Turorial 3 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Turorial 3"; sourceTree = BUILT_PRODUCTS_DIR; }; 63118C60156D2AA70085CF03 /* basic-tutorial-3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-3.c"; path = "../basic-tutorial-3.c"; sourceTree = SOURCE_ROOT; }; 63118C75156D2B970085CF03 /* Tutorial 4 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 4"; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -133,7 +133,7 @@ 63118C92156D2D630085CF03 /* basic-tutorial-1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-1.c"; path = "../basic-tutorial-1.c"; sourceTree = SOURCE_ROOT; }; 63118C98156D2E2F0085CF03 /* Tutorial 5 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 5"; sourceTree = BUILT_PRODUCTS_DIR; }; 63118CA2156D2E400085CF03 /* basic-tutorial-5.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; name = "basic-tutorial-5.c"; path = "../basic-tutorial-5.c"; sourceTree = SOURCE_ROOT; }; - 63118CA4156D2EAC0085CF03 /* gstreamer-0.10-gtk+-2.0.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-gtk+-2.0.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Version/2012.5/x86_64/share/xcode/gstreamer-0.10-gtk+-2.0.xcconfig"; sourceTree = ""; }; + 63118CA4156D2EAC0085CF03 /* gstreamer-0.10-gtk+-2.0.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-gtk+-2.0.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Versions/2012.5/x86_64/share/xcode/gstreamer-0.10-gtk+-2.0.xcconfig"; sourceTree = ""; }; 63118CB9156D31240085CF03 /* Tutorial 2 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 2"; sourceTree = BUILT_PRODUCTS_DIR; }; 63118CC8156D32E20085CF03 /* Playback Tutorial 1 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Playback Tutorial 1"; sourceTree = BUILT_PRODUCTS_DIR; }; 63118CD2156D32FE0085CF03 /* playback-tutorial-1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-1.c"; path = "../playback-tutorial-1.c"; sourceTree = SOURCE_ROOT; }; @@ -147,7 +147,7 @@ 63DE8838156DAC09006F2D3B /* basic-tutorial-7.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-7.c"; path = "../basic-tutorial-7.c"; sourceTree = SOURCE_ROOT; }; 63DE883A156DAC0E006F2D3B /* basic-tutorial-8.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-8.c"; path = "../basic-tutorial-8.c"; sourceTree = SOURCE_ROOT; }; 63DE883C156DAC15006F2D3B /* basic-tutorial-9.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-9.c"; path = "../basic-tutorial-9.c"; sourceTree = SOURCE_ROOT; }; - 63DE8841156DACB3006F2D3B /* gstreamer-0.10-all.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-all.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Version/2012.5/x86_64/share/xcode/gstreamer-0.10-all.xcconfig"; sourceTree = ""; }; + 63DE8841156DACB3006F2D3B /* gstreamer-0.10-all.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-all.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Versions/2012.5/x86_64/share/xcode/gstreamer-0.10-all.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ From 5569f4178372f1f6f83a79c78d133f41612cb179 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 8 Jun 2012 17:08:56 +0200 Subject: [PATCH 042/979] Added tutorial 12 --- gst-sdk/tutorials/basic-tutorial-12.c | 110 ++++++++++++++++++ .../basic-tutorial-12.vcxproj} | 2 +- .../basic-tutorial-12.vcxproj.filters} | 2 +- gst-sdk/tutorials/vs2010/tutorials.sln | 10 ++ 4 files changed, 122 insertions(+), 2 deletions(-) create mode 100644 gst-sdk/tutorials/basic-tutorial-12.c rename gst-sdk/tutorials/vs2010/{basic-tutorial-10/basic-tutorial-10.vcxproj => basic-tutorial-12/basic-tutorial-12.vcxproj} (96%) rename gst-sdk/tutorials/vs2010/{basic-tutorial-10/basic-tutorial-10.vcxproj.filters => basic-tutorial-12/basic-tutorial-12.vcxproj.filters} (69%) diff --git a/gst-sdk/tutorials/basic-tutorial-12.c b/gst-sdk/tutorials/basic-tutorial-12.c new file mode 100644 index 0000000000..3a4d5b03ea --- /dev/null +++ b/gst-sdk/tutorials/basic-tutorial-12.c @@ -0,0 +1,110 @@ +#include +#include + +typedef struct _CustomData { + gboolean is_live; + GstElement *pipeline; + GMainLoop *loop; +} CustomData; + +/* playbin2 flags */ +typedef enum { + GST_PLAY_FLAG_BUFFERING = (1 << 8) /* We want to allow buffering */ +} GstPlayFlags; + +static void cb_message (GstBus *bus, GstMessage *msg, CustomData *data) { + + switch (GST_MESSAGE_TYPE (msg)) { + case GST_MESSAGE_ERROR: { + GError *err; + gchar *debug; + + gst_message_parse_error (msg, &err, &debug); + g_print ("Error: %s\n", err->message); + g_error_free (err); + g_free (debug); + + gst_element_set_state (data->pipeline, GST_STATE_READY); + g_main_loop_quit (data->loop); + break; + } + case GST_MESSAGE_EOS: + /* end-of-stream */ + gst_element_set_state (data->pipeline, GST_STATE_READY); + g_main_loop_quit (data->loop); + break; + case GST_MESSAGE_CLOCK_LOST: + /* Get a new clock */ + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); + gst_element_set_state (data->pipeline, GST_STATE_PLAYING); + break; + case GST_MESSAGE_BUFFERING: { + gint percent = 0; + + /* If the stream is live, we do not care about buffering. */ + if (data->is_live) break; + + gst_message_parse_buffering (msg, &percent); + g_print ("Buffering (%3d%%)\r", percent); + /* Wait until buffering is complete before start/resume playing */ + if (percent < 100) + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); + else + gst_element_set_state (data->pipeline, GST_STATE_PLAYING); + break; + } + default: + /* Unhandled message */ + break; + } +} + +int main(int argc, char *argv[]) { + GstElement *pipeline; + GstBus *bus; + GstStateChangeReturn ret; + GMainLoop *main_loop; + CustomData data; + guint flags; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Initialize our data structure */ + memset (&data, 0, sizeof (data)); + + /* Build the pipeline */ + pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + bus = gst_element_get_bus (pipeline); + + /* Set the buffering flag */ + g_object_get (pipeline, "flags", &flags, NULL); + flags |= GST_PLAY_FLAG_BUFFERING; + g_object_set (pipeline, "flags", flags, NULL); + + /* Start playing */ + ret = gst_element_set_state (pipeline, GST_STATE_PLAYING); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (pipeline); + return -1; + } else if (ret == GST_STATE_CHANGE_NO_PREROLL) { + data.is_live = TRUE; + } + + main_loop = g_main_loop_new (NULL, FALSE); + data.loop = main_loop; + data.pipeline = pipeline; + + gst_bus_add_signal_watch (bus); + g_signal_connect (bus, "message", G_CALLBACK (cb_message), &data); + + g_main_loop_run (main_loop); + + /* Free resources */ + g_main_loop_unref (main_loop); + gst_object_unref (bus); + gst_element_set_state (pipeline, GST_STATE_NULL); + gst_object_unref (pipeline); + return 0; +} \ No newline at end of file diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-10/basic-tutorial-10.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-12/basic-tutorial-12.vcxproj similarity index 96% rename from gst-sdk/tutorials/vs2010/basic-tutorial-10/basic-tutorial-10.vcxproj rename to gst-sdk/tutorials/vs2010/basic-tutorial-12/basic-tutorial-12.vcxproj index ff1ae2c560..7d51383db7 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-10/basic-tutorial-10.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-12/basic-tutorial-12.vcxproj @@ -19,7 +19,7 @@ - + Win32Proj diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-10/basic-tutorial-10.vcxproj.filters b/gst-sdk/tutorials/vs2010/basic-tutorial-12/basic-tutorial-12.vcxproj.filters similarity index 69% rename from gst-sdk/tutorials/vs2010/basic-tutorial-10/basic-tutorial-10.vcxproj.filters rename to gst-sdk/tutorials/vs2010/basic-tutorial-12/basic-tutorial-12.vcxproj.filters index b0c0be2e6b..3f66ae1c04 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-10/basic-tutorial-10.vcxproj.filters +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-12/basic-tutorial-12.vcxproj.filters @@ -1,6 +1,6 @@  - + \ No newline at end of file diff --git a/gst-sdk/tutorials/vs2010/tutorials.sln b/gst-sdk/tutorials/vs2010/tutorials.sln index 8f3403354a..afa1ea7c62 100644 --- a/gst-sdk/tutorials/vs2010/tutorials.sln +++ b/gst-sdk/tutorials/vs2010/tutorials.sln @@ -23,6 +23,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "playback-tutorial-2", "play EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-9", "basic-tutorial-9\basic-tutorial-9.vcxproj", "{7B61F2C6-5202-48B7-8589-164F81BC636C}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-12", "basic-tutorial-12\basic-tutorial-12.vcxproj", "{A2E63C29-3375-4930-B7D3-2F23EC824EAF}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -119,6 +121,14 @@ Global {7B61F2C6-5202-48B7-8589-164F81BC636C}.Release|Win32.Build.0 = Release|Win32 {7B61F2C6-5202-48B7-8589-164F81BC636C}.Release|x64.ActiveCfg = Release|x64 {7B61F2C6-5202-48B7-8589-164F81BC636C}.Release|x64.Build.0 = Release|x64 + {A2E63C29-3375-4930-B7D3-2F23EC824EAF}.Debug|Win32.ActiveCfg = Debug|Win32 + {A2E63C29-3375-4930-B7D3-2F23EC824EAF}.Debug|Win32.Build.0 = Debug|Win32 + {A2E63C29-3375-4930-B7D3-2F23EC824EAF}.Debug|x64.ActiveCfg = Debug|x64 + {A2E63C29-3375-4930-B7D3-2F23EC824EAF}.Debug|x64.Build.0 = Debug|x64 + {A2E63C29-3375-4930-B7D3-2F23EC824EAF}.Release|Win32.ActiveCfg = Release|Win32 + {A2E63C29-3375-4930-B7D3-2F23EC824EAF}.Release|Win32.Build.0 = Release|Win32 + {A2E63C29-3375-4930-B7D3-2F23EC824EAF}.Release|x64.ActiveCfg = Release|x64 + {A2E63C29-3375-4930-B7D3-2F23EC824EAF}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From 9cbd722bbeeaa0c920f89b3b1367ac993194b831 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 11 Jun 2012 10:36:15 +0200 Subject: [PATCH 043/979] Remove unneeded BUFFERING playbin2 flag for this tutorial. --- gst-sdk/tutorials/basic-tutorial-12.c | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/gst-sdk/tutorials/basic-tutorial-12.c b/gst-sdk/tutorials/basic-tutorial-12.c index 3a4d5b03ea..99ef74ff30 100644 --- a/gst-sdk/tutorials/basic-tutorial-12.c +++ b/gst-sdk/tutorials/basic-tutorial-12.c @@ -7,11 +7,6 @@ typedef struct _CustomData { GMainLoop *loop; } CustomData; -/* playbin2 flags */ -typedef enum { - GST_PLAY_FLAG_BUFFERING = (1 << 8) /* We want to allow buffering */ -} GstPlayFlags; - static void cb_message (GstBus *bus, GstMessage *msg, CustomData *data) { switch (GST_MESSAGE_TYPE (msg)) { @@ -65,7 +60,6 @@ int main(int argc, char *argv[]) { GstStateChangeReturn ret; GMainLoop *main_loop; CustomData data; - guint flags; /* Initialize GStreamer */ gst_init (&argc, &argv); @@ -77,11 +71,6 @@ int main(int argc, char *argv[]) { pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); bus = gst_element_get_bus (pipeline); - /* Set the buffering flag */ - g_object_get (pipeline, "flags", &flags, NULL); - flags |= GST_PLAY_FLAG_BUFFERING; - g_object_set (pipeline, "flags", flags, NULL); - /* Start playing */ ret = gst_element_set_state (pipeline, GST_STATE_PLAYING); if (ret == GST_STATE_CHANGE_FAILURE) { From 987109fd3f2fff3c395dd29b52767ba27fcd53db Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 8 Jun 2012 17:08:56 +0200 Subject: [PATCH 044/979] Added tutorial 12 --- gst-sdk/tutorials/basic-tutorial-12.c | 110 ++++++++++++++++++ .../basic-tutorial-12.vcxproj} | 2 +- .../basic-tutorial-12.vcxproj.filters} | 2 +- gst-sdk/tutorials/vs2010/tutorials.sln | 10 ++ 4 files changed, 122 insertions(+), 2 deletions(-) create mode 100644 gst-sdk/tutorials/basic-tutorial-12.c rename gst-sdk/tutorials/vs2010/{basic-tutorial-10/basic-tutorial-10.vcxproj => basic-tutorial-12/basic-tutorial-12.vcxproj} (96%) rename gst-sdk/tutorials/vs2010/{basic-tutorial-10/basic-tutorial-10.vcxproj.filters => basic-tutorial-12/basic-tutorial-12.vcxproj.filters} (69%) diff --git a/gst-sdk/tutorials/basic-tutorial-12.c b/gst-sdk/tutorials/basic-tutorial-12.c new file mode 100644 index 0000000000..3a4d5b03ea --- /dev/null +++ b/gst-sdk/tutorials/basic-tutorial-12.c @@ -0,0 +1,110 @@ +#include +#include + +typedef struct _CustomData { + gboolean is_live; + GstElement *pipeline; + GMainLoop *loop; +} CustomData; + +/* playbin2 flags */ +typedef enum { + GST_PLAY_FLAG_BUFFERING = (1 << 8) /* We want to allow buffering */ +} GstPlayFlags; + +static void cb_message (GstBus *bus, GstMessage *msg, CustomData *data) { + + switch (GST_MESSAGE_TYPE (msg)) { + case GST_MESSAGE_ERROR: { + GError *err; + gchar *debug; + + gst_message_parse_error (msg, &err, &debug); + g_print ("Error: %s\n", err->message); + g_error_free (err); + g_free (debug); + + gst_element_set_state (data->pipeline, GST_STATE_READY); + g_main_loop_quit (data->loop); + break; + } + case GST_MESSAGE_EOS: + /* end-of-stream */ + gst_element_set_state (data->pipeline, GST_STATE_READY); + g_main_loop_quit (data->loop); + break; + case GST_MESSAGE_CLOCK_LOST: + /* Get a new clock */ + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); + gst_element_set_state (data->pipeline, GST_STATE_PLAYING); + break; + case GST_MESSAGE_BUFFERING: { + gint percent = 0; + + /* If the stream is live, we do not care about buffering. */ + if (data->is_live) break; + + gst_message_parse_buffering (msg, &percent); + g_print ("Buffering (%3d%%)\r", percent); + /* Wait until buffering is complete before start/resume playing */ + if (percent < 100) + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); + else + gst_element_set_state (data->pipeline, GST_STATE_PLAYING); + break; + } + default: + /* Unhandled message */ + break; + } +} + +int main(int argc, char *argv[]) { + GstElement *pipeline; + GstBus *bus; + GstStateChangeReturn ret; + GMainLoop *main_loop; + CustomData data; + guint flags; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Initialize our data structure */ + memset (&data, 0, sizeof (data)); + + /* Build the pipeline */ + pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + bus = gst_element_get_bus (pipeline); + + /* Set the buffering flag */ + g_object_get (pipeline, "flags", &flags, NULL); + flags |= GST_PLAY_FLAG_BUFFERING; + g_object_set (pipeline, "flags", flags, NULL); + + /* Start playing */ + ret = gst_element_set_state (pipeline, GST_STATE_PLAYING); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (pipeline); + return -1; + } else if (ret == GST_STATE_CHANGE_NO_PREROLL) { + data.is_live = TRUE; + } + + main_loop = g_main_loop_new (NULL, FALSE); + data.loop = main_loop; + data.pipeline = pipeline; + + gst_bus_add_signal_watch (bus); + g_signal_connect (bus, "message", G_CALLBACK (cb_message), &data); + + g_main_loop_run (main_loop); + + /* Free resources */ + g_main_loop_unref (main_loop); + gst_object_unref (bus); + gst_element_set_state (pipeline, GST_STATE_NULL); + gst_object_unref (pipeline); + return 0; +} \ No newline at end of file diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-10/basic-tutorial-10.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-12/basic-tutorial-12.vcxproj similarity index 96% rename from gst-sdk/tutorials/vs2010/basic-tutorial-10/basic-tutorial-10.vcxproj rename to gst-sdk/tutorials/vs2010/basic-tutorial-12/basic-tutorial-12.vcxproj index ff1ae2c560..7d51383db7 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-10/basic-tutorial-10.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-12/basic-tutorial-12.vcxproj @@ -19,7 +19,7 @@ - + Win32Proj diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-10/basic-tutorial-10.vcxproj.filters b/gst-sdk/tutorials/vs2010/basic-tutorial-12/basic-tutorial-12.vcxproj.filters similarity index 69% rename from gst-sdk/tutorials/vs2010/basic-tutorial-10/basic-tutorial-10.vcxproj.filters rename to gst-sdk/tutorials/vs2010/basic-tutorial-12/basic-tutorial-12.vcxproj.filters index b0c0be2e6b..3f66ae1c04 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-10/basic-tutorial-10.vcxproj.filters +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-12/basic-tutorial-12.vcxproj.filters @@ -1,6 +1,6 @@  - + \ No newline at end of file diff --git a/gst-sdk/tutorials/vs2010/tutorials.sln b/gst-sdk/tutorials/vs2010/tutorials.sln index 8f3403354a..afa1ea7c62 100644 --- a/gst-sdk/tutorials/vs2010/tutorials.sln +++ b/gst-sdk/tutorials/vs2010/tutorials.sln @@ -23,6 +23,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "playback-tutorial-2", "play EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-9", "basic-tutorial-9\basic-tutorial-9.vcxproj", "{7B61F2C6-5202-48B7-8589-164F81BC636C}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-12", "basic-tutorial-12\basic-tutorial-12.vcxproj", "{A2E63C29-3375-4930-B7D3-2F23EC824EAF}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -119,6 +121,14 @@ Global {7B61F2C6-5202-48B7-8589-164F81BC636C}.Release|Win32.Build.0 = Release|Win32 {7B61F2C6-5202-48B7-8589-164F81BC636C}.Release|x64.ActiveCfg = Release|x64 {7B61F2C6-5202-48B7-8589-164F81BC636C}.Release|x64.Build.0 = Release|x64 + {A2E63C29-3375-4930-B7D3-2F23EC824EAF}.Debug|Win32.ActiveCfg = Debug|Win32 + {A2E63C29-3375-4930-B7D3-2F23EC824EAF}.Debug|Win32.Build.0 = Debug|Win32 + {A2E63C29-3375-4930-B7D3-2F23EC824EAF}.Debug|x64.ActiveCfg = Debug|x64 + {A2E63C29-3375-4930-B7D3-2F23EC824EAF}.Debug|x64.Build.0 = Debug|x64 + {A2E63C29-3375-4930-B7D3-2F23EC824EAF}.Release|Win32.ActiveCfg = Release|Win32 + {A2E63C29-3375-4930-B7D3-2F23EC824EAF}.Release|Win32.Build.0 = Release|Win32 + {A2E63C29-3375-4930-B7D3-2F23EC824EAF}.Release|x64.ActiveCfg = Release|x64 + {A2E63C29-3375-4930-B7D3-2F23EC824EAF}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From 12e5e2b7e80455cda9519d56501434b7a10f847e Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 11 Jun 2012 12:12:31 +0200 Subject: [PATCH 045/979] Some reordering to match the tutorial's explanations. --- gst-sdk/tutorials/basic-tutorial-12.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gst-sdk/tutorials/basic-tutorial-12.c b/gst-sdk/tutorials/basic-tutorial-12.c index 99ef74ff30..a1f0808be9 100644 --- a/gst-sdk/tutorials/basic-tutorial-12.c +++ b/gst-sdk/tutorials/basic-tutorial-12.c @@ -28,11 +28,6 @@ static void cb_message (GstBus *bus, GstMessage *msg, CustomData *data) { gst_element_set_state (data->pipeline, GST_STATE_READY); g_main_loop_quit (data->loop); break; - case GST_MESSAGE_CLOCK_LOST: - /* Get a new clock */ - gst_element_set_state (data->pipeline, GST_STATE_PAUSED); - gst_element_set_state (data->pipeline, GST_STATE_PLAYING); - break; case GST_MESSAGE_BUFFERING: { gint percent = 0; @@ -48,6 +43,11 @@ static void cb_message (GstBus *bus, GstMessage *msg, CustomData *data) { gst_element_set_state (data->pipeline, GST_STATE_PLAYING); break; } + case GST_MESSAGE_CLOCK_LOST: + /* Get a new clock */ + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); + gst_element_set_state (data->pipeline, GST_STATE_PLAYING); + break; default: /* Unhandled message */ break; From 3b393bd1d2f4d52b6eab7e10f4f5af51a6875f1c Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 11 Jun 2012 15:07:54 +0200 Subject: [PATCH 046/979] Use default toolset instead of forcing WinDDK's (This shouldn't have been committed). --- .../vs2010/basic-tutorial-12/basic-tutorial-12.vcxproj | 4 ---- 1 file changed, 4 deletions(-) diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-12/basic-tutorial-12.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-12/basic-tutorial-12.vcxproj index 7d51383db7..bb5a388cfe 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-12/basic-tutorial-12.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-12/basic-tutorial-12.vcxproj @@ -31,16 +31,12 @@ Application true Unicode - Windows7.1SDK - Windows7.1SDK Application false true Unicode - Windows7.1SDK - Windows7.1SDK From 7da0e543dc170e3135737dd3a93d81217e504271 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 11 Jun 2012 15:07:54 +0200 Subject: [PATCH 047/979] Use default toolset instead of forcing WinDDK's (This shouldn't have been committed). --- .../vs2010/basic-tutorial-12/basic-tutorial-12.vcxproj | 4 ---- 1 file changed, 4 deletions(-) diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-12/basic-tutorial-12.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-12/basic-tutorial-12.vcxproj index 7d51383db7..bb5a388cfe 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-12/basic-tutorial-12.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-12/basic-tutorial-12.vcxproj @@ -31,16 +31,12 @@ Application true Unicode - Windows7.1SDK - Windows7.1SDK Application false true Unicode - Windows7.1SDK - Windows7.1SDK From 63177bf882d3b28f184876fc8b2d8f05046abcd0 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 18 Jun 2012 10:34:24 +0200 Subject: [PATCH 048/979] Fix warnings shown with -Wall --- gst-sdk/tutorials/playback-tutorial-1.c | 2 ++ gst-sdk/tutorials/playback-tutorial-2.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/gst-sdk/tutorials/playback-tutorial-1.c b/gst-sdk/tutorials/playback-tutorial-1.c index 196edad6ac..e457de68ee 100644 --- a/gst-sdk/tutorials/playback-tutorial-1.c +++ b/gst-sdk/tutorials/playback-tutorial-1.c @@ -193,6 +193,8 @@ static gboolean handle_message (GstBus *bus, GstMessage *msg, CustomData *data) } } } break; + default: + break; } /* We want to keep receiving messages */ diff --git a/gst-sdk/tutorials/playback-tutorial-2.c b/gst-sdk/tutorials/playback-tutorial-2.c index 8e5ee15f8d..bd11fbb23d 100644 --- a/gst-sdk/tutorials/playback-tutorial-2.c +++ b/gst-sdk/tutorials/playback-tutorial-2.c @@ -195,6 +195,8 @@ static gboolean handle_message (GstBus *bus, GstMessage *msg, CustomData *data) } } } break; + default: + break; } /* We want to keep receiving messages */ From b4f718acfd4150ed8ac4689020ae2ac1df531288 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 18 Jun 2012 12:19:06 +0200 Subject: [PATCH 049/979] Added Playback tutorial 3. --- gst-sdk/tutorials/playback-tutorial-3.c | 161 ++++++++++++++++++ .../playback-tutorial-3.vcxproj | 95 +++++++++++ .../playback-tutorial-3.vcxproj.filters | 6 + gst-sdk/tutorials/vs2010/tutorials.sln | 10 ++ 4 files changed, 272 insertions(+) create mode 100644 gst-sdk/tutorials/playback-tutorial-3.c create mode 100644 gst-sdk/tutorials/vs2010/playback-tutorial-3/playback-tutorial-3.vcxproj create mode 100644 gst-sdk/tutorials/vs2010/playback-tutorial-3/playback-tutorial-3.vcxproj.filters diff --git a/gst-sdk/tutorials/playback-tutorial-3.c b/gst-sdk/tutorials/playback-tutorial-3.c new file mode 100644 index 0000000000..c170eccc9e --- /dev/null +++ b/gst-sdk/tutorials/playback-tutorial-3.c @@ -0,0 +1,161 @@ +#include +#include + +#define GRAPH_LENGTH 80 + +/* playbin2 flags */ +typedef enum { + GST_PLAY_FLAG_DOWNLOAD = (1 << 7) /* Enable progressive download buffering for selected formats. */ +} GstPlayFlags; + +typedef struct _CustomData { + gboolean is_live; + GstElement *pipeline; + GMainLoop *loop; + gint buffering_level; +} CustomData; + +static void cb_message (GstBus *bus, GstMessage *msg, CustomData *data) { + + switch (GST_MESSAGE_TYPE (msg)) { + case GST_MESSAGE_ERROR: { + GError *err; + gchar *debug; + + gst_message_parse_error (msg, &err, &debug); + g_print ("Error: %s\n", err->message); + g_error_free (err); + g_free (debug); + + gst_element_set_state (data->pipeline, GST_STATE_READY); + g_main_loop_quit (data->loop); + break; + } + case GST_MESSAGE_EOS: + /* end-of-stream */ + gst_element_set_state (data->pipeline, GST_STATE_READY); + g_main_loop_quit (data->loop); + break; + case GST_MESSAGE_BUFFERING: + /* If the stream is live, we do not care about buffering. */ + if (data->is_live) break; + + gst_message_parse_buffering (msg, &data->buffering_level); + + /* Wait until buffering is complete before start/resume playing */ + if (data->buffering_level < 100) + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); + else + gst_element_set_state (data->pipeline, GST_STATE_PLAYING); + break; + case GST_MESSAGE_CLOCK_LOST: + /* Get a new clock */ + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); + gst_element_set_state (data->pipeline, GST_STATE_PLAYING); + break; + default: + /* Unhandled message */ + break; + } +} + +static gboolean refresh_ui (CustomData *data) { + GstQuery *query; + gboolean result; + + query = gst_query_new_buffering (GST_FORMAT_PERCENT); + result = gst_element_query (data->pipeline, query); + if (result) { + gint n_ranges, range, i; + gchar graph[GRAPH_LENGTH + 1]; + GstFormat format = GST_FORMAT_TIME; + gint64 position = 0, duration = 0; + + memset (graph, ' ', GRAPH_LENGTH); + graph[GRAPH_LENGTH] = '\0'; + + n_ranges = gst_query_get_n_buffering_ranges (query); + for (range = 0; range < n_ranges; range++) { + gint64 start, stop; + gst_query_parse_nth_buffering_range (query, range, &start, &stop); + start = start * GRAPH_LENGTH / 100; + stop = stop * GRAPH_LENGTH / 100; + for (i = (gint)start; i < stop; i++) + graph [i] = '-'; + } + if (gst_element_query_position (data->pipeline, &format, &position) && + GST_CLOCK_TIME_IS_VALID (position) && + gst_element_query_duration (data->pipeline, &format, &duration) && + GST_CLOCK_TIME_IS_VALID (duration)) { + i = (gint)(GRAPH_LENGTH * (double)position / (double)(duration + 1)); + graph [i] = data->buffering_level < 100 ? 'X' : '>'; + } + g_print ("[%s]", graph); + if (data->buffering_level < 100) { + g_print (" Buffering: %3d%%", data->buffering_level); + } else { + g_print (" "); + } + g_print ("\r"); + } + + return TRUE; + +} + +int main(int argc, char *argv[]) { + GstElement *pipeline; + GstBus *bus; + GstStateChangeReturn ret; + GMainLoop *main_loop; + CustomData data; + guint flags; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Initialize our data structure */ + memset (&data, 0, sizeof (data)); + data.buffering_level = 100; + + /* Build the pipeline */ + pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); +// pipeline = gst_parse_launch ("playbin2 uri=http://micro.autom.teithe.gr/~vivia/oldmovies/peta.mp4", NULL); + bus = gst_element_get_bus (pipeline); + + /* Set the download flag */ + g_object_get (pipeline, "flags", &flags, NULL); + flags |= GST_PLAY_FLAG_DOWNLOAD; + g_object_set (pipeline, "flags", flags, NULL); + + /* Start playing */ + ret = gst_element_set_state (pipeline, GST_STATE_PLAYING); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (pipeline); + return -1; + } else if (ret == GST_STATE_CHANGE_NO_PREROLL) { + data.is_live = TRUE; + } + + main_loop = g_main_loop_new (NULL, FALSE); + data.loop = main_loop; + data.pipeline = pipeline; + + gst_bus_add_signal_watch (bus); + g_signal_connect (bus, "message", G_CALLBACK (cb_message), &data); + + /* Register a function that GLib will call every second */ + g_timeout_add_seconds (1, (GSourceFunc)refresh_ui, &data); + + g_main_loop_run (main_loop); + + /* Free resources */ + g_main_loop_unref (main_loop); + gst_object_unref (bus); + gst_element_set_state (pipeline, GST_STATE_NULL); + gst_object_unref (pipeline); + + g_print ("\n"); + return 0; +} \ No newline at end of file diff --git a/gst-sdk/tutorials/vs2010/playback-tutorial-3/playback-tutorial-3.vcxproj b/gst-sdk/tutorials/vs2010/playback-tutorial-3/playback-tutorial-3.vcxproj new file mode 100644 index 0000000000..34c5ea5ce3 --- /dev/null +++ b/gst-sdk/tutorials/vs2010/playback-tutorial-3/playback-tutorial-3.vcxproj @@ -0,0 +1,95 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + + + + Win32Proj + {0342A79A-3522-416B-A4F8-58F5664B8415} + v4.0 + + + + Application + true + Unicode + + + Application + false + true + Unicode + + + + + + + + + + + + + + + + + true + + + false + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + %(AdditionalDependencies) + %(AdditionalLibraryDirectories) + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + false + true + + + + + + \ No newline at end of file diff --git a/gst-sdk/tutorials/vs2010/playback-tutorial-3/playback-tutorial-3.vcxproj.filters b/gst-sdk/tutorials/vs2010/playback-tutorial-3/playback-tutorial-3.vcxproj.filters new file mode 100644 index 0000000000..97cf2797d4 --- /dev/null +++ b/gst-sdk/tutorials/vs2010/playback-tutorial-3/playback-tutorial-3.vcxproj.filters @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/gst-sdk/tutorials/vs2010/tutorials.sln b/gst-sdk/tutorials/vs2010/tutorials.sln index afa1ea7c62..f8227e920d 100644 --- a/gst-sdk/tutorials/vs2010/tutorials.sln +++ b/gst-sdk/tutorials/vs2010/tutorials.sln @@ -25,6 +25,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-9", "basic-t EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-12", "basic-tutorial-12\basic-tutorial-12.vcxproj", "{A2E63C29-3375-4930-B7D3-2F23EC824EAF}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "playback-tutorial-3", "playback-tutorial-3\playback-tutorial-3.vcxproj", "{0342A79A-3522-416B-A4F8-58F5664B8415}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -129,6 +131,14 @@ Global {A2E63C29-3375-4930-B7D3-2F23EC824EAF}.Release|Win32.Build.0 = Release|Win32 {A2E63C29-3375-4930-B7D3-2F23EC824EAF}.Release|x64.ActiveCfg = Release|x64 {A2E63C29-3375-4930-B7D3-2F23EC824EAF}.Release|x64.Build.0 = Release|x64 + {0342A79A-3522-416B-A4F8-58F5664B8415}.Debug|Win32.ActiveCfg = Debug|Win32 + {0342A79A-3522-416B-A4F8-58F5664B8415}.Debug|Win32.Build.0 = Debug|Win32 + {0342A79A-3522-416B-A4F8-58F5664B8415}.Debug|x64.ActiveCfg = Debug|x64 + {0342A79A-3522-416B-A4F8-58F5664B8415}.Debug|x64.Build.0 = Debug|x64 + {0342A79A-3522-416B-A4F8-58F5664B8415}.Release|Win32.ActiveCfg = Release|Win32 + {0342A79A-3522-416B-A4F8-58F5664B8415}.Release|Win32.Build.0 = Release|Win32 + {0342A79A-3522-416B-A4F8-58F5664B8415}.Release|x64.ActiveCfg = Release|x64 + {0342A79A-3522-416B-A4F8-58F5664B8415}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From 279e01a1589332280db154d6cff7bddf3ba7297a Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 18 Jun 2012 16:11:57 +0200 Subject: [PATCH 050/979] Print temp-location. --- gst-sdk/tutorials/playback-tutorial-3.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/gst-sdk/tutorials/playback-tutorial-3.c b/gst-sdk/tutorials/playback-tutorial-3.c index c170eccc9e..dfdb64c0d7 100644 --- a/gst-sdk/tutorials/playback-tutorial-3.c +++ b/gst-sdk/tutorials/playback-tutorial-3.c @@ -5,7 +5,7 @@ /* playbin2 flags */ typedef enum { - GST_PLAY_FLAG_DOWNLOAD = (1 << 7) /* Enable progressive download buffering for selected formats. */ + GST_PLAY_FLAG_DOWNLOAD = (1 << 7) /* Enable progressive download (on selected formats) */ } GstPlayFlags; typedef struct _CustomData { @@ -14,6 +14,14 @@ typedef struct _CustomData { GMainLoop *loop; gint buffering_level; } CustomData; + +static void got_location (GstObject *gstobject, GstObject *prop_object, GParamSpec *prop, gpointer data) { + gchar *location; + g_object_get (G_OBJECT (prop_object), "temp-location", &location, NULL); + g_print ("Temporary file: %s\n", location); + /* Uncomment this line to keep the temporary file after the program exits */ + /* g_object_set (G_OBJECT (prop_object), "temp-remove", FALSE, NULL); */ +} static void cb_message (GstBus *bus, GstMessage *msg, CustomData *data) { @@ -120,7 +128,6 @@ int main(int argc, char *argv[]) { /* Build the pipeline */ pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); -// pipeline = gst_parse_launch ("playbin2 uri=http://micro.autom.teithe.gr/~vivia/oldmovies/peta.mp4", NULL); bus = gst_element_get_bus (pipeline); /* Set the download flag */ @@ -143,7 +150,8 @@ int main(int argc, char *argv[]) { data.pipeline = pipeline; gst_bus_add_signal_watch (bus); - g_signal_connect (bus, "message", G_CALLBACK (cb_message), &data); + g_signal_connect (bus, "message", G_CALLBACK (cb_message), &data); + g_signal_connect (pipeline, "deep-notify::temp-location", G_CALLBACK (got_location), NULL); /* Register a function that GLib will call every second */ g_timeout_add_seconds (1, (GSourceFunc)refresh_ui, &data); From e7a0bcbb6e3e88f8887ccdff993a36e8a2bc2aef Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 18 Jun 2012 17:39:05 +0200 Subject: [PATCH 051/979] Add commented-out ring-buffer size limitation (for pedagogic purposes) --- gst-sdk/tutorials/playback-tutorial-3.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gst-sdk/tutorials/playback-tutorial-3.c b/gst-sdk/tutorials/playback-tutorial-3.c index dfdb64c0d7..a59390a71e 100644 --- a/gst-sdk/tutorials/playback-tutorial-3.c +++ b/gst-sdk/tutorials/playback-tutorial-3.c @@ -135,6 +135,9 @@ int main(int argc, char *argv[]) { flags |= GST_PLAY_FLAG_DOWNLOAD; g_object_set (pipeline, "flags", flags, NULL); + /* Uncomment this line to limit the amount of downloaded data */ + /* g_object_set (pipeline, "ring-buffer-max-size", (guint64)4000000, NULL); */ + /* Start playing */ ret = gst_element_set_state (pipeline, GST_STATE_PLAYING); if (ret == GST_STATE_CHANGE_FAILURE) { From 490eb9b40ef5659f18e36d11e5d43c58840cdf43 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 19 Jun 2012 12:31:06 +0200 Subject: [PATCH 052/979] Carriage returns --- gst-sdk/tutorials/playback-tutorial-3.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/gst-sdk/tutorials/playback-tutorial-3.c b/gst-sdk/tutorials/playback-tutorial-3.c index a59390a71e..e0bfd50e85 100644 --- a/gst-sdk/tutorials/playback-tutorial-3.c +++ b/gst-sdk/tutorials/playback-tutorial-3.c @@ -14,14 +14,14 @@ typedef struct _CustomData { GMainLoop *loop; gint buffering_level; } CustomData; - -static void got_location (GstObject *gstobject, GstObject *prop_object, GParamSpec *prop, gpointer data) { - gchar *location; - g_object_get (G_OBJECT (prop_object), "temp-location", &location, NULL); - g_print ("Temporary file: %s\n", location); - /* Uncomment this line to keep the temporary file after the program exits */ - /* g_object_set (G_OBJECT (prop_object), "temp-remove", FALSE, NULL); */ -} + +static void got_location (GstObject *gstobject, GstObject *prop_object, GParamSpec *prop, gpointer data) { + gchar *location; + g_object_get (G_OBJECT (prop_object), "temp-location", &location, NULL); + g_print ("Temporary file: %s\n", location); + /* Uncomment this line to keep the temporary file after the program exits */ + /* g_object_set (G_OBJECT (prop_object), "temp-remove", FALSE, NULL); */ +} static void cb_message (GstBus *bus, GstMessage *msg, CustomData *data) { @@ -153,7 +153,7 @@ int main(int argc, char *argv[]) { data.pipeline = pipeline; gst_bus_add_signal_watch (bus); - g_signal_connect (bus, "message", G_CALLBACK (cb_message), &data); + g_signal_connect (bus, "message", G_CALLBACK (cb_message), &data); g_signal_connect (pipeline, "deep-notify::temp-location", G_CALLBACK (got_location), NULL); /* Register a function that GLib will call every second */ From 9b52a33ccfde4ea7fb569bc4fd156cf59ac48d87 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 19 Jun 2012 12:51:27 +0200 Subject: [PATCH 053/979] Whitespace --- gst-sdk/tutorials/playback-tutorial-3.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/gst-sdk/tutorials/playback-tutorial-3.c b/gst-sdk/tutorials/playback-tutorial-3.c index e0bfd50e85..a5829d6eeb 100644 --- a/gst-sdk/tutorials/playback-tutorial-3.c +++ b/gst-sdk/tutorials/playback-tutorial-3.c @@ -1,8 +1,8 @@ #include #include - + #define GRAPH_LENGTH 80 - + /* playbin2 flags */ typedef enum { GST_PLAY_FLAG_DOWNLOAD = (1 << 7) /* Enable progressive download (on selected formats) */ @@ -70,7 +70,7 @@ static void cb_message (GstBus *bus, GstMessage *msg, CustomData *data) { static gboolean refresh_ui (CustomData *data) { GstQuery *query; gboolean result; - + query = gst_query_new_buffering (GST_FORMAT_PERCENT); result = gst_element_query (data->pipeline, query); if (result) { @@ -78,10 +78,10 @@ static gboolean refresh_ui (CustomData *data) { gchar graph[GRAPH_LENGTH + 1]; GstFormat format = GST_FORMAT_TIME; gint64 position = 0, duration = 0; - + memset (graph, ' ', GRAPH_LENGTH); graph[GRAPH_LENGTH] = '\0'; - + n_ranges = gst_query_get_n_buffering_ranges (query); for (range = 0; range < n_ranges; range++) { gint64 start, stop; @@ -106,9 +106,9 @@ static gboolean refresh_ui (CustomData *data) { } g_print ("\r"); } - + return TRUE; - + } int main(int argc, char *argv[]) { From 082beeeb6a092669828dd896d1e3482affad762a Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 19 Jun 2012 13:01:05 +0200 Subject: [PATCH 054/979] Corrected tutorial number (should be 4, not 3) --- .../tutorials/{playback-tutorial-3.c => playback-tutorial-4.c} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename gst-sdk/tutorials/{playback-tutorial-3.c => playback-tutorial-4.c} (100%) diff --git a/gst-sdk/tutorials/playback-tutorial-3.c b/gst-sdk/tutorials/playback-tutorial-4.c similarity index 100% rename from gst-sdk/tutorials/playback-tutorial-3.c rename to gst-sdk/tutorials/playback-tutorial-4.c From 6a3594ea4ae5915751e1c6e57968302a0257d5c2 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 19 Jun 2012 13:07:20 +0200 Subject: [PATCH 055/979] Fix tutorial number in VS files --- .../playback-tutorial-4.vcxproj} | 2 +- .../playback-tutorial-4.vcxproj.filters} | 2 +- gst-sdk/tutorials/vs2010/tutorials.sln | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) rename gst-sdk/tutorials/vs2010/{playback-tutorial-3/playback-tutorial-3.vcxproj => playback-tutorial-4/playback-tutorial-4.vcxproj} (96%) rename gst-sdk/tutorials/vs2010/{playback-tutorial-3/playback-tutorial-3.vcxproj.filters => playback-tutorial-4/playback-tutorial-4.vcxproj.filters} (69%) diff --git a/gst-sdk/tutorials/vs2010/playback-tutorial-3/playback-tutorial-3.vcxproj b/gst-sdk/tutorials/vs2010/playback-tutorial-4/playback-tutorial-4.vcxproj similarity index 96% rename from gst-sdk/tutorials/vs2010/playback-tutorial-3/playback-tutorial-3.vcxproj rename to gst-sdk/tutorials/vs2010/playback-tutorial-4/playback-tutorial-4.vcxproj index 34c5ea5ce3..2da5fbcbcb 100644 --- a/gst-sdk/tutorials/vs2010/playback-tutorial-3/playback-tutorial-3.vcxproj +++ b/gst-sdk/tutorials/vs2010/playback-tutorial-4/playback-tutorial-4.vcxproj @@ -19,7 +19,7 @@ - + Win32Proj diff --git a/gst-sdk/tutorials/vs2010/playback-tutorial-3/playback-tutorial-3.vcxproj.filters b/gst-sdk/tutorials/vs2010/playback-tutorial-4/playback-tutorial-4.vcxproj.filters similarity index 69% rename from gst-sdk/tutorials/vs2010/playback-tutorial-3/playback-tutorial-3.vcxproj.filters rename to gst-sdk/tutorials/vs2010/playback-tutorial-4/playback-tutorial-4.vcxproj.filters index 97cf2797d4..9e1c365ec4 100644 --- a/gst-sdk/tutorials/vs2010/playback-tutorial-3/playback-tutorial-3.vcxproj.filters +++ b/gst-sdk/tutorials/vs2010/playback-tutorial-4/playback-tutorial-4.vcxproj.filters @@ -1,6 +1,6 @@  - + \ No newline at end of file diff --git a/gst-sdk/tutorials/vs2010/tutorials.sln b/gst-sdk/tutorials/vs2010/tutorials.sln index f8227e920d..39690ca60d 100644 --- a/gst-sdk/tutorials/vs2010/tutorials.sln +++ b/gst-sdk/tutorials/vs2010/tutorials.sln @@ -25,7 +25,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-9", "basic-t EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-12", "basic-tutorial-12\basic-tutorial-12.vcxproj", "{A2E63C29-3375-4930-B7D3-2F23EC824EAF}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "playback-tutorial-3", "playback-tutorial-3\playback-tutorial-3.vcxproj", "{0342A79A-3522-416B-A4F8-58F5664B8415}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "playback-tutorial-4", "playback-tutorial-4\playback-tutorial-4.vcxproj", "{0342A79A-3522-416B-A4F8-58F5664B8415}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution From 80d6b6e476b231ade274a84f0dec2c3c3f464de6 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 19 Jun 2012 14:01:48 +0200 Subject: [PATCH 056/979] Whitespacey --- gst-sdk/tutorials/basic-tutorial-8.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/basic-tutorial-8.c b/gst-sdk/tutorials/basic-tutorial-8.c index d74aad80d3..0e94840714 100644 --- a/gst-sdk/tutorials/basic-tutorial-8.c +++ b/gst-sdk/tutorials/basic-tutorial-8.c @@ -21,7 +21,7 @@ typedef struct _CustomData { /* This method is called by the idle GSource in the mainloop, to feed CHUNK_SIZE bytes into appsrc. * The ide handler is added to the mainloop when appsrc requests us to start sending data (need-data signal) - * and is removed when appsrc has enough data (enough-data signal). + * and is removed when appsrc has enough data (enough-data signal). */ static gboolean push_data (CustomData *data) { GstBuffer *buffer; From 482bff1ce4f603930be401dbe470d86b6615972b Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 19 Jun 2012 17:59:37 +0200 Subject: [PATCH 057/979] Added playback tutorial 3 --- gst-sdk/tutorials/playback-tutorial-3.c | 153 ++++++++++++++++++ .../playback-tutorial-3.vcxproj | 95 +++++++++++ .../playback-tutorial-3.vcxproj.filters | 6 + gst-sdk/tutorials/vs2010/tutorials.sln | 10 ++ 4 files changed, 264 insertions(+) create mode 100644 gst-sdk/tutorials/playback-tutorial-3.c create mode 100644 gst-sdk/tutorials/vs2010/playback-tutorial-3/playback-tutorial-3.vcxproj create mode 100644 gst-sdk/tutorials/vs2010/playback-tutorial-3/playback-tutorial-3.vcxproj.filters diff --git a/gst-sdk/tutorials/playback-tutorial-3.c b/gst-sdk/tutorials/playback-tutorial-3.c new file mode 100644 index 0000000000..f48bca3c25 --- /dev/null +++ b/gst-sdk/tutorials/playback-tutorial-3.c @@ -0,0 +1,153 @@ +#include +#include + +#define CHUNK_SIZE 1024 /* Amount of bytes we are sending in each buffer */ +#define SAMPLE_RATE 44100 /* Samples per second we are sending */ +#define AUDIO_CAPS "audio/x-raw-int,channels=1,rate=%d,signed=(boolean)true,width=16,depth=16,endianness=BYTE_ORDER" + +/* Structure to contain all our information, so we can pass it to callbacks */ +typedef struct _CustomData { + GstElement *pipeline; + GstElement *app_source; + + guint64 num_samples; /* Number of samples generated so far (for timestamp generation) */ + gfloat a, b, c, d; /* For waveform generation */ + + guint sourceid; /* To control the GSource */ + + GMainLoop *main_loop; /* GLib's Main Loop */ +} CustomData; + +/* This method is called by the idle GSource in the mainloop, to feed CHUNK_SIZE bytes into appsrc. + * The ide handler is added to the mainloop when appsrc requests us to start sending data (need-data signal) + * and is removed when appsrc has enough data (enough-data signal). + */ +static gboolean push_data (CustomData *data) { + GstBuffer *buffer; + GstFlowReturn ret; + int i; + gint16 *raw; + gint num_samples = CHUNK_SIZE / 2; /* Because each sample is 16 bits */ + gfloat freq; + + /* Create a new empty buffer */ + buffer = gst_buffer_new_and_alloc (CHUNK_SIZE); + + /* Set its timestamp and duration */ + GST_BUFFER_TIMESTAMP (buffer) = gst_util_uint64_scale (data->num_samples, GST_SECOND, SAMPLE_RATE); + GST_BUFFER_DURATION (buffer) = gst_util_uint64_scale (CHUNK_SIZE, GST_SECOND, SAMPLE_RATE); + + /* Generate some psychodelic waveforms */ + raw = (gint16 *)GST_BUFFER_DATA (buffer); + data->c += data->d; + data->d -= data->c / 1000; + freq = 1100 + 1000 * data->d; + for (i = 0; i < num_samples; i++) { + data->a += data->b; + data->b -= data->a / freq; + raw[i] = (gint16)(500 * data->a); + } + data->num_samples += num_samples; + + /* Push the buffer into the appsrc */ + g_signal_emit_by_name (data->app_source, "push-buffer", buffer, &ret); + + /* Free the buffer now that we are done with it */ + gst_buffer_unref (buffer); + + if (ret != GST_FLOW_OK) { + /* We got some error, stop sending data */ + return FALSE; + } + + return TRUE; +} + +/* This signal callback triggers when appsrc needs data. Here, we add an idle handler + * to the mainloop to start pushing data into the appsrc */ +static void start_feed (GstElement *source, guint size, CustomData *data) { + if (data->sourceid == 0) { + g_print ("Start feeding\n"); + data->sourceid = g_idle_add ((GSourceFunc) push_data, data); + } +} + +/* This callback triggers when appsrc has enough data and we can stop sending. + * We remove the idle handler from the mainloop */ +static void stop_feed (GstElement *source, CustomData *data) { + if (data->sourceid != 0) { + g_print ("Stop feeding\n"); + g_source_remove (data->sourceid); + data->sourceid = 0; + } +} + +/* This function is called when an error message is posted on the bus */ +static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + GError *err; + gchar *debug_info; + + /* Print error details on the screen */ + gst_message_parse_error (msg, &err, &debug_info); + g_printerr ("Error received from element %s: %s\n", GST_OBJECT_NAME (msg->src), err->message); + g_printerr ("Debugging information: %s\n", debug_info ? debug_info : "none"); + g_clear_error (&err); + g_free (debug_info); + + g_main_loop_quit (data->main_loop); +} + +/* This function is called when playbin2 has created the appsrc element, so we have + * a chance to configure it. */ +static void source_setup (GstElement *pipeline, GstElement *source, CustomData *data) { + gchar *audio_caps_text; + GstCaps *audio_caps; + + g_print ("Source has been created. Configuring.\n"); + data->app_source = source; + + /* Configure appsrc */ + audio_caps_text = g_strdup_printf (AUDIO_CAPS, SAMPLE_RATE); + audio_caps = gst_caps_from_string (audio_caps_text); + g_object_set (source, "caps", audio_caps, NULL); + g_signal_connect (source, "need-data", G_CALLBACK (start_feed), data); + g_signal_connect (source, "enough-data", G_CALLBACK (stop_feed), data); + gst_caps_unref (audio_caps); + g_free (audio_caps_text); +} + +int main(int argc, char *argv[]) { + CustomData data; + GstBus *bus; + guint flags; + + /* Initialize cumstom data structure */ + memset (&data, 0, sizeof (data)); + data.b = 1; /* For waveform generation */ + data.d = 1; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Create the playbin2 element */ + data.pipeline = gst_parse_launch ("playbin2 uri=appsrc://", NULL); + g_signal_connect (data.pipeline, "source-setup", G_CALLBACK (source_setup), &data); + + /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ + bus = gst_element_get_bus (data.pipeline); + gst_bus_add_signal_watch (bus); + g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, &data); + gst_object_unref (bus); + + /* Start playing the pipeline */ + gst_element_set_state (data.pipeline, GST_STATE_PLAYING); + + /* Create a GLib Main Loop and set it to run */ + data.main_loop = g_main_loop_new (NULL, FALSE); + g_main_loop_run (data.main_loop); + + /* Free resources */ + gst_element_set_state (data.pipeline, GST_STATE_NULL); + gst_object_unref (data.pipeline); + return 0; +} diff --git a/gst-sdk/tutorials/vs2010/playback-tutorial-3/playback-tutorial-3.vcxproj b/gst-sdk/tutorials/vs2010/playback-tutorial-3/playback-tutorial-3.vcxproj new file mode 100644 index 0000000000..41f16d0021 --- /dev/null +++ b/gst-sdk/tutorials/vs2010/playback-tutorial-3/playback-tutorial-3.vcxproj @@ -0,0 +1,95 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + + + + Win32Proj + {B84F4F87-E804-456C-874E-AC76E0116268} + v4.0 + + + + Application + true + Unicode + + + Application + false + true + Unicode + + + + + + + + + + + + + + + + + true + + + false + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + %(AdditionalDependencies) + %(AdditionalLibraryDirectories) + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + false + true + + + + + + \ No newline at end of file diff --git a/gst-sdk/tutorials/vs2010/playback-tutorial-3/playback-tutorial-3.vcxproj.filters b/gst-sdk/tutorials/vs2010/playback-tutorial-3/playback-tutorial-3.vcxproj.filters new file mode 100644 index 0000000000..97cf2797d4 --- /dev/null +++ b/gst-sdk/tutorials/vs2010/playback-tutorial-3/playback-tutorial-3.vcxproj.filters @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/gst-sdk/tutorials/vs2010/tutorials.sln b/gst-sdk/tutorials/vs2010/tutorials.sln index 39690ca60d..224fb254f1 100644 --- a/gst-sdk/tutorials/vs2010/tutorials.sln +++ b/gst-sdk/tutorials/vs2010/tutorials.sln @@ -27,6 +27,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-12", "basic- EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "playback-tutorial-4", "playback-tutorial-4\playback-tutorial-4.vcxproj", "{0342A79A-3522-416B-A4F8-58F5664B8415}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "playback-tutorial-3", "playback-tutorial-3\playback-tutorial-3.vcxproj", "{B84F4F87-E804-456C-874E-AC76E0116268}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -139,6 +141,14 @@ Global {0342A79A-3522-416B-A4F8-58F5664B8415}.Release|Win32.Build.0 = Release|Win32 {0342A79A-3522-416B-A4F8-58F5664B8415}.Release|x64.ActiveCfg = Release|x64 {0342A79A-3522-416B-A4F8-58F5664B8415}.Release|x64.Build.0 = Release|x64 + {B84F4F87-E804-456C-874E-AC76E0116268}.Debug|Win32.ActiveCfg = Debug|Win32 + {B84F4F87-E804-456C-874E-AC76E0116268}.Debug|Win32.Build.0 = Debug|Win32 + {B84F4F87-E804-456C-874E-AC76E0116268}.Debug|x64.ActiveCfg = Debug|x64 + {B84F4F87-E804-456C-874E-AC76E0116268}.Debug|x64.Build.0 = Debug|x64 + {B84F4F87-E804-456C-874E-AC76E0116268}.Release|Win32.ActiveCfg = Release|Win32 + {B84F4F87-E804-456C-874E-AC76E0116268}.Release|Win32.Build.0 = Release|Win32 + {B84F4F87-E804-456C-874E-AC76E0116268}.Release|x64.ActiveCfg = Release|x64 + {B84F4F87-E804-456C-874E-AC76E0116268}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From 69b6590d03cb6f83d0052190ccf53baa41ba5901 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 19 Jun 2012 17:55:21 +0200 Subject: [PATCH 058/979] Remove unused variable --- gst-sdk/tutorials/playback-tutorial-3.c | 1 - 1 file changed, 1 deletion(-) diff --git a/gst-sdk/tutorials/playback-tutorial-3.c b/gst-sdk/tutorials/playback-tutorial-3.c index f48bca3c25..de6d40fdf5 100644 --- a/gst-sdk/tutorials/playback-tutorial-3.c +++ b/gst-sdk/tutorials/playback-tutorial-3.c @@ -119,7 +119,6 @@ static void source_setup (GstElement *pipeline, GstElement *source, CustomData * int main(int argc, char *argv[]) { CustomData data; GstBus *bus; - guint flags; /* Initialize cumstom data structure */ memset (&data, 0, sizeof (data)); From b2fb2d10ccfb240e82bd8f4147cf6844d2e251fa Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Thu, 21 Jun 2012 16:08:19 +0200 Subject: [PATCH 059/979] Add playback tutorial 5 --- gst-sdk/tutorials/playback-tutorial-5.c | 182 ++++++++++++++++++ .../playback-tutorial-5.vcxproj | 97 ++++++++++ .../playback-tutorial-5.vcxproj.filters | 6 + gst-sdk/tutorials/vs2010/tutorials.sln | 10 + 4 files changed, 295 insertions(+) create mode 100644 gst-sdk/tutorials/playback-tutorial-5.c create mode 100644 gst-sdk/tutorials/vs2010/playback-tutorial-5/playback-tutorial-5.vcxproj create mode 100644 gst-sdk/tutorials/vs2010/playback-tutorial-5/playback-tutorial-5.vcxproj.filters diff --git a/gst-sdk/tutorials/playback-tutorial-5.c b/gst-sdk/tutorials/playback-tutorial-5.c new file mode 100644 index 0000000000..ce04f81a1b --- /dev/null +++ b/gst-sdk/tutorials/playback-tutorial-5.c @@ -0,0 +1,182 @@ +#include +#include +#include + +typedef struct _CustomData { + GstElement *pipeline; + GMainLoop *loop; +} CustomData; + +/* playbin2 flags */ +typedef enum { + GST_PLAY_FLAG_DEINTERLACE = (1 << 9) +} GstPlayFlags; + +/* Process a color balance command */ +static void update_color_channel (const gchar *channel_name, gboolean increase, GstColorBalance *cb) { + gdouble step; + gint value; + GstColorBalanceChannel *channel = NULL; + const GList *channels, *l; + + /* Retrieve the list of channels and locate the requested one */ + channels = gst_color_balance_list_channels (cb); + for (l = channels; l != NULL; l = l->next) { + GstColorBalanceChannel *tmp = (GstColorBalanceChannel *)l->data; + + if (g_strrstr (tmp->label, channel_name)) { + channel = tmp; + break; + } + } + if (!channel) + return; + + /* Change the channel's value */ + step = 0.1 * (channel->max_value - channel->min_value); + value = gst_color_balance_get_value (cb, channel); + if (increase) { + value += step; + if (value > channel->max_value) + value = channel->max_value; + } else { + value -= step; + if (value < channel->min_value) + value = channel->min_value; + } + gst_color_balance_set_value (cb, channel, value); +} + +/* Toggle the deinterlacing flag */ +static void toggle_deinterlace (GstElement *pipeline) { + gint flags; + gint64 current_position = GST_CLOCK_TIME_NONE; + GstFormat format = GST_FORMAT_TIME; + + /* Find current position, since it will be lost when we stop */ + gst_element_query_position (pipeline, &format, ¤t_position); + /* Stop */ + gst_element_set_state (pipeline, GST_STATE_READY); + /* Toggle deinterlacing flag (it will be ignored while PLAYING) */ + g_object_get (pipeline, "flags", &flags, NULL); + flags ^= GST_PLAY_FLAG_DEINTERLACE; + g_object_set (pipeline, "flags", flags, NULL); + /* Resume */ + gst_element_set_state (pipeline, GST_STATE_PLAYING); + /* Wait until the state change takes effect */ + gst_element_get_state (pipeline, NULL, NULL, GST_CLOCK_TIME_NONE); + /* Set current position, if we were able to recover it previously */ + if (GST_CLOCK_TIME_IS_VALID (current_position)) { + gst_element_seek_simple (pipeline, format, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_ACCURATE, current_position); + } +} + +/* Output the current values of all Color Balance channels and the Deinterlace flag */ +static void print_current_values (GstElement *pipeline) { + gint flags; + const GList *channels, *l; + + /* Output Color Balance values */ + channels = gst_color_balance_list_channels (GST_COLOR_BALANCE (pipeline)); + for (l = channels; l != NULL; l = l->next) { + GstColorBalanceChannel *channel = (GstColorBalanceChannel *)l->data; + gint value = gst_color_balance_get_value (GST_COLOR_BALANCE (pipeline), channel); + g_print ("%s: %3d%% ", channel->label, + 100 * (value - channel->min_value) / (channel->max_value - channel->min_value)); + } + + /* Output Deinterlace flag value */ + g_object_get (pipeline, "flags", &flags, NULL); + g_print ("Deinterlacing: %s\n", flags & GST_PLAY_FLAG_DEINTERLACE ? "ON" : "OFF"); +} + +/* Process keyboard input */ +static gboolean handle_keyboard (GIOChannel *source, GIOCondition cond, CustomData *data) { + gchar *str = NULL; + + if (!g_io_channel_read_line (source, &str, NULL, NULL, NULL) == G_IO_STATUS_NORMAL) { + return TRUE; + } + + switch (g_ascii_tolower (str[0])) { + case 'c': + update_color_channel ("CONTRAST", g_ascii_isupper (str[0]), GST_COLOR_BALANCE (data->pipeline)); + break; + case 'b': + update_color_channel ("BRIGHTNESS", g_ascii_isupper (str[0]), GST_COLOR_BALANCE (data->pipeline)); + break; + case 'h': + update_color_channel ("HUE", g_ascii_isupper (str[0]), GST_COLOR_BALANCE (data->pipeline)); + break; + case 's': + update_color_channel ("SATURATION", g_ascii_isupper (str[0]), GST_COLOR_BALANCE (data->pipeline)); + break; + case 'd': + toggle_deinterlace (data->pipeline); + break; + case 'q': + g_main_loop_quit (data->loop); + break; + default: + break; + } + + g_free (str); + + print_current_values (data->pipeline); + + return TRUE; +} + +int main(int argc, char *argv[]) { + CustomData data; + GstStateChangeReturn ret; + GIOChannel *io_stdin; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Initialize our data structure */ + memset (&data, 0, sizeof (data)); + + /* Print usage map */ + g_print ( + "USAGE: Choose one of the following options, then press enter:\n" + " 'C' to increase contrast, 'c' to decrease contrast\n" + " 'B' to increase brightness, 'b' to decrease brightness\n" + " 'H' to increase hue, 'h' to decrease hue\n" + " 'S' to increase saturation, 's' to decrease saturation\n" + " 'D' to toggle deinterlacing ON and OFF\n" + " 'Q' to quit\n"); + + /* Build the pipeline */ + data.pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480i.avi", NULL); + + /* Add a keyboard watch so we get notified of keystrokes */ +#ifdef _WIN32 + io_stdin = g_io_channel_win32_new_fd (fileno (stdin)); +#else + io_stdin = g_io_channel_unix_new (fileno (stdin)); +#endif + g_io_add_watch (io_stdin, G_IO_IN, (GIOFunc)handle_keyboard, &data); + + /* Start playing */ + ret = gst_element_set_state (data.pipeline, GST_STATE_PLAYING); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (data.pipeline); + return -1; + } + print_current_values (data.pipeline); + + /* Create a GLib Main Loop and set it to run */ + data.loop = g_main_loop_new (NULL, FALSE); + g_main_loop_run (data.loop); + + /* Free resources */ + g_main_loop_unref (data.loop); + g_io_channel_unref (io_stdin); + gst_element_set_state (data.pipeline, GST_STATE_NULL); + gst_object_unref (data.pipeline); + return 0; +} diff --git a/gst-sdk/tutorials/vs2010/playback-tutorial-5/playback-tutorial-5.vcxproj b/gst-sdk/tutorials/vs2010/playback-tutorial-5/playback-tutorial-5.vcxproj new file mode 100644 index 0000000000..3bfe49f9ba --- /dev/null +++ b/gst-sdk/tutorials/vs2010/playback-tutorial-5/playback-tutorial-5.vcxproj @@ -0,0 +1,97 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + + + + Win32Proj + {57F94395-E9A1-430E-AF28-165FD9BE0872} + v4.0 + + + + Application + true + Unicode + + + Application + false + true + Unicode + + + + + + + + + + + + + + + + + + + true + + + false + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + %(AdditionalDependencies) + %(AdditionalLibraryDirectories) + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + false + true + + + + + + \ No newline at end of file diff --git a/gst-sdk/tutorials/vs2010/playback-tutorial-5/playback-tutorial-5.vcxproj.filters b/gst-sdk/tutorials/vs2010/playback-tutorial-5/playback-tutorial-5.vcxproj.filters new file mode 100644 index 0000000000..d11ad27c8d --- /dev/null +++ b/gst-sdk/tutorials/vs2010/playback-tutorial-5/playback-tutorial-5.vcxproj.filters @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/gst-sdk/tutorials/vs2010/tutorials.sln b/gst-sdk/tutorials/vs2010/tutorials.sln index 224fb254f1..34d0e6ec0e 100644 --- a/gst-sdk/tutorials/vs2010/tutorials.sln +++ b/gst-sdk/tutorials/vs2010/tutorials.sln @@ -29,6 +29,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "playback-tutorial-4", "play EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "playback-tutorial-3", "playback-tutorial-3\playback-tutorial-3.vcxproj", "{B84F4F87-E804-456C-874E-AC76E0116268}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "playback-tutorial-5", "playback-tutorial-5\playback-tutorial-5.vcxproj", "{57F94395-E9A1-430E-AF28-165FD9BE0872}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -149,6 +151,14 @@ Global {B84F4F87-E804-456C-874E-AC76E0116268}.Release|Win32.Build.0 = Release|Win32 {B84F4F87-E804-456C-874E-AC76E0116268}.Release|x64.ActiveCfg = Release|x64 {B84F4F87-E804-456C-874E-AC76E0116268}.Release|x64.Build.0 = Release|x64 + {57F94395-E9A1-430E-AF28-165FD9BE0872}.Debug|Win32.ActiveCfg = Debug|Win32 + {57F94395-E9A1-430E-AF28-165FD9BE0872}.Debug|Win32.Build.0 = Debug|Win32 + {57F94395-E9A1-430E-AF28-165FD9BE0872}.Debug|x64.ActiveCfg = Debug|x64 + {57F94395-E9A1-430E-AF28-165FD9BE0872}.Debug|x64.Build.0 = Debug|x64 + {57F94395-E9A1-430E-AF28-165FD9BE0872}.Release|Win32.ActiveCfg = Release|Win32 + {57F94395-E9A1-430E-AF28-165FD9BE0872}.Release|Win32.Build.0 = Release|Win32 + {57F94395-E9A1-430E-AF28-165FD9BE0872}.Release|x64.ActiveCfg = Release|x64 + {57F94395-E9A1-430E-AF28-165FD9BE0872}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From e6e3719d25a75bd0b8fb164fbef8f747d2124709 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 22 Jun 2012 12:57:24 +0200 Subject: [PATCH 060/979] Fix Carriage Returns --- gst-sdk/tutorials/playback-tutorial-5.c | 353 ++++++++++++------------ 1 file changed, 178 insertions(+), 175 deletions(-) diff --git a/gst-sdk/tutorials/playback-tutorial-5.c b/gst-sdk/tutorials/playback-tutorial-5.c index ce04f81a1b..1fc58d41da 100644 --- a/gst-sdk/tutorials/playback-tutorial-5.c +++ b/gst-sdk/tutorials/playback-tutorial-5.c @@ -1,182 +1,185 @@ -#include -#include -#include - +#include +#include +#include + typedef struct _CustomData { GstElement *pipeline; GMainLoop *loop; -} CustomData; - +} CustomData; + /* playbin2 flags */ typedef enum { GST_PLAY_FLAG_DEINTERLACE = (1 << 9) -} GstPlayFlags; - -/* Process a color balance command */ -static void update_color_channel (const gchar *channel_name, gboolean increase, GstColorBalance *cb) { - gdouble step; - gint value; - GstColorBalanceChannel *channel = NULL; - const GList *channels, *l; - - /* Retrieve the list of channels and locate the requested one */ - channels = gst_color_balance_list_channels (cb); - for (l = channels; l != NULL; l = l->next) { - GstColorBalanceChannel *tmp = (GstColorBalanceChannel *)l->data; - - if (g_strrstr (tmp->label, channel_name)) { - channel = tmp; - break; - } - } - if (!channel) - return; - - /* Change the channel's value */ - step = 0.1 * (channel->max_value - channel->min_value); - value = gst_color_balance_get_value (cb, channel); - if (increase) { - value += step; - if (value > channel->max_value) - value = channel->max_value; - } else { - value -= step; - if (value < channel->min_value) - value = channel->min_value; - } - gst_color_balance_set_value (cb, channel, value); -} - -/* Toggle the deinterlacing flag */ -static void toggle_deinterlace (GstElement *pipeline) { - gint flags; - gint64 current_position = GST_CLOCK_TIME_NONE; - GstFormat format = GST_FORMAT_TIME; - - /* Find current position, since it will be lost when we stop */ - gst_element_query_position (pipeline, &format, ¤t_position); - /* Stop */ - gst_element_set_state (pipeline, GST_STATE_READY); - /* Toggle deinterlacing flag (it will be ignored while PLAYING) */ - g_object_get (pipeline, "flags", &flags, NULL); - flags ^= GST_PLAY_FLAG_DEINTERLACE; - g_object_set (pipeline, "flags", flags, NULL); - /* Resume */ - gst_element_set_state (pipeline, GST_STATE_PLAYING); - /* Wait until the state change takes effect */ - gst_element_get_state (pipeline, NULL, NULL, GST_CLOCK_TIME_NONE); - /* Set current position, if we were able to recover it previously */ - if (GST_CLOCK_TIME_IS_VALID (current_position)) { - gst_element_seek_simple (pipeline, format, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_ACCURATE, current_position); - } -} - -/* Output the current values of all Color Balance channels and the Deinterlace flag */ -static void print_current_values (GstElement *pipeline) { - gint flags; - const GList *channels, *l; - - /* Output Color Balance values */ - channels = gst_color_balance_list_channels (GST_COLOR_BALANCE (pipeline)); - for (l = channels; l != NULL; l = l->next) { - GstColorBalanceChannel *channel = (GstColorBalanceChannel *)l->data; - gint value = gst_color_balance_get_value (GST_COLOR_BALANCE (pipeline), channel); - g_print ("%s: %3d%% ", channel->label, - 100 * (value - channel->min_value) / (channel->max_value - channel->min_value)); - } - - /* Output Deinterlace flag value */ - g_object_get (pipeline, "flags", &flags, NULL); - g_print ("Deinterlacing: %s\n", flags & GST_PLAY_FLAG_DEINTERLACE ? "ON" : "OFF"); -} - -/* Process keyboard input */ -static gboolean handle_keyboard (GIOChannel *source, GIOCondition cond, CustomData *data) { - gchar *str = NULL; - - if (!g_io_channel_read_line (source, &str, NULL, NULL, NULL) == G_IO_STATUS_NORMAL) { - return TRUE; - } - - switch (g_ascii_tolower (str[0])) { - case 'c': - update_color_channel ("CONTRAST", g_ascii_isupper (str[0]), GST_COLOR_BALANCE (data->pipeline)); - break; - case 'b': - update_color_channel ("BRIGHTNESS", g_ascii_isupper (str[0]), GST_COLOR_BALANCE (data->pipeline)); - break; - case 'h': - update_color_channel ("HUE", g_ascii_isupper (str[0]), GST_COLOR_BALANCE (data->pipeline)); - break; - case 's': - update_color_channel ("SATURATION", g_ascii_isupper (str[0]), GST_COLOR_BALANCE (data->pipeline)); - break; - case 'd': - toggle_deinterlace (data->pipeline); - break; - case 'q': - g_main_loop_quit (data->loop); - break; - default: - break; - } - - g_free (str); - - print_current_values (data->pipeline); - - return TRUE; -} - -int main(int argc, char *argv[]) { - CustomData data; - GstStateChangeReturn ret; - GIOChannel *io_stdin; - - /* Initialize GStreamer */ - gst_init (&argc, &argv); +} GstPlayFlags; - /* Initialize our data structure */ - memset (&data, 0, sizeof (data)); - - /* Print usage map */ - g_print ( - "USAGE: Choose one of the following options, then press enter:\n" - " 'C' to increase contrast, 'c' to decrease contrast\n" - " 'B' to increase brightness, 'b' to decrease brightness\n" - " 'H' to increase hue, 'h' to decrease hue\n" - " 'S' to increase saturation, 's' to decrease saturation\n" - " 'D' to toggle deinterlacing ON and OFF\n" - " 'Q' to quit\n"); - - /* Build the pipeline */ - data.pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480i.avi", NULL); - - /* Add a keyboard watch so we get notified of keystrokes */ -#ifdef _WIN32 - io_stdin = g_io_channel_win32_new_fd (fileno (stdin)); -#else - io_stdin = g_io_channel_unix_new (fileno (stdin)); -#endif - g_io_add_watch (io_stdin, G_IO_IN, (GIOFunc)handle_keyboard, &data); - - /* Start playing */ - ret = gst_element_set_state (data.pipeline, GST_STATE_PLAYING); - if (ret == GST_STATE_CHANGE_FAILURE) { - g_printerr ("Unable to set the pipeline to the playing state.\n"); - gst_object_unref (data.pipeline); - return -1; - } - print_current_values (data.pipeline); - - /* Create a GLib Main Loop and set it to run */ - data.loop = g_main_loop_new (NULL, FALSE); - g_main_loop_run (data.loop); - - /* Free resources */ - g_main_loop_unref (data.loop); - g_io_channel_unref (io_stdin); - gst_element_set_state (data.pipeline, GST_STATE_NULL); - gst_object_unref (data.pipeline); - return 0; -} +/* Process a color balance command */ +static void update_color_channel (const gchar *channel_name, gboolean increase, GstColorBalance *cb) { + gdouble step; + gint value; + GstColorBalanceChannel *channel = NULL; + const GList *channels, *l; + + /* Retrieve the list of channels and locate the requested one */ + channels = gst_color_balance_list_channels (cb); + for (l = channels; l != NULL; l = l->next) { + GstColorBalanceChannel *tmp = (GstColorBalanceChannel *)l->data; + + if (g_strrstr (tmp->label, channel_name)) { + channel = tmp; + break; + } + } + if (!channel) + return; + + /* Change the channel's value */ + step = 0.1 * (channel->max_value - channel->min_value); + value = gst_color_balance_get_value (cb, channel); + if (increase) { + value += step; + if (value > channel->max_value) + value = channel->max_value; + } else { + value -= step; + if (value < channel->min_value) + value = channel->min_value; + } + gst_color_balance_set_value (cb, channel, value); +} + +/* Toggle the deinterlacing flag */ +static void toggle_deinterlace (GstElement *pipeline) { + gint flags; + gint64 current_position = GST_CLOCK_TIME_NONE; + GstFormat format = GST_FORMAT_TIME; + + /* Find current position, since it will be lost when we stop */ + gst_element_query_position (pipeline, &format, ¤t_position); + /* Stop */ + GST_DEBUG_BIN_TO_DOT_FILE(GST_BIN (pipeline), GST_DEBUG_GRAPH_SHOW_ALL, "before.dot"); + gst_element_set_state (pipeline, GST_STATE_READY); + /* Toggle deinterlacing flag (it will be ignored while PLAYING) */ + g_object_get (pipeline, "flags", &flags, NULL); + flags ^= GST_PLAY_FLAG_DEINTERLACE; + g_object_set (pipeline, "flags", flags, NULL); + /* Resume */ + gst_element_set_state (pipeline, GST_STATE_PLAYING); + /* Wait until the state change takes effect */ + gst_element_get_state (pipeline, NULL, NULL, GST_CLOCK_TIME_NONE); + GST_DEBUG_BIN_TO_DOT_FILE(GST_BIN (pipeline), GST_DEBUG_GRAPH_SHOW_ALL, "after.dot"); + /* Set current position, if we were able to recover it previously */ + if (GST_CLOCK_TIME_IS_VALID (current_position)) { + gst_element_seek_simple (pipeline, format, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_ACCURATE, current_position); + } +} + +/* Output the current values of all Color Balance channels and the Deinterlace flag */ +static void print_current_values (GstElement *pipeline) { + gint flags; + const GList *channels, *l; + + /* Output Color Balance values */ + channels = gst_color_balance_list_channels (GST_COLOR_BALANCE (pipeline)); + for (l = channels; l != NULL; l = l->next) { + GstColorBalanceChannel *channel = (GstColorBalanceChannel *)l->data; + gint value = gst_color_balance_get_value (GST_COLOR_BALANCE (pipeline), channel); + g_print ("%s: %3d%% ", channel->label, + 100 * (value - channel->min_value) / (channel->max_value - channel->min_value)); + } + + /* Output Deinterlace flag value */ + g_object_get (pipeline, "flags", &flags, NULL); + g_print ("Deinterlacing: %s\n", flags & GST_PLAY_FLAG_DEINTERLACE ? "ON" : "OFF"); +} + +/* Process keyboard input */ +static gboolean handle_keyboard (GIOChannel *source, GIOCondition cond, CustomData *data) { + gchar *str = NULL; + + if (!g_io_channel_read_line (source, &str, NULL, NULL, NULL) == G_IO_STATUS_NORMAL) { + return TRUE; + } + + switch (g_ascii_tolower (str[0])) { + case 'c': + update_color_channel ("CONTRAST", g_ascii_isupper (str[0]), GST_COLOR_BALANCE (data->pipeline)); + break; + case 'b': + update_color_channel ("BRIGHTNESS", g_ascii_isupper (str[0]), GST_COLOR_BALANCE (data->pipeline)); + break; + case 'h': + update_color_channel ("HUE", g_ascii_isupper (str[0]), GST_COLOR_BALANCE (data->pipeline)); + break; + case 's': + update_color_channel ("SATURATION", g_ascii_isupper (str[0]), GST_COLOR_BALANCE (data->pipeline)); + break; + case 'd': + toggle_deinterlace (data->pipeline); + break; + case 'q': + g_main_loop_quit (data->loop); + break; + default: + break; + } + + g_free (str); + + print_current_values (data->pipeline); + + return TRUE; +} + +int main(int argc, char *argv[]) { + CustomData data; + GstStateChangeReturn ret; + GIOChannel *io_stdin; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Initialize our data structure */ + memset (&data, 0, sizeof (data)); + + /* Print usage map */ + g_print ( + "USAGE: Choose one of the following options, then press enter:\n" + " 'C' to increase contrast, 'c' to decrease contrast\n" + " 'B' to increase brightness, 'b' to decrease brightness\n" + " 'H' to increase hue, 'h' to decrease hue\n" + " 'S' to increase saturation, 's' to decrease saturation\n" + " 'D' to toggle deinterlacing ON and OFF\n" + " 'Q' to quit\n"); + + /* Build the pipeline */ + data.pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480i.avi", NULL); + g_object_set (data.pipeline, "flags", (gint)0x0417, NULL); + + /* Add a keyboard watch so we get notified of keystrokes */ +#ifdef _WIN32 + io_stdin = g_io_channel_win32_new_fd (fileno (stdin)); +#else + io_stdin = g_io_channel_unix_new (fileno (stdin)); +#endif + g_io_add_watch (io_stdin, G_IO_IN, (GIOFunc)handle_keyboard, &data); + + /* Start playing */ + ret = gst_element_set_state (data.pipeline, GST_STATE_PLAYING); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (data.pipeline); + return -1; + } + print_current_values (data.pipeline); + + /* Create a GLib Main Loop and set it to run */ + data.loop = g_main_loop_new (NULL, FALSE); + g_main_loop_run (data.loop); + + /* Free resources */ + g_main_loop_unref (data.loop); + g_io_channel_unref (io_stdin); + gst_element_set_state (data.pipeline, GST_STATE_NULL); + gst_object_unref (data.pipeline); + return 0; +} From ef0bd3ef083dcfddea7438579dca98240ddf375c Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 22 Jun 2012 13:55:37 +0200 Subject: [PATCH 061/979] Remove unneeded debug info. --- gst-sdk/tutorials/playback-tutorial-5.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/gst-sdk/tutorials/playback-tutorial-5.c b/gst-sdk/tutorials/playback-tutorial-5.c index 1fc58d41da..0e2682ac13 100644 --- a/gst-sdk/tutorials/playback-tutorial-5.c +++ b/gst-sdk/tutorials/playback-tutorial-5.c @@ -56,7 +56,6 @@ static void toggle_deinterlace (GstElement *pipeline) { /* Find current position, since it will be lost when we stop */ gst_element_query_position (pipeline, &format, ¤t_position); /* Stop */ - GST_DEBUG_BIN_TO_DOT_FILE(GST_BIN (pipeline), GST_DEBUG_GRAPH_SHOW_ALL, "before.dot"); gst_element_set_state (pipeline, GST_STATE_READY); /* Toggle deinterlacing flag (it will be ignored while PLAYING) */ g_object_get (pipeline, "flags", &flags, NULL); @@ -66,7 +65,6 @@ static void toggle_deinterlace (GstElement *pipeline) { gst_element_set_state (pipeline, GST_STATE_PLAYING); /* Wait until the state change takes effect */ gst_element_get_state (pipeline, NULL, NULL, GST_CLOCK_TIME_NONE); - GST_DEBUG_BIN_TO_DOT_FILE(GST_BIN (pipeline), GST_DEBUG_GRAPH_SHOW_ALL, "after.dot"); /* Set current position, if we were able to recover it previously */ if (GST_CLOCK_TIME_IS_VALID (current_position)) { gst_element_seek_simple (pipeline, format, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_ACCURATE, current_position); From d9b9e9bf11368ea4a41b0fa0929370b881456645 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 25 Jun 2012 10:25:17 +0200 Subject: [PATCH 062/979] Remove unnecessary playbin2 flags. --- gst-sdk/tutorials/playback-tutorial-5.c | 1 - 1 file changed, 1 deletion(-) diff --git a/gst-sdk/tutorials/playback-tutorial-5.c b/gst-sdk/tutorials/playback-tutorial-5.c index 0e2682ac13..11ddd6ba96 100644 --- a/gst-sdk/tutorials/playback-tutorial-5.c +++ b/gst-sdk/tutorials/playback-tutorial-5.c @@ -151,7 +151,6 @@ int main(int argc, char *argv[]) { /* Build the pipeline */ data.pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480i.avi", NULL); - g_object_set (data.pipeline, "flags", (gint)0x0417, NULL); /* Add a keyboard watch so we get notified of keystrokes */ #ifdef _WIN32 From 17d3c4557d18105eaea07b4af973619bca28499b Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 25 Jun 2012 11:07:24 +0200 Subject: [PATCH 063/979] Clarify comparison. --- gst-sdk/tutorials/playback-tutorial-5.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/playback-tutorial-5.c b/gst-sdk/tutorials/playback-tutorial-5.c index 11ddd6ba96..1bb6597d3f 100644 --- a/gst-sdk/tutorials/playback-tutorial-5.c +++ b/gst-sdk/tutorials/playback-tutorial-5.c @@ -94,7 +94,7 @@ static void print_current_values (GstElement *pipeline) { static gboolean handle_keyboard (GIOChannel *source, GIOCondition cond, CustomData *data) { gchar *str = NULL; - if (!g_io_channel_read_line (source, &str, NULL, NULL, NULL) == G_IO_STATUS_NORMAL) { + if (g_io_channel_read_line (source, &str, NULL, NULL, NULL) != G_IO_STATUS_NORMAL) { return TRUE; } From 87b9d58e953a6e9a1edb9b2f3274d1976f2bb75e Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 25 Jun 2012 15:53:28 +0200 Subject: [PATCH 064/979] Fix precision warning. --- gst-sdk/tutorials/playback-tutorial-5.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gst-sdk/tutorials/playback-tutorial-5.c b/gst-sdk/tutorials/playback-tutorial-5.c index 1bb6597d3f..d89c7f289c 100644 --- a/gst-sdk/tutorials/playback-tutorial-5.c +++ b/gst-sdk/tutorials/playback-tutorial-5.c @@ -36,11 +36,11 @@ static void update_color_channel (const gchar *channel_name, gboolean increase, step = 0.1 * (channel->max_value - channel->min_value); value = gst_color_balance_get_value (cb, channel); if (increase) { - value += step; + value = (gint)(value + step); if (value > channel->max_value) value = channel->max_value; } else { - value -= step; + value = (gint)(value - step); if (value < channel->min_value) value = channel->min_value; } From 989e16d36651c9ceea578ee27feb63c0d5b8cae7 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 25 Jun 2012 17:31:35 +0200 Subject: [PATCH 065/979] Remove deinterlacing stuff. This is a Color Balance tutorial from now on. --- gst-sdk/tutorials/playback-tutorial-5.c | 47 +++---------------------- 1 file changed, 5 insertions(+), 42 deletions(-) diff --git a/gst-sdk/tutorials/playback-tutorial-5.c b/gst-sdk/tutorials/playback-tutorial-5.c index d89c7f289c..a09f6ab089 100644 --- a/gst-sdk/tutorials/playback-tutorial-5.c +++ b/gst-sdk/tutorials/playback-tutorial-5.c @@ -7,11 +7,6 @@ typedef struct _CustomData { GMainLoop *loop; } CustomData; -/* playbin2 flags */ -typedef enum { - GST_PLAY_FLAG_DEINTERLACE = (1 << 9) -} GstPlayFlags; - /* Process a color balance command */ static void update_color_channel (const gchar *channel_name, gboolean increase, GstColorBalance *cb) { gdouble step; @@ -38,42 +33,17 @@ static void update_color_channel (const gchar *channel_name, gboolean increase, if (increase) { value = (gint)(value + step); if (value > channel->max_value) - value = channel->max_value; + value = channel->max_value; } else { value = (gint)(value - step); if (value < channel->min_value) - value = channel->min_value; + value = channel->min_value; } gst_color_balance_set_value (cb, channel, value); } -/* Toggle the deinterlacing flag */ -static void toggle_deinterlace (GstElement *pipeline) { - gint flags; - gint64 current_position = GST_CLOCK_TIME_NONE; - GstFormat format = GST_FORMAT_TIME; - - /* Find current position, since it will be lost when we stop */ - gst_element_query_position (pipeline, &format, ¤t_position); - /* Stop */ - gst_element_set_state (pipeline, GST_STATE_READY); - /* Toggle deinterlacing flag (it will be ignored while PLAYING) */ - g_object_get (pipeline, "flags", &flags, NULL); - flags ^= GST_PLAY_FLAG_DEINTERLACE; - g_object_set (pipeline, "flags", flags, NULL); - /* Resume */ - gst_element_set_state (pipeline, GST_STATE_PLAYING); - /* Wait until the state change takes effect */ - gst_element_get_state (pipeline, NULL, NULL, GST_CLOCK_TIME_NONE); - /* Set current position, if we were able to recover it previously */ - if (GST_CLOCK_TIME_IS_VALID (current_position)) { - gst_element_seek_simple (pipeline, format, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_ACCURATE, current_position); - } -} - -/* Output the current values of all Color Balance channels and the Deinterlace flag */ +/* Output the current values of all Color Balance channels */ static void print_current_values (GstElement *pipeline) { - gint flags; const GList *channels, *l; /* Output Color Balance values */ @@ -84,10 +54,7 @@ static void print_current_values (GstElement *pipeline) { g_print ("%s: %3d%% ", channel->label, 100 * (value - channel->min_value) / (channel->max_value - channel->min_value)); } - - /* Output Deinterlace flag value */ - g_object_get (pipeline, "flags", &flags, NULL); - g_print ("Deinterlacing: %s\n", flags & GST_PLAY_FLAG_DEINTERLACE ? "ON" : "OFF"); + g_print ("\n"); } /* Process keyboard input */ @@ -111,9 +78,6 @@ static gboolean handle_keyboard (GIOChannel *source, GIOCondition cond, CustomDa case 's': update_color_channel ("SATURATION", g_ascii_isupper (str[0]), GST_COLOR_BALANCE (data->pipeline)); break; - case 'd': - toggle_deinterlace (data->pipeline); - break; case 'q': g_main_loop_quit (data->loop); break; @@ -146,11 +110,10 @@ int main(int argc, char *argv[]) { " 'B' to increase brightness, 'b' to decrease brightness\n" " 'H' to increase hue, 'h' to decrease hue\n" " 'S' to increase saturation, 's' to decrease saturation\n" - " 'D' to toggle deinterlacing ON and OFF\n" " 'Q' to quit\n"); /* Build the pipeline */ - data.pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480i.avi", NULL); + data.pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); /* Add a keyboard watch so we get notified of keystrokes */ #ifdef _WIN32 From 9e05d50a5f74adbb49face3553971f58318efaa8 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 26 Jun 2012 10:50:08 +0200 Subject: [PATCH 066/979] Added playback-tutorial-6. --- gst-sdk/tutorials/playback-tutorial-6.c | 84 ++++++++++++++++ .../playback-tutorial-6.vcxproj | 95 +++++++++++++++++++ .../playback-tutorial-6.vcxproj.filters | 6 ++ gst-sdk/tutorials/vs2010/tutorials.sln | 10 ++ 4 files changed, 195 insertions(+) create mode 100644 gst-sdk/tutorials/playback-tutorial-6.c create mode 100644 gst-sdk/tutorials/vs2010/playback-tutorial-6/playback-tutorial-6.vcxproj create mode 100644 gst-sdk/tutorials/vs2010/playback-tutorial-6/playback-tutorial-6.vcxproj.filters diff --git a/gst-sdk/tutorials/playback-tutorial-6.c b/gst-sdk/tutorials/playback-tutorial-6.c new file mode 100644 index 0000000000..59e1405335 --- /dev/null +++ b/gst-sdk/tutorials/playback-tutorial-6.c @@ -0,0 +1,84 @@ +#include + +/* playbin2 flags */ +typedef enum { + GST_PLAY_FLAG_VIS = (1 << 3) /* Enable rendering of visualisations when there is no video stream. */ +} GstPlayFlags; + +/* Return TRUE if this is a Visualization element */ +static gboolean filter_vis_features (GstPluginFeature *feature, gpointer data) { + GstElementFactory *factory; + + if (!GST_IS_ELEMENT_FACTORY (feature)) + return FALSE; + factory = GST_ELEMENT_FACTORY (feature); + if (!g_strrstr (gst_element_factory_get_klass (factory), "Visualization")) + return FALSE; + + return TRUE; +} + +int main(int argc, char *argv[]) { + GstElement *pipeline, *vis_plugin; + GstBus *bus; + GstMessage *msg; + GList *list, *walk; + GstElementFactory *factory = NULL; + guint flags; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Get a list of all visualization plugins */ + list = gst_registry_feature_filter (gst_registry_get_default (), filter_vis_features, FALSE, NULL); + + /* Print their names */ + g_print("Available visualization plugins:\n"); + for (walk = list; walk != NULL; walk = g_list_next (walk)) { + const gchar *name; + + factory = GST_ELEMENT_FACTORY (walk->data); + name = gst_element_factory_get_longname (factory); + + g_print(" %s\n", name); + } + + /* Don't use the factory if it's still empty */ + /* e.g. no visualization plugins found */ + if (!factory) { + g_print ("No visualization plugins found!\n"); + return -1; + } + + /* We now have factory pointing to the last Visualization plugin found */ + vis_plugin = gst_element_factory_create (factory, NULL); + if (!vis_plugin) + return -1; + + /* Build the pipeline */ + pipeline = gst_parse_launch ("playbin2 uri=http://radio.goha.ru:8000/grindfm.ogg", NULL); + + /* Set the visualization flag */ + g_object_get (pipeline, "flags", &flags, NULL); + flags |= GST_PLAY_FLAG_VIS; + g_object_set (pipeline, "flags", flags, NULL); + + /* set vis plugin for playbin2 */ + g_object_set (pipeline, "vis-plugin", vis_plugin, NULL); + + /* Start playing */ + gst_element_set_state (pipeline, GST_STATE_PLAYING); + + /* Wait until error or EOS */ + bus = gst_element_get_bus (pipeline); + msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, GST_MESSAGE_ERROR | GST_MESSAGE_EOS); + + /* Free resources */ + if (msg != NULL) + gst_message_unref (msg); + gst_plugin_feature_list_free (list); + gst_object_unref (bus); + gst_element_set_state (pipeline, GST_STATE_NULL); + gst_object_unref (pipeline); + return 0; +} diff --git a/gst-sdk/tutorials/vs2010/playback-tutorial-6/playback-tutorial-6.vcxproj b/gst-sdk/tutorials/vs2010/playback-tutorial-6/playback-tutorial-6.vcxproj new file mode 100644 index 0000000000..e168038c59 --- /dev/null +++ b/gst-sdk/tutorials/vs2010/playback-tutorial-6/playback-tutorial-6.vcxproj @@ -0,0 +1,95 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + + + + Win32Proj + {D6293AFD-41DA-44B6-AE57-F1EEE74338AC} + v4.0 + + + + Application + true + Unicode + + + Application + false + true + Unicode + + + + + + + + + + + + + + + + + true + + + false + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + %(AdditionalDependencies) + %(AdditionalLibraryDirectories) + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + false + true + + + + + + \ No newline at end of file diff --git a/gst-sdk/tutorials/vs2010/playback-tutorial-6/playback-tutorial-6.vcxproj.filters b/gst-sdk/tutorials/vs2010/playback-tutorial-6/playback-tutorial-6.vcxproj.filters new file mode 100644 index 0000000000..44ffbcdab4 --- /dev/null +++ b/gst-sdk/tutorials/vs2010/playback-tutorial-6/playback-tutorial-6.vcxproj.filters @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/gst-sdk/tutorials/vs2010/tutorials.sln b/gst-sdk/tutorials/vs2010/tutorials.sln index 34d0e6ec0e..cb04202399 100644 --- a/gst-sdk/tutorials/vs2010/tutorials.sln +++ b/gst-sdk/tutorials/vs2010/tutorials.sln @@ -31,6 +31,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "playback-tutorial-3", "play EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "playback-tutorial-5", "playback-tutorial-5\playback-tutorial-5.vcxproj", "{57F94395-E9A1-430E-AF28-165FD9BE0872}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "playback-tutorial-6", "playback-tutorial-6\playback-tutorial-6.vcxproj", "{D6293AFD-41DA-44B6-AE57-F1EEE74338AC}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -159,6 +161,14 @@ Global {57F94395-E9A1-430E-AF28-165FD9BE0872}.Release|Win32.Build.0 = Release|Win32 {57F94395-E9A1-430E-AF28-165FD9BE0872}.Release|x64.ActiveCfg = Release|x64 {57F94395-E9A1-430E-AF28-165FD9BE0872}.Release|x64.Build.0 = Release|x64 + {D6293AFD-41DA-44B6-AE57-F1EEE74338AC}.Debug|Win32.ActiveCfg = Debug|Win32 + {D6293AFD-41DA-44B6-AE57-F1EEE74338AC}.Debug|Win32.Build.0 = Debug|Win32 + {D6293AFD-41DA-44B6-AE57-F1EEE74338AC}.Debug|x64.ActiveCfg = Debug|x64 + {D6293AFD-41DA-44B6-AE57-F1EEE74338AC}.Debug|x64.Build.0 = Debug|x64 + {D6293AFD-41DA-44B6-AE57-F1EEE74338AC}.Release|Win32.ActiveCfg = Release|Win32 + {D6293AFD-41DA-44B6-AE57-F1EEE74338AC}.Release|Win32.Build.0 = Release|Win32 + {D6293AFD-41DA-44B6-AE57-F1EEE74338AC}.Release|x64.ActiveCfg = Release|x64 + {D6293AFD-41DA-44B6-AE57-F1EEE74338AC}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From a4ca0d8c0c90643e5a5f8b0793e11763b8d0148a Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 26 Jun 2012 13:25:16 +0200 Subject: [PATCH 067/979] Prefer GOOM over other visuals. Radio station that does not use chained-ogg files. --- gst-sdk/tutorials/playback-tutorial-6.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/gst-sdk/tutorials/playback-tutorial-6.c b/gst-sdk/tutorials/playback-tutorial-6.c index 59e1405335..31a3a42862 100644 --- a/gst-sdk/tutorials/playback-tutorial-6.c +++ b/gst-sdk/tutorials/playback-tutorial-6.c @@ -2,7 +2,7 @@ /* playbin2 flags */ typedef enum { - GST_PLAY_FLAG_VIS = (1 << 3) /* Enable rendering of visualisations when there is no video stream. */ + GST_PLAY_FLAG_VIS = (1 << 3) /* Enable rendering of visualizations when there is no video stream. */ } GstPlayFlags; /* Return TRUE if this is a Visualization element */ @@ -23,7 +23,7 @@ int main(int argc, char *argv[]) { GstBus *bus; GstMessage *msg; GList *list, *walk; - GstElementFactory *factory = NULL; + GstElementFactory *selected_factory = NULL; guint flags; /* Initialize GStreamer */ @@ -36,27 +36,32 @@ int main(int argc, char *argv[]) { g_print("Available visualization plugins:\n"); for (walk = list; walk != NULL; walk = g_list_next (walk)) { const gchar *name; + GstElementFactory *factory; factory = GST_ELEMENT_FACTORY (walk->data); name = gst_element_factory_get_longname (factory); - g_print(" %s\n", name); + + if (selected_factory == NULL || g_str_has_prefix (name, "GOOM")) { + selected_factory = factory; + } } /* Don't use the factory if it's still empty */ /* e.g. no visualization plugins found */ - if (!factory) { + if (!selected_factory) { g_print ("No visualization plugins found!\n"); return -1; } - /* We now have factory pointing to the last Visualization plugin found */ - vis_plugin = gst_element_factory_create (factory, NULL); + /* We have now selected a factory for the visualization element */ + g_print ("Selected '%s'\n", gst_element_factory_get_longname (selected_factory)); + vis_plugin = gst_element_factory_create (selected_factory, NULL); if (!vis_plugin) return -1; /* Build the pipeline */ - pipeline = gst_parse_launch ("playbin2 uri=http://radio.goha.ru:8000/grindfm.ogg", NULL); + pipeline = gst_parse_launch ("playbin2 uri=http://radio.hbr1.com:19800/ambient.ogg", NULL); /* Set the visualization flag */ g_object_get (pipeline, "flags", &flags, NULL); From bdc179a654023eae3cc7f2aac6bd4dbdd9e0de48 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 26 Jun 2012 18:19:10 +0200 Subject: [PATCH 068/979] Whitespace --- gst-sdk/tutorials/basic-tutorial-3.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/basic-tutorial-3.c b/gst-sdk/tutorials/basic-tutorial-3.c index 204b930a83..c4ac241f92 100644 --- a/gst-sdk/tutorials/basic-tutorial-3.c +++ b/gst-sdk/tutorials/basic-tutorial-3.c @@ -28,7 +28,7 @@ int main(int argc, char *argv[]) { /* Create the empty pipeline */ data.pipeline = gst_pipeline_new ("test-pipeline"); - + if (!data.pipeline || !data.source || !data.convert || !data.sink) { g_printerr ("Not all elements could be created.\n"); return -1; From 5b0195b360a84a39f321b338d8089acfd5cd6763 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 26 Jun 2012 18:21:52 +0200 Subject: [PATCH 069/979] Initial version. --- gst-sdk/tutorials/playback-tutorial-7.c | 54 +++++++++++ .../playback-tutorial-7.vcxproj | 95 +++++++++++++++++++ .../playback-tutorial-7.vcxproj.filters | 6 ++ gst-sdk/tutorials/vs2010/tutorials.sln | 10 ++ 4 files changed, 165 insertions(+) create mode 100644 gst-sdk/tutorials/playback-tutorial-7.c create mode 100644 gst-sdk/tutorials/vs2010/playback-tutorial-7/playback-tutorial-7.vcxproj create mode 100644 gst-sdk/tutorials/vs2010/playback-tutorial-7/playback-tutorial-7.vcxproj.filters diff --git a/gst-sdk/tutorials/playback-tutorial-7.c b/gst-sdk/tutorials/playback-tutorial-7.c new file mode 100644 index 0000000000..da0570b003 --- /dev/null +++ b/gst-sdk/tutorials/playback-tutorial-7.c @@ -0,0 +1,54 @@ +#include + +int main(int argc, char *argv[]) { + GstElement *pipeline, *bin, *equalizer, *sink; + GstPad *pad, *ghost_pad; + GstBus *bus; + GstMessage *msg; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Build the pipeline */ + pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + + /* Create the elements inside the sink bin */ + equalizer = gst_element_factory_make ("equalizer-3bands", "equalizer"); + sink = gst_element_factory_make ("autoaudiosink", "audio_sink"); + if (!equalizer || !sink) { + g_printerr ("Not all elements could be created.\n"); + return -1; + } + + /* Create the sink bin, add the elements and link them */ + bin = gst_bin_new ("audio_sink_bin"); + gst_bin_add_many (GST_BIN (bin), equalizer, sink, NULL); + gst_element_link (equalizer, sink); + pad = gst_element_get_static_pad (equalizer, "sink"); + ghost_pad = gst_ghost_pad_new ("sink", pad); + gst_pad_set_active (ghost_pad, TRUE); + gst_element_add_pad (bin, ghost_pad); + gst_object_unref (pad); + + /* Configure the equalizer */ + g_object_set (G_OBJECT (equalizer), "band1", (gdouble)-24.0, NULL); + g_object_set (G_OBJECT (equalizer), "band2", (gdouble)-24.0, NULL); + + /* Set playbin2's audio sink to be our sink bin */ + g_object_set (GST_OBJECT (pipeline), "audio-sink", bin, NULL); + + /* Start playing */ + gst_element_set_state (pipeline, GST_STATE_PLAYING); + + /* Wait until error or EOS */ + bus = gst_element_get_bus (pipeline); + msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, GST_MESSAGE_ERROR | GST_MESSAGE_EOS); + + /* Free resources */ + if (msg != NULL) + gst_message_unref (msg); + gst_object_unref (bus); + gst_element_set_state (pipeline, GST_STATE_NULL); + gst_object_unref (pipeline); + return 0; +} \ No newline at end of file diff --git a/gst-sdk/tutorials/vs2010/playback-tutorial-7/playback-tutorial-7.vcxproj b/gst-sdk/tutorials/vs2010/playback-tutorial-7/playback-tutorial-7.vcxproj new file mode 100644 index 0000000000..b36543375a --- /dev/null +++ b/gst-sdk/tutorials/vs2010/playback-tutorial-7/playback-tutorial-7.vcxproj @@ -0,0 +1,95 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + + + + Win32Proj + {9C06FA1E-E571-42EA-B4AA-B91F9DA77D5A} + v4.0 + + + + Application + true + Unicode + + + Application + false + true + Unicode + + + + + + + + + + + + + + + + + true + + + false + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + %(AdditionalDependencies) + %(AdditionalLibraryDirectories) + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + false + true + + + + + + \ No newline at end of file diff --git a/gst-sdk/tutorials/vs2010/playback-tutorial-7/playback-tutorial-7.vcxproj.filters b/gst-sdk/tutorials/vs2010/playback-tutorial-7/playback-tutorial-7.vcxproj.filters new file mode 100644 index 0000000000..46528cc431 --- /dev/null +++ b/gst-sdk/tutorials/vs2010/playback-tutorial-7/playback-tutorial-7.vcxproj.filters @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/gst-sdk/tutorials/vs2010/tutorials.sln b/gst-sdk/tutorials/vs2010/tutorials.sln index cb04202399..249a539e89 100644 --- a/gst-sdk/tutorials/vs2010/tutorials.sln +++ b/gst-sdk/tutorials/vs2010/tutorials.sln @@ -33,6 +33,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "playback-tutorial-5", "play EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "playback-tutorial-6", "playback-tutorial-6\playback-tutorial-6.vcxproj", "{D6293AFD-41DA-44B6-AE57-F1EEE74338AC}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "playback-tutorial-7", "playback-tutorial-7\playback-tutorial-7.vcxproj", "{9C06FA1E-E571-42EA-B4AA-B91F9DA77D5A}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -169,6 +171,14 @@ Global {D6293AFD-41DA-44B6-AE57-F1EEE74338AC}.Release|Win32.Build.0 = Release|Win32 {D6293AFD-41DA-44B6-AE57-F1EEE74338AC}.Release|x64.ActiveCfg = Release|x64 {D6293AFD-41DA-44B6-AE57-F1EEE74338AC}.Release|x64.Build.0 = Release|x64 + {9C06FA1E-E571-42EA-B4AA-B91F9DA77D5A}.Debug|Win32.ActiveCfg = Debug|Win32 + {9C06FA1E-E571-42EA-B4AA-B91F9DA77D5A}.Debug|Win32.Build.0 = Debug|Win32 + {9C06FA1E-E571-42EA-B4AA-B91F9DA77D5A}.Debug|x64.ActiveCfg = Debug|x64 + {9C06FA1E-E571-42EA-B4AA-B91F9DA77D5A}.Debug|x64.Build.0 = Debug|x64 + {9C06FA1E-E571-42EA-B4AA-B91F9DA77D5A}.Release|Win32.ActiveCfg = Release|Win32 + {9C06FA1E-E571-42EA-B4AA-B91F9DA77D5A}.Release|Win32.Build.0 = Release|Win32 + {9C06FA1E-E571-42EA-B4AA-B91F9DA77D5A}.Release|x64.ActiveCfg = Release|x64 + {9C06FA1E-E571-42EA-B4AA-B91F9DA77D5A}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From 3b6437cbcf78311fe5b014c7a0a9e39d2908eb47 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 27 Jun 2012 11:05:27 +0200 Subject: [PATCH 070/979] Add an audioconvert, just in case... --- gst-sdk/tutorials/playback-tutorial-7.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gst-sdk/tutorials/playback-tutorial-7.c b/gst-sdk/tutorials/playback-tutorial-7.c index da0570b003..2ccd06940e 100644 --- a/gst-sdk/tutorials/playback-tutorial-7.c +++ b/gst-sdk/tutorials/playback-tutorial-7.c @@ -1,7 +1,7 @@ #include int main(int argc, char *argv[]) { - GstElement *pipeline, *bin, *equalizer, *sink; + GstElement *pipeline, *bin, *equalizer, *convert, *sink; GstPad *pad, *ghost_pad; GstBus *bus; GstMessage *msg; @@ -14,16 +14,17 @@ int main(int argc, char *argv[]) { /* Create the elements inside the sink bin */ equalizer = gst_element_factory_make ("equalizer-3bands", "equalizer"); + convert = gst_element_factory_make ("audioconvert", "convert"); sink = gst_element_factory_make ("autoaudiosink", "audio_sink"); - if (!equalizer || !sink) { + if (!equalizer || !convert || !sink) { g_printerr ("Not all elements could be created.\n"); return -1; } /* Create the sink bin, add the elements and link them */ bin = gst_bin_new ("audio_sink_bin"); - gst_bin_add_many (GST_BIN (bin), equalizer, sink, NULL); - gst_element_link (equalizer, sink); + gst_bin_add_many (GST_BIN (bin), equalizer, convert, sink, NULL); + gst_element_link_many (equalizer, convert, sink, NULL); pad = gst_element_get_static_pad (equalizer, "sink"); ghost_pad = gst_ghost_pad_new ("sink", pad); gst_pad_set_active (ghost_pad, TRUE); From ecff617bf350517be03d2826a9c01e5660879aec Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 3 Jul 2012 17:42:00 +0200 Subject: [PATCH 071/979] Added basic tutorial 13. --- gst-sdk/tutorials/basic-tutorial-13.c | 112 ++++++++++++++++++ .../basic-tutorial-13.vcxproj | 95 +++++++++++++++ .../basic-tutorial-13.vcxproj.filters | 6 + gst-sdk/tutorials/vs2010/tutorials.sln | 10 ++ 4 files changed, 223 insertions(+) create mode 100644 gst-sdk/tutorials/basic-tutorial-13.c create mode 100644 gst-sdk/tutorials/vs2010/basic-tutorial-13/basic-tutorial-13.vcxproj create mode 100644 gst-sdk/tutorials/vs2010/basic-tutorial-13/basic-tutorial-13.vcxproj.filters diff --git a/gst-sdk/tutorials/basic-tutorial-13.c b/gst-sdk/tutorials/basic-tutorial-13.c new file mode 100644 index 0000000000..bd9846b69e --- /dev/null +++ b/gst-sdk/tutorials/basic-tutorial-13.c @@ -0,0 +1,112 @@ +#include +#include + +typedef struct _CustomData { + GstElement *pipeline; + GMainLoop *loop; + + gboolean playing; /* Playing or Paused */ + gdouble rate; /* Current playback rate */ + gboolean backward; /* Forward or backwards */ +} CustomData; + +/* Process keyboard input */ +static gboolean handle_keyboard (GIOChannel *source, GIOCondition cond, CustomData *data) { + gchar *str = NULL; + + if (g_io_channel_read_line (source, &str, NULL, NULL, NULL) != G_IO_STATUS_NORMAL) { + return TRUE; + } + + switch (g_ascii_tolower (str[0])) { + case 'p': + data->playing = !data->playing; + gst_element_set_state (data->pipeline, data->playing ? GST_STATE_PLAYING : GST_STATE_PAUSED); + g_print ("Setting state to %s\n", data->playing ? "PLAYING" : "PAUSE"); + break; + case 's': + if (g_ascii_isupper (str[0])) { + data->rate *= 2.0; + } else { + data->rate /= 2.0; + } + gst_element_send_event (data->pipeline, + gst_event_new_step (GST_FORMAT_TIME, -1, data->rate, TRUE, FALSE)); + g_print ("Current rate: %g\n", data->rate); + break; + case 'd': + data->backward = !data->backward; + gst_element_send_event (data->pipeline, + gst_event_new_seek (data->backward ? -data->rate : data->rate, + GST_FORMAT_TIME, GST_SEEK_FLAG_NONE, GST_SEEK_TYPE_NONE, 0, GST_SEEK_TYPE_NONE, 0)); + g_print ("Going %s\n", data->backward ? "backwards" : "forward"); + break; + case 'n': + gst_element_send_event (data->pipeline, + gst_event_new_step (GST_FORMAT_BUFFERS, 1, data->rate, TRUE, FALSE)); + g_print ("Stepping one frame\n"); + break; + case 'q': + g_main_loop_quit (data->loop); + break; + default: + break; + } + + g_free (str); + + return TRUE; +} + +int main(int argc, char *argv[]) { + CustomData data; + GstStateChangeReturn ret; + GIOChannel *io_stdin; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Initialize our data structure */ + memset (&data, 0, sizeof (data)); + + /* Print usage map */ + g_print ( + "USAGE: Choose one of the following options, then press enter:\n" + " 'P' to toggle between PAUSE and PLAY\n" + " 'S' to increase playback speed, 's' to decrease playback speed\n" + " 'D' to toggle playback direction\n" + " 'N' to move to next frame (in the current direction, better in PAUSE)\n" + " 'Q' to quit\n"); + + /* Build the pipeline */ + data.pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + + /* Add a keyboard watch so we get notified of keystrokes */ +#ifdef _WIN32 + io_stdin = g_io_channel_win32_new_fd (fileno (stdin)); +#else + io_stdin = g_io_channel_unix_new (fileno (stdin)); +#endif + g_io_add_watch (io_stdin, G_IO_IN, (GIOFunc)handle_keyboard, &data); + + /* Start playing */ + ret = gst_element_set_state (data.pipeline, GST_STATE_PLAYING); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (data.pipeline); + return -1; + } + data.playing = TRUE; + data.rate = 1.0; + + /* Create a GLib Main Loop and set it to run */ + data.loop = g_main_loop_new (NULL, FALSE); + g_main_loop_run (data.loop); + + /* Free resources */ + g_main_loop_unref (data.loop); + g_io_channel_unref (io_stdin); + gst_element_set_state (data.pipeline, GST_STATE_NULL); + gst_object_unref (data.pipeline); + return 0; +} diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-13/basic-tutorial-13.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-13/basic-tutorial-13.vcxproj new file mode 100644 index 0000000000..f0ae7c64c7 --- /dev/null +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-13/basic-tutorial-13.vcxproj @@ -0,0 +1,95 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + + + + Win32Proj + {6D962544-E7A2-450B-998B-6D09B17ACCB3} + v4.0 + + + + Application + true + Unicode + + + Application + false + true + Unicode + + + + + + + + + + + + + + + + + true + + + false + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + %(AdditionalDependencies) + %(AdditionalLibraryDirectories) + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + false + true + + + + + + \ No newline at end of file diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-13/basic-tutorial-13.vcxproj.filters b/gst-sdk/tutorials/vs2010/basic-tutorial-13/basic-tutorial-13.vcxproj.filters new file mode 100644 index 0000000000..910fa0532a --- /dev/null +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-13/basic-tutorial-13.vcxproj.filters @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/gst-sdk/tutorials/vs2010/tutorials.sln b/gst-sdk/tutorials/vs2010/tutorials.sln index 249a539e89..17529d26b1 100644 --- a/gst-sdk/tutorials/vs2010/tutorials.sln +++ b/gst-sdk/tutorials/vs2010/tutorials.sln @@ -35,6 +35,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "playback-tutorial-6", "play EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "playback-tutorial-7", "playback-tutorial-7\playback-tutorial-7.vcxproj", "{9C06FA1E-E571-42EA-B4AA-B91F9DA77D5A}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-13", "basic-tutorial-13\basic-tutorial-13.vcxproj", "{6D962544-E7A2-450B-998B-6D09B17ACCB3}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -179,6 +181,14 @@ Global {9C06FA1E-E571-42EA-B4AA-B91F9DA77D5A}.Release|Win32.Build.0 = Release|Win32 {9C06FA1E-E571-42EA-B4AA-B91F9DA77D5A}.Release|x64.ActiveCfg = Release|x64 {9C06FA1E-E571-42EA-B4AA-B91F9DA77D5A}.Release|x64.Build.0 = Release|x64 + {6D962544-E7A2-450B-998B-6D09B17ACCB3}.Debug|Win32.ActiveCfg = Debug|Win32 + {6D962544-E7A2-450B-998B-6D09B17ACCB3}.Debug|Win32.Build.0 = Debug|Win32 + {6D962544-E7A2-450B-998B-6D09B17ACCB3}.Debug|x64.ActiveCfg = Debug|x64 + {6D962544-E7A2-450B-998B-6D09B17ACCB3}.Debug|x64.Build.0 = Debug|x64 + {6D962544-E7A2-450B-998B-6D09B17ACCB3}.Release|Win32.ActiveCfg = Release|Win32 + {6D962544-E7A2-450B-998B-6D09B17ACCB3}.Release|Win32.Build.0 = Release|Win32 + {6D962544-E7A2-450B-998B-6D09B17ACCB3}.Release|x64.ActiveCfg = Release|x64 + {6D962544-E7A2-450B-998B-6D09B17ACCB3}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From 7fa1aede37ab70af58094397305b918aec90a049 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 3 Jul 2012 18:31:49 +0200 Subject: [PATCH 072/979] Fix rate changes by using seeks instead of steps. --- gst-sdk/tutorials/basic-tutorial-13.c | 49 +++++++++++++++++++++------ 1 file changed, 39 insertions(+), 10 deletions(-) diff --git a/gst-sdk/tutorials/basic-tutorial-13.c b/gst-sdk/tutorials/basic-tutorial-13.c index bd9846b69e..710562fbf9 100644 --- a/gst-sdk/tutorials/basic-tutorial-13.c +++ b/gst-sdk/tutorials/basic-tutorial-13.c @@ -3,13 +3,45 @@ typedef struct _CustomData { GstElement *pipeline; + GstElement *video_sink; GMainLoop *loop; gboolean playing; /* Playing or Paused */ - gdouble rate; /* Current playback rate */ - gboolean backward; /* Forward or backwards */ + gdouble rate; /* Current playback rate (can be negative) */ } CustomData; +/* Send seek event to change rate */ +static void send_seek_event (CustomData *data) { + gint64 position; + GstFormat format = GST_FORMAT_TIME; + GstEvent *seek_event; + + /* Obtain the current position, needed for the seek event */ + if (!gst_element_query_position (data->pipeline, &format, &position)) { + g_printerr ("Unable to retrieve current position.\n"); + return; + } + + /* Create the seek event */ + if (data->rate > 0) { + seek_event = gst_event_new_seek (data->rate, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_ACCURATE, + GST_SEEK_TYPE_SET, position, GST_SEEK_TYPE_NONE, 0); + } else { + seek_event = gst_event_new_seek (data->rate, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_ACCURATE, + GST_SEEK_TYPE_NONE, 0, GST_SEEK_TYPE_SET, position); + } + + if (data->video_sink == NULL) { + /* If we have not done so, obtain the sink through which we will send the seek events */ + g_object_get (data->pipeline, "video_sink", &data->video_sink, NULL); + } + + /* Send the event */ + gst_element_send_event (data->video_sink, seek_event); + + g_print ("Current rate: %g\n", data->rate); +} + /* Process keyboard input */ static gboolean handle_keyboard (GIOChannel *source, GIOCondition cond, CustomData *data) { gchar *str = NULL; @@ -30,16 +62,11 @@ static gboolean handle_keyboard (GIOChannel *source, GIOCondition cond, CustomDa } else { data->rate /= 2.0; } - gst_element_send_event (data->pipeline, - gst_event_new_step (GST_FORMAT_TIME, -1, data->rate, TRUE, FALSE)); - g_print ("Current rate: %g\n", data->rate); + send_seek_event (data); break; case 'd': - data->backward = !data->backward; - gst_element_send_event (data->pipeline, - gst_event_new_seek (data->backward ? -data->rate : data->rate, - GST_FORMAT_TIME, GST_SEEK_FLAG_NONE, GST_SEEK_TYPE_NONE, 0, GST_SEEK_TYPE_NONE, 0)); - g_print ("Going %s\n", data->backward ? "backwards" : "forward"); + data->rate *= -1.0; + send_seek_event (data); break; case 'n': gst_element_send_event (data->pipeline, @@ -107,6 +134,8 @@ int main(int argc, char *argv[]) { g_main_loop_unref (data.loop); g_io_channel_unref (io_stdin); gst_element_set_state (data.pipeline, GST_STATE_NULL); + if (data.video_sink != NULL) + gst_object_unref (data.video_sink); gst_object_unref (data.pipeline); return 0; } From 41bfda7843ff7549a613d5ccf71b3d12d6e4f29c Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 4 Jul 2012 16:31:40 +0200 Subject: [PATCH 073/979] Typo --- gst-sdk/tutorials/basic-tutorial-8.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/basic-tutorial-8.c b/gst-sdk/tutorials/basic-tutorial-8.c index 0e94840714..8824e098cd 100644 --- a/gst-sdk/tutorials/basic-tutorial-8.c +++ b/gst-sdk/tutorials/basic-tutorial-8.c @@ -20,7 +20,7 @@ typedef struct _CustomData { } CustomData; /* This method is called by the idle GSource in the mainloop, to feed CHUNK_SIZE bytes into appsrc. - * The ide handler is added to the mainloop when appsrc requests us to start sending data (need-data signal) + * The idle handler is added to the mainloop when appsrc requests us to start sending data (need-data signal) * and is removed when appsrc has enough data (enough-data signal). */ static gboolean push_data (CustomData *data) { From 460cd5fe481fb61716e32baa3374cf9ec66fea3e Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Thu, 5 Jul 2012 13:06:18 +0200 Subject: [PATCH 074/979] Fix property name, it should be "video-sink", even though "video_sink" works fine too :/ --- gst-sdk/tutorials/basic-tutorial-13.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/basic-tutorial-13.c b/gst-sdk/tutorials/basic-tutorial-13.c index 710562fbf9..0a2eca0d3b 100644 --- a/gst-sdk/tutorials/basic-tutorial-13.c +++ b/gst-sdk/tutorials/basic-tutorial-13.c @@ -33,7 +33,7 @@ static void send_seek_event (CustomData *data) { if (data->video_sink == NULL) { /* If we have not done so, obtain the sink through which we will send the seek events */ - g_object_get (data->pipeline, "video_sink", &data->video_sink, NULL); + g_object_get (data->pipeline, "video-sink", &data->video_sink, NULL); } /* Send the event */ From c1fae49828c1d71c57efd9e06a3b907715f0e311 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Thu, 5 Jul 2012 17:04:15 +0200 Subject: [PATCH 075/979] Slightly better backward seek. Not working yet, though. --- gst-sdk/tutorials/basic-tutorial-13.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/basic-tutorial-13.c b/gst-sdk/tutorials/basic-tutorial-13.c index 0a2eca0d3b..d6a07182e9 100644 --- a/gst-sdk/tutorials/basic-tutorial-13.c +++ b/gst-sdk/tutorials/basic-tutorial-13.c @@ -28,7 +28,7 @@ static void send_seek_event (CustomData *data) { GST_SEEK_TYPE_SET, position, GST_SEEK_TYPE_NONE, 0); } else { seek_event = gst_event_new_seek (data->rate, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_ACCURATE, - GST_SEEK_TYPE_NONE, 0, GST_SEEK_TYPE_SET, position); + GST_SEEK_TYPE_SET, 0, GST_SEEK_TYPE_SET, position); } if (data->video_sink == NULL) { From cd9dd48c66bc8e401685feaad3c4b54243541bf6 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Thu, 5 Jul 2012 17:59:05 +0200 Subject: [PATCH 076/979] Send Step Events only to one sink. --- gst-sdk/tutorials/basic-tutorial-13.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/gst-sdk/tutorials/basic-tutorial-13.c b/gst-sdk/tutorials/basic-tutorial-13.c index d6a07182e9..3dd9a06bf6 100644 --- a/gst-sdk/tutorials/basic-tutorial-13.c +++ b/gst-sdk/tutorials/basic-tutorial-13.c @@ -69,7 +69,12 @@ static gboolean handle_keyboard (GIOChannel *source, GIOCondition cond, CustomDa send_seek_event (data); break; case 'n': - gst_element_send_event (data->pipeline, + if (data->video_sink == NULL) { + /* If we have not done so, obtain the sink through which we will send the step events */ + g_object_get (data->pipeline, "video-sink", &data->video_sink, NULL); + } + + gst_element_send_event (data->video_sink, gst_event_new_step (GST_FORMAT_BUFFERS, 1, data->rate, TRUE, FALSE)); g_print ("Stepping one frame\n"); break; @@ -106,7 +111,8 @@ int main(int argc, char *argv[]) { " 'Q' to quit\n"); /* Build the pipeline */ - data.pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); +// data.pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + data.pipeline = gst_parse_launch ("playbin2 uri=file:///f:/media/sintel/sintel_trailer-480p.webm", NULL); /* Add a keyboard watch so we get notified of keystrokes */ #ifdef _WIN32 From edc0f4f1d339f8c63f337db8e41c5e3f43ea0f3d Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Thu, 5 Jul 2012 18:04:11 +0200 Subject: [PATCH 077/979] Remove debug stuff. --- gst-sdk/tutorials/basic-tutorial-13.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gst-sdk/tutorials/basic-tutorial-13.c b/gst-sdk/tutorials/basic-tutorial-13.c index 3dd9a06bf6..2361a6fb8c 100644 --- a/gst-sdk/tutorials/basic-tutorial-13.c +++ b/gst-sdk/tutorials/basic-tutorial-13.c @@ -111,8 +111,7 @@ int main(int argc, char *argv[]) { " 'Q' to quit\n"); /* Build the pipeline */ -// data.pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); - data.pipeline = gst_parse_launch ("playbin2 uri=file:///f:/media/sintel/sintel_trailer-480p.webm", NULL); + data.pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); /* Add a keyboard watch so we get notified of keystrokes */ #ifdef _WIN32 From 669b10b6f69c7654db2d221c352d723b10738ff4 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 9 Jul 2012 14:44:44 +0200 Subject: [PATCH 078/979] Added basic tutorial 15 (Clutter) --- gst-sdk/tutorials/basic-tutorial-15.c | 98 +++++++++++++++++ .../basic-tutorial-15.vcxproj | 100 ++++++++++++++++++ .../basic-tutorial-15.vcxproj.filters | 6 ++ gst-sdk/tutorials/vs2010/tutorials.sln | 10 ++ 4 files changed, 214 insertions(+) create mode 100644 gst-sdk/tutorials/basic-tutorial-15.c create mode 100644 gst-sdk/tutorials/vs2010/basic-tutorial-15/basic-tutorial-15.vcxproj create mode 100644 gst-sdk/tutorials/vs2010/basic-tutorial-15/basic-tutorial-15.vcxproj.filters diff --git a/gst-sdk/tutorials/basic-tutorial-15.c b/gst-sdk/tutorials/basic-tutorial-15.c new file mode 100644 index 0000000000..f14e1889af --- /dev/null +++ b/gst-sdk/tutorials/basic-tutorial-15.c @@ -0,0 +1,98 @@ +#ifdef _WIN32 +#include +#endif +#include + +/* Setup the video texture once its size is known */ +void size_change (ClutterActor *texture, gint width, gint height, gpointer user_data) { + ClutterActor *stage; + gfloat new_x, new_y, new_width, new_height; + gfloat stage_width, stage_height; + ClutterAnimation *animation = NULL; + + stage = clutter_actor_get_stage (texture); + if (stage == NULL) + return; + + clutter_actor_get_size (stage, &stage_width, &stage_height); + + /* Center video on window */ + new_height = (height * stage_width) / width; + if (new_height <= stage_height) { + new_width = stage_width; + + new_x = 0; + new_y = (stage_height - new_height) / 2; + } else { + new_width = (width * stage_height) / height; + new_height = stage_height; + + new_x = (stage_width - new_width) / 2; + new_y = 0; + } + clutter_actor_set_position (texture, new_x, new_y); + clutter_actor_set_size (texture, new_width, new_height); + /* Animate it */ + clutter_actor_set_rotation (texture, CLUTTER_Y_AXIS, 0.0, stage_width / 2, 0, 0); + animation = clutter_actor_animate (texture, CLUTTER_LINEAR, 10000, "rotation-angle-y", 360.0, NULL); + clutter_animation_set_loop (animation, TRUE); +} + +int main(int argc, char *argv[]) { + GstElement *pipeline, *sink; + ClutterTimeline *timeline; + ClutterActor *stage, *texture; + + if (clutter_gst_init (&argc, &argv) != CLUTTER_INIT_SUCCESS) { + g_error ("Failed to initialize clutter\n"); + return -1; + } + + stage = clutter_stage_get_default (); + + /* Make a timeline */ + timeline = clutter_timeline_new (1000); + g_object_set(timeline, "loop", TRUE, NULL); + + /* We need to set certain props on the target texture currently for + * efficient/correct playback onto the texture */ + texture = CLUTTER_ACTOR (g_object_new (CLUTTER_TYPE_TEXTURE, "disable-slicing", TRUE, NULL)); + + g_signal_connect (texture, "size-change", G_CALLBACK (size_change), NULL); + + /* Build the pipeline */ + pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + + /* Instantiate the Clutter sink */ + sink = gst_element_factory_make ("autocluttersink", NULL); + if (sink == NULL) { + /* Revert to the older cluttersink, in case autocluttersink was not found */ + sink = gst_element_factory_make ("cluttersink", NULL); + } + if (sink == NULL) { + g_printerr ("Unable to find a Cluttre sink.\n"); + return -1; + } + + /* Link GStreamer with Clutter by passing the Clutter texture to the Clutter sink*/ + g_object_set (sink, "texture", texture, NULL); + + /* Add the Clutter sink to the pipeline */ + g_object_set (pipeline, "video-sink", sink, NULL); + + /* Start playing */ + gst_element_set_state (pipeline, GST_STATE_PLAYING); + + /* start the timeline */ + clutter_timeline_start (timeline); + + clutter_group_add (CLUTTER_GROUP (stage), texture); + clutter_actor_show_all (stage); + + clutter_main(); + + /* Free resources */ + gst_element_set_state (pipeline, GST_STATE_NULL); + gst_object_unref (pipeline); + return 0; +} diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-15/basic-tutorial-15.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-15/basic-tutorial-15.vcxproj new file mode 100644 index 0000000000..cd7e3270a5 --- /dev/null +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-15/basic-tutorial-15.vcxproj @@ -0,0 +1,100 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + + + + Win32Proj + {94A762CB-2856-4CFF-BF1A-DB44882D4BD5} + v4.0 + + + + Application + true + Unicode + + + Application + false + true + Unicode + + + + + + + + + + + + + + + + + + + + + true + + + false + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + false + + + Console + true + %(AdditionalDependencies) + %(AdditionalLibraryDirectories) + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + false + true + + + + + + \ No newline at end of file diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-15/basic-tutorial-15.vcxproj.filters b/gst-sdk/tutorials/vs2010/basic-tutorial-15/basic-tutorial-15.vcxproj.filters new file mode 100644 index 0000000000..790763f571 --- /dev/null +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-15/basic-tutorial-15.vcxproj.filters @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/gst-sdk/tutorials/vs2010/tutorials.sln b/gst-sdk/tutorials/vs2010/tutorials.sln index 17529d26b1..b75567188f 100644 --- a/gst-sdk/tutorials/vs2010/tutorials.sln +++ b/gst-sdk/tutorials/vs2010/tutorials.sln @@ -37,6 +37,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "playback-tutorial-7", "play EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-13", "basic-tutorial-13\basic-tutorial-13.vcxproj", "{6D962544-E7A2-450B-998B-6D09B17ACCB3}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic-tutorial-15", "basic-tutorial-15\basic-tutorial-15.vcxproj", "{94A762CB-2856-4CFF-BF1A-DB44882D4BD5}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -189,6 +191,14 @@ Global {6D962544-E7A2-450B-998B-6D09B17ACCB3}.Release|Win32.Build.0 = Release|Win32 {6D962544-E7A2-450B-998B-6D09B17ACCB3}.Release|x64.ActiveCfg = Release|x64 {6D962544-E7A2-450B-998B-6D09B17ACCB3}.Release|x64.Build.0 = Release|x64 + {94A762CB-2856-4CFF-BF1A-DB44882D4BD5}.Debug|Win32.ActiveCfg = Debug|Win32 + {94A762CB-2856-4CFF-BF1A-DB44882D4BD5}.Debug|Win32.Build.0 = Debug|Win32 + {94A762CB-2856-4CFF-BF1A-DB44882D4BD5}.Debug|x64.ActiveCfg = Debug|x64 + {94A762CB-2856-4CFF-BF1A-DB44882D4BD5}.Debug|x64.Build.0 = Debug|x64 + {94A762CB-2856-4CFF-BF1A-DB44882D4BD5}.Release|Win32.ActiveCfg = Release|Win32 + {94A762CB-2856-4CFF-BF1A-DB44882D4BD5}.Release|Win32.Build.0 = Release|Win32 + {94A762CB-2856-4CFF-BF1A-DB44882D4BD5}.Release|x64.ActiveCfg = Release|x64 + {94A762CB-2856-4CFF-BF1A-DB44882D4BD5}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From 37de9e77c6dbf03fbd3dde6081d21614d9e688ea Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 10 Jul 2012 16:21:33 +0200 Subject: [PATCH 079/979] Comments and cosmetics --- gst-sdk/tutorials/basic-tutorial-15.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/gst-sdk/tutorials/basic-tutorial-15.c b/gst-sdk/tutorials/basic-tutorial-15.c index f14e1889af..1daf10b6c8 100644 --- a/gst-sdk/tutorials/basic-tutorial-15.c +++ b/gst-sdk/tutorials/basic-tutorial-15.c @@ -1,6 +1,3 @@ -#ifdef _WIN32 -#include -#endif #include /* Setup the video texture once its size is known */ @@ -16,7 +13,7 @@ void size_change (ClutterActor *texture, gint width, gint height, gpointer user_ clutter_actor_get_size (stage, &stage_width, &stage_height); - /* Center video on window */ + /* Center video on window and calculate new size preserving aspect ratio */ new_height = (height * stage_width) / width; if (new_height <= stage_height) { new_width = stage_width; @@ -32,8 +29,8 @@ void size_change (ClutterActor *texture, gint width, gint height, gpointer user_ } clutter_actor_set_position (texture, new_x, new_y); clutter_actor_set_size (texture, new_width, new_height); - /* Animate it */ clutter_actor_set_rotation (texture, CLUTTER_Y_AXIS, 0.0, stage_width / 2, 0, 0); + /* Animate it */ animation = clutter_actor_animate (texture, CLUTTER_LINEAR, 10000, "rotation-angle-y", 360.0, NULL); clutter_animation_set_loop (animation, TRUE); } @@ -43,6 +40,7 @@ int main(int argc, char *argv[]) { ClutterTimeline *timeline; ClutterActor *stage, *texture; + /* clutter-gst takes care of initializing Clutter and GStreamer */ if (clutter_gst_init (&argc, &argv) != CLUTTER_INIT_SUCCESS) { g_error ("Failed to initialize clutter\n"); return -1; @@ -54,13 +52,11 @@ int main(int argc, char *argv[]) { timeline = clutter_timeline_new (1000); g_object_set(timeline, "loop", TRUE, NULL); - /* We need to set certain props on the target texture currently for - * efficient/correct playback onto the texture */ + /* Create new texture and disable slicing so the video is properly mapped onto it */ texture = CLUTTER_ACTOR (g_object_new (CLUTTER_TYPE_TEXTURE, "disable-slicing", TRUE, NULL)); - g_signal_connect (texture, "size-change", G_CALLBACK (size_change), NULL); - /* Build the pipeline */ + /* Build the GStreamer pipeline */ pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); /* Instantiate the Clutter sink */ @@ -70,7 +66,7 @@ int main(int argc, char *argv[]) { sink = gst_element_factory_make ("cluttersink", NULL); } if (sink == NULL) { - g_printerr ("Unable to find a Cluttre sink.\n"); + g_printerr ("Unable to find a Clutter sink.\n"); return -1; } @@ -86,6 +82,7 @@ int main(int argc, char *argv[]) { /* start the timeline */ clutter_timeline_start (timeline); + /* Add texture to the stage, and show it */ clutter_group_add (CLUTTER_GROUP (stage), texture); clutter_actor_show_all (stage); From d72831ea721042b4b73aa94ad93adb6ce2f7bcef Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 13 Jul 2012 12:01:27 +0200 Subject: [PATCH 080/979] Fix forward seeks stop position (it should be the EOF, not the previous stop position). --- gst-sdk/tutorials/basic-tutorial-13.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/basic-tutorial-13.c b/gst-sdk/tutorials/basic-tutorial-13.c index 2361a6fb8c..4f8dda3391 100644 --- a/gst-sdk/tutorials/basic-tutorial-13.c +++ b/gst-sdk/tutorials/basic-tutorial-13.c @@ -25,7 +25,7 @@ static void send_seek_event (CustomData *data) { /* Create the seek event */ if (data->rate > 0) { seek_event = gst_event_new_seek (data->rate, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_ACCURATE, - GST_SEEK_TYPE_SET, position, GST_SEEK_TYPE_NONE, 0); + GST_SEEK_TYPE_SET, position, GST_SEEK_TYPE_SET, -1); } else { seek_event = gst_event_new_seek (data->rate, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_ACCURATE, GST_SEEK_TYPE_SET, 0, GST_SEEK_TYPE_SET, position); From ef7757b7cae82c8c68d8d1c054d63ae3042812de Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 4 Sep 2012 12:20:02 +0200 Subject: [PATCH 081/979] Initial tutorial-1 --- .../android-tutorial-1/AndroidManifest.xml | 17 +++++++ .../android-tutorial-1/default.properties | 14 ++++++ .../android-tutorial-1/jni/Android.mk | 29 ++++++++++++ .../android-tutorial-1/jni/tutorial-1.c | 27 +++++++++++ .../android-tutorial-1/res/values/strings.xml | 4 ++ .../tutorial_1/Tutorial1.java | 45 +++++++++++++++++++ 6 files changed, 136 insertions(+) create mode 100755 gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml create mode 100644 gst-sdk/tutorials/android-tutorial-1/default.properties create mode 100755 gst-sdk/tutorials/android-tutorial-1/jni/Android.mk create mode 100755 gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c create mode 100755 gst-sdk/tutorials/android-tutorial-1/res/values/strings.xml create mode 100755 gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java diff --git a/gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml b/gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml new file mode 100755 index 0000000000..1701aa602c --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + diff --git a/gst-sdk/tutorials/android-tutorial-1/default.properties b/gst-sdk/tutorials/android-tutorial-1/default.properties new file mode 100644 index 0000000000..85aac54016 --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-1/default.properties @@ -0,0 +1,14 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-8 diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk new file mode 100755 index 0000000000..b2a6cd3289 --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk @@ -0,0 +1,29 @@ +# Copyright (C) 2009 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_MODULE := tutorial-1 +LOCAL_SRC_FILES := tutorial-1.c +LOCAL_LDLIBS := -L./ -lgstreamer_android +LOCAL_CFLAGS := $(shell pkg-config gstreamer-0.10 --cflags) +include $(BUILD_SHARED_LIBRARY) + +GSTREAMER_PLUGINS = coreelements +GSTREAMER_STATIC_PLUGINS_PATH=/home/fluendo/cerbero/dist/android_arm/lib/gstreamer-0.10/static +GSTREAMER_MK_PATH=/home/fluendo/cerbero/data/ndk-build/ +include $(GSTREAMER_MK_PATH)/gstreamer.mk + diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c new file mode 100755 index 0000000000..076ced6c95 --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2009 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include +#include +#include + +jstring +Java_com_gst_1sdk_1tutorials_tutorial_11_Tutorial1_gstVersion (JNIEnv* env, + jobject thiz ) +{ + return (*env)->NewStringUTF(env, gst_version_string()); +} + diff --git a/gst-sdk/tutorials/android-tutorial-1/res/values/strings.xml b/gst-sdk/tutorials/android-tutorial-1/res/values/strings.xml new file mode 100755 index 0000000000..b956d6d241 --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-1/res/values/strings.xml @@ -0,0 +1,4 @@ + + + Android tutorial 1 + diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java new file mode 100755 index 0000000000..97e3a21144 --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2009 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.gst_sdk_tutorials.tutorial_1; + +import android.app.Activity; +import android.widget.TextView; +import android.os.Bundle; + +public class Tutorial1 extends Activity +{ + public native String gstVersion(); + + /* Called when the activity is first created. + @Override */ + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + + /* Create a TextView and set its content. + * the text is retrieved by calling a native + * function. + */ + TextView tv = new TextView(this); + tv.setText( gstVersion() ); + setContentView(tv); + } + + static { + System.loadLibrary("gstreamer_android"); + System.loadLibrary("tutorial-1"); + } +} From 625bed684481a62e0dd93f07c65658224e258233 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 4 Sep 2012 12:53:20 +0200 Subject: [PATCH 082/979] Added icon --- .gitignore | 6 +++++- .../android-tutorial-1/AndroidManifest.xml | 3 ++- .../res/drawable-ldpi/gst_sdk_icon.png | Bin 0 -> 2743 bytes .../res/drawable-xhdpi/gst_sdk_icon.png | Bin 0 -> 9283 bytes 4 files changed, 7 insertions(+), 2 deletions(-) create mode 100755 gst-sdk/tutorials/android-tutorial-1/res/drawable-ldpi/gst_sdk_icon.png create mode 100755 gst-sdk/tutorials/android-tutorial-1/res/drawable-xhdpi/gst_sdk_icon.png diff --git a/.gitignore b/.gitignore index d4a0768bad..411d4aefab 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,8 @@ ipch *.sdf *.suo *.opensdf -vs/2010/libs \ No newline at end of file +vs/2010/libs +bin +gen +libs +obj diff --git a/gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml b/gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml index 1701aa602c..dfc3c54085 100755 --- a/gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml +++ b/gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml @@ -5,7 +5,8 @@ android:versionName="1.0"> + android:debuggable="true" + android:icon="@drawable/gst_sdk_icon"> diff --git a/gst-sdk/tutorials/android-tutorial-1/res/drawable-ldpi/gst_sdk_icon.png b/gst-sdk/tutorials/android-tutorial-1/res/drawable-ldpi/gst_sdk_icon.png new file mode 100755 index 0000000000000000000000000000000000000000..98f66e7a42ac29033ba3aa4376c9fe0cd4a6ddfd GIT binary patch literal 2743 zcmV;o3P|;dP)`-{rqe-*jLH~+k&q%f<^!l`kikSCfdsSUgFrT$ z-Ry2QyZe6J``&w>bNa`-n?c7R>2v4Yd;fW!bAIRJcg{l}|M*tgvExZH#)xwcms$kC z5E%u?sb&O_0@@Y&t?QbK*RF3aUiZObVP#k7_cVIkL{?EHH~DrFpLqWK)X%paAN|4U zYBmfNvvuoMXN!5`14s;$5rI?v*qeZ?eNHBOvLu9ceH=$xBrW$Uq9ns zW&$%4)4LR_DxAVORRJKOVY8vFxcauvwoh(qnf0+QFKBb3T1kaUnNtOXn24Z61Ofno zYV1_2iAW)DnjiYe{6|aG2_8?}k4Rqr++$;}?A-Ft+bf@V{5RuICz;A0q7Mw2549AQ z+|<>4^Nn+wZ(EYjEuoB2P8@2fI#MVr8LCI9{w4(&Aftd+7xES2i^~SWIR$U<}o>SDESoMj``W4a)#U_;PP^j&u|(lSRV~QQ@;&y5XgE$L zo*lZd_nFc0pS^OSyni@JhAWV)CG?8(n{rqDMQ`zjPcCcuyY>dtIUwrjpYFM%^`5?c zzwK>mSul0prMAWvG10q2pfv(g0urdCB$BFS#Trv}b{@9C(#_gIH#{N>Fbp1ZvL#a&A4Qf2Z3`78G45SQAfT@a0es{L=^0TMLpWHoB-re8fC$whn=8m-;pK9%C zT*W?-%M_XdD_L@8EFL&X=_)f_s0Jmc&zgX-ANA~{QehDFBtpg zsh_^FecyjR_l@DhLq{QhK!&Y(f7XZQuI*XhbH}{ZogWKZ!j@W`XjG1nrOpW)ITa%! zAP|Tc1_p*KrVW54A07qpI6y$5bIPXssNHA*P&^soia%d==e&&zZy)O)>YqF_{#IqI zT(XT`K4{DJ6uOIxxzXm6EJHLEp*kKprw%|JCWJ1V31_I96zE>H=z0qvWy6Rkqb$?R zYwBxXT3pn+)QKR?QY5tmNmN68A#%<+Rj46L29AJBb#H|#bVe}EKQlcFL1Vtl5|M)f zY}mj7Sv8e3%QSPTI&sLvk%}@IHUz0FeJ>_d6^M$GGCX4ASu$i{*#kL-IuV69z!()F zTNy1)X^YM{hKPyS5C{x{fb?RIdoQG-P6dGB&|@zbFl7ukkxnE-r9q>%V%ZA{O~uY! zdvm*ILK9Ec01)iptEUfSJ-OHhCPck)T$&GQ8my>OQD)z=*Wj_M#acOb?!d(Up&w7Y zIxGu~G^s6w0E4 zx;GV4|Eh?nIC0`s!OW)M5n18t;OMcDy(hjs@T0T;I<$u#FQ4g6Fl)`4+y}1TnqRX1 z#$dr!SKH>f9a%XVojURMk&}B~dm>3vxpwo04oeK|`TWk$b}a0gKW9bPy6R+EvWkO> ziaJqs0u?0yYywNB!J{los4_e{Jht!b&&Lj?zp9MRkEvnZ3V-R94;D6dF5@7_V5+B^ zVUTY@)&d&WqBnoNbK>a-zHoH=3-=#fxOy4g`^b*X|Mj=G{l*Wd{3my>`-i@pm)%w9 zY*&Do|QNIbGny+0T)MbQ4EMU zVpbRi83sH9@+@)SlWlHeN~g{ozi-QRx2|4xjQ)Kf-oE|EJK9fu{oY&RiSa5iFsr+< zv$4DB{a&L#%cV&z8Y`WPF1S(g<~0QKuUTJMvf<8f{-U)U_|{b`$f8IzQxO4+C_@2a z#*6_}Hvr^Y1#244?es?uzxd1R-g@f8^wlFn-+8V?ck{^5JA-?kd}Q>c=bxz#44iaH zRsuK(+B@er^!@4D#w)MhlJ8xzjtj-mMOCDgib~>~2v{6goj{yIoZvkS0QnwlXtfNY zkBseGPhUGa^4(nn6MtXu{7k*Pby1A8Qb{FqsW^mWLl$LZ)fj2H3|C7tbs!NK$pn(s z6<@vq7B=);#du~*!}))-06@k-vsBZ{SSA@*1)d5#%>-FADJ~UJrvwEP8>=F?1otXb z>Lo-92%thBAwUh!)G~Q~&VnebS3fZsYe)nTxp+FUVPfLCQh7HI{E-n!9Kl&2YDKN_&>f}@Pnx1rcZpC z8;W5TC90YbvZQ{FH2?<&9zo++lXHW|%g0{cJ$2~WC!!Ot?AI*G>L6#7h+GWK#jKoh z1QA=$xZl07_rgyf`jtg}>^CRAeg8KGcRlgMoK3fWs&UE6jdoUhFXxI4Qj1+Oe*S!X zZs2(3`0Fo~`w#r0dg|~iQmfW39?8ZkR3IWyCzlAHLd5}K7nS1w1979CsEV+arND6{9hzJskfOIV)Qqr-K zOS5!0$ldSn-oNjC?jP^WocGL}nRCuO@B4W_??h^8sF0H~lL7$9pFVl~8~_Nu2>~QT z_{!L=&<0;Ic__W`&~di$@V0QX2J)|*Ev-48I$GFTKex7cg>db%mImO~($mNCx;_&d znSTDXqvIX6Cp$vIJGND#5P7F=<<=s)${wX+%ft~Q`_f+2^QtQG$Aq+{Pm`odZ;$zY z8*`wgv%mZPorIv&?(@<@0ceOZ@yKz13gJwP%r>GgV?48od;E{-%5i9yv6q+E%7!#{ zU%EfTUD-OCuUc16kE3wnu*KcxZ0YlFp6m~eB^`TDHA{+PQ@b}lKD=s}+|7Du7HhaJ z@W8icW%rFxHf=gF$SD%rLAT4=O})b9)w-Th|3(QbJ#C40FSR9xXCdbQid-X2V`o5e zJajnYq5$ytm*HD2e^ITM6-P&1d~v}k1Yk_s+OQG(!#wA}RY&v(rsW+3P~CS4J?=6J zsLxn8B(HUY#Q#N2%!PH6$zp$DxF+ly<^dqEX7&%wu)k#S(Sx8TvZf@s%yZlr9eCNv z04S^=Z`Q{TGIO}T|INTp694VB?se?E!o~0jUYhHrgYP`5x4rDwtt7=NoCJIm&lg=^y^fe3J%uNW$QGIa6ZP+7m z#}c9cg>s)BY1w#b&`LdSfmY4gUPbT5)4Fj{j{Rm5mT{^RGb z!`_;kt}NioY$`btKFauSRP54!EkRk+T~4)Kj5NzBb3!|wCgBe8tU)u6g!b>SB-%#1 zAmZ*?Xw1Kf)UKD_f3$ll1w;@nJ)IC;6AJSe6ZX=yjN?^hSTE@19mp^wXXmi`hQ#)E zNY_U*o|XQAlYZ{BMNwONxpZw9n1Le2q1u<79nGS|q{ung#kH|aLpj9RJF{)dR)U^a zCz#$HDc>nO-W$B{?=$@)oa%(US|%`ktda9Y8T(LC?sS;x=F|xvD$eaEvBia!++KFG zcejFsJBX@sQs3|!o!wtfXe}Gi$YE5*J{D|t+5A?0Y+Ji8u!^euHx&>DOs_*Wjl1?doboi%+4V^*PJXO=^wYBc8C7a?&Kms1v-e$tzjIzu5%%?W!I32b9JysUZ?hsM z4W3ZYzd6A4KZ*U)HuPwAF|!SZB#!TZJrTsj7*}HdtU$=vfA%Y&*6N4*)pKu{D&At? zxXlO2OkWr(m0~wqmRF*USs2h4phVZnXlxQH&rmpX6c1v35|)L1RgBBH?fW33 z7dv1ULe>p?w|}{&Tr$Hh6iyt!N-iz-QE;a^!Fx+g+WDZRu~TDtT=BKMR-_Ijio2}I z1r-q9aFI$otgI;~IZDOWYBB?D?MkQF3JCqwRu#d2i;RRpiXc8Qt+^N4%5Kjq7^~~SI581i&Qlt`db8@ccQ#63)r)5+=M;$mv%a~ zsz!fl@rq-u!@}Gt@T4H&U7TiVCcREc^4kDf!DwG|&GDwtlg-2W`)+P42!S&0ilgs{ zLe(W90}8Z}foM(T_EN;7xDMJxO%d76>g6KIwK<{pqOukjg6zktx|u;jqF%kCUKR&N zZ^+8N{=!9DN3LXw$hZOg{xqdPR%7B`Si~F}cC*4cb3;%MozgSc8quj*KPFi>G|;~- z;L%IM#$Tg9{4VVjp*;N69`)wtUMvGuaTpbvT!QF$l=HO~ zM2AdmNlga$I0uaWbU$POz7S9t5-s~PX69fhGH&fuG;4>HJ_E}sKU=R7UnMs1 z&g|V0;6}+6swrcC7u1XVE;#gG+e_QEMbFmB+>9z3dCHOW3&!EOZ+8==Qusx@Y0lBA z|5|X%cI5kk*}na68NReBAKsnS{x3Z_60TN!tjh4h9IMr8=&+mm7LkhXB zb=AuL;(;m6LkY6}_Vgr-@+sol(;2`mrwQk7V?aPRKR?;kXe0afG_3oVBguuQnX&d; z9x5*>V)OT+aU%*(Ra_NeF1wqxY%JL=epWsoFFLWkS0t-5UtU_3O zERP%Amm(>apc*(?eTRg!nb&uU!H%AIW{h$>Cjgp^42wv184nYb0b=Y4(7M%Ewdz56uXH zOP+yWhr?Y{tgq9KtO_|c$!UX)0J)!O(cE;7-LH>=PK!O`k#K#6#cv`4f`17Vc)S$_ z;0!M%?i~Jhm^4gc#(j_|s|s(ljLPOy>vtFHUI*W6Sp0MM&Gy;cFRK?)iFryF*j>8y z011h-ME+9+I1KQ!0h^z=nk^3*REtNCzsbm+TC_Xn7poZ>kqH5kkoekk^h)Mc#<6Xi z63`-!$ygh(X1l1rpE!EE3W&~gRBZ{PPP&4_H*$(hbrJDU{jTfN`isBJyZ$fg9e zWWWzAd^LHrHdTf4eT{;_;j^jV(g-1VlmV6qk(qziZ|=wXDVk57?Y@*7wPtl@3aD>| z0Te*H-Ys`;n;JEtBS#XDWTn-|Uu~@eR;}69kp?CaQ90u@lInO6efpuqf)r>; zgNI{$a#X(7TdI|xAsie#i@MoiNOr)>4>pn!>AxG7ng`8xH4=Xpnn>pLng8jiFopwo z7cfV_ikN*7eNj)8U>uN;77cPzDlK<)fW8NI(oFL|1rFoxZLtKjHT0$xt}1cGiI*?x z<^9j<7cMh}dJSi^cmMm18E!ECw}hpU+`j#7(@z+%QnO-GCI`C00LQLJ6wI(9&FswrN-sK!%}ztxQD!~`S6uLcUvkMr_eUVe zUk}bi$Yr-#Zl0FBzPD%N+$6u!;u!w{aq;S)gopy@UI#ewwJcU2i@sZ~5|Dwun(Or? z()O-{6MWf5V!a(PIeJqnUSY&+5a7LDnq_$)+%s6lP>{^iJAQOs{rCPoE)n~5?jDO- z02hZKj~1x3U`>@$^Pz0f^2v-H35Hln?RBY?ImpO6VsoJg zKiisP`(hY5Bty={XLLOOEu56{97|NGWY0XrDaPZh>u)eu`R)j0-{QGh-!0(=&8$d=t;8$yYHdlPh|NCJP zA7R1&Xj?i83}=3F05thaKO2MgShJui*GfU7m4rF5)%gOJ2Vm9{40I|U$^=KuD?WwV z=(y}k-2Esn=byvRkt0L@{{2gPJ(T@fpkr0vg0i#qE+=o9$EdH9`O6?Fio3J31i`q^ zG76Ff=17UApZ1HM@wP-zDaqV7IktHJyWs7<-0N|rDw(S}dVU{T zmir#3&hJq>3~jI{VdINwGv5A)TRJarLRRcQ+t`V7vjb_r%zTIuZB_|}w`-XSnSXl5 zu26a$J8ds$uYg!FSO{`*d~?A&(pHc-^>kfZRJrplhd~>-3c;xcl}jT%oXr24^W+Tvh*LhCHAV$zhM^8mUU(L2j zGCVLcy&x5B#5c$y+td~~p?*ukUk)Ww_+eOc2_SVw6z};Q-G8vhS-GQHLV;e+R#LM*Ed{i4;P_m7Nh5czpQ0$VY9C?;YolzpjRD zOp!)0{n_dD+&sJ?W-|+#`?|Oj=7L#X!v^~yTxoaPX{|%;v6kbv+zd%%uFthqan}ZS z>(*u^Cc%4&x4gdxI((8ACz6V261|NYrX&zP1O$>o<=x6)%EQJ8$DkntxpuMShgim8e{noUUBh|@m z*4JBQ9+bcll4JC3l-w|{W2WWE>`n_x!tBt)I52`%>we3z3JU@G(m}P}vd?{#YFzh6 z-`NK72HNxTae<}XiR2UxEM|K>_HskT_vPf$*st}dh1F&?SJ{73t|O3^tW%F!V{HEn z&u(9ER`CLBMYi+Nw$x5QMRv_a_R`eN9zIQ_zRK*p#^>FFyPT4y-o|2G0XjXxo6~&T zU2aVLZ;~CmTA~gaR|NccQrf2$*Q;Au*!!@r^{;dA=`D*Q>C63!J9sM9-L?&~;X_S2uf*>#f3q}jx`^DXG%r>YRFB%U11P`<<~RzZVExH3JaPs^fwzP=)mCu-kdecl!@#4=!f48j;(j;KFZMsh_MN3Bnu z=yt?3r)pX-UJV?~XQ*%uvG8`uyb8uE@TTfGTx%n@Fo;QxqdMgj4dNI^1hr(+*0 zP-Gu8Ht!hNzU5lL?K?Yo>1LvR{n3|}mYaQuMMV~h@US+gW;I9JKQzyT#QEolN%{jH z(oXCaifU<^quG!<&}PHY)^9Tulz3>w$WC!!Oc2TUq^Q`T0d@ zOHn#BruiyY`+X$X>c|}P8F%eLi=8-hXfEL(9ilB*-Vc0H;?bu{?V=f&g^V;3n_KTP zt^b={Q&)7e3pzo2sWbb+ZnfFQ&U|IUieTtoDzPDr4fMpVf=Dr^M>AHA4D>SIJCiv6 z!7A)MO1Pn4-wuQ&?UG-wGG(J-%B=61;{%j=q0&}Po4a+@$ zVINTYE?b!>NUdw=MIi?zdMtoPe<#sgW(U0a4U0GQr{8LLVHG*{UX(GMG^uO0rK#Hp7@F70I##MP}^H=zXn zA|!x}5pbJ{bmFj1FU*8L^_!dqqyE-xzSxV@{N_aobZ-D$P&B)g%gNZ&{~`g6-P>1u z&`Fz7y8O1E(<&35s?AQqri2 zDI)sbGeD8X0g#P8*~4~#URaRgGbO*A+iAN$@*?r$t(^m_&W*v8^O=mppYd&Fk;QUf z9x#v|Z+fEF{!-?M29Ww#2C zJ7#oE)~FY}>p9;GSRB%EWUt#mU=)h?#{zH9``Td3`rmi}_$CbQ;2_1C@fQ#GaX~(Q zk({$5nZ#^6FE2aBJ#2#Ii?#49fySJA_Go2nyJ^d!W+q&BV6Ot&+sY1=M6E?pYbc zCMN7Jo!B$TS<&ui@W>pAOv~R;cUzqjBclWWlvpSBuTfswDERX}MLUr8iNrqdWtq6a zXfPHbDJ^B~Y0TYQ!8~2+x4kc=e`)Adu98rtL=+(16BxPR{Au@#cC345W@9lxW1H1!m)>N}Bf{HfOZ4iRf8}Tsh0y5B>^IHh%xtBq$(rhj#$$)J7^T zJ*qm0KDu?2clD?EVcFH_32nyNNl@MeL!QXw7$2h}lbg!FYwK|*=aY6PRB~T36?1~m zX>)N??l-8(w1%@zenc9YIEM0)7rrwEOVDUbC_Fw~Ap~9BHq8p%A#r26Ow2yBCdw8) zWmYBNk7U>xx^X$syU=S1MN?dxxO_=DOvom>ocVqVU`{nRzxYSuJUi_DYmc;;8o@_5 zRY$y?xL4nq_wShE26z;6m&b>KfI)gc6=$Y-yutLwxA1~AnHpTfgc@y#H`)j1Y!^)s zwjS8ZVHP**iN;wOlqvN-{J18>?)d1S*frrflp~ehoRwgk_5Kp0=iG5w7Gv2F^`Xph zou&e6(0AlxqglkHmzI(;#PU;31wb<~58Oj}8Z>$e|6G_;zhBWyjL9;f6D|z;cin_h znnttaqltsXs@7d3d0i0?A>{%qH#|O z4pFZ`IrLUwbh3{Yxi4f+6$TgNh<}_N*28uFZQ>4z7F)1F__W<7mV9tbrm0kt#v&qX zY^zBgHS8r*Cr2<^Ps8yO6GaSfW)0aQ;mml`QFdJ(R*_3au2=_;x5cwscrv^wl0}Ui zkLkC&iSdws53eIYXz&9dkLNk$vqpIT>rb!pqa?tRmzrcx5X|GN zkpF-^27EtsyUB*1;V&#l#rl5`e|Uuq^Pk7%aJCz78(k&kmR?lTU46CE@B4m|VSSbB zdXz~y`5mLuWo^>6`vj#*gmyA!(2D6w3U7M(C)F~rflGMN9}^iN_)Jb&f7{TkVK@-C z=^=S+APT6U@G7m!Vb3X*9xN)uM89mz_`X>3vLWwTeg7pjL5ylL&ry;pzg5?YRdEsj zvb)?vujjR*YKsJmG&MSGU8P@SKS=f1>&v#D);dXb%=#O9|E~YrKO@<1yYf#k^t`bo z8@ufr>n^a9G2CC-(%;*Xb!0NsV&B})KH%Nma_`bzwB=c{<7u_6ae1WNH}OV(vOt=k z-V>+8j3QMVjOX@H-LCkq`|CL@mgi6WzuU`2pC2V}ifRoXY3tgxF>R}tc(XNXZ@WzR zqdG!WPG}!1LG`|KRfNa+*Vv#8dwJYSse~ewNh$y(dI5YM_rv^8 z98=kno(;aMsrpQX>{-MrL1?vW(0N5-fBMM?idH1yQ$GyXDo*^-@Tq-AuV*}g z2dL{LE*5FOWtvj>7d+c{NGhP_lO^>hQ^#>iw}UwfS(ULpF>LpAt`T`_T#pN~VgJ~r zuzG`b8pd%51zJz1{ggJBb{m7|J4X_vzCLI2j1D>~{(jJRsYHmbzPrXXbzS%)sdFdL zt9q<{wYgSzgSH*W?@aQ&N(|oZ-!$WG3*r3MvI`z*FUI$9)yV!T7@XQkx40k-F>ifU zZ?9EGR=(t93S5LZN^hJ-IbAO!YeTugKh6MH{xbrd$r- z;LOO7ZpC`1{zu-YTn~n;lRU`C9^GffmQ<>&op}rE9E)?L3gOHaJ0>@$fMd~Rw^s$q z$rwbaFq`a-_=}?8Wo48tyd{>OdKJTOz0pka5z{Uqb?LHO41u<=VMXThZ&`f|qz*M~ zfUOK~;Iy-UGRnghz0LEJ8(WAB#omIfUVF_upXRaqtvZg?-WlC=w#I^Qu5PMon{QYh^v6e7+61=J6|C7dC4F-xRz<+T?)n!5i3SQP=6oDpk z=Zt{o6@w>mj%ONpzWfQeO*H!OVpiZs>oGHdsW^ih@TeojCj}fM_?rKAQZC`SZEA2s zd0|Q9j+@V_z^_BLlywkK#X*Uz=OKb1qX4q?>fNiE+;gFbLB)1Ll5nTm{Ht@J?iPCMW=FE$mw;`X3G5#~EX`asBkInpLJffVYC2l1pw?+|Al!(O(Bz zo&Y^Y=gj`48VV)2n8yHQAjJH+K))Go66?k1G%i0%4hn3V4y(w>X>Wojtg?MrbKX5W z39~9wD2A;_9o&Y0U$SSvy3h|il;Eo{3+@2sOw!rg4d*IEg6f?*z-4W(mpHAK^S)bK zPMv-pc*1xwBWFw&8Uc_FXS-i717+=BsYzd;4e~*bTGOE#KKbAmC`Yro$qCHA*9+{? z-68uHS)Ls Date: Tue, 4 Sep 2012 12:54:38 +0200 Subject: [PATCH 083/979] More .gitignore --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 411d4aefab..cae038aa75 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,6 @@ bin gen libs obj +.classpath +.project +.settings From 24136b80112281910c7907425b048ddf8e953be2 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 4 Sep 2012 13:55:04 +0200 Subject: [PATCH 084/979] List available plugins and features --- .../android-tutorial-1/jni/tutorial-1.c | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 076ced6c95..44806f9850 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -22,6 +22,32 @@ jstring Java_com_gst_1sdk_1tutorials_tutorial_11_Tutorial1_gstVersion (JNIEnv* env, jobject thiz ) { - return (*env)->NewStringUTF(env, gst_version_string()); + char buffer[8192] = ""; + GList *original_plugin_list = gst_registry_get_plugin_list (gst_registry_get_default()); + GList *plugin_list = original_plugin_list; + + g_strlcat (buffer, gst_version_string(), sizeof (buffer)); + g_strlcat (buffer, "\n", sizeof (buffer)); + while (plugin_list) { + GstPlugin *plugin = (GstPlugin *)plugin_list->data; + GList *original_features_list, *features_list; + plugin_list = plugin_list->next; + + g_strlcat (buffer, gst_plugin_get_name (plugin), sizeof (buffer)); + g_strlcat (buffer, "\n", sizeof (buffer)); + original_features_list = features_list = gst_registry_get_feature_list_by_plugin (gst_registry_get_default(), plugin->desc.name); + + while (features_list) { + GstPluginFeature *feature = (GstPluginFeature *)features_list->data; + features_list = features_list->next; + + g_strlcat (buffer, " ", sizeof (buffer)); + g_strlcat (buffer, gst_plugin_feature_get_name (feature), sizeof (buffer)); + g_strlcat (buffer, "\n", sizeof (buffer)); + } + gst_plugin_feature_list_free (original_features_list); + } + gst_plugin_list_free (original_plugin_list); + return (*env)->NewStringUTF(env, buffer); } From 2905b5073a1664a765b673da8d06facb572916a8 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 4 Sep 2012 16:06:51 +0200 Subject: [PATCH 085/979] Add more plugins, to test --- gst-sdk/tutorials/android-tutorial-1/jni/Android.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk index b2a6cd3289..a485b8a484 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk @@ -22,7 +22,7 @@ LOCAL_LDLIBS := -L./ -lgstreamer_android LOCAL_CFLAGS := $(shell pkg-config gstreamer-0.10 --cflags) include $(BUILD_SHARED_LIBRARY) -GSTREAMER_PLUGINS = coreelements +GSTREAMER_PLUGINS = vorbis coreelements audiotestsrc videotestsrc ogg theora GSTREAMER_STATIC_PLUGINS_PATH=/home/fluendo/cerbero/dist/android_arm/lib/gstreamer-0.10/static GSTREAMER_MK_PATH=/home/fluendo/cerbero/data/ndk-build/ include $(GSTREAMER_MK_PATH)/gstreamer.mk From 77c4117da5fc95f9e7a0a705f334e679c076aa29 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 4 Sep 2012 16:07:11 +0200 Subject: [PATCH 086/979] Allow the textview to scroll --- .../src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java index 97e3a21144..8dedd22d0d 100755 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -18,6 +18,7 @@ package com.gst_sdk_tutorials.tutorial_1; import android.app.Activity; import android.widget.TextView; import android.os.Bundle; +import android.text.method.ScrollingMovementMethod; public class Tutorial1 extends Activity { @@ -34,6 +35,7 @@ public class Tutorial1 extends Activity * function. */ TextView tv = new TextView(this); + tv.setMovementMethod(new ScrollingMovementMethod()); tv.setText( gstVersion() ); setContentView(tv); } From 1947de8006943b4e7181bb98c30d5109ad1167b2 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 4 Sep 2012 16:54:11 +0200 Subject: [PATCH 087/979] More test plugins and nicer scrolling effect --- gst-sdk/tutorials/android-tutorial-1/jni/Android.mk | 2 +- .../src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk index a485b8a484..3646087403 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk @@ -22,7 +22,7 @@ LOCAL_LDLIBS := -L./ -lgstreamer_android LOCAL_CFLAGS := $(shell pkg-config gstreamer-0.10 --cflags) include $(BUILD_SHARED_LIBRARY) -GSTREAMER_PLUGINS = vorbis coreelements audiotestsrc videotestsrc ogg theora +GSTREAMER_PLUGINS = coreelements audiotestsrc videotestsrc ogg theora vorbis ffmpegcolorspace playback GSTREAMER_STATIC_PLUGINS_PATH=/home/fluendo/cerbero/dist/android_arm/lib/gstreamer-0.10/static GSTREAMER_MK_PATH=/home/fluendo/cerbero/data/ndk-build/ include $(GSTREAMER_MK_PATH)/gstreamer.mk diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java index 8dedd22d0d..5afe4cc035 100755 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -36,6 +36,8 @@ public class Tutorial1 extends Activity */ TextView tv = new TextView(this); tv.setMovementMethod(new ScrollingMovementMethod()); + tv.setClickable (false); + tv.setLongClickable (false); tv.setText( gstVersion() ); setContentView(tv); } From 7b3c680da506bd5039ec9d2ecb938625fa6189fc Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 4 Sep 2012 17:10:40 +0200 Subject: [PATCH 088/979] Better memory management during string construction --- .../android-tutorial-1/jni/tutorial-1.c | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 44806f9850..c95a78e3fa 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -22,32 +22,35 @@ jstring Java_com_gst_1sdk_1tutorials_tutorial_11_Tutorial1_gstVersion (JNIEnv* env, jobject thiz ) { - char buffer[8192] = ""; + jstring ret; + char *buffer, *tmp; GList *original_plugin_list = gst_registry_get_plugin_list (gst_registry_get_default()); GList *plugin_list = original_plugin_list; - g_strlcat (buffer, gst_version_string(), sizeof (buffer)); - g_strlcat (buffer, "\n", sizeof (buffer)); + buffer = g_strdup_printf ("Version: %s\n", gst_version_string()); while (plugin_list) { GstPlugin *plugin = (GstPlugin *)plugin_list->data; GList *original_features_list, *features_list; plugin_list = plugin_list->next; - g_strlcat (buffer, gst_plugin_get_name (plugin), sizeof (buffer)); - g_strlcat (buffer, "\n", sizeof (buffer)); + tmp = g_strdup_printf ("%sPlugin: %s\n", buffer, gst_plugin_get_name (plugin)); + g_free (buffer); + buffer = tmp; original_features_list = features_list = gst_registry_get_feature_list_by_plugin (gst_registry_get_default(), plugin->desc.name); while (features_list) { GstPluginFeature *feature = (GstPluginFeature *)features_list->data; features_list = features_list->next; - g_strlcat (buffer, " ", sizeof (buffer)); - g_strlcat (buffer, gst_plugin_feature_get_name (feature), sizeof (buffer)); - g_strlcat (buffer, "\n", sizeof (buffer)); + tmp = g_strdup_printf ("%s %s\n", buffer, gst_plugin_feature_get_name (feature)); + g_free (buffer); + buffer = tmp; } gst_plugin_feature_list_free (original_features_list); } gst_plugin_list_free (original_plugin_list); - return (*env)->NewStringUTF(env, buffer); + ret = (*env)->NewStringUTF(env, buffer); + g_free (buffer); + return ret; } From 734e54ddfb7c5f7133fd833ae3b079365722d61b Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Thu, 6 Sep 2012 13:13:02 +0200 Subject: [PATCH 089/979] Add more plugins --- gst-sdk/tutorials/android-tutorial-1/jni/Android.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk index 3646087403..880595d4aa 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk @@ -22,7 +22,7 @@ LOCAL_LDLIBS := -L./ -lgstreamer_android LOCAL_CFLAGS := $(shell pkg-config gstreamer-0.10 --cflags) include $(BUILD_SHARED_LIBRARY) -GSTREAMER_PLUGINS = coreelements audiotestsrc videotestsrc ogg theora vorbis ffmpegcolorspace playback +GSTREAMER_PLUGINS = coreelements audiotestsrc videotestsrc ogg theora vorbis ffmpegcolorspace playback app audioconvert audiorate audioresample adder coreindexers gdp gio uridecodebin videorate videoscale typefindfunctions libvisual pango subparse GSTREAMER_STATIC_PLUGINS_PATH=/home/fluendo/cerbero/dist/android_arm/lib/gstreamer-0.10/static GSTREAMER_MK_PATH=/home/fluendo/cerbero/data/ndk-build/ include $(GSTREAMER_MK_PATH)/gstreamer.mk From 70242780c3d2c90caf7281fea3768e0fd55a33cd Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Thu, 6 Sep 2012 13:13:44 +0200 Subject: [PATCH 090/979] Testing logging facilities --- gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index c95a78e3fa..5a115ffcad 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -18,6 +18,9 @@ #include #include +GST_DEBUG_CATEGORY_STATIC (debug_category); +#define GST_CAT_DEFAULT debug_category + jstring Java_com_gst_1sdk_1tutorials_tutorial_11_Tutorial1_gstVersion (JNIEnv* env, jobject thiz ) @@ -27,6 +30,7 @@ Java_com_gst_1sdk_1tutorials_tutorial_11_Tutorial1_gstVersion (JNIEnv* env, GList *original_plugin_list = gst_registry_get_plugin_list (gst_registry_get_default()); GList *plugin_list = original_plugin_list; + GST_DEBUG ("Preparing to dump plugin list"); buffer = g_strdup_printf ("Version: %s\n", gst_version_string()); while (plugin_list) { GstPlugin *plugin = (GstPlugin *)plugin_list->data; @@ -48,9 +52,14 @@ Java_com_gst_1sdk_1tutorials_tutorial_11_Tutorial1_gstVersion (JNIEnv* env, } gst_plugin_feature_list_free (original_features_list); } + GST_DEBUG ("Plugin list dumped"); gst_plugin_list_free (original_plugin_list); ret = (*env)->NewStringUTF(env, buffer); g_free (buffer); return ret; } +jint JNI_OnLoad(JavaVM *vm, void *reserved) { + GST_DEBUG_CATEGORY_INIT (debug_category, "tutorial-1", 0, "Android tutorial 1"); + return JNI_VERSION_1_4; +} From 112f4f92f341ea44dda817eaa833b695162d720f Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Thu, 6 Sep 2012 15:56:13 +0200 Subject: [PATCH 091/979] In this way, -it's more ndk-build-ish- --- gst-sdk/tutorials/android-tutorial-1/jni/Android.mk | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk index 880595d4aa..4e8fbd2757 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk @@ -18,8 +18,7 @@ include $(CLEAR_VARS) LOCAL_MODULE := tutorial-1 LOCAL_SRC_FILES := tutorial-1.c -LOCAL_LDLIBS := -L./ -lgstreamer_android -LOCAL_CFLAGS := $(shell pkg-config gstreamer-0.10 --cflags) +LOCAL_SHARED_LIBRARIES := gstreamer_android include $(BUILD_SHARED_LIBRARY) GSTREAMER_PLUGINS = coreelements audiotestsrc videotestsrc ogg theora vorbis ffmpegcolorspace playback app audioconvert audiorate audioresample adder coreindexers gdp gio uridecodebin videorate videoscale typefindfunctions libvisual pango subparse From b0e6ae8eb7fd1c657e00feaf4bc8b854232240a1 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 7 Sep 2012 16:26:04 +0200 Subject: [PATCH 092/979] Having a running pipeline now, controlled from the UI --- .../android-tutorial-1/jni/tutorial-1.c | 156 ++++++++++++++---- .../android-tutorial-1/res/values/strings.xml | 2 + .../tutorial_1/Tutorial1.java | 48 ++++-- 3 files changed, 159 insertions(+), 47 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 5a115ffcad..9bc84c8d2b 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -17,49 +17,137 @@ #include #include #include +#include GST_DEBUG_CATEGORY_STATIC (debug_category); #define GST_CAT_DEFAULT debug_category -jstring -Java_com_gst_1sdk_1tutorials_tutorial_11_Tutorial1_gstVersion (JNIEnv* env, - jobject thiz ) -{ - jstring ret; - char *buffer, *tmp; - GList *original_plugin_list = gst_registry_get_plugin_list (gst_registry_get_default()); - GList *plugin_list = original_plugin_list; +typedef struct _CustomData { + JNIEnv *env; + GstElement *pipeline; + GMainLoop *main_loop; +} CustomData; - GST_DEBUG ("Preparing to dump plugin list"); - buffer = g_strdup_printf ("Version: %s\n", gst_version_string()); - while (plugin_list) { - GstPlugin *plugin = (GstPlugin *)plugin_list->data; - GList *original_features_list, *features_list; - plugin_list = plugin_list->next; +static pthread_t gst_app_thread; +static pthread_key_t gst_app_thread_key; +static JavaVM *java_vm; +static jfieldID custom_data_field_id; - tmp = g_strdup_printf ("%sPlugin: %s\n", buffer, gst_plugin_get_name (plugin)); - g_free (buffer); - buffer = tmp; - original_features_list = features_list = gst_registry_get_feature_list_by_plugin (gst_registry_get_default(), plugin->desc.name); - - while (features_list) { - GstPluginFeature *feature = (GstPluginFeature *)features_list->data; - features_list = features_list->next; - - tmp = g_strdup_printf ("%s %s\n", buffer, gst_plugin_feature_get_name (feature)); - g_free (buffer); - buffer = tmp; - } - gst_plugin_feature_list_free (original_features_list); - } - GST_DEBUG ("Plugin list dumped"); - gst_plugin_list_free (original_plugin_list); - ret = (*env)->NewStringUTF(env, buffer); - g_free (buffer); - return ret; +/* + * Private methods + */ +static void gst_detach_current_thread (void *env) { + GST_DEBUG ("Detaching thread %p", g_thread_self ()); + (*java_vm)->DetachCurrentThread (java_vm); } +static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + GST_DEBUG ("Message: %s", GST_MESSAGE_TYPE_NAME (msg)); +} + +static void *gst_app_function (void *userdata) { + JavaVMAttachArgs args; + GstBus *bus; + GstMessage *msg; + CustomData *data = (CustomData *)userdata; + + pthread_key_create (&gst_app_thread_key, gst_detach_current_thread); + pthread_setspecific (gst_app_thread_key, &data); + + GST_DEBUG ("Attaching thread %p", g_thread_self ()); + args.version = JNI_VERSION_1_4; + args.name = NULL; + args.group = NULL; + + if ((*java_vm)->AttachCurrentThread (java_vm, &data->env, &args) < 0) { + GST_ERROR ("Failed to attach current thread"); + return; + } + + GST_DEBUG ("Creating pipeline in CustomData at %p", data); + + data->pipeline = gst_parse_launch ("videotestsrc num-buffers=10000 ! fakesink", NULL); + + /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ + bus = gst_element_get_bus (data->pipeline); + gst_bus_add_signal_watch (bus); + g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, data); + g_signal_connect (G_OBJECT (bus), "message::eos", (GCallback)error_cb, data); + gst_object_unref (bus); + + /* Create a GLib Main Loop and set it to run */ + GST_DEBUG ("Entering main loop..."); + data->main_loop = g_main_loop_new (NULL, FALSE); + g_main_loop_run (data->main_loop); + GST_DEBUG ("Exitted main loop"); + + /* Free resources */ + gst_object_unref (bus); + gst_element_set_state (data->pipeline, GST_STATE_NULL); + gst_object_unref (data->pipeline); + // data = pthread_getspecific (gst_app_thread_key); +} + +/* + * Java Bindings + */ +void gst_native_init (JNIEnv* env, jobject thiz) { + CustomData *data = (CustomData *)g_malloc0 (sizeof (CustomData)); + (*env)->SetLongField (env, thiz, custom_data_field_id, (jlong)data); + GST_DEBUG ("Created CustomData at %p", data); + pthread_create (&gst_app_thread, NULL, &gst_app_function, data); +} + +void gst_native_finalize (JNIEnv* env, jobject thiz) { + CustomData *data = (CustomData *)(*env)->GetLongField (env, thiz, custom_data_field_id); + GST_DEBUG ("Quitting main loop..."); + g_main_loop_quit (data->main_loop); + GST_DEBUG ("Waiting for thread to finish..."); + pthread_join (gst_app_thread, NULL); + GST_DEBUG ("Freeing CustomData at %p", data); + g_free (data); + GST_DEBUG ("Done finalizing"); +} + +void gst_native_play (JNIEnv* env, jobject thiz) { + CustomData *data = (CustomData *)(*env)->GetLongField (env, thiz, custom_data_field_id); + GST_DEBUG ("Setting state to PLAYING"); + gst_element_set_state (data->pipeline, GST_STATE_PLAYING); +} + +void gst_native_pause (JNIEnv* env, jobject thiz) { + CustomData *data = (CustomData *)(*env)->GetLongField (env, thiz, custom_data_field_id); + GST_DEBUG ("Setting state to READY"); + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); +} + +void gst_class_init (JNIEnv* env, jclass klass) { + custom_data_field_id = (*env)->GetFieldID (env, klass, "native_custom_data", "J"); + GST_DEBUG ("The FieldID for the native_custom_data field is %p", custom_data_field_id); +} + +static JNINativeMethod native_methods[] = { + { "nativeInit", "()V", (void *) gst_native_init}, + { "nativeFinalize", "()V", (void *) gst_native_finalize}, + { "nativePlay", "()V", (void *) gst_native_play}, + { "nativePause", "()V", (void *) gst_native_pause}, + { "classInit", "()V", (void *) gst_class_init} +}; + jint JNI_OnLoad(JavaVM *vm, void *reserved) { + JNIEnv *env = NULL; + int ret; + GST_DEBUG_CATEGORY_INIT (debug_category, "tutorial-1", 0, "Android tutorial 1"); + + java_vm = vm; + + if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_4) != JNI_OK) { + GST_ERROR ("Could not retrieve JNIEnv"); + return 0; + } + jclass klass = (*env)->FindClass (env, "com/gst_sdk_tutorials/tutorial_1/Tutorial1"); + ret = (*env)->RegisterNatives (env, klass, native_methods, 5); + return JNI_VERSION_1_4; } diff --git a/gst-sdk/tutorials/android-tutorial-1/res/values/strings.xml b/gst-sdk/tutorials/android-tutorial-1/res/values/strings.xml index b956d6d241..60c84d95a7 100755 --- a/gst-sdk/tutorials/android-tutorial-1/res/values/strings.xml +++ b/gst-sdk/tutorials/android-tutorial-1/res/values/strings.xml @@ -1,4 +1,6 @@ Android tutorial 1 + Play + Stop diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java index 5afe4cc035..2e62669fb5 100755 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -16,34 +16,56 @@ package com.gst_sdk_tutorials.tutorial_1; import android.app.Activity; -import android.widget.TextView; import android.os.Bundle; -import android.text.method.ScrollingMovementMethod; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.ImageButton; +import android.widget.TextView; public class Tutorial1 extends Activity { - public native String gstVersion(); + public native void nativeInit(); + public native void nativeFinalize(); + public native void nativePlay(); + public native void nativePause(); + private static native void classInit(); + private long native_custom_data; /* Called when the activity is first created. @Override */ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + + setContentView(R.layout.main); + + ImageButton play = (ImageButton)this.findViewById(R.id.button_play); + play.setOnClickListener(new OnClickListener() { + + public void onClick(View v) { + nativePlay(); + } + }); + + ImageButton pause = (ImageButton)this.findViewById(R.id.button_stop); + pause.setOnClickListener(new OnClickListener() { + + public void onClick(View v) { + nativePause(); + } + }); - /* Create a TextView and set its content. - * the text is retrieved by calling a native - * function. - */ - TextView tv = new TextView(this); - tv.setMovementMethod(new ScrollingMovementMethod()); - tv.setClickable (false); - tv.setLongClickable (false); - tv.setText( gstVersion() ); - setContentView(tv); + nativeInit(); + } + + protected void onDestroy () { + nativeFinalize(); + super.onDestroy(); } static { System.loadLibrary("gstreamer_android"); System.loadLibrary("tutorial-1"); + classInit(); } } From 4f23fc027c7ac2c3f34b64d016a03a08e098fa9b Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 10 Sep 2012 12:06:16 +0200 Subject: [PATCH 093/979] Remove warnings due to storing 32bits pointers inside jlongs. Fix handling of TLS (still unused, though) --- .../android-tutorial-1/jni/tutorial-1.c | 66 +++++++++++++------ 1 file changed, 47 insertions(+), 19 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 9bc84c8d2b..0285a4c157 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -22,6 +22,18 @@ GST_DEBUG_CATEGORY_STATIC (debug_category); #define GST_CAT_DEFAULT debug_category +/* + * These macros provide a way to store the native pointer to CustomData, which might be 32 or 64 bits, into + * a jlong, which is always 64 bits, without warnings. + */ +#if GLIB_SIZEOF_VOID_P == 8 +# define GET_CUSTOM_DATA(env, thiz, fieldID) (CustomData *)(*env)->GetLongField (env, thiz, fieldID) +# define SET_CUSTOM_DATA(env, thiz, fieldID, data) (*env)->SetLongField (env, thiz, fieldID, (jlong)data) +#else +# define GET_CUSTOM_DATA(env, thiz, fieldID) (CustomData *)(jint)(*env)->GetLongField (env, thiz, fieldID) +# define SET_CUSTOM_DATA(env, thiz, fieldID, data) (*env)->SetLongField (env, thiz, fieldID, (jlong)(jint)data) +#endif + typedef struct _CustomData { JNIEnv *env; GstElement *pipeline; @@ -29,18 +41,46 @@ typedef struct _CustomData { } CustomData; static pthread_t gst_app_thread; -static pthread_key_t gst_app_thread_key; +static pthread_key_t current_jni_env; static JavaVM *java_vm; static jfieldID custom_data_field_id; /* * Private methods */ +static JNIEnv * gst_attach_current_thread (void) { + JNIEnv *env; + JavaVMAttachArgs args; + + GST_DEBUG ("Attaching thread %p", g_thread_self ()); + args.version = JNI_VERSION_1_4; + args.name = NULL; + args.group = NULL; + + if ((*java_vm)->AttachCurrentThread (java_vm, &env, &args) < 0) { + GST_ERROR ("Failed to attach current thread"); + return NULL; + } + + return env; +} + static void gst_detach_current_thread (void *env) { GST_DEBUG ("Detaching thread %p", g_thread_self ()); (*java_vm)->DetachCurrentThread (java_vm); } +static JNIEnv *gst_get_jni_env (void) { + JNIEnv *env; + + if ((env = pthread_getspecific (current_jni_env)) == NULL) { + env = gst_attach_current_thread (); + pthread_setspecific (current_jni_env, env); + } + + return env; +} + static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { GST_DEBUG ("Message: %s", GST_MESSAGE_TYPE_NAME (msg)); } @@ -51,19 +91,6 @@ static void *gst_app_function (void *userdata) { GstMessage *msg; CustomData *data = (CustomData *)userdata; - pthread_key_create (&gst_app_thread_key, gst_detach_current_thread); - pthread_setspecific (gst_app_thread_key, &data); - - GST_DEBUG ("Attaching thread %p", g_thread_self ()); - args.version = JNI_VERSION_1_4; - args.name = NULL; - args.group = NULL; - - if ((*java_vm)->AttachCurrentThread (java_vm, &data->env, &args) < 0) { - GST_ERROR ("Failed to attach current thread"); - return; - } - GST_DEBUG ("Creating pipeline in CustomData at %p", data); data->pipeline = gst_parse_launch ("videotestsrc num-buffers=10000 ! fakesink", NULL); @@ -85,7 +112,6 @@ static void *gst_app_function (void *userdata) { gst_object_unref (bus); gst_element_set_state (data->pipeline, GST_STATE_NULL); gst_object_unref (data->pipeline); - // data = pthread_getspecific (gst_app_thread_key); } /* @@ -93,13 +119,13 @@ static void *gst_app_function (void *userdata) { */ void gst_native_init (JNIEnv* env, jobject thiz) { CustomData *data = (CustomData *)g_malloc0 (sizeof (CustomData)); - (*env)->SetLongField (env, thiz, custom_data_field_id, (jlong)data); + SET_CUSTOM_DATA (env, thiz, custom_data_field_id, data); GST_DEBUG ("Created CustomData at %p", data); pthread_create (&gst_app_thread, NULL, &gst_app_function, data); } void gst_native_finalize (JNIEnv* env, jobject thiz) { - CustomData *data = (CustomData *)(*env)->GetLongField (env, thiz, custom_data_field_id); + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); GST_DEBUG ("Quitting main loop..."); g_main_loop_quit (data->main_loop); GST_DEBUG ("Waiting for thread to finish..."); @@ -110,13 +136,13 @@ void gst_native_finalize (JNIEnv* env, jobject thiz) { } void gst_native_play (JNIEnv* env, jobject thiz) { - CustomData *data = (CustomData *)(*env)->GetLongField (env, thiz, custom_data_field_id); + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); GST_DEBUG ("Setting state to PLAYING"); gst_element_set_state (data->pipeline, GST_STATE_PLAYING); } void gst_native_pause (JNIEnv* env, jobject thiz) { - CustomData *data = (CustomData *)(*env)->GetLongField (env, thiz, custom_data_field_id); + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); GST_DEBUG ("Setting state to READY"); gst_element_set_state (data->pipeline, GST_STATE_PAUSED); } @@ -149,5 +175,7 @@ jint JNI_OnLoad(JavaVM *vm, void *reserved) { jclass klass = (*env)->FindClass (env, "com/gst_sdk_tutorials/tutorial_1/Tutorial1"); ret = (*env)->RegisterNatives (env, klass, native_methods, 5); + pthread_key_create (¤t_jni_env, gst_detach_current_thread); + return JNI_VERSION_1_4; } From 30f8381ac93efb2bab3f23e78bcdfd09c2355156 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 10 Sep 2012 12:08:33 +0200 Subject: [PATCH 094/979] Remove copyright note from Android samples --- .../android-tutorial-1/jni/tutorial-1.c | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 0285a4c157..7ad5ffcd0a 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -1,19 +1,3 @@ -/* - * Copyright (C) 2009 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ #include #include #include From ca35131d479d18746176db017073cb7e5d0b94d8 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 10 Sep 2012 12:09:56 +0200 Subject: [PATCH 095/979] Remove unused variable --- gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c | 1 - 1 file changed, 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 7ad5ffcd0a..91747fc9a4 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -19,7 +19,6 @@ GST_DEBUG_CATEGORY_STATIC (debug_category); #endif typedef struct _CustomData { - JNIEnv *env; GstElement *pipeline; GMainLoop *main_loop; } CustomData; From 66d4f1873b27ef2ca9bf5aed9e8d3469adc30682 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 10 Sep 2012 12:16:09 +0200 Subject: [PATCH 096/979] Whitespace --- .../src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java index 2e62669fb5..0e50affd5e 100755 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -36,20 +36,18 @@ public class Tutorial1 extends Activity public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - + setContentView(R.layout.main); - + ImageButton play = (ImageButton)this.findViewById(R.id.button_play); play.setOnClickListener(new OnClickListener() { - public void onClick(View v) { nativePlay(); } }); - + ImageButton pause = (ImageButton)this.findViewById(R.id.button_stop); pause.setOnClickListener(new OnClickListener() { - public void onClick(View v) { nativePause(); } From ba4182c47049ce824b72322ed16350eac819767e Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 10 Sep 2012 16:10:48 +0200 Subject: [PATCH 097/979] Add method to test Java UI code being called from C callbacks --- .../android-tutorial-1/jni/tutorial-1.c | 20 ++++++++++++++++--- .../tutorial_1/Tutorial1.java | 15 ++++++++++++++ 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 91747fc9a4..0baf3a37a2 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -19,6 +19,7 @@ GST_DEBUG_CATEGORY_STATIC (debug_category); #endif typedef struct _CustomData { + jobject app; GstElement *pipeline; GMainLoop *main_loop; } CustomData; @@ -27,11 +28,12 @@ static pthread_t gst_app_thread; static pthread_key_t current_jni_env; static JavaVM *java_vm; static jfieldID custom_data_field_id; +static jmethodID set_message_method_id; /* * Private methods */ -static JNIEnv * gst_attach_current_thread (void) { +static JNIEnv *gst_attach_current_thread (void) { JNIEnv *env; JavaVMAttachArgs args; @@ -65,7 +67,13 @@ static JNIEnv *gst_get_jni_env (void) { } static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { - GST_DEBUG ("Message: %s", GST_MESSAGE_TYPE_NAME (msg)); + GST_DEBUG ("Message: %s", GST_MESSAGE_TYPE_NAME (msg)); + JNIEnv *env = gst_get_jni_env (); + (*env)->CallVoidMethod (env, data->app, set_message_method_id, (*env)->NewStringUTF(env, GST_MESSAGE_TYPE_NAME (msg))); + if ((*env)->ExceptionCheck (env)) { + GST_ERROR ("Failed to call Java method"); + (*env)->ExceptionClear (env); + } } static void *gst_app_function (void *userdata) { @@ -76,7 +84,7 @@ static void *gst_app_function (void *userdata) { GST_DEBUG ("Creating pipeline in CustomData at %p", data); - data->pipeline = gst_parse_launch ("videotestsrc num-buffers=10000 ! fakesink", NULL); + data->pipeline = gst_parse_launch ("videotestsrc num-buffers=1000 ! fakesink", NULL); /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ bus = gst_element_get_bus (data->pipeline); @@ -105,6 +113,8 @@ void gst_native_init (JNIEnv* env, jobject thiz) { SET_CUSTOM_DATA (env, thiz, custom_data_field_id, data); GST_DEBUG ("Created CustomData at %p", data); pthread_create (&gst_app_thread, NULL, &gst_app_function, data); + data->app = (*env)->NewGlobalRef (env, thiz); + GST_DEBUG ("Created GlobalRef for app objet at %p", data->app); } void gst_native_finalize (JNIEnv* env, jobject thiz) { @@ -113,6 +123,8 @@ void gst_native_finalize (JNIEnv* env, jobject thiz) { g_main_loop_quit (data->main_loop); GST_DEBUG ("Waiting for thread to finish..."); pthread_join (gst_app_thread, NULL); + GST_DEBUG ("Deleting GlobalRef at %p", data->app); + (*env)->DeleteGlobalRef (env, data->app); GST_DEBUG ("Freeing CustomData at %p", data); g_free (data); GST_DEBUG ("Done finalizing"); @@ -133,6 +145,8 @@ void gst_native_pause (JNIEnv* env, jobject thiz) { void gst_class_init (JNIEnv* env, jclass klass) { custom_data_field_id = (*env)->GetFieldID (env, klass, "native_custom_data", "J"); GST_DEBUG ("The FieldID for the native_custom_data field is %p", custom_data_field_id); + set_message_method_id = (*env)->GetMethodID (env, klass, "setMessage", "(Ljava/lang/String;)V"); + GST_DEBUG ("The MethodID for the setMessage method is %p", set_message_method_id); } static JNINativeMethod native_methods[] = { diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java index 0e50affd5e..e32c1a165b 100755 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -16,6 +16,7 @@ package com.gst_sdk_tutorials.tutorial_1; import android.app.Activity; +import android.util.Log; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; @@ -61,6 +62,20 @@ public class Tutorial1 extends Activity super.onDestroy(); } + private void setMessage (final String message) { + final TextView tv = (TextView)this.findViewById(R.id.textview_message); + Log.d ("GStreamer", "Received message " + message); + try { + runOnUiThread (new Runnable() {@Override public void run() + { + tv.setText (message); + } + }); + } catch (Exception e) { + e.printStackTrace(); + } + } + static { System.loadLibrary("gstreamer_android"); System.loadLibrary("tutorial-1"); From e4a142b38ad0b3f704bb2bfdba73fe6935f03f6a Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 10 Sep 2012 16:45:19 +0200 Subject: [PATCH 098/979] Add missing layour file --- .../android-tutorial-1/res/layout/main.xml | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100755 gst-sdk/tutorials/android-tutorial-1/res/layout/main.xml diff --git a/gst-sdk/tutorials/android-tutorial-1/res/layout/main.xml b/gst-sdk/tutorials/android-tutorial-1/res/layout/main.xml new file mode 100755 index 0000000000..a6b9824c2b --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-1/res/layout/main.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + \ No newline at end of file From 6c3dcf57305382f96bab27de5797efb385734d5d Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 12 Sep 2012 10:59:23 +0200 Subject: [PATCH 099/979] Assorted small fixes, string leaks and beautifying --- gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c | 10 ++++++---- .../com/gst_sdk_tutorials/tutorial_1/Tutorial1.java | 8 ++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 0baf3a37a2..e6dd32a93d 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -69,11 +69,13 @@ static JNIEnv *gst_get_jni_env (void) { static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { GST_DEBUG ("Message: %s", GST_MESSAGE_TYPE_NAME (msg)); JNIEnv *env = gst_get_jni_env (); - (*env)->CallVoidMethod (env, data->app, set_message_method_id, (*env)->NewStringUTF(env, GST_MESSAGE_TYPE_NAME (msg))); + jstring jmessage = (*env)->NewStringUTF(env, GST_MESSAGE_TYPE_NAME (msg)); + (*env)->CallVoidMethod (env, data->app, set_message_method_id, jmessage); if ((*env)->ExceptionCheck (env)) { GST_ERROR ("Failed to call Java method"); (*env)->ExceptionClear (env); } + (*env)->DeleteLocalRef (env, jmessage); } static void *gst_app_function (void *userdata) { @@ -112,9 +114,9 @@ void gst_native_init (JNIEnv* env, jobject thiz) { CustomData *data = (CustomData *)g_malloc0 (sizeof (CustomData)); SET_CUSTOM_DATA (env, thiz, custom_data_field_id, data); GST_DEBUG ("Created CustomData at %p", data); - pthread_create (&gst_app_thread, NULL, &gst_app_function, data); data->app = (*env)->NewGlobalRef (env, thiz); - GST_DEBUG ("Created GlobalRef for app objet at %p", data->app); + GST_DEBUG ("Created GlobalRef for app object at %p", data->app); + pthread_create (&gst_app_thread, NULL, &gst_app_function, data); } void gst_native_finalize (JNIEnv* env, jobject thiz) { @@ -170,7 +172,7 @@ jint JNI_OnLoad(JavaVM *vm, void *reserved) { return 0; } jclass klass = (*env)->FindClass (env, "com/gst_sdk_tutorials/tutorial_1/Tutorial1"); - ret = (*env)->RegisterNatives (env, klass, native_methods, 5); + ret = (*env)->RegisterNatives (env, klass, native_methods, G_N_ELEMENTS(native_methods)); pthread_key_create (¤t_jni_env, gst_detach_current_thread); diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java index e32c1a165b..809bd2c6e3 100755 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -25,10 +25,10 @@ import android.widget.TextView; public class Tutorial1 extends Activity { - public native void nativeInit(); - public native void nativeFinalize(); - public native void nativePlay(); - public native void nativePause(); + private native void nativeInit(); + private native void nativeFinalize(); + private native void nativePlay(); + private native void nativePause(); private static native void classInit(); private long native_custom_data; From c4363559c80d8b9b551c31593d663412aea4b343 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 12 Sep 2012 17:38:17 +0200 Subject: [PATCH 100/979] Update minimum SDk version to 9 --- gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml b/gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml index dfc3c54085..88f60cefab 100755 --- a/gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml +++ b/gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml @@ -3,7 +3,7 @@ package="com.gst_sdk_tutorials.tutorial_1" android:versionCode="1" android:versionName="1.0"> - + From f7446956c9ffcea6cdfa13d2b0aff0c45e655497 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 12 Sep 2012 17:39:14 +0200 Subject: [PATCH 101/979] Add a SurfaceView and tell native code about it. Still no sink though. --- .../android-tutorial-1/jni/Android.mk | 1 + .../android-tutorial-1/jni/tutorial-1.c | 25 ++++++- .../android-tutorial-1/res/layout/main.xml | 5 ++ .../tutorial_1/Tutorial1.java | 72 ++++++++++++------- 4 files changed, 78 insertions(+), 25 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk index 4e8fbd2757..7bf074de46 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk @@ -19,6 +19,7 @@ include $(CLEAR_VARS) LOCAL_MODULE := tutorial-1 LOCAL_SRC_FILES := tutorial-1.c LOCAL_SHARED_LIBRARIES := gstreamer_android +LOCAL_LDLIBS := -landroid include $(BUILD_SHARED_LIBRARY) GSTREAMER_PLUGINS = coreelements audiotestsrc videotestsrc ogg theora vorbis ffmpegcolorspace playback app audioconvert audiorate audioresample adder coreindexers gdp gio uridecodebin videorate videoscale typefindfunctions libvisual pango subparse diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index e6dd32a93d..8bd7256620 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -1,5 +1,7 @@ #include #include +#include +#include #include #include @@ -22,6 +24,7 @@ typedef struct _CustomData { jobject app; GstElement *pipeline; GMainLoop *main_loop; + ANativeWindow *native_window; } CustomData; static pthread_t gst_app_thread; @@ -151,12 +154,32 @@ void gst_class_init (JNIEnv* env, jclass klass) { GST_DEBUG ("The MethodID for the setMessage method is %p", set_message_method_id); } +void gst_native_surface_init (JNIEnv *env, jobject thiz, jobject surface) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + GST_DEBUG ("Received surface %p", surface); + if (data->native_window) { + GST_DEBUG ("Releasing previous native window %p", data->native_window); + ANativeWindow_release (data->native_window); + } + data->native_window = ANativeWindow_fromSurface(env, surface); + GST_DEBUG ("Got Native Window %p", data->native_window); +} + +void gst_native_surface_finalize (JNIEnv *env, jobject thiz) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + GST_DEBUG ("Releasing Native Window %p", data->native_window); + ANativeWindow_release (data->native_window); + data->native_window = NULL; +} + static JNINativeMethod native_methods[] = { { "nativeInit", "()V", (void *) gst_native_init}, { "nativeFinalize", "()V", (void *) gst_native_finalize}, { "nativePlay", "()V", (void *) gst_native_play}, { "nativePause", "()V", (void *) gst_native_pause}, - { "classInit", "()V", (void *) gst_class_init} + { "classInit", "()V", (void *) gst_class_init}, + { "nativeSurfaceInit", "(Ljava/lang/Object;)V", (void *) gst_native_surface_init}, + { "nativeSurfaceFinalize", "()V", (void *) gst_native_surface_finalize} }; jint JNI_OnLoad(JavaVM *vm, void *reserved) { diff --git a/gst-sdk/tutorials/android-tutorial-1/res/layout/main.xml b/gst-sdk/tutorials/android-tutorial-1/res/layout/main.xml index a6b9824c2b..651740ade8 100755 --- a/gst-sdk/tutorials/android-tutorial-1/res/layout/main.xml +++ b/gst-sdk/tutorials/android-tutorial-1/res/layout/main.xml @@ -31,4 +31,9 @@ android:text="@string/button_stop" /> + + \ No newline at end of file diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java index 809bd2c6e3..7df52e98c0 100755 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -18,18 +18,22 @@ package com.gst_sdk_tutorials.tutorial_1; import android.app.Activity; import android.util.Log; import android.os.Bundle; +import android.view.Surface; +import android.view.SurfaceHolder; +import android.view.SurfaceView; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageButton; import android.widget.TextView; -public class Tutorial1 extends Activity -{ +public class Tutorial1 extends Activity implements SurfaceHolder.Callback { private native void nativeInit(); private native void nativeFinalize(); private native void nativePlay(); private native void nativePause(); private static native void classInit(); + private native void nativeSurfaceInit(Object surface); + private native void nativeSurfaceFinalize(); private long native_custom_data; /* Called when the activity is first created. @@ -40,40 +44,44 @@ public class Tutorial1 extends Activity setContentView(R.layout.main); - ImageButton play = (ImageButton)this.findViewById(R.id.button_play); + ImageButton play = (ImageButton) this.findViewById(R.id.button_play); play.setOnClickListener(new OnClickListener() { - public void onClick(View v) { - nativePlay(); - } + public void onClick(View v) { + nativePlay(); + } }); - ImageButton pause = (ImageButton)this.findViewById(R.id.button_stop); + ImageButton pause = (ImageButton) this.findViewById(R.id.button_stop); pause.setOnClickListener(new OnClickListener() { - public void onClick(View v) { - nativePause(); - } + public void onClick(View v) { + nativePause(); + } }); + SurfaceView sv = (SurfaceView) this.findViewById(R.id.surface_video); + SurfaceHolder sh = sv.getHolder(); + sh.addCallback(this); + nativeInit(); } - protected void onDestroy () { - nativeFinalize(); - super.onDestroy(); + protected void onDestroy() { + nativeFinalize(); + super.onDestroy(); } - private void setMessage (final String message) { - final TextView tv = (TextView)this.findViewById(R.id.textview_message); - Log.d ("GStreamer", "Received message " + message); - try { - runOnUiThread (new Runnable() {@Override public void run() + private void setMessage(final String message) { + final TextView tv = (TextView) this.findViewById(R.id.textview_message); + Log.d("GStreamer", "Received message " + message); + try { + runOnUiThread (new Runnable() {public void run() { - tv.setText (message); - } - }); - } catch (Exception e) { - e.printStackTrace(); - } + tv.setText(message); + } + }); + } catch (Exception e) { + e.printStackTrace(); + } } static { @@ -81,4 +89,20 @@ public class Tutorial1 extends Activity System.loadLibrary("tutorial-1"); classInit(); } + + public void surfaceChanged(SurfaceHolder holder, int format, int width, + int height) { + Log.d("GStreamer", "Surface changed to format " + format + " width " + + width + " height " + height); + nativeSurfaceInit (holder.getSurface()); + } + + public void surfaceCreated(SurfaceHolder holder) { + Log.d("GStreamer", "Surface created: " + holder.getSurface()); + } + + public void surfaceDestroyed(SurfaceHolder holder) { + Log.d("GStreamer", "Surface destroyed"); + nativeSurfaceFinalize (); + } } From a449e48aea86817e09b0c539932139c1ccf90e09 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 12 Sep 2012 18:45:03 +0200 Subject: [PATCH 102/979] Use a eglglessink (does not work yet) --- gst-sdk/tutorials/android-tutorial-1/jni/Android.mk | 2 +- gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk index 7bf074de46..b94079089c 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk @@ -22,7 +22,7 @@ LOCAL_SHARED_LIBRARIES := gstreamer_android LOCAL_LDLIBS := -landroid include $(BUILD_SHARED_LIBRARY) -GSTREAMER_PLUGINS = coreelements audiotestsrc videotestsrc ogg theora vorbis ffmpegcolorspace playback app audioconvert audiorate audioresample adder coreindexers gdp gio uridecodebin videorate videoscale typefindfunctions libvisual pango subparse +GSTREAMER_PLUGINS = coreelements audiotestsrc videotestsrc ogg theora vorbis ffmpegcolorspace playback app audioconvert audiorate audioresample adder coreindexers gdp gio uridecodebin videorate videoscale typefindfunctions libvisual pango subparse eglglessink GSTREAMER_STATIC_PLUGINS_PATH=/home/fluendo/cerbero/dist/android_arm/lib/gstreamer-0.10/static GSTREAMER_MK_PATH=/home/fluendo/cerbero/data/ndk-build/ include $(GSTREAMER_MK_PATH)/gstreamer.mk diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 8bd7256620..1d42bec80e 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -4,6 +4,7 @@ #include #include #include +#include GST_DEBUG_CATEGORY_STATIC (debug_category); #define GST_CAT_DEFAULT debug_category @@ -89,7 +90,7 @@ static void *gst_app_function (void *userdata) { GST_DEBUG ("Creating pipeline in CustomData at %p", data); - data->pipeline = gst_parse_launch ("videotestsrc num-buffers=1000 ! fakesink", NULL); + data->pipeline = gst_parse_launch ("videotestsrc ! eglglessink", NULL); /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ bus = gst_element_get_bus (data->pipeline); @@ -163,6 +164,8 @@ void gst_native_surface_init (JNIEnv *env, jobject thiz, jobject surface) { } data->native_window = ANativeWindow_fromSurface(env, surface); GST_DEBUG ("Got Native Window %p", data->native_window); + + gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->pipeline), (guintptr)data->native_window); } void gst_native_surface_finalize (JNIEnv *env, jobject thiz) { @@ -170,6 +173,8 @@ void gst_native_surface_finalize (JNIEnv *env, jobject thiz) { GST_DEBUG ("Releasing Native Window %p", data->native_window); ANativeWindow_release (data->native_window); data->native_window = NULL; + + gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->pipeline), (guintptr)NULL); } static JNINativeMethod native_methods[] = { From d6c101954bfd1ba3427d19be85827fa3d7a47051 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 12 Sep 2012 18:49:06 +0200 Subject: [PATCH 103/979] Add missing properties needed while testing --- gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 1d42bec80e..79391d280c 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -90,7 +90,7 @@ static void *gst_app_function (void *userdata) { GST_DEBUG ("Creating pipeline in CustomData at %p", data); - data->pipeline = gst_parse_launch ("videotestsrc ! eglglessink", NULL); + data->pipeline = gst_parse_launch ("videotestsrc ! eglglessink force_rendering_slow=1 can_create_window=0", NULL); /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ bus = gst_element_get_bus (data->pipeline); From 48f9983fbdd7eec354bebcddb54250a2c9f513e0 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Thu, 13 Sep 2012 12:05:43 +0200 Subject: [PATCH 104/979] Formatting --- .../gst_sdk_tutorials/tutorial_1/Tutorial1.java | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java index 7df52e98c0..7bc71dca14 100755 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -73,15 +73,11 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback { private void setMessage(final String message) { final TextView tv = (TextView) this.findViewById(R.id.textview_message); Log.d("GStreamer", "Received message " + message); - try { - runOnUiThread (new Runnable() {public void run() - { - tv.setText(message); - } - }); - } catch (Exception e) { - e.printStackTrace(); - } + runOnUiThread (new Runnable() { + public void run() { + tv.setText(message); + } + }); } static { From 0156029e06f0e23d395bd8fcc01001ade7982768 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Thu, 13 Sep 2012 12:09:22 +0200 Subject: [PATCH 105/979] Remove unneeded import --- .../src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java | 1 - 1 file changed, 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java index 7bc71dca14..36d4e48bb3 100755 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -18,7 +18,6 @@ package com.gst_sdk_tutorials.tutorial_1; import android.app.Activity; import android.util.Log; import android.os.Bundle; -import android.view.Surface; import android.view.SurfaceHolder; import android.view.SurfaceView; import android.view.View; From 8f8258e4b9e7d3996ef2a9ba76d43acf5e6a7190 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Thu, 13 Sep 2012 14:36:06 +0200 Subject: [PATCH 106/979] Report current position/duration back to the UI. Refactor. --- .../android-tutorial-1/AndroidManifest.xml | 1 + .../android-tutorial-1/jni/Android.mk | 2 +- .../android-tutorial-1/jni/tutorial-1.c | 104 +++++++++++++++--- .../android-tutorial-1/res/layout/main.xml | 6 + .../tutorial_1/Tutorial1.java | 17 ++- 5 files changed, 113 insertions(+), 17 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml b/gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml index 88f60cefab..508f2f1b91 100755 --- a/gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml +++ b/gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml @@ -4,6 +4,7 @@ android:versionCode="1" android:versionName="1.0"> + diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk index b94079089c..2e7a773692 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk @@ -22,7 +22,7 @@ LOCAL_SHARED_LIBRARIES := gstreamer_android LOCAL_LDLIBS := -landroid include $(BUILD_SHARED_LIBRARY) -GSTREAMER_PLUGINS = coreelements audiotestsrc videotestsrc ogg theora vorbis ffmpegcolorspace playback app audioconvert audiorate audioresample adder coreindexers gdp gio uridecodebin videorate videoscale typefindfunctions libvisual pango subparse eglglessink +GSTREAMER_PLUGINS = coreelements audiotestsrc videotestsrc ogg theora vorbis ffmpegcolorspace playback app audioconvert audiorate audioresample adder coreindexers gdp gio uridecodebin videorate videoscale typefindfunctions libvisual pango subparse eglglessink soup GSTREAMER_STATIC_PLUGINS_PATH=/home/fluendo/cerbero/dist/android_arm/lib/gstreamer-0.10/static GSTREAMER_MK_PATH=/home/fluendo/cerbero/data/ndk-build/ include $(GSTREAMER_MK_PATH)/gstreamer.mk diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 79391d280c..c35141c312 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -26,6 +26,9 @@ typedef struct _CustomData { GstElement *pipeline; GMainLoop *main_loop; ANativeWindow *native_window; + gboolean playing; + gint64 position; + gint64 duration; } CustomData; static pthread_t gst_app_thread; @@ -33,11 +36,12 @@ static pthread_key_t current_jni_env; static JavaVM *java_vm; static jfieldID custom_data_field_id; static jmethodID set_message_method_id; +static jmethodID set_current_position_method_id; /* * Private methods */ -static JNIEnv *gst_attach_current_thread (void) { +static JNIEnv *attach_current_thread (void) { JNIEnv *env; JavaVMAttachArgs args; @@ -54,26 +58,26 @@ static JNIEnv *gst_attach_current_thread (void) { return env; } -static void gst_detach_current_thread (void *env) { +static void detach_current_thread (void *env) { GST_DEBUG ("Detaching thread %p", g_thread_self ()); (*java_vm)->DetachCurrentThread (java_vm); } -static JNIEnv *gst_get_jni_env (void) { +static JNIEnv *get_jni_env (void) { JNIEnv *env; if ((env = pthread_getspecific (current_jni_env)) == NULL) { - env = gst_attach_current_thread (); + env = attach_current_thread (); pthread_setspecific (current_jni_env, env); } return env; } -static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { - GST_DEBUG ("Message: %s", GST_MESSAGE_TYPE_NAME (msg)); - JNIEnv *env = gst_get_jni_env (); - jstring jmessage = (*env)->NewStringUTF(env, GST_MESSAGE_TYPE_NAME (msg)); +static void set_message (const gchar *message, CustomData *data) { + JNIEnv *env = get_jni_env (); + GST_DEBUG ("Setting message to: %s", message); + jstring jmessage = (*env)->NewStringUTF(env, message); (*env)->CallVoidMethod (env, data->app, set_message_method_id, jmessage); if ((*env)->ExceptionCheck (env)) { GST_ERROR ("Failed to call Java method"); @@ -82,7 +86,67 @@ static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { (*env)->DeleteLocalRef (env, jmessage); } -static void *gst_app_function (void *userdata) { +static void set_current_position (gint64 position, gint64 duration, CustomData *data) { + JNIEnv *env = get_jni_env (); + GST_DEBUG ("Setting current position/duration to: %lld / %lld (ms)", position, duration); + (*env)->CallVoidMethod (env, data->app, set_current_position_method_id, position, duration); + if ((*env)->ExceptionCheck (env)) { + GST_ERROR ("Failed to call Java method"); + (*env)->ExceptionClear (env); + } +} + +static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + GError *err; + gchar *debug_info; + gchar *message_string; + + gst_message_parse_error (msg, &err, &debug_info); + message_string = g_strdup_printf ("Error received from element %s: %s", GST_OBJECT_NAME (msg->src), err->message); + g_clear_error (&err); + g_free (debug_info); + set_message (message_string, data); + g_free (message_string); + gst_element_set_state (data->pipeline, GST_STATE_NULL); +} + +static void eos_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + set_message (GST_MESSAGE_TYPE_NAME (msg), data); + gst_element_set_state (data->pipeline, GST_STATE_NULL); +} + +static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->pipeline)) { + set_message (gst_element_state_get_name (new_state), data); + data->playing = (new_state == GST_STATE_PLAYING); + } +} + +static gboolean refresh_ui (CustomData *data) { + GstFormat fmt = GST_FORMAT_TIME; + gint64 current = -1; + + /* We do not want to update anything unless we are in the PLAYING state */ + if (!data->playing) + return TRUE; + + /* If we didn't know it yet, query the stream duration */ + if (!GST_CLOCK_TIME_IS_VALID (data->duration)) { + if (!gst_element_query_duration (data->pipeline, &fmt, &data->duration)) { + GST_WARNING ("Could not query current duration"); + } + } + + if (gst_element_query_position (data->pipeline, &fmt, &data->position)) { + /* Java expects these values in milliseconds, and Gst provides nanoseconds */ + set_current_position (data->position/1000000, data->duration/1000000, data); + } + return TRUE; +} + +static void *app_function (void *userdata) { JavaVMAttachArgs args; GstBus *bus; GstMessage *msg; @@ -90,15 +154,22 @@ static void *gst_app_function (void *userdata) { GST_DEBUG ("Creating pipeline in CustomData at %p", data); - data->pipeline = gst_parse_launch ("videotestsrc ! eglglessink force_rendering_slow=1 can_create_window=0", NULL); +// data->pipeline = gst_parse_launch ("videotestsrc ! eglglessink force_rendering_slow=1 can_create_window=0", NULL); +// data->pipeline = gst_parse_launch ("filesrc location=/sdcard/Movies/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! fakesink", NULL); + data->pipeline = gst_parse_launch ("souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! fakesink", NULL); + /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ bus = gst_element_get_bus (data->pipeline); gst_bus_add_signal_watch (bus); g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, data); - g_signal_connect (G_OBJECT (bus), "message::eos", (GCallback)error_cb, data); + g_signal_connect (G_OBJECT (bus), "message::eos", (GCallback)eos_cb, data); + g_signal_connect (G_OBJECT (bus), "message::state-changed", (GCallback)state_changed_cb, data); gst_object_unref (bus); - + + /* Register a function that GLib will call every second */ + g_timeout_add_seconds (1, (GSourceFunc)refresh_ui, data); + /* Create a GLib Main Loop and set it to run */ GST_DEBUG ("Entering main loop..."); data->main_loop = g_main_loop_new (NULL, FALSE); @@ -116,11 +187,12 @@ static void *gst_app_function (void *userdata) { */ void gst_native_init (JNIEnv* env, jobject thiz) { CustomData *data = (CustomData *)g_malloc0 (sizeof (CustomData)); + data->duration = GST_CLOCK_TIME_NONE; SET_CUSTOM_DATA (env, thiz, custom_data_field_id, data); GST_DEBUG ("Created CustomData at %p", data); data->app = (*env)->NewGlobalRef (env, thiz); GST_DEBUG ("Created GlobalRef for app object at %p", data->app); - pthread_create (&gst_app_thread, NULL, &gst_app_function, data); + pthread_create (&gst_app_thread, NULL, &app_function, data); } void gst_native_finalize (JNIEnv* env, jobject thiz) { @@ -144,7 +216,7 @@ void gst_native_play (JNIEnv* env, jobject thiz) { void gst_native_pause (JNIEnv* env, jobject thiz) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); - GST_DEBUG ("Setting state to READY"); + GST_DEBUG ("Setting state to PAUSED"); gst_element_set_state (data->pipeline, GST_STATE_PAUSED); } @@ -153,6 +225,8 @@ void gst_class_init (JNIEnv* env, jclass klass) { GST_DEBUG ("The FieldID for the native_custom_data field is %p", custom_data_field_id); set_message_method_id = (*env)->GetMethodID (env, klass, "setMessage", "(Ljava/lang/String;)V"); GST_DEBUG ("The MethodID for the setMessage method is %p", set_message_method_id); + set_current_position_method_id = (*env)->GetMethodID (env, klass, "setCurrentPosition", "(JJ)V"); + GST_DEBUG ("The MethodID for the setCurrentPosition method is %p", set_current_position_method_id); } void gst_native_surface_init (JNIEnv *env, jobject thiz, jobject surface) { @@ -202,7 +276,7 @@ jint JNI_OnLoad(JavaVM *vm, void *reserved) { jclass klass = (*env)->FindClass (env, "com/gst_sdk_tutorials/tutorial_1/Tutorial1"); ret = (*env)->RegisterNatives (env, klass, native_methods, G_N_ELEMENTS(native_methods)); - pthread_key_create (¤t_jni_env, gst_detach_current_thread); + pthread_key_create (¤t_jni_env, detach_current_thread); return JNI_VERSION_1_4; } diff --git a/gst-sdk/tutorials/android-tutorial-1/res/layout/main.xml b/gst-sdk/tutorials/android-tutorial-1/res/layout/main.xml index 651740ade8..edf04e3d53 100755 --- a/gst-sdk/tutorials/android-tutorial-1/res/layout/main.xml +++ b/gst-sdk/tutorials/android-tutorial-1/res/layout/main.xml @@ -29,6 +29,12 @@ android:contentDescription="@string/button_stop" android:src="@android:drawable/ic_media_pause" android:text="@string/button_stop" /> + + Date: Thu, 13 Sep 2012 16:35:51 +0200 Subject: [PATCH 107/979] Add a SeekBar to show current position / duration --- .../android-tutorial-1/jni/tutorial-1.c | 57 ++++++++++--------- .../android-tutorial-1/res/layout/main.xml | 12 +++- .../tutorial_1/Tutorial1.java | 6 +- 3 files changed, 45 insertions(+), 30 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index c35141c312..c5d037d6ea 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -96,34 +96,6 @@ static void set_current_position (gint64 position, gint64 duration, CustomData * } } -static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { - GError *err; - gchar *debug_info; - gchar *message_string; - - gst_message_parse_error (msg, &err, &debug_info); - message_string = g_strdup_printf ("Error received from element %s: %s", GST_OBJECT_NAME (msg->src), err->message); - g_clear_error (&err); - g_free (debug_info); - set_message (message_string, data); - g_free (message_string); - gst_element_set_state (data->pipeline, GST_STATE_NULL); -} - -static void eos_cb (GstBus *bus, GstMessage *msg, CustomData *data) { - set_message (GST_MESSAGE_TYPE_NAME (msg), data); - gst_element_set_state (data->pipeline, GST_STATE_NULL); -} - -static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { - GstState old_state, new_state, pending_state; - gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); - if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->pipeline)) { - set_message (gst_element_state_get_name (new_state), data); - data->playing = (new_state == GST_STATE_PLAYING); - } -} - static gboolean refresh_ui (CustomData *data) { GstFormat fmt = GST_FORMAT_TIME; gint64 current = -1; @@ -146,6 +118,35 @@ static gboolean refresh_ui (CustomData *data) { return TRUE; } +static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + GError *err; + gchar *debug_info; + gchar *message_string; + + gst_message_parse_error (msg, &err, &debug_info); + message_string = g_strdup_printf ("Error received from element %s: %s", GST_OBJECT_NAME (msg->src), err->message); + g_clear_error (&err); + g_free (debug_info); + set_message (message_string, data); + g_free (message_string); + gst_element_set_state (data->pipeline, GST_STATE_NULL); +} + +static void eos_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + set_message (GST_MESSAGE_TYPE_NAME (msg), data); + refresh_ui (data); + gst_element_set_state (data->pipeline, GST_STATE_NULL); +} + +static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->pipeline)) { + set_message (gst_element_state_get_name (new_state), data); + data->playing = (new_state == GST_STATE_PLAYING); + } +} + static void *app_function (void *userdata) { JavaVMAttachArgs args; GstBus *bus; diff --git a/gst-sdk/tutorials/android-tutorial-1/res/layout/main.xml b/gst-sdk/tutorials/android-tutorial-1/res/layout/main.xml index edf04e3d53..4c3e1000c2 100755 --- a/gst-sdk/tutorials/android-tutorial-1/res/layout/main.xml +++ b/gst-sdk/tutorials/android-tutorial-1/res/layout/main.xml @@ -34,7 +34,17 @@ android:id="@+id/textview_time" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_gravity="center_vertical" /> + android:layout_gravity="center_vertical" + android:layout_marginLeft="5dip" + android:layout_marginRight="5dip" /> + + Date: Thu, 13 Sep 2012 18:29:02 +0200 Subject: [PATCH 108/979] Set the targetSDK to 14 (Gingerbread). This uses cooler (more recent) UI elements when available. --- gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml b/gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml index 508f2f1b91..0d1f7f124b 100755 --- a/gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml +++ b/gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml @@ -3,7 +3,7 @@ package="com.gst_sdk_tutorials.tutorial_1" android:versionCode="1" android:versionName="1.0"> - + Date: Fri, 14 Sep 2012 12:02:19 +0200 Subject: [PATCH 109/979] Display video via an appsink. --- .../android-tutorial-1/jni/tutorial-1.c | 37 ++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index c5d037d6ea..6229c3b05d 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -147,18 +147,53 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { } } +static void new_buffer (GstElement *sink, CustomData *data) { + GstBuffer *buffer; + + /* Retrieve the buffer */ + g_signal_emit_by_name (sink, "pull-buffer", &buffer); + if (buffer) { + if (data->native_window) { + int i; + ANativeWindow_Buffer nbuff; + GstStructure *str; + gint width, height; + + str = gst_caps_get_structure (GST_BUFFER_CAPS (buffer), 0); + gst_structure_get_int (str, "width", &width); + gst_structure_get_int (str, "height", &height); + + ANativeWindow_setBuffersGeometry(data->native_window, width, height, WINDOW_FORMAT_RGBX_8888); + + ANativeWindow_lock(data->native_window, &nbuff, NULL); + GST_DEBUG ("Native buffer width:%d height:%d stride:%d format:%d", nbuff.width, nbuff.height, nbuff.stride, nbuff.format); + for (i=0; inative_window); + } + gst_buffer_unref (buffer); + } +} + static void *app_function (void *userdata) { JavaVMAttachArgs args; GstBus *bus; GstMessage *msg; CustomData *data = (CustomData *)userdata; + GstElement *vsink; GST_DEBUG ("Creating pipeline in CustomData at %p", data); // data->pipeline = gst_parse_launch ("videotestsrc ! eglglessink force_rendering_slow=1 can_create_window=0", NULL); // data->pipeline = gst_parse_launch ("filesrc location=/sdcard/Movies/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! fakesink", NULL); - data->pipeline = gst_parse_launch ("souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! fakesink", NULL); +// data->pipeline = gst_parse_launch ("souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! fakesink", NULL); +// data->pipeline = gst_parse_launch ("videotestsrc ! ffmpegcolorspace ! appsink name=vsink emit-signals=1 caps=video/x-raw-rgb,bpp=(int)32,endianness=(int)4321,depth=(int)24,red_mask=(int)-16777216,green_mask=(int)16711680,blue_mask=(int)65280,width=(int)320,height=(int)240,framerate=(fraction)30/1", NULL); + data->pipeline = gst_parse_launch ("souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! ffmpegcolorspace ! appsink name=vsink emit-signals=1 caps=video/x-raw-rgb,bpp=(int)32,endianness=(int)4321,depth=(int)24,red_mask=(int)-16777216,green_mask=(int)16711680,blue_mask=(int)65280", NULL); + vsink = gst_bin_get_by_name (GST_BIN (data->pipeline), "vsink"); + g_signal_connect (vsink, "new-buffer", G_CALLBACK (new_buffer), data); + gst_object_unref (vsink); /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ bus = gst_element_get_bus (data->pipeline); From c892f3519334f223b12e92bf49bc8d690fc5e259 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 14 Sep 2012 12:45:54 +0200 Subject: [PATCH 110/979] Protect against surfaces being destroyed after the app is killed --- gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 6229c3b05d..5741f7a2e7 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -103,14 +103,14 @@ static gboolean refresh_ui (CustomData *data) { /* We do not want to update anything unless we are in the PLAYING state */ if (!data->playing) return TRUE; - + /* If we didn't know it yet, query the stream duration */ if (!GST_CLOCK_TIME_IS_VALID (data->duration)) { if (!gst_element_query_duration (data->pipeline, &fmt, &data->duration)) { GST_WARNING ("Could not query current duration"); } } - + if (gst_element_query_position (data->pipeline, &fmt, &data->position)) { /* Java expects these values in milliseconds, and Gst provides nanoseconds */ set_current_position (data->position/1000000, data->duration/1000000, data); @@ -166,7 +166,6 @@ static void new_buffer (GstElement *sink, CustomData *data) { ANativeWindow_setBuffersGeometry(data->native_window, width, height, WINDOW_FORMAT_RGBX_8888); ANativeWindow_lock(data->native_window, &nbuff, NULL); - GST_DEBUG ("Native buffer width:%d height:%d stride:%d format:%d", nbuff.width, nbuff.height, nbuff.stride, nbuff.format); for (i=0; iDeleteGlobalRef (env, data->app); GST_DEBUG ("Freeing CustomData at %p", data); g_free (data); + SET_CUSTOM_DATA (env, thiz, custom_data_field_id, NULL); GST_DEBUG ("Done finalizing"); } @@ -280,6 +280,10 @@ void gst_native_surface_init (JNIEnv *env, jobject thiz, jobject surface) { void gst_native_surface_finalize (JNIEnv *env, jobject thiz) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) { + GST_WARNING ("Received surface finalize but there is no CustomData. Ignoring."); + return; + } GST_DEBUG ("Releasing Native Window %p", data->native_window); ANativeWindow_release (data->native_window); data->native_window = NULL; From f81f2c43470d72d556ad1374772616a0d1c600ad Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 14 Sep 2012 16:01:07 +0200 Subject: [PATCH 111/979] Send XOverlay messages directly to the sink. Try to resume playing in the place where it stopped. Assorted fixes. --- .../android-tutorial-1/jni/tutorial-1.c | 47 +++++++++++++------ .../tutorial_1/Tutorial1.java | 30 ++++++++++-- 2 files changed, 59 insertions(+), 18 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 5741f7a2e7..7496a2a948 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -29,6 +29,7 @@ typedef struct _CustomData { gboolean playing; gint64 position; gint64 duration; + GstElement *vsink; } CustomData; static pthread_t gst_app_thread; @@ -86,9 +87,9 @@ static void set_message (const gchar *message, CustomData *data) { (*env)->DeleteLocalRef (env, jmessage); } -static void set_current_position (gint64 position, gint64 duration, CustomData *data) { +static void set_current_position (gint position, gint duration, CustomData *data) { JNIEnv *env = get_jni_env (); - GST_DEBUG ("Setting current position/duration to: %lld / %lld (ms)", position, duration); + GST_DEBUG ("Setting current position/duration to: %d / %d (ms)", position, duration); (*env)->CallVoidMethod (env, data->app, set_current_position_method_id, position, duration); if ((*env)->ExceptionCheck (env)) { GST_ERROR ("Failed to call Java method"); @@ -100,8 +101,8 @@ static gboolean refresh_ui (CustomData *data) { GstFormat fmt = GST_FORMAT_TIME; gint64 current = -1; - /* We do not want to update anything unless we are in the PLAYING state */ - if (!data->playing) + /* We do not want to update anything unless we have a working pipeline in the PLAYING state */ + if (!data || !data->pipeline || !data->playing) return TRUE; /* If we didn't know it yet, query the stream duration */ @@ -169,6 +170,7 @@ static void new_buffer (GstElement *sink, CustomData *data) { for (i=0; inative_window); } gst_buffer_unref (buffer); @@ -180,19 +182,19 @@ static void *app_function (void *userdata) { GstBus *bus; GstMessage *msg; CustomData *data = (CustomData *)userdata; - GstElement *vsink; + guint timeout_source_id; + GSource *timeout_source; GST_DEBUG ("Creating pipeline in CustomData at %p", data); -// data->pipeline = gst_parse_launch ("videotestsrc ! eglglessink force_rendering_slow=1 can_create_window=0", NULL); + data->pipeline = gst_parse_launch ("videotestsrc ! eglglessink force_rendering_slow=1 can_create_window=0 name=vsink", NULL); // data->pipeline = gst_parse_launch ("filesrc location=/sdcard/Movies/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! fakesink", NULL); // data->pipeline = gst_parse_launch ("souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! fakesink", NULL); // data->pipeline = gst_parse_launch ("videotestsrc ! ffmpegcolorspace ! appsink name=vsink emit-signals=1 caps=video/x-raw-rgb,bpp=(int)32,endianness=(int)4321,depth=(int)24,red_mask=(int)-16777216,green_mask=(int)16711680,blue_mask=(int)65280,width=(int)320,height=(int)240,framerate=(fraction)30/1", NULL); - data->pipeline = gst_parse_launch ("souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! ffmpegcolorspace ! appsink name=vsink emit-signals=1 caps=video/x-raw-rgb,bpp=(int)32,endianness=(int)4321,depth=(int)24,red_mask=(int)-16777216,green_mask=(int)16711680,blue_mask=(int)65280", NULL); +// data->pipeline = gst_parse_launch ("souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! ffmpegcolorspace ! appsink name=vsink emit-signals=1 caps=video/x-raw-rgb,bpp=(int)32,endianness=(int)4321,depth=(int)24,red_mask=(int)-16777216,green_mask=(int)16711680,blue_mask=(int)65280", NULL); - vsink = gst_bin_get_by_name (GST_BIN (data->pipeline), "vsink"); - g_signal_connect (vsink, "new-buffer", G_CALLBACK (new_buffer), data); - gst_object_unref (vsink); + data->vsink = gst_bin_get_by_name (GST_BIN (data->pipeline), "vsink"); +// g_signal_connect (data->vsink, "new-buffer", G_CALLBACK (new_buffer), data); /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ bus = gst_element_get_bus (data->pipeline); @@ -203,17 +205,23 @@ static void *app_function (void *userdata) { gst_object_unref (bus); /* Register a function that GLib will call every second */ - g_timeout_add_seconds (1, (GSourceFunc)refresh_ui, data); + timeout_source_id = g_timeout_add_seconds (1, (GSourceFunc)refresh_ui, data); /* Create a GLib Main Loop and set it to run */ - GST_DEBUG ("Entering main loop..."); + GST_DEBUG ("Entering main loop... (CustomData:%p)", data); data->main_loop = g_main_loop_new (NULL, FALSE); g_main_loop_run (data->main_loop); - GST_DEBUG ("Exitted main loop"); + GST_DEBUG ("Exited main loop"); + + /* Destroy the timeout source */ + timeout_source = g_main_context_find_source_by_id (NULL, timeout_source_id); + GST_DEBUG ("timeout_source:%p", timeout_source); + g_source_destroy (timeout_source); /* Free resources */ gst_object_unref (bus); gst_element_set_state (data->pipeline, GST_STATE_NULL); + gst_object_unref (data->vsink); gst_object_unref (data->pipeline); } @@ -228,6 +236,8 @@ void gst_native_init (JNIEnv* env, jobject thiz) { data->app = (*env)->NewGlobalRef (env, thiz); GST_DEBUG ("Created GlobalRef for app object at %p", data->app); pthread_create (&gst_app_thread, NULL, &app_function, data); + /* FIXME: Wait until thread has started and the main loop is runing */ + usleep (100000); } void gst_native_finalize (JNIEnv* env, jobject thiz) { @@ -256,12 +266,18 @@ void gst_native_pause (JNIEnv* env, jobject thiz) { gst_element_set_state (data->pipeline, GST_STATE_PAUSED); } +void gst_native_set_position (JNIEnv* env, jobject thiz, int milliseconds) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + GST_DEBUG ("Setting position to %d milliseconds", milliseconds); + gst_element_seek_simple (data->pipeline, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT,(gint64)(milliseconds * GST_SECOND / 1000)); +} + void gst_class_init (JNIEnv* env, jclass klass) { custom_data_field_id = (*env)->GetFieldID (env, klass, "native_custom_data", "J"); GST_DEBUG ("The FieldID for the native_custom_data field is %p", custom_data_field_id); set_message_method_id = (*env)->GetMethodID (env, klass, "setMessage", "(Ljava/lang/String;)V"); GST_DEBUG ("The MethodID for the setMessage method is %p", set_message_method_id); - set_current_position_method_id = (*env)->GetMethodID (env, klass, "setCurrentPosition", "(JJ)V"); + set_current_position_method_id = (*env)->GetMethodID (env, klass, "setCurrentPosition", "(II)V"); GST_DEBUG ("The MethodID for the setCurrentPosition method is %p", set_current_position_method_id); } @@ -288,7 +304,7 @@ void gst_native_surface_finalize (JNIEnv *env, jobject thiz) { ANativeWindow_release (data->native_window); data->native_window = NULL; - gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->pipeline), (guintptr)NULL); + gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->vsink), (guintptr)NULL); } static JNINativeMethod native_methods[] = { @@ -296,6 +312,7 @@ static JNINativeMethod native_methods[] = { { "nativeFinalize", "()V", (void *) gst_native_finalize}, { "nativePlay", "()V", (void *) gst_native_play}, { "nativePause", "()V", (void *) gst_native_pause}, + { "nativeSetPosition", "(I)V", (void*) gst_native_set_position}, { "classInit", "()V", (void *) gst_class_init}, { "nativeSurfaceInit", "(Ljava/lang/Object;)V", (void *) gst_native_surface_init}, { "nativeSurfaceFinalize", "()V", (void *) gst_native_surface_finalize} diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java index 57dd455dd8..cffcf91f30 100755 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -35,10 +35,15 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback { private native void nativeFinalize(); private native void nativePlay(); private native void nativePause(); + private native void nativeSetPosition(int milliseconds); private static native void classInit(); private native void nativeSurfaceInit(Object surface); private native void nativeSurfaceFinalize(); private long native_custom_data; + + private boolean playing; + private int position; + private int duration; /* Called when the activity is first created. @Override */ @@ -52,6 +57,7 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback { play.setOnClickListener(new OnClickListener() { public void onClick(View v) { nativePlay(); + playing = true; } }); @@ -59,6 +65,7 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback { pause.setOnClickListener(new OnClickListener() { public void onClick(View v) { nativePause(); + playing = false; } }); @@ -67,6 +74,21 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback { sh.addCallback(this); nativeInit(); + + playing = savedInstanceState==null ? false : savedInstanceState.getBoolean("playing"); + if (playing) { + int milliseconds = savedInstanceState.getInt("position"); + Log.i ("GStreamer", "Restoring to playing state at " + milliseconds + " ms."); + nativePlay(); + nativeSetPosition(milliseconds); + } + } + + protected void onSaveInstanceState (Bundle outState) { + Log.d ("GStreamer", "Saving state, playing:" + playing + " position:" + position); + outState.putBoolean("playing", playing); + outState.putInt("position", position); + outState.putInt("duration", duration); } protected void onDestroy() { @@ -83,7 +105,7 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback { }); } - private void setCurrentPosition(final long position, final long duration) { + private void setCurrentPosition(final int position, final int duration) { final TextView tv = (TextView) this.findViewById(R.id.textview_time); final SeekBar sb = (SeekBar) this.findViewById(R.id.seek_bar); SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss"); @@ -92,10 +114,12 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback { runOnUiThread (new Runnable() { public void run() { tv.setText(message); - sb.setMax((int)duration); - sb.setProgress((int)position); + sb.setMax(duration); + sb.setProgress(position); } }); + this.position = position; + this.duration = duration; } static { From f780c13852be53e3649993d4527a7630ac847078 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 14 Sep 2012 16:08:37 +0200 Subject: [PATCH 112/979] Add missing fix --- gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 7496a2a948..5e88d2a3bc 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -291,7 +291,7 @@ void gst_native_surface_init (JNIEnv *env, jobject thiz, jobject surface) { data->native_window = ANativeWindow_fromSurface(env, surface); GST_DEBUG ("Got Native Window %p", data->native_window); - gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->pipeline), (guintptr)data->native_window); + gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->vsink), (guintptr)data->native_window); } void gst_native_surface_finalize (JNIEnv *env, jobject thiz) { From 1d7c2a6f875877cd9e3df74d328f5d86064427e2 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 14 Sep 2012 17:08:15 +0200 Subject: [PATCH 113/979] Add hardware decoding capabilities --- gst-sdk/tutorials/android-tutorial-1/jni/Android.mk | 2 +- gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk index 2e7a773692..f077bcf6bd 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk @@ -22,7 +22,7 @@ LOCAL_SHARED_LIBRARIES := gstreamer_android LOCAL_LDLIBS := -landroid include $(BUILD_SHARED_LIBRARY) -GSTREAMER_PLUGINS = coreelements audiotestsrc videotestsrc ogg theora vorbis ffmpegcolorspace playback app audioconvert audiorate audioresample adder coreindexers gdp gio uridecodebin videorate videoscale typefindfunctions libvisual pango subparse eglglessink soup +GSTREAMER_PLUGINS = coreelements audiotestsrc videotestsrc ogg theora vorbis ffmpegcolorspace playback app audioconvert audiorate audioresample adder coreindexers gdp gio uridecodebin videorate videoscale typefindfunctions libvisual pango subparse eglglessink soup amc matroska GSTREAMER_STATIC_PLUGINS_PATH=/home/fluendo/cerbero/dist/android_arm/lib/gstreamer-0.10/static GSTREAMER_MK_PATH=/home/fluendo/cerbero/data/ndk-build/ include $(GSTREAMER_MK_PATH)/gstreamer.mk diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 5e88d2a3bc..629c1a2576 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -187,14 +187,14 @@ static void *app_function (void *userdata) { GST_DEBUG ("Creating pipeline in CustomData at %p", data); - data->pipeline = gst_parse_launch ("videotestsrc ! eglglessink force_rendering_slow=1 can_create_window=0 name=vsink", NULL); +// data->pipeline = gst_parse_launch ("videotestsrc ! eglglessink force_rendering_slow=1 can_create_window=0 name=vsink", NULL); // data->pipeline = gst_parse_launch ("filesrc location=/sdcard/Movies/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! fakesink", NULL); // data->pipeline = gst_parse_launch ("souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! fakesink", NULL); // data->pipeline = gst_parse_launch ("videotestsrc ! ffmpegcolorspace ! appsink name=vsink emit-signals=1 caps=video/x-raw-rgb,bpp=(int)32,endianness=(int)4321,depth=(int)24,red_mask=(int)-16777216,green_mask=(int)16711680,blue_mask=(int)65280,width=(int)320,height=(int)240,framerate=(fraction)30/1", NULL); -// data->pipeline = gst_parse_launch ("souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! ffmpegcolorspace ! appsink name=vsink emit-signals=1 caps=video/x-raw-rgb,bpp=(int)32,endianness=(int)4321,depth=(int)24,red_mask=(int)-16777216,green_mask=(int)16711680,blue_mask=(int)65280", NULL); + data->pipeline = gst_parse_launch ("souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! matroskademux ! amcviddec-omxgooglevpxdecoder ! ffmpegcolorspace ! appsink name=vsink emit-signals=1 caps=video/x-raw-rgb,bpp=(int)32,endianness=(int)4321,depth=(int)24,red_mask=(int)-16777216,green_mask=(int)16711680,blue_mask=(int)65280", NULL); data->vsink = gst_bin_get_by_name (GST_BIN (data->pipeline), "vsink"); -// g_signal_connect (data->vsink, "new-buffer", G_CALLBACK (new_buffer), data); + g_signal_connect (data->vsink, "new-buffer", G_CALLBACK (new_buffer), data); /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ bus = gst_element_get_bus (data->pipeline); From ff9ff2c549e1c07f26286ec101d322290ddb52f0 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 17 Sep 2012 11:54:45 +0200 Subject: [PATCH 114/979] Delay seeks if not in the playing state. Verify return value of ANativeWindow_Lock. --- .../android-tutorial-1/jni/tutorial-1.c | 36 +++++++++++++++---- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 629c1a2576..75532a0227 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -30,6 +30,7 @@ typedef struct _CustomData { gint64 position; gint64 duration; GstElement *vsink; + gint64 desired_position; } CustomData; static pthread_t gst_app_thread; @@ -119,6 +120,13 @@ static gboolean refresh_ui (CustomData *data) { return TRUE; } +static void execute_seek (gint64 desired_position, CustomData *data) { + gboolean res; + GST_DEBUG ("Setting position to %lld milliseconds", desired_position / 1000000); + res = gst_element_seek_simple (data->pipeline, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, desired_position); + GST_DEBUG ("Seek returned %d", res); +} + static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { GError *err; gchar *debug_info; @@ -145,6 +153,10 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->pipeline)) { set_message (gst_element_state_get_name (new_state), data); data->playing = (new_state == GST_STATE_PLAYING); + if (data->playing && GST_CLOCK_TIME_IS_VALID (data->desired_position)) { + execute_seek (data->desired_position, data); + data->desired_position = GST_CLOCK_TIME_NONE; + } } } @@ -166,12 +178,14 @@ static void new_buffer (GstElement *sink, CustomData *data) { ANativeWindow_setBuffersGeometry(data->native_window, width, height, WINDOW_FORMAT_RGBX_8888); - ANativeWindow_lock(data->native_window, &nbuff, NULL); - for (i=0; inative_window, &nbuff, NULL) < 0) { + GST_ERROR ("Unable to lock Native Window, discarding buffer."); + } else { + for (i=0; inative_window); } - /* FIXME: Sometimes this segfaults. Maybe the native window has been destroyed while we were copying into it? */ - ANativeWindow_unlockAndPost (data->native_window); } gst_buffer_unref (buffer); } @@ -192,6 +206,8 @@ static void *app_function (void *userdata) { // data->pipeline = gst_parse_launch ("souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! fakesink", NULL); // data->pipeline = gst_parse_launch ("videotestsrc ! ffmpegcolorspace ! appsink name=vsink emit-signals=1 caps=video/x-raw-rgb,bpp=(int)32,endianness=(int)4321,depth=(int)24,red_mask=(int)-16777216,green_mask=(int)16711680,blue_mask=(int)65280,width=(int)320,height=(int)240,framerate=(fraction)30/1", NULL); data->pipeline = gst_parse_launch ("souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! matroskademux ! amcviddec-omxgooglevpxdecoder ! ffmpegcolorspace ! appsink name=vsink emit-signals=1 caps=video/x-raw-rgb,bpp=(int)32,endianness=(int)4321,depth=(int)24,red_mask=(int)-16777216,green_mask=(int)16711680,blue_mask=(int)65280", NULL); +// data->pipeline = gst_parse_launch ("souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! ffmpegcolorspace ! appsink name=vsink emit-signals=1 caps=video/x-raw-rgb,bpp=(int)32,endianness=(int)4321,depth=(int)24,red_mask=(int)-16777216,green_mask=(int)16711680,blue_mask=(int)65280", NULL); +// data->pipeline = gst_parse_launch ("filesrc location=/sdcard/Movies/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! ffmpegcolorspace ! appsink name=vsink emit-signals=1 caps=video/x-raw-rgb,bpp=(int)32,endianness=(int)4321,depth=(int)24,red_mask=(int)-16777216,green_mask=(int)16711680,blue_mask=(int)65280", NULL); data->vsink = gst_bin_get_by_name (GST_BIN (data->pipeline), "vsink"); g_signal_connect (data->vsink, "new-buffer", G_CALLBACK (new_buffer), data); @@ -231,6 +247,7 @@ static void *app_function (void *userdata) { void gst_native_init (JNIEnv* env, jobject thiz) { CustomData *data = (CustomData *)g_malloc0 (sizeof (CustomData)); data->duration = GST_CLOCK_TIME_NONE; + data->desired_position = GST_CLOCK_TIME_NONE; SET_CUSTOM_DATA (env, thiz, custom_data_field_id, data); GST_DEBUG ("Created CustomData at %p", data); data->app = (*env)->NewGlobalRef (env, thiz); @@ -268,8 +285,13 @@ void gst_native_pause (JNIEnv* env, jobject thiz) { void gst_native_set_position (JNIEnv* env, jobject thiz, int milliseconds) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); - GST_DEBUG ("Setting position to %d milliseconds", milliseconds); - gst_element_seek_simple (data->pipeline, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT,(gint64)(milliseconds * GST_SECOND / 1000)); + gint64 desired_position = (gint64)(milliseconds * GST_SECOND / 1000); + if (data->playing) { + execute_seek(desired_position, data); + } else { + GST_DEBUG ("Scheduling seek to %d milliseconds for later", milliseconds); + data->desired_position = desired_position; + } } void gst_class_init (JNIEnv* env, jclass klass) { From 206415b27b288d0977400d6e4c10e57aeacc2a9c Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 17 Sep 2012 12:31:23 +0200 Subject: [PATCH 115/979] Allow seeking from the SeekBar (video does not refresh until you release the SeekBar, though) --- .../android-tutorial-1/jni/tutorial-1.c | 14 +++++++------- .../tutorial_1/Tutorial1.java | 19 ++++++++++++++++++- 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 75532a0227..0570a704e8 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -26,7 +26,7 @@ typedef struct _CustomData { GstElement *pipeline; GMainLoop *main_loop; ANativeWindow *native_window; - gboolean playing; + gboolean state; gint64 position; gint64 duration; GstElement *vsink; @@ -103,7 +103,7 @@ static gboolean refresh_ui (CustomData *data) { gint64 current = -1; /* We do not want to update anything unless we have a working pipeline in the PLAYING state */ - if (!data || !data->pipeline || !data->playing) + if (!data || !data->pipeline || data->state != GST_STATE_PLAYING) return TRUE; /* If we didn't know it yet, query the stream duration */ @@ -152,8 +152,8 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->pipeline)) { set_message (gst_element_state_get_name (new_state), data); - data->playing = (new_state == GST_STATE_PLAYING); - if (data->playing && GST_CLOCK_TIME_IS_VALID (data->desired_position)) { + data->state = new_state; + if (data->state == GST_STATE_PLAYING && GST_CLOCK_TIME_IS_VALID (data->desired_position)) { execute_seek (data->desired_position, data); data->desired_position = GST_CLOCK_TIME_NONE; } @@ -205,9 +205,9 @@ static void *app_function (void *userdata) { // data->pipeline = gst_parse_launch ("filesrc location=/sdcard/Movies/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! fakesink", NULL); // data->pipeline = gst_parse_launch ("souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! fakesink", NULL); // data->pipeline = gst_parse_launch ("videotestsrc ! ffmpegcolorspace ! appsink name=vsink emit-signals=1 caps=video/x-raw-rgb,bpp=(int)32,endianness=(int)4321,depth=(int)24,red_mask=(int)-16777216,green_mask=(int)16711680,blue_mask=(int)65280,width=(int)320,height=(int)240,framerate=(fraction)30/1", NULL); - data->pipeline = gst_parse_launch ("souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! matroskademux ! amcviddec-omxgooglevpxdecoder ! ffmpegcolorspace ! appsink name=vsink emit-signals=1 caps=video/x-raw-rgb,bpp=(int)32,endianness=(int)4321,depth=(int)24,red_mask=(int)-16777216,green_mask=(int)16711680,blue_mask=(int)65280", NULL); +// data->pipeline = gst_parse_launch ("souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! matroskademux ! amcviddec-omxgooglevpxdecoder ! ffmpegcolorspace ! appsink name=vsink emit-signals=1 caps=video/x-raw-rgb,bpp=(int)32,endianness=(int)4321,depth=(int)24,red_mask=(int)-16777216,green_mask=(int)16711680,blue_mask=(int)65280", NULL); // data->pipeline = gst_parse_launch ("souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! ffmpegcolorspace ! appsink name=vsink emit-signals=1 caps=video/x-raw-rgb,bpp=(int)32,endianness=(int)4321,depth=(int)24,red_mask=(int)-16777216,green_mask=(int)16711680,blue_mask=(int)65280", NULL); -// data->pipeline = gst_parse_launch ("filesrc location=/sdcard/Movies/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! ffmpegcolorspace ! appsink name=vsink emit-signals=1 caps=video/x-raw-rgb,bpp=(int)32,endianness=(int)4321,depth=(int)24,red_mask=(int)-16777216,green_mask=(int)16711680,blue_mask=(int)65280", NULL); + data->pipeline = gst_parse_launch ("filesrc location=/sdcard/Movies/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! ffmpegcolorspace ! appsink name=vsink emit-signals=1 caps=video/x-raw-rgb,bpp=(int)32,endianness=(int)4321,depth=(int)24,red_mask=(int)-16777216,green_mask=(int)16711680,blue_mask=(int)65280", NULL); data->vsink = gst_bin_get_by_name (GST_BIN (data->pipeline), "vsink"); g_signal_connect (data->vsink, "new-buffer", G_CALLBACK (new_buffer), data); @@ -286,7 +286,7 @@ void gst_native_pause (JNIEnv* env, jobject thiz) { void gst_native_set_position (JNIEnv* env, jobject thiz, int milliseconds) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); gint64 desired_position = (gint64)(milliseconds * GST_SECOND / 1000); - if (data->playing) { + if (data->state == GST_STATE_PLAYING || data->state == GST_STATE_PAUSED) { execute_seek(desired_position, data); } else { GST_DEBUG ("Scheduling seek to %d milliseconds for later", milliseconds); diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java index cffcf91f30..a344b75063 100755 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -28,9 +28,10 @@ import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageButton; import android.widget.SeekBar; +import android.widget.SeekBar.OnSeekBarChangeListener; import android.widget.TextView; -public class Tutorial1 extends Activity implements SurfaceHolder.Callback { +public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSeekBarChangeListener { private native void nativeInit(); private native void nativeFinalize(); private native void nativePlay(); @@ -73,6 +74,9 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback { SurfaceHolder sh = sv.getHolder(); sh.addCallback(this); + SeekBar sb = (SeekBar) this.findViewById(R.id.seek_bar); + sb.setOnSeekBarChangeListener(this); + nativeInit(); playing = savedInstanceState==null ? false : savedInstanceState.getBoolean("playing"); @@ -143,4 +147,17 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback { Log.d("GStreamer", "Surface destroyed"); nativeSurfaceFinalize (); } + + public void onProgressChanged(SeekBar sb, int progress, boolean fromUser) { + if (fromUser == false) return; + nativeSetPosition(progress); + } + + public void onStartTrackingTouch(SeekBar sb) { + nativePause(); + } + + public void onStopTrackingTouch(SeekBar sb) { + if (playing) nativePlay(); + } } From 425a23ef98182ef2903e41fdd56eed8bf1e0371b Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 17 Sep 2012 12:53:53 +0200 Subject: [PATCH 116/979] Seeking in PAUSED updates the video --- .../android-tutorial-1/jni/tutorial-1.c | 56 ++++++++++++------- 1 file changed, 36 insertions(+), 20 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 0570a704e8..92becffffb 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -160,33 +160,48 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { } } +static void render_buffer (GstBuffer *buffer, CustomData *data) { + if (data->native_window) { + int i; + ANativeWindow_Buffer nbuff; + GstStructure *str; + gint width, height; + + str = gst_caps_get_structure (GST_BUFFER_CAPS (buffer), 0); + gst_structure_get_int (str, "width", &width); + gst_structure_get_int (str, "height", &height); + + ANativeWindow_setBuffersGeometry(data->native_window, width, height, WINDOW_FORMAT_RGBX_8888); + + if (ANativeWindow_lock(data->native_window, &nbuff, NULL) < 0) { + GST_ERROR ("Unable to lock Native Window, discarding buffer."); + } else { + for (i=0; inative_window); + } + } +} + static void new_buffer (GstElement *sink, CustomData *data) { GstBuffer *buffer; /* Retrieve the buffer */ g_signal_emit_by_name (sink, "pull-buffer", &buffer); if (buffer) { - if (data->native_window) { - int i; - ANativeWindow_Buffer nbuff; - GstStructure *str; - gint width, height; + render_buffer (buffer, data); + gst_buffer_unref (buffer); + } +} - str = gst_caps_get_structure (GST_BUFFER_CAPS (buffer), 0); - gst_structure_get_int (str, "width", &width); - gst_structure_get_int (str, "height", &height); - - ANativeWindow_setBuffersGeometry(data->native_window, width, height, WINDOW_FORMAT_RGBX_8888); - - if (ANativeWindow_lock(data->native_window, &nbuff, NULL) < 0) { - GST_ERROR ("Unable to lock Native Window, discarding buffer."); - } else { - for (i=0; inative_window); - } - } +static void new_preroll_buffer (GstElement *sink, CustomData *data) { + GstBuffer *buffer; + + /* Retrieve the preroll buffer */ + g_signal_emit_by_name (sink, "pull-preroll", &buffer); + if (buffer) { + render_buffer (buffer, data); gst_buffer_unref (buffer); } } @@ -211,6 +226,7 @@ static void *app_function (void *userdata) { data->vsink = gst_bin_get_by_name (GST_BIN (data->pipeline), "vsink"); g_signal_connect (data->vsink, "new-buffer", G_CALLBACK (new_buffer), data); + g_signal_connect (data->vsink, "new-preroll", G_CALLBACK (new_preroll_buffer), data); /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ bus = gst_element_get_bus (data->pipeline); From 0b6448389a50c87b78841f1fbe5ff1f91bd9ba10 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 17 Sep 2012 12:59:33 +0200 Subject: [PATCH 117/979] Allow refreshing the ui (the timer, basically) when in PAUSED (when seeking, basically) --- gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 92becffffb..70c1662ab4 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -102,8 +102,8 @@ static gboolean refresh_ui (CustomData *data) { GstFormat fmt = GST_FORMAT_TIME; gint64 current = -1; - /* We do not want to update anything unless we have a working pipeline in the PLAYING state */ - if (!data || !data->pipeline || data->state != GST_STATE_PLAYING) + /* We do not want to update anything unless we have a working pipeline in the PAUSED or PLAYING state */ + if (!data || !data->pipeline || data->state < GST_STATE_PAUSED) return TRUE; /* If we didn't know it yet, query the stream duration */ From 392705a913ed602808704046b5434e623b89357d Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 17 Sep 2012 13:31:24 +0200 Subject: [PATCH 118/979] Do not set the pipeline to NULL on EOS, as parse_launch pipelines are not reusable. --- gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 70c1662ab4..573212c76f 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -144,7 +144,8 @@ static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { static void eos_cb (GstBus *bus, GstMessage *msg, CustomData *data) { set_message (GST_MESSAGE_TYPE_NAME (msg), data); refresh_ui (data); - gst_element_set_state (data->pipeline, GST_STATE_NULL); + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); + execute_seek (0, data); } static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { From 4874f001449003fdf5aa70c8f5ae822bbadd7031 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 17 Sep 2012 13:48:08 +0200 Subject: [PATCH 119/979] Start in PAUSED so clip length is shown since the beginning. Allow orientation changes in PAUSED. --- gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c | 5 ++++- .../com/gst_sdk_tutorials/tutorial_1/Tutorial1.java | 10 ++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 573212c76f..038699a48c 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -154,7 +154,7 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->pipeline)) { set_message (gst_element_state_get_name (new_state), data); data->state = new_state; - if (data->state == GST_STATE_PLAYING && GST_CLOCK_TIME_IS_VALID (data->desired_position)) { + if (data->state >= GST_STATE_PAUSED && GST_CLOCK_TIME_IS_VALID (data->desired_position)) { execute_seek (data->desired_position, data); data->desired_position = GST_CLOCK_TIME_NONE; } @@ -240,6 +240,9 @@ static void *app_function (void *userdata) { /* Register a function that GLib will call every second */ timeout_source_id = g_timeout_add_seconds (1, (GSourceFunc)refresh_ui, data); + /* Set state to PAUSE, so preroll occurrs and retrieve some information like clip length */ + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); + /* Create a GLib Main Loop and set it to run */ GST_DEBUG ("Entering main loop... (CustomData:%p)", data); data->main_loop = g_main_loop_new (NULL, FALSE); diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java index a344b75063..e82055a7bb 100755 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -79,12 +79,14 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee nativeInit(); - playing = savedInstanceState==null ? false : savedInstanceState.getBoolean("playing"); - if (playing) { + if (savedInstanceState != null) { + playing = savedInstanceState.getBoolean("playing"); int milliseconds = savedInstanceState.getInt("position"); - Log.i ("GStreamer", "Restoring to playing state at " + milliseconds + " ms."); - nativePlay(); + Log.i ("GStreamer", "Restoring state, playing:" + playing + " position:" + milliseconds + " ms."); nativeSetPosition(milliseconds); + if (playing) { + nativePlay(); + } } } From bb2adae455713e91c8b4f17ff86da9041a3b5298 Mon Sep 17 00:00:00 2001 From: Andoni Morales Alastruey Date: Mon, 17 Sep 2012 16:24:50 +0200 Subject: [PATCH 120/979] Update for multilib --- .../project.pbxproj | 1177 ----------------- .../contents.xcworkspacedata | 7 - .../project.pbxproj | 140 +- .../contents.xcworkspacedata | 0 4 files changed, 36 insertions(+), 1288 deletions(-) delete mode 100644 gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj delete mode 100644 gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename gst-sdk/tutorials/xcode/{GStreamer Tutorials x86.xcodeproj => GStreamer Tutorials.xcodeproj}/project.pbxproj (87%) rename gst-sdk/tutorials/xcode/{GStreamer Tutorials x86.xcodeproj => GStreamer Tutorials.xcodeproj}/project.xcworkspace/contents.xcworkspacedata (100%) diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj b/gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj deleted file mode 100644 index 8fcc1e7bd8..0000000000 --- a/gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1177 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 63118C62156D2AF10085CF03 /* basic-tutorial-3.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118C60156D2AA70085CF03 /* basic-tutorial-3.c */; }; - 63118C81156D2BAE0085CF03 /* basic-tutorial-4.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118C7F156D2BA30085CF03 /* basic-tutorial-4.c */; }; - 63118C93156D2D630085CF03 /* basic-tutorial-1.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118C92156D2D630085CF03 /* basic-tutorial-1.c */; }; - 63118CA3156D2E400085CF03 /* basic-tutorial-5.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118CA2156D2E400085CF03 /* basic-tutorial-5.c */; }; - 63118CC3156D31300085CF03 /* basic-tutorial-2.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118C4D156D29530085CF03 /* basic-tutorial-2.c */; }; - 63118CD4156D33040085CF03 /* playback-tutorial-1.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118CD2156D32FE0085CF03 /* playback-tutorial-1.c */; }; - 63118CE5156D35610085CF03 /* playback-tutorial-2.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118CE3156D35390085CF03 /* playback-tutorial-2.c */; }; - 63118CF6156D3ACB0085CF03 /* basic-tutorial-6.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118CF4156D3AB60085CF03 /* basic-tutorial-6.c */; }; - 63DE883E156DAC18006F2D3B /* basic-tutorial-7.c in Sources */ = {isa = PBXBuildFile; fileRef = 63DE8838156DAC09006F2D3B /* basic-tutorial-7.c */; }; - 63DE883F156DAC1D006F2D3B /* basic-tutorial-8.c in Sources */ = {isa = PBXBuildFile; fileRef = 63DE883A156DAC0E006F2D3B /* basic-tutorial-8.c */; }; - 63DE8840156DAC21006F2D3B /* basic-tutorial-9.c in Sources */ = {isa = PBXBuildFile; fileRef = 63DE883C156DAC15006F2D3B /* basic-tutorial-9.c */; }; -/* End PBXBuildFile section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 63118C52156D29DE0085CF03 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = /usr/share/man/man1/; - dstSubfolderSpec = 0; - files = ( - ); - runOnlyForDeploymentPostprocessing = 1; - }; - 63118C73156D2B970085CF03 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = /usr/share/man/man1/; - dstSubfolderSpec = 0; - files = ( - ); - runOnlyForDeploymentPostprocessing = 1; - }; - 63118C86156D2D190085CF03 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = /usr/share/man/man1/; - dstSubfolderSpec = 0; - files = ( - ); - runOnlyForDeploymentPostprocessing = 1; - }; - 63118C96156D2E2F0085CF03 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = /usr/share/man/man1/; - dstSubfolderSpec = 0; - files = ( - ); - runOnlyForDeploymentPostprocessing = 1; - }; - 63118CB7156D31240085CF03 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = /usr/share/man/man1/; - dstSubfolderSpec = 0; - files = ( - ); - runOnlyForDeploymentPostprocessing = 1; - }; - 63118CC6156D32E20085CF03 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = /usr/share/man/man1/; - dstSubfolderSpec = 0; - files = ( - ); - runOnlyForDeploymentPostprocessing = 1; - }; - 63118CD7156D34BA0085CF03 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = /usr/share/man/man1/; - dstSubfolderSpec = 0; - files = ( - ); - runOnlyForDeploymentPostprocessing = 1; - }; - 63118CE8156D3A870085CF03 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = /usr/share/man/man1/; - dstSubfolderSpec = 0; - files = ( - ); - runOnlyForDeploymentPostprocessing = 1; - }; - 63DE8810156DABDF006F2D3B /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = /usr/share/man/man1/; - dstSubfolderSpec = 0; - files = ( - ); - runOnlyForDeploymentPostprocessing = 1; - }; - 63DE881E156DABE6006F2D3B /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = /usr/share/man/man1/; - dstSubfolderSpec = 0; - files = ( - ); - runOnlyForDeploymentPostprocessing = 1; - }; - 63DE882C156DABEE006F2D3B /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = /usr/share/man/man1/; - dstSubfolderSpec = 0; - files = ( - ); - runOnlyForDeploymentPostprocessing = 1; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 63118C4D156D29530085CF03 /* basic-tutorial-2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-2.c"; path = "../basic-tutorial-2.c"; sourceTree = SOURCE_ROOT; }; - 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Versions/2012.5/x86_64/share/xcode/gstreamer-0.10.xcconfig"; sourceTree = ""; }; - 63118C54156D29DE0085CF03 /* Turorial 3 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Turorial 3"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118C60156D2AA70085CF03 /* basic-tutorial-3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-3.c"; path = "../basic-tutorial-3.c"; sourceTree = SOURCE_ROOT; }; - 63118C75156D2B970085CF03 /* Tutorial 4 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 4"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118C7F156D2BA30085CF03 /* basic-tutorial-4.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-4.c"; path = "../basic-tutorial-4.c"; sourceTree = SOURCE_ROOT; }; - 63118C88156D2D190085CF03 /* Tutorial 1 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 1"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118C92156D2D630085CF03 /* basic-tutorial-1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-1.c"; path = "../basic-tutorial-1.c"; sourceTree = SOURCE_ROOT; }; - 63118C98156D2E2F0085CF03 /* Tutorial 5 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 5"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118CA2156D2E400085CF03 /* basic-tutorial-5.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; name = "basic-tutorial-5.c"; path = "../basic-tutorial-5.c"; sourceTree = SOURCE_ROOT; }; - 63118CA4156D2EAC0085CF03 /* gstreamer-0.10-gtk+-2.0.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-gtk+-2.0.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Versions/2012.5/x86_64/share/xcode/gstreamer-0.10-gtk+-2.0.xcconfig"; sourceTree = ""; }; - 63118CB9156D31240085CF03 /* Tutorial 2 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 2"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118CC8156D32E20085CF03 /* Playback Tutorial 1 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Playback Tutorial 1"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118CD2156D32FE0085CF03 /* playback-tutorial-1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-1.c"; path = "../playback-tutorial-1.c"; sourceTree = SOURCE_ROOT; }; - 63118CD9156D34BA0085CF03 /* Playback Tutorial 2 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Playback Tutorial 2"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118CE3156D35390085CF03 /* playback-tutorial-2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-2.c"; path = "../playback-tutorial-2.c"; sourceTree = SOURCE_ROOT; }; - 63118CEA156D3A870085CF03 /* Tutorial 6 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 6"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118CF4156D3AB60085CF03 /* basic-tutorial-6.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-6.c"; path = "../basic-tutorial-6.c"; sourceTree = SOURCE_ROOT; }; - 63DE8812156DABDF006F2D3B /* Tutorial 7 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 7"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63DE8820156DABE6006F2D3B /* Tutorial 8 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 8"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63DE882E156DABEE006F2D3B /* Tutorial 9 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 9"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63DE8838156DAC09006F2D3B /* basic-tutorial-7.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-7.c"; path = "../basic-tutorial-7.c"; sourceTree = SOURCE_ROOT; }; - 63DE883A156DAC0E006F2D3B /* basic-tutorial-8.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-8.c"; path = "../basic-tutorial-8.c"; sourceTree = SOURCE_ROOT; }; - 63DE883C156DAC15006F2D3B /* basic-tutorial-9.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-9.c"; path = "../basic-tutorial-9.c"; sourceTree = SOURCE_ROOT; }; - 63DE8841156DACB3006F2D3B /* gstreamer-0.10-all.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-all.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Versions/2012.5/x86_64/share/xcode/gstreamer-0.10-all.xcconfig"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 63118C51156D29DE0085CF03 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63118C72156D2B970085CF03 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63118C85156D2D190085CF03 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63118C95156D2E2F0085CF03 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63118CB6156D31240085CF03 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63118CC5156D32E20085CF03 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63118CD6156D34BA0085CF03 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63118CE7156D3A870085CF03 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63DE880F156DABDF006F2D3B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63DE881D156DABE6006F2D3B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63DE882B156DABEE006F2D3B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 63118C35156D29340085CF03 = { - isa = PBXGroup; - children = ( - 63DE8841156DACB3006F2D3B /* gstreamer-0.10-all.xcconfig */, - 63118CA4156D2EAC0085CF03 /* gstreamer-0.10-gtk+-2.0.xcconfig */, - 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */, - 63118C8A156D2D190085CF03 /* Tutorial 1 */, - 63118C43156D29340085CF03 /* Tutorial 2 */, - 63118C56156D29DE0085CF03 /* Tutorial 3 */, - 63118C77156D2B970085CF03 /* Tutorial 4 */, - 63118C9A156D2E2F0085CF03 /* Tutorial 5 */, - 63118CEC156D3A870085CF03 /* Tutorial 6 */, - 63DE8814156DABDF006F2D3B /* Tutorial 7 */, - 63DE8822156DABE6006F2D3B /* Tutorial 8 */, - 63DE8830156DABEE006F2D3B /* Tutorial 9 */, - 63118CCA156D32E20085CF03 /* Playback Tutorial 1 */, - 63118CDB156D34BA0085CF03 /* Playback Tutorial 2 */, - 63118C41156D29340085CF03 /* Products */, - ); - sourceTree = ""; - }; - 63118C41156D29340085CF03 /* Products */ = { - isa = PBXGroup; - children = ( - 63118C54156D29DE0085CF03 /* Turorial 3 */, - 63118C75156D2B970085CF03 /* Tutorial 4 */, - 63118C88156D2D190085CF03 /* Tutorial 1 */, - 63118C98156D2E2F0085CF03 /* Tutorial 5 */, - 63118CB9156D31240085CF03 /* Tutorial 2 */, - 63118CC8156D32E20085CF03 /* Playback Tutorial 1 */, - 63118CD9156D34BA0085CF03 /* Playback Tutorial 2 */, - 63118CEA156D3A870085CF03 /* Tutorial 6 */, - 63DE8812156DABDF006F2D3B /* Tutorial 7 */, - 63DE8820156DABE6006F2D3B /* Tutorial 8 */, - 63DE882E156DABEE006F2D3B /* Tutorial 9 */, - ); - name = Products; - sourceTree = SOURCE_ROOT; - }; - 63118C43156D29340085CF03 /* Tutorial 2 */ = { - isa = PBXGroup; - children = ( - 63118C4D156D29530085CF03 /* basic-tutorial-2.c */, - ); - name = "Tutorial 2"; - path = "GStreamer Tutorials"; - sourceTree = SOURCE_ROOT; - }; - 63118C56156D29DE0085CF03 /* Tutorial 3 */ = { - isa = PBXGroup; - children = ( - 63118C60156D2AA70085CF03 /* basic-tutorial-3.c */, - ); - name = "Tutorial 3"; - path = Turorial3; - sourceTree = SOURCE_ROOT; - }; - 63118C77156D2B970085CF03 /* Tutorial 4 */ = { - isa = PBXGroup; - children = ( - 63118C7F156D2BA30085CF03 /* basic-tutorial-4.c */, - ); - path = "Tutorial 4"; - sourceTree = ""; - }; - 63118C8A156D2D190085CF03 /* Tutorial 1 */ = { - isa = PBXGroup; - children = ( - 63118C92156D2D630085CF03 /* basic-tutorial-1.c */, - ); - path = "Tutorial 1"; - sourceTree = ""; - }; - 63118C9A156D2E2F0085CF03 /* Tutorial 5 */ = { - isa = PBXGroup; - children = ( - 63118CA2156D2E400085CF03 /* basic-tutorial-5.c */, - ); - path = "Tutorial 5"; - sourceTree = ""; - }; - 63118CCA156D32E20085CF03 /* Playback Tutorial 1 */ = { - isa = PBXGroup; - children = ( - 63118CD2156D32FE0085CF03 /* playback-tutorial-1.c */, - ); - path = "Playback Tutorial 1"; - sourceTree = ""; - }; - 63118CDB156D34BA0085CF03 /* Playback Tutorial 2 */ = { - isa = PBXGroup; - children = ( - 63118CE3156D35390085CF03 /* playback-tutorial-2.c */, - ); - path = "Playback Tutorial 2"; - sourceTree = ""; - }; - 63118CEC156D3A870085CF03 /* Tutorial 6 */ = { - isa = PBXGroup; - children = ( - 63118CF4156D3AB60085CF03 /* basic-tutorial-6.c */, - ); - path = "Tutorial 6"; - sourceTree = ""; - }; - 63DE8814156DABDF006F2D3B /* Tutorial 7 */ = { - isa = PBXGroup; - children = ( - 63DE8838156DAC09006F2D3B /* basic-tutorial-7.c */, - ); - path = "Tutorial 7"; - sourceTree = ""; - }; - 63DE8822156DABE6006F2D3B /* Tutorial 8 */ = { - isa = PBXGroup; - children = ( - 63DE883A156DAC0E006F2D3B /* basic-tutorial-8.c */, - ); - path = "Tutorial 8"; - sourceTree = ""; - }; - 63DE8830156DABEE006F2D3B /* Tutorial 9 */ = { - isa = PBXGroup; - children = ( - 63DE883C156DAC15006F2D3B /* basic-tutorial-9.c */, - ); - path = "Tutorial 9"; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 63118C53156D29DE0085CF03 /* Turorial 3 */ = { - isa = PBXNativeTarget; - buildConfigurationList = 63118C5B156D29DE0085CF03 /* Build configuration list for PBXNativeTarget "Turorial 3" */; - buildPhases = ( - 63118C50156D29DE0085CF03 /* Sources */, - 63118C51156D29DE0085CF03 /* Frameworks */, - 63118C52156D29DE0085CF03 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Turorial 3"; - productName = Turorial3; - productReference = 63118C54156D29DE0085CF03 /* Turorial 3 */; - productType = "com.apple.product-type.tool"; - }; - 63118C74156D2B970085CF03 /* Tutorial 4 */ = { - isa = PBXNativeTarget; - buildConfigurationList = 63118C7C156D2B970085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 4" */; - buildPhases = ( - 63118C71156D2B970085CF03 /* Sources */, - 63118C72156D2B970085CF03 /* Frameworks */, - 63118C73156D2B970085CF03 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Tutorial 4"; - productName = "Tutorial 4"; - productReference = 63118C75156D2B970085CF03 /* Tutorial 4 */; - productType = "com.apple.product-type.tool"; - }; - 63118C87156D2D190085CF03 /* Tutorial 1 */ = { - isa = PBXNativeTarget; - buildConfigurationList = 63118C8F156D2D190085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 1" */; - buildPhases = ( - 63118C84156D2D190085CF03 /* Sources */, - 63118C85156D2D190085CF03 /* Frameworks */, - 63118C86156D2D190085CF03 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Tutorial 1"; - productName = "Tutorial 1"; - productReference = 63118C88156D2D190085CF03 /* Tutorial 1 */; - productType = "com.apple.product-type.tool"; - }; - 63118C97156D2E2F0085CF03 /* Tutorial 5 */ = { - isa = PBXNativeTarget; - buildConfigurationList = 63118C9F156D2E2F0085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 5" */; - buildPhases = ( - 63118C94156D2E2F0085CF03 /* Sources */, - 63118C95156D2E2F0085CF03 /* Frameworks */, - 63118C96156D2E2F0085CF03 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Tutorial 5"; - productName = "Tutorial 5"; - productReference = 63118C98156D2E2F0085CF03 /* Tutorial 5 */; - productType = "com.apple.product-type.tool"; - }; - 63118CB8156D31240085CF03 /* Tutorial 2 */ = { - isa = PBXNativeTarget; - buildConfigurationList = 63118CC0156D31240085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 2" */; - buildPhases = ( - 63118CB5156D31240085CF03 /* Sources */, - 63118CB6156D31240085CF03 /* Frameworks */, - 63118CB7156D31240085CF03 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Tutorial 2"; - productName = "Tutorial 2"; - productReference = 63118CB9156D31240085CF03 /* Tutorial 2 */; - productType = "com.apple.product-type.tool"; - }; - 63118CC7156D32E20085CF03 /* Playback Tutorial 1 */ = { - isa = PBXNativeTarget; - buildConfigurationList = 63118CCF156D32E20085CF03 /* Build configuration list for PBXNativeTarget "Playback Tutorial 1" */; - buildPhases = ( - 63118CC4156D32E20085CF03 /* Sources */, - 63118CC5156D32E20085CF03 /* Frameworks */, - 63118CC6156D32E20085CF03 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Playback Tutorial 1"; - productName = "Playback Tutorial 1"; - productReference = 63118CC8156D32E20085CF03 /* Playback Tutorial 1 */; - productType = "com.apple.product-type.tool"; - }; - 63118CD8156D34BA0085CF03 /* Playback Tutorial 2 */ = { - isa = PBXNativeTarget; - buildConfigurationList = 63118CE0156D34BA0085CF03 /* Build configuration list for PBXNativeTarget "Playback Tutorial 2" */; - buildPhases = ( - 63118CD5156D34BA0085CF03 /* Sources */, - 63118CD6156D34BA0085CF03 /* Frameworks */, - 63118CD7156D34BA0085CF03 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Playback Tutorial 2"; - productName = "Playback Tutorial 2"; - productReference = 63118CD9156D34BA0085CF03 /* Playback Tutorial 2 */; - productType = "com.apple.product-type.tool"; - }; - 63118CE9156D3A870085CF03 /* Tutorial 6 */ = { - isa = PBXNativeTarget; - buildConfigurationList = 63118CF1156D3A870085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 6" */; - buildPhases = ( - 63118CE6156D3A870085CF03 /* Sources */, - 63118CE7156D3A870085CF03 /* Frameworks */, - 63118CE8156D3A870085CF03 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Tutorial 6"; - productName = "Tutorial 6"; - productReference = 63118CEA156D3A870085CF03 /* Tutorial 6 */; - productType = "com.apple.product-type.tool"; - }; - 63DE8811156DABDF006F2D3B /* Tutorial 7 */ = { - isa = PBXNativeTarget; - buildConfigurationList = 63DE8819156DABDF006F2D3B /* Build configuration list for PBXNativeTarget "Tutorial 7" */; - buildPhases = ( - 63DE880E156DABDF006F2D3B /* Sources */, - 63DE880F156DABDF006F2D3B /* Frameworks */, - 63DE8810156DABDF006F2D3B /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Tutorial 7"; - productName = "Tutorial 7"; - productReference = 63DE8812156DABDF006F2D3B /* Tutorial 7 */; - productType = "com.apple.product-type.tool"; - }; - 63DE881F156DABE6006F2D3B /* Tutorial 8 */ = { - isa = PBXNativeTarget; - buildConfigurationList = 63DE8827156DABE7006F2D3B /* Build configuration list for PBXNativeTarget "Tutorial 8" */; - buildPhases = ( - 63DE881C156DABE6006F2D3B /* Sources */, - 63DE881D156DABE6006F2D3B /* Frameworks */, - 63DE881E156DABE6006F2D3B /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Tutorial 8"; - productName = "Tutorial 8"; - productReference = 63DE8820156DABE6006F2D3B /* Tutorial 8 */; - productType = "com.apple.product-type.tool"; - }; - 63DE882D156DABEE006F2D3B /* Tutorial 9 */ = { - isa = PBXNativeTarget; - buildConfigurationList = 63DE8835156DABEE006F2D3B /* Build configuration list for PBXNativeTarget "Tutorial 9" */; - buildPhases = ( - 63DE882A156DABEE006F2D3B /* Sources */, - 63DE882B156DABEE006F2D3B /* Frameworks */, - 63DE882C156DABEE006F2D3B /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Tutorial 9"; - productName = "Tutorial 9"; - productReference = 63DE882E156DABEE006F2D3B /* Tutorial 9 */; - productType = "com.apple.product-type.tool"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 63118C37156D29340085CF03 /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 0420; - }; - buildConfigurationList = 63118C3A156D29340085CF03 /* Build configuration list for PBXProject "GStreamer Tutorials x86_64" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - ); - mainGroup = 63118C35156D29340085CF03; - productRefGroup = 63118C41156D29340085CF03 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 63118C53156D29DE0085CF03 /* Turorial 3 */, - 63118C74156D2B970085CF03 /* Tutorial 4 */, - 63118C87156D2D190085CF03 /* Tutorial 1 */, - 63118C97156D2E2F0085CF03 /* Tutorial 5 */, - 63118CB8156D31240085CF03 /* Tutorial 2 */, - 63118CC7156D32E20085CF03 /* Playback Tutorial 1 */, - 63118CD8156D34BA0085CF03 /* Playback Tutorial 2 */, - 63118CE9156D3A870085CF03 /* Tutorial 6 */, - 63DE8811156DABDF006F2D3B /* Tutorial 7 */, - 63DE881F156DABE6006F2D3B /* Tutorial 8 */, - 63DE882D156DABEE006F2D3B /* Tutorial 9 */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXSourcesBuildPhase section */ - 63118C50156D29DE0085CF03 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 63118C62156D2AF10085CF03 /* basic-tutorial-3.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63118C71156D2B970085CF03 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 63118C81156D2BAE0085CF03 /* basic-tutorial-4.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63118C84156D2D190085CF03 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 63118C93156D2D630085CF03 /* basic-tutorial-1.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63118C94156D2E2F0085CF03 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 63118CA3156D2E400085CF03 /* basic-tutorial-5.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63118CB5156D31240085CF03 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 63118CC3156D31300085CF03 /* basic-tutorial-2.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63118CC4156D32E20085CF03 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 63118CD4156D33040085CF03 /* playback-tutorial-1.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63118CD5156D34BA0085CF03 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 63118CE5156D35610085CF03 /* playback-tutorial-2.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63118CE6156D3A870085CF03 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 63118CF6156D3ACB0085CF03 /* basic-tutorial-6.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63DE880E156DABDF006F2D3B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 63DE883E156DAC18006F2D3B /* basic-tutorial-7.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63DE881C156DABE6006F2D3B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 63DE883F156DAC1D006F2D3B /* basic-tutorial-8.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63DE882A156DABEE006F2D3B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 63DE8840156DAC21006F2D3B /* basic-tutorial-9.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - 63118C48156D29340085CF03 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = YES; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_ARC = YES; - COPY_PHASE_STRIP = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.6; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = macosx; - VALID_ARCHS = x86_64; - }; - name = Debug; - }; - 63118C49156D29340085CF03 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = YES; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_ARC = YES; - COPY_PHASE_STRIP = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.6; - SDKROOT = macosx; - VALID_ARCHS = x86_64; - }; - name = Release; - }; - 63118C5C156D29DE0085CF03 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 63118C5D156D29DE0085CF03 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; - 63118C7D156D2B970085CF03 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 63118C7E156D2B970085CF03 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; - 63118C90156D2D190085CF03 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 63118C91156D2D190085CF03 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; - 63118CA0156D2E2F0085CF03 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118CA4156D2EAC0085CF03 /* gstreamer-0.10-gtk+-2.0.xcconfig */; - buildSettings = { - OTHER_LDFLAGS = ( - "-framework", - Cocoa, - "-lgstpbutils-0.10", - "-lgstnetbuffer-0.10", - "-lgstvideo-0.10", - "-lgstriff-0.10", - "-lgstcheck-0.10", - "-lgstaudio-0.10", - "-lgstcontroller-0.10", - "-lgstdataprotocol-0.10", - "-lgstrtp-0.10", - "-lgstinterfaces-0.10", - "-lgstnet-0.10", - "-lgstcdda-0.10", - "-lgsttag-0.10", - "-lgstapp-0.10", - "-lgstrtsp-0.10", - "-lgstsdp-0.10", - "-lgstbase-0.10", - "-lgstfft-0.10", - "-lgstreamer-0.10", - "-lgthread-2.0", - "-lxml2", - "-lgtk-quartz-2.0", - "-lgdk-quartz-2.0", - "-latk-1.0", - "-lgio-2.0", - "-lpangocairo-1.0", - "-lgdk_pixbuf-2.0", - "-lpango-1.0", - "-lcairo", - "-lgmodule-2.0", - "-lgobject-2.0", - "-lglib-2.0", - "-lintl", - ); - PRODUCT_NAME = "$(TARGET_NAME)"; - WARNING_LDFLAGS = ( - "-framework", - Cocoa, - "-lgstpbutils-0.10", - "-lgstnetbuffer-0.10", - "-lgstvideo-0.10", - "-lgstriff-0.10", - "-lgstcheck-0.10", - "-lgstaudio-0.10", - "-lgstcontroller-0.10", - "-lgstdataprotocol-0.10", - "-lgstrtp-0.10", - "-lgstinterfaces-0.10", - "-lgstnet-0.10", - "-lgstphotography-0.10", - "-lgstcdda-0.10", - "-lgsttag-0.10", - "-lgstapp-0.10", - "-lgstrtsp-0.10", - "-lgstsdp-0.10", - "-lgstbase-0.10", - "-lgstfft-0.10", - "-lgstreamer-0.10", - "-lgthread-2.0", - "-lxml2", - "-lgtk-quartz-2.0", - "-lgdk-quartz-2.0", - "-latk-1.0", - "-lgio-2.0", - "-lpangocairo-1.0", - "-lgdk_pixbuf-2.0", - "-lpango-1.0", - "-lcairo", - "-lgmodule-2.0", - "-lgobject-2.0", - "-lglib-2.0", - "-lintl", - ); - }; - name = Debug; - }; - 63118CA1156D2E2F0085CF03 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118CA4156D2EAC0085CF03 /* gstreamer-0.10-gtk+-2.0.xcconfig */; - buildSettings = { - OTHER_LDFLAGS = ( - "-framework", - Cocoa, - "-lgstpbutils-0.10", - "-lgstnetbuffer-0.10", - "-lgstvideo-0.10", - "-lgstriff-0.10", - "-lgstcheck-0.10", - "-lgstaudio-0.10", - "-lgstcontroller-0.10", - "-lgstdataprotocol-0.10", - "-lgstrtp-0.10", - "-lgstinterfaces-0.10", - "-lgstnet-0.10", - "-lgstcdda-0.10", - "-lgsttag-0.10", - "-lgstapp-0.10", - "-lgstrtsp-0.10", - "-lgstsdp-0.10", - "-lgstbase-0.10", - "-lgstfft-0.10", - "-lgstreamer-0.10", - "-lgthread-2.0", - "-lxml2", - "-lgtk-quartz-2.0", - "-lgdk-quartz-2.0", - "-latk-1.0", - "-lgio-2.0", - "-lpangocairo-1.0", - "-lgdk_pixbuf-2.0", - "-lpango-1.0", - "-lcairo", - "-lgmodule-2.0", - "-lgobject-2.0", - "-lglib-2.0", - "-lintl", - ); - PRODUCT_NAME = "$(TARGET_NAME)"; - WARNING_LDFLAGS = ( - "-framework", - Cocoa, - "-lgstpbutils-0.10", - "-lgstnetbuffer-0.10", - "-lgstvideo-0.10", - "-lgstriff-0.10", - "-lgstcheck-0.10", - "-lgstaudio-0.10", - "-lgstcontroller-0.10", - "-lgstdataprotocol-0.10", - "-lgstrtp-0.10", - "-lgstinterfaces-0.10", - "-lgstnet-0.10", - "-lgstphotography-0.10", - "-lgstcdda-0.10", - "-lgsttag-0.10", - "-lgstapp-0.10", - "-lgstrtsp-0.10", - "-lgstsdp-0.10", - "-lgstbase-0.10", - "-lgstfft-0.10", - "-lgstreamer-0.10", - "-lgthread-2.0", - "-lxml2", - "-lgtk-quartz-2.0", - "-lgdk-quartz-2.0", - "-latk-1.0", - "-lgio-2.0", - "-lpangocairo-1.0", - "-lgdk_pixbuf-2.0", - "-lpango-1.0", - "-lcairo", - "-lgmodule-2.0", - "-lgobject-2.0", - "-lglib-2.0", - "-lintl", - ); - }; - name = Release; - }; - 63118CC1156D31240085CF03 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 63118CC2156D31240085CF03 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; - 63118CD0156D32E20085CF03 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 63118CD1156D32E20085CF03 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; - 63118CE1156D34BA0085CF03 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 63118CE2156D34BA0085CF03 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; - 63118CF2156D3A870085CF03 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 63118CF3156D3A870085CF03 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; - 63DE881A156DABDF006F2D3B /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 63DE881B156DABDF006F2D3B /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; - 63DE8828156DABE7006F2D3B /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 63DE8829156DABE7006F2D3B /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; - 63DE8836156DABEE006F2D3B /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8841156DACB3006F2D3B /* gstreamer-0.10-all.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 63DE8837156DABEE006F2D3B /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8841156DACB3006F2D3B /* gstreamer-0.10-all.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 63118C3A156D29340085CF03 /* Build configuration list for PBXProject "GStreamer Tutorials x86_64" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 63118C48156D29340085CF03 /* Debug */, - 63118C49156D29340085CF03 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 63118C5B156D29DE0085CF03 /* Build configuration list for PBXNativeTarget "Turorial 3" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 63118C5C156D29DE0085CF03 /* Debug */, - 63118C5D156D29DE0085CF03 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 63118C7C156D2B970085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 4" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 63118C7D156D2B970085CF03 /* Debug */, - 63118C7E156D2B970085CF03 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 63118C8F156D2D190085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 1" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 63118C90156D2D190085CF03 /* Debug */, - 63118C91156D2D190085CF03 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 63118C9F156D2E2F0085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 5" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 63118CA0156D2E2F0085CF03 /* Debug */, - 63118CA1156D2E2F0085CF03 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 63118CC0156D31240085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 2" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 63118CC1156D31240085CF03 /* Debug */, - 63118CC2156D31240085CF03 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 63118CCF156D32E20085CF03 /* Build configuration list for PBXNativeTarget "Playback Tutorial 1" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 63118CD0156D32E20085CF03 /* Debug */, - 63118CD1156D32E20085CF03 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 63118CE0156D34BA0085CF03 /* Build configuration list for PBXNativeTarget "Playback Tutorial 2" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 63118CE1156D34BA0085CF03 /* Debug */, - 63118CE2156D34BA0085CF03 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 63118CF1156D3A870085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 6" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 63118CF2156D3A870085CF03 /* Debug */, - 63118CF3156D3A870085CF03 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 63DE8819156DABDF006F2D3B /* Build configuration list for PBXNativeTarget "Tutorial 7" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 63DE881A156DABDF006F2D3B /* Debug */, - 63DE881B156DABDF006F2D3B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 63DE8827156DABE7006F2D3B /* Build configuration list for PBXNativeTarget "Tutorial 8" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 63DE8828156DABE7006F2D3B /* Debug */, - 63DE8829156DABE7006F2D3B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 63DE8835156DABEE006F2D3B /* Build configuration list for PBXNativeTarget "Tutorial 9" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 63DE8836156DABEE006F2D3B /* Debug */, - 63DE8837156DABEE006F2D3B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 63118C37156D29340085CF03 /* Project object */; -} diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 98cf3a3b7a..0000000000 --- a/gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj similarity index 87% rename from gst-sdk/tutorials/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj rename to gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj index cc362754db..c864446cae 100644 --- a/gst-sdk/tutorials/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj @@ -18,6 +18,17 @@ 63DE883E156DAC18006F2D3B /* basic-tutorial-7.c in Sources */ = {isa = PBXBuildFile; fileRef = 63DE8838156DAC09006F2D3B /* basic-tutorial-7.c */; }; 63DE883F156DAC1D006F2D3B /* basic-tutorial-8.c in Sources */ = {isa = PBXBuildFile; fileRef = 63DE883A156DAC0E006F2D3B /* basic-tutorial-8.c */; }; 63DE8840156DAC21006F2D3B /* basic-tutorial-9.c in Sources */ = {isa = PBXBuildFile; fileRef = 63DE883C156DAC15006F2D3B /* basic-tutorial-9.c */; }; + 63E2230116073E04001954D7 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; + 63E2230216075DFC001954D7 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; + 63E2230316075E05001954D7 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; + 63E2230416075E24001954D7 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; + 63E2230616075E34001954D7 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; + 63E2230716075E3A001954D7 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; + 63E2230816075E41001954D7 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; + 63E2230916075E48001954D7 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; + 63E2230A16075E4F001954D7 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; + 63E2230B16075E55001954D7 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; + 63E2230C16076969001954D7 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -145,9 +156,7 @@ 63DE8838156DAC09006F2D3B /* basic-tutorial-7.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-7.c"; path = "../basic-tutorial-7.c"; sourceTree = SOURCE_ROOT; }; 63DE883A156DAC0E006F2D3B /* basic-tutorial-8.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-8.c"; path = "../basic-tutorial-8.c"; sourceTree = SOURCE_ROOT; }; 63DE883C156DAC15006F2D3B /* basic-tutorial-9.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-9.c"; path = "../basic-tutorial-9.c"; sourceTree = SOURCE_ROOT; }; - 63DE8851156DAE94006F2D3B /* gstreamer-0.10-all.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-all.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Versions/2012.5/x86/share/xcode/gstreamer-0.10-all.xcconfig"; sourceTree = ""; }; - 63DE8852156DAE94006F2D3B /* gstreamer-0.10-gtk+-2.0.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-gtk+-2.0.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Versions/2012.5/x86/share/xcode/gstreamer-0.10-gtk+-2.0.xcconfig"; sourceTree = ""; }; - 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Versions/2012.5/x86/share/xcode/gstreamer-0.10.xcconfig"; sourceTree = ""; }; + 63E2230016073E04001954D7 /* GStreamer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GStreamer.framework; path = Library/Frameworks/GStreamer.framework; sourceTree = SDKROOT; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -155,6 +164,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63E2230316075E05001954D7 /* GStreamer.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -162,6 +172,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63E2230416075E24001954D7 /* GStreamer.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -169,6 +180,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63E2230116073E04001954D7 /* GStreamer.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -176,6 +188,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63E2230C16076969001954D7 /* GStreamer.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -183,6 +196,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63E2230216075DFC001954D7 /* GStreamer.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -190,6 +204,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63E2230B16075E55001954D7 /* GStreamer.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -197,6 +212,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63E2230A16075E4F001954D7 /* GStreamer.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -204,6 +220,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63E2230616075E34001954D7 /* GStreamer.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -211,6 +228,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63E2230716075E3A001954D7 /* GStreamer.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -218,6 +236,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63E2230816075E41001954D7 /* GStreamer.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -225,6 +244,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63E2230916075E48001954D7 /* GStreamer.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -234,9 +254,7 @@ 63118C35156D29340085CF03 = { isa = PBXGroup; children = ( - 63DE8851156DAE94006F2D3B /* gstreamer-0.10-all.xcconfig */, - 63DE8852156DAE94006F2D3B /* gstreamer-0.10-gtk+-2.0.xcconfig */, - 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */, + 63E2230016073E04001954D7 /* GStreamer.framework */, 63118C8A156D2D190085CF03 /* Tutorial 1 */, 63118C43156D29340085CF03 /* Tutorial 2 */, 63118C56156D29DE0085CF03 /* Tutorial 3 */, @@ -558,7 +576,7 @@ attributes = { LastUpgradeCheck = 0420; }; - buildConfigurationList = 63118C3A156D29340085CF03 /* Build configuration list for PBXProject "GStreamer Tutorials x86" */; + buildConfigurationList = 63118C3A156D29340085CF03 /* Build configuration list for PBXProject "GStreamer Tutorials" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = English; hasScannedForEncodings = 0; @@ -681,8 +699,8 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = YES; - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; - CLANG_ENABLE_OBJC_ARC = YES; + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + CLANG_ENABLE_OBJC_ARC = NO; COPY_PHASE_STRIP = NO; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; @@ -698,10 +716,11 @@ GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = "/Library/Frameworks/GStreamer.framework/Versions/0.10/Headers/**"; MACOSX_DEPLOYMENT_TARGET = 10.6; ONLY_ACTIVE_ARCH = YES; - SDKROOT = macosx10.7; - VALID_ARCHS = i386; + SDKROOT = macosx10.6; + VALID_ARCHS = "x86_64 i386"; }; name = Debug; }; @@ -709,8 +728,8 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = YES; - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; - CLANG_ENABLE_OBJC_ARC = YES; + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + CLANG_ENABLE_OBJC_ARC = NO; COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; GCC_C_LANGUAGE_STANDARD = gnu99; @@ -720,15 +739,15 @@ GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = "/Library/Frameworks/GStreamer.framework/Versions/0.10/Headers/**"; MACOSX_DEPLOYMENT_TARGET = 10.6; - SDKROOT = macosx10.7; - VALID_ARCHS = i386; + SDKROOT = macosx10.6; + VALID_ARCHS = "x86_64 i386"; }; name = Release; }; 63118C5C156D29DE0085CF03 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -736,7 +755,6 @@ }; 63118C5D156D29DE0085CF03 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -744,7 +762,6 @@ }; 63118C7D156D2B970085CF03 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -752,7 +769,6 @@ }; 63118C7E156D2B970085CF03 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -760,7 +776,6 @@ }; 63118C90156D2D190085CF03 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -768,7 +783,6 @@ }; 63118C91156D2D190085CF03 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -776,44 +790,10 @@ }; 63118CA0156D2E2F0085CF03 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8852156DAE94006F2D3B /* gstreamer-0.10-gtk+-2.0.xcconfig */; buildSettings = { OTHER_LDFLAGS = ( "-framework", Cocoa, - "-lgstpbutils-0.10", - "-lgstnetbuffer-0.10", - "-lgstvideo-0.10", - "-lgstriff-0.10", - "-lgstcheck-0.10", - "-lgstaudio-0.10", - "-lgstcontroller-0.10", - "-lgstdataprotocol-0.10", - "-lgstrtp-0.10", - "-lgstinterfaces-0.10", - "-lgstnet-0.10", - "-lgstcdda-0.10", - "-lgsttag-0.10", - "-lgstapp-0.10", - "-lgstrtsp-0.10", - "-lgstsdp-0.10", - "-lgstbase-0.10", - "-lgstfft-0.10", - "-lgstreamer-0.10", - "-lgthread-2.0", - "-lxml2", - "-lgtk-quartz-2.0", - "-lgdk-quartz-2.0", - "-latk-1.0", - "-lgio-2.0", - "-lpangocairo-1.0", - "-lgdk_pixbuf-2.0", - "-lpango-1.0", - "-lcairo", - "-lgmodule-2.0", - "-lgobject-2.0", - "-lglib-2.0", - "-lintl", ); PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -821,44 +801,10 @@ }; 63118CA1156D2E2F0085CF03 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8852156DAE94006F2D3B /* gstreamer-0.10-gtk+-2.0.xcconfig */; buildSettings = { OTHER_LDFLAGS = ( "-framework", Cocoa, - "-lgstpbutils-0.10", - "-lgstnetbuffer-0.10", - "-lgstvideo-0.10", - "-lgstriff-0.10", - "-lgstcheck-0.10", - "-lgstaudio-0.10", - "-lgstcontroller-0.10", - "-lgstdataprotocol-0.10", - "-lgstrtp-0.10", - "-lgstinterfaces-0.10", - "-lgstnet-0.10", - "-lgstcdda-0.10", - "-lgsttag-0.10", - "-lgstapp-0.10", - "-lgstrtsp-0.10", - "-lgstsdp-0.10", - "-lgstbase-0.10", - "-lgstfft-0.10", - "-lgstreamer-0.10", - "-lgthread-2.0", - "-lxml2", - "-lgtk-quartz-2.0", - "-lgdk-quartz-2.0", - "-latk-1.0", - "-lgio-2.0", - "-lpangocairo-1.0", - "-lgdk_pixbuf-2.0", - "-lpango-1.0", - "-lcairo", - "-lgmodule-2.0", - "-lgobject-2.0", - "-lglib-2.0", - "-lintl", ); PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -866,7 +812,6 @@ }; 63118CC1156D31240085CF03 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -874,7 +819,6 @@ }; 63118CC2156D31240085CF03 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -882,7 +826,6 @@ }; 63118CD0156D32E20085CF03 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -890,7 +833,6 @@ }; 63118CD1156D32E20085CF03 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -898,7 +840,6 @@ }; 63118CE1156D34BA0085CF03 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -906,7 +847,6 @@ }; 63118CE2156D34BA0085CF03 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -914,7 +854,6 @@ }; 63118CF2156D3A870085CF03 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -922,7 +861,6 @@ }; 63118CF3156D3A870085CF03 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -930,7 +868,6 @@ }; 63DE881A156DABDF006F2D3B /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = YES; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -939,7 +876,6 @@ }; 63DE881B156DABDF006F2D3B /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = YES; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -948,7 +884,6 @@ }; 63DE8828156DABE7006F2D3B /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = YES; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -957,7 +892,6 @@ }; 63DE8829156DABE7006F2D3B /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = YES; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -966,7 +900,6 @@ }; 63DE8836156DABEE006F2D3B /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8851156DAE94006F2D3B /* gstreamer-0.10-all.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = YES; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -975,7 +908,6 @@ }; 63DE8837156DABEE006F2D3B /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8851156DAE94006F2D3B /* gstreamer-0.10-all.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = YES; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -985,7 +917,7 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 63118C3A156D29340085CF03 /* Build configuration list for PBXProject "GStreamer Tutorials x86" */ = { + 63118C3A156D29340085CF03 /* Build configuration list for PBXProject "GStreamer Tutorials" */ = { isa = XCConfigurationList; buildConfigurations = ( 63118C48156D29340085CF03 /* Debug */, diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials x86.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from gst-sdk/tutorials/xcode/GStreamer Tutorials x86.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.xcworkspace/contents.xcworkspacedata From 324614f0b336e2aba5895f3b1d53156901c5bf16 Mon Sep 17 00:00:00 2001 From: Andoni Morales Alastruey Date: Mon, 17 Sep 2012 16:24:50 +0200 Subject: [PATCH 121/979] Update for multilib --- .../project.pbxproj | 1177 ----------------- .../contents.xcworkspacedata | 7 - .../project.pbxproj | 140 +- .../contents.xcworkspacedata | 0 4 files changed, 36 insertions(+), 1288 deletions(-) delete mode 100644 gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj delete mode 100644 gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename gst-sdk/tutorials/xcode/{GStreamer Tutorials x86.xcodeproj => GStreamer Tutorials.xcodeproj}/project.pbxproj (87%) rename gst-sdk/tutorials/xcode/{GStreamer Tutorials x86.xcodeproj => GStreamer Tutorials.xcodeproj}/project.xcworkspace/contents.xcworkspacedata (100%) diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj b/gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj deleted file mode 100644 index 8fcc1e7bd8..0000000000 --- a/gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1177 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 63118C62156D2AF10085CF03 /* basic-tutorial-3.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118C60156D2AA70085CF03 /* basic-tutorial-3.c */; }; - 63118C81156D2BAE0085CF03 /* basic-tutorial-4.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118C7F156D2BA30085CF03 /* basic-tutorial-4.c */; }; - 63118C93156D2D630085CF03 /* basic-tutorial-1.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118C92156D2D630085CF03 /* basic-tutorial-1.c */; }; - 63118CA3156D2E400085CF03 /* basic-tutorial-5.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118CA2156D2E400085CF03 /* basic-tutorial-5.c */; }; - 63118CC3156D31300085CF03 /* basic-tutorial-2.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118C4D156D29530085CF03 /* basic-tutorial-2.c */; }; - 63118CD4156D33040085CF03 /* playback-tutorial-1.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118CD2156D32FE0085CF03 /* playback-tutorial-1.c */; }; - 63118CE5156D35610085CF03 /* playback-tutorial-2.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118CE3156D35390085CF03 /* playback-tutorial-2.c */; }; - 63118CF6156D3ACB0085CF03 /* basic-tutorial-6.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118CF4156D3AB60085CF03 /* basic-tutorial-6.c */; }; - 63DE883E156DAC18006F2D3B /* basic-tutorial-7.c in Sources */ = {isa = PBXBuildFile; fileRef = 63DE8838156DAC09006F2D3B /* basic-tutorial-7.c */; }; - 63DE883F156DAC1D006F2D3B /* basic-tutorial-8.c in Sources */ = {isa = PBXBuildFile; fileRef = 63DE883A156DAC0E006F2D3B /* basic-tutorial-8.c */; }; - 63DE8840156DAC21006F2D3B /* basic-tutorial-9.c in Sources */ = {isa = PBXBuildFile; fileRef = 63DE883C156DAC15006F2D3B /* basic-tutorial-9.c */; }; -/* End PBXBuildFile section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 63118C52156D29DE0085CF03 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = /usr/share/man/man1/; - dstSubfolderSpec = 0; - files = ( - ); - runOnlyForDeploymentPostprocessing = 1; - }; - 63118C73156D2B970085CF03 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = /usr/share/man/man1/; - dstSubfolderSpec = 0; - files = ( - ); - runOnlyForDeploymentPostprocessing = 1; - }; - 63118C86156D2D190085CF03 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = /usr/share/man/man1/; - dstSubfolderSpec = 0; - files = ( - ); - runOnlyForDeploymentPostprocessing = 1; - }; - 63118C96156D2E2F0085CF03 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = /usr/share/man/man1/; - dstSubfolderSpec = 0; - files = ( - ); - runOnlyForDeploymentPostprocessing = 1; - }; - 63118CB7156D31240085CF03 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = /usr/share/man/man1/; - dstSubfolderSpec = 0; - files = ( - ); - runOnlyForDeploymentPostprocessing = 1; - }; - 63118CC6156D32E20085CF03 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = /usr/share/man/man1/; - dstSubfolderSpec = 0; - files = ( - ); - runOnlyForDeploymentPostprocessing = 1; - }; - 63118CD7156D34BA0085CF03 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = /usr/share/man/man1/; - dstSubfolderSpec = 0; - files = ( - ); - runOnlyForDeploymentPostprocessing = 1; - }; - 63118CE8156D3A870085CF03 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = /usr/share/man/man1/; - dstSubfolderSpec = 0; - files = ( - ); - runOnlyForDeploymentPostprocessing = 1; - }; - 63DE8810156DABDF006F2D3B /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = /usr/share/man/man1/; - dstSubfolderSpec = 0; - files = ( - ); - runOnlyForDeploymentPostprocessing = 1; - }; - 63DE881E156DABE6006F2D3B /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = /usr/share/man/man1/; - dstSubfolderSpec = 0; - files = ( - ); - runOnlyForDeploymentPostprocessing = 1; - }; - 63DE882C156DABEE006F2D3B /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = /usr/share/man/man1/; - dstSubfolderSpec = 0; - files = ( - ); - runOnlyForDeploymentPostprocessing = 1; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 63118C4D156D29530085CF03 /* basic-tutorial-2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-2.c"; path = "../basic-tutorial-2.c"; sourceTree = SOURCE_ROOT; }; - 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Versions/2012.5/x86_64/share/xcode/gstreamer-0.10.xcconfig"; sourceTree = ""; }; - 63118C54156D29DE0085CF03 /* Turorial 3 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Turorial 3"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118C60156D2AA70085CF03 /* basic-tutorial-3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-3.c"; path = "../basic-tutorial-3.c"; sourceTree = SOURCE_ROOT; }; - 63118C75156D2B970085CF03 /* Tutorial 4 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 4"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118C7F156D2BA30085CF03 /* basic-tutorial-4.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-4.c"; path = "../basic-tutorial-4.c"; sourceTree = SOURCE_ROOT; }; - 63118C88156D2D190085CF03 /* Tutorial 1 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 1"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118C92156D2D630085CF03 /* basic-tutorial-1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-1.c"; path = "../basic-tutorial-1.c"; sourceTree = SOURCE_ROOT; }; - 63118C98156D2E2F0085CF03 /* Tutorial 5 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 5"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118CA2156D2E400085CF03 /* basic-tutorial-5.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; name = "basic-tutorial-5.c"; path = "../basic-tutorial-5.c"; sourceTree = SOURCE_ROOT; }; - 63118CA4156D2EAC0085CF03 /* gstreamer-0.10-gtk+-2.0.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-gtk+-2.0.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Versions/2012.5/x86_64/share/xcode/gstreamer-0.10-gtk+-2.0.xcconfig"; sourceTree = ""; }; - 63118CB9156D31240085CF03 /* Tutorial 2 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 2"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118CC8156D32E20085CF03 /* Playback Tutorial 1 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Playback Tutorial 1"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118CD2156D32FE0085CF03 /* playback-tutorial-1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-1.c"; path = "../playback-tutorial-1.c"; sourceTree = SOURCE_ROOT; }; - 63118CD9156D34BA0085CF03 /* Playback Tutorial 2 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Playback Tutorial 2"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118CE3156D35390085CF03 /* playback-tutorial-2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-2.c"; path = "../playback-tutorial-2.c"; sourceTree = SOURCE_ROOT; }; - 63118CEA156D3A870085CF03 /* Tutorial 6 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 6"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63118CF4156D3AB60085CF03 /* basic-tutorial-6.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-6.c"; path = "../basic-tutorial-6.c"; sourceTree = SOURCE_ROOT; }; - 63DE8812156DABDF006F2D3B /* Tutorial 7 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 7"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63DE8820156DABE6006F2D3B /* Tutorial 8 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 8"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63DE882E156DABEE006F2D3B /* Tutorial 9 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 9"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63DE8838156DAC09006F2D3B /* basic-tutorial-7.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-7.c"; path = "../basic-tutorial-7.c"; sourceTree = SOURCE_ROOT; }; - 63DE883A156DAC0E006F2D3B /* basic-tutorial-8.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-8.c"; path = "../basic-tutorial-8.c"; sourceTree = SOURCE_ROOT; }; - 63DE883C156DAC15006F2D3B /* basic-tutorial-9.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-9.c"; path = "../basic-tutorial-9.c"; sourceTree = SOURCE_ROOT; }; - 63DE8841156DACB3006F2D3B /* gstreamer-0.10-all.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-all.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Versions/2012.5/x86_64/share/xcode/gstreamer-0.10-all.xcconfig"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 63118C51156D29DE0085CF03 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63118C72156D2B970085CF03 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63118C85156D2D190085CF03 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63118C95156D2E2F0085CF03 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63118CB6156D31240085CF03 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63118CC5156D32E20085CF03 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63118CD6156D34BA0085CF03 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63118CE7156D3A870085CF03 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63DE880F156DABDF006F2D3B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63DE881D156DABE6006F2D3B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63DE882B156DABEE006F2D3B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 63118C35156D29340085CF03 = { - isa = PBXGroup; - children = ( - 63DE8841156DACB3006F2D3B /* gstreamer-0.10-all.xcconfig */, - 63118CA4156D2EAC0085CF03 /* gstreamer-0.10-gtk+-2.0.xcconfig */, - 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */, - 63118C8A156D2D190085CF03 /* Tutorial 1 */, - 63118C43156D29340085CF03 /* Tutorial 2 */, - 63118C56156D29DE0085CF03 /* Tutorial 3 */, - 63118C77156D2B970085CF03 /* Tutorial 4 */, - 63118C9A156D2E2F0085CF03 /* Tutorial 5 */, - 63118CEC156D3A870085CF03 /* Tutorial 6 */, - 63DE8814156DABDF006F2D3B /* Tutorial 7 */, - 63DE8822156DABE6006F2D3B /* Tutorial 8 */, - 63DE8830156DABEE006F2D3B /* Tutorial 9 */, - 63118CCA156D32E20085CF03 /* Playback Tutorial 1 */, - 63118CDB156D34BA0085CF03 /* Playback Tutorial 2 */, - 63118C41156D29340085CF03 /* Products */, - ); - sourceTree = ""; - }; - 63118C41156D29340085CF03 /* Products */ = { - isa = PBXGroup; - children = ( - 63118C54156D29DE0085CF03 /* Turorial 3 */, - 63118C75156D2B970085CF03 /* Tutorial 4 */, - 63118C88156D2D190085CF03 /* Tutorial 1 */, - 63118C98156D2E2F0085CF03 /* Tutorial 5 */, - 63118CB9156D31240085CF03 /* Tutorial 2 */, - 63118CC8156D32E20085CF03 /* Playback Tutorial 1 */, - 63118CD9156D34BA0085CF03 /* Playback Tutorial 2 */, - 63118CEA156D3A870085CF03 /* Tutorial 6 */, - 63DE8812156DABDF006F2D3B /* Tutorial 7 */, - 63DE8820156DABE6006F2D3B /* Tutorial 8 */, - 63DE882E156DABEE006F2D3B /* Tutorial 9 */, - ); - name = Products; - sourceTree = SOURCE_ROOT; - }; - 63118C43156D29340085CF03 /* Tutorial 2 */ = { - isa = PBXGroup; - children = ( - 63118C4D156D29530085CF03 /* basic-tutorial-2.c */, - ); - name = "Tutorial 2"; - path = "GStreamer Tutorials"; - sourceTree = SOURCE_ROOT; - }; - 63118C56156D29DE0085CF03 /* Tutorial 3 */ = { - isa = PBXGroup; - children = ( - 63118C60156D2AA70085CF03 /* basic-tutorial-3.c */, - ); - name = "Tutorial 3"; - path = Turorial3; - sourceTree = SOURCE_ROOT; - }; - 63118C77156D2B970085CF03 /* Tutorial 4 */ = { - isa = PBXGroup; - children = ( - 63118C7F156D2BA30085CF03 /* basic-tutorial-4.c */, - ); - path = "Tutorial 4"; - sourceTree = ""; - }; - 63118C8A156D2D190085CF03 /* Tutorial 1 */ = { - isa = PBXGroup; - children = ( - 63118C92156D2D630085CF03 /* basic-tutorial-1.c */, - ); - path = "Tutorial 1"; - sourceTree = ""; - }; - 63118C9A156D2E2F0085CF03 /* Tutorial 5 */ = { - isa = PBXGroup; - children = ( - 63118CA2156D2E400085CF03 /* basic-tutorial-5.c */, - ); - path = "Tutorial 5"; - sourceTree = ""; - }; - 63118CCA156D32E20085CF03 /* Playback Tutorial 1 */ = { - isa = PBXGroup; - children = ( - 63118CD2156D32FE0085CF03 /* playback-tutorial-1.c */, - ); - path = "Playback Tutorial 1"; - sourceTree = ""; - }; - 63118CDB156D34BA0085CF03 /* Playback Tutorial 2 */ = { - isa = PBXGroup; - children = ( - 63118CE3156D35390085CF03 /* playback-tutorial-2.c */, - ); - path = "Playback Tutorial 2"; - sourceTree = ""; - }; - 63118CEC156D3A870085CF03 /* Tutorial 6 */ = { - isa = PBXGroup; - children = ( - 63118CF4156D3AB60085CF03 /* basic-tutorial-6.c */, - ); - path = "Tutorial 6"; - sourceTree = ""; - }; - 63DE8814156DABDF006F2D3B /* Tutorial 7 */ = { - isa = PBXGroup; - children = ( - 63DE8838156DAC09006F2D3B /* basic-tutorial-7.c */, - ); - path = "Tutorial 7"; - sourceTree = ""; - }; - 63DE8822156DABE6006F2D3B /* Tutorial 8 */ = { - isa = PBXGroup; - children = ( - 63DE883A156DAC0E006F2D3B /* basic-tutorial-8.c */, - ); - path = "Tutorial 8"; - sourceTree = ""; - }; - 63DE8830156DABEE006F2D3B /* Tutorial 9 */ = { - isa = PBXGroup; - children = ( - 63DE883C156DAC15006F2D3B /* basic-tutorial-9.c */, - ); - path = "Tutorial 9"; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 63118C53156D29DE0085CF03 /* Turorial 3 */ = { - isa = PBXNativeTarget; - buildConfigurationList = 63118C5B156D29DE0085CF03 /* Build configuration list for PBXNativeTarget "Turorial 3" */; - buildPhases = ( - 63118C50156D29DE0085CF03 /* Sources */, - 63118C51156D29DE0085CF03 /* Frameworks */, - 63118C52156D29DE0085CF03 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Turorial 3"; - productName = Turorial3; - productReference = 63118C54156D29DE0085CF03 /* Turorial 3 */; - productType = "com.apple.product-type.tool"; - }; - 63118C74156D2B970085CF03 /* Tutorial 4 */ = { - isa = PBXNativeTarget; - buildConfigurationList = 63118C7C156D2B970085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 4" */; - buildPhases = ( - 63118C71156D2B970085CF03 /* Sources */, - 63118C72156D2B970085CF03 /* Frameworks */, - 63118C73156D2B970085CF03 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Tutorial 4"; - productName = "Tutorial 4"; - productReference = 63118C75156D2B970085CF03 /* Tutorial 4 */; - productType = "com.apple.product-type.tool"; - }; - 63118C87156D2D190085CF03 /* Tutorial 1 */ = { - isa = PBXNativeTarget; - buildConfigurationList = 63118C8F156D2D190085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 1" */; - buildPhases = ( - 63118C84156D2D190085CF03 /* Sources */, - 63118C85156D2D190085CF03 /* Frameworks */, - 63118C86156D2D190085CF03 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Tutorial 1"; - productName = "Tutorial 1"; - productReference = 63118C88156D2D190085CF03 /* Tutorial 1 */; - productType = "com.apple.product-type.tool"; - }; - 63118C97156D2E2F0085CF03 /* Tutorial 5 */ = { - isa = PBXNativeTarget; - buildConfigurationList = 63118C9F156D2E2F0085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 5" */; - buildPhases = ( - 63118C94156D2E2F0085CF03 /* Sources */, - 63118C95156D2E2F0085CF03 /* Frameworks */, - 63118C96156D2E2F0085CF03 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Tutorial 5"; - productName = "Tutorial 5"; - productReference = 63118C98156D2E2F0085CF03 /* Tutorial 5 */; - productType = "com.apple.product-type.tool"; - }; - 63118CB8156D31240085CF03 /* Tutorial 2 */ = { - isa = PBXNativeTarget; - buildConfigurationList = 63118CC0156D31240085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 2" */; - buildPhases = ( - 63118CB5156D31240085CF03 /* Sources */, - 63118CB6156D31240085CF03 /* Frameworks */, - 63118CB7156D31240085CF03 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Tutorial 2"; - productName = "Tutorial 2"; - productReference = 63118CB9156D31240085CF03 /* Tutorial 2 */; - productType = "com.apple.product-type.tool"; - }; - 63118CC7156D32E20085CF03 /* Playback Tutorial 1 */ = { - isa = PBXNativeTarget; - buildConfigurationList = 63118CCF156D32E20085CF03 /* Build configuration list for PBXNativeTarget "Playback Tutorial 1" */; - buildPhases = ( - 63118CC4156D32E20085CF03 /* Sources */, - 63118CC5156D32E20085CF03 /* Frameworks */, - 63118CC6156D32E20085CF03 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Playback Tutorial 1"; - productName = "Playback Tutorial 1"; - productReference = 63118CC8156D32E20085CF03 /* Playback Tutorial 1 */; - productType = "com.apple.product-type.tool"; - }; - 63118CD8156D34BA0085CF03 /* Playback Tutorial 2 */ = { - isa = PBXNativeTarget; - buildConfigurationList = 63118CE0156D34BA0085CF03 /* Build configuration list for PBXNativeTarget "Playback Tutorial 2" */; - buildPhases = ( - 63118CD5156D34BA0085CF03 /* Sources */, - 63118CD6156D34BA0085CF03 /* Frameworks */, - 63118CD7156D34BA0085CF03 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Playback Tutorial 2"; - productName = "Playback Tutorial 2"; - productReference = 63118CD9156D34BA0085CF03 /* Playback Tutorial 2 */; - productType = "com.apple.product-type.tool"; - }; - 63118CE9156D3A870085CF03 /* Tutorial 6 */ = { - isa = PBXNativeTarget; - buildConfigurationList = 63118CF1156D3A870085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 6" */; - buildPhases = ( - 63118CE6156D3A870085CF03 /* Sources */, - 63118CE7156D3A870085CF03 /* Frameworks */, - 63118CE8156D3A870085CF03 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Tutorial 6"; - productName = "Tutorial 6"; - productReference = 63118CEA156D3A870085CF03 /* Tutorial 6 */; - productType = "com.apple.product-type.tool"; - }; - 63DE8811156DABDF006F2D3B /* Tutorial 7 */ = { - isa = PBXNativeTarget; - buildConfigurationList = 63DE8819156DABDF006F2D3B /* Build configuration list for PBXNativeTarget "Tutorial 7" */; - buildPhases = ( - 63DE880E156DABDF006F2D3B /* Sources */, - 63DE880F156DABDF006F2D3B /* Frameworks */, - 63DE8810156DABDF006F2D3B /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Tutorial 7"; - productName = "Tutorial 7"; - productReference = 63DE8812156DABDF006F2D3B /* Tutorial 7 */; - productType = "com.apple.product-type.tool"; - }; - 63DE881F156DABE6006F2D3B /* Tutorial 8 */ = { - isa = PBXNativeTarget; - buildConfigurationList = 63DE8827156DABE7006F2D3B /* Build configuration list for PBXNativeTarget "Tutorial 8" */; - buildPhases = ( - 63DE881C156DABE6006F2D3B /* Sources */, - 63DE881D156DABE6006F2D3B /* Frameworks */, - 63DE881E156DABE6006F2D3B /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Tutorial 8"; - productName = "Tutorial 8"; - productReference = 63DE8820156DABE6006F2D3B /* Tutorial 8 */; - productType = "com.apple.product-type.tool"; - }; - 63DE882D156DABEE006F2D3B /* Tutorial 9 */ = { - isa = PBXNativeTarget; - buildConfigurationList = 63DE8835156DABEE006F2D3B /* Build configuration list for PBXNativeTarget "Tutorial 9" */; - buildPhases = ( - 63DE882A156DABEE006F2D3B /* Sources */, - 63DE882B156DABEE006F2D3B /* Frameworks */, - 63DE882C156DABEE006F2D3B /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Tutorial 9"; - productName = "Tutorial 9"; - productReference = 63DE882E156DABEE006F2D3B /* Tutorial 9 */; - productType = "com.apple.product-type.tool"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 63118C37156D29340085CF03 /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 0420; - }; - buildConfigurationList = 63118C3A156D29340085CF03 /* Build configuration list for PBXProject "GStreamer Tutorials x86_64" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - ); - mainGroup = 63118C35156D29340085CF03; - productRefGroup = 63118C41156D29340085CF03 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 63118C53156D29DE0085CF03 /* Turorial 3 */, - 63118C74156D2B970085CF03 /* Tutorial 4 */, - 63118C87156D2D190085CF03 /* Tutorial 1 */, - 63118C97156D2E2F0085CF03 /* Tutorial 5 */, - 63118CB8156D31240085CF03 /* Tutorial 2 */, - 63118CC7156D32E20085CF03 /* Playback Tutorial 1 */, - 63118CD8156D34BA0085CF03 /* Playback Tutorial 2 */, - 63118CE9156D3A870085CF03 /* Tutorial 6 */, - 63DE8811156DABDF006F2D3B /* Tutorial 7 */, - 63DE881F156DABE6006F2D3B /* Tutorial 8 */, - 63DE882D156DABEE006F2D3B /* Tutorial 9 */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXSourcesBuildPhase section */ - 63118C50156D29DE0085CF03 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 63118C62156D2AF10085CF03 /* basic-tutorial-3.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63118C71156D2B970085CF03 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 63118C81156D2BAE0085CF03 /* basic-tutorial-4.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63118C84156D2D190085CF03 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 63118C93156D2D630085CF03 /* basic-tutorial-1.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63118C94156D2E2F0085CF03 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 63118CA3156D2E400085CF03 /* basic-tutorial-5.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63118CB5156D31240085CF03 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 63118CC3156D31300085CF03 /* basic-tutorial-2.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63118CC4156D32E20085CF03 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 63118CD4156D33040085CF03 /* playback-tutorial-1.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63118CD5156D34BA0085CF03 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 63118CE5156D35610085CF03 /* playback-tutorial-2.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63118CE6156D3A870085CF03 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 63118CF6156D3ACB0085CF03 /* basic-tutorial-6.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63DE880E156DABDF006F2D3B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 63DE883E156DAC18006F2D3B /* basic-tutorial-7.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63DE881C156DABE6006F2D3B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 63DE883F156DAC1D006F2D3B /* basic-tutorial-8.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63DE882A156DABEE006F2D3B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 63DE8840156DAC21006F2D3B /* basic-tutorial-9.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - 63118C48156D29340085CF03 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = YES; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_ARC = YES; - COPY_PHASE_STRIP = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.6; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = macosx; - VALID_ARCHS = x86_64; - }; - name = Debug; - }; - 63118C49156D29340085CF03 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = YES; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_ARC = YES; - COPY_PHASE_STRIP = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.6; - SDKROOT = macosx; - VALID_ARCHS = x86_64; - }; - name = Release; - }; - 63118C5C156D29DE0085CF03 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 63118C5D156D29DE0085CF03 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; - 63118C7D156D2B970085CF03 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 63118C7E156D2B970085CF03 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; - 63118C90156D2D190085CF03 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 63118C91156D2D190085CF03 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; - 63118CA0156D2E2F0085CF03 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118CA4156D2EAC0085CF03 /* gstreamer-0.10-gtk+-2.0.xcconfig */; - buildSettings = { - OTHER_LDFLAGS = ( - "-framework", - Cocoa, - "-lgstpbutils-0.10", - "-lgstnetbuffer-0.10", - "-lgstvideo-0.10", - "-lgstriff-0.10", - "-lgstcheck-0.10", - "-lgstaudio-0.10", - "-lgstcontroller-0.10", - "-lgstdataprotocol-0.10", - "-lgstrtp-0.10", - "-lgstinterfaces-0.10", - "-lgstnet-0.10", - "-lgstcdda-0.10", - "-lgsttag-0.10", - "-lgstapp-0.10", - "-lgstrtsp-0.10", - "-lgstsdp-0.10", - "-lgstbase-0.10", - "-lgstfft-0.10", - "-lgstreamer-0.10", - "-lgthread-2.0", - "-lxml2", - "-lgtk-quartz-2.0", - "-lgdk-quartz-2.0", - "-latk-1.0", - "-lgio-2.0", - "-lpangocairo-1.0", - "-lgdk_pixbuf-2.0", - "-lpango-1.0", - "-lcairo", - "-lgmodule-2.0", - "-lgobject-2.0", - "-lglib-2.0", - "-lintl", - ); - PRODUCT_NAME = "$(TARGET_NAME)"; - WARNING_LDFLAGS = ( - "-framework", - Cocoa, - "-lgstpbutils-0.10", - "-lgstnetbuffer-0.10", - "-lgstvideo-0.10", - "-lgstriff-0.10", - "-lgstcheck-0.10", - "-lgstaudio-0.10", - "-lgstcontroller-0.10", - "-lgstdataprotocol-0.10", - "-lgstrtp-0.10", - "-lgstinterfaces-0.10", - "-lgstnet-0.10", - "-lgstphotography-0.10", - "-lgstcdda-0.10", - "-lgsttag-0.10", - "-lgstapp-0.10", - "-lgstrtsp-0.10", - "-lgstsdp-0.10", - "-lgstbase-0.10", - "-lgstfft-0.10", - "-lgstreamer-0.10", - "-lgthread-2.0", - "-lxml2", - "-lgtk-quartz-2.0", - "-lgdk-quartz-2.0", - "-latk-1.0", - "-lgio-2.0", - "-lpangocairo-1.0", - "-lgdk_pixbuf-2.0", - "-lpango-1.0", - "-lcairo", - "-lgmodule-2.0", - "-lgobject-2.0", - "-lglib-2.0", - "-lintl", - ); - }; - name = Debug; - }; - 63118CA1156D2E2F0085CF03 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118CA4156D2EAC0085CF03 /* gstreamer-0.10-gtk+-2.0.xcconfig */; - buildSettings = { - OTHER_LDFLAGS = ( - "-framework", - Cocoa, - "-lgstpbutils-0.10", - "-lgstnetbuffer-0.10", - "-lgstvideo-0.10", - "-lgstriff-0.10", - "-lgstcheck-0.10", - "-lgstaudio-0.10", - "-lgstcontroller-0.10", - "-lgstdataprotocol-0.10", - "-lgstrtp-0.10", - "-lgstinterfaces-0.10", - "-lgstnet-0.10", - "-lgstcdda-0.10", - "-lgsttag-0.10", - "-lgstapp-0.10", - "-lgstrtsp-0.10", - "-lgstsdp-0.10", - "-lgstbase-0.10", - "-lgstfft-0.10", - "-lgstreamer-0.10", - "-lgthread-2.0", - "-lxml2", - "-lgtk-quartz-2.0", - "-lgdk-quartz-2.0", - "-latk-1.0", - "-lgio-2.0", - "-lpangocairo-1.0", - "-lgdk_pixbuf-2.0", - "-lpango-1.0", - "-lcairo", - "-lgmodule-2.0", - "-lgobject-2.0", - "-lglib-2.0", - "-lintl", - ); - PRODUCT_NAME = "$(TARGET_NAME)"; - WARNING_LDFLAGS = ( - "-framework", - Cocoa, - "-lgstpbutils-0.10", - "-lgstnetbuffer-0.10", - "-lgstvideo-0.10", - "-lgstriff-0.10", - "-lgstcheck-0.10", - "-lgstaudio-0.10", - "-lgstcontroller-0.10", - "-lgstdataprotocol-0.10", - "-lgstrtp-0.10", - "-lgstinterfaces-0.10", - "-lgstnet-0.10", - "-lgstphotography-0.10", - "-lgstcdda-0.10", - "-lgsttag-0.10", - "-lgstapp-0.10", - "-lgstrtsp-0.10", - "-lgstsdp-0.10", - "-lgstbase-0.10", - "-lgstfft-0.10", - "-lgstreamer-0.10", - "-lgthread-2.0", - "-lxml2", - "-lgtk-quartz-2.0", - "-lgdk-quartz-2.0", - "-latk-1.0", - "-lgio-2.0", - "-lpangocairo-1.0", - "-lgdk_pixbuf-2.0", - "-lpango-1.0", - "-lcairo", - "-lgmodule-2.0", - "-lgobject-2.0", - "-lglib-2.0", - "-lintl", - ); - }; - name = Release; - }; - 63118CC1156D31240085CF03 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 63118CC2156D31240085CF03 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; - 63118CD0156D32E20085CF03 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 63118CD1156D32E20085CF03 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; - 63118CE1156D34BA0085CF03 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 63118CE2156D34BA0085CF03 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; - 63118CF2156D3A870085CF03 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 63118CF3156D3A870085CF03 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; - 63DE881A156DABDF006F2D3B /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 63DE881B156DABDF006F2D3B /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; - 63DE8828156DABE7006F2D3B /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 63DE8829156DABE7006F2D3B /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63118C4F156D297B0085CF03 /* gstreamer-0.10.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; - 63DE8836156DABEE006F2D3B /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8841156DACB3006F2D3B /* gstreamer-0.10-all.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 63DE8837156DABEE006F2D3B /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8841156DACB3006F2D3B /* gstreamer-0.10-all.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 63118C3A156D29340085CF03 /* Build configuration list for PBXProject "GStreamer Tutorials x86_64" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 63118C48156D29340085CF03 /* Debug */, - 63118C49156D29340085CF03 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 63118C5B156D29DE0085CF03 /* Build configuration list for PBXNativeTarget "Turorial 3" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 63118C5C156D29DE0085CF03 /* Debug */, - 63118C5D156D29DE0085CF03 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 63118C7C156D2B970085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 4" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 63118C7D156D2B970085CF03 /* Debug */, - 63118C7E156D2B970085CF03 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 63118C8F156D2D190085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 1" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 63118C90156D2D190085CF03 /* Debug */, - 63118C91156D2D190085CF03 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 63118C9F156D2E2F0085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 5" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 63118CA0156D2E2F0085CF03 /* Debug */, - 63118CA1156D2E2F0085CF03 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 63118CC0156D31240085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 2" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 63118CC1156D31240085CF03 /* Debug */, - 63118CC2156D31240085CF03 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 63118CCF156D32E20085CF03 /* Build configuration list for PBXNativeTarget "Playback Tutorial 1" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 63118CD0156D32E20085CF03 /* Debug */, - 63118CD1156D32E20085CF03 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 63118CE0156D34BA0085CF03 /* Build configuration list for PBXNativeTarget "Playback Tutorial 2" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 63118CE1156D34BA0085CF03 /* Debug */, - 63118CE2156D34BA0085CF03 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 63118CF1156D3A870085CF03 /* Build configuration list for PBXNativeTarget "Tutorial 6" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 63118CF2156D3A870085CF03 /* Debug */, - 63118CF3156D3A870085CF03 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 63DE8819156DABDF006F2D3B /* Build configuration list for PBXNativeTarget "Tutorial 7" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 63DE881A156DABDF006F2D3B /* Debug */, - 63DE881B156DABDF006F2D3B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 63DE8827156DABE7006F2D3B /* Build configuration list for PBXNativeTarget "Tutorial 8" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 63DE8828156DABE7006F2D3B /* Debug */, - 63DE8829156DABE7006F2D3B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 63DE8835156DABEE006F2D3B /* Build configuration list for PBXNativeTarget "Tutorial 9" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 63DE8836156DABEE006F2D3B /* Debug */, - 63DE8837156DABEE006F2D3B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 63118C37156D29340085CF03 /* Project object */; -} diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 98cf3a3b7a..0000000000 --- a/gst-sdk/tutorials/xcode/GStreamer Tutorials x86_64.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj similarity index 87% rename from gst-sdk/tutorials/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj rename to gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj index cc362754db..c864446cae 100644 --- a/gst-sdk/tutorials/xcode/GStreamer Tutorials x86.xcodeproj/project.pbxproj +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj @@ -18,6 +18,17 @@ 63DE883E156DAC18006F2D3B /* basic-tutorial-7.c in Sources */ = {isa = PBXBuildFile; fileRef = 63DE8838156DAC09006F2D3B /* basic-tutorial-7.c */; }; 63DE883F156DAC1D006F2D3B /* basic-tutorial-8.c in Sources */ = {isa = PBXBuildFile; fileRef = 63DE883A156DAC0E006F2D3B /* basic-tutorial-8.c */; }; 63DE8840156DAC21006F2D3B /* basic-tutorial-9.c in Sources */ = {isa = PBXBuildFile; fileRef = 63DE883C156DAC15006F2D3B /* basic-tutorial-9.c */; }; + 63E2230116073E04001954D7 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; + 63E2230216075DFC001954D7 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; + 63E2230316075E05001954D7 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; + 63E2230416075E24001954D7 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; + 63E2230616075E34001954D7 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; + 63E2230716075E3A001954D7 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; + 63E2230816075E41001954D7 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; + 63E2230916075E48001954D7 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; + 63E2230A16075E4F001954D7 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; + 63E2230B16075E55001954D7 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; + 63E2230C16076969001954D7 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -145,9 +156,7 @@ 63DE8838156DAC09006F2D3B /* basic-tutorial-7.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-7.c"; path = "../basic-tutorial-7.c"; sourceTree = SOURCE_ROOT; }; 63DE883A156DAC0E006F2D3B /* basic-tutorial-8.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-8.c"; path = "../basic-tutorial-8.c"; sourceTree = SOURCE_ROOT; }; 63DE883C156DAC15006F2D3B /* basic-tutorial-9.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-9.c"; path = "../basic-tutorial-9.c"; sourceTree = SOURCE_ROOT; }; - 63DE8851156DAE94006F2D3B /* gstreamer-0.10-all.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-all.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Versions/2012.5/x86/share/xcode/gstreamer-0.10-all.xcconfig"; sourceTree = ""; }; - 63DE8852156DAE94006F2D3B /* gstreamer-0.10-gtk+-2.0.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10-gtk+-2.0.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Versions/2012.5/x86/share/xcode/gstreamer-0.10-gtk+-2.0.xcconfig"; sourceTree = ""; }; - 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "gstreamer-0.10.xcconfig"; path = "/Library/Frameworks/GStreamer.framework/Versions/2012.5/x86/share/xcode/gstreamer-0.10.xcconfig"; sourceTree = ""; }; + 63E2230016073E04001954D7 /* GStreamer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GStreamer.framework; path = Library/Frameworks/GStreamer.framework; sourceTree = SDKROOT; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -155,6 +164,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63E2230316075E05001954D7 /* GStreamer.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -162,6 +172,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63E2230416075E24001954D7 /* GStreamer.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -169,6 +180,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63E2230116073E04001954D7 /* GStreamer.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -176,6 +188,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63E2230C16076969001954D7 /* GStreamer.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -183,6 +196,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63E2230216075DFC001954D7 /* GStreamer.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -190,6 +204,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63E2230B16075E55001954D7 /* GStreamer.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -197,6 +212,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63E2230A16075E4F001954D7 /* GStreamer.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -204,6 +220,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63E2230616075E34001954D7 /* GStreamer.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -211,6 +228,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63E2230716075E3A001954D7 /* GStreamer.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -218,6 +236,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63E2230816075E41001954D7 /* GStreamer.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -225,6 +244,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63E2230916075E48001954D7 /* GStreamer.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -234,9 +254,7 @@ 63118C35156D29340085CF03 = { isa = PBXGroup; children = ( - 63DE8851156DAE94006F2D3B /* gstreamer-0.10-all.xcconfig */, - 63DE8852156DAE94006F2D3B /* gstreamer-0.10-gtk+-2.0.xcconfig */, - 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */, + 63E2230016073E04001954D7 /* GStreamer.framework */, 63118C8A156D2D190085CF03 /* Tutorial 1 */, 63118C43156D29340085CF03 /* Tutorial 2 */, 63118C56156D29DE0085CF03 /* Tutorial 3 */, @@ -558,7 +576,7 @@ attributes = { LastUpgradeCheck = 0420; }; - buildConfigurationList = 63118C3A156D29340085CF03 /* Build configuration list for PBXProject "GStreamer Tutorials x86" */; + buildConfigurationList = 63118C3A156D29340085CF03 /* Build configuration list for PBXProject "GStreamer Tutorials" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = English; hasScannedForEncodings = 0; @@ -681,8 +699,8 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = YES; - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; - CLANG_ENABLE_OBJC_ARC = YES; + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + CLANG_ENABLE_OBJC_ARC = NO; COPY_PHASE_STRIP = NO; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; @@ -698,10 +716,11 @@ GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = "/Library/Frameworks/GStreamer.framework/Versions/0.10/Headers/**"; MACOSX_DEPLOYMENT_TARGET = 10.6; ONLY_ACTIVE_ARCH = YES; - SDKROOT = macosx10.7; - VALID_ARCHS = i386; + SDKROOT = macosx10.6; + VALID_ARCHS = "x86_64 i386"; }; name = Debug; }; @@ -709,8 +728,8 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = YES; - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; - CLANG_ENABLE_OBJC_ARC = YES; + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + CLANG_ENABLE_OBJC_ARC = NO; COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; GCC_C_LANGUAGE_STANDARD = gnu99; @@ -720,15 +739,15 @@ GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = "/Library/Frameworks/GStreamer.framework/Versions/0.10/Headers/**"; MACOSX_DEPLOYMENT_TARGET = 10.6; - SDKROOT = macosx10.7; - VALID_ARCHS = i386; + SDKROOT = macosx10.6; + VALID_ARCHS = "x86_64 i386"; }; name = Release; }; 63118C5C156D29DE0085CF03 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -736,7 +755,6 @@ }; 63118C5D156D29DE0085CF03 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -744,7 +762,6 @@ }; 63118C7D156D2B970085CF03 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -752,7 +769,6 @@ }; 63118C7E156D2B970085CF03 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -760,7 +776,6 @@ }; 63118C90156D2D190085CF03 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -768,7 +783,6 @@ }; 63118C91156D2D190085CF03 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -776,44 +790,10 @@ }; 63118CA0156D2E2F0085CF03 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8852156DAE94006F2D3B /* gstreamer-0.10-gtk+-2.0.xcconfig */; buildSettings = { OTHER_LDFLAGS = ( "-framework", Cocoa, - "-lgstpbutils-0.10", - "-lgstnetbuffer-0.10", - "-lgstvideo-0.10", - "-lgstriff-0.10", - "-lgstcheck-0.10", - "-lgstaudio-0.10", - "-lgstcontroller-0.10", - "-lgstdataprotocol-0.10", - "-lgstrtp-0.10", - "-lgstinterfaces-0.10", - "-lgstnet-0.10", - "-lgstcdda-0.10", - "-lgsttag-0.10", - "-lgstapp-0.10", - "-lgstrtsp-0.10", - "-lgstsdp-0.10", - "-lgstbase-0.10", - "-lgstfft-0.10", - "-lgstreamer-0.10", - "-lgthread-2.0", - "-lxml2", - "-lgtk-quartz-2.0", - "-lgdk-quartz-2.0", - "-latk-1.0", - "-lgio-2.0", - "-lpangocairo-1.0", - "-lgdk_pixbuf-2.0", - "-lpango-1.0", - "-lcairo", - "-lgmodule-2.0", - "-lgobject-2.0", - "-lglib-2.0", - "-lintl", ); PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -821,44 +801,10 @@ }; 63118CA1156D2E2F0085CF03 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8852156DAE94006F2D3B /* gstreamer-0.10-gtk+-2.0.xcconfig */; buildSettings = { OTHER_LDFLAGS = ( "-framework", Cocoa, - "-lgstpbutils-0.10", - "-lgstnetbuffer-0.10", - "-lgstvideo-0.10", - "-lgstriff-0.10", - "-lgstcheck-0.10", - "-lgstaudio-0.10", - "-lgstcontroller-0.10", - "-lgstdataprotocol-0.10", - "-lgstrtp-0.10", - "-lgstinterfaces-0.10", - "-lgstnet-0.10", - "-lgstcdda-0.10", - "-lgsttag-0.10", - "-lgstapp-0.10", - "-lgstrtsp-0.10", - "-lgstsdp-0.10", - "-lgstbase-0.10", - "-lgstfft-0.10", - "-lgstreamer-0.10", - "-lgthread-2.0", - "-lxml2", - "-lgtk-quartz-2.0", - "-lgdk-quartz-2.0", - "-latk-1.0", - "-lgio-2.0", - "-lpangocairo-1.0", - "-lgdk_pixbuf-2.0", - "-lpango-1.0", - "-lcairo", - "-lgmodule-2.0", - "-lgobject-2.0", - "-lglib-2.0", - "-lintl", ); PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -866,7 +812,6 @@ }; 63118CC1156D31240085CF03 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -874,7 +819,6 @@ }; 63118CC2156D31240085CF03 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -882,7 +826,6 @@ }; 63118CD0156D32E20085CF03 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -890,7 +833,6 @@ }; 63118CD1156D32E20085CF03 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -898,7 +840,6 @@ }; 63118CE1156D34BA0085CF03 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -906,7 +847,6 @@ }; 63118CE2156D34BA0085CF03 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -914,7 +854,6 @@ }; 63118CF2156D3A870085CF03 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -922,7 +861,6 @@ }; 63118CF3156D3A870085CF03 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -930,7 +868,6 @@ }; 63DE881A156DABDF006F2D3B /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = YES; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -939,7 +876,6 @@ }; 63DE881B156DABDF006F2D3B /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = YES; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -948,7 +884,6 @@ }; 63DE8828156DABE7006F2D3B /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = YES; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -957,7 +892,6 @@ }; 63DE8829156DABE7006F2D3B /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8853156DAE94006F2D3B /* gstreamer-0.10.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = YES; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -966,7 +900,6 @@ }; 63DE8836156DABEE006F2D3B /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8851156DAE94006F2D3B /* gstreamer-0.10-all.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = YES; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -975,7 +908,6 @@ }; 63DE8837156DABEE006F2D3B /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63DE8851156DAE94006F2D3B /* gstreamer-0.10-all.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = YES; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -985,7 +917,7 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 63118C3A156D29340085CF03 /* Build configuration list for PBXProject "GStreamer Tutorials x86" */ = { + 63118C3A156D29340085CF03 /* Build configuration list for PBXProject "GStreamer Tutorials" */ = { isa = XCConfigurationList; buildConfigurations = ( 63118C48156D29340085CF03 /* Debug */, diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials x86.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from gst-sdk/tutorials/xcode/GStreamer Tutorials x86.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.xcworkspace/contents.xcworkspacedata From e1927aca1478edc8cf14a5d9da6a42ca0262b476 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 17 Sep 2012 17:24:04 +0200 Subject: [PATCH 122/979] Typo in comment --- gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 038699a48c..5b9a1ff7b7 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -273,7 +273,7 @@ void gst_native_init (JNIEnv* env, jobject thiz) { data->app = (*env)->NewGlobalRef (env, thiz); GST_DEBUG ("Created GlobalRef for app object at %p", data->app); pthread_create (&gst_app_thread, NULL, &app_function, data); - /* FIXME: Wait until thread has started and the main loop is runing */ + /* FIXME: Wait until thread has started and the main loop is running */ usleep (100000); } From 7a8142417cbf1852843f06d974c53206dfe293fe Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 17 Sep 2012 17:35:32 +0200 Subject: [PATCH 123/979] Remove invalid extra unref on the gst bus --- gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c | 1 - 1 file changed, 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 5b9a1ff7b7..1256f4ce38 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -255,7 +255,6 @@ static void *app_function (void *userdata) { g_source_destroy (timeout_source); /* Free resources */ - gst_object_unref (bus); gst_element_set_state (data->pipeline, GST_STATE_NULL); gst_object_unref (data->vsink); gst_object_unref (data->pipeline); From 44a46337d7e757fc031a06aa93bb0684495a8e6e Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 17 Sep 2012 18:14:28 +0200 Subject: [PATCH 124/979] gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index cae038aa75..ef401313af 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ obj .classpath .project .settings +.libs From 803622382ead0e3fcc90a7d1b70635312ff63ca9 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 17 Sep 2012 18:24:00 +0200 Subject: [PATCH 125/979] Prevent successive orientation changes from moving the clip backwards in time due to gst-nanos / java-millis rounding errors plus seeking to keyframes. --- .../src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java index e82055a7bb..6a35e2e4fb 100755 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -83,7 +83,7 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee playing = savedInstanceState.getBoolean("playing"); int milliseconds = savedInstanceState.getInt("position"); Log.i ("GStreamer", "Restoring state, playing:" + playing + " position:" + milliseconds + " ms."); - nativeSetPosition(milliseconds); + nativeSetPosition(milliseconds + 1); if (playing) { nativePlay(); } From 336a85b92894e2b7a00b4bf1c71d2b836c7d5cd4 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 17 Sep 2012 18:26:55 +0200 Subject: [PATCH 126/979] Add comment regarding previoud rounding. --- .../src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java index 6a35e2e4fb..97ad13c86e 100755 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -83,6 +83,10 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee playing = savedInstanceState.getBoolean("playing"); int milliseconds = savedInstanceState.getInt("position"); Log.i ("GStreamer", "Restoring state, playing:" + playing + " position:" + milliseconds + " ms."); + /* Actually, move to one millisecond in the future. Otherwise, due to rounding errors between the + * milliseconds used here and the nanoseconds used by GStreamer, we would be jumping a bit behind + * where we were before. This, combined with seeking to keyframe positions, would skip one keyframe + * backwards on each iteration. */ nativeSetPosition(milliseconds + 1); if (playing) { nativePlay(); From 4b7b9e01069fb596977d2c0f9b657e33ae92ee81 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 18 Sep 2012 11:55:46 +0200 Subject: [PATCH 127/979] Remove video app sink now that there is a working egl sink. --- .../android-tutorial-1/AndroidManifest.xml | 1 + .../android-tutorial-1/jni/tutorial-1.c | 60 ++----------------- 2 files changed, 6 insertions(+), 55 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml b/gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml index 0d1f7f124b..6116ace012 100755 --- a/gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml +++ b/gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml @@ -5,6 +5,7 @@ android:versionName="1.0"> + diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 1256f4ce38..9d6a702aaa 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -161,52 +161,6 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { } } -static void render_buffer (GstBuffer *buffer, CustomData *data) { - if (data->native_window) { - int i; - ANativeWindow_Buffer nbuff; - GstStructure *str; - gint width, height; - - str = gst_caps_get_structure (GST_BUFFER_CAPS (buffer), 0); - gst_structure_get_int (str, "width", &width); - gst_structure_get_int (str, "height", &height); - - ANativeWindow_setBuffersGeometry(data->native_window, width, height, WINDOW_FORMAT_RGBX_8888); - - if (ANativeWindow_lock(data->native_window, &nbuff, NULL) < 0) { - GST_ERROR ("Unable to lock Native Window, discarding buffer."); - } else { - for (i=0; inative_window); - } - } -} - -static void new_buffer (GstElement *sink, CustomData *data) { - GstBuffer *buffer; - - /* Retrieve the buffer */ - g_signal_emit_by_name (sink, "pull-buffer", &buffer); - if (buffer) { - render_buffer (buffer, data); - gst_buffer_unref (buffer); - } -} - -static void new_preroll_buffer (GstElement *sink, CustomData *data) { - GstBuffer *buffer; - - /* Retrieve the preroll buffer */ - g_signal_emit_by_name (sink, "pull-preroll", &buffer); - if (buffer) { - render_buffer (buffer, data); - gst_buffer_unref (buffer); - } -} - static void *app_function (void *userdata) { JavaVMAttachArgs args; GstBus *bus; @@ -218,16 +172,11 @@ static void *app_function (void *userdata) { GST_DEBUG ("Creating pipeline in CustomData at %p", data); // data->pipeline = gst_parse_launch ("videotestsrc ! eglglessink force_rendering_slow=1 can_create_window=0 name=vsink", NULL); -// data->pipeline = gst_parse_launch ("filesrc location=/sdcard/Movies/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! fakesink", NULL); -// data->pipeline = gst_parse_launch ("souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! fakesink", NULL); -// data->pipeline = gst_parse_launch ("videotestsrc ! ffmpegcolorspace ! appsink name=vsink emit-signals=1 caps=video/x-raw-rgb,bpp=(int)32,endianness=(int)4321,depth=(int)24,red_mask=(int)-16777216,green_mask=(int)16711680,blue_mask=(int)65280,width=(int)320,height=(int)240,framerate=(fraction)30/1", NULL); -// data->pipeline = gst_parse_launch ("souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! matroskademux ! amcviddec-omxgooglevpxdecoder ! ffmpegcolorspace ! appsink name=vsink emit-signals=1 caps=video/x-raw-rgb,bpp=(int)32,endianness=(int)4321,depth=(int)24,red_mask=(int)-16777216,green_mask=(int)16711680,blue_mask=(int)65280", NULL); -// data->pipeline = gst_parse_launch ("souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! ffmpegcolorspace ! appsink name=vsink emit-signals=1 caps=video/x-raw-rgb,bpp=(int)32,endianness=(int)4321,depth=(int)24,red_mask=(int)-16777216,green_mask=(int)16711680,blue_mask=(int)65280", NULL); - data->pipeline = gst_parse_launch ("filesrc location=/sdcard/Movies/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! ffmpegcolorspace ! appsink name=vsink emit-signals=1 caps=video/x-raw-rgb,bpp=(int)32,endianness=(int)4321,depth=(int)24,red_mask=(int)-16777216,green_mask=(int)16711680,blue_mask=(int)65280", NULL); + data->pipeline = gst_parse_launch ("filesrc location=/sdcard/Movies/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! ffmpegcolorspace ! eglglessink name=vsink force_rendering_slow=1 can_create_window=0", NULL); +// data->pipeline = gst_parse_launch ("souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! eglglessink name=vsink force_rendering_slow=1 can_create_window=0", NULL); +// data->pipeline = gst_parse_launch ("souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! matroskademux ! amcviddec-omxgooglevpxdecoder ! ffmpegcolorspace ! eglglessink name=vsink force_rendering_slow=1 can_create_window=0", NULL); data->vsink = gst_bin_get_by_name (GST_BIN (data->pipeline), "vsink"); - g_signal_connect (data->vsink, "new-buffer", G_CALLBACK (new_buffer), data); - g_signal_connect (data->vsink, "new-preroll", G_CALLBACK (new_preroll_buffer), data); /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ bus = gst_element_get_bus (data->pipeline); @@ -241,7 +190,8 @@ static void *app_function (void *userdata) { timeout_source_id = g_timeout_add_seconds (1, (GSourceFunc)refresh_ui, data); /* Set state to PAUSE, so preroll occurrs and retrieve some information like clip length */ - gst_element_set_state (data->pipeline, GST_STATE_PAUSED); + // This line is commented out until we can guarantee that the window handle is passed before the sink goes to READY + //gst_element_set_state (data->pipeline, GST_STATE_PAUSED); /* Create a GLib Main Loop and set it to run */ GST_DEBUG ("Entering main loop... (CustomData:%p)", data); From 2048b11b904ed356eef3092a8ddd6eecf8fddd6b Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 18 Sep 2012 12:09:49 +0200 Subject: [PATCH 128/979] Rename some methods for clarity --- .../tutorials/android-tutorial-1/jni/tutorial-1.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 9d6a702aaa..1420cb41e5 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -76,7 +76,7 @@ static JNIEnv *get_jni_env (void) { return env; } -static void set_message (const gchar *message, CustomData *data) { +static void set_ui_message (const gchar *message, CustomData *data) { JNIEnv *env = get_jni_env (); GST_DEBUG ("Setting message to: %s", message); jstring jmessage = (*env)->NewStringUTF(env, message); @@ -88,7 +88,7 @@ static void set_message (const gchar *message, CustomData *data) { (*env)->DeleteLocalRef (env, jmessage); } -static void set_current_position (gint position, gint duration, CustomData *data) { +static void set_current_ui_position (gint position, gint duration, CustomData *data) { JNIEnv *env = get_jni_env (); GST_DEBUG ("Setting current position/duration to: %d / %d (ms)", position, duration); (*env)->CallVoidMethod (env, data->app, set_current_position_method_id, position, duration); @@ -115,7 +115,7 @@ static gboolean refresh_ui (CustomData *data) { if (gst_element_query_position (data->pipeline, &fmt, &data->position)) { /* Java expects these values in milliseconds, and Gst provides nanoseconds */ - set_current_position (data->position/1000000, data->duration/1000000, data); + set_current_ui_position (data->position/1000000, data->duration/1000000, data); } return TRUE; } @@ -136,13 +136,13 @@ static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { message_string = g_strdup_printf ("Error received from element %s: %s", GST_OBJECT_NAME (msg->src), err->message); g_clear_error (&err); g_free (debug_info); - set_message (message_string, data); + set_ui_message (message_string, data); g_free (message_string); gst_element_set_state (data->pipeline, GST_STATE_NULL); } static void eos_cb (GstBus *bus, GstMessage *msg, CustomData *data) { - set_message (GST_MESSAGE_TYPE_NAME (msg), data); + set_ui_message (GST_MESSAGE_TYPE_NAME (msg), data); refresh_ui (data); gst_element_set_state (data->pipeline, GST_STATE_PAUSED); execute_seek (0, data); @@ -151,8 +151,9 @@ static void eos_cb (GstBus *bus, GstMessage *msg, CustomData *data) { static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { GstState old_state, new_state, pending_state; gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + /* Only pay attention to messages coming from the pipeline, not its children */ if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->pipeline)) { - set_message (gst_element_state_get_name (new_state), data); + set_ui_message (gst_element_state_get_name (new_state), data); data->state = new_state; if (data->state >= GST_STATE_PAUSED && GST_CLOCK_TIME_IS_VALID (data->desired_position)) { execute_seek (data->desired_position, data); From c763636b979e4f309c4183d973e6e3c4a07ae424 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 18 Sep 2012 12:36:17 +0200 Subject: [PATCH 129/979] Add a bit of resilience at class initialization --- gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c | 9 +++++++-- .../src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 1420cb41e5..f5c8334036 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -264,13 +264,18 @@ void gst_native_set_position (JNIEnv* env, jobject thiz, int milliseconds) { } } -void gst_class_init (JNIEnv* env, jclass klass) { +jboolean gst_class_init (JNIEnv* env, jclass klass) { custom_data_field_id = (*env)->GetFieldID (env, klass, "native_custom_data", "J"); GST_DEBUG ("The FieldID for the native_custom_data field is %p", custom_data_field_id); set_message_method_id = (*env)->GetMethodID (env, klass, "setMessage", "(Ljava/lang/String;)V"); GST_DEBUG ("The MethodID for the setMessage method is %p", set_message_method_id); set_current_position_method_id = (*env)->GetMethodID (env, klass, "setCurrentPosition", "(II)V"); GST_DEBUG ("The MethodID for the setCurrentPosition method is %p", set_current_position_method_id); + if (!custom_data_field_id || !set_message_method_id || !set_current_position_method_id) { + GST_ERROR ("The calling class does not implement all necessary interface methods"); + return JNI_FALSE; + } + return JNI_TRUE; } void gst_native_surface_init (JNIEnv *env, jobject thiz, jobject surface) { @@ -305,7 +310,7 @@ static JNINativeMethod native_methods[] = { { "nativePlay", "()V", (void *) gst_native_play}, { "nativePause", "()V", (void *) gst_native_pause}, { "nativeSetPosition", "(I)V", (void*) gst_native_set_position}, - { "classInit", "()V", (void *) gst_class_init}, + { "classInit", "()Z", (void *) gst_class_init}, { "nativeSurfaceInit", "(Ljava/lang/Object;)V", (void *) gst_native_surface_init}, { "nativeSurfaceFinalize", "()V", (void *) gst_native_surface_finalize} }; diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java index 97ad13c86e..7c2fe3bbbd 100755 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -37,7 +37,7 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee private native void nativePlay(); private native void nativePause(); private native void nativeSetPosition(int milliseconds); - private static native void classInit(); + private static native boolean classInit(); private native void nativeSurfaceInit(Object surface); private native void nativeSurfaceFinalize(); private long native_custom_data; From 5e065f2b8972899adfc54129bf5bc0c2ea562a7b Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 18 Sep 2012 12:39:39 +0200 Subject: [PATCH 130/979] Beautify hardcoded time values --- gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index f5c8334036..ef1528fc5b 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -115,14 +115,14 @@ static gboolean refresh_ui (CustomData *data) { if (gst_element_query_position (data->pipeline, &fmt, &data->position)) { /* Java expects these values in milliseconds, and Gst provides nanoseconds */ - set_current_ui_position (data->position/1000000, data->duration/1000000, data); + set_current_ui_position (data->position / GST_MSECOND, data->duration / GST_MSECOND, data); } return TRUE; } static void execute_seek (gint64 desired_position, CustomData *data) { gboolean res; - GST_DEBUG ("Setting position to %lld milliseconds", desired_position / 1000000); + GST_DEBUG ("Setting position to %lld milliseconds", desired_position / GST_MSECOND); res = gst_element_seek_simple (data->pipeline, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, desired_position); GST_DEBUG ("Seek returned %d", res); } @@ -255,7 +255,7 @@ void gst_native_pause (JNIEnv* env, jobject thiz) { void gst_native_set_position (JNIEnv* env, jobject thiz, int milliseconds) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); - gint64 desired_position = (gint64)(milliseconds * GST_SECOND / 1000); + gint64 desired_position = (gint64)(milliseconds * GST_MSECOND); if (data->state == GST_STATE_PLAYING || data->state == GST_STATE_PAUSED) { execute_seek(desired_position, data); } else { From e35be6e5df9ffe64f4ecc2d000fae8e651262a94 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 18 Sep 2012 13:40:22 +0200 Subject: [PATCH 131/979] Remove unused variable --- gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index ef1528fc5b..01ae13ed0c 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -317,7 +317,6 @@ static JNINativeMethod native_methods[] = { jint JNI_OnLoad(JavaVM *vm, void *reserved) { JNIEnv *env = NULL; - int ret; GST_DEBUG_CATEGORY_INIT (debug_category, "tutorial-1", 0, "Android tutorial 1"); @@ -328,7 +327,7 @@ jint JNI_OnLoad(JavaVM *vm, void *reserved) { return 0; } jclass klass = (*env)->FindClass (env, "com/gst_sdk_tutorials/tutorial_1/Tutorial1"); - ret = (*env)->RegisterNatives (env, klass, native_methods, G_N_ELEMENTS(native_methods)); + (*env)->RegisterNatives (env, klass, native_methods, G_N_ELEMENTS(native_methods)); pthread_key_create (¤t_jni_env, detach_current_thread); From e7d13a9120eff21d9953b034e1ad12c2754c9a82 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 18 Sep 2012 14:32:02 +0200 Subject: [PATCH 132/979] Revamp initialization code. Now the library informs java when initialization is complete (pipeline built and native window received). --- .../android-tutorial-1/jni/tutorial-1.c | 42 +++++++++++++++---- .../tutorial_1/Tutorial1.java | 38 ++++++++++------- 2 files changed, 58 insertions(+), 22 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 01ae13ed0c..10d48e7f68 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -39,6 +39,7 @@ static JavaVM *java_vm; static jfieldID custom_data_field_id; static jmethodID set_message_method_id; static jmethodID set_current_position_method_id; +static jmethodID on_gstreamer_initialized_method_id; /* * Private methods @@ -162,6 +163,20 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { } } +static void check_initialization_complete (CustomData *data) { + JNIEnv *env = get_jni_env (); + /* Check if all conditions are met to report GStreamer as initialized. + * These conditions will change depending on the application */ + if (data->native_window && data->main_loop) { + GST_DEBUG ("Initialization complete, notifying application. native_window:%p main_loop:%d", data->native_window,data->main_loop); + (*env)->CallVoidMethod (env, data->app, on_gstreamer_initialized_method_id); + if ((*env)->ExceptionCheck (env)) { + GST_ERROR ("Failed to call Java method"); + (*env)->ExceptionClear (env); + } + } +} + static void *app_function (void *userdata) { JavaVMAttachArgs args; GstBus *bus; @@ -178,6 +193,10 @@ static void *app_function (void *userdata) { // data->pipeline = gst_parse_launch ("souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! matroskademux ! amcviddec-omxgooglevpxdecoder ! ffmpegcolorspace ! eglglessink name=vsink force_rendering_slow=1 can_create_window=0", NULL); data->vsink = gst_bin_get_by_name (GST_BIN (data->pipeline), "vsink"); + if (data->native_window) { + GST_DEBUG ("Native window already received, notifying the vsink about it."); + gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->vsink), (guintptr)data->native_window); + } /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ bus = gst_element_get_bus (data->pipeline); @@ -190,15 +209,14 @@ static void *app_function (void *userdata) { /* Register a function that GLib will call every second */ timeout_source_id = g_timeout_add_seconds (1, (GSourceFunc)refresh_ui, data); - /* Set state to PAUSE, so preroll occurrs and retrieve some information like clip length */ - // This line is commented out until we can guarantee that the window handle is passed before the sink goes to READY - //gst_element_set_state (data->pipeline, GST_STATE_PAUSED); - /* Create a GLib Main Loop and set it to run */ GST_DEBUG ("Entering main loop... (CustomData:%p)", data); data->main_loop = g_main_loop_new (NULL, FALSE); + check_initialization_complete (data); g_main_loop_run (data->main_loop); GST_DEBUG ("Exited main loop"); + g_main_loop_unref (data->main_loop); + data->main_loop = NULL; /* Destroy the timeout source */ timeout_source = g_main_context_find_source_by_id (NULL, timeout_source_id); @@ -223,8 +241,6 @@ void gst_native_init (JNIEnv* env, jobject thiz) { data->app = (*env)->NewGlobalRef (env, thiz); GST_DEBUG ("Created GlobalRef for app object at %p", data->app); pthread_create (&gst_app_thread, NULL, &app_function, data); - /* FIXME: Wait until thread has started and the main loop is running */ - usleep (100000); } void gst_native_finalize (JNIEnv* env, jobject thiz) { @@ -271,7 +287,10 @@ jboolean gst_class_init (JNIEnv* env, jclass klass) { GST_DEBUG ("The MethodID for the setMessage method is %p", set_message_method_id); set_current_position_method_id = (*env)->GetMethodID (env, klass, "setCurrentPosition", "(II)V"); GST_DEBUG ("The MethodID for the setCurrentPosition method is %p", set_current_position_method_id); - if (!custom_data_field_id || !set_message_method_id || !set_current_position_method_id) { + on_gstreamer_initialized_method_id = (*env)->GetMethodID (env, klass, "onGStreamerInitialized", "()V"); + GST_DEBUG ("The MethodID for the onGStreamerInitialized method is %p", on_gstreamer_initialized_method_id); + + if (!custom_data_field_id || !set_message_method_id || !set_current_position_method_id || ! on_gstreamer_initialized_method_id) { GST_ERROR ("The calling class does not implement all necessary interface methods"); return JNI_FALSE; } @@ -288,7 +307,14 @@ void gst_native_surface_init (JNIEnv *env, jobject thiz, jobject surface) { data->native_window = ANativeWindow_fromSurface(env, surface); GST_DEBUG ("Got Native Window %p", data->native_window); - gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->vsink), (guintptr)data->native_window); + if (data->vsink) { + GST_DEBUG ("Pipeline already created, notifying the vsink about the native window."); + gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->vsink), (guintptr)data->native_window); + } else { + GST_DEBUG ("Pipeline not created yet, vsink will later be notified about the native window."); + } + + check_initialization_complete (data); } void gst_native_surface_finalize (JNIEnv *env, jobject thiz) { diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java index 7c2fe3bbbd..54262c8460 100755 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -45,6 +45,8 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee private boolean playing; private int position; private int duration; + + private Bundle initialization_data; /* Called when the activity is first created. @Override */ @@ -77,21 +79,9 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee SeekBar sb = (SeekBar) this.findViewById(R.id.seek_bar); sb.setOnSeekBarChangeListener(this); - nativeInit(); + initialization_data = savedInstanceState; - if (savedInstanceState != null) { - playing = savedInstanceState.getBoolean("playing"); - int milliseconds = savedInstanceState.getInt("position"); - Log.i ("GStreamer", "Restoring state, playing:" + playing + " position:" + milliseconds + " ms."); - /* Actually, move to one millisecond in the future. Otherwise, due to rounding errors between the - * milliseconds used here and the nanoseconds used by GStreamer, we would be jumping a bit behind - * where we were before. This, combined with seeking to keyframe positions, would skip one keyframe - * backwards on each iteration. */ - nativeSetPosition(milliseconds + 1); - if (playing) { - nativePlay(); - } - } + nativeInit(); } protected void onSaveInstanceState (Bundle outState) { @@ -115,6 +105,26 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee }); } + private void onGStreamerInitialized () { + if (initialization_data != null) { + playing = initialization_data.getBoolean("playing"); + int milliseconds = initialization_data.getInt("position"); + Log.i ("GStreamer", "Restoring state, playing:" + playing + " position:" + milliseconds + " ms."); + /* Actually, move to one millisecond in the future. Otherwise, due to rounding errors between the + * milliseconds used here and the nanoseconds used by GStreamer, we would be jumping a bit behind + * where we were before. This, combined with seeking to keyframe positions, would skip one keyframe + * backwards on each iteration. */ + nativeSetPosition(milliseconds + 1); + if (playing) { + nativePlay(); + } else { + nativePause(); + } + } else { + nativePause(); + } + } + private void setCurrentPosition(final int position, final int duration) { final TextView tv = (TextView) this.findViewById(R.id.textview_time); final SeekBar sb = (SeekBar) this.findViewById(R.id.seek_bar); From 553978a030aac2762f2ab85f1d33e8dc465e4139 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 18 Sep 2012 16:02:43 +0200 Subject: [PATCH 133/979] Prevent the C code from notifying Java too many times about GStreamer being initialized --- gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 10d48e7f68..6a61ba8066 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -31,6 +31,7 @@ typedef struct _CustomData { gint64 duration; GstElement *vsink; gint64 desired_position; + gboolean initialized; } CustomData; static pthread_t gst_app_thread; @@ -167,13 +168,14 @@ static void check_initialization_complete (CustomData *data) { JNIEnv *env = get_jni_env (); /* Check if all conditions are met to report GStreamer as initialized. * These conditions will change depending on the application */ - if (data->native_window && data->main_loop) { + if (!data->initialized && data->native_window && data->main_loop) { GST_DEBUG ("Initialization complete, notifying application. native_window:%p main_loop:%d", data->native_window,data->main_loop); (*env)->CallVoidMethod (env, data->app, on_gstreamer_initialized_method_id); if ((*env)->ExceptionCheck (env)) { GST_ERROR ("Failed to call Java method"); (*env)->ExceptionClear (env); } + data->initialized = TRUE; } } From 8876ada4ea477cdc07f9e5bade89fc9851cd42ad Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 18 Sep 2012 16:48:39 +0200 Subject: [PATCH 134/979] Remove compiler warning --- gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 6a61ba8066..8b70cbc73a 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -229,6 +229,8 @@ static void *app_function (void *userdata) { gst_element_set_state (data->pipeline, GST_STATE_NULL); gst_object_unref (data->vsink); gst_object_unref (data->pipeline); + + return NULL; } /* From 9cdcecf4f8da81bedf2583eb6461fecfa476eb80 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 19 Sep 2012 12:18:41 +0200 Subject: [PATCH 135/979] Use custom GMainContext to avoid potential interference with other libraries using GLib --- .../android-tutorial-1/jni/tutorial-1.c | 28 ++++++++++++------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 8b70cbc73a..a4ae0a2929 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -184,11 +184,15 @@ static void *app_function (void *userdata) { GstBus *bus; GstMessage *msg; CustomData *data = (CustomData *)userdata; - guint timeout_source_id; GSource *timeout_source; + GSource *bus_source; + GMainContext *context; GST_DEBUG ("Creating pipeline in CustomData at %p", data); + /* create our own GLib Main Context, so we do not interfere with other libraries using GLib */ + context = g_main_context_new (); + // data->pipeline = gst_parse_launch ("videotestsrc ! eglglessink force_rendering_slow=1 can_create_window=0 name=vsink", NULL); data->pipeline = gst_parse_launch ("filesrc location=/sdcard/Movies/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! ffmpegcolorspace ! eglglessink name=vsink force_rendering_slow=1 can_create_window=0", NULL); // data->pipeline = gst_parse_launch ("souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! eglglessink name=vsink force_rendering_slow=1 can_create_window=0", NULL); @@ -202,30 +206,34 @@ static void *app_function (void *userdata) { /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ bus = gst_element_get_bus (data->pipeline); - gst_bus_add_signal_watch (bus); + bus_source = gst_bus_create_watch (bus); + g_source_set_callback (bus_source, (GSourceFunc) gst_bus_async_signal_func, NULL, NULL); + g_source_attach (bus_source, context); + g_source_unref (bus_source); g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, data); g_signal_connect (G_OBJECT (bus), "message::eos", (GCallback)eos_cb, data); g_signal_connect (G_OBJECT (bus), "message::state-changed", (GCallback)state_changed_cb, data); gst_object_unref (bus); - /* Register a function that GLib will call every second */ - timeout_source_id = g_timeout_add_seconds (1, (GSourceFunc)refresh_ui, data); + /* Register a function that GLib will call 4 times per second */ + timeout_source = g_timeout_source_new (250); + g_source_attach (timeout_source, context); + g_source_set_callback (timeout_source, (GSourceFunc)refresh_ui, data, NULL); + g_source_unref (timeout_source); /* Create a GLib Main Loop and set it to run */ GST_DEBUG ("Entering main loop... (CustomData:%p)", data); - data->main_loop = g_main_loop_new (NULL, FALSE); + data->main_loop = g_main_loop_new (context, FALSE); check_initialization_complete (data); g_main_loop_run (data->main_loop); GST_DEBUG ("Exited main loop"); g_main_loop_unref (data->main_loop); data->main_loop = NULL; - /* Destroy the timeout source */ - timeout_source = g_main_context_find_source_by_id (NULL, timeout_source_id); - GST_DEBUG ("timeout_source:%p", timeout_source); - g_source_destroy (timeout_source); - /* Free resources */ + g_source_destroy (timeout_source); + g_source_destroy (bus_source); + g_main_context_unref (context); gst_element_set_state (data->pipeline, GST_STATE_NULL); gst_object_unref (data->vsink); gst_object_unref (data->pipeline); From fa77581edc7b3aa3487f55b5d91b7524e1c04dd7 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 19 Sep 2012 13:16:45 +0200 Subject: [PATCH 136/979] Remove unnecessary destruction of GSources --- gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index a4ae0a2929..474ee31e1a 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -231,8 +231,6 @@ static void *app_function (void *userdata) { data->main_loop = NULL; /* Free resources */ - g_source_destroy (timeout_source); - g_source_destroy (bus_source); g_main_context_unref (context); gst_element_set_state (data->pipeline, GST_STATE_NULL); gst_object_unref (data->vsink); From 1fdad2d11225b79fed9654e94f6574691e27e178 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 19 Sep 2012 16:50:38 +0200 Subject: [PATCH 137/979] Use the new GStreamer.Init() method to initialize GStreamer. --- .../src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java index 54262c8460..e8f4d50c18 100755 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -19,6 +19,8 @@ import java.text.SimpleDateFormat; import java.util.Date; import java.util.TimeZone; +import com.gst_sdk.GStreamer; + import android.app.Activity; import android.util.Log; import android.os.Bundle; @@ -47,6 +49,11 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee private int duration; private Bundle initialization_data; + + public Tutorial1() { + super(); + GStreamer.Init(this); + } /* Called when the activity is first created. @Override */ From 049ac0438b0ce717c02a2482f331d2b14ff13c80 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 19 Sep 2012 17:58:23 +0200 Subject: [PATCH 138/979] Add a queue to the test pipeline --- gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 474ee31e1a..594cc07eba 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -194,7 +194,7 @@ static void *app_function (void *userdata) { context = g_main_context_new (); // data->pipeline = gst_parse_launch ("videotestsrc ! eglglessink force_rendering_slow=1 can_create_window=0 name=vsink", NULL); - data->pipeline = gst_parse_launch ("filesrc location=/sdcard/Movies/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! ffmpegcolorspace ! eglglessink name=vsink force_rendering_slow=1 can_create_window=0", NULL); + data->pipeline = gst_parse_launch ("filesrc location=/sdcard/Movies/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! queue ! ffmpegcolorspace ! eglglessink name=vsink force_rendering_slow=1 can_create_window=0", NULL); // data->pipeline = gst_parse_launch ("souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! eglglessink name=vsink force_rendering_slow=1 can_create_window=0", NULL); // data->pipeline = gst_parse_launch ("souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! matroskademux ! amcviddec-omxgooglevpxdecoder ! ffmpegcolorspace ! eglglessink name=vsink force_rendering_slow=1 can_create_window=0", NULL); From 2baed2a80ce753b64aebcee21918f6a542caa505 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Thu, 20 Sep 2012 10:32:49 +0200 Subject: [PATCH 139/979] Whitespacey --- .../src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java index e8f4d50c18..d49f63ff89 100755 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -43,13 +43,13 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee private native void nativeSurfaceInit(Object surface); private native void nativeSurfaceFinalize(); private long native_custom_data; - + private boolean playing; private int position; private int duration; - + private Bundle initialization_data; - + public Tutorial1() { super(); GStreamer.Init(this); From 56e49fac4edddfc5797134ed2e09f9ae8e63eb2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 20 Sep 2012 11:11:23 +0200 Subject: [PATCH 140/979] Call GStreamer.Init() from onCreate(), otherwise the Context is not set up yet --- .../src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java index d49f63ff89..a83d6aa124 100755 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -52,7 +52,6 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee public Tutorial1() { super(); - GStreamer.Init(this); } /* Called when the activity is first created. @@ -61,6 +60,8 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee { super.onCreate(savedInstanceState); + GStreamer.Init(this); + setContentView(R.layout.main); ImageButton play = (ImageButton) this.findViewById(R.id.button_play); From 20ab7db117115489b9ae45235dd5e371abdcd6e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 20 Sep 2012 11:13:21 +0200 Subject: [PATCH 141/979] It's GStreamer.init(), not Init() --- .../src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java index a83d6aa124..5fd2e9ce1e 100755 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -60,7 +60,7 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee { super.onCreate(savedInstanceState); - GStreamer.Init(this); + GStreamer.init(this); setContentView(R.layout.main); From d685fd9281f8ad129cdee56077ec90c253df01f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 20 Sep 2012 11:16:12 +0200 Subject: [PATCH 142/979] Use the WebM video by default --- gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 594cc07eba..7ce1c7ea9b 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -194,9 +194,8 @@ static void *app_function (void *userdata) { context = g_main_context_new (); // data->pipeline = gst_parse_launch ("videotestsrc ! eglglessink force_rendering_slow=1 can_create_window=0 name=vsink", NULL); - data->pipeline = gst_parse_launch ("filesrc location=/sdcard/Movies/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! queue ! ffmpegcolorspace ! eglglessink name=vsink force_rendering_slow=1 can_create_window=0", NULL); -// data->pipeline = gst_parse_launch ("souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! eglglessink name=vsink force_rendering_slow=1 can_create_window=0", NULL); -// data->pipeline = gst_parse_launch ("souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! matroskademux ! amcviddec-omxgooglevpxdecoder ! ffmpegcolorspace ! eglglessink name=vsink force_rendering_slow=1 can_create_window=0", NULL); +// data->pipeline = gst_parse_launch ("filesrc location=/sdcard/Movies/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! queue ! ffmpegcolorspace ! eglglessink name=vsink force_rendering_slow=1 can_create_window=0", NULL); + data->pipeline = gst_parse_launch ("souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! matroskademux ! amcviddec-omxgooglevpxdecoder ! queue ! ffmpegcolorspace ! eglglessink name=vsink force_rendering_slow=1 can_create_window=0", NULL); data->vsink = gst_bin_get_by_name (GST_BIN (data->pipeline), "vsink"); if (data->native_window) { From eb5a50c8517f0676abafac397ad71d552cd9d78f Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Thu, 20 Sep 2012 11:38:35 +0200 Subject: [PATCH 143/979] Remove unused constructor --- .../src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java index 5fd2e9ce1e..ecd548962b 100755 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -50,10 +50,6 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee private Bundle initialization_data; - public Tutorial1() { - super(); - } - /* Called when the activity is first created. @Override */ public void onCreate(Bundle savedInstanceState) From ec83a11e33a414927a5746ad2a4cb4fe553af327 Mon Sep 17 00:00:00 2001 From: Andoni Morales Alastruey Date: Thu, 20 Sep 2012 12:29:40 +0200 Subject: [PATCH 144/979] android-tutorial-1: update Android.mk with last changes --- gst-sdk/tutorials/android-tutorial-1/jni/Android.mk | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk index f077bcf6bd..6f32168b58 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk @@ -22,8 +22,10 @@ LOCAL_SHARED_LIBRARIES := gstreamer_android LOCAL_LDLIBS := -landroid include $(BUILD_SHARED_LIBRARY) -GSTREAMER_PLUGINS = coreelements audiotestsrc videotestsrc ogg theora vorbis ffmpegcolorspace playback app audioconvert audiorate audioresample adder coreindexers gdp gio uridecodebin videorate videoscale typefindfunctions libvisual pango subparse eglglessink soup amc matroska -GSTREAMER_STATIC_PLUGINS_PATH=/home/fluendo/cerbero/dist/android_arm/lib/gstreamer-0.10/static -GSTREAMER_MK_PATH=/home/fluendo/cerbero/data/ndk-build/ -include $(GSTREAMER_MK_PATH)/gstreamer.mk - +ifndef +GSTREAMER_SDK_ROOT := $(CERBERO_PREFIX) +endif +GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ +GSTREAMER_PLUGINS := coreelements audiotestsrc videotestsrc ogg theora vorbis ffmpegcolorspace playback app audioconvert audiorate audioresample adder coreindexers gdp gio uridecodebin videorate videoscale typefindfunctions libvisual pango subparse eglglessink soup amc matroska +G_IO_MODULES := gnutls +include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk From d7735e0f6d299d3a56f8d693a98ea1cb23e03695 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 21 Sep 2012 10:56:35 +0200 Subject: [PATCH 145/979] Reduce the number of gst plugins used, to approach what will be really needed. --- gst-sdk/tutorials/android-tutorial-1/jni/Android.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk index 6f32168b58..7716e934de 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk @@ -26,6 +26,6 @@ ifndef GSTREAMER_SDK_ROOT := $(CERBERO_PREFIX) endif GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ -GSTREAMER_PLUGINS := coreelements audiotestsrc videotestsrc ogg theora vorbis ffmpegcolorspace playback app audioconvert audiorate audioresample adder coreindexers gdp gio uridecodebin videorate videoscale typefindfunctions libvisual pango subparse eglglessink soup amc matroska +GSTREAMER_PLUGINS := coreelements ogg theora vorbis ffmpegcolorspace playback audioconvert audiorate audioresample coreindexers gio uridecodebin videorate videoscale typefindfunctions eglglessink soup amc matroska autodetect G_IO_MODULES := gnutls include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk From 56697bc5d583c3a1eed4fe21d3568499f3d01f20 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 21 Sep 2012 10:57:33 +0200 Subject: [PATCH 146/979] Add some resilience. In many occasions native methods can be called where Gst is not yet initialized or being re-initialized. --- gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 7ce1c7ea9b..aa7932c6d3 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -196,6 +196,7 @@ static void *app_function (void *userdata) { // data->pipeline = gst_parse_launch ("videotestsrc ! eglglessink force_rendering_slow=1 can_create_window=0 name=vsink", NULL); // data->pipeline = gst_parse_launch ("filesrc location=/sdcard/Movies/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! queue ! ffmpegcolorspace ! eglglessink name=vsink force_rendering_slow=1 can_create_window=0", NULL); data->pipeline = gst_parse_launch ("souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! matroskademux ! amcviddec-omxgooglevpxdecoder ! queue ! ffmpegcolorspace ! eglglessink name=vsink force_rendering_slow=1 can_create_window=0", NULL); +// data->pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm name=vsink", NULL); data->vsink = gst_bin_get_by_name (GST_BIN (data->pipeline), "vsink"); if (data->native_window) { @@ -254,6 +255,7 @@ void gst_native_init (JNIEnv* env, jobject thiz) { void gst_native_finalize (JNIEnv* env, jobject thiz) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; GST_DEBUG ("Quitting main loop..."); g_main_loop_quit (data->main_loop); GST_DEBUG ("Waiting for thread to finish..."); @@ -268,18 +270,21 @@ void gst_native_finalize (JNIEnv* env, jobject thiz) { void gst_native_play (JNIEnv* env, jobject thiz) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; GST_DEBUG ("Setting state to PLAYING"); gst_element_set_state (data->pipeline, GST_STATE_PLAYING); } void gst_native_pause (JNIEnv* env, jobject thiz) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; GST_DEBUG ("Setting state to PAUSED"); gst_element_set_state (data->pipeline, GST_STATE_PAUSED); } void gst_native_set_position (JNIEnv* env, jobject thiz, int milliseconds) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; gint64 desired_position = (gint64)(milliseconds * GST_MSECOND); if (data->state == GST_STATE_PLAYING || data->state == GST_STATE_PAUSED) { execute_seek(desired_position, data); @@ -308,6 +313,7 @@ jboolean gst_class_init (JNIEnv* env, jclass klass) { void gst_native_surface_init (JNIEnv *env, jobject thiz, jobject surface) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; GST_DEBUG ("Received surface %p", surface); if (data->native_window) { GST_DEBUG ("Releasing previous native window %p", data->native_window); From 81bb469d72885fdf9ed46f91b743152409f2e6e5 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 21 Sep 2012 10:58:17 +0200 Subject: [PATCH 147/979] Catch the exception thrown by GStreamer.init() and terminate application. --- .../src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java index ecd548962b..1d9cb34bb2 100755 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -32,6 +32,7 @@ import android.widget.ImageButton; import android.widget.SeekBar; import android.widget.SeekBar.OnSeekBarChangeListener; import android.widget.TextView; +import android.widget.Toast; public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSeekBarChangeListener { private native void nativeInit(); @@ -56,7 +57,13 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee { super.onCreate(savedInstanceState); + try { GStreamer.init(this); + } catch (Exception e) { + Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show(); + finish(); + return; + } setContentView(R.layout.main); From a11dffbbc1d359b0671cc7e2b8435361fa3cc025 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 21 Sep 2012 14:29:11 +0200 Subject: [PATCH 148/979] Better handling of state tracking in the UI. It now tracks what gst does, instead of just guessing from the buttons the user pressed. --- .../android-tutorial-1/jni/tutorial-1.c | 16 ++++++++-- .../tutorial_1/Tutorial1.java | 31 ++++++++++++++++--- 2 files changed, 39 insertions(+), 8 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index aa7932c6d3..66453c0ef2 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -40,6 +40,7 @@ static JavaVM *java_vm; static jfieldID custom_data_field_id; static jmethodID set_message_method_id; static jmethodID set_current_position_method_id; +static jmethodID set_current_state_method_id; static jmethodID on_gstreamer_initialized_method_id; /* @@ -92,7 +93,7 @@ static void set_ui_message (const gchar *message, CustomData *data) { static void set_current_ui_position (gint position, gint duration, CustomData *data) { JNIEnv *env = get_jni_env (); - GST_DEBUG ("Setting current position/duration to: %d / %d (ms)", position, duration); +// GST_DEBUG ("Setting current position/duration to: %d / %d (ms)", position, duration); (*env)->CallVoidMethod (env, data->app, set_current_position_method_id, position, duration); if ((*env)->ExceptionCheck (env)) { GST_ERROR ("Failed to call Java method"); @@ -151,16 +152,22 @@ static void eos_cb (GstBus *bus, GstMessage *msg, CustomData *data) { } static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + JNIEnv *env = get_jni_env (); GstState old_state, new_state, pending_state; gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); /* Only pay attention to messages coming from the pipeline, not its children */ if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->pipeline)) { - set_ui_message (gst_element_state_get_name (new_state), data); data->state = new_state; if (data->state >= GST_STATE_PAUSED && GST_CLOCK_TIME_IS_VALID (data->desired_position)) { execute_seek (data->desired_position, data); data->desired_position = GST_CLOCK_TIME_NONE; } + GST_DEBUG ("State changed to %s, notifying application", gst_element_state_get_name(new_state)); + (*env)->CallVoidMethod (env, data->app, set_current_state_method_id, new_state); + if ((*env)->ExceptionCheck (env)) { + GST_ERROR ("Failed to call Java method"); + (*env)->ExceptionClear (env); + } } } @@ -303,8 +310,11 @@ jboolean gst_class_init (JNIEnv* env, jclass klass) { GST_DEBUG ("The MethodID for the setCurrentPosition method is %p", set_current_position_method_id); on_gstreamer_initialized_method_id = (*env)->GetMethodID (env, klass, "onGStreamerInitialized", "()V"); GST_DEBUG ("The MethodID for the onGStreamerInitialized method is %p", on_gstreamer_initialized_method_id); + set_current_state_method_id = (*env)->GetMethodID (env, klass, "setCurrentState", "(I)V"); + GST_DEBUG ("The MethodID for the setCurrentState method is %p", set_current_state_method_id); - if (!custom_data_field_id || !set_message_method_id || !set_current_position_method_id || ! on_gstreamer_initialized_method_id) { + if (!custom_data_field_id || !set_message_method_id || !set_current_position_method_id || + !on_gstreamer_initialized_method_id || !set_current_state_method_id) { GST_ERROR ("The calling class does not implement all necessary interface methods"); return JNI_FALSE; } diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java index 1d9cb34bb2..1a363bb98b 100755 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -71,7 +71,6 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee play.setOnClickListener(new OnClickListener() { public void onClick(View v) { nativePlay(); - playing = true; } }); @@ -79,7 +78,6 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee pause.setOnClickListener(new OnClickListener() { public void onClick(View v) { nativePause(); - playing = false; } }); @@ -107,6 +105,7 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee super.onDestroy(); } + /* Called from native code */ private void setMessage(final String message) { final TextView tv = (TextView) this.findViewById(R.id.textview_message); runOnUiThread (new Runnable() { @@ -116,17 +115,18 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee }); } + /* Called from native code */ private void onGStreamerInitialized () { if (initialization_data != null) { - playing = initialization_data.getBoolean("playing"); + boolean should_play = initialization_data.getBoolean("playing"); int milliseconds = initialization_data.getInt("position"); - Log.i ("GStreamer", "Restoring state, playing:" + playing + " position:" + milliseconds + " ms."); + Log.i ("GStreamer", "Restoring state, playing:" + should_play + " position:" + milliseconds + " ms."); /* Actually, move to one millisecond in the future. Otherwise, due to rounding errors between the * milliseconds used here and the nanoseconds used by GStreamer, we would be jumping a bit behind * where we were before. This, combined with seeking to keyframe positions, would skip one keyframe * backwards on each iteration. */ nativeSetPosition(milliseconds + 1); - if (playing) { + if (should_play) { nativePlay(); } else { nativePause(); @@ -136,6 +136,7 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee } } + /* Called from native code */ private void setCurrentPosition(final int position, final int duration) { final TextView tv = (TextView) this.findViewById(R.id.textview_time); final SeekBar sb = (SeekBar) this.findViewById(R.id.seek_bar); @@ -153,6 +154,26 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee this.duration = duration; } + /* Called from native code */ + private void setCurrentState (int state) { + Log.d ("GStreamer", "State has changed to " + state); + switch (state) { + case 1: + setMessage ("NULL"); + break; + case 2: + setMessage ("READY"); + break; + case 3: + setMessage ("PAUSED"); + break; + case 4: + setMessage ("PLAYING"); + break; + } + playing = (state == 4); + } + static { System.loadLibrary("gstreamer_android"); System.loadLibrary("tutorial-1"); From 634bad5eddc07f17fce883b75b72f5ed8d05c1e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Mon, 24 Sep 2012 10:19:00 +0200 Subject: [PATCH 149/979] videofilter plugin is needed for playbin2 too --- gst-sdk/tutorials/android-tutorial-1/jni/Android.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk index 7716e934de..8893cbaf5a 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk @@ -26,6 +26,6 @@ ifndef GSTREAMER_SDK_ROOT := $(CERBERO_PREFIX) endif GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ -GSTREAMER_PLUGINS := coreelements ogg theora vorbis ffmpegcolorspace playback audioconvert audiorate audioresample coreindexers gio uridecodebin videorate videoscale typefindfunctions eglglessink soup amc matroska autodetect +GSTREAMER_PLUGINS := coreelements ogg theora vorbis ffmpegcolorspace playback audioconvert audiorate audioresample coreindexers gio uridecodebin videorate videoscale typefindfunctions eglglessink soup amc matroska autodetect videofilter G_IO_MODULES := gnutls include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk From c37559201811b8a52d8b3506198ce0652e34ebe7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Mon, 24 Sep 2012 11:23:40 +0200 Subject: [PATCH 150/979] Make the playbin2 pipeline the default --- .../android-tutorial-1/default.properties | 14 -------------- .../tutorials/android-tutorial-1/jni/Android.mk | 2 +- .../tutorials/android-tutorial-1/jni/tutorial-1.c | 8 +++++--- 3 files changed, 6 insertions(+), 18 deletions(-) delete mode 100644 gst-sdk/tutorials/android-tutorial-1/default.properties diff --git a/gst-sdk/tutorials/android-tutorial-1/default.properties b/gst-sdk/tutorials/android-tutorial-1/default.properties deleted file mode 100644 index 85aac54016..0000000000 --- a/gst-sdk/tutorials/android-tutorial-1/default.properties +++ /dev/null @@ -1,14 +0,0 @@ -# This file is automatically generated by Android Tools. -# Do not modify this file -- YOUR CHANGES WILL BE ERASED! -# -# This file must be checked in Version Control Systems. -# -# To customize properties used by the Ant build system edit -# "ant.properties", and override values to adapt the script to your -# project structure. -# -# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): -#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt - -# Project target. -target=android-8 diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk index 8893cbaf5a..a22b4451f9 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk @@ -26,6 +26,6 @@ ifndef GSTREAMER_SDK_ROOT := $(CERBERO_PREFIX) endif GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ -GSTREAMER_PLUGINS := coreelements ogg theora vorbis ffmpegcolorspace playback audioconvert audiorate audioresample coreindexers gio uridecodebin videorate videoscale typefindfunctions eglglessink soup amc matroska autodetect videofilter +GSTREAMER_PLUGINS := coreelements ogg theora vorbis ffmpegcolorspace playback audioconvert audiorate audioresample coreindexers gio uridecodebin videorate videoscale typefindfunctions eglglessink soup amc matroska autodetect videofilter videotestsrc G_IO_MODULES := gnutls include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 66453c0ef2..e8937ec30e 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -200,12 +200,14 @@ static void *app_function (void *userdata) { /* create our own GLib Main Context, so we do not interfere with other libraries using GLib */ context = g_main_context_new (); -// data->pipeline = gst_parse_launch ("videotestsrc ! eglglessink force_rendering_slow=1 can_create_window=0 name=vsink", NULL); // data->pipeline = gst_parse_launch ("filesrc location=/sdcard/Movies/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! queue ! ffmpegcolorspace ! eglglessink name=vsink force_rendering_slow=1 can_create_window=0", NULL); - data->pipeline = gst_parse_launch ("souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! matroskademux ! amcviddec-omxgooglevpxdecoder ! queue ! ffmpegcolorspace ! eglglessink name=vsink force_rendering_slow=1 can_create_window=0", NULL); -// data->pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm name=vsink", NULL); +// data->pipeline = gst_parse_launch ("videotestsrc ! ffmpegcolorspace ! video/x-raw-yuv,format=(fourcc)Y444 ! eglglessink name=vsink", NULL); + //data->pipeline = gst_parse_launch ("souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! matroskademux ! amcviddec-omxgooglevpxdecoder ! queue ! ffmpegcolorspace ! eglglessink name=vsink", NULL); + data->pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); data->vsink = gst_bin_get_by_name (GST_BIN (data->pipeline), "vsink"); + if (!data->vsink) + data->vsink = gst_object_ref (data->pipeline); if (data->native_window) { GST_DEBUG ("Native window already received, notifying the vsink about it."); gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->vsink), (guintptr)data->native_window); From 4909c6489daff87f8831c97a81050162477afca5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Mon, 24 Sep 2012 11:29:39 +0200 Subject: [PATCH 151/979] Catch DURATION message and query new duration on the next UI refresh This makes sure we always show the latest, real duration. Might help with OGV streaming. --- gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index e8937ec30e..9c992e41ae 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -151,6 +151,10 @@ static void eos_cb (GstBus *bus, GstMessage *msg, CustomData *data) { execute_seek (0, data); } +static void duration_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + data->duration = GST_CLOCK_TIME_NONE; +} + static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { JNIEnv *env = get_jni_env (); GstState old_state, new_state, pending_state; @@ -222,6 +226,7 @@ static void *app_function (void *userdata) { g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, data); g_signal_connect (G_OBJECT (bus), "message::eos", (GCallback)eos_cb, data); g_signal_connect (G_OBJECT (bus), "message::state-changed", (GCallback)state_changed_cb, data); + g_signal_connect (G_OBJECT (bus), "message::duration", (GCallback)duration_cb, data); gst_object_unref (bus); /* Register a function that GLib will call 4 times per second */ From 5d66cfd40fe271701bbf4261a423593084a1a818 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Mon, 24 Sep 2012 13:50:06 +0200 Subject: [PATCH 152/979] Also link OpenSL ES plugin --- gst-sdk/tutorials/android-tutorial-1/jni/Android.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk index a22b4451f9..5893596f52 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk @@ -26,6 +26,6 @@ ifndef GSTREAMER_SDK_ROOT := $(CERBERO_PREFIX) endif GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ -GSTREAMER_PLUGINS := coreelements ogg theora vorbis ffmpegcolorspace playback audioconvert audiorate audioresample coreindexers gio uridecodebin videorate videoscale typefindfunctions eglglessink soup amc matroska autodetect videofilter videotestsrc +GSTREAMER_PLUGINS := coreelements ogg theora vorbis ffmpegcolorspace playback audioconvert audiorate audioresample coreindexers gio uridecodebin videorate videoscale typefindfunctions eglglessink soup amc matroska autodetect videofilter videotestsrc opensles G_IO_MODULES := gnutls include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk From a247dddc7145f9db68c31517ce1a0179f9d6cdd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Mon, 24 Sep 2012 14:06:15 +0200 Subject: [PATCH 153/979] The volume element is needed by playbin2 too --- gst-sdk/tutorials/android-tutorial-1/jni/Android.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk index 5893596f52..6529657f06 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk @@ -26,6 +26,6 @@ ifndef GSTREAMER_SDK_ROOT := $(CERBERO_PREFIX) endif GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ -GSTREAMER_PLUGINS := coreelements ogg theora vorbis ffmpegcolorspace playback audioconvert audiorate audioresample coreindexers gio uridecodebin videorate videoscale typefindfunctions eglglessink soup amc matroska autodetect videofilter videotestsrc opensles +GSTREAMER_PLUGINS := coreelements ogg theora vorbis ffmpegcolorspace playback audioconvert audiorate audioresample coreindexers gio uridecodebin videorate videoscale typefindfunctions eglglessink soup amc matroska autodetect videofilter videotestsrc opensles volume G_IO_MODULES := gnutls include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk From 3e795c9a197a77645c9244490643c17c530617dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Wed, 26 Sep 2012 10:27:27 +0200 Subject: [PATCH 154/979] Implement handling of buffering and clock-lost messages --- .../android-tutorial-1/jni/tutorial-1.c | 27 ++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 9c992e41ae..83694f8862 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -32,6 +32,7 @@ typedef struct _CustomData { GstElement *vsink; gint64 desired_position; gboolean initialized; + gboolean is_live; } CustomData; static pthread_t gst_app_thread; @@ -147,7 +148,7 @@ static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { static void eos_cb (GstBus *bus, GstMessage *msg, CustomData *data) { set_ui_message (GST_MESSAGE_TYPE_NAME (msg), data); refresh_ui (data); - gst_element_set_state (data->pipeline, GST_STATE_PAUSED); + data->is_live = (gst_element_set_state (data->pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_NO_PREROLL); execute_seek (0, data); } @@ -155,6 +156,24 @@ static void duration_cb (GstBus *bus, GstMessage *msg, CustomData *data) { data->duration = GST_CLOCK_TIME_NONE; } +static void buffering_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + gint percent; + + if (data->is_live) + return; + + gst_message_parse_buffering (msg, &percent); + if (percent < 100) + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); + else + gst_element_set_state (data->pipeline, GST_STATE_PLAYING); +} + +static void clock_lost_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); + gst_element_set_state (data->pipeline, GST_STATE_PLAYING); +} + static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { JNIEnv *env = get_jni_env (); GstState old_state, new_state, pending_state; @@ -227,6 +246,8 @@ static void *app_function (void *userdata) { g_signal_connect (G_OBJECT (bus), "message::eos", (GCallback)eos_cb, data); g_signal_connect (G_OBJECT (bus), "message::state-changed", (GCallback)state_changed_cb, data); g_signal_connect (G_OBJECT (bus), "message::duration", (GCallback)duration_cb, data); + g_signal_connect (G_OBJECT (bus), "message::buffering", (GCallback)buffering_cb, data); + g_signal_connect (G_OBJECT (bus), "message::clock-lost", (GCallback)clock_lost_cb, data); gst_object_unref (bus); /* Register a function that GLib will call 4 times per second */ @@ -286,14 +307,14 @@ void gst_native_play (JNIEnv* env, jobject thiz) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); if (!data) return; GST_DEBUG ("Setting state to PLAYING"); - gst_element_set_state (data->pipeline, GST_STATE_PLAYING); + data->is_live = (gst_element_set_state (data->pipeline, GST_STATE_PLAYING) == GST_STATE_CHANGE_NO_PREROLL); } void gst_native_pause (JNIEnv* env, jobject thiz) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); if (!data) return; GST_DEBUG ("Setting state to PAUSED"); - gst_element_set_state (data->pipeline, GST_STATE_PAUSED); + data->is_live = (gst_element_set_state (data->pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_NO_PREROLL); } void gst_native_set_position (JNIEnv* env, jobject thiz, int milliseconds) { From 6184907bbf2c1faac2a25e4b8b421bdfcfeec5ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Wed, 26 Sep 2012 13:46:47 +0200 Subject: [PATCH 155/979] Make sure to not go out of the target state due to buffering messages E.g. go to PLAYING although we're only requested to PAUSED --- .../android-tutorial-1/jni/tutorial-1.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 83694f8862..a4157ca264 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -26,7 +26,7 @@ typedef struct _CustomData { GstElement *pipeline; GMainLoop *main_loop; ANativeWindow *native_window; - gboolean state; + GstState state, target_state; gint64 position; gint64 duration; GstElement *vsink; @@ -142,12 +142,14 @@ static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { g_free (debug_info); set_ui_message (message_string, data); g_free (message_string); + data->target_state = GST_STATE_NULL; gst_element_set_state (data->pipeline, GST_STATE_NULL); } static void eos_cb (GstBus *bus, GstMessage *msg, CustomData *data) { set_ui_message (GST_MESSAGE_TYPE_NAME (msg), data); refresh_ui (data); + data->target_state = GST_STATE_PAUSED; data->is_live = (gst_element_set_state (data->pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_NO_PREROLL); execute_seek (0, data); } @@ -163,15 +165,17 @@ static void buffering_cb (GstBus *bus, GstMessage *msg, CustomData *data) { return; gst_message_parse_buffering (msg, &percent); - if (percent < 100) + if (percent < 100 && data->target_state >= GST_STATE_PAUSED) gst_element_set_state (data->pipeline, GST_STATE_PAUSED); - else + else if (data->target_state >= GST_STATE_PLAYING) gst_element_set_state (data->pipeline, GST_STATE_PLAYING); } static void clock_lost_cb (GstBus *bus, GstMessage *msg, CustomData *data) { - gst_element_set_state (data->pipeline, GST_STATE_PAUSED); - gst_element_set_state (data->pipeline, GST_STATE_PLAYING); + if (data->target_state >= GST_STATE_PLAYING) { + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); + gst_element_set_state (data->pipeline, GST_STATE_PLAYING); + } } static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { @@ -267,6 +271,7 @@ static void *app_function (void *userdata) { /* Free resources */ g_main_context_unref (context); + data->target_state = GST_STATE_NULL; gst_element_set_state (data->pipeline, GST_STATE_NULL); gst_object_unref (data->vsink); gst_object_unref (data->pipeline); @@ -307,6 +312,7 @@ void gst_native_play (JNIEnv* env, jobject thiz) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); if (!data) return; GST_DEBUG ("Setting state to PLAYING"); + data->target_state = GST_STATE_PLAYING; data->is_live = (gst_element_set_state (data->pipeline, GST_STATE_PLAYING) == GST_STATE_CHANGE_NO_PREROLL); } @@ -314,6 +320,7 @@ void gst_native_pause (JNIEnv* env, jobject thiz) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); if (!data) return; GST_DEBUG ("Setting state to PAUSED"); + data->target_state = GST_STATE_PAUSED; data->is_live = (gst_element_set_state (data->pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_NO_PREROLL); } From 555c456e9e3b53dd954473f56d3bea39c104d85c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 27 Sep 2012 14:18:05 +0200 Subject: [PATCH 156/979] Add some UI feedback for the buffering messages --- gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index a4157ca264..2d28176149 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -165,10 +165,17 @@ static void buffering_cb (GstBus *bus, GstMessage *msg, CustomData *data) { return; gst_message_parse_buffering (msg, &percent); - if (percent < 100 && data->target_state >= GST_STATE_PAUSED) + if (percent < 100 && data->target_state >= GST_STATE_PAUSED) { + gchar * message_string = g_strdup_printf ("Buffering %d %%", percent); gst_element_set_state (data->pipeline, GST_STATE_PAUSED); - else if (data->target_state >= GST_STATE_PLAYING) + set_ui_message (message_string, data); + g_free (message_string); + } else if (data->target_state >= GST_STATE_PLAYING) { gst_element_set_state (data->pipeline, GST_STATE_PLAYING); + set_ui_message ("PLAYING", data); + } else if (data->target_state >= GST_STATE_PAUSED) { + set_ui_message ("PAUSED", data); + } } static void clock_lost_cb (GstBus *bus, GstMessage *msg, CustomData *data) { From 2ca5b7356ca79bdf872d771a0db60af994a0c5cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Fri, 28 Sep 2012 09:31:35 +0200 Subject: [PATCH 157/979] Use the OGV variant by default and use the fd.o server --- gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 2d28176149..329f55a08d 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -236,8 +236,8 @@ static void *app_function (void *userdata) { // data->pipeline = gst_parse_launch ("filesrc location=/sdcard/Movies/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! queue ! ffmpegcolorspace ! eglglessink name=vsink force_rendering_slow=1 can_create_window=0", NULL); // data->pipeline = gst_parse_launch ("videotestsrc ! ffmpegcolorspace ! video/x-raw-yuv,format=(fourcc)Y444 ! eglglessink name=vsink", NULL); - //data->pipeline = gst_parse_launch ("souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! matroskademux ! amcviddec-omxgooglevpxdecoder ! queue ! ffmpegcolorspace ! eglglessink name=vsink", NULL); - data->pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + //data->pipeline = gst_parse_launch ("souphttpsrc location=http://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm ! matroskademux ! amcviddec-omxgooglevpxdecoder ! queue ! ffmpegcolorspace ! eglglessink name=vsink", NULL); + data->pipeline = gst_parse_launch ("playbin2 uri=http://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.ogv", NULL); data->vsink = gst_bin_get_by_name (GST_BIN (data->pipeline), "vsink"); if (!data->vsink) From 9eb55274bc24105d4c566186f9e1a1ba86430ad8 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 28 Sep 2012 12:12:21 +0200 Subject: [PATCH 158/979] Fix Android.mk and make it use GSTREAMER_SDK_ROOT_ANDROID --- gst-sdk/tutorials/android-tutorial-1/jni/Android.mk | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk index 6529657f06..6ab806bd9c 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk @@ -22,9 +22,10 @@ LOCAL_SHARED_LIBRARIES := gstreamer_android LOCAL_LDLIBS := -landroid include $(BUILD_SHARED_LIBRARY) -ifndef -GSTREAMER_SDK_ROOT := $(CERBERO_PREFIX) +ifndef GSTREAMER_SDK_ROOT_ANDROID +$(error GSTREAMER_SDK_ROOT_ANDROID is not defined!) endif +GSTREAMER_SDK_ROOT := $(GSTREAMER_SDK_ROOT_ANDROID) GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ GSTREAMER_PLUGINS := coreelements ogg theora vorbis ffmpegcolorspace playback audioconvert audiorate audioresample coreindexers gio uridecodebin videorate videoscale typefindfunctions eglglessink soup amc matroska autodetect videofilter videotestsrc opensles volume G_IO_MODULES := gnutls From 929f8eb55f052c7cf0c72ea5b183c26c249603a2 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 28 Sep 2012 15:27:33 +0200 Subject: [PATCH 159/979] Some debug output beautifying --- gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 329f55a08d..711e0c1d58 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -210,7 +210,7 @@ static void check_initialization_complete (CustomData *data) { /* Check if all conditions are met to report GStreamer as initialized. * These conditions will change depending on the application */ if (!data->initialized && data->native_window && data->main_loop) { - GST_DEBUG ("Initialization complete, notifying application. native_window:%p main_loop:%d", data->native_window,data->main_loop); + GST_DEBUG ("Initialization complete, notifying application. native_window:%p main_loop:%p", data->native_window,data->main_loop); (*env)->CallVoidMethod (env, data->app, on_gstreamer_initialized_method_id); if ((*env)->ExceptionCheck (env)) { GST_ERROR ("Failed to call Java method"); @@ -307,7 +307,7 @@ void gst_native_finalize (JNIEnv* env, jobject thiz) { g_main_loop_quit (data->main_loop); GST_DEBUG ("Waiting for thread to finish..."); pthread_join (gst_app_thread, NULL); - GST_DEBUG ("Deleting GlobalRef at %p", data->app); + GST_DEBUG ("Deleting GlobalRef for app object at %p", data->app); (*env)->DeleteGlobalRef (env, data->app); GST_DEBUG ("Freeing CustomData at %p", data); g_free (data); From 74543783c08f39279fd9ef592c6fe743f3f4889e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Mon, 1 Oct 2012 10:08:52 +0200 Subject: [PATCH 160/979] Only set GSTREAMER_SDK_ROOT if it wasn't set yet --- gst-sdk/tutorials/android-tutorial-1/jni/Android.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk index 6ab806bd9c..bed77fd797 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk @@ -22,10 +22,12 @@ LOCAL_SHARED_LIBRARIES := gstreamer_android LOCAL_LDLIBS := -landroid include $(BUILD_SHARED_LIBRARY) +ifndef GSTREAMER_SDK_ROOT ifndef GSTREAMER_SDK_ROOT_ANDROID $(error GSTREAMER_SDK_ROOT_ANDROID is not defined!) endif GSTREAMER_SDK_ROOT := $(GSTREAMER_SDK_ROOT_ANDROID) +endif GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ GSTREAMER_PLUGINS := coreelements ogg theora vorbis ffmpegcolorspace playback audioconvert audiorate audioresample coreindexers gio uridecodebin videorate videoscale typefindfunctions eglglessink soup amc matroska autodetect videofilter videotestsrc opensles volume G_IO_MODULES := gnutls From cf083414f6e22e47a02ff1b75c81fc5d47d4122a Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 1 Oct 2012 10:40:51 +0200 Subject: [PATCH 161/979] Add API to set the URI instead of hardcoding it in the gst_launch --- .../tutorials/android-tutorial-1/jni/tutorial-1.c | 15 +++++++++++---- .../gst_sdk_tutorials/tutorial_1/Tutorial1.java | 4 ++++ 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 711e0c1d58..2d961d89df 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -234,10 +234,7 @@ static void *app_function (void *userdata) { /* create our own GLib Main Context, so we do not interfere with other libraries using GLib */ context = g_main_context_new (); -// data->pipeline = gst_parse_launch ("filesrc location=/sdcard/Movies/sintel_trailer-480p.ogv ! oggdemux ! theoradec ! queue ! ffmpegcolorspace ! eglglessink name=vsink force_rendering_slow=1 can_create_window=0", NULL); -// data->pipeline = gst_parse_launch ("videotestsrc ! ffmpegcolorspace ! video/x-raw-yuv,format=(fourcc)Y444 ! eglglessink name=vsink", NULL); - //data->pipeline = gst_parse_launch ("souphttpsrc location=http://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm ! matroskademux ! amcviddec-omxgooglevpxdecoder ! queue ! ffmpegcolorspace ! eglglessink name=vsink", NULL); - data->pipeline = gst_parse_launch ("playbin2 uri=http://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.ogv", NULL); + data->pipeline = gst_parse_launch ("playbin2", NULL); data->vsink = gst_bin_get_by_name (GST_BIN (data->pipeline), "vsink"); if (!data->vsink) @@ -315,6 +312,15 @@ void gst_native_finalize (JNIEnv* env, jobject thiz) { GST_DEBUG ("Done finalizing"); } +void gst_native_set_uri (JNIEnv* env, jobject thiz, jstring uri) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + const jbyte *char_uri = (*env)->GetStringUTFChars (env, uri, NULL); + GST_DEBUG ("Setting URI to %s", char_uri); + g_object_set(data->pipeline, "uri", char_uri); + (*env)->ReleaseStringUTFChars (env, uri, char_uri); +} + void gst_native_play (JNIEnv* env, jobject thiz) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); if (!data) return; @@ -400,6 +406,7 @@ void gst_native_surface_finalize (JNIEnv *env, jobject thiz) { static JNINativeMethod native_methods[] = { { "nativeInit", "()V", (void *) gst_native_init}, { "nativeFinalize", "()V", (void *) gst_native_finalize}, + { "nativeSetUri", "(Ljava/lang/String;)V", (void *) gst_native_set_uri}, { "nativePlay", "()V", (void *) gst_native_play}, { "nativePause", "()V", (void *) gst_native_pause}, { "nativeSetPosition", "(I)V", (void*) gst_native_set_position}, diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java index 1a363bb98b..e26ebd88b4 100755 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -37,6 +37,7 @@ import android.widget.Toast; public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSeekBarChangeListener { private native void nativeInit(); private native void nativeFinalize(); + private native void nativeSetUri(String uri); private native void nativePlay(); private native void nativePause(); private native void nativeSetPosition(int milliseconds); @@ -50,6 +51,8 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee private int duration; private Bundle initialization_data; + + private final String mediaUri = "http://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.ogv"; /* Called when the activity is first created. @Override */ @@ -117,6 +120,7 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee /* Called from native code */ private void onGStreamerInitialized () { + nativeSetUri (mediaUri); if (initialization_data != null) { boolean should_play = initialization_data.getBoolean("playing"); int milliseconds = initialization_data.getInt("position"); From ceaab451f2d29a5d587712f1054a21ba8ffe625f Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 1 Oct 2012 12:37:07 +0200 Subject: [PATCH 162/979] Fix Seeking: Disable scrubbing seek for remote files, remember playing state after seek. Use media from gstreamer.com instead of freedesktop.org (weird buffering from the later) --- .../tutorial_1/Tutorial1.java | 56 +++++++++++++++---- 1 file changed, 44 insertions(+), 12 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java index e26ebd88b4..b849b67920 100755 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -46,13 +46,15 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee private native void nativeSurfaceFinalize(); private long native_custom_data; - private boolean playing; + private boolean is_playing_desired; private int position; private int duration; + private boolean is_local_media; + private int desired_position; private Bundle initialization_data; - private final String mediaUri = "http://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.ogv"; + private final String mediaUri = "http://docs.gstreamer.com/media/sintel_trailer-480p.ogv"; /* Called when the activity is first created. @Override */ @@ -73,6 +75,7 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee ImageButton play = (ImageButton) this.findViewById(R.id.button_play); play.setOnClickListener(new OnClickListener() { public void onClick(View v) { + is_playing_desired = true; nativePlay(); } }); @@ -80,6 +83,7 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee ImageButton pause = (ImageButton) this.findViewById(R.id.button_stop); pause.setOnClickListener(new OnClickListener() { public void onClick(View v) { + is_playing_desired = false; nativePause(); } }); @@ -92,13 +96,16 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee sb.setOnSeekBarChangeListener(this); initialization_data = savedInstanceState; + + is_local_media = false; + is_playing_desired = false; nativeInit(); } protected void onSaveInstanceState (Bundle outState) { - Log.d ("GStreamer", "Saving state, playing:" + playing + " position:" + position); - outState.putBoolean("playing", playing); + Log.d ("GStreamer", "Saving state, playing:" + is_playing_desired + " position:" + position); + outState.putBoolean("playing", is_playing_desired); outState.putInt("position", position); outState.putInt("duration", duration); } @@ -121,6 +128,8 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee /* Called from native code */ private void onGStreamerInitialized () { nativeSetUri (mediaUri); + if (mediaUri.startsWith("file://")) is_local_media = true; + if (initialization_data != null) { boolean should_play = initialization_data.getBoolean("playing"); int milliseconds = initialization_data.getInt("position"); @@ -128,7 +137,8 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee /* Actually, move to one millisecond in the future. Otherwise, due to rounding errors between the * milliseconds used here and the nanoseconds used by GStreamer, we would be jumping a bit behind * where we were before. This, combined with seeking to keyframe positions, would skip one keyframe - * backwards on each iteration. */ + * backwards on each iteration. + */ nativeSetPosition(milliseconds + 1); if (should_play) { nativePlay(); @@ -140,18 +150,32 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee } } - /* Called from native code */ - private void setCurrentPosition(final int position, final int duration) { + /* The text widget acts as an slave for the seek bar, so it reflects what the seek bar shows, whether + * it is an actual pipeline position or the position the user is currently dragging to. + */ + private void updateTimeWidget () { final TextView tv = (TextView) this.findViewById(R.id.textview_time); final SeekBar sb = (SeekBar) this.findViewById(R.id.seek_bar); + final int pos = sb.getProgress(); + SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss"); df.setTimeZone(TimeZone.getTimeZone("UTC")); - final String message = df.format(new Date (position)) + " / " + df.format(new Date (duration)); + final String message = df.format(new Date (pos)) + " / " + df.format(new Date (duration)); + tv.setText(message); + } + + /* Called from native code */ + private void setCurrentPosition(final int position, final int duration) { + final SeekBar sb = (SeekBar) this.findViewById(R.id.seek_bar); + + /* Ignore position messages from the pipeline if the seek bar is being dragged */ + if (sb.isPressed()) return; + runOnUiThread (new Runnable() { public void run() { - tv.setText(message); sb.setMax(duration); sb.setProgress(position); + updateTimeWidget(); } }); this.position = position; @@ -175,7 +199,6 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee setMessage ("PLAYING"); break; } - playing = (state == 4); } static { @@ -202,7 +225,12 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee public void onProgressChanged(SeekBar sb, int progress, boolean fromUser) { if (fromUser == false) return; - nativeSetPosition(progress); + desired_position = progress; + /* If this is a local file, allow scrub seeking, this is, seek soon as the slider + * is moved. + */ + if (is_local_media) nativeSetPosition(desired_position); + updateTimeWidget(); } public void onStartTrackingTouch(SeekBar sb) { @@ -210,6 +238,10 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee } public void onStopTrackingTouch(SeekBar sb) { - if (playing) nativePlay(); + /* If this is a remote file, scrub seeking is probably not going to work smoothly enough. + * Therefore, perform only the seek when the slider is released. + */ + if (!is_local_media) nativeSetPosition(desired_position); + if (is_playing_desired) nativePlay(); } } From b809b23b240a1dc30e2baed96156e3b92d58fa46 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 1 Oct 2012 12:37:57 +0200 Subject: [PATCH 163/979] Whitespacey --- gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 2d961d89df..d13532f251 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -342,10 +342,10 @@ void gst_native_set_position (JNIEnv* env, jobject thiz, int milliseconds) { if (!data) return; gint64 desired_position = (gint64)(milliseconds * GST_MSECOND); if (data->state == GST_STATE_PLAYING || data->state == GST_STATE_PAUSED) { - execute_seek(desired_position, data); + execute_seek(desired_position, data); } else { - GST_DEBUG ("Scheduling seek to %d milliseconds for later", milliseconds); - data->desired_position = desired_position; + GST_DEBUG ("Scheduling seek to %d milliseconds for later", milliseconds); + data->desired_position = desired_position; } } From af9437ff7d961d6eff897036ba31216d4b01d1da Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 1 Oct 2012 12:47:09 +0200 Subject: [PATCH 164/979] Now that playbin2 is used, remove the vsink variable, and use factory_make instead of parse_launch. --- .../android-tutorial-1/jni/tutorial-1.c | 23 ++++++++----------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index d13532f251..bd8e0f1e8f 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -29,7 +29,6 @@ typedef struct _CustomData { GstState state, target_state; gint64 position; gint64 duration; - GstElement *vsink; gint64 desired_position; gboolean initialized; gboolean is_live; @@ -234,14 +233,11 @@ static void *app_function (void *userdata) { /* create our own GLib Main Context, so we do not interfere with other libraries using GLib */ context = g_main_context_new (); - data->pipeline = gst_parse_launch ("playbin2", NULL); + data->pipeline = gst_element_factory_make ("playbin2", NULL); - data->vsink = gst_bin_get_by_name (GST_BIN (data->pipeline), "vsink"); - if (!data->vsink) - data->vsink = gst_object_ref (data->pipeline); if (data->native_window) { - GST_DEBUG ("Native window already received, notifying the vsink about it."); - gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->vsink), (guintptr)data->native_window); + GST_DEBUG ("Native window already received, notifying the pipeline about it."); + gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->pipeline), (guintptr)data->native_window); } /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ @@ -277,7 +273,6 @@ static void *app_function (void *userdata) { g_main_context_unref (context); data->target_state = GST_STATE_NULL; gst_element_set_state (data->pipeline, GST_STATE_NULL); - gst_object_unref (data->vsink); gst_object_unref (data->pipeline); return NULL; @@ -380,11 +375,11 @@ void gst_native_surface_init (JNIEnv *env, jobject thiz, jobject surface) { data->native_window = ANativeWindow_fromSurface(env, surface); GST_DEBUG ("Got Native Window %p", data->native_window); - if (data->vsink) { - GST_DEBUG ("Pipeline already created, notifying the vsink about the native window."); - gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->vsink), (guintptr)data->native_window); + if (data->pipeline) { + GST_DEBUG ("Pipeline already created, notifying the it about the native window."); + gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->pipeline), (guintptr)data->native_window); } else { - GST_DEBUG ("Pipeline not created yet, vsink will later be notified about the native window."); + GST_DEBUG ("Pipeline not created yet, it will later be notified about the native window."); } check_initialization_complete (data); @@ -400,7 +395,9 @@ void gst_native_surface_finalize (JNIEnv *env, jobject thiz) { ANativeWindow_release (data->native_window); data->native_window = NULL; - gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->vsink), (guintptr)NULL); + if (data->pipeline) { + gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->pipeline), (guintptr)NULL); + } } static JNINativeMethod native_methods[] = { From 76c883fb8b741767fef169fe4969012b61921ee0 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 1 Oct 2012 14:27:25 +0200 Subject: [PATCH 165/979] Fix restoration of playing state after orientation change --- .../src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java index b849b67920..666a77dcaf 100755 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -131,16 +131,16 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee if (mediaUri.startsWith("file://")) is_local_media = true; if (initialization_data != null) { - boolean should_play = initialization_data.getBoolean("playing"); + is_playing_desired = initialization_data.getBoolean("playing"); int milliseconds = initialization_data.getInt("position"); - Log.i ("GStreamer", "Restoring state, playing:" + should_play + " position:" + milliseconds + " ms."); + Log.i ("GStreamer", "Restoring state, playing:" + is_playing_desired + " position:" + milliseconds + " ms."); /* Actually, move to one millisecond in the future. Otherwise, due to rounding errors between the * milliseconds used here and the nanoseconds used by GStreamer, we would be jumping a bit behind * where we were before. This, combined with seeking to keyframe positions, would skip one keyframe * backwards on each iteration. */ nativeSetPosition(milliseconds + 1); - if (should_play) { + if (is_playing_desired) { nativePlay(); } else { nativePause(); From 31235328417bafedddd8e8ba640f272c21f78f61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Mon, 1 Oct 2012 14:43:01 +0200 Subject: [PATCH 166/979] Implement throttling of seeks, only one seek per 500ms --- .../android-tutorial-1/jni/tutorial-1.c | 51 +++++++++++++++---- 1 file changed, 41 insertions(+), 10 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index bd8e0f1e8f..c229bc40ec 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -24,12 +24,14 @@ GST_DEBUG_CATEGORY_STATIC (debug_category); typedef struct _CustomData { jobject app; GstElement *pipeline; + GMainContext *context; GMainLoop *main_loop; ANativeWindow *native_window; GstState state, target_state; gint64 position; gint64 duration; gint64 desired_position; + GstClockTime last_seek_time; gboolean initialized; gboolean is_live; } CustomData; @@ -123,11 +125,40 @@ static gboolean refresh_ui (CustomData *data) { return TRUE; } +static void execute_seek (gint64 desired_position, CustomData *data); +static gboolean +delayed_seek_cb (CustomData *data) +{ + execute_seek (data->desired_position, data); + return FALSE; +} + static void execute_seek (gint64 desired_position, CustomData *data) { gboolean res; - GST_DEBUG ("Setting position to %lld milliseconds", desired_position / GST_MSECOND); - res = gst_element_seek_simple (data->pipeline, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, desired_position); - GST_DEBUG ("Seek returned %d", res); + gint64 diff; + + if (desired_position == GST_CLOCK_TIME_NONE) + return; + + diff = gst_util_get_timestamp () - data->last_seek_time; + + if (GST_CLOCK_TIME_IS_VALID (data->last_seek_time) && diff < 500 * GST_MSECOND) { + GSource *timeout_source; + + data->desired_position = desired_position; + timeout_source = g_timeout_source_new (diff / GST_MSECOND); + g_source_attach (timeout_source, data->context); + g_source_set_callback (timeout_source, (GSourceFunc)delayed_seek_cb, data, NULL); + g_source_unref (timeout_source); + GST_DEBUG ("Throttling seek to %" GST_TIME_FORMAT ", will be in %" GST_TIME_FORMAT, + GST_TIME_ARGS (desired_position), GST_TIME_ARGS (500 * GST_MSECOND - diff)); + } else { + GST_DEBUG ("Setting position to %lld milliseconds", desired_position / GST_MSECOND); + res = gst_element_seek_simple (data->pipeline, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, desired_position); + data->last_seek_time = gst_util_get_timestamp (); + data->desired_position = GST_CLOCK_TIME_NONE; + GST_DEBUG ("Seek returned %d", res); + } } static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { @@ -226,12 +257,11 @@ static void *app_function (void *userdata) { CustomData *data = (CustomData *)userdata; GSource *timeout_source; GSource *bus_source; - GMainContext *context; GST_DEBUG ("Creating pipeline in CustomData at %p", data); /* create our own GLib Main Context, so we do not interfere with other libraries using GLib */ - context = g_main_context_new (); + data->context = g_main_context_new (); data->pipeline = gst_element_factory_make ("playbin2", NULL); @@ -244,7 +274,7 @@ static void *app_function (void *userdata) { bus = gst_element_get_bus (data->pipeline); bus_source = gst_bus_create_watch (bus); g_source_set_callback (bus_source, (GSourceFunc) gst_bus_async_signal_func, NULL, NULL); - g_source_attach (bus_source, context); + g_source_attach (bus_source, data->context); g_source_unref (bus_source); g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, data); g_signal_connect (G_OBJECT (bus), "message::eos", (GCallback)eos_cb, data); @@ -256,13 +286,13 @@ static void *app_function (void *userdata) { /* Register a function that GLib will call 4 times per second */ timeout_source = g_timeout_source_new (250); - g_source_attach (timeout_source, context); + g_source_attach (timeout_source, data->context); g_source_set_callback (timeout_source, (GSourceFunc)refresh_ui, data, NULL); g_source_unref (timeout_source); /* Create a GLib Main Loop and set it to run */ GST_DEBUG ("Entering main loop... (CustomData:%p)", data); - data->main_loop = g_main_loop_new (context, FALSE); + data->main_loop = g_main_loop_new (data->context, FALSE); check_initialization_complete (data); g_main_loop_run (data->main_loop); GST_DEBUG ("Exited main loop"); @@ -270,7 +300,7 @@ static void *app_function (void *userdata) { data->main_loop = NULL; /* Free resources */ - g_main_context_unref (context); + g_main_context_unref (data->context); data->target_state = GST_STATE_NULL; gst_element_set_state (data->pipeline, GST_STATE_NULL); gst_object_unref (data->pipeline); @@ -282,9 +312,10 @@ static void *app_function (void *userdata) { * Java Bindings */ void gst_native_init (JNIEnv* env, jobject thiz) { - CustomData *data = (CustomData *)g_malloc0 (sizeof (CustomData)); + CustomData *data = g_new0 (CustomData, 1); data->duration = GST_CLOCK_TIME_NONE; data->desired_position = GST_CLOCK_TIME_NONE; + data->last_seek_time = GST_CLOCK_TIME_NONE; SET_CUSTOM_DATA (env, thiz, custom_data_field_id, data); GST_DEBUG ("Created CustomData at %p", data); data->app = (*env)->NewGlobalRef (env, thiz); From 5ad29d568ed0a626677ed5b3b53250f2843d64c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Mon, 1 Oct 2012 15:46:17 +0200 Subject: [PATCH 167/979] Don't queue multiple timeouts for delayed seeking --- gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index c229bc40ec..912667a0d4 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -145,11 +145,13 @@ static void execute_seek (gint64 desired_position, CustomData *data) { if (GST_CLOCK_TIME_IS_VALID (data->last_seek_time) && diff < 500 * GST_MSECOND) { GSource *timeout_source; + if (!GST_CLOCK_TIME_IS_VALID (data->desired_position)) { + timeout_source = g_timeout_source_new (diff / GST_MSECOND); + g_source_attach (timeout_source, data->context); + g_source_set_callback (timeout_source, (GSourceFunc)delayed_seek_cb, data, NULL); + g_source_unref (timeout_source); + } data->desired_position = desired_position; - timeout_source = g_timeout_source_new (diff / GST_MSECOND); - g_source_attach (timeout_source, data->context); - g_source_set_callback (timeout_source, (GSourceFunc)delayed_seek_cb, data, NULL); - g_source_unref (timeout_source); GST_DEBUG ("Throttling seek to %" GST_TIME_FORMAT ", will be in %" GST_TIME_FORMAT, GST_TIME_ARGS (desired_position), GST_TIME_ARGS (500 * GST_MSECOND - diff)); } else { From 9a4b1977d443444e15444e53d6764720017ed07c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Mon, 1 Oct 2012 16:56:49 +0200 Subject: [PATCH 168/979] Fix seeking --- gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 912667a0d4..df74084563 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -129,6 +129,8 @@ static void execute_seek (gint64 desired_position, CustomData *data); static gboolean delayed_seek_cb (CustomData *data) { + GST_DEBUG ("Doing delayed seek %" GST_TIME_FORMAT, GST_TIME_ARGS (data->desired_position)); + data->last_seek_time = GST_CLOCK_TIME_NONE; execute_seek (data->desired_position, data); return FALSE; } @@ -224,10 +226,8 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { /* Only pay attention to messages coming from the pipeline, not its children */ if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->pipeline)) { data->state = new_state; - if (data->state >= GST_STATE_PAUSED && GST_CLOCK_TIME_IS_VALID (data->desired_position)) { + if (data->state >= GST_STATE_PAUSED && GST_CLOCK_TIME_IS_VALID (data->desired_position)) execute_seek (data->desired_position, data); - data->desired_position = GST_CLOCK_TIME_NONE; - } GST_DEBUG ("State changed to %s, notifying application", gst_element_state_get_name(new_state)); (*env)->CallVoidMethod (env, data->app, set_current_state_method_id, new_state); if ((*env)->ExceptionCheck (env)) { From e3b897f4b5e0f07db9fc66be0ed05f4cda7f7a1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Tue, 2 Oct 2012 13:31:39 +0200 Subject: [PATCH 169/979] Add support for selecting files --- .../android-tutorial-1/jni/tutorial-1.c | 3 + .../android-tutorial-1/res/layout/main.xml | 10 +++- .../android-tutorial-1/res/values/strings.xml | 1 + .../tutorial_1/Tutorial1.java | 58 ++++++++++++++----- 4 files changed, 58 insertions(+), 14 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index df74084563..7ff846aa1f 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -345,8 +345,11 @@ void gst_native_set_uri (JNIEnv* env, jobject thiz, jstring uri) { if (!data) return; const jbyte *char_uri = (*env)->GetStringUTFChars (env, uri, NULL); GST_DEBUG ("Setting URI to %s", char_uri); + if (data->target_state >= GST_STATE_READY) + gst_element_set_state (data->pipeline, GST_STATE_READY); g_object_set(data->pipeline, "uri", char_uri); (*env)->ReleaseStringUTFChars (env, uri, char_uri); + data->is_live = (gst_element_set_state (data->pipeline, data->target_state) == GST_STATE_CHANGE_NO_PREROLL); } void gst_native_play (JNIEnv* env, jobject thiz) { diff --git a/gst-sdk/tutorials/android-tutorial-1/res/layout/main.xml b/gst-sdk/tutorials/android-tutorial-1/res/layout/main.xml index 4c3e1000c2..c3baac85a6 100755 --- a/gst-sdk/tutorials/android-tutorial-1/res/layout/main.xml +++ b/gst-sdk/tutorials/android-tutorial-1/res/layout/main.xml @@ -29,6 +29,14 @@ android:contentDescription="@string/button_stop" android:src="@android:drawable/ic_media_pause" android:text="@string/button_stop" /> + + - \ No newline at end of file + diff --git a/gst-sdk/tutorials/android-tutorial-1/res/values/strings.xml b/gst-sdk/tutorials/android-tutorial-1/res/values/strings.xml index 60c84d95a7..b79c80827b 100755 --- a/gst-sdk/tutorials/android-tutorial-1/res/values/strings.xml +++ b/gst-sdk/tutorials/android-tutorial-1/res/values/strings.xml @@ -3,4 +3,5 @@ Android tutorial 1 Play Stop + Select diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java index 666a77dcaf..5243b84e43 100755 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -22,8 +22,13 @@ import java.util.TimeZone; import com.gst_sdk.GStreamer; import android.app.Activity; +import android.content.Intent; +import android.database.Cursor; import android.util.Log; +import android.net.Uri; import android.os.Bundle; +import android.os.Environment; +import android.provider.MediaStore; import android.view.SurfaceHolder; import android.view.SurfaceView; import android.view.View; @@ -54,10 +59,11 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee private Bundle initialization_data; - private final String mediaUri = "http://docs.gstreamer.com/media/sintel_trailer-480p.ogv"; - - /* Called when the activity is first created. - @Override */ + private String mediaUri = "http://docs.gstreamer.com/media/sintel_trailer-480p.ogv"; + static private final int PICK_FILE_CODE = 1; + + /* Called when the activity is first created. */ + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -87,6 +93,15 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee nativePause(); } }); + + ImageButton select = (ImageButton) this.findViewById(R.id.button_select); + select.setOnClickListener(new OnClickListener() { + public void onClick(View v) { + Intent i = new Intent(Intent.ACTION_PICK); + i.setDataAndType(Uri.fromFile(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES)), "video/*;audio/*"); + startActivityForResult(i, PICK_FILE_CODE); + } + }); SurfaceView sv = (SurfaceView) this.findViewById(R.id.surface_video); SurfaceHolder sh = sv.getHolder(); @@ -104,10 +119,11 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee } protected void onSaveInstanceState (Bundle outState) { - Log.d ("GStreamer", "Saving state, playing:" + is_playing_desired + " position:" + position); + Log.d ("GStreamer", "Saving state, playing:" + is_playing_desired + " position:" + position + " uri: " + mediaUri); outState.putBoolean("playing", is_playing_desired); outState.putInt("position", position); outState.putInt("duration", duration); + outState.putString("mediaUri", mediaUri); } protected void onDestroy() { @@ -124,27 +140,30 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee } }); } - - /* Called from native code */ - private void onGStreamerInitialized () { + + private void setMediaUri() { nativeSetUri (mediaUri); if (mediaUri.startsWith("file://")) is_local_media = true; + } + /* Called from native code */ + private void onGStreamerInitialized () { if (initialization_data != null) { is_playing_desired = initialization_data.getBoolean("playing"); int milliseconds = initialization_data.getInt("position"); Log.i ("GStreamer", "Restoring state, playing:" + is_playing_desired + " position:" + milliseconds + " ms."); + mediaUri = initialization_data.getString ("mediaUri"); /* Actually, move to one millisecond in the future. Otherwise, due to rounding errors between the * milliseconds used here and the nanoseconds used by GStreamer, we would be jumping a bit behind * where we were before. This, combined with seeking to keyframe positions, would skip one keyframe * backwards on each iteration. */ nativeSetPosition(milliseconds + 1); - if (is_playing_desired) { - nativePlay(); - } else { - nativePause(); - } + } + + setMediaUri (); + if (is_playing_desired) { + nativePlay(); } else { nativePause(); } @@ -244,4 +263,17 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee if (!is_local_media) nativeSetPosition(desired_position); if (is_playing_desired) nativePlay(); } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) + { + if (resultCode == RESULT_OK && requestCode == PICK_FILE_CODE) { + String[] proj = { MediaStore.Video.Media.DATA }; + Cursor c = managedQuery(data.getData(), proj, null, null, null); + int column_index = c.getColumnIndexOrThrow(MediaStore.Video.Media.DATA); + c.moveToFirst(); + mediaUri = "file://" + c.getString(column_index); + setMediaUri(); + } + } } From e67b56790412e257aee53696520508424ed6cd36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Tue, 2 Oct 2012 16:54:27 +0200 Subject: [PATCH 170/979] Add new filechooser --- .../android-tutorial-1/AndroidManifest.xml | 4 +- .../android-tutorial-1/jni/tutorial-1.c | 19 +- .../android-tutorial-1/res/drawable/file.png | Bin 0 -> 571 bytes .../res/drawable/folder.png | Bin 0 -> 392 bytes .../android-tutorial-1/res/drawable/icon.png | Bin 0 -> 2574 bytes .../res/layout/file_dialog_main.xml | 66 +++ .../res/layout/file_dialog_row.xml | 15 + .../android-tutorial-1/res/values/strings.xml | 11 + .../tutorial_1/Tutorial1.java | 16 +- .../src/com/lamerman/FileDialog.java | 383 ++++++++++++++++++ .../src/com/lamerman/SelectionMode.java | 7 + 11 files changed, 505 insertions(+), 16 deletions(-) create mode 100644 gst-sdk/tutorials/android-tutorial-1/res/drawable/file.png create mode 100644 gst-sdk/tutorials/android-tutorial-1/res/drawable/folder.png create mode 100644 gst-sdk/tutorials/android-tutorial-1/res/drawable/icon.png create mode 100644 gst-sdk/tutorials/android-tutorial-1/res/layout/file_dialog_main.xml create mode 100644 gst-sdk/tutorials/android-tutorial-1/res/layout/file_dialog_row.xml create mode 100644 gst-sdk/tutorials/android-tutorial-1/src/com/lamerman/FileDialog.java create mode 100644 gst-sdk/tutorials/android-tutorial-1/src/com/lamerman/SelectionMode.java diff --git a/gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml b/gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml index 6116ace012..1dbfa36fcc 100755 --- a/gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml +++ b/gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml @@ -7,7 +7,6 @@ @@ -16,5 +15,8 @@ + + diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 7ff846aa1f..528b872fe1 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -267,6 +267,13 @@ static void *app_function (void *userdata) { data->pipeline = gst_element_factory_make ("playbin2", NULL); + if (0) { + GstElement *fakesink; + fakesink = gst_element_factory_make ("fakesink", NULL); + g_object_set (fakesink, "sync", TRUE, NULL); + g_object_set (data->pipeline, "video-sink", fakesink, NULL); + } + if (data->native_window) { GST_DEBUG ("Native window already received, notifying the pipeline about it."); gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->pipeline), (guintptr)data->native_window); @@ -342,12 +349,12 @@ void gst_native_finalize (JNIEnv* env, jobject thiz) { void gst_native_set_uri (JNIEnv* env, jobject thiz, jstring uri) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); - if (!data) return; + if (!data || !data->pipeline) return; const jbyte *char_uri = (*env)->GetStringUTFChars (env, uri, NULL); GST_DEBUG ("Setting URI to %s", char_uri); if (data->target_state >= GST_STATE_READY) gst_element_set_state (data->pipeline, GST_STATE_READY); - g_object_set(data->pipeline, "uri", char_uri); + g_object_set(data->pipeline, "uri", char_uri, NULL); (*env)->ReleaseStringUTFChars (env, uri, char_uri); data->is_live = (gst_element_set_state (data->pipeline, data->target_state) == GST_STATE_CHANGE_NO_PREROLL); } @@ -428,12 +435,14 @@ void gst_native_surface_finalize (JNIEnv *env, jobject thiz) { return; } GST_DEBUG ("Releasing Native Window %p", data->native_window); - ANativeWindow_release (data->native_window); - data->native_window = NULL; if (data->pipeline) { - gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->pipeline), (guintptr)NULL); + gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->pipeline), (guintptr)NULL); + gst_element_set_state (data->pipeline, GST_STATE_NULL); } + + ANativeWindow_release (data->native_window); + data->native_window = NULL; } static JNINativeMethod native_methods[] = { diff --git a/gst-sdk/tutorials/android-tutorial-1/res/drawable/file.png b/gst-sdk/tutorials/android-tutorial-1/res/drawable/file.png new file mode 100644 index 0000000000000000000000000000000000000000..fa45699efc5b2eff4c30ae18ef1ceb55e0970580 GIT binary patch literal 571 zcmV-B0>u4^P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01m_e01m_fl`9S#00007bV*G`2ipP( z6)p&@)Vd=800Fy6L_t(2&y|zSZW=KZM$f(D!TeMmB7_hW*rYmP?F^tD!48U%;!w1jv^LGldA*3mB9P?wpr&KN@B9w|ns?};X5Hj%OPQ-Cc ztJOqRQ4vIyMx&A0AqTF&Gz3(Y#bUvyN(DryR4N<~2duTIDktYKQADfNx`0WNaB_~X zx3{P&a<vs zP}L8Xt9G+;9M)RaPfs}Kh@uE0&Fx7%4pk-r+#G`%){P7*>0 ztX3-ug#xOIF@_KVhr=B9PHueL-h1}@J)6yj5CW6Qgu!5N zDW_O0GM~>$k_7KP<#IVUE|*L0?(UdQr!*Q3`u)CSp!WdudcEAFs`*nKkH;Ju4u>Kl znXz84lZNo2dJ(}|%XYiHf&gSbpQjHG5C8l|gTa7)zc25H{swM&r%yy_r9J=v002ov JPDHLkV1fwz@1_6% literal 0 HcmV?d00001 diff --git a/gst-sdk/tutorials/android-tutorial-1/res/drawable/folder.png b/gst-sdk/tutorials/android-tutorial-1/res/drawable/folder.png new file mode 100644 index 0000000000000000000000000000000000000000..0108ed934bd0986a6960a8d5042083f51625bd88 GIT binary patch literal 392 zcmeAS@N?(olHy`uVBq!ia0vp^0w6XA8<1SE`<)7qVk{1FcVbv~PUa<$!O>_%)r2R1cVu@xF{@H@b_wl+yB4uJtn0`UzWc8skr*kn+pcFI$P?O+&`RhXZ`fEK|6N*O}Y8d zeCGLn<4ERvtKVHOtS>MA^f#EP!RJ}|zr~Rc&D;M@RM-)6(Piq-i!(I1K3)D^Q1-cl zFXq&vL|379!CULn9|UbFnRe&c43{Q`(_tEOUE9x1SniZ|h{2b~IsL*WgA}tx9)}q^ zmh15BddhQ+%TQ`Og{P|8RRXpj5bgrSmEzSMfBn+{{vpNxw?;5UX;iv9sYxy_`IQHs$i<61a_iv^L>h8s-`D(`e@|IgS*Fj zNGM876Gf;3D8*1UX9a%v>yJKD*QkCwW2AirU(L{qNA)JghmGItc;(H<$!ABY&gBy1vJIEUj-b8%el*o|VkG)LqNx#TG>Jvj^jIte!!+RY z)T4j$7+PoF1AkRBf}R#^T=-q|PaK1$c<4UH)Hpq3$4WA|xtr!ZQLC=*vNE>O6E9kp+5X0eKB$6>C(lPwI@3#oY zhS_%x7e|j!$yG?ECXmh~EH~^OeuK}+sWoJse3Z3?ha3n`MM9KvA?uqpEnBg4Q46)7 zM$p%a$@l;+O}vfvx%XjH`}a{(-HHth9!JaUwV0*VqGR48^gWNYN<&~7x)y$e!X>e` zZ5!6KZoxbKuV9XUDI%#M1~IVh?pNSdeb~6@$y`v|yk=XK+fHxnDqnUK4&=QRNyIVf zYbDM*cI>~qIy*a7=z7uqkw@agd(<=y-Q7L!ty_23SGdXmahO<;N=wB+j;lNm%=OHC zy zU|>La6h%92y4IPufI$9>Xu!@y`TaNgtg&41@PwMwBdmSm7)xAWDLoqjZ==P2#*k7! z3o1)cVSI3KP_!?d8G^Lg0FtLXC~JYdxi|c%h~lXEixY=%VSFF@!*3&&9>(Rb|iK54Cx5;s~PY5iaV1het%w`dgQFBAJ;aFK zImQC}(|QaCFYUm1JVfzSc)ebv=)ObI)0jwJb``}Zj9J0n0Xgn*Zc(rFM9$xh_makZbm-at_v5^SW zM1y1SW@%+FuIy*WR)i3A2N_q;(YO`O!A|Ts^%z}9ZepCj3ytlw#x%N_fNrKKtPh`< z|1{UqF`4LxHaCQ79+E=uUXCOZ35jAMRz%R%0(P!0FMv=sk>Nr8%+OzY^c-M9@+fz=G`qa@v4sF5u-2289-#$**LWnyNNDwDf1( zkUiMnw|y$tn>pQP=Vn!#|17L^5AGrjtBkN$D@v)Z7LXc5EFhLB4<;7Wehh)CMqX|W zqsiZaO^benJ_hwa&V0ub$-_HUk**?g6fm9|!@kguU6*zhK)$qn-<3*kFrYPIaqR=V zUaUvk>@F_89b@tHs8R!*QKY;INJ<2_U+K6Ca3e9Gsl2{qY0%a7J?uICWgHuLfj+MB z=GkAN1&ifT#2u}B+2S#~$5jA(Qn^;H%CCmIae4AE-Dsng|Hl*Ov!z72k3ZnJs{pp| z+pW`DDueC#mEWOf=ucJ!dTL}hzOeiS-i?m2E;`EKz4<&Lu~NnW?peqVU^@<+T3KKu z{yrI%Qy-Z%HEvLUz}n^~m?7x`xuCtNR#L2En!T>dQtIKdS#V-Hzt3RtwTeYtmQ&dR z6qXZvac*oc@BUYEH%@Ylv_1&tSjkbzzU6*h1(3^C`;1z;g_SmOtclS?KWk2VYE zM*oS<=C483XckW?GN|1jfh3Ro(h + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gst-sdk/tutorials/android-tutorial-1/res/layout/file_dialog_row.xml b/gst-sdk/tutorials/android-tutorial-1/res/layout/file_dialog_row.xml new file mode 100644 index 0000000000..18c8c628da --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-1/res/layout/file_dialog_row.xml @@ -0,0 +1,15 @@ + + + + + + + + \ No newline at end of file diff --git a/gst-sdk/tutorials/android-tutorial-1/res/values/strings.xml b/gst-sdk/tutorials/android-tutorial-1/res/values/strings.xml index b79c80827b..f1920061e8 100755 --- a/gst-sdk/tutorials/android-tutorial-1/res/values/strings.xml +++ b/gst-sdk/tutorials/android-tutorial-1/res/values/strings.xml @@ -4,4 +4,15 @@ Play Stop Select + Android tutorial 1 + Location + folder can\'t be read! + New + Select + File name: + Cancel + Save + No Data + #ffff0000 + Error diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java index 5243b84e43..efb4fcba71 100755 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -20,15 +20,14 @@ import java.util.Date; import java.util.TimeZone; import com.gst_sdk.GStreamer; +import com.lamerman.FileDialog; +import com.lamerman.SelectionMode; import android.app.Activity; import android.content.Intent; -import android.database.Cursor; import android.util.Log; -import android.net.Uri; import android.os.Bundle; import android.os.Environment; -import android.provider.MediaStore; import android.view.SurfaceHolder; import android.view.SurfaceView; import android.view.View; @@ -97,8 +96,9 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee ImageButton select = (ImageButton) this.findViewById(R.id.button_select); select.setOnClickListener(new OnClickListener() { public void onClick(View v) { - Intent i = new Intent(Intent.ACTION_PICK); - i.setDataAndType(Uri.fromFile(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES)), "video/*;audio/*"); + Intent i = new Intent(getBaseContext(), FileDialog.class); + i.putExtra(FileDialog.START_PATH, Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES).getAbsolutePath()); + i.putExtra(FileDialog.SELECTION_MODE, SelectionMode.MODE_OPEN); startActivityForResult(i, PICK_FILE_CODE); } }); @@ -268,11 +268,7 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == RESULT_OK && requestCode == PICK_FILE_CODE) { - String[] proj = { MediaStore.Video.Media.DATA }; - Cursor c = managedQuery(data.getData(), proj, null, null, null); - int column_index = c.getColumnIndexOrThrow(MediaStore.Video.Media.DATA); - c.moveToFirst(); - mediaUri = "file://" + c.getString(column_index); + mediaUri = "file://" + data.getStringExtra(FileDialog.RESULT_PATH); setMediaUri(); } } diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/lamerman/FileDialog.java b/gst-sdk/tutorials/android-tutorial-1/src/com/lamerman/FileDialog.java new file mode 100644 index 0000000000..d086f23c38 --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/lamerman/FileDialog.java @@ -0,0 +1,383 @@ +package com.lamerman; + +import java.io.File; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.TreeMap; + +import com.gst_sdk_tutorials.tutorial_1.R; + +import android.app.AlertDialog; +import android.app.ListActivity; +import android.content.DialogInterface; +import android.os.Bundle; +import android.view.KeyEvent; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.inputmethod.InputMethodManager; +import android.widget.Button; +import android.widget.EditText; +import android.widget.LinearLayout; +import android.widget.ListView; +import android.widget.SimpleAdapter; +import android.widget.TextView; + +/** + * Activity para escolha de arquivos/diretorios. + * + * @author android + * + */ +public class FileDialog extends ListActivity { + + /** + * Chave de um item da lista de paths. + */ + private static final String ITEM_KEY = "key"; + + /** + * Imagem de um item da lista de paths (diretorio ou arquivo). + */ + private static final String ITEM_IMAGE = "image"; + + /** + * Diretorio raiz. + */ + private static final String ROOT = "/"; + + /** + * Parametro de entrada da Activity: path inicial. Padrao: ROOT. + */ + public static final String START_PATH = "START_PATH"; + + /** + * Parametro de entrada da Activity: filtro de formatos de arquivos. Padrao: + * null. + */ + public static final String FORMAT_FILTER = "FORMAT_FILTER"; + + /** + * Parametro de saida da Activity: path escolhido. Padrao: null. + */ + public static final String RESULT_PATH = "RESULT_PATH"; + + /** + * Parametro de entrada da Activity: tipo de selecao: pode criar novos paths + * ou nao. Padrao: nao permite. + * + * @see {@link SelectionMode} + */ + public static final String SELECTION_MODE = "SELECTION_MODE"; + + /** + * Parametro de entrada da Activity: se e permitido escolher diretorios. + * Padrao: falso. + */ + public static final String CAN_SELECT_DIR = "CAN_SELECT_DIR"; + + private List path = null; + private TextView myPath; + private EditText mFileName; + private ArrayList> mList; + + private Button selectButton; + + private LinearLayout layoutSelect; + private LinearLayout layoutCreate; + private InputMethodManager inputManager; + private String parentPath; + private String currentPath = ROOT; + + private int selectionMode = SelectionMode.MODE_CREATE; + + private String[] formatFilter = null; + + private boolean canSelectDir = false; + + private File selectedFile; + private HashMap lastPositions = new HashMap(); + + /** + * Called when the activity is first created. Configura todos os parametros + * de entrada e das VIEWS.. + */ + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setResult(RESULT_CANCELED, getIntent()); + + setContentView(R.layout.file_dialog_main); + myPath = (TextView) findViewById(R.id.path); + mFileName = (EditText) findViewById(R.id.fdEditTextFile); + + inputManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE); + + selectButton = (Button) findViewById(R.id.fdButtonSelect); + selectButton.setEnabled(false); + selectButton.setOnClickListener(new OnClickListener() { + + public void onClick(View v) { + if (selectedFile != null) { + getIntent().putExtra(RESULT_PATH, selectedFile.getPath()); + setResult(RESULT_OK, getIntent()); + finish(); + } + } + }); + + final Button newButton = (Button) findViewById(R.id.fdButtonNew); + newButton.setOnClickListener(new OnClickListener() { + + public void onClick(View v) { + setCreateVisible(v); + + mFileName.setText(""); + mFileName.requestFocus(); + } + }); + + selectionMode = getIntent().getIntExtra(SELECTION_MODE, SelectionMode.MODE_CREATE); + + formatFilter = getIntent().getStringArrayExtra(FORMAT_FILTER); + + canSelectDir = getIntent().getBooleanExtra(CAN_SELECT_DIR, false); + + if (selectionMode == SelectionMode.MODE_OPEN) { + newButton.setEnabled(false); + } + + layoutSelect = (LinearLayout) findViewById(R.id.fdLinearLayoutSelect); + layoutCreate = (LinearLayout) findViewById(R.id.fdLinearLayoutCreate); + layoutCreate.setVisibility(View.GONE); + + final Button cancelButton = (Button) findViewById(R.id.fdButtonCancel); + cancelButton.setOnClickListener(new OnClickListener() { + + public void onClick(View v) { + setSelectVisible(v); + } + + }); + final Button createButton = (Button) findViewById(R.id.fdButtonCreate); + createButton.setOnClickListener(new OnClickListener() { + + public void onClick(View v) { + if (mFileName.getText().length() > 0) { + getIntent().putExtra(RESULT_PATH, currentPath + "/" + mFileName.getText()); + setResult(RESULT_OK, getIntent()); + finish(); + } + } + }); + + String startPath = getIntent().getStringExtra(START_PATH); + startPath = startPath != null ? startPath : ROOT; + if (canSelectDir) { + File file = new File(startPath); + selectedFile = file; + selectButton.setEnabled(true); + } + getDir(startPath); + } + + private void getDir(String dirPath) { + + boolean useAutoSelection = dirPath.length() < currentPath.length(); + + Integer position = lastPositions.get(parentPath); + + getDirImpl(dirPath); + + if (position != null && useAutoSelection) { + getListView().setSelection(position); + } + + } + + /** + * Monta a estrutura de arquivos e diretorios filhos do diretorio fornecido. + * + * @param dirPath + * Diretorio pai. + */ + private void getDirImpl(final String dirPath) { + + currentPath = dirPath; + + final List item = new ArrayList(); + path = new ArrayList(); + mList = new ArrayList>(); + + File f = new File(currentPath); + File[] files = f.listFiles(); + if (files == null) { + currentPath = ROOT; + f = new File(currentPath); + files = f.listFiles(); + } + myPath.setText(getText(R.string.location) + ": " + currentPath); + + if (!currentPath.equals(ROOT)) { + + item.add(ROOT); + addItem(ROOT, R.drawable.folder); + path.add(ROOT); + + item.add("../"); + addItem("../", R.drawable.folder); + path.add(f.getParent()); + parentPath = f.getParent(); + + } + + TreeMap dirsMap = new TreeMap(); + TreeMap dirsPathMap = new TreeMap(); + TreeMap filesMap = new TreeMap(); + TreeMap filesPathMap = new TreeMap(); + for (File file : files) { + if (file.isDirectory()) { + String dirName = file.getName(); + dirsMap.put(dirName, dirName); + dirsPathMap.put(dirName, file.getPath()); + } else { + final String fileName = file.getName(); + final String fileNameLwr = fileName.toLowerCase(); + // se ha um filtro de formatos, utiliza-o + if (formatFilter != null) { + boolean contains = false; + for (int i = 0; i < formatFilter.length; i++) { + final String formatLwr = formatFilter[i].toLowerCase(); + if (fileNameLwr.endsWith(formatLwr)) { + contains = true; + break; + } + } + if (contains) { + filesMap.put(fileName, fileName); + filesPathMap.put(fileName, file.getPath()); + } + // senao, adiciona todos os arquivos + } else { + filesMap.put(fileName, fileName); + filesPathMap.put(fileName, file.getPath()); + } + } + } + item.addAll(dirsMap.tailMap("").values()); + item.addAll(filesMap.tailMap("").values()); + path.addAll(dirsPathMap.tailMap("").values()); + path.addAll(filesPathMap.tailMap("").values()); + + SimpleAdapter fileList = new SimpleAdapter(this, mList, R.layout.file_dialog_row, new String[] { + ITEM_KEY, ITEM_IMAGE }, new int[] { R.id.fdrowtext, R.id.fdrowimage }); + + for (String dir : dirsMap.tailMap("").values()) { + addItem(dir, R.drawable.folder); + } + + for (String file : filesMap.tailMap("").values()) { + addItem(file, R.drawable.file); + } + + fileList.notifyDataSetChanged(); + + setListAdapter(fileList); + + } + + private void addItem(String fileName, int imageId) { + HashMap item = new HashMap(); + item.put(ITEM_KEY, fileName); + item.put(ITEM_IMAGE, imageId); + mList.add(item); + } + + /** + * Quando clica no item da lista, deve-se: 1) Se for diretorio, abre seus + * arquivos filhos; 2) Se puder escolher diretorio, define-o como sendo o + * path escolhido. 3) Se for arquivo, define-o como path escolhido. 4) Ativa + * botao de selecao. + */ + @Override + protected void onListItemClick(ListView l, View v, int position, long id) { + + File file = new File(path.get(position)); + + setSelectVisible(v); + + if (file.isDirectory()) { + selectButton.setEnabled(false); + if (file.canRead()) { + lastPositions.put(currentPath, position); + getDir(path.get(position)); + if (canSelectDir) { + selectedFile = file; + v.setSelected(true); + selectButton.setEnabled(true); + } + } else { + new AlertDialog.Builder(this).setIcon(R.drawable.icon) + .setTitle("[" + file.getName() + "] " + getText(R.string.cant_read_folder)) + .setPositiveButton("OK", new DialogInterface.OnClickListener() { + + public void onClick(DialogInterface dialog, int which) { + + } + }).show(); + } + } else { + selectedFile = file; + v.setSelected(true); + selectButton.setEnabled(true); + } + } + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + if ((keyCode == KeyEvent.KEYCODE_BACK)) { + selectButton.setEnabled(false); + + if (layoutCreate.getVisibility() == View.VISIBLE) { + layoutCreate.setVisibility(View.GONE); + layoutSelect.setVisibility(View.VISIBLE); + } else { + if (!currentPath.equals(ROOT)) { + getDir(parentPath); + } else { + return super.onKeyDown(keyCode, event); + } + } + + return true; + } else { + return super.onKeyDown(keyCode, event); + } + } + + /** + * Define se o botao de CREATE e visivel. + * + * @param v + */ + private void setCreateVisible(View v) { + layoutCreate.setVisibility(View.VISIBLE); + layoutSelect.setVisibility(View.GONE); + + inputManager.hideSoftInputFromWindow(v.getWindowToken(), 0); + selectButton.setEnabled(false); + } + + /** + * Define se o botao de SELECT e visivel. + * + * @param v + */ + private void setSelectVisible(View v) { + layoutCreate.setVisibility(View.GONE); + layoutSelect.setVisibility(View.VISIBLE); + + inputManager.hideSoftInputFromWindow(v.getWindowToken(), 0); + selectButton.setEnabled(false); + } +} diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/lamerman/SelectionMode.java b/gst-sdk/tutorials/android-tutorial-1/src/com/lamerman/SelectionMode.java new file mode 100644 index 0000000000..3c05dfa875 --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/lamerman/SelectionMode.java @@ -0,0 +1,7 @@ +package com.lamerman; + +public class SelectionMode { + public static final int MODE_CREATE = 0; + + public static final int MODE_OPEN = 1; +} From 2bec2df0024aac0e40bae387a6964b7b69590808 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Wed, 3 Oct 2012 11:07:17 +0200 Subject: [PATCH 171/979] Add copyright/license foo for the file dialog --- .../src/com/lamerman/FileDialog.java | 27 +++++++++++++++++++ .../src/com/lamerman/SelectionMode.java | 27 +++++++++++++++++++ 2 files changed, 54 insertions(+) diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/lamerman/FileDialog.java b/gst-sdk/tutorials/android-tutorial-1/src/com/lamerman/FileDialog.java index d086f23c38..6a5a5bb79f 100644 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/lamerman/FileDialog.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/lamerman/FileDialog.java @@ -1,3 +1,30 @@ +// From http://code.google.com/p/android-file-dialog/ +// +// Copyright (c) 2011, 2012, Alexander Ponomarev +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// Redistributions of source code must retain the above copyright notice, this list +// of conditions and the following disclaimer. Redistributions in binary form must +// reproduce the above copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided with the distribution. +// Neither the name of the nor the names of its contributors may be used +// to endorse or promote products derived from this software without specific prior +// written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +// SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +// TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +// BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +// DAMAGE. + package com.lamerman; import java.io.File; diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/lamerman/SelectionMode.java b/gst-sdk/tutorials/android-tutorial-1/src/com/lamerman/SelectionMode.java index 3c05dfa875..d20d50cfd8 100644 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/lamerman/SelectionMode.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/lamerman/SelectionMode.java @@ -1,3 +1,30 @@ +// From http://code.google.com/p/android-file-dialog/ +// +// Copyright (c) 2011, 2012, Alexander Ponomarev +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// Redistributions of source code must retain the above copyright notice, this list +// of conditions and the following disclaimer. Redistributions in binary form must +// reproduce the above copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided with the distribution. +// Neither the name of the nor the names of its contributors may be used +// to endorse or promote products derived from this software without specific prior +// written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +// SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +// TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +// BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +// DAMAGE. + package com.lamerman; public class SelectionMode { From ac8212596665a35d5db40f10f63132bd36bc1878 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Wed, 3 Oct 2012 12:14:45 +0200 Subject: [PATCH 172/979] Link with all the useful plugins --- gst-sdk/tutorials/android-tutorial-1/jni/Android.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk index bed77fd797..e3d2caa702 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk @@ -29,6 +29,7 @@ endif GSTREAMER_SDK_ROOT := $(GSTREAMER_SDK_ROOT_ANDROID) endif GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ -GSTREAMER_PLUGINS := coreelements ogg theora vorbis ffmpegcolorspace playback audioconvert audiorate audioresample coreindexers gio uridecodebin videorate videoscale typefindfunctions eglglessink soup amc matroska autodetect videofilter videotestsrc opensles volume +include $(GSTREAMER_NDK_BUILD_PATH)/plugins.mk +GSTREAMER_PLUGINS := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_PLAYBACK) $(GSTREAMER_PLUGINS_CODECS) $(GSTREAMER_PLUGINS_NET) $(GSTREAMER_PLUGINS_SYS) G_IO_MODULES := gnutls include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk From 90638fdd0ed8aa25359ba691cfa21e3c178b5aa1 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 3 Oct 2012 13:40:50 +0200 Subject: [PATCH 173/979] Highlight selected file in the file dialog chooser (could be highlighted MORE). --- .../android-tutorial-1/src/com/lamerman/FileDialog.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/lamerman/FileDialog.java b/gst-sdk/tutorials/android-tutorial-1/src/com/lamerman/FileDialog.java index 6a5a5bb79f..770d3829f6 100644 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/lamerman/FileDialog.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/lamerman/FileDialog.java @@ -206,6 +206,9 @@ public class FileDialog extends ListActivity { selectButton.setEnabled(true); } getDir(startPath); + + ListView lv = (ListView) findViewById (android.R.id.list); + lv.setChoiceMode(ListView.CHOICE_MODE_SINGLE); } private void getDir(String dirPath) { @@ -355,7 +358,7 @@ public class FileDialog extends ListActivity { } } else { selectedFile = file; - v.setSelected(true); + l.setItemChecked(position, true); selectButton.setEnabled(true); } } From e030812824c4fa3286f96615fef07c16fde6c097 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 3 Oct 2012 14:17:08 +0200 Subject: [PATCH 174/979] Rename tutorial-1 to tutorial-5 --- .../AndroidManifest.xml | 4 ++-- .../jni/Android.mk | 4 ++-- .../jni/tutorial-5.c} | 4 ++-- .../res/drawable-ldpi/gst_sdk_icon.png | Bin .../res/drawable-xhdpi/gst_sdk_icon.png | Bin .../res/drawable/file.png | Bin .../res/drawable/folder.png | Bin .../res/drawable/icon.png | Bin .../res/layout/file_dialog_main.xml | 0 .../res/layout/file_dialog_row.xml | 0 .../res/layout/main.xml | 0 .../res/values/strings.xml | 4 ++-- .../gst_sdk_tutorials/tutorial_5/Tutorial5.java} | 6 +++--- .../src/com/lamerman/FileDialog.java | 2 +- .../src/com/lamerman/SelectionMode.java | 0 15 files changed, 12 insertions(+), 12 deletions(-) rename gst-sdk/tutorials/{android-tutorial-1 => android-tutorial-5}/AndroidManifest.xml (90%) rename gst-sdk/tutorials/{android-tutorial-1 => android-tutorial-5}/jni/Android.mk (95%) rename gst-sdk/tutorials/{android-tutorial-1/jni/tutorial-1.c => android-tutorial-5/jni/tutorial-5.c} (99%) rename gst-sdk/tutorials/{android-tutorial-1 => android-tutorial-5}/res/drawable-ldpi/gst_sdk_icon.png (100%) rename gst-sdk/tutorials/{android-tutorial-1 => android-tutorial-5}/res/drawable-xhdpi/gst_sdk_icon.png (100%) rename gst-sdk/tutorials/{android-tutorial-1 => android-tutorial-5}/res/drawable/file.png (100%) rename gst-sdk/tutorials/{android-tutorial-1 => android-tutorial-5}/res/drawable/folder.png (100%) rename gst-sdk/tutorials/{android-tutorial-1 => android-tutorial-5}/res/drawable/icon.png (100%) rename gst-sdk/tutorials/{android-tutorial-1 => android-tutorial-5}/res/layout/file_dialog_main.xml (100%) rename gst-sdk/tutorials/{android-tutorial-1 => android-tutorial-5}/res/layout/file_dialog_row.xml (100%) rename gst-sdk/tutorials/{android-tutorial-1 => android-tutorial-5}/res/layout/main.xml (100%) rename gst-sdk/tutorials/{android-tutorial-1 => android-tutorial-5}/res/values/strings.xml (84%) rename gst-sdk/tutorials/{android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java => android-tutorial-5/src/com/gst_sdk_tutorials/tutorial_5/Tutorial5.java} (98%) mode change 100755 => 100644 rename gst-sdk/tutorials/{android-tutorial-1 => android-tutorial-5}/src/com/lamerman/FileDialog.java (99%) rename gst-sdk/tutorials/{android-tutorial-1 => android-tutorial-5}/src/com/lamerman/SelectionMode.java (100%) diff --git a/gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml b/gst-sdk/tutorials/android-tutorial-5/AndroidManifest.xml similarity index 90% rename from gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml rename to gst-sdk/tutorials/android-tutorial-5/AndroidManifest.xml index 1dbfa36fcc..bd56b1b15a 100755 --- a/gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml +++ b/gst-sdk/tutorials/android-tutorial-5/AndroidManifest.xml @@ -1,6 +1,6 @@ @@ -8,7 +8,7 @@ - diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-5/jni/Android.mk similarity index 95% rename from gst-sdk/tutorials/android-tutorial-1/jni/Android.mk rename to gst-sdk/tutorials/android-tutorial-5/jni/Android.mk index e3d2caa702..ac56df70ab 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-5/jni/Android.mk @@ -16,8 +16,8 @@ LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) -LOCAL_MODULE := tutorial-1 -LOCAL_SRC_FILES := tutorial-1.c +LOCAL_MODULE := tutorial-5 +LOCAL_SRC_FILES := tutorial-5.c LOCAL_SHARED_LIBRARIES := gstreamer_android LOCAL_LDLIBS := -landroid include $(BUILD_SHARED_LIBRARY) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c similarity index 99% rename from gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c rename to gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c index 528b872fe1..2da520e39c 100755 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c @@ -460,7 +460,7 @@ static JNINativeMethod native_methods[] = { jint JNI_OnLoad(JavaVM *vm, void *reserved) { JNIEnv *env = NULL; - GST_DEBUG_CATEGORY_INIT (debug_category, "tutorial-1", 0, "Android tutorial 1"); + GST_DEBUG_CATEGORY_INIT (debug_category, "tutorial-5", 0, "Android tutorial 5"); java_vm = vm; @@ -468,7 +468,7 @@ jint JNI_OnLoad(JavaVM *vm, void *reserved) { GST_ERROR ("Could not retrieve JNIEnv"); return 0; } - jclass klass = (*env)->FindClass (env, "com/gst_sdk_tutorials/tutorial_1/Tutorial1"); + jclass klass = (*env)->FindClass (env, "com/gst_sdk_tutorials/tutorial_5/Tutorial5"); (*env)->RegisterNatives (env, klass, native_methods, G_N_ELEMENTS(native_methods)); pthread_key_create (¤t_jni_env, detach_current_thread); diff --git a/gst-sdk/tutorials/android-tutorial-1/res/drawable-ldpi/gst_sdk_icon.png b/gst-sdk/tutorials/android-tutorial-5/res/drawable-ldpi/gst_sdk_icon.png similarity index 100% rename from gst-sdk/tutorials/android-tutorial-1/res/drawable-ldpi/gst_sdk_icon.png rename to gst-sdk/tutorials/android-tutorial-5/res/drawable-ldpi/gst_sdk_icon.png diff --git a/gst-sdk/tutorials/android-tutorial-1/res/drawable-xhdpi/gst_sdk_icon.png b/gst-sdk/tutorials/android-tutorial-5/res/drawable-xhdpi/gst_sdk_icon.png similarity index 100% rename from gst-sdk/tutorials/android-tutorial-1/res/drawable-xhdpi/gst_sdk_icon.png rename to gst-sdk/tutorials/android-tutorial-5/res/drawable-xhdpi/gst_sdk_icon.png diff --git a/gst-sdk/tutorials/android-tutorial-1/res/drawable/file.png b/gst-sdk/tutorials/android-tutorial-5/res/drawable/file.png similarity index 100% rename from gst-sdk/tutorials/android-tutorial-1/res/drawable/file.png rename to gst-sdk/tutorials/android-tutorial-5/res/drawable/file.png diff --git a/gst-sdk/tutorials/android-tutorial-1/res/drawable/folder.png b/gst-sdk/tutorials/android-tutorial-5/res/drawable/folder.png similarity index 100% rename from gst-sdk/tutorials/android-tutorial-1/res/drawable/folder.png rename to gst-sdk/tutorials/android-tutorial-5/res/drawable/folder.png diff --git a/gst-sdk/tutorials/android-tutorial-1/res/drawable/icon.png b/gst-sdk/tutorials/android-tutorial-5/res/drawable/icon.png similarity index 100% rename from gst-sdk/tutorials/android-tutorial-1/res/drawable/icon.png rename to gst-sdk/tutorials/android-tutorial-5/res/drawable/icon.png diff --git a/gst-sdk/tutorials/android-tutorial-1/res/layout/file_dialog_main.xml b/gst-sdk/tutorials/android-tutorial-5/res/layout/file_dialog_main.xml similarity index 100% rename from gst-sdk/tutorials/android-tutorial-1/res/layout/file_dialog_main.xml rename to gst-sdk/tutorials/android-tutorial-5/res/layout/file_dialog_main.xml diff --git a/gst-sdk/tutorials/android-tutorial-1/res/layout/file_dialog_row.xml b/gst-sdk/tutorials/android-tutorial-5/res/layout/file_dialog_row.xml similarity index 100% rename from gst-sdk/tutorials/android-tutorial-1/res/layout/file_dialog_row.xml rename to gst-sdk/tutorials/android-tutorial-5/res/layout/file_dialog_row.xml diff --git a/gst-sdk/tutorials/android-tutorial-1/res/layout/main.xml b/gst-sdk/tutorials/android-tutorial-5/res/layout/main.xml similarity index 100% rename from gst-sdk/tutorials/android-tutorial-1/res/layout/main.xml rename to gst-sdk/tutorials/android-tutorial-5/res/layout/main.xml diff --git a/gst-sdk/tutorials/android-tutorial-1/res/values/strings.xml b/gst-sdk/tutorials/android-tutorial-5/res/values/strings.xml similarity index 84% rename from gst-sdk/tutorials/android-tutorial-1/res/values/strings.xml rename to gst-sdk/tutorials/android-tutorial-5/res/values/strings.xml index f1920061e8..1e12ca93e0 100755 --- a/gst-sdk/tutorials/android-tutorial-1/res/values/strings.xml +++ b/gst-sdk/tutorials/android-tutorial-5/res/values/strings.xml @@ -1,10 +1,10 @@ - Android tutorial 1 + Android tutorial 5 Play Stop Select - Android tutorial 1 + Android tutorial 5 Location folder can\'t be read! New diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-5/src/com/gst_sdk_tutorials/tutorial_5/Tutorial5.java old mode 100755 new mode 100644 similarity index 98% rename from gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java rename to gst-sdk/tutorials/android-tutorial-5/src/com/gst_sdk_tutorials/tutorial_5/Tutorial5.java index efb4fcba71..7978ddc503 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-5/src/com/gst_sdk_tutorials/tutorial_5/Tutorial5.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.gst_sdk_tutorials.tutorial_1; +package com.gst_sdk_tutorials.tutorial_5; import java.text.SimpleDateFormat; import java.util.Date; @@ -38,7 +38,7 @@ import android.widget.SeekBar.OnSeekBarChangeListener; import android.widget.TextView; import android.widget.Toast; -public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSeekBarChangeListener { +public class Tutorial5 extends Activity implements SurfaceHolder.Callback, OnSeekBarChangeListener { private native void nativeInit(); private native void nativeFinalize(); private native void nativeSetUri(String uri); @@ -222,7 +222,7 @@ public class Tutorial1 extends Activity implements SurfaceHolder.Callback, OnSee static { System.loadLibrary("gstreamer_android"); - System.loadLibrary("tutorial-1"); + System.loadLibrary("tutorial-5"); classInit(); } diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/lamerman/FileDialog.java b/gst-sdk/tutorials/android-tutorial-5/src/com/lamerman/FileDialog.java similarity index 99% rename from gst-sdk/tutorials/android-tutorial-1/src/com/lamerman/FileDialog.java rename to gst-sdk/tutorials/android-tutorial-5/src/com/lamerman/FileDialog.java index 770d3829f6..438bad12d2 100644 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/lamerman/FileDialog.java +++ b/gst-sdk/tutorials/android-tutorial-5/src/com/lamerman/FileDialog.java @@ -33,7 +33,7 @@ import java.util.HashMap; import java.util.List; import java.util.TreeMap; -import com.gst_sdk_tutorials.tutorial_1.R; +import com.gst_sdk_tutorials.tutorial_5.R; import android.app.AlertDialog; import android.app.ListActivity; diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/lamerman/SelectionMode.java b/gst-sdk/tutorials/android-tutorial-5/src/com/lamerman/SelectionMode.java similarity index 100% rename from gst-sdk/tutorials/android-tutorial-1/src/com/lamerman/SelectionMode.java rename to gst-sdk/tutorials/android-tutorial-5/src/com/lamerman/SelectionMode.java From 5389c1548b4c0f363f250ae5dcd69ed413d562e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Wed, 3 Oct 2012 16:38:03 +0200 Subject: [PATCH 175/979] Disable subtitles for now --- .../tutorials/android-tutorial-5/jni/tutorial-5.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c b/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c index 2da520e39c..a60962ecd9 100755 --- a/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c +++ b/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c @@ -259,6 +259,7 @@ static void *app_function (void *userdata) { CustomData *data = (CustomData *)userdata; GSource *timeout_source; GSource *bus_source; + guint flags; GST_DEBUG ("Creating pipeline in CustomData at %p", data); @@ -266,13 +267,10 @@ static void *app_function (void *userdata) { data->context = g_main_context_new (); data->pipeline = gst_element_factory_make ("playbin2", NULL); - - if (0) { - GstElement *fakesink; - fakesink = gst_element_factory_make ("fakesink", NULL); - g_object_set (fakesink, "sync", TRUE, NULL); - g_object_set (data->pipeline, "video-sink", fakesink, NULL); - } + g_object_get (data->pipeline, "flags", &flags, NULL); + /* Disable subtitles for now */ + flags &= ~0x00000004; + g_object_set (data->pipeline, "flags", flags, NULL); if (data->native_window) { GST_DEBUG ("Native window already received, notifying the pipeline about it."); From 87daf274ca6756512b8cf9c891f6051361ab19f0 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Thu, 4 Oct 2012 12:15:02 +0200 Subject: [PATCH 176/979] First tutorial. --- .../android-tutorial-1/AndroidManifest.xml | 17 ++++++ .../android-tutorial-1/jni/Android.mk | 33 +++++++++++ .../android-tutorial-1/jni/tutorial-1.c | 27 +++++++++ .../res/drawable-ldpi/gst_sdk_icon.png | Bin 0 -> 2743 bytes .../res/drawable-xhdpi/gst_sdk_icon.png | Bin 0 -> 9283 bytes .../android-tutorial-1/res/layout/main.xml | 14 +++++ .../android-tutorial-1/res/values/strings.xml | 4 ++ .../tutorial_1/Tutorial1.java | 53 ++++++++++++++++++ 8 files changed, 148 insertions(+) create mode 100644 gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml create mode 100644 gst-sdk/tutorials/android-tutorial-1/jni/Android.mk create mode 100644 gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c create mode 100644 gst-sdk/tutorials/android-tutorial-1/res/drawable-ldpi/gst_sdk_icon.png create mode 100644 gst-sdk/tutorials/android-tutorial-1/res/drawable-xhdpi/gst_sdk_icon.png create mode 100644 gst-sdk/tutorials/android-tutorial-1/res/layout/main.xml create mode 100644 gst-sdk/tutorials/android-tutorial-1/res/values/strings.xml create mode 100644 gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java diff --git a/gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml b/gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml new file mode 100644 index 0000000000..1fdda69b25 --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-1/AndroidManifest.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk new file mode 100644 index 0000000000..87bb0f8046 --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk @@ -0,0 +1,33 @@ +# Copyright (C) 2009 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_MODULE := tutorial-1 +LOCAL_SRC_FILES := tutorial-1.c +LOCAL_SHARED_LIBRARIES := gstreamer_android +include $(BUILD_SHARED_LIBRARY) + +ifndef GSTREAMER_SDK_ROOT +ifndef GSTREAMER_SDK_ROOT_ANDROID +$(error GSTREAMER_SDK_ROOT_ANDROID is not defined!) +endif +GSTREAMER_SDK_ROOT := $(GSTREAMER_SDK_ROOT_ANDROID) +endif +GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ +GSTREAMER_PLUGINS := coreelements +G_IO_MODULES := gnutls +include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c new file mode 100644 index 0000000000..3db709d3d3 --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -0,0 +1,27 @@ +#include +#include +#include + +/* + * Java Bindings + */ +jstring gst_native_get_gstreamer_info (JNIEnv* env, jobject thiz) { + return (*env)->NewStringUTF(env, gst_version_string()); +} + +static JNINativeMethod native_methods[] = { + { "nativeGetGStreamerInfo", "()Ljava/lang/String;", (void *) gst_native_get_gstreamer_info} +}; + +jint JNI_OnLoad(JavaVM *vm, void *reserved) { + JNIEnv *env = NULL; + + if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_4) != JNI_OK) { + GST_ERROR ("Could not retrieve JNIEnv"); + return 0; + } + jclass klass = (*env)->FindClass (env, "com/gst_sdk_tutorials/tutorial_1/Tutorial1"); + (*env)->RegisterNatives (env, klass, native_methods, G_N_ELEMENTS(native_methods)); + + return JNI_VERSION_1_4; +} diff --git a/gst-sdk/tutorials/android-tutorial-1/res/drawable-ldpi/gst_sdk_icon.png b/gst-sdk/tutorials/android-tutorial-1/res/drawable-ldpi/gst_sdk_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..98f66e7a42ac29033ba3aa4376c9fe0cd4a6ddfd GIT binary patch literal 2743 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 + + + + + \ No newline at end of file diff --git a/gst-sdk/tutorials/android-tutorial-1/res/values/strings.xml b/gst-sdk/tutorials/android-tutorial-1/res/values/strings.xml new file mode 100644 index 0000000000..b956d6d241 --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-1/res/values/strings.xml @@ -0,0 +1,4 @@ + + + Android tutorial 1 + diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java new file mode 100644 index 0000000000..ca02f642da --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2009 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.gst_sdk_tutorials.tutorial_1; + +import android.app.Activity; +import android.os.Bundle; +import android.widget.TextView; +import android.widget.Toast; + +import com.gst_sdk.GStreamer; + +public class Tutorial1 extends Activity { + private native String nativeGetGStreamerInfo(); + + /* Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + + try { + GStreamer.init(this); + } catch (Exception e) { + Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show(); + finish(); + return; + } + + setContentView(R.layout.main); + + TextView tv = (TextView)findViewById(R.id.textview_info); + tv.setText("Welcome to " + nativeGetGStreamerInfo() + " !"); + } + + static { + System.loadLibrary("gstreamer_android"); + System.loadLibrary("tutorial-1"); + } + +} From f3a259d959a89fcaeb3cb6e6333b162437a90174 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 4 Oct 2012 16:15:37 +0200 Subject: [PATCH 177/979] Reset duration after changing the URI --- gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c b/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c index a60962ecd9..3702cdf6e0 100755 --- a/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c +++ b/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c @@ -354,6 +354,7 @@ void gst_native_set_uri (JNIEnv* env, jobject thiz, jstring uri) { gst_element_set_state (data->pipeline, GST_STATE_READY); g_object_set(data->pipeline, "uri", char_uri, NULL); (*env)->ReleaseStringUTFChars (env, uri, char_uri); + data->duration = GST_CLOCK_TIME_NONE; data->is_live = (gst_element_set_state (data->pipeline, data->target_state) == GST_STATE_CHANGE_NO_PREROLL); } From 0a57e2c4038ad95258b6467a973ef91de22705ca Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Thu, 4 Oct 2012 16:20:51 +0200 Subject: [PATCH 178/979] Move icons to proper folder. Replace generic Android icon with GStreamer SDK. --- .../res/{drawable => drawable-mdpi}/file.png | Bin .../res/{drawable => drawable-mdpi}/folder.png | Bin .../android-tutorial-5/res/drawable/icon.png | Bin 2574 -> 0 bytes .../android-tutorial-5/res/values/strings.xml | 2 -- .../src/com/lamerman/FileDialog.java | 2 +- 5 files changed, 1 insertion(+), 3 deletions(-) rename gst-sdk/tutorials/android-tutorial-5/res/{drawable => drawable-mdpi}/file.png (100%) rename gst-sdk/tutorials/android-tutorial-5/res/{drawable => drawable-mdpi}/folder.png (100%) delete mode 100644 gst-sdk/tutorials/android-tutorial-5/res/drawable/icon.png diff --git a/gst-sdk/tutorials/android-tutorial-5/res/drawable/file.png b/gst-sdk/tutorials/android-tutorial-5/res/drawable-mdpi/file.png similarity index 100% rename from gst-sdk/tutorials/android-tutorial-5/res/drawable/file.png rename to gst-sdk/tutorials/android-tutorial-5/res/drawable-mdpi/file.png diff --git a/gst-sdk/tutorials/android-tutorial-5/res/drawable/folder.png b/gst-sdk/tutorials/android-tutorial-5/res/drawable-mdpi/folder.png similarity index 100% rename from gst-sdk/tutorials/android-tutorial-5/res/drawable/folder.png rename to gst-sdk/tutorials/android-tutorial-5/res/drawable-mdpi/folder.png diff --git a/gst-sdk/tutorials/android-tutorial-5/res/drawable/icon.png b/gst-sdk/tutorials/android-tutorial-5/res/drawable/icon.png deleted file mode 100644 index a07c69fa5a0f4da5d5efe96eea12a543154dbab6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2574 zcmV+p3i0)cP)Q`Og{P|8RRXpj5bgrSmEzSMfBn+{{vpNxw?;5UX;iv9sYxy_`IQHs$i<61a_iv^L>h8s-`D(`e@|IgS*Fj zNGM876Gf;3D8*1UX9a%v>yJKD*QkCwW2AirU(L{qNA)JghmGItc;(H<$!ABY&gBy1vJIEUj-b8%el*o|VkG)LqNx#TG>Jvj^jIte!!+RY z)T4j$7+PoF1AkRBf}R#^T=-q|PaK1$c<4UH)Hpq3$4WA|xtr!ZQLC=*vNE>O6E9kp+5X0eKB$6>C(lPwI@3#oY zhS_%x7e|j!$yG?ECXmh~EH~^OeuK}+sWoJse3Z3?ha3n`MM9KvA?uqpEnBg4Q46)7 zM$p%a$@l;+O}vfvx%XjH`}a{(-HHth9!JaUwV0*VqGR48^gWNYN<&~7x)y$e!X>e` zZ5!6KZoxbKuV9XUDI%#M1~IVh?pNSdeb~6@$y`v|yk=XK+fHxnDqnUK4&=QRNyIVf zYbDM*cI>~qIy*a7=z7uqkw@agd(<=y-Q7L!ty_23SGdXmahO<;N=wB+j;lNm%=OHC zy zU|>La6h%92y4IPufI$9>Xu!@y`TaNgtg&41@PwMwBdmSm7)xAWDLoqjZ==P2#*k7! z3o1)cVSI3KP_!?d8G^Lg0FtLXC~JYdxi|c%h~lXEixY=%VSFF@!*3&&9>(Rb|iK54Cx5;s~PY5iaV1het%w`dgQFBAJ;aFK zImQC}(|QaCFYUm1JVfzSc)ebv=)ObI)0jwJb``}Zj9J0n0Xgn*Zc(rFM9$xh_makZbm-at_v5^SW zM1y1SW@%+FuIy*WR)i3A2N_q;(YO`O!A|Ts^%z}9ZepCj3ytlw#x%N_fNrKKtPh`< z|1{UqF`4LxHaCQ79+E=uUXCOZ35jAMRz%R%0(P!0FMv=sk>Nr8%+OzY^c-M9@+fz=G`qa@v4sF5u-2289-#$**LWnyNNDwDf1( zkUiMnw|y$tn>pQP=Vn!#|17L^5AGrjtBkN$D@v)Z7LXc5EFhLB4<;7Wehh)CMqX|W zqsiZaO^benJ_hwa&V0ub$-_HUk**?g6fm9|!@kguU6*zhK)$qn-<3*kFrYPIaqR=V zUaUvk>@F_89b@tHs8R!*QKY;INJ<2_U+K6Ca3e9Gsl2{qY0%a7J?uICWgHuLfj+MB z=GkAN1&ifT#2u}B+2S#~$5jA(Qn^;H%CCmIae4AE-Dsng|Hl*Ov!z72k3ZnJs{pp| z+pW`DDueC#mEWOf=ucJ!dTL}hzOeiS-i?m2E;`EKz4<&Lu~NnW?peqVU^@<+T3KKu z{yrI%Qy-Z%HEvLUz}n^~m?7x`xuCtNR#L2En!T>dQtIKdS#V-Hzt3RtwTeYtmQ&dR z6qXZvac*oc@BUYEH%@Ylv_1&tSjkbzzU6*h1(3^C`;1z;g_SmOtclS?KWk2VYE zM*oS<=C483XckW?GN|1jfh3Ro(hCancel Save No Data - #ffff0000 - Error diff --git a/gst-sdk/tutorials/android-tutorial-5/src/com/lamerman/FileDialog.java b/gst-sdk/tutorials/android-tutorial-5/src/com/lamerman/FileDialog.java index 438bad12d2..6f3a953d97 100644 --- a/gst-sdk/tutorials/android-tutorial-5/src/com/lamerman/FileDialog.java +++ b/gst-sdk/tutorials/android-tutorial-5/src/com/lamerman/FileDialog.java @@ -347,7 +347,7 @@ public class FileDialog extends ListActivity { selectButton.setEnabled(true); } } else { - new AlertDialog.Builder(this).setIcon(R.drawable.icon) + new AlertDialog.Builder(this).setIcon(R.drawable.gst_sdk_icon) .setTitle("[" + file.getName() + "] " + getText(R.string.cant_read_folder)) .setPositiveButton("OK", new DialogInterface.OnClickListener() { From a99fac623cd84057251aac883fdf1230094c8960 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Thu, 4 Oct 2012 17:54:41 +0200 Subject: [PATCH 179/979] Whitespacey --- .../src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java index ca02f642da..c2c5987b48 100644 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -32,7 +32,7 @@ public class Tutorial1 extends Activity { super.onCreate(savedInstanceState); try { - GStreamer.init(this); + GStreamer.init(this); } catch (Exception e) { Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show(); finish(); @@ -40,7 +40,7 @@ public class Tutorial1 extends Activity { } setContentView(R.layout.main); - + TextView tv = (TextView)findViewById(R.id.textview_info); tv.setText("Welcome to " + nativeGetGStreamerInfo() + " !"); } From e7b066f06e1ea985bb130a920935a6c6d316978d Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 5 Oct 2012 11:21:26 +0200 Subject: [PATCH 180/979] Remove copyright notices --- .../gst_sdk_tutorials/tutorial_1/Tutorial1.java | 15 --------------- .../gst_sdk_tutorials/tutorial_5/Tutorial5.java | 15 --------------- 2 files changed, 30 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java index c2c5987b48..7dd0ccd031 100644 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -1,18 +1,3 @@ -/* - * Copyright (C) 2009 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ package com.gst_sdk_tutorials.tutorial_1; import android.app.Activity; diff --git a/gst-sdk/tutorials/android-tutorial-5/src/com/gst_sdk_tutorials/tutorial_5/Tutorial5.java b/gst-sdk/tutorials/android-tutorial-5/src/com/gst_sdk_tutorials/tutorial_5/Tutorial5.java index 7978ddc503..223a372f4b 100644 --- a/gst-sdk/tutorials/android-tutorial-5/src/com/gst_sdk_tutorials/tutorial_5/Tutorial5.java +++ b/gst-sdk/tutorials/android-tutorial-5/src/com/gst_sdk_tutorials/tutorial_5/Tutorial5.java @@ -1,18 +1,3 @@ -/* - * Copyright (C) 2009 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ package com.gst_sdk_tutorials.tutorial_5; import java.text.SimpleDateFormat; From 3df9913eb994c2b3cfd49583e6b8d1aece2585fe Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 5 Oct 2012 14:56:03 +0200 Subject: [PATCH 181/979] More copyright notices removed --- .../tutorials/android-tutorial-1/jni/Android.mk | 14 -------------- .../tutorials/android-tutorial-5/jni/Android.mk | 14 -------------- 2 files changed, 28 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk index 87bb0f8046..06e263dad9 100644 --- a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk @@ -1,17 +1,3 @@ -# Copyright (C) 2009 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) diff --git a/gst-sdk/tutorials/android-tutorial-5/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-5/jni/Android.mk index ac56df70ab..a8ec210430 100755 --- a/gst-sdk/tutorials/android-tutorial-5/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-5/jni/Android.mk @@ -1,17 +1,3 @@ -# Copyright (C) 2009 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) From 3c3388a5a62828b811d0bf10217da00a2cea3dd3 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 5 Oct 2012 15:31:50 +0200 Subject: [PATCH 182/979] Remove unused GIO module from Android.mk --- gst-sdk/tutorials/android-tutorial-1/jni/Android.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk index 06e263dad9..ad6b672ce0 100644 --- a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk @@ -15,5 +15,4 @@ GSTREAMER_SDK_ROOT := $(GSTREAMER_SDK_ROOT_ANDROID) endif GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ GSTREAMER_PLUGINS := coreelements -G_IO_MODULES := gnutls include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk From 4ce09964d9f603935b882a785329b334d07f4e96 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 8 Oct 2012 11:55:59 +0200 Subject: [PATCH 183/979] Initial tutorial 2 --- .../android-tutorial-2/AndroidManifest.xml | 17 ++ .../android-tutorial-2/jni/Android.mk | 19 ++ .../android-tutorial-2/jni/tutorial-2.c | 256 ++++++++++++++++++ .../res/drawable-ldpi/gst_sdk_icon.png | Bin 0 -> 2743 bytes .../res/drawable-xhdpi/gst_sdk_icon.png | Bin 0 -> 9283 bytes .../android-tutorial-2/res/layout/main.xml | 34 +++ .../android-tutorial-2/res/values/strings.xml | 6 + .../tutorial_2/Tutorial2.java | 113 ++++++++ 8 files changed, 445 insertions(+) create mode 100644 gst-sdk/tutorials/android-tutorial-2/AndroidManifest.xml create mode 100644 gst-sdk/tutorials/android-tutorial-2/jni/Android.mk create mode 100644 gst-sdk/tutorials/android-tutorial-2/jni/tutorial-2.c create mode 100644 gst-sdk/tutorials/android-tutorial-2/res/drawable-ldpi/gst_sdk_icon.png create mode 100644 gst-sdk/tutorials/android-tutorial-2/res/drawable-xhdpi/gst_sdk_icon.png create mode 100644 gst-sdk/tutorials/android-tutorial-2/res/layout/main.xml create mode 100644 gst-sdk/tutorials/android-tutorial-2/res/values/strings.xml create mode 100644 gst-sdk/tutorials/android-tutorial-2/src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java diff --git a/gst-sdk/tutorials/android-tutorial-2/AndroidManifest.xml b/gst-sdk/tutorials/android-tutorial-2/AndroidManifest.xml new file mode 100644 index 0000000000..f3c6788580 --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-2/AndroidManifest.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + diff --git a/gst-sdk/tutorials/android-tutorial-2/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-2/jni/Android.mk new file mode 100644 index 0000000000..68e586ce79 --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-2/jni/Android.mk @@ -0,0 +1,19 @@ +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_MODULE := tutorial-2 +LOCAL_SRC_FILES := tutorial-2.c +LOCAL_SHARED_LIBRARIES := gstreamer_android +include $(BUILD_SHARED_LIBRARY) + +ifndef GSTREAMER_SDK_ROOT +ifndef GSTREAMER_SDK_ROOT_ANDROID +$(error GSTREAMER_SDK_ROOT_ANDROID is not defined!) +endif +GSTREAMER_SDK_ROOT := $(GSTREAMER_SDK_ROOT_ANDROID) +endif +GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ +include $(GSTREAMER_NDK_BUILD_PATH)/plugins.mk +GSTREAMER_PLUGINS := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_SYS) +include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk diff --git a/gst-sdk/tutorials/android-tutorial-2/jni/tutorial-2.c b/gst-sdk/tutorials/android-tutorial-2/jni/tutorial-2.c new file mode 100644 index 0000000000..08de737aa7 --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-2/jni/tutorial-2.c @@ -0,0 +1,256 @@ +#include +#include +#include +#include + +GST_DEBUG_CATEGORY_STATIC (debug_category); +#define GST_CAT_DEFAULT debug_category + +/* + * These macros provide a way to store the native pointer to CustomData, which might be 32 or 64 bits, into + * a jlong, which is always 64 bits, without warnings. + */ +#if GLIB_SIZEOF_VOID_P == 8 +# define GET_CUSTOM_DATA(env, thiz, fieldID) (CustomData *)(*env)->GetLongField (env, thiz, fieldID) +# define SET_CUSTOM_DATA(env, thiz, fieldID, data) (*env)->SetLongField (env, thiz, fieldID, (jlong)data) +#else +# define GET_CUSTOM_DATA(env, thiz, fieldID) (CustomData *)(jint)(*env)->GetLongField (env, thiz, fieldID) +# define SET_CUSTOM_DATA(env, thiz, fieldID, data) (*env)->SetLongField (env, thiz, fieldID, (jlong)(jint)data) +#endif + +typedef struct _CustomData { + jobject app; + GstElement *pipeline; + GMainContext *context; + GMainLoop *main_loop; + gboolean initialized; +} CustomData; + +static pthread_t gst_app_thread; +static pthread_key_t current_jni_env; +static JavaVM *java_vm; +static jfieldID custom_data_field_id; +static jmethodID set_message_method_id; +static jmethodID on_gstreamer_initialized_method_id; + +/* + * Private methods + */ +static JNIEnv *attach_current_thread (void) { + JNIEnv *env; + JavaVMAttachArgs args; + + GST_DEBUG ("Attaching thread %p", g_thread_self ()); + args.version = JNI_VERSION_1_4; + args.name = NULL; + args.group = NULL; + + if ((*java_vm)->AttachCurrentThread (java_vm, &env, &args) < 0) { + GST_ERROR ("Failed to attach current thread"); + return NULL; + } + + return env; +} + +static void detach_current_thread (void *env) { + GST_DEBUG ("Detaching thread %p", g_thread_self ()); + (*java_vm)->DetachCurrentThread (java_vm); +} + +static JNIEnv *get_jni_env (void) { + JNIEnv *env; + + if ((env = pthread_getspecific (current_jni_env)) == NULL) { + env = attach_current_thread (); + pthread_setspecific (current_jni_env, env); + } + + return env; +} + +static void set_ui_message (const gchar *message, CustomData *data) { + JNIEnv *env = get_jni_env (); + GST_DEBUG ("Setting message to: %s", message); + jstring jmessage = (*env)->NewStringUTF(env, message); + (*env)->CallVoidMethod (env, data->app, set_message_method_id, jmessage); + if ((*env)->ExceptionCheck (env)) { + GST_ERROR ("Failed to call Java method"); + (*env)->ExceptionClear (env); + } + (*env)->DeleteLocalRef (env, jmessage); +} + +static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + GError *err; + gchar *debug_info; + gchar *message_string; + + gst_message_parse_error (msg, &err, &debug_info); + message_string = g_strdup_printf ("Error received from element %s: %s", GST_OBJECT_NAME (msg->src), err->message); + g_clear_error (&err); + g_free (debug_info); + set_ui_message (message_string, data); + g_free (message_string); + gst_element_set_state (data->pipeline, GST_STATE_NULL); +} + +static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + JNIEnv *env = get_jni_env (); + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + /* Only pay attention to messages coming from the pipeline, not its children */ + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->pipeline)) { + gchar *message = g_strdup_printf("State changed to %s", gst_element_state_get_name(new_state)); + set_ui_message(message, data); + g_free (message); + } +} + +static void check_initialization_complete (CustomData *data) { + JNIEnv *env = get_jni_env (); + /* Check if all conditions are met to report GStreamer as initialized. + * These conditions will change depending on the application */ + if (!data->initialized && data->main_loop) { + GST_DEBUG ("Initialization complete, notifying application. main_loop:%p", data->main_loop); + (*env)->CallVoidMethod (env, data->app, on_gstreamer_initialized_method_id); + if ((*env)->ExceptionCheck (env)) { + GST_ERROR ("Failed to call Java method"); + (*env)->ExceptionClear (env); + } + data->initialized = TRUE; + } +} + +static void *app_function (void *userdata) { + JavaVMAttachArgs args; + GstBus *bus; + CustomData *data = (CustomData *)userdata; + GSource *bus_source; + GError *error = NULL; + + GST_DEBUG ("Creating pipeline in CustomData at %p", data); + + /* Create our own GLib Main Context, so we do not interfere with other libraries using GLib */ + data->context = g_main_context_new (); + + /* Build pipeline */ + data->pipeline = gst_parse_launch("audiotestsrc ! autoaudiosink", &error); + if (error) { + gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message); + g_clear_error (&error); + set_ui_message(message, data); + g_free (message); + return NULL; + } + + /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ + bus = gst_element_get_bus (data->pipeline); + bus_source = gst_bus_create_watch (bus); + g_source_set_callback (bus_source, (GSourceFunc) gst_bus_async_signal_func, NULL, NULL); + g_source_attach (bus_source, data->context); + g_source_unref (bus_source); + g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, data); + g_signal_connect (G_OBJECT (bus), "message::state-changed", (GCallback)state_changed_cb, data); + gst_object_unref (bus); + + /* Create a GLib Main Loop and set it to run */ + GST_DEBUG ("Entering main loop... (CustomData:%p)", data); + data->main_loop = g_main_loop_new (data->context, FALSE); + check_initialization_complete (data); + g_main_loop_run (data->main_loop); + GST_DEBUG ("Exited main loop"); + g_main_loop_unref (data->main_loop); + data->main_loop = NULL; + + /* Free resources */ + g_main_context_unref (data->context); + gst_element_set_state (data->pipeline, GST_STATE_NULL); + gst_object_unref (data->pipeline); + + return NULL; +} + +/* + * Java Bindings + */ +void gst_native_init (JNIEnv* env, jobject thiz) { + CustomData *data = g_new0 (CustomData, 1); + SET_CUSTOM_DATA (env, thiz, custom_data_field_id, data); + GST_DEBUG ("Created CustomData at %p", data); + data->app = (*env)->NewGlobalRef (env, thiz); + GST_DEBUG ("Created GlobalRef for app object at %p", data->app); + pthread_create (&gst_app_thread, NULL, &app_function, data); +} + +void gst_native_finalize (JNIEnv* env, jobject thiz) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + GST_DEBUG ("Quitting main loop..."); + g_main_loop_quit (data->main_loop); + GST_DEBUG ("Waiting for thread to finish..."); + pthread_join (gst_app_thread, NULL); + GST_DEBUG ("Deleting GlobalRef for app object at %p", data->app); + (*env)->DeleteGlobalRef (env, data->app); + GST_DEBUG ("Freeing CustomData at %p", data); + g_free (data); + SET_CUSTOM_DATA (env, thiz, custom_data_field_id, NULL); + GST_DEBUG ("Done finalizing"); +} + +void gst_native_play (JNIEnv* env, jobject thiz) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + GST_DEBUG ("Setting state to PLAYING"); + gst_element_set_state (data->pipeline, GST_STATE_PLAYING); +} + +void gst_native_pause (JNIEnv* env, jobject thiz) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + GST_DEBUG ("Setting state to PAUSED"); + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); +} + +jboolean gst_class_init (JNIEnv* env, jclass klass) { + gst_debug_set_threshold_for_name("tutorial-2", GST_LEVEL_DEBUG); + custom_data_field_id = (*env)->GetFieldID (env, klass, "native_custom_data", "J"); + GST_DEBUG ("The FieldID for the native_custom_data field is %p", custom_data_field_id); + set_message_method_id = (*env)->GetMethodID (env, klass, "setMessage", "(Ljava/lang/String;)V"); + GST_DEBUG ("The MethodID for the setMessage method is %p", set_message_method_id); + on_gstreamer_initialized_method_id = (*env)->GetMethodID (env, klass, "onGStreamerInitialized", "()V"); + GST_DEBUG ("The MethodID for the onGStreamerInitialized method is %p", on_gstreamer_initialized_method_id); + + if (!custom_data_field_id || !set_message_method_id || !on_gstreamer_initialized_method_id) { + GST_ERROR ("The calling class does not implement all necessary interface methods"); + return JNI_FALSE; + } + return JNI_TRUE; +} + +static JNINativeMethod native_methods[] = { + { "nativeInit", "()V", (void *) gst_native_init}, + { "nativeFinalize", "()V", (void *) gst_native_finalize}, + { "nativePlay", "()V", (void *) gst_native_play}, + { "nativePause", "()V", (void *) gst_native_pause}, + { "classInit", "()Z", (void *) gst_class_init} +}; + +jint JNI_OnLoad(JavaVM *vm, void *reserved) { + JNIEnv *env = NULL; + + GST_DEBUG_CATEGORY_INIT (debug_category, "tutorial-2", 0, "Android tutorial 2"); + + java_vm = vm; + + if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_4) != JNI_OK) { + GST_ERROR ("Could not retrieve JNIEnv"); + return 0; + } + jclass klass = (*env)->FindClass (env, "com/gst_sdk_tutorials/tutorial_2/Tutorial2"); + (*env)->RegisterNatives (env, klass, native_methods, G_N_ELEMENTS(native_methods)); + + pthread_key_create (¤t_jni_env, detach_current_thread); + + return JNI_VERSION_1_4; +} diff --git a/gst-sdk/tutorials/android-tutorial-2/res/drawable-ldpi/gst_sdk_icon.png b/gst-sdk/tutorials/android-tutorial-2/res/drawable-ldpi/gst_sdk_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..98f66e7a42ac29033ba3aa4376c9fe0cd4a6ddfd GIT binary patch literal 2743 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 + + + + + + + + + + + + \ No newline at end of file diff --git a/gst-sdk/tutorials/android-tutorial-2/res/values/strings.xml b/gst-sdk/tutorials/android-tutorial-2/res/values/strings.xml new file mode 100644 index 0000000000..186ec3a9e2 --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-2/res/values/strings.xml @@ -0,0 +1,6 @@ + + + Android tutorial 2 + Play + Stop + diff --git a/gst-sdk/tutorials/android-tutorial-2/src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java b/gst-sdk/tutorials/android-tutorial-2/src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java new file mode 100644 index 0000000000..6abc8d351f --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-2/src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java @@ -0,0 +1,113 @@ +package com.gst_sdk_tutorials.tutorial_2; + +import android.app.Activity; +import android.os.Bundle; +import android.util.Log; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.ImageButton; +import android.widget.TextView; +import android.widget.Toast; + +import com.gst_sdk.GStreamer; + +public class Tutorial2 extends Activity { + private native void nativeInit(); + private native void nativeFinalize(); + private native void nativePlay(); + private native void nativePause(); + private static native boolean classInit(); + private long native_custom_data; + + private boolean is_playing_desired; + + private Bundle initialization_data; + + /* Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + + try { + GStreamer.init(this); + } catch (Exception e) { + Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show(); + finish(); + return; + } + + setContentView(R.layout.main); + + ImageButton play = (ImageButton) this.findViewById(R.id.button_play); + play.setOnClickListener(new OnClickListener() { + public void onClick(View v) { + is_playing_desired = true; + nativePlay(); + } + }); + + ImageButton pause = (ImageButton) this.findViewById(R.id.button_stop); + pause.setOnClickListener(new OnClickListener() { + public void onClick(View v) { + is_playing_desired = false; + nativePause(); + } + }); + + initialization_data = savedInstanceState; + + /* Start with disabled buttons, until GStreamer is initialized */ + this.findViewById(R.id.button_play).setEnabled(false); + this.findViewById(R.id.button_stop).setEnabled(false); + is_playing_desired = false; + + nativeInit(); + } + + protected void onSaveInstanceState (Bundle outState) { + Log.d ("GStreamer", "Saving state, playing:" + is_playing_desired); + outState.putBoolean("playing", is_playing_desired); + } + + protected void onDestroy() { + nativeFinalize(); + super.onDestroy(); + } + + /* Called from native code */ + private void setMessage(final String message) { + final TextView tv = (TextView) this.findViewById(R.id.textview_message); + runOnUiThread (new Runnable() { + public void run() { + tv.setText(message); + } + }); + } + + /* Called from native code */ + private void onGStreamerInitialized () { + if (initialization_data != null) { + is_playing_desired = initialization_data.getBoolean("playing"); + Log.i ("GStreamer", "Restoring state, playing:" + is_playing_desired); + } + + /* Restore previous playing state */ + if (is_playing_desired) { + nativePlay(); + } else { + nativePause(); + } + + /* Re-enable buttons, now that GStreamer is initialized */ + this.findViewById(R.id.button_play).setEnabled(true); + this.findViewById(R.id.button_stop).setEnabled(true); + } + + static { + System.loadLibrary("gstreamer_android"); + System.loadLibrary("tutorial-2"); + classInit(); + } + +} From 4b608c3ca7d325ea4ccea9ab13ba92b49463cc22 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 8 Oct 2012 15:36:16 +0200 Subject: [PATCH 184/979] Add comments. Whitespace. Some function renaming. --- .../android-tutorial-2/jni/Android.mk | 1 + .../android-tutorial-2/jni/tutorial-2.c | 48 +++++++++++++------ .../tutorial_2/Tutorial2.java | 37 ++++++++------ 3 files changed, 56 insertions(+), 30 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-2/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-2/jni/Android.mk index 68e586ce79..3f40633938 100644 --- a/gst-sdk/tutorials/android-tutorial-2/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-2/jni/Android.mk @@ -5,6 +5,7 @@ include $(CLEAR_VARS) LOCAL_MODULE := tutorial-2 LOCAL_SRC_FILES := tutorial-2.c LOCAL_SHARED_LIBRARIES := gstreamer_android +LOCAL_LDLIBS := -llog include $(BUILD_SHARED_LIBRARY) ifndef GSTREAMER_SDK_ROOT diff --git a/gst-sdk/tutorials/android-tutorial-2/jni/tutorial-2.c b/gst-sdk/tutorials/android-tutorial-2/jni/tutorial-2.c index 08de737aa7..5b2d9241e8 100644 --- a/gst-sdk/tutorials/android-tutorial-2/jni/tutorial-2.c +++ b/gst-sdk/tutorials/android-tutorial-2/jni/tutorial-2.c @@ -1,5 +1,6 @@ #include #include +#include #include #include @@ -18,14 +19,16 @@ GST_DEBUG_CATEGORY_STATIC (debug_category); # define SET_CUSTOM_DATA(env, thiz, fieldID, data) (*env)->SetLongField (env, thiz, fieldID, (jlong)(jint)data) #endif +/* Structure to contain all our information, so we can pass it to callbacks */ typedef struct _CustomData { - jobject app; - GstElement *pipeline; - GMainContext *context; - GMainLoop *main_loop; - gboolean initialized; + jobject app; /* Application instance, used to call its methods. A global reference is kept. */ + GstElement *pipeline; /* The running pipeline */ + GMainContext *context; /* GLib context used to run the main loop */ + GMainLoop *main_loop; /* GLib main loop */ + gboolean initialized; /* To avoid informing the UI multiple times about the initialization */ } CustomData; +/* These global variables cache values which are not changing during execution */ static pthread_t gst_app_thread; static pthread_key_t current_jni_env; static JavaVM *java_vm; @@ -36,6 +39,8 @@ static jmethodID on_gstreamer_initialized_method_id; /* * Private methods */ + +/* Register this thread with the VM */ static JNIEnv *attach_current_thread (void) { JNIEnv *env; JavaVMAttachArgs args; @@ -53,11 +58,13 @@ static JNIEnv *attach_current_thread (void) { return env; } +/* Unregister this thread from the VM */ static void detach_current_thread (void *env) { GST_DEBUG ("Detaching thread %p", g_thread_self ()); (*java_vm)->DetachCurrentThread (java_vm); } +/* Retrieve the JNI environment for this thread */ static JNIEnv *get_jni_env (void) { JNIEnv *env; @@ -69,6 +76,7 @@ static JNIEnv *get_jni_env (void) { return env; } +/* Change the content of the UI's TextView */ static void set_ui_message (const gchar *message, CustomData *data) { JNIEnv *env = get_jni_env (); GST_DEBUG ("Setting message to: %s", message); @@ -81,6 +89,7 @@ static void set_ui_message (const gchar *message, CustomData *data) { (*env)->DeleteLocalRef (env, jmessage); } +/* Retrieve errors from the bus and show them on the UI */ static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { GError *err; gchar *debug_info; @@ -95,8 +104,8 @@ static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { gst_element_set_state (data->pipeline, GST_STATE_NULL); } +/* Notify UI about pipeline state changes */ static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { - JNIEnv *env = get_jni_env (); GstState old_state, new_state, pending_state; gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); /* Only pay attention to messages coming from the pipeline, not its children */ @@ -107,10 +116,10 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { } } +/* Check if all conditions are met to report GStreamer as initialized. + * These conditions will change depending on the application */ static void check_initialization_complete (CustomData *data) { JNIEnv *env = get_jni_env (); - /* Check if all conditions are met to report GStreamer as initialized. - * These conditions will change depending on the application */ if (!data->initialized && data->main_loop) { GST_DEBUG ("Initialization complete, notifying application. main_loop:%p", data->main_loop); (*env)->CallVoidMethod (env, data->app, on_gstreamer_initialized_method_id); @@ -122,6 +131,7 @@ static void check_initialization_complete (CustomData *data) { } } +/* Main method for the native code. This is executed on its own thread. */ static void *app_function (void *userdata) { JavaVMAttachArgs args; GstBus *bus; @@ -174,15 +184,19 @@ static void *app_function (void *userdata) { /* * Java Bindings */ + +/* Instruct the native code to create its internal data structure, pipeline and thread */ void gst_native_init (JNIEnv* env, jobject thiz) { CustomData *data = g_new0 (CustomData, 1); SET_CUSTOM_DATA (env, thiz, custom_data_field_id, data); + gst_debug_set_threshold_for_name("tutorial-2", GST_LEVEL_DEBUG); GST_DEBUG ("Created CustomData at %p", data); data->app = (*env)->NewGlobalRef (env, thiz); GST_DEBUG ("Created GlobalRef for app object at %p", data->app); pthread_create (&gst_app_thread, NULL, &app_function, data); } +/* Quit the main loop, remove the native thread and free resources */ void gst_native_finalize (JNIEnv* env, jobject thiz) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); if (!data) return; @@ -198,6 +212,7 @@ void gst_native_finalize (JNIEnv* env, jobject thiz) { GST_DEBUG ("Done finalizing"); } +/* Set pipeline to PLAYING state */ void gst_native_play (JNIEnv* env, jobject thiz) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); if (!data) return; @@ -205,6 +220,7 @@ void gst_native_play (JNIEnv* env, jobject thiz) { gst_element_set_state (data->pipeline, GST_STATE_PLAYING); } +/* Set pipeline to PAUSED state */ void gst_native_pause (JNIEnv* env, jobject thiz) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); if (!data) return; @@ -212,30 +228,32 @@ void gst_native_pause (JNIEnv* env, jobject thiz) { gst_element_set_state (data->pipeline, GST_STATE_PAUSED); } -jboolean gst_class_init (JNIEnv* env, jclass klass) { - gst_debug_set_threshold_for_name("tutorial-2", GST_LEVEL_DEBUG); +/* Static class initializer: retrieve method and field IDs */ +jboolean gst_native_class_init (JNIEnv* env, jclass klass) { custom_data_field_id = (*env)->GetFieldID (env, klass, "native_custom_data", "J"); - GST_DEBUG ("The FieldID for the native_custom_data field is %p", custom_data_field_id); set_message_method_id = (*env)->GetMethodID (env, klass, "setMessage", "(Ljava/lang/String;)V"); - GST_DEBUG ("The MethodID for the setMessage method is %p", set_message_method_id); on_gstreamer_initialized_method_id = (*env)->GetMethodID (env, klass, "onGStreamerInitialized", "()V"); - GST_DEBUG ("The MethodID for the onGStreamerInitialized method is %p", on_gstreamer_initialized_method_id); if (!custom_data_field_id || !set_message_method_id || !on_gstreamer_initialized_method_id) { - GST_ERROR ("The calling class does not implement all necessary interface methods"); + /* We emit this message through the Android log instead of the GStreamer log because the later + * has not been initialized yet. + */ + __android_log_print (ANDROID_LOG_ERROR, "tutorial-2", "The calling class does not implement all necessary interface methods"); return JNI_FALSE; } return JNI_TRUE; } +/* List of implemented native methods */ static JNINativeMethod native_methods[] = { { "nativeInit", "()V", (void *) gst_native_init}, { "nativeFinalize", "()V", (void *) gst_native_finalize}, { "nativePlay", "()V", (void *) gst_native_play}, { "nativePause", "()V", (void *) gst_native_pause}, - { "classInit", "()Z", (void *) gst_class_init} + { "nativeClassInit", "()Z", (void *) gst_native_class_init} }; +/* Library initializer */ jint JNI_OnLoad(JavaVM *vm, void *reserved) { JNIEnv *env = NULL; diff --git a/gst-sdk/tutorials/android-tutorial-2/src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java b/gst-sdk/tutorials/android-tutorial-2/src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java index 6abc8d351f..9cbcb35efe 100644 --- a/gst-sdk/tutorials/android-tutorial-2/src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java +++ b/gst-sdk/tutorials/android-tutorial-2/src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java @@ -12,16 +12,16 @@ import android.widget.Toast; import com.gst_sdk.GStreamer; public class Tutorial2 extends Activity { - private native void nativeInit(); - private native void nativeFinalize(); - private native void nativePlay(); - private native void nativePause(); - private static native boolean classInit(); - private long native_custom_data; + private native void nativeInit(); /* Initialize native code, build pipeline, etc */ + private native void nativeFinalize(); /* Destroy pipeline and shutdown native code */ + private native void nativePlay(); /* Set pipeline to PLAYING */ + private native void nativePause(); /* Set pipeline to PAUSED */ + private static native boolean nativeClassInit(); /* Initialize native class: cache Method IDs for callbacks */ + private long native_custom_data; /* Native code will use this to keep private data */ - private boolean is_playing_desired; + private boolean is_playing_desired; /* Whether the user asked to go to PLAYING */ - private Bundle initialization_data; + private Bundle initialization_data; /* onCreate parameters kept for later */ /* Called when the activity is first created. */ @Override @@ -29,8 +29,9 @@ public class Tutorial2 extends Activity { { super.onCreate(savedInstanceState); + /* Initialize GStreamer and warn if it fails */ try { - GStreamer.init(this); + GStreamer.init(this); } catch (Exception e) { Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show(); finish(); @@ -55,16 +56,19 @@ public class Tutorial2 extends Activity { } }); + /* Keep the instance state for later, since we will not perform our initialization + * until the native code reports that it is itself initialized. + */ initialization_data = savedInstanceState; - /* Start with disabled buttons, until GStreamer is initialized */ + /* Start with disabled buttons, until native code is initialized */ this.findViewById(R.id.button_play).setEnabled(false); this.findViewById(R.id.button_stop).setEnabled(false); is_playing_desired = false; nativeInit(); } - + protected void onSaveInstanceState (Bundle outState) { Log.d ("GStreamer", "Saving state, playing:" + is_playing_desired); outState.putBoolean("playing", is_playing_desired); @@ -75,7 +79,7 @@ public class Tutorial2 extends Activity { super.onDestroy(); } - /* Called from native code */ + /* Called from native code. This sets the content of the TextView from the UI thread. */ private void setMessage(final String message) { final TextView tv = (TextView) this.findViewById(R.id.textview_message); runOnUiThread (new Runnable() { @@ -85,8 +89,11 @@ public class Tutorial2 extends Activity { }); } - /* Called from native code */ - private void onGStreamerInitialized () { + /* Called from native code. Native code calls this once it has created its pipeline and + * the main loop is running, so it is ready to accept commands. + */ + private void onGStreamerInitialized () { + /* If initialization data is present, retrieve it */ if (initialization_data != null) { is_playing_desired = initialization_data.getBoolean("playing"); Log.i ("GStreamer", "Restoring state, playing:" + is_playing_desired); @@ -107,7 +114,7 @@ public class Tutorial2 extends Activity { static { System.loadLibrary("gstreamer_android"); System.loadLibrary("tutorial-2"); - classInit(); + nativeClassInit(); } } From 768e602485c31016273bf4bb6c0bb03f5fd57e65 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 9 Oct 2012 10:39:38 +0200 Subject: [PATCH 185/979] Changed all comments to //, because Confluence has problems syntax highlighting Java with /* */ comments. Awesome. --- .../tutorial_1/Tutorial1.java | 2 +- .../tutorial_2/Tutorial2.java | 40 +++++++++---------- 2 files changed, 20 insertions(+), 22 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java index 7dd0ccd031..57a7ae6106 100644 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -10,7 +10,7 @@ import com.gst_sdk.GStreamer; public class Tutorial1 extends Activity { private native String nativeGetGStreamerInfo(); - /* Called when the activity is first created. */ + // Called when the activity is first created. @Override public void onCreate(Bundle savedInstanceState) { diff --git a/gst-sdk/tutorials/android-tutorial-2/src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java b/gst-sdk/tutorials/android-tutorial-2/src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java index 9cbcb35efe..5cec306ca4 100644 --- a/gst-sdk/tutorials/android-tutorial-2/src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java +++ b/gst-sdk/tutorials/android-tutorial-2/src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java @@ -12,24 +12,24 @@ import android.widget.Toast; import com.gst_sdk.GStreamer; public class Tutorial2 extends Activity { - private native void nativeInit(); /* Initialize native code, build pipeline, etc */ - private native void nativeFinalize(); /* Destroy pipeline and shutdown native code */ - private native void nativePlay(); /* Set pipeline to PLAYING */ - private native void nativePause(); /* Set pipeline to PAUSED */ - private static native boolean nativeClassInit(); /* Initialize native class: cache Method IDs for callbacks */ - private long native_custom_data; /* Native code will use this to keep private data */ + private native void nativeInit(); // Initialize native code, build pipeline, etc + private native void nativeFinalize(); // Destroy pipeline and shutdown native code + private native void nativePlay(); // Set pipeline toPLAYING + private native void nativePause(); // Set pipeline toPAUSED + private static native boolean nativeClassInit(); // Initialize native class: cache Method IDs for callbacks + private long native_custom_data; // Native code will use this to keep private data - private boolean is_playing_desired; /* Whether the user asked to go to PLAYING */ + private boolean is_playing_desired; // Whether the user asked to go to PLAYING - private Bundle initialization_data; /* onCreate parameters kept for later */ + private Bundle initialization_data; // onCreate parameters kept for later - /* Called when the activity is first created. */ + // Called when the activity is first created. @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - /* Initialize GStreamer and warn if it fails */ + // Initialize GStreamer and warn if it fails try { GStreamer.init(this); } catch (Exception e) { @@ -56,12 +56,11 @@ public class Tutorial2 extends Activity { } }); - /* Keep the instance state for later, since we will not perform our initialization - * until the native code reports that it is itself initialized. - */ + // Keep the instance state for later, since we will not perform ourinitialization + // until the native code reports that it is itselfinitialized. initialization_data = savedInstanceState; - /* Start with disabled buttons, until native code is initialized */ + // Start with disabled buttons, until native code is initialized this.findViewById(R.id.button_play).setEnabled(false); this.findViewById(R.id.button_stop).setEnabled(false); is_playing_desired = false; @@ -79,7 +78,7 @@ public class Tutorial2 extends Activity { super.onDestroy(); } - /* Called from native code. This sets the content of the TextView from the UI thread. */ + // Called from native code. This sets the content of the TextView from the UI thread. private void setMessage(final String message) { final TextView tv = (TextView) this.findViewById(R.id.textview_message); runOnUiThread (new Runnable() { @@ -89,24 +88,23 @@ public class Tutorial2 extends Activity { }); } - /* Called from native code. Native code calls this once it has created its pipeline and - * the main loop is running, so it is ready to accept commands. - */ + // Called from native code. Native code calls this once it has created its pipelineand + // the main loop is running, so it is ready to acceptcommands. private void onGStreamerInitialized () { - /* If initialization data is present, retrieve it */ + // If initialization data is present, retrieve it if (initialization_data != null) { is_playing_desired = initialization_data.getBoolean("playing"); Log.i ("GStreamer", "Restoring state, playing:" + is_playing_desired); } - /* Restore previous playing state */ + // Restore previous playing state if (is_playing_desired) { nativePlay(); } else { nativePause(); } - /* Re-enable buttons, now that GStreamer is initialized */ + // Re-enable buttons, now that GStreamer is initialized this.findViewById(R.id.button_play).setEnabled(true); this.findViewById(R.id.button_stop).setEnabled(true); } From a5d36ecb3ece2613c2d7736413127b339e97834f Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 9 Oct 2012 10:41:32 +0200 Subject: [PATCH 186/979] Regexp mangled some comments --- .../com/gst_sdk_tutorials/tutorial_2/Tutorial2.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-2/src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java b/gst-sdk/tutorials/android-tutorial-2/src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java index 5cec306ca4..586528015c 100644 --- a/gst-sdk/tutorials/android-tutorial-2/src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java +++ b/gst-sdk/tutorials/android-tutorial-2/src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java @@ -14,8 +14,8 @@ import com.gst_sdk.GStreamer; public class Tutorial2 extends Activity { private native void nativeInit(); // Initialize native code, build pipeline, etc private native void nativeFinalize(); // Destroy pipeline and shutdown native code - private native void nativePlay(); // Set pipeline toPLAYING - private native void nativePause(); // Set pipeline toPAUSED + private native void nativePlay(); // Set pipeline to PLAYING + private native void nativePause(); // Set pipeline to PAUSED private static native boolean nativeClassInit(); // Initialize native class: cache Method IDs for callbacks private long native_custom_data; // Native code will use this to keep private data @@ -56,8 +56,8 @@ public class Tutorial2 extends Activity { } }); - // Keep the instance state for later, since we will not perform ourinitialization - // until the native code reports that it is itselfinitialized. + // Keep the instance state for later, since we will not perform our initialization + // until the native code reports that it is itself initialized. initialization_data = savedInstanceState; // Start with disabled buttons, until native code is initialized @@ -88,8 +88,8 @@ public class Tutorial2 extends Activity { }); } - // Called from native code. Native code calls this once it has created its pipelineand - // the main loop is running, so it is ready to acceptcommands. + // Called from native code. Native code calls this once it has created its pipeline and + // the main loop is running, so it is ready to accept commands. private void onGStreamerInitialized () { // If initialization data is present, retrieve it if (initialization_data != null) { From bce0f1d2fc05c3b170123e2a61011c51becccbcc Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 9 Oct 2012 12:42:24 +0200 Subject: [PATCH 187/979] New icons to better follow the Android design guidelines (and get rid of some Android Lint warnings) --- .../res/drawable-hdpi/gst_sdk_icon.png | Bin 0 -> 5202 bytes .../res/drawable-ldpi/gst_sdk_icon.png | Bin 2743 -> 2917 bytes .../res/drawable-mdpi/gst_sdk_icon.png | Bin 0 -> 3759 bytes .../res/drawable-xhdpi/gst_sdk_icon.png | Bin 9283 -> 6665 bytes .../res/drawable-hdpi/gst_sdk_icon.png | Bin 0 -> 5790 bytes .../res/drawable-ldpi/gst_sdk_icon.png | Bin 2743 -> 3073 bytes .../res/drawable-mdpi/gst_sdk_icon.png | Bin 0 -> 4018 bytes .../res/drawable-xhdpi/gst_sdk_icon.png | Bin 9283 -> 7315 bytes .../res/drawable-hdpi/gst_sdk_icon.png | Bin 0 -> 5954 bytes .../{drawable-mdpi => drawable-ldpi}/file.png | Bin .../folder.png | Bin .../res/drawable-ldpi/gst_sdk_icon.png | Bin 2743 -> 3136 bytes .../res/drawable-mdpi/gst_sdk_icon.png | Bin 0 -> 4117 bytes .../res/drawable-xhdpi/gst_sdk_icon.png | Bin 9283 -> 7540 bytes 14 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 gst-sdk/tutorials/android-tutorial-1/res/drawable-hdpi/gst_sdk_icon.png create mode 100644 gst-sdk/tutorials/android-tutorial-1/res/drawable-mdpi/gst_sdk_icon.png create mode 100644 gst-sdk/tutorials/android-tutorial-2/res/drawable-hdpi/gst_sdk_icon.png create mode 100644 gst-sdk/tutorials/android-tutorial-2/res/drawable-mdpi/gst_sdk_icon.png create mode 100644 gst-sdk/tutorials/android-tutorial-5/res/drawable-hdpi/gst_sdk_icon.png rename gst-sdk/tutorials/android-tutorial-5/res/{drawable-mdpi => drawable-ldpi}/file.png (100%) rename gst-sdk/tutorials/android-tutorial-5/res/{drawable-mdpi => drawable-ldpi}/folder.png (100%) create mode 100644 gst-sdk/tutorials/android-tutorial-5/res/drawable-mdpi/gst_sdk_icon.png diff --git a/gst-sdk/tutorials/android-tutorial-1/res/drawable-hdpi/gst_sdk_icon.png b/gst-sdk/tutorials/android-tutorial-1/res/drawable-hdpi/gst_sdk_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9aa57c1a384d77238f23f384b4781df83fe51684 GIT binary patch literal 5202 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 VswsAU?e||kJ#AyHN{u_={{!qoeYpSt literal 0 HcmV?d00001 diff --git a/gst-sdk/tutorials/android-tutorial-1/res/drawable-ldpi/gst_sdk_icon.png b/gst-sdk/tutorials/android-tutorial-1/res/drawable-ldpi/gst_sdk_icon.png index 98f66e7a42ac29033ba3aa4376c9fe0cd4a6ddfd..f04c0fcd3f545e5cbc76abc279787ea34b47056c 100644 GIT binary patch literal 2917 zcmaJ@c|4T+9v=IiU8yh)P71Ra>tu3fjAR+1xraoInZd*?X0eR2MK#AhQOMGwqKtOS zv0tT#vSvw^N|I%gEK%Iism}f5cHhtEeSgd6d7kg~{PA*KUF;QPx5@$l00oEr7}=tp$+Gig9i#=Y!to3e07azvlYkBsd?3l4geOLZwvem=05KpL=gIQK zIwJ@)3K+kE0Y^~iLN)+kZ4*Jq6M{)Bpg$>)OhtkO)%74CnTP~=m|>w0~TIJf}ajZk!iErWz-(HJ-yE#yZRU4v*W8Z(GS2ihJq1A36D zL|QoW8ybs6I8d1^Je5Flz#u_FKA21@Y>f54#{A<-=$(!2PtytyKW$H<3cbz{nwpkUBMksZy>P&wa1n!T*>WKs zy;_fACWe@TuQn?*xqCj8Lx&F=xZbjE&E%>P{l~`|xV?!+PT2#ZhyCx!$iN3Q&KV6P z7`e5fUl9qV+ zBx-hP?Wy2P^n|y{+Gw};1}wUu&QOs$)UTdJH{o#IzZ^-nG*EZ4rGJ9ml{2Y_MG6{LlqH#~t`ySn?0y-Ee*&9S%{fx~Zgxm*Zt7Wy48}$4h{RpQ zi|0w=FP|9)3`5y|gXxRKJ!6*?{rMNAW4tZJ_CD`0c{#LtQ|0xEL5VtpF~%C*^@jNM z_NCC=iPv5TeMGl((j-O@@E|C(ts$;d{Md(%fuvhy3vH5P=f;VLmkRM=eGvKk`DdSXhg^cDF}|_A&%ur{H^ba+#q_5qtsZ9(3|a+Oyx*9h;#3kPTWl`r z%5Qm&fZ>d}Z)5DYH0~@sT55B+lMPFme%D{6-}z-``^&(qPlo z?V5}1!KuZ+{o*%pL8iCuj*hd#!21=fUCU)7o~=p4(JE`YL3+?EH))tX{VWa_y|om4R7aiLwXN4e)5-K?|nM zIW%q3Yg;Dpeg1qfI%GknE|EE$0sVC3l-rYW(+16!vG@t%gY69?9a~MR#B-O?H?l4~ zV2f;LZdNz(eW=2Xl`4!i&;;)F{K{8{!Y@k~Anz(>f4*XP6%M(4fQs5t#nG_-qf&eK zydeI9cI*Lgf%r}ypj$qPE#py(a?i`( zsXwNmsvjQ|wnd!J4a-_Dt}P>e_ARgf(qkCq8*Jc1?;F-xn?A?ZdRdEXMPp(YIt9c0 zD9ZTVwD(?LqUEdk{Z5jrHBlwm8S`Ud=%LTUTO+**=wgM;LGS*RN1X*#W@BXo>&Xk5 z;+5mR2HCYG{5Qu2Qf*%zYzfz{kNT6$(>6D@B6?h+9$7pPMw9**Zgy?z&yOqZ3o#Md zu5)@*awAknms}^tNQ_eZQjOugJv6e+pWNhTtBOw=!4Vvv%8E)@7rfh9KF~M|J)Pm# zewCA{lp?k;A(|7PJ!t!WV*V+9s7q{s= zJ<>{LFVL1gHiM`=f$#m z;xfZgOXr=rv`3M7N`=AEvsNy<8&Y>iCh+nft`7DYpqh3o9qlPmcGuo6ySb*f&$pwi zmu-J;bf|foMEL&O>P|P(y-UUM#*I6k5ci3XY!Tb3Gg2;A?SzebhQ8b?yDxuF&gLBZ zR>ZM>1Xi_dDm(O8aF3qzc1ayVXjaof?wS39@;O0VW@5+-$-dC$ep8;h#h@enQ@)bu zt~UuG_3j$498kOD$bG-@oe{gMqID&-fV)on+7LYs+D{Z+h3(lSpn@F{ccvsWris-? zF}rIrlbp5<7u*|E&6l{KIT@rSLp#9J$VyEe%rBgE*U-c|=0&NGdmJm?d4KBn5zEt; zQeQVBRrTJeeJo!}8N~_KDEdiDO?H(nWz9z53P#MzHTzpuDfkO_+&VO@i*04=E}eez zSow_tDJz5c^&$KQt~YTzdM)(wdA?k`GTE-z$%rs~wD{p_(H*&xzkX92a!%mvS8%ua z*ho%RnX9`xbkBQbrfI@)slq(9U@?&B*u%ix-TGqQ)uX^`kfSpriB!Ipk(P1hy;yg< zHm`o>bcNp^lP3Up%Xa1KN40{7%vEfq{9i407J4IE*JYuA?xykR=)}s6-)De>oeQQ6 H?HB(a;N1s{ delta 2734 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 diff --git a/gst-sdk/tutorials/android-tutorial-1/res/drawable-mdpi/gst_sdk_icon.png b/gst-sdk/tutorials/android-tutorial-1/res/drawable-mdpi/gst_sdk_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f116e0db01fc44b0d7b09cd729b288451cac3a9b GIT binary patch literal 3759 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 fWD&pVECE{L6%}(6pRE771kE>e literal 9283 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 literal 0 HcmV?d00001 diff --git a/gst-sdk/tutorials/android-tutorial-2/res/drawable-ldpi/gst_sdk_icon.png b/gst-sdk/tutorials/android-tutorial-2/res/drawable-ldpi/gst_sdk_icon.png index 98f66e7a42ac29033ba3aa4376c9fe0cd4a6ddfd..e1c8131025dc9c6f4afec6de090514323c03212a 100644 GIT binary patch literal 3073 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 diff --git a/gst-sdk/tutorials/android-tutorial-2/res/drawable-mdpi/gst_sdk_icon.png b/gst-sdk/tutorials/android-tutorial-2/res/drawable-mdpi/gst_sdk_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a900eeda9b0e49a99304bfb413662c7f44f0352d GIT binary patch literal 4018 zcmaJ^c{r5){+^~|&swr%8T;7A48}6q8e?S3z6&#EFfognv6Us7O0pHQj4TydLJ?Ua zYDBUnN)n?@mJ}sR+^cfRhx_47N61l_`e?o1A(M`EaWz!4l7iw9W|F+q4IJO&pX_5^PP0PF=3Ts-I= zcD9HBG7*B=#XzEnlpQtzU}PFa!32ch=^!jVh(I!y|I+$E9z?(y%e%wvpmr2+5TPw4pGl7F1gcrmYFnN9brHpit1?kNi$F zDlQP=ghKxvYv*JvA55oH5L#N1k&%!{9SE5kqy;lHG~CtD*4ErXXwsrdbWD^ciKg&d z0fnapPze+|flLDJDq^tYaJsSlPNx4Zfk^pBmPGrzO*;+Kio#H|U=ZkTNxy-1cK;hn zB>sb@(Vg)B$@jks(_Eq{cr7P9jT}x5*cn`)!fq%E!kmi7(8*L6GCA~j7afAhbTTcN zOaYlY!$Ix@5{?{6`wMMnhp-~i=onG}-U?+bzr%+R2si{1X>Mo^Ls`IJXhRsxLK}%b zqI*Oeg*4YQK%-G`gWp^fIUt;fC((a%asT0>|H$1n0+F&48HJ}3BJemgl}rTvRWO3^ z=UmMHsP{J)_vc(tf8=WIB%`%E*8ex=-&Z@{+1>tQ+MUBcw#SopyiVOQwVj+uJ^-)} zY=t`F5;Z>JMWDNmicZc$bqFT z>Oje%uTm3+r;Q{S;Eq>a2EIw}Kp=ThFiSYuy`1}u+FY21g5&})TP#7@I!PHo7hqi! zbi$^)l#m5fze8ENEJc<@k}V@*{4j&|629oEIiSy8lgIk4-m~IJOnU4qVk8)*iRFB& z#@N;<%1p~mZIXe>E`3?#-ITt=xl}77f)IvDhpA(Yu>OLQiu~@_iun|BxEd&DSt%)c zG$d%94Zt3Fi)PufGJNTlf><84y1lFYausIG*1J@t$8x_IWAWz%TMocPW%Wd3-PG9g z%TtqYoCw89%_!k-E|F&vT7iOcB+E@PM+Vqjw!^*|Lw?DKuS^3t(G(x{9&rh&Fy7C%%3h<5FV{+!PW_Tufd+6G1DHeLWr3mF~I6 zl4lkP7gFHah=$`s)mDAD5cD^&XI;*2_<+}bZWKDR-<9xa8E6i-;}M4DVe)6 z8Z5k03+zGZzgP{uZB{S5$zlmaNCkQ89gLbvkLt-^*6oT4@{wXmWT4ERm_D-?6uHJK z`BaGFH(AfuUVSkUefn$ z21kQUM~KDrqV%CGzRIeiH15F|C^YZtS>V4c`ww8^)zvHPUg#h2WBdJ@dC2x1@H}z7 zC`AWcBph0Q6Cmc4$ET+0n<1@e{*B=NF+vfZ%?UcOzz?q#l}`477Gvx=%t{dh4b_guaX*aD zn`jkzIRc#$EY><;oN|I8&(h|Y5u%UIcAt-#fc{i|~tiRjz@xjV|GfrrmavhBr10zK8Hh3+o-G+API6T;KN;HMbub$BWtX zJnc%L^25q!drRbs%^c&L&{XH|u+h4}F*ToO4_?{6NAjkrD@BG0W-6<(46^H0)~g_4kl2}42m0Ypt-aXp3UYU3uKZc&Ufo=OrN8U zx!pUIEE$Q#nRfXMe+`>k7b*0Xio3cE?(0)u5NUD#IuJ&2(tEFndziBD2F@@O!1po{f4Sw_KK1(Tn_``O{w4 zThnn?LiM7a=KavOUGK#BW%V?UtHI>sC^W}WlLv(hD|A(}3TdpZ=ZA=)lQ0rraq=Ei z`iLjm-}|myJl;8MWuwyF-BRg@Rc=)6C3=5o?KUF0Aiu8nY-W0Zi?)rR%mlM2CkL|1 z2prm&8x%A)rjO@NHN}D*(&4G6`{GVbvTfIS3e!JZUE)~|zLqNvv1NLDIo^=luKtmK zv2py;+V#&33Y^Yzh9%2}poPDjE=Ahe-RCqN=BHw1J%|AleEKcxo*AbUm zw3ctCtFcObR4*P{34RBjSW?W&zW)v5^B8|@aHil5Qw}D;_j>q;_w-0ZNlT(@bvGIg zbC&H*>5xJmE}IQ&hz@pjJ-F|3POtGa<1(qZ9q_N`?-F1i!46(-sszFK*k#!{nXR=v zuDqcd73an{(c7W+2I|pVIK}w<0PT%L{Buty?>^R1Igga2u*JSs^s{KYw97SC_D}{s z1Rtn)Tg}B37u%$IPky){n|!D}55;4TwwG9dI^}VAYRElaE68#K&K?itD2R9@)F$fN zN{e#WJ-H@3@AVY4_I_#ROSo5Yy4aR4TCNUN`r_mDm7KN!?;G;4ngzWFH_L{E=GxYT zb6Wd7x3?pEn7O z_EecBjD*H4u8lzE#d4$)wEE4iMFw~JQT?<8V^@aQc(`=)X?2G?!m=^V{+q(jhjJ?J zN{j3j9Wrg&Yuer8HsS!8iAd{@%HTVwmGLC6Oh((bjg!aM^Z00Xcc?jmK<>4JUthZC zELnJ=>rrrLo>W%{4aM|r!ZETzoGSCI!yN5(E|_EU7PZ#P~~WXkHyoVf(b1dm7^;-7Yq zY^jC!q-@-TUYtY{aQPpJ7c!CGXiq*z(J%rX1?u%u^EUVIU=Hi9aV4tADZS_w$*?ZZ zt#S;B3!=S@xGb5_{Y;bOTD~P0G^ZD+Uiv}w`P`*?dhyg;!II)F7Bx&1qU@hK?XggP zLh-7|^jZUZW(?jXDv{{=s{p2Q*6&WU_~hX+-uBIy;+EP|H!`Ls_idC-26MiRiy7Zy zaF>BOugn1X^h$);hyi%ee%|SYGlkcOfWzVYeZhU44~}&<62Yof40qECfN_xGkeQQ) z(^aF5ck5$1gvE`PjbCkJOuo|`e6^1+ALxJ29e+dQ;QeNvTML(pRZ0U)3@u!w#ZCdv z%67hf5nw_CN}hEC2F$eerXuiy6FNG?DwXe4Brissj<3H-CD`poe@SPg9ngLFB zWvUB3SiqFvk6kh4_el3h8&j%|*la%Zz9z*yCKi+}gzV9M#xcd*BXGrJEQrTjSm1_C5@y^!D^T=dg%otaS3WN(X?b W5JFxi^3U%6MO#@ML)9St6aNo8OZPGW literal 0 HcmV?d00001 diff --git a/gst-sdk/tutorials/android-tutorial-2/res/drawable-xhdpi/gst_sdk_icon.png b/gst-sdk/tutorials/android-tutorial-2/res/drawable-xhdpi/gst_sdk_icon.png index 534ffbf4dc30201ec296c93cc823c226b46134f7..627fbfcad84b7548bbad91c05df8f27d40ce4a42 100644 GIT binary patch literal 7315 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 literal 0 HcmV?d00001 diff --git a/gst-sdk/tutorials/android-tutorial-5/res/drawable-mdpi/file.png b/gst-sdk/tutorials/android-tutorial-5/res/drawable-ldpi/file.png similarity index 100% rename from gst-sdk/tutorials/android-tutorial-5/res/drawable-mdpi/file.png rename to gst-sdk/tutorials/android-tutorial-5/res/drawable-ldpi/file.png diff --git a/gst-sdk/tutorials/android-tutorial-5/res/drawable-mdpi/folder.png b/gst-sdk/tutorials/android-tutorial-5/res/drawable-ldpi/folder.png similarity index 100% rename from gst-sdk/tutorials/android-tutorial-5/res/drawable-mdpi/folder.png rename to gst-sdk/tutorials/android-tutorial-5/res/drawable-ldpi/folder.png diff --git a/gst-sdk/tutorials/android-tutorial-5/res/drawable-ldpi/gst_sdk_icon.png b/gst-sdk/tutorials/android-tutorial-5/res/drawable-ldpi/gst_sdk_icon.png index 98f66e7a42ac29033ba3aa4376c9fe0cd4a6ddfd..c5872678fa0a7c46c0fd4ec749ff1cb04460902c 100755 GIT binary patch literal 3136 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 O1CXPwE3p_KnDig730;!_ delta 2734 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 diff --git a/gst-sdk/tutorials/android-tutorial-5/res/drawable-mdpi/gst_sdk_icon.png b/gst-sdk/tutorials/android-tutorial-5/res/drawable-mdpi/gst_sdk_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9c586526a4984000a159cbf2b3bad999670b34ff GIT binary patch literal 4117 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 Y7psEV+arND6{9hzJskfOIV)Qqr-K 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 Date: Tue, 9 Oct 2012 16:36:35 +0200 Subject: [PATCH 188/979] git ignore --- .gitignore | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitignore b/.gitignore index ef401313af..8adfbc1f03 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,7 @@ obj .project .settings .libs +.cproject +gst-build +project.properties +gst_sdk \ No newline at end of file From 58a597aa20e71a825dfc5f2f9f4eaccbe504b39e Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 9 Oct 2012 17:11:11 +0200 Subject: [PATCH 189/979] Add audioconvert and audioresample, for the sake of completeness. --- gst-sdk/tutorials/android-tutorial-2/jni/tutorial-2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-2/jni/tutorial-2.c b/gst-sdk/tutorials/android-tutorial-2/jni/tutorial-2.c index 5b2d9241e8..1f61489f88 100644 --- a/gst-sdk/tutorials/android-tutorial-2/jni/tutorial-2.c +++ b/gst-sdk/tutorials/android-tutorial-2/jni/tutorial-2.c @@ -145,7 +145,7 @@ static void *app_function (void *userdata) { data->context = g_main_context_new (); /* Build pipeline */ - data->pipeline = gst_parse_launch("audiotestsrc ! autoaudiosink", &error); + data->pipeline = gst_parse_launch("audiotestsrc ! audioconvert ! audioresample ! autoaudiosink", &error); if (error) { gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message); g_clear_error (&error); From 108d3a1ffba280f678548f4c6a026c481198dbf9 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 10 Oct 2012 11:32:26 +0200 Subject: [PATCH 190/979] Fix button re-enabling: it has to be done from the UI thread. --- .../src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-2/src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java b/gst-sdk/tutorials/android-tutorial-2/src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java index 586528015c..873fe68724 100644 --- a/gst-sdk/tutorials/android-tutorial-2/src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java +++ b/gst-sdk/tutorials/android-tutorial-2/src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java @@ -105,8 +105,13 @@ public class Tutorial2 extends Activity { } // Re-enable buttons, now that GStreamer is initialized - this.findViewById(R.id.button_play).setEnabled(true); - this.findViewById(R.id.button_stop).setEnabled(true); + final Activity activity = this; + runOnUiThread(new Runnable() { + public void run() { + activity.findViewById(R.id.button_play).setEnabled(true); + activity.findViewById(R.id.button_stop).setEnabled(true); + } + }); } static { From ec305a0826cbe1889901ff918f3c477af067bc35 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 10 Oct 2012 12:15:38 +0200 Subject: [PATCH 191/979] Beautify the layout a bit --- gst-sdk/tutorials/android-tutorial-2/res/layout/main.xml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-2/res/layout/main.xml b/gst-sdk/tutorials/android-tutorial-2/res/layout/main.xml index a6b9824c2b..23990334c6 100644 --- a/gst-sdk/tutorials/android-tutorial-2/res/layout/main.xml +++ b/gst-sdk/tutorials/android-tutorial-2/res/layout/main.xml @@ -2,16 +2,20 @@ + android:layout_height="wrap_content" + android:layout_marginBottom="16dip" + android:gravity="center_horizontal" /> Date: Wed, 10 Oct 2012 15:43:25 +0200 Subject: [PATCH 192/979] Proper initialization of GSources (setup before attach) --- gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c b/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c index 3702cdf6e0..74d743f019 100755 --- a/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c +++ b/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c @@ -149,8 +149,8 @@ static void execute_seek (gint64 desired_position, CustomData *data) { if (!GST_CLOCK_TIME_IS_VALID (data->desired_position)) { timeout_source = g_timeout_source_new (diff / GST_MSECOND); - g_source_attach (timeout_source, data->context); g_source_set_callback (timeout_source, (GSourceFunc)delayed_seek_cb, data, NULL); + g_source_attach (timeout_source, data->context); g_source_unref (timeout_source); } data->desired_position = desired_position; @@ -293,8 +293,8 @@ static void *app_function (void *userdata) { /* Register a function that GLib will call 4 times per second */ timeout_source = g_timeout_source_new (250); - g_source_attach (timeout_source, data->context); g_source_set_callback (timeout_source, (GSourceFunc)refresh_ui, data, NULL); + g_source_attach (timeout_source, data->context); g_source_unref (timeout_source); /* Create a GLib Main Loop and set it to run */ From e7199e5a18f82eff3f91c4cff068d5f3049113ac Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Thu, 11 Oct 2012 10:37:49 +0200 Subject: [PATCH 193/979] Make all methods static except JNI_OnLoad --- gst-sdk/tutorials/android-tutorial-2/jni/tutorial-2.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-2/jni/tutorial-2.c b/gst-sdk/tutorials/android-tutorial-2/jni/tutorial-2.c index 1f61489f88..c5f45dc239 100644 --- a/gst-sdk/tutorials/android-tutorial-2/jni/tutorial-2.c +++ b/gst-sdk/tutorials/android-tutorial-2/jni/tutorial-2.c @@ -186,7 +186,7 @@ static void *app_function (void *userdata) { */ /* Instruct the native code to create its internal data structure, pipeline and thread */ -void gst_native_init (JNIEnv* env, jobject thiz) { +static void gst_native_init (JNIEnv* env, jobject thiz) { CustomData *data = g_new0 (CustomData, 1); SET_CUSTOM_DATA (env, thiz, custom_data_field_id, data); gst_debug_set_threshold_for_name("tutorial-2", GST_LEVEL_DEBUG); @@ -197,7 +197,7 @@ void gst_native_init (JNIEnv* env, jobject thiz) { } /* Quit the main loop, remove the native thread and free resources */ -void gst_native_finalize (JNIEnv* env, jobject thiz) { +static void gst_native_finalize (JNIEnv* env, jobject thiz) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); if (!data) return; GST_DEBUG ("Quitting main loop..."); @@ -213,7 +213,7 @@ void gst_native_finalize (JNIEnv* env, jobject thiz) { } /* Set pipeline to PLAYING state */ -void gst_native_play (JNIEnv* env, jobject thiz) { +static void gst_native_play (JNIEnv* env, jobject thiz) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); if (!data) return; GST_DEBUG ("Setting state to PLAYING"); @@ -221,7 +221,7 @@ void gst_native_play (JNIEnv* env, jobject thiz) { } /* Set pipeline to PAUSED state */ -void gst_native_pause (JNIEnv* env, jobject thiz) { +static void gst_native_pause (JNIEnv* env, jobject thiz) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); if (!data) return; GST_DEBUG ("Setting state to PAUSED"); @@ -229,7 +229,7 @@ void gst_native_pause (JNIEnv* env, jobject thiz) { } /* Static class initializer: retrieve method and field IDs */ -jboolean gst_native_class_init (JNIEnv* env, jclass klass) { +static jboolean gst_native_class_init (JNIEnv* env, jclass klass) { custom_data_field_id = (*env)->GetFieldID (env, klass, "native_custom_data", "J"); set_message_method_id = (*env)->GetMethodID (env, klass, "setMessage", "(Ljava/lang/String;)V"); on_gstreamer_initialized_method_id = (*env)->GetMethodID (env, klass, "onGStreamerInitialized", "()V"); From 686de232a690d1e6f52f0e2860c101a0590b3395 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Thu, 11 Oct 2012 10:52:45 +0200 Subject: [PATCH 194/979] Make our GLib context is the default one to make sure GSource created from libraries using the default context are properly disposed of. --- gst-sdk/tutorials/android-tutorial-2/jni/tutorial-2.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-2/jni/tutorial-2.c b/gst-sdk/tutorials/android-tutorial-2/jni/tutorial-2.c index c5f45dc239..b10e242b5a 100644 --- a/gst-sdk/tutorials/android-tutorial-2/jni/tutorial-2.c +++ b/gst-sdk/tutorials/android-tutorial-2/jni/tutorial-2.c @@ -141,8 +141,9 @@ static void *app_function (void *userdata) { GST_DEBUG ("Creating pipeline in CustomData at %p", data); - /* Create our own GLib Main Context, so we do not interfere with other libraries using GLib */ + /* Create our own GLib Main Context and make it the default one */ data->context = g_main_context_new (); + g_main_context_push_thread_default(data->context); /* Build pipeline */ data->pipeline = gst_parse_launch("audiotestsrc ! audioconvert ! audioresample ! autoaudiosink", &error); @@ -174,6 +175,7 @@ static void *app_function (void *userdata) { data->main_loop = NULL; /* Free resources */ + g_main_context_pop_thread_default(data->context); g_main_context_unref (data->context); gst_element_set_state (data->pipeline, GST_STATE_NULL); gst_object_unref (data->pipeline); From 6bdae5f2a6f450fef3047eb429383da745362416 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 15 Oct 2012 13:19:27 +0200 Subject: [PATCH 195/979] Do not use GST_ERROR before GStreamer has been initialized --- gst-sdk/tutorials/android-tutorial-1/jni/Android.mk | 1 + gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk index ad6b672ce0..aa52af0c5c 100644 --- a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk @@ -5,6 +5,7 @@ include $(CLEAR_VARS) LOCAL_MODULE := tutorial-1 LOCAL_SRC_FILES := tutorial-1.c LOCAL_SHARED_LIBRARIES := gstreamer_android +LOCAL_LDLIBS := -llog include $(BUILD_SHARED_LIBRARY) ifndef GSTREAMER_SDK_ROOT diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 3db709d3d3..ddab056a33 100644 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -1,5 +1,6 @@ #include #include +#include #include /* @@ -17,7 +18,7 @@ jint JNI_OnLoad(JavaVM *vm, void *reserved) { JNIEnv *env = NULL; if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_4) != JNI_OK) { - GST_ERROR ("Could not retrieve JNIEnv"); + __android_log_print (ANDROID_LOG_ERROR, "tutorial-2", "Could not retrieve JNIEnv"); return 0; } jclass klass = (*env)->FindClass (env, "com/gst_sdk_tutorials/tutorial_1/Tutorial1"); From 332de96d510c8c9b848f4973f27c6b0a70a4bcbd Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 15 Oct 2012 13:21:47 +0200 Subject: [PATCH 196/979] Fix tutorial number in debug output --- gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index ddab056a33..92a3e87ec7 100644 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -18,7 +18,7 @@ jint JNI_OnLoad(JavaVM *vm, void *reserved) { JNIEnv *env = NULL; if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_4) != JNI_OK) { - __android_log_print (ANDROID_LOG_ERROR, "tutorial-2", "Could not retrieve JNIEnv"); + __android_log_print (ANDROID_LOG_ERROR, "tutorial-1", "Could not retrieve JNIEnv"); return 0; } jclass klass = (*env)->FindClass (env, "com/gst_sdk_tutorials/tutorial_1/Tutorial1"); From 0ccc6fe8c8d502466e61ac4d28c6455ca6687c5e Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 15 Oct 2012 13:50:34 +0200 Subject: [PATCH 197/979] Do not use GST_ERROR before GStreamer has been initialized (tutorial 2) --- gst-sdk/tutorials/android-tutorial-2/jni/tutorial-2.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-2/jni/tutorial-2.c b/gst-sdk/tutorials/android-tutorial-2/jni/tutorial-2.c index b10e242b5a..a52501944d 100644 --- a/gst-sdk/tutorials/android-tutorial-2/jni/tutorial-2.c +++ b/gst-sdk/tutorials/android-tutorial-2/jni/tutorial-2.c @@ -191,6 +191,7 @@ static void *app_function (void *userdata) { static void gst_native_init (JNIEnv* env, jobject thiz) { CustomData *data = g_new0 (CustomData, 1); SET_CUSTOM_DATA (env, thiz, custom_data_field_id, data); + GST_DEBUG_CATEGORY_INIT (debug_category, "tutorial-2", 0, "Android tutorial 2"); gst_debug_set_threshold_for_name("tutorial-2", GST_LEVEL_DEBUG); GST_DEBUG ("Created CustomData at %p", data); data->app = (*env)->NewGlobalRef (env, thiz); @@ -259,12 +260,10 @@ static JNINativeMethod native_methods[] = { jint JNI_OnLoad(JavaVM *vm, void *reserved) { JNIEnv *env = NULL; - GST_DEBUG_CATEGORY_INIT (debug_category, "tutorial-2", 0, "Android tutorial 2"); - java_vm = vm; if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_4) != JNI_OK) { - GST_ERROR ("Could not retrieve JNIEnv"); + __android_log_print (ANDROID_LOG_ERROR, "tutorial-2", "Could not retrieve JNIEnv"); return 0; } jclass klass = (*env)->FindClass (env, "com/gst_sdk_tutorials/tutorial_2/Tutorial2"); From 1c3c4ee7b7b4444601badec2eaa536be60e30dba Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 15 Oct 2012 14:03:40 +0200 Subject: [PATCH 198/979] Do not use GST_ERROR before GStreamer has been initialized (tutorial 5) --- gst-sdk/tutorials/android-tutorial-5/jni/Android.mk | 2 +- gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-5/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-5/jni/Android.mk index a8ec210430..f86d8c522f 100755 --- a/gst-sdk/tutorials/android-tutorial-5/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-5/jni/Android.mk @@ -5,7 +5,7 @@ include $(CLEAR_VARS) LOCAL_MODULE := tutorial-5 LOCAL_SRC_FILES := tutorial-5.c LOCAL_SHARED_LIBRARIES := gstreamer_android -LOCAL_LDLIBS := -landroid +LOCAL_LDLIBS := -llog -landroid include $(BUILD_SHARED_LIBRARY) ifndef GSTREAMER_SDK_ROOT diff --git a/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c b/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c index 74d743f019..0cfa8c36ec 100755 --- a/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c +++ b/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -324,6 +325,8 @@ void gst_native_init (JNIEnv* env, jobject thiz) { data->desired_position = GST_CLOCK_TIME_NONE; data->last_seek_time = GST_CLOCK_TIME_NONE; SET_CUSTOM_DATA (env, thiz, custom_data_field_id, data); + GST_DEBUG_CATEGORY_INIT (debug_category, "tutorial-5", 0, "Android tutorial 5"); + gst_debug_set_threshold_for_name("tutorial-5", GST_LEVEL_DEBUG); GST_DEBUG ("Created CustomData at %p", data); data->app = (*env)->NewGlobalRef (env, thiz); GST_DEBUG ("Created GlobalRef for app object at %p", data->app); @@ -459,12 +462,10 @@ static JNINativeMethod native_methods[] = { jint JNI_OnLoad(JavaVM *vm, void *reserved) { JNIEnv *env = NULL; - GST_DEBUG_CATEGORY_INIT (debug_category, "tutorial-5", 0, "Android tutorial 5"); - java_vm = vm; if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_4) != JNI_OK) { - GST_ERROR ("Could not retrieve JNIEnv"); + __android_log_print (ANDROID_LOG_ERROR, "tutorial-5", "Could not retrieve JNIEnv"); return 0; } jclass klass = (*env)->FindClass (env, "com/gst_sdk_tutorials/tutorial_5/Tutorial5"); From 10a4d1a28c99c1d1ed811dc1ff09c5f3ec7bc579 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 15 Oct 2012 18:48:58 +0200 Subject: [PATCH 199/979] Tutorial 3 --- .../android-tutorial-3/AndroidManifest.xml | 17 + .../android-tutorial-3/jni/Android.mk | 20 ++ .../android-tutorial-3/jni/tutorial-3.c | 329 ++++++++++++++++++ .../res/drawable-hdpi/gst_sdk_icon.png | Bin 0 -> 6040 bytes .../res/drawable-ldpi/gst_sdk_icon.png | Bin 0 -> 3158 bytes .../res/drawable-mdpi/gst_sdk_icon.png | Bin 0 -> 4160 bytes .../res/drawable-xhdpi/gst_sdk_icon.png | Bin 0 -> 7712 bytes .../android-tutorial-3/res/layout/main.xml | 40 +++ .../android-tutorial-3/res/values/strings.xml | 6 + .../tutorial_3/Tutorial3.java | 147 ++++++++ 10 files changed, 559 insertions(+) create mode 100644 gst-sdk/tutorials/android-tutorial-3/AndroidManifest.xml create mode 100644 gst-sdk/tutorials/android-tutorial-3/jni/Android.mk create mode 100644 gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c create mode 100644 gst-sdk/tutorials/android-tutorial-3/res/drawable-hdpi/gst_sdk_icon.png create mode 100644 gst-sdk/tutorials/android-tutorial-3/res/drawable-ldpi/gst_sdk_icon.png create mode 100644 gst-sdk/tutorials/android-tutorial-3/res/drawable-mdpi/gst_sdk_icon.png create mode 100644 gst-sdk/tutorials/android-tutorial-3/res/drawable-xhdpi/gst_sdk_icon.png create mode 100644 gst-sdk/tutorials/android-tutorial-3/res/layout/main.xml create mode 100644 gst-sdk/tutorials/android-tutorial-3/res/values/strings.xml create mode 100644 gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java diff --git a/gst-sdk/tutorials/android-tutorial-3/AndroidManifest.xml b/gst-sdk/tutorials/android-tutorial-3/AndroidManifest.xml new file mode 100644 index 0000000000..922ea4a52d --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-3/AndroidManifest.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + diff --git a/gst-sdk/tutorials/android-tutorial-3/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-3/jni/Android.mk new file mode 100644 index 0000000000..3bc87a4ae3 --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-3/jni/Android.mk @@ -0,0 +1,20 @@ +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_MODULE := tutorial-3 +LOCAL_SRC_FILES := tutorial-3.c +LOCAL_SHARED_LIBRARIES := gstreamer_android +LOCAL_LDLIBS := -llog -landroid +include $(BUILD_SHARED_LIBRARY) + +ifndef GSTREAMER_SDK_ROOT +ifndef GSTREAMER_SDK_ROOT_ANDROID +$(error GSTREAMER_SDK_ROOT_ANDROID is not defined!) +endif +GSTREAMER_SDK_ROOT := $(GSTREAMER_SDK_ROOT_ANDROID) +endif +GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ +include $(GSTREAMER_NDK_BUILD_PATH)/plugins.mk +GSTREAMER_PLUGINS := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_SYS) +include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk diff --git a/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c b/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c new file mode 100644 index 0000000000..58d31549cd --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c @@ -0,0 +1,329 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +GST_DEBUG_CATEGORY_STATIC (debug_category); +#define GST_CAT_DEFAULT debug_category + +/* + * These macros provide a way to store the native pointer to CustomData, which might be 32 or 64 bits, into + * a jlong, which is always 64 bits, without warnings. + */ +#if GLIB_SIZEOF_VOID_P == 8 +# define GET_CUSTOM_DATA(env, thiz, fieldID) (CustomData *)(*env)->GetLongField (env, thiz, fieldID) +# define SET_CUSTOM_DATA(env, thiz, fieldID, data) (*env)->SetLongField (env, thiz, fieldID, (jlong)data) +#else +# define GET_CUSTOM_DATA(env, thiz, fieldID) (CustomData *)(jint)(*env)->GetLongField (env, thiz, fieldID) +# define SET_CUSTOM_DATA(env, thiz, fieldID, data) (*env)->SetLongField (env, thiz, fieldID, (jlong)(jint)data) +#endif + +/* Structure to contain all our information, so we can pass it to callbacks */ +typedef struct _CustomData { + jobject app; /* Application instance, used to call its methods. A global reference is kept. */ + GstElement *pipeline; /* The running pipeline */ + GstElement *video_sink;/* The video sink element which receives XOverlay commands */ + GMainContext *context; /* GLib context used to run the main loop */ + GMainLoop *main_loop; /* GLib main loop */ + gboolean initialized; /* To avoid informing the UI multiple times about the initialization */ + ANativeWindow *native_window; +} CustomData; + +/* These global variables cache values which are not changing during execution */ +static pthread_t gst_app_thread; +static pthread_key_t current_jni_env; +static JavaVM *java_vm; +static jfieldID custom_data_field_id; +static jmethodID set_message_method_id; +static jmethodID on_gstreamer_initialized_method_id; + +/* + * Private methods + */ + +/* Register this thread with the VM */ +static JNIEnv *attach_current_thread (void) { + JNIEnv *env; + JavaVMAttachArgs args; + + GST_DEBUG ("Attaching thread %p", g_thread_self ()); + args.version = JNI_VERSION_1_4; + args.name = NULL; + args.group = NULL; + + if ((*java_vm)->AttachCurrentThread (java_vm, &env, &args) < 0) { + GST_ERROR ("Failed to attach current thread"); + return NULL; + } + + return env; +} + +/* Unregister this thread from the VM */ +static void detach_current_thread (void *env) { + GST_DEBUG ("Detaching thread %p", g_thread_self ()); + (*java_vm)->DetachCurrentThread (java_vm); +} + +/* Retrieve the JNI environment for this thread */ +static JNIEnv *get_jni_env (void) { + JNIEnv *env; + + if ((env = pthread_getspecific (current_jni_env)) == NULL) { + env = attach_current_thread (); + pthread_setspecific (current_jni_env, env); + } + + return env; +} + +/* Change the content of the UI's TextView */ +static void set_ui_message (const gchar *message, CustomData *data) { + JNIEnv *env = get_jni_env (); + GST_DEBUG ("Setting message to: %s", message); + jstring jmessage = (*env)->NewStringUTF(env, message); + (*env)->CallVoidMethod (env, data->app, set_message_method_id, jmessage); + if ((*env)->ExceptionCheck (env)) { + GST_ERROR ("Failed to call Java method"); + (*env)->ExceptionClear (env); + } + (*env)->DeleteLocalRef (env, jmessage); +} + +/* Retrieve errors from the bus and show them on the UI */ +static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + GError *err; + gchar *debug_info; + gchar *message_string; + + gst_message_parse_error (msg, &err, &debug_info); + message_string = g_strdup_printf ("Error received from element %s: %s", GST_OBJECT_NAME (msg->src), err->message); + g_clear_error (&err); + g_free (debug_info); + set_ui_message (message_string, data); + g_free (message_string); + gst_element_set_state (data->pipeline, GST_STATE_NULL); +} + +/* Notify UI about pipeline state changes */ +static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + /* Only pay attention to messages coming from the pipeline, not its children */ + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->pipeline)) { + gchar *message = g_strdup_printf("State changed to %s", gst_element_state_get_name(new_state)); + set_ui_message(message, data); + g_free (message); + } +} + +/* Check if all conditions are met to report GStreamer as initialized. + * These conditions will change depending on the application */ +static void check_initialization_complete (CustomData *data) { + JNIEnv *env = get_jni_env (); + if (!data->initialized && data->native_window && data->main_loop) { + GST_DEBUG ("Initialization complete, notifying application. native_window:%p main_loop:%p", data->native_window, data->main_loop); + (*env)->CallVoidMethod (env, data->app, on_gstreamer_initialized_method_id); + if ((*env)->ExceptionCheck (env)) { + GST_ERROR ("Failed to call Java method"); + (*env)->ExceptionClear (env); + } + data->initialized = TRUE; + } +} + +/* Main method for the native code. This is executed on its own thread. */ +static void *app_function (void *userdata) { + JavaVMAttachArgs args; + GstBus *bus; + CustomData *data = (CustomData *)userdata; + GSource *bus_source; + GError *error = NULL; + + GST_DEBUG ("Creating pipeline in CustomData at %p", data); + + /* Create our own GLib Main Context and make it the default one */ + data->context = g_main_context_new (); + g_main_context_push_thread_default(data->context); + + /* Build pipeline */ + data->pipeline = gst_parse_launch("videotestsrc ! ffmpegcolorspace ! autovideosink", &error); + if (error) { + gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message); + g_clear_error (&error); + set_ui_message(message, data); + g_free (message); + return NULL; + } + + gst_element_set_state(data->pipeline, GST_STATE_READY); + + data->video_sink = gst_bin_get_by_interface(GST_BIN(data->pipeline), GST_TYPE_X_OVERLAY); + if (!data->video_sink) { + GST_ERROR ("Could not retrieve video sink"); + } + + if (data->native_window) { + GST_DEBUG ("Native window already received, notifying the pipeline about it."); + gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->video_sink), (guintptr)data->native_window); + } + + /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ + bus = gst_element_get_bus (data->pipeline); + bus_source = gst_bus_create_watch (bus); + g_source_set_callback (bus_source, (GSourceFunc) gst_bus_async_signal_func, NULL, NULL); + g_source_attach (bus_source, data->context); + g_source_unref (bus_source); + g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, data); + g_signal_connect (G_OBJECT (bus), "message::state-changed", (GCallback)state_changed_cb, data); + gst_object_unref (bus); + + /* Create a GLib Main Loop and set it to run */ + GST_DEBUG ("Entering main loop... (CustomData:%p)", data); + data->main_loop = g_main_loop_new (data->context, FALSE); + check_initialization_complete (data); + g_main_loop_run (data->main_loop); + GST_DEBUG ("Exited main loop"); + g_main_loop_unref (data->main_loop); + data->main_loop = NULL; + + /* Free resources */ + g_main_context_pop_thread_default(data->context); + g_main_context_unref (data->context); + gst_element_set_state (data->pipeline, GST_STATE_NULL); + gst_object_unref (data->pipeline); + + return NULL; +} + +/* + * Java Bindings + */ + +/* Instruct the native code to create its internal data structure, pipeline and thread */ +static void gst_native_init (JNIEnv* env, jobject thiz) { + CustomData *data = g_new0 (CustomData, 1); + SET_CUSTOM_DATA (env, thiz, custom_data_field_id, data); + GST_DEBUG_CATEGORY_INIT (debug_category, "tutorial-3", 0, "Android tutorial 3"); + gst_debug_set_threshold_for_name("tutorial-3", GST_LEVEL_DEBUG); + GST_DEBUG ("Created CustomData at %p", data); + data->app = (*env)->NewGlobalRef (env, thiz); + GST_DEBUG ("Created GlobalRef for app object at %p", data->app); + pthread_create (&gst_app_thread, NULL, &app_function, data); +} + +/* Quit the main loop, remove the native thread and free resources */ +static void gst_native_finalize (JNIEnv* env, jobject thiz) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + GST_DEBUG ("Quitting main loop..."); + g_main_loop_quit (data->main_loop); + GST_DEBUG ("Waiting for thread to finish..."); + pthread_join (gst_app_thread, NULL); + GST_DEBUG ("Deleting GlobalRef for app object at %p", data->app); + (*env)->DeleteGlobalRef (env, data->app); + GST_DEBUG ("Freeing CustomData at %p", data); + g_free (data); + SET_CUSTOM_DATA (env, thiz, custom_data_field_id, NULL); + GST_DEBUG ("Done finalizing"); +} + +/* Set pipeline to PLAYING state */ +static void gst_native_play (JNIEnv* env, jobject thiz) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + GST_DEBUG ("Setting state to PLAYING"); + gst_element_set_state (data->pipeline, GST_STATE_PLAYING); +} + +/* Set pipeline to PAUSED state */ +static void gst_native_pause (JNIEnv* env, jobject thiz) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + GST_DEBUG ("Setting state to PAUSED"); + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); +} + +/* Static class initializer: retrieve method and field IDs */ +static jboolean gst_native_class_init (JNIEnv* env, jclass klass) { + custom_data_field_id = (*env)->GetFieldID (env, klass, "native_custom_data", "J"); + set_message_method_id = (*env)->GetMethodID (env, klass, "setMessage", "(Ljava/lang/String;)V"); + on_gstreamer_initialized_method_id = (*env)->GetMethodID (env, klass, "onGStreamerInitialized", "()V"); + + if (!custom_data_field_id || !set_message_method_id || !on_gstreamer_initialized_method_id) { + /* We emit this message through the Android log instead of the GStreamer log because the later + * has not been initialized yet. + */ +// __android_log_print (ANDROID_LOG_ERROR, "tutorial-2", "The calling class does not implement all necessary interface methods"); + return JNI_FALSE; + } + return JNI_TRUE; +} + +static void gst_native_surface_init (JNIEnv *env, jobject thiz, jobject surface) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + GST_DEBUG ("Received surface %p", surface); + if (data->native_window) { + GST_DEBUG ("Releasing previous native window %p", data->native_window); + ANativeWindow_release (data->native_window); + } + data->native_window = ANativeWindow_fromSurface(env, surface); + GST_DEBUG ("Got Native Window %p", data->native_window); + + if (data->video_sink) { + GST_DEBUG ("Pipeline already created, notifying it about the native window."); + gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->video_sink), (guintptr)data->native_window); + } else { + GST_DEBUG ("Pipeline not created yet, it will later be notified about the native window."); + } + + check_initialization_complete (data); +} + +static void gst_native_surface_finalize (JNIEnv *env, jobject thiz) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + GST_DEBUG ("Releasing Native Window %p", data->native_window); + + if (data->video_sink) { + gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->video_sink), (guintptr)NULL); + gst_element_set_state (data->pipeline, GST_STATE_NULL); + } + + ANativeWindow_release (data->native_window); + data->native_window = NULL; +} + +/* List of implemented native methods */ +static JNINativeMethod native_methods[] = { + { "nativeInit", "()V", (void *) gst_native_init}, + { "nativeFinalize", "()V", (void *) gst_native_finalize}, + { "nativePlay", "()V", (void *) gst_native_play}, + { "nativePause", "()V", (void *) gst_native_pause}, + { "nativeSurfaceInit", "(Ljava/lang/Object;)V", (void *) gst_native_surface_init}, + { "nativeSurfaceFinalize", "()V", (void *) gst_native_surface_finalize}, + { "nativeClassInit", "()Z", (void *) gst_native_class_init} +}; + +/* Library initializer */ +jint JNI_OnLoad(JavaVM *vm, void *reserved) { + JNIEnv *env = NULL; + + java_vm = vm; + + if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_4) != JNI_OK) { +// __android_log_print (ANDROID_LOG_ERROR, "tutorial-3", "Could not retrieve JNIEnv"); + return 0; + } + jclass klass = (*env)->FindClass (env, "com/gst_sdk_tutorials/tutorial_3/Tutorial3"); + (*env)->RegisterNatives (env, klass, native_methods, G_N_ELEMENTS(native_methods)); + + pthread_key_create (¤t_jni_env, detach_current_thread); + + return JNI_VERSION_1_4; +} diff --git a/gst-sdk/tutorials/android-tutorial-3/res/drawable-hdpi/gst_sdk_icon.png b/gst-sdk/tutorials/android-tutorial-3/res/drawable-hdpi/gst_sdk_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ec2b2ad62f483778bf95f639bd93009b26a73059 GIT binary patch literal 6040 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 OO>arC#kU+gne-pYwIEFZ literal 0 HcmV?d00001 diff --git a/gst-sdk/tutorials/android-tutorial-3/res/drawable-xhdpi/gst_sdk_icon.png b/gst-sdk/tutorials/android-tutorial-3/res/drawable-xhdpi/gst_sdk_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8676b3d8009b5b7680dd9ae99a1f5bdaabfe23fd GIT binary patch literal 7712 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 literal 0 HcmV?d00001 diff --git a/gst-sdk/tutorials/android-tutorial-3/res/layout/main.xml b/gst-sdk/tutorials/android-tutorial-3/res/layout/main.xml new file mode 100644 index 0000000000..b0812e4ae2 --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-3/res/layout/main.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + diff --git a/gst-sdk/tutorials/android-tutorial-3/res/values/strings.xml b/gst-sdk/tutorials/android-tutorial-3/res/values/strings.xml new file mode 100644 index 0000000000..1ef127ff79 --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-3/res/values/strings.xml @@ -0,0 +1,6 @@ + + + Android tutorial 3 + Play + Stop + diff --git a/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java b/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java new file mode 100644 index 0000000000..63397c2f0d --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java @@ -0,0 +1,147 @@ +package com.gst_sdk_tutorials.tutorial_3; + +import android.app.Activity; +import android.os.Bundle; +import android.util.Log; +import android.view.SurfaceHolder; +import android.view.SurfaceView; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.ImageButton; +import android.widget.TextView; +import android.widget.Toast; + +import com.gst_sdk.GStreamer; + +public class Tutorial3 extends Activity implements SurfaceHolder.Callback { + private native void nativeInit(); // Initialize native code, build pipeline, etc + private native void nativeFinalize(); // Destroy pipeline and shutdown native code + private native void nativePlay(); // Set pipeline to PLAYING + private native void nativePause(); // Set pipeline to PAUSED + private static native boolean nativeClassInit(); // Initialize native class: cache Method IDs for callbacks + private native void nativeSurfaceInit(Object surface); + private native void nativeSurfaceFinalize(); + private long native_custom_data; // Native code will use this to keep private data + + private boolean is_playing_desired; // Whether the user asked to go to PLAYING + + private Bundle initialization_data; // onCreate parameters kept for later + + // Called when the activity is first created. + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + + // Initialize GStreamer and warn if it fails + try { + GStreamer.init(this); + } catch (Exception e) { + Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show(); + finish(); + return; + } + + setContentView(R.layout.main); + + ImageButton play = (ImageButton) this.findViewById(R.id.button_play); + play.setOnClickListener(new OnClickListener() { + public void onClick(View v) { + is_playing_desired = true; + nativePlay(); + } + }); + + ImageButton pause = (ImageButton) this.findViewById(R.id.button_stop); + pause.setOnClickListener(new OnClickListener() { + public void onClick(View v) { + is_playing_desired = false; + nativePause(); + } + }); + + SurfaceView sv = (SurfaceView) this.findViewById(R.id.surface_video); + SurfaceHolder sh = sv.getHolder(); + sh.addCallback(this); + + // Keep the instance state for later, since we will not perform our initialization + // until the native code reports that it is itself initialized. + initialization_data = savedInstanceState; + + // Start with disabled buttons, until native code is initialized + this.findViewById(R.id.button_play).setEnabled(false); + this.findViewById(R.id.button_stop).setEnabled(false); + is_playing_desired = false; + + nativeInit(); + } + + protected void onSaveInstanceState (Bundle outState) { + Log.d ("GStreamer", "Saving state, playing:" + is_playing_desired); + outState.putBoolean("playing", is_playing_desired); + } + + protected void onDestroy() { + nativeFinalize(); + super.onDestroy(); + } + + // Called from native code. This sets the content of the TextView from the UI thread. + private void setMessage(final String message) { + final TextView tv = (TextView) this.findViewById(R.id.textview_message); + runOnUiThread (new Runnable() { + public void run() { + tv.setText(message); + } + }); + } + + // Called from native code. Native code calls this once it has created its pipeline and + // the main loop is running, so it is ready to accept commands. + private void onGStreamerInitialized () { + // If initialization data is present, retrieve it + if (initialization_data != null) { + is_playing_desired = initialization_data.getBoolean("playing"); + Log.i ("GStreamer", "Restoring state, playing:" + is_playing_desired); + } + + // Restore previous playing state + if (is_playing_desired) { + nativePlay(); + } else { + nativePause(); + } + + // Re-enable buttons, now that GStreamer is initialized + final Activity activity = this; + runOnUiThread(new Runnable() { + public void run() { + activity.findViewById(R.id.button_play).setEnabled(true); + activity.findViewById(R.id.button_stop).setEnabled(true); + } + }); + } + + static { + System.loadLibrary("gstreamer_android"); + System.loadLibrary("tutorial-3"); + nativeClassInit(); + } + + public void surfaceChanged(SurfaceHolder holder, int format, int width, + int height) { + Log.d("GStreamer", "Surface changed to format " + format + " width " + + width + " height " + height); + nativeSurfaceInit (holder.getSurface()); + } + + public void surfaceCreated(SurfaceHolder holder) { + Log.d("GStreamer", "Surface created: " + holder.getSurface()); + } + + public void surfaceDestroyed(SurfaceHolder holder) { + Log.d("GStreamer", "Surface destroyed"); + nativeSurfaceFinalize (); + } + +} From ad8f0daffa3b0d355aacdc39a4fa3262c42ebb0b Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 15 Oct 2012 18:50:28 +0200 Subject: [PATCH 200/979] With proper debug output --- gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c b/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c index 58d31549cd..af74cfe089 100644 --- a/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c +++ b/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c @@ -258,7 +258,7 @@ static jboolean gst_native_class_init (JNIEnv* env, jclass klass) { /* We emit this message through the Android log instead of the GStreamer log because the later * has not been initialized yet. */ -// __android_log_print (ANDROID_LOG_ERROR, "tutorial-2", "The calling class does not implement all necessary interface methods"); + __android_log_print (ANDROID_LOG_ERROR, "tutorial-2", "The calling class does not implement all necessary interface methods"); return JNI_FALSE; } return JNI_TRUE; @@ -317,7 +317,7 @@ jint JNI_OnLoad(JavaVM *vm, void *reserved) { java_vm = vm; if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_4) != JNI_OK) { -// __android_log_print (ANDROID_LOG_ERROR, "tutorial-3", "Could not retrieve JNIEnv"); + __android_log_print (ANDROID_LOG_ERROR, "tutorial-3", "Could not retrieve JNIEnv"); return 0; } jclass klass = (*env)->FindClass (env, "com/gst_sdk_tutorials/tutorial_3/Tutorial3"); From 8548d90aac7d5d7b1acd40a849520ef57e7809a3 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 16 Oct 2012 11:14:08 +0200 Subject: [PATCH 201/979] Make sure the pipeline is in READY state before trying to set any window handle to the video sink. Send the app the Initialized signal after surface re-creation. --- gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c b/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c index af74cfe089..090ccf32db 100644 --- a/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c +++ b/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c @@ -160,6 +160,7 @@ static void *app_function (void *userdata) { return NULL; } + /* Set the pipeline to READY, so it can already accept a window handle, if we have one */ gst_element_set_state(data->pipeline, GST_STATE_READY); data->video_sink = gst_bin_get_by_interface(GST_BIN(data->pipeline), GST_TYPE_X_OVERLAY); @@ -210,6 +211,7 @@ static void gst_native_init (JNIEnv* env, jobject thiz) { SET_CUSTOM_DATA (env, thiz, custom_data_field_id, data); GST_DEBUG_CATEGORY_INIT (debug_category, "tutorial-3", 0, "Android tutorial 3"); gst_debug_set_threshold_for_name("tutorial-3", GST_LEVEL_DEBUG); + gst_debug_set_threshold_for_name("eglgles*", GST_LEVEL_DEBUG); GST_DEBUG ("Created CustomData at %p", data); data->app = (*env)->NewGlobalRef (env, thiz); GST_DEBUG ("Created GlobalRef for app object at %p", data->app); @@ -277,6 +279,7 @@ static void gst_native_surface_init (JNIEnv *env, jobject thiz, jobject surface) if (data->video_sink) { GST_DEBUG ("Pipeline already created, notifying it about the native window."); + gst_element_set_state (data->pipeline, GST_STATE_READY); gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->video_sink), (guintptr)data->native_window); } else { GST_DEBUG ("Pipeline not created yet, it will later be notified about the native window."); @@ -292,11 +295,12 @@ static void gst_native_surface_finalize (JNIEnv *env, jobject thiz) { if (data->video_sink) { gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->video_sink), (guintptr)NULL); - gst_element_set_state (data->pipeline, GST_STATE_NULL); + gst_element_set_state (data->pipeline, GST_STATE_READY); } ANativeWindow_release (data->native_window); data->native_window = NULL; + data->initialized = FALSE; } /* List of implemented native methods */ From ad13250d9336fb0b79c2e0548abf2e7d76e13546 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 16 Oct 2012 11:45:34 +0200 Subject: [PATCH 202/979] Some layout beautifying --- .../tutorials/android-tutorial-3/res/layout/main.xml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-3/res/layout/main.xml b/gst-sdk/tutorials/android-tutorial-3/res/layout/main.xml index b0812e4ae2..5da5857f2a 100644 --- a/gst-sdk/tutorials/android-tutorial-3/res/layout/main.xml +++ b/gst-sdk/tutorials/android-tutorial-3/res/layout/main.xml @@ -2,16 +2,20 @@ + android:layout_height="wrap_content" + android:layout_marginBottom="16dip" + android:gravity="center_horizontal" /> - + android:layout_height="wrap_content" + android:layout_gravity="center_vertical|center_horizontal" /> - + \ No newline at end of file From 2fd79e5b3f81c4dc4853f9ce7a5c3ed547703edc Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 17 Oct 2012 10:28:53 +0200 Subject: [PATCH 203/979] Whitespacey & comments --- .../tutorials/android-tutorial-3/jni/tutorial-3.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c b/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c index 090ccf32db..5c33acbdbf 100644 --- a/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c +++ b/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c @@ -24,13 +24,13 @@ GST_DEBUG_CATEGORY_STATIC (debug_category); /* Structure to contain all our information, so we can pass it to callbacks */ typedef struct _CustomData { - jobject app; /* Application instance, used to call its methods. A global reference is kept. */ - GstElement *pipeline; /* The running pipeline */ - GstElement *video_sink;/* The video sink element which receives XOverlay commands */ - GMainContext *context; /* GLib context used to run the main loop */ - GMainLoop *main_loop; /* GLib main loop */ - gboolean initialized; /* To avoid informing the UI multiple times about the initialization */ - ANativeWindow *native_window; + jobject app; /* Application instance, used to call its methods. A global reference is kept. */ + GstElement *pipeline; /* The running pipeline */ + GMainContext *context; /* GLib context used to run the main loop */ + GMainLoop *main_loop; /* GLib main loop */ + gboolean initialized; /* To avoid informing the UI multiple times about the initialization */ + GstElement *video_sink; /* The video sink element which receives XOverlay commands */ + ANativeWindow *native_window; /* The Android native window where video will be rendered */ } CustomData; /* These global variables cache values which are not changing during execution */ From 6b6dddde98cb4ccb20db024faf2210c101c096fd Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 17 Oct 2012 11:29:51 +0200 Subject: [PATCH 204/979] Simplify playing state tracking (and fix some problems) --- .../tutorial_3/Tutorial3.java | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java b/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java index 63397c2f0d..430cb57b04 100644 --- a/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java +++ b/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java @@ -25,8 +25,6 @@ public class Tutorial3 extends Activity implements SurfaceHolder.Callback { private boolean is_playing_desired; // Whether the user asked to go to PLAYING - private Bundle initialization_data; // onCreate parameters kept for later - // Called when the activity is first created. @Override public void onCreate(Bundle savedInstanceState) @@ -66,12 +64,17 @@ public class Tutorial3 extends Activity implements SurfaceHolder.Callback { // Keep the instance state for later, since we will not perform our initialization // until the native code reports that it is itself initialized. - initialization_data = savedInstanceState; + if (savedInstanceState != null) { + is_playing_desired = savedInstanceState.getBoolean("playing"); + Log.i ("GStreamer", "Activity created. Saved state is playing:" + is_playing_desired); + } else { + is_playing_desired = false; + Log.i ("GStreamer", "Activity created. There is no saved state, playing: false"); + } // Start with disabled buttons, until native code is initialized this.findViewById(R.id.button_play).setEnabled(false); this.findViewById(R.id.button_stop).setEnabled(false); - is_playing_desired = false; nativeInit(); } @@ -99,12 +102,7 @@ public class Tutorial3 extends Activity implements SurfaceHolder.Callback { // Called from native code. Native code calls this once it has created its pipeline and // the main loop is running, so it is ready to accept commands. private void onGStreamerInitialized () { - // If initialization data is present, retrieve it - if (initialization_data != null) { - is_playing_desired = initialization_data.getBoolean("playing"); - Log.i ("GStreamer", "Restoring state, playing:" + is_playing_desired); - } - + Log.i ("GStreamer", "Gst initialized. Restoring state, playing:" + is_playing_desired); // Restore previous playing state if (is_playing_desired) { nativePlay(); From 124f71f179f32aab05b602540de69a87faf09f7d Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 17 Oct 2012 11:33:55 +0200 Subject: [PATCH 205/979] Remove unnecessary comment --- .../src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java b/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java index 430cb57b04..d89a8acc76 100644 --- a/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java +++ b/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java @@ -62,8 +62,6 @@ public class Tutorial3 extends Activity implements SurfaceHolder.Callback { SurfaceHolder sh = sv.getHolder(); sh.addCallback(this); - // Keep the instance state for later, since we will not perform our initialization - // until the native code reports that it is itself initialized. if (savedInstanceState != null) { is_playing_desired = savedInstanceState.getBoolean("playing"); Log.i ("GStreamer", "Activity created. Saved state is playing:" + is_playing_desired); From c4a3f608e5ba896a60e32d7e4e71330350761273 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 17 Oct 2012 11:41:14 +0200 Subject: [PATCH 206/979] Simplify playing state tracking (and fix some problems) --- .../tutorial_2/Tutorial2.java | 20 ++++++++----------- 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-2/src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java b/gst-sdk/tutorials/android-tutorial-2/src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java index 873fe68724..4cebc6bfee 100644 --- a/gst-sdk/tutorials/android-tutorial-2/src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java +++ b/gst-sdk/tutorials/android-tutorial-2/src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java @@ -21,8 +21,6 @@ public class Tutorial2 extends Activity { private boolean is_playing_desired; // Whether the user asked to go to PLAYING - private Bundle initialization_data; // onCreate parameters kept for later - // Called when the activity is first created. @Override public void onCreate(Bundle savedInstanceState) @@ -56,14 +54,17 @@ public class Tutorial2 extends Activity { } }); - // Keep the instance state for later, since we will not perform our initialization - // until the native code reports that it is itself initialized. - initialization_data = savedInstanceState; + if (savedInstanceState != null) { + is_playing_desired = savedInstanceState.getBoolean("playing"); + Log.i ("GStreamer", "Activity created. Saved state is playing:" + is_playing_desired); + } else { + is_playing_desired = false; + Log.i ("GStreamer", "Activity created. There is no saved state, playing: false"); + } // Start with disabled buttons, until native code is initialized this.findViewById(R.id.button_play).setEnabled(false); this.findViewById(R.id.button_stop).setEnabled(false); - is_playing_desired = false; nativeInit(); } @@ -91,12 +92,7 @@ public class Tutorial2 extends Activity { // Called from native code. Native code calls this once it has created its pipeline and // the main loop is running, so it is ready to accept commands. private void onGStreamerInitialized () { - // If initialization data is present, retrieve it - if (initialization_data != null) { - is_playing_desired = initialization_data.getBoolean("playing"); - Log.i ("GStreamer", "Restoring state, playing:" + is_playing_desired); - } - + Log.i ("GStreamer", "Gst initialized. Restoring state, playing:" + is_playing_desired); // Restore previous playing state if (is_playing_desired) { nativePlay(); From 33450c17d2d0f623c09cc0707c34242726eb98cb Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 17 Oct 2012 14:01:12 +0200 Subject: [PATCH 207/979] Proper reporting of media size. Now the Android layout controls the appearance of the clip, instead of it always being maximized. --- .../android-tutorial-3/jni/tutorial-3.c | 39 +++++++++++- .../android-tutorial-3/res/layout/main.xml | 8 +-- .../tutorial_3/GStreamerSurfaceView.java | 62 +++++++++++++++++++ .../tutorial_3/Tutorial3.java | 7 +++ 4 files changed, 110 insertions(+), 6 deletions(-) create mode 100644 gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/GStreamerSurfaceView.java diff --git a/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c b/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c index 5c33acbdbf..adf67d95b6 100644 --- a/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c +++ b/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c @@ -5,6 +5,7 @@ #include #include #include +#include #include GST_DEBUG_CATEGORY_STATIC (debug_category); @@ -40,6 +41,7 @@ static JavaVM *java_vm; static jfieldID custom_data_field_id; static jmethodID set_message_method_id; static jmethodID on_gstreamer_initialized_method_id; +static jmethodID on_media_size_changed_method_id; /* * Private methods @@ -121,6 +123,31 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { } } +/* Called when Pad Caps change on the video sink */ +static void caps_cb (GstPad *pad, GParamSpec *pspec, CustomData *data) { + JNIEnv *env = get_jni_env (); + GstVideoFormat fmt; + int width; + int height; + GstCaps *caps; + + caps = gst_pad_get_negotiated_caps (pad); + if (gst_video_format_parse_caps(caps, &fmt, &width, &height)) { + int par_n, par_d; + if (gst_video_parse_caps_pixel_aspect_ratio (caps, &par_n, &par_d)) { + width = width * par_n / par_d; + } + GST_DEBUG ("Media size changed to %dx%d", width, height); + + (*env)->CallVoidMethod (env, data->app, on_media_size_changed_method_id, (jint)width, (jint)height); + if ((*env)->ExceptionCheck (env)) { + GST_ERROR ("Failed to call Java method"); + (*env)->ExceptionClear (env); + } + } + gst_caps_unref(caps); +} + /* Check if all conditions are met to report GStreamer as initialized. * These conditions will change depending on the application */ static void check_initialization_complete (CustomData *data) { @@ -143,6 +170,7 @@ static void *app_function (void *userdata) { CustomData *data = (CustomData *)userdata; GSource *bus_source; GError *error = NULL; + GstPad *video_sink_pad; GST_DEBUG ("Creating pipeline in CustomData at %p", data); @@ -166,7 +194,12 @@ static void *app_function (void *userdata) { data->video_sink = gst_bin_get_by_interface(GST_BIN(data->pipeline), GST_TYPE_X_OVERLAY); if (!data->video_sink) { GST_ERROR ("Could not retrieve video sink"); + return NULL; } + /* We want to be notified when the Caps on the video sink's Pad change */ + video_sink_pad = gst_element_get_static_pad (data->video_sink, "sink"); + g_signal_connect (G_OBJECT (video_sink_pad), "notify::caps", (GCallback)caps_cb, data); + gst_object_unref (video_sink_pad); if (data->native_window) { GST_DEBUG ("Native window already received, notifying the pipeline about it."); @@ -255,12 +288,14 @@ static jboolean gst_native_class_init (JNIEnv* env, jclass klass) { custom_data_field_id = (*env)->GetFieldID (env, klass, "native_custom_data", "J"); set_message_method_id = (*env)->GetMethodID (env, klass, "setMessage", "(Ljava/lang/String;)V"); on_gstreamer_initialized_method_id = (*env)->GetMethodID (env, klass, "onGStreamerInitialized", "()V"); + on_media_size_changed_method_id = (*env)->GetMethodID (env, klass, "onMediaSizeChanged", "(II)V"); - if (!custom_data_field_id || !set_message_method_id || !on_gstreamer_initialized_method_id) { + if (!custom_data_field_id || !set_message_method_id || !on_gstreamer_initialized_method_id || + !on_media_size_changed_method_id) { /* We emit this message through the Android log instead of the GStreamer log because the later * has not been initialized yet. */ - __android_log_print (ANDROID_LOG_ERROR, "tutorial-2", "The calling class does not implement all necessary interface methods"); + __android_log_print (ANDROID_LOG_ERROR, "tutorial-3", "The calling class does not implement all necessary interface methods"); return JNI_FALSE; } return JNI_TRUE; diff --git a/gst-sdk/tutorials/android-tutorial-3/res/layout/main.xml b/gst-sdk/tutorials/android-tutorial-3/res/layout/main.xml index 5da5857f2a..a5d269e3a5 100644 --- a/gst-sdk/tutorials/android-tutorial-3/res/layout/main.xml +++ b/gst-sdk/tutorials/android-tutorial-3/res/layout/main.xml @@ -34,11 +34,11 @@ android:src="@android:drawable/ic_media_pause" android:text="@string/button_stop" /> - - \ No newline at end of file diff --git a/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/GStreamerSurfaceView.java b/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/GStreamerSurfaceView.java new file mode 100644 index 0000000000..eb70cf7534 --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/GStreamerSurfaceView.java @@ -0,0 +1,62 @@ +package com.gst_sdk_tutorials.tutorial_3; + +import android.content.Context; +import android.util.AttributeSet; +import android.view.SurfaceView; +import android.view.View; + +// A simple SurfaceView whose width and height is set from the outside +public class GStreamerSurfaceView extends SurfaceView { + public int media_width = 320; // Default values, only really meaningful for the layout editor in Eclipse + public int media_height = 200; + + // Mandatory constructors, they do not do much + public GStreamerSurfaceView(Context context, AttributeSet attrs, + int defStyle) { + super(context, attrs, defStyle); + } + + public GStreamerSurfaceView(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public GStreamerSurfaceView (Context context) { + super(context); + } + + // Called by the layout manager to find out our size and give us some rules + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + int width = 0, height = 0; + + // Obey width rules + switch (View.MeasureSpec.getMode(widthMeasureSpec)) { + case View.MeasureSpec.AT_MOST: + width = Math.min (View.MeasureSpec.getSize(widthMeasureSpec), media_width); + break; + case View.MeasureSpec.EXACTLY: + width = View.MeasureSpec.getSize(widthMeasureSpec); + break; + case View.MeasureSpec.UNSPECIFIED: + width = media_width; + } + + // Obey height rules + switch (View.MeasureSpec.getMode(heightMeasureSpec)) { + case View.MeasureSpec.AT_MOST: + height = Math.min (View.MeasureSpec.getSize(heightMeasureSpec), media_height); + break; + case View.MeasureSpec.EXACTLY: + height = View.MeasureSpec.getSize(heightMeasureSpec); + break; + case View.MeasureSpec.UNSPECIFIED: + height = media_height; + } + + // Obey minimum size + width = Math.max (getSuggestedMinimumWidth(), width); + height = Math.max (getSuggestedMinimumHeight(), height); + setMeasuredDimension(width, height); + } + +} diff --git a/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java b/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java index d89a8acc76..1db09d6aa7 100644 --- a/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java +++ b/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java @@ -118,6 +118,13 @@ public class Tutorial3 extends Activity implements SurfaceHolder.Callback { }); } + private void onMediaSizeChanged (int width, int height) { + Log.i ("GStreamer", "Media size changed to " + width + "x" + height); + GStreamerSurfaceView gsv = (GStreamerSurfaceView) this.findViewById(R.id.surface_video); + gsv.media_width = width; + gsv.media_height = height; + } + static { System.loadLibrary("gstreamer_android"); System.loadLibrary("tutorial-3"); From a00f4d59d3026055d6b53fcbf8d05ea6bb2cc6d1 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 17 Oct 2012 15:49:14 +0200 Subject: [PATCH 208/979] Add warptv to the pipeline, for added awesomeness. --- gst-sdk/tutorials/android-tutorial-3/jni/Android.mk | 2 +- gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-3/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-3/jni/Android.mk index 3bc87a4ae3..985950395f 100644 --- a/gst-sdk/tutorials/android-tutorial-3/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-3/jni/Android.mk @@ -16,5 +16,5 @@ GSTREAMER_SDK_ROOT := $(GSTREAMER_SDK_ROOT_ANDROID) endif GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ include $(GSTREAMER_NDK_BUILD_PATH)/plugins.mk -GSTREAMER_PLUGINS := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_SYS) +GSTREAMER_PLUGINS := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_SYS) $(GSTREAMER_PLUGINS_EFFECTS) include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk diff --git a/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c b/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c index adf67d95b6..cd81fa7dd6 100644 --- a/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c +++ b/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c @@ -179,7 +179,7 @@ static void *app_function (void *userdata) { g_main_context_push_thread_default(data->context); /* Build pipeline */ - data->pipeline = gst_parse_launch("videotestsrc ! ffmpegcolorspace ! autovideosink", &error); + data->pipeline = gst_parse_launch("videotestsrc ! warptv ! ffmpegcolorspace ! autovideosink", &error); if (error) { gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message); g_clear_error (&error); From 2f602601f03ba6e0a98af268837bedc4241b9a4e Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 17 Oct 2012 15:58:17 +0200 Subject: [PATCH 209/979] Remove video sink debug --- gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c | 1 - 1 file changed, 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c b/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c index cd81fa7dd6..25ce9c1d8f 100644 --- a/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c +++ b/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c @@ -244,7 +244,6 @@ static void gst_native_init (JNIEnv* env, jobject thiz) { SET_CUSTOM_DATA (env, thiz, custom_data_field_id, data); GST_DEBUG_CATEGORY_INIT (debug_category, "tutorial-3", 0, "Android tutorial 3"); gst_debug_set_threshold_for_name("tutorial-3", GST_LEVEL_DEBUG); - gst_debug_set_threshold_for_name("eglgles*", GST_LEVEL_DEBUG); GST_DEBUG ("Created CustomData at %p", data); data->app = (*env)->NewGlobalRef (env, thiz); GST_DEBUG ("Created GlobalRef for app object at %p", data->app); From aeefdd86bc681c14f93dfc08074edab4555982a3 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Thu, 18 Oct 2012 13:40:42 +0200 Subject: [PATCH 210/979] Fix memleak :) --- gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c b/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c index 25ce9c1d8f..31e590767c 100644 --- a/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c +++ b/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c @@ -229,6 +229,7 @@ static void *app_function (void *userdata) { g_main_context_pop_thread_default(data->context); g_main_context_unref (data->context); gst_element_set_state (data->pipeline, GST_STATE_NULL); + gst_object_unref (data->video_sink); gst_object_unref (data->pipeline); return NULL; From 334661044f679ecf3a4f31ff78b06ca5b84e8727 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Thu, 18 Oct 2012 17:55:43 +0200 Subject: [PATCH 211/979] Implement Aspect ratio preservation in GStreamerSurfaceView. Fix some corner cases that this triggers in the surface size reporting code. --- .../android-tutorial-3/jni/tutorial-3.c | 16 +++++++++---- .../android-tutorial-3/res/layout/main.xml | 5 ++-- .../tutorial_3/GStreamerSurfaceView.java | 23 ++++++++++++++----- .../tutorial_3/Tutorial3.java | 7 +++++- 4 files changed, 38 insertions(+), 13 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c b/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c index 31e590767c..6390794e03 100644 --- a/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c +++ b/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c @@ -304,13 +304,21 @@ static jboolean gst_native_class_init (JNIEnv* env, jclass klass) { static void gst_native_surface_init (JNIEnv *env, jobject thiz, jobject surface) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); if (!data) return; - GST_DEBUG ("Received surface %p", surface); + ANativeWindow *new_native_window = ANativeWindow_fromSurface(env, surface); + GST_DEBUG ("Received surface %p (native window %p)", surface, new_native_window); + if (data->native_window) { - GST_DEBUG ("Releasing previous native window %p", data->native_window); ANativeWindow_release (data->native_window); + if (data->native_window == new_native_window) { + GST_DEBUG ("New native window is the same as the previous one", data->native_window); + if (data->video_sink) + gst_x_overlay_expose(GST_X_OVERLAY (data->video_sink)); + return; + } else { + GST_DEBUG ("Released previous native window %p", data->native_window); + } } - data->native_window = ANativeWindow_fromSurface(env, surface); - GST_DEBUG ("Got Native Window %p", data->native_window); + data->native_window = new_native_window; if (data->video_sink) { GST_DEBUG ("Pipeline already created, notifying it about the native window."); diff --git a/gst-sdk/tutorials/android-tutorial-3/res/layout/main.xml b/gst-sdk/tutorials/android-tutorial-3/res/layout/main.xml index a5d269e3a5..4b50cece1f 100644 --- a/gst-sdk/tutorials/android-tutorial-3/res/layout/main.xml +++ b/gst-sdk/tutorials/android-tutorial-3/res/layout/main.xml @@ -15,6 +15,7 @@ @@ -37,8 +38,8 @@ \ No newline at end of file diff --git a/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/GStreamerSurfaceView.java b/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/GStreamerSurfaceView.java index eb70cf7534..8b0ecfc9e5 100644 --- a/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/GStreamerSurfaceView.java +++ b/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/GStreamerSurfaceView.java @@ -2,13 +2,14 @@ package com.gst_sdk_tutorials.tutorial_3; import android.content.Context; import android.util.AttributeSet; +import android.util.Log; import android.view.SurfaceView; import android.view.View; // A simple SurfaceView whose width and height is set from the outside public class GStreamerSurfaceView extends SurfaceView { - public int media_width = 320; // Default values, only really meaningful for the layout editor in Eclipse - public int media_height = 200; + public int media_width = 100; // Default values, only really meaningful for the layout editor in Eclipse + public int media_height = 100; // Mandatory constructors, they do not do much public GStreamerSurfaceView(Context context, AttributeSet attrs, @@ -29,11 +30,10 @@ public class GStreamerSurfaceView extends SurfaceView { protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int width = 0, height = 0; + Log.i ("GStreamer", "onMeasure called with " + media_width + "x" + media_height); // Obey width rules switch (View.MeasureSpec.getMode(widthMeasureSpec)) { case View.MeasureSpec.AT_MOST: - width = Math.min (View.MeasureSpec.getSize(widthMeasureSpec), media_width); - break; case View.MeasureSpec.EXACTLY: width = View.MeasureSpec.getSize(widthMeasureSpec); break; @@ -44,8 +44,6 @@ public class GStreamerSurfaceView extends SurfaceView { // Obey height rules switch (View.MeasureSpec.getMode(heightMeasureSpec)) { case View.MeasureSpec.AT_MOST: - height = Math.min (View.MeasureSpec.getSize(heightMeasureSpec), media_height); - break; case View.MeasureSpec.EXACTLY: height = View.MeasureSpec.getSize(heightMeasureSpec); break; @@ -53,6 +51,19 @@ public class GStreamerSurfaceView extends SurfaceView { height = media_height; } + // Preserve aspect ratio if we are allowed freedom in both axes + // FIXME: Implement the case where only one axis is free + if (View.MeasureSpec.getMode(heightMeasureSpec) == View.MeasureSpec.AT_MOST && + View.MeasureSpec.getMode(widthMeasureSpec) == View.MeasureSpec.AT_MOST) { + int correct_height = width * media_height / media_width; + int correct_width = height * media_width / media_height; + + if (correct_height < height) + height = correct_height; + else + width = correct_width; + } + // Obey minimum size width = Math.max (getSuggestedMinimumWidth(), width); height = Math.max (getSuggestedMinimumHeight(), height); diff --git a/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java b/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java index 1db09d6aa7..1db112f360 100644 --- a/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java +++ b/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java @@ -120,9 +120,14 @@ public class Tutorial3 extends Activity implements SurfaceHolder.Callback { private void onMediaSizeChanged (int width, int height) { Log.i ("GStreamer", "Media size changed to " + width + "x" + height); - GStreamerSurfaceView gsv = (GStreamerSurfaceView) this.findViewById(R.id.surface_video); + final GStreamerSurfaceView gsv = (GStreamerSurfaceView) this.findViewById(R.id.surface_video); gsv.media_width = width; gsv.media_height = height; + runOnUiThread(new Runnable() { + public void run() { + gsv.requestLayout(); + } + }); } static { From efbde418b28a759e82d95a0049374c74dd2f0839 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 19 Oct 2012 10:37:21 +0200 Subject: [PATCH 212/979] Package for the GStreamer class changed to com.gstreamer --- .../src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java | 2 +- .../src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java | 2 +- .../src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java | 2 +- .../src/com/gst_sdk_tutorials/tutorial_5/Tutorial5.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java index 57a7ae6106..37d8cbcdbe 100644 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -5,7 +5,7 @@ import android.os.Bundle; import android.widget.TextView; import android.widget.Toast; -import com.gst_sdk.GStreamer; +import com.gstreamer.GStreamer; public class Tutorial1 extends Activity { private native String nativeGetGStreamerInfo(); diff --git a/gst-sdk/tutorials/android-tutorial-2/src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java b/gst-sdk/tutorials/android-tutorial-2/src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java index 4cebc6bfee..517873b301 100644 --- a/gst-sdk/tutorials/android-tutorial-2/src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java +++ b/gst-sdk/tutorials/android-tutorial-2/src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java @@ -9,7 +9,7 @@ import android.widget.ImageButton; import android.widget.TextView; import android.widget.Toast; -import com.gst_sdk.GStreamer; +import com.gstreamer.GStreamer; public class Tutorial2 extends Activity { private native void nativeInit(); // Initialize native code, build pipeline, etc diff --git a/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java b/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java index 1db112f360..95e1356706 100644 --- a/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java +++ b/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java @@ -11,7 +11,7 @@ import android.widget.ImageButton; import android.widget.TextView; import android.widget.Toast; -import com.gst_sdk.GStreamer; +import com.gstreamer.GStreamer; public class Tutorial3 extends Activity implements SurfaceHolder.Callback { private native void nativeInit(); // Initialize native code, build pipeline, etc diff --git a/gst-sdk/tutorials/android-tutorial-5/src/com/gst_sdk_tutorials/tutorial_5/Tutorial5.java b/gst-sdk/tutorials/android-tutorial-5/src/com/gst_sdk_tutorials/tutorial_5/Tutorial5.java index 223a372f4b..bd09d456b9 100644 --- a/gst-sdk/tutorials/android-tutorial-5/src/com/gst_sdk_tutorials/tutorial_5/Tutorial5.java +++ b/gst-sdk/tutorials/android-tutorial-5/src/com/gst_sdk_tutorials/tutorial_5/Tutorial5.java @@ -4,7 +4,7 @@ import java.text.SimpleDateFormat; import java.util.Date; import java.util.TimeZone; -import com.gst_sdk.GStreamer; +import com.gstreamer.GStreamer; import com.lamerman.FileDialog; import com.lamerman.SelectionMode; From e8010b654fe28d448ab224182ca53cda2dcc2703 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 19 Oct 2012 14:03:35 +0200 Subject: [PATCH 213/979] Fix (workaround?, hack?) for expose() having the wrong surface size. --- gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c b/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c index 6390794e03..207de0e884 100644 --- a/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c +++ b/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c @@ -313,6 +313,7 @@ static void gst_native_surface_init (JNIEnv *env, jobject thiz, jobject surface) GST_DEBUG ("New native window is the same as the previous one", data->native_window); if (data->video_sink) gst_x_overlay_expose(GST_X_OVERLAY (data->video_sink)); + gst_x_overlay_expose(GST_X_OVERLAY (data->video_sink)); return; } else { GST_DEBUG ("Released previous native window %p", data->native_window); From 3cfa87cbb721fc36459aeeb42d5bd3d7424643aa Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 19 Oct 2012 14:05:41 +0200 Subject: [PATCH 214/979] Give the default media size a 4:3 aspect ratio. This will make the tutorial look right, but it is not a fix for the first frame jumping into position. --- .../gst_sdk_tutorials/tutorial_3/GStreamerSurfaceView.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/GStreamerSurfaceView.java b/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/GStreamerSurfaceView.java index 8b0ecfc9e5..f338d4208d 100644 --- a/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/GStreamerSurfaceView.java +++ b/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/GStreamerSurfaceView.java @@ -8,8 +8,8 @@ import android.view.View; // A simple SurfaceView whose width and height is set from the outside public class GStreamerSurfaceView extends SurfaceView { - public int media_width = 100; // Default values, only really meaningful for the layout editor in Eclipse - public int media_height = 100; + public int media_width = 320; // Default values, only really meaningful for the layout editor in Eclipse + public int media_height = 240; // Mandatory constructors, they do not do much public GStreamerSurfaceView(Context context, AttributeSet attrs, From dea0bd1f0b0e94784b89f9f133148e9a1efb3d11 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 19 Oct 2012 14:35:10 +0200 Subject: [PATCH 215/979] Implement remaining aspect ratio calculations --- .../tutorial_3/GStreamerSurfaceView.java | 27 ++++++++++++++----- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/GStreamerSurfaceView.java b/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/GStreamerSurfaceView.java index f338d4208d..591f982c35 100644 --- a/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/GStreamerSurfaceView.java +++ b/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/GStreamerSurfaceView.java @@ -25,27 +25,41 @@ public class GStreamerSurfaceView extends SurfaceView { super(context); } - // Called by the layout manager to find out our size and give us some rules + // Called by the layout manager to find out our size and give us some rules. + // We will try to maximize our size, and preserve the media's aspect ratio if + // we are given the freedom to do so. @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int width = 0, height = 0; + int wmode = View.MeasureSpec.getMode(widthMeasureSpec); + int hmode = View.MeasureSpec.getMode(heightMeasureSpec); + int wsize = View.MeasureSpec.getSize(widthMeasureSpec); + int hsize = View.MeasureSpec.getSize(heightMeasureSpec); Log.i ("GStreamer", "onMeasure called with " + media_width + "x" + media_height); // Obey width rules - switch (View.MeasureSpec.getMode(widthMeasureSpec)) { + switch (wmode) { case View.MeasureSpec.AT_MOST: + if (hmode == View.MeasureSpec.EXACTLY) { + width = Math.min(hsize * media_width / media_height, wsize); + break; + } case View.MeasureSpec.EXACTLY: - width = View.MeasureSpec.getSize(widthMeasureSpec); + width = wsize; break; case View.MeasureSpec.UNSPECIFIED: width = media_width; } // Obey height rules - switch (View.MeasureSpec.getMode(heightMeasureSpec)) { + switch (hmode) { case View.MeasureSpec.AT_MOST: + if (wmode == View.MeasureSpec.EXACTLY) { + height = Math.min(wsize * media_height / media_width, hsize); + break; + } case View.MeasureSpec.EXACTLY: - height = View.MeasureSpec.getSize(heightMeasureSpec); + height = hsize; break; case View.MeasureSpec.UNSPECIFIED: height = media_height; @@ -53,8 +67,7 @@ public class GStreamerSurfaceView extends SurfaceView { // Preserve aspect ratio if we are allowed freedom in both axes // FIXME: Implement the case where only one axis is free - if (View.MeasureSpec.getMode(heightMeasureSpec) == View.MeasureSpec.AT_MOST && - View.MeasureSpec.getMode(widthMeasureSpec) == View.MeasureSpec.AT_MOST) { + if (hmode == View.MeasureSpec.AT_MOST && wmode == View.MeasureSpec.AT_MOST) { int correct_height = width * media_height / media_width; int correct_width = height * media_width / media_height; From 67461d31568229f4c7cfb609493835ad4270d3ed Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 19 Oct 2012 14:36:01 +0200 Subject: [PATCH 216/979] Comment --- .../com/gst_sdk_tutorials/tutorial_3/GStreamerSurfaceView.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/GStreamerSurfaceView.java b/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/GStreamerSurfaceView.java index 591f982c35..7bb1dd25ed 100644 --- a/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/GStreamerSurfaceView.java +++ b/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/GStreamerSurfaceView.java @@ -65,8 +65,7 @@ public class GStreamerSurfaceView extends SurfaceView { height = media_height; } - // Preserve aspect ratio if we are allowed freedom in both axes - // FIXME: Implement the case where only one axis is free + // Finally, calculate best size when both axis are free if (hmode == View.MeasureSpec.AT_MOST && wmode == View.MeasureSpec.AT_MOST) { int correct_height = width * media_height / media_width; int correct_width = height * media_width / media_height; From a35d1f390cb3cf5baeda334291faf3927303533a Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 19 Oct 2012 14:38:46 +0200 Subject: [PATCH 217/979] Whitespacey in layout --- gst-sdk/tutorials/android-tutorial-3/res/layout/main.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-3/res/layout/main.xml b/gst-sdk/tutorials/android-tutorial-3/res/layout/main.xml index 4b50cece1f..ceb1b6793b 100644 --- a/gst-sdk/tutorials/android-tutorial-3/res/layout/main.xml +++ b/gst-sdk/tutorials/android-tutorial-3/res/layout/main.xml @@ -35,7 +35,7 @@ android:src="@android:drawable/ic_media_pause" android:text="@string/button_stop" /> - + Date: Fri, 19 Oct 2012 15:38:12 +0200 Subject: [PATCH 218/979] Missing braces! --- gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c b/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c index 207de0e884..c16b297377 100644 --- a/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c +++ b/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c @@ -311,9 +311,10 @@ static void gst_native_surface_init (JNIEnv *env, jobject thiz, jobject surface) ANativeWindow_release (data->native_window); if (data->native_window == new_native_window) { GST_DEBUG ("New native window is the same as the previous one", data->native_window); - if (data->video_sink) + if (data->video_sink) { gst_x_overlay_expose(GST_X_OVERLAY (data->video_sink)); gst_x_overlay_expose(GST_X_OVERLAY (data->video_sink)); + } return; } else { GST_DEBUG ("Released previous native window %p", data->native_window); From 1c4d79835a79f5e9d4fa753b0aae2295ee29850f Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 22 Oct 2012 12:14:21 +0200 Subject: [PATCH 219/979] Remove runtime detection of media size as it causes the layout to be recalculated once a frame has already been shown, and it looks ugly. A different solution will be tried for future tutorials. --- .../android-tutorial-3/jni/tutorial-3.c | 35 +------------------ .../tutorial_3/GStreamerSurfaceView.java | 2 +- .../tutorial_3/Tutorial3.java | 12 ------- 3 files changed, 2 insertions(+), 47 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c b/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c index c16b297377..24169623f1 100644 --- a/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c +++ b/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c @@ -41,7 +41,6 @@ static JavaVM *java_vm; static jfieldID custom_data_field_id; static jmethodID set_message_method_id; static jmethodID on_gstreamer_initialized_method_id; -static jmethodID on_media_size_changed_method_id; /* * Private methods @@ -123,31 +122,6 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { } } -/* Called when Pad Caps change on the video sink */ -static void caps_cb (GstPad *pad, GParamSpec *pspec, CustomData *data) { - JNIEnv *env = get_jni_env (); - GstVideoFormat fmt; - int width; - int height; - GstCaps *caps; - - caps = gst_pad_get_negotiated_caps (pad); - if (gst_video_format_parse_caps(caps, &fmt, &width, &height)) { - int par_n, par_d; - if (gst_video_parse_caps_pixel_aspect_ratio (caps, &par_n, &par_d)) { - width = width * par_n / par_d; - } - GST_DEBUG ("Media size changed to %dx%d", width, height); - - (*env)->CallVoidMethod (env, data->app, on_media_size_changed_method_id, (jint)width, (jint)height); - if ((*env)->ExceptionCheck (env)) { - GST_ERROR ("Failed to call Java method"); - (*env)->ExceptionClear (env); - } - } - gst_caps_unref(caps); -} - /* Check if all conditions are met to report GStreamer as initialized. * These conditions will change depending on the application */ static void check_initialization_complete (CustomData *data) { @@ -170,7 +144,6 @@ static void *app_function (void *userdata) { CustomData *data = (CustomData *)userdata; GSource *bus_source; GError *error = NULL; - GstPad *video_sink_pad; GST_DEBUG ("Creating pipeline in CustomData at %p", data); @@ -196,10 +169,6 @@ static void *app_function (void *userdata) { GST_ERROR ("Could not retrieve video sink"); return NULL; } - /* We want to be notified when the Caps on the video sink's Pad change */ - video_sink_pad = gst_element_get_static_pad (data->video_sink, "sink"); - g_signal_connect (G_OBJECT (video_sink_pad), "notify::caps", (GCallback)caps_cb, data); - gst_object_unref (video_sink_pad); if (data->native_window) { GST_DEBUG ("Native window already received, notifying the pipeline about it."); @@ -288,10 +257,8 @@ static jboolean gst_native_class_init (JNIEnv* env, jclass klass) { custom_data_field_id = (*env)->GetFieldID (env, klass, "native_custom_data", "J"); set_message_method_id = (*env)->GetMethodID (env, klass, "setMessage", "(Ljava/lang/String;)V"); on_gstreamer_initialized_method_id = (*env)->GetMethodID (env, klass, "onGStreamerInitialized", "()V"); - on_media_size_changed_method_id = (*env)->GetMethodID (env, klass, "onMediaSizeChanged", "(II)V"); - if (!custom_data_field_id || !set_message_method_id || !on_gstreamer_initialized_method_id || - !on_media_size_changed_method_id) { + if (!custom_data_field_id || !set_message_method_id || !on_gstreamer_initialized_method_id) { /* We emit this message through the Android log instead of the GStreamer log because the later * has not been initialized yet. */ diff --git a/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/GStreamerSurfaceView.java b/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/GStreamerSurfaceView.java index 7bb1dd25ed..c6ec456d07 100644 --- a/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/GStreamerSurfaceView.java +++ b/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/GStreamerSurfaceView.java @@ -8,7 +8,7 @@ import android.view.View; // A simple SurfaceView whose width and height is set from the outside public class GStreamerSurfaceView extends SurfaceView { - public int media_width = 320; // Default values, only really meaningful for the layout editor in Eclipse + public int media_width = 320; public int media_height = 240; // Mandatory constructors, they do not do much diff --git a/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java b/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java index 95e1356706..a36c80086d 100644 --- a/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java +++ b/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java @@ -118,18 +118,6 @@ public class Tutorial3 extends Activity implements SurfaceHolder.Callback { }); } - private void onMediaSizeChanged (int width, int height) { - Log.i ("GStreamer", "Media size changed to " + width + "x" + height); - final GStreamerSurfaceView gsv = (GStreamerSurfaceView) this.findViewById(R.id.surface_video); - gsv.media_width = width; - gsv.media_height = height; - runOnUiThread(new Runnable() { - public void run() { - gsv.requestLayout(); - } - }); - } - static { System.loadLibrary("gstreamer_android"); System.loadLibrary("tutorial-3"); From a62471700f5e871205e005927062a10398a3a478 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 22 Oct 2012 18:17:31 +0200 Subject: [PATCH 220/979] Code cleanup: only call gst_x_overlay_set_window_handle from one place. --- .../android-tutorial-3/jni/tutorial-3.c | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c b/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c index 24169623f1..04bd09b7fc 100644 --- a/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c +++ b/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c @@ -128,6 +128,10 @@ static void check_initialization_complete (CustomData *data) { JNIEnv *env = get_jni_env (); if (!data->initialized && data->native_window && data->main_loop) { GST_DEBUG ("Initialization complete, notifying application. native_window:%p main_loop:%p", data->native_window, data->main_loop); + + /* The main loop is running and we received a native window, inform the sink about it */ + gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->video_sink), (guintptr)data->native_window); + (*env)->CallVoidMethod (env, data->app, on_gstreamer_initialized_method_id); if ((*env)->ExceptionCheck (env)) { GST_ERROR ("Failed to call Java method"); @@ -170,11 +174,6 @@ static void *app_function (void *userdata) { return NULL; } - if (data->native_window) { - GST_DEBUG ("Native window already received, notifying the pipeline about it."); - gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->video_sink), (guintptr)data->native_window); - } - /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ bus = gst_element_get_bus (data->pipeline); bus_source = gst_bus_create_watch (bus); @@ -289,14 +288,6 @@ static void gst_native_surface_init (JNIEnv *env, jobject thiz, jobject surface) } data->native_window = new_native_window; - if (data->video_sink) { - GST_DEBUG ("Pipeline already created, notifying it about the native window."); - gst_element_set_state (data->pipeline, GST_STATE_READY); - gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->video_sink), (guintptr)data->native_window); - } else { - GST_DEBUG ("Pipeline not created yet, it will later be notified about the native window."); - } - check_initialization_complete (data); } From 349cad43cc9c38be22c98550c277fbf416937c71 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 23 Oct 2012 12:30:25 +0200 Subject: [PATCH 221/979] Fix the case where a new surface is provided without destroying the previous one. We have never observed this scenario, tough. --- gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c b/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c index 04bd09b7fc..f9552bcce1 100644 --- a/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c +++ b/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c @@ -284,6 +284,7 @@ static void gst_native_surface_init (JNIEnv *env, jobject thiz, jobject surface) return; } else { GST_DEBUG ("Released previous native window %p", data->native_window); + data->initialized = FALSE; } } data->native_window = new_native_window; From 15a7f54fb08128fbc15e945a559653acfdbcafb1 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 23 Oct 2012 15:52:04 +0200 Subject: [PATCH 222/979] Comment --- .../com/gst_sdk_tutorials/tutorial_3/GStreamerSurfaceView.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/GStreamerSurfaceView.java b/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/GStreamerSurfaceView.java index c6ec456d07..903c3ed5bb 100644 --- a/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/GStreamerSurfaceView.java +++ b/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/GStreamerSurfaceView.java @@ -6,7 +6,7 @@ import android.util.Log; import android.view.SurfaceView; import android.view.View; -// A simple SurfaceView whose width and height is set from the outside +// A simple SurfaceView whose width and height can be set from the outside public class GStreamerSurfaceView extends SurfaceView { public int media_width = 320; public int media_height = 240; From ba19badffa3419902c0a791ba12bd841b5c39fae Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 23 Oct 2012 16:22:37 +0200 Subject: [PATCH 223/979] Change screen name from Android tutorials to GStreamer tutorials. It think this makes more sense once the tutorials are installed on the device. --- gst-sdk/tutorials/android-tutorial-1/res/values/strings.xml | 2 +- gst-sdk/tutorials/android-tutorial-2/res/values/strings.xml | 2 +- gst-sdk/tutorials/android-tutorial-3/res/values/strings.xml | 2 +- gst-sdk/tutorials/android-tutorial-5/res/values/strings.xml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/res/values/strings.xml b/gst-sdk/tutorials/android-tutorial-1/res/values/strings.xml index b956d6d241..82e956d0e9 100644 --- a/gst-sdk/tutorials/android-tutorial-1/res/values/strings.xml +++ b/gst-sdk/tutorials/android-tutorial-1/res/values/strings.xml @@ -1,4 +1,4 @@ - Android tutorial 1 + GStreamer tutorial 1 diff --git a/gst-sdk/tutorials/android-tutorial-2/res/values/strings.xml b/gst-sdk/tutorials/android-tutorial-2/res/values/strings.xml index 186ec3a9e2..25216d173e 100644 --- a/gst-sdk/tutorials/android-tutorial-2/res/values/strings.xml +++ b/gst-sdk/tutorials/android-tutorial-2/res/values/strings.xml @@ -1,6 +1,6 @@ - Android tutorial 2 + GStreamer tutorial 2 Play Stop diff --git a/gst-sdk/tutorials/android-tutorial-3/res/values/strings.xml b/gst-sdk/tutorials/android-tutorial-3/res/values/strings.xml index 1ef127ff79..9f5f9cd3a8 100644 --- a/gst-sdk/tutorials/android-tutorial-3/res/values/strings.xml +++ b/gst-sdk/tutorials/android-tutorial-3/res/values/strings.xml @@ -1,6 +1,6 @@ - Android tutorial 3 + GStreamer tutorial 3 Play Stop diff --git a/gst-sdk/tutorials/android-tutorial-5/res/values/strings.xml b/gst-sdk/tutorials/android-tutorial-5/res/values/strings.xml index c5a179992f..69070778fd 100755 --- a/gst-sdk/tutorials/android-tutorial-5/res/values/strings.xml +++ b/gst-sdk/tutorials/android-tutorial-5/res/values/strings.xml @@ -1,6 +1,6 @@ - Android tutorial 5 + GStreamer tutorial 5 Play Stop Select From 3c81bfb207a851cfb09012d6baeda9ad31743fec Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 23 Oct 2012 16:48:22 +0200 Subject: [PATCH 224/979] Tutorial 3 requires OpenGL ES 2.0 --- gst-sdk/tutorials/android-tutorial-3/AndroidManifest.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/gst-sdk/tutorials/android-tutorial-3/AndroidManifest.xml b/gst-sdk/tutorials/android-tutorial-3/AndroidManifest.xml index 922ea4a52d..5a3a5b6497 100644 --- a/gst-sdk/tutorials/android-tutorial-3/AndroidManifest.xml +++ b/gst-sdk/tutorials/android-tutorial-3/AndroidManifest.xml @@ -4,6 +4,7 @@ android:versionCode="1" android:versionName="1.0"> + Date: Tue, 23 Oct 2012 16:59:18 +0200 Subject: [PATCH 225/979] Initial Android Tutorial 4 --- .../android-tutorial-4/AndroidManifest.xml | 22 ++ .../android-tutorial-4/jni/Android.mk | 20 ++ .../android-tutorial-4/jni/tutorial-4.c | 337 ++++++++++++++++++ .../res/drawable-hdpi/gst_sdk_icon.png | Bin 0 -> 5937 bytes .../res/drawable-ldpi/gst_sdk_icon.png | Bin 0 -> 3136 bytes .../res/drawable-mdpi/gst_sdk_icon.png | Bin 0 -> 4062 bytes .../res/drawable-xhdpi/gst_sdk_icon.png | Bin 0 -> 7477 bytes .../android-tutorial-4/res/layout/main.xml | 63 ++++ .../android-tutorial-4/res/values/strings.xml | 18 + .../tutorial_4/GStreamerSurfaceView.java | 85 +++++ .../tutorial_4/Tutorial4.java | 143 ++++++++ 11 files changed, 688 insertions(+) create mode 100644 gst-sdk/tutorials/android-tutorial-4/AndroidManifest.xml create mode 100644 gst-sdk/tutorials/android-tutorial-4/jni/Android.mk create mode 100644 gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c create mode 100644 gst-sdk/tutorials/android-tutorial-4/res/drawable-hdpi/gst_sdk_icon.png create mode 100644 gst-sdk/tutorials/android-tutorial-4/res/drawable-ldpi/gst_sdk_icon.png create mode 100644 gst-sdk/tutorials/android-tutorial-4/res/drawable-mdpi/gst_sdk_icon.png create mode 100644 gst-sdk/tutorials/android-tutorial-4/res/drawable-xhdpi/gst_sdk_icon.png create mode 100644 gst-sdk/tutorials/android-tutorial-4/res/layout/main.xml create mode 100644 gst-sdk/tutorials/android-tutorial-4/res/values/strings.xml create mode 100644 gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/GStreamerSurfaceView.java create mode 100644 gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java diff --git a/gst-sdk/tutorials/android-tutorial-4/AndroidManifest.xml b/gst-sdk/tutorials/android-tutorial-4/AndroidManifest.xml new file mode 100644 index 0000000000..f09dd03933 --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-4/AndroidManifest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + diff --git a/gst-sdk/tutorials/android-tutorial-4/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-4/jni/Android.mk new file mode 100644 index 0000000000..ea48c78cd2 --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-4/jni/Android.mk @@ -0,0 +1,20 @@ +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_MODULE := tutorial-4 +LOCAL_SRC_FILES := tutorial-4.c +LOCAL_SHARED_LIBRARIES := gstreamer_android +LOCAL_LDLIBS := -llog -landroid +include $(BUILD_SHARED_LIBRARY) + +ifndef GSTREAMER_SDK_ROOT +ifndef GSTREAMER_SDK_ROOT_ANDROID +$(error GSTREAMER_SDK_ROOT_ANDROID is not defined!) +endif +GSTREAMER_SDK_ROOT := $(GSTREAMER_SDK_ROOT_ANDROID) +endif +GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ +include $(GSTREAMER_NDK_BUILD_PATH)/plugins.mk +GSTREAMER_PLUGINS := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_CODECS) $(GSTREAMER_PLUGINS_SYS) $(GSTREAMER_PLUGINS_EFFECTS) +include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk diff --git a/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c b/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c new file mode 100644 index 0000000000..e739623c2a --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c @@ -0,0 +1,337 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +GST_DEBUG_CATEGORY_STATIC (debug_category); +#define GST_CAT_DEFAULT debug_category + +/* + * These macros provide a way to store the native pointer to CustomData, which might be 32 or 64 bits, into + * a jlong, which is always 64 bits, without warnings. + */ +#if GLIB_SIZEOF_VOID_P == 8 +# define GET_CUSTOM_DATA(env, thiz, fieldID) (CustomData *)(*env)->GetLongField (env, thiz, fieldID) +# define SET_CUSTOM_DATA(env, thiz, fieldID, data) (*env)->SetLongField (env, thiz, fieldID, (jlong)data) +#else +# define GET_CUSTOM_DATA(env, thiz, fieldID) (CustomData *)(jint)(*env)->GetLongField (env, thiz, fieldID) +# define SET_CUSTOM_DATA(env, thiz, fieldID, data) (*env)->SetLongField (env, thiz, fieldID, (jlong)(jint)data) +#endif + +/* Structure to contain all our information, so we can pass it to callbacks */ +typedef struct _CustomData { + jobject app; /* Application instance, used to call its methods. A global reference is kept. */ + GstElement *pipeline; /* The running pipeline */ + GMainContext *context; /* GLib context used to run the main loop */ + GMainLoop *main_loop; /* GLib main loop */ + gboolean initialized; /* To avoid informing the UI multiple times about the initialization */ + GstElement *video_sink; /* The video sink element which receives XOverlay commands */ + ANativeWindow *native_window; /* The Android native window where video will be rendered */ +} CustomData; + +/* These global variables cache values which are not changing during execution */ +static pthread_t gst_app_thread; +static pthread_key_t current_jni_env; +static JavaVM *java_vm; +static jfieldID custom_data_field_id; +static jmethodID set_message_method_id; +static jmethodID on_gstreamer_initialized_method_id; + +/* + * Private methods + */ + +/* Register this thread with the VM */ +static JNIEnv *attach_current_thread (void) { + JNIEnv *env; + JavaVMAttachArgs args; + + GST_DEBUG ("Attaching thread %p", g_thread_self ()); + args.version = JNI_VERSION_1_4; + args.name = NULL; + args.group = NULL; + + if ((*java_vm)->AttachCurrentThread (java_vm, &env, &args) < 0) { + GST_ERROR ("Failed to attach current thread"); + return NULL; + } + + return env; +} + +/* Unregister this thread from the VM */ +static void detach_current_thread (void *env) { + GST_DEBUG ("Detaching thread %p", g_thread_self ()); + (*java_vm)->DetachCurrentThread (java_vm); +} + +/* Retrieve the JNI environment for this thread */ +static JNIEnv *get_jni_env (void) { + JNIEnv *env; + + if ((env = pthread_getspecific (current_jni_env)) == NULL) { + env = attach_current_thread (); + pthread_setspecific (current_jni_env, env); + } + + return env; +} + +/* Change the content of the UI's TextView */ +static void set_ui_message (const gchar *message, CustomData *data) { + JNIEnv *env = get_jni_env (); + GST_DEBUG ("Setting message to: %s", message); + jstring jmessage = (*env)->NewStringUTF(env, message); + (*env)->CallVoidMethod (env, data->app, set_message_method_id, jmessage); + if ((*env)->ExceptionCheck (env)) { + GST_ERROR ("Failed to call Java method"); + (*env)->ExceptionClear (env); + } + (*env)->DeleteLocalRef (env, jmessage); +} + +/* Retrieve errors from the bus and show them on the UI */ +static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + GError *err; + gchar *debug_info; + gchar *message_string; + + gst_message_parse_error (msg, &err, &debug_info); + message_string = g_strdup_printf ("Error received from element %s: %s", GST_OBJECT_NAME (msg->src), err->message); + g_clear_error (&err); + g_free (debug_info); + set_ui_message (message_string, data); + g_free (message_string); + gst_element_set_state (data->pipeline, GST_STATE_NULL); +} + +/* Notify UI about pipeline state changes */ +static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + /* Only pay attention to messages coming from the pipeline, not its children */ + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->pipeline)) { + gchar *message = g_strdup_printf("State changed to %s", gst_element_state_get_name(new_state)); + set_ui_message(message, data); + g_free (message); + } +} + +/* Check if all conditions are met to report GStreamer as initialized. + * These conditions will change depending on the application */ +static void check_initialization_complete (CustomData *data) { + JNIEnv *env = get_jni_env (); + if (!data->initialized && data->native_window && data->main_loop) { + GST_DEBUG ("Initialization complete, notifying application. native_window:%p main_loop:%p", data->native_window, data->main_loop); + + /* The main loop is running and we received a native window, inform the sink about it */ + gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->video_sink), (guintptr)data->native_window); + + (*env)->CallVoidMethod (env, data->app, on_gstreamer_initialized_method_id); + if ((*env)->ExceptionCheck (env)) { + GST_ERROR ("Failed to call Java method"); + (*env)->ExceptionClear (env); + } + data->initialized = TRUE; + } +} + +/* Main method for the native code. This is executed on its own thread. */ +static void *app_function (void *userdata) { + JavaVMAttachArgs args; + GstBus *bus; + CustomData *data = (CustomData *)userdata; + GSource *bus_source; + GError *error = NULL; + + GST_DEBUG ("Creating pipeline in CustomData at %p", data); + + /* Create our own GLib Main Context and make it the default one */ + data->context = g_main_context_new (); + g_main_context_push_thread_default(data->context); + + /* Build pipeline */ + data->pipeline = gst_parse_launch("videotestsrc ! warptv ! ffmpegcolorspace ! autovideosink", &error); + if (error) { + gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message); + g_clear_error (&error); + set_ui_message(message, data); + g_free (message); + return NULL; + } + + /* Set the pipeline to READY, so it can already accept a window handle, if we have one */ + gst_element_set_state(data->pipeline, GST_STATE_READY); + + data->video_sink = gst_bin_get_by_interface(GST_BIN(data->pipeline), GST_TYPE_X_OVERLAY); + if (!data->video_sink) { + GST_ERROR ("Could not retrieve video sink"); + return NULL; + } + + /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ + bus = gst_element_get_bus (data->pipeline); + bus_source = gst_bus_create_watch (bus); + g_source_set_callback (bus_source, (GSourceFunc) gst_bus_async_signal_func, NULL, NULL); + g_source_attach (bus_source, data->context); + g_source_unref (bus_source); + g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, data); + g_signal_connect (G_OBJECT (bus), "message::state-changed", (GCallback)state_changed_cb, data); + gst_object_unref (bus); + + /* Create a GLib Main Loop and set it to run */ + GST_DEBUG ("Entering main loop... (CustomData:%p)", data); + data->main_loop = g_main_loop_new (data->context, FALSE); + check_initialization_complete (data); + g_main_loop_run (data->main_loop); + GST_DEBUG ("Exited main loop"); + g_main_loop_unref (data->main_loop); + data->main_loop = NULL; + + /* Free resources */ + g_main_context_pop_thread_default(data->context); + g_main_context_unref (data->context); + gst_element_set_state (data->pipeline, GST_STATE_NULL); + gst_object_unref (data->video_sink); + gst_object_unref (data->pipeline); + + return NULL; +} + +/* + * Java Bindings + */ + +/* Instruct the native code to create its internal data structure, pipeline and thread */ +static void gst_native_init (JNIEnv* env, jobject thiz) { + CustomData *data = g_new0 (CustomData, 1); + SET_CUSTOM_DATA (env, thiz, custom_data_field_id, data); + GST_DEBUG_CATEGORY_INIT (debug_category, "tutorial-4", 0, "Android tutorial 4"); + gst_debug_set_threshold_for_name("tutorial-4", GST_LEVEL_DEBUG); + GST_DEBUG ("Created CustomData at %p", data); + data->app = (*env)->NewGlobalRef (env, thiz); + GST_DEBUG ("Created GlobalRef for app object at %p", data->app); + pthread_create (&gst_app_thread, NULL, &app_function, data); +} + +/* Quit the main loop, remove the native thread and free resources */ +static void gst_native_finalize (JNIEnv* env, jobject thiz) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + GST_DEBUG ("Quitting main loop..."); + g_main_loop_quit (data->main_loop); + GST_DEBUG ("Waiting for thread to finish..."); + pthread_join (gst_app_thread, NULL); + GST_DEBUG ("Deleting GlobalRef for app object at %p", data->app); + (*env)->DeleteGlobalRef (env, data->app); + GST_DEBUG ("Freeing CustomData at %p", data); + g_free (data); + SET_CUSTOM_DATA (env, thiz, custom_data_field_id, NULL); + GST_DEBUG ("Done finalizing"); +} + +/* Set pipeline to PLAYING state */ +static void gst_native_play (JNIEnv* env, jobject thiz) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + GST_DEBUG ("Setting state to PLAYING"); + gst_element_set_state (data->pipeline, GST_STATE_PLAYING); +} + +/* Set pipeline to PAUSED state */ +static void gst_native_pause (JNIEnv* env, jobject thiz) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + GST_DEBUG ("Setting state to PAUSED"); + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); +} + +/* Static class initializer: retrieve method and field IDs */ +static jboolean gst_native_class_init (JNIEnv* env, jclass klass) { + custom_data_field_id = (*env)->GetFieldID (env, klass, "native_custom_data", "J"); + set_message_method_id = (*env)->GetMethodID (env, klass, "setMessage", "(Ljava/lang/String;)V"); + on_gstreamer_initialized_method_id = (*env)->GetMethodID (env, klass, "onGStreamerInitialized", "()V"); + + if (!custom_data_field_id || !set_message_method_id || !on_gstreamer_initialized_method_id) { + /* We emit this message through the Android log instead of the GStreamer log because the later + * has not been initialized yet. + */ + __android_log_print (ANDROID_LOG_ERROR, "tutorial-4", "The calling class does not implement all necessary interface methods"); + return JNI_FALSE; + } + return JNI_TRUE; +} + +static void gst_native_surface_init (JNIEnv *env, jobject thiz, jobject surface) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + ANativeWindow *new_native_window = ANativeWindow_fromSurface(env, surface); + GST_DEBUG ("Received surface %p (native window %p)", surface, new_native_window); + + if (data->native_window) { + ANativeWindow_release (data->native_window); + if (data->native_window == new_native_window) { + GST_DEBUG ("New native window is the same as the previous one", data->native_window); + if (data->video_sink) { + gst_x_overlay_expose(GST_X_OVERLAY (data->video_sink)); + gst_x_overlay_expose(GST_X_OVERLAY (data->video_sink)); + } + return; + } else { + GST_DEBUG ("Released previous native window %p", data->native_window); + data->initialized = FALSE; + } + } + data->native_window = new_native_window; + + check_initialization_complete (data); +} + +static void gst_native_surface_finalize (JNIEnv *env, jobject thiz) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + GST_DEBUG ("Releasing Native Window %p", data->native_window); + + if (data->video_sink) { + gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->video_sink), (guintptr)NULL); + gst_element_set_state (data->pipeline, GST_STATE_READY); + } + + ANativeWindow_release (data->native_window); + data->native_window = NULL; + data->initialized = FALSE; +} + +/* List of implemented native methods */ +static JNINativeMethod native_methods[] = { + { "nativeInit", "()V", (void *) gst_native_init}, + { "nativeFinalize", "()V", (void *) gst_native_finalize}, + { "nativePlay", "()V", (void *) gst_native_play}, + { "nativePause", "()V", (void *) gst_native_pause}, + { "nativeSurfaceInit", "(Ljava/lang/Object;)V", (void *) gst_native_surface_init}, + { "nativeSurfaceFinalize", "()V", (void *) gst_native_surface_finalize}, + { "nativeClassInit", "()Z", (void *) gst_native_class_init} +}; + +/* Library initializer */ +jint JNI_OnLoad(JavaVM *vm, void *reserved) { + JNIEnv *env = NULL; + + java_vm = vm; + + if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_4) != JNI_OK) { + __android_log_print (ANDROID_LOG_ERROR, "tutorial-4", "Could not retrieve JNIEnv"); + return 0; + } + jclass klass = (*env)->FindClass (env, "com/gst_sdk_tutorials/tutorial_4/Tutorial4"); + (*env)->RegisterNatives (env, klass, native_methods, G_N_ELEMENTS(native_methods)); + + pthread_key_create (¤t_jni_env, detach_current_thread); + + return JNI_VERSION_1_4; +} diff --git a/gst-sdk/tutorials/android-tutorial-4/res/drawable-hdpi/gst_sdk_icon.png b/gst-sdk/tutorials/android-tutorial-4/res/drawable-hdpi/gst_sdk_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..783fbcd7184c130f3e63451eed852066d71651b8 GIT binary patch literal 5937 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 literal 0 HcmV?d00001 diff --git a/gst-sdk/tutorials/android-tutorial-4/res/drawable-ldpi/gst_sdk_icon.png b/gst-sdk/tutorials/android-tutorial-4/res/drawable-ldpi/gst_sdk_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0ae8cc0aa9e4bf30f3b502c7122eb4cba5a4270b GIT binary patch literal 3136 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 NYO3m}lq*@j`ag0n;(q`D literal 0 HcmV?d00001 diff --git a/gst-sdk/tutorials/android-tutorial-4/res/layout/main.xml b/gst-sdk/tutorials/android-tutorial-4/res/layout/main.xml new file mode 100644 index 0000000000..c3baac85a6 --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-4/res/layout/main.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/gst-sdk/tutorials/android-tutorial-4/res/values/strings.xml b/gst-sdk/tutorials/android-tutorial-4/res/values/strings.xml new file mode 100644 index 0000000000..99d0a0cb5d --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-4/res/values/strings.xml @@ -0,0 +1,18 @@ + + + Android tutorial 4 + Play + Stop + Select + Android tutorial 1 + Location + folder can\'t be read! + New + Select + File name: + Cancel + Save + No Data + #ffff0000 + Error + diff --git a/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/GStreamerSurfaceView.java b/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/GStreamerSurfaceView.java new file mode 100644 index 0000000000..c2cd2b2477 --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/GStreamerSurfaceView.java @@ -0,0 +1,85 @@ +package com.gst_sdk_tutorials.tutorial_4; + +import android.content.Context; +import android.util.AttributeSet; +import android.util.Log; +import android.view.SurfaceView; +import android.view.View; + +// A simple SurfaceView whose width and height can be set from the outside +public class GStreamerSurfaceView extends SurfaceView { + public int media_width = 320; + public int media_height = 240; + + // Mandatory constructors, they do not do much + public GStreamerSurfaceView(Context context, AttributeSet attrs, + int defStyle) { + super(context, attrs, defStyle); + } + + public GStreamerSurfaceView(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public GStreamerSurfaceView (Context context) { + super(context); + } + + // Called by the layout manager to find out our size and give us some rules. + // We will try to maximize our size, and preserve the media's aspect ratio if + // we are given the freedom to do so. + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + int width = 0, height = 0; + int wmode = View.MeasureSpec.getMode(widthMeasureSpec); + int hmode = View.MeasureSpec.getMode(heightMeasureSpec); + int wsize = View.MeasureSpec.getSize(widthMeasureSpec); + int hsize = View.MeasureSpec.getSize(heightMeasureSpec); + + Log.i ("GStreamer", "onMeasure called with " + media_width + "x" + media_height); + // Obey width rules + switch (wmode) { + case View.MeasureSpec.AT_MOST: + if (hmode == View.MeasureSpec.EXACTLY) { + width = Math.min(hsize * media_width / media_height, wsize); + break; + } + case View.MeasureSpec.EXACTLY: + width = wsize; + break; + case View.MeasureSpec.UNSPECIFIED: + width = media_width; + } + + // Obey height rules + switch (hmode) { + case View.MeasureSpec.AT_MOST: + if (wmode == View.MeasureSpec.EXACTLY) { + height = Math.min(wsize * media_height / media_width, hsize); + break; + } + case View.MeasureSpec.EXACTLY: + height = hsize; + break; + case View.MeasureSpec.UNSPECIFIED: + height = media_height; + } + + // Finally, calculate best size when both axis are free + if (hmode == View.MeasureSpec.AT_MOST && wmode == View.MeasureSpec.AT_MOST) { + int correct_height = width * media_height / media_width; + int correct_width = height * media_width / media_height; + + if (correct_height < height) + height = correct_height; + else + width = correct_width; + } + + // Obey minimum size + width = Math.max (getSuggestedMinimumWidth(), width); + height = Math.max (getSuggestedMinimumHeight(), height); + setMeasuredDimension(width, height); + } + +} diff --git a/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java b/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java new file mode 100644 index 0000000000..edefde331f --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java @@ -0,0 +1,143 @@ +package com.gst_sdk_tutorials.tutorial_4; + +import android.app.Activity; +import android.os.Bundle; +import android.util.Log; +import android.view.SurfaceHolder; +import android.view.SurfaceView; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.ImageButton; +import android.widget.TextView; +import android.widget.Toast; + +import com.gstreamer.GStreamer; + +public class Tutorial4 extends Activity implements SurfaceHolder.Callback { + private native void nativeInit(); // Initialize native code, build pipeline, etc + private native void nativeFinalize(); // Destroy pipeline and shutdown native code + private native void nativePlay(); // Set pipeline to PLAYING + private native void nativePause(); // Set pipeline to PAUSED + private static native boolean nativeClassInit(); // Initialize native class: cache Method IDs for callbacks + private native void nativeSurfaceInit(Object surface); + private native void nativeSurfaceFinalize(); + private long native_custom_data; // Native code will use this to keep private data + + private boolean is_playing_desired; // Whether the user asked to go to PLAYING + + // Called when the activity is first created. + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + + // Initialize GStreamer and warn if it fails + try { + GStreamer.init(this); + } catch (Exception e) { + Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show(); + finish(); + return; + } + + setContentView(R.layout.main); + + ImageButton play = (ImageButton) this.findViewById(R.id.button_play); + play.setOnClickListener(new OnClickListener() { + public void onClick(View v) { + is_playing_desired = true; + nativePlay(); + } + }); + + ImageButton pause = (ImageButton) this.findViewById(R.id.button_stop); + pause.setOnClickListener(new OnClickListener() { + public void onClick(View v) { + is_playing_desired = false; + nativePause(); + } + }); + + SurfaceView sv = (SurfaceView) this.findViewById(R.id.surface_video); + SurfaceHolder sh = sv.getHolder(); + sh.addCallback(this); + + if (savedInstanceState != null) { + is_playing_desired = savedInstanceState.getBoolean("playing"); + Log.i ("GStreamer", "Activity created. Saved state is playing:" + is_playing_desired); + } else { + is_playing_desired = false; + Log.i ("GStreamer", "Activity created. There is no saved state, playing: false"); + } + + // Start with disabled buttons, until native code is initialized + this.findViewById(R.id.button_play).setEnabled(false); + this.findViewById(R.id.button_stop).setEnabled(false); + + nativeInit(); + } + + protected void onSaveInstanceState (Bundle outState) { + Log.d ("GStreamer", "Saving state, playing:" + is_playing_desired); + outState.putBoolean("playing", is_playing_desired); + } + + protected void onDestroy() { + nativeFinalize(); + super.onDestroy(); + } + + // Called from native code. This sets the content of the TextView from the UI thread. + private void setMessage(final String message) { + final TextView tv = (TextView) this.findViewById(R.id.textview_message); + runOnUiThread (new Runnable() { + public void run() { + tv.setText(message); + } + }); + } + + // Called from native code. Native code calls this once it has created its pipeline and + // the main loop is running, so it is ready to accept commands. + private void onGStreamerInitialized () { + Log.i ("GStreamer", "Gst initialized. Restoring state, playing:" + is_playing_desired); + // Restore previous playing state + if (is_playing_desired) { + nativePlay(); + } else { + nativePause(); + } + + // Re-enable buttons, now that GStreamer is initialized + final Activity activity = this; + runOnUiThread(new Runnable() { + public void run() { + activity.findViewById(R.id.button_play).setEnabled(true); + activity.findViewById(R.id.button_stop).setEnabled(true); + } + }); + } + + static { + System.loadLibrary("gstreamer_android"); + System.loadLibrary("tutorial-4"); + nativeClassInit(); + } + + public void surfaceChanged(SurfaceHolder holder, int format, int width, + int height) { + Log.d("GStreamer", "Surface changed to format " + format + " width " + + width + " height " + height); + nativeSurfaceInit (holder.getSurface()); + } + + public void surfaceCreated(SurfaceHolder holder) { + Log.d("GStreamer", "Surface created: " + holder.getSurface()); + } + + public void surfaceDestroyed(SurfaceHolder holder) { + Log.d("GStreamer", "Surface destroyed"); + nativeSurfaceFinalize (); + } + +} From 9b4ce1ee631ed2b7cae2a8385fae748ae6bc66c8 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 24 Oct 2012 12:41:53 +0200 Subject: [PATCH 226/979] Some advances, nothing functional. --- .../android-tutorial-4/AndroidManifest.xml | 3 - .../android-tutorial-4/jni/Android.mk | 2 +- .../android-tutorial-4/jni/tutorial-4.c | 76 +++++++++++++------ .../android-tutorial-4/res/layout/main.xml | 30 +++++--- .../android-tutorial-4/res/values/strings.xml | 14 +--- .../tutorial_4/Tutorial4.java | 16 ++++ 6 files changed, 90 insertions(+), 51 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-4/AndroidManifest.xml b/gst-sdk/tutorials/android-tutorial-4/AndroidManifest.xml index f09dd03933..3af467bd6e 100644 --- a/gst-sdk/tutorials/android-tutorial-4/AndroidManifest.xml +++ b/gst-sdk/tutorials/android-tutorial-4/AndroidManifest.xml @@ -15,8 +15,5 @@ - - diff --git a/gst-sdk/tutorials/android-tutorial-4/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-4/jni/Android.mk index ea48c78cd2..9d78b4214d 100644 --- a/gst-sdk/tutorials/android-tutorial-4/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-4/jni/Android.mk @@ -16,5 +16,5 @@ GSTREAMER_SDK_ROOT := $(GSTREAMER_SDK_ROOT_ANDROID) endif GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ include $(GSTREAMER_NDK_BUILD_PATH)/plugins.mk -GSTREAMER_PLUGINS := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_CODECS) $(GSTREAMER_PLUGINS_SYS) $(GSTREAMER_PLUGINS_EFFECTS) +GSTREAMER_PLUGINS := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_PLAYBACK) $(GSTREAMER_PLUGINS_CODECS) $(GSTREAMER_PLUGINS_NET) $(GSTREAMER_PLUGINS_SYS) include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk diff --git a/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c b/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c index e739623c2a..115389548f 100644 --- a/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c +++ b/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c @@ -30,7 +30,6 @@ typedef struct _CustomData { GMainContext *context; /* GLib context used to run the main loop */ GMainLoop *main_loop; /* GLib main loop */ gboolean initialized; /* To avoid informing the UI multiple times about the initialization */ - GstElement *video_sink; /* The video sink element which receives XOverlay commands */ ANativeWindow *native_window; /* The Android native window where video will be rendered */ } CustomData; @@ -41,6 +40,7 @@ static JavaVM *java_vm; static jfieldID custom_data_field_id; static jmethodID set_message_method_id; static jmethodID on_gstreamer_initialized_method_id; +static jmethodID on_media_size_changed_method_id; /* * Private methods @@ -122,6 +122,31 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { } } +/* Called when Pad Caps change on the video sink */ +static void caps_cb (GstPad *pad, GParamSpec *pspec, CustomData *data) { + JNIEnv *env = get_jni_env (); + GstVideoFormat fmt; + int width; + int height; + GstCaps *caps; + + caps = gst_pad_get_negotiated_caps (pad); + if (gst_video_format_parse_caps(caps, &fmt, &width, &height)) { + int par_n, par_d; + if (gst_video_parse_caps_pixel_aspect_ratio (caps, &par_n, &par_d)) { + width = width * par_n / par_d; + } + GST_DEBUG ("Media size changed to %dx%d", width, height); + + (*env)->CallVoidMethod (env, data->app, on_media_size_changed_method_id, (jint)width, (jint)height); + if ((*env)->ExceptionCheck (env)) { + GST_ERROR ("Failed to call Java method"); + (*env)->ExceptionClear (env); + } + } + gst_caps_unref(caps); +} + /* Check if all conditions are met to report GStreamer as initialized. * These conditions will change depending on the application */ static void check_initialization_complete (CustomData *data) { @@ -130,7 +155,7 @@ static void check_initialization_complete (CustomData *data) { GST_DEBUG ("Initialization complete, notifying application. native_window:%p main_loop:%p", data->native_window, data->main_loop); /* The main loop is running and we received a native window, inform the sink about it */ - gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->video_sink), (guintptr)data->native_window); + gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->pipeline), (guintptr)data->native_window); (*env)->CallVoidMethod (env, data->app, on_gstreamer_initialized_method_id); if ((*env)->ExceptionCheck (env)) { @@ -147,7 +172,7 @@ static void *app_function (void *userdata) { GstBus *bus; CustomData *data = (CustomData *)userdata; GSource *bus_source; - GError *error = NULL; + guint flags; GST_DEBUG ("Creating pipeline in CustomData at %p", data); @@ -156,24 +181,19 @@ static void *app_function (void *userdata) { g_main_context_push_thread_default(data->context); /* Build pipeline */ - data->pipeline = gst_parse_launch("videotestsrc ! warptv ! ffmpegcolorspace ! autovideosink", &error); - if (error) { - gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message); - g_clear_error (&error); - set_ui_message(message, data); - g_free (message); + data->pipeline = gst_element_factory_make ("playbin2", NULL); + if (!data->pipeline) { + set_ui_message("Unable to build pipeline", data); return NULL; } + g_object_get (data->pipeline, "flags", &flags, NULL); + /* Disable subtitles for now */ + flags &= ~0x00000004; + g_object_set (data->pipeline, "flags", flags, NULL); /* Set the pipeline to READY, so it can already accept a window handle, if we have one */ gst_element_set_state(data->pipeline, GST_STATE_READY); - data->video_sink = gst_bin_get_by_interface(GST_BIN(data->pipeline), GST_TYPE_X_OVERLAY); - if (!data->video_sink) { - GST_ERROR ("Could not retrieve video sink"); - return NULL; - } - /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ bus = gst_element_get_bus (data->pipeline); bus_source = gst_bus_create_watch (bus); @@ -197,7 +217,6 @@ static void *app_function (void *userdata) { g_main_context_pop_thread_default(data->context); g_main_context_unref (data->context); gst_element_set_state (data->pipeline, GST_STATE_NULL); - gst_object_unref (data->video_sink); gst_object_unref (data->pipeline); return NULL; @@ -235,6 +254,16 @@ static void gst_native_finalize (JNIEnv* env, jobject thiz) { GST_DEBUG ("Done finalizing"); } +void gst_native_set_uri (JNIEnv* env, jobject thiz, jstring uri) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data || !data->pipeline) return; + const jbyte *char_uri = (*env)->GetStringUTFChars (env, uri, NULL); + GST_DEBUG ("Setting URI to %s", char_uri); + gst_element_set_state (data->pipeline, GST_STATE_READY); + g_object_set(data->pipeline, "uri", char_uri, NULL); + (*env)->ReleaseStringUTFChars (env, uri, char_uri); +} + /* Set pipeline to PLAYING state */ static void gst_native_play (JNIEnv* env, jobject thiz) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); @@ -256,8 +285,10 @@ static jboolean gst_native_class_init (JNIEnv* env, jclass klass) { custom_data_field_id = (*env)->GetFieldID (env, klass, "native_custom_data", "J"); set_message_method_id = (*env)->GetMethodID (env, klass, "setMessage", "(Ljava/lang/String;)V"); on_gstreamer_initialized_method_id = (*env)->GetMethodID (env, klass, "onGStreamerInitialized", "()V"); + on_media_size_changed_method_id = (*env)->GetMethodID (env, klass, "onMediaSizeChanged", "(II)V"); - if (!custom_data_field_id || !set_message_method_id || !on_gstreamer_initialized_method_id) { + if (!custom_data_field_id || !set_message_method_id || !on_gstreamer_initialized_method_id || + !on_media_size_changed_method_id) { /* We emit this message through the Android log instead of the GStreamer log because the later * has not been initialized yet. */ @@ -277,9 +308,9 @@ static void gst_native_surface_init (JNIEnv *env, jobject thiz, jobject surface) ANativeWindow_release (data->native_window); if (data->native_window == new_native_window) { GST_DEBUG ("New native window is the same as the previous one", data->native_window); - if (data->video_sink) { - gst_x_overlay_expose(GST_X_OVERLAY (data->video_sink)); - gst_x_overlay_expose(GST_X_OVERLAY (data->video_sink)); + if (data->pipeline) { + gst_x_overlay_expose(GST_X_OVERLAY (data->pipeline)); + gst_x_overlay_expose(GST_X_OVERLAY (data->pipeline)); } return; } else { @@ -297,8 +328,8 @@ static void gst_native_surface_finalize (JNIEnv *env, jobject thiz) { if (!data) return; GST_DEBUG ("Releasing Native Window %p", data->native_window); - if (data->video_sink) { - gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->video_sink), (guintptr)NULL); + if (data->pipeline) { + gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->pipeline), (guintptr)NULL); gst_element_set_state (data->pipeline, GST_STATE_READY); } @@ -311,6 +342,7 @@ static void gst_native_surface_finalize (JNIEnv *env, jobject thiz) { static JNINativeMethod native_methods[] = { { "nativeInit", "()V", (void *) gst_native_init}, { "nativeFinalize", "()V", (void *) gst_native_finalize}, + { "nativeSetUri", "(Ljava/lang/String;)V", (void *) gst_native_set_uri}, { "nativePlay", "()V", (void *) gst_native_play}, { "nativePause", "()V", (void *) gst_native_pause}, { "nativeSurfaceInit", "(Ljava/lang/Object;)V", (void *) gst_native_surface_init}, diff --git a/gst-sdk/tutorials/android-tutorial-4/res/layout/main.xml b/gst-sdk/tutorials/android-tutorial-4/res/layout/main.xml index c3baac85a6..e7329d218e 100644 --- a/gst-sdk/tutorials/android-tutorial-4/res/layout/main.xml +++ b/gst-sdk/tutorials/android-tutorial-4/res/layout/main.xml @@ -2,16 +2,21 @@ + android:layout_height="wrap_content" + android:layout_marginBottom="16dip" + android:gravity="center_horizontal" /> - - + + + - + android:layout_height="wrap_content" + android:layout_gravity="center_vertical|center_horizontal" /> - + \ No newline at end of file diff --git a/gst-sdk/tutorials/android-tutorial-4/res/values/strings.xml b/gst-sdk/tutorials/android-tutorial-4/res/values/strings.xml index 99d0a0cb5d..d26d1e6e86 100644 --- a/gst-sdk/tutorials/android-tutorial-4/res/values/strings.xml +++ b/gst-sdk/tutorials/android-tutorial-4/res/values/strings.xml @@ -1,18 +1,6 @@ - Android tutorial 4 + GStreamer tutorial 4 Play Stop - Select - Android tutorial 1 - Location - folder can\'t be read! - New - Select - File name: - Cancel - Save - No Data - #ffff0000 - Error diff --git a/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java b/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java index edefde331f..3b3c6d1b23 100644 --- a/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java +++ b/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java @@ -16,6 +16,7 @@ import com.gstreamer.GStreamer; public class Tutorial4 extends Activity implements SurfaceHolder.Callback { private native void nativeInit(); // Initialize native code, build pipeline, etc private native void nativeFinalize(); // Destroy pipeline and shutdown native code + private native void nativeSetUri(String uri); // Set the URI of the media to play private native void nativePlay(); // Set pipeline to PLAYING private native void nativePause(); // Set pipeline to PAUSED private static native boolean nativeClassInit(); // Initialize native class: cache Method IDs for callbacks @@ -25,6 +26,8 @@ public class Tutorial4 extends Activity implements SurfaceHolder.Callback { private boolean is_playing_desired; // Whether the user asked to go to PLAYING + private String mediaUri = "http://docs.gstreamer.com/media/sintel_trailer-480p.ogv"; + // Called when the activity is first created. @Override public void onCreate(Bundle savedInstanceState) @@ -102,6 +105,7 @@ public class Tutorial4 extends Activity implements SurfaceHolder.Callback { private void onGStreamerInitialized () { Log.i ("GStreamer", "Gst initialized. Restoring state, playing:" + is_playing_desired); // Restore previous playing state + nativeSetUri (mediaUri); if (is_playing_desired) { nativePlay(); } else { @@ -140,4 +144,16 @@ public class Tutorial4 extends Activity implements SurfaceHolder.Callback { nativeSurfaceFinalize (); } + private void onMediaSizeChanged (int width, int height) { + Log.i ("GStreamer", "Media size changed to " + width + "x" + height); + final GStreamerSurfaceView gsv = (GStreamerSurfaceView) this.findViewById(R.id.surface_video); + gsv.media_width = width; + gsv.media_height = height; + runOnUiThread(new Runnable() { + public void run() { + gsv.requestLayout(); + } + }); + } + } From df304f1baed381dfd6b95887c048d4180845303e Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 24 Oct 2012 18:14:36 +0200 Subject: [PATCH 227/979] Retrieve media size from video sink once the pipe is in PAUSED and infom the application. --- .../android-tutorial-4/jni/tutorial-4.c | 60 ++++++++++++------- 1 file changed, 37 insertions(+), 23 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c b/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c index 115389548f..3448aa8756 100644 --- a/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c +++ b/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c @@ -110,6 +110,40 @@ static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { gst_element_set_state (data->pipeline, GST_STATE_NULL); } +/* Called when Pad Caps change on the video sink */ +static void check_media_size (CustomData *data) { + JNIEnv *env = get_jni_env (); + GstElement *video_sink; + GstPad *video_sink_pad; + GstCaps *caps; + GstVideoFormat fmt; + int width; + int height; + + /* Retrieve the Caps at the entrance of the video sink */ + g_object_get (data->pipeline, "video-sink", &video_sink, NULL); + video_sink_pad = gst_element_get_static_pad (video_sink, "sink"); + caps = gst_pad_get_negotiated_caps (video_sink_pad); + + if (gst_video_format_parse_caps(caps, &fmt, &width, &height)) { + int par_n, par_d; + if (gst_video_parse_caps_pixel_aspect_ratio (caps, &par_n, &par_d)) { + width = width * par_n / par_d; + } + GST_DEBUG ("Media size changed to %dx%d, notifying application", width, height); + + (*env)->CallVoidMethod (env, data->app, on_media_size_changed_method_id, (jint)width, (jint)height); + if ((*env)->ExceptionCheck (env)) { + GST_ERROR ("Failed to call Java method"); + (*env)->ExceptionClear (env); + } + } + + gst_caps_unref(caps); + gst_object_unref (video_sink_pad); + gst_object_unref(video_sink); +} + /* Notify UI about pipeline state changes */ static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { GstState old_state, new_state, pending_state; @@ -119,32 +153,12 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { gchar *message = g_strdup_printf("State changed to %s", gst_element_state_get_name(new_state)); set_ui_message(message, data); g_free (message); - } -} -/* Called when Pad Caps change on the video sink */ -static void caps_cb (GstPad *pad, GParamSpec *pspec, CustomData *data) { - JNIEnv *env = get_jni_env (); - GstVideoFormat fmt; - int width; - int height; - GstCaps *caps; - - caps = gst_pad_get_negotiated_caps (pad); - if (gst_video_format_parse_caps(caps, &fmt, &width, &height)) { - int par_n, par_d; - if (gst_video_parse_caps_pixel_aspect_ratio (caps, &par_n, &par_d)) { - width = width * par_n / par_d; - } - GST_DEBUG ("Media size changed to %dx%d", width, height); - - (*env)->CallVoidMethod (env, data->app, on_media_size_changed_method_id, (jint)width, (jint)height); - if ((*env)->ExceptionCheck (env)) { - GST_ERROR ("Failed to call Java method"); - (*env)->ExceptionClear (env); + if (old_state == GST_STATE_READY && new_state == GST_STATE_PAUSED) { + /* By now the sink already knows the media size */ + check_media_size(data); } } - gst_caps_unref(caps); } /* Check if all conditions are met to report GStreamer as initialized. From 7170790b5a6f7ab2941c213de8043bca779070dc Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 24 Oct 2012 18:23:31 +0200 Subject: [PATCH 228/979] Beautify subtitle flag --- gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c b/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c index 3448aa8756..cbbc55c594 100644 --- a/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c +++ b/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c @@ -33,6 +33,11 @@ typedef struct _CustomData { ANativeWindow *native_window; /* The Android native window where video will be rendered */ } CustomData; +/* playbin2 flags */ +typedef enum { + GST_PLAY_FLAG_TEXT = (1 << 2) /* We want subtitle output */ +} GstPlayFlags; + /* These global variables cache values which are not changing during execution */ static pthread_t gst_app_thread; static pthread_key_t current_jni_env; @@ -200,9 +205,10 @@ static void *app_function (void *userdata) { set_ui_message("Unable to build pipeline", data); return NULL; } + + /* Disable subtitles */ g_object_get (data->pipeline, "flags", &flags, NULL); - /* Disable subtitles for now */ - flags &= ~0x00000004; + flags &= ~GST_PLAY_FLAG_TEXT; g_object_set (data->pipeline, "flags", flags, NULL); /* Set the pipeline to READY, so it can already accept a window handle, if we have one */ From 39a036ccd1d898294d05640cd2eb0434536f0158 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 24 Oct 2012 18:27:19 +0200 Subject: [PATCH 229/979] Comments and debug output --- gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c b/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c index cbbc55c594..b62f4aa434 100644 --- a/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c +++ b/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c @@ -115,7 +115,7 @@ static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { gst_element_set_state (data->pipeline, GST_STATE_NULL); } -/* Called when Pad Caps change on the video sink */ +/* Retrieve the video sink's Caps and tell the application about the media size */ static void check_media_size (CustomData *data) { JNIEnv *env = get_jni_env (); GstElement *video_sink; @@ -135,7 +135,7 @@ static void check_media_size (CustomData *data) { if (gst_video_parse_caps_pixel_aspect_ratio (caps, &par_n, &par_d)) { width = width * par_n / par_d; } - GST_DEBUG ("Media size changed to %dx%d, notifying application", width, height); + GST_DEBUG ("Media size is %dx%d, notifying application", width, height); (*env)->CallVoidMethod (env, data->app, on_media_size_changed_method_id, (jint)width, (jint)height); if ((*env)->ExceptionCheck (env)) { From d3e1c8fc460a02e272366caea6fd0118c0dba51e Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Thu, 25 Oct 2012 10:11:30 +0200 Subject: [PATCH 230/979] Use a different clip which does not have letterboxing, to better exemplify aspect ratio preservation. Comments. --- .../src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java b/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java index 3b3c6d1b23..ab1e2aed5a 100644 --- a/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java +++ b/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java @@ -20,13 +20,13 @@ public class Tutorial4 extends Activity implements SurfaceHolder.Callback { private native void nativePlay(); // Set pipeline to PLAYING private native void nativePause(); // Set pipeline to PAUSED private static native boolean nativeClassInit(); // Initialize native class: cache Method IDs for callbacks - private native void nativeSurfaceInit(Object surface); - private native void nativeSurfaceFinalize(); + private native void nativeSurfaceInit(Object surface); // A new surface is available + private native void nativeSurfaceFinalize(); // Surface about to be destroyed private long native_custom_data; // Native code will use this to keep private data private boolean is_playing_desired; // Whether the user asked to go to PLAYING - private String mediaUri = "http://docs.gstreamer.com/media/sintel_trailer-480p.ogv"; + private String mediaUri = "http://docs.gstreamer.com/media/sintel_trailer-368p.ogv"; // Called when the activity is first created. @Override From e8b6202a6170a1ce5c42f27af3fffbabfbaf14ae Mon Sep 17 00:00:00 2001 From: Andoni Morales Alastruey Date: Thu, 25 Oct 2012 17:05:53 +0200 Subject: [PATCH 231/979] tutorials: fix missing gtk libs link --- .../xcode/GStreamer Tutorials.xcodeproj/project.pbxproj | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj index c864446cae..ba9f7b82cb 100644 --- a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj @@ -794,6 +794,10 @@ OTHER_LDFLAGS = ( "-framework", Cocoa, + "-L/Library/Frameworks/GStreamer.framework/Libraries", + "-lcairo", + "-lgtk-quartz-2.0", + "-lgdk-quartz-2.0", ); PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -805,6 +809,10 @@ OTHER_LDFLAGS = ( "-framework", Cocoa, + "-L/Library/Frameworks/GStreamer.framework/Libraries", + "-lcairo", + "-lgtk-quartz-2.0", + "-lgdk-quartz-2.0", ); PRODUCT_NAME = "$(TARGET_NAME)"; }; From 99a01c6418d637b2b400b39312f897ee1798e5b7 Mon Sep 17 00:00:00 2001 From: Andoni Morales Alastruey Date: Thu, 25 Oct 2012 17:20:07 +0200 Subject: [PATCH 232/979] Reorder tutorials --- .../project.pbxproj | 16 ++-- .../xcschemes/01-Tutorial 1.xcscheme | 84 +++++++++++++++++++ .../xcschemes/02-Tutorial 2.xcscheme | 84 +++++++++++++++++++ .../xcschemes/03-Turorial 3.xcscheme | 84 +++++++++++++++++++ .../xcschemes/04-Tutorial 4.xcscheme | 84 +++++++++++++++++++ .../xcschemes/05-Tutorial 5.xcscheme | 84 +++++++++++++++++++ .../xcschemes/06-Tutorial 6.xcscheme | 84 +++++++++++++++++++ .../xcschemes/07-Tutorial 7.xcscheme | 84 +++++++++++++++++++ .../xcschemes/08-Tutorial 8.xcscheme | 84 +++++++++++++++++++ .../xcschemes/09-Tutorial 9.xcscheme | 84 +++++++++++++++++++ .../xcschemes/10-Playback Tutorial 1.xcscheme | 84 +++++++++++++++++++ .../xcschemes/12-Playback Tutorial 2.xcscheme | 84 +++++++++++++++++++ .../xcschemes/xcschememanagement.plist | 64 ++++++++++++++ 13 files changed, 996 insertions(+), 8 deletions(-) create mode 100644 gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/01-Tutorial 1.xcscheme create mode 100644 gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/02-Tutorial 2.xcscheme create mode 100644 gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/03-Turorial 3.xcscheme create mode 100644 gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/04-Tutorial 4.xcscheme create mode 100644 gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/05-Tutorial 5.xcscheme create mode 100644 gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/06-Tutorial 6.xcscheme create mode 100644 gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/07-Tutorial 7.xcscheme create mode 100644 gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/08-Tutorial 8.xcscheme create mode 100644 gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/09-Tutorial 9.xcscheme create mode 100644 gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/10-Playback Tutorial 1.xcscheme create mode 100644 gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/12-Playback Tutorial 2.xcscheme create mode 100644 gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/xcschememanagement.plist diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj index ba9f7b82cb..24d44a53b6 100644 --- a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj @@ -273,17 +273,17 @@ 63118C41156D29340085CF03 /* Products */ = { isa = PBXGroup; children = ( + 63118C88156D2D190085CF03 /* Tutorial 1 */, + 63118CB9156D31240085CF03 /* Tutorial 2 */, 63118C54156D29DE0085CF03 /* Turorial 3 */, 63118C75156D2B970085CF03 /* Tutorial 4 */, - 63118C88156D2D190085CF03 /* Tutorial 1 */, 63118C98156D2E2F0085CF03 /* Tutorial 5 */, - 63118CB9156D31240085CF03 /* Tutorial 2 */, - 63118CC8156D32E20085CF03 /* Playback Tutorial 1 */, - 63118CD9156D34BA0085CF03 /* Playback Tutorial 2 */, 63118CEA156D3A870085CF03 /* Tutorial 6 */, 63DE8812156DABDF006F2D3B /* Tutorial 7 */, 63DE8820156DABE6006F2D3B /* Tutorial 8 */, 63DE882E156DABEE006F2D3B /* Tutorial 9 */, + 63118CC8156D32E20085CF03 /* Playback Tutorial 1 */, + 63118CD9156D34BA0085CF03 /* Playback Tutorial 2 */, ); name = Products; sourceTree = SOURCE_ROOT; @@ -588,17 +588,17 @@ projectDirPath = ""; projectRoot = ""; targets = ( + 63118C87156D2D190085CF03 /* Tutorial 1 */, + 63118CB8156D31240085CF03 /* Tutorial 2 */, 63118C53156D29DE0085CF03 /* Turorial 3 */, 63118C74156D2B970085CF03 /* Tutorial 4 */, - 63118C87156D2D190085CF03 /* Tutorial 1 */, 63118C97156D2E2F0085CF03 /* Tutorial 5 */, - 63118CB8156D31240085CF03 /* Tutorial 2 */, - 63118CC7156D32E20085CF03 /* Playback Tutorial 1 */, - 63118CD8156D34BA0085CF03 /* Playback Tutorial 2 */, 63118CE9156D3A870085CF03 /* Tutorial 6 */, 63DE8811156DABDF006F2D3B /* Tutorial 7 */, 63DE881F156DABE6006F2D3B /* Tutorial 8 */, 63DE882D156DABEE006F2D3B /* Tutorial 9 */, + 63118CC7156D32E20085CF03 /* Playback Tutorial 1 */, + 63118CD8156D34BA0085CF03 /* Playback Tutorial 2 */, ); }; /* End PBXProject section */ diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/01-Tutorial 1.xcscheme b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/01-Tutorial 1.xcscheme new file mode 100644 index 0000000000..503d97eab1 --- /dev/null +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/01-Tutorial 1.xcscheme @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/02-Tutorial 2.xcscheme b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/02-Tutorial 2.xcscheme new file mode 100644 index 0000000000..e98502b827 --- /dev/null +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/02-Tutorial 2.xcscheme @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/03-Turorial 3.xcscheme b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/03-Turorial 3.xcscheme new file mode 100644 index 0000000000..7b1edf519d --- /dev/null +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/03-Turorial 3.xcscheme @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/04-Tutorial 4.xcscheme b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/04-Tutorial 4.xcscheme new file mode 100644 index 0000000000..240193664e --- /dev/null +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/04-Tutorial 4.xcscheme @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/05-Tutorial 5.xcscheme b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/05-Tutorial 5.xcscheme new file mode 100644 index 0000000000..30f512ad7f --- /dev/null +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/05-Tutorial 5.xcscheme @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/06-Tutorial 6.xcscheme b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/06-Tutorial 6.xcscheme new file mode 100644 index 0000000000..a72f41d669 --- /dev/null +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/06-Tutorial 6.xcscheme @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/07-Tutorial 7.xcscheme b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/07-Tutorial 7.xcscheme new file mode 100644 index 0000000000..84fccd6558 --- /dev/null +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/07-Tutorial 7.xcscheme @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/08-Tutorial 8.xcscheme b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/08-Tutorial 8.xcscheme new file mode 100644 index 0000000000..aecc95c59f --- /dev/null +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/08-Tutorial 8.xcscheme @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/09-Tutorial 9.xcscheme b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/09-Tutorial 9.xcscheme new file mode 100644 index 0000000000..9f6bec9592 --- /dev/null +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/09-Tutorial 9.xcscheme @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/10-Playback Tutorial 1.xcscheme b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/10-Playback Tutorial 1.xcscheme new file mode 100644 index 0000000000..807d156737 --- /dev/null +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/10-Playback Tutorial 1.xcscheme @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/12-Playback Tutorial 2.xcscheme b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/12-Playback Tutorial 2.xcscheme new file mode 100644 index 0000000000..a7abd55990 --- /dev/null +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/12-Playback Tutorial 2.xcscheme @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/xcschememanagement.plist b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000000..9f45ecfad9 --- /dev/null +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/xcschememanagement.plist @@ -0,0 +1,64 @@ + + + + + SuppressBuildableAutocreation + + 63118C53156D29DE0085CF03 + + primary + + + 63118C74156D2B970085CF03 + + primary + + + 63118C87156D2D190085CF03 + + primary + + + 63118C97156D2E2F0085CF03 + + primary + + + 63118CB8156D31240085CF03 + + primary + + + 63118CC7156D32E20085CF03 + + primary + + + 63118CD8156D34BA0085CF03 + + primary + + + 63118CE9156D3A870085CF03 + + primary + + + 63DE8811156DABDF006F2D3B + + primary + + + 63DE881F156DABE6006F2D3B + + primary + + + 63DE882D156DABEE006F2D3B + + primary + + + + + From 7a319d7feedfda24bd8cdb2479e991d01ba80786 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Thu, 25 Oct 2012 18:21:13 +0200 Subject: [PATCH 233/979] Add remaining bits from tutorial 5 to tutorial 4: Seeking, buffering, etc --- .../android-tutorial-4/jni/tutorial-4.c | 169 +++++++++++++++++- .../tutorial_4/Tutorial4.java | 104 ++++++++++- 2 files changed, 259 insertions(+), 14 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c b/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c index b62f4aa434..fb7182bb44 100644 --- a/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c +++ b/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c @@ -31,6 +31,11 @@ typedef struct _CustomData { GMainLoop *main_loop; /* GLib main loop */ gboolean initialized; /* To avoid informing the UI multiple times about the initialization */ ANativeWindow *native_window; /* The Android native window where video will be rendered */ + GstState state, target_state; + gint64 duration; + gint64 desired_position; + GstClockTime last_seek_time; + gboolean is_live; } CustomData; /* playbin2 flags */ @@ -44,6 +49,7 @@ static pthread_key_t current_jni_env; static JavaVM *java_vm; static jfieldID custom_data_field_id; static jmethodID set_message_method_id; +static jmethodID set_current_position_method_id; static jmethodID on_gstreamer_initialized_method_id; static jmethodID on_media_size_changed_method_id; @@ -100,6 +106,76 @@ static void set_ui_message (const gchar *message, CustomData *data) { (*env)->DeleteLocalRef (env, jmessage); } +static void set_current_ui_position (gint position, gint duration, CustomData *data) { + JNIEnv *env = get_jni_env (); + (*env)->CallVoidMethod (env, data->app, set_current_position_method_id, position, duration); + if ((*env)->ExceptionCheck (env)) { + GST_ERROR ("Failed to call Java method"); + (*env)->ExceptionClear (env); + } +} + +static gboolean refresh_ui (CustomData *data) { + GstFormat fmt = GST_FORMAT_TIME; + gint64 current = -1; + gint64 position; + + /* We do not want to update anything unless we have a working pipeline in the PAUSED or PLAYING state */ + if (!data || !data->pipeline || data->state < GST_STATE_PAUSED) + return TRUE; + + /* If we didn't know it yet, query the stream duration */ + if (!GST_CLOCK_TIME_IS_VALID (data->duration)) { + if (!gst_element_query_duration (data->pipeline, &fmt, &data->duration)) { + GST_WARNING ("Could not query current duration"); + } + } + + if (gst_element_query_position (data->pipeline, &fmt, &position)) { + /* Java expects these values in milliseconds, and GStreamer provides nanoseconds */ + set_current_ui_position (position / GST_MSECOND, data->duration / GST_MSECOND, data); + } + return TRUE; +} + +static void execute_seek (gint64 desired_position, CustomData *data); + +static gboolean delayed_seek_cb (CustomData *data) { + GST_DEBUG ("Doing delayed seek to %" GST_TIME_FORMAT, GST_TIME_ARGS (data->desired_position)); + data->last_seek_time = GST_CLOCK_TIME_NONE; + execute_seek (data->desired_position, data); + return FALSE; +} + +static void execute_seek (gint64 desired_position, CustomData *data) { + gboolean res; + gint64 diff; + + if (desired_position == GST_CLOCK_TIME_NONE) + return; + + diff = gst_util_get_timestamp () - data->last_seek_time; + + if (GST_CLOCK_TIME_IS_VALID (data->last_seek_time) && diff < 500 * GST_MSECOND) { + GSource *timeout_source; + + if (!GST_CLOCK_TIME_IS_VALID (data->desired_position)) { + timeout_source = g_timeout_source_new (diff / GST_MSECOND); + g_source_set_callback (timeout_source, (GSourceFunc)delayed_seek_cb, data, NULL); + g_source_attach (timeout_source, data->context); + g_source_unref (timeout_source); + } + data->desired_position = desired_position; + GST_DEBUG ("Throttling seek to %" GST_TIME_FORMAT ", will be in %" GST_TIME_FORMAT, + GST_TIME_ARGS (desired_position), GST_TIME_ARGS (500 * GST_MSECOND - diff)); + } else { + GST_DEBUG ("Seeking to %" GST_TIME_FORMAT, GST_TIME_ARGS (desired_position)); + res = gst_element_seek_simple (data->pipeline, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, desired_position); + data->last_seek_time = gst_util_get_timestamp (); + data->desired_position = GST_CLOCK_TIME_NONE; + } +} + /* Retrieve errors from the bus and show them on the UI */ static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { GError *err; @@ -112,9 +188,49 @@ static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { g_free (debug_info); set_ui_message (message_string, data); g_free (message_string); + data->target_state = GST_STATE_NULL; gst_element_set_state (data->pipeline, GST_STATE_NULL); } +static void eos_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + set_ui_message (GST_MESSAGE_TYPE_NAME (msg), data); + refresh_ui (data); + data->target_state = GST_STATE_PAUSED; + data->is_live = (gst_element_set_state (data->pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_NO_PREROLL); + execute_seek (0, data); +} + +static void duration_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + data->duration = GST_CLOCK_TIME_NONE; +} + +static void buffering_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + gint percent; + + if (data->is_live) + return; + + gst_message_parse_buffering (msg, &percent); + if (percent < 100 && data->target_state >= GST_STATE_PAUSED) { + gchar * message_string = g_strdup_printf ("Buffering %d%%", percent); + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); + set_ui_message (message_string, data); + g_free (message_string); + } else if (data->target_state >= GST_STATE_PLAYING) { + gst_element_set_state (data->pipeline, GST_STATE_PLAYING); + set_ui_message ("PLAYING", data); + } else if (data->target_state >= GST_STATE_PAUSED) { + set_ui_message ("PAUSED", data); + } +} + +static void clock_lost_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + if (data->target_state >= GST_STATE_PLAYING) { + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); + gst_element_set_state (data->pipeline, GST_STATE_PLAYING); + } +} + /* Retrieve the video sink's Caps and tell the application about the media size */ static void check_media_size (CustomData *data) { JNIEnv *env = get_jni_env (); @@ -155,6 +271,9 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); /* Only pay attention to messages coming from the pipeline, not its children */ if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->pipeline)) { + data->state = new_state; + if (data->state >= GST_STATE_PAUSED && GST_CLOCK_TIME_IS_VALID (data->desired_position)) + execute_seek (data->desired_position, data); gchar *message = g_strdup_printf("State changed to %s", gst_element_state_get_name(new_state)); set_ui_message(message, data); g_free (message); @@ -190,7 +309,9 @@ static void *app_function (void *userdata) { JavaVMAttachArgs args; GstBus *bus; CustomData *data = (CustomData *)userdata; + GSource *timeout_source; GSource *bus_source; + GError *error = NULL; guint flags; GST_DEBUG ("Creating pipeline in CustomData at %p", data); @@ -200,9 +321,12 @@ static void *app_function (void *userdata) { g_main_context_push_thread_default(data->context); /* Build pipeline */ - data->pipeline = gst_element_factory_make ("playbin2", NULL); - if (!data->pipeline) { - set_ui_message("Unable to build pipeline", data); + data->pipeline = gst_parse_launch("playbin2", &error); + if (error) { + gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message); + g_clear_error (&error); + set_ui_message(message, data); + g_free (message); return NULL; } @@ -212,6 +336,7 @@ static void *app_function (void *userdata) { g_object_set (data->pipeline, "flags", flags, NULL); /* Set the pipeline to READY, so it can already accept a window handle, if we have one */ + data->target_state = GST_STATE_READY; gst_element_set_state(data->pipeline, GST_STATE_READY); /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ @@ -221,9 +346,19 @@ static void *app_function (void *userdata) { g_source_attach (bus_source, data->context); g_source_unref (bus_source); g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, data); + g_signal_connect (G_OBJECT (bus), "message::eos", (GCallback)eos_cb, data); g_signal_connect (G_OBJECT (bus), "message::state-changed", (GCallback)state_changed_cb, data); + g_signal_connect (G_OBJECT (bus), "message::duration", (GCallback)duration_cb, data); + g_signal_connect (G_OBJECT (bus), "message::buffering", (GCallback)buffering_cb, data); + g_signal_connect (G_OBJECT (bus), "message::clock-lost", (GCallback)clock_lost_cb, data); gst_object_unref (bus); + /* Register a function that GLib will call 4 times per second */ + timeout_source = g_timeout_source_new (250); + g_source_set_callback (timeout_source, (GSourceFunc)refresh_ui, data, NULL); + g_source_attach (timeout_source, data->context); + g_source_unref (timeout_source); + /* Create a GLib Main Loop and set it to run */ GST_DEBUG ("Entering main loop... (CustomData:%p)", data); data->main_loop = g_main_loop_new (data->context, FALSE); @@ -236,6 +371,7 @@ static void *app_function (void *userdata) { /* Free resources */ g_main_context_pop_thread_default(data->context); g_main_context_unref (data->context); + data->target_state = GST_STATE_NULL; gst_element_set_state (data->pipeline, GST_STATE_NULL); gst_object_unref (data->pipeline); @@ -279,9 +415,12 @@ void gst_native_set_uri (JNIEnv* env, jobject thiz, jstring uri) { if (!data || !data->pipeline) return; const jbyte *char_uri = (*env)->GetStringUTFChars (env, uri, NULL); GST_DEBUG ("Setting URI to %s", char_uri); - gst_element_set_state (data->pipeline, GST_STATE_READY); + if (data->target_state >= GST_STATE_READY) + gst_element_set_state (data->pipeline, GST_STATE_READY); g_object_set(data->pipeline, "uri", char_uri, NULL); (*env)->ReleaseStringUTFChars (env, uri, char_uri); + data->duration = GST_CLOCK_TIME_NONE; + data->is_live = (gst_element_set_state (data->pipeline, data->target_state) == GST_STATE_CHANGE_NO_PREROLL); } /* Set pipeline to PLAYING state */ @@ -289,7 +428,8 @@ static void gst_native_play (JNIEnv* env, jobject thiz) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); if (!data) return; GST_DEBUG ("Setting state to PLAYING"); - gst_element_set_state (data->pipeline, GST_STATE_PLAYING); + data->target_state = GST_STATE_PLAYING; + data->is_live = (gst_element_set_state (data->pipeline, GST_STATE_PLAYING) == GST_STATE_CHANGE_NO_PREROLL); } /* Set pipeline to PAUSED state */ @@ -297,18 +437,32 @@ static void gst_native_pause (JNIEnv* env, jobject thiz) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); if (!data) return; GST_DEBUG ("Setting state to PAUSED"); - gst_element_set_state (data->pipeline, GST_STATE_PAUSED); + data->target_state = GST_STATE_PAUSED; + data->is_live = (gst_element_set_state (data->pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_NO_PREROLL); +} + +void gst_native_set_position (JNIEnv* env, jobject thiz, int milliseconds) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + gint64 desired_position = (gint64)(milliseconds * GST_MSECOND); + if (data->state >= GST_STATE_PAUSED) { + execute_seek(desired_position, data); + } else { + GST_DEBUG ("Scheduling seek to %" GST_TIME_FORMAT " for later", GST_TIME_ARGS (desired_position)); + data->desired_position = desired_position; + } } /* Static class initializer: retrieve method and field IDs */ static jboolean gst_native_class_init (JNIEnv* env, jclass klass) { custom_data_field_id = (*env)->GetFieldID (env, klass, "native_custom_data", "J"); set_message_method_id = (*env)->GetMethodID (env, klass, "setMessage", "(Ljava/lang/String;)V"); + set_current_position_method_id = (*env)->GetMethodID (env, klass, "setCurrentPosition", "(II)V"); on_gstreamer_initialized_method_id = (*env)->GetMethodID (env, klass, "onGStreamerInitialized", "()V"); on_media_size_changed_method_id = (*env)->GetMethodID (env, klass, "onMediaSizeChanged", "(II)V"); if (!custom_data_field_id || !set_message_method_id || !on_gstreamer_initialized_method_id || - !on_media_size_changed_method_id) { + !on_media_size_changed_method_id || !set_current_position_method_id) { /* We emit this message through the Android log instead of the GStreamer log because the later * has not been initialized yet. */ @@ -365,6 +519,7 @@ static JNINativeMethod native_methods[] = { { "nativeSetUri", "(Ljava/lang/String;)V", (void *) gst_native_set_uri}, { "nativePlay", "()V", (void *) gst_native_play}, { "nativePause", "()V", (void *) gst_native_pause}, + { "nativeSetPosition", "(I)V", (void*) gst_native_set_position}, { "nativeSurfaceInit", "(Ljava/lang/Object;)V", (void *) gst_native_surface_init}, { "nativeSurfaceFinalize", "()V", (void *) gst_native_surface_finalize}, { "nativeClassInit", "()Z", (void *) gst_native_class_init} diff --git a/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java b/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java index ab1e2aed5a..b026ef0a86 100644 --- a/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java +++ b/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java @@ -1,5 +1,9 @@ package com.gst_sdk_tutorials.tutorial_4; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.TimeZone; + import android.app.Activity; import android.os.Bundle; import android.util.Log; @@ -8,16 +12,19 @@ import android.view.SurfaceView; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageButton; +import android.widget.SeekBar; +import android.widget.SeekBar.OnSeekBarChangeListener; import android.widget.TextView; import android.widget.Toast; import com.gstreamer.GStreamer; -public class Tutorial4 extends Activity implements SurfaceHolder.Callback { +public class Tutorial4 extends Activity implements SurfaceHolder.Callback, OnSeekBarChangeListener { private native void nativeInit(); // Initialize native code, build pipeline, etc private native void nativeFinalize(); // Destroy pipeline and shutdown native code private native void nativeSetUri(String uri); // Set the URI of the media to play private native void nativePlay(); // Set pipeline to PLAYING + private native void nativeSetPosition(int milliseconds); // Seek to the indicated position, in milliseconds private native void nativePause(); // Set pipeline to PAUSED private static native boolean nativeClassInit(); // Initialize native class: cache Method IDs for callbacks private native void nativeSurfaceInit(Object surface); // A new surface is available @@ -25,8 +32,13 @@ public class Tutorial4 extends Activity implements SurfaceHolder.Callback { private long native_custom_data; // Native code will use this to keep private data private boolean is_playing_desired; // Whether the user asked to go to PLAYING + private int position; // Current position, reported by native code + private int duration; // Current clip duration, reported by native code + private boolean is_local_media; // Whether this clip is stored locally or is being streamed + private int desired_position; // Position where the users wants to seek to + private String mediaUri; // URI of the clip being played - private String mediaUri = "http://docs.gstreamer.com/media/sintel_trailer-368p.ogv"; + private final String defaultMediaUri = "http://docs.gstreamer.com/media/sintel_trailer-368p.ogv"; // Called when the activity is first created. @Override @@ -65,13 +77,25 @@ public class Tutorial4 extends Activity implements SurfaceHolder.Callback { SurfaceHolder sh = sv.getHolder(); sh.addCallback(this); + SeekBar sb = (SeekBar) this.findViewById(R.id.seek_bar); + sb.setOnSeekBarChangeListener(this); + + // Retrieve our previous state, or initialize it to default values if (savedInstanceState != null) { is_playing_desired = savedInstanceState.getBoolean("playing"); - Log.i ("GStreamer", "Activity created. Saved state is playing:" + is_playing_desired); + position = savedInstanceState.getInt("position"); + duration = savedInstanceState.getInt("duration"); + mediaUri = savedInstanceState.getString("mediaUri"); + Log.i ("GStreamer", "Activity created with saved state:"); } else { is_playing_desired = false; - Log.i ("GStreamer", "Activity created. There is no saved state, playing: false"); + position = duration = 0; + mediaUri = defaultMediaUri; + Log.i ("GStreamer", "Activity created with no saved state:"); } + is_local_media = false; + Log.i ("GStreamer", " playing:" + is_playing_desired + " position:" + position + + " duration: " + duration + " uri: " + mediaUri); // Start with disabled buttons, until native code is initialized this.findViewById(R.id.button_play).setEnabled(false); @@ -81,8 +105,12 @@ public class Tutorial4 extends Activity implements SurfaceHolder.Callback { } protected void onSaveInstanceState (Bundle outState) { - Log.d ("GStreamer", "Saving state, playing:" + is_playing_desired); + Log.d ("GStreamer", "Saving state, playing:" + is_playing_desired + " position:" + position + + " duration: " + duration + " uri: " + mediaUri); outState.putBoolean("playing", is_playing_desired); + outState.putInt("position", position); + outState.putInt("duration", duration); + outState.putString("mediaUri", mediaUri); } protected void onDestroy() { @@ -100,12 +128,25 @@ public class Tutorial4 extends Activity implements SurfaceHolder.Callback { }); } + // Set the URI to play, and record whether it is a local or remote file + private void setMediaUri() { + nativeSetUri (mediaUri); + if (mediaUri.startsWith("file://")) is_local_media = true; + } + // Called from native code. Native code calls this once it has created its pipeline and // the main loop is running, so it is ready to accept commands. private void onGStreamerInitialized () { - Log.i ("GStreamer", "Gst initialized. Restoring state, playing:" + is_playing_desired); + Log.i ("GStreamer", "GStreamer initialized:"); + Log.i ("GStreamer", " playing:" + is_playing_desired + " position:" + position + " uri: " + mediaUri); + // Restore previous playing state - nativeSetUri (mediaUri); + setMediaUri (); + // Actually, move to one millisecond in the future. Otherwise, due to rounding errors between the + // milliseconds used here and the nanoseconds used by GStreamer, we would be jumping a bit behind + // where we were before. This, combined with seeking to keyframe positions, would skip one keyframe + // backwards on each iteration. + nativeSetPosition (position + 1); if (is_playing_desired) { nativePlay(); } else { @@ -122,6 +163,37 @@ public class Tutorial4 extends Activity implements SurfaceHolder.Callback { }); } + // The text widget acts as an slave for the seek bar, so it reflects what the seek bar shows, whether + // it is an actual pipeline position or the position the user is currently dragging to. + private void updateTimeWidget () { + final TextView tv = (TextView) this.findViewById(R.id.textview_time); + final SeekBar sb = (SeekBar) this.findViewById(R.id.seek_bar); + final int pos = sb.getProgress(); + + SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss"); + df.setTimeZone(TimeZone.getTimeZone("UTC")); + final String message = df.format(new Date (pos)) + " / " + df.format(new Date (duration)); + tv.setText(message); + } + + // Called from native code + private void setCurrentPosition(final int position, final int duration) { + final SeekBar sb = (SeekBar) this.findViewById(R.id.seek_bar); + + // Ignore position messages from the pipeline if the seek bar is being dragged + if (sb.isPressed()) return; + + runOnUiThread (new Runnable() { + public void run() { + sb.setMax(duration); + sb.setProgress(position); + updateTimeWidget(); + } + }); + this.position = position; + this.duration = duration; + } + static { System.loadLibrary("gstreamer_android"); System.loadLibrary("tutorial-4"); @@ -156,4 +228,22 @@ public class Tutorial4 extends Activity implements SurfaceHolder.Callback { }); } + public void onProgressChanged(SeekBar sb, int progress, boolean fromUser) { + if (fromUser == false) return; + desired_position = progress; + // If this is a local file, allow scrub seeking, this is, seek soon as the slider is moved. + if (is_local_media) nativeSetPosition(desired_position); + updateTimeWidget(); + } + + public void onStartTrackingTouch(SeekBar sb) { + nativePause(); + } + + public void onStopTrackingTouch(SeekBar sb) { + // If this is a remote file, scrub seeking is probably not going to work smoothly enough. + // Therefore, perform only the seek when the slider is released. + if (!is_local_media) nativeSetPosition(desired_position); + if (is_playing_desired) nativePlay(); + } } From 387de5544c0bfe28cd75e8a40acdb5f472895f00 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 26 Oct 2012 14:04:04 +0200 Subject: [PATCH 234/979] Slightly better buffering UI messages --- gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c b/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c index fb7182bb44..146402dab1 100644 --- a/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c +++ b/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c @@ -218,9 +218,8 @@ static void buffering_cb (GstBus *bus, GstMessage *msg, CustomData *data) { g_free (message_string); } else if (data->target_state >= GST_STATE_PLAYING) { gst_element_set_state (data->pipeline, GST_STATE_PLAYING); - set_ui_message ("PLAYING", data); } else if (data->target_state >= GST_STATE_PAUSED) { - set_ui_message ("PAUSED", data); + set_ui_message ("Buffering complete", data); } } From 73c3dbf35bbb1b0e7b09db420a253c0dd57955ef Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 26 Oct 2012 14:50:45 +0200 Subject: [PATCH 235/979] Remove the 'fix' for successive orientation changes moving the clip slowly back in time, as it does not work. --- .../src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java b/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java index b026ef0a86..2b8c11d72d 100644 --- a/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java +++ b/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java @@ -142,11 +142,7 @@ public class Tutorial4 extends Activity implements SurfaceHolder.Callback, OnSee // Restore previous playing state setMediaUri (); - // Actually, move to one millisecond in the future. Otherwise, due to rounding errors between the - // milliseconds used here and the nanoseconds used by GStreamer, we would be jumping a bit behind - // where we were before. This, combined with seeking to keyframe positions, would skip one keyframe - // backwards on each iteration. - nativeSetPosition (position + 1); + nativeSetPosition (position); if (is_playing_desired) { nativePlay(); } else { From a67b8edbd9419f03f199bee53fce16d666950049 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 29 Oct 2012 12:10:36 +0100 Subject: [PATCH 236/979] Comments --- .../android-tutorial-4/jni/tutorial-4.c | 28 +++++++++++-------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c b/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c index 146402dab1..d8d659e19c 100644 --- a/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c +++ b/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c @@ -25,22 +25,23 @@ GST_DEBUG_CATEGORY_STATIC (debug_category); /* Structure to contain all our information, so we can pass it to callbacks */ typedef struct _CustomData { - jobject app; /* Application instance, used to call its methods. A global reference is kept. */ - GstElement *pipeline; /* The running pipeline */ - GMainContext *context; /* GLib context used to run the main loop */ - GMainLoop *main_loop; /* GLib main loop */ - gboolean initialized; /* To avoid informing the UI multiple times about the initialization */ + jobject app; /* Application instance, used to call its methods. A global reference is kept. */ + GstElement *pipeline; /* The running pipeline */ + GMainContext *context; /* GLib context used to run the main loop */ + GMainLoop *main_loop; /* GLib main loop */ + gboolean initialized; /* To avoid informing the UI multiple times about the initialization */ ANativeWindow *native_window; /* The Android native window where video will be rendered */ - GstState state, target_state; - gint64 duration; - gint64 desired_position; - GstClockTime last_seek_time; - gboolean is_live; + GstState state; /* Current pipeline state */ + GstState target_state; /* Desired pipeline state, to be set once buffering is complete */ + gint64 duration; /* Cached clip duration */ + gint64 desired_position; /* Position to seek to, once the pipeline is running */ + GstClockTime last_seek_time; /* For seeking overflow prevention (throttling) */ + gboolean is_live; /* Live streams do not use buffering */ } CustomData; /* playbin2 flags */ typedef enum { - GST_PLAY_FLAG_TEXT = (1 << 2) /* We want subtitle output */ + GST_PLAY_FLAG_TEXT = (1 << 2) /* We want subtitle output */ } GstPlayFlags; /* These global variables cache values which are not changing during execution */ @@ -106,6 +107,7 @@ static void set_ui_message (const gchar *message, CustomData *data) { (*env)->DeleteLocalRef (env, jmessage); } +/* Tell the application what is the current position and clip duration */ static void set_current_ui_position (gint position, gint duration, CustomData *data) { JNIEnv *env = get_jni_env (); (*env)->CallVoidMethod (env, data->app, set_current_position_method_id, position, duration); @@ -115,6 +117,8 @@ static void set_current_ui_position (gint position, gint duration, CustomData *d } } +/* If we have pipeline and it is running, query the current position and clip duration and inform + * the application */ static gboolean refresh_ui (CustomData *data) { GstFormat fmt = GST_FORMAT_TIME; gint64 current = -1; @@ -147,6 +151,8 @@ static gboolean delayed_seek_cb (CustomData *data) { return FALSE; } +/* Perform seek, if we are not too close to the previous seek. Otherwise, schedule the seek for + * some time in the future. */ static void execute_seek (gint64 desired_position, CustomData *data) { gboolean res; gint64 diff; From a41783bfe19560e458e853c29595084a8ae9b70c Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 29 Oct 2012 12:46:16 +0100 Subject: [PATCH 237/979] Fix seek throttling. Comments. Method reordering. --- .../android-tutorial-4/jni/tutorial-4.c | 31 ++++++++++++------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c b/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c index d8d659e19c..a495ac2dfd 100644 --- a/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c +++ b/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c @@ -23,6 +23,8 @@ GST_DEBUG_CATEGORY_STATIC (debug_category); # define SET_CUSTOM_DATA(env, thiz, fieldID, data) (*env)->SetLongField (env, thiz, fieldID, (jlong)(jint)data) #endif +#define SEEK_MIN_DELAY (500 * GST_MSECOND) /* Minimum time between consecutive seeks */ + /* Structure to contain all our information, so we can pass it to callbacks */ typedef struct _CustomData { jobject app; /* Application instance, used to call its methods. A global reference is kept. */ @@ -142,14 +144,8 @@ static gboolean refresh_ui (CustomData *data) { return TRUE; } -static void execute_seek (gint64 desired_position, CustomData *data); - -static gboolean delayed_seek_cb (CustomData *data) { - GST_DEBUG ("Doing delayed seek to %" GST_TIME_FORMAT, GST_TIME_ARGS (data->desired_position)); - data->last_seek_time = GST_CLOCK_TIME_NONE; - execute_seek (data->desired_position, data); - return FALSE; -} +/* Forward declaration for the delayed seek callback */ +static gboolean delayed_seek_cb (CustomData *data); /* Perform seek, if we are not too close to the previous seek. Otherwise, schedule the seek for * some time in the future. */ @@ -162,19 +158,24 @@ static void execute_seek (gint64 desired_position, CustomData *data) { diff = gst_util_get_timestamp () - data->last_seek_time; - if (GST_CLOCK_TIME_IS_VALID (data->last_seek_time) && diff < 500 * GST_MSECOND) { + if (GST_CLOCK_TIME_IS_VALID (data->last_seek_time) && diff < SEEK_MIN_DELAY) { + /* The previous seek was too close, delay this one */ GSource *timeout_source; if (!GST_CLOCK_TIME_IS_VALID (data->desired_position)) { - timeout_source = g_timeout_source_new (diff / GST_MSECOND); + /* There was no previous seek scheduled. Setup a timer for some time in the future */ + timeout_source = g_timeout_source_new (SEEK_MIN_DELAY - diff / GST_MSECOND); g_source_set_callback (timeout_source, (GSourceFunc)delayed_seek_cb, data, NULL); g_source_attach (timeout_source, data->context); g_source_unref (timeout_source); } + /* Update the desired seek position. If multiple petitions are received before it is time + * to perform a seek, only the last one is remembered. */ data->desired_position = desired_position; GST_DEBUG ("Throttling seek to %" GST_TIME_FORMAT ", will be in %" GST_TIME_FORMAT, - GST_TIME_ARGS (desired_position), GST_TIME_ARGS (500 * GST_MSECOND - diff)); + GST_TIME_ARGS (desired_position), GST_TIME_ARGS (SEEK_MIN_DELAY - diff)); } else { + /* Perform the seek now */ GST_DEBUG ("Seeking to %" GST_TIME_FORMAT, GST_TIME_ARGS (desired_position)); res = gst_element_seek_simple (data->pipeline, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, desired_position); data->last_seek_time = gst_util_get_timestamp (); @@ -182,6 +183,14 @@ static void execute_seek (gint64 desired_position, CustomData *data) { } } +/* Delayed seek callback. This gets called by the timer setup in the above function. */ +static gboolean delayed_seek_cb (CustomData *data) { + GST_DEBUG ("Doing delayed seek to %" GST_TIME_FORMAT, GST_TIME_ARGS (data->desired_position)); + data->last_seek_time = GST_CLOCK_TIME_NONE; + execute_seek (data->desired_position, data); + return FALSE; +} + /* Retrieve errors from the bus and show them on the UI */ static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { GError *err; From e752ba790e30f65e099b034c242dc07cd5ecd461 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 29 Oct 2012 17:08:21 +0100 Subject: [PATCH 238/979] Fix seek throttling again --- .../android-tutorial-4/jni/tutorial-4.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c b/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c index a495ac2dfd..a133bd3d1f 100644 --- a/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c +++ b/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c @@ -23,7 +23,9 @@ GST_DEBUG_CATEGORY_STATIC (debug_category); # define SET_CUSTOM_DATA(env, thiz, fieldID, data) (*env)->SetLongField (env, thiz, fieldID, (jlong)(jint)data) #endif -#define SEEK_MIN_DELAY (500 * GST_MSECOND) /* Minimum time between consecutive seeks */ +/* Do not allow seeks to be performed closer than this distance. It is visually useless, and will probably + * confuse some demuxers. */ +#define SEEK_MIN_DELAY (500 * GST_MSECOND) /* Structure to contain all our information, so we can pass it to callbacks */ typedef struct _CustomData { @@ -150,7 +152,6 @@ static gboolean delayed_seek_cb (CustomData *data); /* Perform seek, if we are not too close to the previous seek. Otherwise, schedule the seek for * some time in the future. */ static void execute_seek (gint64 desired_position, CustomData *data) { - gboolean res; gint64 diff; if (desired_position == GST_CLOCK_TIME_NONE) @@ -162,9 +163,9 @@ static void execute_seek (gint64 desired_position, CustomData *data) { /* The previous seek was too close, delay this one */ GSource *timeout_source; - if (!GST_CLOCK_TIME_IS_VALID (data->desired_position)) { + if (data->desired_position == GST_CLOCK_TIME_NONE) { /* There was no previous seek scheduled. Setup a timer for some time in the future */ - timeout_source = g_timeout_source_new (SEEK_MIN_DELAY - diff / GST_MSECOND); + timeout_source = g_timeout_source_new ((SEEK_MIN_DELAY - diff) / GST_MSECOND); g_source_set_callback (timeout_source, (GSourceFunc)delayed_seek_cb, data, NULL); g_source_attach (timeout_source, data->context); g_source_unref (timeout_source); @@ -177,8 +178,8 @@ static void execute_seek (gint64 desired_position, CustomData *data) { } else { /* Perform the seek now */ GST_DEBUG ("Seeking to %" GST_TIME_FORMAT, GST_TIME_ARGS (desired_position)); - res = gst_element_seek_simple (data->pipeline, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, desired_position); data->last_seek_time = gst_util_get_timestamp (); + gst_element_seek_simple (data->pipeline, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, desired_position); data->desired_position = GST_CLOCK_TIME_NONE; } } @@ -186,7 +187,6 @@ static void execute_seek (gint64 desired_position, CustomData *data) { /* Delayed seek callback. This gets called by the timer setup in the above function. */ static gboolean delayed_seek_cb (CustomData *data) { GST_DEBUG ("Doing delayed seek to %" GST_TIME_FORMAT, GST_TIME_ARGS (data->desired_position)); - data->last_seek_time = GST_CLOCK_TIME_NONE; execute_seek (data->desired_position, data); return FALSE; } @@ -286,7 +286,7 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { /* Only pay attention to messages coming from the pipeline, not its children */ if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->pipeline)) { data->state = new_state; - if (data->state >= GST_STATE_PAUSED && GST_CLOCK_TIME_IS_VALID (data->desired_position)) + if (old_state < GST_STATE_PAUSED && new_state >= GST_STATE_PAUSED && GST_CLOCK_TIME_IS_VALID (data->desired_position)) execute_seek (data->desired_position, data); gchar *message = g_strdup_printf("State changed to %s", gst_element_state_get_name(new_state)); set_ui_message(message, data); @@ -399,6 +399,8 @@ static void *app_function (void *userdata) { /* Instruct the native code to create its internal data structure, pipeline and thread */ static void gst_native_init (JNIEnv* env, jobject thiz) { CustomData *data = g_new0 (CustomData, 1); + data->desired_position = GST_CLOCK_TIME_NONE; + data->last_seek_time = GST_CLOCK_TIME_NONE; SET_CUSTOM_DATA (env, thiz, custom_data_field_id, data); GST_DEBUG_CATEGORY_INIT (debug_category, "tutorial-4", 0, "Android tutorial 4"); gst_debug_set_threshold_for_name("tutorial-4", GST_LEVEL_DEBUG); From cfcfb180e66c999ac481553e2a16296f58d000cf Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 29 Oct 2012 17:54:13 +0100 Subject: [PATCH 239/979] Comments and code beautification. Remove useless UI messages. --- .../android-tutorial-4/jni/tutorial-4.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c b/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c index a133bd3d1f..d4332b483a 100644 --- a/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c +++ b/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c @@ -207,18 +207,20 @@ static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { gst_element_set_state (data->pipeline, GST_STATE_NULL); } +/* Called when the End Of the Stream is reached. Just move to the beginning of the media and pause. */ static void eos_cb (GstBus *bus, GstMessage *msg, CustomData *data) { - set_ui_message (GST_MESSAGE_TYPE_NAME (msg), data); - refresh_ui (data); data->target_state = GST_STATE_PAUSED; data->is_live = (gst_element_set_state (data->pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_NO_PREROLL); execute_seek (0, data); } +/* Called when the duration of the media changes. Just mark it as unknown, so we re-query it later. */ static void duration_cb (GstBus *bus, GstMessage *msg, CustomData *data) { data->duration = GST_CLOCK_TIME_NONE; } +/* Called when buffering messages are received. We inform the UI about the current buffering level and + * keep the pipeline paused until 100% buffering is reached. At that point, set the desired state. */ static void buffering_cb (GstBus *bus, GstMessage *msg, CustomData *data) { gint percent; @@ -238,6 +240,7 @@ static void buffering_cb (GstBus *bus, GstMessage *msg, CustomData *data) { } } +/* Called when the clock is lost */ static void clock_lost_cb (GstBus *bus, GstMessage *msg, CustomData *data) { if (data->target_state >= GST_STATE_PLAYING) { gst_element_set_state (data->pipeline, GST_STATE_PAUSED); @@ -286,15 +289,18 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { /* Only pay attention to messages coming from the pipeline, not its children */ if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->pipeline)) { data->state = new_state; - if (old_state < GST_STATE_PAUSED && new_state >= GST_STATE_PAUSED && GST_CLOCK_TIME_IS_VALID (data->desired_position)) - execute_seek (data->desired_position, data); gchar *message = g_strdup_printf("State changed to %s", gst_element_state_get_name(new_state)); set_ui_message(message, data); g_free (message); + /* The Ready to Paused state change is particularly interesting: */ if (old_state == GST_STATE_READY && new_state == GST_STATE_PAUSED) { /* By now the sink already knows the media size */ check_media_size(data); + + /* If there was a scheduled seek, perform it now that we have moved to the Paused state */ + if (GST_CLOCK_TIME_IS_VALID (data->desired_position)) + execute_seek (data->desired_position, data); } } } @@ -426,6 +432,7 @@ static void gst_native_finalize (JNIEnv* env, jobject thiz) { GST_DEBUG ("Done finalizing"); } +/* Set playbin2's URI */ void gst_native_set_uri (JNIEnv* env, jobject thiz, jstring uri) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); if (!data || !data->pipeline) return; @@ -457,6 +464,7 @@ static void gst_native_pause (JNIEnv* env, jobject thiz) { data->is_live = (gst_element_set_state (data->pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_NO_PREROLL); } +/* Instruct the pipeline to seek to a different position */ void gst_native_set_position (JNIEnv* env, jobject thiz, int milliseconds) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); if (!data) return; From d357a0332a8e80009274ae1b3c9066d78511189e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Tue, 30 Oct 2012 10:36:31 +0100 Subject: [PATCH 240/979] Use WakeLock to prevent the screen from blanking during playback --- .../android-tutorial-5/AndroidManifest.xml | 1 + .../tutorial_5/Tutorial5.java | 33 ++++++++++++++----- 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-5/AndroidManifest.xml b/gst-sdk/tutorials/android-tutorial-5/AndroidManifest.xml index bd56b1b15a..372f3190b8 100755 --- a/gst-sdk/tutorials/android-tutorial-5/AndroidManifest.xml +++ b/gst-sdk/tutorials/android-tutorial-5/AndroidManifest.xml @@ -5,6 +5,7 @@ android:versionName="1.0"> + diff --git a/gst-sdk/tutorials/android-tutorial-5/src/com/gst_sdk_tutorials/tutorial_5/Tutorial5.java b/gst-sdk/tutorials/android-tutorial-5/src/com/gst_sdk_tutorials/tutorial_5/Tutorial5.java index bd09d456b9..e3f55fe1d3 100644 --- a/gst-sdk/tutorials/android-tutorial-5/src/com/gst_sdk_tutorials/tutorial_5/Tutorial5.java +++ b/gst-sdk/tutorials/android-tutorial-5/src/com/gst_sdk_tutorials/tutorial_5/Tutorial5.java @@ -9,10 +9,12 @@ import com.lamerman.FileDialog; import com.lamerman.SelectionMode; import android.app.Activity; +import android.content.Context; import android.content.Intent; import android.util.Log; import android.os.Bundle; import android.os.Environment; +import android.os.PowerManager; import android.view.SurfaceHolder; import android.view.SurfaceView; import android.view.View; @@ -42,6 +44,8 @@ public class Tutorial5 extends Activity implements SurfaceHolder.Callback, OnSee private int desired_position; private Bundle initialization_data; + + private PowerManager.WakeLock wake_lock; private String mediaUri = "http://docs.gstreamer.com/media/sintel_trailer-480p.ogv"; static private final int PICK_FILE_CODE = 1; @@ -62,10 +66,16 @@ public class Tutorial5 extends Activity implements SurfaceHolder.Callback, OnSee setContentView(R.layout.main); + + PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); + wake_lock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "Android Aurena"); + wake_lock.setReferenceCounted(false); + ImageButton play = (ImageButton) this.findViewById(R.id.button_play); play.setOnClickListener(new OnClickListener() { public void onClick(View v) { is_playing_desired = true; + wake_lock.acquire(); nativePlay(); } }); @@ -74,6 +84,7 @@ public class Tutorial5 extends Activity implements SurfaceHolder.Callback, OnSee pause.setOnClickListener(new OnClickListener() { public void onClick(View v) { is_playing_desired = false; + wake_lock.release(); nativePause(); } }); @@ -81,10 +92,10 @@ public class Tutorial5 extends Activity implements SurfaceHolder.Callback, OnSee ImageButton select = (ImageButton) this.findViewById(R.id.button_select); select.setOnClickListener(new OnClickListener() { public void onClick(View v) { - Intent i = new Intent(getBaseContext(), FileDialog.class); - i.putExtra(FileDialog.START_PATH, Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES).getAbsolutePath()); - i.putExtra(FileDialog.SELECTION_MODE, SelectionMode.MODE_OPEN); - startActivityForResult(i, PICK_FILE_CODE); + Intent i = new Intent(getBaseContext(), FileDialog.class); + i.putExtra(FileDialog.START_PATH, Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES).getAbsolutePath()); + i.putExtra(FileDialog.SELECTION_MODE, SelectionMode.MODE_OPEN); + startActivityForResult(i, PICK_FILE_CODE); } }); @@ -113,6 +124,8 @@ public class Tutorial5 extends Activity implements SurfaceHolder.Callback, OnSee protected void onDestroy() { nativeFinalize(); + if (wake_lock.isHeld()) + wake_lock.release(); super.onDestroy(); } @@ -132,7 +145,7 @@ public class Tutorial5 extends Activity implements SurfaceHolder.Callback, OnSee } /* Called from native code */ - private void onGStreamerInitialized () { + private void onGStreamerInitialized () { if (initialization_data != null) { is_playing_desired = initialization_data.getBoolean("playing"); int milliseconds = initialization_data.getInt("position"); @@ -149,8 +162,10 @@ public class Tutorial5 extends Activity implements SurfaceHolder.Callback, OnSee setMediaUri (); if (is_playing_desired) { nativePlay(); + wake_lock.acquire(); } else { nativePause(); + wake_lock.release(); } } @@ -252,9 +267,9 @@ public class Tutorial5 extends Activity implements SurfaceHolder.Callback, OnSee @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { - if (resultCode == RESULT_OK && requestCode == PICK_FILE_CODE) { - mediaUri = "file://" + data.getStringExtra(FileDialog.RESULT_PATH); - setMediaUri(); - } + if (resultCode == RESULT_OK && requestCode == PICK_FILE_CODE) { + mediaUri = "file://" + data.getStringExtra(FileDialog.RESULT_PATH); + setMediaUri(); + } } } From b0cff5fa8f69a2be6ac83a1e74dfd936df552012 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 30 Oct 2012 10:38:13 +0100 Subject: [PATCH 241/979] Comment --- gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c b/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c index d4332b483a..0ec6a8a08c 100644 --- a/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c +++ b/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c @@ -214,7 +214,7 @@ static void eos_cb (GstBus *bus, GstMessage *msg, CustomData *data) { execute_seek (0, data); } -/* Called when the duration of the media changes. Just mark it as unknown, so we re-query it later. */ +/* Called when the duration of the media changes. Just mark it as unknown, so we re-query it in the next UI refresh. */ static void duration_cb (GstBus *bus, GstMessage *msg, CustomData *data) { data->duration = GST_CLOCK_TIME_NONE; } From 5225d14d9ca146ddc3a0429f234da215eaeab369 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 30 Oct 2012 12:28:10 +0100 Subject: [PATCH 242/979] Comments --- .../src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java b/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java index 2b8c11d72d..cd6fb26256 100644 --- a/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java +++ b/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java @@ -212,6 +212,8 @@ public class Tutorial4 extends Activity implements SurfaceHolder.Callback, OnSee nativeSurfaceFinalize (); } + // Called from native code when the size of the media changes or is first detected. + // Inform the video surface about the new size and recalculate the layout. private void onMediaSizeChanged (int width, int height) { Log.i ("GStreamer", "Media size changed to " + width + "x" + height); final GStreamerSurfaceView gsv = (GStreamerSurfaceView) this.findViewById(R.id.surface_video); @@ -224,6 +226,7 @@ public class Tutorial4 extends Activity implements SurfaceHolder.Callback, OnSee }); } + // The Seek Bar thumb has moved, either because the user dragged it or we have called setProgress() public void onProgressChanged(SeekBar sb, int progress, boolean fromUser) { if (fromUser == false) return; desired_position = progress; @@ -232,10 +235,12 @@ public class Tutorial4 extends Activity implements SurfaceHolder.Callback, OnSee updateTimeWidget(); } + // The user started dragging the Seek Bar thumb public void onStartTrackingTouch(SeekBar sb) { nativePause(); } + // The user released the Seek Bar thumb public void onStopTrackingTouch(SeekBar sb) { // If this is a remote file, scrub seeking is probably not going to work smoothly enough. // Therefore, perform only the seek when the slider is released. From 06092ab21716e155213cf5fa8f03e32669ff6193 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 30 Oct 2012 17:07:16 +0100 Subject: [PATCH 243/979] Better approach to is_local_media --- .../src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java b/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java index cd6fb26256..a850af65d5 100644 --- a/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java +++ b/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java @@ -131,7 +131,7 @@ public class Tutorial4 extends Activity implements SurfaceHolder.Callback, OnSee // Set the URI to play, and record whether it is a local or remote file private void setMediaUri() { nativeSetUri (mediaUri); - if (mediaUri.startsWith("file://")) is_local_media = true; + is_local_media = mediaUri.startsWith("file://"); } // Called from native code. Native code calls this once it has created its pipeline and From df3c6e3d3eeace3dea5916cdfec47fa65c4282db Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 30 Oct 2012 18:16:57 +0100 Subject: [PATCH 244/979] Comment typo --- .../src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java b/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java index a850af65d5..269fac329c 100644 --- a/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java +++ b/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java @@ -230,7 +230,7 @@ public class Tutorial4 extends Activity implements SurfaceHolder.Callback, OnSee public void onProgressChanged(SeekBar sb, int progress, boolean fromUser) { if (fromUser == false) return; desired_position = progress; - // If this is a local file, allow scrub seeking, this is, seek soon as the slider is moved. + // If this is a local file, allow scrub seeking, this is, seek as soon as the slider is moved. if (is_local_media) nativeSetPosition(desired_position); updateTimeWidget(); } From ac07b88df9924b8c03a1b00014b03b6424dbd4be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Fri, 2 Nov 2012 13:13:47 +0100 Subject: [PATCH 245/979] Add GSTREAMER_EXTRA_DEPS as required for Android tutorials --- gst-sdk/tutorials/android-tutorial-3/jni/Android.mk | 1 + gst-sdk/tutorials/android-tutorial-4/jni/Android.mk | 1 + gst-sdk/tutorials/android-tutorial-5/jni/Android.mk | 1 + 3 files changed, 3 insertions(+) diff --git a/gst-sdk/tutorials/android-tutorial-3/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-3/jni/Android.mk index 985950395f..2e6abc292b 100644 --- a/gst-sdk/tutorials/android-tutorial-3/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-3/jni/Android.mk @@ -17,4 +17,5 @@ endif GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ include $(GSTREAMER_NDK_BUILD_PATH)/plugins.mk GSTREAMER_PLUGINS := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_SYS) $(GSTREAMER_PLUGINS_EFFECTS) +GSTREAMER_EXTRA_DEPS := gstreamer-interfaces-0.10 gstreamer-video-0.10 include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk diff --git a/gst-sdk/tutorials/android-tutorial-4/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-4/jni/Android.mk index 9d78b4214d..c298e74bd7 100644 --- a/gst-sdk/tutorials/android-tutorial-4/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-4/jni/Android.mk @@ -17,4 +17,5 @@ endif GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ include $(GSTREAMER_NDK_BUILD_PATH)/plugins.mk GSTREAMER_PLUGINS := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_PLAYBACK) $(GSTREAMER_PLUGINS_CODECS) $(GSTREAMER_PLUGINS_NET) $(GSTREAMER_PLUGINS_SYS) +GSTREAMER_EXTRA_DEPS := gstreamer-interfaces-0.10 gstreamer-video-0.10 include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk diff --git a/gst-sdk/tutorials/android-tutorial-5/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-5/jni/Android.mk index f86d8c522f..a82f505423 100755 --- a/gst-sdk/tutorials/android-tutorial-5/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-5/jni/Android.mk @@ -18,4 +18,5 @@ GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ include $(GSTREAMER_NDK_BUILD_PATH)/plugins.mk GSTREAMER_PLUGINS := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_PLAYBACK) $(GSTREAMER_PLUGINS_CODECS) $(GSTREAMER_PLUGINS_NET) $(GSTREAMER_PLUGINS_SYS) G_IO_MODULES := gnutls +GSTREAMER_EXTRA_DEPS := gstreamer-interfaces-0.10 gstreamer-video-0.10 include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk From 2635e59fb46896808d618827c04b48974ff85de9 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 5 Nov 2012 10:36:01 +0100 Subject: [PATCH 246/979] Revamp tutorial 5 code to continue what we have been showing in all previous tutorials. Drop unused code and add goodies like media size reporting and seek throttling. --- .../android-tutorial-5/jni/tutorial-5.c | 297 ++++++++++++------ .../android-tutorial-5/res/layout/main.xml | 36 ++- .../tutorial_5/GStreamerSurfaceView.java | 85 +++++ .../tutorial_5/Tutorial5.java | 178 ++++++----- 4 files changed, 401 insertions(+), 195 deletions(-) create mode 100644 gst-sdk/tutorials/android-tutorial-5/src/com/gst_sdk_tutorials/tutorial_5/GStreamerSurfaceView.java diff --git a/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c b/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c index 0cfa8c36ec..2bf1d57f2a 100755 --- a/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c +++ b/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c @@ -4,8 +4,9 @@ #include #include #include -#include #include +#include +#include GST_DEBUG_CATEGORY_STATIC (debug_category); #define GST_CAT_DEFAULT debug_category @@ -22,33 +23,46 @@ GST_DEBUG_CATEGORY_STATIC (debug_category); # define SET_CUSTOM_DATA(env, thiz, fieldID, data) (*env)->SetLongField (env, thiz, fieldID, (jlong)(jint)data) #endif +/* Do not allow seeks to be performed closer than this distance. It is visually useless, and will probably + * confuse some demuxers. */ +#define SEEK_MIN_DELAY (500 * GST_MSECOND) + +/* Structure to contain all our information, so we can pass it to callbacks */ typedef struct _CustomData { - jobject app; - GstElement *pipeline; - GMainContext *context; - GMainLoop *main_loop; - ANativeWindow *native_window; - GstState state, target_state; - gint64 position; - gint64 duration; - gint64 desired_position; - GstClockTime last_seek_time; - gboolean initialized; - gboolean is_live; + jobject app; /* Application instance, used to call its methods. A global reference is kept. */ + GstElement *pipeline; /* The running pipeline */ + GMainContext *context; /* GLib context used to run the main loop */ + GMainLoop *main_loop; /* GLib main loop */ + gboolean initialized; /* To avoid informing the UI multiple times about the initialization */ + ANativeWindow *native_window; /* The Android native window where video will be rendered */ + GstState state; /* Current pipeline state */ + GstState target_state; /* Desired pipeline state, to be set once buffering is complete */ + gint64 duration; /* Cached clip duration */ + gint64 desired_position; /* Position to seek to, once the pipeline is running */ + GstClockTime last_seek_time; /* For seeking overflow prevention (throttling) */ + gboolean is_live; /* Live streams do not use buffering */ } CustomData; +/* playbin2 flags */ +typedef enum { + GST_PLAY_FLAG_TEXT = (1 << 2) /* We want subtitle output */ +} GstPlayFlags; + +/* These global variables cache values which are not changing during execution */ static pthread_t gst_app_thread; static pthread_key_t current_jni_env; static JavaVM *java_vm; static jfieldID custom_data_field_id; static jmethodID set_message_method_id; static jmethodID set_current_position_method_id; -static jmethodID set_current_state_method_id; static jmethodID on_gstreamer_initialized_method_id; +static jmethodID on_media_size_changed_method_id; /* * Private methods */ + +/* Register this thread with the VM */ static JNIEnv *attach_current_thread (void) { JNIEnv *env; JavaVMAttachArgs args; @@ -66,11 +80,13 @@ static JNIEnv *attach_current_thread (void) { return env; } +/* Unregister this thread from the VM */ static void detach_current_thread (void *env) { GST_DEBUG ("Detaching thread %p", g_thread_self ()); (*java_vm)->DetachCurrentThread (java_vm); } +/* Retrieve the JNI environment for this thread */ static JNIEnv *get_jni_env (void) { JNIEnv *env; @@ -82,6 +98,7 @@ static JNIEnv *get_jni_env (void) { return env; } +/* Change the content of the UI's TextView */ static void set_ui_message (const gchar *message, CustomData *data) { JNIEnv *env = get_jni_env (); GST_DEBUG ("Setting message to: %s", message); @@ -94,9 +111,9 @@ static void set_ui_message (const gchar *message, CustomData *data) { (*env)->DeleteLocalRef (env, jmessage); } +/* Tell the application what is the current position and clip duration */ static void set_current_ui_position (gint position, gint duration, CustomData *data) { JNIEnv *env = get_jni_env (); -// GST_DEBUG ("Setting current position/duration to: %d / %d (ms)", position, duration); (*env)->CallVoidMethod (env, data->app, set_current_position_method_id, position, duration); if ((*env)->ExceptionCheck (env)) { GST_ERROR ("Failed to call Java method"); @@ -104,9 +121,12 @@ static void set_current_ui_position (gint position, gint duration, CustomData *d } } +/* If we have pipeline and it is running, query the current position and clip duration and inform + * the application */ static gboolean refresh_ui (CustomData *data) { GstFormat fmt = GST_FORMAT_TIME; gint64 current = -1; + gint64 position; /* We do not want to update anything unless we have a working pipeline in the PAUSED or PLAYING state */ if (!data || !data->pipeline || data->state < GST_STATE_PAUSED) @@ -119,25 +139,19 @@ static gboolean refresh_ui (CustomData *data) { } } - if (gst_element_query_position (data->pipeline, &fmt, &data->position)) { - /* Java expects these values in milliseconds, and Gst provides nanoseconds */ - set_current_ui_position (data->position / GST_MSECOND, data->duration / GST_MSECOND, data); + if (gst_element_query_position (data->pipeline, &fmt, &position)) { + /* Java expects these values in milliseconds, and GStreamer provides nanoseconds */ + set_current_ui_position (position / GST_MSECOND, data->duration / GST_MSECOND, data); } return TRUE; } -static void execute_seek (gint64 desired_position, CustomData *data); -static gboolean -delayed_seek_cb (CustomData *data) -{ - GST_DEBUG ("Doing delayed seek %" GST_TIME_FORMAT, GST_TIME_ARGS (data->desired_position)); - data->last_seek_time = GST_CLOCK_TIME_NONE; - execute_seek (data->desired_position, data); - return FALSE; -} +/* Forward declaration for the delayed seek callback */ +static gboolean delayed_seek_cb (CustomData *data); +/* Perform seek, if we are not too close to the previous seek. Otherwise, schedule the seek for + * some time in the future. */ static void execute_seek (gint64 desired_position, CustomData *data) { - gboolean res; gint64 diff; if (desired_position == GST_CLOCK_TIME_NONE) @@ -145,27 +159,39 @@ static void execute_seek (gint64 desired_position, CustomData *data) { diff = gst_util_get_timestamp () - data->last_seek_time; - if (GST_CLOCK_TIME_IS_VALID (data->last_seek_time) && diff < 500 * GST_MSECOND) { + if (GST_CLOCK_TIME_IS_VALID (data->last_seek_time) && diff < SEEK_MIN_DELAY) { + /* The previous seek was too close, delay this one */ GSource *timeout_source; - - if (!GST_CLOCK_TIME_IS_VALID (data->desired_position)) { - timeout_source = g_timeout_source_new (diff / GST_MSECOND); + + if (data->desired_position == GST_CLOCK_TIME_NONE) { + /* There was no previous seek scheduled. Setup a timer for some time in the future */ + timeout_source = g_timeout_source_new ((SEEK_MIN_DELAY - diff) / GST_MSECOND); g_source_set_callback (timeout_source, (GSourceFunc)delayed_seek_cb, data, NULL); g_source_attach (timeout_source, data->context); g_source_unref (timeout_source); } + /* Update the desired seek position. If multiple petitions are received before it is time + * to perform a seek, only the last one is remembered. */ data->desired_position = desired_position; GST_DEBUG ("Throttling seek to %" GST_TIME_FORMAT ", will be in %" GST_TIME_FORMAT, - GST_TIME_ARGS (desired_position), GST_TIME_ARGS (500 * GST_MSECOND - diff)); + GST_TIME_ARGS (desired_position), GST_TIME_ARGS (SEEK_MIN_DELAY - diff)); } else { - GST_DEBUG ("Setting position to %lld milliseconds", desired_position / GST_MSECOND); - res = gst_element_seek_simple (data->pipeline, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, desired_position); + /* Perform the seek now */ + GST_DEBUG ("Seeking to %" GST_TIME_FORMAT, GST_TIME_ARGS (desired_position)); data->last_seek_time = gst_util_get_timestamp (); + gst_element_seek_simple (data->pipeline, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, desired_position); data->desired_position = GST_CLOCK_TIME_NONE; - GST_DEBUG ("Seek returned %d", res); } } +/* Delayed seek callback. This gets called by the timer setup in the above function. */ +static gboolean delayed_seek_cb (CustomData *data) { + GST_DEBUG ("Doing delayed seek to %" GST_TIME_FORMAT, GST_TIME_ARGS (data->desired_position)); + execute_seek (data->desired_position, data); + return FALSE; +} + +/* Retrieve errors from the bus and show them on the UI */ static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { GError *err; gchar *debug_info; @@ -181,18 +207,20 @@ static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { gst_element_set_state (data->pipeline, GST_STATE_NULL); } +/* Called when the End Of the Stream is reached. Just move to the beginning of the media and pause. */ static void eos_cb (GstBus *bus, GstMessage *msg, CustomData *data) { - set_ui_message (GST_MESSAGE_TYPE_NAME (msg), data); - refresh_ui (data); data->target_state = GST_STATE_PAUSED; data->is_live = (gst_element_set_state (data->pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_NO_PREROLL); execute_seek (0, data); } +/* Called when the duration of the media changes. Just mark it as unknown, so we re-query it in the next UI refresh. */ static void duration_cb (GstBus *bus, GstMessage *msg, CustomData *data) { data->duration = GST_CLOCK_TIME_NONE; } +/* Called when buffering messages are received. We inform the UI about the current buffering level and + * keep the pipeline paused until 100% buffering is reached. At that point, set the desired state. */ static void buffering_cb (GstBus *bus, GstMessage *msg, CustomData *data) { gint percent; @@ -201,18 +229,18 @@ static void buffering_cb (GstBus *bus, GstMessage *msg, CustomData *data) { gst_message_parse_buffering (msg, &percent); if (percent < 100 && data->target_state >= GST_STATE_PAUSED) { - gchar * message_string = g_strdup_printf ("Buffering %d %%", percent); + gchar * message_string = g_strdup_printf ("Buffering %d%%", percent); gst_element_set_state (data->pipeline, GST_STATE_PAUSED); set_ui_message (message_string, data); g_free (message_string); } else if (data->target_state >= GST_STATE_PLAYING) { gst_element_set_state (data->pipeline, GST_STATE_PLAYING); - set_ui_message ("PLAYING", data); } else if (data->target_state >= GST_STATE_PAUSED) { - set_ui_message ("PAUSED", data); + set_ui_message ("Buffering complete", data); } } +/* Called when the clock is lost */ static void clock_lost_cb (GstBus *bus, GstMessage *msg, CustomData *data) { if (data->target_state >= GST_STATE_PLAYING) { gst_element_set_state (data->pipeline, GST_STATE_PAUSED); @@ -220,30 +248,73 @@ static void clock_lost_cb (GstBus *bus, GstMessage *msg, CustomData *data) { } } -static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { +/* Retrieve the video sink's Caps and tell the application about the media size */ +static void check_media_size (CustomData *data) { JNIEnv *env = get_jni_env (); - GstState old_state, new_state, pending_state; - gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); - /* Only pay attention to messages coming from the pipeline, not its children */ - if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->pipeline)) { - data->state = new_state; - if (data->state >= GST_STATE_PAUSED && GST_CLOCK_TIME_IS_VALID (data->desired_position)) - execute_seek (data->desired_position, data); - GST_DEBUG ("State changed to %s, notifying application", gst_element_state_get_name(new_state)); - (*env)->CallVoidMethod (env, data->app, set_current_state_method_id, new_state); + GstElement *video_sink; + GstPad *video_sink_pad; + GstCaps *caps; + GstVideoFormat fmt; + int width; + int height; + + /* Retrieve the Caps at the entrance of the video sink */ + g_object_get (data->pipeline, "video-sink", &video_sink, NULL); + video_sink_pad = gst_element_get_static_pad (video_sink, "sink"); + caps = gst_pad_get_negotiated_caps (video_sink_pad); + + if (gst_video_format_parse_caps(caps, &fmt, &width, &height)) { + int par_n, par_d; + if (gst_video_parse_caps_pixel_aspect_ratio (caps, &par_n, &par_d)) { + width = width * par_n / par_d; + } + GST_DEBUG ("Media size is %dx%d, notifying application", width, height); + + (*env)->CallVoidMethod (env, data->app, on_media_size_changed_method_id, (jint)width, (jint)height); if ((*env)->ExceptionCheck (env)) { GST_ERROR ("Failed to call Java method"); (*env)->ExceptionClear (env); } } + + gst_caps_unref(caps); + gst_object_unref (video_sink_pad); + gst_object_unref(video_sink); } +/* Notify UI about pipeline state changes */ +static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + /* Only pay attention to messages coming from the pipeline, not its children */ + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->pipeline)) { + data->state = new_state; + gchar *message = g_strdup_printf("State changed to %s", gst_element_state_get_name(new_state)); + set_ui_message(message, data); + g_free (message); + + /* The Ready to Paused state change is particularly interesting: */ + if (old_state == GST_STATE_READY && new_state == GST_STATE_PAUSED) { + /* By now the sink already knows the media size */ + check_media_size(data); + + /* If there was a scheduled seek, perform it now that we have moved to the Paused state */ + if (GST_CLOCK_TIME_IS_VALID (data->desired_position)) + execute_seek (data->desired_position, data); + } + } +} + +/* Check if all conditions are met to report GStreamer as initialized. + * These conditions will change depending on the application */ static void check_initialization_complete (CustomData *data) { JNIEnv *env = get_jni_env (); - /* Check if all conditions are met to report GStreamer as initialized. - * These conditions will change depending on the application */ if (!data->initialized && data->native_window && data->main_loop) { - GST_DEBUG ("Initialization complete, notifying application. native_window:%p main_loop:%p", data->native_window,data->main_loop); + GST_DEBUG ("Initialization complete, notifying application. native_window:%p main_loop:%p", data->native_window, data->main_loop); + + /* The main loop is running and we received a native window, inform the sink about it */ + gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->pipeline), (guintptr)data->native_window); + (*env)->CallVoidMethod (env, data->app, on_gstreamer_initialized_method_id); if ((*env)->ExceptionCheck (env)) { GST_ERROR ("Failed to call Java method"); @@ -253,30 +324,40 @@ static void check_initialization_complete (CustomData *data) { } } +/* Main method for the native code. This is executed on its own thread. */ static void *app_function (void *userdata) { JavaVMAttachArgs args; GstBus *bus; - GstMessage *msg; CustomData *data = (CustomData *)userdata; GSource *timeout_source; GSource *bus_source; + GError *error = NULL; guint flags; GST_DEBUG ("Creating pipeline in CustomData at %p", data); - /* create our own GLib Main Context, so we do not interfere with other libraries using GLib */ + /* Create our own GLib Main Context and make it the default one */ data->context = g_main_context_new (); + g_main_context_push_thread_default(data->context); - data->pipeline = gst_element_factory_make ("playbin2", NULL); + /* Build pipeline */ + data->pipeline = gst_parse_launch("playbin2", &error); + if (error) { + gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message); + g_clear_error (&error); + set_ui_message(message, data); + g_free (message); + return NULL; + } + + /* Disable subtitles */ g_object_get (data->pipeline, "flags", &flags, NULL); - /* Disable subtitles for now */ - flags &= ~0x00000004; + flags &= ~GST_PLAY_FLAG_TEXT; g_object_set (data->pipeline, "flags", flags, NULL); - if (data->native_window) { - GST_DEBUG ("Native window already received, notifying the pipeline about it."); - gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->pipeline), (guintptr)data->native_window); - } + /* Set the pipeline to READY, so it can already accept a window handle, if we have one */ + data->target_state = GST_STATE_READY; + gst_element_set_state(data->pipeline, GST_STATE_READY); /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ bus = gst_element_get_bus (data->pipeline); @@ -308,6 +389,7 @@ static void *app_function (void *userdata) { data->main_loop = NULL; /* Free resources */ + g_main_context_pop_thread_default(data->context); g_main_context_unref (data->context); data->target_state = GST_STATE_NULL; gst_element_set_state (data->pipeline, GST_STATE_NULL); @@ -319,9 +401,10 @@ static void *app_function (void *userdata) { /* * Java Bindings */ -void gst_native_init (JNIEnv* env, jobject thiz) { + +/* Instruct the native code to create its internal data structure, pipeline and thread */ +static void gst_native_init (JNIEnv* env, jobject thiz) { CustomData *data = g_new0 (CustomData, 1); - data->duration = GST_CLOCK_TIME_NONE; data->desired_position = GST_CLOCK_TIME_NONE; data->last_seek_time = GST_CLOCK_TIME_NONE; SET_CUSTOM_DATA (env, thiz, custom_data_field_id, data); @@ -333,7 +416,8 @@ void gst_native_init (JNIEnv* env, jobject thiz) { pthread_create (&gst_app_thread, NULL, &app_function, data); } -void gst_native_finalize (JNIEnv* env, jobject thiz) { +/* Quit the main loop, remove the native thread and free resources */ +static void gst_native_finalize (JNIEnv* env, jobject thiz) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); if (!data) return; GST_DEBUG ("Quitting main loop..."); @@ -348,20 +432,22 @@ void gst_native_finalize (JNIEnv* env, jobject thiz) { GST_DEBUG ("Done finalizing"); } +/* Set playbin2's URI */ void gst_native_set_uri (JNIEnv* env, jobject thiz, jstring uri) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); if (!data || !data->pipeline) return; const jbyte *char_uri = (*env)->GetStringUTFChars (env, uri, NULL); GST_DEBUG ("Setting URI to %s", char_uri); if (data->target_state >= GST_STATE_READY) - gst_element_set_state (data->pipeline, GST_STATE_READY); + gst_element_set_state (data->pipeline, GST_STATE_READY); g_object_set(data->pipeline, "uri", char_uri, NULL); (*env)->ReleaseStringUTFChars (env, uri, char_uri); data->duration = GST_CLOCK_TIME_NONE; data->is_live = (gst_element_set_state (data->pipeline, data->target_state) == GST_STATE_CHANGE_NO_PREROLL); } -void gst_native_play (JNIEnv* env, jobject thiz) { +/* Set pipeline to PLAYING state */ +static void gst_native_play (JNIEnv* env, jobject thiz) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); if (!data) return; GST_DEBUG ("Setting state to PLAYING"); @@ -369,7 +455,8 @@ void gst_native_play (JNIEnv* env, jobject thiz) { data->is_live = (gst_element_set_state (data->pipeline, GST_STATE_PLAYING) == GST_STATE_CHANGE_NO_PREROLL); } -void gst_native_pause (JNIEnv* env, jobject thiz) { +/* Set pipeline to PAUSED state */ +static void gst_native_pause (JNIEnv* env, jobject thiz) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); if (!data) return; GST_DEBUG ("Setting state to PAUSED"); @@ -377,76 +464,79 @@ void gst_native_pause (JNIEnv* env, jobject thiz) { data->is_live = (gst_element_set_state (data->pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_NO_PREROLL); } +/* Instruct the pipeline to seek to a different position */ void gst_native_set_position (JNIEnv* env, jobject thiz, int milliseconds) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); if (!data) return; gint64 desired_position = (gint64)(milliseconds * GST_MSECOND); - if (data->state == GST_STATE_PLAYING || data->state == GST_STATE_PAUSED) { + if (data->state >= GST_STATE_PAUSED) { execute_seek(desired_position, data); } else { - GST_DEBUG ("Scheduling seek to %d milliseconds for later", milliseconds); + GST_DEBUG ("Scheduling seek to %" GST_TIME_FORMAT " for later", GST_TIME_ARGS (desired_position)); data->desired_position = desired_position; } } -jboolean gst_class_init (JNIEnv* env, jclass klass) { +/* Static class initializer: retrieve method and field IDs */ +static jboolean gst_native_class_init (JNIEnv* env, jclass klass) { custom_data_field_id = (*env)->GetFieldID (env, klass, "native_custom_data", "J"); - GST_DEBUG ("The FieldID for the native_custom_data field is %p", custom_data_field_id); set_message_method_id = (*env)->GetMethodID (env, klass, "setMessage", "(Ljava/lang/String;)V"); - GST_DEBUG ("The MethodID for the setMessage method is %p", set_message_method_id); set_current_position_method_id = (*env)->GetMethodID (env, klass, "setCurrentPosition", "(II)V"); - GST_DEBUG ("The MethodID for the setCurrentPosition method is %p", set_current_position_method_id); on_gstreamer_initialized_method_id = (*env)->GetMethodID (env, klass, "onGStreamerInitialized", "()V"); - GST_DEBUG ("The MethodID for the onGStreamerInitialized method is %p", on_gstreamer_initialized_method_id); - set_current_state_method_id = (*env)->GetMethodID (env, klass, "setCurrentState", "(I)V"); - GST_DEBUG ("The MethodID for the setCurrentState method is %p", set_current_state_method_id); + on_media_size_changed_method_id = (*env)->GetMethodID (env, klass, "onMediaSizeChanged", "(II)V"); - if (!custom_data_field_id || !set_message_method_id || !set_current_position_method_id || - !on_gstreamer_initialized_method_id || !set_current_state_method_id) { - GST_ERROR ("The calling class does not implement all necessary interface methods"); + if (!custom_data_field_id || !set_message_method_id || !on_gstreamer_initialized_method_id || + !on_media_size_changed_method_id || !set_current_position_method_id) { + /* We emit this message through the Android log instead of the GStreamer log because the later + * has not been initialized yet. + */ + __android_log_print (ANDROID_LOG_ERROR, "tutorial-4", "The calling class does not implement all necessary interface methods"); return JNI_FALSE; } return JNI_TRUE; } -void gst_native_surface_init (JNIEnv *env, jobject thiz, jobject surface) { +static void gst_native_surface_init (JNIEnv *env, jobject thiz, jobject surface) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); if (!data) return; - GST_DEBUG ("Received surface %p", surface); - if (data->native_window) { - GST_DEBUG ("Releasing previous native window %p", data->native_window); - ANativeWindow_release (data->native_window); - } - data->native_window = ANativeWindow_fromSurface(env, surface); - GST_DEBUG ("Got Native Window %p", data->native_window); + ANativeWindow *new_native_window = ANativeWindow_fromSurface(env, surface); + GST_DEBUG ("Received surface %p (native window %p)", surface, new_native_window); - if (data->pipeline) { - GST_DEBUG ("Pipeline already created, notifying the it about the native window."); - gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->pipeline), (guintptr)data->native_window); - } else { - GST_DEBUG ("Pipeline not created yet, it will later be notified about the native window."); + if (data->native_window) { + ANativeWindow_release (data->native_window); + if (data->native_window == new_native_window) { + GST_DEBUG ("New native window is the same as the previous one", data->native_window); + if (data->pipeline) { + gst_x_overlay_expose(GST_X_OVERLAY (data->pipeline)); + gst_x_overlay_expose(GST_X_OVERLAY (data->pipeline)); + } + return; + } else { + GST_DEBUG ("Released previous native window %p", data->native_window); + data->initialized = FALSE; + } } + data->native_window = new_native_window; check_initialization_complete (data); } -void gst_native_surface_finalize (JNIEnv *env, jobject thiz) { +static void gst_native_surface_finalize (JNIEnv *env, jobject thiz) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); - if (!data) { - GST_WARNING ("Received surface finalize but there is no CustomData. Ignoring."); - return; - } + if (!data) return; GST_DEBUG ("Releasing Native Window %p", data->native_window); if (data->pipeline) { - gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->pipeline), (guintptr)NULL); - gst_element_set_state (data->pipeline, GST_STATE_NULL); + gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->pipeline), (guintptr)NULL); + gst_element_set_state (data->pipeline, GST_STATE_READY); } ANativeWindow_release (data->native_window); data->native_window = NULL; + data->initialized = FALSE; } +/* List of implemented native methods */ static JNINativeMethod native_methods[] = { { "nativeInit", "()V", (void *) gst_native_init}, { "nativeFinalize", "()V", (void *) gst_native_finalize}, @@ -454,11 +544,12 @@ static JNINativeMethod native_methods[] = { { "nativePlay", "()V", (void *) gst_native_play}, { "nativePause", "()V", (void *) gst_native_pause}, { "nativeSetPosition", "(I)V", (void*) gst_native_set_position}, - { "classInit", "()Z", (void *) gst_class_init}, { "nativeSurfaceInit", "(Ljava/lang/Object;)V", (void *) gst_native_surface_init}, - { "nativeSurfaceFinalize", "()V", (void *) gst_native_surface_finalize} + { "nativeSurfaceFinalize", "()V", (void *) gst_native_surface_finalize}, + { "nativeClassInit", "()Z", (void *) gst_native_class_init} }; +/* Library initializer */ jint JNI_OnLoad(JavaVM *vm, void *reserved) { JNIEnv *env = NULL; diff --git a/gst-sdk/tutorials/android-tutorial-5/res/layout/main.xml b/gst-sdk/tutorials/android-tutorial-5/res/layout/main.xml index c3baac85a6..df795b225f 100755 --- a/gst-sdk/tutorials/android-tutorial-5/res/layout/main.xml +++ b/gst-sdk/tutorials/android-tutorial-5/res/layout/main.xml @@ -2,16 +2,21 @@ + android:layout_height="wrap_content" + android:layout_marginBottom="16dip" + android:gravity="center_horizontal" /> - - + + + + + - + android:layout_height="wrap_content" + android:layout_gravity="center_vertical|center_horizontal" /> diff --git a/gst-sdk/tutorials/android-tutorial-5/src/com/gst_sdk_tutorials/tutorial_5/GStreamerSurfaceView.java b/gst-sdk/tutorials/android-tutorial-5/src/com/gst_sdk_tutorials/tutorial_5/GStreamerSurfaceView.java new file mode 100644 index 0000000000..72b17b9078 --- /dev/null +++ b/gst-sdk/tutorials/android-tutorial-5/src/com/gst_sdk_tutorials/tutorial_5/GStreamerSurfaceView.java @@ -0,0 +1,85 @@ +package com.gst_sdk_tutorials.tutorial_5; + +import android.content.Context; +import android.util.AttributeSet; +import android.util.Log; +import android.view.SurfaceView; +import android.view.View; + +// A simple SurfaceView whose width and height can be set from the outside +public class GStreamerSurfaceView extends SurfaceView { + public int media_width = 320; + public int media_height = 240; + + // Mandatory constructors, they do not do much + public GStreamerSurfaceView(Context context, AttributeSet attrs, + int defStyle) { + super(context, attrs, defStyle); + } + + public GStreamerSurfaceView(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public GStreamerSurfaceView (Context context) { + super(context); + } + + // Called by the layout manager to find out our size and give us some rules. + // We will try to maximize our size, and preserve the media's aspect ratio if + // we are given the freedom to do so. + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + int width = 0, height = 0; + int wmode = View.MeasureSpec.getMode(widthMeasureSpec); + int hmode = View.MeasureSpec.getMode(heightMeasureSpec); + int wsize = View.MeasureSpec.getSize(widthMeasureSpec); + int hsize = View.MeasureSpec.getSize(heightMeasureSpec); + + Log.i ("GStreamer", "onMeasure called with " + media_width + "x" + media_height); + // Obey width rules + switch (wmode) { + case View.MeasureSpec.AT_MOST: + if (hmode == View.MeasureSpec.EXACTLY) { + width = Math.min(hsize * media_width / media_height, wsize); + break; + } + case View.MeasureSpec.EXACTLY: + width = wsize; + break; + case View.MeasureSpec.UNSPECIFIED: + width = media_width; + } + + // Obey height rules + switch (hmode) { + case View.MeasureSpec.AT_MOST: + if (wmode == View.MeasureSpec.EXACTLY) { + height = Math.min(wsize * media_height / media_width, hsize); + break; + } + case View.MeasureSpec.EXACTLY: + height = hsize; + break; + case View.MeasureSpec.UNSPECIFIED: + height = media_height; + } + + // Finally, calculate best size when both axis are free + if (hmode == View.MeasureSpec.AT_MOST && wmode == View.MeasureSpec.AT_MOST) { + int correct_height = width * media_height / media_width; + int correct_width = height * media_width / media_height; + + if (correct_height < height) + height = correct_height; + else + width = correct_width; + } + + // Obey minimum size + width = Math.max (getSuggestedMinimumWidth(), width); + height = Math.max (getSuggestedMinimumHeight(), height); + setMeasuredDimension(width, height); + } + +} diff --git a/gst-sdk/tutorials/android-tutorial-5/src/com/gst_sdk_tutorials/tutorial_5/Tutorial5.java b/gst-sdk/tutorials/android-tutorial-5/src/com/gst_sdk_tutorials/tutorial_5/Tutorial5.java index e3f55fe1d3..6f47ccbb75 100644 --- a/gst-sdk/tutorials/android-tutorial-5/src/com/gst_sdk_tutorials/tutorial_5/Tutorial5.java +++ b/gst-sdk/tutorials/android-tutorial-5/src/com/gst_sdk_tutorials/tutorial_5/Tutorial5.java @@ -4,7 +4,6 @@ import java.text.SimpleDateFormat; import java.util.Date; import java.util.TimeZone; -import com.gstreamer.GStreamer; import com.lamerman.FileDialog; import com.lamerman.SelectionMode; @@ -25,39 +24,42 @@ import android.widget.SeekBar.OnSeekBarChangeListener; import android.widget.TextView; import android.widget.Toast; +import com.gstreamer.GStreamer; + public class Tutorial5 extends Activity implements SurfaceHolder.Callback, OnSeekBarChangeListener { - private native void nativeInit(); - private native void nativeFinalize(); - private native void nativeSetUri(String uri); - private native void nativePlay(); - private native void nativePause(); - private native void nativeSetPosition(int milliseconds); - private static native boolean classInit(); - private native void nativeSurfaceInit(Object surface); - private native void nativeSurfaceFinalize(); - private long native_custom_data; + private native void nativeInit(); // Initialize native code, build pipeline, etc + private native void nativeFinalize(); // Destroy pipeline and shutdown native code + private native void nativeSetUri(String uri); // Set the URI of the media to play + private native void nativePlay(); // Set pipeline to PLAYING + private native void nativeSetPosition(int milliseconds); // Seek to the indicated position, in milliseconds + private native void nativePause(); // Set pipeline to PAUSED + private static native boolean nativeClassInit(); // Initialize native class: cache Method IDs for callbacks + private native void nativeSurfaceInit(Object surface); // A new surface is available + private native void nativeSurfaceFinalize(); // Surface about to be destroyed + private long native_custom_data; // Native code will use this to keep private data - private boolean is_playing_desired; - private int position; - private int duration; - private boolean is_local_media; - private int desired_position; + private boolean is_playing_desired; // Whether the user asked to go to PLAYING + private int position; // Current position, reported by native code + private int duration; // Current clip duration, reported by native code + private boolean is_local_media; // Whether this clip is stored locally or is being streamed + private int desired_position; // Position where the users wants to seek to + private String mediaUri; // URI of the clip being played - private Bundle initialization_data; + private final String defaultMediaUri = "http://docs.gstreamer.com/media/sintel_trailer-368p.ogv"; + + static private final int PICK_FILE_CODE = 1; private PowerManager.WakeLock wake_lock; - - private String mediaUri = "http://docs.gstreamer.com/media/sintel_trailer-480p.ogv"; - static private final int PICK_FILE_CODE = 1; - - /* Called when the activity is first created. */ + + // Called when the activity is first created. @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + // Initialize GStreamer and warn if it fails try { - GStreamer.init(this); + GStreamer.init(this); } catch (Exception e) { Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show(); finish(); @@ -88,7 +90,7 @@ public class Tutorial5 extends Activity implements SurfaceHolder.Callback, OnSee nativePause(); } }); - + ImageButton select = (ImageButton) this.findViewById(R.id.button_select); select.setOnClickListener(new OnClickListener() { public void onClick(View v) { @@ -106,16 +108,33 @@ public class Tutorial5 extends Activity implements SurfaceHolder.Callback, OnSee SeekBar sb = (SeekBar) this.findViewById(R.id.seek_bar); sb.setOnSeekBarChangeListener(this); - initialization_data = savedInstanceState; - + // Retrieve our previous state, or initialize it to default values + if (savedInstanceState != null) { + is_playing_desired = savedInstanceState.getBoolean("playing"); + position = savedInstanceState.getInt("position"); + duration = savedInstanceState.getInt("duration"); + mediaUri = savedInstanceState.getString("mediaUri"); + Log.i ("GStreamer", "Activity created with saved state:"); + } else { + is_playing_desired = false; + position = duration = 0; + mediaUri = defaultMediaUri; + Log.i ("GStreamer", "Activity created with no saved state:"); + } is_local_media = false; - is_playing_desired = false; + Log.i ("GStreamer", " playing:" + is_playing_desired + " position:" + position + + " duration: " + duration + " uri: " + mediaUri); + + // Start with disabled buttons, until native code is initialized + this.findViewById(R.id.button_play).setEnabled(false); + this.findViewById(R.id.button_stop).setEnabled(false); nativeInit(); } - + protected void onSaveInstanceState (Bundle outState) { - Log.d ("GStreamer", "Saving state, playing:" + is_playing_desired + " position:" + position + " uri: " + mediaUri); + Log.d ("GStreamer", "Saving state, playing:" + is_playing_desired + " position:" + position + + " duration: " + duration + " uri: " + mediaUri); outState.putBoolean("playing", is_playing_desired); outState.putInt("position", position); outState.putInt("duration", duration); @@ -129,7 +148,7 @@ public class Tutorial5 extends Activity implements SurfaceHolder.Callback, OnSee super.onDestroy(); } - /* Called from native code */ + // Called from native code. This sets the content of the TextView from the UI thread. private void setMessage(final String message) { final TextView tv = (TextView) this.findViewById(R.id.textview_message); runOnUiThread (new Runnable() { @@ -138,28 +157,22 @@ public class Tutorial5 extends Activity implements SurfaceHolder.Callback, OnSee } }); } - + + // Set the URI to play, and record whether it is a local or remote file private void setMediaUri() { nativeSetUri (mediaUri); - if (mediaUri.startsWith("file://")) is_local_media = true; + is_local_media = mediaUri.startsWith("file://"); } - /* Called from native code */ + // Called from native code. Native code calls this once it has created its pipeline and + // the main loop is running, so it is ready to accept commands. private void onGStreamerInitialized () { - if (initialization_data != null) { - is_playing_desired = initialization_data.getBoolean("playing"); - int milliseconds = initialization_data.getInt("position"); - Log.i ("GStreamer", "Restoring state, playing:" + is_playing_desired + " position:" + milliseconds + " ms."); - mediaUri = initialization_data.getString ("mediaUri"); - /* Actually, move to one millisecond in the future. Otherwise, due to rounding errors between the - * milliseconds used here and the nanoseconds used by GStreamer, we would be jumping a bit behind - * where we were before. This, combined with seeking to keyframe positions, would skip one keyframe - * backwards on each iteration. - */ - nativeSetPosition(milliseconds + 1); - } - + Log.i ("GStreamer", "GStreamer initialized:"); + Log.i ("GStreamer", " playing:" + is_playing_desired + " position:" + position + " uri: " + mediaUri); + + // Restore previous playing state setMediaUri (); + nativeSetPosition (position); if (is_playing_desired) { nativePlay(); wake_lock.acquire(); @@ -167,11 +180,19 @@ public class Tutorial5 extends Activity implements SurfaceHolder.Callback, OnSee nativePause(); wake_lock.release(); } + + // Re-enable buttons, now that GStreamer is initialized + final Activity activity = this; + runOnUiThread(new Runnable() { + public void run() { + activity.findViewById(R.id.button_play).setEnabled(true); + activity.findViewById(R.id.button_stop).setEnabled(true); + } + }); } - /* The text widget acts as an slave for the seek bar, so it reflects what the seek bar shows, whether - * it is an actual pipeline position or the position the user is currently dragging to. - */ + // The text widget acts as an slave for the seek bar, so it reflects what the seek bar shows, whether + // it is an actual pipeline position or the position the user is currently dragging to. private void updateTimeWidget () { final TextView tv = (TextView) this.findViewById(R.id.textview_time); final SeekBar sb = (SeekBar) this.findViewById(R.id.seek_bar); @@ -180,14 +201,14 @@ public class Tutorial5 extends Activity implements SurfaceHolder.Callback, OnSee SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss"); df.setTimeZone(TimeZone.getTimeZone("UTC")); final String message = df.format(new Date (pos)) + " / " + df.format(new Date (duration)); - tv.setText(message); + tv.setText(message); } - /* Called from native code */ + // Called from native code private void setCurrentPosition(final int position, final int duration) { final SeekBar sb = (SeekBar) this.findViewById(R.id.seek_bar); - - /* Ignore position messages from the pipeline if the seek bar is being dragged */ + + // Ignore position messages from the pipeline if the seek bar is being dragged if (sb.isPressed()) return; runOnUiThread (new Runnable() { @@ -201,29 +222,10 @@ public class Tutorial5 extends Activity implements SurfaceHolder.Callback, OnSee this.duration = duration; } - /* Called from native code */ - private void setCurrentState (int state) { - Log.d ("GStreamer", "State has changed to " + state); - switch (state) { - case 1: - setMessage ("NULL"); - break; - case 2: - setMessage ("READY"); - break; - case 3: - setMessage ("PAUSED"); - break; - case 4: - setMessage ("PLAYING"); - break; - } - } - static { System.loadLibrary("gstreamer_android"); System.loadLibrary("tutorial-5"); - classInit(); + nativeClassInit(); } public void surfaceChanged(SurfaceHolder holder, int format, int width, @@ -242,28 +244,42 @@ public class Tutorial5 extends Activity implements SurfaceHolder.Callback, OnSee nativeSurfaceFinalize (); } + // Called from native code when the size of the media changes or is first detected. + // Inform the video surface about the new size and recalculate the layout. + private void onMediaSizeChanged (int width, int height) { + Log.i ("GStreamer", "Media size changed to " + width + "x" + height); + final GStreamerSurfaceView gsv = (GStreamerSurfaceView) this.findViewById(R.id.surface_video); + gsv.media_width = width; + gsv.media_height = height; + runOnUiThread(new Runnable() { + public void run() { + gsv.requestLayout(); + } + }); + } + + // The Seek Bar thumb has moved, either because the user dragged it or we have called setProgress() public void onProgressChanged(SeekBar sb, int progress, boolean fromUser) { if (fromUser == false) return; desired_position = progress; - /* If this is a local file, allow scrub seeking, this is, seek soon as the slider - * is moved. - */ + // If this is a local file, allow scrub seeking, this is, seek as soon as the slider is moved. if (is_local_media) nativeSetPosition(desired_position); updateTimeWidget(); } + // The user started dragging the Seek Bar thumb public void onStartTrackingTouch(SeekBar sb) { nativePause(); } + // The user released the Seek Bar thumb public void onStopTrackingTouch(SeekBar sb) { - /* If this is a remote file, scrub seeking is probably not going to work smoothly enough. - * Therefore, perform only the seek when the slider is released. - */ + // If this is a remote file, scrub seeking is probably not going to work smoothly enough. + // Therefore, perform only the seek when the slider is released. if (!is_local_media) nativeSetPosition(desired_position); if (is_playing_desired) nativePlay(); } - + @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { @@ -271,5 +287,5 @@ public class Tutorial5 extends Activity implements SurfaceHolder.Callback, OnSee mediaUri = "file://" + data.getStringExtra(FileDialog.RESULT_PATH); setMediaUri(); } - } + } } From 89e5a89fe6d1bc7db1001725344707131d49ea3c Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 5 Nov 2012 13:37:27 +0100 Subject: [PATCH 247/979] Fix tutorial 5 seeking to last position after opening new media --- .../src/com/gst_sdk_tutorials/tutorial_5/Tutorial5.java | 1 + 1 file changed, 1 insertion(+) diff --git a/gst-sdk/tutorials/android-tutorial-5/src/com/gst_sdk_tutorials/tutorial_5/Tutorial5.java b/gst-sdk/tutorials/android-tutorial-5/src/com/gst_sdk_tutorials/tutorial_5/Tutorial5.java index 6f47ccbb75..a590b4b0f5 100644 --- a/gst-sdk/tutorials/android-tutorial-5/src/com/gst_sdk_tutorials/tutorial_5/Tutorial5.java +++ b/gst-sdk/tutorials/android-tutorial-5/src/com/gst_sdk_tutorials/tutorial_5/Tutorial5.java @@ -285,6 +285,7 @@ public class Tutorial5 extends Activity implements SurfaceHolder.Callback, OnSee { if (resultCode == RESULT_OK && requestCode == PICK_FILE_CODE) { mediaUri = "file://" + data.getStringExtra(FileDialog.RESULT_PATH); + position = 0; setMediaUri(); } } From fe3c684e9073dc4ea17a7f74ae536b87d6a4b758 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 5 Nov 2012 15:47:07 +0100 Subject: [PATCH 248/979] XML formatting --- .../android-tutorial-5/AndroidManifest.xml | 41 ++++++++++++------- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-5/AndroidManifest.xml b/gst-sdk/tutorials/android-tutorial-5/AndroidManifest.xml index 372f3190b8..fb57547d06 100755 --- a/gst-sdk/tutorials/android-tutorial-5/AndroidManifest.xml +++ b/gst-sdk/tutorials/android-tutorial-5/AndroidManifest.xml @@ -1,23 +1,34 @@ - - - - - - + package="com.gst_sdk_tutorials.tutorial_5" + android:versionCode="1" + android:versionName="1.0" > + + + + + + + + + + + - - + + - + + \ No newline at end of file From 73ca70339cc0307303c84d06b91d052ddbbee7ef Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 5 Nov 2012 18:41:49 +0100 Subject: [PATCH 249/979] Register tutorial 5 as a media player, so other applications (including browsers) can pass URIs to us. Unfortunately, the complete list of supported protocols and file extensions has to be provided, as Android does not seem to infer MIME types from file names. --- .../android-tutorial-5/AndroidManifest.xml | 36 +++++++++++++++++++ .../tutorial_5/Tutorial5.java | 15 +++++++- 2 files changed, 50 insertions(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-5/AndroidManifest.xml b/gst-sdk/tutorials/android-tutorial-5/AndroidManifest.xml index fb57547d06..11b7f3945f 100755 --- a/gst-sdk/tutorials/android-tutorial-5/AndroidManifest.xml +++ b/gst-sdk/tutorials/android-tutorial-5/AndroidManifest.xml @@ -19,11 +19,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Date: Tue, 6 Nov 2012 10:49:43 +0100 Subject: [PATCH 250/979] Better integration for local files with unknown MIME types. --- .../android-tutorial-5/AndroidManifest.xml | 34 ++++++++++++++++--- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-5/AndroidManifest.xml b/gst-sdk/tutorials/android-tutorial-5/AndroidManifest.xml index 11b7f3945f..06c9e5db75 100755 --- a/gst-sdk/tutorials/android-tutorial-5/AndroidManifest.xml +++ b/gst-sdk/tutorials/android-tutorial-5/AndroidManifest.xml @@ -26,7 +26,7 @@ - + @@ -38,8 +38,32 @@ - + + + + + + + + + + + + + + + + + + + + + + + + @@ -57,8 +81,8 @@ - - + + Date: Tue, 6 Nov 2012 13:19:27 +0100 Subject: [PATCH 251/979] Major revamp of the file chooser dialog to: Remove unused code/layout/strings, remember last visited folder, add a cancel button and beautify a bit the dialogs. --- .../res/drawable-ldpi/file.png | Bin 571 -> 1102 bytes .../res/drawable-ldpi/folder.png | Bin 392 -> 1552 bytes .../res/layout/file_dialog_main.xml | 91 +++++-------- .../res/layout/file_dialog_row.xml | 28 ++-- .../android-tutorial-5/res/values/strings.xml | 12 +- .../tutorial_5/Tutorial5.java | 14 +- .../src/com/lamerman/FileDialog.java | 120 ++---------------- .../src/com/lamerman/SelectionMode.java | 34 ----- 8 files changed, 71 insertions(+), 228 deletions(-) delete mode 100644 gst-sdk/tutorials/android-tutorial-5/src/com/lamerman/SelectionMode.java diff --git a/gst-sdk/tutorials/android-tutorial-5/res/drawable-ldpi/file.png b/gst-sdk/tutorials/android-tutorial-5/res/drawable-ldpi/file.png index fa45699efc5b2eff4c30ae18ef1ceb55e0970580..6a64f0e329b069e341bcfdef3f4f3a7087a15de4 100644 GIT binary patch literal 1102 zcmV-U1hM;xP)-_5mMw*hJDw z0&5^;N>sM6X%X8_#*HqtNax4#ftIucXn_*H$;o8WJNJCVejJ#ImfR;o;%_SS+TE zF>H*1F$SLJNvTx251?`-!1newi^#Z$JR+h`lu{GS{2?=sX|3P0ENgINWW=^COWC#! zV+@$NBeZSX1R&KBKt$}p!NFWInT*@E4Xu0AE!(!i%wGU_0RWdGr&6gJ5%~iH13gO) z09tDh(bMMrl{Kr^>y@5mZjohKkGcW~g5cF%02pJ&x&jEpa4U+Uo&(sn{jTFUx+8#y zY3e0>K&3huc7C>VZCjq?f1du19 zw_58VB0>~JZIvLRvp5f=l)4nm7z3r$mjHge5+IdI`GrE^6*E6;P1-6EfruasL-@Ym z2G?4#^VQQ@e-3nK#V?8IS*MTIMW+qJ5J3>Mtr3yt^+C4)zjv{wYp`Z3nfV={!xR93 z@B6=XDgep=2tWuR0w9eb5&5@JDE!&WFJc1#%>0xAKtzfFJe;2Tyuy4wU+Bd<&@`zq z3=xJQlv0mdcYO`u@B#?R=kvwe{&`hO!F64fN+l?zpp*)H-~a9mKtv({djRTaA5Sh6 z3J1RLU)%FrMMS7ps}K<+5(yj~9eq1FIr)8CT}9*sKpv;>K{K1)-`_7E9v%j_X@iI$ z9*+Y6YPH%6-}k=(E-)eyIl^f>s1aN)m;drS@6AmCm>I?xB$G)PV_XsWdVG95xDcQL z@diM#@jF+m)x(2>gYtDIL2He8JdQ*nfhdZQ&1QEN7Z-n+pP!%U@9*C~TX)$8B2pou zJ^&*CYQ~R#H`o4Lhl3Pw z>WF%0XJ@aq1xhIxV_;bpeBVc@RC?<;j+0KOGwbW?t6N)J8=mL=F+Dwvg@uL7D|JwzdTTi9`ZH5WscaS}vFSb#-<1=X5%~lFep+@jS0MGc(iSOxFNtKm)UP-F4mF#`xY?)UCm2tp}A-{U;|U<=Z5@F~D8vKiAK; UGu;qazW@LL07*qoM6N<$f-N=p8~^|S literal 571 zcmV-B0>u4^P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01m_e01m_fl`9S#00007bV*G`2ipP( z6)p&@)Vd=800Fy6L_t(2&y|zSZW=KZM$f(D!TeMmB7_hW*rYmP?F^tD!48U%;!w1jv^LGldA*3mB9P?wpr&KN@B9w|ns?};X5Hj%OPQ-Cc ztJOqRQ4vIyMx&A0AqTF&Gz3(Y#bUvyN(DryR4N<~2duTIDktYKQADfNx`0WNaB_~X zx3{P&a<vs zP}L8Xt9G+;9M)RaPfs}Kh@uE0&Fx7%4pk-r+#G`%){P7*>0 ztX3-ug#xOIF@_KVhr=B9PHueL-h1}@J)6yj5CW6Qgu!5N zDW_O0GM~>$k_7KP<#IVUE|*L0?(UdQr!*Q3`u)CSp!WdudcEAFs`*nKkH;Ju4u>Kl znXz84lZNo2dJ(}|%XYiHf&gSbpQjHG5C8l|gTa7)zc25H{swM&r%yy_r9J=v002ov JPDHLkV1fwz@1_6% diff --git a/gst-sdk/tutorials/android-tutorial-5/res/drawable-ldpi/folder.png b/gst-sdk/tutorials/android-tutorial-5/res/drawable-ldpi/folder.png index 0108ed934bd0986a6960a8d5042083f51625bd88..d54f034e872c3857d6115856b3d40c7f5859df8b 100644 GIT binary patch literal 1552 zcmV+r2JiWaP)B0eKN908Pub5<`X|nc{73Y|foCJ=52!%A!YvsUc}aF{1oHV}S1I`oBKs)Tt`6 z*5Y-FU#t871Asj3;qBYEiJ2FbQcF_GAGof&?7Hsi;^N|)moH!b%gV}1aN7H~Zrzen z%5#q6yrGnO_riq>;iXHL{;{&Ma+r5It_JSjz5Dys)zv?Fp117#{*vc;XFSi7uIs{e zU1V8?FbqFfTU+}>yf1=n>Kl~NEw zfQXKaMFbE4YYeQl@I3dAm4)huQJkEqR;#r+fID~Y{NmcRYadmsRgZ|EwT9Lj0AQ^> zG+^dK!{?TS0#<8{EYFapIfkP#Mo|hQJoHCneDT$jFQ3+e+Cdn-_1oY4`maZ7;O5Pn zbmhvGKQApUc}bES8c8X^L@2y1tSL;AC_$WNh>{dxoMIB^2$LMsR3p}e91KGWh7{VJ zJp|1&00p=ZI5-$!XKMq!ZU;mJDP{31*a3lH z0hV%lqz~M`js2r1LKJ`hDwlZX%}Dab7ssNd19g%Ge72=df#N2>#|ptXThfFCPn1~X$Y=wo+l1O0w)mV)E^n*|`5 zB{8uzWR1mq1mZZZ8>5kBDY7g>>4kayTv94brxWaMKf`{|f-&aUFMbh$nFSLIZ7q}( z^ASjrq@}e%5+~3)pBq950b?v$%^J2hHxS1Wq?9jVUW9-MLNLh`&_eKh1kyBZr)g@8 z(QJ)AywA)aW(;~=>});5aM%O0fRv{$ColSgnMp8909p{4xwoa1?KqA@09CTHejp{n zaE#sUO|In3b#8 zu087+NkkripP<+q5P+!FYW3gy(M1e;9SmZE^B?5-Wh4YE0$F2W8Nk~B6aWK21IYIF z_V$GkaMZWD*!L(Y*dcIe>3Zb`u0aM+gDQ3~TiZkN-;%u(VKlYn~KTZY;*rC>->=8~gS8N9~RJXVO}$iD(PJ z`zTVuK@ha_Jcp8ulN<5z63k#B0cK>m#yAWI{ch(;yIFhKX>6|#gZiWFptEC5o&vK? zskJsHqD=s+07S3X>&J0y93}ZQe*!?WX~`^*X@kLN-0ie#|7tgO*SpQ_^-;U^SWgCZ zd%^+au)M9cVHty?!Tn(r(l~Z#T9->F?DZ z>af3alHrK}Gl+nQ)NnW~4Ti&BrCj!f97DM-03b;c413*rFK9mAukU=?ZS6c9b%L*S z95!Fp@Kk`A8hM`Ed-v{r{L`QR@^_u)?(Sf}`KaC4`Lx%neGv{iPfeZ;Ud8M<9lI?j zA|aU1pE>u&@^CoV%+uu51IYId@W0e+KO4SwfPVu#>i9XFCMiDv0000O>_%)r2R1cVu@xF{@H@b_wl+yB4uJtn0`UzWc8skr*kn+pcFI$P?O+&`RhXZ`fEK|6N*O}Y8d zeCGLn<4ERvtKVHOtS>MA^f#EP!RJ}|zr~Rc&D;M@RM-)6(Piq-i!(I1K3)D^Q1-cl zFXq&vL|379!CULn9|UbFnRe&c43{Q`(_tEOUE9x1SniZ|h{2b~IsL*WgA}tx9)}q^ zmh15BddhQ+%T - + - + - + - - - - - + - - - + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/en.lproj/MainStoryboard_iPhone.storyboard b/gst-sdk/tutorials/xcode iOS/Tutorial 2/en.lproj/MainStoryboard_iPhone.storyboard new file mode 100644 index 0000000000..fc46a36e59 --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/en.lproj/MainStoryboard_iPhone.storyboard @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.c b/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.c new file mode 100644 index 0000000000..cffa57e65c --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.c @@ -0,0 +1,995 @@ +#include "gst_ios_init.h" + +#if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(coreelements); +#endif +#if defined(GST_IOS_PLUGIN_COREINDEXERS) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(coreindexers); +#endif +#if defined(GST_IOS_PLUGIN_ADDER) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(adder); +#endif +#if defined(GST_IOS_PLUGIN_APP) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(app); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOCONVERT) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(audioconvert); +#endif +#if defined(GST_IOS_PLUGIN_AUDIORATE) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(audiorate); +#endif +#if defined(GST_IOS_PLUGIN_AUDIORESAMPLE) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(audioresample); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOTESTSRC) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(audiotestsrc); +#endif +#if defined(GST_IOS_PLUGIN_FFMPEGCOLORSPACE) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(ffmpegcolorspace); +#endif +#if defined(GST_IOS_PLUGIN_GDP) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(gdp); +#endif +#if defined(GST_IOS_PLUGIN_GIO) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(gio); +#endif +#if defined(GST_IOS_PLUGIN_PANGO) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(pango); +#endif +#if defined(GST_IOS_PLUGIN_TYPEFINDFUNCTIONS) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(typefindfunctions); +#endif +#if defined(GST_IOS_PLUGIN_VIDEORATE) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(videorate); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOSCALE) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(videoscale); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOTESTSRC) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(videotestsrc); +#endif +#if defined(GST_IOS_PLUGIN_VOLUME) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(volume); +#endif +#if defined(GST_IOS_PLUGIN_AUTODETECT) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(autodetect); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOFILTER) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(videofilter); +#endif +#if defined(GST_IOS_PLUGIN_CAMERABIN2) || defined(GST_IOS_PLUGINS_CAPTURE) +GST_PLUGIN_STATIC_DECLARE(camerabin2); +#endif +#if defined(GST_IOS_PLUGIN_ASFMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(asfmux); +#endif +#if defined(GST_IOS_PLUGIN_DTSDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(dtsdec); +#endif +#if defined(GST_IOS_PLUGIN_FAAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(faad); +#endif +#if defined(GST_IOS_PLUGIN_MPEGDEMUX2) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mpegdemux2); +#endif +#if defined(GST_IOS_PLUGIN_MPEGPSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mpegpsmux); +#endif +#if defined(GST_IOS_PLUGIN_MPEGTSDEMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mpegtsdemux); +#endif +#if defined(GST_IOS_PLUGIN_MPEGTSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mpegtsmux); +#endif +#if defined(GST_IOS_PLUGIN_A52DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(a52dec); +#endif +#if defined(GST_IOS_PLUGIN_AMRNB) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(amrnb); +#endif +#if defined(GST_IOS_PLUGIN_AMRWBDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(amrwbdec); +#endif +#if defined(GST_IOS_PLUGIN_ASF) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(asf); +#endif +#if defined(GST_IOS_PLUGIN_MAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mad); +#endif +#if defined(GST_IOS_PLUGIN_MPEG2DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mpeg2dec); +#endif +#if defined(GST_IOS_PLUGIN_MPEGAUDIOPARSE) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mpegaudioparse); +#endif +#if defined(GST_IOS_PLUGIN_REALMEDIA) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(realmedia); +#endif +#if defined(GST_IOS_PLUGIN_X264) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(x264); +#endif +#if defined(GST_IOS_PLUGIN_FFMPEG) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(ffmpeg); +#endif +#if defined(GST_IOS_PLUGIN_ENCODING) || defined(GST_IOS_PLUGINS_ENCODING) +GST_PLUGIN_STATIC_DECLARE(encoding); +#endif +#if defined(GST_IOS_PLUGIN_INDVD) || defined(GST_IOS_PLUGINS_DVD) +GST_PLUGIN_STATIC_DECLARE(indvd); +#endif +#if defined(GST_IOS_PLUGIN_DVDLPCMDEC) || defined(GST_IOS_PLUGINS_DVD) +GST_PLUGIN_STATIC_DECLARE(dvdlpcmdec); +#endif +#if defined(GST_IOS_PLUGIN_DVDREAD) || defined(GST_IOS_PLUGINS_DVD) +GST_PLUGIN_STATIC_DECLARE(dvdread); +#endif +#if defined(GST_IOS_PLUGIN_ASSRENDER) || defined(GST_IOS_PLUGINS_CODECS_GPL) +GST_PLUGIN_STATIC_DECLARE(assrender); +#endif +#if defined(GST_IOS_PLUGIN_MMS) || defined(GST_IOS_PLUGINS_NET_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mms); +#endif +#if defined(GST_IOS_PLUGIN_OSXAUDIO) || defined(GST_IOS_PLUGINS_SYS) +GST_PLUGIN_STATIC_DECLARE(osxaudio); +#endif +#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) +GST_PLUGIN_STATIC_DECLARE(eglglessink); +#endif +#if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS) +GST_PLUGIN_STATIC_DECLARE(applemedia_nonpublic); +#endif +#if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) +GST_PLUGIN_STATIC_DECLARE(libvisual); +#endif +#if defined(GST_IOS_PLUGIN_GOOM) || defined(GST_IOS_PLUGINS_VIS) +GST_PLUGIN_STATIC_DECLARE(goom); +#endif +#if defined(GST_IOS_PLUGIN_GOOM2K1) || defined(GST_IOS_PLUGINS_VIS) +GST_PLUGIN_STATIC_DECLARE(goom2k1); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOVISUALIZERS) || defined(GST_IOS_PLUGINS_VIS) +GST_PLUGIN_STATIC_DECLARE(audiovisualizers); +#endif +#if defined(GST_IOS_PLUGIN_URIDECODEBIN) || defined(GST_IOS_PLUGINS_PLAYBACK) +GST_PLUGIN_STATIC_DECLARE(uridecodebin); +#endif +#if defined(GST_IOS_PLUGIN_PLAYBACK) || defined(GST_IOS_PLUGINS_PLAYBACK) +GST_PLUGIN_STATIC_DECLARE(playback); +#endif +#if defined(GST_IOS_PLUGIN_ALPHA) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(alpha); +#endif +#if defined(GST_IOS_PLUGIN_ALPHACOLOR) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(alphacolor); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOFX) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(audiofx); +#endif +#if defined(GST_IOS_PLUGIN_CAIRO) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(cairo); +#endif +#if defined(GST_IOS_PLUGIN_CUTTER) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(cutter); +#endif +#if defined(GST_IOS_PLUGIN_DEBUG) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(debug); +#endif +#if defined(GST_IOS_PLUGIN_DEINTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(deinterlace); +#endif +#if defined(GST_IOS_PLUGIN_EFFECTV) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(effectv); +#endif +#if defined(GST_IOS_PLUGIN_EQUALIZER) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(equalizer); +#endif +#if defined(GST_IOS_PLUGIN_GDKPIXBUF) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(gdkpixbuf); +#endif +#if defined(GST_IOS_PLUGIN_IMAGEFREEZE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(imagefreeze); +#endif +#if defined(GST_IOS_PLUGIN_INTERLEAVE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(interleave); +#endif +#if defined(GST_IOS_PLUGIN_LEVEL) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(level); +#endif +#if defined(GST_IOS_PLUGIN_MULTIFILE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(multifile); +#endif +#if defined(GST_IOS_PLUGIN_REPLAYGAIN) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(replaygain); +#endif +#if defined(GST_IOS_PLUGIN_SHAPEWIPE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(shapewipe); +#endif +#if defined(GST_IOS_PLUGIN_SMPTE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(smpte); +#endif +#if defined(GST_IOS_PLUGIN_SPECTRUM) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(spectrum); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOBOX) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(videobox); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOCROP) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(videocrop); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOMIXER) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(videomixer); +#endif +#if defined(GST_IOS_PLUGIN_AUTOCONVERT) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(autoconvert); +#endif +#if defined(GST_IOS_PLUGIN_BAYER) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(bayer); +#endif +#if defined(GST_IOS_PLUGIN_COLOREFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(coloreffects); +#endif +#if defined(GST_IOS_PLUGIN_FACEOVERLAY) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(faceoverlay); +#endif +#if defined(GST_IOS_PLUGIN_FIELDANALYSIS) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(fieldanalysis); +#endif +#if defined(GST_IOS_PLUGIN_FREEVERB) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(freeverb); +#endif +#if defined(GST_IOS_PLUGIN_FREI0R) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(frei0r); +#endif +#if defined(GST_IOS_PLUGIN_GAUDIEFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(gaudieffects); +#endif +#if defined(GST_IOS_PLUGIN_GEOMETRICTRANSFORM) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(geometrictransform); +#endif +#if defined(GST_IOS_PLUGIN_INTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(interlace); +#endif +#if defined(GST_IOS_PLUGIN_JP2KDECIMATOR) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(jp2kdecimator); +#endif +#if defined(GST_IOS_PLUGIN_LIVEADDER) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(liveadder); +#endif +#if defined(GST_IOS_PLUGIN_RAWPARSE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(rawparse); +#endif +#if defined(GST_IOS_PLUGIN_REMOVESILENCE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(removesilence); +#endif +#if defined(GST_IOS_PLUGIN_SCALETEMPO) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(scaletempo); +#endif +#if defined(GST_IOS_PLUGIN_SEGMENTCLIP) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(segmentclip); +#endif +#if defined(GST_IOS_PLUGIN_SMOOTH) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(smooth); +#endif +#if defined(GST_IOS_PLUGIN_SOUNDTOUCH) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(soundtouch); +#endif +#if defined(GST_IOS_PLUGIN_SPEED) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(speed); +#endif +#if defined(GST_IOS_PLUGIN_STEREO) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(stereo); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOFILTERSBAD) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(videofiltersbad); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOMEASURE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(videomeasure); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOSIGNAL) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(videosignal); +#endif +#if defined(GST_IOS_PLUGIN_SUBPARSE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(subparse); +#endif +#if defined(GST_IOS_PLUGIN_OGG) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(ogg); +#endif +#if defined(GST_IOS_PLUGIN_THEORA) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(theora); +#endif +#if defined(GST_IOS_PLUGIN_VORBIS) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(vorbis); +#endif +#if defined(GST_IOS_PLUGIN_IVORBISDEC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(ivorbisdec); +#endif +#if defined(GST_IOS_PLUGIN_ALAW) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(alaw); +#endif +#if defined(GST_IOS_PLUGIN_ANNODEX) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(annodex); +#endif +#if defined(GST_IOS_PLUGIN_APETAG) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(apetag); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOPARSERS) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(audioparsers); +#endif +#if defined(GST_IOS_PLUGIN_AUPARSE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(auparse); +#endif +#if defined(GST_IOS_PLUGIN_AVI) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(avi); +#endif +#if defined(GST_IOS_PLUGIN_DV) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(dv); +#endif +#if defined(GST_IOS_PLUGIN_FLAC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(flac); +#endif +#if defined(GST_IOS_PLUGIN_FLV) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(flv); +#endif +#if defined(GST_IOS_PLUGIN_FLXDEC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(flxdec); +#endif +#if defined(GST_IOS_PLUGIN_ICYDEMUX) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(icydemux); +#endif +#if defined(GST_IOS_PLUGIN_ID3DEMUX) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(id3demux); +#endif +#if defined(GST_IOS_PLUGIN_ISOMP4) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(isomp4); +#endif +#if defined(GST_IOS_PLUGIN_JPEG) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(jpeg); +#endif +#if defined(GST_IOS_PLUGIN_MATROSKA) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(matroska); +#endif +#if defined(GST_IOS_PLUGIN_MULAW) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(mulaw); +#endif +#if defined(GST_IOS_PLUGIN_MULTIPART) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(multipart); +#endif +#if defined(GST_IOS_PLUGIN_PNG) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(png); +#endif +#if defined(GST_IOS_PLUGIN_SPEEX) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(speex); +#endif +#if defined(GST_IOS_PLUGIN_TAGLIB) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(taglib); +#endif +#if defined(GST_IOS_PLUGIN_WAVENC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(wavenc); +#endif +#if defined(GST_IOS_PLUGIN_WAVPACK) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(wavpack); +#endif +#if defined(GST_IOS_PLUGIN_WAVPARSE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(wavparse); +#endif +#if defined(GST_IOS_PLUGIN_Y4MENC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(y4menc); +#endif +#if defined(GST_IOS_PLUGIN_ADPCMDEC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(adpcmdec); +#endif +#if defined(GST_IOS_PLUGIN_ADPCMENC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(adpcmenc); +#endif +#if defined(GST_IOS_PLUGIN_AIFF) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(aiff); +#endif +#if defined(GST_IOS_PLUGIN_CDXAPARSE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(cdxaparse); +#endif +#if defined(GST_IOS_PLUGIN_DCCP) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(dccp); +#endif +#if defined(GST_IOS_PLUGIN_DTMF) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(dtmf); +#endif +#if defined(GST_IOS_PLUGIN_DVBSUBOVERLAY) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(dvbsuboverlay); +#endif +#if defined(GST_IOS_PLUGIN_DVDSPU) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(dvdspu); +#endif +#if defined(GST_IOS_PLUGIN_FRAGMENTED) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(fragmented); +#endif +#if defined(GST_IOS_PLUGIN_HDVPARSE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(hdvparse); +#endif +#if defined(GST_IOS_PLUGIN_ID3TAG) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(id3tag); +#endif +#if defined(GST_IOS_PLUGIN_IVFPARSE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(ivfparse); +#endif +#if defined(GST_IOS_PLUGIN_JP2K) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(jp2k); +#endif +#if defined(GST_IOS_PLUGIN_KATE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(kate); +#endif +#if defined(GST_IOS_PLUGIN_MVE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(mve); +#endif +#if defined(GST_IOS_PLUGIN_MXF) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(mxf); +#endif +#if defined(GST_IOS_PLUGIN_NSF) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(nsf); +#endif +#if defined(GST_IOS_PLUGIN_NUVDEMUX) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(nuvdemux); +#endif +#if defined(GST_IOS_PLUGIN_OPUS) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(opus); +#endif +#if defined(GST_IOS_PLUGIN_PCAPPARSE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(pcapparse); +#endif +#if defined(GST_IOS_PLUGIN_PNM) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(pnm); +#endif +#if defined(GST_IOS_PLUGIN_SCHRO) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(schro); +#endif +#if defined(GST_IOS_PLUGIN_GSTSIREN) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(gstsiren); +#endif +#if defined(GST_IOS_PLUGIN_SUBENC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(subenc); +#endif +#if defined(GST_IOS_PLUGIN_TTA) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(tta); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOPARSERSBAD) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(videoparsersbad); +#endif +#if defined(GST_IOS_PLUGIN_VMNC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(vmnc); +#endif +#if defined(GST_IOS_PLUGIN_VP8) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(vp8); +#endif +#if defined(GST_IOS_PLUGIN_Y4MDEC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(y4mdec); +#endif +#if defined(GST_IOS_PLUGIN_TCP) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(tcp); +#endif +#if defined(GST_IOS_PLUGIN_RTSP) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(rtsp); +#endif +#if defined(GST_IOS_PLUGIN_RTP) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(rtp); +#endif +#if defined(GST_IOS_PLUGIN_GSTRTPMANAGER) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(gstrtpmanager); +#endif +#if defined(GST_IOS_PLUGIN_SOUP) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(soup); +#endif +#if defined(GST_IOS_PLUGIN_UDP) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(udp); +#endif +#if defined(GST_IOS_PLUGIN_DATAURISRC) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(dataurisrc); +#endif +#if defined(GST_IOS_PLUGIN_RTPMUX) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(rtpmux); +#endif +#if defined(GST_IOS_PLUGIN_RTPVP8) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(rtpvp8); +#endif +#if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(sdp); +#endif + +void +gst_ios_init (void) +{ + gst_init (NULL, NULL); + gst_debug_set_colored(FALSE); + gst_debug_set_default_threshold(GST_LEVEL_WARNING); + +#if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(coreelements); +#endif +#if defined(GST_IOS_PLUGIN_COREINDEXERS) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(coreindexers); +#endif +#if defined(GST_IOS_PLUGIN_ADDER) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(adder); +#endif +#if defined(GST_IOS_PLUGIN_APP) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(app); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOCONVERT) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(audioconvert); +#endif +#if defined(GST_IOS_PLUGIN_AUDIORATE) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(audiorate); +#endif +#if defined(GST_IOS_PLUGIN_AUDIORESAMPLE) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(audioresample); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOTESTSRC) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(audiotestsrc); +#endif +#if defined(GST_IOS_PLUGIN_FFMPEGCOLORSPACE) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(ffmpegcolorspace); +#endif +#if defined(GST_IOS_PLUGIN_GDP) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(gdp); +#endif +#if defined(GST_IOS_PLUGIN_GIO) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(gio); +#endif +#if defined(GST_IOS_PLUGIN_PANGO) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(pango); +#endif +#if defined(GST_IOS_PLUGIN_TYPEFINDFUNCTIONS) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(typefindfunctions); +#endif +#if defined(GST_IOS_PLUGIN_VIDEORATE) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(videorate); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOSCALE) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(videoscale); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOTESTSRC) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(videotestsrc); +#endif +#if defined(GST_IOS_PLUGIN_VOLUME) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(volume); +#endif +#if defined(GST_IOS_PLUGIN_AUTODETECT) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(autodetect); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOFILTER) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(videofilter); +#endif +#if defined(GST_IOS_PLUGIN_CAMERABIN2) || defined(GST_IOS_PLUGINS_CAPTURE) + GST_PLUGIN_STATIC_REGISTER(camerabin2); +#endif +#if defined(GST_IOS_PLUGIN_ASFMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(asfmux); +#endif +#if defined(GST_IOS_PLUGIN_DTSDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(dtsdec); +#endif +#if defined(GST_IOS_PLUGIN_FAAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(faad); +#endif +#if defined(GST_IOS_PLUGIN_MPEGDEMUX2) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mpegdemux2); +#endif +#if defined(GST_IOS_PLUGIN_MPEGPSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mpegpsmux); +#endif +#if defined(GST_IOS_PLUGIN_MPEGTSDEMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mpegtsdemux); +#endif +#if defined(GST_IOS_PLUGIN_MPEGTSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mpegtsmux); +#endif +#if defined(GST_IOS_PLUGIN_A52DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(a52dec); +#endif +#if defined(GST_IOS_PLUGIN_AMRNB) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(amrnb); +#endif +#if defined(GST_IOS_PLUGIN_AMRWBDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(amrwbdec); +#endif +#if defined(GST_IOS_PLUGIN_ASF) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(asf); +#endif +#if defined(GST_IOS_PLUGIN_MAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mad); +#endif +#if defined(GST_IOS_PLUGIN_MPEG2DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mpeg2dec); +#endif +#if defined(GST_IOS_PLUGIN_MPEGAUDIOPARSE) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mpegaudioparse); +#endif +#if defined(GST_IOS_PLUGIN_REALMEDIA) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(realmedia); +#endif +#if defined(GST_IOS_PLUGIN_X264) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(x264); +#endif +#if defined(GST_IOS_PLUGIN_FFMPEG) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(ffmpeg); +#endif +#if defined(GST_IOS_PLUGIN_ENCODING) || defined(GST_IOS_PLUGINS_ENCODING) + GST_PLUGIN_STATIC_REGISTER(encoding); +#endif +#if defined(GST_IOS_PLUGIN_INDVD) || defined(GST_IOS_PLUGINS_DVD) + GST_PLUGIN_STATIC_REGISTER(indvd); +#endif +#if defined(GST_IOS_PLUGIN_DVDLPCMDEC) || defined(GST_IOS_PLUGINS_DVD) + GST_PLUGIN_STATIC_REGISTER(dvdlpcmdec); +#endif +#if defined(GST_IOS_PLUGIN_DVDREAD) || defined(GST_IOS_PLUGINS_DVD) + GST_PLUGIN_STATIC_REGISTER(dvdread); +#endif +#if defined(GST_IOS_PLUGIN_ASSRENDER) || defined(GST_IOS_PLUGINS_CODECS_GPL) + GST_PLUGIN_STATIC_REGISTER(assrender); +#endif +#if defined(GST_IOS_PLUGIN_MMS) || defined(GST_IOS_PLUGINS_NET_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mms); +#endif +#if defined(GST_IOS_PLUGIN_OSXAUDIO) || defined(GST_IOS_PLUGINS_SYS) + GST_PLUGIN_STATIC_REGISTER(osxaudio); +#endif +#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) + GST_PLUGIN_STATIC_REGISTER(eglglessink); +#endif +#if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS) + GST_PLUGIN_STATIC_REGISTER(applemedia_nonpublic); +#endif +#if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) + GST_PLUGIN_STATIC_REGISTER(libvisual); +#endif +#if defined(GST_IOS_PLUGIN_GOOM) || defined(GST_IOS_PLUGINS_VIS) + GST_PLUGIN_STATIC_REGISTER(goom); +#endif +#if defined(GST_IOS_PLUGIN_GOOM2K1) || defined(GST_IOS_PLUGINS_VIS) + GST_PLUGIN_STATIC_REGISTER(goom2k1); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOVISUALIZERS) || defined(GST_IOS_PLUGINS_VIS) + GST_PLUGIN_STATIC_REGISTER(audiovisualizers); +#endif +#if defined(GST_IOS_PLUGIN_URIDECODEBIN) || defined(GST_IOS_PLUGINS_PLAYBACK) + GST_PLUGIN_STATIC_REGISTER(uridecodebin); +#endif +#if defined(GST_IOS_PLUGIN_PLAYBACK) || defined(GST_IOS_PLUGINS_PLAYBACK) + GST_PLUGIN_STATIC_REGISTER(playback); +#endif +#if defined(GST_IOS_PLUGIN_ALPHA) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(alpha); +#endif +#if defined(GST_IOS_PLUGIN_ALPHACOLOR) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(alphacolor); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOFX) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(audiofx); +#endif +#if defined(GST_IOS_PLUGIN_CAIRO) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(cairo); +#endif +#if defined(GST_IOS_PLUGIN_CUTTER) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(cutter); +#endif +#if defined(GST_IOS_PLUGIN_DEBUG) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(debug); +#endif +#if defined(GST_IOS_PLUGIN_DEINTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(deinterlace); +#endif +#if defined(GST_IOS_PLUGIN_EFFECTV) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(effectv); +#endif +#if defined(GST_IOS_PLUGIN_EQUALIZER) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(equalizer); +#endif +#if defined(GST_IOS_PLUGIN_GDKPIXBUF) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(gdkpixbuf); +#endif +#if defined(GST_IOS_PLUGIN_IMAGEFREEZE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(imagefreeze); +#endif +#if defined(GST_IOS_PLUGIN_INTERLEAVE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(interleave); +#endif +#if defined(GST_IOS_PLUGIN_LEVEL) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(level); +#endif +#if defined(GST_IOS_PLUGIN_MULTIFILE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(multifile); +#endif +#if defined(GST_IOS_PLUGIN_REPLAYGAIN) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(replaygain); +#endif +#if defined(GST_IOS_PLUGIN_SHAPEWIPE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(shapewipe); +#endif +#if defined(GST_IOS_PLUGIN_SMPTE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(smpte); +#endif +#if defined(GST_IOS_PLUGIN_SPECTRUM) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(spectrum); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOBOX) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(videobox); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOCROP) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(videocrop); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOMIXER) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(videomixer); +#endif +#if defined(GST_IOS_PLUGIN_AUTOCONVERT) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(autoconvert); +#endif +#if defined(GST_IOS_PLUGIN_BAYER) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(bayer); +#endif +#if defined(GST_IOS_PLUGIN_COLOREFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(coloreffects); +#endif +#if defined(GST_IOS_PLUGIN_FACEOVERLAY) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(faceoverlay); +#endif +#if defined(GST_IOS_PLUGIN_FIELDANALYSIS) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(fieldanalysis); +#endif +#if defined(GST_IOS_PLUGIN_FREEVERB) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(freeverb); +#endif +#if defined(GST_IOS_PLUGIN_FREI0R) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(frei0r); +#endif +#if defined(GST_IOS_PLUGIN_GAUDIEFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(gaudieffects); +#endif +#if defined(GST_IOS_PLUGIN_GEOMETRICTRANSFORM) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(geometrictransform); +#endif +#if defined(GST_IOS_PLUGIN_INTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(interlace); +#endif +#if defined(GST_IOS_PLUGIN_JP2KDECIMATOR) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(jp2kdecimator); +#endif +#if defined(GST_IOS_PLUGIN_LIVEADDER) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(liveadder); +#endif +#if defined(GST_IOS_PLUGIN_RAWPARSE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(rawparse); +#endif +#if defined(GST_IOS_PLUGIN_REMOVESILENCE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(removesilence); +#endif +#if defined(GST_IOS_PLUGIN_SCALETEMPO) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(scaletempo); +#endif +#if defined(GST_IOS_PLUGIN_SEGMENTCLIP) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(segmentclip); +#endif +#if defined(GST_IOS_PLUGIN_SMOOTH) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(smooth); +#endif +#if defined(GST_IOS_PLUGIN_SOUNDTOUCH) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(soundtouch); +#endif +#if defined(GST_IOS_PLUGIN_SPEED) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(speed); +#endif +#if defined(GST_IOS_PLUGIN_STEREO) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(stereo); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOFILTERSBAD) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(videofiltersbad); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOMEASURE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(videomeasure); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOSIGNAL) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(videosignal); +#endif +#if defined(GST_IOS_PLUGIN_SUBPARSE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(subparse); +#endif +#if defined(GST_IOS_PLUGIN_OGG) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(ogg); +#endif +#if defined(GST_IOS_PLUGIN_THEORA) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(theora); +#endif +#if defined(GST_IOS_PLUGIN_VORBIS) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(vorbis); +#endif +#if defined(GST_IOS_PLUGIN_IVORBISDEC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(ivorbisdec); +#endif +#if defined(GST_IOS_PLUGIN_ALAW) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(alaw); +#endif +#if defined(GST_IOS_PLUGIN_ANNODEX) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(annodex); +#endif +#if defined(GST_IOS_PLUGIN_APETAG) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(apetag); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOPARSERS) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(audioparsers); +#endif +#if defined(GST_IOS_PLUGIN_AUPARSE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(auparse); +#endif +#if defined(GST_IOS_PLUGIN_AVI) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(avi); +#endif +#if defined(GST_IOS_PLUGIN_DV) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(dv); +#endif +#if defined(GST_IOS_PLUGIN_FLAC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(flac); +#endif +#if defined(GST_IOS_PLUGIN_FLV) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(flv); +#endif +#if defined(GST_IOS_PLUGIN_FLXDEC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(flxdec); +#endif +#if defined(GST_IOS_PLUGIN_ICYDEMUX) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(icydemux); +#endif +#if defined(GST_IOS_PLUGIN_ID3DEMUX) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(id3demux); +#endif +#if defined(GST_IOS_PLUGIN_ISOMP4) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(isomp4); +#endif +#if defined(GST_IOS_PLUGIN_JPEG) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(jpeg); +#endif +#if defined(GST_IOS_PLUGIN_MATROSKA) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(matroska); +#endif +#if defined(GST_IOS_PLUGIN_MULAW) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(mulaw); +#endif +#if defined(GST_IOS_PLUGIN_MULTIPART) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(multipart); +#endif +#if defined(GST_IOS_PLUGIN_PNG) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(png); +#endif +#if defined(GST_IOS_PLUGIN_SPEEX) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(speex); +#endif +#if defined(GST_IOS_PLUGIN_TAGLIB) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(taglib); +#endif +#if defined(GST_IOS_PLUGIN_WAVENC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(wavenc); +#endif +#if defined(GST_IOS_PLUGIN_WAVPACK) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(wavpack); +#endif +#if defined(GST_IOS_PLUGIN_WAVPARSE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(wavparse); +#endif +#if defined(GST_IOS_PLUGIN_Y4MENC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(y4menc); +#endif +#if defined(GST_IOS_PLUGIN_ADPCMDEC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(adpcmdec); +#endif +#if defined(GST_IOS_PLUGIN_ADPCMENC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(adpcmenc); +#endif +#if defined(GST_IOS_PLUGIN_AIFF) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(aiff); +#endif +#if defined(GST_IOS_PLUGIN_CDXAPARSE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(cdxaparse); +#endif +#if defined(GST_IOS_PLUGIN_DCCP) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(dccp); +#endif +#if defined(GST_IOS_PLUGIN_DTMF) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(dtmf); +#endif +#if defined(GST_IOS_PLUGIN_DVBSUBOVERLAY) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(dvbsuboverlay); +#endif +#if defined(GST_IOS_PLUGIN_DVDSPU) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(dvdspu); +#endif +#if defined(GST_IOS_PLUGIN_FRAGMENTED) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(fragmented); +#endif +#if defined(GST_IOS_PLUGIN_HDVPARSE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(hdvparse); +#endif +#if defined(GST_IOS_PLUGIN_ID3TAG) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(id3tag); +#endif +#if defined(GST_IOS_PLUGIN_IVFPARSE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(ivfparse); +#endif +#if defined(GST_IOS_PLUGIN_JP2K) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(jp2k); +#endif +#if defined(GST_IOS_PLUGIN_KATE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(kate); +#endif +#if defined(GST_IOS_PLUGIN_MVE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(mve); +#endif +#if defined(GST_IOS_PLUGIN_MXF) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(mxf); +#endif +#if defined(GST_IOS_PLUGIN_NSF) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(nsf); +#endif +#if defined(GST_IOS_PLUGIN_NUVDEMUX) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(nuvdemux); +#endif +#if defined(GST_IOS_PLUGIN_OPUS) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(opus); +#endif +#if defined(GST_IOS_PLUGIN_PCAPPARSE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(pcapparse); +#endif +#if defined(GST_IOS_PLUGIN_PNM) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(pnm); +#endif +#if defined(GST_IOS_PLUGIN_SCHRO) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(schro); +#endif +#if defined(GST_IOS_PLUGIN_GSTSIREN) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(gstsiren); +#endif +#if defined(GST_IOS_PLUGIN_SUBENC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(subenc); +#endif +#if defined(GST_IOS_PLUGIN_TTA) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(tta); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOPARSERSBAD) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(videoparsersbad); +#endif +#if defined(GST_IOS_PLUGIN_VMNC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(vmnc); +#endif +#if defined(GST_IOS_PLUGIN_VP8) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(vp8); +#endif +#if defined(GST_IOS_PLUGIN_Y4MDEC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(y4mdec); +#endif +#if defined(GST_IOS_PLUGIN_TCP) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(tcp); +#endif +#if defined(GST_IOS_PLUGIN_RTSP) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(rtsp); +#endif +#if defined(GST_IOS_PLUGIN_RTP) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(rtp); +#endif +#if defined(GST_IOS_PLUGIN_GSTRTPMANAGER) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(gstrtpmanager); +#endif +#if defined(GST_IOS_PLUGIN_SOUP) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(soup); +#endif +#if defined(GST_IOS_PLUGIN_UDP) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(udp); +#endif +#if defined(GST_IOS_PLUGIN_DATAURISRC) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(dataurisrc); +#endif +#if defined(GST_IOS_PLUGIN_RTPMUX) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(rtpmux); +#endif +#if defined(GST_IOS_PLUGIN_RTPVP8) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(rtpvp8); +#endif +#if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(sdp); +#endif +} diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.h b/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.h new file mode 100644 index 0000000000..7b8e0133d7 --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.h @@ -0,0 +1,25 @@ +#ifndef __GST_IOS_INIT_H__ +#define __GST_IOS_INIT_H__ + +#include + +/* Uncomment each line to enable the plugin categories that your application needs. + * You can also enable individual plugins. See gst_ios_init.c to see their names + */ +#define GST_IOS_PLUGINS_CORE +//#define GST_IOS_PLUGINS_CAPTURE +//#define GST_IOS_PLUGINS_CODECS_RESTRICTED +//#define GST_IOS_PLUGINS_ENCODING +//#define GST_IOS_PLUGINS_DVD +//#define GST_IOS_PLUGINS_CODECS_GPL +//#define GST_IOS_PLUGINS_NET_RESTRICTED +#define GST_IOS_PLUGINS_SYS +//#define GST_IOS_PLUGINS_VIS +#define GST_IOS_PLUGINS_PLAYBACK +//#define GST_IOS_PLUGINS_EFFECTS +//#define GST_IOS_PLUGINS_CODECS +//#define GST_IOS_PLUGINS_NET + +void gst_ios_init (); + +#endif diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/main.m b/gst-sdk/tutorials/xcode iOS/Tutorial 2/main.m new file mode 100644 index 0000000000..3ca35079fb --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/main.m @@ -0,0 +1,13 @@ + +#import + +#import "AppDelegate.h" +#include "gst_ios_init.h" + +int main(int argc, char *argv[]) +{ + @autoreleasepool { + gst_ios_init(); + return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); + } +} From d9f972d437e10e64e0642224ecb09a09dc945c83 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 30 Apr 2013 13:13:08 +0200 Subject: [PATCH 270/979] gitignore OS and xcode-generated files --- .gitignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 8adfbc1f03..aa6d3f9950 100644 --- a/.gitignore +++ b/.gitignore @@ -18,4 +18,6 @@ obj .cproject gst-build project.properties -gst_sdk \ No newline at end of file +gst_sdk +.DS_Store +xcuserdata From 5b8c59e1909845ee72c758f4221d4ec4b94f6b34 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 30 Apr 2013 13:59:04 +0200 Subject: [PATCH 271/979] Add App Icon for Tutorial 1 --- .../project.pbxproj | 26 ++++++++++++++++-- .../Tutorial 1/Images/appicon-1-iPad.png | Bin 0 -> 6622 bytes .../Tutorial 1/Images/appicon-1-iPad@2x.png | Bin 0 -> 16934 bytes .../Tutorial 1/Images/appicon-1-iPhone.png | Bin 0 -> 5207 bytes .../Tutorial 1/Images/appicon-1-iPhone@2x.png | Bin 0 -> 12104 bytes .../Tutorial 1/Tutorial 1-Info.plist | 13 +++++++++ 6 files changed, 37 insertions(+), 2 deletions(-) create mode 100755 gst-sdk/tutorials/xcode iOS/Tutorial 1/Images/appicon-1-iPad.png create mode 100755 gst-sdk/tutorials/xcode iOS/Tutorial 1/Images/appicon-1-iPad@2x.png create mode 100755 gst-sdk/tutorials/xcode iOS/Tutorial 1/Images/appicon-1-iPhone.png create mode 100755 gst-sdk/tutorials/xcode iOS/Tutorial 1/Images/appicon-1-iPhone@2x.png diff --git a/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj b/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj index e877b1dd2c..901c735496 100644 --- a/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj +++ b/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj @@ -15,7 +15,6 @@ C67B40DB172EBEA3008359CC /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = C67B40DA172EBEA3008359CC /* main.m */; }; C67B40DF172EBEA3008359CC /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = C67B40DE172EBEA3008359CC /* AppDelegate.m */; }; C67B40E1172EBEA3008359CC /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = C67B40E0172EBEA3008359CC /* Default.png */; }; - C67B40E3172EBEA3008359CC /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C67B40E2172EBEA3008359CC /* Default@2x.png */; }; C67B40E5172EBEA3008359CC /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C67B40E4172EBEA3008359CC /* Default-568h@2x.png */; }; C67B40E8172EBEA3008359CC /* MainStoryboard_iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C67B40E6172EBEA3008359CC /* MainStoryboard_iPhone.storyboard */; }; C67B40EB172EBEA3008359CC /* MainStoryboard_iPad.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C67B40E9172EBEA3008359CC /* MainStoryboard_iPad.storyboard */; }; @@ -37,6 +36,10 @@ C67B411E172FC7F5008359CC /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C67B411D172FC7F5008359CC /* ViewController.m */; }; C67B412A172FC85D008359CC /* gst_ios_init.c in Sources */ = {isa = PBXBuildFile; fileRef = C67B4128172FC85D008359CC /* gst_ios_init.c */; }; C67B412E172FCC4C008359CC /* GStreamerBackend.m in Sources */ = {isa = PBXBuildFile; fileRef = C67B412C172FCC4C008359CC /* GStreamerBackend.m */; }; + C67B4134172FE4E9008359CC /* appicon-1-iPad.png in Resources */ = {isa = PBXBuildFile; fileRef = C67B4130172FE4E9008359CC /* appicon-1-iPad.png */; }; + C67B4135172FE4E9008359CC /* appicon-1-iPad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C67B4131172FE4E9008359CC /* appicon-1-iPad@2x.png */; }; + C67B4136172FE4E9008359CC /* appicon-1-iPhone.png in Resources */ = {isa = PBXBuildFile; fileRef = C67B4132172FE4E9008359CC /* appicon-1-iPhone.png */; }; + C67B4137172FE4E9008359CC /* appicon-1-iPhone@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C67B4133172FE4E9008359CC /* appicon-1-iPhone@2x.png */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -81,6 +84,10 @@ C67B412B172FCC4C008359CC /* GStreamerBackend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GStreamerBackend.h; sourceTree = ""; }; C67B412C172FCC4C008359CC /* GStreamerBackend.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GStreamerBackend.m; sourceTree = ""; }; C67B412D172FCC4C008359CC /* GStreamerBackendDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GStreamerBackendDelegate.h; sourceTree = ""; }; + C67B4130172FE4E9008359CC /* appicon-1-iPad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-1-iPad.png"; sourceTree = ""; }; + C67B4131172FE4E9008359CC /* appicon-1-iPad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-1-iPad@2x.png"; sourceTree = ""; }; + C67B4132172FE4E9008359CC /* appicon-1-iPhone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-1-iPhone.png"; sourceTree = ""; }; + C67B4133172FE4E9008359CC /* appicon-1-iPhone@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-1-iPhone@2x.png"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -142,6 +149,7 @@ C67B40D4172EBEA3008359CC /* Tutorial 1 */ = { isa = PBXGroup; children = ( + C67B412F172FE4E9008359CC /* Images */, C67B40F8172EC27D008359CC /* GStreamerBackend.h */, C67B40F9172EC27D008359CC /* GStreamerBackend.m */, C67B40DD172EBEA3008359CC /* AppDelegate.h */, @@ -204,6 +212,17 @@ name = "Supporting Files"; sourceTree = ""; }; + C67B412F172FE4E9008359CC /* Images */ = { + isa = PBXGroup; + children = ( + C67B4130172FE4E9008359CC /* appicon-1-iPad.png */, + C67B4131172FE4E9008359CC /* appicon-1-iPad@2x.png */, + C67B4132172FE4E9008359CC /* appicon-1-iPhone.png */, + C67B4133172FE4E9008359CC /* appicon-1-iPhone@2x.png */, + ); + path = Images; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -274,10 +293,13 @@ files = ( C67B40D9172EBEA3008359CC /* InfoPlist.strings in Resources */, C67B40E1172EBEA3008359CC /* Default.png in Resources */, - C67B40E3172EBEA3008359CC /* Default@2x.png in Resources */, C67B40E5172EBEA3008359CC /* Default-568h@2x.png in Resources */, C67B40E8172EBEA3008359CC /* MainStoryboard_iPhone.storyboard in Resources */, C67B40EB172EBEA3008359CC /* MainStoryboard_iPad.storyboard in Resources */, + C67B4134172FE4E9008359CC /* appicon-1-iPad.png in Resources */, + C67B4135172FE4E9008359CC /* appicon-1-iPad@2x.png in Resources */, + C67B4136172FE4E9008359CC /* appicon-1-iPhone.png in Resources */, + C67B4137172FE4E9008359CC /* appicon-1-iPhone@2x.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 1/Images/appicon-1-iPad.png b/gst-sdk/tutorials/xcode iOS/Tutorial 1/Images/appicon-1-iPad.png new file mode 100755 index 0000000000000000000000000000000000000000..a1d317764f6229ba4094442cae4850503dd633e8 GIT binary patch literal 6622 zcmbVRXEdDcx*ol^=p~HanbC>fdmk;Lj}pd=K@6e>iQZeZPwzsAkPy8N5500qWxBDaW?|v4aih<|M~vF0KdCL#RMq-82J`P?G?C zQ^x>zM`O6Fbx4C-SKM8P~fy=72xZ2!C_ET3YiOQ-dkH~re@`EKl%S_K``;Q= zq27*2H-wKH+!OdmqrC&%*GG=+p6NebfFbns{;k;4`(J^&51BB^9w7`C0tv%lfBgD~ zw6~8j^uKBRM`>?Ue*{$680ro8MLOQ+!ehV(*~}cl3op zJ$gy?yLG9ie~Qb-TCwFRbeSiIq`7 zLhXIvNK-i6?_3GV0pCprK0RTYYKdj@qwnh<=+QCJ2kNpWN}ih=@($NG|Cj&}MKHpb?Dee)S$S9S+KR z5?_>cm$)2!2<*4eX4GS7vw9wRyX=0()?$*|V>`k)Y?J3h-xDkQIY+;I_3*pbd?k8z zGUvC+=i?h7KF@2p7kvaL<4@o5r4yduwRb*jhOw})JW5~>j?4hY^uDntKk!_dpbfc< zX1NF@V*qaWabblI^ljPCg=#<`N`@Cyv^bN*(prpTtS^EE&`%|D4yaDZYztZb5(Vf4 z_Y1VAj%kL`J7`Xy9&dhDu~j5!`L=WV%+HTyf1l+%0D%*b-5$zHC*qSy{0I|tK!9+* z)&@n#Vk(d;8cf`|~q^egP%}fTI)F%1$JEt|R1b%G@@xt4I2pPv>pobvBQ3;-;`Q z;0s{4I8i>}YVUns3C4NE#X9eRi0M!uLPj7XKlW;qj+2=+qSSN{m4G9i0$yWX=S`7I zY46rysEAiDHmaUl2-q2Y6LK>ZOKTg-uN)-}LXj?E9)>D(E=n#2Of)Esw$Nw3J*RfH zY~k@7Gbu#$5LA6VSZ1f8lnRWLGRTVa{=j`FLtg6no(Laf;p6@%b`v*W7)*>ItfpHH zv+=!IEe2o9_P5%{sfXBO7%urgEp5Fqr59;dY%lnQ?$UG{yQgLtOS^EGr*`JvhSLufh8dgfCQCfrUQlJz zOmEMTr5HMO-Eyu57$&eId+29c#!GOI+| zY~!a=Q*3<%maoG!Ur936u_wNK`v`1kT3k}dAL=stmwQH=gRu_x>lms?O}^F6B|{5c zOGSswK8=Z`)O_0=`RmhhG_;Q>wZg&jrH01N&W<$=z*@o0Ypn9I)Tw1cDi0JbGB0KD zuoshMma>nT-{?EArgABxsBZfxiub+V5;a)7sM;chQhj{Q#JSNxipsjYWS*n8jKh6v zT7xKRAf8g$^XG4`N4UeP7luSROs!!hv~(5{QaJQ9(_Od5UrbFjj-OMi@$-0AJ3&$< ziJ_44&gv>YH@-44aK(_v6A5Bex$>da6Pe8+w9lKR_^hvDS2npuZWG;1mfyn&t_tiMZC4il>V$8K(x&v%5!9F(6qlc{8wbzd@l-WdP;0;l z3dSe(^f2ti)kInb_?s?WaJ;qAfj9n%{G+f zfV_xwiIin|8TKHGT-lVuy`d%k%WFP(Rlwt9M#9>`2d)Zry$WO@87o8EJ#WcCEX^gK zSakN>gf#7efE?-%RXjIZ*G_AsWoL+yHher_DBW5#4;?+exuta%c2W)hj~KRT-dba= zRAb2-w4G5`VUG8sO&9smRHchb?q6yNxMjL^Vs^+Rc7B=W;zGuc@)l&C%B(FW4qT7fFgIyLNeyse>jYakzw7y`2WQpK+TA+4;Em zx<$0V_k8h&;jnW_HKaM>TzMaX`sw$VU9#;gxu{i9JhWY1VTY8z`n?)&c2}D#={r5_ zD5R3ib}{$xa~x&St$o=O=AjzLZ80X(&AYA&(=>FDkL@#(IRkIK#7Gj=*%zBt7NfB= zG@j{rnd!odncx4^Ex%|A)l`-7x5IR$>2W^X^;V;XFrM|f-yBaTa0GSCwjY<{1>yxd z4xGvfvnx10aOUDE6hvQslfL>&FLJUfQu5ZOkUr%)h#Ne39JV%p9o2sGb@_Lz0khoi zrJF~7`wD>bTo=mD{zF=wgb-bp?#B20XGS)zYwNo>qHg zhDadv-nF!B@*lfA^W)B}BkA4>S@hrRxx2pXnkfG(*7u31E_*~}CpC;o8~j%oZO;h) zDiDE1r5ws$ZE@-A=N?p_Xk65|{?jYLkqGB}rWEYi{Nl}X*wNm8oRjb7Li=Nd--p~} zEZx3OrfaRz8U07B-G1_Z627v#pi+U5KvM7%pRrMW2vay|PnLXF{#Es7)F#qP*2cMP zyIWOFeg@!jNE^8kay+|mnp2FPK08wg+ElpRxj!qKV6$SQR_(aX51aCP9)b>%AGX_D zjaFHWo9ZQt=lfu*Xolv*aqq40R;1WnJ52^o<}m9)%mrNs`*+B_ z3LKFhC)N;~-!XoN!)rg$ooQtIêLI%}@w6x#AJrJEzyQ%hxq?RPvF!$PqLWu9E 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 X)nXw1aLnAFKQ3Bo`l@xxcH#d8sX-I@ literal 0 HcmV?d00001 diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 1/Images/appicon-1-iPad@2x.png b/gst-sdk/tutorials/xcode iOS/Tutorial 1/Images/appicon-1-iPad@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..d76e88777b98156f8a38ac2a5aa7b4e27d7cf155 GIT binary patch literal 16934 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 literal 0 HcmV?d00001 diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 1/Images/appicon-1-iPhone.png b/gst-sdk/tutorials/xcode iOS/Tutorial 1/Images/appicon-1-iPhone.png new file mode 100755 index 0000000000000000000000000000000000000000..775df1b911cf9c0cf18d0fe0a7eb46142433e24b GIT binary patch literal 5207 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 CFBundleExecutable ${EXECUTABLE_NAME} + CFBundleIcons + + CFBundlePrimaryIcon + + CFBundleIconFiles + + appicon-1-iPhone.png + appicon-1-iPhone@2x.png + appicon-1-iPad.png + appicon-1-iPad@2x.png + + + CFBundleIdentifier gstreamer-sdk.${PRODUCT_NAME:rfc1034identifier} CFBundleInfoDictionaryVersion From 2af9cdcce6bba34c05ee966c9a5a4f0d99d5a4c5 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 30 Apr 2013 14:10:25 +0200 Subject: [PATCH 272/979] Add App Icons for Tutorial 2 --- .../project.pbxproj | 24 ++++++++++++++++++ .../Tutorial 2/Images/appicon-2-iPad.png | Bin 0 -> 6998 bytes .../Tutorial 2/Images/appicon-2-iPad@2x.png | Bin 0 -> 17933 bytes .../Tutorial 2/Images/appicon-2-iPhone.png | Bin 0 -> 5443 bytes .../Tutorial 2/Images/appicon-2-iPhone@2x.png | Bin 0 -> 12811 bytes .../Tutorial 2/Tutorial 2-Info.plist | 13 ++++++++++ 6 files changed, 37 insertions(+) create mode 100755 gst-sdk/tutorials/xcode iOS/Tutorial 2/Images/appicon-2-iPad.png create mode 100755 gst-sdk/tutorials/xcode iOS/Tutorial 2/Images/appicon-2-iPad@2x.png create mode 100755 gst-sdk/tutorials/xcode iOS/Tutorial 2/Images/appicon-2-iPhone.png create mode 100755 gst-sdk/tutorials/xcode iOS/Tutorial 2/Images/appicon-2-iPhone@2x.png diff --git a/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj b/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj index 901c735496..249835f4eb 100644 --- a/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj +++ b/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj @@ -40,6 +40,10 @@ C67B4135172FE4E9008359CC /* appicon-1-iPad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C67B4131172FE4E9008359CC /* appicon-1-iPad@2x.png */; }; C67B4136172FE4E9008359CC /* appicon-1-iPhone.png in Resources */ = {isa = PBXBuildFile; fileRef = C67B4132172FE4E9008359CC /* appicon-1-iPhone.png */; }; C67B4137172FE4E9008359CC /* appicon-1-iPhone@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C67B4133172FE4E9008359CC /* appicon-1-iPhone@2x.png */; }; + C67B4145172FEA3C008359CC /* appicon-2-iPad.png in Resources */ = {isa = PBXBuildFile; fileRef = C67B4141172FEA3C008359CC /* appicon-2-iPad.png */; }; + C67B4146172FEA3C008359CC /* appicon-2-iPad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C67B4142172FEA3C008359CC /* appicon-2-iPad@2x.png */; }; + C67B4147172FEA3C008359CC /* appicon-2-iPhone.png in Resources */ = {isa = PBXBuildFile; fileRef = C67B4143172FEA3C008359CC /* appicon-2-iPhone.png */; }; + C67B4148172FEA3C008359CC /* appicon-2-iPhone@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C67B4144172FEA3C008359CC /* appicon-2-iPhone@2x.png */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -88,6 +92,10 @@ C67B4131172FE4E9008359CC /* appicon-1-iPad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-1-iPad@2x.png"; sourceTree = ""; }; C67B4132172FE4E9008359CC /* appicon-1-iPhone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-1-iPhone.png"; sourceTree = ""; }; C67B4133172FE4E9008359CC /* appicon-1-iPhone@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-1-iPhone@2x.png"; sourceTree = ""; }; + C67B4141172FEA3C008359CC /* appicon-2-iPad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-2-iPad.png"; sourceTree = ""; }; + C67B4142172FEA3C008359CC /* appicon-2-iPad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-2-iPad@2x.png"; sourceTree = ""; }; + C67B4143172FEA3C008359CC /* appicon-2-iPhone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-2-iPhone.png"; sourceTree = ""; }; + C67B4144172FEA3C008359CC /* appicon-2-iPhone@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-2-iPhone@2x.png"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -182,6 +190,7 @@ C67B4104172FC7F4008359CC /* Tutorial 2 */ = { isa = PBXGroup; children = ( + C67B4140172FEA3C008359CC /* Images */, C67B412B172FCC4C008359CC /* GStreamerBackend.h */, C67B412C172FCC4C008359CC /* GStreamerBackend.m */, C67B410D172FC7F5008359CC /* AppDelegate.h */, @@ -223,6 +232,17 @@ path = Images; sourceTree = ""; }; + C67B4140172FEA3C008359CC /* Images */ = { + isa = PBXGroup; + children = ( + C67B4141172FEA3C008359CC /* appicon-2-iPad.png */, + C67B4142172FEA3C008359CC /* appicon-2-iPad@2x.png */, + C67B4143172FEA3C008359CC /* appicon-2-iPhone.png */, + C67B4144172FEA3C008359CC /* appicon-2-iPhone@2x.png */, + ); + path = Images; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -313,6 +333,10 @@ C67B4115172FC7F5008359CC /* Default-568h@2x.png in Resources */, C67B4118172FC7F5008359CC /* MainStoryboard_iPhone.storyboard in Resources */, C67B411B172FC7F5008359CC /* MainStoryboard_iPad.storyboard in Resources */, + C67B4145172FEA3C008359CC /* appicon-2-iPad.png in Resources */, + C67B4146172FEA3C008359CC /* appicon-2-iPad@2x.png in Resources */, + C67B4147172FEA3C008359CC /* appicon-2-iPhone.png in Resources */, + C67B4148172FEA3C008359CC /* appicon-2-iPhone@2x.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/Images/appicon-2-iPad.png b/gst-sdk/tutorials/xcode iOS/Tutorial 2/Images/appicon-2-iPad.png new file mode 100755 index 0000000000000000000000000000000000000000..56f58fe31d6b329d1763816508a6b005a38de450 GIT binary patch literal 6998 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 l{h&Nr%&afElE=aaU!4?1j literal 0 HcmV?d00001 diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/Images/appicon-2-iPad@2x.png b/gst-sdk/tutorials/xcode iOS/Tutorial 2/Images/appicon-2-iPad@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..e2236f9b6659e3d0e35a4c9d9d0135b9a0121ef9 GIT binary patch literal 17933 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 X!YDVH=cM$X-!r7ezloKL7=Hg>1}_d2 literal 0 HcmV?d00001 diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/Tutorial 2-Info.plist b/gst-sdk/tutorials/xcode iOS/Tutorial 2/Tutorial 2-Info.plist index 7a9f934c70..ee2efaec94 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 2/Tutorial 2-Info.plist +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/Tutorial 2-Info.plist @@ -8,6 +8,19 @@ ${PRODUCT_NAME} CFBundleExecutable ${EXECUTABLE_NAME} + CFBundleIcons + + CFBundlePrimaryIcon + + CFBundleIconFiles + + appicon-2-iPad.png + appicon-2-iPad@2x.png + appicon-2-iPhone.png + appicon-2-iPhone@2x.png + + + CFBundleIdentifier gstreamer-sdk.${PRODUCT_NAME:rfc1034identifier} CFBundleInfoDictionaryVersion From 853b78cf381120861198cdff26c3a3ca2cd75e79 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Thu, 2 May 2013 12:00:00 +0200 Subject: [PATCH 273/979] Whitespace --- gst-sdk/tutorials/xcode iOS/Tutorial 1/GStreamerBackend.m | 1 - 1 file changed, 1 deletion(-) diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 1/GStreamerBackend.m b/gst-sdk/tutorials/xcode iOS/Tutorial 1/GStreamerBackend.m index a549513824..18a48d2e3a 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 1/GStreamerBackend.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 1/GStreamerBackend.m @@ -4,7 +4,6 @@ @implementation GStreamerBackend - -(NSString*) getGStreamerVersion { char *str = gst_version_string(); From dfb803a463610e4eec222ae4f1099114e82c7449 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Thu, 2 May 2013 12:52:17 +0200 Subject: [PATCH 274/979] Fix memory leak in version string. --- gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c index 92a3e87ec7..2da20b6788 100644 --- a/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c +++ b/gst-sdk/tutorials/android-tutorial-1/jni/tutorial-1.c @@ -7,7 +7,10 @@ * Java Bindings */ jstring gst_native_get_gstreamer_info (JNIEnv* env, jobject thiz) { - return (*env)->NewStringUTF(env, gst_version_string()); + char *version_utf8 = gst_version_string(); + jstring *version_jstring = (*env)->NewStringUTF(env, version_utf8); + g_free (version_utf8); + return version_jstring; } static JNINativeMethod native_methods[] = { From 9f389c8b02c645a99fbf0d1f3ec762cdfb9ec9fb Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Thu, 2 May 2013 13:30:02 +0200 Subject: [PATCH 275/979] Change welcome string to match other tutorials --- gst-sdk/tutorials/xcode iOS/Tutorial 1/ViewController.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 1/ViewController.m b/gst-sdk/tutorials/xcode iOS/Tutorial 1/ViewController.m index c213b76d28..805d4be14e 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 1/ViewController.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 1/ViewController.m @@ -17,7 +17,7 @@ // Do any additional setup after loading the view, typically from a nib. gst_backend = [[GStreamerBackend alloc] init]; - label.text = [NSString stringWithFormat:@"Hello %@", [gst_backend getGStreamerVersion], nil]; + label.text = [NSString stringWithFormat:@"Welcome to %@!", [gst_backend getGStreamerVersion], nil]; } - (void)didReceiveMemoryWarning From d5696b0122cd80b623cd4d16d20db4a4b3183344 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Thu, 2 May 2013 13:43:43 +0200 Subject: [PATCH 276/979] Match variable names to other tutorials --- gst-sdk/tutorials/xcode iOS/Tutorial 1/GStreamerBackend.m | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 1/GStreamerBackend.m b/gst-sdk/tutorials/xcode iOS/Tutorial 1/GStreamerBackend.m index 18a48d2e3a..e36233b5b5 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 1/GStreamerBackend.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 1/GStreamerBackend.m @@ -6,10 +6,10 @@ -(NSString*) getGStreamerVersion { - char *str = gst_version_string(); - NSString *version = [NSString stringWithUTF8String:str]; - g_free(str); - return version; + char *version_utf8 = gst_version_string(); + NSString *version_string = [NSString stringWithUTF8String:version_utf8]; + g_free(version_utf8); + return version_string; } @end From 6b1f7675598c92ffe968699e4784b65671eda482 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 6 May 2013 10:29:22 +0200 Subject: [PATCH 277/979] Remove apparently superfluous parameter in call to sprintf --- gst-sdk/tutorials/xcode iOS/Tutorial 1/ViewController.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 1/ViewController.m b/gst-sdk/tutorials/xcode iOS/Tutorial 1/ViewController.m index 805d4be14e..96c8b29245 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 1/ViewController.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 1/ViewController.m @@ -17,7 +17,7 @@ // Do any additional setup after loading the view, typically from a nib. gst_backend = [[GStreamerBackend alloc] init]; - label.text = [NSString stringWithFormat:@"Welcome to %@!", [gst_backend getGStreamerVersion], nil]; + label.text = [NSString stringWithFormat:@"Welcome to %@!", [gst_backend getGStreamerVersion]]; } - (void)didReceiveMemoryWarning From 1e071cd73044461c8febf4433e2b7deb445873c6 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 6 May 2013 10:29:43 +0200 Subject: [PATCH 278/979] Whitespace --- gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackend.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackend.h b/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackend.h index a5bda8e81f..0b0d67a8f7 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackend.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackend.h @@ -13,6 +13,4 @@ -(void) pause; -(void) stop; - - @end \ No newline at end of file From c27858631d29736590b51b25524ec6a2f825b37f Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 6 May 2013 16:49:03 +0200 Subject: [PATCH 279/979] Large revamp to bring it closer to the Android tutorial 2. --- .../xcode iOS/Tutorial 2/GStreamerBackend.h | 7 +- .../xcode iOS/Tutorial 2/GStreamerBackend.m | 172 +++++++++++------- .../Tutorial 2/GStreamerBackendDelegate.h | 4 +- .../xcode iOS/Tutorial 2/ViewController.h | 7 +- .../xcode iOS/Tutorial 2/ViewController.m | 32 +--- .../en.lproj/MainStoryboard_iPad.storyboard | 64 +++++-- .../en.lproj/MainStoryboard_iPhone.storyboard | 83 +++++---- 7 files changed, 218 insertions(+), 151 deletions(-) diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackend.h b/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackend.h index 0b0d67a8f7..bcd804ce51 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackend.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackend.h @@ -3,12 +3,7 @@ @interface GStreamerBackend : NSObject -@property (nonatomic,assign) id delegate; - --(NSString*) getGStreamerVersion; - --(BOOL) initializePipeline; - +-(id) init:(id) uiDelegate; -(void) play; -(void) pause; -(void) stop; diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackend.m b/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackend.m index 27bfaa08a6..0ab205e868 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackend.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackend.m @@ -3,16 +3,33 @@ #include @interface GStreamerBackend() --(void)notifyError:(gchar*) message; --(void)notifyEos; --(void) _poll_gst_bus; +-(void)setUIMessage:(gchar*) message; +-(void)app_function; +-(void)check_initialization_complete; @end @implementation GStreamerBackend { - GstElement *pipeline; + id delegate; /* Class that we use to interact with the user interface */ + GstElement *pipeline; /* The running pipeline */ + GMainContext *context; /* GLib context used to run the main loop */ + GMainLoop *main_loop; /* GLib main loop */ + gboolean initialized; /* To avoid informing the UI multiple times about the initialization */ } -@synthesize delegate; +-(id) init:(id) uiDelegate +{ + if (self = [super init]) + { + self->delegate = uiDelegate; + + /* Start the bus monitoring task */ + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + [self app_function]; + }); + } + + return self; +} -(void) dealloc { @@ -23,95 +40,120 @@ } } --(void)notifyError:(gchar*) message +-(void)setUIMessage:(gchar*) message { NSString *string = [NSString stringWithUTF8String:message]; - if(delegate && [delegate respondsToSelector:@selector(gstreamerError:from:)]) + if(delegate && [delegate respondsToSelector:@selector(gstreamerSetUIMessage:)]) { - [delegate gstreamerError:string from:self]; + [delegate gstreamerSetUIMessage:string]; } } --(void)notifyEos +/* Retrieve errors from the bus and show them on the UI */ +static void error_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) { - if(delegate && [delegate respondsToSelector:@selector(gstreamerEosFrom)]) - { - [delegate gstreamerEosFrom:self]; + GError *err; + gchar *debug_info; + gchar *message_string; + + gst_message_parse_error (msg, &err, &debug_info); + message_string = g_strdup_printf ("Error received from element %s: %s", GST_OBJECT_NAME (msg->src), err->message); + g_clear_error (&err); + g_free (debug_info); + [self setUIMessage:message_string]; + g_free (message_string); + gst_element_set_state (self->pipeline, GST_STATE_NULL); +} + +/* Notify UI about pipeline state changes */ +static void state_changed_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) +{ + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + /* Only pay attention to messages coming from the pipeline, not its children */ + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (self->pipeline)) { + gchar *message = g_strdup_printf("State changed to %s", gst_element_state_get_name(new_state)); + [self setUIMessage:message]; + g_free (message); } } --(void) _poll_gst_bus +/* Check if all conditions are met to report GStreamer as initialized. + * These conditions will change depending on the application */ +-(void) check_initialization_complete +{ + if (!initialized && main_loop) { + GST_DEBUG ("Initialization complete, notifying application."); + if (delegate && [delegate respondsToSelector:@selector(gstreamerInitialized)]) + { + [delegate gstreamerInitialized]; + } + initialized = TRUE; + } +} + +/* Main method for the native code. This is executed on its own thread. */ +-(void) app_function { GstBus *bus; - GstMessage *msg; - - /* Wait until error or EOS */ - bus = gst_element_get_bus (self->pipeline); - msg = gst_bus_timed_pop_filtered(bus, GST_CLOCK_TIME_NONE, - (GstMessageType) (GST_MESSAGE_ERROR | GST_MESSAGE_EOS)); - gst_object_unref(bus); - - switch (GST_MESSAGE_TYPE(msg)) { - case GST_MESSAGE_EOS: - [self stop]; - [self notifyEos]; - NSLog(@"EOS"); - break; - case GST_MESSAGE_ERROR: { - GError *gerr = NULL; - gchar *debug; - - gst_message_parse_error(msg, &gerr, &debug); - - [self stop]; - NSLog(@"Error %s - %s", gerr->message, debug, nil); - [self notifyError:gerr->message]; - g_free(debug); - g_error_free(gerr); - } - break; - default: - break; - } -} - --(BOOL) initializePipeline -{ + GSource *bus_source; GError *error = NULL; + + GST_DEBUG ("Creating pipeline"); + + /* Create our own GLib Main Context and make it the default one */ + context = g_main_context_new (); + g_main_context_push_thread_default(context); - if (pipeline) - return YES; - + /* Build pipeline */ pipeline = gst_parse_launch("audiotestsrc ! audioconvert ! audioresample ! autoaudiosink", &error); if (error) { gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message); g_clear_error (&error); - [self notifyError:message]; + [self setUIMessage:message]; g_free (message); - return NO; + return; } - /* start the bus polling. This will the bus being continuously polled */ - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - while (1) { - [self _poll_gst_bus]; - } - }); + /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ + bus = gst_element_get_bus (pipeline); + bus_source = gst_bus_create_watch (bus); + g_source_set_callback (bus_source, (GSourceFunc) gst_bus_async_signal_func, NULL, NULL); + g_source_attach (bus_source, context); + g_source_unref (bus_source); + g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, (__bridge void *)self); + g_signal_connect (G_OBJECT (bus), "message::state-changed", (GCallback)state_changed_cb, (__bridge void *)self); + gst_object_unref (bus); - return YES; + /* Create a GLib Main Loop and set it to run */ + GST_DEBUG ("Entering main loop..."); + main_loop = g_main_loop_new (context, FALSE); + [self check_initialization_complete]; + g_main_loop_run (main_loop); + GST_DEBUG ("Exited main loop"); + g_main_loop_unref (main_loop); + main_loop = NULL; + + /* Free resources */ + g_main_context_pop_thread_default(context); + g_main_context_unref (context); + gst_element_set_state (pipeline, GST_STATE_NULL); + gst_object_unref (pipeline); + + return; } -(void) play { if(gst_element_set_state(pipeline, GST_STATE_PLAYING) == GST_STATE_CHANGE_FAILURE) { - [self notifyError:"Failed to set pipeline to playing"]; + [self setUIMessage:"Failed to set pipeline to playing"]; } } -(void) pause { if(gst_element_set_state(pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_FAILURE) { - [self notifyError:"Failed to set pipeline to paused"]; + [self setUIMessage:"Failed to set pipeline to paused"]; } } @@ -121,13 +163,5 @@ gst_element_set_state(pipeline, GST_STATE_NULL); } --(NSString*) getGStreamerVersion -{ - char *str = gst_version_string(); - NSString *version = [NSString stringWithUTF8String:str]; - g_free(str); - return version; -} - @end diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackendDelegate.h b/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackendDelegate.h index 2414408f7a..b9095918c7 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackendDelegate.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackendDelegate.h @@ -3,7 +3,7 @@ @protocol GStreamerBackendDelegate @optional --(void) gstreamerError:(NSString *)message from:(id)sender; --(void) gstreamerEosFrom:(id)sender; +-(void) gstreamerInitialized; +-(void) gstreamerSetUIMessage:(NSString *)message; @end diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/ViewController.h b/gst-sdk/tutorials/xcode iOS/Tutorial 2/ViewController.h index df3a6f7bba..38fbe1c8e7 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 2/ViewController.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/ViewController.h @@ -2,13 +2,16 @@ #import "GStreamerBackendDelegate.h" @interface ViewController : UIViewController { + IBOutlet UILabel *message_label; + IBOutlet UIButton *play_button; + IBOutlet UIButton *pause_button; } -(IBAction) play:(id)sender; -(IBAction) pause:(id)sender; /* From GStreamerBackendDelegate */ --(void) gstreamerError:(NSString *)message from:(id)sender; --(void) gstreamerEosFrom:(id)sender; +-(void) gstreamerInitialized; +-(void) gstreamerSetUIMessage:(NSString *)message; @end diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/ViewController.m b/gst-sdk/tutorials/xcode iOS/Tutorial 2/ViewController.m index f477537ec0..99c2b1c96e 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 2/ViewController.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/ViewController.m @@ -13,14 +13,11 @@ - (void)viewDidLoad { [super viewDidLoad]; - // Do any additional setup after loading the view, typically from a nib. - gst_backend = [[GStreamerBackend alloc] init]; - - if (![gst_backend initializePipeline]) { - - } - gst_backend.delegate = self; + play_button.enabled = FALSE; + pause_button.enabled = FALSE; + + gst_backend = [[GStreamerBackend alloc] init:self]; } - (void)didReceiveMemoryWarning @@ -39,28 +36,19 @@ [gst_backend pause]; } --(void) gstreamerError:(NSString *)message from:(id)sender +-(void) gstreamerInitialized { - NSLog(@"Error %@", message, nil); - - UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"GStreamer error" - message:message - delegate:nil - cancelButtonTitle:@"OK" - otherButtonTitles:nil]; dispatch_async(dispatch_get_main_queue(), ^{ - /* make sure it runs from the main thread */ - [alert show]; + play_button.enabled = TRUE; + pause_button.enabled = TRUE; + message_label.text = @"Ready"; }); } --(void) gstreamerEosFrom:(id)sender +-(void) gstreamerSetUIMessage:(NSString *)message { - UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"EOS" message:@"End of stream" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; - dispatch_async(dispatch_get_main_queue(), ^{ - /* make sure it runs from the main thread */ - [alert show]; + message_label.text = message; }); } diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/en.lproj/MainStoryboard_iPad.storyboard b/gst-sdk/tutorials/xcode iOS/Tutorial 2/en.lproj/MainStoryboard_iPad.storyboard index 54dcba87f3..9c834f2289 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 2/en.lproj/MainStoryboard_iPad.storyboard +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/en.lproj/MainStoryboard_iPad.storyboard @@ -12,17 +12,26 @@ - + - - - + + + + - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/en.lproj/MainStoryboard_iPhone.storyboard b/gst-sdk/tutorials/xcode iOS/Tutorial 2/en.lproj/MainStoryboard_iPhone.storyboard index fc46a36e59..1ce5fdb8bf 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 2/en.lproj/MainStoryboard_iPhone.storyboard +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/en.lproj/MainStoryboard_iPhone.storyboard @@ -1,89 +1,98 @@ - + - + - - + + - + - - - + - - - - - + + + + + + + + - - - + + + + + + + + + + - + - - - - - - - - - - - - - - From 5d747fb6be06cb933f9b89de754faf5198f1ffa8 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 6 May 2013 17:13:03 +0200 Subject: [PATCH 280/979] Add comments, debug output, a bit of variable renaming and some code reorganization. --- .../xcode iOS/Tutorial 2/GStreamerBackend.h | 7 +- .../xcode iOS/Tutorial 2/GStreamerBackend.m | 64 +++++++++++-------- .../Tutorial 2/GStreamerBackendDelegate.h | 5 ++ .../xcode iOS/Tutorial 2/ViewController.m | 10 +++ 4 files changed, 58 insertions(+), 28 deletions(-) diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackend.h b/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackend.h index bcd804ce51..b00f75886b 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackend.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackend.h @@ -3,9 +3,14 @@ @interface GStreamerBackend : NSObject +/* Initialization method. Pass the delegate that will take care of the UI. + * This delegate must implement the GStreamerBackendDelegate protocol */ -(id) init:(id) uiDelegate; + +/* Set the pipeline to PLAYING */ -(void) play; + +/* Set the pipeline to PAUSED */ -(void) pause; --(void) stop; @end \ No newline at end of file diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackend.m b/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackend.m index 0ab205e868..814d15aa03 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackend.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackend.m @@ -2,6 +2,9 @@ #include +GST_DEBUG_CATEGORY_STATIC (debug_category); +#define GST_CAT_DEFAULT debug_category + @interface GStreamerBackend() -(void)setUIMessage:(gchar*) message; -(void)app_function; @@ -9,18 +12,25 @@ @end @implementation GStreamerBackend { - id delegate; /* Class that we use to interact with the user interface */ + id ui_delegate; /* Class that we use to interact with the user interface */ GstElement *pipeline; /* The running pipeline */ GMainContext *context; /* GLib context used to run the main loop */ GMainLoop *main_loop; /* GLib main loop */ gboolean initialized; /* To avoid informing the UI multiple times about the initialization */ } +/* + * Interface methods + */ + -(id) init:(id) uiDelegate { if (self = [super init]) { - self->delegate = uiDelegate; + self->ui_delegate = uiDelegate; + + GST_DEBUG_CATEGORY_INIT (debug_category, "tutorial-2", 0, "iOS tutorial 2"); + gst_debug_set_threshold_for_name("tutorial-2", GST_LEVEL_DEBUG); /* Start the bus monitoring task */ dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ @@ -34,18 +44,38 @@ -(void) dealloc { if (pipeline) { + GST_DEBUG("Setting the pipeline to NULL"); gst_element_set_state(pipeline, GST_STATE_NULL); gst_object_unref(pipeline); pipeline = NULL; } } +-(void) play +{ + if(gst_element_set_state(pipeline, GST_STATE_PLAYING) == GST_STATE_CHANGE_FAILURE) { + [self setUIMessage:"Failed to set pipeline to playing"]; + } +} + +-(void) pause +{ + if(gst_element_set_state(pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_FAILURE) { + [self setUIMessage:"Failed to set pipeline to paused"]; + } +} + +/* + * Private methods + */ + +/* Change the message on the UI through the UI delegate */ -(void)setUIMessage:(gchar*) message { NSString *string = [NSString stringWithUTF8String:message]; - if(delegate && [delegate respondsToSelector:@selector(gstreamerSetUIMessage:)]) + if(ui_delegate && [ui_delegate respondsToSelector:@selector(gstreamerSetUIMessage:)]) { - [delegate gstreamerSetUIMessage:string]; + [ui_delegate gstreamerSetUIMessage:string]; } } @@ -84,15 +114,15 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *se { if (!initialized && main_loop) { GST_DEBUG ("Initialization complete, notifying application."); - if (delegate && [delegate respondsToSelector:@selector(gstreamerInitialized)]) + if (ui_delegate && [ui_delegate respondsToSelector:@selector(gstreamerInitialized)]) { - [delegate gstreamerInitialized]; + [ui_delegate gstreamerInitialized]; } initialized = TRUE; } } -/* Main method for the native code. This is executed on its own thread. */ +/* Main method for the bus monitoring code */ -(void) app_function { GstBus *bus; @@ -143,25 +173,5 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *se return; } --(void) play -{ - if(gst_element_set_state(pipeline, GST_STATE_PLAYING) == GST_STATE_CHANGE_FAILURE) { - [self setUIMessage:"Failed to set pipeline to playing"]; - } -} - --(void) pause -{ - if(gst_element_set_state(pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_FAILURE) { - [self setUIMessage:"Failed to set pipeline to paused"]; - } -} - --(void) stop -{ - if(pipeline) - gst_element_set_state(pipeline, GST_STATE_NULL); -} - @end diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackendDelegate.h b/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackendDelegate.h index b9095918c7..5586373157 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackendDelegate.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackendDelegate.h @@ -3,7 +3,12 @@ @protocol GStreamerBackendDelegate @optional +/* Called when the GStreamer backend has finished initializing + * and is ready to accept orders. */ -(void) gstreamerInitialized; + +/* Called when the GStreamer backend wants to output some message + * to the screen. */ -(void) gstreamerSetUIMessage:(NSString *)message; @end diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/ViewController.m b/gst-sdk/tutorials/xcode iOS/Tutorial 2/ViewController.m index 99c2b1c96e..512ede71cd 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 2/ViewController.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/ViewController.m @@ -10,6 +10,10 @@ @implementation ViewController +/* + * Methods from UIViewController + */ + - (void)viewDidLoad { [super viewDidLoad]; @@ -26,16 +30,22 @@ // Dispose of any resources that can be recreated. } +/* Called when the Play button is pressed */ -(IBAction) play:(id)sender { [gst_backend play]; } +/* Called when the Pause button is pressed */ -(IBAction) pause:(id)sender { [gst_backend pause]; } +/* + * Methods from GstreamerBackendDelegate + */ + -(void) gstreamerInitialized { dispatch_async(dispatch_get_main_queue(), ^{ From 1214abe85854ca5e74c33d7f116125cf3579e83e Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 7 May 2013 10:30:31 +0200 Subject: [PATCH 281/979] Revamp Tutorial 2 UI to be more iOS-like, to be closer to what the Android one looks like, and to simplify development of next tutorials. --- .../xcode iOS/Tutorial 2/ViewController.h | 4 +- .../en.lproj/MainStoryboard_iPad.storyboard | 114 ++++++------------ .../en.lproj/MainStoryboard_iPhone.storyboard | 95 +++++---------- 3 files changed, 71 insertions(+), 142 deletions(-) diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/ViewController.h b/gst-sdk/tutorials/xcode iOS/Tutorial 2/ViewController.h index 38fbe1c8e7..be19276def 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 2/ViewController.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/ViewController.h @@ -3,8 +3,8 @@ @interface ViewController : UIViewController { IBOutlet UILabel *message_label; - IBOutlet UIButton *play_button; - IBOutlet UIButton *pause_button; + IBOutlet UIBarButtonItem *play_button; + IBOutlet UIBarButtonItem *pause_button; } -(IBAction) play:(id)sender; diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/en.lproj/MainStoryboard_iPad.storyboard b/gst-sdk/tutorials/xcode iOS/Tutorial 2/en.lproj/MainStoryboard_iPad.storyboard index 9c834f2289..c96f025543 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 2/en.lproj/MainStoryboard_iPad.storyboard +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/en.lproj/MainStoryboard_iPad.storyboard @@ -1,100 +1,64 @@ - + - + - - + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + + - - - + + + - + - - - @@ -102,8 +66,8 @@ - - + + diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/en.lproj/MainStoryboard_iPhone.storyboard b/gst-sdk/tutorials/xcode iOS/Tutorial 2/en.lproj/MainStoryboard_iPhone.storyboard index 1ce5fdb8bf..0d14c30252 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 2/en.lproj/MainStoryboard_iPhone.storyboard +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/en.lproj/MainStoryboard_iPhone.storyboard @@ -12,81 +12,46 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + - - + + From c7b0aeb341f5dba6ffd194550a81402951dfbb77 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 7 May 2013 11:57:07 +0200 Subject: [PATCH 282/979] Fix label size in iPhone because text did not fit the screen... --- .../Tutorial 1/en.lproj/MainStoryboard_iPhone.storyboard | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 1/en.lproj/MainStoryboard_iPhone.storyboard b/gst-sdk/tutorials/xcode iOS/Tutorial 1/en.lproj/MainStoryboard_iPhone.storyboard index 49bfecffb1..4f755aa77f 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 1/en.lproj/MainStoryboard_iPhone.storyboard +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 1/en.lproj/MainStoryboard_iPhone.storyboard @@ -12,9 +12,9 @@ - + + + + @@ -52,6 +59,7 @@ + @@ -59,6 +67,9 @@ + + + @@ -68,6 +79,7 @@ + diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 3/en.lproj/MainStoryboard_iPhone.storyboard b/gst-sdk/tutorials/xcode iOS/Tutorial 3/en.lproj/MainStoryboard_iPhone.storyboard index 0d14c30252..6652bd0c6f 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 3/en.lproj/MainStoryboard_iPhone.storyboard +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 3/en.lproj/MainStoryboard_iPhone.storyboard @@ -36,15 +36,22 @@ + + + + + + + @@ -52,12 +59,30 @@ + + + + + + + + + + + + + + + + + + diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.h b/gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.h index 7b8e0133d7..d60c3377bc 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.h @@ -16,7 +16,7 @@ #define GST_IOS_PLUGINS_SYS //#define GST_IOS_PLUGINS_VIS #define GST_IOS_PLUGINS_PLAYBACK -//#define GST_IOS_PLUGINS_EFFECTS +#define GST_IOS_PLUGINS_EFFECTS //#define GST_IOS_PLUGINS_CODECS //#define GST_IOS_PLUGINS_NET From 7b0e4002b3598381d0f1690ea2f1ce3c95e6acf1 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 8 May 2013 12:21:06 +0200 Subject: [PATCH 285/979] Remove borders around video view --- .../en.lproj/MainStoryboard_iPad.storyboard | 29 ++++--------------- .../en.lproj/MainStoryboard_iPhone.storyboard | 10 +++---- 2 files changed, 11 insertions(+), 28 deletions(-) diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 3/en.lproj/MainStoryboard_iPad.storyboard b/gst-sdk/tutorials/xcode iOS/Tutorial 3/en.lproj/MainStoryboard_iPad.storyboard index 1e42a1f6fe..fdc9e8fd3f 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 3/en.lproj/MainStoryboard_iPad.storyboard +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 3/en.lproj/MainStoryboard_iPad.storyboard @@ -37,20 +37,20 @@ - + - + - - + + - - + + @@ -66,23 +66,6 @@ - - - - - - - - - - - - - - - - - diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 3/en.lproj/MainStoryboard_iPhone.storyboard b/gst-sdk/tutorials/xcode iOS/Tutorial 3/en.lproj/MainStoryboard_iPhone.storyboard index 6652bd0c6f..a547f71a3c 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 3/en.lproj/MainStoryboard_iPhone.storyboard +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 3/en.lproj/MainStoryboard_iPhone.storyboard @@ -37,21 +37,21 @@ - + - + - + - - + + From 80a0b8a143074e344e741089338584d43dfdc169 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 8 May 2013 17:44:26 +0200 Subject: [PATCH 286/979] Remove apparently unneeded override. --- gst-sdk/tutorials/xcode iOS/Tutorial 3/EaglUIVIew.m | 9 --------- 1 file changed, 9 deletions(-) diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 3/EaglUIVIew.m b/gst-sdk/tutorials/xcode iOS/Tutorial 3/EaglUIVIew.m index a21363e2a6..f1bcfe7bb1 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 3/EaglUIVIew.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 3/EaglUIVIew.m @@ -54,13 +54,4 @@ return [CAEAGLLayer class]; } -- (id) initWithFrame:(CGRect)frame -{ - if ((self = [super initWithFrame:frame])) - { - } - - return self; -} - @end From 11599cbf55b547e653ae5cca1be9f1b9b21082c3 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Thu, 9 May 2013 11:47:56 +0200 Subject: [PATCH 287/979] Dynamically change the video UIView so that it maximizes its size respecting the media aspect ratio. In this way, we do not need the sink to add black borders, and we are faster. --- .../xcode iOS/Tutorial 3/ViewController.h | 3 + .../xcode iOS/Tutorial 3/ViewController.m | 23 +++++++ .../en.lproj/MainStoryboard_iPad.storyboard | 60 +++++++++++++++---- .../en.lproj/MainStoryboard_iPhone.storyboard | 33 +++++++--- 4 files changed, 101 insertions(+), 18 deletions(-) diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 3/ViewController.h b/gst-sdk/tutorials/xcode iOS/Tutorial 3/ViewController.h index a4e434e7b7..677f65bc25 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 3/ViewController.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 3/ViewController.h @@ -6,6 +6,9 @@ IBOutlet UIBarButtonItem *play_button; IBOutlet UIBarButtonItem *pause_button; IBOutlet UIView *video_view; + IBOutlet UIView *video_container_view; + IBOutlet NSLayoutConstraint *video_width_constraint; + IBOutlet NSLayoutConstraint *video_height_constraint; } -(IBAction) play:(id)sender; diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 3/ViewController.m b/gst-sdk/tutorials/xcode iOS/Tutorial 3/ViewController.m index 919bded6e7..93eae203e4 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 3/ViewController.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 3/ViewController.m @@ -4,6 +4,8 @@ @interface ViewController () { GStreamerBackend *gst_backend; + int media_width; + int media_height; } @end @@ -20,6 +22,10 @@ play_button.enabled = FALSE; pause_button.enabled = FALSE; + + /* Make these constant for now, later tutorials will change them */ + media_width = 320; + media_height = 240; gst_backend = [[GStreamerBackend alloc] init:self videoView:video_view]; } @@ -42,6 +48,23 @@ [gst_backend pause]; } +- (void)viewDidLayoutSubviews +{ + CGFloat view_width = video_container_view.bounds.size.width; + CGFloat view_height = video_container_view.bounds.size.height; + + CGFloat correct_height = view_width * media_height / media_width; + CGFloat correct_width = view_height * media_width / media_height; + + if (correct_height < view_height) { + video_height_constraint.constant = correct_height; + video_width_constraint.constant = view_width; + } else { + video_width_constraint.constant = correct_width; + video_height_constraint.constant = view_height; + } +} + /* * Methods from GstreamerBackendDelegate */ diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 3/en.lproj/MainStoryboard_iPad.storyboard b/gst-sdk/tutorials/xcode iOS/Tutorial 3/en.lproj/MainStoryboard_iPad.storyboard index fdc9e8fd3f..98d0b70aaf 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 3/en.lproj/MainStoryboard_iPad.storyboard +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 3/en.lproj/MainStoryboard_iPad.storyboard @@ -12,15 +12,35 @@ + + + + + + + + + + + + + + + + + + + @@ -36,36 +56,56 @@ - - - - - + + + - + + - - - + - + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 3/en.lproj/MainStoryboard_iPhone.storyboard b/gst-sdk/tutorials/xcode iOS/Tutorial 3/en.lproj/MainStoryboard_iPhone.storyboard index a547f71a3c..262d1143d6 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 3/en.lproj/MainStoryboard_iPhone.storyboard +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 3/en.lproj/MainStoryboard_iPhone.storyboard @@ -12,6 +12,22 @@ + + + + + + + + + + + + + + + + - - + + + - - + @@ -59,7 +72,8 @@ - + + @@ -79,7 +93,10 @@ + + + From e09eec3297933884b732fc47e8c8ecf14e557ea7 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Thu, 9 May 2013 17:07:29 +0200 Subject: [PATCH 288/979] Fix debug category name --- gst-sdk/tutorials/xcode iOS/Tutorial 3/GStreamerBackend.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 3/GStreamerBackend.m b/gst-sdk/tutorials/xcode iOS/Tutorial 3/GStreamerBackend.m index 68f6c8f5bf..8a5d6dd96d 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 3/GStreamerBackend.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 3/GStreamerBackend.m @@ -33,8 +33,8 @@ GST_DEBUG_CATEGORY_STATIC (debug_category); self->ui_delegate = uiDelegate; self->ui_video_view = video_view; - GST_DEBUG_CATEGORY_INIT (debug_category, "tutorial-2", 0, "iOS tutorial 2"); - gst_debug_set_threshold_for_name("tutorial-2", GST_LEVEL_DEBUG); + GST_DEBUG_CATEGORY_INIT (debug_category, "tutorial-3", 0, "iOS tutorial 3"); + gst_debug_set_threshold_for_name("tutorial-3", GST_LEVEL_DEBUG); /* Start the bus monitoring task */ dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ From 3b56db192c63b134cac767b4a09171d27ca1241c Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Thu, 9 May 2013 18:07:30 +0200 Subject: [PATCH 289/979] First iOS Tutorial 4 (a copy of Tutorial 3) --- .../project.pbxproj | 317 ++++++ .../xcode iOS/Tutorial 4/AppDelegate.h | 15 + .../xcode iOS/Tutorial 4/AppDelegate.m | 46 + .../xcode iOS/Tutorial 4/Default-568h@2x.png | Bin 0 -> 18594 bytes .../xcode iOS/Tutorial 4/Default.png | Bin 0 -> 6540 bytes .../xcode iOS/Tutorial 4/Default@2x.png | Bin 0 -> 16107 bytes .../xcode iOS/Tutorial 4/EaglUIVIew.h | 55 + .../xcode iOS/Tutorial 4/EaglUIVIew.m | 57 + .../xcode iOS/Tutorial 4/GStreamerBackend.h | 17 + .../xcode iOS/Tutorial 4/GStreamerBackend.m | 191 ++++ .../Tutorial 4/GStreamerBackendDelegate.h | 14 + .../Tutorial 4/Images/appicon-4-iPad.png | Bin 0 -> 6891 bytes .../Tutorial 4/Images/appicon-4-iPad@2x.png | Bin 0 -> 17472 bytes .../Tutorial 4/Images/appicon-4-iPhone.png | Bin 0 -> 5404 bytes .../Tutorial 4/Images/appicon-4-iPhone@2x.png | Bin 0 -> 12573 bytes .../Tutorial 4/Tutorial 4-Info.plist | 62 ++ .../Tutorial 4/Tutorial 4-Prefix.pch | 14 + .../xcode iOS/Tutorial 4/ViewController.h | 21 + .../xcode iOS/Tutorial 4/ViewController.m | 88 ++ .../Tutorial 4/en.lproj/InfoPlist.strings | 2 + .../en.lproj/MainStoryboard_iPad.storyboard | 114 ++ .../en.lproj/MainStoryboard_iPhone.storyboard | 108 ++ .../xcode iOS/Tutorial 4/gst_ios_init.c | 995 ++++++++++++++++++ .../xcode iOS/Tutorial 4/gst_ios_init.h | 25 + gst-sdk/tutorials/xcode iOS/Tutorial 4/main.m | 13 + 25 files changed, 2154 insertions(+) create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 4/AppDelegate.h create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 4/AppDelegate.m create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 4/Default-568h@2x.png create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 4/Default.png create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 4/Default@2x.png create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 4/EaglUIVIew.h create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 4/EaglUIVIew.m create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.h create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackendDelegate.h create mode 100755 gst-sdk/tutorials/xcode iOS/Tutorial 4/Images/appicon-4-iPad.png create mode 100755 gst-sdk/tutorials/xcode iOS/Tutorial 4/Images/appicon-4-iPad@2x.png create mode 100755 gst-sdk/tutorials/xcode iOS/Tutorial 4/Images/appicon-4-iPhone.png create mode 100755 gst-sdk/tutorials/xcode iOS/Tutorial 4/Images/appicon-4-iPhone@2x.png create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 4/Tutorial 4-Info.plist create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 4/Tutorial 4-Prefix.pch create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 4/ViewController.h create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 4/ViewController.m create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/InfoPlist.strings create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPad.storyboard create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPhone.storyboard create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.c create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.h create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 4/main.m diff --git a/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj b/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj index 9d2055068f..061137bd97 100644 --- a/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj +++ b/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj @@ -64,6 +64,26 @@ C6B6129617396231003FC410 /* appicon-3-iPhone.png in Resources */ = {isa = PBXBuildFile; fileRef = C6B6129217396231003FC410 /* appicon-3-iPhone.png */; }; C6B6129717396231003FC410 /* appicon-3-iPhone@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C6B6129317396231003FC410 /* appicon-3-iPhone@2x.png */; }; C6EB857C173A4D9500C3953D /* EaglUIVIew.m in Sources */ = {isa = PBXBuildFile; fileRef = C6EB857B173A4D9500C3953D /* EaglUIVIew.m */; }; + C6EB8582173BEE5E00C3953D /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C67B40CC172EBEA3008359CC /* UIKit.framework */; }; + C6EB8583173BEE5E00C3953D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C67B40CE172EBEA3008359CC /* Foundation.framework */; }; + C6EB8584173BEE5E00C3953D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C67B40D0172EBEA3008359CC /* CoreGraphics.framework */; }; + C6EB8585173BEE5E00C3953D /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C67B40D2172EBEA3008359CC /* GStreamer.framework */; }; + C6EB858B173BEE5E00C3953D /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = C6EB8589173BEE5E00C3953D /* InfoPlist.strings */; }; + C6EB858D173BEE5E00C3953D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = C6EB858C173BEE5E00C3953D /* main.m */; }; + C6EB8591173BEE5E00C3953D /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = C6EB8590173BEE5E00C3953D /* AppDelegate.m */; }; + C6EB8593173BEE5E00C3953D /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = C6EB8592173BEE5E00C3953D /* Default.png */; }; + C6EB8595173BEE5E00C3953D /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C6EB8594173BEE5E00C3953D /* Default@2x.png */; }; + C6EB8597173BEE5E00C3953D /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C6EB8596173BEE5E00C3953D /* Default-568h@2x.png */; }; + C6EB859A173BEE5E00C3953D /* MainStoryboard_iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C6EB8598173BEE5E00C3953D /* MainStoryboard_iPhone.storyboard */; }; + C6EB859D173BEE5E00C3953D /* MainStoryboard_iPad.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C6EB859B173BEE5E00C3953D /* MainStoryboard_iPad.storyboard */; }; + C6EB85A0173BEE5E00C3953D /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C6EB859F173BEE5E00C3953D /* ViewController.m */; }; + C6EB85B1173BEF2600C3953D /* EaglUIVIew.m in Sources */ = {isa = PBXBuildFile; fileRef = C6EB85AB173BEF2600C3953D /* EaglUIVIew.m */; }; + C6EB85B2173BEF2600C3953D /* gst_ios_init.c in Sources */ = {isa = PBXBuildFile; fileRef = C6EB85AC173BEF2600C3953D /* gst_ios_init.c */; }; + C6EB85B3173BEF2600C3953D /* GStreamerBackend.m in Sources */ = {isa = PBXBuildFile; fileRef = C6EB85AF173BEF2600C3953D /* GStreamerBackend.m */; }; + C6EB85B9173BEFF800C3953D /* appicon-4-iPad.png in Resources */ = {isa = PBXBuildFile; fileRef = C6EB85B5173BEFF800C3953D /* appicon-4-iPad.png */; }; + C6EB85BA173BEFF800C3953D /* appicon-4-iPad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C6EB85B6173BEFF800C3953D /* appicon-4-iPad@2x.png */; }; + C6EB85BB173BEFF800C3953D /* appicon-4-iPhone.png in Resources */ = {isa = PBXBuildFile; fileRef = C6EB85B7173BEFF800C3953D /* appicon-4-iPhone.png */; }; + C6EB85BC173BEFF800C3953D /* appicon-4-iPhone@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C6EB85B8173BEFF800C3953D /* appicon-4-iPhone@2x.png */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -141,6 +161,31 @@ C6B6129317396231003FC410 /* appicon-3-iPhone@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-3-iPhone@2x.png"; sourceTree = ""; }; C6EB857A173A4D9500C3953D /* EaglUIVIew.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EaglUIVIew.h; sourceTree = ""; }; C6EB857B173A4D9500C3953D /* EaglUIVIew.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EaglUIVIew.m; sourceTree = ""; }; + C6EB8581173BEE5D00C3953D /* Tutorial 4.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Tutorial 4.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + C6EB8588173BEE5E00C3953D /* Tutorial 4-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Tutorial 4-Info.plist"; sourceTree = ""; }; + C6EB858A173BEE5E00C3953D /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + C6EB858C173BEE5E00C3953D /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + C6EB858E173BEE5E00C3953D /* Tutorial 4-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Tutorial 4-Prefix.pch"; sourceTree = ""; }; + C6EB858F173BEE5E00C3953D /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + C6EB8590173BEE5E00C3953D /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + C6EB8592173BEE5E00C3953D /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = ""; }; + C6EB8594173BEE5E00C3953D /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = ""; }; + C6EB8596173BEE5E00C3953D /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; + C6EB8599173BEE5E00C3953D /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/MainStoryboard_iPhone.storyboard; sourceTree = ""; }; + C6EB859C173BEE5E00C3953D /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/MainStoryboard_iPad.storyboard; sourceTree = ""; }; + C6EB859E173BEE5E00C3953D /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; + C6EB859F173BEE5E00C3953D /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; + C6EB85AA173BEF2600C3953D /* EaglUIVIew.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EaglUIVIew.h; sourceTree = ""; }; + C6EB85AB173BEF2600C3953D /* EaglUIVIew.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EaglUIVIew.m; sourceTree = ""; }; + C6EB85AC173BEF2600C3953D /* gst_ios_init.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = gst_ios_init.c; sourceTree = ""; }; + C6EB85AD173BEF2600C3953D /* gst_ios_init.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gst_ios_init.h; sourceTree = ""; }; + C6EB85AE173BEF2600C3953D /* GStreamerBackend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GStreamerBackend.h; sourceTree = ""; }; + C6EB85AF173BEF2600C3953D /* GStreamerBackend.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GStreamerBackend.m; sourceTree = ""; }; + C6EB85B0173BEF2600C3953D /* GStreamerBackendDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GStreamerBackendDelegate.h; sourceTree = ""; }; + C6EB85B5173BEFF800C3953D /* appicon-4-iPad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-4-iPad.png"; sourceTree = ""; }; + C6EB85B6173BEFF800C3953D /* appicon-4-iPad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-4-iPad@2x.png"; sourceTree = ""; }; + C6EB85B7173BEFF800C3953D /* appicon-4-iPhone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-4-iPhone.png"; sourceTree = ""; }; + C6EB85B8173BEFF800C3953D /* appicon-4-iPhone@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-4-iPhone@2x.png"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -177,6 +222,17 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + C6EB857E173BEE5D00C3953D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + C6EB8582173BEE5E00C3953D /* UIKit.framework in Frameworks */, + C6EB8583173BEE5E00C3953D /* Foundation.framework in Frameworks */, + C6EB8584173BEE5E00C3953D /* CoreGraphics.framework in Frameworks */, + C6EB8585173BEE5E00C3953D /* GStreamer.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -186,6 +242,7 @@ C67B40D4172EBEA3008359CC /* Tutorial 1 */, C67B4104172FC7F4008359CC /* Tutorial 2 */, C6B6126417395CF2003FC410 /* Tutorial 3 */, + C6EB8586173BEE5E00C3953D /* Tutorial 4 */, C67B40CB172EBEA3008359CC /* Frameworks */, C67B40CA172EBEA3008359CC /* Products */, ); @@ -197,6 +254,7 @@ C67B40C9172EBEA3008359CC /* Tutorial 1.app */, C67B40FF172FC7F4008359CC /* Tutorial 2.app */, C6B6125F17395CF1003FC410 /* Tutorial 3.app */, + C6EB8581173BEE5D00C3953D /* Tutorial 4.app */, ); name = Products; sourceTree = ""; @@ -348,6 +406,53 @@ path = Images; sourceTree = ""; }; + C6EB8586173BEE5E00C3953D /* Tutorial 4 */ = { + isa = PBXGroup; + children = ( + C6EB85AA173BEF2600C3953D /* EaglUIVIew.h */, + C6EB85AB173BEF2600C3953D /* EaglUIVIew.m */, + C6EB85B4173BEFF800C3953D /* Images */, + C6EB85AE173BEF2600C3953D /* GStreamerBackend.h */, + C6EB85AF173BEF2600C3953D /* GStreamerBackend.m */, + C6EB858F173BEE5E00C3953D /* AppDelegate.h */, + C6EB8590173BEE5E00C3953D /* AppDelegate.m */, + C6EB8598173BEE5E00C3953D /* MainStoryboard_iPhone.storyboard */, + C6EB859B173BEE5E00C3953D /* MainStoryboard_iPad.storyboard */, + C6EB859E173BEE5E00C3953D /* ViewController.h */, + C6EB859F173BEE5E00C3953D /* ViewController.m */, + C6EB8587173BEE5E00C3953D /* Supporting Files */, + ); + path = "Tutorial 4"; + sourceTree = ""; + }; + C6EB8587173BEE5E00C3953D /* Supporting Files */ = { + isa = PBXGroup; + children = ( + C6EB85AC173BEF2600C3953D /* gst_ios_init.c */, + C6EB85AD173BEF2600C3953D /* gst_ios_init.h */, + C6EB8588173BEE5E00C3953D /* Tutorial 4-Info.plist */, + C6EB8589173BEE5E00C3953D /* InfoPlist.strings */, + C6EB858C173BEE5E00C3953D /* main.m */, + C6EB858E173BEE5E00C3953D /* Tutorial 4-Prefix.pch */, + C6EB8592173BEE5E00C3953D /* Default.png */, + C6EB8594173BEE5E00C3953D /* Default@2x.png */, + C6EB8596173BEE5E00C3953D /* Default-568h@2x.png */, + C6EB85B0173BEF2600C3953D /* GStreamerBackendDelegate.h */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + C6EB85B4173BEFF800C3953D /* Images */ = { + isa = PBXGroup; + children = ( + C6EB85B5173BEFF800C3953D /* appicon-4-iPad.png */, + C6EB85B6173BEFF800C3953D /* appicon-4-iPad@2x.png */, + C6EB85B7173BEFF800C3953D /* appicon-4-iPhone.png */, + C6EB85B8173BEFF800C3953D /* appicon-4-iPhone@2x.png */, + ); + path = Images; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -402,6 +507,23 @@ productReference = C6B6125F17395CF1003FC410 /* Tutorial 3.app */; productType = "com.apple.product-type.application"; }; + C6EB8580173BEE5D00C3953D /* Tutorial 4 */ = { + isa = PBXNativeTarget; + buildConfigurationList = C6EB85A7173BEE5F00C3953D /* Build configuration list for PBXNativeTarget "Tutorial 4" */; + buildPhases = ( + C6EB857D173BEE5D00C3953D /* Sources */, + C6EB857E173BEE5D00C3953D /* Frameworks */, + C6EB857F173BEE5D00C3953D /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Tutorial 4"; + productName = "Tutorial 4"; + productReference = C6EB8581173BEE5D00C3953D /* Tutorial 4.app */; + productType = "com.apple.product-type.application"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -425,6 +547,7 @@ C67B40C8172EBEA3008359CC /* Tutorial 1 */, C67B40FE172FC7F4008359CC /* Tutorial 2 */, C6B6125E17395CF1003FC410 /* Tutorial 3 */, + C6EB8580173BEE5D00C3953D /* Tutorial 4 */, ); }; /* End PBXProject section */ @@ -480,6 +603,23 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + C6EB857F173BEE5D00C3953D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + C6EB858B173BEE5E00C3953D /* InfoPlist.strings in Resources */, + C6EB8593173BEE5E00C3953D /* Default.png in Resources */, + C6EB8595173BEE5E00C3953D /* Default@2x.png in Resources */, + C6EB8597173BEE5E00C3953D /* Default-568h@2x.png in Resources */, + C6EB859A173BEE5E00C3953D /* MainStoryboard_iPhone.storyboard in Resources */, + C6EB859D173BEE5E00C3953D /* MainStoryboard_iPad.storyboard in Resources */, + C6EB85B9173BEFF800C3953D /* appicon-4-iPad.png in Resources */, + C6EB85BA173BEFF800C3953D /* appicon-4-iPad@2x.png in Resources */, + C6EB85BB173BEFF800C3953D /* appicon-4-iPhone.png in Resources */, + C6EB85BC173BEFF800C3953D /* appicon-4-iPhone@2x.png in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -520,6 +660,19 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + C6EB857D173BEE5D00C3953D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + C6EB858D173BEE5E00C3953D /* main.m in Sources */, + C6EB8591173BEE5E00C3953D /* AppDelegate.m in Sources */, + C6EB85A0173BEE5E00C3953D /* ViewController.m in Sources */, + C6EB85B1173BEF2600C3953D /* EaglUIVIew.m in Sources */, + C6EB85B2173BEF2600C3953D /* gst_ios_init.c in Sources */, + C6EB85B3173BEF2600C3953D /* GStreamerBackend.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin PBXVariantGroup section */ @@ -595,6 +748,30 @@ name = MainStoryboard_iPad.storyboard; sourceTree = ""; }; + C6EB8589173BEE5E00C3953D /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + C6EB858A173BEE5E00C3953D /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + C6EB8598173BEE5E00C3953D /* MainStoryboard_iPhone.storyboard */ = { + isa = PBXVariantGroup; + children = ( + C6EB8599173BEE5E00C3953D /* en */, + ); + name = MainStoryboard_iPhone.storyboard; + sourceTree = ""; + }; + C6EB859B173BEE5E00C3953D /* MainStoryboard_iPad.storyboard */ = { + isa = PBXVariantGroup; + children = ( + C6EB859C173BEE5E00C3953D /* en */, + ); + name = MainStoryboard_iPad.storyboard; + sourceTree = ""; + }; /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ @@ -1006,6 +1183,138 @@ }; name = Release; }; + C6EB85A8173BEE5F00C3953D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = armv7; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ( + "\"~/Library/Developer/GStreamer/iPhone.sdk\"", + "\"$(SYSTEM_APPS_DIR)/Xcode.app/Contents/Developer/Library/Frameworks\"", + ); + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Tutorial 4/Tutorial 4-Prefix.pch"; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = "\"~/Library/Developer/GStreamer/iPhone.sdk/GStreamer.framework/Headers\""; + INFOPLIST_FILE = "Tutorial 4/Tutorial 4-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; + ONLY_ACTIVE_ARCH = YES; + OTHER_LDFLAGS = ( + "-lresolv", + "-lstdc++", + "-framework", + CoreFoundation, + "-framework", + Foundation, + "-framework", + AVFoundation, + "-framework", + CoreMedia, + "-framework", + CoreVideo, + "-framework", + CoreAudio, + "-framework", + AudioToolbox, + "-framework", + OpenGLES, + "-framework", + AssetsLibrary, + "-framework", + QuartzCore, + "-framework", + AssetsLibrary, + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + C6EB85A9173BEE5F00C3953D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = armv7; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = ( + "\"~/Library/Developer/GStreamer/iPhone.sdk\"", + "\"$(SYSTEM_APPS_DIR)/Xcode.app/Contents/Developer/Library/Frameworks\"", + ); + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Tutorial 4/Tutorial 4-Prefix.pch"; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = "\"~/Library/Developer/GStreamer/iPhone.sdk/GStreamer.framework/Headers\""; + INFOPLIST_FILE = "Tutorial 4/Tutorial 4-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; + OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; + OTHER_LDFLAGS = ( + "-lresolv", + "-lstdc++", + "-framework", + CoreFoundation, + "-framework", + Foundation, + "-framework", + AVFoundation, + "-framework", + CoreMedia, + "-framework", + CoreVideo, + "-framework", + CoreAudio, + "-framework", + AudioToolbox, + "-framework", + OpenGLES, + "-framework", + AssetsLibrary, + "-framework", + QuartzCore, + "-framework", + AssetsLibrary, + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -1045,6 +1354,14 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + C6EB85A7173BEE5F00C3953D /* Build configuration list for PBXNativeTarget "Tutorial 4" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C6EB85A8173BEE5F00C3953D /* Debug */, + C6EB85A9173BEE5F00C3953D /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; /* End XCConfigurationList section */ }; rootObject = C67B40BF172EBDF1008359CC /* Project object */; diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/AppDelegate.h b/gst-sdk/tutorials/xcode iOS/Tutorial 4/AppDelegate.h new file mode 100644 index 0000000000..e6762d68bc --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/AppDelegate.h @@ -0,0 +1,15 @@ +// +// AppDelegate.h +// Tutorial 4 +// +// Created by Xavi Artigas on 5/9/13. +// +// + +#import + +@interface AppDelegate : UIResponder + +@property (strong, nonatomic) UIWindow *window; + +@end diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/AppDelegate.m b/gst-sdk/tutorials/xcode iOS/Tutorial 4/AppDelegate.m new file mode 100644 index 0000000000..643f794ac3 --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/AppDelegate.m @@ -0,0 +1,46 @@ +// +// AppDelegate.m +// Tutorial 4 +// +// Created by Xavi Artigas on 5/9/13. +// +// + +#import "AppDelegate.h" + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + // Override point for customization after application launch. + return YES; +} + +- (void)applicationWillResignActive:(UIApplication *)application +{ + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. +} + +- (void)applicationDidEnterBackground:(UIApplication *)application +{ + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. +} + +- (void)applicationWillEnterForeground:(UIApplication *)application +{ + // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. +} + +- (void)applicationDidBecomeActive:(UIApplication *)application +{ + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. +} + +- (void)applicationWillTerminate:(UIApplication *)application +{ + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. +} + +@end diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/Default-568h@2x.png b/gst-sdk/tutorials/xcode iOS/Tutorial 4/Default-568h@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0891b7aabfcf3422423b109c8beed2bab838c607 GIT binary patch literal 18594 zcmeI4X;f257Jx&9fS`ixvS;&$x8J@slQFSel)6zJN=?13FB7H(lQjRkSy8x_-S~tvu2gzn1oS+dLcF#eqtq$ z%tf9TTvX?`)R@}3uBI;jzS-=ZR-Td&MHaS&;!0?Ni*#$#`n*~CcQK)Q9vAQ~TUpnI!j)a2biYK^R)M~A5wUDZhx?ULMX z3x1P&qt=trOY6P2U67L=m=U?F|5#Uj(eCueNTZaHs_ceWiHeET+j+tp3Jt9g(ekqP z2WOvfR{qV+9r+o4J5?qK>7;;^+I7tGv-i)es$X_D=EoKF+S?zsyj^oRFElP}c}JT< zd8SUs-?O?}2YD#ngKbnHgzHBcboxK_2r9l(?eNCl-pEzkJm}fY?WC*jnS?VBE4EpY zO$fEejz6fU;W2Kl>JeQBZBl-%Irg`obSlg*@4QB;Dd1H7^Oi5wvt4d{RZ!8Og?^aE z)k0$1g+V3fd(gdQ3d&q2q-FL*uy#}|bc^=VhFsl0jBgUGJ+-s3U8MK9A!YJJMxpci z5hJ%|{DwV48fZn0{n5l$N_KcSb#NKE4plB`9I6Zt=Z!~-zw0{9tg$L&Ju1F0X)Cy8 zKF;(&lJ>x)Jw(=;p~sF(Sd9VWGwFE2rnyS9!f^DZ8+aCLq zQ};>lcJ1GDLqjm6Hd>|Eabno@P`~Bn(~6^aD_#yoEH(a?Nm1S<;S+hSxI5d16^<1lEM3NPFi zkqPrpL)+ zgnseFikg`gJVBha1&7C4;O6>h=dt~`ND+;Zd?W(4v2JIb7Pt>Td42%M-Ju-XAH#Pns762L}K3 zDhvsRqN0Ni(1UrishD2YvV?4*h2iFj$+&N||Fn$4n|^NSU+o?~jq`0jVQt8T9l{7b zXiwwODFh2V!Q6sqP9S>WH$oOf$N~=d0-bqTlD61!=`&0eAP-F>XN?*|gtOXX{ zQVTWyYo4ZK0GAw!GHf|pz9`D;-bbb*5LBX*{bnz|+)$@&P9|ORM2o?95{;ejvo&r- zq8cBhTN6nn)7~W>54U)%-F_-b?YKdfk5I8MHcuzBD5)!;yv#Z&R&^y=@=>VTIMy#r zX&U<=BsPkdqcMe<_}2+>H%XKyrr5ZR8_KVe>ZqYN z^=^~TFD};;rHJ$U;{~w^hYojl4hRI@SH$^K{YEo=sg)WY87r!*7blQK&qnpDo0`Vn zkl)9u9g=mCh&ZCJS(L4yN3k0kQ zuvg$h2KEEk51T+O0JQ+r0`R>g{jvqM0Mr6d3qUOZwE!?PI7HY@CE|dr sfw?Q;rAv?G4&^^8-z_>&sWXMxvD*gPOU4CBe-*@OtE+wfmVJNyHv)PfH~;_u literal 0 HcmV?d00001 diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/Default.png b/gst-sdk/tutorials/xcode iOS/Tutorial 4/Default.png new file mode 100644 index 0000000000000000000000000000000000000000..4c8ca6f693f96d511e9113c0eb59eec552354e42 GIT binary patch literal 6540 zcmeAS@N?(olHy`uVBq!ia0y~yU~~ZD2OMlbkt;o0To@QwR5G2N13aCb6#|O#(=u~X z85k@CTSM>X-wqM6>&y>YB4)1;;ojbLbbV-W^iFB1wa3^zCog^LCAReC4K0-?R_2{6 zrP*)4+_uWUy3w5N52M3PW_}MFMP9a~>YLvVZ1D_k*IMQ2QT^fwzoOb(*3gH$%aYWC zkHmcab=va2<#X%jakpJ;<1@F;k__#bwtC&%^D0v(FBh9K&$sK+<}2RJS609D)17$w ztdQP8(eLM8Ka}m_IQ@3wyMKP)l=oM4-?`YS_*P?4V_ORLPxsj&7Ju#kH;>6^Kp?T7~ zl+q?{UOOqV==?+d{=)5s|M~T1mwtH@+Z^$G&eEO9JNP^AX@3jZ*J*!!>lc|1-W%fA z@AOQpXZ_Lt>rxFXrGp*zLPiW@uo_c7C{As>j zWeX)wi+LTp_)@KYZCX{j;H?|1yXT4DnlS(Fr8gyP5|uaX_gLvaW0ScZdnG7o+u{T6 zFI-%d{ls*WuCDa5UJ@|RXv&ejZe}*BMkiWY51&pnRPw(hlykSzvj6e%mYz-GdvzBD zF10?szF_~!jS=?2HyQuPCvARXAe}C}WP|yQ*>5~~=*Nxq8+HHW1~FMDRCP^TcacKuk$ z(U#REVv)D!PhJ*ecH-ELFUrfyV&*)Z)>UCOuS?yd^L@Afk>ihynYPc{^CRwu+JHX+#$@YsC4c|l0tGigsn@jy) zXD($Ouk>H+V(Mr6NQT0S9BFM~V6nkj;1OBOz`zY;a|<&v%$g$sEJPk;hD4M^`1)8S z=jZArrsOB3>Q&?x097+E*i={nnYpPYi3%0DIeEoa6}C!X6;?ntNLXJ<0j#7X+g2&U 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 literal 0 HcmV?d00001 diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/EaglUIVIew.h b/gst-sdk/tutorials/xcode iOS/Tutorial 4/EaglUIVIew.h new file mode 100644 index 0000000000..01700b59ff --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/EaglUIVIew.h @@ -0,0 +1,55 @@ +/* + * GStreamer Player demo app for IOS + * Copyright (C) 2013 Collabora Ltd. + * @author: Thiago Santos + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Alternatively, the contents of this file may be used under the + * GNU Lesser General Public License Version 2.1 (the "LGPL"), in + * which case the following provisions apply instead of the ones + * mentioned above: + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#import +#import +#include +#include + +@interface EaglUIView : UIView +{ +} + +@end + diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/EaglUIVIew.m b/gst-sdk/tutorials/xcode iOS/Tutorial 4/EaglUIVIew.m new file mode 100644 index 0000000000..f1bcfe7bb1 --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/EaglUIVIew.m @@ -0,0 +1,57 @@ +/* + * GStreamer Player demo app for IOS + * Copyright (C) 2013 Collabora Ltd. + * @author: Thiago Santos + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Alternatively, the contents of this file may be used under the + * GNU Lesser General Public License Version 2.1 (the "LGPL"), in + * which case the following provisions apply instead of the ones + * mentioned above: + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#import "EaglUIVIew.h" + +#import + +@implementation EaglUIView + + ++ (Class) layerClass +{ + return [CAEAGLLayer class]; +} + +@end diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.h b/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.h new file mode 100644 index 0000000000..a23c4cefe6 --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.h @@ -0,0 +1,17 @@ +#import +#import "GStreamerBackendDelegate.h" + +@interface GStreamerBackend : NSObject + +/* Initialization method. Pass the delegate that will take care of the UI. + * This delegate must implement the GStreamerBackendDelegate protocol. + * Pass also the UIView object that will hold the video window. */ +-(id) init:(id) uiDelegate videoView:(UIView*) video_view; + +/* Set the pipeline to PLAYING */ +-(void) play; + +/* Set the pipeline to PAUSED */ +-(void) pause; + +@end \ No newline at end of file diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m b/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m new file mode 100644 index 0000000000..8adceac8be --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m @@ -0,0 +1,191 @@ +#import "GStreamerBackend.h" + +#include +#include + +GST_DEBUG_CATEGORY_STATIC (debug_category); +#define GST_CAT_DEFAULT debug_category + +@interface GStreamerBackend() +-(void)setUIMessage:(gchar*) message; +-(void)app_function; +-(void)check_initialization_complete; +@end + +@implementation GStreamerBackend { + id ui_delegate; /* Class that we use to interact with the user interface */ + GstElement *pipeline; /* The running pipeline */ + GstElement *video_sink;/* The video sink element which receives XOverlay commands */ + GMainContext *context; /* GLib context used to run the main loop */ + GMainLoop *main_loop; /* GLib main loop */ + gboolean initialized; /* To avoid informing the UI multiple times about the initialization */ + UIView *ui_video_view; /* UIView that holds the video */ +} + +/* + * Interface methods + */ + +-(id) init:(id) uiDelegate videoView:(UIView *)video_view +{ + if (self = [super init]) + { + self->ui_delegate = uiDelegate; + self->ui_video_view = video_view; + + GST_DEBUG_CATEGORY_INIT (debug_category, "tutorial-4", 0, "iOS tutorial 4"); + gst_debug_set_threshold_for_name("tutorial-4", GST_LEVEL_DEBUG); + + /* Start the bus monitoring task */ + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + [self app_function]; + }); + } + + return self; +} + +-(void) dealloc +{ + if (pipeline) { + GST_DEBUG("Setting the pipeline to NULL"); + gst_element_set_state(pipeline, GST_STATE_NULL); + gst_object_unref(pipeline); + pipeline = NULL; + } +} + +-(void) play +{ + if(gst_element_set_state(pipeline, GST_STATE_PLAYING) == GST_STATE_CHANGE_FAILURE) { + [self setUIMessage:"Failed to set pipeline to playing"]; + } +} + +-(void) pause +{ + if(gst_element_set_state(pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_FAILURE) { + [self setUIMessage:"Failed to set pipeline to paused"]; + } +} + +/* + * Private methods + */ + +/* Change the message on the UI through the UI delegate */ +-(void)setUIMessage:(gchar*) message +{ + NSString *string = [NSString stringWithUTF8String:message]; + if(ui_delegate && [ui_delegate respondsToSelector:@selector(gstreamerSetUIMessage:)]) + { + [ui_delegate gstreamerSetUIMessage:string]; + } +} + +/* Retrieve errors from the bus and show them on the UI */ +static void error_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) +{ + GError *err; + gchar *debug_info; + gchar *message_string; + + gst_message_parse_error (msg, &err, &debug_info); + message_string = g_strdup_printf ("Error received from element %s: %s", GST_OBJECT_NAME (msg->src), err->message); + g_clear_error (&err); + g_free (debug_info); + [self setUIMessage:message_string]; + g_free (message_string); + gst_element_set_state (self->pipeline, GST_STATE_NULL); +} + +/* Notify UI about pipeline state changes */ +static void state_changed_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) +{ + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + /* Only pay attention to messages coming from the pipeline, not its children */ + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (self->pipeline)) { + gchar *message = g_strdup_printf("State changed to %s", gst_element_state_get_name(new_state)); + [self setUIMessage:message]; + g_free (message); + } +} + +/* Check if all conditions are met to report GStreamer as initialized. + * These conditions will change depending on the application */ +-(void) check_initialization_complete +{ + if (!initialized && main_loop) { + GST_DEBUG ("Initialization complete, notifying application."); + if (ui_delegate && [ui_delegate respondsToSelector:@selector(gstreamerInitialized)]) + { + [ui_delegate gstreamerInitialized]; + } + initialized = TRUE; + } +} + +/* Main method for the bus monitoring code */ +-(void) app_function +{ + GstBus *bus; + GSource *bus_source; + GError *error = NULL; + + GST_DEBUG ("Creating pipeline"); + + /* Create our own GLib Main Context and make it the default one */ + context = g_main_context_new (); + g_main_context_push_thread_default(context); + + /* Build pipeline */ + pipeline = gst_parse_launch("videotestsrc ! warptv ! ffmpegcolorspace ! autovideosink", &error); + if (error) { + gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message); + g_clear_error (&error); + [self setUIMessage:message]; + g_free (message); + return; + } + + /* Set the pipeline to READY, so it can already accept a window handle */ + gst_element_set_state(pipeline, GST_STATE_READY); + + video_sink = gst_bin_get_by_interface(GST_BIN(pipeline), GST_TYPE_X_OVERLAY); + if (!video_sink) { + GST_ERROR ("Could not retrieve video sink"); + return; + } + gst_x_overlay_set_window_handle(GST_X_OVERLAY(video_sink), (guintptr) (id) ui_video_view); + + /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ + bus = gst_element_get_bus (pipeline); + bus_source = gst_bus_create_watch (bus); + g_source_set_callback (bus_source, (GSourceFunc) gst_bus_async_signal_func, NULL, NULL); + g_source_attach (bus_source, context); + g_source_unref (bus_source); + g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, (__bridge void *)self); + g_signal_connect (G_OBJECT (bus), "message::state-changed", (GCallback)state_changed_cb, (__bridge void *)self); + gst_object_unref (bus); + + /* Create a GLib Main Loop and set it to run */ + GST_DEBUG ("Entering main loop..."); + main_loop = g_main_loop_new (context, FALSE); + [self check_initialization_complete]; + g_main_loop_run (main_loop); + GST_DEBUG ("Exited main loop"); + g_main_loop_unref (main_loop); + main_loop = NULL; + + /* Free resources */ + g_main_context_pop_thread_default(context); + g_main_context_unref (context); + gst_element_set_state (pipeline, GST_STATE_NULL); + gst_object_unref (pipeline); + + return; +} + +@end + diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackendDelegate.h b/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackendDelegate.h new file mode 100644 index 0000000000..5586373157 --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackendDelegate.h @@ -0,0 +1,14 @@ +#import + +@protocol GStreamerBackendDelegate + +@optional +/* Called when the GStreamer backend has finished initializing + * and is ready to accept orders. */ +-(void) gstreamerInitialized; + +/* Called when the GStreamer backend wants to output some message + * to the screen. */ +-(void) gstreamerSetUIMessage:(NSString *)message; + +@end diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/Images/appicon-4-iPad.png b/gst-sdk/tutorials/xcode iOS/Tutorial 4/Images/appicon-4-iPad.png new file mode 100755 index 0000000000000000000000000000000000000000..ceea35d00fae049a7e0d8ca3ff6f43db36411651 GIT binary patch literal 6891 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 literal 0 HcmV?d00001 diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/Images/appicon-4-iPad@2x.png b/gst-sdk/tutorials/xcode iOS/Tutorial 4/Images/appicon-4-iPad@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..9613a6fdda4310e07157f851d7b2eadef965d984 GIT binary patch literal 17472 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 Ef{YXUO#lD@ literal 0 HcmV?d00001 diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/Images/appicon-4-iPhone.png b/gst-sdk/tutorials/xcode iOS/Tutorial 4/Images/appicon-4-iPhone.png new file mode 100755 index 0000000000000000000000000000000000000000..6535733e820efb485124a7b1779198bcf7644207 GIT binary patch literal 5404 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 literal 0 HcmV?d00001 diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/Tutorial 4-Info.plist b/gst-sdk/tutorials/xcode iOS/Tutorial 4/Tutorial 4-Info.plist new file mode 100644 index 0000000000..68ea7113ae --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/Tutorial 4-Info.plist @@ -0,0 +1,62 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + ${PRODUCT_NAME} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIcons + + CFBundlePrimaryIcon + + CFBundleIconFiles + + appicon-4-iPhone.png + appicon-4-iPhone@2x.png + appicon-4-iPad.png + appicon-4-iPad@2x.png + + + + CFBundleIdentifier + gstreamer-sdk.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + UIMainStoryboardFile + MainStoryboard_iPhone + UIMainStoryboardFile~ipad + MainStoryboard_iPad + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/Tutorial 4-Prefix.pch b/gst-sdk/tutorials/xcode iOS/Tutorial 4/Tutorial 4-Prefix.pch new file mode 100644 index 0000000000..9288e96dc2 --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/Tutorial 4-Prefix.pch @@ -0,0 +1,14 @@ +// +// Prefix header for all source files of the 'Tutorial 4' target in the 'Tutorial 4' project +// + +#import + +#ifndef __IPHONE_5_0 +#warning "This project uses features only available in iOS SDK 5.0 and later." +#endif + +#ifdef __OBJC__ + #import + #import +#endif diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/ViewController.h b/gst-sdk/tutorials/xcode iOS/Tutorial 4/ViewController.h new file mode 100644 index 0000000000..677f65bc25 --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/ViewController.h @@ -0,0 +1,21 @@ +#import +#import "GStreamerBackendDelegate.h" + +@interface ViewController : UIViewController { + IBOutlet UILabel *message_label; + IBOutlet UIBarButtonItem *play_button; + IBOutlet UIBarButtonItem *pause_button; + IBOutlet UIView *video_view; + IBOutlet UIView *video_container_view; + IBOutlet NSLayoutConstraint *video_width_constraint; + IBOutlet NSLayoutConstraint *video_height_constraint; +} + +-(IBAction) play:(id)sender; +-(IBAction) pause:(id)sender; + +/* From GStreamerBackendDelegate */ +-(void) gstreamerInitialized; +-(void) gstreamerSetUIMessage:(NSString *)message; + +@end diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/ViewController.m b/gst-sdk/tutorials/xcode iOS/Tutorial 4/ViewController.m new file mode 100644 index 0000000000..93eae203e4 --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/ViewController.m @@ -0,0 +1,88 @@ +#import "ViewController.h" +#import "GStreamerBackend.h" +#import + +@interface ViewController () { + GStreamerBackend *gst_backend; + int media_width; + int media_height; +} + +@end + +@implementation ViewController + +/* + * Methods from UIViewController + */ + +- (void)viewDidLoad +{ + [super viewDidLoad]; + + play_button.enabled = FALSE; + pause_button.enabled = FALSE; + + /* Make these constant for now, later tutorials will change them */ + media_width = 320; + media_height = 240; + + gst_backend = [[GStreamerBackend alloc] init:self videoView:video_view]; +} + +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +/* Called when the Play button is pressed */ +-(IBAction) play:(id)sender +{ + [gst_backend play]; +} + +/* Called when the Pause button is pressed */ +-(IBAction) pause:(id)sender +{ + [gst_backend pause]; +} + +- (void)viewDidLayoutSubviews +{ + CGFloat view_width = video_container_view.bounds.size.width; + CGFloat view_height = video_container_view.bounds.size.height; + + CGFloat correct_height = view_width * media_height / media_width; + CGFloat correct_width = view_height * media_width / media_height; + + if (correct_height < view_height) { + video_height_constraint.constant = correct_height; + video_width_constraint.constant = view_width; + } else { + video_width_constraint.constant = correct_width; + video_height_constraint.constant = view_height; + } +} + +/* + * Methods from GstreamerBackendDelegate + */ + +-(void) gstreamerInitialized +{ + dispatch_async(dispatch_get_main_queue(), ^{ + play_button.enabled = TRUE; + pause_button.enabled = TRUE; + message_label.text = @"Ready"; + }); +} + +-(void) gstreamerSetUIMessage:(NSString *)message +{ + dispatch_async(dispatch_get_main_queue(), ^{ + message_label.text = message; + }); +} + +@end diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/InfoPlist.strings b/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/InfoPlist.strings new file mode 100644 index 0000000000..477b28ff8f --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPad.storyboard b/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPad.storyboard new file mode 100644 index 0000000000..98d0b70aaf --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPad.storyboard @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPhone.storyboard b/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPhone.storyboard new file mode 100644 index 0000000000..262d1143d6 --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPhone.storyboard @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.c b/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.c new file mode 100644 index 0000000000..cffa57e65c --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.c @@ -0,0 +1,995 @@ +#include "gst_ios_init.h" + +#if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(coreelements); +#endif +#if defined(GST_IOS_PLUGIN_COREINDEXERS) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(coreindexers); +#endif +#if defined(GST_IOS_PLUGIN_ADDER) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(adder); +#endif +#if defined(GST_IOS_PLUGIN_APP) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(app); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOCONVERT) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(audioconvert); +#endif +#if defined(GST_IOS_PLUGIN_AUDIORATE) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(audiorate); +#endif +#if defined(GST_IOS_PLUGIN_AUDIORESAMPLE) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(audioresample); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOTESTSRC) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(audiotestsrc); +#endif +#if defined(GST_IOS_PLUGIN_FFMPEGCOLORSPACE) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(ffmpegcolorspace); +#endif +#if defined(GST_IOS_PLUGIN_GDP) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(gdp); +#endif +#if defined(GST_IOS_PLUGIN_GIO) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(gio); +#endif +#if defined(GST_IOS_PLUGIN_PANGO) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(pango); +#endif +#if defined(GST_IOS_PLUGIN_TYPEFINDFUNCTIONS) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(typefindfunctions); +#endif +#if defined(GST_IOS_PLUGIN_VIDEORATE) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(videorate); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOSCALE) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(videoscale); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOTESTSRC) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(videotestsrc); +#endif +#if defined(GST_IOS_PLUGIN_VOLUME) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(volume); +#endif +#if defined(GST_IOS_PLUGIN_AUTODETECT) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(autodetect); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOFILTER) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(videofilter); +#endif +#if defined(GST_IOS_PLUGIN_CAMERABIN2) || defined(GST_IOS_PLUGINS_CAPTURE) +GST_PLUGIN_STATIC_DECLARE(camerabin2); +#endif +#if defined(GST_IOS_PLUGIN_ASFMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(asfmux); +#endif +#if defined(GST_IOS_PLUGIN_DTSDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(dtsdec); +#endif +#if defined(GST_IOS_PLUGIN_FAAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(faad); +#endif +#if defined(GST_IOS_PLUGIN_MPEGDEMUX2) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mpegdemux2); +#endif +#if defined(GST_IOS_PLUGIN_MPEGPSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mpegpsmux); +#endif +#if defined(GST_IOS_PLUGIN_MPEGTSDEMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mpegtsdemux); +#endif +#if defined(GST_IOS_PLUGIN_MPEGTSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mpegtsmux); +#endif +#if defined(GST_IOS_PLUGIN_A52DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(a52dec); +#endif +#if defined(GST_IOS_PLUGIN_AMRNB) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(amrnb); +#endif +#if defined(GST_IOS_PLUGIN_AMRWBDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(amrwbdec); +#endif +#if defined(GST_IOS_PLUGIN_ASF) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(asf); +#endif +#if defined(GST_IOS_PLUGIN_MAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mad); +#endif +#if defined(GST_IOS_PLUGIN_MPEG2DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mpeg2dec); +#endif +#if defined(GST_IOS_PLUGIN_MPEGAUDIOPARSE) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mpegaudioparse); +#endif +#if defined(GST_IOS_PLUGIN_REALMEDIA) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(realmedia); +#endif +#if defined(GST_IOS_PLUGIN_X264) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(x264); +#endif +#if defined(GST_IOS_PLUGIN_FFMPEG) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(ffmpeg); +#endif +#if defined(GST_IOS_PLUGIN_ENCODING) || defined(GST_IOS_PLUGINS_ENCODING) +GST_PLUGIN_STATIC_DECLARE(encoding); +#endif +#if defined(GST_IOS_PLUGIN_INDVD) || defined(GST_IOS_PLUGINS_DVD) +GST_PLUGIN_STATIC_DECLARE(indvd); +#endif +#if defined(GST_IOS_PLUGIN_DVDLPCMDEC) || defined(GST_IOS_PLUGINS_DVD) +GST_PLUGIN_STATIC_DECLARE(dvdlpcmdec); +#endif +#if defined(GST_IOS_PLUGIN_DVDREAD) || defined(GST_IOS_PLUGINS_DVD) +GST_PLUGIN_STATIC_DECLARE(dvdread); +#endif +#if defined(GST_IOS_PLUGIN_ASSRENDER) || defined(GST_IOS_PLUGINS_CODECS_GPL) +GST_PLUGIN_STATIC_DECLARE(assrender); +#endif +#if defined(GST_IOS_PLUGIN_MMS) || defined(GST_IOS_PLUGINS_NET_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mms); +#endif +#if defined(GST_IOS_PLUGIN_OSXAUDIO) || defined(GST_IOS_PLUGINS_SYS) +GST_PLUGIN_STATIC_DECLARE(osxaudio); +#endif +#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) +GST_PLUGIN_STATIC_DECLARE(eglglessink); +#endif +#if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS) +GST_PLUGIN_STATIC_DECLARE(applemedia_nonpublic); +#endif +#if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) +GST_PLUGIN_STATIC_DECLARE(libvisual); +#endif +#if defined(GST_IOS_PLUGIN_GOOM) || defined(GST_IOS_PLUGINS_VIS) +GST_PLUGIN_STATIC_DECLARE(goom); +#endif +#if defined(GST_IOS_PLUGIN_GOOM2K1) || defined(GST_IOS_PLUGINS_VIS) +GST_PLUGIN_STATIC_DECLARE(goom2k1); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOVISUALIZERS) || defined(GST_IOS_PLUGINS_VIS) +GST_PLUGIN_STATIC_DECLARE(audiovisualizers); +#endif +#if defined(GST_IOS_PLUGIN_URIDECODEBIN) || defined(GST_IOS_PLUGINS_PLAYBACK) +GST_PLUGIN_STATIC_DECLARE(uridecodebin); +#endif +#if defined(GST_IOS_PLUGIN_PLAYBACK) || defined(GST_IOS_PLUGINS_PLAYBACK) +GST_PLUGIN_STATIC_DECLARE(playback); +#endif +#if defined(GST_IOS_PLUGIN_ALPHA) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(alpha); +#endif +#if defined(GST_IOS_PLUGIN_ALPHACOLOR) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(alphacolor); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOFX) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(audiofx); +#endif +#if defined(GST_IOS_PLUGIN_CAIRO) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(cairo); +#endif +#if defined(GST_IOS_PLUGIN_CUTTER) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(cutter); +#endif +#if defined(GST_IOS_PLUGIN_DEBUG) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(debug); +#endif +#if defined(GST_IOS_PLUGIN_DEINTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(deinterlace); +#endif +#if defined(GST_IOS_PLUGIN_EFFECTV) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(effectv); +#endif +#if defined(GST_IOS_PLUGIN_EQUALIZER) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(equalizer); +#endif +#if defined(GST_IOS_PLUGIN_GDKPIXBUF) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(gdkpixbuf); +#endif +#if defined(GST_IOS_PLUGIN_IMAGEFREEZE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(imagefreeze); +#endif +#if defined(GST_IOS_PLUGIN_INTERLEAVE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(interleave); +#endif +#if defined(GST_IOS_PLUGIN_LEVEL) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(level); +#endif +#if defined(GST_IOS_PLUGIN_MULTIFILE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(multifile); +#endif +#if defined(GST_IOS_PLUGIN_REPLAYGAIN) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(replaygain); +#endif +#if defined(GST_IOS_PLUGIN_SHAPEWIPE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(shapewipe); +#endif +#if defined(GST_IOS_PLUGIN_SMPTE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(smpte); +#endif +#if defined(GST_IOS_PLUGIN_SPECTRUM) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(spectrum); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOBOX) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(videobox); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOCROP) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(videocrop); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOMIXER) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(videomixer); +#endif +#if defined(GST_IOS_PLUGIN_AUTOCONVERT) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(autoconvert); +#endif +#if defined(GST_IOS_PLUGIN_BAYER) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(bayer); +#endif +#if defined(GST_IOS_PLUGIN_COLOREFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(coloreffects); +#endif +#if defined(GST_IOS_PLUGIN_FACEOVERLAY) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(faceoverlay); +#endif +#if defined(GST_IOS_PLUGIN_FIELDANALYSIS) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(fieldanalysis); +#endif +#if defined(GST_IOS_PLUGIN_FREEVERB) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(freeverb); +#endif +#if defined(GST_IOS_PLUGIN_FREI0R) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(frei0r); +#endif +#if defined(GST_IOS_PLUGIN_GAUDIEFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(gaudieffects); +#endif +#if defined(GST_IOS_PLUGIN_GEOMETRICTRANSFORM) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(geometrictransform); +#endif +#if defined(GST_IOS_PLUGIN_INTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(interlace); +#endif +#if defined(GST_IOS_PLUGIN_JP2KDECIMATOR) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(jp2kdecimator); +#endif +#if defined(GST_IOS_PLUGIN_LIVEADDER) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(liveadder); +#endif +#if defined(GST_IOS_PLUGIN_RAWPARSE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(rawparse); +#endif +#if defined(GST_IOS_PLUGIN_REMOVESILENCE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(removesilence); +#endif +#if defined(GST_IOS_PLUGIN_SCALETEMPO) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(scaletempo); +#endif +#if defined(GST_IOS_PLUGIN_SEGMENTCLIP) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(segmentclip); +#endif +#if defined(GST_IOS_PLUGIN_SMOOTH) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(smooth); +#endif +#if defined(GST_IOS_PLUGIN_SOUNDTOUCH) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(soundtouch); +#endif +#if defined(GST_IOS_PLUGIN_SPEED) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(speed); +#endif +#if defined(GST_IOS_PLUGIN_STEREO) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(stereo); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOFILTERSBAD) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(videofiltersbad); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOMEASURE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(videomeasure); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOSIGNAL) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(videosignal); +#endif +#if defined(GST_IOS_PLUGIN_SUBPARSE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(subparse); +#endif +#if defined(GST_IOS_PLUGIN_OGG) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(ogg); +#endif +#if defined(GST_IOS_PLUGIN_THEORA) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(theora); +#endif +#if defined(GST_IOS_PLUGIN_VORBIS) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(vorbis); +#endif +#if defined(GST_IOS_PLUGIN_IVORBISDEC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(ivorbisdec); +#endif +#if defined(GST_IOS_PLUGIN_ALAW) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(alaw); +#endif +#if defined(GST_IOS_PLUGIN_ANNODEX) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(annodex); +#endif +#if defined(GST_IOS_PLUGIN_APETAG) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(apetag); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOPARSERS) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(audioparsers); +#endif +#if defined(GST_IOS_PLUGIN_AUPARSE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(auparse); +#endif +#if defined(GST_IOS_PLUGIN_AVI) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(avi); +#endif +#if defined(GST_IOS_PLUGIN_DV) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(dv); +#endif +#if defined(GST_IOS_PLUGIN_FLAC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(flac); +#endif +#if defined(GST_IOS_PLUGIN_FLV) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(flv); +#endif +#if defined(GST_IOS_PLUGIN_FLXDEC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(flxdec); +#endif +#if defined(GST_IOS_PLUGIN_ICYDEMUX) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(icydemux); +#endif +#if defined(GST_IOS_PLUGIN_ID3DEMUX) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(id3demux); +#endif +#if defined(GST_IOS_PLUGIN_ISOMP4) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(isomp4); +#endif +#if defined(GST_IOS_PLUGIN_JPEG) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(jpeg); +#endif +#if defined(GST_IOS_PLUGIN_MATROSKA) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(matroska); +#endif +#if defined(GST_IOS_PLUGIN_MULAW) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(mulaw); +#endif +#if defined(GST_IOS_PLUGIN_MULTIPART) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(multipart); +#endif +#if defined(GST_IOS_PLUGIN_PNG) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(png); +#endif +#if defined(GST_IOS_PLUGIN_SPEEX) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(speex); +#endif +#if defined(GST_IOS_PLUGIN_TAGLIB) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(taglib); +#endif +#if defined(GST_IOS_PLUGIN_WAVENC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(wavenc); +#endif +#if defined(GST_IOS_PLUGIN_WAVPACK) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(wavpack); +#endif +#if defined(GST_IOS_PLUGIN_WAVPARSE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(wavparse); +#endif +#if defined(GST_IOS_PLUGIN_Y4MENC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(y4menc); +#endif +#if defined(GST_IOS_PLUGIN_ADPCMDEC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(adpcmdec); +#endif +#if defined(GST_IOS_PLUGIN_ADPCMENC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(adpcmenc); +#endif +#if defined(GST_IOS_PLUGIN_AIFF) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(aiff); +#endif +#if defined(GST_IOS_PLUGIN_CDXAPARSE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(cdxaparse); +#endif +#if defined(GST_IOS_PLUGIN_DCCP) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(dccp); +#endif +#if defined(GST_IOS_PLUGIN_DTMF) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(dtmf); +#endif +#if defined(GST_IOS_PLUGIN_DVBSUBOVERLAY) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(dvbsuboverlay); +#endif +#if defined(GST_IOS_PLUGIN_DVDSPU) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(dvdspu); +#endif +#if defined(GST_IOS_PLUGIN_FRAGMENTED) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(fragmented); +#endif +#if defined(GST_IOS_PLUGIN_HDVPARSE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(hdvparse); +#endif +#if defined(GST_IOS_PLUGIN_ID3TAG) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(id3tag); +#endif +#if defined(GST_IOS_PLUGIN_IVFPARSE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(ivfparse); +#endif +#if defined(GST_IOS_PLUGIN_JP2K) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(jp2k); +#endif +#if defined(GST_IOS_PLUGIN_KATE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(kate); +#endif +#if defined(GST_IOS_PLUGIN_MVE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(mve); +#endif +#if defined(GST_IOS_PLUGIN_MXF) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(mxf); +#endif +#if defined(GST_IOS_PLUGIN_NSF) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(nsf); +#endif +#if defined(GST_IOS_PLUGIN_NUVDEMUX) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(nuvdemux); +#endif +#if defined(GST_IOS_PLUGIN_OPUS) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(opus); +#endif +#if defined(GST_IOS_PLUGIN_PCAPPARSE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(pcapparse); +#endif +#if defined(GST_IOS_PLUGIN_PNM) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(pnm); +#endif +#if defined(GST_IOS_PLUGIN_SCHRO) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(schro); +#endif +#if defined(GST_IOS_PLUGIN_GSTSIREN) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(gstsiren); +#endif +#if defined(GST_IOS_PLUGIN_SUBENC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(subenc); +#endif +#if defined(GST_IOS_PLUGIN_TTA) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(tta); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOPARSERSBAD) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(videoparsersbad); +#endif +#if defined(GST_IOS_PLUGIN_VMNC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(vmnc); +#endif +#if defined(GST_IOS_PLUGIN_VP8) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(vp8); +#endif +#if defined(GST_IOS_PLUGIN_Y4MDEC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(y4mdec); +#endif +#if defined(GST_IOS_PLUGIN_TCP) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(tcp); +#endif +#if defined(GST_IOS_PLUGIN_RTSP) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(rtsp); +#endif +#if defined(GST_IOS_PLUGIN_RTP) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(rtp); +#endif +#if defined(GST_IOS_PLUGIN_GSTRTPMANAGER) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(gstrtpmanager); +#endif +#if defined(GST_IOS_PLUGIN_SOUP) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(soup); +#endif +#if defined(GST_IOS_PLUGIN_UDP) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(udp); +#endif +#if defined(GST_IOS_PLUGIN_DATAURISRC) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(dataurisrc); +#endif +#if defined(GST_IOS_PLUGIN_RTPMUX) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(rtpmux); +#endif +#if defined(GST_IOS_PLUGIN_RTPVP8) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(rtpvp8); +#endif +#if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(sdp); +#endif + +void +gst_ios_init (void) +{ + gst_init (NULL, NULL); + gst_debug_set_colored(FALSE); + gst_debug_set_default_threshold(GST_LEVEL_WARNING); + +#if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(coreelements); +#endif +#if defined(GST_IOS_PLUGIN_COREINDEXERS) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(coreindexers); +#endif +#if defined(GST_IOS_PLUGIN_ADDER) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(adder); +#endif +#if defined(GST_IOS_PLUGIN_APP) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(app); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOCONVERT) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(audioconvert); +#endif +#if defined(GST_IOS_PLUGIN_AUDIORATE) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(audiorate); +#endif +#if defined(GST_IOS_PLUGIN_AUDIORESAMPLE) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(audioresample); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOTESTSRC) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(audiotestsrc); +#endif +#if defined(GST_IOS_PLUGIN_FFMPEGCOLORSPACE) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(ffmpegcolorspace); +#endif +#if defined(GST_IOS_PLUGIN_GDP) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(gdp); +#endif +#if defined(GST_IOS_PLUGIN_GIO) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(gio); +#endif +#if defined(GST_IOS_PLUGIN_PANGO) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(pango); +#endif +#if defined(GST_IOS_PLUGIN_TYPEFINDFUNCTIONS) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(typefindfunctions); +#endif +#if defined(GST_IOS_PLUGIN_VIDEORATE) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(videorate); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOSCALE) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(videoscale); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOTESTSRC) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(videotestsrc); +#endif +#if defined(GST_IOS_PLUGIN_VOLUME) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(volume); +#endif +#if defined(GST_IOS_PLUGIN_AUTODETECT) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(autodetect); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOFILTER) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(videofilter); +#endif +#if defined(GST_IOS_PLUGIN_CAMERABIN2) || defined(GST_IOS_PLUGINS_CAPTURE) + GST_PLUGIN_STATIC_REGISTER(camerabin2); +#endif +#if defined(GST_IOS_PLUGIN_ASFMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(asfmux); +#endif +#if defined(GST_IOS_PLUGIN_DTSDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(dtsdec); +#endif +#if defined(GST_IOS_PLUGIN_FAAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(faad); +#endif +#if defined(GST_IOS_PLUGIN_MPEGDEMUX2) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mpegdemux2); +#endif +#if defined(GST_IOS_PLUGIN_MPEGPSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mpegpsmux); +#endif +#if defined(GST_IOS_PLUGIN_MPEGTSDEMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mpegtsdemux); +#endif +#if defined(GST_IOS_PLUGIN_MPEGTSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mpegtsmux); +#endif +#if defined(GST_IOS_PLUGIN_A52DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(a52dec); +#endif +#if defined(GST_IOS_PLUGIN_AMRNB) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(amrnb); +#endif +#if defined(GST_IOS_PLUGIN_AMRWBDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(amrwbdec); +#endif +#if defined(GST_IOS_PLUGIN_ASF) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(asf); +#endif +#if defined(GST_IOS_PLUGIN_MAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mad); +#endif +#if defined(GST_IOS_PLUGIN_MPEG2DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mpeg2dec); +#endif +#if defined(GST_IOS_PLUGIN_MPEGAUDIOPARSE) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mpegaudioparse); +#endif +#if defined(GST_IOS_PLUGIN_REALMEDIA) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(realmedia); +#endif +#if defined(GST_IOS_PLUGIN_X264) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(x264); +#endif +#if defined(GST_IOS_PLUGIN_FFMPEG) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(ffmpeg); +#endif +#if defined(GST_IOS_PLUGIN_ENCODING) || defined(GST_IOS_PLUGINS_ENCODING) + GST_PLUGIN_STATIC_REGISTER(encoding); +#endif +#if defined(GST_IOS_PLUGIN_INDVD) || defined(GST_IOS_PLUGINS_DVD) + GST_PLUGIN_STATIC_REGISTER(indvd); +#endif +#if defined(GST_IOS_PLUGIN_DVDLPCMDEC) || defined(GST_IOS_PLUGINS_DVD) + GST_PLUGIN_STATIC_REGISTER(dvdlpcmdec); +#endif +#if defined(GST_IOS_PLUGIN_DVDREAD) || defined(GST_IOS_PLUGINS_DVD) + GST_PLUGIN_STATIC_REGISTER(dvdread); +#endif +#if defined(GST_IOS_PLUGIN_ASSRENDER) || defined(GST_IOS_PLUGINS_CODECS_GPL) + GST_PLUGIN_STATIC_REGISTER(assrender); +#endif +#if defined(GST_IOS_PLUGIN_MMS) || defined(GST_IOS_PLUGINS_NET_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mms); +#endif +#if defined(GST_IOS_PLUGIN_OSXAUDIO) || defined(GST_IOS_PLUGINS_SYS) + GST_PLUGIN_STATIC_REGISTER(osxaudio); +#endif +#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) + GST_PLUGIN_STATIC_REGISTER(eglglessink); +#endif +#if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS) + GST_PLUGIN_STATIC_REGISTER(applemedia_nonpublic); +#endif +#if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) + GST_PLUGIN_STATIC_REGISTER(libvisual); +#endif +#if defined(GST_IOS_PLUGIN_GOOM) || defined(GST_IOS_PLUGINS_VIS) + GST_PLUGIN_STATIC_REGISTER(goom); +#endif +#if defined(GST_IOS_PLUGIN_GOOM2K1) || defined(GST_IOS_PLUGINS_VIS) + GST_PLUGIN_STATIC_REGISTER(goom2k1); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOVISUALIZERS) || defined(GST_IOS_PLUGINS_VIS) + GST_PLUGIN_STATIC_REGISTER(audiovisualizers); +#endif +#if defined(GST_IOS_PLUGIN_URIDECODEBIN) || defined(GST_IOS_PLUGINS_PLAYBACK) + GST_PLUGIN_STATIC_REGISTER(uridecodebin); +#endif +#if defined(GST_IOS_PLUGIN_PLAYBACK) || defined(GST_IOS_PLUGINS_PLAYBACK) + GST_PLUGIN_STATIC_REGISTER(playback); +#endif +#if defined(GST_IOS_PLUGIN_ALPHA) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(alpha); +#endif +#if defined(GST_IOS_PLUGIN_ALPHACOLOR) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(alphacolor); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOFX) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(audiofx); +#endif +#if defined(GST_IOS_PLUGIN_CAIRO) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(cairo); +#endif +#if defined(GST_IOS_PLUGIN_CUTTER) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(cutter); +#endif +#if defined(GST_IOS_PLUGIN_DEBUG) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(debug); +#endif +#if defined(GST_IOS_PLUGIN_DEINTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(deinterlace); +#endif +#if defined(GST_IOS_PLUGIN_EFFECTV) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(effectv); +#endif +#if defined(GST_IOS_PLUGIN_EQUALIZER) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(equalizer); +#endif +#if defined(GST_IOS_PLUGIN_GDKPIXBUF) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(gdkpixbuf); +#endif +#if defined(GST_IOS_PLUGIN_IMAGEFREEZE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(imagefreeze); +#endif +#if defined(GST_IOS_PLUGIN_INTERLEAVE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(interleave); +#endif +#if defined(GST_IOS_PLUGIN_LEVEL) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(level); +#endif +#if defined(GST_IOS_PLUGIN_MULTIFILE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(multifile); +#endif +#if defined(GST_IOS_PLUGIN_REPLAYGAIN) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(replaygain); +#endif +#if defined(GST_IOS_PLUGIN_SHAPEWIPE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(shapewipe); +#endif +#if defined(GST_IOS_PLUGIN_SMPTE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(smpte); +#endif +#if defined(GST_IOS_PLUGIN_SPECTRUM) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(spectrum); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOBOX) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(videobox); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOCROP) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(videocrop); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOMIXER) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(videomixer); +#endif +#if defined(GST_IOS_PLUGIN_AUTOCONVERT) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(autoconvert); +#endif +#if defined(GST_IOS_PLUGIN_BAYER) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(bayer); +#endif +#if defined(GST_IOS_PLUGIN_COLOREFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(coloreffects); +#endif +#if defined(GST_IOS_PLUGIN_FACEOVERLAY) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(faceoverlay); +#endif +#if defined(GST_IOS_PLUGIN_FIELDANALYSIS) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(fieldanalysis); +#endif +#if defined(GST_IOS_PLUGIN_FREEVERB) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(freeverb); +#endif +#if defined(GST_IOS_PLUGIN_FREI0R) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(frei0r); +#endif +#if defined(GST_IOS_PLUGIN_GAUDIEFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(gaudieffects); +#endif +#if defined(GST_IOS_PLUGIN_GEOMETRICTRANSFORM) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(geometrictransform); +#endif +#if defined(GST_IOS_PLUGIN_INTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(interlace); +#endif +#if defined(GST_IOS_PLUGIN_JP2KDECIMATOR) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(jp2kdecimator); +#endif +#if defined(GST_IOS_PLUGIN_LIVEADDER) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(liveadder); +#endif +#if defined(GST_IOS_PLUGIN_RAWPARSE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(rawparse); +#endif +#if defined(GST_IOS_PLUGIN_REMOVESILENCE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(removesilence); +#endif +#if defined(GST_IOS_PLUGIN_SCALETEMPO) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(scaletempo); +#endif +#if defined(GST_IOS_PLUGIN_SEGMENTCLIP) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(segmentclip); +#endif +#if defined(GST_IOS_PLUGIN_SMOOTH) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(smooth); +#endif +#if defined(GST_IOS_PLUGIN_SOUNDTOUCH) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(soundtouch); +#endif +#if defined(GST_IOS_PLUGIN_SPEED) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(speed); +#endif +#if defined(GST_IOS_PLUGIN_STEREO) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(stereo); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOFILTERSBAD) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(videofiltersbad); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOMEASURE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(videomeasure); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOSIGNAL) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(videosignal); +#endif +#if defined(GST_IOS_PLUGIN_SUBPARSE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(subparse); +#endif +#if defined(GST_IOS_PLUGIN_OGG) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(ogg); +#endif +#if defined(GST_IOS_PLUGIN_THEORA) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(theora); +#endif +#if defined(GST_IOS_PLUGIN_VORBIS) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(vorbis); +#endif +#if defined(GST_IOS_PLUGIN_IVORBISDEC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(ivorbisdec); +#endif +#if defined(GST_IOS_PLUGIN_ALAW) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(alaw); +#endif +#if defined(GST_IOS_PLUGIN_ANNODEX) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(annodex); +#endif +#if defined(GST_IOS_PLUGIN_APETAG) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(apetag); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOPARSERS) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(audioparsers); +#endif +#if defined(GST_IOS_PLUGIN_AUPARSE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(auparse); +#endif +#if defined(GST_IOS_PLUGIN_AVI) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(avi); +#endif +#if defined(GST_IOS_PLUGIN_DV) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(dv); +#endif +#if defined(GST_IOS_PLUGIN_FLAC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(flac); +#endif +#if defined(GST_IOS_PLUGIN_FLV) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(flv); +#endif +#if defined(GST_IOS_PLUGIN_FLXDEC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(flxdec); +#endif +#if defined(GST_IOS_PLUGIN_ICYDEMUX) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(icydemux); +#endif +#if defined(GST_IOS_PLUGIN_ID3DEMUX) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(id3demux); +#endif +#if defined(GST_IOS_PLUGIN_ISOMP4) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(isomp4); +#endif +#if defined(GST_IOS_PLUGIN_JPEG) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(jpeg); +#endif +#if defined(GST_IOS_PLUGIN_MATROSKA) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(matroska); +#endif +#if defined(GST_IOS_PLUGIN_MULAW) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(mulaw); +#endif +#if defined(GST_IOS_PLUGIN_MULTIPART) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(multipart); +#endif +#if defined(GST_IOS_PLUGIN_PNG) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(png); +#endif +#if defined(GST_IOS_PLUGIN_SPEEX) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(speex); +#endif +#if defined(GST_IOS_PLUGIN_TAGLIB) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(taglib); +#endif +#if defined(GST_IOS_PLUGIN_WAVENC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(wavenc); +#endif +#if defined(GST_IOS_PLUGIN_WAVPACK) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(wavpack); +#endif +#if defined(GST_IOS_PLUGIN_WAVPARSE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(wavparse); +#endif +#if defined(GST_IOS_PLUGIN_Y4MENC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(y4menc); +#endif +#if defined(GST_IOS_PLUGIN_ADPCMDEC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(adpcmdec); +#endif +#if defined(GST_IOS_PLUGIN_ADPCMENC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(adpcmenc); +#endif +#if defined(GST_IOS_PLUGIN_AIFF) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(aiff); +#endif +#if defined(GST_IOS_PLUGIN_CDXAPARSE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(cdxaparse); +#endif +#if defined(GST_IOS_PLUGIN_DCCP) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(dccp); +#endif +#if defined(GST_IOS_PLUGIN_DTMF) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(dtmf); +#endif +#if defined(GST_IOS_PLUGIN_DVBSUBOVERLAY) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(dvbsuboverlay); +#endif +#if defined(GST_IOS_PLUGIN_DVDSPU) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(dvdspu); +#endif +#if defined(GST_IOS_PLUGIN_FRAGMENTED) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(fragmented); +#endif +#if defined(GST_IOS_PLUGIN_HDVPARSE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(hdvparse); +#endif +#if defined(GST_IOS_PLUGIN_ID3TAG) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(id3tag); +#endif +#if defined(GST_IOS_PLUGIN_IVFPARSE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(ivfparse); +#endif +#if defined(GST_IOS_PLUGIN_JP2K) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(jp2k); +#endif +#if defined(GST_IOS_PLUGIN_KATE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(kate); +#endif +#if defined(GST_IOS_PLUGIN_MVE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(mve); +#endif +#if defined(GST_IOS_PLUGIN_MXF) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(mxf); +#endif +#if defined(GST_IOS_PLUGIN_NSF) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(nsf); +#endif +#if defined(GST_IOS_PLUGIN_NUVDEMUX) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(nuvdemux); +#endif +#if defined(GST_IOS_PLUGIN_OPUS) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(opus); +#endif +#if defined(GST_IOS_PLUGIN_PCAPPARSE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(pcapparse); +#endif +#if defined(GST_IOS_PLUGIN_PNM) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(pnm); +#endif +#if defined(GST_IOS_PLUGIN_SCHRO) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(schro); +#endif +#if defined(GST_IOS_PLUGIN_GSTSIREN) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(gstsiren); +#endif +#if defined(GST_IOS_PLUGIN_SUBENC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(subenc); +#endif +#if defined(GST_IOS_PLUGIN_TTA) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(tta); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOPARSERSBAD) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(videoparsersbad); +#endif +#if defined(GST_IOS_PLUGIN_VMNC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(vmnc); +#endif +#if defined(GST_IOS_PLUGIN_VP8) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(vp8); +#endif +#if defined(GST_IOS_PLUGIN_Y4MDEC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(y4mdec); +#endif +#if defined(GST_IOS_PLUGIN_TCP) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(tcp); +#endif +#if defined(GST_IOS_PLUGIN_RTSP) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(rtsp); +#endif +#if defined(GST_IOS_PLUGIN_RTP) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(rtp); +#endif +#if defined(GST_IOS_PLUGIN_GSTRTPMANAGER) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(gstrtpmanager); +#endif +#if defined(GST_IOS_PLUGIN_SOUP) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(soup); +#endif +#if defined(GST_IOS_PLUGIN_UDP) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(udp); +#endif +#if defined(GST_IOS_PLUGIN_DATAURISRC) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(dataurisrc); +#endif +#if defined(GST_IOS_PLUGIN_RTPMUX) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(rtpmux); +#endif +#if defined(GST_IOS_PLUGIN_RTPVP8) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(rtpvp8); +#endif +#if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(sdp); +#endif +} diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.h b/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.h new file mode 100644 index 0000000000..d60c3377bc --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.h @@ -0,0 +1,25 @@ +#ifndef __GST_IOS_INIT_H__ +#define __GST_IOS_INIT_H__ + +#include + +/* Uncomment each line to enable the plugin categories that your application needs. + * You can also enable individual plugins. See gst_ios_init.c to see their names + */ +#define GST_IOS_PLUGINS_CORE +//#define GST_IOS_PLUGINS_CAPTURE +//#define GST_IOS_PLUGINS_CODECS_RESTRICTED +//#define GST_IOS_PLUGINS_ENCODING +//#define GST_IOS_PLUGINS_DVD +//#define GST_IOS_PLUGINS_CODECS_GPL +//#define GST_IOS_PLUGINS_NET_RESTRICTED +#define GST_IOS_PLUGINS_SYS +//#define GST_IOS_PLUGINS_VIS +#define GST_IOS_PLUGINS_PLAYBACK +#define GST_IOS_PLUGINS_EFFECTS +//#define GST_IOS_PLUGINS_CODECS +//#define GST_IOS_PLUGINS_NET + +void gst_ios_init (); + +#endif diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/main.m b/gst-sdk/tutorials/xcode iOS/Tutorial 4/main.m new file mode 100644 index 0000000000..3ca35079fb --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/main.m @@ -0,0 +1,13 @@ + +#import + +#import "AppDelegate.h" +#include "gst_ios_init.h" + +int main(int argc, char *argv[]) +{ + @autoreleasepool { + gst_ios_init(); + return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); + } +} From 217845f35d7379ba5bb8042bc8f8e86d12b8c8c5 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 10 May 2013 11:32:25 +0200 Subject: [PATCH 290/979] Remove autogenerated copyright notices and some whitespace. --- gst-sdk/tutorials/xcode iOS/Tutorial 2/main.m | 1 - .../xcode iOS/Tutorial 3/EaglUIVIew.h | 44 ------------------- .../xcode iOS/Tutorial 3/EaglUIVIew.m | 44 ------------------- gst-sdk/tutorials/xcode iOS/Tutorial 3/main.m | 1 - .../xcode iOS/Tutorial 4/AppDelegate.h | 8 ---- .../xcode iOS/Tutorial 4/AppDelegate.m | 8 ---- .../xcode iOS/Tutorial 4/EaglUIVIew.h | 44 ------------------- .../xcode iOS/Tutorial 4/EaglUIVIew.m | 44 ------------------- gst-sdk/tutorials/xcode iOS/Tutorial 4/main.m | 1 - 9 files changed, 195 deletions(-) diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/main.m b/gst-sdk/tutorials/xcode iOS/Tutorial 2/main.m index 3ca35079fb..6cf4e0f612 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 2/main.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/main.m @@ -1,4 +1,3 @@ - #import #import "AppDelegate.h" diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 3/EaglUIVIew.h b/gst-sdk/tutorials/xcode iOS/Tutorial 3/EaglUIVIew.h index 01700b59ff..ac4e79800b 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 3/EaglUIVIew.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 3/EaglUIVIew.h @@ -1,47 +1,3 @@ -/* - * GStreamer Player demo app for IOS - * Copyright (C) 2013 Collabora Ltd. - * @author: Thiago Santos - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Alternatively, the contents of this file may be used under the - * GNU Lesser General Public License Version 2.1 (the "LGPL"), in - * which case the following provisions apply instead of the ones - * mentioned above: - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - #import #import #include diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 3/EaglUIVIew.m b/gst-sdk/tutorials/xcode iOS/Tutorial 3/EaglUIVIew.m index f1bcfe7bb1..91cdd9dcf8 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 3/EaglUIVIew.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 3/EaglUIVIew.m @@ -1,47 +1,3 @@ -/* - * GStreamer Player demo app for IOS - * Copyright (C) 2013 Collabora Ltd. - * @author: Thiago Santos - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Alternatively, the contents of this file may be used under the - * GNU Lesser General Public License Version 2.1 (the "LGPL"), in - * which case the following provisions apply instead of the ones - * mentioned above: - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - #import "EaglUIVIew.h" #import diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 3/main.m b/gst-sdk/tutorials/xcode iOS/Tutorial 3/main.m index 3ca35079fb..6cf4e0f612 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 3/main.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 3/main.m @@ -1,4 +1,3 @@ - #import #import "AppDelegate.h" diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/AppDelegate.h b/gst-sdk/tutorials/xcode iOS/Tutorial 4/AppDelegate.h index e6762d68bc..a5a8b38522 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/AppDelegate.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/AppDelegate.h @@ -1,11 +1,3 @@ -// -// AppDelegate.h -// Tutorial 4 -// -// Created by Xavi Artigas on 5/9/13. -// -// - #import @interface AppDelegate : UIResponder diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/AppDelegate.m b/gst-sdk/tutorials/xcode iOS/Tutorial 4/AppDelegate.m index 643f794ac3..31ef04ed4d 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/AppDelegate.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/AppDelegate.m @@ -1,11 +1,3 @@ -// -// AppDelegate.m -// Tutorial 4 -// -// Created by Xavi Artigas on 5/9/13. -// -// - #import "AppDelegate.h" @implementation AppDelegate diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/EaglUIVIew.h b/gst-sdk/tutorials/xcode iOS/Tutorial 4/EaglUIVIew.h index 01700b59ff..ac4e79800b 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/EaglUIVIew.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/EaglUIVIew.h @@ -1,47 +1,3 @@ -/* - * GStreamer Player demo app for IOS - * Copyright (C) 2013 Collabora Ltd. - * @author: Thiago Santos - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Alternatively, the contents of this file may be used under the - * GNU Lesser General Public License Version 2.1 (the "LGPL"), in - * which case the following provisions apply instead of the ones - * mentioned above: - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - #import #import #include diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/EaglUIVIew.m b/gst-sdk/tutorials/xcode iOS/Tutorial 4/EaglUIVIew.m index f1bcfe7bb1..91cdd9dcf8 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/EaglUIVIew.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/EaglUIVIew.m @@ -1,47 +1,3 @@ -/* - * GStreamer Player demo app for IOS - * Copyright (C) 2013 Collabora Ltd. - * @author: Thiago Santos - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Alternatively, the contents of this file may be used under the - * GNU Lesser General Public License Version 2.1 (the "LGPL"), in - * which case the following provisions apply instead of the ones - * mentioned above: - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - #import "EaglUIVIew.h" #import diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/main.m b/gst-sdk/tutorials/xcode iOS/Tutorial 4/main.m index 3ca35079fb..6cf4e0f612 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/main.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/main.m @@ -1,4 +1,3 @@ - #import #import "AppDelegate.h" From 4bd417f3398d2647b9a7598631e21065685e9463 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Mon, 13 May 2013 10:36:29 +0200 Subject: [PATCH 291/979] Adapt tutorial code to new xcode ios templates --- .../xcode iOS/Tutorial 1/gst_ios_init.c | 15 ++++++++++++++- .../xcode iOS/Tutorial 1/gst_ios_init.h | 5 +++++ .../xcode iOS/Tutorial 2/gst_ios_init.c | 17 ++++++++++++++--- .../xcode iOS/Tutorial 2/gst_ios_init.h | 5 +++++ .../xcode iOS/Tutorial 3/gst_ios_init.c | 17 ++++++++++++++--- .../xcode iOS/Tutorial 3/gst_ios_init.h | 5 +++++ .../xcode iOS/Tutorial 4/gst_ios_init.c | 17 ++++++++++++++--- .../xcode iOS/Tutorial 4/gst_ios_init.h | 5 +++++ 8 files changed, 76 insertions(+), 10 deletions(-) diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 1/gst_ios_init.c b/gst-sdk/tutorials/xcode iOS/Tutorial 1/gst_ios_init.c index 9ece9ab027..e60564a570 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 1/gst_ios_init.c +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 1/gst_ios_init.c @@ -496,7 +496,10 @@ GST_PLUGIN_STATIC_DECLARE(sdp); void gst_ios_init (void) { - gst_init (NULL, NULL); + GstPluginFeature *plugin; + GstRegistry *reg; + + gst_init (NULL, NULL); #if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(coreelements); @@ -990,4 +993,14 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(sdp); #endif + + /* Lower the ranks of filesrc and giosrc so iosavassetsrc is + * tried first in gst_element_make_from_uri() for file:// */ + reg = gst_registry_get_default(); + plugin = gst_registry_lookup_feature(reg, "filesrc"); + if (plugin) + gst_plugin_feature_set_rank(plugin, GST_RANK_SECONDARY); + plugin = gst_registry_lookup_feature(reg, "giosrc"); + if (plugin) + gst_plugin_feature_set_rank(plugin, GST_RANK_SECONDARY-1); } diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 1/gst_ios_init.h b/gst-sdk/tutorials/xcode iOS/Tutorial 1/gst_ios_init.h index ce2fef0265..b47fa662b4 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 1/gst_ios_init.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 1/gst_ios_init.h @@ -3,9 +3,12 @@ #include +G_BEGIN_DECLS + /* Uncomment each line to enable the plugin categories that your application needs. * You can also enable individual plugins. See gst_ios_init.c to see their names */ + #define GST_IOS_PLUGINS_CORE //#define GST_IOS_PLUGINS_CAPTURE //#define GST_IOS_PLUGINS_CODECS_RESTRICTED @@ -22,4 +25,6 @@ void gst_ios_init (); +G_END_DECLS + #endif diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.c b/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.c index cffa57e65c..e60564a570 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.c +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.c @@ -496,9 +496,10 @@ GST_PLUGIN_STATIC_DECLARE(sdp); void gst_ios_init (void) { - gst_init (NULL, NULL); - gst_debug_set_colored(FALSE); - gst_debug_set_default_threshold(GST_LEVEL_WARNING); + GstPluginFeature *plugin; + GstRegistry *reg; + + gst_init (NULL, NULL); #if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(coreelements); @@ -992,4 +993,14 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(sdp); #endif + + /* Lower the ranks of filesrc and giosrc so iosavassetsrc is + * tried first in gst_element_make_from_uri() for file:// */ + reg = gst_registry_get_default(); + plugin = gst_registry_lookup_feature(reg, "filesrc"); + if (plugin) + gst_plugin_feature_set_rank(plugin, GST_RANK_SECONDARY); + plugin = gst_registry_lookup_feature(reg, "giosrc"); + if (plugin) + gst_plugin_feature_set_rank(plugin, GST_RANK_SECONDARY-1); } diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.h b/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.h index 7b8e0133d7..eefb1947f2 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.h @@ -3,9 +3,12 @@ #include +G_BEGIN_DECLS + /* Uncomment each line to enable the plugin categories that your application needs. * You can also enable individual plugins. See gst_ios_init.c to see their names */ + #define GST_IOS_PLUGINS_CORE //#define GST_IOS_PLUGINS_CAPTURE //#define GST_IOS_PLUGINS_CODECS_RESTRICTED @@ -22,4 +25,6 @@ void gst_ios_init (); +G_END_DECLS + #endif diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.c b/gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.c index cffa57e65c..e60564a570 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.c +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.c @@ -496,9 +496,10 @@ GST_PLUGIN_STATIC_DECLARE(sdp); void gst_ios_init (void) { - gst_init (NULL, NULL); - gst_debug_set_colored(FALSE); - gst_debug_set_default_threshold(GST_LEVEL_WARNING); + GstPluginFeature *plugin; + GstRegistry *reg; + + gst_init (NULL, NULL); #if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(coreelements); @@ -992,4 +993,14 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(sdp); #endif + + /* Lower the ranks of filesrc and giosrc so iosavassetsrc is + * tried first in gst_element_make_from_uri() for file:// */ + reg = gst_registry_get_default(); + plugin = gst_registry_lookup_feature(reg, "filesrc"); + if (plugin) + gst_plugin_feature_set_rank(plugin, GST_RANK_SECONDARY); + plugin = gst_registry_lookup_feature(reg, "giosrc"); + if (plugin) + gst_plugin_feature_set_rank(plugin, GST_RANK_SECONDARY-1); } diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.h b/gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.h index d60c3377bc..3e3406ef56 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.h @@ -3,9 +3,12 @@ #include +G_BEGIN_DECLS + /* Uncomment each line to enable the plugin categories that your application needs. * You can also enable individual plugins. See gst_ios_init.c to see their names */ + #define GST_IOS_PLUGINS_CORE //#define GST_IOS_PLUGINS_CAPTURE //#define GST_IOS_PLUGINS_CODECS_RESTRICTED @@ -22,4 +25,6 @@ void gst_ios_init (); +G_END_DECLS + #endif diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.c b/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.c index cffa57e65c..e60564a570 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.c +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.c @@ -496,9 +496,10 @@ GST_PLUGIN_STATIC_DECLARE(sdp); void gst_ios_init (void) { - gst_init (NULL, NULL); - gst_debug_set_colored(FALSE); - gst_debug_set_default_threshold(GST_LEVEL_WARNING); + GstPluginFeature *plugin; + GstRegistry *reg; + + gst_init (NULL, NULL); #if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(coreelements); @@ -992,4 +993,14 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(sdp); #endif + + /* Lower the ranks of filesrc and giosrc so iosavassetsrc is + * tried first in gst_element_make_from_uri() for file:// */ + reg = gst_registry_get_default(); + plugin = gst_registry_lookup_feature(reg, "filesrc"); + if (plugin) + gst_plugin_feature_set_rank(plugin, GST_RANK_SECONDARY); + plugin = gst_registry_lookup_feature(reg, "giosrc"); + if (plugin) + gst_plugin_feature_set_rank(plugin, GST_RANK_SECONDARY-1); } diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.h b/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.h index d60c3377bc..3e3406ef56 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.h @@ -3,9 +3,12 @@ #include +G_BEGIN_DECLS + /* Uncomment each line to enable the plugin categories that your application needs. * You can also enable individual plugins. See gst_ios_init.c to see their names */ + #define GST_IOS_PLUGINS_CORE //#define GST_IOS_PLUGINS_CAPTURE //#define GST_IOS_PLUGINS_CODECS_RESTRICTED @@ -22,4 +25,6 @@ void gst_ios_init (); +G_END_DECLS + #endif From 4ae44f9e1c1343b5f720cab24bb6f8bca9f01bd0 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 14 May 2013 17:11:05 +0200 Subject: [PATCH 292/979] Initial iOS Tutorial 4, already working. No seek bar yet. iPhone storyboard missing. External files can be played if they are copied into the application through iTunes file sharing. --- .../project.pbxproj | 20 ++-- .../xcode iOS/Tutorial 4/GStreamerBackend.h | 8 ++ .../xcode iOS/Tutorial 4/GStreamerBackend.m | 30 ++--- .../Tutorial 4/LibraryViewController.h | 11 ++ .../Tutorial 4/LibraryViewController.m | 106 ++++++++++++++++++ .../Tutorial 4/Tutorial 4-Info.plist | 2 + ...ViewController.h => VideoViewController.h} | 4 +- ...ViewController.m => VideoViewController.m} | 17 ++- .../en.lproj/MainStoryboard_iPad.storyboard | 87 ++++++++++++-- .../xcode iOS/Tutorial 4/gst_ios_init.h | 10 +- 10 files changed, 259 insertions(+), 36 deletions(-) create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 4/LibraryViewController.h create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 4/LibraryViewController.m rename gst-sdk/tutorials/xcode iOS/Tutorial 4/{ViewController.h => VideoViewController.h} (81%) rename gst-sdk/tutorials/xcode iOS/Tutorial 4/{ViewController.m => VideoViewController.m} (87%) diff --git a/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj b/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj index 061137bd97..85889fe4a7 100644 --- a/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj +++ b/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj @@ -76,7 +76,7 @@ C6EB8597173BEE5E00C3953D /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C6EB8596173BEE5E00C3953D /* Default-568h@2x.png */; }; C6EB859A173BEE5E00C3953D /* MainStoryboard_iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C6EB8598173BEE5E00C3953D /* MainStoryboard_iPhone.storyboard */; }; C6EB859D173BEE5E00C3953D /* MainStoryboard_iPad.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C6EB859B173BEE5E00C3953D /* MainStoryboard_iPad.storyboard */; }; - C6EB85A0173BEE5E00C3953D /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C6EB859F173BEE5E00C3953D /* ViewController.m */; }; + C6EB85A0173BEE5E00C3953D /* VideoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C6EB859F173BEE5E00C3953D /* VideoViewController.m */; }; C6EB85B1173BEF2600C3953D /* EaglUIVIew.m in Sources */ = {isa = PBXBuildFile; fileRef = C6EB85AB173BEF2600C3953D /* EaglUIVIew.m */; }; C6EB85B2173BEF2600C3953D /* gst_ios_init.c in Sources */ = {isa = PBXBuildFile; fileRef = C6EB85AC173BEF2600C3953D /* gst_ios_init.c */; }; C6EB85B3173BEF2600C3953D /* GStreamerBackend.m in Sources */ = {isa = PBXBuildFile; fileRef = C6EB85AF173BEF2600C3953D /* GStreamerBackend.m */; }; @@ -84,6 +84,7 @@ C6EB85BA173BEFF800C3953D /* appicon-4-iPad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C6EB85B6173BEFF800C3953D /* appicon-4-iPad@2x.png */; }; C6EB85BB173BEFF800C3953D /* appicon-4-iPhone.png in Resources */ = {isa = PBXBuildFile; fileRef = C6EB85B7173BEFF800C3953D /* appicon-4-iPhone.png */; }; C6EB85BC173BEFF800C3953D /* appicon-4-iPhone@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C6EB85B8173BEFF800C3953D /* appicon-4-iPhone@2x.png */; }; + C6EB85C7174233B400C3953D /* LibraryViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C6EB85C6174233B300C3953D /* LibraryViewController.m */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -173,11 +174,11 @@ C6EB8596173BEE5E00C3953D /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; C6EB8599173BEE5E00C3953D /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/MainStoryboard_iPhone.storyboard; sourceTree = ""; }; C6EB859C173BEE5E00C3953D /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/MainStoryboard_iPad.storyboard; sourceTree = ""; }; - C6EB859E173BEE5E00C3953D /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; - C6EB859F173BEE5E00C3953D /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; + C6EB859E173BEE5E00C3953D /* VideoViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VideoViewController.h; sourceTree = ""; }; + C6EB859F173BEE5E00C3953D /* VideoViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VideoViewController.m; sourceTree = ""; }; C6EB85AA173BEF2600C3953D /* EaglUIVIew.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EaglUIVIew.h; sourceTree = ""; }; C6EB85AB173BEF2600C3953D /* EaglUIVIew.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EaglUIVIew.m; sourceTree = ""; }; - C6EB85AC173BEF2600C3953D /* gst_ios_init.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = gst_ios_init.c; sourceTree = ""; }; + C6EB85AC173BEF2600C3953D /* gst_ios_init.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.c; path = gst_ios_init.c; sourceTree = ""; tabWidth = 2; }; C6EB85AD173BEF2600C3953D /* gst_ios_init.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gst_ios_init.h; sourceTree = ""; }; C6EB85AE173BEF2600C3953D /* GStreamerBackend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GStreamerBackend.h; sourceTree = ""; }; C6EB85AF173BEF2600C3953D /* GStreamerBackend.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GStreamerBackend.m; sourceTree = ""; }; @@ -186,6 +187,8 @@ C6EB85B6173BEFF800C3953D /* appicon-4-iPad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-4-iPad@2x.png"; sourceTree = ""; }; C6EB85B7173BEFF800C3953D /* appicon-4-iPhone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-4-iPhone.png"; sourceTree = ""; }; C6EB85B8173BEFF800C3953D /* appicon-4-iPhone@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-4-iPhone@2x.png"; sourceTree = ""; }; + C6EB85C5174233B200C3953D /* LibraryViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LibraryViewController.h; sourceTree = ""; }; + C6EB85C6174233B300C3953D /* LibraryViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LibraryViewController.m; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -418,8 +421,10 @@ C6EB8590173BEE5E00C3953D /* AppDelegate.m */, C6EB8598173BEE5E00C3953D /* MainStoryboard_iPhone.storyboard */, C6EB859B173BEE5E00C3953D /* MainStoryboard_iPad.storyboard */, - C6EB859E173BEE5E00C3953D /* ViewController.h */, - C6EB859F173BEE5E00C3953D /* ViewController.m */, + C6EB85C5174233B200C3953D /* LibraryViewController.h */, + C6EB85C6174233B300C3953D /* LibraryViewController.m */, + C6EB859E173BEE5E00C3953D /* VideoViewController.h */, + C6EB859F173BEE5E00C3953D /* VideoViewController.m */, C6EB8587173BEE5E00C3953D /* Supporting Files */, ); path = "Tutorial 4"; @@ -666,10 +671,11 @@ files = ( C6EB858D173BEE5E00C3953D /* main.m in Sources */, C6EB8591173BEE5E00C3953D /* AppDelegate.m in Sources */, - C6EB85A0173BEE5E00C3953D /* ViewController.m in Sources */, + C6EB85A0173BEE5E00C3953D /* VideoViewController.m in Sources */, C6EB85B1173BEF2600C3953D /* EaglUIVIew.m in Sources */, C6EB85B2173BEF2600C3953D /* gst_ios_init.c in Sources */, C6EB85B3173BEF2600C3953D /* GStreamerBackend.m in Sources */, + C6EB85C7174233B400C3953D /* LibraryViewController.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.h b/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.h index a23c4cefe6..1fe4853152 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.h @@ -8,10 +8,18 @@ * Pass also the UIView object that will hold the video window. */ -(id) init:(id) uiDelegate videoView:(UIView*) video_view; +/* Quit the main loop and free all resources, including the pipeline and + * the references to the ui delegate and the UIView used for rendering, so + * these objects can be deallocated. */ +-(void) deinit; + /* Set the pipeline to PLAYING */ -(void) play; /* Set the pipeline to PAUSED */ -(void) pause; +/* Set the URI to be played */ +-(void) setUri:(NSString*)uri; + @end \ No newline at end of file diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m b/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m index 8adceac8be..b15ef43b0b 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m @@ -45,28 +45,28 @@ GST_DEBUG_CATEGORY_STATIC (debug_category); return self; } --(void) dealloc +-(void) deinit { - if (pipeline) { - GST_DEBUG("Setting the pipeline to NULL"); - gst_element_set_state(pipeline, GST_STATE_NULL); - gst_object_unref(pipeline); - pipeline = NULL; + if (main_loop) { + g_main_loop_quit(main_loop); } } -(void) play { - if(gst_element_set_state(pipeline, GST_STATE_PLAYING) == GST_STATE_CHANGE_FAILURE) { - [self setUIMessage:"Failed to set pipeline to playing"]; - } + gst_element_set_state(pipeline, GST_STATE_PLAYING); } -(void) pause { - if(gst_element_set_state(pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_FAILURE) { - [self setUIMessage:"Failed to set pipeline to paused"]; - } + gst_element_set_state(pipeline, GST_STATE_PAUSED); +} + +-(void) setUri:(NSString*)uri +{ + const char *char_uri = [uri UTF8String]; + g_object_set(pipeline, "uri", char_uri, NULL); + GST_DEBUG ("URI set to %s", char_uri); } /* @@ -140,7 +140,7 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *se g_main_context_push_thread_default(context); /* Build pipeline */ - pipeline = gst_parse_launch("videotestsrc ! warptv ! ffmpegcolorspace ! autovideosink", &error); + pipeline = gst_parse_launch("playbin2", &error); if (error) { gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message); g_clear_error (&error); @@ -183,7 +183,11 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *se g_main_context_unref (context); gst_element_set_state (pipeline, GST_STATE_NULL); gst_object_unref (pipeline); + pipeline = NULL; + ui_delegate = NULL; + ui_video_view = NULL; + return; } diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/LibraryViewController.h b/gst-sdk/tutorials/xcode iOS/Tutorial 4/LibraryViewController.h new file mode 100644 index 0000000000..db18bfaf2c --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/LibraryViewController.h @@ -0,0 +1,11 @@ +#import + +@interface LibraryViewController : UITableViewController +{ + NSArray *mediaEntries; + NSArray *onlineEntries; +} + +- (IBAction)refresh:(id)sender; + +@end diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/LibraryViewController.m b/gst-sdk/tutorials/xcode iOS/Tutorial 4/LibraryViewController.m new file mode 100644 index 0000000000..faa57eccdf --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/LibraryViewController.m @@ -0,0 +1,106 @@ +#import "LibraryViewController.h" +#import "VideoViewController.h" + +@interface LibraryViewController () + +@end + +@implementation LibraryViewController + +- (void)viewDidLoad +{ + [super viewDidLoad]; + [super setTitle:@"Library"]; + [self refreshMediaItems]; +} + +- (IBAction)refresh:(id)sender +{ + [self refreshMediaItems]; + [self.tableView reloadData]; +} + +static NSString *CellIdentifier = @"CellIdentifier"; + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { + return 2; +} + +- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section +{ + switch (section) + { + case 0: return @"Local files (iTunes file sharing)"; + default: return @"Online files"; + } +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { + switch (section) { + case 0: + return [self->mediaEntries count]; + case 1: + return [self->onlineEntries count]; + default: + return 0; + } +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { + UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; + // Configure Cell + UILabel *title = (UILabel *)[cell.contentView viewWithTag:10]; + UILabel *subtitle = (UILabel *)[cell.contentView viewWithTag:11]; + + if(indexPath.section == 0) + { + subtitle.text = [NSString stringWithFormat:@"file://%@", + [self->mediaEntries objectAtIndex:indexPath.item], nil]; + } else if (indexPath.section == 1) + { + subtitle.text = [self->onlineEntries objectAtIndex:indexPath.item]; + } + + NSArray *components = [subtitle.text pathComponents]; + title.text = components.lastObject; + + return cell; +} + +- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { + return NO; +} + +- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath { + return NO; +} + +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + if ([segue.identifier isEqualToString:@"playVideo"]) { + NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow]; + VideoViewController *destViewController = segue.destinationViewController; + UITableViewCell *cell = [[self tableView] cellForRowAtIndexPath:indexPath]; + UILabel *label = (UILabel *)[cell.contentView viewWithTag:10]; + destViewController.title = label.text; + label = (UILabel *)[cell.contentView viewWithTag:11]; + destViewController.uri = label.text; + } +} + +- (void)refreshMediaItems { + NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSAllDomainsMask, YES); + NSString *docsPath = [paths objectAtIndex:0]; + + NSMutableArray *entries = [[NSMutableArray alloc] init]; + for (NSString *e in [[NSFileManager defaultManager] contentsOfDirectoryAtPath:docsPath error:nil]) + { + [entries addObject:[NSString stringWithFormat:@"%@/%@",docsPath, e]]; + } + self->mediaEntries = entries; + self->onlineEntries = [NSArray arrayWithObjects: + @"http://docs.gstreamer.com/media/sintel_trailer-368p.ogv", + @"http://download.blender.org/peach/bigbuckbunny_movies/BigBuckBunny_640x360.m4v", + nil]; +} + +@end diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/Tutorial 4-Info.plist b/gst-sdk/tutorials/xcode iOS/Tutorial 4/Tutorial 4-Info.plist index 68ea7113ae..548df055de 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/Tutorial 4-Info.plist +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/Tutorial 4-Info.plist @@ -37,6 +37,8 @@ 1.0 LSRequiresIPhoneOS + UIFileSharingEnabled + UIMainStoryboardFile MainStoryboard_iPhone UIMainStoryboardFile~ipad diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/ViewController.h b/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.h similarity index 81% rename from gst-sdk/tutorials/xcode iOS/Tutorial 4/ViewController.h rename to gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.h index 677f65bc25..37064f1541 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/ViewController.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.h @@ -1,7 +1,7 @@ #import #import "GStreamerBackendDelegate.h" -@interface ViewController : UIViewController { +@interface VideoViewController : UIViewController { IBOutlet UILabel *message_label; IBOutlet UIBarButtonItem *play_button; IBOutlet UIBarButtonItem *pause_button; @@ -11,6 +11,8 @@ IBOutlet NSLayoutConstraint *video_height_constraint; } +@property (retain,nonatomic) NSString *uri; + -(IBAction) play:(id)sender; -(IBAction) pause:(id)sender; diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/ViewController.m b/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.m similarity index 87% rename from gst-sdk/tutorials/xcode iOS/Tutorial 4/ViewController.m rename to gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.m index 93eae203e4..d4bc16d0d6 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/ViewController.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.m @@ -1,8 +1,8 @@ -#import "ViewController.h" +#import "VideoViewController.h" #import "GStreamerBackend.h" #import -@interface ViewController () { +@interface VideoViewController () { GStreamerBackend *gst_backend; int media_width; int media_height; @@ -10,7 +10,9 @@ @end -@implementation ViewController +@implementation VideoViewController + +@synthesize uri; /* * Methods from UIViewController @@ -30,6 +32,14 @@ gst_backend = [[GStreamerBackend alloc] init:self videoView:video_view]; } +- (void)viewDidDisappear:(BOOL)animated +{ + if (gst_backend) + { + [gst_backend deinit]; + } +} + - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; @@ -75,6 +85,7 @@ play_button.enabled = TRUE; pause_button.enabled = TRUE; message_label.text = @"Ready"; + [gst_backend setUri:uri]; }); } diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPad.storyboard b/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPad.storyboard index 98d0b70aaf..c1b9cf238f 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPad.storyboard +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPad.storyboard @@ -1,15 +1,30 @@ - + - + + + + + + + + + + + + + + + + - + - + @@ -71,6 +86,7 @@ + @@ -84,18 +100,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + - diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.h b/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.h index 3e3406ef56..6129a94210 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.h @@ -11,17 +11,17 @@ G_BEGIN_DECLS #define GST_IOS_PLUGINS_CORE //#define GST_IOS_PLUGINS_CAPTURE -//#define GST_IOS_PLUGINS_CODECS_RESTRICTED +#define GST_IOS_PLUGINS_CODECS_RESTRICTED //#define GST_IOS_PLUGINS_ENCODING //#define GST_IOS_PLUGINS_DVD -//#define GST_IOS_PLUGINS_CODECS_GPL -//#define GST_IOS_PLUGINS_NET_RESTRICTED +#define GST_IOS_PLUGINS_CODECS_GPL +#define GST_IOS_PLUGINS_NET_RESTRICTED #define GST_IOS_PLUGINS_SYS //#define GST_IOS_PLUGINS_VIS #define GST_IOS_PLUGINS_PLAYBACK #define GST_IOS_PLUGINS_EFFECTS -//#define GST_IOS_PLUGINS_CODECS -//#define GST_IOS_PLUGINS_NET +#define GST_IOS_PLUGINS_CODECS +#define GST_IOS_PLUGINS_NET void gst_ios_init (); From 52f8179003aaaa5e0dc6fd3286df8561a7afe3ac Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 14 May 2013 17:21:54 +0200 Subject: [PATCH 293/979] iPhone storyboard for iOS tutorial 4 --- .../en.lproj/MainStoryboard_iPhone.storyboard | 167 +++++++++++++----- 1 file changed, 126 insertions(+), 41 deletions(-) diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPhone.storyboard b/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPhone.storyboard index 262d1143d6..58347d24b7 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPhone.storyboard +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPhone.storyboard @@ -1,95 +1,180 @@ - + - - + + - - - + + + + + + + + + + + + + + + + + + + - + - + - - + + - - + + - - + - - - - - - - - - - + + + + + + + + + + + + - - - - - + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + - From eeb4755a3bfbb4998e8ec5060b70ab60fd4ba80f Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 14 May 2013 18:11:04 +0200 Subject: [PATCH 294/979] Inform the application about the media size, so it can adapt the UIView to the correct aspect ratio. --- .../xcode iOS/Tutorial 4/GStreamerBackend.m | 37 +++++++++++++++++++ .../Tutorial 4/GStreamerBackendDelegate.h | 3 ++ .../Tutorial 4/VideoViewController.m | 11 ++++++ 3 files changed, 51 insertions(+) diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m b/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m index b15ef43b0b..60758cc336 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m @@ -2,6 +2,7 @@ #include #include +#include GST_DEBUG_CATEGORY_STATIC (debug_category); #define GST_CAT_DEFAULT debug_category @@ -83,6 +84,37 @@ GST_DEBUG_CATEGORY_STATIC (debug_category); } } +static void check_media_size (GStreamerBackend *self) { + GstElement *video_sink; + GstPad *video_sink_pad; + GstCaps *caps; + GstVideoFormat fmt; + int width; + int height; + + /* Retrieve the Caps at the entrance of the video sink */ + g_object_get (self->pipeline, "video-sink", &video_sink, NULL); + video_sink_pad = gst_element_get_static_pad (video_sink, "sink"); + caps = gst_pad_get_negotiated_caps (video_sink_pad); + + if (gst_video_format_parse_caps(caps, &fmt, &width, &height)) { + int par_n, par_d; + if (gst_video_parse_caps_pixel_aspect_ratio (caps, &par_n, &par_d)) { + width = width * par_n / par_d; + } + GST_DEBUG ("Media size is %dx%d, notifying application", width, height); + + if (self->ui_delegate && [self->ui_delegate respondsToSelector:@selector(mediaSizeChanged:height:)]) + { + [self->ui_delegate mediaSizeChanged:width height:height]; + } + } + + gst_caps_unref(caps); + gst_object_unref (video_sink_pad); + gst_object_unref(video_sink); +} + /* Retrieve errors from the bus and show them on the UI */ static void error_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) { @@ -109,6 +141,11 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *se gchar *message = g_strdup_printf("State changed to %s", gst_element_state_get_name(new_state)); [self setUIMessage:message]; g_free (message); + + if (old_state == GST_STATE_READY && new_state == GST_STATE_PAUSED) + { + check_media_size(self); + } } } diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackendDelegate.h b/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackendDelegate.h index 5586373157..739461cfaa 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackendDelegate.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackendDelegate.h @@ -11,4 +11,7 @@ * to the screen. */ -(void) gstreamerSetUIMessage:(NSString *)message; +/* Called when the media size is first discovered or it changes */ +-(void) mediaSizeChanged:(NSInteger)width height:(NSInteger)height; + @end diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.m b/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.m index d4bc16d0d6..6b4ae04372 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.m @@ -96,4 +96,15 @@ }); } +-(void) mediaSizeChanged:(NSInteger)width height:(NSInteger)height +{ + media_width = width; + media_height = height; + dispatch_async(dispatch_get_main_queue(), ^{ + [self viewDidLayoutSubviews]; + [video_view setNeedsLayout]; + [video_view layoutIfNeeded]; + }); +} + @end From 079ad1bf151a8578b81ac1f916e206ef37f286e4 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Thu, 16 May 2013 17:39:15 +0200 Subject: [PATCH 295/979] Add slider and text widgets that track the current position and duration. The slider is not seekable yet. --- .../xcode iOS/Tutorial 4/GStreamerBackend.m | 46 ++++++++++++++++++- .../Tutorial 4/GStreamerBackendDelegate.h | 3 ++ .../Tutorial 4/VideoViewController.h | 3 ++ .../Tutorial 4/VideoViewController.m | 44 ++++++++++++++++++ .../en.lproj/MainStoryboard_iPad.storyboard | 45 ++++++++---------- .../en.lproj/MainStoryboard_iPhone.storyboard | 23 ++++++++-- 6 files changed, 133 insertions(+), 31 deletions(-) diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m b/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m index 60758cc336..f789edc1ed 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m @@ -21,6 +21,8 @@ GST_DEBUG_CATEGORY_STATIC (debug_category); GMainLoop *main_loop; /* GLib main loop */ gboolean initialized; /* To avoid informing the UI multiple times about the initialization */ UIView *ui_video_view; /* UIView that holds the video */ + GstState state; /* Current pipeline state */ + gint64 duration; /* Cached clip duration */ } /* @@ -33,6 +35,7 @@ GST_DEBUG_CATEGORY_STATIC (debug_category); { self->ui_delegate = uiDelegate; self->ui_video_view = video_view; + self->duration = GST_CLOCK_TIME_NONE; GST_DEBUG_CATEGORY_INIT (debug_category, "tutorial-4", 0, "iOS tutorial 4"); gst_debug_set_threshold_for_name("tutorial-4", GST_LEVEL_DEBUG); @@ -84,6 +87,39 @@ GST_DEBUG_CATEGORY_STATIC (debug_category); } } +/* Tell the application what is the current position and clip duration */ +-(void) setCurrentUIPosition:(gint)pos duration:(gint)dur +{ + if(ui_delegate && [ui_delegate respondsToSelector:@selector(setCurrentPosition:duration:)]) + { + [ui_delegate setCurrentPosition:pos duration:dur]; + } +} + +/* If we have pipeline and it is running, query the current position and clip duration and inform + * the application */ +static gboolean refresh_ui (GStreamerBackend *self) { + GstFormat fmt = GST_FORMAT_TIME; + gint64 position; + + /* We do not want to update anything unless we have a working pipeline in the PAUSED or PLAYING state */ + if (!self || !self->pipeline || self->state < GST_STATE_PAUSED) + return TRUE; + + /* If we didn't know it yet, query the stream duration */ + if (!GST_CLOCK_TIME_IS_VALID (self->duration)) { + if (!gst_element_query_duration (self->pipeline, &fmt, &self->duration)) { + GST_WARNING ("Could not query current duration"); + } + } + + if (gst_element_query_position (self->pipeline, &fmt, &position)) { + /* The UI expects these values in milliseconds, and GStreamer provides nanoseconds */ + [self setCurrentUIPosition:position / GST_MSECOND duration:self->duration / GST_MSECOND]; + } + return TRUE; +} + static void check_media_size (GStreamerBackend *self) { GstElement *video_sink; GstPad *video_sink_pad; @@ -138,6 +174,7 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *se gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); /* Only pay attention to messages coming from the pipeline, not its children */ if (GST_MESSAGE_SRC (msg) == GST_OBJECT (self->pipeline)) { + self->state = new_state; gchar *message = g_strdup_printf("State changed to %s", gst_element_state_get_name(new_state)); [self setUIMessage:message]; g_free (message); @@ -167,6 +204,7 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *se -(void) app_function { GstBus *bus; + GSource *timeout_source; GSource *bus_source; GError *error = NULL; @@ -205,7 +243,13 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *se g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, (__bridge void *)self); g_signal_connect (G_OBJECT (bus), "message::state-changed", (GCallback)state_changed_cb, (__bridge void *)self); gst_object_unref (bus); - + + /* Register a function that GLib will call 4 times per second */ + timeout_source = g_timeout_source_new (250); + g_source_set_callback (timeout_source, (GSourceFunc)refresh_ui, (__bridge void *)self, NULL); + g_source_attach (timeout_source, context); + g_source_unref (timeout_source); + /* Create a GLib Main Loop and set it to run */ GST_DEBUG ("Entering main loop..."); main_loop = g_main_loop_new (context, FALSE); diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackendDelegate.h b/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackendDelegate.h index 739461cfaa..01981fad95 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackendDelegate.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackendDelegate.h @@ -14,4 +14,7 @@ /* Called when the media size is first discovered or it changes */ -(void) mediaSizeChanged:(NSInteger)width height:(NSInteger)height; +/* Called when the media position changes. Times in milliseconds */ +-(void) setCurrentPosition:(NSInteger)position duration:(NSInteger)duration; + @end diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.h b/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.h index 37064f1541..fe3d0ff6fd 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.h @@ -9,6 +9,9 @@ IBOutlet UIView *video_container_view; IBOutlet NSLayoutConstraint *video_width_constraint; IBOutlet NSLayoutConstraint *video_height_constraint; + IBOutlet UIToolbar *toolbar; + IBOutlet UITextField *time_label; + IBOutlet UISlider *time_slider; } @property (retain,nonatomic) NSString *uri; diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.m b/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.m index 6b4ae04372..57e224c3ab 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.m @@ -14,6 +14,37 @@ @synthesize uri; +/* + * Private methods + */ +- (void) updateTimeWidget +{ + NSInteger position = time_slider.value / 1000; + NSInteger duration = time_slider.maximumValue / 1000; + NSString *position_txt = @" -- "; + NSString *duration_txt = @" -- "; + + if (duration > 0) { + NSUInteger hours = duration / (60 * 60); + NSUInteger minutes = (duration / 60) % 60; + NSUInteger seconds = duration % 60; + + duration_txt = [NSString stringWithFormat:@"%02u:%02u:%02u", hours, minutes, seconds]; + } + if (position > 0) { + NSUInteger hours = position / (60 * 60); + NSUInteger minutes = (position / 60) % 60; + NSUInteger seconds = position % 60; + + position_txt = [NSString stringWithFormat:@"%02u:%02u:%02u", hours, minutes, seconds]; + } + + NSString *text = [NSString stringWithFormat:@"%@ / %@", + position_txt, duration_txt]; + + time_label.text = text; +} + /* * Methods from UIViewController */ @@ -58,6 +89,8 @@ [gst_backend pause]; } +/* Called when the size of the main view has changed, so we can + * resize the sub-views in ways not allowed by storyboarding. */ - (void)viewDidLayoutSubviews { CGFloat view_width = video_container_view.bounds.size.width; @@ -73,6 +106,8 @@ video_width_constraint.constant = correct_width; video_height_constraint.constant = view_height; } + + time_slider.frame = CGRectMake(time_slider.frame.origin.x, time_slider.frame.origin.y, toolbar.frame.size.width - time_slider.frame.origin.x - 8, time_slider.frame.size.height); } /* @@ -107,4 +142,13 @@ }); } +-(void) setCurrentPosition:(NSInteger)position duration:(NSInteger)duration +{ + dispatch_async(dispatch_get_main_queue(), ^{ + time_slider.maximumValue = duration; + time_slider.value = position; + [self updateTimeWidget]; + }); +} + @end diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPad.storyboard b/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPad.storyboard index c1b9cf238f..e12bdb7d78 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPad.storyboard +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPad.storyboard @@ -57,7 +57,6 @@ - @@ -68,7 +67,21 @@ - + + + + + + + + + + + + + + + @@ -92,6 +105,9 @@ + + + @@ -154,31 +170,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPhone.storyboard b/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPhone.storyboard index 58347d24b7..5d9108be37 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPhone.storyboard +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPhone.storyboard @@ -69,20 +69,32 @@ + + + + + + + + + - - + + + + - + + @@ -94,6 +106,8 @@ + + @@ -178,6 +192,9 @@ + + + From 76f7e541ec56739d918b056e9f6b7503ab86ba5d Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 17 May 2013 11:46:48 +0200 Subject: [PATCH 296/979] Enable seeking by dragging the time slider. Add a bunch of online clips to the hardcoded library. --- .../xcode iOS/Tutorial 4/GStreamerBackend.h | 3 + .../xcode iOS/Tutorial 4/GStreamerBackend.m | 92 ++++++++++++++++--- .../Tutorial 4/LibraryViewController.m | 29 +++++- .../Tutorial 4/VideoViewController.h | 3 + .../Tutorial 4/VideoViewController.m | 35 ++++++- .../en.lproj/MainStoryboard_iPad.storyboard | 7 ++ 6 files changed, 152 insertions(+), 17 deletions(-) diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.h b/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.h index 1fe4853152..f16ea7016f 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.h @@ -22,4 +22,7 @@ /* Set the URI to be played */ -(void) setUri:(NSString*)uri; +/* Set the position to seek to, in milliseconds */ +-(void) setPosition:(NSInteger)milliseconds; + @end \ No newline at end of file diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m b/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m index f789edc1ed..b4db2d9bdf 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m @@ -7,6 +7,10 @@ GST_DEBUG_CATEGORY_STATIC (debug_category); #define GST_CAT_DEFAULT debug_category +/* Do not allow seeks to be performed closer than this distance. It is visually useless, and will probably + * confuse some demuxers. */ +#define SEEK_MIN_DELAY (500 * GST_MSECOND) + @interface GStreamerBackend() -(void)setUIMessage:(gchar*) message; -(void)app_function; @@ -14,15 +18,17 @@ GST_DEBUG_CATEGORY_STATIC (debug_category); @end @implementation GStreamerBackend { - id ui_delegate; /* Class that we use to interact with the user interface */ - GstElement *pipeline; /* The running pipeline */ - GstElement *video_sink;/* The video sink element which receives XOverlay commands */ - GMainContext *context; /* GLib context used to run the main loop */ - GMainLoop *main_loop; /* GLib main loop */ - gboolean initialized; /* To avoid informing the UI multiple times about the initialization */ - UIView *ui_video_view; /* UIView that holds the video */ - GstState state; /* Current pipeline state */ - gint64 duration; /* Cached clip duration */ + id ui_delegate; /* Class that we use to interact with the user interface */ + GstElement *pipeline; /* The running pipeline */ + GstElement *video_sink; /* The video sink element which receives XOverlay commands */ + GMainContext *context; /* GLib context used to run the main loop */ + GMainLoop *main_loop; /* GLib main loop */ + gboolean initialized; /* To avoid informing the UI multiple times about the initialization */ + UIView *ui_video_view; /* UIView that holds the video */ + GstState state; /* Current pipeline state */ + gint64 duration; /* Cached clip duration */ + gint64 desired_position; /* Position to seek to, once the pipeline is running */ + GstClockTime last_seek_time; /* For seeking overflow prevention (throttling) */ } /* @@ -73,6 +79,17 @@ GST_DEBUG_CATEGORY_STATIC (debug_category); GST_DEBUG ("URI set to %s", char_uri); } +-(void) setPosition:(NSInteger)milliseconds +{ + gint64 position = (gint64)(milliseconds * GST_MSECOND); + if (state >= GST_STATE_PAUSED) { + execute_seek(position, self); + } else { + GST_DEBUG ("Scheduling seek to %" GST_TIME_FORMAT " for later", GST_TIME_ARGS (position)); + self->desired_position = position; + } +} + /* * Private methods */ @@ -108,9 +125,7 @@ static gboolean refresh_ui (GStreamerBackend *self) { /* If we didn't know it yet, query the stream duration */ if (!GST_CLOCK_TIME_IS_VALID (self->duration)) { - if (!gst_element_query_duration (self->pipeline, &fmt, &self->duration)) { - GST_WARNING ("Could not query current duration"); - } + gst_element_query_duration (self->pipeline, &fmt, &self->duration); } if (gst_element_query_position (self->pipeline, &fmt, &position)) { @@ -120,6 +135,51 @@ static gboolean refresh_ui (GStreamerBackend *self) { return TRUE; } +/* Forward declaration for the delayed seek callback */ +static gboolean delayed_seek_cb (GStreamerBackend *self); + +/* Perform seek, if we are not too close to the previous seek. Otherwise, schedule the seek for + * some time in the future. */ +static void execute_seek (gint64 position, GStreamerBackend *self) { + gint64 diff; + + if (position == GST_CLOCK_TIME_NONE) + return; + + diff = gst_util_get_timestamp () - self->last_seek_time; + + if (GST_CLOCK_TIME_IS_VALID (self->last_seek_time) && diff < SEEK_MIN_DELAY) { + /* The previous seek was too close, delay this one */ + GSource *timeout_source; + + if (self->desired_position == GST_CLOCK_TIME_NONE) { + /* There was no previous seek scheduled. Setup a timer for some time in the future */ + timeout_source = g_timeout_source_new ((SEEK_MIN_DELAY - diff) / GST_MSECOND); + g_source_set_callback (timeout_source, (GSourceFunc)delayed_seek_cb, (__bridge void *)self, NULL); + g_source_attach (timeout_source, self->context); + g_source_unref (timeout_source); + } + /* Update the desired seek position. If multiple petitions are received before it is time + * to perform a seek, only the last one is remembered. */ + self->desired_position = position; + GST_DEBUG ("Throttling seek to %" GST_TIME_FORMAT ", will be in %" GST_TIME_FORMAT, + GST_TIME_ARGS (position), GST_TIME_ARGS (SEEK_MIN_DELAY - diff)); + } else { + /* Perform the seek now */ + GST_DEBUG ("Seeking to %" GST_TIME_FORMAT, GST_TIME_ARGS (position)); + self->last_seek_time = gst_util_get_timestamp (); + gst_element_seek_simple (self->pipeline, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, position); + self->desired_position = GST_CLOCK_TIME_NONE; + } +} + +/* Delayed seek callback. This gets called by the timer setup in the above function. */ +static gboolean delayed_seek_cb (GStreamerBackend *self) { + GST_DEBUG ("Doing delayed seek to %" GST_TIME_FORMAT, GST_TIME_ARGS (self->desired_position)); + execute_seek (self->desired_position, self); + return FALSE; +} + static void check_media_size (GStreamerBackend *self) { GstElement *video_sink; GstPad *video_sink_pad; @@ -130,6 +190,10 @@ static void check_media_size (GStreamerBackend *self) { /* Retrieve the Caps at the entrance of the video sink */ g_object_get (self->pipeline, "video-sink", &video_sink, NULL); + + /* Do nothing if there is no video sink (this might be an audio-only clip */ + if (!video_sink) return; + video_sink_pad = gst_element_get_static_pad (video_sink, "sink"); caps = gst_pad_get_negotiated_caps (video_sink_pad); @@ -182,6 +246,10 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *se if (old_state == GST_STATE_READY && new_state == GST_STATE_PAUSED) { check_media_size(self); + + /* If there was a scheduled seek, perform it now that we have moved to the Paused state */ + if (GST_CLOCK_TIME_IS_VALID (self->desired_position)) + execute_seek (self->desired_position, self); } } } diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/LibraryViewController.m b/gst-sdk/tutorials/xcode iOS/Tutorial 4/LibraryViewController.m index faa57eccdf..837f010075 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/LibraryViewController.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/LibraryViewController.m @@ -97,10 +97,31 @@ static NSString *CellIdentifier = @"CellIdentifier"; [entries addObject:[NSString stringWithFormat:@"%@/%@",docsPath, e]]; } self->mediaEntries = entries; - self->onlineEntries = [NSArray arrayWithObjects: - @"http://docs.gstreamer.com/media/sintel_trailer-368p.ogv", - @"http://download.blender.org/peach/bigbuckbunny_movies/BigBuckBunny_640x360.m4v", - nil]; + + entries = [[NSMutableArray alloc] init]; + + // Big Buck Bunny + [entries addObject:@"http://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_480p_surround-fix.avi"]; + [entries addObject:@"http://mirrorblender.top-ix.org/peach/bigbuckbunny_movies/big_buck_bunny_480p_h264.mov"]; + [entries addObject:@"http://mirrorblender.top-ix.org/peach/bigbuckbunny_movies/big_buck_bunny_480p_stereo.ogg"]; + [entries addObject:@"http://mirrorblender.top-ix.org/peach/bigbuckbunny_movies/big_buck_bunny_480p_stereo.avi"]; + + // Sintel + [entries addObject:@"http://ftp.nluug.nl/ftp/graphics/blender/apricot/trailer/Sintel_Trailer1.480p.DivX_Plus_HD.mkv"]; + [entries addObject:@"http://ftp.nluug.nl/ftp/graphics/blender/apricot/trailer/sintel_trailer-480p.mp4"]; + [entries addObject:@"http://ftp.nluug.nl/ftp/graphics/blender/apricot/trailer/sintel_trailer-480p.ogv"]; + [entries addObject:@"http://mirrorblender.top-ix.org/movies/sintel-1024-surround.mp4"]; + + // Tears of Steel + [entries addObject:@"http://blender-mirror.kino3d.org/mango/download.blender.org/demo/movies/ToS/tears_of_steel_720p.mkv"]; + [entries addObject:@"http://blender-mirror.kino3d.org/mango/download.blender.org/demo/movies/ToS/tears_of_steel_720p.mov"]; + [entries addObject:@"http://media.xiph.org/mango/tears_of_steel_1080p.webm"]; + + // Radio stations + [entries addObject:@"http://radio.hbr1.com:19800/trance.ogg"]; + [entries addObject:@"http://radio.hbr1.com:19800/tronic.aac"]; + + self->onlineEntries = entries; } @end diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.h b/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.h index fe3d0ff6fd..5935306ddf 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.h @@ -18,6 +18,9 @@ -(IBAction) play:(id)sender; -(IBAction) pause:(id)sender; +-(IBAction) sliderValueChanged:(id)sender; +-(IBAction) sliderTouchDown:(id)sender; +-(IBAction) sliderTouchUp:(id)sender; /* From GStreamerBackendDelegate */ -(void) gstreamerInitialized; diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.m b/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.m index 57e224c3ab..536082d4a6 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.m @@ -6,6 +6,9 @@ GStreamerBackend *gst_backend; int media_width; int media_height; + Boolean dragging_slider; + Boolean is_local_media; + Boolean is_playing_desired; } @end @@ -56,7 +59,7 @@ play_button.enabled = FALSE; pause_button.enabled = FALSE; - /* Make these constant for now, later tutorials will change them */ + /* As soon as the GStreamer backend knows the real values, these ones will be replaced */ media_width = 320; media_height = 240; @@ -81,12 +84,37 @@ -(IBAction) play:(id)sender { [gst_backend play]; + is_playing_desired = YES; } /* Called when the Pause button is pressed */ -(IBAction) pause:(id)sender { [gst_backend pause]; + is_playing_desired = NO; +} + +- (IBAction)sliderValueChanged:(id)sender { + if (!dragging_slider) return; + // If this is a local file, allow scrub seeking, this is, seek as soon as the slider is moved. + if (is_local_media) + [gst_backend setPosition:time_slider.value]; + [self updateTimeWidget]; +} + +- (IBAction)sliderTouchDown:(id)sender { + [gst_backend pause]; + dragging_slider = YES; +} + +- (IBAction)sliderTouchUp:(id)sender { + dragging_slider = NO; + // If this is a remote file, scrub seeking is probably not going to work smoothly enough. + // Therefore, perform only the seek when the slider is released. + if (!is_local_media) + [gst_backend setPosition:time_slider.value]; + if (is_playing_desired) + [gst_backend play]; } /* Called when the size of the main view has changed, so we can @@ -121,6 +149,8 @@ pause_button.enabled = TRUE; message_label.text = @"Ready"; [gst_backend setUri:uri]; + is_local_media = [uri hasPrefix:@"file://"]; + is_playing_desired = NO; }); } @@ -144,6 +174,9 @@ -(void) setCurrentPosition:(NSInteger)position duration:(NSInteger)duration { + /* Ignore messages from the pipeline if the time sliders is being dragged */ + if (dragging_slider) return; + dispatch_async(dispatch_get_main_queue(), ^{ time_slider.maximumValue = duration; time_slider.value = position; diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPad.storyboard b/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPad.storyboard index e12bdb7d78..157ce52a3f 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPad.storyboard +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPad.storyboard @@ -80,6 +80,13 @@ + + + + + + + From ef7e968b814aa24cae4e1026e8693a6676803197 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 17 May 2013 12:19:33 +0200 Subject: [PATCH 297/979] Add buffering, eos, clock_lost and duration message handling. Add a couple of wrong hardcoded URLs to debug error reporting facilities. --- .../xcode iOS/Tutorial 4/GStreamerBackend.m | 53 ++++++++++++++++++- .../Tutorial 4/LibraryViewController.m | 4 ++ 2 files changed, 55 insertions(+), 2 deletions(-) diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m b/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m index b4db2d9bdf..fdc0c70cda 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m @@ -26,9 +26,11 @@ GST_DEBUG_CATEGORY_STATIC (debug_category); gboolean initialized; /* To avoid informing the UI multiple times about the initialization */ UIView *ui_video_view; /* UIView that holds the video */ GstState state; /* Current pipeline state */ + GstState target_state; /* Desired pipeline state, to be set once buffering is complete */ gint64 duration; /* Cached clip duration */ gint64 desired_position; /* Position to seek to, once the pipeline is running */ GstClockTime last_seek_time; /* For seeking overflow prevention (throttling) */ + gboolean is_live; /* Live streams do not use buffering */ } /* @@ -64,12 +66,14 @@ GST_DEBUG_CATEGORY_STATIC (debug_category); -(void) play { - gst_element_set_state(pipeline, GST_STATE_PLAYING); + target_state = GST_STATE_PLAYING; + is_live = (gst_element_set_state (pipeline, GST_STATE_PLAYING) == GST_STATE_CHANGE_NO_PREROLL); } -(void) pause { - gst_element_set_state(pipeline, GST_STATE_PAUSED); + target_state = GST_STATE_PAUSED; + is_live = (gst_element_set_state (pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_NO_PREROLL); } -(void) setUri:(NSString*)uri @@ -231,6 +235,47 @@ static void error_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) gst_element_set_state (self->pipeline, GST_STATE_NULL); } +/* Called when the End Of the Stream is reached. Just move to the beginning of the media and pause. */ +static void eos_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) { + self->target_state = GST_STATE_PAUSED; + self->is_live = (gst_element_set_state (self->pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_NO_PREROLL); + execute_seek (0, self); +} + +/* Called when the duration of the media changes. Just mark it as unknown, so we re-query it in the next UI refresh. */ +static void duration_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) { + self->duration = GST_CLOCK_TIME_NONE; +} + +/* Called when buffering messages are received. We inform the UI about the current buffering level and + * keep the pipeline paused until 100% buffering is reached. At that point, set the desired state. */ +static void buffering_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) { + gint percent; + + if (self->is_live) + return; + + gst_message_parse_buffering (msg, &percent); + if (percent < 100 && self->target_state >= GST_STATE_PAUSED) { + gchar * message_string = g_strdup_printf ("Buffering %d%%", percent); + gst_element_set_state (self->pipeline, GST_STATE_PAUSED); + [self setUIMessage:message_string]; + g_free (message_string); + } else if (self->target_state >= GST_STATE_PLAYING) { + gst_element_set_state (self->pipeline, GST_STATE_PLAYING); + } else if (self->target_state >= GST_STATE_PAUSED) { + [self setUIMessage:"Buffering complete"]; + } +} + +/* Called when the clock is lost */ +static void clock_lost_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) { + if (self->target_state >= GST_STATE_PLAYING) { + gst_element_set_state (self->pipeline, GST_STATE_PAUSED); + gst_element_set_state (self->pipeline, GST_STATE_PLAYING); + } +} + /* Notify UI about pipeline state changes */ static void state_changed_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) { @@ -309,7 +354,11 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *se g_source_attach (bus_source, context); g_source_unref (bus_source); g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, (__bridge void *)self); + g_signal_connect (G_OBJECT (bus), "message::eos", (GCallback)eos_cb, (__bridge void *)self); g_signal_connect (G_OBJECT (bus), "message::state-changed", (GCallback)state_changed_cb, (__bridge void *)self); + g_signal_connect (G_OBJECT (bus), "message::duration", (GCallback)duration_cb, (__bridge void *)self); + g_signal_connect (G_OBJECT (bus), "message::buffering", (GCallback)buffering_cb, (__bridge void *)self); + g_signal_connect (G_OBJECT (bus), "message::clock-lost", (GCallback)clock_lost_cb, (__bridge void *)self); gst_object_unref (bus); /* Register a function that GLib will call 4 times per second */ diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/LibraryViewController.m b/gst-sdk/tutorials/xcode iOS/Tutorial 4/LibraryViewController.m index 837f010075..e0ec124205 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/LibraryViewController.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/LibraryViewController.m @@ -121,6 +121,10 @@ static NSString *CellIdentifier = @"CellIdentifier"; [entries addObject:@"http://radio.hbr1.com:19800/trance.ogg"]; [entries addObject:@"http://radio.hbr1.com:19800/tronic.aac"]; + // Non-existing entries (to debug error reporting facilities) + [entries addObject:@"http://non-existing.org/Non_Existing_Server"]; + [entries addObject:@"http://docs.gstreamer.com/Non_Existing_File"]; + self->onlineEntries = entries; } From 9c5a94b0255bfdaed0b0e989e5381babdf78245c Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 17 May 2013 14:00:28 +0200 Subject: [PATCH 298/979] Fix resizing mode and iPhone storyboard. --- .../en.lproj/MainStoryboard_iPad.storyboard | 33 ++++++++++++++++++- .../en.lproj/MainStoryboard_iPhone.storyboard | 24 +++++++++++--- 2 files changed, 51 insertions(+), 6 deletions(-) diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPad.storyboard b/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPad.storyboard index 157ce52a3f..d91286610f 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPad.storyboard +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPad.storyboard @@ -29,7 +29,7 @@ - + @@ -177,6 +177,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPhone.storyboard b/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPhone.storyboard index 5d9108be37..deb9a86352 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPhone.storyboard +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPhone.storyboard @@ -30,7 +30,7 @@ - + @@ -80,15 +80,22 @@ - + + + + + + + + + - + - - + @@ -97,6 +104,7 @@ + @@ -184,11 +192,17 @@ + + + + + + From 232d63a6b26aeda86957a23af890cafadb53e704 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Fri, 17 May 2013 15:04:35 +0200 Subject: [PATCH 299/979] Copy iOS Tutorial 4 into iOS Tutorial 5 --- .../project.pbxproj | 324 ++++++ .../xcode iOS/Tutorial 5/AppDelegate.h | 7 + .../xcode iOS/Tutorial 5/AppDelegate.m | 38 + .../xcode iOS/Tutorial 5/Default-568h@2x.png | Bin 0 -> 18594 bytes .../xcode iOS/Tutorial 5/Default.png | Bin 0 -> 6540 bytes .../xcode iOS/Tutorial 5/Default@2x.png | Bin 0 -> 16107 bytes .../xcode iOS/Tutorial 5/EaglUIVIew.h | 11 + .../xcode iOS/Tutorial 5/EaglUIVIew.m | 13 + .../xcode iOS/Tutorial 5/GStreamerBackend.h | 28 + .../xcode iOS/Tutorial 5/GStreamerBackend.m | 393 +++++++ .../Tutorial 5/GStreamerBackendDelegate.h | 20 + .../Tutorial 5/Images/appicon-5-iPad.png | Bin 0 -> 7009 bytes .../Tutorial 5/Images/appicon-5-iPad@2x.png | Bin 0 -> 18029 bytes .../Tutorial 5/Images/appicon-5-iPhone.png | Bin 0 -> 5445 bytes .../Tutorial 5/Images/appicon-5-iPhone@2x.png | Bin 0 -> 12745 bytes .../Tutorial 5/LibraryViewController.h | 11 + .../Tutorial 5/LibraryViewController.m | 131 +++ .../Tutorial 5/Tutorial 5-Info.plist | 68 ++ .../Tutorial 5/Tutorial 5-Prefix.pch | 14 + .../Tutorial 5/VideoViewController.h | 29 + .../Tutorial 5/VideoViewController.m | 187 +++ .../Tutorial 5/en.lproj/InfoPlist.strings | 2 + .../en.lproj/MainStoryboard_iPad.storyboard | 216 ++++ .../en.lproj/MainStoryboard_iPhone.storyboard | 224 ++++ .../xcode iOS/Tutorial 5/gst_ios_init.c | 1006 +++++++++++++++++ .../xcode iOS/Tutorial 5/gst_ios_init.h | 30 + gst-sdk/tutorials/xcode iOS/Tutorial 5/main.m | 12 + 27 files changed, 2764 insertions(+) create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 5/AppDelegate.h create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 5/AppDelegate.m create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 5/Default-568h@2x.png create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 5/Default.png create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 5/Default@2x.png create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 5/EaglUIVIew.h create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 5/EaglUIVIew.m create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 5/GStreamerBackend.h create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 5/GStreamerBackend.m create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 5/GStreamerBackendDelegate.h create mode 100755 gst-sdk/tutorials/xcode iOS/Tutorial 5/Images/appicon-5-iPad.png create mode 100755 gst-sdk/tutorials/xcode iOS/Tutorial 5/Images/appicon-5-iPad@2x.png create mode 100755 gst-sdk/tutorials/xcode iOS/Tutorial 5/Images/appicon-5-iPhone.png create mode 100755 gst-sdk/tutorials/xcode iOS/Tutorial 5/Images/appicon-5-iPhone@2x.png create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 5/LibraryViewController.h create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 5/LibraryViewController.m create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 5/Tutorial 5-Info.plist create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 5/Tutorial 5-Prefix.pch create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 5/VideoViewController.h create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 5/VideoViewController.m create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 5/en.lproj/InfoPlist.strings create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 5/en.lproj/MainStoryboard_iPad.storyboard create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 5/en.lproj/MainStoryboard_iPhone.storyboard create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.c create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.h create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 5/main.m diff --git a/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj b/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj index 85889fe4a7..8caece4da2 100644 --- a/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj +++ b/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj @@ -44,6 +44,27 @@ C67B4146172FEA3C008359CC /* appicon-2-iPad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C67B4142172FEA3C008359CC /* appicon-2-iPad@2x.png */; }; C67B4147172FEA3C008359CC /* appicon-2-iPhone.png in Resources */ = {isa = PBXBuildFile; fileRef = C67B4143172FEA3C008359CC /* appicon-2-iPhone.png */; }; C67B4148172FEA3C008359CC /* appicon-2-iPhone@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C67B4144172FEA3C008359CC /* appicon-2-iPhone@2x.png */; }; + C68B1D8917465EB7004FD7D0 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C67B40CC172EBEA3008359CC /* UIKit.framework */; }; + C68B1D8A17465EB7004FD7D0 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C67B40CE172EBEA3008359CC /* Foundation.framework */; }; + C68B1D8B17465EB7004FD7D0 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C67B40D0172EBEA3008359CC /* CoreGraphics.framework */; }; + C68B1D8C17465EB7004FD7D0 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C67B40D2172EBEA3008359CC /* GStreamer.framework */; }; + C68B1D9217465EB7004FD7D0 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = C68B1D9017465EB7004FD7D0 /* InfoPlist.strings */; }; + C68B1D9417465EB7004FD7D0 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = C68B1D9317465EB7004FD7D0 /* main.m */; }; + C68B1D9817465EB7004FD7D0 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = C68B1D9717465EB7004FD7D0 /* AppDelegate.m */; }; + C68B1D9A17465EB7004FD7D0 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = C68B1D9917465EB7004FD7D0 /* Default.png */; }; + C68B1D9C17465EB7004FD7D0 /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C68B1D9B17465EB7004FD7D0 /* Default@2x.png */; }; + C68B1D9E17465EB7004FD7D0 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C68B1D9D17465EB7004FD7D0 /* Default-568h@2x.png */; }; + C68B1DA117465EB7004FD7D0 /* MainStoryboard_iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C68B1D9F17465EB7004FD7D0 /* MainStoryboard_iPhone.storyboard */; }; + C68B1DA417465EB7004FD7D0 /* MainStoryboard_iPad.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C68B1DA217465EB7004FD7D0 /* MainStoryboard_iPad.storyboard */; }; + C68B1DA917465EB8004FD7D0 /* gst_ios_init.c in Sources */ = {isa = PBXBuildFile; fileRef = C68B1DA817465EB8004FD7D0 /* gst_ios_init.c */; }; + C68B1DB617465F96004FD7D0 /* GStreamerBackend.m in Sources */ = {isa = PBXBuildFile; fileRef = C68B1DB017465F95004FD7D0 /* GStreamerBackend.m */; }; + C68B1DB717465F96004FD7D0 /* LibraryViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C68B1DB317465F95004FD7D0 /* LibraryViewController.m */; }; + C68B1DB817465F96004FD7D0 /* VideoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C68B1DB517465F95004FD7D0 /* VideoViewController.m */; }; + C68B1DBA17465FD4004FD7D0 /* EaglUIVIew.m in Sources */ = {isa = PBXBuildFile; fileRef = C68B1DB917465FD4004FD7D0 /* EaglUIVIew.m */; }; + C68B1DC0174660D4004FD7D0 /* appicon-5-iPad.png in Resources */ = {isa = PBXBuildFile; fileRef = C68B1DBC174660D4004FD7D0 /* appicon-5-iPad.png */; }; + C68B1DC1174660D4004FD7D0 /* appicon-5-iPad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C68B1DBD174660D4004FD7D0 /* appicon-5-iPad@2x.png */; }; + C68B1DC2174660D4004FD7D0 /* appicon-5-iPhone.png in Resources */ = {isa = PBXBuildFile; fileRef = C68B1DBE174660D4004FD7D0 /* appicon-5-iPhone.png */; }; + C68B1DC3174660D4004FD7D0 /* appicon-5-iPhone@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C68B1DBF174660D4004FD7D0 /* appicon-5-iPhone@2x.png */; }; C6B6126017395CF2003FC410 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C67B40CC172EBEA3008359CC /* UIKit.framework */; }; C6B6126117395CF2003FC410 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C67B40CE172EBEA3008359CC /* Foundation.framework */; }; C6B6126217395CF2003FC410 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C67B40D0172EBEA3008359CC /* CoreGraphics.framework */; }; @@ -137,6 +158,33 @@ C67B4142172FEA3C008359CC /* appicon-2-iPad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-2-iPad@2x.png"; sourceTree = ""; }; C67B4143172FEA3C008359CC /* appicon-2-iPhone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-2-iPhone.png"; sourceTree = ""; }; C67B4144172FEA3C008359CC /* appicon-2-iPhone@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-2-iPhone@2x.png"; sourceTree = ""; }; + C68B1D8817465EB7004FD7D0 /* Tutorial 5.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Tutorial 5.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + C68B1D8F17465EB7004FD7D0 /* Tutorial 5-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Tutorial 5-Info.plist"; sourceTree = ""; }; + C68B1D9117465EB7004FD7D0 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + C68B1D9317465EB7004FD7D0 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + C68B1D9517465EB7004FD7D0 /* Tutorial 5-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Tutorial 5-Prefix.pch"; sourceTree = ""; }; + C68B1D9617465EB7004FD7D0 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + C68B1D9717465EB7004FD7D0 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + C68B1D9917465EB7004FD7D0 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = ""; }; + C68B1D9B17465EB7004FD7D0 /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = ""; }; + C68B1D9D17465EB7004FD7D0 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; + C68B1DA017465EB7004FD7D0 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/MainStoryboard_iPhone.storyboard; sourceTree = ""; }; + C68B1DA317465EB7004FD7D0 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/MainStoryboard_iPad.storyboard; sourceTree = ""; }; + C68B1DA817465EB8004FD7D0 /* gst_ios_init.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = gst_ios_init.c; sourceTree = ""; }; + C68B1DAA17465EB8004FD7D0 /* gst_ios_init.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = gst_ios_init.h; sourceTree = ""; }; + C68B1DAE17465F95004FD7D0 /* EaglUIVIew.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EaglUIVIew.h; sourceTree = ""; }; + C68B1DAF17465F95004FD7D0 /* GStreamerBackend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GStreamerBackend.h; sourceTree = ""; }; + C68B1DB017465F95004FD7D0 /* GStreamerBackend.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GStreamerBackend.m; sourceTree = ""; }; + C68B1DB117465F95004FD7D0 /* GStreamerBackendDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GStreamerBackendDelegate.h; sourceTree = ""; }; + C68B1DB217465F95004FD7D0 /* LibraryViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LibraryViewController.h; sourceTree = ""; }; + C68B1DB317465F95004FD7D0 /* LibraryViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LibraryViewController.m; sourceTree = ""; }; + C68B1DB417465F95004FD7D0 /* VideoViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VideoViewController.h; sourceTree = ""; }; + C68B1DB517465F95004FD7D0 /* VideoViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VideoViewController.m; sourceTree = ""; }; + C68B1DB917465FD4004FD7D0 /* EaglUIVIew.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EaglUIVIew.m; sourceTree = ""; }; + C68B1DBC174660D4004FD7D0 /* appicon-5-iPad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-5-iPad.png"; sourceTree = ""; }; + C68B1DBD174660D4004FD7D0 /* appicon-5-iPad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-5-iPad@2x.png"; sourceTree = ""; }; + C68B1DBE174660D4004FD7D0 /* appicon-5-iPhone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-5-iPhone.png"; sourceTree = ""; }; + C68B1DBF174660D4004FD7D0 /* appicon-5-iPhone@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-5-iPhone@2x.png"; sourceTree = ""; }; C6B6125F17395CF1003FC410 /* Tutorial 3.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Tutorial 3.app"; sourceTree = BUILT_PRODUCTS_DIR; }; C6B6126617395CF2003FC410 /* Tutorial 3-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Tutorial 3-Info.plist"; sourceTree = ""; }; C6B6126817395CF2003FC410 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; @@ -214,6 +262,17 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + C68B1D8517465EB7004FD7D0 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + C68B1D8917465EB7004FD7D0 /* UIKit.framework in Frameworks */, + C68B1D8A17465EB7004FD7D0 /* Foundation.framework in Frameworks */, + C68B1D8B17465EB7004FD7D0 /* CoreGraphics.framework in Frameworks */, + C68B1D8C17465EB7004FD7D0 /* GStreamer.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; C6B6125C17395CF1003FC410 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -246,6 +305,7 @@ C67B4104172FC7F4008359CC /* Tutorial 2 */, C6B6126417395CF2003FC410 /* Tutorial 3 */, C6EB8586173BEE5E00C3953D /* Tutorial 4 */, + C68B1D8D17465EB7004FD7D0 /* Tutorial 5 */, C67B40CB172EBEA3008359CC /* Frameworks */, C67B40CA172EBEA3008359CC /* Products */, ); @@ -258,6 +318,7 @@ C67B40FF172FC7F4008359CC /* Tutorial 2.app */, C6B6125F17395CF1003FC410 /* Tutorial 3.app */, C6EB8581173BEE5D00C3953D /* Tutorial 4.app */, + C68B1D8817465EB7004FD7D0 /* Tutorial 5.app */, ); name = Products; sourceTree = ""; @@ -362,6 +423,55 @@ path = Images; sourceTree = ""; }; + C68B1D8D17465EB7004FD7D0 /* Tutorial 5 */ = { + isa = PBXGroup; + children = ( + C68B1DAE17465F95004FD7D0 /* EaglUIVIew.h */, + C68B1DB917465FD4004FD7D0 /* EaglUIVIew.m */, + C68B1DBB174660D4004FD7D0 /* Images */, + C68B1DAF17465F95004FD7D0 /* GStreamerBackend.h */, + C68B1DB017465F95004FD7D0 /* GStreamerBackend.m */, + C68B1D9617465EB7004FD7D0 /* AppDelegate.h */, + C68B1D9717465EB7004FD7D0 /* AppDelegate.m */, + C68B1D9F17465EB7004FD7D0 /* MainStoryboard_iPhone.storyboard */, + C68B1DA217465EB7004FD7D0 /* MainStoryboard_iPad.storyboard */, + C68B1DB217465F95004FD7D0 /* LibraryViewController.h */, + C68B1DB317465F95004FD7D0 /* LibraryViewController.m */, + C68B1DB417465F95004FD7D0 /* VideoViewController.h */, + C68B1DB517465F95004FD7D0 /* VideoViewController.m */, + C68B1D8E17465EB7004FD7D0 /* Supporting Files */, + ); + path = "Tutorial 5"; + sourceTree = ""; + }; + C68B1D8E17465EB7004FD7D0 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + C68B1D8F17465EB7004FD7D0 /* Tutorial 5-Info.plist */, + C68B1D9017465EB7004FD7D0 /* InfoPlist.strings */, + C68B1D9317465EB7004FD7D0 /* main.m */, + C68B1D9517465EB7004FD7D0 /* Tutorial 5-Prefix.pch */, + C68B1D9917465EB7004FD7D0 /* Default.png */, + C68B1D9B17465EB7004FD7D0 /* Default@2x.png */, + C68B1D9D17465EB7004FD7D0 /* Default-568h@2x.png */, + C68B1DA817465EB8004FD7D0 /* gst_ios_init.c */, + C68B1DAA17465EB8004FD7D0 /* gst_ios_init.h */, + C68B1DB117465F95004FD7D0 /* GStreamerBackendDelegate.h */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + C68B1DBB174660D4004FD7D0 /* Images */ = { + isa = PBXGroup; + children = ( + C68B1DBC174660D4004FD7D0 /* appicon-5-iPad.png */, + C68B1DBD174660D4004FD7D0 /* appicon-5-iPad@2x.png */, + C68B1DBE174660D4004FD7D0 /* appicon-5-iPhone.png */, + C68B1DBF174660D4004FD7D0 /* appicon-5-iPhone@2x.png */, + ); + path = Images; + sourceTree = ""; + }; C6B6126417395CF2003FC410 /* Tutorial 3 */ = { isa = PBXGroup; children = ( @@ -495,6 +605,23 @@ productReference = C67B40FF172FC7F4008359CC /* Tutorial 2.app */; productType = "com.apple.product-type.application"; }; + C68B1D8717465EB7004FD7D0 /* Tutorial 5 */ = { + isa = PBXNativeTarget; + buildConfigurationList = C68B1DAD17465EB8004FD7D0 /* Build configuration list for PBXNativeTarget "Tutorial 5" */; + buildPhases = ( + C68B1D8417465EB7004FD7D0 /* Sources */, + C68B1D8517465EB7004FD7D0 /* Frameworks */, + C68B1D8617465EB7004FD7D0 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Tutorial 5"; + productName = "Tutorial 5"; + productReference = C68B1D8817465EB7004FD7D0 /* Tutorial 5.app */; + productType = "com.apple.product-type.application"; + }; C6B6125E17395CF1003FC410 /* Tutorial 3 */ = { isa = PBXNativeTarget; buildConfigurationList = C6B6128517395CF2003FC410 /* Build configuration list for PBXNativeTarget "Tutorial 3" */; @@ -553,6 +680,7 @@ C67B40FE172FC7F4008359CC /* Tutorial 2 */, C6B6125E17395CF1003FC410 /* Tutorial 3 */, C6EB8580173BEE5D00C3953D /* Tutorial 4 */, + C68B1D8717465EB7004FD7D0 /* Tutorial 5 */, ); }; /* End PBXProject section */ @@ -591,6 +719,23 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + C68B1D8617465EB7004FD7D0 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + C68B1D9217465EB7004FD7D0 /* InfoPlist.strings in Resources */, + C68B1D9A17465EB7004FD7D0 /* Default.png in Resources */, + C68B1D9C17465EB7004FD7D0 /* Default@2x.png in Resources */, + C68B1D9E17465EB7004FD7D0 /* Default-568h@2x.png in Resources */, + C68B1DA117465EB7004FD7D0 /* MainStoryboard_iPhone.storyboard in Resources */, + C68B1DA417465EB7004FD7D0 /* MainStoryboard_iPad.storyboard in Resources */, + C68B1DC0174660D4004FD7D0 /* appicon-5-iPad.png in Resources */, + C68B1DC1174660D4004FD7D0 /* appicon-5-iPad@2x.png in Resources */, + C68B1DC2174660D4004FD7D0 /* appicon-5-iPhone.png in Resources */, + C68B1DC3174660D4004FD7D0 /* appicon-5-iPhone@2x.png in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; C6B6125D17395CF1003FC410 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -652,6 +797,20 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + C68B1D8417465EB7004FD7D0 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + C68B1D9417465EB7004FD7D0 /* main.m in Sources */, + C68B1D9817465EB7004FD7D0 /* AppDelegate.m in Sources */, + C68B1DA917465EB8004FD7D0 /* gst_ios_init.c in Sources */, + C68B1DB617465F96004FD7D0 /* GStreamerBackend.m in Sources */, + C68B1DB717465F96004FD7D0 /* LibraryViewController.m in Sources */, + C68B1DB817465F96004FD7D0 /* VideoViewController.m in Sources */, + C68B1DBA17465FD4004FD7D0 /* EaglUIVIew.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; C6B6125B17395CF1003FC410 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -730,6 +889,30 @@ name = MainStoryboard_iPad.storyboard; sourceTree = ""; }; + C68B1D9017465EB7004FD7D0 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + C68B1D9117465EB7004FD7D0 /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + C68B1D9F17465EB7004FD7D0 /* MainStoryboard_iPhone.storyboard */ = { + isa = PBXVariantGroup; + children = ( + C68B1DA017465EB7004FD7D0 /* en */, + ); + name = MainStoryboard_iPhone.storyboard; + sourceTree = ""; + }; + C68B1DA217465EB7004FD7D0 /* MainStoryboard_iPad.storyboard */ = { + isa = PBXVariantGroup; + children = ( + C68B1DA317465EB7004FD7D0 /* en */, + ); + name = MainStoryboard_iPad.storyboard; + sourceTree = ""; + }; C6B6126717395CF2003FC410 /* InfoPlist.strings */ = { isa = PBXVariantGroup; children = ( @@ -1057,6 +1240,138 @@ }; name = Release; }; + C68B1DAB17465EB8004FD7D0 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = armv7; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ( + "\"~/Library/Developer/GStreamer/iPhone.sdk\"", + "\"$(SYSTEM_APPS_DIR)/Xcode.app/Contents/Developer/Library/Frameworks\"", + ); + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Tutorial 5/Tutorial 5-Prefix.pch"; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = "\"~/Library/Developer/GStreamer/iPhone.sdk/GStreamer.framework/Headers\""; + INFOPLIST_FILE = "Tutorial 5/Tutorial 5-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; + ONLY_ACTIVE_ARCH = YES; + OTHER_LDFLAGS = ( + "-lresolv", + "-lstdc++", + "-framework", + CoreFoundation, + "-framework", + Foundation, + "-framework", + AVFoundation, + "-framework", + CoreMedia, + "-framework", + CoreVideo, + "-framework", + CoreAudio, + "-framework", + AudioToolbox, + "-framework", + OpenGLES, + "-framework", + AssetsLibrary, + "-framework", + QuartzCore, + "-framework", + AssetsLibrary, + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + C68B1DAC17465EB8004FD7D0 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = armv7; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = ( + "\"~/Library/Developer/GStreamer/iPhone.sdk\"", + "\"$(SYSTEM_APPS_DIR)/Xcode.app/Contents/Developer/Library/Frameworks\"", + ); + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Tutorial 5/Tutorial 5-Prefix.pch"; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = "\"~/Library/Developer/GStreamer/iPhone.sdk/GStreamer.framework/Headers\""; + INFOPLIST_FILE = "Tutorial 5/Tutorial 5-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; + OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; + OTHER_LDFLAGS = ( + "-lresolv", + "-lstdc++", + "-framework", + CoreFoundation, + "-framework", + Foundation, + "-framework", + AVFoundation, + "-framework", + CoreMedia, + "-framework", + CoreVideo, + "-framework", + CoreAudio, + "-framework", + AudioToolbox, + "-framework", + OpenGLES, + "-framework", + AssetsLibrary, + "-framework", + QuartzCore, + "-framework", + AssetsLibrary, + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; C6B6128617395CF2003FC410 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -1351,6 +1666,14 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + C68B1DAD17465EB8004FD7D0 /* Build configuration list for PBXNativeTarget "Tutorial 5" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C68B1DAB17465EB8004FD7D0 /* Debug */, + C68B1DAC17465EB8004FD7D0 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; C6B6128517395CF2003FC410 /* Build configuration list for PBXNativeTarget "Tutorial 3" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -1367,6 +1690,7 @@ C6EB85A9173BEE5F00C3953D /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/AppDelegate.h b/gst-sdk/tutorials/xcode iOS/Tutorial 5/AppDelegate.h new file mode 100644 index 0000000000..a5a8b38522 --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/AppDelegate.h @@ -0,0 +1,7 @@ +#import + +@interface AppDelegate : UIResponder + +@property (strong, nonatomic) UIWindow *window; + +@end diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/AppDelegate.m b/gst-sdk/tutorials/xcode iOS/Tutorial 5/AppDelegate.m new file mode 100644 index 0000000000..31ef04ed4d --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/AppDelegate.m @@ -0,0 +1,38 @@ +#import "AppDelegate.h" + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + // Override point for customization after application launch. + return YES; +} + +- (void)applicationWillResignActive:(UIApplication *)application +{ + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. +} + +- (void)applicationDidEnterBackground:(UIApplication *)application +{ + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. +} + +- (void)applicationWillEnterForeground:(UIApplication *)application +{ + // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. +} + +- (void)applicationDidBecomeActive:(UIApplication *)application +{ + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. +} + +- (void)applicationWillTerminate:(UIApplication *)application +{ + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. +} + +@end diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/Default-568h@2x.png b/gst-sdk/tutorials/xcode iOS/Tutorial 5/Default-568h@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0891b7aabfcf3422423b109c8beed2bab838c607 GIT binary patch literal 18594 zcmeI4X;f257Jx&9fS`ixvS;&$x8J@slQFSel)6zJN=?13FB7H(lQjRkSy8x_-S~tvu2gzn1oS+dLcF#eqtq$ z%tf9TTvX?`)R@}3uBI;jzS-=ZR-Td&MHaS&;!0?Ni*#$#`n*~CcQK)Q9vAQ~TUpnI!j)a2biYK^R)M~A5wUDZhx?ULMX z3x1P&qt=trOY6P2U67L=m=U?F|5#Uj(eCueNTZaHs_ceWiHeET+j+tp3Jt9g(ekqP z2WOvfR{qV+9r+o4J5?qK>7;;^+I7tGv-i)es$X_D=EoKF+S?zsyj^oRFElP}c}JT< zd8SUs-?O?}2YD#ngKbnHgzHBcboxK_2r9l(?eNCl-pEzkJm}fY?WC*jnS?VBE4EpY zO$fEejz6fU;W2Kl>JeQBZBl-%Irg`obSlg*@4QB;Dd1H7^Oi5wvt4d{RZ!8Og?^aE z)k0$1g+V3fd(gdQ3d&q2q-FL*uy#}|bc^=VhFsl0jBgUGJ+-s3U8MK9A!YJJMxpci z5hJ%|{DwV48fZn0{n5l$N_KcSb#NKE4plB`9I6Zt=Z!~-zw0{9tg$L&Ju1F0X)Cy8 zKF;(&lJ>x)Jw(=;p~sF(Sd9VWGwFE2rnyS9!f^DZ8+aCLq zQ};>lcJ1GDLqjm6Hd>|Eabno@P`~Bn(~6^aD_#yoEH(a?Nm1S<;S+hSxI5d16^<1lEM3NPFi zkqPrpL)+ zgnseFikg`gJVBha1&7C4;O6>h=dt~`ND+;Zd?W(4v2JIb7Pt>Td42%M-Ju-XAH#Pns762L}K3 zDhvsRqN0Ni(1UrishD2YvV?4*h2iFj$+&N||Fn$4n|^NSU+o?~jq`0jVQt8T9l{7b zXiwwODFh2V!Q6sqP9S>WH$oOf$N~=d0-bqTlD61!=`&0eAP-F>XN?*|gtOXX{ zQVTWyYo4ZK0GAw!GHf|pz9`D;-bbb*5LBX*{bnz|+)$@&P9|ORM2o?95{;ejvo&r- zq8cBhTN6nn)7~W>54U)%-F_-b?YKdfk5I8MHcuzBD5)!;yv#Z&R&^y=@=>VTIMy#r zX&U<=BsPkdqcMe<_}2+>H%XKyrr5ZR8_KVe>ZqYN z^=^~TFD};;rHJ$U;{~w^hYojl4hRI@SH$^K{YEo=sg)WY87r!*7blQK&qnpDo0`Vn zkl)9u9g=mCh&ZCJS(L4yN3k0kQ zuvg$h2KEEk51T+O0JQ+r0`R>g{jvqM0Mr6d3qUOZwE!?PI7HY@CE|dr sfw?Q;rAv?G4&^^8-z_>&sWXMxvD*gPOU4CBe-*@OtE+wfmVJNyHv)PfH~;_u literal 0 HcmV?d00001 diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/Default.png b/gst-sdk/tutorials/xcode iOS/Tutorial 5/Default.png new file mode 100644 index 0000000000000000000000000000000000000000..4c8ca6f693f96d511e9113c0eb59eec552354e42 GIT binary patch literal 6540 zcmeAS@N?(olHy`uVBq!ia0y~yU~~ZD2OMlbkt;o0To@QwR5G2N13aCb6#|O#(=u~X z85k@CTSM>X-wqM6>&y>YB4)1;;ojbLbbV-W^iFB1wa3^zCog^LCAReC4K0-?R_2{6 zrP*)4+_uWUy3w5N52M3PW_}MFMP9a~>YLvVZ1D_k*IMQ2QT^fwzoOb(*3gH$%aYWC zkHmcab=va2<#X%jakpJ;<1@F;k__#bwtC&%^D0v(FBh9K&$sK+<}2RJS609D)17$w ztdQP8(eLM8Ka}m_IQ@3wyMKP)l=oM4-?`YS_*P?4V_ORLPxsj&7Ju#kH;>6^Kp?T7~ zl+q?{UOOqV==?+d{=)5s|M~T1mwtH@+Z^$G&eEO9JNP^AX@3jZ*J*!!>lc|1-W%fA z@AOQpXZ_Lt>rxFXrGp*zLPiW@uo_c7C{As>j zWeX)wi+LTp_)@KYZCX{j;H?|1yXT4DnlS(Fr8gyP5|uaX_gLvaW0ScZdnG7o+u{T6 zFI-%d{ls*WuCDa5UJ@|RXv&ejZe}*BMkiWY51&pnRPw(hlykSzvj6e%mYz-GdvzBD zF10?szF_~!jS=?2HyQuPCvARXAe}C}WP|yQ*>5~~=*Nxq8+HHW1~FMDRCP^TcacKuk$ z(U#REVv)D!PhJ*ecH-ELFUrfyV&*)Z)>UCOuS?yd^L@Afk>ihynYPc{^CRwu+JHX+#$@YsC4c|l0tGigsn@jy) zXD($Ouk>H+V(Mr6NQT0S9BFM~V6nkj;1OBOz`zY;a|<&v%$g$sEJPk;hD4M^`1)8S z=jZArrsOB3>Q&?x097+E*i={nnYpPYi3%0DIeEoa6}C!X6;?ntNLXJ<0j#7X+g2&U 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 literal 0 HcmV?d00001 diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/EaglUIVIew.h b/gst-sdk/tutorials/xcode iOS/Tutorial 5/EaglUIVIew.h new file mode 100644 index 0000000000..ac4e79800b --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/EaglUIVIew.h @@ -0,0 +1,11 @@ +#import +#import +#include +#include + +@interface EaglUIView : UIView +{ +} + +@end + diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/EaglUIVIew.m b/gst-sdk/tutorials/xcode iOS/Tutorial 5/EaglUIVIew.m new file mode 100644 index 0000000000..91cdd9dcf8 --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/EaglUIVIew.m @@ -0,0 +1,13 @@ +#import "EaglUIVIew.h" + +#import + +@implementation EaglUIView + + ++ (Class) layerClass +{ + return [CAEAGLLayer class]; +} + +@end diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/GStreamerBackend.h b/gst-sdk/tutorials/xcode iOS/Tutorial 5/GStreamerBackend.h new file mode 100644 index 0000000000..f16ea7016f --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/GStreamerBackend.h @@ -0,0 +1,28 @@ +#import +#import "GStreamerBackendDelegate.h" + +@interface GStreamerBackend : NSObject + +/* Initialization method. Pass the delegate that will take care of the UI. + * This delegate must implement the GStreamerBackendDelegate protocol. + * Pass also the UIView object that will hold the video window. */ +-(id) init:(id) uiDelegate videoView:(UIView*) video_view; + +/* Quit the main loop and free all resources, including the pipeline and + * the references to the ui delegate and the UIView used for rendering, so + * these objects can be deallocated. */ +-(void) deinit; + +/* Set the pipeline to PLAYING */ +-(void) play; + +/* Set the pipeline to PAUSED */ +-(void) pause; + +/* Set the URI to be played */ +-(void) setUri:(NSString*)uri; + +/* Set the position to seek to, in milliseconds */ +-(void) setPosition:(NSInteger)milliseconds; + +@end \ No newline at end of file diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/GStreamerBackend.m b/gst-sdk/tutorials/xcode iOS/Tutorial 5/GStreamerBackend.m new file mode 100644 index 0000000000..b821f9a40a --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/GStreamerBackend.m @@ -0,0 +1,393 @@ +#import "GStreamerBackend.h" + +#include +#include +#include + +GST_DEBUG_CATEGORY_STATIC (debug_category); +#define GST_CAT_DEFAULT debug_category + +/* Do not allow seeks to be performed closer than this distance. It is visually useless, and will probably + * confuse some demuxers. */ +#define SEEK_MIN_DELAY (500 * GST_MSECOND) + +@interface GStreamerBackend() +-(void)setUIMessage:(gchar*) message; +-(void)app_function; +-(void)check_initialization_complete; +@end + +@implementation GStreamerBackend { + id ui_delegate; /* Class that we use to interact with the user interface */ + GstElement *pipeline; /* The running pipeline */ + GstElement *video_sink; /* The video sink element which receives XOverlay commands */ + GMainContext *context; /* GLib context used to run the main loop */ + GMainLoop *main_loop; /* GLib main loop */ + gboolean initialized; /* To avoid informing the UI multiple times about the initialization */ + UIView *ui_video_view; /* UIView that holds the video */ + GstState state; /* Current pipeline state */ + GstState target_state; /* Desired pipeline state, to be set once buffering is complete */ + gint64 duration; /* Cached clip duration */ + gint64 desired_position; /* Position to seek to, once the pipeline is running */ + GstClockTime last_seek_time; /* For seeking overflow prevention (throttling) */ + gboolean is_live; /* Live streams do not use buffering */ +} + +/* + * Interface methods + */ + +-(id) init:(id) uiDelegate videoView:(UIView *)video_view +{ + if (self = [super init]) + { + self->ui_delegate = uiDelegate; + self->ui_video_view = video_view; + self->duration = GST_CLOCK_TIME_NONE; + + GST_DEBUG_CATEGORY_INIT (debug_category, "tutorial-5", 0, "iOS tutorial 5"); + gst_debug_set_threshold_for_name("tutorial-5", GST_LEVEL_DEBUG); + + /* Start the bus monitoring task */ + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + [self app_function]; + }); + } + + return self; +} + +-(void) deinit +{ + if (main_loop) { + g_main_loop_quit(main_loop); + } +} + +-(void) play +{ + target_state = GST_STATE_PLAYING; + is_live = (gst_element_set_state (pipeline, GST_STATE_PLAYING) == GST_STATE_CHANGE_NO_PREROLL); +} + +-(void) pause +{ + target_state = GST_STATE_PAUSED; + is_live = (gst_element_set_state (pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_NO_PREROLL); +} + +-(void) setUri:(NSString*)uri +{ + const char *char_uri = [uri UTF8String]; + g_object_set(pipeline, "uri", char_uri, NULL); + GST_DEBUG ("URI set to %s", char_uri); +} + +-(void) setPosition:(NSInteger)milliseconds +{ + gint64 position = (gint64)(milliseconds * GST_MSECOND); + if (state >= GST_STATE_PAUSED) { + execute_seek(position, self); + } else { + GST_DEBUG ("Scheduling seek to %" GST_TIME_FORMAT " for later", GST_TIME_ARGS (position)); + self->desired_position = position; + } +} + +/* + * Private methods + */ + +/* Change the message on the UI through the UI delegate */ +-(void)setUIMessage:(gchar*) message +{ + NSString *string = [NSString stringWithUTF8String:message]; + if(ui_delegate && [ui_delegate respondsToSelector:@selector(gstreamerSetUIMessage:)]) + { + [ui_delegate gstreamerSetUIMessage:string]; + } +} + +/* Tell the application what is the current position and clip duration */ +-(void) setCurrentUIPosition:(gint)pos duration:(gint)dur +{ + if(ui_delegate && [ui_delegate respondsToSelector:@selector(setCurrentPosition:duration:)]) + { + [ui_delegate setCurrentPosition:pos duration:dur]; + } +} + +/* If we have pipeline and it is running, query the current position and clip duration and inform + * the application */ +static gboolean refresh_ui (GStreamerBackend *self) { + GstFormat fmt = GST_FORMAT_TIME; + gint64 position; + + /* We do not want to update anything unless we have a working pipeline in the PAUSED or PLAYING state */ + if (!self || !self->pipeline || self->state < GST_STATE_PAUSED) + return TRUE; + + /* If we didn't know it yet, query the stream duration */ + if (!GST_CLOCK_TIME_IS_VALID (self->duration)) { + gst_element_query_duration (self->pipeline, &fmt, &self->duration); + } + + if (gst_element_query_position (self->pipeline, &fmt, &position)) { + /* The UI expects these values in milliseconds, and GStreamer provides nanoseconds */ + [self setCurrentUIPosition:position / GST_MSECOND duration:self->duration / GST_MSECOND]; + } + return TRUE; +} + +/* Forward declaration for the delayed seek callback */ +static gboolean delayed_seek_cb (GStreamerBackend *self); + +/* Perform seek, if we are not too close to the previous seek. Otherwise, schedule the seek for + * some time in the future. */ +static void execute_seek (gint64 position, GStreamerBackend *self) { + gint64 diff; + + if (position == GST_CLOCK_TIME_NONE) + return; + + diff = gst_util_get_timestamp () - self->last_seek_time; + + if (GST_CLOCK_TIME_IS_VALID (self->last_seek_time) && diff < SEEK_MIN_DELAY) { + /* The previous seek was too close, delay this one */ + GSource *timeout_source; + + if (self->desired_position == GST_CLOCK_TIME_NONE) { + /* There was no previous seek scheduled. Setup a timer for some time in the future */ + timeout_source = g_timeout_source_new ((SEEK_MIN_DELAY - diff) / GST_MSECOND); + g_source_set_callback (timeout_source, (GSourceFunc)delayed_seek_cb, (__bridge void *)self, NULL); + g_source_attach (timeout_source, self->context); + g_source_unref (timeout_source); + } + /* Update the desired seek position. If multiple petitions are received before it is time + * to perform a seek, only the last one is remembered. */ + self->desired_position = position; + GST_DEBUG ("Throttling seek to %" GST_TIME_FORMAT ", will be in %" GST_TIME_FORMAT, + GST_TIME_ARGS (position), GST_TIME_ARGS (SEEK_MIN_DELAY - diff)); + } else { + /* Perform the seek now */ + GST_DEBUG ("Seeking to %" GST_TIME_FORMAT, GST_TIME_ARGS (position)); + self->last_seek_time = gst_util_get_timestamp (); + gst_element_seek_simple (self->pipeline, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, position); + self->desired_position = GST_CLOCK_TIME_NONE; + } +} + +/* Delayed seek callback. This gets called by the timer setup in the above function. */ +static gboolean delayed_seek_cb (GStreamerBackend *self) { + GST_DEBUG ("Doing delayed seek to %" GST_TIME_FORMAT, GST_TIME_ARGS (self->desired_position)); + execute_seek (self->desired_position, self); + return FALSE; +} + +static void check_media_size (GStreamerBackend *self) { + GstElement *video_sink; + GstPad *video_sink_pad; + GstCaps *caps; + GstVideoFormat fmt; + int width; + int height; + + /* Retrieve the Caps at the entrance of the video sink */ + g_object_get (self->pipeline, "video-sink", &video_sink, NULL); + + /* Do nothing if there is no video sink (this might be an audio-only clip */ + if (!video_sink) return; + + video_sink_pad = gst_element_get_static_pad (video_sink, "sink"); + caps = gst_pad_get_negotiated_caps (video_sink_pad); + + if (gst_video_format_parse_caps(caps, &fmt, &width, &height)) { + int par_n, par_d; + if (gst_video_parse_caps_pixel_aspect_ratio (caps, &par_n, &par_d)) { + width = width * par_n / par_d; + } + GST_DEBUG ("Media size is %dx%d, notifying application", width, height); + + if (self->ui_delegate && [self->ui_delegate respondsToSelector:@selector(mediaSizeChanged:height:)]) + { + [self->ui_delegate mediaSizeChanged:width height:height]; + } + } + + gst_caps_unref(caps); + gst_object_unref (video_sink_pad); + gst_object_unref(video_sink); +} + +/* Retrieve errors from the bus and show them on the UI */ +static void error_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) +{ + GError *err; + gchar *debug_info; + gchar *message_string; + + gst_message_parse_error (msg, &err, &debug_info); + message_string = g_strdup_printf ("Error received from element %s: %s", GST_OBJECT_NAME (msg->src), err->message); + g_clear_error (&err); + g_free (debug_info); + [self setUIMessage:message_string]; + g_free (message_string); + gst_element_set_state (self->pipeline, GST_STATE_NULL); +} + +/* Called when the End Of the Stream is reached. Just move to the beginning of the media and pause. */ +static void eos_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) { + self->target_state = GST_STATE_PAUSED; + self->is_live = (gst_element_set_state (self->pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_NO_PREROLL); + execute_seek (0, self); +} + +/* Called when the duration of the media changes. Just mark it as unknown, so we re-query it in the next UI refresh. */ +static void duration_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) { + self->duration = GST_CLOCK_TIME_NONE; +} + +/* Called when buffering messages are received. We inform the UI about the current buffering level and + * keep the pipeline paused until 100% buffering is reached. At that point, set the desired state. */ +static void buffering_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) { + gint percent; + + if (self->is_live) + return; + + gst_message_parse_buffering (msg, &percent); + if (percent < 100 && self->target_state >= GST_STATE_PAUSED) { + gchar * message_string = g_strdup_printf ("Buffering %d%%", percent); + gst_element_set_state (self->pipeline, GST_STATE_PAUSED); + [self setUIMessage:message_string]; + g_free (message_string); + } else if (self->target_state >= GST_STATE_PLAYING) { + gst_element_set_state (self->pipeline, GST_STATE_PLAYING); + } else if (self->target_state >= GST_STATE_PAUSED) { + [self setUIMessage:"Buffering complete"]; + } +} + +/* Called when the clock is lost */ +static void clock_lost_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) { + if (self->target_state >= GST_STATE_PLAYING) { + gst_element_set_state (self->pipeline, GST_STATE_PAUSED); + gst_element_set_state (self->pipeline, GST_STATE_PLAYING); + } +} + +/* Notify UI about pipeline state changes */ +static void state_changed_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) +{ + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + /* Only pay attention to messages coming from the pipeline, not its children */ + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (self->pipeline)) { + self->state = new_state; + gchar *message = g_strdup_printf("State changed to %s", gst_element_state_get_name(new_state)); + [self setUIMessage:message]; + g_free (message); + + if (old_state == GST_STATE_READY && new_state == GST_STATE_PAUSED) + { + check_media_size(self); + + /* If there was a scheduled seek, perform it now that we have moved to the Paused state */ + if (GST_CLOCK_TIME_IS_VALID (self->desired_position)) + execute_seek (self->desired_position, self); + } + } +} + +/* Check if all conditions are met to report GStreamer as initialized. + * These conditions will change depending on the application */ +-(void) check_initialization_complete +{ + if (!initialized && main_loop) { + GST_DEBUG ("Initialization complete, notifying application."); + if (ui_delegate && [ui_delegate respondsToSelector:@selector(gstreamerInitialized)]) + { + [ui_delegate gstreamerInitialized]; + } + initialized = TRUE; + } +} + +/* Main method for the bus monitoring code */ +-(void) app_function +{ + GstBus *bus; + GSource *timeout_source; + GSource *bus_source; + GError *error = NULL; + + GST_DEBUG ("Creating pipeline"); + + /* Create our own GLib Main Context and make it the default one */ + context = g_main_context_new (); + g_main_context_push_thread_default(context); + + /* Build pipeline */ + pipeline = gst_parse_launch("playbin2", &error); + if (error) { + gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message); + g_clear_error (&error); + [self setUIMessage:message]; + g_free (message); + return; + } + + /* Set the pipeline to READY, so it can already accept a window handle */ + gst_element_set_state(pipeline, GST_STATE_READY); + + video_sink = gst_bin_get_by_interface(GST_BIN(pipeline), GST_TYPE_X_OVERLAY); + if (!video_sink) { + GST_ERROR ("Could not retrieve video sink"); + return; + } + gst_x_overlay_set_window_handle(GST_X_OVERLAY(video_sink), (guintptr) (id) ui_video_view); + + /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ + bus = gst_element_get_bus (pipeline); + bus_source = gst_bus_create_watch (bus); + g_source_set_callback (bus_source, (GSourceFunc) gst_bus_async_signal_func, NULL, NULL); + g_source_attach (bus_source, context); + g_source_unref (bus_source); + g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, (__bridge void *)self); + g_signal_connect (G_OBJECT (bus), "message::eos", (GCallback)eos_cb, (__bridge void *)self); + g_signal_connect (G_OBJECT (bus), "message::state-changed", (GCallback)state_changed_cb, (__bridge void *)self); + g_signal_connect (G_OBJECT (bus), "message::duration", (GCallback)duration_cb, (__bridge void *)self); + g_signal_connect (G_OBJECT (bus), "message::buffering", (GCallback)buffering_cb, (__bridge void *)self); + g_signal_connect (G_OBJECT (bus), "message::clock-lost", (GCallback)clock_lost_cb, (__bridge void *)self); + gst_object_unref (bus); + + /* Register a function that GLib will call 4 times per second */ + timeout_source = g_timeout_source_new (250); + g_source_set_callback (timeout_source, (GSourceFunc)refresh_ui, (__bridge void *)self, NULL); + g_source_attach (timeout_source, context); + g_source_unref (timeout_source); + + /* Create a GLib Main Loop and set it to run */ + GST_DEBUG ("Entering main loop..."); + main_loop = g_main_loop_new (context, FALSE); + [self check_initialization_complete]; + g_main_loop_run (main_loop); + GST_DEBUG ("Exited main loop"); + g_main_loop_unref (main_loop); + main_loop = NULL; + + /* Free resources */ + g_main_context_pop_thread_default(context); + g_main_context_unref (context); + gst_element_set_state (pipeline, GST_STATE_NULL); + gst_object_unref (pipeline); + pipeline = NULL; + + ui_delegate = NULL; + ui_video_view = NULL; + + return; +} + +@end + diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/GStreamerBackendDelegate.h b/gst-sdk/tutorials/xcode iOS/Tutorial 5/GStreamerBackendDelegate.h new file mode 100644 index 0000000000..01981fad95 --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/GStreamerBackendDelegate.h @@ -0,0 +1,20 @@ +#import + +@protocol GStreamerBackendDelegate + +@optional +/* Called when the GStreamer backend has finished initializing + * and is ready to accept orders. */ +-(void) gstreamerInitialized; + +/* Called when the GStreamer backend wants to output some message + * to the screen. */ +-(void) gstreamerSetUIMessage:(NSString *)message; + +/* Called when the media size is first discovered or it changes */ +-(void) mediaSizeChanged:(NSInteger)width height:(NSInteger)height; + +/* Called when the media position changes. Times in milliseconds */ +-(void) setCurrentPosition:(NSInteger)position duration:(NSInteger)duration; + +@end diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/Images/appicon-5-iPad.png b/gst-sdk/tutorials/xcode iOS/Tutorial 5/Images/appicon-5-iPad.png new file mode 100755 index 0000000000000000000000000000000000000000..826ddaa3db2e6caa5a02643d2219239706e71f20 GIT binary patch literal 7009 zcmbVxby!qiyY>Lm9a19Q-NV4pT@pk0zzi@53=BgH(p^ePDJjyDf(Q~aG$ zG#-54_jkVUkMo^BzI|PLueJ7m?&rCmSl3#6?|8#UnxsUGL;wJQR9j2U_^#FZdlF#Z zUFTCdDef8uw7LZvf^K!`;(IHb9>JUwUQl`hRbWu(SS41pQc^{okZ4 z^bJ{6ktjH;l(49flc=;PtF)M~n1mz{2oz)$7Zno~5fv8^6BiN#%1VgKii)!S=U~6H zhJrcE8mnpi$JX6Qp4}CV_L3D5@%Q%^_LmSwqFhA8Kp@ax9pd6bcM?KAfu3k+fRLvT z$3Gg>;66?$gcllt^kn_35$cHaMa#3_G5xm-9$xzT|E<{5=RbkE3zZ0P3s>&*=>i_8Y zpRnTMVnA`#J2^Fw`W-|Z1kwO11Jxx|B!S|Rk|3#nu-cwJXsD+X{2#lBJG=kEs{F55 zSydDqibkSLkVyA`D!|YciAMUkBE48uAyTa72u~Q&-{)^~{_U$89EI?M!!%Gx57vK0 zR~GR1yZ1*vE`Ev0gi67mRa(x@q z$k=c6Suo3ubjVsVkVf4o{k1_ZBDc?x(j1(@8P7!uy}){;z2EUo>aux`7@#>0k+l5J9yyS*Mw24{LDm#kb$|=#mRsP2y;mU zhLbx6T3u5E6?DKJCnF9m{&No zsVgew={yD~_Ip@b=$p&r(^I+Ll`d~3YXd=}5w_1PJh~|o`GXgnZEWd02p8o&ndKzT zEr4F~oZO1E7%EE!`|U5=BYX=0Nfx}Ot`0|vwO3c912#u{PT>=AS-Z)t#n}*W-xYw} zg$!HS|K9%b>ifa`p7aZfNqj8%d0 zX=aQ+m5Y2HwC=)E!gl|ReG~d;u_L&y^OB!7HTb$xD?#&vn1JJ_=E-s_Nx;>Qbc4l^ zv+vLeCHd}9%aJ}llR+@Lp*jF1a>>G$5fEJ;5D}fRVN%FpsY+Was4-za!S}6H*&{=z zOr_{>Ob+?iVhf;tptLenoWx;bH-0B(uv^alGO38z(pkQaw|gK5TEQ zT}Iam=7oY#e?#+Pg~=z{{$(n9WimxVx_V>uy-B|BZL!7+>A)P(E1h z1<=R8p-%hFTK$f_eKf0=-k^VrzV40(9mzZfgSj}_Oy@~@K#_(D4u0@987q%+Mlcw5 z!KSXP6DxB+lTR@2CByT|juh#imYxRiDU&xI{OY#+xyFMIEo_5s?6-w!dhE2y(pH{^ zEF?c8+aHYO8jQ#^(yyc>Q9bBrZ?~?R4%1{=NDBbYqnaRp;o-Jt(K@q{3Gce zRrlg~QjAVrNzx@ZA+fjs1OIYG4ru^5#6i=N`2e1)97-1^%1TMW}p2JkK*3fH4yJ@p$TZMIGL2mRJ z7B*%G^=Y@51{j|yag$@#7)i2@jtVcRjsNI8Ayp?)yeiAGOps6Zq7dW~_)UgVJhwIU zTZ(cH0gIa_r01Ck1LR)5lnewc__FtQ=(EX~p}%}$6ftL|o4b*DmY(mIH07!f+}n(q z>z@j_CxX6-iU2-CV5=(ib-!>QL08lbLc$j05^6WTd-k>3z=fYg?Ic|cZIU0iD_b<83#p;cc>TX=TPIV)p`#uHkZNuNj& zP^kRSwuvv{XOq&moJp#z%rF6!Ykdy2iGO~>?O@NtX}sUdt~grogNDdI{fm1#PYGTz}p%Zal1yj%S=*P$Z0 zRX^s;C!j>Um2&3ybPP-uMC}$4UTRaqv6ovgA!1>8f819rZdm&YGq}dfsSyQmS*#m{%m@cvf7_jBv&xBJBa{^v(I# zNiPaN)zjoPD8`CFawnJ-1(NuQhAAv+=dDsSH6a2ZYEsZI^eLOmISWL35%>wPk@*aKO_3P+nJ&bv#C^=AAOhzZ@ zUqNr0P|r45j;qE#F^J6#(07`Zd>K+}7=1CZyt_U#zy2Bqc9T@Ndg2u9-wtF7tj#M{ zOyOd*HdNu+TRD3~I#%;Gg>E!Lvda7i&2#sUz4SjW!hUpK10zpF_6uZu|8z&@eN}At zLE`L##<{yNNAcn27JU@EeXXAx{2b778<#cL0`2WQM8aPe2)$=v(T%@@=2P@Rnh^2d z)tpueQcrGTZ+x;Bl+Ulu7TZr}kbeGtg^8r9Kp}}RUN7|rxW@NfMa4Kd;+{PHkq*F0 zDKg;xBi}(2JCoa3}i!;7D~e{yZ42@EuPrZ2rL zeEGgG@afh2;Pv(W=;4J_=FYQW`;gmVThRb+o?u z{Q{ncPy&WG3@4?wKa?`hJ9xfF;^RM>{Gu_R5tDBqCSIkzU9`C-7P35nlbRI4o948w zYw>Nlhih~CfYknj)dBhK^_N)S;x%Yh(R7lcCNC@c=n5^G7Aw^J*i5g{Q7CgLXbhmm zUr03w8B&a=#wgyc9hqN{WhVA@{)TB||q2P<6S>po?S zmW?Map~mfY?Slx_+D_;8$e&(9#!%YEm!Br6@L%8w&4AM6yu&R_+s&*dPGUSCCuG6e zsO81*k&=VPZqFFBkJo7v9@Tol)IUY5w5oc3(qJ z+X!ZB*7Vl!h&KCXzCm}OX5rnz&GjZZGgv7pdw5-^kNuGOOKWeC?+jXKiT8nDbK!mJ z05ooAXT~o0314iak)^rPEFbwfF|WoZd@A5FC8{I9B#wkV@73w5T%?&D1m#z2{Mi>` z`etUa_UeoUm^&I7iNpMnD^Ds0;n){~n0eM}yIb2y*8N*+t^ZaY6eQ!FA zz^gplQH6|D;_dAy^mP>*>GA`-XS4%ug6}kq`j43Rr5fkl)s2oXK9nAECX7e4Ou1Eb z6jHcxHJVsW9p}1*t2LzMyBsIEphh5Ub9%GSJrkKmCk}VRD(0%xJ7BVGsa`S-;^649t7`ye)go8Vm>j3QdN!lY>r~3G~fL6$yfu;;6~AlYAwgj z{RhdW15iCMhqF%xJ_RH0-O|GiR3CX&YLg?#0ADcl(HKRqj3qNI`QnVbQ1WWL(eZ6l zqU3y>;YQN!BFGfE$&iG#-Du5lR82i{@{s+$1fk@GwE2dV(x8bYgk;XFX@CH`bCRyR zQ_EF>%OpbZ2UT zfpukzW}Beh-~`S=@M7w69R_-x^pXxkSi)7|jO)Dn>E-5;hjS+vQ|rXQw9_nZ9G}Ae zfc}|YgQ0$#Im)begjA9*uoKJMh_BPZ7A#aC8H*`@r*LzE&(gJ-yQY-x@L^Snk2bO3 zkqf^kSUN|dqb8`e;J!h>?2?*5MPF4LoxOD3i_Qy&$0s+bcN_mJ>9}9%udZRfzNd(z zQ-{MDYou+vpGQ#o5no041(`z05s=aQ*7u^_e0O;B$E26x;?3!wn{`aGU;8L2K74bm zpgrjH=luLU#O}baoh9@fDqRmUWAow5!i~`{TS^(^c{=SkVR3O4ePBN`cBT4fe&OTI zf%Ts|0>m%t5%hh=pd^X_T-~ZFFGl5e<+#4u1)6?1zGl(j=@XeB8q)BqPUEV|^#hvP z+rnSDl&(Ae``0_|e;VrR!^^rP?5YdGuzh=4HJfqx{o{U(XA8UK{zi8-1lu+;^aVaT z9KnqI&{-8VTC=YYsXI3p*{roO9+#hAyj`;Y5O}gNx{`+Pbnygh_aWvNtMPC48jd-) z3jT$QvVlRf*SnJBx7$x|1-J21hn2XV()?N&`yF!<;8WC?x3NX;)9WNJnl~~?#krh#o3~(kH7CsNBHaF&5;Xg}uk* z?^slr1&3>e1p&UEYK*n-A3S(zG@+9iRA0G~z)Ay=>a<@b)6pTp!qK9C`*p|mDT;Nj z>iqt#RGdcJm3yU`0t#=}K=6B{f}cHi6*HMcYK~4yiyNPjYrALb;=iUDKRB#}`yuoC0NJ`G!csIW^ z@3|nPmKecw;Z2`!7(dIg*$gOn6tb+5OBX0?!-y@CJMfK88SFM^#JFLg!<~{@KPUNp z#Y~(n*eZ03Eb)udiR-y*z@h7Gu>o0PD?N3N(ucmsTapEwwT6>i^2O5}*1{&4ed-Sc zUFcxFjtN7sTiP5MPm3U?7&_e#?s@z9C;N+jf_o*-?urH_XL-`tadIF7Jn4q`Aji;wEgj_Sy(D;wVyhiqPb`jP3s zz4+Okbcm!cWyy8boloGhhss+1K-ym}SZ*&gJCK7mnrgk`i5FxbBMyNzy--9ol$Bq% z>NFoXI5hmePi7bk74$8IaCXU0F4s)wzI@N&aJI-RSzn@iyJuIy!NKG#3LmbjUbWTT zs(zXtfZ<3%$Rx_n)-92UA%!@3-@YM+a^YMa5t*ytvF^^VJC`Lz4^Rh+M1-#D@JK{U zrPV#)`%!f*(`bTc<^4{B6rk0}D%>`;VIF;pA9ruLJr6DCXIn42MOq%&L7@Xx*Ul|( zHtyvjhW50qnV!drQVu>7p|i(m-@fC& zcp*z{(V~oc+|20Cx*PuVq_JOn&W8Sm@nIX%Bx(XtR&uW&Ii zSiD7e+ESkrY&?#-daP~Rqq#7u*c_?(Y(v75V+FVGrX6=rZHz*+iw_iXDJiJDcCrwG zP=42@t~@!krX`jEI7l4nYdp|Co`}8;<*fSSTW89G=b+2=tKuL~?1s4P6*!~QUcz3n zne`->uz2A3=g`o)Zno#*`%KbTGn)22^y&F6@@Zp(p%{s3bt3>+ZR07)I7bwAF2f*aOv&~l zsvgNyY9q-TXd5!?wL@-oif_kL!k@JqQergxcljO z=;2_S8~-Ujy0q3>xy;36iD=soc;Xf7ER6z+!C_j1El19bzLWPzi@m^`sjlTKeq{NW z6e~89=8s+9f=Xr|x(2_>Ef5NBm7skQ80wb$J_^x;{i!0(odIU`XrLE&lBS>b-W4I1 z+&%GbY?6m@lC`TE2dIjs*4BW7#g3^(_)ey%(byittB$WoFnX-BIwSjqvwD3}0A~UN zaLA70GBm0cbJ~On>THH4`<2P$J2uWuXe*2KdoLR==e{gq%PA3DZ6(YiJ}|mh_+)s@ zH*b`Cl;(`6QC`GIalz`nv@ze~{N_C=wM!mO^`O zvbXQHsO2pev+&Z|TQSo}meb1kIAOZFKz7>m9gAXM#MO~@)DJk>{lksG@~<-hzci)3 zce|`!H=$NNY#LQ&Ra-b^>V*mQatj@^TU;Lg-#p#n;J?HEhI z5oPHywM6e1t;s^StxN%P2LVypG&&Yi-vPaX0rx&~(CftrSd?7HxLM6QF|PLju`*Er zK6qx&?;;+6d8;Ex=jf=^MfLND6guAiu`Mvli4f$oK@t|uLuiu(uU6cua${H$`y^2J z0kwu99hrA)P9Yw5cG?q!Z^$`XhNL~STj@iE6dV$$sbOuSKuTO=2#1<9rrK3D4#Kv> z>yzL!rmxYHT0E)+pkP`~T)V>XFq&VnpN5Q3L8PQ5Pp%f0FdQ#buDO}A)>L{ca z`yu0dvz)Nk#r779S7!&2XRIr$>Kq8jf;#&_n7XH@M>u&|{G)#2yZsH0R^iay=a(W| zWi}EiMzS)NKj-}c`n-@X95x1ml*@?LMyOLLQ))4WZlSW4?s&HI?C*Rd4wk)`3}Y~~hXaom?mya1n% zOa1RHQC&pb^ji2by1KesPk!%OeshT4;viE=cm^*zq>zYUIi$Z%&K9w2_1gb-!DGN2 z$<|kB`IFF6=W%y*h4whmnfwwyjw$=lpRCuTyPErQm%5;T{SSLQ=Wt@PRW2E|Cd*!_ z@~BdU64X)HRj!DJDp-cqBoPgEB@gi}( zu_oNrSp-TF!Zbs}Bh|+@mGAyd{wACM})v7o|{1@z<;x+&P literal 0 HcmV?d00001 diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/Images/appicon-5-iPad@2x.png b/gst-sdk/tutorials/xcode iOS/Tutorial 5/Images/appicon-5-iPad@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..a2b3a356effce10a572d0d9c5423cecc2190e6f5 GIT binary patch literal 18029 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 IM2!Of7w);_0RR91 literal 0 HcmV?d00001 diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/LibraryViewController.h b/gst-sdk/tutorials/xcode iOS/Tutorial 5/LibraryViewController.h new file mode 100644 index 0000000000..db18bfaf2c --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/LibraryViewController.h @@ -0,0 +1,11 @@ +#import + +@interface LibraryViewController : UITableViewController +{ + NSArray *mediaEntries; + NSArray *onlineEntries; +} + +- (IBAction)refresh:(id)sender; + +@end diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/LibraryViewController.m b/gst-sdk/tutorials/xcode iOS/Tutorial 5/LibraryViewController.m new file mode 100644 index 0000000000..e0ec124205 --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/LibraryViewController.m @@ -0,0 +1,131 @@ +#import "LibraryViewController.h" +#import "VideoViewController.h" + +@interface LibraryViewController () + +@end + +@implementation LibraryViewController + +- (void)viewDidLoad +{ + [super viewDidLoad]; + [super setTitle:@"Library"]; + [self refreshMediaItems]; +} + +- (IBAction)refresh:(id)sender +{ + [self refreshMediaItems]; + [self.tableView reloadData]; +} + +static NSString *CellIdentifier = @"CellIdentifier"; + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { + return 2; +} + +- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section +{ + switch (section) + { + case 0: return @"Local files (iTunes file sharing)"; + default: return @"Online files"; + } +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { + switch (section) { + case 0: + return [self->mediaEntries count]; + case 1: + return [self->onlineEntries count]; + default: + return 0; + } +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { + UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; + // Configure Cell + UILabel *title = (UILabel *)[cell.contentView viewWithTag:10]; + UILabel *subtitle = (UILabel *)[cell.contentView viewWithTag:11]; + + if(indexPath.section == 0) + { + subtitle.text = [NSString stringWithFormat:@"file://%@", + [self->mediaEntries objectAtIndex:indexPath.item], nil]; + } else if (indexPath.section == 1) + { + subtitle.text = [self->onlineEntries objectAtIndex:indexPath.item]; + } + + NSArray *components = [subtitle.text pathComponents]; + title.text = components.lastObject; + + return cell; +} + +- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { + return NO; +} + +- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath { + return NO; +} + +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + if ([segue.identifier isEqualToString:@"playVideo"]) { + NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow]; + VideoViewController *destViewController = segue.destinationViewController; + UITableViewCell *cell = [[self tableView] cellForRowAtIndexPath:indexPath]; + UILabel *label = (UILabel *)[cell.contentView viewWithTag:10]; + destViewController.title = label.text; + label = (UILabel *)[cell.contentView viewWithTag:11]; + destViewController.uri = label.text; + } +} + +- (void)refreshMediaItems { + NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSAllDomainsMask, YES); + NSString *docsPath = [paths objectAtIndex:0]; + + NSMutableArray *entries = [[NSMutableArray alloc] init]; + for (NSString *e in [[NSFileManager defaultManager] contentsOfDirectoryAtPath:docsPath error:nil]) + { + [entries addObject:[NSString stringWithFormat:@"%@/%@",docsPath, e]]; + } + self->mediaEntries = entries; + + entries = [[NSMutableArray alloc] init]; + + // Big Buck Bunny + [entries addObject:@"http://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_480p_surround-fix.avi"]; + [entries addObject:@"http://mirrorblender.top-ix.org/peach/bigbuckbunny_movies/big_buck_bunny_480p_h264.mov"]; + [entries addObject:@"http://mirrorblender.top-ix.org/peach/bigbuckbunny_movies/big_buck_bunny_480p_stereo.ogg"]; + [entries addObject:@"http://mirrorblender.top-ix.org/peach/bigbuckbunny_movies/big_buck_bunny_480p_stereo.avi"]; + + // Sintel + [entries addObject:@"http://ftp.nluug.nl/ftp/graphics/blender/apricot/trailer/Sintel_Trailer1.480p.DivX_Plus_HD.mkv"]; + [entries addObject:@"http://ftp.nluug.nl/ftp/graphics/blender/apricot/trailer/sintel_trailer-480p.mp4"]; + [entries addObject:@"http://ftp.nluug.nl/ftp/graphics/blender/apricot/trailer/sintel_trailer-480p.ogv"]; + [entries addObject:@"http://mirrorblender.top-ix.org/movies/sintel-1024-surround.mp4"]; + + // Tears of Steel + [entries addObject:@"http://blender-mirror.kino3d.org/mango/download.blender.org/demo/movies/ToS/tears_of_steel_720p.mkv"]; + [entries addObject:@"http://blender-mirror.kino3d.org/mango/download.blender.org/demo/movies/ToS/tears_of_steel_720p.mov"]; + [entries addObject:@"http://media.xiph.org/mango/tears_of_steel_1080p.webm"]; + + // Radio stations + [entries addObject:@"http://radio.hbr1.com:19800/trance.ogg"]; + [entries addObject:@"http://radio.hbr1.com:19800/tronic.aac"]; + + // Non-existing entries (to debug error reporting facilities) + [entries addObject:@"http://non-existing.org/Non_Existing_Server"]; + [entries addObject:@"http://docs.gstreamer.com/Non_Existing_File"]; + + self->onlineEntries = entries; +} + +@end diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/Tutorial 5-Info.plist b/gst-sdk/tutorials/xcode iOS/Tutorial 5/Tutorial 5-Info.plist new file mode 100644 index 0000000000..38b2f62d7f --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/Tutorial 5-Info.plist @@ -0,0 +1,68 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + ${PRODUCT_NAME} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIcons + + CFBundlePrimaryIcon + + CFBundleIconFiles + + appicon-4-iPhone.png + appicon-4-iPhone@2x.png + appicon-4-iPad.png + appicon-4-iPad@2x.png + appicon-5-iPhone.png + appicon-5-iPhone@2x.png + appicon-5-iPad.png + appicon-5-iPad@2x.png + + + + CFBundleIdentifier + gstreamer-sdk.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + UIFileSharingEnabled + + UIMainStoryboardFile + MainStoryboard_iPhone + UIMainStoryboardFile~ipad + MainStoryboard_iPad + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/Tutorial 5-Prefix.pch b/gst-sdk/tutorials/xcode iOS/Tutorial 5/Tutorial 5-Prefix.pch new file mode 100644 index 0000000000..35ed66ad8c --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/Tutorial 5-Prefix.pch @@ -0,0 +1,14 @@ +// +// Prefix header for all source files of the 'Tutorial 5' target in the 'Tutorial 5' project +// + +#import + +#ifndef __IPHONE_5_0 +#warning "This project uses features only available in iOS SDK 5.0 and later." +#endif + +#ifdef __OBJC__ + #import + #import +#endif diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/VideoViewController.h b/gst-sdk/tutorials/xcode iOS/Tutorial 5/VideoViewController.h new file mode 100644 index 0000000000..5935306ddf --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/VideoViewController.h @@ -0,0 +1,29 @@ +#import +#import "GStreamerBackendDelegate.h" + +@interface VideoViewController : UIViewController { + IBOutlet UILabel *message_label; + IBOutlet UIBarButtonItem *play_button; + IBOutlet UIBarButtonItem *pause_button; + IBOutlet UIView *video_view; + IBOutlet UIView *video_container_view; + IBOutlet NSLayoutConstraint *video_width_constraint; + IBOutlet NSLayoutConstraint *video_height_constraint; + IBOutlet UIToolbar *toolbar; + IBOutlet UITextField *time_label; + IBOutlet UISlider *time_slider; +} + +@property (retain,nonatomic) NSString *uri; + +-(IBAction) play:(id)sender; +-(IBAction) pause:(id)sender; +-(IBAction) sliderValueChanged:(id)sender; +-(IBAction) sliderTouchDown:(id)sender; +-(IBAction) sliderTouchUp:(id)sender; + +/* From GStreamerBackendDelegate */ +-(void) gstreamerInitialized; +-(void) gstreamerSetUIMessage:(NSString *)message; + +@end diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/VideoViewController.m b/gst-sdk/tutorials/xcode iOS/Tutorial 5/VideoViewController.m new file mode 100644 index 0000000000..536082d4a6 --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/VideoViewController.m @@ -0,0 +1,187 @@ +#import "VideoViewController.h" +#import "GStreamerBackend.h" +#import + +@interface VideoViewController () { + GStreamerBackend *gst_backend; + int media_width; + int media_height; + Boolean dragging_slider; + Boolean is_local_media; + Boolean is_playing_desired; +} + +@end + +@implementation VideoViewController + +@synthesize uri; + +/* + * Private methods + */ +- (void) updateTimeWidget +{ + NSInteger position = time_slider.value / 1000; + NSInteger duration = time_slider.maximumValue / 1000; + NSString *position_txt = @" -- "; + NSString *duration_txt = @" -- "; + + if (duration > 0) { + NSUInteger hours = duration / (60 * 60); + NSUInteger minutes = (duration / 60) % 60; + NSUInteger seconds = duration % 60; + + duration_txt = [NSString stringWithFormat:@"%02u:%02u:%02u", hours, minutes, seconds]; + } + if (position > 0) { + NSUInteger hours = position / (60 * 60); + NSUInteger minutes = (position / 60) % 60; + NSUInteger seconds = position % 60; + + position_txt = [NSString stringWithFormat:@"%02u:%02u:%02u", hours, minutes, seconds]; + } + + NSString *text = [NSString stringWithFormat:@"%@ / %@", + position_txt, duration_txt]; + + time_label.text = text; +} + +/* + * Methods from UIViewController + */ + +- (void)viewDidLoad +{ + [super viewDidLoad]; + + play_button.enabled = FALSE; + pause_button.enabled = FALSE; + + /* As soon as the GStreamer backend knows the real values, these ones will be replaced */ + media_width = 320; + media_height = 240; + + gst_backend = [[GStreamerBackend alloc] init:self videoView:video_view]; +} + +- (void)viewDidDisappear:(BOOL)animated +{ + if (gst_backend) + { + [gst_backend deinit]; + } +} + +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +/* Called when the Play button is pressed */ +-(IBAction) play:(id)sender +{ + [gst_backend play]; + is_playing_desired = YES; +} + +/* Called when the Pause button is pressed */ +-(IBAction) pause:(id)sender +{ + [gst_backend pause]; + is_playing_desired = NO; +} + +- (IBAction)sliderValueChanged:(id)sender { + if (!dragging_slider) return; + // If this is a local file, allow scrub seeking, this is, seek as soon as the slider is moved. + if (is_local_media) + [gst_backend setPosition:time_slider.value]; + [self updateTimeWidget]; +} + +- (IBAction)sliderTouchDown:(id)sender { + [gst_backend pause]; + dragging_slider = YES; +} + +- (IBAction)sliderTouchUp:(id)sender { + dragging_slider = NO; + // If this is a remote file, scrub seeking is probably not going to work smoothly enough. + // Therefore, perform only the seek when the slider is released. + if (!is_local_media) + [gst_backend setPosition:time_slider.value]; + if (is_playing_desired) + [gst_backend play]; +} + +/* Called when the size of the main view has changed, so we can + * resize the sub-views in ways not allowed by storyboarding. */ +- (void)viewDidLayoutSubviews +{ + CGFloat view_width = video_container_view.bounds.size.width; + CGFloat view_height = video_container_view.bounds.size.height; + + CGFloat correct_height = view_width * media_height / media_width; + CGFloat correct_width = view_height * media_width / media_height; + + if (correct_height < view_height) { + video_height_constraint.constant = correct_height; + video_width_constraint.constant = view_width; + } else { + video_width_constraint.constant = correct_width; + video_height_constraint.constant = view_height; + } + + time_slider.frame = CGRectMake(time_slider.frame.origin.x, time_slider.frame.origin.y, toolbar.frame.size.width - time_slider.frame.origin.x - 8, time_slider.frame.size.height); +} + +/* + * Methods from GstreamerBackendDelegate + */ + +-(void) gstreamerInitialized +{ + dispatch_async(dispatch_get_main_queue(), ^{ + play_button.enabled = TRUE; + pause_button.enabled = TRUE; + message_label.text = @"Ready"; + [gst_backend setUri:uri]; + is_local_media = [uri hasPrefix:@"file://"]; + is_playing_desired = NO; + }); +} + +-(void) gstreamerSetUIMessage:(NSString *)message +{ + dispatch_async(dispatch_get_main_queue(), ^{ + message_label.text = message; + }); +} + +-(void) mediaSizeChanged:(NSInteger)width height:(NSInteger)height +{ + media_width = width; + media_height = height; + dispatch_async(dispatch_get_main_queue(), ^{ + [self viewDidLayoutSubviews]; + [video_view setNeedsLayout]; + [video_view layoutIfNeeded]; + }); +} + +-(void) setCurrentPosition:(NSInteger)position duration:(NSInteger)duration +{ + /* Ignore messages from the pipeline if the time sliders is being dragged */ + if (dragging_slider) return; + + dispatch_async(dispatch_get_main_queue(), ^{ + time_slider.maximumValue = duration; + time_slider.value = position; + [self updateTimeWidget]; + }); +} + +@end diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/en.lproj/InfoPlist.strings b/gst-sdk/tutorials/xcode iOS/Tutorial 5/en.lproj/InfoPlist.strings new file mode 100644 index 0000000000..477b28ff8f --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/en.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/en.lproj/MainStoryboard_iPad.storyboard b/gst-sdk/tutorials/xcode iOS/Tutorial 5/en.lproj/MainStoryboard_iPad.storyboard new file mode 100644 index 0000000000..d91286610f --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/en.lproj/MainStoryboard_iPad.storyboard @@ -0,0 +1,216 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/en.lproj/MainStoryboard_iPhone.storyboard b/gst-sdk/tutorials/xcode iOS/Tutorial 5/en.lproj/MainStoryboard_iPhone.storyboard new file mode 100644 index 0000000000..deb9a86352 --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/en.lproj/MainStoryboard_iPhone.storyboard @@ -0,0 +1,224 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.c b/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.c new file mode 100644 index 0000000000..e60564a570 --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.c @@ -0,0 +1,1006 @@ +#include "gst_ios_init.h" + +#if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(coreelements); +#endif +#if defined(GST_IOS_PLUGIN_COREINDEXERS) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(coreindexers); +#endif +#if defined(GST_IOS_PLUGIN_ADDER) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(adder); +#endif +#if defined(GST_IOS_PLUGIN_APP) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(app); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOCONVERT) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(audioconvert); +#endif +#if defined(GST_IOS_PLUGIN_AUDIORATE) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(audiorate); +#endif +#if defined(GST_IOS_PLUGIN_AUDIORESAMPLE) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(audioresample); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOTESTSRC) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(audiotestsrc); +#endif +#if defined(GST_IOS_PLUGIN_FFMPEGCOLORSPACE) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(ffmpegcolorspace); +#endif +#if defined(GST_IOS_PLUGIN_GDP) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(gdp); +#endif +#if defined(GST_IOS_PLUGIN_GIO) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(gio); +#endif +#if defined(GST_IOS_PLUGIN_PANGO) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(pango); +#endif +#if defined(GST_IOS_PLUGIN_TYPEFINDFUNCTIONS) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(typefindfunctions); +#endif +#if defined(GST_IOS_PLUGIN_VIDEORATE) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(videorate); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOSCALE) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(videoscale); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOTESTSRC) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(videotestsrc); +#endif +#if defined(GST_IOS_PLUGIN_VOLUME) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(volume); +#endif +#if defined(GST_IOS_PLUGIN_AUTODETECT) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(autodetect); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOFILTER) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(videofilter); +#endif +#if defined(GST_IOS_PLUGIN_CAMERABIN2) || defined(GST_IOS_PLUGINS_CAPTURE) +GST_PLUGIN_STATIC_DECLARE(camerabin2); +#endif +#if defined(GST_IOS_PLUGIN_ASFMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(asfmux); +#endif +#if defined(GST_IOS_PLUGIN_DTSDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(dtsdec); +#endif +#if defined(GST_IOS_PLUGIN_FAAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(faad); +#endif +#if defined(GST_IOS_PLUGIN_MPEGDEMUX2) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mpegdemux2); +#endif +#if defined(GST_IOS_PLUGIN_MPEGPSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mpegpsmux); +#endif +#if defined(GST_IOS_PLUGIN_MPEGTSDEMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mpegtsdemux); +#endif +#if defined(GST_IOS_PLUGIN_MPEGTSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mpegtsmux); +#endif +#if defined(GST_IOS_PLUGIN_A52DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(a52dec); +#endif +#if defined(GST_IOS_PLUGIN_AMRNB) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(amrnb); +#endif +#if defined(GST_IOS_PLUGIN_AMRWBDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(amrwbdec); +#endif +#if defined(GST_IOS_PLUGIN_ASF) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(asf); +#endif +#if defined(GST_IOS_PLUGIN_MAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mad); +#endif +#if defined(GST_IOS_PLUGIN_MPEG2DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mpeg2dec); +#endif +#if defined(GST_IOS_PLUGIN_MPEGAUDIOPARSE) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mpegaudioparse); +#endif +#if defined(GST_IOS_PLUGIN_REALMEDIA) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(realmedia); +#endif +#if defined(GST_IOS_PLUGIN_X264) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(x264); +#endif +#if defined(GST_IOS_PLUGIN_FFMPEG) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(ffmpeg); +#endif +#if defined(GST_IOS_PLUGIN_ENCODING) || defined(GST_IOS_PLUGINS_ENCODING) +GST_PLUGIN_STATIC_DECLARE(encoding); +#endif +#if defined(GST_IOS_PLUGIN_INDVD) || defined(GST_IOS_PLUGINS_DVD) +GST_PLUGIN_STATIC_DECLARE(indvd); +#endif +#if defined(GST_IOS_PLUGIN_DVDLPCMDEC) || defined(GST_IOS_PLUGINS_DVD) +GST_PLUGIN_STATIC_DECLARE(dvdlpcmdec); +#endif +#if defined(GST_IOS_PLUGIN_DVDREAD) || defined(GST_IOS_PLUGINS_DVD) +GST_PLUGIN_STATIC_DECLARE(dvdread); +#endif +#if defined(GST_IOS_PLUGIN_ASSRENDER) || defined(GST_IOS_PLUGINS_CODECS_GPL) +GST_PLUGIN_STATIC_DECLARE(assrender); +#endif +#if defined(GST_IOS_PLUGIN_MMS) || defined(GST_IOS_PLUGINS_NET_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mms); +#endif +#if defined(GST_IOS_PLUGIN_OSXAUDIO) || defined(GST_IOS_PLUGINS_SYS) +GST_PLUGIN_STATIC_DECLARE(osxaudio); +#endif +#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) +GST_PLUGIN_STATIC_DECLARE(eglglessink); +#endif +#if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS) +GST_PLUGIN_STATIC_DECLARE(applemedia_nonpublic); +#endif +#if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) +GST_PLUGIN_STATIC_DECLARE(libvisual); +#endif +#if defined(GST_IOS_PLUGIN_GOOM) || defined(GST_IOS_PLUGINS_VIS) +GST_PLUGIN_STATIC_DECLARE(goom); +#endif +#if defined(GST_IOS_PLUGIN_GOOM2K1) || defined(GST_IOS_PLUGINS_VIS) +GST_PLUGIN_STATIC_DECLARE(goom2k1); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOVISUALIZERS) || defined(GST_IOS_PLUGINS_VIS) +GST_PLUGIN_STATIC_DECLARE(audiovisualizers); +#endif +#if defined(GST_IOS_PLUGIN_URIDECODEBIN) || defined(GST_IOS_PLUGINS_PLAYBACK) +GST_PLUGIN_STATIC_DECLARE(uridecodebin); +#endif +#if defined(GST_IOS_PLUGIN_PLAYBACK) || defined(GST_IOS_PLUGINS_PLAYBACK) +GST_PLUGIN_STATIC_DECLARE(playback); +#endif +#if defined(GST_IOS_PLUGIN_ALPHA) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(alpha); +#endif +#if defined(GST_IOS_PLUGIN_ALPHACOLOR) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(alphacolor); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOFX) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(audiofx); +#endif +#if defined(GST_IOS_PLUGIN_CAIRO) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(cairo); +#endif +#if defined(GST_IOS_PLUGIN_CUTTER) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(cutter); +#endif +#if defined(GST_IOS_PLUGIN_DEBUG) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(debug); +#endif +#if defined(GST_IOS_PLUGIN_DEINTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(deinterlace); +#endif +#if defined(GST_IOS_PLUGIN_EFFECTV) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(effectv); +#endif +#if defined(GST_IOS_PLUGIN_EQUALIZER) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(equalizer); +#endif +#if defined(GST_IOS_PLUGIN_GDKPIXBUF) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(gdkpixbuf); +#endif +#if defined(GST_IOS_PLUGIN_IMAGEFREEZE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(imagefreeze); +#endif +#if defined(GST_IOS_PLUGIN_INTERLEAVE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(interleave); +#endif +#if defined(GST_IOS_PLUGIN_LEVEL) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(level); +#endif +#if defined(GST_IOS_PLUGIN_MULTIFILE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(multifile); +#endif +#if defined(GST_IOS_PLUGIN_REPLAYGAIN) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(replaygain); +#endif +#if defined(GST_IOS_PLUGIN_SHAPEWIPE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(shapewipe); +#endif +#if defined(GST_IOS_PLUGIN_SMPTE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(smpte); +#endif +#if defined(GST_IOS_PLUGIN_SPECTRUM) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(spectrum); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOBOX) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(videobox); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOCROP) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(videocrop); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOMIXER) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(videomixer); +#endif +#if defined(GST_IOS_PLUGIN_AUTOCONVERT) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(autoconvert); +#endif +#if defined(GST_IOS_PLUGIN_BAYER) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(bayer); +#endif +#if defined(GST_IOS_PLUGIN_COLOREFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(coloreffects); +#endif +#if defined(GST_IOS_PLUGIN_FACEOVERLAY) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(faceoverlay); +#endif +#if defined(GST_IOS_PLUGIN_FIELDANALYSIS) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(fieldanalysis); +#endif +#if defined(GST_IOS_PLUGIN_FREEVERB) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(freeverb); +#endif +#if defined(GST_IOS_PLUGIN_FREI0R) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(frei0r); +#endif +#if defined(GST_IOS_PLUGIN_GAUDIEFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(gaudieffects); +#endif +#if defined(GST_IOS_PLUGIN_GEOMETRICTRANSFORM) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(geometrictransform); +#endif +#if defined(GST_IOS_PLUGIN_INTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(interlace); +#endif +#if defined(GST_IOS_PLUGIN_JP2KDECIMATOR) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(jp2kdecimator); +#endif +#if defined(GST_IOS_PLUGIN_LIVEADDER) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(liveadder); +#endif +#if defined(GST_IOS_PLUGIN_RAWPARSE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(rawparse); +#endif +#if defined(GST_IOS_PLUGIN_REMOVESILENCE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(removesilence); +#endif +#if defined(GST_IOS_PLUGIN_SCALETEMPO) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(scaletempo); +#endif +#if defined(GST_IOS_PLUGIN_SEGMENTCLIP) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(segmentclip); +#endif +#if defined(GST_IOS_PLUGIN_SMOOTH) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(smooth); +#endif +#if defined(GST_IOS_PLUGIN_SOUNDTOUCH) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(soundtouch); +#endif +#if defined(GST_IOS_PLUGIN_SPEED) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(speed); +#endif +#if defined(GST_IOS_PLUGIN_STEREO) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(stereo); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOFILTERSBAD) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(videofiltersbad); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOMEASURE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(videomeasure); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOSIGNAL) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(videosignal); +#endif +#if defined(GST_IOS_PLUGIN_SUBPARSE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(subparse); +#endif +#if defined(GST_IOS_PLUGIN_OGG) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(ogg); +#endif +#if defined(GST_IOS_PLUGIN_THEORA) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(theora); +#endif +#if defined(GST_IOS_PLUGIN_VORBIS) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(vorbis); +#endif +#if defined(GST_IOS_PLUGIN_IVORBISDEC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(ivorbisdec); +#endif +#if defined(GST_IOS_PLUGIN_ALAW) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(alaw); +#endif +#if defined(GST_IOS_PLUGIN_ANNODEX) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(annodex); +#endif +#if defined(GST_IOS_PLUGIN_APETAG) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(apetag); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOPARSERS) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(audioparsers); +#endif +#if defined(GST_IOS_PLUGIN_AUPARSE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(auparse); +#endif +#if defined(GST_IOS_PLUGIN_AVI) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(avi); +#endif +#if defined(GST_IOS_PLUGIN_DV) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(dv); +#endif +#if defined(GST_IOS_PLUGIN_FLAC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(flac); +#endif +#if defined(GST_IOS_PLUGIN_FLV) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(flv); +#endif +#if defined(GST_IOS_PLUGIN_FLXDEC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(flxdec); +#endif +#if defined(GST_IOS_PLUGIN_ICYDEMUX) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(icydemux); +#endif +#if defined(GST_IOS_PLUGIN_ID3DEMUX) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(id3demux); +#endif +#if defined(GST_IOS_PLUGIN_ISOMP4) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(isomp4); +#endif +#if defined(GST_IOS_PLUGIN_JPEG) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(jpeg); +#endif +#if defined(GST_IOS_PLUGIN_MATROSKA) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(matroska); +#endif +#if defined(GST_IOS_PLUGIN_MULAW) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(mulaw); +#endif +#if defined(GST_IOS_PLUGIN_MULTIPART) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(multipart); +#endif +#if defined(GST_IOS_PLUGIN_PNG) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(png); +#endif +#if defined(GST_IOS_PLUGIN_SPEEX) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(speex); +#endif +#if defined(GST_IOS_PLUGIN_TAGLIB) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(taglib); +#endif +#if defined(GST_IOS_PLUGIN_WAVENC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(wavenc); +#endif +#if defined(GST_IOS_PLUGIN_WAVPACK) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(wavpack); +#endif +#if defined(GST_IOS_PLUGIN_WAVPARSE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(wavparse); +#endif +#if defined(GST_IOS_PLUGIN_Y4MENC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(y4menc); +#endif +#if defined(GST_IOS_PLUGIN_ADPCMDEC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(adpcmdec); +#endif +#if defined(GST_IOS_PLUGIN_ADPCMENC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(adpcmenc); +#endif +#if defined(GST_IOS_PLUGIN_AIFF) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(aiff); +#endif +#if defined(GST_IOS_PLUGIN_CDXAPARSE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(cdxaparse); +#endif +#if defined(GST_IOS_PLUGIN_DCCP) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(dccp); +#endif +#if defined(GST_IOS_PLUGIN_DTMF) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(dtmf); +#endif +#if defined(GST_IOS_PLUGIN_DVBSUBOVERLAY) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(dvbsuboverlay); +#endif +#if defined(GST_IOS_PLUGIN_DVDSPU) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(dvdspu); +#endif +#if defined(GST_IOS_PLUGIN_FRAGMENTED) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(fragmented); +#endif +#if defined(GST_IOS_PLUGIN_HDVPARSE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(hdvparse); +#endif +#if defined(GST_IOS_PLUGIN_ID3TAG) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(id3tag); +#endif +#if defined(GST_IOS_PLUGIN_IVFPARSE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(ivfparse); +#endif +#if defined(GST_IOS_PLUGIN_JP2K) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(jp2k); +#endif +#if defined(GST_IOS_PLUGIN_KATE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(kate); +#endif +#if defined(GST_IOS_PLUGIN_MVE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(mve); +#endif +#if defined(GST_IOS_PLUGIN_MXF) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(mxf); +#endif +#if defined(GST_IOS_PLUGIN_NSF) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(nsf); +#endif +#if defined(GST_IOS_PLUGIN_NUVDEMUX) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(nuvdemux); +#endif +#if defined(GST_IOS_PLUGIN_OPUS) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(opus); +#endif +#if defined(GST_IOS_PLUGIN_PCAPPARSE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(pcapparse); +#endif +#if defined(GST_IOS_PLUGIN_PNM) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(pnm); +#endif +#if defined(GST_IOS_PLUGIN_SCHRO) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(schro); +#endif +#if defined(GST_IOS_PLUGIN_GSTSIREN) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(gstsiren); +#endif +#if defined(GST_IOS_PLUGIN_SUBENC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(subenc); +#endif +#if defined(GST_IOS_PLUGIN_TTA) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(tta); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOPARSERSBAD) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(videoparsersbad); +#endif +#if defined(GST_IOS_PLUGIN_VMNC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(vmnc); +#endif +#if defined(GST_IOS_PLUGIN_VP8) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(vp8); +#endif +#if defined(GST_IOS_PLUGIN_Y4MDEC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(y4mdec); +#endif +#if defined(GST_IOS_PLUGIN_TCP) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(tcp); +#endif +#if defined(GST_IOS_PLUGIN_RTSP) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(rtsp); +#endif +#if defined(GST_IOS_PLUGIN_RTP) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(rtp); +#endif +#if defined(GST_IOS_PLUGIN_GSTRTPMANAGER) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(gstrtpmanager); +#endif +#if defined(GST_IOS_PLUGIN_SOUP) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(soup); +#endif +#if defined(GST_IOS_PLUGIN_UDP) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(udp); +#endif +#if defined(GST_IOS_PLUGIN_DATAURISRC) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(dataurisrc); +#endif +#if defined(GST_IOS_PLUGIN_RTPMUX) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(rtpmux); +#endif +#if defined(GST_IOS_PLUGIN_RTPVP8) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(rtpvp8); +#endif +#if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(sdp); +#endif + +void +gst_ios_init (void) +{ + GstPluginFeature *plugin; + GstRegistry *reg; + + gst_init (NULL, NULL); + +#if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(coreelements); +#endif +#if defined(GST_IOS_PLUGIN_COREINDEXERS) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(coreindexers); +#endif +#if defined(GST_IOS_PLUGIN_ADDER) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(adder); +#endif +#if defined(GST_IOS_PLUGIN_APP) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(app); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOCONVERT) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(audioconvert); +#endif +#if defined(GST_IOS_PLUGIN_AUDIORATE) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(audiorate); +#endif +#if defined(GST_IOS_PLUGIN_AUDIORESAMPLE) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(audioresample); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOTESTSRC) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(audiotestsrc); +#endif +#if defined(GST_IOS_PLUGIN_FFMPEGCOLORSPACE) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(ffmpegcolorspace); +#endif +#if defined(GST_IOS_PLUGIN_GDP) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(gdp); +#endif +#if defined(GST_IOS_PLUGIN_GIO) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(gio); +#endif +#if defined(GST_IOS_PLUGIN_PANGO) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(pango); +#endif +#if defined(GST_IOS_PLUGIN_TYPEFINDFUNCTIONS) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(typefindfunctions); +#endif +#if defined(GST_IOS_PLUGIN_VIDEORATE) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(videorate); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOSCALE) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(videoscale); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOTESTSRC) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(videotestsrc); +#endif +#if defined(GST_IOS_PLUGIN_VOLUME) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(volume); +#endif +#if defined(GST_IOS_PLUGIN_AUTODETECT) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(autodetect); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOFILTER) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(videofilter); +#endif +#if defined(GST_IOS_PLUGIN_CAMERABIN2) || defined(GST_IOS_PLUGINS_CAPTURE) + GST_PLUGIN_STATIC_REGISTER(camerabin2); +#endif +#if defined(GST_IOS_PLUGIN_ASFMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(asfmux); +#endif +#if defined(GST_IOS_PLUGIN_DTSDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(dtsdec); +#endif +#if defined(GST_IOS_PLUGIN_FAAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(faad); +#endif +#if defined(GST_IOS_PLUGIN_MPEGDEMUX2) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mpegdemux2); +#endif +#if defined(GST_IOS_PLUGIN_MPEGPSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mpegpsmux); +#endif +#if defined(GST_IOS_PLUGIN_MPEGTSDEMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mpegtsdemux); +#endif +#if defined(GST_IOS_PLUGIN_MPEGTSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mpegtsmux); +#endif +#if defined(GST_IOS_PLUGIN_A52DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(a52dec); +#endif +#if defined(GST_IOS_PLUGIN_AMRNB) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(amrnb); +#endif +#if defined(GST_IOS_PLUGIN_AMRWBDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(amrwbdec); +#endif +#if defined(GST_IOS_PLUGIN_ASF) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(asf); +#endif +#if defined(GST_IOS_PLUGIN_MAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mad); +#endif +#if defined(GST_IOS_PLUGIN_MPEG2DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mpeg2dec); +#endif +#if defined(GST_IOS_PLUGIN_MPEGAUDIOPARSE) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mpegaudioparse); +#endif +#if defined(GST_IOS_PLUGIN_REALMEDIA) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(realmedia); +#endif +#if defined(GST_IOS_PLUGIN_X264) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(x264); +#endif +#if defined(GST_IOS_PLUGIN_FFMPEG) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(ffmpeg); +#endif +#if defined(GST_IOS_PLUGIN_ENCODING) || defined(GST_IOS_PLUGINS_ENCODING) + GST_PLUGIN_STATIC_REGISTER(encoding); +#endif +#if defined(GST_IOS_PLUGIN_INDVD) || defined(GST_IOS_PLUGINS_DVD) + GST_PLUGIN_STATIC_REGISTER(indvd); +#endif +#if defined(GST_IOS_PLUGIN_DVDLPCMDEC) || defined(GST_IOS_PLUGINS_DVD) + GST_PLUGIN_STATIC_REGISTER(dvdlpcmdec); +#endif +#if defined(GST_IOS_PLUGIN_DVDREAD) || defined(GST_IOS_PLUGINS_DVD) + GST_PLUGIN_STATIC_REGISTER(dvdread); +#endif +#if defined(GST_IOS_PLUGIN_ASSRENDER) || defined(GST_IOS_PLUGINS_CODECS_GPL) + GST_PLUGIN_STATIC_REGISTER(assrender); +#endif +#if defined(GST_IOS_PLUGIN_MMS) || defined(GST_IOS_PLUGINS_NET_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mms); +#endif +#if defined(GST_IOS_PLUGIN_OSXAUDIO) || defined(GST_IOS_PLUGINS_SYS) + GST_PLUGIN_STATIC_REGISTER(osxaudio); +#endif +#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) + GST_PLUGIN_STATIC_REGISTER(eglglessink); +#endif +#if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS) + GST_PLUGIN_STATIC_REGISTER(applemedia_nonpublic); +#endif +#if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) + GST_PLUGIN_STATIC_REGISTER(libvisual); +#endif +#if defined(GST_IOS_PLUGIN_GOOM) || defined(GST_IOS_PLUGINS_VIS) + GST_PLUGIN_STATIC_REGISTER(goom); +#endif +#if defined(GST_IOS_PLUGIN_GOOM2K1) || defined(GST_IOS_PLUGINS_VIS) + GST_PLUGIN_STATIC_REGISTER(goom2k1); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOVISUALIZERS) || defined(GST_IOS_PLUGINS_VIS) + GST_PLUGIN_STATIC_REGISTER(audiovisualizers); +#endif +#if defined(GST_IOS_PLUGIN_URIDECODEBIN) || defined(GST_IOS_PLUGINS_PLAYBACK) + GST_PLUGIN_STATIC_REGISTER(uridecodebin); +#endif +#if defined(GST_IOS_PLUGIN_PLAYBACK) || defined(GST_IOS_PLUGINS_PLAYBACK) + GST_PLUGIN_STATIC_REGISTER(playback); +#endif +#if defined(GST_IOS_PLUGIN_ALPHA) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(alpha); +#endif +#if defined(GST_IOS_PLUGIN_ALPHACOLOR) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(alphacolor); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOFX) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(audiofx); +#endif +#if defined(GST_IOS_PLUGIN_CAIRO) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(cairo); +#endif +#if defined(GST_IOS_PLUGIN_CUTTER) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(cutter); +#endif +#if defined(GST_IOS_PLUGIN_DEBUG) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(debug); +#endif +#if defined(GST_IOS_PLUGIN_DEINTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(deinterlace); +#endif +#if defined(GST_IOS_PLUGIN_EFFECTV) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(effectv); +#endif +#if defined(GST_IOS_PLUGIN_EQUALIZER) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(equalizer); +#endif +#if defined(GST_IOS_PLUGIN_GDKPIXBUF) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(gdkpixbuf); +#endif +#if defined(GST_IOS_PLUGIN_IMAGEFREEZE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(imagefreeze); +#endif +#if defined(GST_IOS_PLUGIN_INTERLEAVE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(interleave); +#endif +#if defined(GST_IOS_PLUGIN_LEVEL) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(level); +#endif +#if defined(GST_IOS_PLUGIN_MULTIFILE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(multifile); +#endif +#if defined(GST_IOS_PLUGIN_REPLAYGAIN) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(replaygain); +#endif +#if defined(GST_IOS_PLUGIN_SHAPEWIPE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(shapewipe); +#endif +#if defined(GST_IOS_PLUGIN_SMPTE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(smpte); +#endif +#if defined(GST_IOS_PLUGIN_SPECTRUM) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(spectrum); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOBOX) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(videobox); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOCROP) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(videocrop); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOMIXER) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(videomixer); +#endif +#if defined(GST_IOS_PLUGIN_AUTOCONVERT) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(autoconvert); +#endif +#if defined(GST_IOS_PLUGIN_BAYER) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(bayer); +#endif +#if defined(GST_IOS_PLUGIN_COLOREFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(coloreffects); +#endif +#if defined(GST_IOS_PLUGIN_FACEOVERLAY) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(faceoverlay); +#endif +#if defined(GST_IOS_PLUGIN_FIELDANALYSIS) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(fieldanalysis); +#endif +#if defined(GST_IOS_PLUGIN_FREEVERB) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(freeverb); +#endif +#if defined(GST_IOS_PLUGIN_FREI0R) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(frei0r); +#endif +#if defined(GST_IOS_PLUGIN_GAUDIEFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(gaudieffects); +#endif +#if defined(GST_IOS_PLUGIN_GEOMETRICTRANSFORM) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(geometrictransform); +#endif +#if defined(GST_IOS_PLUGIN_INTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(interlace); +#endif +#if defined(GST_IOS_PLUGIN_JP2KDECIMATOR) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(jp2kdecimator); +#endif +#if defined(GST_IOS_PLUGIN_LIVEADDER) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(liveadder); +#endif +#if defined(GST_IOS_PLUGIN_RAWPARSE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(rawparse); +#endif +#if defined(GST_IOS_PLUGIN_REMOVESILENCE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(removesilence); +#endif +#if defined(GST_IOS_PLUGIN_SCALETEMPO) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(scaletempo); +#endif +#if defined(GST_IOS_PLUGIN_SEGMENTCLIP) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(segmentclip); +#endif +#if defined(GST_IOS_PLUGIN_SMOOTH) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(smooth); +#endif +#if defined(GST_IOS_PLUGIN_SOUNDTOUCH) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(soundtouch); +#endif +#if defined(GST_IOS_PLUGIN_SPEED) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(speed); +#endif +#if defined(GST_IOS_PLUGIN_STEREO) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(stereo); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOFILTERSBAD) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(videofiltersbad); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOMEASURE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(videomeasure); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOSIGNAL) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(videosignal); +#endif +#if defined(GST_IOS_PLUGIN_SUBPARSE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(subparse); +#endif +#if defined(GST_IOS_PLUGIN_OGG) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(ogg); +#endif +#if defined(GST_IOS_PLUGIN_THEORA) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(theora); +#endif +#if defined(GST_IOS_PLUGIN_VORBIS) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(vorbis); +#endif +#if defined(GST_IOS_PLUGIN_IVORBISDEC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(ivorbisdec); +#endif +#if defined(GST_IOS_PLUGIN_ALAW) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(alaw); +#endif +#if defined(GST_IOS_PLUGIN_ANNODEX) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(annodex); +#endif +#if defined(GST_IOS_PLUGIN_APETAG) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(apetag); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOPARSERS) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(audioparsers); +#endif +#if defined(GST_IOS_PLUGIN_AUPARSE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(auparse); +#endif +#if defined(GST_IOS_PLUGIN_AVI) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(avi); +#endif +#if defined(GST_IOS_PLUGIN_DV) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(dv); +#endif +#if defined(GST_IOS_PLUGIN_FLAC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(flac); +#endif +#if defined(GST_IOS_PLUGIN_FLV) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(flv); +#endif +#if defined(GST_IOS_PLUGIN_FLXDEC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(flxdec); +#endif +#if defined(GST_IOS_PLUGIN_ICYDEMUX) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(icydemux); +#endif +#if defined(GST_IOS_PLUGIN_ID3DEMUX) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(id3demux); +#endif +#if defined(GST_IOS_PLUGIN_ISOMP4) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(isomp4); +#endif +#if defined(GST_IOS_PLUGIN_JPEG) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(jpeg); +#endif +#if defined(GST_IOS_PLUGIN_MATROSKA) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(matroska); +#endif +#if defined(GST_IOS_PLUGIN_MULAW) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(mulaw); +#endif +#if defined(GST_IOS_PLUGIN_MULTIPART) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(multipart); +#endif +#if defined(GST_IOS_PLUGIN_PNG) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(png); +#endif +#if defined(GST_IOS_PLUGIN_SPEEX) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(speex); +#endif +#if defined(GST_IOS_PLUGIN_TAGLIB) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(taglib); +#endif +#if defined(GST_IOS_PLUGIN_WAVENC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(wavenc); +#endif +#if defined(GST_IOS_PLUGIN_WAVPACK) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(wavpack); +#endif +#if defined(GST_IOS_PLUGIN_WAVPARSE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(wavparse); +#endif +#if defined(GST_IOS_PLUGIN_Y4MENC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(y4menc); +#endif +#if defined(GST_IOS_PLUGIN_ADPCMDEC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(adpcmdec); +#endif +#if defined(GST_IOS_PLUGIN_ADPCMENC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(adpcmenc); +#endif +#if defined(GST_IOS_PLUGIN_AIFF) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(aiff); +#endif +#if defined(GST_IOS_PLUGIN_CDXAPARSE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(cdxaparse); +#endif +#if defined(GST_IOS_PLUGIN_DCCP) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(dccp); +#endif +#if defined(GST_IOS_PLUGIN_DTMF) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(dtmf); +#endif +#if defined(GST_IOS_PLUGIN_DVBSUBOVERLAY) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(dvbsuboverlay); +#endif +#if defined(GST_IOS_PLUGIN_DVDSPU) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(dvdspu); +#endif +#if defined(GST_IOS_PLUGIN_FRAGMENTED) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(fragmented); +#endif +#if defined(GST_IOS_PLUGIN_HDVPARSE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(hdvparse); +#endif +#if defined(GST_IOS_PLUGIN_ID3TAG) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(id3tag); +#endif +#if defined(GST_IOS_PLUGIN_IVFPARSE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(ivfparse); +#endif +#if defined(GST_IOS_PLUGIN_JP2K) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(jp2k); +#endif +#if defined(GST_IOS_PLUGIN_KATE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(kate); +#endif +#if defined(GST_IOS_PLUGIN_MVE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(mve); +#endif +#if defined(GST_IOS_PLUGIN_MXF) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(mxf); +#endif +#if defined(GST_IOS_PLUGIN_NSF) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(nsf); +#endif +#if defined(GST_IOS_PLUGIN_NUVDEMUX) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(nuvdemux); +#endif +#if defined(GST_IOS_PLUGIN_OPUS) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(opus); +#endif +#if defined(GST_IOS_PLUGIN_PCAPPARSE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(pcapparse); +#endif +#if defined(GST_IOS_PLUGIN_PNM) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(pnm); +#endif +#if defined(GST_IOS_PLUGIN_SCHRO) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(schro); +#endif +#if defined(GST_IOS_PLUGIN_GSTSIREN) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(gstsiren); +#endif +#if defined(GST_IOS_PLUGIN_SUBENC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(subenc); +#endif +#if defined(GST_IOS_PLUGIN_TTA) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(tta); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOPARSERSBAD) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(videoparsersbad); +#endif +#if defined(GST_IOS_PLUGIN_VMNC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(vmnc); +#endif +#if defined(GST_IOS_PLUGIN_VP8) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(vp8); +#endif +#if defined(GST_IOS_PLUGIN_Y4MDEC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(y4mdec); +#endif +#if defined(GST_IOS_PLUGIN_TCP) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(tcp); +#endif +#if defined(GST_IOS_PLUGIN_RTSP) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(rtsp); +#endif +#if defined(GST_IOS_PLUGIN_RTP) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(rtp); +#endif +#if defined(GST_IOS_PLUGIN_GSTRTPMANAGER) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(gstrtpmanager); +#endif +#if defined(GST_IOS_PLUGIN_SOUP) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(soup); +#endif +#if defined(GST_IOS_PLUGIN_UDP) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(udp); +#endif +#if defined(GST_IOS_PLUGIN_DATAURISRC) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(dataurisrc); +#endif +#if defined(GST_IOS_PLUGIN_RTPMUX) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(rtpmux); +#endif +#if defined(GST_IOS_PLUGIN_RTPVP8) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(rtpvp8); +#endif +#if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(sdp); +#endif + + /* Lower the ranks of filesrc and giosrc so iosavassetsrc is + * tried first in gst_element_make_from_uri() for file:// */ + reg = gst_registry_get_default(); + plugin = gst_registry_lookup_feature(reg, "filesrc"); + if (plugin) + gst_plugin_feature_set_rank(plugin, GST_RANK_SECONDARY); + plugin = gst_registry_lookup_feature(reg, "giosrc"); + if (plugin) + gst_plugin_feature_set_rank(plugin, GST_RANK_SECONDARY-1); +} diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.h b/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.h new file mode 100644 index 0000000000..6129a94210 --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.h @@ -0,0 +1,30 @@ +#ifndef __GST_IOS_INIT_H__ +#define __GST_IOS_INIT_H__ + +#include + +G_BEGIN_DECLS + +/* Uncomment each line to enable the plugin categories that your application needs. + * You can also enable individual plugins. See gst_ios_init.c to see their names + */ + +#define GST_IOS_PLUGINS_CORE +//#define GST_IOS_PLUGINS_CAPTURE +#define GST_IOS_PLUGINS_CODECS_RESTRICTED +//#define GST_IOS_PLUGINS_ENCODING +//#define GST_IOS_PLUGINS_DVD +#define GST_IOS_PLUGINS_CODECS_GPL +#define GST_IOS_PLUGINS_NET_RESTRICTED +#define GST_IOS_PLUGINS_SYS +//#define GST_IOS_PLUGINS_VIS +#define GST_IOS_PLUGINS_PLAYBACK +#define GST_IOS_PLUGINS_EFFECTS +#define GST_IOS_PLUGINS_CODECS +#define GST_IOS_PLUGINS_NET + +void gst_ios_init (); + +G_END_DECLS + +#endif diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/main.m b/gst-sdk/tutorials/xcode iOS/Tutorial 5/main.m new file mode 100644 index 0000000000..6cf4e0f612 --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/main.m @@ -0,0 +1,12 @@ +#import + +#import "AppDelegate.h" +#include "gst_ios_init.h" + +int main(int argc, char *argv[]) +{ + @autoreleasepool { + gst_ios_init(); + return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); + } +} From 0df42274ec189c95a7b914cddacaa48aa5a11408 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 21 May 2013 10:29:18 +0200 Subject: [PATCH 300/979] Add some code comments. --- .../xcode iOS/Tutorial 4/GStreamerBackend.m | 71 ++++++++++--------- .../Tutorial 4/VideoViewController.m | 17 +++-- .../xcode iOS/Tutorial 5/GStreamerBackend.m | 71 ++++++++++--------- .../Tutorial 5/VideoViewController.m | 17 +++-- 4 files changed, 96 insertions(+), 80 deletions(-) diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m b/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m index fdc0c70cda..95ac99fcc9 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m @@ -184,41 +184,6 @@ static gboolean delayed_seek_cb (GStreamerBackend *self) { return FALSE; } -static void check_media_size (GStreamerBackend *self) { - GstElement *video_sink; - GstPad *video_sink_pad; - GstCaps *caps; - GstVideoFormat fmt; - int width; - int height; - - /* Retrieve the Caps at the entrance of the video sink */ - g_object_get (self->pipeline, "video-sink", &video_sink, NULL); - - /* Do nothing if there is no video sink (this might be an audio-only clip */ - if (!video_sink) return; - - video_sink_pad = gst_element_get_static_pad (video_sink, "sink"); - caps = gst_pad_get_negotiated_caps (video_sink_pad); - - if (gst_video_format_parse_caps(caps, &fmt, &width, &height)) { - int par_n, par_d; - if (gst_video_parse_caps_pixel_aspect_ratio (caps, &par_n, &par_d)) { - width = width * par_n / par_d; - } - GST_DEBUG ("Media size is %dx%d, notifying application", width, height); - - if (self->ui_delegate && [self->ui_delegate respondsToSelector:@selector(mediaSizeChanged:height:)]) - { - [self->ui_delegate mediaSizeChanged:width height:height]; - } - } - - gst_caps_unref(caps); - gst_object_unref (video_sink_pad); - gst_object_unref(video_sink); -} - /* Retrieve errors from the bus and show them on the UI */ static void error_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) { @@ -276,6 +241,42 @@ static void clock_lost_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) } } +/* Retrieve the video sink's Caps and tell the application about the media size */ +static void check_media_size (GStreamerBackend *self) { + GstElement *video_sink; + GstPad *video_sink_pad; + GstCaps *caps; + GstVideoFormat fmt; + int width; + int height; + + /* Retrieve the Caps at the entrance of the video sink */ + g_object_get (self->pipeline, "video-sink", &video_sink, NULL); + + /* Do nothing if there is no video sink (this might be an audio-only clip */ + if (!video_sink) return; + + video_sink_pad = gst_element_get_static_pad (video_sink, "sink"); + caps = gst_pad_get_negotiated_caps (video_sink_pad); + + if (gst_video_format_parse_caps(caps, &fmt, &width, &height)) { + int par_n, par_d; + if (gst_video_parse_caps_pixel_aspect_ratio (caps, &par_n, &par_d)) { + width = width * par_n / par_d; + } + GST_DEBUG ("Media size is %dx%d, notifying application", width, height); + + if (self->ui_delegate && [self->ui_delegate respondsToSelector:@selector(mediaSizeChanged:height:)]) + { + [self->ui_delegate mediaSizeChanged:width height:height]; + } + } + + gst_caps_unref(caps); + gst_object_unref (video_sink_pad); + gst_object_unref(video_sink); +} + /* Notify UI about pipeline state changes */ static void state_changed_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) { diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.m b/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.m index 536082d4a6..2ba633082e 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.m @@ -4,11 +4,11 @@ @interface VideoViewController () { GStreamerBackend *gst_backend; - int media_width; - int media_height; - Boolean dragging_slider; - Boolean is_local_media; - Boolean is_playing_desired; + int media_width; /* Width of the clip */ + int media_height; /* height ofthe clip */ + Boolean dragging_slider; /* Whether the time slider is being dragged or not */ + Boolean is_local_media; /* Whether this clip is stored locally or is being streamed */ + Boolean is_playing_desired; /* Whether the user asked to go to PLAYING */ } @end @@ -20,6 +20,9 @@ /* * Private methods */ + +/* The text widget acts as an slave for the seek bar, so it reflects what the seek bar shows, whether + * it is an actual pipeline position or the position the user is currently dragging to. */ - (void) updateTimeWidget { NSInteger position = time_slider.value / 1000; @@ -94,6 +97,8 @@ is_playing_desired = NO; } +/* Called when the time slider position has changed, either because the user dragged it or + * we programmatically changed its position. dragging_slider tells us which one happened */ - (IBAction)sliderValueChanged:(id)sender { if (!dragging_slider) return; // If this is a local file, allow scrub seeking, this is, seek as soon as the slider is moved. @@ -102,11 +107,13 @@ [self updateTimeWidget]; } +/* Called when the user starts to drag the time slider */ - (IBAction)sliderTouchDown:(id)sender { [gst_backend pause]; dragging_slider = YES; } +/* Called when the user stops dragging the time slider */ - (IBAction)sliderTouchUp:(id)sender { dragging_slider = NO; // If this is a remote file, scrub seeking is probably not going to work smoothly enough. diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/GStreamerBackend.m b/gst-sdk/tutorials/xcode iOS/Tutorial 5/GStreamerBackend.m index b821f9a40a..136123ad2f 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 5/GStreamerBackend.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/GStreamerBackend.m @@ -184,41 +184,6 @@ static gboolean delayed_seek_cb (GStreamerBackend *self) { return FALSE; } -static void check_media_size (GStreamerBackend *self) { - GstElement *video_sink; - GstPad *video_sink_pad; - GstCaps *caps; - GstVideoFormat fmt; - int width; - int height; - - /* Retrieve the Caps at the entrance of the video sink */ - g_object_get (self->pipeline, "video-sink", &video_sink, NULL); - - /* Do nothing if there is no video sink (this might be an audio-only clip */ - if (!video_sink) return; - - video_sink_pad = gst_element_get_static_pad (video_sink, "sink"); - caps = gst_pad_get_negotiated_caps (video_sink_pad); - - if (gst_video_format_parse_caps(caps, &fmt, &width, &height)) { - int par_n, par_d; - if (gst_video_parse_caps_pixel_aspect_ratio (caps, &par_n, &par_d)) { - width = width * par_n / par_d; - } - GST_DEBUG ("Media size is %dx%d, notifying application", width, height); - - if (self->ui_delegate && [self->ui_delegate respondsToSelector:@selector(mediaSizeChanged:height:)]) - { - [self->ui_delegate mediaSizeChanged:width height:height]; - } - } - - gst_caps_unref(caps); - gst_object_unref (video_sink_pad); - gst_object_unref(video_sink); -} - /* Retrieve errors from the bus and show them on the UI */ static void error_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) { @@ -276,6 +241,42 @@ static void clock_lost_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) } } +/* Retrieve the video sink's Caps and tell the application about the media size */ +static void check_media_size (GStreamerBackend *self) { + GstElement *video_sink; + GstPad *video_sink_pad; + GstCaps *caps; + GstVideoFormat fmt; + int width; + int height; + + /* Retrieve the Caps at the entrance of the video sink */ + g_object_get (self->pipeline, "video-sink", &video_sink, NULL); + + /* Do nothing if there is no video sink (this might be an audio-only clip */ + if (!video_sink) return; + + video_sink_pad = gst_element_get_static_pad (video_sink, "sink"); + caps = gst_pad_get_negotiated_caps (video_sink_pad); + + if (gst_video_format_parse_caps(caps, &fmt, &width, &height)) { + int par_n, par_d; + if (gst_video_parse_caps_pixel_aspect_ratio (caps, &par_n, &par_d)) { + width = width * par_n / par_d; + } + GST_DEBUG ("Media size is %dx%d, notifying application", width, height); + + if (self->ui_delegate && [self->ui_delegate respondsToSelector:@selector(mediaSizeChanged:height:)]) + { + [self->ui_delegate mediaSizeChanged:width height:height]; + } + } + + gst_caps_unref(caps); + gst_object_unref (video_sink_pad); + gst_object_unref(video_sink); +} + /* Notify UI about pipeline state changes */ static void state_changed_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) { diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/VideoViewController.m b/gst-sdk/tutorials/xcode iOS/Tutorial 5/VideoViewController.m index 536082d4a6..54758c9040 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 5/VideoViewController.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/VideoViewController.m @@ -4,11 +4,11 @@ @interface VideoViewController () { GStreamerBackend *gst_backend; - int media_width; - int media_height; - Boolean dragging_slider; - Boolean is_local_media; - Boolean is_playing_desired; + int media_width; /* Width of the clip */ + int media_height; /* height ofthe clip */ + Boolean dragging_slider; /* Whether the time slider is being dragged or not */ + Boolean is_local_media; /* Whether this clip is stored locally or is being streamed */ + Boolean is_playing_desired; /* Whether the user asked to go to PLAYING */ } @end @@ -20,6 +20,9 @@ /* * Private methods */ + +/* The text widget acts as an slave for the seek bar, so it reflects what the seek bar shows, whether + * it is an actual pipeline position or the position the user is currently dragging to. */ - (void) updateTimeWidget { NSInteger position = time_slider.value / 1000; @@ -94,6 +97,8 @@ is_playing_desired = NO; } +/* Called when the time slider position has changed, either because the user dragged it or + * we programmatically changed its position. dragging_slider tells us which one happened */ - (IBAction)sliderValueChanged:(id)sender { if (!dragging_slider) return; // If this is a local file, allow scrub seeking, this is, seek as soon as the slider is moved. @@ -102,11 +107,13 @@ [self updateTimeWidget]; } +/* Called when the user starts to drag the time slider */ - (IBAction)sliderTouchDown:(id)sender { [gst_backend pause]; dragging_slider = YES; } +/* Called when the user stops dragging the time slider */ - (IBAction)sliderTouchUp:(id)sender { dragging_slider = NO; // If this is a remote file, scrub seeking is probably not going to work smoothly enough. From d53bb226f69ada82cd24b6385123188a09f79eb1 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 21 May 2013 10:46:14 +0200 Subject: [PATCH 301/979] Remove the LibraryView, as it belongs to Tutorial 5, not Tutorial 4. --- .../project.pbxproj | 6 - .../Tutorial 4/LibraryViewController.h | 11 -- .../Tutorial 4/LibraryViewController.m | 131 ------------------ .../Tutorial 4/VideoViewController.m | 4 +- .../en.lproj/MainStoryboard_iPad.storyboard | 77 +--------- .../en.lproj/MainStoryboard_iPhone.storyboard | 82 +---------- 6 files changed, 7 insertions(+), 304 deletions(-) delete mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 4/LibraryViewController.h delete mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 4/LibraryViewController.m diff --git a/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj b/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj index 8caece4da2..a5a87f7a9f 100644 --- a/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj +++ b/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj @@ -105,7 +105,6 @@ C6EB85BA173BEFF800C3953D /* appicon-4-iPad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C6EB85B6173BEFF800C3953D /* appicon-4-iPad@2x.png */; }; C6EB85BB173BEFF800C3953D /* appicon-4-iPhone.png in Resources */ = {isa = PBXBuildFile; fileRef = C6EB85B7173BEFF800C3953D /* appicon-4-iPhone.png */; }; C6EB85BC173BEFF800C3953D /* appicon-4-iPhone@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C6EB85B8173BEFF800C3953D /* appicon-4-iPhone@2x.png */; }; - C6EB85C7174233B400C3953D /* LibraryViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C6EB85C6174233B300C3953D /* LibraryViewController.m */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -235,8 +234,6 @@ C6EB85B6173BEFF800C3953D /* appicon-4-iPad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-4-iPad@2x.png"; sourceTree = ""; }; C6EB85B7173BEFF800C3953D /* appicon-4-iPhone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-4-iPhone.png"; sourceTree = ""; }; C6EB85B8173BEFF800C3953D /* appicon-4-iPhone@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-4-iPhone@2x.png"; sourceTree = ""; }; - C6EB85C5174233B200C3953D /* LibraryViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LibraryViewController.h; sourceTree = ""; }; - C6EB85C6174233B300C3953D /* LibraryViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LibraryViewController.m; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -531,8 +528,6 @@ C6EB8590173BEE5E00C3953D /* AppDelegate.m */, C6EB8598173BEE5E00C3953D /* MainStoryboard_iPhone.storyboard */, C6EB859B173BEE5E00C3953D /* MainStoryboard_iPad.storyboard */, - C6EB85C5174233B200C3953D /* LibraryViewController.h */, - C6EB85C6174233B300C3953D /* LibraryViewController.m */, C6EB859E173BEE5E00C3953D /* VideoViewController.h */, C6EB859F173BEE5E00C3953D /* VideoViewController.m */, C6EB8587173BEE5E00C3953D /* Supporting Files */, @@ -834,7 +829,6 @@ C6EB85B1173BEF2600C3953D /* EaglUIVIew.m in Sources */, C6EB85B2173BEF2600C3953D /* gst_ios_init.c in Sources */, C6EB85B3173BEF2600C3953D /* GStreamerBackend.m in Sources */, - C6EB85C7174233B400C3953D /* LibraryViewController.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/LibraryViewController.h b/gst-sdk/tutorials/xcode iOS/Tutorial 4/LibraryViewController.h deleted file mode 100644 index db18bfaf2c..0000000000 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/LibraryViewController.h +++ /dev/null @@ -1,11 +0,0 @@ -#import - -@interface LibraryViewController : UITableViewController -{ - NSArray *mediaEntries; - NSArray *onlineEntries; -} - -- (IBAction)refresh:(id)sender; - -@end diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/LibraryViewController.m b/gst-sdk/tutorials/xcode iOS/Tutorial 4/LibraryViewController.m deleted file mode 100644 index e0ec124205..0000000000 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/LibraryViewController.m +++ /dev/null @@ -1,131 +0,0 @@ -#import "LibraryViewController.h" -#import "VideoViewController.h" - -@interface LibraryViewController () - -@end - -@implementation LibraryViewController - -- (void)viewDidLoad -{ - [super viewDidLoad]; - [super setTitle:@"Library"]; - [self refreshMediaItems]; -} - -- (IBAction)refresh:(id)sender -{ - [self refreshMediaItems]; - [self.tableView reloadData]; -} - -static NSString *CellIdentifier = @"CellIdentifier"; - -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - return 2; -} - -- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section -{ - switch (section) - { - case 0: return @"Local files (iTunes file sharing)"; - default: return @"Online files"; - } -} - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - switch (section) { - case 0: - return [self->mediaEntries count]; - case 1: - return [self->onlineEntries count]; - default: - return 0; - } -} - -- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { - UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; - // Configure Cell - UILabel *title = (UILabel *)[cell.contentView viewWithTag:10]; - UILabel *subtitle = (UILabel *)[cell.contentView viewWithTag:11]; - - if(indexPath.section == 0) - { - subtitle.text = [NSString stringWithFormat:@"file://%@", - [self->mediaEntries objectAtIndex:indexPath.item], nil]; - } else if (indexPath.section == 1) - { - subtitle.text = [self->onlineEntries objectAtIndex:indexPath.item]; - } - - NSArray *components = [subtitle.text pathComponents]; - title.text = components.lastObject; - - return cell; -} - -- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { - return NO; -} - -- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath { - return NO; -} - -- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { - if ([segue.identifier isEqualToString:@"playVideo"]) { - NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow]; - VideoViewController *destViewController = segue.destinationViewController; - UITableViewCell *cell = [[self tableView] cellForRowAtIndexPath:indexPath]; - UILabel *label = (UILabel *)[cell.contentView viewWithTag:10]; - destViewController.title = label.text; - label = (UILabel *)[cell.contentView viewWithTag:11]; - destViewController.uri = label.text; - } -} - -- (void)refreshMediaItems { - NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSAllDomainsMask, YES); - NSString *docsPath = [paths objectAtIndex:0]; - - NSMutableArray *entries = [[NSMutableArray alloc] init]; - for (NSString *e in [[NSFileManager defaultManager] contentsOfDirectoryAtPath:docsPath error:nil]) - { - [entries addObject:[NSString stringWithFormat:@"%@/%@",docsPath, e]]; - } - self->mediaEntries = entries; - - entries = [[NSMutableArray alloc] init]; - - // Big Buck Bunny - [entries addObject:@"http://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_480p_surround-fix.avi"]; - [entries addObject:@"http://mirrorblender.top-ix.org/peach/bigbuckbunny_movies/big_buck_bunny_480p_h264.mov"]; - [entries addObject:@"http://mirrorblender.top-ix.org/peach/bigbuckbunny_movies/big_buck_bunny_480p_stereo.ogg"]; - [entries addObject:@"http://mirrorblender.top-ix.org/peach/bigbuckbunny_movies/big_buck_bunny_480p_stereo.avi"]; - - // Sintel - [entries addObject:@"http://ftp.nluug.nl/ftp/graphics/blender/apricot/trailer/Sintel_Trailer1.480p.DivX_Plus_HD.mkv"]; - [entries addObject:@"http://ftp.nluug.nl/ftp/graphics/blender/apricot/trailer/sintel_trailer-480p.mp4"]; - [entries addObject:@"http://ftp.nluug.nl/ftp/graphics/blender/apricot/trailer/sintel_trailer-480p.ogv"]; - [entries addObject:@"http://mirrorblender.top-ix.org/movies/sintel-1024-surround.mp4"]; - - // Tears of Steel - [entries addObject:@"http://blender-mirror.kino3d.org/mango/download.blender.org/demo/movies/ToS/tears_of_steel_720p.mkv"]; - [entries addObject:@"http://blender-mirror.kino3d.org/mango/download.blender.org/demo/movies/ToS/tears_of_steel_720p.mov"]; - [entries addObject:@"http://media.xiph.org/mango/tears_of_steel_1080p.webm"]; - - // Radio stations - [entries addObject:@"http://radio.hbr1.com:19800/trance.ogg"]; - [entries addObject:@"http://radio.hbr1.com:19800/tronic.aac"]; - - // Non-existing entries (to debug error reporting facilities) - [entries addObject:@"http://non-existing.org/Non_Existing_Server"]; - [entries addObject:@"http://docs.gstreamer.com/Non_Existing_File"]; - - self->onlineEntries = entries; -} - -@end diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.m b/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.m index 2ba633082e..68223e0074 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.m @@ -21,7 +21,7 @@ * Private methods */ -/* The text widget acts as an slave for the seek bar, so it reflects what the seek bar shows, whether +/* The text widget acts as an slave for the seek bar, so it reflects what the seek bar shows, whether * it is an actual pipeline position or the position the user is currently dragging to. */ - (void) updateTimeWidget { @@ -66,6 +66,8 @@ media_width = 320; media_height = 240; + uri = @"http://docs.gstreamer.com/media/sintel_trailer-368p.ogv"; + gst_backend = [[GStreamerBackend alloc] init:self videoView:video_view]; } diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPad.storyboard b/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPad.storyboard index d91286610f..5507fda167 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPad.storyboard +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPad.storyboard @@ -1,30 +1,15 @@ - + - - - - - - - - - - - - - - - - + @@ -106,7 +91,6 @@ - @@ -125,68 +109,11 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPhone.storyboard b/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPhone.storyboard index deb9a86352..d538d99440 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPhone.storyboard +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/en.lproj/MainStoryboard_iPhone.storyboard @@ -1,31 +1,15 @@ - + - - - - - - - - - - - - - - - - - + @@ -107,7 +91,6 @@ - @@ -126,72 +109,11 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 1d0cd2fc9a93d55cce27cdbe6f72d29ea7884009 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 21 May 2013 11:17:38 +0200 Subject: [PATCH 302/979] Typo in comment --- gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.m b/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.m index 68223e0074..656dae598d 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/VideoViewController.m @@ -5,7 +5,7 @@ @interface VideoViewController () { GStreamerBackend *gst_backend; int media_width; /* Width of the clip */ - int media_height; /* height ofthe clip */ + int media_height; /* height of the clip */ Boolean dragging_slider; /* Whether the time slider is being dragged or not */ Boolean is_local_media; /* Whether this clip is stored locally or is being streamed */ Boolean is_playing_desired; /* Whether the user asked to go to PLAYING */ From 1db12234ad6c23ac25626c7817ca20384c31b6aa Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Tue, 21 May 2013 17:31:15 +0200 Subject: [PATCH 303/979] Stylish edits in the comments --- .../android-tutorial-4/jni/tutorial-4.c | 1136 ++++++++--------- .../xcode iOS/Tutorial 4/GStreamerBackend.m | 788 ++++++------ 2 files changed, 962 insertions(+), 962 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c b/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c index 0ec6a8a08c..a20f654c3d 100644 --- a/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c +++ b/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c @@ -1,568 +1,568 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include - -GST_DEBUG_CATEGORY_STATIC (debug_category); -#define GST_CAT_DEFAULT debug_category - -/* - * These macros provide a way to store the native pointer to CustomData, which might be 32 or 64 bits, into - * a jlong, which is always 64 bits, without warnings. - */ -#if GLIB_SIZEOF_VOID_P == 8 -# define GET_CUSTOM_DATA(env, thiz, fieldID) (CustomData *)(*env)->GetLongField (env, thiz, fieldID) -# define SET_CUSTOM_DATA(env, thiz, fieldID, data) (*env)->SetLongField (env, thiz, fieldID, (jlong)data) -#else -# define GET_CUSTOM_DATA(env, thiz, fieldID) (CustomData *)(jint)(*env)->GetLongField (env, thiz, fieldID) -# define SET_CUSTOM_DATA(env, thiz, fieldID, data) (*env)->SetLongField (env, thiz, fieldID, (jlong)(jint)data) -#endif - -/* Do not allow seeks to be performed closer than this distance. It is visually useless, and will probably - * confuse some demuxers. */ -#define SEEK_MIN_DELAY (500 * GST_MSECOND) - -/* Structure to contain all our information, so we can pass it to callbacks */ -typedef struct _CustomData { - jobject app; /* Application instance, used to call its methods. A global reference is kept. */ - GstElement *pipeline; /* The running pipeline */ - GMainContext *context; /* GLib context used to run the main loop */ - GMainLoop *main_loop; /* GLib main loop */ - gboolean initialized; /* To avoid informing the UI multiple times about the initialization */ - ANativeWindow *native_window; /* The Android native window where video will be rendered */ - GstState state; /* Current pipeline state */ - GstState target_state; /* Desired pipeline state, to be set once buffering is complete */ - gint64 duration; /* Cached clip duration */ - gint64 desired_position; /* Position to seek to, once the pipeline is running */ - GstClockTime last_seek_time; /* For seeking overflow prevention (throttling) */ - gboolean is_live; /* Live streams do not use buffering */ -} CustomData; - -/* playbin2 flags */ -typedef enum { - GST_PLAY_FLAG_TEXT = (1 << 2) /* We want subtitle output */ -} GstPlayFlags; - -/* These global variables cache values which are not changing during execution */ -static pthread_t gst_app_thread; -static pthread_key_t current_jni_env; -static JavaVM *java_vm; -static jfieldID custom_data_field_id; -static jmethodID set_message_method_id; -static jmethodID set_current_position_method_id; -static jmethodID on_gstreamer_initialized_method_id; -static jmethodID on_media_size_changed_method_id; - -/* - * Private methods - */ - -/* Register this thread with the VM */ -static JNIEnv *attach_current_thread (void) { - JNIEnv *env; - JavaVMAttachArgs args; - - GST_DEBUG ("Attaching thread %p", g_thread_self ()); - args.version = JNI_VERSION_1_4; - args.name = NULL; - args.group = NULL; - - if ((*java_vm)->AttachCurrentThread (java_vm, &env, &args) < 0) { - GST_ERROR ("Failed to attach current thread"); - return NULL; - } - - return env; -} - -/* Unregister this thread from the VM */ -static void detach_current_thread (void *env) { - GST_DEBUG ("Detaching thread %p", g_thread_self ()); - (*java_vm)->DetachCurrentThread (java_vm); -} - -/* Retrieve the JNI environment for this thread */ -static JNIEnv *get_jni_env (void) { - JNIEnv *env; - - if ((env = pthread_getspecific (current_jni_env)) == NULL) { - env = attach_current_thread (); - pthread_setspecific (current_jni_env, env); - } - - return env; -} - -/* Change the content of the UI's TextView */ -static void set_ui_message (const gchar *message, CustomData *data) { - JNIEnv *env = get_jni_env (); - GST_DEBUG ("Setting message to: %s", message); - jstring jmessage = (*env)->NewStringUTF(env, message); - (*env)->CallVoidMethod (env, data->app, set_message_method_id, jmessage); - if ((*env)->ExceptionCheck (env)) { - GST_ERROR ("Failed to call Java method"); - (*env)->ExceptionClear (env); - } - (*env)->DeleteLocalRef (env, jmessage); -} - -/* Tell the application what is the current position and clip duration */ -static void set_current_ui_position (gint position, gint duration, CustomData *data) { - JNIEnv *env = get_jni_env (); - (*env)->CallVoidMethod (env, data->app, set_current_position_method_id, position, duration); - if ((*env)->ExceptionCheck (env)) { - GST_ERROR ("Failed to call Java method"); - (*env)->ExceptionClear (env); - } -} - -/* If we have pipeline and it is running, query the current position and clip duration and inform - * the application */ -static gboolean refresh_ui (CustomData *data) { - GstFormat fmt = GST_FORMAT_TIME; - gint64 current = -1; - gint64 position; - - /* We do not want to update anything unless we have a working pipeline in the PAUSED or PLAYING state */ - if (!data || !data->pipeline || data->state < GST_STATE_PAUSED) - return TRUE; - - /* If we didn't know it yet, query the stream duration */ - if (!GST_CLOCK_TIME_IS_VALID (data->duration)) { - if (!gst_element_query_duration (data->pipeline, &fmt, &data->duration)) { - GST_WARNING ("Could not query current duration"); - } - } - - if (gst_element_query_position (data->pipeline, &fmt, &position)) { - /* Java expects these values in milliseconds, and GStreamer provides nanoseconds */ - set_current_ui_position (position / GST_MSECOND, data->duration / GST_MSECOND, data); - } - return TRUE; -} - -/* Forward declaration for the delayed seek callback */ -static gboolean delayed_seek_cb (CustomData *data); - -/* Perform seek, if we are not too close to the previous seek. Otherwise, schedule the seek for - * some time in the future. */ -static void execute_seek (gint64 desired_position, CustomData *data) { - gint64 diff; - - if (desired_position == GST_CLOCK_TIME_NONE) - return; - - diff = gst_util_get_timestamp () - data->last_seek_time; - - if (GST_CLOCK_TIME_IS_VALID (data->last_seek_time) && diff < SEEK_MIN_DELAY) { - /* The previous seek was too close, delay this one */ - GSource *timeout_source; - - if (data->desired_position == GST_CLOCK_TIME_NONE) { - /* There was no previous seek scheduled. Setup a timer for some time in the future */ - timeout_source = g_timeout_source_new ((SEEK_MIN_DELAY - diff) / GST_MSECOND); - g_source_set_callback (timeout_source, (GSourceFunc)delayed_seek_cb, data, NULL); - g_source_attach (timeout_source, data->context); - g_source_unref (timeout_source); - } - /* Update the desired seek position. If multiple petitions are received before it is time - * to perform a seek, only the last one is remembered. */ - data->desired_position = desired_position; - GST_DEBUG ("Throttling seek to %" GST_TIME_FORMAT ", will be in %" GST_TIME_FORMAT, - GST_TIME_ARGS (desired_position), GST_TIME_ARGS (SEEK_MIN_DELAY - diff)); - } else { - /* Perform the seek now */ - GST_DEBUG ("Seeking to %" GST_TIME_FORMAT, GST_TIME_ARGS (desired_position)); - data->last_seek_time = gst_util_get_timestamp (); - gst_element_seek_simple (data->pipeline, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, desired_position); - data->desired_position = GST_CLOCK_TIME_NONE; - } -} - -/* Delayed seek callback. This gets called by the timer setup in the above function. */ -static gboolean delayed_seek_cb (CustomData *data) { - GST_DEBUG ("Doing delayed seek to %" GST_TIME_FORMAT, GST_TIME_ARGS (data->desired_position)); - execute_seek (data->desired_position, data); - return FALSE; -} - -/* Retrieve errors from the bus and show them on the UI */ -static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { - GError *err; - gchar *debug_info; - gchar *message_string; - - gst_message_parse_error (msg, &err, &debug_info); - message_string = g_strdup_printf ("Error received from element %s: %s", GST_OBJECT_NAME (msg->src), err->message); - g_clear_error (&err); - g_free (debug_info); - set_ui_message (message_string, data); - g_free (message_string); - data->target_state = GST_STATE_NULL; - gst_element_set_state (data->pipeline, GST_STATE_NULL); -} - -/* Called when the End Of the Stream is reached. Just move to the beginning of the media and pause. */ -static void eos_cb (GstBus *bus, GstMessage *msg, CustomData *data) { - data->target_state = GST_STATE_PAUSED; - data->is_live = (gst_element_set_state (data->pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_NO_PREROLL); - execute_seek (0, data); -} - -/* Called when the duration of the media changes. Just mark it as unknown, so we re-query it in the next UI refresh. */ -static void duration_cb (GstBus *bus, GstMessage *msg, CustomData *data) { - data->duration = GST_CLOCK_TIME_NONE; -} - -/* Called when buffering messages are received. We inform the UI about the current buffering level and - * keep the pipeline paused until 100% buffering is reached. At that point, set the desired state. */ -static void buffering_cb (GstBus *bus, GstMessage *msg, CustomData *data) { - gint percent; - - if (data->is_live) - return; - - gst_message_parse_buffering (msg, &percent); - if (percent < 100 && data->target_state >= GST_STATE_PAUSED) { - gchar * message_string = g_strdup_printf ("Buffering %d%%", percent); - gst_element_set_state (data->pipeline, GST_STATE_PAUSED); - set_ui_message (message_string, data); - g_free (message_string); - } else if (data->target_state >= GST_STATE_PLAYING) { - gst_element_set_state (data->pipeline, GST_STATE_PLAYING); - } else if (data->target_state >= GST_STATE_PAUSED) { - set_ui_message ("Buffering complete", data); - } -} - -/* Called when the clock is lost */ -static void clock_lost_cb (GstBus *bus, GstMessage *msg, CustomData *data) { - if (data->target_state >= GST_STATE_PLAYING) { - gst_element_set_state (data->pipeline, GST_STATE_PAUSED); - gst_element_set_state (data->pipeline, GST_STATE_PLAYING); - } -} - -/* Retrieve the video sink's Caps and tell the application about the media size */ -static void check_media_size (CustomData *data) { - JNIEnv *env = get_jni_env (); - GstElement *video_sink; - GstPad *video_sink_pad; - GstCaps *caps; - GstVideoFormat fmt; - int width; - int height; - - /* Retrieve the Caps at the entrance of the video sink */ - g_object_get (data->pipeline, "video-sink", &video_sink, NULL); - video_sink_pad = gst_element_get_static_pad (video_sink, "sink"); - caps = gst_pad_get_negotiated_caps (video_sink_pad); - - if (gst_video_format_parse_caps(caps, &fmt, &width, &height)) { - int par_n, par_d; - if (gst_video_parse_caps_pixel_aspect_ratio (caps, &par_n, &par_d)) { - width = width * par_n / par_d; - } - GST_DEBUG ("Media size is %dx%d, notifying application", width, height); - - (*env)->CallVoidMethod (env, data->app, on_media_size_changed_method_id, (jint)width, (jint)height); - if ((*env)->ExceptionCheck (env)) { - GST_ERROR ("Failed to call Java method"); - (*env)->ExceptionClear (env); - } - } - - gst_caps_unref(caps); - gst_object_unref (video_sink_pad); - gst_object_unref(video_sink); -} - -/* Notify UI about pipeline state changes */ -static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { - GstState old_state, new_state, pending_state; - gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); - /* Only pay attention to messages coming from the pipeline, not its children */ - if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->pipeline)) { - data->state = new_state; - gchar *message = g_strdup_printf("State changed to %s", gst_element_state_get_name(new_state)); - set_ui_message(message, data); - g_free (message); - - /* The Ready to Paused state change is particularly interesting: */ - if (old_state == GST_STATE_READY && new_state == GST_STATE_PAUSED) { - /* By now the sink already knows the media size */ - check_media_size(data); - - /* If there was a scheduled seek, perform it now that we have moved to the Paused state */ - if (GST_CLOCK_TIME_IS_VALID (data->desired_position)) - execute_seek (data->desired_position, data); - } - } -} - -/* Check if all conditions are met to report GStreamer as initialized. - * These conditions will change depending on the application */ -static void check_initialization_complete (CustomData *data) { - JNIEnv *env = get_jni_env (); - if (!data->initialized && data->native_window && data->main_loop) { - GST_DEBUG ("Initialization complete, notifying application. native_window:%p main_loop:%p", data->native_window, data->main_loop); - - /* The main loop is running and we received a native window, inform the sink about it */ - gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->pipeline), (guintptr)data->native_window); - - (*env)->CallVoidMethod (env, data->app, on_gstreamer_initialized_method_id); - if ((*env)->ExceptionCheck (env)) { - GST_ERROR ("Failed to call Java method"); - (*env)->ExceptionClear (env); - } - data->initialized = TRUE; - } -} - -/* Main method for the native code. This is executed on its own thread. */ -static void *app_function (void *userdata) { - JavaVMAttachArgs args; - GstBus *bus; - CustomData *data = (CustomData *)userdata; - GSource *timeout_source; - GSource *bus_source; - GError *error = NULL; - guint flags; - - GST_DEBUG ("Creating pipeline in CustomData at %p", data); - - /* Create our own GLib Main Context and make it the default one */ - data->context = g_main_context_new (); - g_main_context_push_thread_default(data->context); - - /* Build pipeline */ - data->pipeline = gst_parse_launch("playbin2", &error); - if (error) { - gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message); - g_clear_error (&error); - set_ui_message(message, data); - g_free (message); - return NULL; - } - - /* Disable subtitles */ - g_object_get (data->pipeline, "flags", &flags, NULL); - flags &= ~GST_PLAY_FLAG_TEXT; - g_object_set (data->pipeline, "flags", flags, NULL); - - /* Set the pipeline to READY, so it can already accept a window handle, if we have one */ - data->target_state = GST_STATE_READY; - gst_element_set_state(data->pipeline, GST_STATE_READY); - - /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ - bus = gst_element_get_bus (data->pipeline); - bus_source = gst_bus_create_watch (bus); - g_source_set_callback (bus_source, (GSourceFunc) gst_bus_async_signal_func, NULL, NULL); - g_source_attach (bus_source, data->context); - g_source_unref (bus_source); - g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, data); - g_signal_connect (G_OBJECT (bus), "message::eos", (GCallback)eos_cb, data); - g_signal_connect (G_OBJECT (bus), "message::state-changed", (GCallback)state_changed_cb, data); - g_signal_connect (G_OBJECT (bus), "message::duration", (GCallback)duration_cb, data); - g_signal_connect (G_OBJECT (bus), "message::buffering", (GCallback)buffering_cb, data); - g_signal_connect (G_OBJECT (bus), "message::clock-lost", (GCallback)clock_lost_cb, data); - gst_object_unref (bus); - - /* Register a function that GLib will call 4 times per second */ - timeout_source = g_timeout_source_new (250); - g_source_set_callback (timeout_source, (GSourceFunc)refresh_ui, data, NULL); - g_source_attach (timeout_source, data->context); - g_source_unref (timeout_source); - - /* Create a GLib Main Loop and set it to run */ - GST_DEBUG ("Entering main loop... (CustomData:%p)", data); - data->main_loop = g_main_loop_new (data->context, FALSE); - check_initialization_complete (data); - g_main_loop_run (data->main_loop); - GST_DEBUG ("Exited main loop"); - g_main_loop_unref (data->main_loop); - data->main_loop = NULL; - - /* Free resources */ - g_main_context_pop_thread_default(data->context); - g_main_context_unref (data->context); - data->target_state = GST_STATE_NULL; - gst_element_set_state (data->pipeline, GST_STATE_NULL); - gst_object_unref (data->pipeline); - - return NULL; -} - -/* - * Java Bindings - */ - -/* Instruct the native code to create its internal data structure, pipeline and thread */ -static void gst_native_init (JNIEnv* env, jobject thiz) { - CustomData *data = g_new0 (CustomData, 1); - data->desired_position = GST_CLOCK_TIME_NONE; - data->last_seek_time = GST_CLOCK_TIME_NONE; - SET_CUSTOM_DATA (env, thiz, custom_data_field_id, data); - GST_DEBUG_CATEGORY_INIT (debug_category, "tutorial-4", 0, "Android tutorial 4"); - gst_debug_set_threshold_for_name("tutorial-4", GST_LEVEL_DEBUG); - GST_DEBUG ("Created CustomData at %p", data); - data->app = (*env)->NewGlobalRef (env, thiz); - GST_DEBUG ("Created GlobalRef for app object at %p", data->app); - pthread_create (&gst_app_thread, NULL, &app_function, data); -} - -/* Quit the main loop, remove the native thread and free resources */ -static void gst_native_finalize (JNIEnv* env, jobject thiz) { - CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); - if (!data) return; - GST_DEBUG ("Quitting main loop..."); - g_main_loop_quit (data->main_loop); - GST_DEBUG ("Waiting for thread to finish..."); - pthread_join (gst_app_thread, NULL); - GST_DEBUG ("Deleting GlobalRef for app object at %p", data->app); - (*env)->DeleteGlobalRef (env, data->app); - GST_DEBUG ("Freeing CustomData at %p", data); - g_free (data); - SET_CUSTOM_DATA (env, thiz, custom_data_field_id, NULL); - GST_DEBUG ("Done finalizing"); -} - -/* Set playbin2's URI */ -void gst_native_set_uri (JNIEnv* env, jobject thiz, jstring uri) { - CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); - if (!data || !data->pipeline) return; - const jbyte *char_uri = (*env)->GetStringUTFChars (env, uri, NULL); - GST_DEBUG ("Setting URI to %s", char_uri); - if (data->target_state >= GST_STATE_READY) - gst_element_set_state (data->pipeline, GST_STATE_READY); - g_object_set(data->pipeline, "uri", char_uri, NULL); - (*env)->ReleaseStringUTFChars (env, uri, char_uri); - data->duration = GST_CLOCK_TIME_NONE; - data->is_live = (gst_element_set_state (data->pipeline, data->target_state) == GST_STATE_CHANGE_NO_PREROLL); -} - -/* Set pipeline to PLAYING state */ -static void gst_native_play (JNIEnv* env, jobject thiz) { - CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); - if (!data) return; - GST_DEBUG ("Setting state to PLAYING"); - data->target_state = GST_STATE_PLAYING; - data->is_live = (gst_element_set_state (data->pipeline, GST_STATE_PLAYING) == GST_STATE_CHANGE_NO_PREROLL); -} - -/* Set pipeline to PAUSED state */ -static void gst_native_pause (JNIEnv* env, jobject thiz) { - CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); - if (!data) return; - GST_DEBUG ("Setting state to PAUSED"); - data->target_state = GST_STATE_PAUSED; - data->is_live = (gst_element_set_state (data->pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_NO_PREROLL); -} - -/* Instruct the pipeline to seek to a different position */ -void gst_native_set_position (JNIEnv* env, jobject thiz, int milliseconds) { - CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); - if (!data) return; - gint64 desired_position = (gint64)(milliseconds * GST_MSECOND); - if (data->state >= GST_STATE_PAUSED) { - execute_seek(desired_position, data); - } else { - GST_DEBUG ("Scheduling seek to %" GST_TIME_FORMAT " for later", GST_TIME_ARGS (desired_position)); - data->desired_position = desired_position; - } -} - -/* Static class initializer: retrieve method and field IDs */ -static jboolean gst_native_class_init (JNIEnv* env, jclass klass) { - custom_data_field_id = (*env)->GetFieldID (env, klass, "native_custom_data", "J"); - set_message_method_id = (*env)->GetMethodID (env, klass, "setMessage", "(Ljava/lang/String;)V"); - set_current_position_method_id = (*env)->GetMethodID (env, klass, "setCurrentPosition", "(II)V"); - on_gstreamer_initialized_method_id = (*env)->GetMethodID (env, klass, "onGStreamerInitialized", "()V"); - on_media_size_changed_method_id = (*env)->GetMethodID (env, klass, "onMediaSizeChanged", "(II)V"); - - if (!custom_data_field_id || !set_message_method_id || !on_gstreamer_initialized_method_id || - !on_media_size_changed_method_id || !set_current_position_method_id) { - /* We emit this message through the Android log instead of the GStreamer log because the later - * has not been initialized yet. - */ - __android_log_print (ANDROID_LOG_ERROR, "tutorial-4", "The calling class does not implement all necessary interface methods"); - return JNI_FALSE; - } - return JNI_TRUE; -} - -static void gst_native_surface_init (JNIEnv *env, jobject thiz, jobject surface) { - CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); - if (!data) return; - ANativeWindow *new_native_window = ANativeWindow_fromSurface(env, surface); - GST_DEBUG ("Received surface %p (native window %p)", surface, new_native_window); - - if (data->native_window) { - ANativeWindow_release (data->native_window); - if (data->native_window == new_native_window) { - GST_DEBUG ("New native window is the same as the previous one", data->native_window); - if (data->pipeline) { - gst_x_overlay_expose(GST_X_OVERLAY (data->pipeline)); - gst_x_overlay_expose(GST_X_OVERLAY (data->pipeline)); - } - return; - } else { - GST_DEBUG ("Released previous native window %p", data->native_window); - data->initialized = FALSE; - } - } - data->native_window = new_native_window; - - check_initialization_complete (data); -} - -static void gst_native_surface_finalize (JNIEnv *env, jobject thiz) { - CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); - if (!data) return; - GST_DEBUG ("Releasing Native Window %p", data->native_window); - - if (data->pipeline) { - gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->pipeline), (guintptr)NULL); - gst_element_set_state (data->pipeline, GST_STATE_READY); - } - - ANativeWindow_release (data->native_window); - data->native_window = NULL; - data->initialized = FALSE; -} - -/* List of implemented native methods */ -static JNINativeMethod native_methods[] = { - { "nativeInit", "()V", (void *) gst_native_init}, - { "nativeFinalize", "()V", (void *) gst_native_finalize}, - { "nativeSetUri", "(Ljava/lang/String;)V", (void *) gst_native_set_uri}, - { "nativePlay", "()V", (void *) gst_native_play}, - { "nativePause", "()V", (void *) gst_native_pause}, - { "nativeSetPosition", "(I)V", (void*) gst_native_set_position}, - { "nativeSurfaceInit", "(Ljava/lang/Object;)V", (void *) gst_native_surface_init}, - { "nativeSurfaceFinalize", "()V", (void *) gst_native_surface_finalize}, - { "nativeClassInit", "()Z", (void *) gst_native_class_init} -}; - -/* Library initializer */ -jint JNI_OnLoad(JavaVM *vm, void *reserved) { - JNIEnv *env = NULL; - - java_vm = vm; - - if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_4) != JNI_OK) { - __android_log_print (ANDROID_LOG_ERROR, "tutorial-4", "Could not retrieve JNIEnv"); - return 0; - } - jclass klass = (*env)->FindClass (env, "com/gst_sdk_tutorials/tutorial_4/Tutorial4"); - (*env)->RegisterNatives (env, klass, native_methods, G_N_ELEMENTS(native_methods)); - - pthread_key_create (¤t_jni_env, detach_current_thread); - - return JNI_VERSION_1_4; -} +#include +#include +#include +#include +#include +#include +#include +#include +#include + +GST_DEBUG_CATEGORY_STATIC (debug_category); +#define GST_CAT_DEFAULT debug_category + +/* + * These macros provide a way to store the native pointer to CustomData, which might be 32 or 64 bits, into + * a jlong, which is always 64 bits, without warnings. + */ +#if GLIB_SIZEOF_VOID_P == 8 +# define GET_CUSTOM_DATA(env, thiz, fieldID) (CustomData *)(*env)->GetLongField (env, thiz, fieldID) +# define SET_CUSTOM_DATA(env, thiz, fieldID, data) (*env)->SetLongField (env, thiz, fieldID, (jlong)data) +#else +# define GET_CUSTOM_DATA(env, thiz, fieldID) (CustomData *)(jint)(*env)->GetLongField (env, thiz, fieldID) +# define SET_CUSTOM_DATA(env, thiz, fieldID, data) (*env)->SetLongField (env, thiz, fieldID, (jlong)(jint)data) +#endif + +/* Do not allow seeks to be performed closer than this distance. It is visually useless, and will probably + * confuse some demuxers. */ +#define SEEK_MIN_DELAY (500 * GST_MSECOND) + +/* Structure to contain all our information, so we can pass it to callbacks */ +typedef struct _CustomData { + jobject app; /* Application instance, used to call its methods. A global reference is kept. */ + GstElement *pipeline; /* The running pipeline */ + GMainContext *context; /* GLib context used to run the main loop */ + GMainLoop *main_loop; /* GLib main loop */ + gboolean initialized; /* To avoid informing the UI multiple times about the initialization */ + ANativeWindow *native_window; /* The Android native window where video will be rendered */ + GstState state; /* Current pipeline state */ + GstState target_state; /* Desired pipeline state, to be set once buffering is complete */ + gint64 duration; /* Cached clip duration */ + gint64 desired_position; /* Position to seek to, once the pipeline is running */ + GstClockTime last_seek_time; /* For seeking overflow prevention (throttling) */ + gboolean is_live; /* Live streams do not use buffering */ +} CustomData; + +/* playbin2 flags */ +typedef enum { + GST_PLAY_FLAG_TEXT = (1 << 2) /* We want subtitle output */ +} GstPlayFlags; + +/* These global variables cache values which are not changing during execution */ +static pthread_t gst_app_thread; +static pthread_key_t current_jni_env; +static JavaVM *java_vm; +static jfieldID custom_data_field_id; +static jmethodID set_message_method_id; +static jmethodID set_current_position_method_id; +static jmethodID on_gstreamer_initialized_method_id; +static jmethodID on_media_size_changed_method_id; + +/* + * Private methods + */ + +/* Register this thread with the VM */ +static JNIEnv *attach_current_thread (void) { + JNIEnv *env; + JavaVMAttachArgs args; + + GST_DEBUG ("Attaching thread %p", g_thread_self ()); + args.version = JNI_VERSION_1_4; + args.name = NULL; + args.group = NULL; + + if ((*java_vm)->AttachCurrentThread (java_vm, &env, &args) < 0) { + GST_ERROR ("Failed to attach current thread"); + return NULL; + } + + return env; +} + +/* Unregister this thread from the VM */ +static void detach_current_thread (void *env) { + GST_DEBUG ("Detaching thread %p", g_thread_self ()); + (*java_vm)->DetachCurrentThread (java_vm); +} + +/* Retrieve the JNI environment for this thread */ +static JNIEnv *get_jni_env (void) { + JNIEnv *env; + + if ((env = pthread_getspecific (current_jni_env)) == NULL) { + env = attach_current_thread (); + pthread_setspecific (current_jni_env, env); + } + + return env; +} + +/* Change the content of the UI's TextView */ +static void set_ui_message (const gchar *message, CustomData *data) { + JNIEnv *env = get_jni_env (); + GST_DEBUG ("Setting message to: %s", message); + jstring jmessage = (*env)->NewStringUTF(env, message); + (*env)->CallVoidMethod (env, data->app, set_message_method_id, jmessage); + if ((*env)->ExceptionCheck (env)) { + GST_ERROR ("Failed to call Java method"); + (*env)->ExceptionClear (env); + } + (*env)->DeleteLocalRef (env, jmessage); +} + +/* Tell the application what is the current position and clip duration */ +static void set_current_ui_position (gint position, gint duration, CustomData *data) { + JNIEnv *env = get_jni_env (); + (*env)->CallVoidMethod (env, data->app, set_current_position_method_id, position, duration); + if ((*env)->ExceptionCheck (env)) { + GST_ERROR ("Failed to call Java method"); + (*env)->ExceptionClear (env); + } +} + +/* If we have pipeline and it is running, query the current position and clip duration and inform + * the application */ +static gboolean refresh_ui (CustomData *data) { + GstFormat fmt = GST_FORMAT_TIME; + gint64 current = -1; + gint64 position; + + /* We do not want to update anything unless we have a working pipeline in the PAUSED or PLAYING state */ + if (!data || !data->pipeline || data->state < GST_STATE_PAUSED) + return TRUE; + + /* If we didn't know it yet, query the stream duration */ + if (!GST_CLOCK_TIME_IS_VALID (data->duration)) { + if (!gst_element_query_duration (data->pipeline, &fmt, &data->duration)) { + GST_WARNING ("Could not query current duration"); + } + } + + if (gst_element_query_position (data->pipeline, &fmt, &position)) { + /* Java expects these values in milliseconds, and GStreamer provides nanoseconds */ + set_current_ui_position (position / GST_MSECOND, data->duration / GST_MSECOND, data); + } + return TRUE; +} + +/* Forward declaration for the delayed seek callback */ +static gboolean delayed_seek_cb (CustomData *data); + +/* Perform seek, if we are not too close to the previous seek. Otherwise, schedule the seek for + * some time in the future. */ +static void execute_seek (gint64 desired_position, CustomData *data) { + gint64 diff; + + if (desired_position == GST_CLOCK_TIME_NONE) + return; + + diff = gst_util_get_timestamp () - data->last_seek_time; + + if (GST_CLOCK_TIME_IS_VALID (data->last_seek_time) && diff < SEEK_MIN_DELAY) { + /* The previous seek was too close, delay this one */ + GSource *timeout_source; + + if (data->desired_position == GST_CLOCK_TIME_NONE) { + /* There was no previous seek scheduled. Setup a timer for some time in the future */ + timeout_source = g_timeout_source_new ((SEEK_MIN_DELAY - diff) / GST_MSECOND); + g_source_set_callback (timeout_source, (GSourceFunc)delayed_seek_cb, data, NULL); + g_source_attach (timeout_source, data->context); + g_source_unref (timeout_source); + } + /* Update the desired seek position. If multiple requests are received before it is time + * to perform a seek, only the last one is remembered. */ + data->desired_position = desired_position; + GST_DEBUG ("Throttling seek to %" GST_TIME_FORMAT ", will be in %" GST_TIME_FORMAT, + GST_TIME_ARGS (desired_position), GST_TIME_ARGS (SEEK_MIN_DELAY - diff)); + } else { + /* Perform the seek now */ + GST_DEBUG ("Seeking to %" GST_TIME_FORMAT, GST_TIME_ARGS (desired_position)); + data->last_seek_time = gst_util_get_timestamp (); + gst_element_seek_simple (data->pipeline, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, desired_position); + data->desired_position = GST_CLOCK_TIME_NONE; + } +} + +/* Delayed seek callback. This gets called by the timer setup in the above function. */ +static gboolean delayed_seek_cb (CustomData *data) { + GST_DEBUG ("Doing delayed seek to %" GST_TIME_FORMAT, GST_TIME_ARGS (data->desired_position)); + execute_seek (data->desired_position, data); + return FALSE; +} + +/* Retrieve errors from the bus and show them on the UI */ +static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + GError *err; + gchar *debug_info; + gchar *message_string; + + gst_message_parse_error (msg, &err, &debug_info); + message_string = g_strdup_printf ("Error received from element %s: %s", GST_OBJECT_NAME (msg->src), err->message); + g_clear_error (&err); + g_free (debug_info); + set_ui_message (message_string, data); + g_free (message_string); + data->target_state = GST_STATE_NULL; + gst_element_set_state (data->pipeline, GST_STATE_NULL); +} + +/* Called when the End Of the Stream is reached. Just move to the beginning of the media and pause. */ +static void eos_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + data->target_state = GST_STATE_PAUSED; + data->is_live = (gst_element_set_state (data->pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_NO_PREROLL); + execute_seek (0, data); +} + +/* Called when the duration of the media changes. Just mark it as unknown, so we re-query it in the next UI refresh. */ +static void duration_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + data->duration = GST_CLOCK_TIME_NONE; +} + +/* Called when buffering messages are received. We inform the UI about the current buffering level and + * keep the pipeline paused until 100% buffering is reached. At that point, set the desired state. */ +static void buffering_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + gint percent; + + if (data->is_live) + return; + + gst_message_parse_buffering (msg, &percent); + if (percent < 100 && data->target_state >= GST_STATE_PAUSED) { + gchar * message_string = g_strdup_printf ("Buffering %d%%", percent); + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); + set_ui_message (message_string, data); + g_free (message_string); + } else if (data->target_state >= GST_STATE_PLAYING) { + gst_element_set_state (data->pipeline, GST_STATE_PLAYING); + } else if (data->target_state >= GST_STATE_PAUSED) { + set_ui_message ("Buffering complete", data); + } +} + +/* Called when the clock is lost */ +static void clock_lost_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + if (data->target_state >= GST_STATE_PLAYING) { + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); + gst_element_set_state (data->pipeline, GST_STATE_PLAYING); + } +} + +/* Retrieve the video sink's Caps and tell the application about the media size */ +static void check_media_size (CustomData *data) { + JNIEnv *env = get_jni_env (); + GstElement *video_sink; + GstPad *video_sink_pad; + GstCaps *caps; + GstVideoFormat fmt; + int width; + int height; + + /* Retrieve the Caps at the entrance of the video sink */ + g_object_get (data->pipeline, "video-sink", &video_sink, NULL); + video_sink_pad = gst_element_get_static_pad (video_sink, "sink"); + caps = gst_pad_get_negotiated_caps (video_sink_pad); + + if (gst_video_format_parse_caps(caps, &fmt, &width, &height)) { + int par_n, par_d; + if (gst_video_parse_caps_pixel_aspect_ratio (caps, &par_n, &par_d)) { + width = width * par_n / par_d; + } + GST_DEBUG ("Media size is %dx%d, notifying application", width, height); + + (*env)->CallVoidMethod (env, data->app, on_media_size_changed_method_id, (jint)width, (jint)height); + if ((*env)->ExceptionCheck (env)) { + GST_ERROR ("Failed to call Java method"); + (*env)->ExceptionClear (env); + } + } + + gst_caps_unref(caps); + gst_object_unref (video_sink_pad); + gst_object_unref(video_sink); +} + +/* Notify UI about pipeline state changes */ +static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + /* Only pay attention to messages coming from the pipeline, not its children */ + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->pipeline)) { + data->state = new_state; + gchar *message = g_strdup_printf("State changed to %s", gst_element_state_get_name(new_state)); + set_ui_message(message, data); + g_free (message); + + /* The Ready to Paused state change is particularly interesting: */ + if (old_state == GST_STATE_READY && new_state == GST_STATE_PAUSED) { + /* By now the sink already knows the media size */ + check_media_size(data); + + /* If there was a scheduled seek, perform it now that we have moved to the Paused state */ + if (GST_CLOCK_TIME_IS_VALID (data->desired_position)) + execute_seek (data->desired_position, data); + } + } +} + +/* Check if all conditions are met to report GStreamer as initialized. + * These conditions will change depending on the application */ +static void check_initialization_complete (CustomData *data) { + JNIEnv *env = get_jni_env (); + if (!data->initialized && data->native_window && data->main_loop) { + GST_DEBUG ("Initialization complete, notifying application. native_window:%p main_loop:%p", data->native_window, data->main_loop); + + /* The main loop is running and we received a native window, inform the sink about it */ + gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->pipeline), (guintptr)data->native_window); + + (*env)->CallVoidMethod (env, data->app, on_gstreamer_initialized_method_id); + if ((*env)->ExceptionCheck (env)) { + GST_ERROR ("Failed to call Java method"); + (*env)->ExceptionClear (env); + } + data->initialized = TRUE; + } +} + +/* Main method for the native code. This is executed on its own thread. */ +static void *app_function (void *userdata) { + JavaVMAttachArgs args; + GstBus *bus; + CustomData *data = (CustomData *)userdata; + GSource *timeout_source; + GSource *bus_source; + GError *error = NULL; + guint flags; + + GST_DEBUG ("Creating pipeline in CustomData at %p", data); + + /* Create our own GLib Main Context and make it the default one */ + data->context = g_main_context_new (); + g_main_context_push_thread_default(data->context); + + /* Build pipeline */ + data->pipeline = gst_parse_launch("playbin2", &error); + if (error) { + gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message); + g_clear_error (&error); + set_ui_message(message, data); + g_free (message); + return NULL; + } + + /* Disable subtitles */ + g_object_get (data->pipeline, "flags", &flags, NULL); + flags &= ~GST_PLAY_FLAG_TEXT; + g_object_set (data->pipeline, "flags", flags, NULL); + + /* Set the pipeline to READY, so it can already accept a window handle, if we have one */ + data->target_state = GST_STATE_READY; + gst_element_set_state(data->pipeline, GST_STATE_READY); + + /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ + bus = gst_element_get_bus (data->pipeline); + bus_source = gst_bus_create_watch (bus); + g_source_set_callback (bus_source, (GSourceFunc) gst_bus_async_signal_func, NULL, NULL); + g_source_attach (bus_source, data->context); + g_source_unref (bus_source); + g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, data); + g_signal_connect (G_OBJECT (bus), "message::eos", (GCallback)eos_cb, data); + g_signal_connect (G_OBJECT (bus), "message::state-changed", (GCallback)state_changed_cb, data); + g_signal_connect (G_OBJECT (bus), "message::duration", (GCallback)duration_cb, data); + g_signal_connect (G_OBJECT (bus), "message::buffering", (GCallback)buffering_cb, data); + g_signal_connect (G_OBJECT (bus), "message::clock-lost", (GCallback)clock_lost_cb, data); + gst_object_unref (bus); + + /* Register a function that GLib will call 4 times per second */ + timeout_source = g_timeout_source_new (250); + g_source_set_callback (timeout_source, (GSourceFunc)refresh_ui, data, NULL); + g_source_attach (timeout_source, data->context); + g_source_unref (timeout_source); + + /* Create a GLib Main Loop and set it to run */ + GST_DEBUG ("Entering main loop... (CustomData:%p)", data); + data->main_loop = g_main_loop_new (data->context, FALSE); + check_initialization_complete (data); + g_main_loop_run (data->main_loop); + GST_DEBUG ("Exited main loop"); + g_main_loop_unref (data->main_loop); + data->main_loop = NULL; + + /* Free resources */ + g_main_context_pop_thread_default(data->context); + g_main_context_unref (data->context); + data->target_state = GST_STATE_NULL; + gst_element_set_state (data->pipeline, GST_STATE_NULL); + gst_object_unref (data->pipeline); + + return NULL; +} + +/* + * Java Bindings + */ + +/* Instruct the native code to create its internal data structure, pipeline and thread */ +static void gst_native_init (JNIEnv* env, jobject thiz) { + CustomData *data = g_new0 (CustomData, 1); + data->desired_position = GST_CLOCK_TIME_NONE; + data->last_seek_time = GST_CLOCK_TIME_NONE; + SET_CUSTOM_DATA (env, thiz, custom_data_field_id, data); + GST_DEBUG_CATEGORY_INIT (debug_category, "tutorial-4", 0, "Android tutorial 4"); + gst_debug_set_threshold_for_name("tutorial-4", GST_LEVEL_DEBUG); + GST_DEBUG ("Created CustomData at %p", data); + data->app = (*env)->NewGlobalRef (env, thiz); + GST_DEBUG ("Created GlobalRef for app object at %p", data->app); + pthread_create (&gst_app_thread, NULL, &app_function, data); +} + +/* Quit the main loop, remove the native thread and free resources */ +static void gst_native_finalize (JNIEnv* env, jobject thiz) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + GST_DEBUG ("Quitting main loop..."); + g_main_loop_quit (data->main_loop); + GST_DEBUG ("Waiting for thread to finish..."); + pthread_join (gst_app_thread, NULL); + GST_DEBUG ("Deleting GlobalRef for app object at %p", data->app); + (*env)->DeleteGlobalRef (env, data->app); + GST_DEBUG ("Freeing CustomData at %p", data); + g_free (data); + SET_CUSTOM_DATA (env, thiz, custom_data_field_id, NULL); + GST_DEBUG ("Done finalizing"); +} + +/* Set playbin2's URI */ +void gst_native_set_uri (JNIEnv* env, jobject thiz, jstring uri) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data || !data->pipeline) return; + const jbyte *char_uri = (*env)->GetStringUTFChars (env, uri, NULL); + GST_DEBUG ("Setting URI to %s", char_uri); + if (data->target_state >= GST_STATE_READY) + gst_element_set_state (data->pipeline, GST_STATE_READY); + g_object_set(data->pipeline, "uri", char_uri, NULL); + (*env)->ReleaseStringUTFChars (env, uri, char_uri); + data->duration = GST_CLOCK_TIME_NONE; + data->is_live = (gst_element_set_state (data->pipeline, data->target_state) == GST_STATE_CHANGE_NO_PREROLL); +} + +/* Set pipeline to PLAYING state */ +static void gst_native_play (JNIEnv* env, jobject thiz) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + GST_DEBUG ("Setting state to PLAYING"); + data->target_state = GST_STATE_PLAYING; + data->is_live = (gst_element_set_state (data->pipeline, GST_STATE_PLAYING) == GST_STATE_CHANGE_NO_PREROLL); +} + +/* Set pipeline to PAUSED state */ +static void gst_native_pause (JNIEnv* env, jobject thiz) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + GST_DEBUG ("Setting state to PAUSED"); + data->target_state = GST_STATE_PAUSED; + data->is_live = (gst_element_set_state (data->pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_NO_PREROLL); +} + +/* Instruct the pipeline to seek to a different position */ +void gst_native_set_position (JNIEnv* env, jobject thiz, int milliseconds) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + gint64 desired_position = (gint64)(milliseconds * GST_MSECOND); + if (data->state >= GST_STATE_PAUSED) { + execute_seek(desired_position, data); + } else { + GST_DEBUG ("Scheduling seek to %" GST_TIME_FORMAT " for later", GST_TIME_ARGS (desired_position)); + data->desired_position = desired_position; + } +} + +/* Static class initializer: retrieve method and field IDs */ +static jboolean gst_native_class_init (JNIEnv* env, jclass klass) { + custom_data_field_id = (*env)->GetFieldID (env, klass, "native_custom_data", "J"); + set_message_method_id = (*env)->GetMethodID (env, klass, "setMessage", "(Ljava/lang/String;)V"); + set_current_position_method_id = (*env)->GetMethodID (env, klass, "setCurrentPosition", "(II)V"); + on_gstreamer_initialized_method_id = (*env)->GetMethodID (env, klass, "onGStreamerInitialized", "()V"); + on_media_size_changed_method_id = (*env)->GetMethodID (env, klass, "onMediaSizeChanged", "(II)V"); + + if (!custom_data_field_id || !set_message_method_id || !on_gstreamer_initialized_method_id || + !on_media_size_changed_method_id || !set_current_position_method_id) { + /* We emit this message through the Android log instead of the GStreamer log because the later + * has not been initialized yet. + */ + __android_log_print (ANDROID_LOG_ERROR, "tutorial-4", "The calling class does not implement all necessary interface methods"); + return JNI_FALSE; + } + return JNI_TRUE; +} + +static void gst_native_surface_init (JNIEnv *env, jobject thiz, jobject surface) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + ANativeWindow *new_native_window = ANativeWindow_fromSurface(env, surface); + GST_DEBUG ("Received surface %p (native window %p)", surface, new_native_window); + + if (data->native_window) { + ANativeWindow_release (data->native_window); + if (data->native_window == new_native_window) { + GST_DEBUG ("New native window is the same as the previous one", data->native_window); + if (data->pipeline) { + gst_x_overlay_expose(GST_X_OVERLAY (data->pipeline)); + gst_x_overlay_expose(GST_X_OVERLAY (data->pipeline)); + } + return; + } else { + GST_DEBUG ("Released previous native window %p", data->native_window); + data->initialized = FALSE; + } + } + data->native_window = new_native_window; + + check_initialization_complete (data); +} + +static void gst_native_surface_finalize (JNIEnv *env, jobject thiz) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + GST_DEBUG ("Releasing Native Window %p", data->native_window); + + if (data->pipeline) { + gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->pipeline), (guintptr)NULL); + gst_element_set_state (data->pipeline, GST_STATE_READY); + } + + ANativeWindow_release (data->native_window); + data->native_window = NULL; + data->initialized = FALSE; +} + +/* List of implemented native methods */ +static JNINativeMethod native_methods[] = { + { "nativeInit", "()V", (void *) gst_native_init}, + { "nativeFinalize", "()V", (void *) gst_native_finalize}, + { "nativeSetUri", "(Ljava/lang/String;)V", (void *) gst_native_set_uri}, + { "nativePlay", "()V", (void *) gst_native_play}, + { "nativePause", "()V", (void *) gst_native_pause}, + { "nativeSetPosition", "(I)V", (void*) gst_native_set_position}, + { "nativeSurfaceInit", "(Ljava/lang/Object;)V", (void *) gst_native_surface_init}, + { "nativeSurfaceFinalize", "()V", (void *) gst_native_surface_finalize}, + { "nativeClassInit", "()Z", (void *) gst_native_class_init} +}; + +/* Library initializer */ +jint JNI_OnLoad(JavaVM *vm, void *reserved) { + JNIEnv *env = NULL; + + java_vm = vm; + + if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_4) != JNI_OK) { + __android_log_print (ANDROID_LOG_ERROR, "tutorial-4", "Could not retrieve JNIEnv"); + return 0; + } + jclass klass = (*env)->FindClass (env, "com/gst_sdk_tutorials/tutorial_4/Tutorial4"); + (*env)->RegisterNatives (env, klass, native_methods, G_N_ELEMENTS(native_methods)); + + pthread_key_create (¤t_jni_env, detach_current_thread); + + return JNI_VERSION_1_4; +} diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m b/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m index 95ac99fcc9..dc7e0d64c1 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m @@ -1,394 +1,394 @@ -#import "GStreamerBackend.h" - -#include -#include -#include - -GST_DEBUG_CATEGORY_STATIC (debug_category); -#define GST_CAT_DEFAULT debug_category - -/* Do not allow seeks to be performed closer than this distance. It is visually useless, and will probably - * confuse some demuxers. */ -#define SEEK_MIN_DELAY (500 * GST_MSECOND) - -@interface GStreamerBackend() --(void)setUIMessage:(gchar*) message; --(void)app_function; --(void)check_initialization_complete; -@end - -@implementation GStreamerBackend { - id ui_delegate; /* Class that we use to interact with the user interface */ - GstElement *pipeline; /* The running pipeline */ - GstElement *video_sink; /* The video sink element which receives XOverlay commands */ - GMainContext *context; /* GLib context used to run the main loop */ - GMainLoop *main_loop; /* GLib main loop */ - gboolean initialized; /* To avoid informing the UI multiple times about the initialization */ - UIView *ui_video_view; /* UIView that holds the video */ - GstState state; /* Current pipeline state */ - GstState target_state; /* Desired pipeline state, to be set once buffering is complete */ - gint64 duration; /* Cached clip duration */ - gint64 desired_position; /* Position to seek to, once the pipeline is running */ - GstClockTime last_seek_time; /* For seeking overflow prevention (throttling) */ - gboolean is_live; /* Live streams do not use buffering */ -} - -/* - * Interface methods - */ - --(id) init:(id) uiDelegate videoView:(UIView *)video_view -{ - if (self = [super init]) - { - self->ui_delegate = uiDelegate; - self->ui_video_view = video_view; - self->duration = GST_CLOCK_TIME_NONE; - - GST_DEBUG_CATEGORY_INIT (debug_category, "tutorial-4", 0, "iOS tutorial 4"); - gst_debug_set_threshold_for_name("tutorial-4", GST_LEVEL_DEBUG); - - /* Start the bus monitoring task */ - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - [self app_function]; - }); - } - - return self; -} - --(void) deinit -{ - if (main_loop) { - g_main_loop_quit(main_loop); - } -} - --(void) play -{ - target_state = GST_STATE_PLAYING; - is_live = (gst_element_set_state (pipeline, GST_STATE_PLAYING) == GST_STATE_CHANGE_NO_PREROLL); -} - --(void) pause -{ - target_state = GST_STATE_PAUSED; - is_live = (gst_element_set_state (pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_NO_PREROLL); -} - --(void) setUri:(NSString*)uri -{ - const char *char_uri = [uri UTF8String]; - g_object_set(pipeline, "uri", char_uri, NULL); - GST_DEBUG ("URI set to %s", char_uri); -} - --(void) setPosition:(NSInteger)milliseconds -{ - gint64 position = (gint64)(milliseconds * GST_MSECOND); - if (state >= GST_STATE_PAUSED) { - execute_seek(position, self); - } else { - GST_DEBUG ("Scheduling seek to %" GST_TIME_FORMAT " for later", GST_TIME_ARGS (position)); - self->desired_position = position; - } -} - -/* - * Private methods - */ - -/* Change the message on the UI through the UI delegate */ --(void)setUIMessage:(gchar*) message -{ - NSString *string = [NSString stringWithUTF8String:message]; - if(ui_delegate && [ui_delegate respondsToSelector:@selector(gstreamerSetUIMessage:)]) - { - [ui_delegate gstreamerSetUIMessage:string]; - } -} - -/* Tell the application what is the current position and clip duration */ --(void) setCurrentUIPosition:(gint)pos duration:(gint)dur -{ - if(ui_delegate && [ui_delegate respondsToSelector:@selector(setCurrentPosition:duration:)]) - { - [ui_delegate setCurrentPosition:pos duration:dur]; - } -} - -/* If we have pipeline and it is running, query the current position and clip duration and inform - * the application */ -static gboolean refresh_ui (GStreamerBackend *self) { - GstFormat fmt = GST_FORMAT_TIME; - gint64 position; - - /* We do not want to update anything unless we have a working pipeline in the PAUSED or PLAYING state */ - if (!self || !self->pipeline || self->state < GST_STATE_PAUSED) - return TRUE; - - /* If we didn't know it yet, query the stream duration */ - if (!GST_CLOCK_TIME_IS_VALID (self->duration)) { - gst_element_query_duration (self->pipeline, &fmt, &self->duration); - } - - if (gst_element_query_position (self->pipeline, &fmt, &position)) { - /* The UI expects these values in milliseconds, and GStreamer provides nanoseconds */ - [self setCurrentUIPosition:position / GST_MSECOND duration:self->duration / GST_MSECOND]; - } - return TRUE; -} - -/* Forward declaration for the delayed seek callback */ -static gboolean delayed_seek_cb (GStreamerBackend *self); - -/* Perform seek, if we are not too close to the previous seek. Otherwise, schedule the seek for - * some time in the future. */ -static void execute_seek (gint64 position, GStreamerBackend *self) { - gint64 diff; - - if (position == GST_CLOCK_TIME_NONE) - return; - - diff = gst_util_get_timestamp () - self->last_seek_time; - - if (GST_CLOCK_TIME_IS_VALID (self->last_seek_time) && diff < SEEK_MIN_DELAY) { - /* The previous seek was too close, delay this one */ - GSource *timeout_source; - - if (self->desired_position == GST_CLOCK_TIME_NONE) { - /* There was no previous seek scheduled. Setup a timer for some time in the future */ - timeout_source = g_timeout_source_new ((SEEK_MIN_DELAY - diff) / GST_MSECOND); - g_source_set_callback (timeout_source, (GSourceFunc)delayed_seek_cb, (__bridge void *)self, NULL); - g_source_attach (timeout_source, self->context); - g_source_unref (timeout_source); - } - /* Update the desired seek position. If multiple petitions are received before it is time - * to perform a seek, only the last one is remembered. */ - self->desired_position = position; - GST_DEBUG ("Throttling seek to %" GST_TIME_FORMAT ", will be in %" GST_TIME_FORMAT, - GST_TIME_ARGS (position), GST_TIME_ARGS (SEEK_MIN_DELAY - diff)); - } else { - /* Perform the seek now */ - GST_DEBUG ("Seeking to %" GST_TIME_FORMAT, GST_TIME_ARGS (position)); - self->last_seek_time = gst_util_get_timestamp (); - gst_element_seek_simple (self->pipeline, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, position); - self->desired_position = GST_CLOCK_TIME_NONE; - } -} - -/* Delayed seek callback. This gets called by the timer setup in the above function. */ -static gboolean delayed_seek_cb (GStreamerBackend *self) { - GST_DEBUG ("Doing delayed seek to %" GST_TIME_FORMAT, GST_TIME_ARGS (self->desired_position)); - execute_seek (self->desired_position, self); - return FALSE; -} - -/* Retrieve errors from the bus and show them on the UI */ -static void error_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) -{ - GError *err; - gchar *debug_info; - gchar *message_string; - - gst_message_parse_error (msg, &err, &debug_info); - message_string = g_strdup_printf ("Error received from element %s: %s", GST_OBJECT_NAME (msg->src), err->message); - g_clear_error (&err); - g_free (debug_info); - [self setUIMessage:message_string]; - g_free (message_string); - gst_element_set_state (self->pipeline, GST_STATE_NULL); -} - -/* Called when the End Of the Stream is reached. Just move to the beginning of the media and pause. */ -static void eos_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) { - self->target_state = GST_STATE_PAUSED; - self->is_live = (gst_element_set_state (self->pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_NO_PREROLL); - execute_seek (0, self); -} - -/* Called when the duration of the media changes. Just mark it as unknown, so we re-query it in the next UI refresh. */ -static void duration_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) { - self->duration = GST_CLOCK_TIME_NONE; -} - -/* Called when buffering messages are received. We inform the UI about the current buffering level and - * keep the pipeline paused until 100% buffering is reached. At that point, set the desired state. */ -static void buffering_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) { - gint percent; - - if (self->is_live) - return; - - gst_message_parse_buffering (msg, &percent); - if (percent < 100 && self->target_state >= GST_STATE_PAUSED) { - gchar * message_string = g_strdup_printf ("Buffering %d%%", percent); - gst_element_set_state (self->pipeline, GST_STATE_PAUSED); - [self setUIMessage:message_string]; - g_free (message_string); - } else if (self->target_state >= GST_STATE_PLAYING) { - gst_element_set_state (self->pipeline, GST_STATE_PLAYING); - } else if (self->target_state >= GST_STATE_PAUSED) { - [self setUIMessage:"Buffering complete"]; - } -} - -/* Called when the clock is lost */ -static void clock_lost_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) { - if (self->target_state >= GST_STATE_PLAYING) { - gst_element_set_state (self->pipeline, GST_STATE_PAUSED); - gst_element_set_state (self->pipeline, GST_STATE_PLAYING); - } -} - -/* Retrieve the video sink's Caps and tell the application about the media size */ -static void check_media_size (GStreamerBackend *self) { - GstElement *video_sink; - GstPad *video_sink_pad; - GstCaps *caps; - GstVideoFormat fmt; - int width; - int height; - - /* Retrieve the Caps at the entrance of the video sink */ - g_object_get (self->pipeline, "video-sink", &video_sink, NULL); - - /* Do nothing if there is no video sink (this might be an audio-only clip */ - if (!video_sink) return; - - video_sink_pad = gst_element_get_static_pad (video_sink, "sink"); - caps = gst_pad_get_negotiated_caps (video_sink_pad); - - if (gst_video_format_parse_caps(caps, &fmt, &width, &height)) { - int par_n, par_d; - if (gst_video_parse_caps_pixel_aspect_ratio (caps, &par_n, &par_d)) { - width = width * par_n / par_d; - } - GST_DEBUG ("Media size is %dx%d, notifying application", width, height); - - if (self->ui_delegate && [self->ui_delegate respondsToSelector:@selector(mediaSizeChanged:height:)]) - { - [self->ui_delegate mediaSizeChanged:width height:height]; - } - } - - gst_caps_unref(caps); - gst_object_unref (video_sink_pad); - gst_object_unref(video_sink); -} - -/* Notify UI about pipeline state changes */ -static void state_changed_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) -{ - GstState old_state, new_state, pending_state; - gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); - /* Only pay attention to messages coming from the pipeline, not its children */ - if (GST_MESSAGE_SRC (msg) == GST_OBJECT (self->pipeline)) { - self->state = new_state; - gchar *message = g_strdup_printf("State changed to %s", gst_element_state_get_name(new_state)); - [self setUIMessage:message]; - g_free (message); - - if (old_state == GST_STATE_READY && new_state == GST_STATE_PAUSED) - { - check_media_size(self); - - /* If there was a scheduled seek, perform it now that we have moved to the Paused state */ - if (GST_CLOCK_TIME_IS_VALID (self->desired_position)) - execute_seek (self->desired_position, self); - } - } -} - -/* Check if all conditions are met to report GStreamer as initialized. - * These conditions will change depending on the application */ --(void) check_initialization_complete -{ - if (!initialized && main_loop) { - GST_DEBUG ("Initialization complete, notifying application."); - if (ui_delegate && [ui_delegate respondsToSelector:@selector(gstreamerInitialized)]) - { - [ui_delegate gstreamerInitialized]; - } - initialized = TRUE; - } -} - -/* Main method for the bus monitoring code */ --(void) app_function -{ - GstBus *bus; - GSource *timeout_source; - GSource *bus_source; - GError *error = NULL; - - GST_DEBUG ("Creating pipeline"); - - /* Create our own GLib Main Context and make it the default one */ - context = g_main_context_new (); - g_main_context_push_thread_default(context); - - /* Build pipeline */ - pipeline = gst_parse_launch("playbin2", &error); - if (error) { - gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message); - g_clear_error (&error); - [self setUIMessage:message]; - g_free (message); - return; - } - - /* Set the pipeline to READY, so it can already accept a window handle */ - gst_element_set_state(pipeline, GST_STATE_READY); - - video_sink = gst_bin_get_by_interface(GST_BIN(pipeline), GST_TYPE_X_OVERLAY); - if (!video_sink) { - GST_ERROR ("Could not retrieve video sink"); - return; - } - gst_x_overlay_set_window_handle(GST_X_OVERLAY(video_sink), (guintptr) (id) ui_video_view); - - /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ - bus = gst_element_get_bus (pipeline); - bus_source = gst_bus_create_watch (bus); - g_source_set_callback (bus_source, (GSourceFunc) gst_bus_async_signal_func, NULL, NULL); - g_source_attach (bus_source, context); - g_source_unref (bus_source); - g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, (__bridge void *)self); - g_signal_connect (G_OBJECT (bus), "message::eos", (GCallback)eos_cb, (__bridge void *)self); - g_signal_connect (G_OBJECT (bus), "message::state-changed", (GCallback)state_changed_cb, (__bridge void *)self); - g_signal_connect (G_OBJECT (bus), "message::duration", (GCallback)duration_cb, (__bridge void *)self); - g_signal_connect (G_OBJECT (bus), "message::buffering", (GCallback)buffering_cb, (__bridge void *)self); - g_signal_connect (G_OBJECT (bus), "message::clock-lost", (GCallback)clock_lost_cb, (__bridge void *)self); - gst_object_unref (bus); - - /* Register a function that GLib will call 4 times per second */ - timeout_source = g_timeout_source_new (250); - g_source_set_callback (timeout_source, (GSourceFunc)refresh_ui, (__bridge void *)self, NULL); - g_source_attach (timeout_source, context); - g_source_unref (timeout_source); - - /* Create a GLib Main Loop and set it to run */ - GST_DEBUG ("Entering main loop..."); - main_loop = g_main_loop_new (context, FALSE); - [self check_initialization_complete]; - g_main_loop_run (main_loop); - GST_DEBUG ("Exited main loop"); - g_main_loop_unref (main_loop); - main_loop = NULL; - - /* Free resources */ - g_main_context_pop_thread_default(context); - g_main_context_unref (context); - gst_element_set_state (pipeline, GST_STATE_NULL); - gst_object_unref (pipeline); - pipeline = NULL; - - ui_delegate = NULL; - ui_video_view = NULL; - - return; -} - -@end - +#import "GStreamerBackend.h" + +#include +#include +#include + +GST_DEBUG_CATEGORY_STATIC (debug_category); +#define GST_CAT_DEFAULT debug_category + +/* Do not allow seeks to be performed closer than this distance. It is visually useless, and will probably + * confuse some demuxers. */ +#define SEEK_MIN_DELAY (500 * GST_MSECOND) + +@interface GStreamerBackend() +-(void)setUIMessage:(gchar*) message; +-(void)app_function; +-(void)check_initialization_complete; +@end + +@implementation GStreamerBackend { + id ui_delegate; /* Class that we use to interact with the user interface */ + GstElement *pipeline; /* The running pipeline */ + GstElement *video_sink; /* The video sink element which receives XOverlay commands */ + GMainContext *context; /* GLib context used to run the main loop */ + GMainLoop *main_loop; /* GLib main loop */ + gboolean initialized; /* To avoid informing the UI multiple times about the initialization */ + UIView *ui_video_view; /* UIView that holds the video */ + GstState state; /* Current pipeline state */ + GstState target_state; /* Desired pipeline state, to be set once buffering is complete */ + gint64 duration; /* Cached clip duration */ + gint64 desired_position; /* Position to seek to, once the pipeline is running */ + GstClockTime last_seek_time; /* For seeking overflow prevention (throttling) */ + gboolean is_live; /* Live streams do not use buffering */ +} + +/* + * Interface methods + */ + +-(id) init:(id) uiDelegate videoView:(UIView *)video_view +{ + if (self = [super init]) + { + self->ui_delegate = uiDelegate; + self->ui_video_view = video_view; + self->duration = GST_CLOCK_TIME_NONE; + + GST_DEBUG_CATEGORY_INIT (debug_category, "tutorial-4", 0, "iOS tutorial 4"); + gst_debug_set_threshold_for_name("tutorial-4", GST_LEVEL_DEBUG); + + /* Start the bus monitoring task */ + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + [self app_function]; + }); + } + + return self; +} + +-(void) deinit +{ + if (main_loop) { + g_main_loop_quit(main_loop); + } +} + +-(void) play +{ + target_state = GST_STATE_PLAYING; + is_live = (gst_element_set_state (pipeline, GST_STATE_PLAYING) == GST_STATE_CHANGE_NO_PREROLL); +} + +-(void) pause +{ + target_state = GST_STATE_PAUSED; + is_live = (gst_element_set_state (pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_NO_PREROLL); +} + +-(void) setUri:(NSString*)uri +{ + const char *char_uri = [uri UTF8String]; + g_object_set(pipeline, "uri", char_uri, NULL); + GST_DEBUG ("URI set to %s", char_uri); +} + +-(void) setPosition:(NSInteger)milliseconds +{ + gint64 position = (gint64)(milliseconds * GST_MSECOND); + if (state >= GST_STATE_PAUSED) { + execute_seek(position, self); + } else { + GST_DEBUG ("Scheduling seek to %" GST_TIME_FORMAT " for later", GST_TIME_ARGS (position)); + self->desired_position = position; + } +} + +/* + * Private methods + */ + +/* Change the message on the UI through the UI delegate */ +-(void)setUIMessage:(gchar*) message +{ + NSString *string = [NSString stringWithUTF8String:message]; + if(ui_delegate && [ui_delegate respondsToSelector:@selector(gstreamerSetUIMessage:)]) + { + [ui_delegate gstreamerSetUIMessage:string]; + } +} + +/* Tell the application what is the current position and clip duration */ +-(void) setCurrentUIPosition:(gint)pos duration:(gint)dur +{ + if(ui_delegate && [ui_delegate respondsToSelector:@selector(setCurrentPosition:duration:)]) + { + [ui_delegate setCurrentPosition:pos duration:dur]; + } +} + +/* If we have pipeline and it is running, query the current position and clip duration and inform + * the application */ +static gboolean refresh_ui (GStreamerBackend *self) { + GstFormat fmt = GST_FORMAT_TIME; + gint64 position; + + /* We do not want to update anything unless we have a working pipeline in the PAUSED or PLAYING state */ + if (!self || !self->pipeline || self->state < GST_STATE_PAUSED) + return TRUE; + + /* If we didn't know it yet, query the stream duration */ + if (!GST_CLOCK_TIME_IS_VALID (self->duration)) { + gst_element_query_duration (self->pipeline, &fmt, &self->duration); + } + + if (gst_element_query_position (self->pipeline, &fmt, &position)) { + /* The UI expects these values in milliseconds, and GStreamer provides nanoseconds */ + [self setCurrentUIPosition:position / GST_MSECOND duration:self->duration / GST_MSECOND]; + } + return TRUE; +} + +/* Forward declaration for the delayed seek callback */ +static gboolean delayed_seek_cb (GStreamerBackend *self); + +/* Perform seek, if we are not too close to the previous seek. Otherwise, schedule the seek for + * some time in the future. */ +static void execute_seek (gint64 position, GStreamerBackend *self) { + gint64 diff; + + if (position == GST_CLOCK_TIME_NONE) + return; + + diff = gst_util_get_timestamp () - self->last_seek_time; + + if (GST_CLOCK_TIME_IS_VALID (self->last_seek_time) && diff < SEEK_MIN_DELAY) { + /* The previous seek was too close, delay this one */ + GSource *timeout_source; + + if (self->desired_position == GST_CLOCK_TIME_NONE) { + /* There was no previous seek scheduled. Setup a timer for some time in the future */ + timeout_source = g_timeout_source_new ((SEEK_MIN_DELAY - diff) / GST_MSECOND); + g_source_set_callback (timeout_source, (GSourceFunc)delayed_seek_cb, (__bridge void *)self, NULL); + g_source_attach (timeout_source, self->context); + g_source_unref (timeout_source); + } + /* Update the desired seek position. If multiple requests are received before it is time + * to perform a seek, only the last one is remembered. */ + self->desired_position = position; + GST_DEBUG ("Throttling seek to %" GST_TIME_FORMAT ", will be in %" GST_TIME_FORMAT, + GST_TIME_ARGS (position), GST_TIME_ARGS (SEEK_MIN_DELAY - diff)); + } else { + /* Perform the seek now */ + GST_DEBUG ("Seeking to %" GST_TIME_FORMAT, GST_TIME_ARGS (position)); + self->last_seek_time = gst_util_get_timestamp (); + gst_element_seek_simple (self->pipeline, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, position); + self->desired_position = GST_CLOCK_TIME_NONE; + } +} + +/* Delayed seek callback. This gets called by the timer setup in the above function. */ +static gboolean delayed_seek_cb (GStreamerBackend *self) { + GST_DEBUG ("Doing delayed seek to %" GST_TIME_FORMAT, GST_TIME_ARGS (self->desired_position)); + execute_seek (self->desired_position, self); + return FALSE; +} + +/* Retrieve errors from the bus and show them on the UI */ +static void error_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) +{ + GError *err; + gchar *debug_info; + gchar *message_string; + + gst_message_parse_error (msg, &err, &debug_info); + message_string = g_strdup_printf ("Error received from element %s: %s", GST_OBJECT_NAME (msg->src), err->message); + g_clear_error (&err); + g_free (debug_info); + [self setUIMessage:message_string]; + g_free (message_string); + gst_element_set_state (self->pipeline, GST_STATE_NULL); +} + +/* Called when the End Of the Stream is reached. Just move to the beginning of the media and pause. */ +static void eos_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) { + self->target_state = GST_STATE_PAUSED; + self->is_live = (gst_element_set_state (self->pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_NO_PREROLL); + execute_seek (0, self); +} + +/* Called when the duration of the media changes. Just mark it as unknown, so we re-query it in the next UI refresh. */ +static void duration_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) { + self->duration = GST_CLOCK_TIME_NONE; +} + +/* Called when buffering messages are received. We inform the UI about the current buffering level and + * keep the pipeline paused until 100% buffering is reached. At that point, set the desired state. */ +static void buffering_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) { + gint percent; + + if (self->is_live) + return; + + gst_message_parse_buffering (msg, &percent); + if (percent < 100 && self->target_state >= GST_STATE_PAUSED) { + gchar * message_string = g_strdup_printf ("Buffering %d%%", percent); + gst_element_set_state (self->pipeline, GST_STATE_PAUSED); + [self setUIMessage:message_string]; + g_free (message_string); + } else if (self->target_state >= GST_STATE_PLAYING) { + gst_element_set_state (self->pipeline, GST_STATE_PLAYING); + } else if (self->target_state >= GST_STATE_PAUSED) { + [self setUIMessage:"Buffering complete"]; + } +} + +/* Called when the clock is lost */ +static void clock_lost_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) { + if (self->target_state >= GST_STATE_PLAYING) { + gst_element_set_state (self->pipeline, GST_STATE_PAUSED); + gst_element_set_state (self->pipeline, GST_STATE_PLAYING); + } +} + +/* Retrieve the video sink's Caps and tell the application about the media size */ +static void check_media_size (GStreamerBackend *self) { + GstElement *video_sink; + GstPad *video_sink_pad; + GstCaps *caps; + GstVideoFormat fmt; + int width; + int height; + + /* Retrieve the Caps at the entrance of the video sink */ + g_object_get (self->pipeline, "video-sink", &video_sink, NULL); + + /* Do nothing if there is no video sink (this might be an audio-only clip */ + if (!video_sink) return; + + video_sink_pad = gst_element_get_static_pad (video_sink, "sink"); + caps = gst_pad_get_negotiated_caps (video_sink_pad); + + if (gst_video_format_parse_caps(caps, &fmt, &width, &height)) { + int par_n, par_d; + if (gst_video_parse_caps_pixel_aspect_ratio (caps, &par_n, &par_d)) { + width = width * par_n / par_d; + } + GST_DEBUG ("Media size is %dx%d, notifying application", width, height); + + if (self->ui_delegate && [self->ui_delegate respondsToSelector:@selector(mediaSizeChanged:height:)]) + { + [self->ui_delegate mediaSizeChanged:width height:height]; + } + } + + gst_caps_unref(caps); + gst_object_unref (video_sink_pad); + gst_object_unref(video_sink); +} + +/* Notify UI about pipeline state changes */ +static void state_changed_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) +{ + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + /* Only pay attention to messages coming from the pipeline, not its children */ + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (self->pipeline)) { + self->state = new_state; + gchar *message = g_strdup_printf("State changed to %s", gst_element_state_get_name(new_state)); + [self setUIMessage:message]; + g_free (message); + + if (old_state == GST_STATE_READY && new_state == GST_STATE_PAUSED) + { + check_media_size(self); + + /* If there was a scheduled seek, perform it now that we have moved to the Paused state */ + if (GST_CLOCK_TIME_IS_VALID (self->desired_position)) + execute_seek (self->desired_position, self); + } + } +} + +/* Check if all conditions are met to report GStreamer as initialized. + * These conditions will change depending on the application */ +-(void) check_initialization_complete +{ + if (!initialized && main_loop) { + GST_DEBUG ("Initialization complete, notifying application."); + if (ui_delegate && [ui_delegate respondsToSelector:@selector(gstreamerInitialized)]) + { + [ui_delegate gstreamerInitialized]; + } + initialized = TRUE; + } +} + +/* Main method for the bus monitoring code */ +-(void) app_function +{ + GstBus *bus; + GSource *timeout_source; + GSource *bus_source; + GError *error = NULL; + + GST_DEBUG ("Creating pipeline"); + + /* Create our own GLib Main Context and make it the default one */ + context = g_main_context_new (); + g_main_context_push_thread_default(context); + + /* Build pipeline */ + pipeline = gst_parse_launch("playbin2", &error); + if (error) { + gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message); + g_clear_error (&error); + [self setUIMessage:message]; + g_free (message); + return; + } + + /* Set the pipeline to READY, so it can already accept a window handle */ + gst_element_set_state(pipeline, GST_STATE_READY); + + video_sink = gst_bin_get_by_interface(GST_BIN(pipeline), GST_TYPE_X_OVERLAY); + if (!video_sink) { + GST_ERROR ("Could not retrieve video sink"); + return; + } + gst_x_overlay_set_window_handle(GST_X_OVERLAY(video_sink), (guintptr) (id) ui_video_view); + + /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ + bus = gst_element_get_bus (pipeline); + bus_source = gst_bus_create_watch (bus); + g_source_set_callback (bus_source, (GSourceFunc) gst_bus_async_signal_func, NULL, NULL); + g_source_attach (bus_source, context); + g_source_unref (bus_source); + g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, (__bridge void *)self); + g_signal_connect (G_OBJECT (bus), "message::eos", (GCallback)eos_cb, (__bridge void *)self); + g_signal_connect (G_OBJECT (bus), "message::state-changed", (GCallback)state_changed_cb, (__bridge void *)self); + g_signal_connect (G_OBJECT (bus), "message::duration", (GCallback)duration_cb, (__bridge void *)self); + g_signal_connect (G_OBJECT (bus), "message::buffering", (GCallback)buffering_cb, (__bridge void *)self); + g_signal_connect (G_OBJECT (bus), "message::clock-lost", (GCallback)clock_lost_cb, (__bridge void *)self); + gst_object_unref (bus); + + /* Register a function that GLib will call 4 times per second */ + timeout_source = g_timeout_source_new (250); + g_source_set_callback (timeout_source, (GSourceFunc)refresh_ui, (__bridge void *)self, NULL); + g_source_attach (timeout_source, context); + g_source_unref (timeout_source); + + /* Create a GLib Main Loop and set it to run */ + GST_DEBUG ("Entering main loop..."); + main_loop = g_main_loop_new (context, FALSE); + [self check_initialization_complete]; + g_main_loop_run (main_loop); + GST_DEBUG ("Exited main loop"); + g_main_loop_unref (main_loop); + main_loop = NULL; + + /* Free resources */ + g_main_context_pop_thread_default(context); + g_main_context_unref (context); + gst_element_set_state (pipeline, GST_STATE_NULL); + gst_object_unref (pipeline); + pipeline = NULL; + + ui_delegate = NULL; + ui_video_view = NULL; + + return; +} + +@end + From 72b7f3f2a21e91a8dd5662d229e1bdc56d876062 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 22 May 2013 12:51:05 +0200 Subject: [PATCH 304/979] Add Photo Library items to iOS Tutorial 5 --- .../Tutorial 5/LibraryViewController.h | 1 + .../Tutorial 5/LibraryViewController.m | 56 +++++++++++++++---- .../xcode iOS/Tutorial 5/gst_ios_init.c | 6 ++ 3 files changed, 52 insertions(+), 11 deletions(-) diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/LibraryViewController.h b/gst-sdk/tutorials/xcode iOS/Tutorial 5/LibraryViewController.h index db18bfaf2c..6950b19842 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 5/LibraryViewController.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/LibraryViewController.h @@ -2,6 +2,7 @@ @interface LibraryViewController : UITableViewController { + NSArray *libraryEntries; NSArray *mediaEntries; NSArray *onlineEntries; } diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/LibraryViewController.m b/gst-sdk/tutorials/xcode iOS/Tutorial 5/LibraryViewController.m index e0ec124205..f1aead5648 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 5/LibraryViewController.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/LibraryViewController.m @@ -1,5 +1,6 @@ #import "LibraryViewController.h" #import "VideoViewController.h" +#import @interface LibraryViewController () @@ -23,14 +24,15 @@ static NSString *CellIdentifier = @"CellIdentifier"; - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - return 2; + return 3; } - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section { switch (section) { - case 0: return @"Local files (iTunes file sharing)"; + case 0: return @"Photo library"; + case 1: return @"iTunes file sharing"; default: return @"Online files"; } } @@ -38,8 +40,10 @@ static NSString *CellIdentifier = @"CellIdentifier"; - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { switch (section) { case 0: - return [self->mediaEntries count]; + return [self->libraryEntries count]; case 1: + return [self->mediaEntries count]; + case 2: return [self->onlineEntries count]; default: return 0; @@ -52,13 +56,15 @@ static NSString *CellIdentifier = @"CellIdentifier"; UILabel *title = (UILabel *)[cell.contentView viewWithTag:10]; UILabel *subtitle = (UILabel *)[cell.contentView viewWithTag:11]; - if(indexPath.section == 0) - { - subtitle.text = [NSString stringWithFormat:@"file://%@", - [self->mediaEntries objectAtIndex:indexPath.item], nil]; - } else if (indexPath.section == 1) - { - subtitle.text = [self->onlineEntries objectAtIndex:indexPath.item]; + switch (indexPath.section) { + case 0: subtitle.text = [self->libraryEntries objectAtIndex:indexPath.item]; + break; + case 1: subtitle.text = [self->mediaEntries objectAtIndex:indexPath.item]; + break; + case 2: subtitle.text = [self->onlineEntries objectAtIndex:indexPath.item]; + break; + default: + break; } NSArray *components = [subtitle.text pathComponents]; @@ -91,13 +97,41 @@ static NSString *CellIdentifier = @"CellIdentifier"; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSAllDomainsMask, YES); NSString *docsPath = [paths objectAtIndex:0]; + /* Entries from the Photo Library */ NSMutableArray *entries = [[NSMutableArray alloc] init]; + ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init]; + [library enumerateGroupsWithTypes:ALAssetsGroupAll + usingBlock:^(ALAssetsGroup *group, BOOL *stop) + { + if (group) { + [group enumerateAssetsUsingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop) + { + if(result) { + [entries addObject:[NSString stringWithFormat:@"%@",[result valueForProperty:ALAssetPropertyAssetURL]]]; + *stop = NO; + + } + }]; + } else { + [self.tableView reloadData]; + } + } + failureBlock:^(NSError *error) + { + NSLog(@"ERROR"); + } + ]; + self->libraryEntries = entries; + + /* Retrieve entries from iTunes file sharing */ + entries = [[NSMutableArray alloc] init]; for (NSString *e in [[NSFileManager defaultManager] contentsOfDirectoryAtPath:docsPath error:nil]) { - [entries addObject:[NSString stringWithFormat:@"%@/%@",docsPath, e]]; + [entries addObject:[NSString stringWithFormat:@"file://%@/%@", docsPath, e]]; } self->mediaEntries = entries; + /* Hardcoded list of Online media files */ entries = [[NSMutableArray alloc] init]; // Big Buck Bunny diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.c b/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.c index e60564a570..ce2dd36b29 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.c +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.c @@ -138,6 +138,9 @@ GST_PLUGIN_STATIC_DECLARE(eglglessink); #if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_DECLARE(applemedia_nonpublic); #endif +#if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS) +GST_PLUGIN_STATIC_DECLARE(applemedia); +#endif #if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_DECLARE(libvisual); #endif @@ -639,6 +642,9 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_REGISTER(applemedia_nonpublic); #endif +#if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS) + GST_PLUGIN_STATIC_REGISTER(applemedia); +#endif #if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_REGISTER(libvisual); #endif From 53aee99a76b5b22c5ece7504cc8bd745580d6680 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 22 May 2013 13:30:14 +0200 Subject: [PATCH 305/979] Disable screen auto-lock when the clip is playing. --- gst-sdk/tutorials/xcode iOS/Tutorial 5/VideoViewController.m | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/VideoViewController.m b/gst-sdk/tutorials/xcode iOS/Tutorial 5/VideoViewController.m index 54758c9040..19f6f0eb74 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 5/VideoViewController.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/VideoViewController.m @@ -75,6 +75,7 @@ { [gst_backend deinit]; } + [UIApplication sharedApplication].idleTimerDisabled = NO; } - (void)didReceiveMemoryWarning @@ -88,6 +89,7 @@ { [gst_backend play]; is_playing_desired = YES; + [UIApplication sharedApplication].idleTimerDisabled = YES; } /* Called when the Pause button is pressed */ @@ -95,6 +97,7 @@ { [gst_backend pause]; is_playing_desired = NO; + [UIApplication sharedApplication].idleTimerDisabled = NO; } /* Called when the time slider position has changed, either because the user dragged it or From 624b3b127cbb6fe54980c9d609f26910a32dc3b9 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 22 May 2013 17:04:57 +0200 Subject: [PATCH 306/979] Adapt to latest Xcode templates (including fonts). --- .../project.pbxproj | 85 +- .../xcode iOS/Tutorial 1/Ubuntu-R.ttf | Bin 0 -> 353824 bytes .../tutorials/xcode iOS/Tutorial 1/fonts.conf | 126 ++ .../xcode iOS/Tutorial 1/gst_ios_init.c | 1006 ---------------- .../gst_ios_init.m} | 39 +- .../xcode iOS/Tutorial 2/Ubuntu-R.ttf | Bin 0 -> 353824 bytes .../tutorials/xcode iOS/Tutorial 2/fonts.conf | 126 ++ .../{gst_ios_init.c => gst_ios_init.m} | 33 +- .../xcode iOS/Tutorial 3/Ubuntu-R.ttf | Bin 0 -> 353824 bytes .../tutorials/xcode iOS/Tutorial 3/fonts.conf | 126 ++ .../{gst_ios_init.c => gst_ios_init.m} | 33 +- .../xcode iOS/Tutorial 4/Ubuntu-R.ttf | Bin 0 -> 353824 bytes .../tutorials/xcode iOS/Tutorial 4/fonts.conf | 126 ++ .../{gst_ios_init.c => gst_ios_init.m} | 33 +- .../xcode iOS/Tutorial 5/Ubuntu-R.ttf | Bin 0 -> 353824 bytes .../tutorials/xcode iOS/Tutorial 5/fonts.conf | 126 ++ .../xcode iOS/Tutorial 5/gst_ios_init.m | 1035 +++++++++++++++++ 17 files changed, 1852 insertions(+), 1042 deletions(-) create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 1/Ubuntu-R.ttf create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 1/fonts.conf delete mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 1/gst_ios_init.c rename gst-sdk/tutorials/xcode iOS/{Tutorial 5/gst_ios_init.c => Tutorial 1/gst_ios_init.m} (97%) create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 2/Ubuntu-R.ttf create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 2/fonts.conf rename gst-sdk/tutorials/xcode iOS/Tutorial 2/{gst_ios_init.c => gst_ios_init.m} (96%) create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 3/Ubuntu-R.ttf create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 3/fonts.conf rename gst-sdk/tutorials/xcode iOS/Tutorial 3/{gst_ios_init.c => gst_ios_init.m} (96%) create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 4/Ubuntu-R.ttf create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 4/fonts.conf rename gst-sdk/tutorials/xcode iOS/Tutorial 4/{gst_ios_init.c => gst_ios_init.m} (96%) create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 5/Ubuntu-R.ttf create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 5/fonts.conf create mode 100644 gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.m diff --git a/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj b/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj index a5a87f7a9f..6b5e5754c0 100644 --- a/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj +++ b/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj @@ -19,7 +19,6 @@ C67B40E8172EBEA3008359CC /* MainStoryboard_iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C67B40E6172EBEA3008359CC /* MainStoryboard_iPhone.storyboard */; }; C67B40EB172EBEA3008359CC /* MainStoryboard_iPad.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C67B40E9172EBEA3008359CC /* MainStoryboard_iPad.storyboard */; }; C67B40EE172EBEA3008359CC /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C67B40ED172EBEA3008359CC /* ViewController.m */; }; - C67B40F0172EBEA3008359CC /* gst_ios_init.c in Sources */ = {isa = PBXBuildFile; fileRef = C67B40EF172EBEA3008359CC /* gst_ios_init.c */; }; C67B40FA172EC27D008359CC /* GStreamerBackend.m in Sources */ = {isa = PBXBuildFile; fileRef = C67B40F9172EC27D008359CC /* GStreamerBackend.m */; }; C67B4100172FC7F4008359CC /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C67B40CC172EBEA3008359CC /* UIKit.framework */; }; C67B4101172FC7F4008359CC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C67B40CE172EBEA3008359CC /* Foundation.framework */; }; @@ -34,7 +33,6 @@ C67B4118172FC7F5008359CC /* MainStoryboard_iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C67B4116172FC7F5008359CC /* MainStoryboard_iPhone.storyboard */; }; C67B411B172FC7F5008359CC /* MainStoryboard_iPad.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C67B4119172FC7F5008359CC /* MainStoryboard_iPad.storyboard */; }; C67B411E172FC7F5008359CC /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C67B411D172FC7F5008359CC /* ViewController.m */; }; - C67B412A172FC85D008359CC /* gst_ios_init.c in Sources */ = {isa = PBXBuildFile; fileRef = C67B4128172FC85D008359CC /* gst_ios_init.c */; }; C67B412E172FCC4C008359CC /* GStreamerBackend.m in Sources */ = {isa = PBXBuildFile; fileRef = C67B412C172FCC4C008359CC /* GStreamerBackend.m */; }; C67B4134172FE4E9008359CC /* appicon-1-iPad.png in Resources */ = {isa = PBXBuildFile; fileRef = C67B4130172FE4E9008359CC /* appicon-1-iPad.png */; }; C67B4135172FE4E9008359CC /* appicon-1-iPad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C67B4131172FE4E9008359CC /* appicon-1-iPad@2x.png */; }; @@ -56,7 +54,6 @@ C68B1D9E17465EB7004FD7D0 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C68B1D9D17465EB7004FD7D0 /* Default-568h@2x.png */; }; C68B1DA117465EB7004FD7D0 /* MainStoryboard_iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C68B1D9F17465EB7004FD7D0 /* MainStoryboard_iPhone.storyboard */; }; C68B1DA417465EB7004FD7D0 /* MainStoryboard_iPad.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C68B1DA217465EB7004FD7D0 /* MainStoryboard_iPad.storyboard */; }; - C68B1DA917465EB8004FD7D0 /* gst_ios_init.c in Sources */ = {isa = PBXBuildFile; fileRef = C68B1DA817465EB8004FD7D0 /* gst_ios_init.c */; }; C68B1DB617465F96004FD7D0 /* GStreamerBackend.m in Sources */ = {isa = PBXBuildFile; fileRef = C68B1DB017465F95004FD7D0 /* GStreamerBackend.m */; }; C68B1DB717465F96004FD7D0 /* LibraryViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C68B1DB317465F95004FD7D0 /* LibraryViewController.m */; }; C68B1DB817465F96004FD7D0 /* VideoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C68B1DB517465F95004FD7D0 /* VideoViewController.m */; }; @@ -65,6 +62,21 @@ C68B1DC1174660D4004FD7D0 /* appicon-5-iPad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C68B1DBD174660D4004FD7D0 /* appicon-5-iPad@2x.png */; }; C68B1DC2174660D4004FD7D0 /* appicon-5-iPhone.png in Resources */ = {isa = PBXBuildFile; fileRef = C68B1DBE174660D4004FD7D0 /* appicon-5-iPhone.png */; }; C68B1DC3174660D4004FD7D0 /* appicon-5-iPhone@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C68B1DBF174660D4004FD7D0 /* appicon-5-iPhone@2x.png */; }; + C68C527E174D11F0007A0729 /* fonts.conf in Resources */ = {isa = PBXBuildFile; fileRef = C68C527B174D11F0007A0729 /* fonts.conf */; }; + C68C527F174D11F0007A0729 /* gst_ios_init.m in Sources */ = {isa = PBXBuildFile; fileRef = C68C527C174D11F0007A0729 /* gst_ios_init.m */; }; + C68C5280174D11F0007A0729 /* Ubuntu-R.ttf in Resources */ = {isa = PBXBuildFile; fileRef = C68C527D174D11F0007A0729 /* Ubuntu-R.ttf */; }; + C68C5284174D137B007A0729 /* fonts.conf in Resources */ = {isa = PBXBuildFile; fileRef = C68C5281174D137B007A0729 /* fonts.conf */; }; + C68C5285174D137B007A0729 /* gst_ios_init.m in Sources */ = {isa = PBXBuildFile; fileRef = C68C5282174D137B007A0729 /* gst_ios_init.m */; }; + C68C5286174D137B007A0729 /* Ubuntu-R.ttf in Resources */ = {isa = PBXBuildFile; fileRef = C68C5283174D137B007A0729 /* Ubuntu-R.ttf */; }; + C68C528A174D13EB007A0729 /* fonts.conf in Resources */ = {isa = PBXBuildFile; fileRef = C68C5287174D13EB007A0729 /* fonts.conf */; }; + C68C528B174D13EB007A0729 /* gst_ios_init.m in Sources */ = {isa = PBXBuildFile; fileRef = C68C5288174D13EB007A0729 /* gst_ios_init.m */; }; + C68C528C174D13EB007A0729 /* Ubuntu-R.ttf in Resources */ = {isa = PBXBuildFile; fileRef = C68C5289174D13EB007A0729 /* Ubuntu-R.ttf */; }; + C68C5290174D1408007A0729 /* fonts.conf in Resources */ = {isa = PBXBuildFile; fileRef = C68C528D174D1408007A0729 /* fonts.conf */; }; + C68C5291174D1408007A0729 /* gst_ios_init.m in Sources */ = {isa = PBXBuildFile; fileRef = C68C528E174D1408007A0729 /* gst_ios_init.m */; }; + C68C5292174D1408007A0729 /* Ubuntu-R.ttf in Resources */ = {isa = PBXBuildFile; fileRef = C68C528F174D1408007A0729 /* Ubuntu-R.ttf */; }; + C68C5296174D1427007A0729 /* fonts.conf in Resources */ = {isa = PBXBuildFile; fileRef = C68C5293174D1427007A0729 /* fonts.conf */; }; + C68C5297174D1427007A0729 /* gst_ios_init.m in Sources */ = {isa = PBXBuildFile; fileRef = C68C5294174D1427007A0729 /* gst_ios_init.m */; }; + C68C5298174D1427007A0729 /* Ubuntu-R.ttf in Resources */ = {isa = PBXBuildFile; fileRef = C68C5295174D1427007A0729 /* Ubuntu-R.ttf */; }; C6B6126017395CF2003FC410 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C67B40CC172EBEA3008359CC /* UIKit.framework */; }; C6B6126117395CF2003FC410 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C67B40CE172EBEA3008359CC /* Foundation.framework */; }; C6B6126217395CF2003FC410 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C67B40D0172EBEA3008359CC /* CoreGraphics.framework */; }; @@ -79,7 +91,6 @@ C6B6127B17395CF2003FC410 /* MainStoryboard_iPad.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C6B6127917395CF2003FC410 /* MainStoryboard_iPad.storyboard */; }; C6B6127E17395CF2003FC410 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C6B6127D17395CF2003FC410 /* ViewController.m */; }; C6B6128B17395D4F003FC410 /* GStreamerBackend.m in Sources */ = {isa = PBXBuildFile; fileRef = C6B6128917395D4F003FC410 /* GStreamerBackend.m */; }; - C6B6128E17395EE2003FC410 /* gst_ios_init.c in Sources */ = {isa = PBXBuildFile; fileRef = C6B6128C17395EE2003FC410 /* gst_ios_init.c */; }; C6B6129417396231003FC410 /* appicon-3-iPad.png in Resources */ = {isa = PBXBuildFile; fileRef = C6B6129017396231003FC410 /* appicon-3-iPad.png */; }; C6B6129517396231003FC410 /* appicon-3-iPad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C6B6129117396231003FC410 /* appicon-3-iPad@2x.png */; }; C6B6129617396231003FC410 /* appicon-3-iPhone.png in Resources */ = {isa = PBXBuildFile; fileRef = C6B6129217396231003FC410 /* appicon-3-iPhone.png */; }; @@ -99,7 +110,6 @@ C6EB859D173BEE5E00C3953D /* MainStoryboard_iPad.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C6EB859B173BEE5E00C3953D /* MainStoryboard_iPad.storyboard */; }; C6EB85A0173BEE5E00C3953D /* VideoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C6EB859F173BEE5E00C3953D /* VideoViewController.m */; }; C6EB85B1173BEF2600C3953D /* EaglUIVIew.m in Sources */ = {isa = PBXBuildFile; fileRef = C6EB85AB173BEF2600C3953D /* EaglUIVIew.m */; }; - C6EB85B2173BEF2600C3953D /* gst_ios_init.c in Sources */ = {isa = PBXBuildFile; fileRef = C6EB85AC173BEF2600C3953D /* gst_ios_init.c */; }; C6EB85B3173BEF2600C3953D /* GStreamerBackend.m in Sources */ = {isa = PBXBuildFile; fileRef = C6EB85AF173BEF2600C3953D /* GStreamerBackend.m */; }; C6EB85B9173BEFF800C3953D /* appicon-4-iPad.png in Resources */ = {isa = PBXBuildFile; fileRef = C6EB85B5173BEFF800C3953D /* appicon-4-iPad.png */; }; C6EB85BA173BEFF800C3953D /* appicon-4-iPad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C6EB85B6173BEFF800C3953D /* appicon-4-iPad@2x.png */; }; @@ -126,7 +136,6 @@ C67B40EA172EBEA3008359CC /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/MainStoryboard_iPad.storyboard; sourceTree = ""; }; C67B40EC172EBEA3008359CC /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; C67B40ED172EBEA3008359CC /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; - C67B40EF172EBEA3008359CC /* gst_ios_init.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = gst_ios_init.c; sourceTree = ""; }; C67B40F1172EBEA3008359CC /* gst_ios_init.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = gst_ios_init.h; sourceTree = ""; }; C67B40F8172EC27D008359CC /* GStreamerBackend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GStreamerBackend.h; sourceTree = ""; }; C67B40F9172EC27D008359CC /* GStreamerBackend.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GStreamerBackend.m; sourceTree = ""; }; @@ -144,7 +153,6 @@ C67B411A172FC7F5008359CC /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/MainStoryboard_iPad.storyboard; sourceTree = ""; }; C67B411C172FC7F5008359CC /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; C67B411D172FC7F5008359CC /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; - C67B4128172FC85D008359CC /* gst_ios_init.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = gst_ios_init.c; sourceTree = ""; }; C67B4129172FC85D008359CC /* gst_ios_init.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gst_ios_init.h; sourceTree = ""; }; C67B412B172FCC4C008359CC /* GStreamerBackend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GStreamerBackend.h; sourceTree = ""; }; C67B412C172FCC4C008359CC /* GStreamerBackend.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GStreamerBackend.m; sourceTree = ""; }; @@ -169,7 +177,6 @@ C68B1D9D17465EB7004FD7D0 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; C68B1DA017465EB7004FD7D0 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/MainStoryboard_iPhone.storyboard; sourceTree = ""; }; C68B1DA317465EB7004FD7D0 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/MainStoryboard_iPad.storyboard; sourceTree = ""; }; - C68B1DA817465EB8004FD7D0 /* gst_ios_init.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = gst_ios_init.c; sourceTree = ""; }; C68B1DAA17465EB8004FD7D0 /* gst_ios_init.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = gst_ios_init.h; sourceTree = ""; }; C68B1DAE17465F95004FD7D0 /* EaglUIVIew.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EaglUIVIew.h; sourceTree = ""; }; C68B1DAF17465F95004FD7D0 /* GStreamerBackend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GStreamerBackend.h; sourceTree = ""; }; @@ -184,6 +191,21 @@ C68B1DBD174660D4004FD7D0 /* appicon-5-iPad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-5-iPad@2x.png"; sourceTree = ""; }; C68B1DBE174660D4004FD7D0 /* appicon-5-iPhone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-5-iPhone.png"; sourceTree = ""; }; C68B1DBF174660D4004FD7D0 /* appicon-5-iPhone@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-5-iPhone@2x.png"; sourceTree = ""; }; + C68C527B174D11F0007A0729 /* fonts.conf */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = fonts.conf; sourceTree = ""; }; + C68C527C174D11F0007A0729 /* gst_ios_init.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = gst_ios_init.m; sourceTree = ""; }; + C68C527D174D11F0007A0729 /* Ubuntu-R.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Ubuntu-R.ttf"; sourceTree = ""; }; + C68C5281174D137B007A0729 /* fonts.conf */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = fonts.conf; sourceTree = ""; }; + C68C5282174D137B007A0729 /* gst_ios_init.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = gst_ios_init.m; sourceTree = ""; }; + C68C5283174D137B007A0729 /* Ubuntu-R.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Ubuntu-R.ttf"; sourceTree = ""; }; + C68C5287174D13EB007A0729 /* fonts.conf */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = fonts.conf; sourceTree = ""; }; + C68C5288174D13EB007A0729 /* gst_ios_init.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = gst_ios_init.m; sourceTree = ""; }; + C68C5289174D13EB007A0729 /* Ubuntu-R.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Ubuntu-R.ttf"; sourceTree = ""; }; + C68C528D174D1408007A0729 /* fonts.conf */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = fonts.conf; sourceTree = ""; }; + C68C528E174D1408007A0729 /* gst_ios_init.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = gst_ios_init.m; sourceTree = ""; }; + C68C528F174D1408007A0729 /* Ubuntu-R.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Ubuntu-R.ttf"; sourceTree = ""; }; + C68C5293174D1427007A0729 /* fonts.conf */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = fonts.conf; sourceTree = ""; }; + C68C5294174D1427007A0729 /* gst_ios_init.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = gst_ios_init.m; sourceTree = ""; }; + C68C5295174D1427007A0729 /* Ubuntu-R.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Ubuntu-R.ttf"; sourceTree = ""; }; C6B6125F17395CF1003FC410 /* Tutorial 3.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Tutorial 3.app"; sourceTree = BUILT_PRODUCTS_DIR; }; C6B6126617395CF2003FC410 /* Tutorial 3-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Tutorial 3-Info.plist"; sourceTree = ""; }; C6B6126817395CF2003FC410 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; @@ -201,7 +223,6 @@ C6B6128817395D4F003FC410 /* GStreamerBackend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GStreamerBackend.h; sourceTree = ""; }; C6B6128917395D4F003FC410 /* GStreamerBackend.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GStreamerBackend.m; sourceTree = ""; }; C6B6128A17395D4F003FC410 /* GStreamerBackendDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GStreamerBackendDelegate.h; sourceTree = ""; }; - C6B6128C17395EE2003FC410 /* gst_ios_init.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = gst_ios_init.c; sourceTree = ""; }; C6B6128D17395EE2003FC410 /* gst_ios_init.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gst_ios_init.h; sourceTree = ""; }; C6B6129017396231003FC410 /* appicon-3-iPad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-3-iPad.png"; sourceTree = ""; }; C6B6129117396231003FC410 /* appicon-3-iPad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-3-iPad@2x.png"; sourceTree = ""; }; @@ -225,7 +246,6 @@ C6EB859F173BEE5E00C3953D /* VideoViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VideoViewController.m; sourceTree = ""; }; C6EB85AA173BEF2600C3953D /* EaglUIVIew.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EaglUIVIew.h; sourceTree = ""; }; C6EB85AB173BEF2600C3953D /* EaglUIVIew.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EaglUIVIew.m; sourceTree = ""; }; - C6EB85AC173BEF2600C3953D /* gst_ios_init.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.c; path = gst_ios_init.c; sourceTree = ""; tabWidth = 2; }; C6EB85AD173BEF2600C3953D /* gst_ios_init.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gst_ios_init.h; sourceTree = ""; }; C6EB85AE173BEF2600C3953D /* GStreamerBackend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GStreamerBackend.h; sourceTree = ""; }; C6EB85AF173BEF2600C3953D /* GStreamerBackend.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GStreamerBackend.m; sourceTree = ""; }; @@ -351,6 +371,8 @@ C67B40D5172EBEA3008359CC /* Supporting Files */ = { isa = PBXGroup; children = ( + C68C5293174D1427007A0729 /* fonts.conf */, + C68C5295174D1427007A0729 /* Ubuntu-R.ttf */, C67B40D6172EBEA3008359CC /* Tutorial 1-Info.plist */, C67B40D7172EBEA3008359CC /* InfoPlist.strings */, C67B40DA172EBEA3008359CC /* main.m */, @@ -358,8 +380,8 @@ C67B40E0172EBEA3008359CC /* Default.png */, C67B40E2172EBEA3008359CC /* Default@2x.png */, C67B40E4172EBEA3008359CC /* Default-568h@2x.png */, - C67B40EF172EBEA3008359CC /* gst_ios_init.c */, C67B40F1172EBEA3008359CC /* gst_ios_init.h */, + C68C5294174D1427007A0729 /* gst_ios_init.m */, ); name = "Supporting Files"; sourceTree = ""; @@ -384,6 +406,8 @@ C67B4105172FC7F4008359CC /* Supporting Files */ = { isa = PBXGroup; children = ( + C68C528D174D1408007A0729 /* fonts.conf */, + C68C528F174D1408007A0729 /* Ubuntu-R.ttf */, C67B4106172FC7F4008359CC /* Tutorial 2-Info.plist */, C67B4107172FC7F4008359CC /* InfoPlist.strings */, C67B410A172FC7F4008359CC /* main.m */, @@ -391,8 +415,8 @@ C67B4110172FC7F5008359CC /* Default.png */, C67B4112172FC7F5008359CC /* Default@2x.png */, C67B4114172FC7F5008359CC /* Default-568h@2x.png */, - C67B4128172FC85D008359CC /* gst_ios_init.c */, C67B4129172FC85D008359CC /* gst_ios_init.h */, + C68C528E174D1408007A0729 /* gst_ios_init.m */, C67B412D172FCC4C008359CC /* GStreamerBackendDelegate.h */, ); name = "Supporting Files"; @@ -444,6 +468,8 @@ C68B1D8E17465EB7004FD7D0 /* Supporting Files */ = { isa = PBXGroup; children = ( + C68C527B174D11F0007A0729 /* fonts.conf */, + C68C527D174D11F0007A0729 /* Ubuntu-R.ttf */, C68B1D8F17465EB7004FD7D0 /* Tutorial 5-Info.plist */, C68B1D9017465EB7004FD7D0 /* InfoPlist.strings */, C68B1D9317465EB7004FD7D0 /* main.m */, @@ -451,8 +477,8 @@ C68B1D9917465EB7004FD7D0 /* Default.png */, C68B1D9B17465EB7004FD7D0 /* Default@2x.png */, C68B1D9D17465EB7004FD7D0 /* Default-568h@2x.png */, - C68B1DA817465EB8004FD7D0 /* gst_ios_init.c */, C68B1DAA17465EB8004FD7D0 /* gst_ios_init.h */, + C68C527C174D11F0007A0729 /* gst_ios_init.m */, C68B1DB117465F95004FD7D0 /* GStreamerBackendDelegate.h */, ); name = "Supporting Files"; @@ -491,8 +517,8 @@ C6B6126517395CF2003FC410 /* Supporting Files */ = { isa = PBXGroup; children = ( - C6B6128C17395EE2003FC410 /* gst_ios_init.c */, - C6B6128D17395EE2003FC410 /* gst_ios_init.h */, + C68C5287174D13EB007A0729 /* fonts.conf */, + C68C5289174D13EB007A0729 /* Ubuntu-R.ttf */, C6B6126617395CF2003FC410 /* Tutorial 3-Info.plist */, C6B6126717395CF2003FC410 /* InfoPlist.strings */, C6B6126A17395CF2003FC410 /* main.m */, @@ -500,6 +526,8 @@ C6B6127017395CF2003FC410 /* Default.png */, C6B6127217395CF2003FC410 /* Default@2x.png */, C6B6127417395CF2003FC410 /* Default-568h@2x.png */, + C6B6128D17395EE2003FC410 /* gst_ios_init.h */, + C68C5288174D13EB007A0729 /* gst_ios_init.m */, C6B6128A17395D4F003FC410 /* GStreamerBackendDelegate.h */, ); name = "Supporting Files"; @@ -538,8 +566,8 @@ C6EB8587173BEE5E00C3953D /* Supporting Files */ = { isa = PBXGroup; children = ( - C6EB85AC173BEF2600C3953D /* gst_ios_init.c */, - C6EB85AD173BEF2600C3953D /* gst_ios_init.h */, + C68C5281174D137B007A0729 /* fonts.conf */, + C68C5283174D137B007A0729 /* Ubuntu-R.ttf */, C6EB8588173BEE5E00C3953D /* Tutorial 4-Info.plist */, C6EB8589173BEE5E00C3953D /* InfoPlist.strings */, C6EB858C173BEE5E00C3953D /* main.m */, @@ -547,6 +575,8 @@ C6EB8592173BEE5E00C3953D /* Default.png */, C6EB8594173BEE5E00C3953D /* Default@2x.png */, C6EB8596173BEE5E00C3953D /* Default-568h@2x.png */, + C6EB85AD173BEF2600C3953D /* gst_ios_init.h */, + C68C5282174D137B007A0729 /* gst_ios_init.m */, C6EB85B0173BEF2600C3953D /* GStreamerBackendDelegate.h */, ); name = "Supporting Files"; @@ -694,6 +724,8 @@ C67B4135172FE4E9008359CC /* appicon-1-iPad@2x.png in Resources */, C67B4136172FE4E9008359CC /* appicon-1-iPhone.png in Resources */, C67B4137172FE4E9008359CC /* appicon-1-iPhone@2x.png in Resources */, + C68C5296174D1427007A0729 /* fonts.conf in Resources */, + C68C5298174D1427007A0729 /* Ubuntu-R.ttf in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -711,6 +743,8 @@ C67B4146172FEA3C008359CC /* appicon-2-iPad@2x.png in Resources */, C67B4147172FEA3C008359CC /* appicon-2-iPhone.png in Resources */, C67B4148172FEA3C008359CC /* appicon-2-iPhone@2x.png in Resources */, + C68C5290174D1408007A0729 /* fonts.conf in Resources */, + C68C5292174D1408007A0729 /* Ubuntu-R.ttf in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -728,6 +762,8 @@ C68B1DC1174660D4004FD7D0 /* appicon-5-iPad@2x.png in Resources */, C68B1DC2174660D4004FD7D0 /* appicon-5-iPhone.png in Resources */, C68B1DC3174660D4004FD7D0 /* appicon-5-iPhone@2x.png in Resources */, + C68C527E174D11F0007A0729 /* fonts.conf in Resources */, + C68C5280174D11F0007A0729 /* Ubuntu-R.ttf in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -745,6 +781,8 @@ C6B6129517396231003FC410 /* appicon-3-iPad@2x.png in Resources */, C6B6129617396231003FC410 /* appicon-3-iPhone.png in Resources */, C6B6129717396231003FC410 /* appicon-3-iPhone@2x.png in Resources */, + C68C528A174D13EB007A0729 /* fonts.conf in Resources */, + C68C528C174D13EB007A0729 /* Ubuntu-R.ttf in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -762,6 +800,8 @@ C6EB85BA173BEFF800C3953D /* appicon-4-iPad@2x.png in Resources */, C6EB85BB173BEFF800C3953D /* appicon-4-iPhone.png in Resources */, C6EB85BC173BEFF800C3953D /* appicon-4-iPhone@2x.png in Resources */, + C68C5284174D137B007A0729 /* fonts.conf in Resources */, + C68C5286174D137B007A0729 /* Ubuntu-R.ttf in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -775,8 +815,8 @@ C67B40DB172EBEA3008359CC /* main.m in Sources */, C67B40DF172EBEA3008359CC /* AppDelegate.m in Sources */, C67B40EE172EBEA3008359CC /* ViewController.m in Sources */, - C67B40F0172EBEA3008359CC /* gst_ios_init.c in Sources */, C67B40FA172EC27D008359CC /* GStreamerBackend.m in Sources */, + C68C5297174D1427007A0729 /* gst_ios_init.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -787,8 +827,8 @@ C67B410B172FC7F4008359CC /* main.m in Sources */, C67B410F172FC7F5008359CC /* AppDelegate.m in Sources */, C67B411E172FC7F5008359CC /* ViewController.m in Sources */, - C67B412A172FC85D008359CC /* gst_ios_init.c in Sources */, C67B412E172FCC4C008359CC /* GStreamerBackend.m in Sources */, + C68C5291174D1408007A0729 /* gst_ios_init.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -798,11 +838,11 @@ files = ( C68B1D9417465EB7004FD7D0 /* main.m in Sources */, C68B1D9817465EB7004FD7D0 /* AppDelegate.m in Sources */, - C68B1DA917465EB8004FD7D0 /* gst_ios_init.c in Sources */, C68B1DB617465F96004FD7D0 /* GStreamerBackend.m in Sources */, C68B1DB717465F96004FD7D0 /* LibraryViewController.m in Sources */, C68B1DB817465F96004FD7D0 /* VideoViewController.m in Sources */, C68B1DBA17465FD4004FD7D0 /* EaglUIVIew.m in Sources */, + C68C527F174D11F0007A0729 /* gst_ios_init.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -814,8 +854,8 @@ C6B6126F17395CF2003FC410 /* AppDelegate.m in Sources */, C6B6127E17395CF2003FC410 /* ViewController.m in Sources */, C6B6128B17395D4F003FC410 /* GStreamerBackend.m in Sources */, - C6B6128E17395EE2003FC410 /* gst_ios_init.c in Sources */, C6EB857C173A4D9500C3953D /* EaglUIVIew.m in Sources */, + C68C528B174D13EB007A0729 /* gst_ios_init.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -827,8 +867,8 @@ C6EB8591173BEE5E00C3953D /* AppDelegate.m in Sources */, C6EB85A0173BEE5E00C3953D /* VideoViewController.m in Sources */, C6EB85B1173BEF2600C3953D /* EaglUIVIew.m in Sources */, - C6EB85B2173BEF2600C3953D /* gst_ios_init.c in Sources */, C6EB85B3173BEF2600C3953D /* GStreamerBackend.m in Sources */, + C68C5285174D137B007A0729 /* gst_ios_init.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1667,6 +1707,7 @@ C68B1DAC17465EB8004FD7D0 /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; C6B6128517395CF2003FC410 /* Build configuration list for PBXNativeTarget "Tutorial 3" */ = { isa = XCConfigurationList; diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 1/Ubuntu-R.ttf b/gst-sdk/tutorials/xcode iOS/Tutorial 1/Ubuntu-R.ttf new file mode 100644 index 0000000000000000000000000000000000000000..45a038bade527cbbf30f197c5a116be3cfb2f0a3 GIT binary patch literal 353824 zcmeFad7x!SRqtQ>oO{na?0Gu#J?9SHx4Un;GY|+tLXbHS1R?|(0wD==m}5YOASeik zAc7#HD1rn~5rPadM2z~>ABupAJbCzVcs>E2BBFBM=Ue;id%HUg`rrHgk*eOc&)K`C zwQ8+zty)#*wsDLx5y_gl^sW!M=iMLNf7(6F`hC7`Om^1YFTLLbYPalOWvXAjt8w`pP8czCf*y zyzH)*Josy0_?O=@CjWb5;?F($iC0|vtIvMi$Bp^ObBtO4rAI&W>C>Z&Ma`JsyQ49c z@TzOCe&RDfde@tc`Q*Zw+WhJ(o_4LtOq2G{p+5KOC;aeLkG-JtYGb|}n#%o;Tyy0U zued&%qHY^o>jY|OKt`h+Jx`ik16&!z9be<|;8e&Q9^UE6wX<1>`M ziSpAYUGc=nEbe*y98I^``RZz?dcEx^k?5_svm-$Bfoy_Qy+8fMR)t;UmJ4^ zZC1Wv#9Q;<{@aNkzv9><`gieeJZ-P9Rcn=MW$iCbWqGNYK6F*Jx$8xjTx9NS%)hNw8_T`8PZ}!Syh%^SN%vwZnB0*Y|PVkxS3c zR(_S`^SR~4$OhF9koUEwQF)=ctnvhNhsy78zkn;_dJEq_VJ>sJT>nI#XYj0UE~{Q` zF0OomdyDsvT;269G_%UN#;v^1+`sZl)2hDJ3@gtvN#!zAt6XSi&OOZ|)o1Pv`mpEx z{qo

+ + + + + + + + + mono + + + monospace + + + + + + + sans serif + + + sans-serif + + + + + + + sans + + + sans-serif + + + + + + + 0x0020 + 0x00A0 + 0x00AD + 0x034F + 0x0600 + 0x0601 + 0x0602 + 0x0603 + 0x06DD + 0x070F + 0x115F + 0x1160 + 0x1680 + 0x17B4 + 0x17B5 + 0x180E + 0x2000 + 0x2001 + 0x2002 + 0x2003 + 0x2004 + 0x2005 + 0x2006 + 0x2007 + 0x2008 + 0x2009 + 0x200A + 0x200B + 0x200C + 0x200D + 0x200E + 0x200F + 0x2028 + 0x2029 + 0x202A + 0x202B + 0x202C + 0x202D + 0x202E + 0x202F + 0x205F + 0x2060 + 0x2061 + 0x2062 + 0x2063 + 0x206A + 0x206B + 0x206C + 0x206D + 0x206E + 0x206F + 0x2800 + 0x3000 + 0x3164 + 0xFEFF + 0xFFA0 + 0xFFF9 + 0xFFFA + 0xFFFB + + + + 30 + + + + + diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 1/gst_ios_init.c b/gst-sdk/tutorials/xcode iOS/Tutorial 1/gst_ios_init.c deleted file mode 100644 index e60564a570..0000000000 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 1/gst_ios_init.c +++ /dev/null @@ -1,1006 +0,0 @@ -#include "gst_ios_init.h" - -#if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(coreelements); -#endif -#if defined(GST_IOS_PLUGIN_COREINDEXERS) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(coreindexers); -#endif -#if defined(GST_IOS_PLUGIN_ADDER) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(adder); -#endif -#if defined(GST_IOS_PLUGIN_APP) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(app); -#endif -#if defined(GST_IOS_PLUGIN_AUDIOCONVERT) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(audioconvert); -#endif -#if defined(GST_IOS_PLUGIN_AUDIORATE) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(audiorate); -#endif -#if defined(GST_IOS_PLUGIN_AUDIORESAMPLE) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(audioresample); -#endif -#if defined(GST_IOS_PLUGIN_AUDIOTESTSRC) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(audiotestsrc); -#endif -#if defined(GST_IOS_PLUGIN_FFMPEGCOLORSPACE) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(ffmpegcolorspace); -#endif -#if defined(GST_IOS_PLUGIN_GDP) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(gdp); -#endif -#if defined(GST_IOS_PLUGIN_GIO) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(gio); -#endif -#if defined(GST_IOS_PLUGIN_PANGO) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(pango); -#endif -#if defined(GST_IOS_PLUGIN_TYPEFINDFUNCTIONS) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(typefindfunctions); -#endif -#if defined(GST_IOS_PLUGIN_VIDEORATE) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(videorate); -#endif -#if defined(GST_IOS_PLUGIN_VIDEOSCALE) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(videoscale); -#endif -#if defined(GST_IOS_PLUGIN_VIDEOTESTSRC) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(videotestsrc); -#endif -#if defined(GST_IOS_PLUGIN_VOLUME) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(volume); -#endif -#if defined(GST_IOS_PLUGIN_AUTODETECT) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(autodetect); -#endif -#if defined(GST_IOS_PLUGIN_VIDEOFILTER) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(videofilter); -#endif -#if defined(GST_IOS_PLUGIN_CAMERABIN2) || defined(GST_IOS_PLUGINS_CAPTURE) -GST_PLUGIN_STATIC_DECLARE(camerabin2); -#endif -#if defined(GST_IOS_PLUGIN_ASFMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) -GST_PLUGIN_STATIC_DECLARE(asfmux); -#endif -#if defined(GST_IOS_PLUGIN_DTSDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) -GST_PLUGIN_STATIC_DECLARE(dtsdec); -#endif -#if defined(GST_IOS_PLUGIN_FAAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) -GST_PLUGIN_STATIC_DECLARE(faad); -#endif -#if defined(GST_IOS_PLUGIN_MPEGDEMUX2) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) -GST_PLUGIN_STATIC_DECLARE(mpegdemux2); -#endif -#if defined(GST_IOS_PLUGIN_MPEGPSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) -GST_PLUGIN_STATIC_DECLARE(mpegpsmux); -#endif -#if defined(GST_IOS_PLUGIN_MPEGTSDEMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) -GST_PLUGIN_STATIC_DECLARE(mpegtsdemux); -#endif -#if defined(GST_IOS_PLUGIN_MPEGTSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) -GST_PLUGIN_STATIC_DECLARE(mpegtsmux); -#endif -#if defined(GST_IOS_PLUGIN_A52DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) -GST_PLUGIN_STATIC_DECLARE(a52dec); -#endif -#if defined(GST_IOS_PLUGIN_AMRNB) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) -GST_PLUGIN_STATIC_DECLARE(amrnb); -#endif -#if defined(GST_IOS_PLUGIN_AMRWBDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) -GST_PLUGIN_STATIC_DECLARE(amrwbdec); -#endif -#if defined(GST_IOS_PLUGIN_ASF) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) -GST_PLUGIN_STATIC_DECLARE(asf); -#endif -#if defined(GST_IOS_PLUGIN_MAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) -GST_PLUGIN_STATIC_DECLARE(mad); -#endif -#if defined(GST_IOS_PLUGIN_MPEG2DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) -GST_PLUGIN_STATIC_DECLARE(mpeg2dec); -#endif -#if defined(GST_IOS_PLUGIN_MPEGAUDIOPARSE) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) -GST_PLUGIN_STATIC_DECLARE(mpegaudioparse); -#endif -#if defined(GST_IOS_PLUGIN_REALMEDIA) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) -GST_PLUGIN_STATIC_DECLARE(realmedia); -#endif -#if defined(GST_IOS_PLUGIN_X264) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) -GST_PLUGIN_STATIC_DECLARE(x264); -#endif -#if defined(GST_IOS_PLUGIN_FFMPEG) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) -GST_PLUGIN_STATIC_DECLARE(ffmpeg); -#endif -#if defined(GST_IOS_PLUGIN_ENCODING) || defined(GST_IOS_PLUGINS_ENCODING) -GST_PLUGIN_STATIC_DECLARE(encoding); -#endif -#if defined(GST_IOS_PLUGIN_INDVD) || defined(GST_IOS_PLUGINS_DVD) -GST_PLUGIN_STATIC_DECLARE(indvd); -#endif -#if defined(GST_IOS_PLUGIN_DVDLPCMDEC) || defined(GST_IOS_PLUGINS_DVD) -GST_PLUGIN_STATIC_DECLARE(dvdlpcmdec); -#endif -#if defined(GST_IOS_PLUGIN_DVDREAD) || defined(GST_IOS_PLUGINS_DVD) -GST_PLUGIN_STATIC_DECLARE(dvdread); -#endif -#if defined(GST_IOS_PLUGIN_ASSRENDER) || defined(GST_IOS_PLUGINS_CODECS_GPL) -GST_PLUGIN_STATIC_DECLARE(assrender); -#endif -#if defined(GST_IOS_PLUGIN_MMS) || defined(GST_IOS_PLUGINS_NET_RESTRICTED) -GST_PLUGIN_STATIC_DECLARE(mms); -#endif -#if defined(GST_IOS_PLUGIN_OSXAUDIO) || defined(GST_IOS_PLUGINS_SYS) -GST_PLUGIN_STATIC_DECLARE(osxaudio); -#endif -#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) -GST_PLUGIN_STATIC_DECLARE(eglglessink); -#endif -#if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS) -GST_PLUGIN_STATIC_DECLARE(applemedia_nonpublic); -#endif -#if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) -GST_PLUGIN_STATIC_DECLARE(libvisual); -#endif -#if defined(GST_IOS_PLUGIN_GOOM) || defined(GST_IOS_PLUGINS_VIS) -GST_PLUGIN_STATIC_DECLARE(goom); -#endif -#if defined(GST_IOS_PLUGIN_GOOM2K1) || defined(GST_IOS_PLUGINS_VIS) -GST_PLUGIN_STATIC_DECLARE(goom2k1); -#endif -#if defined(GST_IOS_PLUGIN_AUDIOVISUALIZERS) || defined(GST_IOS_PLUGINS_VIS) -GST_PLUGIN_STATIC_DECLARE(audiovisualizers); -#endif -#if defined(GST_IOS_PLUGIN_URIDECODEBIN) || defined(GST_IOS_PLUGINS_PLAYBACK) -GST_PLUGIN_STATIC_DECLARE(uridecodebin); -#endif -#if defined(GST_IOS_PLUGIN_PLAYBACK) || defined(GST_IOS_PLUGINS_PLAYBACK) -GST_PLUGIN_STATIC_DECLARE(playback); -#endif -#if defined(GST_IOS_PLUGIN_ALPHA) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(alpha); -#endif -#if defined(GST_IOS_PLUGIN_ALPHACOLOR) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(alphacolor); -#endif -#if defined(GST_IOS_PLUGIN_AUDIOFX) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(audiofx); -#endif -#if defined(GST_IOS_PLUGIN_CAIRO) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(cairo); -#endif -#if defined(GST_IOS_PLUGIN_CUTTER) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(cutter); -#endif -#if defined(GST_IOS_PLUGIN_DEBUG) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(debug); -#endif -#if defined(GST_IOS_PLUGIN_DEINTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(deinterlace); -#endif -#if defined(GST_IOS_PLUGIN_EFFECTV) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(effectv); -#endif -#if defined(GST_IOS_PLUGIN_EQUALIZER) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(equalizer); -#endif -#if defined(GST_IOS_PLUGIN_GDKPIXBUF) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(gdkpixbuf); -#endif -#if defined(GST_IOS_PLUGIN_IMAGEFREEZE) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(imagefreeze); -#endif -#if defined(GST_IOS_PLUGIN_INTERLEAVE) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(interleave); -#endif -#if defined(GST_IOS_PLUGIN_LEVEL) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(level); -#endif -#if defined(GST_IOS_PLUGIN_MULTIFILE) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(multifile); -#endif -#if defined(GST_IOS_PLUGIN_REPLAYGAIN) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(replaygain); -#endif -#if defined(GST_IOS_PLUGIN_SHAPEWIPE) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(shapewipe); -#endif -#if defined(GST_IOS_PLUGIN_SMPTE) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(smpte); -#endif -#if defined(GST_IOS_PLUGIN_SPECTRUM) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(spectrum); -#endif -#if defined(GST_IOS_PLUGIN_VIDEOBOX) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(videobox); -#endif -#if defined(GST_IOS_PLUGIN_VIDEOCROP) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(videocrop); -#endif -#if defined(GST_IOS_PLUGIN_VIDEOMIXER) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(videomixer); -#endif -#if defined(GST_IOS_PLUGIN_AUTOCONVERT) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(autoconvert); -#endif -#if defined(GST_IOS_PLUGIN_BAYER) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(bayer); -#endif -#if defined(GST_IOS_PLUGIN_COLOREFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(coloreffects); -#endif -#if defined(GST_IOS_PLUGIN_FACEOVERLAY) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(faceoverlay); -#endif -#if defined(GST_IOS_PLUGIN_FIELDANALYSIS) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(fieldanalysis); -#endif -#if defined(GST_IOS_PLUGIN_FREEVERB) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(freeverb); -#endif -#if defined(GST_IOS_PLUGIN_FREI0R) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(frei0r); -#endif -#if defined(GST_IOS_PLUGIN_GAUDIEFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(gaudieffects); -#endif -#if defined(GST_IOS_PLUGIN_GEOMETRICTRANSFORM) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(geometrictransform); -#endif -#if defined(GST_IOS_PLUGIN_INTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(interlace); -#endif -#if defined(GST_IOS_PLUGIN_JP2KDECIMATOR) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(jp2kdecimator); -#endif -#if defined(GST_IOS_PLUGIN_LIVEADDER) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(liveadder); -#endif -#if defined(GST_IOS_PLUGIN_RAWPARSE) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(rawparse); -#endif -#if defined(GST_IOS_PLUGIN_REMOVESILENCE) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(removesilence); -#endif -#if defined(GST_IOS_PLUGIN_SCALETEMPO) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(scaletempo); -#endif -#if defined(GST_IOS_PLUGIN_SEGMENTCLIP) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(segmentclip); -#endif -#if defined(GST_IOS_PLUGIN_SMOOTH) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(smooth); -#endif -#if defined(GST_IOS_PLUGIN_SOUNDTOUCH) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(soundtouch); -#endif -#if defined(GST_IOS_PLUGIN_SPEED) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(speed); -#endif -#if defined(GST_IOS_PLUGIN_STEREO) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(stereo); -#endif -#if defined(GST_IOS_PLUGIN_VIDEOFILTERSBAD) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(videofiltersbad); -#endif -#if defined(GST_IOS_PLUGIN_VIDEOMEASURE) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(videomeasure); -#endif -#if defined(GST_IOS_PLUGIN_VIDEOSIGNAL) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(videosignal); -#endif -#if defined(GST_IOS_PLUGIN_SUBPARSE) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(subparse); -#endif -#if defined(GST_IOS_PLUGIN_OGG) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(ogg); -#endif -#if defined(GST_IOS_PLUGIN_THEORA) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(theora); -#endif -#if defined(GST_IOS_PLUGIN_VORBIS) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(vorbis); -#endif -#if defined(GST_IOS_PLUGIN_IVORBISDEC) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(ivorbisdec); -#endif -#if defined(GST_IOS_PLUGIN_ALAW) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(alaw); -#endif -#if defined(GST_IOS_PLUGIN_ANNODEX) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(annodex); -#endif -#if defined(GST_IOS_PLUGIN_APETAG) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(apetag); -#endif -#if defined(GST_IOS_PLUGIN_AUDIOPARSERS) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(audioparsers); -#endif -#if defined(GST_IOS_PLUGIN_AUPARSE) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(auparse); -#endif -#if defined(GST_IOS_PLUGIN_AVI) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(avi); -#endif -#if defined(GST_IOS_PLUGIN_DV) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(dv); -#endif -#if defined(GST_IOS_PLUGIN_FLAC) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(flac); -#endif -#if defined(GST_IOS_PLUGIN_FLV) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(flv); -#endif -#if defined(GST_IOS_PLUGIN_FLXDEC) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(flxdec); -#endif -#if defined(GST_IOS_PLUGIN_ICYDEMUX) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(icydemux); -#endif -#if defined(GST_IOS_PLUGIN_ID3DEMUX) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(id3demux); -#endif -#if defined(GST_IOS_PLUGIN_ISOMP4) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(isomp4); -#endif -#if defined(GST_IOS_PLUGIN_JPEG) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(jpeg); -#endif -#if defined(GST_IOS_PLUGIN_MATROSKA) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(matroska); -#endif -#if defined(GST_IOS_PLUGIN_MULAW) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(mulaw); -#endif -#if defined(GST_IOS_PLUGIN_MULTIPART) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(multipart); -#endif -#if defined(GST_IOS_PLUGIN_PNG) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(png); -#endif -#if defined(GST_IOS_PLUGIN_SPEEX) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(speex); -#endif -#if defined(GST_IOS_PLUGIN_TAGLIB) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(taglib); -#endif -#if defined(GST_IOS_PLUGIN_WAVENC) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(wavenc); -#endif -#if defined(GST_IOS_PLUGIN_WAVPACK) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(wavpack); -#endif -#if defined(GST_IOS_PLUGIN_WAVPARSE) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(wavparse); -#endif -#if defined(GST_IOS_PLUGIN_Y4MENC) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(y4menc); -#endif -#if defined(GST_IOS_PLUGIN_ADPCMDEC) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(adpcmdec); -#endif -#if defined(GST_IOS_PLUGIN_ADPCMENC) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(adpcmenc); -#endif -#if defined(GST_IOS_PLUGIN_AIFF) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(aiff); -#endif -#if defined(GST_IOS_PLUGIN_CDXAPARSE) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(cdxaparse); -#endif -#if defined(GST_IOS_PLUGIN_DCCP) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(dccp); -#endif -#if defined(GST_IOS_PLUGIN_DTMF) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(dtmf); -#endif -#if defined(GST_IOS_PLUGIN_DVBSUBOVERLAY) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(dvbsuboverlay); -#endif -#if defined(GST_IOS_PLUGIN_DVDSPU) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(dvdspu); -#endif -#if defined(GST_IOS_PLUGIN_FRAGMENTED) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(fragmented); -#endif -#if defined(GST_IOS_PLUGIN_HDVPARSE) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(hdvparse); -#endif -#if defined(GST_IOS_PLUGIN_ID3TAG) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(id3tag); -#endif -#if defined(GST_IOS_PLUGIN_IVFPARSE) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(ivfparse); -#endif -#if defined(GST_IOS_PLUGIN_JP2K) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(jp2k); -#endif -#if defined(GST_IOS_PLUGIN_KATE) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(kate); -#endif -#if defined(GST_IOS_PLUGIN_MVE) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(mve); -#endif -#if defined(GST_IOS_PLUGIN_MXF) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(mxf); -#endif -#if defined(GST_IOS_PLUGIN_NSF) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(nsf); -#endif -#if defined(GST_IOS_PLUGIN_NUVDEMUX) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(nuvdemux); -#endif -#if defined(GST_IOS_PLUGIN_OPUS) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(opus); -#endif -#if defined(GST_IOS_PLUGIN_PCAPPARSE) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(pcapparse); -#endif -#if defined(GST_IOS_PLUGIN_PNM) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(pnm); -#endif -#if defined(GST_IOS_PLUGIN_SCHRO) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(schro); -#endif -#if defined(GST_IOS_PLUGIN_GSTSIREN) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(gstsiren); -#endif -#if defined(GST_IOS_PLUGIN_SUBENC) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(subenc); -#endif -#if defined(GST_IOS_PLUGIN_TTA) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(tta); -#endif -#if defined(GST_IOS_PLUGIN_VIDEOPARSERSBAD) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(videoparsersbad); -#endif -#if defined(GST_IOS_PLUGIN_VMNC) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(vmnc); -#endif -#if defined(GST_IOS_PLUGIN_VP8) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(vp8); -#endif -#if defined(GST_IOS_PLUGIN_Y4MDEC) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(y4mdec); -#endif -#if defined(GST_IOS_PLUGIN_TCP) || defined(GST_IOS_PLUGINS_NET) -GST_PLUGIN_STATIC_DECLARE(tcp); -#endif -#if defined(GST_IOS_PLUGIN_RTSP) || defined(GST_IOS_PLUGINS_NET) -GST_PLUGIN_STATIC_DECLARE(rtsp); -#endif -#if defined(GST_IOS_PLUGIN_RTP) || defined(GST_IOS_PLUGINS_NET) -GST_PLUGIN_STATIC_DECLARE(rtp); -#endif -#if defined(GST_IOS_PLUGIN_GSTRTPMANAGER) || defined(GST_IOS_PLUGINS_NET) -GST_PLUGIN_STATIC_DECLARE(gstrtpmanager); -#endif -#if defined(GST_IOS_PLUGIN_SOUP) || defined(GST_IOS_PLUGINS_NET) -GST_PLUGIN_STATIC_DECLARE(soup); -#endif -#if defined(GST_IOS_PLUGIN_UDP) || defined(GST_IOS_PLUGINS_NET) -GST_PLUGIN_STATIC_DECLARE(udp); -#endif -#if defined(GST_IOS_PLUGIN_DATAURISRC) || defined(GST_IOS_PLUGINS_NET) -GST_PLUGIN_STATIC_DECLARE(dataurisrc); -#endif -#if defined(GST_IOS_PLUGIN_RTPMUX) || defined(GST_IOS_PLUGINS_NET) -GST_PLUGIN_STATIC_DECLARE(rtpmux); -#endif -#if defined(GST_IOS_PLUGIN_RTPVP8) || defined(GST_IOS_PLUGINS_NET) -GST_PLUGIN_STATIC_DECLARE(rtpvp8); -#endif -#if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) -GST_PLUGIN_STATIC_DECLARE(sdp); -#endif - -void -gst_ios_init (void) -{ - GstPluginFeature *plugin; - GstRegistry *reg; - - gst_init (NULL, NULL); - -#if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(coreelements); -#endif -#if defined(GST_IOS_PLUGIN_COREINDEXERS) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(coreindexers); -#endif -#if defined(GST_IOS_PLUGIN_ADDER) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(adder); -#endif -#if defined(GST_IOS_PLUGIN_APP) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(app); -#endif -#if defined(GST_IOS_PLUGIN_AUDIOCONVERT) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(audioconvert); -#endif -#if defined(GST_IOS_PLUGIN_AUDIORATE) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(audiorate); -#endif -#if defined(GST_IOS_PLUGIN_AUDIORESAMPLE) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(audioresample); -#endif -#if defined(GST_IOS_PLUGIN_AUDIOTESTSRC) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(audiotestsrc); -#endif -#if defined(GST_IOS_PLUGIN_FFMPEGCOLORSPACE) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(ffmpegcolorspace); -#endif -#if defined(GST_IOS_PLUGIN_GDP) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(gdp); -#endif -#if defined(GST_IOS_PLUGIN_GIO) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(gio); -#endif -#if defined(GST_IOS_PLUGIN_PANGO) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(pango); -#endif -#if defined(GST_IOS_PLUGIN_TYPEFINDFUNCTIONS) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(typefindfunctions); -#endif -#if defined(GST_IOS_PLUGIN_VIDEORATE) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(videorate); -#endif -#if defined(GST_IOS_PLUGIN_VIDEOSCALE) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(videoscale); -#endif -#if defined(GST_IOS_PLUGIN_VIDEOTESTSRC) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(videotestsrc); -#endif -#if defined(GST_IOS_PLUGIN_VOLUME) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(volume); -#endif -#if defined(GST_IOS_PLUGIN_AUTODETECT) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(autodetect); -#endif -#if defined(GST_IOS_PLUGIN_VIDEOFILTER) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(videofilter); -#endif -#if defined(GST_IOS_PLUGIN_CAMERABIN2) || defined(GST_IOS_PLUGINS_CAPTURE) - GST_PLUGIN_STATIC_REGISTER(camerabin2); -#endif -#if defined(GST_IOS_PLUGIN_ASFMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) - GST_PLUGIN_STATIC_REGISTER(asfmux); -#endif -#if defined(GST_IOS_PLUGIN_DTSDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) - GST_PLUGIN_STATIC_REGISTER(dtsdec); -#endif -#if defined(GST_IOS_PLUGIN_FAAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) - GST_PLUGIN_STATIC_REGISTER(faad); -#endif -#if defined(GST_IOS_PLUGIN_MPEGDEMUX2) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) - GST_PLUGIN_STATIC_REGISTER(mpegdemux2); -#endif -#if defined(GST_IOS_PLUGIN_MPEGPSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) - GST_PLUGIN_STATIC_REGISTER(mpegpsmux); -#endif -#if defined(GST_IOS_PLUGIN_MPEGTSDEMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) - GST_PLUGIN_STATIC_REGISTER(mpegtsdemux); -#endif -#if defined(GST_IOS_PLUGIN_MPEGTSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) - GST_PLUGIN_STATIC_REGISTER(mpegtsmux); -#endif -#if defined(GST_IOS_PLUGIN_A52DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) - GST_PLUGIN_STATIC_REGISTER(a52dec); -#endif -#if defined(GST_IOS_PLUGIN_AMRNB) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) - GST_PLUGIN_STATIC_REGISTER(amrnb); -#endif -#if defined(GST_IOS_PLUGIN_AMRWBDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) - GST_PLUGIN_STATIC_REGISTER(amrwbdec); -#endif -#if defined(GST_IOS_PLUGIN_ASF) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) - GST_PLUGIN_STATIC_REGISTER(asf); -#endif -#if defined(GST_IOS_PLUGIN_MAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) - GST_PLUGIN_STATIC_REGISTER(mad); -#endif -#if defined(GST_IOS_PLUGIN_MPEG2DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) - GST_PLUGIN_STATIC_REGISTER(mpeg2dec); -#endif -#if defined(GST_IOS_PLUGIN_MPEGAUDIOPARSE) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) - GST_PLUGIN_STATIC_REGISTER(mpegaudioparse); -#endif -#if defined(GST_IOS_PLUGIN_REALMEDIA) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) - GST_PLUGIN_STATIC_REGISTER(realmedia); -#endif -#if defined(GST_IOS_PLUGIN_X264) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) - GST_PLUGIN_STATIC_REGISTER(x264); -#endif -#if defined(GST_IOS_PLUGIN_FFMPEG) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) - GST_PLUGIN_STATIC_REGISTER(ffmpeg); -#endif -#if defined(GST_IOS_PLUGIN_ENCODING) || defined(GST_IOS_PLUGINS_ENCODING) - GST_PLUGIN_STATIC_REGISTER(encoding); -#endif -#if defined(GST_IOS_PLUGIN_INDVD) || defined(GST_IOS_PLUGINS_DVD) - GST_PLUGIN_STATIC_REGISTER(indvd); -#endif -#if defined(GST_IOS_PLUGIN_DVDLPCMDEC) || defined(GST_IOS_PLUGINS_DVD) - GST_PLUGIN_STATIC_REGISTER(dvdlpcmdec); -#endif -#if defined(GST_IOS_PLUGIN_DVDREAD) || defined(GST_IOS_PLUGINS_DVD) - GST_PLUGIN_STATIC_REGISTER(dvdread); -#endif -#if defined(GST_IOS_PLUGIN_ASSRENDER) || defined(GST_IOS_PLUGINS_CODECS_GPL) - GST_PLUGIN_STATIC_REGISTER(assrender); -#endif -#if defined(GST_IOS_PLUGIN_MMS) || defined(GST_IOS_PLUGINS_NET_RESTRICTED) - GST_PLUGIN_STATIC_REGISTER(mms); -#endif -#if defined(GST_IOS_PLUGIN_OSXAUDIO) || defined(GST_IOS_PLUGINS_SYS) - GST_PLUGIN_STATIC_REGISTER(osxaudio); -#endif -#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) - GST_PLUGIN_STATIC_REGISTER(eglglessink); -#endif -#if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS) - GST_PLUGIN_STATIC_REGISTER(applemedia_nonpublic); -#endif -#if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) - GST_PLUGIN_STATIC_REGISTER(libvisual); -#endif -#if defined(GST_IOS_PLUGIN_GOOM) || defined(GST_IOS_PLUGINS_VIS) - GST_PLUGIN_STATIC_REGISTER(goom); -#endif -#if defined(GST_IOS_PLUGIN_GOOM2K1) || defined(GST_IOS_PLUGINS_VIS) - GST_PLUGIN_STATIC_REGISTER(goom2k1); -#endif -#if defined(GST_IOS_PLUGIN_AUDIOVISUALIZERS) || defined(GST_IOS_PLUGINS_VIS) - GST_PLUGIN_STATIC_REGISTER(audiovisualizers); -#endif -#if defined(GST_IOS_PLUGIN_URIDECODEBIN) || defined(GST_IOS_PLUGINS_PLAYBACK) - GST_PLUGIN_STATIC_REGISTER(uridecodebin); -#endif -#if defined(GST_IOS_PLUGIN_PLAYBACK) || defined(GST_IOS_PLUGINS_PLAYBACK) - GST_PLUGIN_STATIC_REGISTER(playback); -#endif -#if defined(GST_IOS_PLUGIN_ALPHA) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(alpha); -#endif -#if defined(GST_IOS_PLUGIN_ALPHACOLOR) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(alphacolor); -#endif -#if defined(GST_IOS_PLUGIN_AUDIOFX) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(audiofx); -#endif -#if defined(GST_IOS_PLUGIN_CAIRO) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(cairo); -#endif -#if defined(GST_IOS_PLUGIN_CUTTER) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(cutter); -#endif -#if defined(GST_IOS_PLUGIN_DEBUG) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(debug); -#endif -#if defined(GST_IOS_PLUGIN_DEINTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(deinterlace); -#endif -#if defined(GST_IOS_PLUGIN_EFFECTV) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(effectv); -#endif -#if defined(GST_IOS_PLUGIN_EQUALIZER) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(equalizer); -#endif -#if defined(GST_IOS_PLUGIN_GDKPIXBUF) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(gdkpixbuf); -#endif -#if defined(GST_IOS_PLUGIN_IMAGEFREEZE) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(imagefreeze); -#endif -#if defined(GST_IOS_PLUGIN_INTERLEAVE) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(interleave); -#endif -#if defined(GST_IOS_PLUGIN_LEVEL) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(level); -#endif -#if defined(GST_IOS_PLUGIN_MULTIFILE) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(multifile); -#endif -#if defined(GST_IOS_PLUGIN_REPLAYGAIN) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(replaygain); -#endif -#if defined(GST_IOS_PLUGIN_SHAPEWIPE) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(shapewipe); -#endif -#if defined(GST_IOS_PLUGIN_SMPTE) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(smpte); -#endif -#if defined(GST_IOS_PLUGIN_SPECTRUM) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(spectrum); -#endif -#if defined(GST_IOS_PLUGIN_VIDEOBOX) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(videobox); -#endif -#if defined(GST_IOS_PLUGIN_VIDEOCROP) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(videocrop); -#endif -#if defined(GST_IOS_PLUGIN_VIDEOMIXER) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(videomixer); -#endif -#if defined(GST_IOS_PLUGIN_AUTOCONVERT) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(autoconvert); -#endif -#if defined(GST_IOS_PLUGIN_BAYER) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(bayer); -#endif -#if defined(GST_IOS_PLUGIN_COLOREFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(coloreffects); -#endif -#if defined(GST_IOS_PLUGIN_FACEOVERLAY) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(faceoverlay); -#endif -#if defined(GST_IOS_PLUGIN_FIELDANALYSIS) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(fieldanalysis); -#endif -#if defined(GST_IOS_PLUGIN_FREEVERB) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(freeverb); -#endif -#if defined(GST_IOS_PLUGIN_FREI0R) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(frei0r); -#endif -#if defined(GST_IOS_PLUGIN_GAUDIEFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(gaudieffects); -#endif -#if defined(GST_IOS_PLUGIN_GEOMETRICTRANSFORM) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(geometrictransform); -#endif -#if defined(GST_IOS_PLUGIN_INTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(interlace); -#endif -#if defined(GST_IOS_PLUGIN_JP2KDECIMATOR) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(jp2kdecimator); -#endif -#if defined(GST_IOS_PLUGIN_LIVEADDER) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(liveadder); -#endif -#if defined(GST_IOS_PLUGIN_RAWPARSE) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(rawparse); -#endif -#if defined(GST_IOS_PLUGIN_REMOVESILENCE) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(removesilence); -#endif -#if defined(GST_IOS_PLUGIN_SCALETEMPO) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(scaletempo); -#endif -#if defined(GST_IOS_PLUGIN_SEGMENTCLIP) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(segmentclip); -#endif -#if defined(GST_IOS_PLUGIN_SMOOTH) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(smooth); -#endif -#if defined(GST_IOS_PLUGIN_SOUNDTOUCH) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(soundtouch); -#endif -#if defined(GST_IOS_PLUGIN_SPEED) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(speed); -#endif -#if defined(GST_IOS_PLUGIN_STEREO) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(stereo); -#endif -#if defined(GST_IOS_PLUGIN_VIDEOFILTERSBAD) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(videofiltersbad); -#endif -#if defined(GST_IOS_PLUGIN_VIDEOMEASURE) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(videomeasure); -#endif -#if defined(GST_IOS_PLUGIN_VIDEOSIGNAL) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(videosignal); -#endif -#if defined(GST_IOS_PLUGIN_SUBPARSE) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(subparse); -#endif -#if defined(GST_IOS_PLUGIN_OGG) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(ogg); -#endif -#if defined(GST_IOS_PLUGIN_THEORA) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(theora); -#endif -#if defined(GST_IOS_PLUGIN_VORBIS) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(vorbis); -#endif -#if defined(GST_IOS_PLUGIN_IVORBISDEC) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(ivorbisdec); -#endif -#if defined(GST_IOS_PLUGIN_ALAW) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(alaw); -#endif -#if defined(GST_IOS_PLUGIN_ANNODEX) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(annodex); -#endif -#if defined(GST_IOS_PLUGIN_APETAG) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(apetag); -#endif -#if defined(GST_IOS_PLUGIN_AUDIOPARSERS) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(audioparsers); -#endif -#if defined(GST_IOS_PLUGIN_AUPARSE) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(auparse); -#endif -#if defined(GST_IOS_PLUGIN_AVI) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(avi); -#endif -#if defined(GST_IOS_PLUGIN_DV) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(dv); -#endif -#if defined(GST_IOS_PLUGIN_FLAC) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(flac); -#endif -#if defined(GST_IOS_PLUGIN_FLV) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(flv); -#endif -#if defined(GST_IOS_PLUGIN_FLXDEC) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(flxdec); -#endif -#if defined(GST_IOS_PLUGIN_ICYDEMUX) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(icydemux); -#endif -#if defined(GST_IOS_PLUGIN_ID3DEMUX) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(id3demux); -#endif -#if defined(GST_IOS_PLUGIN_ISOMP4) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(isomp4); -#endif -#if defined(GST_IOS_PLUGIN_JPEG) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(jpeg); -#endif -#if defined(GST_IOS_PLUGIN_MATROSKA) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(matroska); -#endif -#if defined(GST_IOS_PLUGIN_MULAW) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(mulaw); -#endif -#if defined(GST_IOS_PLUGIN_MULTIPART) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(multipart); -#endif -#if defined(GST_IOS_PLUGIN_PNG) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(png); -#endif -#if defined(GST_IOS_PLUGIN_SPEEX) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(speex); -#endif -#if defined(GST_IOS_PLUGIN_TAGLIB) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(taglib); -#endif -#if defined(GST_IOS_PLUGIN_WAVENC) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(wavenc); -#endif -#if defined(GST_IOS_PLUGIN_WAVPACK) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(wavpack); -#endif -#if defined(GST_IOS_PLUGIN_WAVPARSE) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(wavparse); -#endif -#if defined(GST_IOS_PLUGIN_Y4MENC) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(y4menc); -#endif -#if defined(GST_IOS_PLUGIN_ADPCMDEC) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(adpcmdec); -#endif -#if defined(GST_IOS_PLUGIN_ADPCMENC) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(adpcmenc); -#endif -#if defined(GST_IOS_PLUGIN_AIFF) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(aiff); -#endif -#if defined(GST_IOS_PLUGIN_CDXAPARSE) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(cdxaparse); -#endif -#if defined(GST_IOS_PLUGIN_DCCP) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(dccp); -#endif -#if defined(GST_IOS_PLUGIN_DTMF) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(dtmf); -#endif -#if defined(GST_IOS_PLUGIN_DVBSUBOVERLAY) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(dvbsuboverlay); -#endif -#if defined(GST_IOS_PLUGIN_DVDSPU) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(dvdspu); -#endif -#if defined(GST_IOS_PLUGIN_FRAGMENTED) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(fragmented); -#endif -#if defined(GST_IOS_PLUGIN_HDVPARSE) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(hdvparse); -#endif -#if defined(GST_IOS_PLUGIN_ID3TAG) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(id3tag); -#endif -#if defined(GST_IOS_PLUGIN_IVFPARSE) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(ivfparse); -#endif -#if defined(GST_IOS_PLUGIN_JP2K) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(jp2k); -#endif -#if defined(GST_IOS_PLUGIN_KATE) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(kate); -#endif -#if defined(GST_IOS_PLUGIN_MVE) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(mve); -#endif -#if defined(GST_IOS_PLUGIN_MXF) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(mxf); -#endif -#if defined(GST_IOS_PLUGIN_NSF) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(nsf); -#endif -#if defined(GST_IOS_PLUGIN_NUVDEMUX) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(nuvdemux); -#endif -#if defined(GST_IOS_PLUGIN_OPUS) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(opus); -#endif -#if defined(GST_IOS_PLUGIN_PCAPPARSE) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(pcapparse); -#endif -#if defined(GST_IOS_PLUGIN_PNM) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(pnm); -#endif -#if defined(GST_IOS_PLUGIN_SCHRO) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(schro); -#endif -#if defined(GST_IOS_PLUGIN_GSTSIREN) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(gstsiren); -#endif -#if defined(GST_IOS_PLUGIN_SUBENC) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(subenc); -#endif -#if defined(GST_IOS_PLUGIN_TTA) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(tta); -#endif -#if defined(GST_IOS_PLUGIN_VIDEOPARSERSBAD) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(videoparsersbad); -#endif -#if defined(GST_IOS_PLUGIN_VMNC) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(vmnc); -#endif -#if defined(GST_IOS_PLUGIN_VP8) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(vp8); -#endif -#if defined(GST_IOS_PLUGIN_Y4MDEC) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(y4mdec); -#endif -#if defined(GST_IOS_PLUGIN_TCP) || defined(GST_IOS_PLUGINS_NET) - GST_PLUGIN_STATIC_REGISTER(tcp); -#endif -#if defined(GST_IOS_PLUGIN_RTSP) || defined(GST_IOS_PLUGINS_NET) - GST_PLUGIN_STATIC_REGISTER(rtsp); -#endif -#if defined(GST_IOS_PLUGIN_RTP) || defined(GST_IOS_PLUGINS_NET) - GST_PLUGIN_STATIC_REGISTER(rtp); -#endif -#if defined(GST_IOS_PLUGIN_GSTRTPMANAGER) || defined(GST_IOS_PLUGINS_NET) - GST_PLUGIN_STATIC_REGISTER(gstrtpmanager); -#endif -#if defined(GST_IOS_PLUGIN_SOUP) || defined(GST_IOS_PLUGINS_NET) - GST_PLUGIN_STATIC_REGISTER(soup); -#endif -#if defined(GST_IOS_PLUGIN_UDP) || defined(GST_IOS_PLUGINS_NET) - GST_PLUGIN_STATIC_REGISTER(udp); -#endif -#if defined(GST_IOS_PLUGIN_DATAURISRC) || defined(GST_IOS_PLUGINS_NET) - GST_PLUGIN_STATIC_REGISTER(dataurisrc); -#endif -#if defined(GST_IOS_PLUGIN_RTPMUX) || defined(GST_IOS_PLUGINS_NET) - GST_PLUGIN_STATIC_REGISTER(rtpmux); -#endif -#if defined(GST_IOS_PLUGIN_RTPVP8) || defined(GST_IOS_PLUGINS_NET) - GST_PLUGIN_STATIC_REGISTER(rtpvp8); -#endif -#if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) - GST_PLUGIN_STATIC_REGISTER(sdp); -#endif - - /* Lower the ranks of filesrc and giosrc so iosavassetsrc is - * tried first in gst_element_make_from_uri() for file:// */ - reg = gst_registry_get_default(); - plugin = gst_registry_lookup_feature(reg, "filesrc"); - if (plugin) - gst_plugin_feature_set_rank(plugin, GST_RANK_SECONDARY); - plugin = gst_registry_lookup_feature(reg, "giosrc"); - if (plugin) - gst_plugin_feature_set_rank(plugin, GST_RANK_SECONDARY-1); -} diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.c b/gst-sdk/tutorials/xcode iOS/Tutorial 1/gst_ios_init.m similarity index 97% rename from gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.c rename to gst-sdk/tutorials/xcode iOS/Tutorial 1/gst_ios_init.m index ce2dd36b29..53ddaebe29 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.c +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 1/gst_ios_init.m @@ -135,12 +135,12 @@ GST_PLUGIN_STATIC_DECLARE(osxaudio); #if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_DECLARE(eglglessink); #endif -#if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS) -GST_PLUGIN_STATIC_DECLARE(applemedia_nonpublic); -#endif #if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_DECLARE(applemedia); #endif +#if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS) +GST_PLUGIN_STATIC_DECLARE(applemedia_nonpublic); +#endif #if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_DECLARE(libvisual); #endif @@ -501,10 +501,32 @@ gst_ios_init (void) { GstPluginFeature *plugin; GstRegistry *reg; - + NSString *resources = [[NSBundle mainBundle] resourcePath]; + NSString *tmp = NSTemporaryDirectory(); + NSString *cache = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Caches"]; + NSString *docs = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]; + + const gchar *resources_dir = [resources UTF8String]; + const gchar *tmp_dir = [tmp UTF8String]; + const gchar *cache_dir = [cache UTF8String]; + const gchar *docs_dir = [docs UTF8String]; + + g_setenv ("TMP", tmp_dir, TRUE); + g_setenv ("TEMP", tmp_dir, TRUE); + g_setenv ("TMPDIR", tmp_dir, TRUE); + g_setenv ("XDG_RUNTIME_DIR", resources_dir, TRUE); + g_setenv ("XDG_CACHE_DIR", cache_dir, TRUE); + + g_setenv ("HOME", docs_dir, TRUE); + g_setenv ("XDG_DATA_DIRS", resources_dir, TRUE); + g_setenv ("XDG_CONFIG_DIRS", resources_dir, TRUE); + g_setenv ("XDG_CONFIG_HOME", cache_dir, TRUE); + g_setenv ("XDG_DATA_HOME", resources_dir, TRUE); + g_setenv ("FONTCONFIG_PATH", resources_dir, TRUE); + gst_init (NULL, NULL); -#if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE) + #if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(coreelements); #endif #if defined(GST_IOS_PLUGIN_COREINDEXERS) || defined(GST_IOS_PLUGINS_CORE) @@ -639,12 +661,12 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_REGISTER(eglglessink); #endif -#if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS) - GST_PLUGIN_STATIC_REGISTER(applemedia_nonpublic); -#endif #if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_REGISTER(applemedia); #endif +#if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS) + GST_PLUGIN_STATIC_REGISTER(applemedia_nonpublic); +#endif #if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_REGISTER(libvisual); #endif @@ -1000,6 +1022,7 @@ gst_ios_init (void) GST_PLUGIN_STATIC_REGISTER(sdp); #endif + /* Lower the ranks of filesrc and giosrc so iosavassetsrc is * tried first in gst_element_make_from_uri() for file:// */ reg = gst_registry_get_default(); diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/Ubuntu-R.ttf b/gst-sdk/tutorials/xcode iOS/Tutorial 2/Ubuntu-R.ttf new file mode 100644 index 0000000000000000000000000000000000000000..45a038bade527cbbf30f197c5a116be3cfb2f0a3 GIT binary patch literal 353824 zcmeFad7x!SRqtQ>oO{na?0Gu#J?9SHx4Un;GY|+tLXbHS1R?|(0wD==m}5YOASeik zAc7#HD1rn~5rPadM2z~>ABupAJbCzVcs>E2BBFBM=Ue;id%HUg`rrHgk*eOc&)K`C zwQ8+zty)#*wsDLx5y_gl^sW!M=iMLNf7(6F`hC7`Om^1YFTLLbYPalOWvXAjt8w`pP8czCf*y zyzH)*Josy0_?O=@CjWb5;?F($iC0|vtIvMi$Bp^ObBtO4rAI&W>C>Z&Ma`JsyQ49c z@TzOCe&RDfde@tc`Q*Zw+WhJ(o_4LtOq2G{p+5KOC;aeLkG-JtYGb|}n#%o;Tyy0U zued&%qHY^o>jY|OKt`h+Jx`ik16&!z9be<|;8e&Q9^UE6wX<1>`M ziSpAYUGc=nEbe*y98I^``RZz?dcEx^k?5_svm-$Bfoy_Qy+8fMR)t;UmJ4^ zZC1Wv#9Q;<{@aNkzv9><`gieeJZ-P9Rcn=MW$iCbWqGNYK6F*Jx$8xjTx9NS%)hNw8_T`8PZ}!Syh%^SN%vwZnB0*Y|PVkxS3c zR(_S`^SR~4$OhF9koUEwQF)=ctnvhNhsy78zkn;_dJEq_VJ>sJT>nI#XYj0UE~{Q` zF0OomdyDsvT;269G_%UN#;v^1+`sZl)2hDJ3@gtvN#!zAt6XSi&OOZ|)o1Pv`mpEx z{qo + + + + + + + + + mono + + + monospace + + + + + + + sans serif + + + sans-serif + + + + + + + sans + + + sans-serif + + + + + + + 0x0020 + 0x00A0 + 0x00AD + 0x034F + 0x0600 + 0x0601 + 0x0602 + 0x0603 + 0x06DD + 0x070F + 0x115F + 0x1160 + 0x1680 + 0x17B4 + 0x17B5 + 0x180E + 0x2000 + 0x2001 + 0x2002 + 0x2003 + 0x2004 + 0x2005 + 0x2006 + 0x2007 + 0x2008 + 0x2009 + 0x200A + 0x200B + 0x200C + 0x200D + 0x200E + 0x200F + 0x2028 + 0x2029 + 0x202A + 0x202B + 0x202C + 0x202D + 0x202E + 0x202F + 0x205F + 0x2060 + 0x2061 + 0x2062 + 0x2063 + 0x206A + 0x206B + 0x206C + 0x206D + 0x206E + 0x206F + 0x2800 + 0x3000 + 0x3164 + 0xFEFF + 0xFFA0 + 0xFFF9 + 0xFFFA + 0xFFFB + + + + 30 + + + + + diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.c b/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.m similarity index 96% rename from gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.c rename to gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.m index e60564a570..53ddaebe29 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.c +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.m @@ -135,6 +135,9 @@ GST_PLUGIN_STATIC_DECLARE(osxaudio); #if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_DECLARE(eglglessink); #endif +#if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS) +GST_PLUGIN_STATIC_DECLARE(applemedia); +#endif #if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_DECLARE(applemedia_nonpublic); #endif @@ -498,10 +501,32 @@ gst_ios_init (void) { GstPluginFeature *plugin; GstRegistry *reg; - + NSString *resources = [[NSBundle mainBundle] resourcePath]; + NSString *tmp = NSTemporaryDirectory(); + NSString *cache = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Caches"]; + NSString *docs = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]; + + const gchar *resources_dir = [resources UTF8String]; + const gchar *tmp_dir = [tmp UTF8String]; + const gchar *cache_dir = [cache UTF8String]; + const gchar *docs_dir = [docs UTF8String]; + + g_setenv ("TMP", tmp_dir, TRUE); + g_setenv ("TEMP", tmp_dir, TRUE); + g_setenv ("TMPDIR", tmp_dir, TRUE); + g_setenv ("XDG_RUNTIME_DIR", resources_dir, TRUE); + g_setenv ("XDG_CACHE_DIR", cache_dir, TRUE); + + g_setenv ("HOME", docs_dir, TRUE); + g_setenv ("XDG_DATA_DIRS", resources_dir, TRUE); + g_setenv ("XDG_CONFIG_DIRS", resources_dir, TRUE); + g_setenv ("XDG_CONFIG_HOME", cache_dir, TRUE); + g_setenv ("XDG_DATA_HOME", resources_dir, TRUE); + g_setenv ("FONTCONFIG_PATH", resources_dir, TRUE); + gst_init (NULL, NULL); -#if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE) + #if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(coreelements); #endif #if defined(GST_IOS_PLUGIN_COREINDEXERS) || defined(GST_IOS_PLUGINS_CORE) @@ -636,6 +661,9 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_REGISTER(eglglessink); #endif +#if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS) + GST_PLUGIN_STATIC_REGISTER(applemedia); +#endif #if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_REGISTER(applemedia_nonpublic); #endif @@ -994,6 +1022,7 @@ gst_ios_init (void) GST_PLUGIN_STATIC_REGISTER(sdp); #endif + /* Lower the ranks of filesrc and giosrc so iosavassetsrc is * tried first in gst_element_make_from_uri() for file:// */ reg = gst_registry_get_default(); diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 3/Ubuntu-R.ttf b/gst-sdk/tutorials/xcode iOS/Tutorial 3/Ubuntu-R.ttf new file mode 100644 index 0000000000000000000000000000000000000000..45a038bade527cbbf30f197c5a116be3cfb2f0a3 GIT binary patch literal 353824 zcmeFad7x!SRqtQ>oO{na?0Gu#J?9SHx4Un;GY|+tLXbHS1R?|(0wD==m}5YOASeik zAc7#HD1rn~5rPadM2z~>ABupAJbCzVcs>E2BBFBM=Ue;id%HUg`rrHgk*eOc&)K`C zwQ8+zty)#*wsDLx5y_gl^sW!M=iMLNf7(6F`hC7`Om^1YFTLLbYPalOWvXAjt8w`pP8czCf*y zyzH)*Josy0_?O=@CjWb5;?F($iC0|vtIvMi$Bp^ObBtO4rAI&W>C>Z&Ma`JsyQ49c z@TzOCe&RDfde@tc`Q*Zw+WhJ(o_4LtOq2G{p+5KOC;aeLkG-JtYGb|}n#%o;Tyy0U zued&%qHY^o>jY|OKt`h+Jx`ik16&!z9be<|;8e&Q9^UE6wX<1>`M ziSpAYUGc=nEbe*y98I^``RZz?dcEx^k?5_svm-$Bfoy_Qy+8fMR)t;UmJ4^ zZC1Wv#9Q;<{@aNkzv9><`gieeJZ-P9Rcn=MW$iCbWqGNYK6F*Jx$8xjTx9NS%)hNw8_T`8PZ}!Syh%^SN%vwZnB0*Y|PVkxS3c zR(_S`^SR~4$OhF9koUEwQF)=ctnvhNhsy78zkn;_dJEq_VJ>sJT>nI#XYj0UE~{Q` zF0OomdyDsvT;269G_%UN#;v^1+`sZl)2hDJ3@gtvN#!zAt6XSi&OOZ|)o1Pv`mpEx z{qo + + + + + + + + + mono + + + monospace + + + + + + + sans serif + + + sans-serif + + + + + + + sans + + + sans-serif + + + + + + + 0x0020 + 0x00A0 + 0x00AD + 0x034F + 0x0600 + 0x0601 + 0x0602 + 0x0603 + 0x06DD + 0x070F + 0x115F + 0x1160 + 0x1680 + 0x17B4 + 0x17B5 + 0x180E + 0x2000 + 0x2001 + 0x2002 + 0x2003 + 0x2004 + 0x2005 + 0x2006 + 0x2007 + 0x2008 + 0x2009 + 0x200A + 0x200B + 0x200C + 0x200D + 0x200E + 0x200F + 0x2028 + 0x2029 + 0x202A + 0x202B + 0x202C + 0x202D + 0x202E + 0x202F + 0x205F + 0x2060 + 0x2061 + 0x2062 + 0x2063 + 0x206A + 0x206B + 0x206C + 0x206D + 0x206E + 0x206F + 0x2800 + 0x3000 + 0x3164 + 0xFEFF + 0xFFA0 + 0xFFF9 + 0xFFFA + 0xFFFB + + + + 30 + + + + + diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.c b/gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.m similarity index 96% rename from gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.c rename to gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.m index e60564a570..53ddaebe29 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.c +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.m @@ -135,6 +135,9 @@ GST_PLUGIN_STATIC_DECLARE(osxaudio); #if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_DECLARE(eglglessink); #endif +#if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS) +GST_PLUGIN_STATIC_DECLARE(applemedia); +#endif #if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_DECLARE(applemedia_nonpublic); #endif @@ -498,10 +501,32 @@ gst_ios_init (void) { GstPluginFeature *plugin; GstRegistry *reg; - + NSString *resources = [[NSBundle mainBundle] resourcePath]; + NSString *tmp = NSTemporaryDirectory(); + NSString *cache = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Caches"]; + NSString *docs = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]; + + const gchar *resources_dir = [resources UTF8String]; + const gchar *tmp_dir = [tmp UTF8String]; + const gchar *cache_dir = [cache UTF8String]; + const gchar *docs_dir = [docs UTF8String]; + + g_setenv ("TMP", tmp_dir, TRUE); + g_setenv ("TEMP", tmp_dir, TRUE); + g_setenv ("TMPDIR", tmp_dir, TRUE); + g_setenv ("XDG_RUNTIME_DIR", resources_dir, TRUE); + g_setenv ("XDG_CACHE_DIR", cache_dir, TRUE); + + g_setenv ("HOME", docs_dir, TRUE); + g_setenv ("XDG_DATA_DIRS", resources_dir, TRUE); + g_setenv ("XDG_CONFIG_DIRS", resources_dir, TRUE); + g_setenv ("XDG_CONFIG_HOME", cache_dir, TRUE); + g_setenv ("XDG_DATA_HOME", resources_dir, TRUE); + g_setenv ("FONTCONFIG_PATH", resources_dir, TRUE); + gst_init (NULL, NULL); -#if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE) + #if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(coreelements); #endif #if defined(GST_IOS_PLUGIN_COREINDEXERS) || defined(GST_IOS_PLUGINS_CORE) @@ -636,6 +661,9 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_REGISTER(eglglessink); #endif +#if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS) + GST_PLUGIN_STATIC_REGISTER(applemedia); +#endif #if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_REGISTER(applemedia_nonpublic); #endif @@ -994,6 +1022,7 @@ gst_ios_init (void) GST_PLUGIN_STATIC_REGISTER(sdp); #endif + /* Lower the ranks of filesrc and giosrc so iosavassetsrc is * tried first in gst_element_make_from_uri() for file:// */ reg = gst_registry_get_default(); diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/Ubuntu-R.ttf b/gst-sdk/tutorials/xcode iOS/Tutorial 4/Ubuntu-R.ttf new file mode 100644 index 0000000000000000000000000000000000000000..45a038bade527cbbf30f197c5a116be3cfb2f0a3 GIT binary patch literal 353824 zcmeFad7x!SRqtQ>oO{na?0Gu#J?9SHx4Un;GY|+tLXbHS1R?|(0wD==m}5YOASeik zAc7#HD1rn~5rPadM2z~>ABupAJbCzVcs>E2BBFBM=Ue;id%HUg`rrHgk*eOc&)K`C zwQ8+zty)#*wsDLx5y_gl^sW!M=iMLNf7(6F`hC7`Om^1YFTLLbYPalOWvXAjt8w`pP8czCf*y zyzH)*Josy0_?O=@CjWb5;?F($iC0|vtIvMi$Bp^ObBtO4rAI&W>C>Z&Ma`JsyQ49c z@TzOCe&RDfde@tc`Q*Zw+WhJ(o_4LtOq2G{p+5KOC;aeLkG-JtYGb|}n#%o;Tyy0U zued&%qHY^o>jY|OKt`h+Jx`ik16&!z9be<|;8e&Q9^UE6wX<1>`M ziSpAYUGc=nEbe*y98I^``RZz?dcEx^k?5_svm-$Bfoy_Qy+8fMR)t;UmJ4^ zZC1Wv#9Q;<{@aNkzv9><`gieeJZ-P9Rcn=MW$iCbWqGNYK6F*Jx$8xjTx9NS%)hNw8_T`8PZ}!Syh%^SN%vwZnB0*Y|PVkxS3c zR(_S`^SR~4$OhF9koUEwQF)=ctnvhNhsy78zkn;_dJEq_VJ>sJT>nI#XYj0UE~{Q` zF0OomdyDsvT;269G_%UN#;v^1+`sZl)2hDJ3@gtvN#!zAt6XSi&OOZ|)o1Pv`mpEx z{qo + + + + + + + + + mono + + + monospace + + + + + + + sans serif + + + sans-serif + + + + + + + sans + + + sans-serif + + + + + + + 0x0020 + 0x00A0 + 0x00AD + 0x034F + 0x0600 + 0x0601 + 0x0602 + 0x0603 + 0x06DD + 0x070F + 0x115F + 0x1160 + 0x1680 + 0x17B4 + 0x17B5 + 0x180E + 0x2000 + 0x2001 + 0x2002 + 0x2003 + 0x2004 + 0x2005 + 0x2006 + 0x2007 + 0x2008 + 0x2009 + 0x200A + 0x200B + 0x200C + 0x200D + 0x200E + 0x200F + 0x2028 + 0x2029 + 0x202A + 0x202B + 0x202C + 0x202D + 0x202E + 0x202F + 0x205F + 0x2060 + 0x2061 + 0x2062 + 0x2063 + 0x206A + 0x206B + 0x206C + 0x206D + 0x206E + 0x206F + 0x2800 + 0x3000 + 0x3164 + 0xFEFF + 0xFFA0 + 0xFFF9 + 0xFFFA + 0xFFFB + + + + 30 + + + + + diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.c b/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.m similarity index 96% rename from gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.c rename to gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.m index e60564a570..53ddaebe29 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.c +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.m @@ -135,6 +135,9 @@ GST_PLUGIN_STATIC_DECLARE(osxaudio); #if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_DECLARE(eglglessink); #endif +#if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS) +GST_PLUGIN_STATIC_DECLARE(applemedia); +#endif #if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_DECLARE(applemedia_nonpublic); #endif @@ -498,10 +501,32 @@ gst_ios_init (void) { GstPluginFeature *plugin; GstRegistry *reg; - + NSString *resources = [[NSBundle mainBundle] resourcePath]; + NSString *tmp = NSTemporaryDirectory(); + NSString *cache = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Caches"]; + NSString *docs = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]; + + const gchar *resources_dir = [resources UTF8String]; + const gchar *tmp_dir = [tmp UTF8String]; + const gchar *cache_dir = [cache UTF8String]; + const gchar *docs_dir = [docs UTF8String]; + + g_setenv ("TMP", tmp_dir, TRUE); + g_setenv ("TEMP", tmp_dir, TRUE); + g_setenv ("TMPDIR", tmp_dir, TRUE); + g_setenv ("XDG_RUNTIME_DIR", resources_dir, TRUE); + g_setenv ("XDG_CACHE_DIR", cache_dir, TRUE); + + g_setenv ("HOME", docs_dir, TRUE); + g_setenv ("XDG_DATA_DIRS", resources_dir, TRUE); + g_setenv ("XDG_CONFIG_DIRS", resources_dir, TRUE); + g_setenv ("XDG_CONFIG_HOME", cache_dir, TRUE); + g_setenv ("XDG_DATA_HOME", resources_dir, TRUE); + g_setenv ("FONTCONFIG_PATH", resources_dir, TRUE); + gst_init (NULL, NULL); -#if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE) + #if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(coreelements); #endif #if defined(GST_IOS_PLUGIN_COREINDEXERS) || defined(GST_IOS_PLUGINS_CORE) @@ -636,6 +661,9 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_REGISTER(eglglessink); #endif +#if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS) + GST_PLUGIN_STATIC_REGISTER(applemedia); +#endif #if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_REGISTER(applemedia_nonpublic); #endif @@ -994,6 +1022,7 @@ gst_ios_init (void) GST_PLUGIN_STATIC_REGISTER(sdp); #endif + /* Lower the ranks of filesrc and giosrc so iosavassetsrc is * tried first in gst_element_make_from_uri() for file:// */ reg = gst_registry_get_default(); diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/Ubuntu-R.ttf b/gst-sdk/tutorials/xcode iOS/Tutorial 5/Ubuntu-R.ttf new file mode 100644 index 0000000000000000000000000000000000000000..45a038bade527cbbf30f197c5a116be3cfb2f0a3 GIT binary patch literal 353824 zcmeFad7x!SRqtQ>oO{na?0Gu#J?9SHx4Un;GY|+tLXbHS1R?|(0wD==m}5YOASeik zAc7#HD1rn~5rPadM2z~>ABupAJbCzVcs>E2BBFBM=Ue;id%HUg`rrHgk*eOc&)K`C zwQ8+zty)#*wsDLx5y_gl^sW!M=iMLNf7(6F`hC7`Om^1YFTLLbYPalOWvXAjt8w`pP8czCf*y zyzH)*Josy0_?O=@CjWb5;?F($iC0|vtIvMi$Bp^ObBtO4rAI&W>C>Z&Ma`JsyQ49c z@TzOCe&RDfde@tc`Q*Zw+WhJ(o_4LtOq2G{p+5KOC;aeLkG-JtYGb|}n#%o;Tyy0U zued&%qHY^o>jY|OKt`h+Jx`ik16&!z9be<|;8e&Q9^UE6wX<1>`M ziSpAYUGc=nEbe*y98I^``RZz?dcEx^k?5_svm-$Bfoy_Qy+8fMR)t;UmJ4^ zZC1Wv#9Q;<{@aNkzv9><`gieeJZ-P9Rcn=MW$iCbWqGNYK6F*Jx$8xjTx9NS%)hNw8_T`8PZ}!Syh%^SN%vwZnB0*Y|PVkxS3c zR(_S`^SR~4$OhF9koUEwQF)=ctnvhNhsy78zkn;_dJEq_VJ>sJT>nI#XYj0UE~{Q` zF0OomdyDsvT;269G_%UN#;v^1+`sZl)2hDJ3@gtvN#!zAt6XSi&OOZ|)o1Pv`mpEx z{qo + + + + + + + + + mono + + + monospace + + + + + + + sans serif + + + sans-serif + + + + + + + sans + + + sans-serif + + + + + + + 0x0020 + 0x00A0 + 0x00AD + 0x034F + 0x0600 + 0x0601 + 0x0602 + 0x0603 + 0x06DD + 0x070F + 0x115F + 0x1160 + 0x1680 + 0x17B4 + 0x17B5 + 0x180E + 0x2000 + 0x2001 + 0x2002 + 0x2003 + 0x2004 + 0x2005 + 0x2006 + 0x2007 + 0x2008 + 0x2009 + 0x200A + 0x200B + 0x200C + 0x200D + 0x200E + 0x200F + 0x2028 + 0x2029 + 0x202A + 0x202B + 0x202C + 0x202D + 0x202E + 0x202F + 0x205F + 0x2060 + 0x2061 + 0x2062 + 0x2063 + 0x206A + 0x206B + 0x206C + 0x206D + 0x206E + 0x206F + 0x2800 + 0x3000 + 0x3164 + 0xFEFF + 0xFFA0 + 0xFFF9 + 0xFFFA + 0xFFFB + + + + 30 + + + + + diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.m b/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.m new file mode 100644 index 0000000000..53ddaebe29 --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.m @@ -0,0 +1,1035 @@ +#include "gst_ios_init.h" + +#if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(coreelements); +#endif +#if defined(GST_IOS_PLUGIN_COREINDEXERS) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(coreindexers); +#endif +#if defined(GST_IOS_PLUGIN_ADDER) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(adder); +#endif +#if defined(GST_IOS_PLUGIN_APP) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(app); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOCONVERT) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(audioconvert); +#endif +#if defined(GST_IOS_PLUGIN_AUDIORATE) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(audiorate); +#endif +#if defined(GST_IOS_PLUGIN_AUDIORESAMPLE) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(audioresample); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOTESTSRC) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(audiotestsrc); +#endif +#if defined(GST_IOS_PLUGIN_FFMPEGCOLORSPACE) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(ffmpegcolorspace); +#endif +#if defined(GST_IOS_PLUGIN_GDP) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(gdp); +#endif +#if defined(GST_IOS_PLUGIN_GIO) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(gio); +#endif +#if defined(GST_IOS_PLUGIN_PANGO) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(pango); +#endif +#if defined(GST_IOS_PLUGIN_TYPEFINDFUNCTIONS) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(typefindfunctions); +#endif +#if defined(GST_IOS_PLUGIN_VIDEORATE) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(videorate); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOSCALE) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(videoscale); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOTESTSRC) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(videotestsrc); +#endif +#if defined(GST_IOS_PLUGIN_VOLUME) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(volume); +#endif +#if defined(GST_IOS_PLUGIN_AUTODETECT) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(autodetect); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOFILTER) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(videofilter); +#endif +#if defined(GST_IOS_PLUGIN_CAMERABIN2) || defined(GST_IOS_PLUGINS_CAPTURE) +GST_PLUGIN_STATIC_DECLARE(camerabin2); +#endif +#if defined(GST_IOS_PLUGIN_ASFMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(asfmux); +#endif +#if defined(GST_IOS_PLUGIN_DTSDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(dtsdec); +#endif +#if defined(GST_IOS_PLUGIN_FAAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(faad); +#endif +#if defined(GST_IOS_PLUGIN_MPEGDEMUX2) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mpegdemux2); +#endif +#if defined(GST_IOS_PLUGIN_MPEGPSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mpegpsmux); +#endif +#if defined(GST_IOS_PLUGIN_MPEGTSDEMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mpegtsdemux); +#endif +#if defined(GST_IOS_PLUGIN_MPEGTSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mpegtsmux); +#endif +#if defined(GST_IOS_PLUGIN_A52DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(a52dec); +#endif +#if defined(GST_IOS_PLUGIN_AMRNB) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(amrnb); +#endif +#if defined(GST_IOS_PLUGIN_AMRWBDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(amrwbdec); +#endif +#if defined(GST_IOS_PLUGIN_ASF) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(asf); +#endif +#if defined(GST_IOS_PLUGIN_MAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mad); +#endif +#if defined(GST_IOS_PLUGIN_MPEG2DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mpeg2dec); +#endif +#if defined(GST_IOS_PLUGIN_MPEGAUDIOPARSE) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mpegaudioparse); +#endif +#if defined(GST_IOS_PLUGIN_REALMEDIA) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(realmedia); +#endif +#if defined(GST_IOS_PLUGIN_X264) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(x264); +#endif +#if defined(GST_IOS_PLUGIN_FFMPEG) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(ffmpeg); +#endif +#if defined(GST_IOS_PLUGIN_ENCODING) || defined(GST_IOS_PLUGINS_ENCODING) +GST_PLUGIN_STATIC_DECLARE(encoding); +#endif +#if defined(GST_IOS_PLUGIN_INDVD) || defined(GST_IOS_PLUGINS_DVD) +GST_PLUGIN_STATIC_DECLARE(indvd); +#endif +#if defined(GST_IOS_PLUGIN_DVDLPCMDEC) || defined(GST_IOS_PLUGINS_DVD) +GST_PLUGIN_STATIC_DECLARE(dvdlpcmdec); +#endif +#if defined(GST_IOS_PLUGIN_DVDREAD) || defined(GST_IOS_PLUGINS_DVD) +GST_PLUGIN_STATIC_DECLARE(dvdread); +#endif +#if defined(GST_IOS_PLUGIN_ASSRENDER) || defined(GST_IOS_PLUGINS_CODECS_GPL) +GST_PLUGIN_STATIC_DECLARE(assrender); +#endif +#if defined(GST_IOS_PLUGIN_MMS) || defined(GST_IOS_PLUGINS_NET_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mms); +#endif +#if defined(GST_IOS_PLUGIN_OSXAUDIO) || defined(GST_IOS_PLUGINS_SYS) +GST_PLUGIN_STATIC_DECLARE(osxaudio); +#endif +#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) +GST_PLUGIN_STATIC_DECLARE(eglglessink); +#endif +#if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS) +GST_PLUGIN_STATIC_DECLARE(applemedia); +#endif +#if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS) +GST_PLUGIN_STATIC_DECLARE(applemedia_nonpublic); +#endif +#if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) +GST_PLUGIN_STATIC_DECLARE(libvisual); +#endif +#if defined(GST_IOS_PLUGIN_GOOM) || defined(GST_IOS_PLUGINS_VIS) +GST_PLUGIN_STATIC_DECLARE(goom); +#endif +#if defined(GST_IOS_PLUGIN_GOOM2K1) || defined(GST_IOS_PLUGINS_VIS) +GST_PLUGIN_STATIC_DECLARE(goom2k1); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOVISUALIZERS) || defined(GST_IOS_PLUGINS_VIS) +GST_PLUGIN_STATIC_DECLARE(audiovisualizers); +#endif +#if defined(GST_IOS_PLUGIN_URIDECODEBIN) || defined(GST_IOS_PLUGINS_PLAYBACK) +GST_PLUGIN_STATIC_DECLARE(uridecodebin); +#endif +#if defined(GST_IOS_PLUGIN_PLAYBACK) || defined(GST_IOS_PLUGINS_PLAYBACK) +GST_PLUGIN_STATIC_DECLARE(playback); +#endif +#if defined(GST_IOS_PLUGIN_ALPHA) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(alpha); +#endif +#if defined(GST_IOS_PLUGIN_ALPHACOLOR) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(alphacolor); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOFX) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(audiofx); +#endif +#if defined(GST_IOS_PLUGIN_CAIRO) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(cairo); +#endif +#if defined(GST_IOS_PLUGIN_CUTTER) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(cutter); +#endif +#if defined(GST_IOS_PLUGIN_DEBUG) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(debug); +#endif +#if defined(GST_IOS_PLUGIN_DEINTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(deinterlace); +#endif +#if defined(GST_IOS_PLUGIN_EFFECTV) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(effectv); +#endif +#if defined(GST_IOS_PLUGIN_EQUALIZER) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(equalizer); +#endif +#if defined(GST_IOS_PLUGIN_GDKPIXBUF) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(gdkpixbuf); +#endif +#if defined(GST_IOS_PLUGIN_IMAGEFREEZE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(imagefreeze); +#endif +#if defined(GST_IOS_PLUGIN_INTERLEAVE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(interleave); +#endif +#if defined(GST_IOS_PLUGIN_LEVEL) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(level); +#endif +#if defined(GST_IOS_PLUGIN_MULTIFILE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(multifile); +#endif +#if defined(GST_IOS_PLUGIN_REPLAYGAIN) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(replaygain); +#endif +#if defined(GST_IOS_PLUGIN_SHAPEWIPE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(shapewipe); +#endif +#if defined(GST_IOS_PLUGIN_SMPTE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(smpte); +#endif +#if defined(GST_IOS_PLUGIN_SPECTRUM) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(spectrum); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOBOX) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(videobox); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOCROP) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(videocrop); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOMIXER) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(videomixer); +#endif +#if defined(GST_IOS_PLUGIN_AUTOCONVERT) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(autoconvert); +#endif +#if defined(GST_IOS_PLUGIN_BAYER) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(bayer); +#endif +#if defined(GST_IOS_PLUGIN_COLOREFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(coloreffects); +#endif +#if defined(GST_IOS_PLUGIN_FACEOVERLAY) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(faceoverlay); +#endif +#if defined(GST_IOS_PLUGIN_FIELDANALYSIS) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(fieldanalysis); +#endif +#if defined(GST_IOS_PLUGIN_FREEVERB) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(freeverb); +#endif +#if defined(GST_IOS_PLUGIN_FREI0R) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(frei0r); +#endif +#if defined(GST_IOS_PLUGIN_GAUDIEFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(gaudieffects); +#endif +#if defined(GST_IOS_PLUGIN_GEOMETRICTRANSFORM) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(geometrictransform); +#endif +#if defined(GST_IOS_PLUGIN_INTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(interlace); +#endif +#if defined(GST_IOS_PLUGIN_JP2KDECIMATOR) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(jp2kdecimator); +#endif +#if defined(GST_IOS_PLUGIN_LIVEADDER) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(liveadder); +#endif +#if defined(GST_IOS_PLUGIN_RAWPARSE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(rawparse); +#endif +#if defined(GST_IOS_PLUGIN_REMOVESILENCE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(removesilence); +#endif +#if defined(GST_IOS_PLUGIN_SCALETEMPO) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(scaletempo); +#endif +#if defined(GST_IOS_PLUGIN_SEGMENTCLIP) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(segmentclip); +#endif +#if defined(GST_IOS_PLUGIN_SMOOTH) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(smooth); +#endif +#if defined(GST_IOS_PLUGIN_SOUNDTOUCH) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(soundtouch); +#endif +#if defined(GST_IOS_PLUGIN_SPEED) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(speed); +#endif +#if defined(GST_IOS_PLUGIN_STEREO) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(stereo); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOFILTERSBAD) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(videofiltersbad); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOMEASURE) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(videomeasure); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOSIGNAL) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(videosignal); +#endif +#if defined(GST_IOS_PLUGIN_SUBPARSE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(subparse); +#endif +#if defined(GST_IOS_PLUGIN_OGG) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(ogg); +#endif +#if defined(GST_IOS_PLUGIN_THEORA) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(theora); +#endif +#if defined(GST_IOS_PLUGIN_VORBIS) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(vorbis); +#endif +#if defined(GST_IOS_PLUGIN_IVORBISDEC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(ivorbisdec); +#endif +#if defined(GST_IOS_PLUGIN_ALAW) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(alaw); +#endif +#if defined(GST_IOS_PLUGIN_ANNODEX) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(annodex); +#endif +#if defined(GST_IOS_PLUGIN_APETAG) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(apetag); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOPARSERS) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(audioparsers); +#endif +#if defined(GST_IOS_PLUGIN_AUPARSE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(auparse); +#endif +#if defined(GST_IOS_PLUGIN_AVI) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(avi); +#endif +#if defined(GST_IOS_PLUGIN_DV) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(dv); +#endif +#if defined(GST_IOS_PLUGIN_FLAC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(flac); +#endif +#if defined(GST_IOS_PLUGIN_FLV) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(flv); +#endif +#if defined(GST_IOS_PLUGIN_FLXDEC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(flxdec); +#endif +#if defined(GST_IOS_PLUGIN_ICYDEMUX) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(icydemux); +#endif +#if defined(GST_IOS_PLUGIN_ID3DEMUX) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(id3demux); +#endif +#if defined(GST_IOS_PLUGIN_ISOMP4) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(isomp4); +#endif +#if defined(GST_IOS_PLUGIN_JPEG) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(jpeg); +#endif +#if defined(GST_IOS_PLUGIN_MATROSKA) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(matroska); +#endif +#if defined(GST_IOS_PLUGIN_MULAW) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(mulaw); +#endif +#if defined(GST_IOS_PLUGIN_MULTIPART) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(multipart); +#endif +#if defined(GST_IOS_PLUGIN_PNG) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(png); +#endif +#if defined(GST_IOS_PLUGIN_SPEEX) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(speex); +#endif +#if defined(GST_IOS_PLUGIN_TAGLIB) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(taglib); +#endif +#if defined(GST_IOS_PLUGIN_WAVENC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(wavenc); +#endif +#if defined(GST_IOS_PLUGIN_WAVPACK) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(wavpack); +#endif +#if defined(GST_IOS_PLUGIN_WAVPARSE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(wavparse); +#endif +#if defined(GST_IOS_PLUGIN_Y4MENC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(y4menc); +#endif +#if defined(GST_IOS_PLUGIN_ADPCMDEC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(adpcmdec); +#endif +#if defined(GST_IOS_PLUGIN_ADPCMENC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(adpcmenc); +#endif +#if defined(GST_IOS_PLUGIN_AIFF) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(aiff); +#endif +#if defined(GST_IOS_PLUGIN_CDXAPARSE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(cdxaparse); +#endif +#if defined(GST_IOS_PLUGIN_DCCP) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(dccp); +#endif +#if defined(GST_IOS_PLUGIN_DTMF) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(dtmf); +#endif +#if defined(GST_IOS_PLUGIN_DVBSUBOVERLAY) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(dvbsuboverlay); +#endif +#if defined(GST_IOS_PLUGIN_DVDSPU) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(dvdspu); +#endif +#if defined(GST_IOS_PLUGIN_FRAGMENTED) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(fragmented); +#endif +#if defined(GST_IOS_PLUGIN_HDVPARSE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(hdvparse); +#endif +#if defined(GST_IOS_PLUGIN_ID3TAG) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(id3tag); +#endif +#if defined(GST_IOS_PLUGIN_IVFPARSE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(ivfparse); +#endif +#if defined(GST_IOS_PLUGIN_JP2K) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(jp2k); +#endif +#if defined(GST_IOS_PLUGIN_KATE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(kate); +#endif +#if defined(GST_IOS_PLUGIN_MVE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(mve); +#endif +#if defined(GST_IOS_PLUGIN_MXF) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(mxf); +#endif +#if defined(GST_IOS_PLUGIN_NSF) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(nsf); +#endif +#if defined(GST_IOS_PLUGIN_NUVDEMUX) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(nuvdemux); +#endif +#if defined(GST_IOS_PLUGIN_OPUS) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(opus); +#endif +#if defined(GST_IOS_PLUGIN_PCAPPARSE) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(pcapparse); +#endif +#if defined(GST_IOS_PLUGIN_PNM) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(pnm); +#endif +#if defined(GST_IOS_PLUGIN_SCHRO) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(schro); +#endif +#if defined(GST_IOS_PLUGIN_GSTSIREN) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(gstsiren); +#endif +#if defined(GST_IOS_PLUGIN_SUBENC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(subenc); +#endif +#if defined(GST_IOS_PLUGIN_TTA) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(tta); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOPARSERSBAD) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(videoparsersbad); +#endif +#if defined(GST_IOS_PLUGIN_VMNC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(vmnc); +#endif +#if defined(GST_IOS_PLUGIN_VP8) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(vp8); +#endif +#if defined(GST_IOS_PLUGIN_Y4MDEC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(y4mdec); +#endif +#if defined(GST_IOS_PLUGIN_TCP) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(tcp); +#endif +#if defined(GST_IOS_PLUGIN_RTSP) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(rtsp); +#endif +#if defined(GST_IOS_PLUGIN_RTP) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(rtp); +#endif +#if defined(GST_IOS_PLUGIN_GSTRTPMANAGER) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(gstrtpmanager); +#endif +#if defined(GST_IOS_PLUGIN_SOUP) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(soup); +#endif +#if defined(GST_IOS_PLUGIN_UDP) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(udp); +#endif +#if defined(GST_IOS_PLUGIN_DATAURISRC) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(dataurisrc); +#endif +#if defined(GST_IOS_PLUGIN_RTPMUX) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(rtpmux); +#endif +#if defined(GST_IOS_PLUGIN_RTPVP8) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(rtpvp8); +#endif +#if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(sdp); +#endif + +void +gst_ios_init (void) +{ + GstPluginFeature *plugin; + GstRegistry *reg; + NSString *resources = [[NSBundle mainBundle] resourcePath]; + NSString *tmp = NSTemporaryDirectory(); + NSString *cache = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Caches"]; + NSString *docs = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]; + + const gchar *resources_dir = [resources UTF8String]; + const gchar *tmp_dir = [tmp UTF8String]; + const gchar *cache_dir = [cache UTF8String]; + const gchar *docs_dir = [docs UTF8String]; + + g_setenv ("TMP", tmp_dir, TRUE); + g_setenv ("TEMP", tmp_dir, TRUE); + g_setenv ("TMPDIR", tmp_dir, TRUE); + g_setenv ("XDG_RUNTIME_DIR", resources_dir, TRUE); + g_setenv ("XDG_CACHE_DIR", cache_dir, TRUE); + + g_setenv ("HOME", docs_dir, TRUE); + g_setenv ("XDG_DATA_DIRS", resources_dir, TRUE); + g_setenv ("XDG_CONFIG_DIRS", resources_dir, TRUE); + g_setenv ("XDG_CONFIG_HOME", cache_dir, TRUE); + g_setenv ("XDG_DATA_HOME", resources_dir, TRUE); + g_setenv ("FONTCONFIG_PATH", resources_dir, TRUE); + + gst_init (NULL, NULL); + + #if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(coreelements); +#endif +#if defined(GST_IOS_PLUGIN_COREINDEXERS) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(coreindexers); +#endif +#if defined(GST_IOS_PLUGIN_ADDER) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(adder); +#endif +#if defined(GST_IOS_PLUGIN_APP) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(app); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOCONVERT) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(audioconvert); +#endif +#if defined(GST_IOS_PLUGIN_AUDIORATE) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(audiorate); +#endif +#if defined(GST_IOS_PLUGIN_AUDIORESAMPLE) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(audioresample); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOTESTSRC) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(audiotestsrc); +#endif +#if defined(GST_IOS_PLUGIN_FFMPEGCOLORSPACE) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(ffmpegcolorspace); +#endif +#if defined(GST_IOS_PLUGIN_GDP) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(gdp); +#endif +#if defined(GST_IOS_PLUGIN_GIO) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(gio); +#endif +#if defined(GST_IOS_PLUGIN_PANGO) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(pango); +#endif +#if defined(GST_IOS_PLUGIN_TYPEFINDFUNCTIONS) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(typefindfunctions); +#endif +#if defined(GST_IOS_PLUGIN_VIDEORATE) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(videorate); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOSCALE) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(videoscale); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOTESTSRC) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(videotestsrc); +#endif +#if defined(GST_IOS_PLUGIN_VOLUME) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(volume); +#endif +#if defined(GST_IOS_PLUGIN_AUTODETECT) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(autodetect); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOFILTER) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(videofilter); +#endif +#if defined(GST_IOS_PLUGIN_CAMERABIN2) || defined(GST_IOS_PLUGINS_CAPTURE) + GST_PLUGIN_STATIC_REGISTER(camerabin2); +#endif +#if defined(GST_IOS_PLUGIN_ASFMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(asfmux); +#endif +#if defined(GST_IOS_PLUGIN_DTSDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(dtsdec); +#endif +#if defined(GST_IOS_PLUGIN_FAAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(faad); +#endif +#if defined(GST_IOS_PLUGIN_MPEGDEMUX2) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mpegdemux2); +#endif +#if defined(GST_IOS_PLUGIN_MPEGPSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mpegpsmux); +#endif +#if defined(GST_IOS_PLUGIN_MPEGTSDEMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mpegtsdemux); +#endif +#if defined(GST_IOS_PLUGIN_MPEGTSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mpegtsmux); +#endif +#if defined(GST_IOS_PLUGIN_A52DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(a52dec); +#endif +#if defined(GST_IOS_PLUGIN_AMRNB) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(amrnb); +#endif +#if defined(GST_IOS_PLUGIN_AMRWBDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(amrwbdec); +#endif +#if defined(GST_IOS_PLUGIN_ASF) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(asf); +#endif +#if defined(GST_IOS_PLUGIN_MAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mad); +#endif +#if defined(GST_IOS_PLUGIN_MPEG2DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mpeg2dec); +#endif +#if defined(GST_IOS_PLUGIN_MPEGAUDIOPARSE) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mpegaudioparse); +#endif +#if defined(GST_IOS_PLUGIN_REALMEDIA) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(realmedia); +#endif +#if defined(GST_IOS_PLUGIN_X264) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(x264); +#endif +#if defined(GST_IOS_PLUGIN_FFMPEG) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(ffmpeg); +#endif +#if defined(GST_IOS_PLUGIN_ENCODING) || defined(GST_IOS_PLUGINS_ENCODING) + GST_PLUGIN_STATIC_REGISTER(encoding); +#endif +#if defined(GST_IOS_PLUGIN_INDVD) || defined(GST_IOS_PLUGINS_DVD) + GST_PLUGIN_STATIC_REGISTER(indvd); +#endif +#if defined(GST_IOS_PLUGIN_DVDLPCMDEC) || defined(GST_IOS_PLUGINS_DVD) + GST_PLUGIN_STATIC_REGISTER(dvdlpcmdec); +#endif +#if defined(GST_IOS_PLUGIN_DVDREAD) || defined(GST_IOS_PLUGINS_DVD) + GST_PLUGIN_STATIC_REGISTER(dvdread); +#endif +#if defined(GST_IOS_PLUGIN_ASSRENDER) || defined(GST_IOS_PLUGINS_CODECS_GPL) + GST_PLUGIN_STATIC_REGISTER(assrender); +#endif +#if defined(GST_IOS_PLUGIN_MMS) || defined(GST_IOS_PLUGINS_NET_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mms); +#endif +#if defined(GST_IOS_PLUGIN_OSXAUDIO) || defined(GST_IOS_PLUGINS_SYS) + GST_PLUGIN_STATIC_REGISTER(osxaudio); +#endif +#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) + GST_PLUGIN_STATIC_REGISTER(eglglessink); +#endif +#if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS) + GST_PLUGIN_STATIC_REGISTER(applemedia); +#endif +#if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS) + GST_PLUGIN_STATIC_REGISTER(applemedia_nonpublic); +#endif +#if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) + GST_PLUGIN_STATIC_REGISTER(libvisual); +#endif +#if defined(GST_IOS_PLUGIN_GOOM) || defined(GST_IOS_PLUGINS_VIS) + GST_PLUGIN_STATIC_REGISTER(goom); +#endif +#if defined(GST_IOS_PLUGIN_GOOM2K1) || defined(GST_IOS_PLUGINS_VIS) + GST_PLUGIN_STATIC_REGISTER(goom2k1); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOVISUALIZERS) || defined(GST_IOS_PLUGINS_VIS) + GST_PLUGIN_STATIC_REGISTER(audiovisualizers); +#endif +#if defined(GST_IOS_PLUGIN_URIDECODEBIN) || defined(GST_IOS_PLUGINS_PLAYBACK) + GST_PLUGIN_STATIC_REGISTER(uridecodebin); +#endif +#if defined(GST_IOS_PLUGIN_PLAYBACK) || defined(GST_IOS_PLUGINS_PLAYBACK) + GST_PLUGIN_STATIC_REGISTER(playback); +#endif +#if defined(GST_IOS_PLUGIN_ALPHA) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(alpha); +#endif +#if defined(GST_IOS_PLUGIN_ALPHACOLOR) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(alphacolor); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOFX) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(audiofx); +#endif +#if defined(GST_IOS_PLUGIN_CAIRO) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(cairo); +#endif +#if defined(GST_IOS_PLUGIN_CUTTER) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(cutter); +#endif +#if defined(GST_IOS_PLUGIN_DEBUG) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(debug); +#endif +#if defined(GST_IOS_PLUGIN_DEINTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(deinterlace); +#endif +#if defined(GST_IOS_PLUGIN_EFFECTV) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(effectv); +#endif +#if defined(GST_IOS_PLUGIN_EQUALIZER) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(equalizer); +#endif +#if defined(GST_IOS_PLUGIN_GDKPIXBUF) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(gdkpixbuf); +#endif +#if defined(GST_IOS_PLUGIN_IMAGEFREEZE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(imagefreeze); +#endif +#if defined(GST_IOS_PLUGIN_INTERLEAVE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(interleave); +#endif +#if defined(GST_IOS_PLUGIN_LEVEL) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(level); +#endif +#if defined(GST_IOS_PLUGIN_MULTIFILE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(multifile); +#endif +#if defined(GST_IOS_PLUGIN_REPLAYGAIN) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(replaygain); +#endif +#if defined(GST_IOS_PLUGIN_SHAPEWIPE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(shapewipe); +#endif +#if defined(GST_IOS_PLUGIN_SMPTE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(smpte); +#endif +#if defined(GST_IOS_PLUGIN_SPECTRUM) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(spectrum); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOBOX) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(videobox); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOCROP) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(videocrop); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOMIXER) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(videomixer); +#endif +#if defined(GST_IOS_PLUGIN_AUTOCONVERT) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(autoconvert); +#endif +#if defined(GST_IOS_PLUGIN_BAYER) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(bayer); +#endif +#if defined(GST_IOS_PLUGIN_COLOREFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(coloreffects); +#endif +#if defined(GST_IOS_PLUGIN_FACEOVERLAY) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(faceoverlay); +#endif +#if defined(GST_IOS_PLUGIN_FIELDANALYSIS) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(fieldanalysis); +#endif +#if defined(GST_IOS_PLUGIN_FREEVERB) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(freeverb); +#endif +#if defined(GST_IOS_PLUGIN_FREI0R) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(frei0r); +#endif +#if defined(GST_IOS_PLUGIN_GAUDIEFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(gaudieffects); +#endif +#if defined(GST_IOS_PLUGIN_GEOMETRICTRANSFORM) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(geometrictransform); +#endif +#if defined(GST_IOS_PLUGIN_INTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(interlace); +#endif +#if defined(GST_IOS_PLUGIN_JP2KDECIMATOR) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(jp2kdecimator); +#endif +#if defined(GST_IOS_PLUGIN_LIVEADDER) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(liveadder); +#endif +#if defined(GST_IOS_PLUGIN_RAWPARSE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(rawparse); +#endif +#if defined(GST_IOS_PLUGIN_REMOVESILENCE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(removesilence); +#endif +#if defined(GST_IOS_PLUGIN_SCALETEMPO) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(scaletempo); +#endif +#if defined(GST_IOS_PLUGIN_SEGMENTCLIP) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(segmentclip); +#endif +#if defined(GST_IOS_PLUGIN_SMOOTH) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(smooth); +#endif +#if defined(GST_IOS_PLUGIN_SOUNDTOUCH) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(soundtouch); +#endif +#if defined(GST_IOS_PLUGIN_SPEED) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(speed); +#endif +#if defined(GST_IOS_PLUGIN_STEREO) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(stereo); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOFILTERSBAD) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(videofiltersbad); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOMEASURE) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(videomeasure); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOSIGNAL) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(videosignal); +#endif +#if defined(GST_IOS_PLUGIN_SUBPARSE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(subparse); +#endif +#if defined(GST_IOS_PLUGIN_OGG) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(ogg); +#endif +#if defined(GST_IOS_PLUGIN_THEORA) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(theora); +#endif +#if defined(GST_IOS_PLUGIN_VORBIS) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(vorbis); +#endif +#if defined(GST_IOS_PLUGIN_IVORBISDEC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(ivorbisdec); +#endif +#if defined(GST_IOS_PLUGIN_ALAW) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(alaw); +#endif +#if defined(GST_IOS_PLUGIN_ANNODEX) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(annodex); +#endif +#if defined(GST_IOS_PLUGIN_APETAG) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(apetag); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOPARSERS) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(audioparsers); +#endif +#if defined(GST_IOS_PLUGIN_AUPARSE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(auparse); +#endif +#if defined(GST_IOS_PLUGIN_AVI) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(avi); +#endif +#if defined(GST_IOS_PLUGIN_DV) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(dv); +#endif +#if defined(GST_IOS_PLUGIN_FLAC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(flac); +#endif +#if defined(GST_IOS_PLUGIN_FLV) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(flv); +#endif +#if defined(GST_IOS_PLUGIN_FLXDEC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(flxdec); +#endif +#if defined(GST_IOS_PLUGIN_ICYDEMUX) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(icydemux); +#endif +#if defined(GST_IOS_PLUGIN_ID3DEMUX) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(id3demux); +#endif +#if defined(GST_IOS_PLUGIN_ISOMP4) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(isomp4); +#endif +#if defined(GST_IOS_PLUGIN_JPEG) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(jpeg); +#endif +#if defined(GST_IOS_PLUGIN_MATROSKA) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(matroska); +#endif +#if defined(GST_IOS_PLUGIN_MULAW) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(mulaw); +#endif +#if defined(GST_IOS_PLUGIN_MULTIPART) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(multipart); +#endif +#if defined(GST_IOS_PLUGIN_PNG) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(png); +#endif +#if defined(GST_IOS_PLUGIN_SPEEX) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(speex); +#endif +#if defined(GST_IOS_PLUGIN_TAGLIB) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(taglib); +#endif +#if defined(GST_IOS_PLUGIN_WAVENC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(wavenc); +#endif +#if defined(GST_IOS_PLUGIN_WAVPACK) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(wavpack); +#endif +#if defined(GST_IOS_PLUGIN_WAVPARSE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(wavparse); +#endif +#if defined(GST_IOS_PLUGIN_Y4MENC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(y4menc); +#endif +#if defined(GST_IOS_PLUGIN_ADPCMDEC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(adpcmdec); +#endif +#if defined(GST_IOS_PLUGIN_ADPCMENC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(adpcmenc); +#endif +#if defined(GST_IOS_PLUGIN_AIFF) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(aiff); +#endif +#if defined(GST_IOS_PLUGIN_CDXAPARSE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(cdxaparse); +#endif +#if defined(GST_IOS_PLUGIN_DCCP) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(dccp); +#endif +#if defined(GST_IOS_PLUGIN_DTMF) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(dtmf); +#endif +#if defined(GST_IOS_PLUGIN_DVBSUBOVERLAY) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(dvbsuboverlay); +#endif +#if defined(GST_IOS_PLUGIN_DVDSPU) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(dvdspu); +#endif +#if defined(GST_IOS_PLUGIN_FRAGMENTED) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(fragmented); +#endif +#if defined(GST_IOS_PLUGIN_HDVPARSE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(hdvparse); +#endif +#if defined(GST_IOS_PLUGIN_ID3TAG) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(id3tag); +#endif +#if defined(GST_IOS_PLUGIN_IVFPARSE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(ivfparse); +#endif +#if defined(GST_IOS_PLUGIN_JP2K) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(jp2k); +#endif +#if defined(GST_IOS_PLUGIN_KATE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(kate); +#endif +#if defined(GST_IOS_PLUGIN_MVE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(mve); +#endif +#if defined(GST_IOS_PLUGIN_MXF) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(mxf); +#endif +#if defined(GST_IOS_PLUGIN_NSF) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(nsf); +#endif +#if defined(GST_IOS_PLUGIN_NUVDEMUX) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(nuvdemux); +#endif +#if defined(GST_IOS_PLUGIN_OPUS) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(opus); +#endif +#if defined(GST_IOS_PLUGIN_PCAPPARSE) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(pcapparse); +#endif +#if defined(GST_IOS_PLUGIN_PNM) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(pnm); +#endif +#if defined(GST_IOS_PLUGIN_SCHRO) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(schro); +#endif +#if defined(GST_IOS_PLUGIN_GSTSIREN) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(gstsiren); +#endif +#if defined(GST_IOS_PLUGIN_SUBENC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(subenc); +#endif +#if defined(GST_IOS_PLUGIN_TTA) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(tta); +#endif +#if defined(GST_IOS_PLUGIN_VIDEOPARSERSBAD) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(videoparsersbad); +#endif +#if defined(GST_IOS_PLUGIN_VMNC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(vmnc); +#endif +#if defined(GST_IOS_PLUGIN_VP8) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(vp8); +#endif +#if defined(GST_IOS_PLUGIN_Y4MDEC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(y4mdec); +#endif +#if defined(GST_IOS_PLUGIN_TCP) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(tcp); +#endif +#if defined(GST_IOS_PLUGIN_RTSP) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(rtsp); +#endif +#if defined(GST_IOS_PLUGIN_RTP) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(rtp); +#endif +#if defined(GST_IOS_PLUGIN_GSTRTPMANAGER) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(gstrtpmanager); +#endif +#if defined(GST_IOS_PLUGIN_SOUP) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(soup); +#endif +#if defined(GST_IOS_PLUGIN_UDP) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(udp); +#endif +#if defined(GST_IOS_PLUGIN_DATAURISRC) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(dataurisrc); +#endif +#if defined(GST_IOS_PLUGIN_RTPMUX) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(rtpmux); +#endif +#if defined(GST_IOS_PLUGIN_RTPVP8) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(rtpvp8); +#endif +#if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(sdp); +#endif + + + /* Lower the ranks of filesrc and giosrc so iosavassetsrc is + * tried first in gst_element_make_from_uri() for file:// */ + reg = gst_registry_get_default(); + plugin = gst_registry_lookup_feature(reg, "filesrc"); + if (plugin) + gst_plugin_feature_set_rank(plugin, GST_RANK_SECONDARY); + plugin = gst_registry_lookup_feature(reg, "giosrc"); + if (plugin) + gst_plugin_feature_set_rank(plugin, GST_RANK_SECONDARY-1); +} From 8c72809d8439d1220d37aebd543643758f325331 Mon Sep 17 00:00:00 2001 From: Andoni Morales Alastruey Date: Mon, 27 May 2013 16:44:50 +0200 Subject: [PATCH 307/979] Add missing tutorials --- .../project.pbxproj | 764 ++++++++++++++++++ .../xcschemes/12-Tutorial 12.xcscheme | 86 ++ .../xcschemes/13-Tutorial 13.xcscheme | 86 ++ .../xcschemes/15-Tutorial 15.xcscheme | 86 ++ ...scheme => 21-Playback Tutorial 1.xcscheme} | 0 ...scheme => 22-Playback Tutorial 2.xcscheme} | 0 .../xcschemes/23-Playback Tutorial 3.xcscheme | 86 ++ .../xcschemes/24-Playback Tutorial 4.xcscheme | 86 ++ .../xcschemes/25-Playback Tutorial 5.xcscheme | 86 ++ .../xcschemes/26-Playback Tutorial 6.xcscheme | 86 ++ .../xcschemes/27-Playback Tutorial 7.xcscheme | 86 ++ 11 files changed, 1452 insertions(+) create mode 100644 gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/12-Tutorial 12.xcscheme create mode 100644 gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/13-Tutorial 13.xcscheme create mode 100644 gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/15-Tutorial 15.xcscheme rename gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/{10-Playback Tutorial 1.xcscheme => 21-Playback Tutorial 1.xcscheme} (100%) rename gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/{12-Playback Tutorial 2.xcscheme => 22-Playback Tutorial 2.xcscheme} (100%) create mode 100644 gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/23-Playback Tutorial 3.xcscheme create mode 100644 gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/24-Playback Tutorial 4.xcscheme create mode 100644 gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/25-Playback Tutorial 5.xcscheme create mode 100644 gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/26-Playback Tutorial 6.xcscheme create mode 100644 gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/27-Playback Tutorial 7.xcscheme diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj index 24d44a53b6..e8dbdc214a 100644 --- a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj @@ -29,6 +29,14 @@ 63E2230A16075E4F001954D7 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; 63E2230B16075E55001954D7 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; 63E2230C16076969001954D7 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; + 63EA7B0F1753A1D50032388A /* basic-tutorial-12.c in Sources */ = {isa = PBXBuildFile; fileRef = 63EA7B0E1753A1D50032388A /* basic-tutorial-12.c */; }; + 63EA7B1E1753A29C0032388A /* basic-tutorial-13.c in Sources */ = {isa = PBXBuildFile; fileRef = 63EA7B1D1753A29C0032388A /* basic-tutorial-13.c */; }; + 63EA7B2D1753A2DF0032388A /* basic-tutorial-15.c in Sources */ = {isa = PBXBuildFile; fileRef = 63EA7B2C1753A2DF0032388A /* basic-tutorial-15.c */; }; + 63EA7B3C1753A3740032388A /* playback-tutorial-3.c in Sources */ = {isa = PBXBuildFile; fileRef = 63EA7B3B1753A3740032388A /* playback-tutorial-3.c */; }; + 63EA7B4B1753A3AA0032388A /* playback-tutorial-4.c in Sources */ = {isa = PBXBuildFile; fileRef = 63EA7B4A1753A3AA0032388A /* playback-tutorial-4.c */; }; + 63EA7B5A1753A3D00032388A /* playback-tutorial-5.c in Sources */ = {isa = PBXBuildFile; fileRef = 63EA7B591753A3D00032388A /* playback-tutorial-5.c */; }; + 63EA7B691753A4100032388A /* playback-tutorial-6.c in Sources */ = {isa = PBXBuildFile; fileRef = 63EA7B681753A4100032388A /* playback-tutorial-6.c */; }; + 63EA7B781753A4370032388A /* playback-tutorial-7.c in Sources */ = {isa = PBXBuildFile; fileRef = 63EA7B771753A4370032388A /* playback-tutorial-7.c */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -131,6 +139,78 @@ ); runOnlyForDeploymentPostprocessing = 1; }; + 63EA7B0317539E570032388A /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; + 63EA7B121753A2700032388A /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; + 63EA7B211753A2B90032388A /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; + 63EA7B301753A2FE0032388A /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; + 63EA7B3F1753A38D0032388A /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; + 63EA7B4E1753A3B60032388A /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; + 63EA7B5D1753A3F70032388A /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; + 63EA7B6C1753A41C0032388A /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ @@ -157,6 +237,22 @@ 63DE883A156DAC0E006F2D3B /* basic-tutorial-8.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-8.c"; path = "../basic-tutorial-8.c"; sourceTree = SOURCE_ROOT; }; 63DE883C156DAC15006F2D3B /* basic-tutorial-9.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-9.c"; path = "../basic-tutorial-9.c"; sourceTree = SOURCE_ROOT; }; 63E2230016073E04001954D7 /* GStreamer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GStreamer.framework; path = Library/Frameworks/GStreamer.framework; sourceTree = SDKROOT; }; + 63EA7B0517539E570032388A /* Tutorial 12 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 12"; sourceTree = BUILT_PRODUCTS_DIR; }; + 63EA7B0E1753A1D50032388A /* basic-tutorial-12.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-12.c"; path = "../basic-tutorial-12.c"; sourceTree = SOURCE_ROOT; }; + 63EA7B141753A2700032388A /* Tutorial 13 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 13"; sourceTree = BUILT_PRODUCTS_DIR; }; + 63EA7B1D1753A29C0032388A /* basic-tutorial-13.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-13.c"; path = "../basic-tutorial-13.c"; sourceTree = SOURCE_ROOT; }; + 63EA7B231753A2B90032388A /* Tutorial 15 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 15"; sourceTree = BUILT_PRODUCTS_DIR; }; + 63EA7B2C1753A2DF0032388A /* basic-tutorial-15.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-15.c"; path = "../basic-tutorial-15.c"; sourceTree = SOURCE_ROOT; }; + 63EA7B321753A2FE0032388A /* Playback Tutorial 3 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Playback Tutorial 3"; sourceTree = BUILT_PRODUCTS_DIR; }; + 63EA7B3B1753A3740032388A /* playback-tutorial-3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-3.c"; path = "../playback-tutorial-3.c"; sourceTree = SOURCE_ROOT; }; + 63EA7B411753A38D0032388A /* Playback Tutorial 4 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Playback Tutorial 4"; sourceTree = BUILT_PRODUCTS_DIR; }; + 63EA7B4A1753A3AA0032388A /* playback-tutorial-4.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-4.c"; path = "../../playback-tutorial-4.c"; sourceTree = ""; }; + 63EA7B501753A3B60032388A /* Playback Tutorial 5 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Playback Tutorial 5"; sourceTree = BUILT_PRODUCTS_DIR; }; + 63EA7B591753A3D00032388A /* playback-tutorial-5.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-5.c"; path = "../playback-tutorial-5.c"; sourceTree = SOURCE_ROOT; }; + 63EA7B5F1753A3F70032388A /* Playback Tutorial 6 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Playback Tutorial 6"; sourceTree = BUILT_PRODUCTS_DIR; }; + 63EA7B681753A4100032388A /* playback-tutorial-6.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-6.c"; path = "../../playback-tutorial-6.c"; sourceTree = ""; }; + 63EA7B6E1753A41C0032388A /* Playback Tutorial 7 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Playback Tutorial 7"; sourceTree = BUILT_PRODUCTS_DIR; }; + 63EA7B771753A4370032388A /* playback-tutorial-7.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-7.c"; path = "../playback-tutorial-7.c"; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -248,6 +344,62 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 63EA7B0217539E570032388A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63EA7B111753A2700032388A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63EA7B201753A2B90032388A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63EA7B2F1753A2FE0032388A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63EA7B3E1753A38D0032388A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63EA7B4D1753A3B60032388A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63EA7B5C1753A3F70032388A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63EA7B6B1753A41C0032388A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -264,8 +416,16 @@ 63DE8814156DABDF006F2D3B /* Tutorial 7 */, 63DE8822156DABE6006F2D3B /* Tutorial 8 */, 63DE8830156DABEE006F2D3B /* Tutorial 9 */, + 63EA7B0617539E570032388A /* Tutorial 12 */, + 63EA7B151753A2700032388A /* Tutorial 13 */, + 63EA7B241753A2B90032388A /* Tutorial 15 */, 63118CCA156D32E20085CF03 /* Playback Tutorial 1 */, 63118CDB156D34BA0085CF03 /* Playback Tutorial 2 */, + 63EA7B331753A2FE0032388A /* Playback Tutorial 3 */, + 63EA7B421753A38E0032388A /* Playback Tutorial 4 */, + 63EA7B511753A3B60032388A /* Playback Tutorial 5 */, + 63EA7B601753A3F70032388A /* Playback Tutorial 6 */, + 63EA7B6F1753A41C0032388A /* Playback Tutorial 7 */, 63118C41156D29340085CF03 /* Products */, ); sourceTree = ""; @@ -284,6 +444,14 @@ 63DE882E156DABEE006F2D3B /* Tutorial 9 */, 63118CC8156D32E20085CF03 /* Playback Tutorial 1 */, 63118CD9156D34BA0085CF03 /* Playback Tutorial 2 */, + 63EA7B0517539E570032388A /* Tutorial 12 */, + 63EA7B141753A2700032388A /* Tutorial 13 */, + 63EA7B231753A2B90032388A /* Tutorial 15 */, + 63EA7B321753A2FE0032388A /* Playback Tutorial 3 */, + 63EA7B411753A38D0032388A /* Playback Tutorial 4 */, + 63EA7B501753A3B60032388A /* Playback Tutorial 5 */, + 63EA7B5F1753A3F70032388A /* Playback Tutorial 6 */, + 63EA7B6E1753A41C0032388A /* Playback Tutorial 7 */, ); name = Products; sourceTree = SOURCE_ROOT; @@ -378,6 +546,70 @@ path = "Tutorial 9"; sourceTree = ""; }; + 63EA7B0617539E570032388A /* Tutorial 12 */ = { + isa = PBXGroup; + children = ( + 63EA7B0E1753A1D50032388A /* basic-tutorial-12.c */, + ); + path = "Tutorial 12"; + sourceTree = ""; + }; + 63EA7B151753A2700032388A /* Tutorial 13 */ = { + isa = PBXGroup; + children = ( + 63EA7B1D1753A29C0032388A /* basic-tutorial-13.c */, + ); + path = "Tutorial 13"; + sourceTree = ""; + }; + 63EA7B241753A2B90032388A /* Tutorial 15 */ = { + isa = PBXGroup; + children = ( + 63EA7B2C1753A2DF0032388A /* basic-tutorial-15.c */, + ); + path = "Tutorial 15"; + sourceTree = ""; + }; + 63EA7B331753A2FE0032388A /* Playback Tutorial 3 */ = { + isa = PBXGroup; + children = ( + 63EA7B3B1753A3740032388A /* playback-tutorial-3.c */, + ); + path = "Playback Tutorial 3"; + sourceTree = ""; + }; + 63EA7B421753A38E0032388A /* Playback Tutorial 4 */ = { + isa = PBXGroup; + children = ( + 63EA7B4A1753A3AA0032388A /* playback-tutorial-4.c */, + ); + path = "Playback Tutorial 4"; + sourceTree = ""; + }; + 63EA7B511753A3B60032388A /* Playback Tutorial 5 */ = { + isa = PBXGroup; + children = ( + 63EA7B591753A3D00032388A /* playback-tutorial-5.c */, + ); + path = "Playback Tutorial 5"; + sourceTree = ""; + }; + 63EA7B601753A3F70032388A /* Playback Tutorial 6 */ = { + isa = PBXGroup; + children = ( + 63EA7B681753A4100032388A /* playback-tutorial-6.c */, + ); + path = "Playback Tutorial 6"; + sourceTree = ""; + }; + 63EA7B6F1753A41C0032388A /* Playback Tutorial 7 */ = { + isa = PBXGroup; + children = ( + 63EA7B771753A4370032388A /* playback-tutorial-7.c */, + ); + path = "Playback Tutorial 7"; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -568,6 +800,142 @@ productReference = 63DE882E156DABEE006F2D3B /* Tutorial 9 */; productType = "com.apple.product-type.tool"; }; + 63EA7B0417539E570032388A /* Tutorial 12 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 63EA7B0B17539E570032388A /* Build configuration list for PBXNativeTarget "Tutorial 12" */; + buildPhases = ( + 63EA7B0117539E570032388A /* Sources */, + 63EA7B0217539E570032388A /* Frameworks */, + 63EA7B0317539E570032388A /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Tutorial 12"; + productName = "Tutorial 12"; + productReference = 63EA7B0517539E570032388A /* Tutorial 12 */; + productType = "com.apple.product-type.tool"; + }; + 63EA7B131753A2700032388A /* Tutorial 13 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 63EA7B1A1753A2700032388A /* Build configuration list for PBXNativeTarget "Tutorial 13" */; + buildPhases = ( + 63EA7B101753A2700032388A /* Sources */, + 63EA7B111753A2700032388A /* Frameworks */, + 63EA7B121753A2700032388A /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Tutorial 13"; + productName = "Tutorial 13"; + productReference = 63EA7B141753A2700032388A /* Tutorial 13 */; + productType = "com.apple.product-type.tool"; + }; + 63EA7B221753A2B90032388A /* Tutorial 15 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 63EA7B291753A2B90032388A /* Build configuration list for PBXNativeTarget "Tutorial 15" */; + buildPhases = ( + 63EA7B1F1753A2B90032388A /* Sources */, + 63EA7B201753A2B90032388A /* Frameworks */, + 63EA7B211753A2B90032388A /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Tutorial 15"; + productName = "Tutorial 15"; + productReference = 63EA7B231753A2B90032388A /* Tutorial 15 */; + productType = "com.apple.product-type.tool"; + }; + 63EA7B311753A2FE0032388A /* Playback Tutorial 3 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 63EA7B381753A2FE0032388A /* Build configuration list for PBXNativeTarget "Playback Tutorial 3" */; + buildPhases = ( + 63EA7B2E1753A2FE0032388A /* Sources */, + 63EA7B2F1753A2FE0032388A /* Frameworks */, + 63EA7B301753A2FE0032388A /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Playback Tutorial 3"; + productName = "Playback Tutorial 3"; + productReference = 63EA7B321753A2FE0032388A /* Playback Tutorial 3 */; + productType = "com.apple.product-type.tool"; + }; + 63EA7B401753A38D0032388A /* Playback Tutorial 4 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 63EA7B471753A38E0032388A /* Build configuration list for PBXNativeTarget "Playback Tutorial 4" */; + buildPhases = ( + 63EA7B3D1753A38D0032388A /* Sources */, + 63EA7B3E1753A38D0032388A /* Frameworks */, + 63EA7B3F1753A38D0032388A /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Playback Tutorial 4"; + productName = "Playback Tutorial 4"; + productReference = 63EA7B411753A38D0032388A /* Playback Tutorial 4 */; + productType = "com.apple.product-type.tool"; + }; + 63EA7B4F1753A3B60032388A /* Playback Tutorial 5 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 63EA7B561753A3B60032388A /* Build configuration list for PBXNativeTarget "Playback Tutorial 5" */; + buildPhases = ( + 63EA7B4C1753A3B60032388A /* Sources */, + 63EA7B4D1753A3B60032388A /* Frameworks */, + 63EA7B4E1753A3B60032388A /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Playback Tutorial 5"; + productName = "Playback Tutorial 5"; + productReference = 63EA7B501753A3B60032388A /* Playback Tutorial 5 */; + productType = "com.apple.product-type.tool"; + }; + 63EA7B5E1753A3F70032388A /* Playback Tutorial 6 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 63EA7B651753A3F70032388A /* Build configuration list for PBXNativeTarget "Playback Tutorial 6" */; + buildPhases = ( + 63EA7B5B1753A3F70032388A /* Sources */, + 63EA7B5C1753A3F70032388A /* Frameworks */, + 63EA7B5D1753A3F70032388A /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Playback Tutorial 6"; + productName = "Playback Tutorial 6"; + productReference = 63EA7B5F1753A3F70032388A /* Playback Tutorial 6 */; + productType = "com.apple.product-type.tool"; + }; + 63EA7B6D1753A41C0032388A /* Playback Tutorial 7 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 63EA7B741753A41C0032388A /* Build configuration list for PBXNativeTarget "Playback Tutorial 7" */; + buildPhases = ( + 63EA7B6A1753A41C0032388A /* Sources */, + 63EA7B6B1753A41C0032388A /* Frameworks */, + 63EA7B6C1753A41C0032388A /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Playback Tutorial 7"; + productName = "Playback Tutorial 7"; + productReference = 63EA7B6E1753A41C0032388A /* Playback Tutorial 7 */; + productType = "com.apple.product-type.tool"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -597,8 +965,16 @@ 63DE8811156DABDF006F2D3B /* Tutorial 7 */, 63DE881F156DABE6006F2D3B /* Tutorial 8 */, 63DE882D156DABEE006F2D3B /* Tutorial 9 */, + 63EA7B0417539E570032388A /* Tutorial 12 */, + 63EA7B131753A2700032388A /* Tutorial 13 */, + 63EA7B221753A2B90032388A /* Tutorial 15 */, 63118CC7156D32E20085CF03 /* Playback Tutorial 1 */, 63118CD8156D34BA0085CF03 /* Playback Tutorial 2 */, + 63EA7B311753A2FE0032388A /* Playback Tutorial 3 */, + 63EA7B401753A38D0032388A /* Playback Tutorial 4 */, + 63EA7B4F1753A3B60032388A /* Playback Tutorial 5 */, + 63EA7B5E1753A3F70032388A /* Playback Tutorial 6 */, + 63EA7B6D1753A41C0032388A /* Playback Tutorial 7 */, ); }; /* End PBXProject section */ @@ -692,6 +1068,70 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 63EA7B0117539E570032388A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63EA7B0F1753A1D50032388A /* basic-tutorial-12.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63EA7B101753A2700032388A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63EA7B1E1753A29C0032388A /* basic-tutorial-13.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63EA7B1F1753A2B90032388A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63EA7B2D1753A2DF0032388A /* basic-tutorial-15.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63EA7B2E1753A2FE0032388A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63EA7B3C1753A3740032388A /* playback-tutorial-3.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63EA7B3D1753A38D0032388A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63EA7B4B1753A3AA0032388A /* playback-tutorial-4.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63EA7B4C1753A3B60032388A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63EA7B5A1753A3D00032388A /* playback-tutorial-5.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63EA7B5B1753A3F70032388A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63EA7B691753A4100032388A /* playback-tutorial-6.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63EA7B6A1753A41C0032388A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63EA7B781753A4370032388A /* playback-tutorial-7.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin XCBuildConfiguration section */ @@ -922,6 +1362,266 @@ }; name = Release; }; + 63EA7B0C17539E570032388A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 63EA7B0D17539E570032388A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 63EA7B1B1753A2700032388A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 63EA7B1C1753A2700032388A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 63EA7B2A1753A2B90032388A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 63EA7B2B1753A2B90032388A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 63EA7B391753A2FE0032388A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 63EA7B3A1753A2FE0032388A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 63EA7B481753A38E0032388A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 63EA7B491753A38E0032388A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 63EA7B571753A3B60032388A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 63EA7B581753A3B60032388A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 63EA7B661753A3F70032388A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 63EA7B671753A3F70032388A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 63EA7B751753A41C0032388A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 63EA7B761753A41C0032388A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -1033,6 +1733,70 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 63EA7B0B17539E570032388A /* Build configuration list for PBXNativeTarget "Tutorial 12" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63EA7B0C17539E570032388A /* Debug */, + 63EA7B0D17539E570032388A /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; + 63EA7B1A1753A2700032388A /* Build configuration list for PBXNativeTarget "Tutorial 13" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63EA7B1B1753A2700032388A /* Debug */, + 63EA7B1C1753A2700032388A /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; + 63EA7B291753A2B90032388A /* Build configuration list for PBXNativeTarget "Tutorial 15" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63EA7B2A1753A2B90032388A /* Debug */, + 63EA7B2B1753A2B90032388A /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; + 63EA7B381753A2FE0032388A /* Build configuration list for PBXNativeTarget "Playback Tutorial 3" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63EA7B391753A2FE0032388A /* Debug */, + 63EA7B3A1753A2FE0032388A /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; + 63EA7B471753A38E0032388A /* Build configuration list for PBXNativeTarget "Playback Tutorial 4" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63EA7B481753A38E0032388A /* Debug */, + 63EA7B491753A38E0032388A /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; + 63EA7B561753A3B60032388A /* Build configuration list for PBXNativeTarget "Playback Tutorial 5" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63EA7B571753A3B60032388A /* Debug */, + 63EA7B581753A3B60032388A /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; + 63EA7B651753A3F70032388A /* Build configuration list for PBXNativeTarget "Playback Tutorial 6" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63EA7B661753A3F70032388A /* Debug */, + 63EA7B671753A3F70032388A /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; + 63EA7B741753A41C0032388A /* Build configuration list for PBXNativeTarget "Playback Tutorial 7" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63EA7B751753A41C0032388A /* Debug */, + 63EA7B761753A41C0032388A /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; /* End XCConfigurationList section */ }; rootObject = 63118C37156D29340085CF03 /* Project object */; diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/12-Tutorial 12.xcscheme b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/12-Tutorial 12.xcscheme new file mode 100644 index 0000000000..a891d23047 --- /dev/null +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/12-Tutorial 12.xcscheme @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/13-Tutorial 13.xcscheme b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/13-Tutorial 13.xcscheme new file mode 100644 index 0000000000..e6241545fe --- /dev/null +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/13-Tutorial 13.xcscheme @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/15-Tutorial 15.xcscheme b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/15-Tutorial 15.xcscheme new file mode 100644 index 0000000000..9f8f4f8a86 --- /dev/null +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/15-Tutorial 15.xcscheme @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/10-Playback Tutorial 1.xcscheme b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/21-Playback Tutorial 1.xcscheme similarity index 100% rename from gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/10-Playback Tutorial 1.xcscheme rename to gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/21-Playback Tutorial 1.xcscheme diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/12-Playback Tutorial 2.xcscheme b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/22-Playback Tutorial 2.xcscheme similarity index 100% rename from gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/12-Playback Tutorial 2.xcscheme rename to gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/22-Playback Tutorial 2.xcscheme diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/23-Playback Tutorial 3.xcscheme b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/23-Playback Tutorial 3.xcscheme new file mode 100644 index 0000000000..05fdae3cbd --- /dev/null +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/23-Playback Tutorial 3.xcscheme @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/24-Playback Tutorial 4.xcscheme b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/24-Playback Tutorial 4.xcscheme new file mode 100644 index 0000000000..08839c83be --- /dev/null +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/24-Playback Tutorial 4.xcscheme @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/25-Playback Tutorial 5.xcscheme b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/25-Playback Tutorial 5.xcscheme new file mode 100644 index 0000000000..ff41ea8a81 --- /dev/null +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/25-Playback Tutorial 5.xcscheme @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/26-Playback Tutorial 6.xcscheme b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/26-Playback Tutorial 6.xcscheme new file mode 100644 index 0000000000..ea06915870 --- /dev/null +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/26-Playback Tutorial 6.xcscheme @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/27-Playback Tutorial 7.xcscheme b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/27-Playback Tutorial 7.xcscheme new file mode 100644 index 0000000000..7499f153c5 --- /dev/null +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/xcshareddata/xcschemes/27-Playback Tutorial 7.xcscheme @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From d2285c554cb0c8277c99f109ada2e8708a27ce35 Mon Sep 17 00:00:00 2001 From: Andoni Morales Alastruey Date: Mon, 27 May 2013 17:18:56 +0200 Subject: [PATCH 308/979] Use the default SDK as base SDK as 10.6 might not be installed --- .../xcode/GStreamer Tutorials.xcodeproj/project.pbxproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj index e8dbdc214a..0fba3af0a3 100644 --- a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj @@ -1159,7 +1159,7 @@ HEADER_SEARCH_PATHS = "/Library/Frameworks/GStreamer.framework/Versions/0.10/Headers/**"; MACOSX_DEPLOYMENT_TARGET = 10.6; ONLY_ACTIVE_ARCH = YES; - SDKROOT = macosx10.6; + SDKROOT = ""; VALID_ARCHS = "x86_64 i386"; }; name = Debug; @@ -1181,7 +1181,7 @@ GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = "/Library/Frameworks/GStreamer.framework/Versions/0.10/Headers/**"; MACOSX_DEPLOYMENT_TARGET = 10.6; - SDKROOT = macosx10.6; + SDKROOT = ""; VALID_ARCHS = "x86_64 i386"; }; name = Release; From 24c1c43f25ad156f8d867f21481539b9a7256c3d Mon Sep 17 00:00:00 2001 From: Andoni Morales Alastruey Date: Tue, 28 May 2013 11:17:07 +0200 Subject: [PATCH 309/979] Fix some linker issues with the new tutorials --- .../project.pbxproj | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj index 0fba3af0a3..bc510415f3 100644 --- a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj @@ -15,6 +15,14 @@ 63118CD4156D33040085CF03 /* playback-tutorial-1.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118CD2156D32FE0085CF03 /* playback-tutorial-1.c */; }; 63118CE5156D35610085CF03 /* playback-tutorial-2.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118CE3156D35390085CF03 /* playback-tutorial-2.c */; }; 63118CF6156D3ACB0085CF03 /* basic-tutorial-6.c in Sources */ = {isa = PBXBuildFile; fileRef = 63118CF4156D3AB60085CF03 /* basic-tutorial-6.c */; }; + 63B8A64C1754AC1D00121B88 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; + 63B8A64D1754AC1E00121B88 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; + 63B8A64E1754AC1F00121B88 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; + 63B8A64F1754AC2000121B88 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; + 63B8A6501754AC2100121B88 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; + 63B8A6511754AC2100121B88 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; + 63B8A6521754AC2200121B88 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; + 63B8A6531754AC2200121B88 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; 63DE883E156DAC18006F2D3B /* basic-tutorial-7.c in Sources */ = {isa = PBXBuildFile; fileRef = 63DE8838156DAC09006F2D3B /* basic-tutorial-7.c */; }; 63DE883F156DAC1D006F2D3B /* basic-tutorial-8.c in Sources */ = {isa = PBXBuildFile; fileRef = 63DE883A156DAC0E006F2D3B /* basic-tutorial-8.c */; }; 63DE8840156DAC21006F2D3B /* basic-tutorial-9.c in Sources */ = {isa = PBXBuildFile; fileRef = 63DE883C156DAC15006F2D3B /* basic-tutorial-9.c */; }; @@ -348,6 +356,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63B8A64C1754AC1D00121B88 /* GStreamer.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -355,6 +364,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63B8A64D1754AC1E00121B88 /* GStreamer.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -362,6 +372,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63B8A64E1754AC1F00121B88 /* GStreamer.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -369,6 +380,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63B8A64F1754AC2000121B88 /* GStreamer.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -376,6 +388,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63B8A6501754AC2100121B88 /* GStreamer.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -383,6 +396,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63B8A6511754AC2100121B88 /* GStreamer.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -390,6 +404,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63B8A6521754AC2200121B88 /* GStreamer.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -397,6 +412,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63B8A6531754AC2200121B88 /* GStreamer.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1442,6 +1458,11 @@ CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES; + OTHER_LDFLAGS = ( + "-lclutter-osx-1.0", + "-lclutter-gst-1.0", + "-L/Library/Frameworks/GStreamer.framework/Libraries", + ); PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Debug; @@ -1458,6 +1479,11 @@ CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES; + OTHER_LDFLAGS = ( + "-lclutter-osx-1.0", + "-lclutter-gst-1.0", + "-L/Library/Frameworks/GStreamer.framework/Libraries", + ); PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Release; @@ -1740,6 +1766,7 @@ 63EA7B0D17539E570032388A /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; 63EA7B1A1753A2700032388A /* Build configuration list for PBXNativeTarget "Tutorial 13" */ = { isa = XCConfigurationList; @@ -1748,6 +1775,7 @@ 63EA7B1C1753A2700032388A /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; 63EA7B291753A2B90032388A /* Build configuration list for PBXNativeTarget "Tutorial 15" */ = { isa = XCConfigurationList; @@ -1756,6 +1784,7 @@ 63EA7B2B1753A2B90032388A /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; 63EA7B381753A2FE0032388A /* Build configuration list for PBXNativeTarget "Playback Tutorial 3" */ = { isa = XCConfigurationList; @@ -1764,6 +1793,7 @@ 63EA7B3A1753A2FE0032388A /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; 63EA7B471753A38E0032388A /* Build configuration list for PBXNativeTarget "Playback Tutorial 4" */ = { isa = XCConfigurationList; @@ -1772,6 +1802,7 @@ 63EA7B491753A38E0032388A /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; 63EA7B561753A3B60032388A /* Build configuration list for PBXNativeTarget "Playback Tutorial 5" */ = { isa = XCConfigurationList; @@ -1780,6 +1811,7 @@ 63EA7B581753A3B60032388A /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; 63EA7B651753A3F70032388A /* Build configuration list for PBXNativeTarget "Playback Tutorial 6" */ = { isa = XCConfigurationList; @@ -1788,6 +1820,7 @@ 63EA7B671753A3F70032388A /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; 63EA7B741753A41C0032388A /* Build configuration list for PBXNativeTarget "Playback Tutorial 7" */ = { isa = XCConfigurationList; @@ -1796,6 +1829,7 @@ 63EA7B761753A41C0032388A /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; From 395d7b92f9a8f7ecc991ffabd93525fd339f35b1 Mon Sep 17 00:00:00 2001 From: Andoni Morales Alastruey Date: Tue, 28 May 2013 11:17:07 +0200 Subject: [PATCH 310/979] Fix files paths --- .../xcode/GStreamer Tutorials.xcodeproj/project.pbxproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj index bc510415f3..86027b64d3 100644 --- a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj @@ -254,11 +254,11 @@ 63EA7B321753A2FE0032388A /* Playback Tutorial 3 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Playback Tutorial 3"; sourceTree = BUILT_PRODUCTS_DIR; }; 63EA7B3B1753A3740032388A /* playback-tutorial-3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-3.c"; path = "../playback-tutorial-3.c"; sourceTree = SOURCE_ROOT; }; 63EA7B411753A38D0032388A /* Playback Tutorial 4 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Playback Tutorial 4"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63EA7B4A1753A3AA0032388A /* playback-tutorial-4.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-4.c"; path = "../../playback-tutorial-4.c"; sourceTree = ""; }; + 63EA7B4A1753A3AA0032388A /* playback-tutorial-4.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-4.c"; path = "../playback-tutorial-4.c"; sourceTree = SOURCE_ROOT; }; 63EA7B501753A3B60032388A /* Playback Tutorial 5 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Playback Tutorial 5"; sourceTree = BUILT_PRODUCTS_DIR; }; 63EA7B591753A3D00032388A /* playback-tutorial-5.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-5.c"; path = "../playback-tutorial-5.c"; sourceTree = SOURCE_ROOT; }; 63EA7B5F1753A3F70032388A /* Playback Tutorial 6 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Playback Tutorial 6"; sourceTree = BUILT_PRODUCTS_DIR; }; - 63EA7B681753A4100032388A /* playback-tutorial-6.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-6.c"; path = "../../playback-tutorial-6.c"; sourceTree = ""; }; + 63EA7B681753A4100032388A /* playback-tutorial-6.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-6.c"; path = "../playback-tutorial-6.c"; sourceTree = SOURCE_ROOT; }; 63EA7B6E1753A41C0032388A /* Playback Tutorial 7 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Playback Tutorial 7"; sourceTree = BUILT_PRODUCTS_DIR; }; 63EA7B771753A4370032388A /* playback-tutorial-7.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playback-tutorial-7.c"; path = "../playback-tutorial-7.c"; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ From 8440e137d90ffe4df2cf615b38be4c358d137c33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 31 Oct 2013 10:01:26 +0100 Subject: [PATCH 311/979] Port basic tutorials to 1.0 --- gst-sdk/tutorials/basic-tutorial-1.c | 4 +- gst-sdk/tutorials/basic-tutorial-12.c | 4 +- gst-sdk/tutorials/basic-tutorial-13.c | 8 +-- gst-sdk/tutorials/basic-tutorial-15.c | 2 +- gst-sdk/tutorials/basic-tutorial-3.c | 2 +- gst-sdk/tutorials/basic-tutorial-4.c | 29 +++++---- gst-sdk/tutorials/basic-tutorial-5.c | 89 +++++++++++++-------------- gst-sdk/tutorials/basic-tutorial-6.c | 16 +++-- gst-sdk/tutorials/basic-tutorial-7.c | 4 +- gst-sdk/tutorials/basic-tutorial-8.c | 32 +++++----- 10 files changed, 95 insertions(+), 95 deletions(-) diff --git a/gst-sdk/tutorials/basic-tutorial-1.c b/gst-sdk/tutorials/basic-tutorial-1.c index a02e8f28e1..12667866dd 100644 --- a/gst-sdk/tutorials/basic-tutorial-1.c +++ b/gst-sdk/tutorials/basic-tutorial-1.c @@ -9,7 +9,7 @@ int main(int argc, char *argv[]) { gst_init (&argc, &argv); /* Build the pipeline */ - pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + pipeline = gst_parse_launch ("playbin uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); /* Start playing */ gst_element_set_state (pipeline, GST_STATE_PLAYING); @@ -25,4 +25,4 @@ int main(int argc, char *argv[]) { gst_element_set_state (pipeline, GST_STATE_NULL); gst_object_unref (pipeline); return 0; -} \ No newline at end of file +} diff --git a/gst-sdk/tutorials/basic-tutorial-12.c b/gst-sdk/tutorials/basic-tutorial-12.c index a1f0808be9..76aa9e3678 100644 --- a/gst-sdk/tutorials/basic-tutorial-12.c +++ b/gst-sdk/tutorials/basic-tutorial-12.c @@ -68,7 +68,7 @@ int main(int argc, char *argv[]) { memset (&data, 0, sizeof (data)); /* Build the pipeline */ - pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + pipeline = gst_parse_launch ("playbin uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); bus = gst_element_get_bus (pipeline); /* Start playing */ @@ -96,4 +96,4 @@ int main(int argc, char *argv[]) { gst_element_set_state (pipeline, GST_STATE_NULL); gst_object_unref (pipeline); return 0; -} \ No newline at end of file +} diff --git a/gst-sdk/tutorials/basic-tutorial-13.c b/gst-sdk/tutorials/basic-tutorial-13.c index 4f8dda3391..084e269026 100644 --- a/gst-sdk/tutorials/basic-tutorial-13.c +++ b/gst-sdk/tutorials/basic-tutorial-13.c @@ -1,4 +1,5 @@ #include +#include #include typedef struct _CustomData { @@ -13,11 +14,10 @@ typedef struct _CustomData { /* Send seek event to change rate */ static void send_seek_event (CustomData *data) { gint64 position; - GstFormat format = GST_FORMAT_TIME; GstEvent *seek_event; /* Obtain the current position, needed for the seek event */ - if (!gst_element_query_position (data->pipeline, &format, &position)) { + if (!gst_element_query_position (data->pipeline, GST_FORMAT_TIME, &position)) { g_printerr ("Unable to retrieve current position.\n"); return; } @@ -111,10 +111,10 @@ int main(int argc, char *argv[]) { " 'Q' to quit\n"); /* Build the pipeline */ - data.pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + data.pipeline = gst_parse_launch ("playbin uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); /* Add a keyboard watch so we get notified of keystrokes */ -#ifdef _WIN32 +#ifdef G_OS_WIN32 io_stdin = g_io_channel_win32_new_fd (fileno (stdin)); #else io_stdin = g_io_channel_unix_new (fileno (stdin)); diff --git a/gst-sdk/tutorials/basic-tutorial-15.c b/gst-sdk/tutorials/basic-tutorial-15.c index 1daf10b6c8..29e68cb5b9 100644 --- a/gst-sdk/tutorials/basic-tutorial-15.c +++ b/gst-sdk/tutorials/basic-tutorial-15.c @@ -57,7 +57,7 @@ int main(int argc, char *argv[]) { g_signal_connect (texture, "size-change", G_CALLBACK (size_change), NULL); /* Build the GStreamer pipeline */ - pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + pipeline = gst_parse_launch ("playbin uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); /* Instantiate the Clutter sink */ sink = gst_element_factory_make ("autocluttersink", NULL); diff --git a/gst-sdk/tutorials/basic-tutorial-3.c b/gst-sdk/tutorials/basic-tutorial-3.c index c4ac241f92..bbb1524322 100644 --- a/gst-sdk/tutorials/basic-tutorial-3.c +++ b/gst-sdk/tutorials/basic-tutorial-3.c @@ -123,7 +123,7 @@ static void pad_added_handler (GstElement *src, GstPad *new_pad, CustomData *dat } /* Check the new pad's type */ - new_pad_caps = gst_pad_get_caps (new_pad); + new_pad_caps = gst_pad_query_caps (new_pad, NULL); new_pad_struct = gst_caps_get_structure (new_pad_caps, 0); new_pad_type = gst_structure_get_name (new_pad_struct); if (!g_str_has_prefix (new_pad_type, "audio/x-raw")) { diff --git a/gst-sdk/tutorials/basic-tutorial-4.c b/gst-sdk/tutorials/basic-tutorial-4.c index 7f3c94f05c..2924602fd7 100644 --- a/gst-sdk/tutorials/basic-tutorial-4.c +++ b/gst-sdk/tutorials/basic-tutorial-4.c @@ -2,7 +2,7 @@ /* Structure to contain all our information, so we can pass it around */ typedef struct _CustomData { - GstElement *playbin2; /* Our one and only element */ + GstElement *playbin; /* Our one and only element */ gboolean playing; /* Are we in the PLAYING state? */ gboolean terminate; /* Should we terminate execution? */ gboolean seek_enabled; /* Is seeking enabled for this media? */ @@ -29,26 +29,26 @@ int main(int argc, char *argv[]) { gst_init (&argc, &argv); /* Create the elements */ - data.playbin2 = gst_element_factory_make ("playbin2", "playbin2"); + data.playbin = gst_element_factory_make ("playbin", "playbin"); - if (!data.playbin2) { + if (!data.playbin) { g_printerr ("Not all elements could be created.\n"); return -1; } /* Set the URI to play */ - g_object_set (data.playbin2, "uri", "http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + g_object_set (data.playbin, "uri", "http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); /* Start playing */ - ret = gst_element_set_state (data.playbin2, GST_STATE_PLAYING); + ret = gst_element_set_state (data.playbin, GST_STATE_PLAYING); if (ret == GST_STATE_CHANGE_FAILURE) { g_printerr ("Unable to set the pipeline to the playing state.\n"); - gst_object_unref (data.playbin2); + gst_object_unref (data.playbin); return -1; } /* Listen to the bus */ - bus = gst_element_get_bus (data.playbin2); + bus = gst_element_get_bus (data.playbin); do { msg = gst_bus_timed_pop_filtered (bus, 100 * GST_MSECOND, GST_MESSAGE_STATE_CHANGED | GST_MESSAGE_ERROR | GST_MESSAGE_EOS | GST_MESSAGE_DURATION); @@ -59,17 +59,16 @@ int main(int argc, char *argv[]) { } else { /* We got no message, this means the timeout expired */ if (data.playing) { - GstFormat fmt = GST_FORMAT_TIME; gint64 current = -1; /* Query the current position of the stream */ - if (!gst_element_query_position (data.playbin2, &fmt, ¤t)) { + if (!gst_element_query_position (data.playbin, GST_FORMAT_TIME, ¤t)) { g_printerr ("Could not query current position.\n"); } /* If we didn't know it yet, query the stream duration */ if (!GST_CLOCK_TIME_IS_VALID (data.duration)) { - if (!gst_element_query_duration (data.playbin2, &fmt, &data.duration)) { + if (!gst_element_query_duration (data.playbin, GST_FORMAT_TIME, &data.duration)) { g_printerr ("Could not query current duration.\n"); } } @@ -81,7 +80,7 @@ int main(int argc, char *argv[]) { /* If seeking is enabled, we have not done it yet, and the time is right, seek */ if (data.seek_enabled && !data.seek_done && current > 10 * GST_SECOND) { g_print ("\nReached 10s, performing seek...\n"); - gst_element_seek_simple (data.playbin2, GST_FORMAT_TIME, + gst_element_seek_simple (data.playbin, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, 30 * GST_SECOND); data.seek_done = TRUE; } @@ -91,8 +90,8 @@ int main(int argc, char *argv[]) { /* Free resources */ gst_object_unref (bus); - gst_element_set_state (data.playbin2, GST_STATE_NULL); - gst_object_unref (data.playbin2); + gst_element_set_state (data.playbin, GST_STATE_NULL); + gst_object_unref (data.playbin); return 0; } @@ -120,7 +119,7 @@ static void handle_message (CustomData *data, GstMessage *msg) { case GST_MESSAGE_STATE_CHANGED: { GstState old_state, new_state, pending_state; gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); - if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->playbin2)) { + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->playbin)) { g_print ("Pipeline state changed from %s to %s:\n", gst_element_state_get_name (old_state), gst_element_state_get_name (new_state)); @@ -132,7 +131,7 @@ static void handle_message (CustomData *data, GstMessage *msg) { GstQuery *query; gint64 start, end; query = gst_query_new_seeking (GST_FORMAT_TIME); - if (gst_element_query (data->playbin2, query)) { + if (gst_element_query (data->playbin, query)) { gst_query_parse_seeking (query, NULL, &data->seek_enabled, &start, &end); if (data->seek_enabled) { g_print ("Seeking is ENABLED from %" GST_TIME_FORMAT " to %" GST_TIME_FORMAT "\n", diff --git a/gst-sdk/tutorials/basic-tutorial-5.c b/gst-sdk/tutorials/basic-tutorial-5.c index c182d763f1..46eeb79850 100644 --- a/gst-sdk/tutorials/basic-tutorial-5.c +++ b/gst-sdk/tutorials/basic-tutorial-5.c @@ -2,7 +2,7 @@ #include #include -#include +#include #include #if defined (GDK_WINDOWING_X11) @@ -15,7 +15,7 @@ /* Structure to contain all our information, so we can pass it around */ typedef struct _CustomData { - GstElement *playbin2; /* Our one and only pipeline */ + GstElement *playbin; /* Our one and only pipeline */ GtkWidget *slider; /* Slider widget to keep track of current position */ GtkWidget *streams_list; /* Text widget to display info about the streams */ @@ -43,23 +43,23 @@ static void realize_cb (GtkWidget *widget, CustomData *data) { #elif defined (GDK_WINDOWING_X11) window_handle = GDK_WINDOW_XID (window); #endif - /* Pass it to playbin2, which implements XOverlay and will forward it to the video sink */ - gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->playbin2), window_handle); + /* Pass it to playbin, which implements XOverlay and will forward it to the video sink */ + gst_video_overlay_set_window_handle (GST_VIDEO_OVERLAY (data->playbin), window_handle); } /* This function is called when the PLAY button is clicked */ static void play_cb (GtkButton *button, CustomData *data) { - gst_element_set_state (data->playbin2, GST_STATE_PLAYING); + gst_element_set_state (data->playbin, GST_STATE_PLAYING); } /* This function is called when the PAUSE button is clicked */ static void pause_cb (GtkButton *button, CustomData *data) { - gst_element_set_state (data->playbin2, GST_STATE_PAUSED); + gst_element_set_state (data->playbin, GST_STATE_PAUSED); } /* This function is called when the STOP button is clicked */ static void stop_cb (GtkButton *button, CustomData *data) { - gst_element_set_state (data->playbin2, GST_STATE_READY); + gst_element_set_state (data->playbin, GST_STATE_READY); } /* This function is called when the main window is closed */ @@ -71,20 +71,16 @@ static void delete_event_cb (GtkWidget *widget, GdkEvent *event, CustomData *dat /* This function is called everytime the video window needs to be redrawn (due to damage/exposure, * rescaling, etc). GStreamer takes care of this in the PAUSED and PLAYING states, otherwise, * we simply draw a black rectangle to avoid garbage showing up. */ -static gboolean expose_cb (GtkWidget *widget, GdkEventExpose *event, CustomData *data) { +static gboolean draw_cb (GtkWidget *widget, cairo_t *cr, CustomData *data) { if (data->state < GST_STATE_PAUSED) { GtkAllocation allocation; - GdkWindow *window = gtk_widget_get_window (widget); - cairo_t *cr; /* Cairo is a 2D graphics library which we use here to clean the video window. * It is used by GStreamer for other reasons, so it will always be available to us. */ gtk_widget_get_allocation (widget, &allocation); - cr = gdk_cairo_create (window); cairo_set_source_rgb (cr, 0, 0, 0); cairo_rectangle (cr, 0, 0, allocation.width, allocation.height); cairo_fill (cr); - cairo_destroy (cr); } return FALSE; @@ -94,7 +90,7 @@ static gboolean expose_cb (GtkWidget *widget, GdkEventExpose *event, CustomData * new position here. */ static void slider_cb (GtkRange *range, CustomData *data) { gdouble value = gtk_range_get_value (GTK_RANGE (data->slider)); - gst_element_seek_simple (data->playbin2, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, + gst_element_seek_simple (data->playbin, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, (gint64)(value * GST_SECOND)); } @@ -113,7 +109,7 @@ static void create_ui (CustomData *data) { video_window = gtk_drawing_area_new (); gtk_widget_set_double_buffered (video_window, FALSE); g_signal_connect (video_window, "realize", G_CALLBACK (realize_cb), data); - g_signal_connect (video_window, "expose_event", G_CALLBACK (expose_cb), data); + g_signal_connect (video_window, "draw", G_CALLBACK (draw_cb), data); play_button = gtk_button_new_from_stock (GTK_STOCK_MEDIA_PLAY); g_signal_connect (G_OBJECT (play_button), "clicked", G_CALLBACK (play_cb), data); @@ -124,24 +120,24 @@ static void create_ui (CustomData *data) { stop_button = gtk_button_new_from_stock (GTK_STOCK_MEDIA_STOP); g_signal_connect (G_OBJECT (stop_button), "clicked", G_CALLBACK (stop_cb), data); - data->slider = gtk_hscale_new_with_range (0, 100, 1); + data->slider = gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, 0, 100, 1); gtk_scale_set_draw_value (GTK_SCALE (data->slider), 0); data->slider_update_signal_id = g_signal_connect (G_OBJECT (data->slider), "value-changed", G_CALLBACK (slider_cb), data); data->streams_list = gtk_text_view_new (); gtk_text_view_set_editable (GTK_TEXT_VIEW (data->streams_list), FALSE); - controls = gtk_hbox_new (FALSE, 0); + controls = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (controls), play_button, FALSE, FALSE, 2); gtk_box_pack_start (GTK_BOX (controls), pause_button, FALSE, FALSE, 2); gtk_box_pack_start (GTK_BOX (controls), stop_button, FALSE, FALSE, 2); gtk_box_pack_start (GTK_BOX (controls), data->slider, TRUE, TRUE, 2); - main_hbox = gtk_hbox_new (FALSE, 0); + main_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (main_hbox), video_window, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (main_hbox), data->streams_list, FALSE, FALSE, 2); - main_box = gtk_vbox_new (FALSE, 0); + main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX (main_box), main_hbox, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (main_box), controls, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER (main_window), main_box); @@ -152,7 +148,6 @@ static void create_ui (CustomData *data) { /* This function is called periodically to refresh the GUI */ static gboolean refresh_ui (CustomData *data) { - GstFormat fmt = GST_FORMAT_TIME; gint64 current = -1; /* We do not want to update anything unless we are in the PAUSED or PLAYING states */ @@ -161,7 +156,7 @@ static gboolean refresh_ui (CustomData *data) { /* If we didn't know it yet, query the stream duration */ if (!GST_CLOCK_TIME_IS_VALID (data->duration)) { - if (!gst_element_query_duration (data->playbin2, &fmt, &data->duration)) { + if (!gst_element_query_duration (data->playbin, GST_FORMAT_TIME, &data->duration)) { g_printerr ("Could not query current duration.\n"); } else { /* Set the range of the slider to the clip duration, in SECONDS */ @@ -169,7 +164,7 @@ static gboolean refresh_ui (CustomData *data) { } } - if (gst_element_query_position (data->playbin2, &fmt, ¤t)) { + if (gst_element_query_position (data->playbin, GST_FORMAT_TIME, ¤t)) { /* Block the "value-changed" signal, so the slider_cb function is not called * (which would trigger a seek the user has not requested) */ g_signal_handler_block (data->slider, data->slider_update_signal_id); @@ -182,12 +177,12 @@ static gboolean refresh_ui (CustomData *data) { } /* This function is called when new metadata is discovered in the stream */ -static void tags_cb (GstElement *playbin2, gint stream, CustomData *data) { +static void tags_cb (GstElement *playbin, gint stream, CustomData *data) { /* We are possibly in a GStreamer working thread, so we notify the main * thread of this event through a message in the bus */ - gst_element_post_message (playbin2, - gst_message_new_application (GST_OBJECT (playbin2), - gst_structure_new ("tags-changed", NULL))); + gst_element_post_message (playbin, + gst_message_new_application (GST_OBJECT (playbin), + gst_structure_new_empty ("tags-changed"))); } /* This function is called when an error message is posted on the bus */ @@ -203,14 +198,14 @@ static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { g_free (debug_info); /* Set the pipeline to READY (which stops playback) */ - gst_element_set_state (data->playbin2, GST_STATE_READY); + gst_element_set_state (data->playbin, GST_STATE_READY); } /* This function is called when an End-Of-Stream message is posted on the bus. * We just set the pipeline to READY (which stops playback) */ static void eos_cb (GstBus *bus, GstMessage *msg, CustomData *data) { g_print ("End-Of-Stream reached.\n"); - gst_element_set_state (data->playbin2, GST_STATE_READY); + gst_element_set_state (data->playbin, GST_STATE_READY); } /* This function is called when the pipeline changes states. We use it to @@ -218,7 +213,7 @@ static void eos_cb (GstBus *bus, GstMessage *msg, CustomData *data) { static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { GstState old_state, new_state, pending_state; gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); - if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->playbin2)) { + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->playbin)) { data->state = new_state; g_print ("State set to %s\n", gst_element_state_get_name (new_state)); if (old_state == GST_STATE_READY && new_state == GST_STATE_PAUSED) { @@ -242,14 +237,14 @@ static void analyze_streams (CustomData *data) { gtk_text_buffer_set_text (text, "", -1); /* Read some properties */ - g_object_get (data->playbin2, "n-video", &n_video, NULL); - g_object_get (data->playbin2, "n-audio", &n_audio, NULL); - g_object_get (data->playbin2, "n-text", &n_text, NULL); + g_object_get (data->playbin, "n-video", &n_video, NULL); + g_object_get (data->playbin, "n-audio", &n_audio, NULL); + g_object_get (data->playbin, "n-text", &n_text, NULL); for (i = 0; i < n_video; i++) { tags = NULL; /* Retrieve the stream's video tags */ - g_signal_emit_by_name (data->playbin2, "get-video-tags", i, &tags); + g_signal_emit_by_name (data->playbin, "get-video-tags", i, &tags); if (tags) { total_str = g_strdup_printf ("video stream %d:\n", i); gtk_text_buffer_insert_at_cursor (text, total_str, -1); @@ -266,7 +261,7 @@ static void analyze_streams (CustomData *data) { for (i = 0; i < n_audio; i++) { tags = NULL; /* Retrieve the stream's audio tags */ - g_signal_emit_by_name (data->playbin2, "get-audio-tags", i, &tags); + g_signal_emit_by_name (data->playbin, "get-audio-tags", i, &tags); if (tags) { total_str = g_strdup_printf ("\naudio stream %d:\n", i); gtk_text_buffer_insert_at_cursor (text, total_str, -1); @@ -295,7 +290,7 @@ static void analyze_streams (CustomData *data) { for (i = 0; i < n_text; i++) { tags = NULL; /* Retrieve the stream's subtitle tags */ - g_signal_emit_by_name (data->playbin2, "get-text-tags", i, &tags); + g_signal_emit_by_name (data->playbin, "get-text-tags", i, &tags); if (tags) { total_str = g_strdup_printf ("\nsubtitle stream %d:\n", i); gtk_text_buffer_insert_at_cursor (text, total_str, -1); @@ -314,7 +309,7 @@ static void analyze_streams (CustomData *data) { /* This function is called when an "application" message is posted on the bus. * Here we retrieve the message posted by the tags_cb callback */ static void application_cb (GstBus *bus, GstMessage *msg, CustomData *data) { - if (g_strcmp0 (gst_structure_get_name (msg->structure), "tags-changed") == 0) { + if (g_strcmp0 (gst_structure_get_name (gst_message_get_structure (msg)), "tags-changed") == 0) { /* If the message is the "tags-changed" (only one we are currently issuing), update * the stream info GUI */ analyze_streams (data); @@ -337,26 +332,26 @@ int main(int argc, char *argv[]) { data.duration = GST_CLOCK_TIME_NONE; /* Create the elements */ - data.playbin2 = gst_element_factory_make ("playbin2", "playbin2"); + data.playbin = gst_element_factory_make ("playbin", "playbin"); - if (!data.playbin2) { + if (!data.playbin) { g_printerr ("Not all elements could be created.\n"); return -1; } /* Set the URI to play */ - g_object_set (data.playbin2, "uri", "http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + g_object_set (data.playbin, "uri", "http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); - /* Connect to interesting signals in playbin2 */ - g_signal_connect (G_OBJECT (data.playbin2), "video-tags-changed", (GCallback) tags_cb, &data); - g_signal_connect (G_OBJECT (data.playbin2), "audio-tags-changed", (GCallback) tags_cb, &data); - g_signal_connect (G_OBJECT (data.playbin2), "text-tags-changed", (GCallback) tags_cb, &data); + /* Connect to interesting signals in playbin */ + g_signal_connect (G_OBJECT (data.playbin), "video-tags-changed", (GCallback) tags_cb, &data); + g_signal_connect (G_OBJECT (data.playbin), "audio-tags-changed", (GCallback) tags_cb, &data); + g_signal_connect (G_OBJECT (data.playbin), "text-tags-changed", (GCallback) tags_cb, &data); /* Create the GUI */ create_ui (&data); /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ - bus = gst_element_get_bus (data.playbin2); + bus = gst_element_get_bus (data.playbin); gst_bus_add_signal_watch (bus); g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, &data); g_signal_connect (G_OBJECT (bus), "message::eos", (GCallback)eos_cb, &data); @@ -365,10 +360,10 @@ int main(int argc, char *argv[]) { gst_object_unref (bus); /* Start playing */ - ret = gst_element_set_state (data.playbin2, GST_STATE_PLAYING); + ret = gst_element_set_state (data.playbin, GST_STATE_PLAYING); if (ret == GST_STATE_CHANGE_FAILURE) { g_printerr ("Unable to set the pipeline to the playing state.\n"); - gst_object_unref (data.playbin2); + gst_object_unref (data.playbin); return -1; } @@ -379,7 +374,7 @@ int main(int argc, char *argv[]) { gtk_main (); /* Free resources */ - gst_element_set_state (data.playbin2, GST_STATE_NULL); - gst_object_unref (data.playbin2); + gst_element_set_state (data.playbin, GST_STATE_NULL); + gst_object_unref (data.playbin); return 0; } diff --git a/gst-sdk/tutorials/basic-tutorial-6.c b/gst-sdk/tutorials/basic-tutorial-6.c index 0715a51943..47149389a6 100644 --- a/gst-sdk/tutorials/basic-tutorial-6.c +++ b/gst-sdk/tutorials/basic-tutorial-6.c @@ -37,14 +37,14 @@ static void print_pad_templates_information (GstElementFactory * factory) { GstStaticPadTemplate *padtemplate; g_print ("Pad Templates for %s:\n", gst_element_factory_get_longname (factory)); - if (!factory->numpadtemplates) { + if (!gst_element_factory_get_num_pad_templates (factory)) { g_print (" none\n"); return; } - pads = factory->staticpadtemplates; + pads = gst_element_factory_get_static_pad_templates (factory); while (pads) { - padtemplate = (GstStaticPadTemplate *) (pads->data); + padtemplate = pads->data; pads = g_list_next (pads); if (padtemplate->direction == GST_PAD_SRC) @@ -64,8 +64,12 @@ static void print_pad_templates_information (GstElementFactory * factory) { g_print (" Availability: UNKNOWN!!!\n"); if (padtemplate->static_caps.string) { + GstCaps *caps; + g_print (" Capabilities:\n"); - print_caps (gst_static_caps_get (&padtemplate->static_caps), " "); + caps = gst_static_caps_get (&padtemplate->static_caps); + print_caps (caps, " "); + gst_caps_unref (caps); } g_print ("\n"); @@ -85,9 +89,9 @@ static void print_pad_capabilities (GstElement *element, gchar *pad_name) { } /* Retrieve negotiated caps (or acceptable caps if negotiation is not finished yet) */ - caps = gst_pad_get_negotiated_caps (pad); + caps = gst_pad_get_current_caps (pad); if (!caps) - caps = gst_pad_get_caps_reffed (pad); + caps = gst_pad_query_caps (pad, NULL); /* Print and free */ g_print ("Caps for the %s pad:\n", pad_name); diff --git a/gst-sdk/tutorials/basic-tutorial-7.c b/gst-sdk/tutorials/basic-tutorial-7.c index 3201d647a7..73e34d9af7 100644 --- a/gst-sdk/tutorials/basic-tutorial-7.c +++ b/gst-sdk/tutorials/basic-tutorial-7.c @@ -21,7 +21,7 @@ int main(int argc, char *argv[]) { audio_sink = gst_element_factory_make ("autoaudiosink", "audio_sink"); video_queue = gst_element_factory_make ("queue", "video_queue"); visual = gst_element_factory_make ("wavescope", "visual"); - video_convert = gst_element_factory_make ("ffmpegcolorspace", "csp"); + video_convert = gst_element_factory_make ("videoconvert", "video_convert"); video_sink = gst_element_factory_make ("autovideosink", "video_sink"); /* Create the empty pipeline */ @@ -49,7 +49,7 @@ int main(int argc, char *argv[]) { } /* Manually link the Tee, which has "Request" pads */ - tee_src_pad_template = gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS (tee), "src%d"); + tee_src_pad_template = gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS (tee), "src_%u"); tee_audio_pad = gst_element_request_pad (tee, tee_src_pad_template, NULL, NULL); g_print ("Obtained request pad %s for audio branch.\n", gst_pad_get_name (tee_audio_pad)); queue_audio_pad = gst_element_get_static_pad (audio_queue, "sink"); diff --git a/gst-sdk/tutorials/basic-tutorial-8.c b/gst-sdk/tutorials/basic-tutorial-8.c index 8824e098cd..2ddeaa7ca1 100644 --- a/gst-sdk/tutorials/basic-tutorial-8.c +++ b/gst-sdk/tutorials/basic-tutorial-8.c @@ -1,9 +1,9 @@ #include +#include #include #define CHUNK_SIZE 1024 /* Amount of bytes we are sending in each buffer */ #define SAMPLE_RATE 44100 /* Samples per second we are sending */ -#define AUDIO_CAPS "audio/x-raw-int,channels=1,rate=%d,signed=(boolean)true,width=16,depth=16,endianness=BYTE_ORDER" /* Structure to contain all our information, so we can pass it to callbacks */ typedef struct _CustomData { @@ -27,6 +27,7 @@ static gboolean push_data (CustomData *data) { GstBuffer *buffer; GstFlowReturn ret; int i; + GstMapInfo map; gint16 *raw; gint num_samples = CHUNK_SIZE / 2; /* Because each sample is 16 bits */ gfloat freq; @@ -39,7 +40,8 @@ static gboolean push_data (CustomData *data) { GST_BUFFER_DURATION (buffer) = gst_util_uint64_scale (CHUNK_SIZE, GST_SECOND, SAMPLE_RATE); /* Generate some psychodelic waveforms */ - raw = (gint16 *)GST_BUFFER_DATA (buffer); + gst_buffer_map (buffer, &map, GST_MAP_WRITE); + raw = (gint16 *)map.data; data->c += data->d; data->d -= data->c / 1000; freq = 1100 + 1000 * data->d; @@ -48,6 +50,7 @@ static gboolean push_data (CustomData *data) { data->b -= data->a / freq; raw[i] = (gint16)(500 * data->a); } + gst_buffer_unmap (buffer, &map); data->num_samples += num_samples; /* Push the buffer into the appsrc */ @@ -84,15 +87,15 @@ static void stop_feed (GstElement *source, CustomData *data) { } /* The appsink has received a buffer */ -static void new_buffer (GstElement *sink, CustomData *data) { - GstBuffer *buffer; +static void new_sample (GstElement *sink, CustomData *data) { + GstSample *sample; /* Retrieve the buffer */ - g_signal_emit_by_name (sink, "pull-buffer", &buffer); - if (buffer) { + g_signal_emit_by_name (sink, "pull-sample", &sample); + if (sample) { /* The only thing we do in this example is print a * to indicate a received buffer */ g_print ("*"); - gst_buffer_unref (buffer); + gst_sample_unref (sample); } } @@ -116,7 +119,7 @@ int main(int argc, char *argv[]) { GstPadTemplate *tee_src_pad_template; GstPad *tee_audio_pad, *tee_video_pad, *tee_app_pad; GstPad *queue_audio_pad, *queue_video_pad, *queue_app_pad; - gchar *audio_caps_text; + GstAudioInfo info; GstCaps *audio_caps; GstBus *bus; @@ -138,7 +141,7 @@ int main(int argc, char *argv[]) { data.video_queue = gst_element_factory_make ("queue", "video_queue"); data.audio_convert2 = gst_element_factory_make ("audioconvert", "audio_convert2"); data.visual = gst_element_factory_make ("wavescope", "visual"); - data.video_convert = gst_element_factory_make ("ffmpegcolorspace", "csp"); + data.video_convert = gst_element_factory_make ("videoconvert", "video_convert"); data.video_sink = gst_element_factory_make ("autovideosink", "video_sink"); data.app_queue = gst_element_factory_make ("queue", "app_queue"); data.app_sink = gst_element_factory_make ("appsink", "app_sink"); @@ -157,17 +160,16 @@ int main(int argc, char *argv[]) { g_object_set (data.visual, "shader", 0, "style", 0, NULL); /* Configure appsrc */ - audio_caps_text = g_strdup_printf (AUDIO_CAPS, SAMPLE_RATE); - audio_caps = gst_caps_from_string (audio_caps_text); - g_object_set (data.app_source, "caps", audio_caps, NULL); + gst_audio_info_set_format (&info, GST_AUDIO_FORMAT_S16, SAMPLE_RATE, 1, NULL); + audio_caps = gst_audio_info_to_caps (&info); + g_object_set (data.app_source, "caps", audio_caps, "format", GST_FORMAT_TIME, NULL); g_signal_connect (data.app_source, "need-data", G_CALLBACK (start_feed), &data); g_signal_connect (data.app_source, "enough-data", G_CALLBACK (stop_feed), &data); /* Configure appsink */ g_object_set (data.app_sink, "emit-signals", TRUE, "caps", audio_caps, NULL); - g_signal_connect (data.app_sink, "new-buffer", G_CALLBACK (new_buffer), &data); + g_signal_connect (data.app_sink, "new-sample", G_CALLBACK (new_sample), &data); gst_caps_unref (audio_caps); - g_free (audio_caps_text); /* Link all elements that can be automatically linked because they have "Always" pads */ gst_bin_add_many (GST_BIN (data.pipeline), data.app_source, data.tee, data.audio_queue, data.audio_convert1, data.audio_resample, @@ -183,7 +185,7 @@ int main(int argc, char *argv[]) { } /* Manually link the Tee, which has "Request" pads */ - tee_src_pad_template = gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS (data.tee), "src%d"); + tee_src_pad_template = gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS (data.tee), "src_%u"); tee_audio_pad = gst_element_request_pad (data.tee, tee_src_pad_template, NULL, NULL); g_print ("Obtained request pad %s for audio branch.\n", gst_pad_get_name (tee_audio_pad)); queue_audio_pad = gst_element_get_static_pad (data.audio_queue, "sink"); From 5ad1810d8ba50456b535f7c29f7dc085594927bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 31 Oct 2013 10:13:31 +0100 Subject: [PATCH 312/979] Port playback tutorials to 1.0 --- gst-sdk/tutorials/playback-tutorial-1.c | 61 +++++++++++++------------ gst-sdk/tutorials/playback-tutorial-2.c | 55 +++++++++++----------- gst-sdk/tutorials/playback-tutorial-3.c | 22 +++++---- gst-sdk/tutorials/playback-tutorial-4.c | 18 ++++---- gst-sdk/tutorials/playback-tutorial-5.c | 7 +-- gst-sdk/tutorials/playback-tutorial-6.c | 4 +- gst-sdk/tutorials/playback-tutorial-7.c | 4 +- 7 files changed, 88 insertions(+), 83 deletions(-) diff --git a/gst-sdk/tutorials/playback-tutorial-1.c b/gst-sdk/tutorials/playback-tutorial-1.c index e457de68ee..ddd399fe88 100644 --- a/gst-sdk/tutorials/playback-tutorial-1.c +++ b/gst-sdk/tutorials/playback-tutorial-1.c @@ -1,8 +1,9 @@ +#include #include /* Structure to contain all our information, so we can pass it around */ typedef struct _CustomData { - GstElement *playbin2; /* Our one and only element */ + GstElement *playbin; /* Our one and only element */ gint n_video; /* Number of embedded video streams */ gint n_audio; /* Number of embedded audio streams */ @@ -15,7 +16,7 @@ typedef struct _CustomData { GMainLoop *main_loop; /* GLib's Main Loop */ } CustomData; -/* playbin2 flags */ +/* playbin flags */ typedef enum { GST_PLAY_FLAG_VIDEO = (1 << 0), /* We want video output */ GST_PLAY_FLAG_AUDIO = (1 << 1), /* We want audio output */ @@ -37,31 +38,31 @@ int main(int argc, char *argv[]) { gst_init (&argc, &argv); /* Create the elements */ - data.playbin2 = gst_element_factory_make ("playbin2", "playbin2"); + data.playbin = gst_element_factory_make ("playbin", "playbin"); - if (!data.playbin2) { + if (!data.playbin) { g_printerr ("Not all elements could be created.\n"); return -1; } /* Set the URI to play */ - g_object_set (data.playbin2, "uri", "http://docs.gstreamer.com/media/sintel_cropped_multilingual.webm", NULL); + g_object_set (data.playbin, "uri", "http://docs.gstreamer.com/media/sintel_cropped_multilingual.webm", NULL); /* Set flags to show Audio and Video but ignore Subtitles */ - g_object_get (data.playbin2, "flags", &flags, NULL); + g_object_get (data.playbin, "flags", &flags, NULL); flags |= GST_PLAY_FLAG_VIDEO | GST_PLAY_FLAG_AUDIO; flags &= ~GST_PLAY_FLAG_TEXT; - g_object_set (data.playbin2, "flags", flags, NULL); + g_object_set (data.playbin, "flags", flags, NULL); - /* Set connection speed. This will affect some internal decisions of playbin2 */ - g_object_set (data.playbin2, "connection-speed", 56, NULL); + /* Set connection speed. This will affect some internal decisions of playbin */ + g_object_set (data.playbin, "connection-speed", 56, NULL); /* Add a bus watch, so we get notified when a message arrives */ - bus = gst_element_get_bus (data.playbin2); + bus = gst_element_get_bus (data.playbin); gst_bus_add_watch (bus, (GstBusFunc)handle_message, &data); /* Add a keyboard watch so we get notified of keystrokes */ -#ifdef _WIN32 +#ifdef G_OS_WIN32 io_stdin = g_io_channel_win32_new_fd (fileno (stdin)); #else io_stdin = g_io_channel_unix_new (fileno (stdin)); @@ -69,10 +70,10 @@ int main(int argc, char *argv[]) { g_io_add_watch (io_stdin, G_IO_IN, (GIOFunc)handle_keyboard, &data); /* Start playing */ - ret = gst_element_set_state (data.playbin2, GST_STATE_PLAYING); + ret = gst_element_set_state (data.playbin, GST_STATE_PLAYING); if (ret == GST_STATE_CHANGE_FAILURE) { g_printerr ("Unable to set the pipeline to the playing state.\n"); - gst_object_unref (data.playbin2); + gst_object_unref (data.playbin); return -1; } @@ -84,8 +85,8 @@ int main(int argc, char *argv[]) { g_main_loop_unref (data.main_loop); g_io_channel_unref (io_stdin); gst_object_unref (bus); - gst_element_set_state (data.playbin2, GST_STATE_NULL); - gst_object_unref (data.playbin2); + gst_element_set_state (data.playbin, GST_STATE_NULL); + gst_object_unref (data.playbin); return 0; } @@ -97,9 +98,9 @@ static void analyze_streams (CustomData *data) { guint rate; /* Read some properties */ - g_object_get (data->playbin2, "n-video", &data->n_video, NULL); - g_object_get (data->playbin2, "n-audio", &data->n_audio, NULL); - g_object_get (data->playbin2, "n-text", &data->n_text, NULL); + g_object_get (data->playbin, "n-video", &data->n_video, NULL); + g_object_get (data->playbin, "n-audio", &data->n_audio, NULL); + g_object_get (data->playbin, "n-text", &data->n_text, NULL); g_print ("%d video stream(s), %d audio stream(s), %d text stream(s)\n", data->n_video, data->n_audio, data->n_text); @@ -108,13 +109,13 @@ static void analyze_streams (CustomData *data) { for (i = 0; i < data->n_video; i++) { tags = NULL; /* Retrieve the stream's video tags */ - g_signal_emit_by_name (data->playbin2, "get-video-tags", i, &tags); + g_signal_emit_by_name (data->playbin, "get-video-tags", i, &tags); if (tags) { g_print ("video stream %d:\n", i); gst_tag_list_get_string (tags, GST_TAG_VIDEO_CODEC, &str); g_print (" codec: %s\n", str ? str : "unknown"); g_free (str); - gst_tag_list_free (tags); + gst_tag_list_unref (tags); } } @@ -122,7 +123,7 @@ static void analyze_streams (CustomData *data) { for (i = 0; i < data->n_audio; i++) { tags = NULL; /* Retrieve the stream's audio tags */ - g_signal_emit_by_name (data->playbin2, "get-audio-tags", i, &tags); + g_signal_emit_by_name (data->playbin, "get-audio-tags", i, &tags); if (tags) { g_print ("audio stream %d:\n", i); if (gst_tag_list_get_string (tags, GST_TAG_AUDIO_CODEC, &str)) { @@ -136,7 +137,7 @@ static void analyze_streams (CustomData *data) { if (gst_tag_list_get_uint (tags, GST_TAG_BITRATE, &rate)) { g_print (" bitrate: %d\n", rate); } - gst_tag_list_free (tags); + gst_tag_list_unref (tags); } } @@ -144,20 +145,20 @@ static void analyze_streams (CustomData *data) { for (i = 0; i < data->n_text; i++) { tags = NULL; /* Retrieve the stream's subtitle tags */ - g_signal_emit_by_name (data->playbin2, "get-text-tags", i, &tags); + g_signal_emit_by_name (data->playbin, "get-text-tags", i, &tags); if (tags) { g_print ("subtitle stream %d:\n", i); if (gst_tag_list_get_string (tags, GST_TAG_LANGUAGE_CODE, &str)) { g_print (" language: %s\n", str); g_free (str); } - gst_tag_list_free (tags); + gst_tag_list_unref (tags); } } - g_object_get (data->playbin2, "current-video", &data->current_video, NULL); - g_object_get (data->playbin2, "current-audio", &data->current_audio, NULL); - g_object_get (data->playbin2, "current-text", &data->current_text, NULL); + g_object_get (data->playbin, "current-video", &data->current_video, NULL); + g_object_get (data->playbin, "current-audio", &data->current_audio, NULL); + g_object_get (data->playbin, "current-text", &data->current_text, NULL); g_print ("\n"); g_print ("Currently playing video stream %d, audio stream %d and text stream %d\n", @@ -186,7 +187,7 @@ static gboolean handle_message (GstBus *bus, GstMessage *msg, CustomData *data) case GST_MESSAGE_STATE_CHANGED: { GstState old_state, new_state, pending_state; gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); - if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->playbin2)) { + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->playbin)) { if (new_state == GST_STATE_PLAYING) { /* Once we are in the playing state, analyze the streams */ analyze_streams (data); @@ -206,13 +207,13 @@ static gboolean handle_keyboard (GIOChannel *source, GIOCondition cond, CustomDa gchar *str = NULL; if (g_io_channel_read_line (source, &str, NULL, NULL, NULL) == G_IO_STATUS_NORMAL) { - int index = atoi (str); + int index = g_ascii_strtoull (str, NULL, 0); if (index < 0 || index >= data->n_audio) { g_printerr ("Index out of bounds\n"); } else { /* If the input was a valid audio stream index, set the current audio stream */ g_print ("Setting current audio stream to %d\n", index); - g_object_set (data->playbin2, "current-audio", index, NULL); + g_object_set (data->playbin, "current-audio", index, NULL); } } g_free (str); diff --git a/gst-sdk/tutorials/playback-tutorial-2.c b/gst-sdk/tutorials/playback-tutorial-2.c index bd11fbb23d..19f55f7e89 100644 --- a/gst-sdk/tutorials/playback-tutorial-2.c +++ b/gst-sdk/tutorials/playback-tutorial-2.c @@ -1,8 +1,9 @@ +#include #include /* Structure to contain all our information, so we can pass it around */ typedef struct _CustomData { - GstElement *playbin2; /* Our one and only element */ + GstElement *playbin; /* Our one and only element */ gint n_video; /* Number of embedded video streams */ gint n_audio; /* Number of embedded audio streams */ @@ -15,7 +16,7 @@ typedef struct _CustomData { GMainLoop *main_loop; /* GLib's Main Loop */ } CustomData; -/* playbin2 flags */ +/* playbin flags */ typedef enum { GST_PLAY_FLAG_VIDEO = (1 << 0), /* We want video output */ GST_PLAY_FLAG_AUDIO = (1 << 1), /* We want audio output */ @@ -37,31 +38,31 @@ int main(int argc, char *argv[]) { gst_init (&argc, &argv); /* Create the elements */ - data.playbin2 = gst_element_factory_make ("playbin2", "playbin2"); + data.playbin = gst_element_factory_make ("playbin", "playbin"); - if (!data.playbin2) { + if (!data.playbin) { g_printerr ("Not all elements could be created.\n"); return -1; } /* Set the URI to play */ - g_object_set (data.playbin2, "uri", "http://docs.gstreamer.com/media/sintel_trailer-480p.ogv", NULL); + g_object_set (data.playbin, "uri", "http://docs.gstreamer.com/media/sintel_trailer-480p.ogv", NULL); /* Set the subtitle URI to play and some font description */ - g_object_set (data.playbin2, "suburi", "http://docs.gstreamer.com/media/sintel_trailer_gr.srt", NULL); - g_object_set (data.playbin2, "subtitle-font-desc", "Sans, 18", NULL); + g_object_set (data.playbin, "suburi", "http://docs.gstreamer.com/media/sintel_trailer_gr.srt", NULL); + g_object_set (data.playbin, "subtitle-font-desc", "Sans, 18", NULL); /* Set flags to show Audio, Video and Subtitles */ - g_object_get (data.playbin2, "flags", &flags, NULL); + g_object_get (data.playbin, "flags", &flags, NULL); flags |= GST_PLAY_FLAG_VIDEO | GST_PLAY_FLAG_AUDIO | GST_PLAY_FLAG_TEXT; - g_object_set (data.playbin2, "flags", flags, NULL); + g_object_set (data.playbin, "flags", flags, NULL); /* Add a bus watch, so we get notified when a message arrives */ - bus = gst_element_get_bus (data.playbin2); + bus = gst_element_get_bus (data.playbin); gst_bus_add_watch (bus, (GstBusFunc)handle_message, &data); /* Add a keyboard watch so we get notified of keystrokes */ -#ifdef _WIN32 +#ifdef G_OS_WIN32 io_stdin = g_io_channel_win32_new_fd (fileno (stdin)); #else io_stdin = g_io_channel_unix_new (fileno (stdin)); @@ -69,10 +70,10 @@ int main(int argc, char *argv[]) { g_io_add_watch (io_stdin, G_IO_IN, (GIOFunc)handle_keyboard, &data); /* Start playing */ - ret = gst_element_set_state (data.playbin2, GST_STATE_PLAYING); + ret = gst_element_set_state (data.playbin, GST_STATE_PLAYING); if (ret == GST_STATE_CHANGE_FAILURE) { g_printerr ("Unable to set the pipeline to the playing state.\n"); - gst_object_unref (data.playbin2); + gst_object_unref (data.playbin); return -1; } @@ -84,8 +85,8 @@ int main(int argc, char *argv[]) { g_main_loop_unref (data.main_loop); g_io_channel_unref (io_stdin); gst_object_unref (bus); - gst_element_set_state (data.playbin2, GST_STATE_NULL); - gst_object_unref (data.playbin2); + gst_element_set_state (data.playbin, GST_STATE_NULL); + gst_object_unref (data.playbin); return 0; } @@ -97,9 +98,9 @@ static void analyze_streams (CustomData *data) { guint rate; /* Read some properties */ - g_object_get (data->playbin2, "n-video", &data->n_video, NULL); - g_object_get (data->playbin2, "n-audio", &data->n_audio, NULL); - g_object_get (data->playbin2, "n-text", &data->n_text, NULL); + g_object_get (data->playbin, "n-video", &data->n_video, NULL); + g_object_get (data->playbin, "n-audio", &data->n_audio, NULL); + g_object_get (data->playbin, "n-text", &data->n_text, NULL); g_print ("%d video stream(s), %d audio stream(s), %d text stream(s)\n", data->n_video, data->n_audio, data->n_text); @@ -108,7 +109,7 @@ static void analyze_streams (CustomData *data) { for (i = 0; i < data->n_video; i++) { tags = NULL; /* Retrieve the stream's video tags */ - g_signal_emit_by_name (data->playbin2, "get-video-tags", i, &tags); + g_signal_emit_by_name (data->playbin, "get-video-tags", i, &tags); if (tags) { g_print ("video stream %d:\n", i); gst_tag_list_get_string (tags, GST_TAG_VIDEO_CODEC, &str); @@ -122,7 +123,7 @@ static void analyze_streams (CustomData *data) { for (i = 0; i < data->n_audio; i++) { tags = NULL; /* Retrieve the stream's audio tags */ - g_signal_emit_by_name (data->playbin2, "get-audio-tags", i, &tags); + g_signal_emit_by_name (data->playbin, "get-audio-tags", i, &tags); if (tags) { g_print ("audio stream %d:\n", i); if (gst_tag_list_get_string (tags, GST_TAG_AUDIO_CODEC, &str)) { @@ -145,7 +146,7 @@ static void analyze_streams (CustomData *data) { tags = NULL; /* Retrieve the stream's subtitle tags */ g_print ("subtitle stream %d:\n", i); - g_signal_emit_by_name (data->playbin2, "get-text-tags", i, &tags); + g_signal_emit_by_name (data->playbin, "get-text-tags", i, &tags); if (tags) { if (gst_tag_list_get_string (tags, GST_TAG_LANGUAGE_CODE, &str)) { g_print (" language: %s\n", str); @@ -157,9 +158,9 @@ static void analyze_streams (CustomData *data) { } } - g_object_get (data->playbin2, "current-video", &data->current_video, NULL); - g_object_get (data->playbin2, "current-audio", &data->current_audio, NULL); - g_object_get (data->playbin2, "current-text", &data->current_text, NULL); + g_object_get (data->playbin, "current-video", &data->current_video, NULL); + g_object_get (data->playbin, "current-audio", &data->current_audio, NULL); + g_object_get (data->playbin, "current-text", &data->current_text, NULL); g_print ("\n"); g_print ("Currently playing video stream %d, audio stream %d and subtitle stream %d\n", @@ -188,7 +189,7 @@ static gboolean handle_message (GstBus *bus, GstMessage *msg, CustomData *data) case GST_MESSAGE_STATE_CHANGED: { GstState old_state, new_state, pending_state; gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); - if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->playbin2)) { + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->playbin)) { if (new_state == GST_STATE_PLAYING) { /* Once we are in the playing state, analyze the streams */ analyze_streams (data); @@ -208,13 +209,13 @@ static gboolean handle_keyboard (GIOChannel *source, GIOCondition cond, CustomDa gchar *str = NULL; if (g_io_channel_read_line (source, &str, NULL, NULL, NULL) == G_IO_STATUS_NORMAL) { - int index = atoi (str); + int index = g_ascii_strtoull (str, NULL, 0); if (index < 0 || index >= data->n_text) { g_printerr ("Index out of bounds\n"); } else { /* If the input was a valid subtitle stream index, set the current subtitle stream */ g_print ("Setting current subtitle stream to %d\n", index); - g_object_set (data->playbin2, "current-text", index, NULL); + g_object_set (data->playbin, "current-text", index, NULL); } } g_free (str); diff --git a/gst-sdk/tutorials/playback-tutorial-3.c b/gst-sdk/tutorials/playback-tutorial-3.c index de6d40fdf5..4f8b8099e3 100644 --- a/gst-sdk/tutorials/playback-tutorial-3.c +++ b/gst-sdk/tutorials/playback-tutorial-3.c @@ -1,9 +1,9 @@ #include +#include #include #define CHUNK_SIZE 1024 /* Amount of bytes we are sending in each buffer */ #define SAMPLE_RATE 44100 /* Samples per second we are sending */ -#define AUDIO_CAPS "audio/x-raw-int,channels=1,rate=%d,signed=(boolean)true,width=16,depth=16,endianness=BYTE_ORDER" /* Structure to contain all our information, so we can pass it to callbacks */ typedef struct _CustomData { @@ -26,6 +26,7 @@ static gboolean push_data (CustomData *data) { GstBuffer *buffer; GstFlowReturn ret; int i; + GstMapInfo map; gint16 *raw; gint num_samples = CHUNK_SIZE / 2; /* Because each sample is 16 bits */ gfloat freq; @@ -38,7 +39,8 @@ static gboolean push_data (CustomData *data) { GST_BUFFER_DURATION (buffer) = gst_util_uint64_scale (CHUNK_SIZE, GST_SECOND, SAMPLE_RATE); /* Generate some psychodelic waveforms */ - raw = (gint16 *)GST_BUFFER_DATA (buffer); + gst_buffer_map (buffer, &map, GST_MAP_WRITE); + raw = (gint16 *)map.data; data->c += data->d; data->d -= data->c / 1000; freq = 1100 + 1000 * data->d; @@ -47,6 +49,7 @@ static gboolean push_data (CustomData *data) { data->b -= data->a / freq; raw[i] = (gint16)(500 * data->a); } + gst_buffer_unmap (buffer, &map); data->num_samples += num_samples; /* Push the buffer into the appsrc */ @@ -97,23 +100,22 @@ static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { g_main_loop_quit (data->main_loop); } -/* This function is called when playbin2 has created the appsrc element, so we have +/* This function is called when playbin has created the appsrc element, so we have * a chance to configure it. */ static void source_setup (GstElement *pipeline, GstElement *source, CustomData *data) { - gchar *audio_caps_text; + GstAudioInfo info; GstCaps *audio_caps; g_print ("Source has been created. Configuring.\n"); data->app_source = source; /* Configure appsrc */ - audio_caps_text = g_strdup_printf (AUDIO_CAPS, SAMPLE_RATE); - audio_caps = gst_caps_from_string (audio_caps_text); - g_object_set (source, "caps", audio_caps, NULL); + gst_audio_info_set_format (&info, GST_AUDIO_FORMAT_S16, SAMPLE_RATE, 1, NULL); + audio_caps = gst_audio_info_to_caps (&info); + g_object_set (source, "caps", audio_caps, "format", GST_FORMAT_TIME, NULL); g_signal_connect (source, "need-data", G_CALLBACK (start_feed), data); g_signal_connect (source, "enough-data", G_CALLBACK (stop_feed), data); gst_caps_unref (audio_caps); - g_free (audio_caps_text); } int main(int argc, char *argv[]) { @@ -128,8 +130,8 @@ int main(int argc, char *argv[]) { /* Initialize GStreamer */ gst_init (&argc, &argv); - /* Create the playbin2 element */ - data.pipeline = gst_parse_launch ("playbin2 uri=appsrc://", NULL); + /* Create the playbin element */ + data.pipeline = gst_parse_launch ("playbin uri=appsrc://", NULL); g_signal_connect (data.pipeline, "source-setup", G_CALLBACK (source_setup), &data); /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ diff --git a/gst-sdk/tutorials/playback-tutorial-4.c b/gst-sdk/tutorials/playback-tutorial-4.c index a5829d6eeb..403d17dcc4 100644 --- a/gst-sdk/tutorials/playback-tutorial-4.c +++ b/gst-sdk/tutorials/playback-tutorial-4.c @@ -1,9 +1,9 @@ #include #include -#define GRAPH_LENGTH 80 +#define GRAPH_LENGTH 78 -/* playbin2 flags */ +/* playbin flags */ typedef enum { GST_PLAY_FLAG_DOWNLOAD = (1 << 7) /* Enable progressive download (on selected formats) */ } GstPlayFlags; @@ -19,6 +19,7 @@ static void got_location (GstObject *gstobject, GstObject *prop_object, GParamSp gchar *location; g_object_get (G_OBJECT (prop_object), "temp-location", &location, NULL); g_print ("Temporary file: %s\n", location); + g_free (location); /* Uncomment this line to keep the temporary file after the program exits */ /* g_object_set (G_OBJECT (prop_object), "temp-remove", FALSE, NULL); */ } @@ -76,7 +77,6 @@ static gboolean refresh_ui (CustomData *data) { if (result) { gint n_ranges, range, i; gchar graph[GRAPH_LENGTH + 1]; - GstFormat format = GST_FORMAT_TIME; gint64 position = 0, duration = 0; memset (graph, ' ', GRAPH_LENGTH); @@ -86,14 +86,14 @@ static gboolean refresh_ui (CustomData *data) { for (range = 0; range < n_ranges; range++) { gint64 start, stop; gst_query_parse_nth_buffering_range (query, range, &start, &stop); - start = start * GRAPH_LENGTH / 100; - stop = stop * GRAPH_LENGTH / 100; + start = start * GRAPH_LENGTH / (stop - start); + stop = stop * GRAPH_LENGTH / (stop - start); for (i = (gint)start; i < stop; i++) graph [i] = '-'; } - if (gst_element_query_position (data->pipeline, &format, &position) && + if (gst_element_query_position (data->pipeline, GST_FORMAT_TIME, &position) && GST_CLOCK_TIME_IS_VALID (position) && - gst_element_query_duration (data->pipeline, &format, &duration) && + gst_element_query_duration (data->pipeline, GST_FORMAT_TIME, &duration) && GST_CLOCK_TIME_IS_VALID (duration)) { i = (gint)(GRAPH_LENGTH * (double)position / (double)(duration + 1)); graph [i] = data->buffering_level < 100 ? 'X' : '>'; @@ -127,7 +127,7 @@ int main(int argc, char *argv[]) { data.buffering_level = 100; /* Build the pipeline */ - pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + pipeline = gst_parse_launch ("playbin uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); bus = gst_element_get_bus (pipeline); /* Set the download flag */ @@ -169,4 +169,4 @@ int main(int argc, char *argv[]) { g_print ("\n"); return 0; -} \ No newline at end of file +} diff --git a/gst-sdk/tutorials/playback-tutorial-5.c b/gst-sdk/tutorials/playback-tutorial-5.c index a09f6ab089..acc534ed3f 100644 --- a/gst-sdk/tutorials/playback-tutorial-5.c +++ b/gst-sdk/tutorials/playback-tutorial-5.c @@ -1,6 +1,7 @@ #include +#include #include -#include +#include typedef struct _CustomData { GstElement *pipeline; @@ -113,10 +114,10 @@ int main(int argc, char *argv[]) { " 'Q' to quit\n"); /* Build the pipeline */ - data.pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + data.pipeline = gst_parse_launch ("playbin uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); /* Add a keyboard watch so we get notified of keystrokes */ -#ifdef _WIN32 +#ifdef G_OS_WIN32 io_stdin = g_io_channel_win32_new_fd (fileno (stdin)); #else io_stdin = g_io_channel_unix_new (fileno (stdin)); diff --git a/gst-sdk/tutorials/playback-tutorial-6.c b/gst-sdk/tutorials/playback-tutorial-6.c index 31a3a42862..cf33e1617a 100644 --- a/gst-sdk/tutorials/playback-tutorial-6.c +++ b/gst-sdk/tutorials/playback-tutorial-6.c @@ -30,7 +30,7 @@ int main(int argc, char *argv[]) { gst_init (&argc, &argv); /* Get a list of all visualization plugins */ - list = gst_registry_feature_filter (gst_registry_get_default (), filter_vis_features, FALSE, NULL); + list = gst_registry_feature_filter (gst_registry_get (), filter_vis_features, FALSE, NULL); /* Print their names */ g_print("Available visualization plugins:\n"); @@ -61,7 +61,7 @@ int main(int argc, char *argv[]) { return -1; /* Build the pipeline */ - pipeline = gst_parse_launch ("playbin2 uri=http://radio.hbr1.com:19800/ambient.ogg", NULL); + pipeline = gst_parse_launch ("playbin uri=http://radio.hbr1.com:19800/ambient.ogg", NULL); /* Set the visualization flag */ g_object_get (pipeline, "flags", &flags, NULL); diff --git a/gst-sdk/tutorials/playback-tutorial-7.c b/gst-sdk/tutorials/playback-tutorial-7.c index 2ccd06940e..edfa89ff05 100644 --- a/gst-sdk/tutorials/playback-tutorial-7.c +++ b/gst-sdk/tutorials/playback-tutorial-7.c @@ -10,7 +10,7 @@ int main(int argc, char *argv[]) { gst_init (&argc, &argv); /* Build the pipeline */ - pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + pipeline = gst_parse_launch ("playbin uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); /* Create the elements inside the sink bin */ equalizer = gst_element_factory_make ("equalizer-3bands", "equalizer"); @@ -52,4 +52,4 @@ int main(int argc, char *argv[]) { gst_element_set_state (pipeline, GST_STATE_NULL); gst_object_unref (pipeline); return 0; -} \ No newline at end of file +} From 68b9eb58fd86bc72b2a089f3f08156a7e006b081 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 31 Oct 2013 10:24:52 +0100 Subject: [PATCH 313/979] Port Android tutorials to 1.0 --- .../android-tutorial-1/jni/Android.mk | 12 +++--- .../android-tutorial-2/jni/Android.mk | 12 +++--- .../android-tutorial-3/jni/Android.mk | 14 +++---- .../android-tutorial-3/jni/tutorial-3.c | 15 ++++--- .../android-tutorial-4/jni/Android.mk | 14 +++---- .../android-tutorial-4/jni/tutorial-4.c | 39 ++++++++----------- .../android-tutorial-5/jni/Android.mk | 14 +++---- .../android-tutorial-5/jni/tutorial-5.c | 36 +++++++---------- 8 files changed, 71 insertions(+), 85 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk index aa52af0c5c..7b28a48a8a 100644 --- a/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-1/jni/Android.mk @@ -8,12 +8,12 @@ LOCAL_SHARED_LIBRARIES := gstreamer_android LOCAL_LDLIBS := -llog include $(BUILD_SHARED_LIBRARY) -ifndef GSTREAMER_SDK_ROOT -ifndef GSTREAMER_SDK_ROOT_ANDROID -$(error GSTREAMER_SDK_ROOT_ANDROID is not defined!) +ifndef GSTREAMER_ROOT +ifndef GSTREAMER_ROOT_ANDROID +$(error GSTREAMER_ROOT_ANDROID is not defined!) endif -GSTREAMER_SDK_ROOT := $(GSTREAMER_SDK_ROOT_ANDROID) +GSTREAMER_ROOT := $(GSTREAMER_ROOT_ANDROID) endif -GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ +GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_ROOT)/share/gst-android/ndk-build/ GSTREAMER_PLUGINS := coreelements -include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk +include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer-1.0.mk diff --git a/gst-sdk/tutorials/android-tutorial-2/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-2/jni/Android.mk index 3f40633938..f575f42e38 100644 --- a/gst-sdk/tutorials/android-tutorial-2/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-2/jni/Android.mk @@ -8,13 +8,13 @@ LOCAL_SHARED_LIBRARIES := gstreamer_android LOCAL_LDLIBS := -llog include $(BUILD_SHARED_LIBRARY) -ifndef GSTREAMER_SDK_ROOT -ifndef GSTREAMER_SDK_ROOT_ANDROID -$(error GSTREAMER_SDK_ROOT_ANDROID is not defined!) +ifndef GSTREAMER_ROOT +ifndef GSTREAMER_ROOT_ANDROID +$(error GSTREAMER_ROOT_ANDROID is not defined!) endif -GSTREAMER_SDK_ROOT := $(GSTREAMER_SDK_ROOT_ANDROID) +GSTREAMER_ROOT := $(GSTREAMER_ROOT_ANDROID) endif -GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ +GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_ROOT)/share/gst-android/ndk-build/ include $(GSTREAMER_NDK_BUILD_PATH)/plugins.mk GSTREAMER_PLUGINS := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_SYS) -include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk +include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer-1.0.mk diff --git a/gst-sdk/tutorials/android-tutorial-3/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-3/jni/Android.mk index 2e6abc292b..549e1e39fb 100644 --- a/gst-sdk/tutorials/android-tutorial-3/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-3/jni/Android.mk @@ -8,14 +8,14 @@ LOCAL_SHARED_LIBRARIES := gstreamer_android LOCAL_LDLIBS := -llog -landroid include $(BUILD_SHARED_LIBRARY) -ifndef GSTREAMER_SDK_ROOT -ifndef GSTREAMER_SDK_ROOT_ANDROID -$(error GSTREAMER_SDK_ROOT_ANDROID is not defined!) +ifndef GSTREAMER_ROOT +ifndef GSTREAMER_ROOT_ANDROID +$(error GSTREAMER_ROOT_ANDROID is not defined!) endif -GSTREAMER_SDK_ROOT := $(GSTREAMER_SDK_ROOT_ANDROID) +GSTREAMER_ROOT := $(GSTREAMER_ROOT_ANDROID) endif -GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ +GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_ROOT)/share/gst-android/ndk-build/ include $(GSTREAMER_NDK_BUILD_PATH)/plugins.mk GSTREAMER_PLUGINS := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_SYS) $(GSTREAMER_PLUGINS_EFFECTS) -GSTREAMER_EXTRA_DEPS := gstreamer-interfaces-0.10 gstreamer-video-0.10 -include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk +GSTREAMER_EXTRA_DEPS := gstreamer-video-1.0 +include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer-1.0.mk diff --git a/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c b/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c index f9552bcce1..10b89b74da 100644 --- a/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c +++ b/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c @@ -4,7 +4,6 @@ #include #include #include -#include #include #include @@ -130,7 +129,7 @@ static void check_initialization_complete (CustomData *data) { GST_DEBUG ("Initialization complete, notifying application. native_window:%p main_loop:%p", data->native_window, data->main_loop); /* The main loop is running and we received a native window, inform the sink about it */ - gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->video_sink), (guintptr)data->native_window); + gst_video_overlay_set_window_handle (GST_VIDEO_OVERLAY (data->video_sink), (guintptr)data->native_window); (*env)->CallVoidMethod (env, data->app, on_gstreamer_initialized_method_id); if ((*env)->ExceptionCheck (env)) { @@ -156,7 +155,7 @@ static void *app_function (void *userdata) { g_main_context_push_thread_default(data->context); /* Build pipeline */ - data->pipeline = gst_parse_launch("videotestsrc ! warptv ! ffmpegcolorspace ! autovideosink", &error); + data->pipeline = gst_parse_launch("videotestsrc ! warptv ! videoconvert ! autovideosink", &error); if (error) { gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message); g_clear_error (&error); @@ -168,7 +167,7 @@ static void *app_function (void *userdata) { /* Set the pipeline to READY, so it can already accept a window handle, if we have one */ gst_element_set_state(data->pipeline, GST_STATE_READY); - data->video_sink = gst_bin_get_by_interface(GST_BIN(data->pipeline), GST_TYPE_X_OVERLAY); + data->video_sink = gst_bin_get_by_interface(GST_BIN(data->pipeline), GST_TYPE_VIDEO_OVERLAY); if (!data->video_sink) { GST_ERROR ("Could not retrieve video sink"); return NULL; @@ -276,10 +275,10 @@ static void gst_native_surface_init (JNIEnv *env, jobject thiz, jobject surface) if (data->native_window) { ANativeWindow_release (data->native_window); if (data->native_window == new_native_window) { - GST_DEBUG ("New native window is the same as the previous one", data->native_window); + GST_DEBUG ("New native window is the same as the previous one %p", data->native_window); if (data->video_sink) { - gst_x_overlay_expose(GST_X_OVERLAY (data->video_sink)); - gst_x_overlay_expose(GST_X_OVERLAY (data->video_sink)); + gst_video_overlay_expose(GST_VIDEO_OVERLAY (data->video_sink)); + gst_video_overlay_expose(GST_VIDEO_OVERLAY (data->video_sink)); } return; } else { @@ -298,7 +297,7 @@ static void gst_native_surface_finalize (JNIEnv *env, jobject thiz) { GST_DEBUG ("Releasing Native Window %p", data->native_window); if (data->video_sink) { - gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->video_sink), (guintptr)NULL); + gst_video_overlay_set_window_handle (GST_VIDEO_OVERLAY (data->video_sink), (guintptr)NULL); gst_element_set_state (data->pipeline, GST_STATE_READY); } diff --git a/gst-sdk/tutorials/android-tutorial-4/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-4/jni/Android.mk index c298e74bd7..b4028cbb21 100644 --- a/gst-sdk/tutorials/android-tutorial-4/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-4/jni/Android.mk @@ -8,14 +8,14 @@ LOCAL_SHARED_LIBRARIES := gstreamer_android LOCAL_LDLIBS := -llog -landroid include $(BUILD_SHARED_LIBRARY) -ifndef GSTREAMER_SDK_ROOT -ifndef GSTREAMER_SDK_ROOT_ANDROID -$(error GSTREAMER_SDK_ROOT_ANDROID is not defined!) +ifndef GSTREAMER_ROOT +ifndef GSTREAMER_ROOT_ANDROID +$(error GSTREAMER_ROOT_ANDROID is not defined!) endif -GSTREAMER_SDK_ROOT := $(GSTREAMER_SDK_ROOT_ANDROID) +GSTREAMER_ROOT := $(GSTREAMER_ROOT_ANDROID) endif -GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ +GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_ROOT)/share/gst-android/ndk-build/ include $(GSTREAMER_NDK_BUILD_PATH)/plugins.mk GSTREAMER_PLUGINS := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_PLAYBACK) $(GSTREAMER_PLUGINS_CODECS) $(GSTREAMER_PLUGINS_NET) $(GSTREAMER_PLUGINS_SYS) -GSTREAMER_EXTRA_DEPS := gstreamer-interfaces-0.10 gstreamer-video-0.10 -include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk +GSTREAMER_EXTRA_DEPS := gstreamer-video-1.0 +include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer-1.0.mk diff --git a/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c b/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c index a20f654c3d..648030a511 100644 --- a/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c +++ b/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c @@ -4,7 +4,6 @@ #include #include #include -#include #include #include @@ -43,7 +42,7 @@ typedef struct _CustomData { gboolean is_live; /* Live streams do not use buffering */ } CustomData; -/* playbin2 flags */ +/* playbin flags */ typedef enum { GST_PLAY_FLAG_TEXT = (1 << 2) /* We want subtitle output */ } GstPlayFlags; @@ -124,7 +123,6 @@ static void set_current_ui_position (gint position, gint duration, CustomData *d /* If we have pipeline and it is running, query the current position and clip duration and inform * the application */ static gboolean refresh_ui (CustomData *data) { - GstFormat fmt = GST_FORMAT_TIME; gint64 current = -1; gint64 position; @@ -134,12 +132,12 @@ static gboolean refresh_ui (CustomData *data) { /* If we didn't know it yet, query the stream duration */ if (!GST_CLOCK_TIME_IS_VALID (data->duration)) { - if (!gst_element_query_duration (data->pipeline, &fmt, &data->duration)) { + if (!gst_element_query_duration (data->pipeline, GST_FORMAT_TIME, &data->duration)) { GST_WARNING ("Could not query current duration"); } } - if (gst_element_query_position (data->pipeline, &fmt, &position)) { + if (gst_element_query_position (data->pipeline, GST_FORMAT_TIME, &position)) { /* Java expects these values in milliseconds, and GStreamer provides nanoseconds */ set_current_ui_position (position / GST_MSECOND, data->duration / GST_MSECOND, data); } @@ -254,23 +252,18 @@ static void check_media_size (CustomData *data) { GstElement *video_sink; GstPad *video_sink_pad; GstCaps *caps; - GstVideoFormat fmt; - int width; - int height; + GstVideoInfo info; /* Retrieve the Caps at the entrance of the video sink */ g_object_get (data->pipeline, "video-sink", &video_sink, NULL); video_sink_pad = gst_element_get_static_pad (video_sink, "sink"); - caps = gst_pad_get_negotiated_caps (video_sink_pad); + caps = gst_pad_get_current_caps (video_sink_pad); - if (gst_video_format_parse_caps(caps, &fmt, &width, &height)) { - int par_n, par_d; - if (gst_video_parse_caps_pixel_aspect_ratio (caps, &par_n, &par_d)) { - width = width * par_n / par_d; - } - GST_DEBUG ("Media size is %dx%d, notifying application", width, height); + if (gst_video_info_from_caps (&info, caps)) { + info.width = info.width * info.par_n / info.par_d; + GST_DEBUG ("Media size is %dx%d, notifying application", info.width, info.height); - (*env)->CallVoidMethod (env, data->app, on_media_size_changed_method_id, (jint)width, (jint)height); + (*env)->CallVoidMethod (env, data->app, on_media_size_changed_method_id, (jint)info.width, (jint)info.height); if ((*env)->ExceptionCheck (env)) { GST_ERROR ("Failed to call Java method"); (*env)->ExceptionClear (env); @@ -313,7 +306,7 @@ static void check_initialization_complete (CustomData *data) { GST_DEBUG ("Initialization complete, notifying application. native_window:%p main_loop:%p", data->native_window, data->main_loop); /* The main loop is running and we received a native window, inform the sink about it */ - gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->pipeline), (guintptr)data->native_window); + gst_video_overlay_set_window_handle (GST_VIDEO_OVERLAY (data->pipeline), (guintptr)data->native_window); (*env)->CallVoidMethod (env, data->app, on_gstreamer_initialized_method_id); if ((*env)->ExceptionCheck (env)) { @@ -341,7 +334,7 @@ static void *app_function (void *userdata) { g_main_context_push_thread_default(data->context); /* Build pipeline */ - data->pipeline = gst_parse_launch("playbin2", &error); + data->pipeline = gst_parse_launch("playbin", &error); if (error) { gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message); g_clear_error (&error); @@ -432,7 +425,7 @@ static void gst_native_finalize (JNIEnv* env, jobject thiz) { GST_DEBUG ("Done finalizing"); } -/* Set playbin2's URI */ +/* Set playbin's URI */ void gst_native_set_uri (JNIEnv* env, jobject thiz, jstring uri) { CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); if (!data || !data->pipeline) return; @@ -505,10 +498,10 @@ static void gst_native_surface_init (JNIEnv *env, jobject thiz, jobject surface) if (data->native_window) { ANativeWindow_release (data->native_window); if (data->native_window == new_native_window) { - GST_DEBUG ("New native window is the same as the previous one", data->native_window); + GST_DEBUG ("New native window is the same as the previous one %p", data->native_window); if (data->pipeline) { - gst_x_overlay_expose(GST_X_OVERLAY (data->pipeline)); - gst_x_overlay_expose(GST_X_OVERLAY (data->pipeline)); + gst_video_overlay_expose(GST_VIDEO_OVERLAY (data->pipeline)); + gst_video_overlay_expose(GST_VIDEO_OVERLAY (data->pipeline)); } return; } else { @@ -527,7 +520,7 @@ static void gst_native_surface_finalize (JNIEnv *env, jobject thiz) { GST_DEBUG ("Releasing Native Window %p", data->native_window); if (data->pipeline) { - gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->pipeline), (guintptr)NULL); + gst_video_overlay_set_window_handle (GST_VIDEO_OVERLAY (data->pipeline), (guintptr)NULL); gst_element_set_state (data->pipeline, GST_STATE_READY); } diff --git a/gst-sdk/tutorials/android-tutorial-5/jni/Android.mk b/gst-sdk/tutorials/android-tutorial-5/jni/Android.mk index a82f505423..1211734090 100755 --- a/gst-sdk/tutorials/android-tutorial-5/jni/Android.mk +++ b/gst-sdk/tutorials/android-tutorial-5/jni/Android.mk @@ -8,15 +8,15 @@ LOCAL_SHARED_LIBRARIES := gstreamer_android LOCAL_LDLIBS := -llog -landroid include $(BUILD_SHARED_LIBRARY) -ifndef GSTREAMER_SDK_ROOT -ifndef GSTREAMER_SDK_ROOT_ANDROID -$(error GSTREAMER_SDK_ROOT_ANDROID is not defined!) +ifndef GSTREAMER_ROOT +ifndef GSTREAMER_ROOT_ANDROID +$(error GSTREAMER_ROOT_ANDROID is not defined!) endif -GSTREAMER_SDK_ROOT := $(GSTREAMER_SDK_ROOT_ANDROID) +GSTREAMER_ROOT := $(GSTREAMER_ROOT_ANDROID) endif -GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ +GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_ROOT)/share/gst-android/ndk-build/ include $(GSTREAMER_NDK_BUILD_PATH)/plugins.mk GSTREAMER_PLUGINS := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_PLAYBACK) $(GSTREAMER_PLUGINS_CODECS) $(GSTREAMER_PLUGINS_NET) $(GSTREAMER_PLUGINS_SYS) G_IO_MODULES := gnutls -GSTREAMER_EXTRA_DEPS := gstreamer-interfaces-0.10 gstreamer-video-0.10 -include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk +GSTREAMER_EXTRA_DEPS := gstreamer-video-1.0 +include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer-1.0.mk diff --git a/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c b/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c index 33d4bc0893..78dea649c3 100755 --- a/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c +++ b/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c @@ -4,8 +4,8 @@ #include #include #include -#include #include +#include #include GST_DEBUG_CATEGORY_STATIC (debug_category); @@ -124,7 +124,6 @@ static void set_current_ui_position (gint position, gint duration, CustomData *d /* If we have pipeline and it is running, query the current position and clip duration and inform * the application */ static gboolean refresh_ui (CustomData *data) { - GstFormat fmt = GST_FORMAT_TIME; gint64 current = -1; gint64 position; @@ -134,13 +133,13 @@ static gboolean refresh_ui (CustomData *data) { /* If we didn't know it yet, query the stream duration */ if (!GST_CLOCK_TIME_IS_VALID (data->duration)) { - if (!gst_element_query_duration (data->pipeline, &fmt, &data->duration)) { + if (!gst_element_query_duration (data->pipeline, GST_FORMAT_TIME, &data->duration)) { GST_WARNING ("Could not query current duration (normal for still pictures)"); data->duration = 0; } } - if (!gst_element_query_position (data->pipeline, &fmt, &position)) { + if (!gst_element_query_position (data->pipeline, GST_FORMAT_TIME, &position)) { GST_WARNING ("Could not query current position (normal for still pictures)"); position = 0; } @@ -258,23 +257,18 @@ static void check_media_size (CustomData *data) { GstElement *video_sink; GstPad *video_sink_pad; GstCaps *caps; - GstVideoFormat fmt; - int width; - int height; + GstVideoInfo info; /* Retrieve the Caps at the entrance of the video sink */ g_object_get (data->pipeline, "video-sink", &video_sink, NULL); video_sink_pad = gst_element_get_static_pad (video_sink, "sink"); - caps = gst_pad_get_negotiated_caps (video_sink_pad); + caps = gst_pad_get_current_caps (video_sink_pad); - if (gst_video_format_parse_caps(caps, &fmt, &width, &height)) { - int par_n, par_d; - if (gst_video_parse_caps_pixel_aspect_ratio (caps, &par_n, &par_d)) { - width = width * par_n / par_d; - } - GST_DEBUG ("Media size is %dx%d, notifying application", width, height); + if (gst_video_info_from_caps(&info, caps)) { + info.width = info.width * info.par_n / info.par_d; + GST_DEBUG ("Media size is %dx%d, notifying application", info.width, info.height); - (*env)->CallVoidMethod (env, data->app, on_media_size_changed_method_id, (jint)width, (jint)height); + (*env)->CallVoidMethod (env, data->app, on_media_size_changed_method_id, (jint)info.width, (jint)info.height); if ((*env)->ExceptionCheck (env)) { GST_ERROR ("Failed to call Java method"); (*env)->ExceptionClear (env); @@ -317,7 +311,7 @@ static void check_initialization_complete (CustomData *data) { GST_DEBUG ("Initialization complete, notifying application. native_window:%p main_loop:%p", data->native_window, data->main_loop); /* The main loop is running and we received a native window, inform the sink about it */ - gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->pipeline), (guintptr)data->native_window); + gst_video_overlay_set_window_handle (GST_VIDEO_OVERLAY (data->pipeline), (guintptr)data->native_window); (*env)->CallVoidMethod (env, data->app, on_gstreamer_initialized_method_id); if ((*env)->ExceptionCheck (env)) { @@ -345,7 +339,7 @@ static void *app_function (void *userdata) { g_main_context_push_thread_default(data->context); /* Build pipeline */ - data->pipeline = gst_parse_launch("playbin2", &error); + data->pipeline = gst_parse_launch("playbin", &error); if (error) { gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message); g_clear_error (&error); @@ -509,10 +503,10 @@ static void gst_native_surface_init (JNIEnv *env, jobject thiz, jobject surface) if (data->native_window) { ANativeWindow_release (data->native_window); if (data->native_window == new_native_window) { - GST_DEBUG ("New native window is the same as the previous one", data->native_window); + GST_DEBUG ("New native window is the same as the previous one %p", data->native_window); if (data->pipeline) { - gst_x_overlay_expose(GST_X_OVERLAY (data->pipeline)); - gst_x_overlay_expose(GST_X_OVERLAY (data->pipeline)); + gst_video_overlay_expose(GST_VIDEO_OVERLAY (data->pipeline)); + gst_video_overlay_expose(GST_VIDEO_OVERLAY (data->pipeline)); } return; } else { @@ -531,7 +525,7 @@ static void gst_native_surface_finalize (JNIEnv *env, jobject thiz) { GST_DEBUG ("Releasing Native Window %p", data->native_window); if (data->pipeline) { - gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->pipeline), (guintptr)NULL); + gst_video_overlay_set_window_handle (GST_VIDEO_OVERLAY (data->pipeline), (guintptr)NULL); gst_element_set_state (data->pipeline, GST_STATE_READY); } From 5bfa5bda9cd779df0f277061620c7800c329553a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Tue, 29 Oct 2013 20:40:11 +0000 Subject: [PATCH 314/979] Port iOS tutorials to 1.0 --- .../project.pbxproj | 24 +- .../xcode iOS/Tutorial 1/gst_ios_init.h | 4 +- .../xcode iOS/Tutorial 1/gst_ios_init.m | 320 +++++++----------- .../xcode iOS/Tutorial 2/gst_ios_init.h | 6 +- .../xcode iOS/Tutorial 2/gst_ios_init.m | 320 +++++++----------- .../xcode iOS/Tutorial 3/GStreamerBackend.m | 8 +- .../xcode iOS/Tutorial 3/gst_ios_init.h | 6 +- .../xcode iOS/Tutorial 3/gst_ios_init.m | 320 +++++++----------- .../xcode iOS/Tutorial 4/GStreamerBackend.m | 29 +- .../xcode iOS/Tutorial 4/gst_ios_init.h | 12 +- .../xcode iOS/Tutorial 4/gst_ios_init.m | 320 +++++++----------- .../xcode iOS/Tutorial 5/GStreamerBackend.m | 29 +- .../xcode iOS/Tutorial 5/gst_ios_init.h | 12 +- .../xcode iOS/Tutorial 5/gst_ios_init.m | 320 +++++++----------- 14 files changed, 643 insertions(+), 1087 deletions(-) diff --git a/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj b/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj index 6b5e5754c0..b05f38cc0f 100644 --- a/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj +++ b/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj @@ -549,7 +549,6 @@ children = ( C6EB85AA173BEF2600C3953D /* EaglUIVIew.h */, C6EB85AB173BEF2600C3953D /* EaglUIVIew.m */, - C6EB85B4173BEFF800C3953D /* Images */, C6EB85AE173BEF2600C3953D /* GStreamerBackend.h */, C6EB85AF173BEF2600C3953D /* GStreamerBackend.m */, C6EB858F173BEE5E00C3953D /* AppDelegate.h */, @@ -558,6 +557,7 @@ C6EB859B173BEE5E00C3953D /* MainStoryboard_iPad.storyboard */, C6EB859E173BEE5E00C3953D /* VideoViewController.h */, C6EB859F173BEE5E00C3953D /* VideoViewController.m */, + C6EB85B4173BEFF800C3953D /* Images */, C6EB8587173BEE5E00C3953D /* Supporting Files */, ); path = "Tutorial 4"; @@ -687,7 +687,7 @@ C67B40BF172EBDF1008359CC /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0460; + LastUpgradeCheck = 0500; }; buildConfigurationList = C67B40C2172EBDF1008359CC /* Build configuration list for PBXProject "GStreamer iOS Tutorials" */; compatibilityVersion = "Xcode 3.2"; @@ -1001,12 +1001,22 @@ C67B40C3172EBDF1008359CC /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + IPHONEOS_DEPLOYMENT_TARGET = 6.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = 2; + VALID_ARCHS = "armv7 i386"; }; name = Debug; }; C67B40C4172EBDF1008359CC /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + IPHONEOS_DEPLOYMENT_TARGET = 6.1; + ONLY_ACTIVE_ARCH = NO; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = 2; + VALID_ARCHS = "armv7 i386"; }; name = Release; }; @@ -1014,7 +1024,6 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = armv7; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_OBJC_ARC = YES; @@ -1083,7 +1092,6 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = armv7; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_OBJC_ARC = YES; @@ -1146,7 +1154,6 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = armv7; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_OBJC_ARC = YES; @@ -1215,7 +1222,6 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = armv7; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_OBJC_ARC = YES; @@ -1278,7 +1284,6 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = armv7; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_OBJC_ARC = YES; @@ -1347,7 +1352,6 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = armv7; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_OBJC_ARC = YES; @@ -1410,7 +1414,6 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = armv7; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_OBJC_ARC = YES; @@ -1479,7 +1482,6 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = armv7; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_OBJC_ARC = YES; @@ -1542,7 +1544,6 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = armv7; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_OBJC_ARC = YES; @@ -1611,7 +1612,6 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = armv7; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_OBJC_ARC = YES; diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 1/gst_ios_init.h b/gst-sdk/tutorials/xcode iOS/Tutorial 1/gst_ios_init.h index b47fa662b4..4d8b22ad93 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 1/gst_ios_init.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 1/gst_ios_init.h @@ -13,7 +13,6 @@ G_BEGIN_DECLS //#define GST_IOS_PLUGINS_CAPTURE //#define GST_IOS_PLUGINS_CODECS_RESTRICTED //#define GST_IOS_PLUGINS_ENCODING -//#define GST_IOS_PLUGINS_DVD //#define GST_IOS_PLUGINS_CODECS_GPL //#define GST_IOS_PLUGINS_NET_RESTRICTED //#define GST_IOS_PLUGINS_SYS @@ -23,6 +22,9 @@ G_BEGIN_DECLS //#define GST_IOS_PLUGINS_CODECS //#define GST_IOS_PLUGINS_NET + +//#define GST_IOS_GIO_MODULE_GNUTLS + void gst_ios_init (); G_END_DECLS diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 1/gst_ios_init.m b/gst-sdk/tutorials/xcode iOS/Tutorial 1/gst_ios_init.m index 53ddaebe29..7ae9b4447b 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 1/gst_ios_init.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 1/gst_ios_init.m @@ -3,9 +3,6 @@ #if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(coreelements); #endif -#if defined(GST_IOS_PLUGIN_COREINDEXERS) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(coreindexers); -#endif #if defined(GST_IOS_PLUGIN_ADDER) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(adder); #endif @@ -24,12 +21,6 @@ GST_PLUGIN_STATIC_DECLARE(audioresample); #if defined(GST_IOS_PLUGIN_AUDIOTESTSRC) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(audiotestsrc); #endif -#if defined(GST_IOS_PLUGIN_FFMPEGCOLORSPACE) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(ffmpegcolorspace); -#endif -#if defined(GST_IOS_PLUGIN_GDP) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(gdp); -#endif #if defined(GST_IOS_PLUGIN_GIO) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(gio); #endif @@ -39,6 +30,9 @@ GST_PLUGIN_STATIC_DECLARE(pango); #if defined(GST_IOS_PLUGIN_TYPEFINDFUNCTIONS) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(typefindfunctions); #endif +#if defined(GST_IOS_PLUGIN_VIDEOCONVERT) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(videoconvert); +#endif #if defined(GST_IOS_PLUGIN_VIDEORATE) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(videorate); #endif @@ -57,8 +51,8 @@ GST_PLUGIN_STATIC_DECLARE(autodetect); #if defined(GST_IOS_PLUGIN_VIDEOFILTER) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(videofilter); #endif -#if defined(GST_IOS_PLUGIN_CAMERABIN2) || defined(GST_IOS_PLUGINS_CAPTURE) -GST_PLUGIN_STATIC_DECLARE(camerabin2); +#if defined(GST_IOS_PLUGIN_CAMERABIN) || defined(GST_IOS_PLUGINS_CAPTURE) +GST_PLUGIN_STATIC_DECLARE(camerabin); #endif #if defined(GST_IOS_PLUGIN_ASFMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(asfmux); @@ -69,8 +63,8 @@ GST_PLUGIN_STATIC_DECLARE(dtsdec); #if defined(GST_IOS_PLUGIN_FAAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(faad); #endif -#if defined(GST_IOS_PLUGIN_MPEGDEMUX2) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) -GST_PLUGIN_STATIC_DECLARE(mpegdemux2); +#if defined(GST_IOS_PLUGIN_MPEGPSDEMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mpegpsdemux); #endif #if defined(GST_IOS_PLUGIN_MPEGPSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(mpegpsmux); @@ -93,14 +87,20 @@ GST_PLUGIN_STATIC_DECLARE(amrwbdec); #if defined(GST_IOS_PLUGIN_ASF) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(asf); #endif +#if defined(GST_IOS_PLUGIN_DVDSUB) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(dvdsub); +#endif +#if defined(GST_IOS_PLUGIN_DVDLPCMDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(dvdlpcmdec); +#endif #if defined(GST_IOS_PLUGIN_MAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(mad); #endif #if defined(GST_IOS_PLUGIN_MPEG2DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(mpeg2dec); #endif -#if defined(GST_IOS_PLUGIN_MPEGAUDIOPARSE) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) -GST_PLUGIN_STATIC_DECLARE(mpegaudioparse); +#if defined(GST_IOS_PLUGIN_XINGMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(xingmux); #endif #if defined(GST_IOS_PLUGIN_REALMEDIA) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(realmedia); @@ -108,21 +108,12 @@ GST_PLUGIN_STATIC_DECLARE(realmedia); #if defined(GST_IOS_PLUGIN_X264) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(x264); #endif -#if defined(GST_IOS_PLUGIN_FFMPEG) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) -GST_PLUGIN_STATIC_DECLARE(ffmpeg); +#if defined(GST_IOS_PLUGIN_LIBAV) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(libav); #endif #if defined(GST_IOS_PLUGIN_ENCODING) || defined(GST_IOS_PLUGINS_ENCODING) GST_PLUGIN_STATIC_DECLARE(encoding); #endif -#if defined(GST_IOS_PLUGIN_INDVD) || defined(GST_IOS_PLUGINS_DVD) -GST_PLUGIN_STATIC_DECLARE(indvd); -#endif -#if defined(GST_IOS_PLUGIN_DVDLPCMDEC) || defined(GST_IOS_PLUGINS_DVD) -GST_PLUGIN_STATIC_DECLARE(dvdlpcmdec); -#endif -#if defined(GST_IOS_PLUGIN_DVDREAD) || defined(GST_IOS_PLUGINS_DVD) -GST_PLUGIN_STATIC_DECLARE(dvdread); -#endif #if defined(GST_IOS_PLUGIN_ASSRENDER) || defined(GST_IOS_PLUGINS_CODECS_GPL) GST_PLUGIN_STATIC_DECLARE(assrender); #endif @@ -132,14 +123,11 @@ GST_PLUGIN_STATIC_DECLARE(mms); #if defined(GST_IOS_PLUGIN_OSXAUDIO) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_DECLARE(osxaudio); #endif -#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) -GST_PLUGIN_STATIC_DECLARE(eglglessink); -#endif #if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_DECLARE(applemedia); #endif -#if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS) -GST_PLUGIN_STATIC_DECLARE(applemedia_nonpublic); +#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) +GST_PLUGIN_STATIC_DECLARE(eglglessink); #endif #if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_DECLARE(libvisual); @@ -153,9 +141,6 @@ GST_PLUGIN_STATIC_DECLARE(goom2k1); #if defined(GST_IOS_PLUGIN_AUDIOVISUALIZERS) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_DECLARE(audiovisualizers); #endif -#if defined(GST_IOS_PLUGIN_URIDECODEBIN) || defined(GST_IOS_PLUGINS_PLAYBACK) -GST_PLUGIN_STATIC_DECLARE(uridecodebin); -#endif #if defined(GST_IOS_PLUGIN_PLAYBACK) || defined(GST_IOS_PLUGINS_PLAYBACK) GST_PLUGIN_STATIC_DECLARE(playback); #endif @@ -180,6 +165,9 @@ GST_PLUGIN_STATIC_DECLARE(debug); #if defined(GST_IOS_PLUGIN_DEINTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(deinterlace); #endif +#if defined(GST_IOS_PLUGIN_DTMF) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(dtmf); +#endif #if defined(GST_IOS_PLUGIN_EFFECTV) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(effectv); #endif @@ -222,6 +210,15 @@ GST_PLUGIN_STATIC_DECLARE(videocrop); #if defined(GST_IOS_PLUGIN_VIDEOMIXER) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(videomixer); #endif +#if defined(GST_IOS_PLUGIN_ACCURIP) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(accurip); +#endif +#if defined(GST_IOS_PLUGIN_AIFF) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(aiff); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOFXBAD) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(audiofxbad); +#endif #if defined(GST_IOS_PLUGIN_AUTOCONVERT) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(autoconvert); #endif @@ -231,8 +228,8 @@ GST_PLUGIN_STATIC_DECLARE(bayer); #if defined(GST_IOS_PLUGIN_COLOREFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(coloreffects); #endif -#if defined(GST_IOS_PLUGIN_FACEOVERLAY) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(faceoverlay); +#if defined(GST_IOS_PLUGIN_DEBUGUTILSBAD) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(debugutilsbad); #endif #if defined(GST_IOS_PLUGIN_FIELDANALYSIS) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(fieldanalysis); @@ -252,8 +249,8 @@ GST_PLUGIN_STATIC_DECLARE(geometrictransform); #if defined(GST_IOS_PLUGIN_INTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(interlace); #endif -#if defined(GST_IOS_PLUGIN_JP2KDECIMATOR) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(jp2kdecimator); +#if defined(GST_IOS_PLUGIN_IVTC) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(ivtc); #endif #if defined(GST_IOS_PLUGIN_LIVEADDER) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(liveadder); @@ -264,33 +261,18 @@ GST_PLUGIN_STATIC_DECLARE(rawparse); #if defined(GST_IOS_PLUGIN_REMOVESILENCE) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(removesilence); #endif -#if defined(GST_IOS_PLUGIN_SCALETEMPO) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(scaletempo); -#endif #if defined(GST_IOS_PLUGIN_SEGMENTCLIP) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(segmentclip); #endif #if defined(GST_IOS_PLUGIN_SMOOTH) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(smooth); #endif -#if defined(GST_IOS_PLUGIN_SOUNDTOUCH) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(soundtouch); -#endif #if defined(GST_IOS_PLUGIN_SPEED) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(speed); #endif -#if defined(GST_IOS_PLUGIN_STEREO) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(stereo); -#endif #if defined(GST_IOS_PLUGIN_VIDEOFILTERSBAD) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(videofiltersbad); #endif -#if defined(GST_IOS_PLUGIN_VIDEOMEASURE) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(videomeasure); -#endif -#if defined(GST_IOS_PLUGIN_VIDEOSIGNAL) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(videosignal); -#endif #if defined(GST_IOS_PLUGIN_SUBPARSE) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(subparse); #endif @@ -309,9 +291,6 @@ GST_PLUGIN_STATIC_DECLARE(ivorbisdec); #if defined(GST_IOS_PLUGIN_ALAW) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(alaw); #endif -#if defined(GST_IOS_PLUGIN_ANNODEX) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(annodex); -#endif #if defined(GST_IOS_PLUGIN_APETAG) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(apetag); #endif @@ -366,6 +345,9 @@ GST_PLUGIN_STATIC_DECLARE(speex); #if defined(GST_IOS_PLUGIN_TAGLIB) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(taglib); #endif +#if defined(GST_IOS_PLUGIN_VPX) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(vpx); +#endif #if defined(GST_IOS_PLUGIN_WAVENC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(wavenc); #endif @@ -384,17 +366,8 @@ GST_PLUGIN_STATIC_DECLARE(adpcmdec); #if defined(GST_IOS_PLUGIN_ADPCMENC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(adpcmenc); #endif -#if defined(GST_IOS_PLUGIN_AIFF) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(aiff); -#endif -#if defined(GST_IOS_PLUGIN_CDXAPARSE) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(cdxaparse); -#endif -#if defined(GST_IOS_PLUGIN_DCCP) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(dccp); -#endif -#if defined(GST_IOS_PLUGIN_DTMF) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(dtmf); +#if defined(GST_IOS_PLUGIN_DASHDEMUX) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(dashdemux); #endif #if defined(GST_IOS_PLUGIN_DVBSUBOVERLAY) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(dvbsuboverlay); @@ -405,33 +378,18 @@ GST_PLUGIN_STATIC_DECLARE(dvdspu); #if defined(GST_IOS_PLUGIN_FRAGMENTED) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(fragmented); #endif -#if defined(GST_IOS_PLUGIN_HDVPARSE) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(hdvparse); -#endif #if defined(GST_IOS_PLUGIN_ID3TAG) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(id3tag); #endif -#if defined(GST_IOS_PLUGIN_IVFPARSE) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(ivfparse); -#endif -#if defined(GST_IOS_PLUGIN_JP2K) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(jp2k); -#endif #if defined(GST_IOS_PLUGIN_KATE) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(kate); #endif -#if defined(GST_IOS_PLUGIN_MVE) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(mve); +#if defined(GST_IOS_PLUGIN_MIDI) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(midi); #endif #if defined(GST_IOS_PLUGIN_MXF) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(mxf); #endif -#if defined(GST_IOS_PLUGIN_NSF) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(nsf); -#endif -#if defined(GST_IOS_PLUGIN_NUVDEMUX) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(nuvdemux); -#endif #if defined(GST_IOS_PLUGIN_OPUS) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(opus); #endif @@ -441,30 +399,30 @@ GST_PLUGIN_STATIC_DECLARE(pcapparse); #if defined(GST_IOS_PLUGIN_PNM) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(pnm); #endif +#if defined(GST_IOS_PLUGIN_RFBSRC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(rfbsrc); +#endif #if defined(GST_IOS_PLUGIN_SCHRO) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(schro); #endif #if defined(GST_IOS_PLUGIN_GSTSIREN) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(gstsiren); #endif +#if defined(GST_IOS_PLUGIN_SMOOTHSTREAMING) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(smoothstreaming); +#endif #if defined(GST_IOS_PLUGIN_SUBENC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(subenc); #endif -#if defined(GST_IOS_PLUGIN_TTA) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(tta); -#endif #if defined(GST_IOS_PLUGIN_VIDEOPARSERSBAD) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(videoparsersbad); #endif -#if defined(GST_IOS_PLUGIN_VMNC) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(vmnc); -#endif -#if defined(GST_IOS_PLUGIN_VP8) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(vp8); -#endif #if defined(GST_IOS_PLUGIN_Y4MDEC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(y4mdec); #endif +#if defined(GST_IOS_PLUGIN_JPEGFORMAT) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(jpegformat); +#endif #if defined(GST_IOS_PLUGIN_TCP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(tcp); #endif @@ -474,8 +432,8 @@ GST_PLUGIN_STATIC_DECLARE(rtsp); #if defined(GST_IOS_PLUGIN_RTP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(rtp); #endif -#if defined(GST_IOS_PLUGIN_GSTRTPMANAGER) || defined(GST_IOS_PLUGINS_NET) -GST_PLUGIN_STATIC_DECLARE(gstrtpmanager); +#if defined(GST_IOS_PLUGIN_RTPMANAGER) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(rtpmanager); #endif #if defined(GST_IOS_PLUGIN_SOUP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(soup); @@ -486,16 +444,15 @@ GST_PLUGIN_STATIC_DECLARE(udp); #if defined(GST_IOS_PLUGIN_DATAURISRC) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(dataurisrc); #endif -#if defined(GST_IOS_PLUGIN_RTPMUX) || defined(GST_IOS_PLUGINS_NET) -GST_PLUGIN_STATIC_DECLARE(rtpmux); -#endif -#if defined(GST_IOS_PLUGIN_RTPVP8) || defined(GST_IOS_PLUGINS_NET) -GST_PLUGIN_STATIC_DECLARE(rtpvp8); -#endif #if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(sdp); #endif +#if defined(GST_IOS_GIO_MODULE_GNUTLS) + #include + G_IO_MODULE_DECLARE(gnutls); +#endif + void gst_ios_init (void) { @@ -515,7 +472,7 @@ gst_ios_init (void) g_setenv ("TEMP", tmp_dir, TRUE); g_setenv ("TMPDIR", tmp_dir, TRUE); g_setenv ("XDG_RUNTIME_DIR", resources_dir, TRUE); - g_setenv ("XDG_CACHE_DIR", cache_dir, TRUE); + g_setenv ("XDG_CACHE_HOME", cache_dir, TRUE); g_setenv ("HOME", docs_dir, TRUE); g_setenv ("XDG_DATA_DIRS", resources_dir, TRUE); @@ -529,9 +486,6 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(coreelements); #endif -#if defined(GST_IOS_PLUGIN_COREINDEXERS) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(coreindexers); -#endif #if defined(GST_IOS_PLUGIN_ADDER) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(adder); #endif @@ -550,12 +504,6 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_AUDIOTESTSRC) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(audiotestsrc); #endif -#if defined(GST_IOS_PLUGIN_FFMPEGCOLORSPACE) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(ffmpegcolorspace); -#endif -#if defined(GST_IOS_PLUGIN_GDP) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(gdp); -#endif #if defined(GST_IOS_PLUGIN_GIO) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(gio); #endif @@ -565,6 +513,9 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_TYPEFINDFUNCTIONS) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(typefindfunctions); #endif +#if defined(GST_IOS_PLUGIN_VIDEOCONVERT) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(videoconvert); +#endif #if defined(GST_IOS_PLUGIN_VIDEORATE) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(videorate); #endif @@ -583,8 +534,8 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_VIDEOFILTER) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(videofilter); #endif -#if defined(GST_IOS_PLUGIN_CAMERABIN2) || defined(GST_IOS_PLUGINS_CAPTURE) - GST_PLUGIN_STATIC_REGISTER(camerabin2); +#if defined(GST_IOS_PLUGIN_CAMERABIN) || defined(GST_IOS_PLUGINS_CAPTURE) + GST_PLUGIN_STATIC_REGISTER(camerabin); #endif #if defined(GST_IOS_PLUGIN_ASFMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(asfmux); @@ -595,8 +546,8 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_FAAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(faad); #endif -#if defined(GST_IOS_PLUGIN_MPEGDEMUX2) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) - GST_PLUGIN_STATIC_REGISTER(mpegdemux2); +#if defined(GST_IOS_PLUGIN_MPEGPSDEMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mpegpsdemux); #endif #if defined(GST_IOS_PLUGIN_MPEGPSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(mpegpsmux); @@ -619,14 +570,20 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_ASF) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(asf); #endif +#if defined(GST_IOS_PLUGIN_DVDSUB) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(dvdsub); +#endif +#if defined(GST_IOS_PLUGIN_DVDLPCMDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(dvdlpcmdec); +#endif #if defined(GST_IOS_PLUGIN_MAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(mad); #endif #if defined(GST_IOS_PLUGIN_MPEG2DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(mpeg2dec); #endif -#if defined(GST_IOS_PLUGIN_MPEGAUDIOPARSE) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) - GST_PLUGIN_STATIC_REGISTER(mpegaudioparse); +#if defined(GST_IOS_PLUGIN_XINGMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(xingmux); #endif #if defined(GST_IOS_PLUGIN_REALMEDIA) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(realmedia); @@ -634,21 +591,12 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_X264) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(x264); #endif -#if defined(GST_IOS_PLUGIN_FFMPEG) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) - GST_PLUGIN_STATIC_REGISTER(ffmpeg); +#if defined(GST_IOS_PLUGIN_LIBAV) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(libav); #endif #if defined(GST_IOS_PLUGIN_ENCODING) || defined(GST_IOS_PLUGINS_ENCODING) GST_PLUGIN_STATIC_REGISTER(encoding); #endif -#if defined(GST_IOS_PLUGIN_INDVD) || defined(GST_IOS_PLUGINS_DVD) - GST_PLUGIN_STATIC_REGISTER(indvd); -#endif -#if defined(GST_IOS_PLUGIN_DVDLPCMDEC) || defined(GST_IOS_PLUGINS_DVD) - GST_PLUGIN_STATIC_REGISTER(dvdlpcmdec); -#endif -#if defined(GST_IOS_PLUGIN_DVDREAD) || defined(GST_IOS_PLUGINS_DVD) - GST_PLUGIN_STATIC_REGISTER(dvdread); -#endif #if defined(GST_IOS_PLUGIN_ASSRENDER) || defined(GST_IOS_PLUGINS_CODECS_GPL) GST_PLUGIN_STATIC_REGISTER(assrender); #endif @@ -658,14 +606,11 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_OSXAUDIO) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_REGISTER(osxaudio); #endif -#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) - GST_PLUGIN_STATIC_REGISTER(eglglessink); -#endif #if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_REGISTER(applemedia); #endif -#if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS) - GST_PLUGIN_STATIC_REGISTER(applemedia_nonpublic); +#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) + GST_PLUGIN_STATIC_REGISTER(eglglessink); #endif #if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_REGISTER(libvisual); @@ -679,9 +624,6 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_AUDIOVISUALIZERS) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_REGISTER(audiovisualizers); #endif -#if defined(GST_IOS_PLUGIN_URIDECODEBIN) || defined(GST_IOS_PLUGINS_PLAYBACK) - GST_PLUGIN_STATIC_REGISTER(uridecodebin); -#endif #if defined(GST_IOS_PLUGIN_PLAYBACK) || defined(GST_IOS_PLUGINS_PLAYBACK) GST_PLUGIN_STATIC_REGISTER(playback); #endif @@ -706,6 +648,9 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_DEINTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(deinterlace); #endif +#if defined(GST_IOS_PLUGIN_DTMF) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(dtmf); +#endif #if defined(GST_IOS_PLUGIN_EFFECTV) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(effectv); #endif @@ -748,6 +693,15 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_VIDEOMIXER) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(videomixer); #endif +#if defined(GST_IOS_PLUGIN_ACCURIP) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(accurip); +#endif +#if defined(GST_IOS_PLUGIN_AIFF) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(aiff); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOFXBAD) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(audiofxbad); +#endif #if defined(GST_IOS_PLUGIN_AUTOCONVERT) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(autoconvert); #endif @@ -757,8 +711,8 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_COLOREFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(coloreffects); #endif -#if defined(GST_IOS_PLUGIN_FACEOVERLAY) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(faceoverlay); +#if defined(GST_IOS_PLUGIN_DEBUGUTILSBAD) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(debugutilsbad); #endif #if defined(GST_IOS_PLUGIN_FIELDANALYSIS) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(fieldanalysis); @@ -778,8 +732,8 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_INTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(interlace); #endif -#if defined(GST_IOS_PLUGIN_JP2KDECIMATOR) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(jp2kdecimator); +#if defined(GST_IOS_PLUGIN_IVTC) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(ivtc); #endif #if defined(GST_IOS_PLUGIN_LIVEADDER) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(liveadder); @@ -790,33 +744,18 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_REMOVESILENCE) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(removesilence); #endif -#if defined(GST_IOS_PLUGIN_SCALETEMPO) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(scaletempo); -#endif #if defined(GST_IOS_PLUGIN_SEGMENTCLIP) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(segmentclip); #endif #if defined(GST_IOS_PLUGIN_SMOOTH) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(smooth); #endif -#if defined(GST_IOS_PLUGIN_SOUNDTOUCH) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(soundtouch); -#endif #if defined(GST_IOS_PLUGIN_SPEED) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(speed); #endif -#if defined(GST_IOS_PLUGIN_STEREO) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(stereo); -#endif #if defined(GST_IOS_PLUGIN_VIDEOFILTERSBAD) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(videofiltersbad); #endif -#if defined(GST_IOS_PLUGIN_VIDEOMEASURE) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(videomeasure); -#endif -#if defined(GST_IOS_PLUGIN_VIDEOSIGNAL) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(videosignal); -#endif #if defined(GST_IOS_PLUGIN_SUBPARSE) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(subparse); #endif @@ -835,9 +774,6 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_ALAW) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(alaw); #endif -#if defined(GST_IOS_PLUGIN_ANNODEX) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(annodex); -#endif #if defined(GST_IOS_PLUGIN_APETAG) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(apetag); #endif @@ -892,6 +828,9 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_TAGLIB) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(taglib); #endif +#if defined(GST_IOS_PLUGIN_VPX) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(vpx); +#endif #if defined(GST_IOS_PLUGIN_WAVENC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(wavenc); #endif @@ -910,17 +849,8 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_ADPCMENC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(adpcmenc); #endif -#if defined(GST_IOS_PLUGIN_AIFF) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(aiff); -#endif -#if defined(GST_IOS_PLUGIN_CDXAPARSE) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(cdxaparse); -#endif -#if defined(GST_IOS_PLUGIN_DCCP) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(dccp); -#endif -#if defined(GST_IOS_PLUGIN_DTMF) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(dtmf); +#if defined(GST_IOS_PLUGIN_DASHDEMUX) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(dashdemux); #endif #if defined(GST_IOS_PLUGIN_DVBSUBOVERLAY) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(dvbsuboverlay); @@ -931,33 +861,18 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_FRAGMENTED) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(fragmented); #endif -#if defined(GST_IOS_PLUGIN_HDVPARSE) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(hdvparse); -#endif #if defined(GST_IOS_PLUGIN_ID3TAG) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(id3tag); #endif -#if defined(GST_IOS_PLUGIN_IVFPARSE) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(ivfparse); -#endif -#if defined(GST_IOS_PLUGIN_JP2K) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(jp2k); -#endif #if defined(GST_IOS_PLUGIN_KATE) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(kate); #endif -#if defined(GST_IOS_PLUGIN_MVE) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(mve); +#if defined(GST_IOS_PLUGIN_MIDI) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(midi); #endif #if defined(GST_IOS_PLUGIN_MXF) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(mxf); #endif -#if defined(GST_IOS_PLUGIN_NSF) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(nsf); -#endif -#if defined(GST_IOS_PLUGIN_NUVDEMUX) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(nuvdemux); -#endif #if defined(GST_IOS_PLUGIN_OPUS) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(opus); #endif @@ -967,30 +882,30 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_PNM) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(pnm); #endif +#if defined(GST_IOS_PLUGIN_RFBSRC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(rfbsrc); +#endif #if defined(GST_IOS_PLUGIN_SCHRO) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(schro); #endif #if defined(GST_IOS_PLUGIN_GSTSIREN) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(gstsiren); #endif +#if defined(GST_IOS_PLUGIN_SMOOTHSTREAMING) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(smoothstreaming); +#endif #if defined(GST_IOS_PLUGIN_SUBENC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(subenc); #endif -#if defined(GST_IOS_PLUGIN_TTA) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(tta); -#endif #if defined(GST_IOS_PLUGIN_VIDEOPARSERSBAD) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(videoparsersbad); #endif -#if defined(GST_IOS_PLUGIN_VMNC) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(vmnc); -#endif -#if defined(GST_IOS_PLUGIN_VP8) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(vp8); -#endif #if defined(GST_IOS_PLUGIN_Y4MDEC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(y4mdec); #endif +#if defined(GST_IOS_PLUGIN_JPEGFORMAT) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(jpegformat); +#endif #if defined(GST_IOS_PLUGIN_TCP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(tcp); #endif @@ -1000,8 +915,8 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_RTP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(rtp); #endif -#if defined(GST_IOS_PLUGIN_GSTRTPMANAGER) || defined(GST_IOS_PLUGINS_NET) - GST_PLUGIN_STATIC_REGISTER(gstrtpmanager); +#if defined(GST_IOS_PLUGIN_RTPMANAGER) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(rtpmanager); #endif #if defined(GST_IOS_PLUGIN_SOUP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(soup); @@ -1012,20 +927,17 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_DATAURISRC) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(dataurisrc); #endif -#if defined(GST_IOS_PLUGIN_RTPMUX) || defined(GST_IOS_PLUGINS_NET) - GST_PLUGIN_STATIC_REGISTER(rtpmux); -#endif -#if defined(GST_IOS_PLUGIN_RTPVP8) || defined(GST_IOS_PLUGINS_NET) - GST_PLUGIN_STATIC_REGISTER(rtpvp8); -#endif #if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(sdp); #endif +#if defined(GST_IOS_GIO_MODULE_GNUTLS) + G_IO_MODULE_LOAD(gnutls); +#endif /* Lower the ranks of filesrc and giosrc so iosavassetsrc is * tried first in gst_element_make_from_uri() for file:// */ - reg = gst_registry_get_default(); + reg = gst_registry_get(); plugin = gst_registry_lookup_feature(reg, "filesrc"); if (plugin) gst_plugin_feature_set_rank(plugin, GST_RANK_SECONDARY); diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.h b/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.h index eefb1947f2..90acb3eba7 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.h @@ -13,16 +13,18 @@ G_BEGIN_DECLS //#define GST_IOS_PLUGINS_CAPTURE //#define GST_IOS_PLUGINS_CODECS_RESTRICTED //#define GST_IOS_PLUGINS_ENCODING -//#define GST_IOS_PLUGINS_DVD //#define GST_IOS_PLUGINS_CODECS_GPL //#define GST_IOS_PLUGINS_NET_RESTRICTED #define GST_IOS_PLUGINS_SYS //#define GST_IOS_PLUGINS_VIS -#define GST_IOS_PLUGINS_PLAYBACK +//#define GST_IOS_PLUGINS_PLAYBACK //#define GST_IOS_PLUGINS_EFFECTS //#define GST_IOS_PLUGINS_CODECS //#define GST_IOS_PLUGINS_NET + +//#define GST_IOS_GIO_MODULE_GNUTLS + void gst_ios_init (); G_END_DECLS diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.m b/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.m index 53ddaebe29..7ae9b4447b 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.m @@ -3,9 +3,6 @@ #if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(coreelements); #endif -#if defined(GST_IOS_PLUGIN_COREINDEXERS) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(coreindexers); -#endif #if defined(GST_IOS_PLUGIN_ADDER) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(adder); #endif @@ -24,12 +21,6 @@ GST_PLUGIN_STATIC_DECLARE(audioresample); #if defined(GST_IOS_PLUGIN_AUDIOTESTSRC) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(audiotestsrc); #endif -#if defined(GST_IOS_PLUGIN_FFMPEGCOLORSPACE) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(ffmpegcolorspace); -#endif -#if defined(GST_IOS_PLUGIN_GDP) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(gdp); -#endif #if defined(GST_IOS_PLUGIN_GIO) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(gio); #endif @@ -39,6 +30,9 @@ GST_PLUGIN_STATIC_DECLARE(pango); #if defined(GST_IOS_PLUGIN_TYPEFINDFUNCTIONS) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(typefindfunctions); #endif +#if defined(GST_IOS_PLUGIN_VIDEOCONVERT) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(videoconvert); +#endif #if defined(GST_IOS_PLUGIN_VIDEORATE) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(videorate); #endif @@ -57,8 +51,8 @@ GST_PLUGIN_STATIC_DECLARE(autodetect); #if defined(GST_IOS_PLUGIN_VIDEOFILTER) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(videofilter); #endif -#if defined(GST_IOS_PLUGIN_CAMERABIN2) || defined(GST_IOS_PLUGINS_CAPTURE) -GST_PLUGIN_STATIC_DECLARE(camerabin2); +#if defined(GST_IOS_PLUGIN_CAMERABIN) || defined(GST_IOS_PLUGINS_CAPTURE) +GST_PLUGIN_STATIC_DECLARE(camerabin); #endif #if defined(GST_IOS_PLUGIN_ASFMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(asfmux); @@ -69,8 +63,8 @@ GST_PLUGIN_STATIC_DECLARE(dtsdec); #if defined(GST_IOS_PLUGIN_FAAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(faad); #endif -#if defined(GST_IOS_PLUGIN_MPEGDEMUX2) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) -GST_PLUGIN_STATIC_DECLARE(mpegdemux2); +#if defined(GST_IOS_PLUGIN_MPEGPSDEMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mpegpsdemux); #endif #if defined(GST_IOS_PLUGIN_MPEGPSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(mpegpsmux); @@ -93,14 +87,20 @@ GST_PLUGIN_STATIC_DECLARE(amrwbdec); #if defined(GST_IOS_PLUGIN_ASF) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(asf); #endif +#if defined(GST_IOS_PLUGIN_DVDSUB) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(dvdsub); +#endif +#if defined(GST_IOS_PLUGIN_DVDLPCMDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(dvdlpcmdec); +#endif #if defined(GST_IOS_PLUGIN_MAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(mad); #endif #if defined(GST_IOS_PLUGIN_MPEG2DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(mpeg2dec); #endif -#if defined(GST_IOS_PLUGIN_MPEGAUDIOPARSE) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) -GST_PLUGIN_STATIC_DECLARE(mpegaudioparse); +#if defined(GST_IOS_PLUGIN_XINGMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(xingmux); #endif #if defined(GST_IOS_PLUGIN_REALMEDIA) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(realmedia); @@ -108,21 +108,12 @@ GST_PLUGIN_STATIC_DECLARE(realmedia); #if defined(GST_IOS_PLUGIN_X264) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(x264); #endif -#if defined(GST_IOS_PLUGIN_FFMPEG) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) -GST_PLUGIN_STATIC_DECLARE(ffmpeg); +#if defined(GST_IOS_PLUGIN_LIBAV) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(libav); #endif #if defined(GST_IOS_PLUGIN_ENCODING) || defined(GST_IOS_PLUGINS_ENCODING) GST_PLUGIN_STATIC_DECLARE(encoding); #endif -#if defined(GST_IOS_PLUGIN_INDVD) || defined(GST_IOS_PLUGINS_DVD) -GST_PLUGIN_STATIC_DECLARE(indvd); -#endif -#if defined(GST_IOS_PLUGIN_DVDLPCMDEC) || defined(GST_IOS_PLUGINS_DVD) -GST_PLUGIN_STATIC_DECLARE(dvdlpcmdec); -#endif -#if defined(GST_IOS_PLUGIN_DVDREAD) || defined(GST_IOS_PLUGINS_DVD) -GST_PLUGIN_STATIC_DECLARE(dvdread); -#endif #if defined(GST_IOS_PLUGIN_ASSRENDER) || defined(GST_IOS_PLUGINS_CODECS_GPL) GST_PLUGIN_STATIC_DECLARE(assrender); #endif @@ -132,14 +123,11 @@ GST_PLUGIN_STATIC_DECLARE(mms); #if defined(GST_IOS_PLUGIN_OSXAUDIO) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_DECLARE(osxaudio); #endif -#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) -GST_PLUGIN_STATIC_DECLARE(eglglessink); -#endif #if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_DECLARE(applemedia); #endif -#if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS) -GST_PLUGIN_STATIC_DECLARE(applemedia_nonpublic); +#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) +GST_PLUGIN_STATIC_DECLARE(eglglessink); #endif #if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_DECLARE(libvisual); @@ -153,9 +141,6 @@ GST_PLUGIN_STATIC_DECLARE(goom2k1); #if defined(GST_IOS_PLUGIN_AUDIOVISUALIZERS) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_DECLARE(audiovisualizers); #endif -#if defined(GST_IOS_PLUGIN_URIDECODEBIN) || defined(GST_IOS_PLUGINS_PLAYBACK) -GST_PLUGIN_STATIC_DECLARE(uridecodebin); -#endif #if defined(GST_IOS_PLUGIN_PLAYBACK) || defined(GST_IOS_PLUGINS_PLAYBACK) GST_PLUGIN_STATIC_DECLARE(playback); #endif @@ -180,6 +165,9 @@ GST_PLUGIN_STATIC_DECLARE(debug); #if defined(GST_IOS_PLUGIN_DEINTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(deinterlace); #endif +#if defined(GST_IOS_PLUGIN_DTMF) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(dtmf); +#endif #if defined(GST_IOS_PLUGIN_EFFECTV) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(effectv); #endif @@ -222,6 +210,15 @@ GST_PLUGIN_STATIC_DECLARE(videocrop); #if defined(GST_IOS_PLUGIN_VIDEOMIXER) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(videomixer); #endif +#if defined(GST_IOS_PLUGIN_ACCURIP) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(accurip); +#endif +#if defined(GST_IOS_PLUGIN_AIFF) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(aiff); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOFXBAD) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(audiofxbad); +#endif #if defined(GST_IOS_PLUGIN_AUTOCONVERT) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(autoconvert); #endif @@ -231,8 +228,8 @@ GST_PLUGIN_STATIC_DECLARE(bayer); #if defined(GST_IOS_PLUGIN_COLOREFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(coloreffects); #endif -#if defined(GST_IOS_PLUGIN_FACEOVERLAY) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(faceoverlay); +#if defined(GST_IOS_PLUGIN_DEBUGUTILSBAD) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(debugutilsbad); #endif #if defined(GST_IOS_PLUGIN_FIELDANALYSIS) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(fieldanalysis); @@ -252,8 +249,8 @@ GST_PLUGIN_STATIC_DECLARE(geometrictransform); #if defined(GST_IOS_PLUGIN_INTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(interlace); #endif -#if defined(GST_IOS_PLUGIN_JP2KDECIMATOR) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(jp2kdecimator); +#if defined(GST_IOS_PLUGIN_IVTC) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(ivtc); #endif #if defined(GST_IOS_PLUGIN_LIVEADDER) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(liveadder); @@ -264,33 +261,18 @@ GST_PLUGIN_STATIC_DECLARE(rawparse); #if defined(GST_IOS_PLUGIN_REMOVESILENCE) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(removesilence); #endif -#if defined(GST_IOS_PLUGIN_SCALETEMPO) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(scaletempo); -#endif #if defined(GST_IOS_PLUGIN_SEGMENTCLIP) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(segmentclip); #endif #if defined(GST_IOS_PLUGIN_SMOOTH) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(smooth); #endif -#if defined(GST_IOS_PLUGIN_SOUNDTOUCH) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(soundtouch); -#endif #if defined(GST_IOS_PLUGIN_SPEED) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(speed); #endif -#if defined(GST_IOS_PLUGIN_STEREO) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(stereo); -#endif #if defined(GST_IOS_PLUGIN_VIDEOFILTERSBAD) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(videofiltersbad); #endif -#if defined(GST_IOS_PLUGIN_VIDEOMEASURE) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(videomeasure); -#endif -#if defined(GST_IOS_PLUGIN_VIDEOSIGNAL) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(videosignal); -#endif #if defined(GST_IOS_PLUGIN_SUBPARSE) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(subparse); #endif @@ -309,9 +291,6 @@ GST_PLUGIN_STATIC_DECLARE(ivorbisdec); #if defined(GST_IOS_PLUGIN_ALAW) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(alaw); #endif -#if defined(GST_IOS_PLUGIN_ANNODEX) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(annodex); -#endif #if defined(GST_IOS_PLUGIN_APETAG) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(apetag); #endif @@ -366,6 +345,9 @@ GST_PLUGIN_STATIC_DECLARE(speex); #if defined(GST_IOS_PLUGIN_TAGLIB) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(taglib); #endif +#if defined(GST_IOS_PLUGIN_VPX) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(vpx); +#endif #if defined(GST_IOS_PLUGIN_WAVENC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(wavenc); #endif @@ -384,17 +366,8 @@ GST_PLUGIN_STATIC_DECLARE(adpcmdec); #if defined(GST_IOS_PLUGIN_ADPCMENC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(adpcmenc); #endif -#if defined(GST_IOS_PLUGIN_AIFF) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(aiff); -#endif -#if defined(GST_IOS_PLUGIN_CDXAPARSE) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(cdxaparse); -#endif -#if defined(GST_IOS_PLUGIN_DCCP) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(dccp); -#endif -#if defined(GST_IOS_PLUGIN_DTMF) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(dtmf); +#if defined(GST_IOS_PLUGIN_DASHDEMUX) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(dashdemux); #endif #if defined(GST_IOS_PLUGIN_DVBSUBOVERLAY) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(dvbsuboverlay); @@ -405,33 +378,18 @@ GST_PLUGIN_STATIC_DECLARE(dvdspu); #if defined(GST_IOS_PLUGIN_FRAGMENTED) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(fragmented); #endif -#if defined(GST_IOS_PLUGIN_HDVPARSE) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(hdvparse); -#endif #if defined(GST_IOS_PLUGIN_ID3TAG) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(id3tag); #endif -#if defined(GST_IOS_PLUGIN_IVFPARSE) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(ivfparse); -#endif -#if defined(GST_IOS_PLUGIN_JP2K) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(jp2k); -#endif #if defined(GST_IOS_PLUGIN_KATE) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(kate); #endif -#if defined(GST_IOS_PLUGIN_MVE) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(mve); +#if defined(GST_IOS_PLUGIN_MIDI) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(midi); #endif #if defined(GST_IOS_PLUGIN_MXF) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(mxf); #endif -#if defined(GST_IOS_PLUGIN_NSF) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(nsf); -#endif -#if defined(GST_IOS_PLUGIN_NUVDEMUX) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(nuvdemux); -#endif #if defined(GST_IOS_PLUGIN_OPUS) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(opus); #endif @@ -441,30 +399,30 @@ GST_PLUGIN_STATIC_DECLARE(pcapparse); #if defined(GST_IOS_PLUGIN_PNM) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(pnm); #endif +#if defined(GST_IOS_PLUGIN_RFBSRC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(rfbsrc); +#endif #if defined(GST_IOS_PLUGIN_SCHRO) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(schro); #endif #if defined(GST_IOS_PLUGIN_GSTSIREN) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(gstsiren); #endif +#if defined(GST_IOS_PLUGIN_SMOOTHSTREAMING) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(smoothstreaming); +#endif #if defined(GST_IOS_PLUGIN_SUBENC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(subenc); #endif -#if defined(GST_IOS_PLUGIN_TTA) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(tta); -#endif #if defined(GST_IOS_PLUGIN_VIDEOPARSERSBAD) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(videoparsersbad); #endif -#if defined(GST_IOS_PLUGIN_VMNC) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(vmnc); -#endif -#if defined(GST_IOS_PLUGIN_VP8) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(vp8); -#endif #if defined(GST_IOS_PLUGIN_Y4MDEC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(y4mdec); #endif +#if defined(GST_IOS_PLUGIN_JPEGFORMAT) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(jpegformat); +#endif #if defined(GST_IOS_PLUGIN_TCP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(tcp); #endif @@ -474,8 +432,8 @@ GST_PLUGIN_STATIC_DECLARE(rtsp); #if defined(GST_IOS_PLUGIN_RTP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(rtp); #endif -#if defined(GST_IOS_PLUGIN_GSTRTPMANAGER) || defined(GST_IOS_PLUGINS_NET) -GST_PLUGIN_STATIC_DECLARE(gstrtpmanager); +#if defined(GST_IOS_PLUGIN_RTPMANAGER) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(rtpmanager); #endif #if defined(GST_IOS_PLUGIN_SOUP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(soup); @@ -486,16 +444,15 @@ GST_PLUGIN_STATIC_DECLARE(udp); #if defined(GST_IOS_PLUGIN_DATAURISRC) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(dataurisrc); #endif -#if defined(GST_IOS_PLUGIN_RTPMUX) || defined(GST_IOS_PLUGINS_NET) -GST_PLUGIN_STATIC_DECLARE(rtpmux); -#endif -#if defined(GST_IOS_PLUGIN_RTPVP8) || defined(GST_IOS_PLUGINS_NET) -GST_PLUGIN_STATIC_DECLARE(rtpvp8); -#endif #if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(sdp); #endif +#if defined(GST_IOS_GIO_MODULE_GNUTLS) + #include + G_IO_MODULE_DECLARE(gnutls); +#endif + void gst_ios_init (void) { @@ -515,7 +472,7 @@ gst_ios_init (void) g_setenv ("TEMP", tmp_dir, TRUE); g_setenv ("TMPDIR", tmp_dir, TRUE); g_setenv ("XDG_RUNTIME_DIR", resources_dir, TRUE); - g_setenv ("XDG_CACHE_DIR", cache_dir, TRUE); + g_setenv ("XDG_CACHE_HOME", cache_dir, TRUE); g_setenv ("HOME", docs_dir, TRUE); g_setenv ("XDG_DATA_DIRS", resources_dir, TRUE); @@ -529,9 +486,6 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(coreelements); #endif -#if defined(GST_IOS_PLUGIN_COREINDEXERS) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(coreindexers); -#endif #if defined(GST_IOS_PLUGIN_ADDER) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(adder); #endif @@ -550,12 +504,6 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_AUDIOTESTSRC) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(audiotestsrc); #endif -#if defined(GST_IOS_PLUGIN_FFMPEGCOLORSPACE) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(ffmpegcolorspace); -#endif -#if defined(GST_IOS_PLUGIN_GDP) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(gdp); -#endif #if defined(GST_IOS_PLUGIN_GIO) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(gio); #endif @@ -565,6 +513,9 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_TYPEFINDFUNCTIONS) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(typefindfunctions); #endif +#if defined(GST_IOS_PLUGIN_VIDEOCONVERT) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(videoconvert); +#endif #if defined(GST_IOS_PLUGIN_VIDEORATE) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(videorate); #endif @@ -583,8 +534,8 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_VIDEOFILTER) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(videofilter); #endif -#if defined(GST_IOS_PLUGIN_CAMERABIN2) || defined(GST_IOS_PLUGINS_CAPTURE) - GST_PLUGIN_STATIC_REGISTER(camerabin2); +#if defined(GST_IOS_PLUGIN_CAMERABIN) || defined(GST_IOS_PLUGINS_CAPTURE) + GST_PLUGIN_STATIC_REGISTER(camerabin); #endif #if defined(GST_IOS_PLUGIN_ASFMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(asfmux); @@ -595,8 +546,8 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_FAAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(faad); #endif -#if defined(GST_IOS_PLUGIN_MPEGDEMUX2) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) - GST_PLUGIN_STATIC_REGISTER(mpegdemux2); +#if defined(GST_IOS_PLUGIN_MPEGPSDEMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mpegpsdemux); #endif #if defined(GST_IOS_PLUGIN_MPEGPSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(mpegpsmux); @@ -619,14 +570,20 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_ASF) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(asf); #endif +#if defined(GST_IOS_PLUGIN_DVDSUB) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(dvdsub); +#endif +#if defined(GST_IOS_PLUGIN_DVDLPCMDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(dvdlpcmdec); +#endif #if defined(GST_IOS_PLUGIN_MAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(mad); #endif #if defined(GST_IOS_PLUGIN_MPEG2DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(mpeg2dec); #endif -#if defined(GST_IOS_PLUGIN_MPEGAUDIOPARSE) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) - GST_PLUGIN_STATIC_REGISTER(mpegaudioparse); +#if defined(GST_IOS_PLUGIN_XINGMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(xingmux); #endif #if defined(GST_IOS_PLUGIN_REALMEDIA) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(realmedia); @@ -634,21 +591,12 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_X264) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(x264); #endif -#if defined(GST_IOS_PLUGIN_FFMPEG) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) - GST_PLUGIN_STATIC_REGISTER(ffmpeg); +#if defined(GST_IOS_PLUGIN_LIBAV) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(libav); #endif #if defined(GST_IOS_PLUGIN_ENCODING) || defined(GST_IOS_PLUGINS_ENCODING) GST_PLUGIN_STATIC_REGISTER(encoding); #endif -#if defined(GST_IOS_PLUGIN_INDVD) || defined(GST_IOS_PLUGINS_DVD) - GST_PLUGIN_STATIC_REGISTER(indvd); -#endif -#if defined(GST_IOS_PLUGIN_DVDLPCMDEC) || defined(GST_IOS_PLUGINS_DVD) - GST_PLUGIN_STATIC_REGISTER(dvdlpcmdec); -#endif -#if defined(GST_IOS_PLUGIN_DVDREAD) || defined(GST_IOS_PLUGINS_DVD) - GST_PLUGIN_STATIC_REGISTER(dvdread); -#endif #if defined(GST_IOS_PLUGIN_ASSRENDER) || defined(GST_IOS_PLUGINS_CODECS_GPL) GST_PLUGIN_STATIC_REGISTER(assrender); #endif @@ -658,14 +606,11 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_OSXAUDIO) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_REGISTER(osxaudio); #endif -#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) - GST_PLUGIN_STATIC_REGISTER(eglglessink); -#endif #if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_REGISTER(applemedia); #endif -#if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS) - GST_PLUGIN_STATIC_REGISTER(applemedia_nonpublic); +#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) + GST_PLUGIN_STATIC_REGISTER(eglglessink); #endif #if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_REGISTER(libvisual); @@ -679,9 +624,6 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_AUDIOVISUALIZERS) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_REGISTER(audiovisualizers); #endif -#if defined(GST_IOS_PLUGIN_URIDECODEBIN) || defined(GST_IOS_PLUGINS_PLAYBACK) - GST_PLUGIN_STATIC_REGISTER(uridecodebin); -#endif #if defined(GST_IOS_PLUGIN_PLAYBACK) || defined(GST_IOS_PLUGINS_PLAYBACK) GST_PLUGIN_STATIC_REGISTER(playback); #endif @@ -706,6 +648,9 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_DEINTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(deinterlace); #endif +#if defined(GST_IOS_PLUGIN_DTMF) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(dtmf); +#endif #if defined(GST_IOS_PLUGIN_EFFECTV) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(effectv); #endif @@ -748,6 +693,15 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_VIDEOMIXER) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(videomixer); #endif +#if defined(GST_IOS_PLUGIN_ACCURIP) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(accurip); +#endif +#if defined(GST_IOS_PLUGIN_AIFF) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(aiff); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOFXBAD) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(audiofxbad); +#endif #if defined(GST_IOS_PLUGIN_AUTOCONVERT) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(autoconvert); #endif @@ -757,8 +711,8 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_COLOREFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(coloreffects); #endif -#if defined(GST_IOS_PLUGIN_FACEOVERLAY) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(faceoverlay); +#if defined(GST_IOS_PLUGIN_DEBUGUTILSBAD) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(debugutilsbad); #endif #if defined(GST_IOS_PLUGIN_FIELDANALYSIS) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(fieldanalysis); @@ -778,8 +732,8 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_INTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(interlace); #endif -#if defined(GST_IOS_PLUGIN_JP2KDECIMATOR) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(jp2kdecimator); +#if defined(GST_IOS_PLUGIN_IVTC) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(ivtc); #endif #if defined(GST_IOS_PLUGIN_LIVEADDER) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(liveadder); @@ -790,33 +744,18 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_REMOVESILENCE) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(removesilence); #endif -#if defined(GST_IOS_PLUGIN_SCALETEMPO) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(scaletempo); -#endif #if defined(GST_IOS_PLUGIN_SEGMENTCLIP) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(segmentclip); #endif #if defined(GST_IOS_PLUGIN_SMOOTH) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(smooth); #endif -#if defined(GST_IOS_PLUGIN_SOUNDTOUCH) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(soundtouch); -#endif #if defined(GST_IOS_PLUGIN_SPEED) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(speed); #endif -#if defined(GST_IOS_PLUGIN_STEREO) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(stereo); -#endif #if defined(GST_IOS_PLUGIN_VIDEOFILTERSBAD) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(videofiltersbad); #endif -#if defined(GST_IOS_PLUGIN_VIDEOMEASURE) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(videomeasure); -#endif -#if defined(GST_IOS_PLUGIN_VIDEOSIGNAL) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(videosignal); -#endif #if defined(GST_IOS_PLUGIN_SUBPARSE) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(subparse); #endif @@ -835,9 +774,6 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_ALAW) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(alaw); #endif -#if defined(GST_IOS_PLUGIN_ANNODEX) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(annodex); -#endif #if defined(GST_IOS_PLUGIN_APETAG) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(apetag); #endif @@ -892,6 +828,9 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_TAGLIB) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(taglib); #endif +#if defined(GST_IOS_PLUGIN_VPX) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(vpx); +#endif #if defined(GST_IOS_PLUGIN_WAVENC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(wavenc); #endif @@ -910,17 +849,8 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_ADPCMENC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(adpcmenc); #endif -#if defined(GST_IOS_PLUGIN_AIFF) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(aiff); -#endif -#if defined(GST_IOS_PLUGIN_CDXAPARSE) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(cdxaparse); -#endif -#if defined(GST_IOS_PLUGIN_DCCP) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(dccp); -#endif -#if defined(GST_IOS_PLUGIN_DTMF) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(dtmf); +#if defined(GST_IOS_PLUGIN_DASHDEMUX) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(dashdemux); #endif #if defined(GST_IOS_PLUGIN_DVBSUBOVERLAY) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(dvbsuboverlay); @@ -931,33 +861,18 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_FRAGMENTED) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(fragmented); #endif -#if defined(GST_IOS_PLUGIN_HDVPARSE) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(hdvparse); -#endif #if defined(GST_IOS_PLUGIN_ID3TAG) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(id3tag); #endif -#if defined(GST_IOS_PLUGIN_IVFPARSE) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(ivfparse); -#endif -#if defined(GST_IOS_PLUGIN_JP2K) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(jp2k); -#endif #if defined(GST_IOS_PLUGIN_KATE) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(kate); #endif -#if defined(GST_IOS_PLUGIN_MVE) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(mve); +#if defined(GST_IOS_PLUGIN_MIDI) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(midi); #endif #if defined(GST_IOS_PLUGIN_MXF) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(mxf); #endif -#if defined(GST_IOS_PLUGIN_NSF) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(nsf); -#endif -#if defined(GST_IOS_PLUGIN_NUVDEMUX) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(nuvdemux); -#endif #if defined(GST_IOS_PLUGIN_OPUS) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(opus); #endif @@ -967,30 +882,30 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_PNM) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(pnm); #endif +#if defined(GST_IOS_PLUGIN_RFBSRC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(rfbsrc); +#endif #if defined(GST_IOS_PLUGIN_SCHRO) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(schro); #endif #if defined(GST_IOS_PLUGIN_GSTSIREN) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(gstsiren); #endif +#if defined(GST_IOS_PLUGIN_SMOOTHSTREAMING) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(smoothstreaming); +#endif #if defined(GST_IOS_PLUGIN_SUBENC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(subenc); #endif -#if defined(GST_IOS_PLUGIN_TTA) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(tta); -#endif #if defined(GST_IOS_PLUGIN_VIDEOPARSERSBAD) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(videoparsersbad); #endif -#if defined(GST_IOS_PLUGIN_VMNC) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(vmnc); -#endif -#if defined(GST_IOS_PLUGIN_VP8) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(vp8); -#endif #if defined(GST_IOS_PLUGIN_Y4MDEC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(y4mdec); #endif +#if defined(GST_IOS_PLUGIN_JPEGFORMAT) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(jpegformat); +#endif #if defined(GST_IOS_PLUGIN_TCP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(tcp); #endif @@ -1000,8 +915,8 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_RTP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(rtp); #endif -#if defined(GST_IOS_PLUGIN_GSTRTPMANAGER) || defined(GST_IOS_PLUGINS_NET) - GST_PLUGIN_STATIC_REGISTER(gstrtpmanager); +#if defined(GST_IOS_PLUGIN_RTPMANAGER) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(rtpmanager); #endif #if defined(GST_IOS_PLUGIN_SOUP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(soup); @@ -1012,20 +927,17 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_DATAURISRC) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(dataurisrc); #endif -#if defined(GST_IOS_PLUGIN_RTPMUX) || defined(GST_IOS_PLUGINS_NET) - GST_PLUGIN_STATIC_REGISTER(rtpmux); -#endif -#if defined(GST_IOS_PLUGIN_RTPVP8) || defined(GST_IOS_PLUGINS_NET) - GST_PLUGIN_STATIC_REGISTER(rtpvp8); -#endif #if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(sdp); #endif +#if defined(GST_IOS_GIO_MODULE_GNUTLS) + G_IO_MODULE_LOAD(gnutls); +#endif /* Lower the ranks of filesrc and giosrc so iosavassetsrc is * tried first in gst_element_make_from_uri() for file:// */ - reg = gst_registry_get_default(); + reg = gst_registry_get(); plugin = gst_registry_lookup_feature(reg, "filesrc"); if (plugin) gst_plugin_feature_set_rank(plugin, GST_RANK_SECONDARY); diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 3/GStreamerBackend.m b/gst-sdk/tutorials/xcode iOS/Tutorial 3/GStreamerBackend.m index 8a5d6dd96d..0942bb04a5 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 3/GStreamerBackend.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 3/GStreamerBackend.m @@ -1,7 +1,7 @@ #import "GStreamerBackend.h" #include -#include +#include GST_DEBUG_CATEGORY_STATIC (debug_category); #define GST_CAT_DEFAULT debug_category @@ -140,7 +140,7 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *se g_main_context_push_thread_default(context); /* Build pipeline */ - pipeline = gst_parse_launch("videotestsrc ! warptv ! ffmpegcolorspace ! autovideosink", &error); + pipeline = gst_parse_launch("videotestsrc ! warptv ! videoconvert ! autovideosink", &error); if (error) { gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message); g_clear_error (&error); @@ -152,12 +152,12 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *se /* Set the pipeline to READY, so it can already accept a window handle */ gst_element_set_state(pipeline, GST_STATE_READY); - video_sink = gst_bin_get_by_interface(GST_BIN(pipeline), GST_TYPE_X_OVERLAY); + video_sink = gst_bin_get_by_interface(GST_BIN(pipeline), GST_TYPE_VIDEO_OVERLAY); if (!video_sink) { GST_ERROR ("Could not retrieve video sink"); return; } - gst_x_overlay_set_window_handle(GST_X_OVERLAY(video_sink), (guintptr) (id) ui_video_view); + gst_video_overlay_set_window_handle(GST_VIDEO_OVERLAY(video_sink), (guintptr) (id) ui_video_view); /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ bus = gst_element_get_bus (pipeline); diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.h b/gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.h index 3e3406ef56..7d9d70f9cb 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.h @@ -13,16 +13,18 @@ G_BEGIN_DECLS //#define GST_IOS_PLUGINS_CAPTURE //#define GST_IOS_PLUGINS_CODECS_RESTRICTED //#define GST_IOS_PLUGINS_ENCODING -//#define GST_IOS_PLUGINS_DVD //#define GST_IOS_PLUGINS_CODECS_GPL //#define GST_IOS_PLUGINS_NET_RESTRICTED #define GST_IOS_PLUGINS_SYS //#define GST_IOS_PLUGINS_VIS -#define GST_IOS_PLUGINS_PLAYBACK +//#define GST_IOS_PLUGINS_PLAYBACK #define GST_IOS_PLUGINS_EFFECTS //#define GST_IOS_PLUGINS_CODECS //#define GST_IOS_PLUGINS_NET + +//#define GST_IOS_GIO_MODULE_GNUTLS + void gst_ios_init (); G_END_DECLS diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.m b/gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.m index 53ddaebe29..7ae9b4447b 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.m @@ -3,9 +3,6 @@ #if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(coreelements); #endif -#if defined(GST_IOS_PLUGIN_COREINDEXERS) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(coreindexers); -#endif #if defined(GST_IOS_PLUGIN_ADDER) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(adder); #endif @@ -24,12 +21,6 @@ GST_PLUGIN_STATIC_DECLARE(audioresample); #if defined(GST_IOS_PLUGIN_AUDIOTESTSRC) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(audiotestsrc); #endif -#if defined(GST_IOS_PLUGIN_FFMPEGCOLORSPACE) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(ffmpegcolorspace); -#endif -#if defined(GST_IOS_PLUGIN_GDP) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(gdp); -#endif #if defined(GST_IOS_PLUGIN_GIO) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(gio); #endif @@ -39,6 +30,9 @@ GST_PLUGIN_STATIC_DECLARE(pango); #if defined(GST_IOS_PLUGIN_TYPEFINDFUNCTIONS) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(typefindfunctions); #endif +#if defined(GST_IOS_PLUGIN_VIDEOCONVERT) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(videoconvert); +#endif #if defined(GST_IOS_PLUGIN_VIDEORATE) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(videorate); #endif @@ -57,8 +51,8 @@ GST_PLUGIN_STATIC_DECLARE(autodetect); #if defined(GST_IOS_PLUGIN_VIDEOFILTER) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(videofilter); #endif -#if defined(GST_IOS_PLUGIN_CAMERABIN2) || defined(GST_IOS_PLUGINS_CAPTURE) -GST_PLUGIN_STATIC_DECLARE(camerabin2); +#if defined(GST_IOS_PLUGIN_CAMERABIN) || defined(GST_IOS_PLUGINS_CAPTURE) +GST_PLUGIN_STATIC_DECLARE(camerabin); #endif #if defined(GST_IOS_PLUGIN_ASFMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(asfmux); @@ -69,8 +63,8 @@ GST_PLUGIN_STATIC_DECLARE(dtsdec); #if defined(GST_IOS_PLUGIN_FAAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(faad); #endif -#if defined(GST_IOS_PLUGIN_MPEGDEMUX2) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) -GST_PLUGIN_STATIC_DECLARE(mpegdemux2); +#if defined(GST_IOS_PLUGIN_MPEGPSDEMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mpegpsdemux); #endif #if defined(GST_IOS_PLUGIN_MPEGPSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(mpegpsmux); @@ -93,14 +87,20 @@ GST_PLUGIN_STATIC_DECLARE(amrwbdec); #if defined(GST_IOS_PLUGIN_ASF) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(asf); #endif +#if defined(GST_IOS_PLUGIN_DVDSUB) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(dvdsub); +#endif +#if defined(GST_IOS_PLUGIN_DVDLPCMDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(dvdlpcmdec); +#endif #if defined(GST_IOS_PLUGIN_MAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(mad); #endif #if defined(GST_IOS_PLUGIN_MPEG2DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(mpeg2dec); #endif -#if defined(GST_IOS_PLUGIN_MPEGAUDIOPARSE) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) -GST_PLUGIN_STATIC_DECLARE(mpegaudioparse); +#if defined(GST_IOS_PLUGIN_XINGMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(xingmux); #endif #if defined(GST_IOS_PLUGIN_REALMEDIA) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(realmedia); @@ -108,21 +108,12 @@ GST_PLUGIN_STATIC_DECLARE(realmedia); #if defined(GST_IOS_PLUGIN_X264) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(x264); #endif -#if defined(GST_IOS_PLUGIN_FFMPEG) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) -GST_PLUGIN_STATIC_DECLARE(ffmpeg); +#if defined(GST_IOS_PLUGIN_LIBAV) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(libav); #endif #if defined(GST_IOS_PLUGIN_ENCODING) || defined(GST_IOS_PLUGINS_ENCODING) GST_PLUGIN_STATIC_DECLARE(encoding); #endif -#if defined(GST_IOS_PLUGIN_INDVD) || defined(GST_IOS_PLUGINS_DVD) -GST_PLUGIN_STATIC_DECLARE(indvd); -#endif -#if defined(GST_IOS_PLUGIN_DVDLPCMDEC) || defined(GST_IOS_PLUGINS_DVD) -GST_PLUGIN_STATIC_DECLARE(dvdlpcmdec); -#endif -#if defined(GST_IOS_PLUGIN_DVDREAD) || defined(GST_IOS_PLUGINS_DVD) -GST_PLUGIN_STATIC_DECLARE(dvdread); -#endif #if defined(GST_IOS_PLUGIN_ASSRENDER) || defined(GST_IOS_PLUGINS_CODECS_GPL) GST_PLUGIN_STATIC_DECLARE(assrender); #endif @@ -132,14 +123,11 @@ GST_PLUGIN_STATIC_DECLARE(mms); #if defined(GST_IOS_PLUGIN_OSXAUDIO) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_DECLARE(osxaudio); #endif -#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) -GST_PLUGIN_STATIC_DECLARE(eglglessink); -#endif #if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_DECLARE(applemedia); #endif -#if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS) -GST_PLUGIN_STATIC_DECLARE(applemedia_nonpublic); +#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) +GST_PLUGIN_STATIC_DECLARE(eglglessink); #endif #if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_DECLARE(libvisual); @@ -153,9 +141,6 @@ GST_PLUGIN_STATIC_DECLARE(goom2k1); #if defined(GST_IOS_PLUGIN_AUDIOVISUALIZERS) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_DECLARE(audiovisualizers); #endif -#if defined(GST_IOS_PLUGIN_URIDECODEBIN) || defined(GST_IOS_PLUGINS_PLAYBACK) -GST_PLUGIN_STATIC_DECLARE(uridecodebin); -#endif #if defined(GST_IOS_PLUGIN_PLAYBACK) || defined(GST_IOS_PLUGINS_PLAYBACK) GST_PLUGIN_STATIC_DECLARE(playback); #endif @@ -180,6 +165,9 @@ GST_PLUGIN_STATIC_DECLARE(debug); #if defined(GST_IOS_PLUGIN_DEINTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(deinterlace); #endif +#if defined(GST_IOS_PLUGIN_DTMF) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(dtmf); +#endif #if defined(GST_IOS_PLUGIN_EFFECTV) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(effectv); #endif @@ -222,6 +210,15 @@ GST_PLUGIN_STATIC_DECLARE(videocrop); #if defined(GST_IOS_PLUGIN_VIDEOMIXER) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(videomixer); #endif +#if defined(GST_IOS_PLUGIN_ACCURIP) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(accurip); +#endif +#if defined(GST_IOS_PLUGIN_AIFF) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(aiff); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOFXBAD) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(audiofxbad); +#endif #if defined(GST_IOS_PLUGIN_AUTOCONVERT) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(autoconvert); #endif @@ -231,8 +228,8 @@ GST_PLUGIN_STATIC_DECLARE(bayer); #if defined(GST_IOS_PLUGIN_COLOREFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(coloreffects); #endif -#if defined(GST_IOS_PLUGIN_FACEOVERLAY) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(faceoverlay); +#if defined(GST_IOS_PLUGIN_DEBUGUTILSBAD) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(debugutilsbad); #endif #if defined(GST_IOS_PLUGIN_FIELDANALYSIS) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(fieldanalysis); @@ -252,8 +249,8 @@ GST_PLUGIN_STATIC_DECLARE(geometrictransform); #if defined(GST_IOS_PLUGIN_INTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(interlace); #endif -#if defined(GST_IOS_PLUGIN_JP2KDECIMATOR) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(jp2kdecimator); +#if defined(GST_IOS_PLUGIN_IVTC) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(ivtc); #endif #if defined(GST_IOS_PLUGIN_LIVEADDER) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(liveadder); @@ -264,33 +261,18 @@ GST_PLUGIN_STATIC_DECLARE(rawparse); #if defined(GST_IOS_PLUGIN_REMOVESILENCE) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(removesilence); #endif -#if defined(GST_IOS_PLUGIN_SCALETEMPO) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(scaletempo); -#endif #if defined(GST_IOS_PLUGIN_SEGMENTCLIP) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(segmentclip); #endif #if defined(GST_IOS_PLUGIN_SMOOTH) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(smooth); #endif -#if defined(GST_IOS_PLUGIN_SOUNDTOUCH) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(soundtouch); -#endif #if defined(GST_IOS_PLUGIN_SPEED) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(speed); #endif -#if defined(GST_IOS_PLUGIN_STEREO) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(stereo); -#endif #if defined(GST_IOS_PLUGIN_VIDEOFILTERSBAD) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(videofiltersbad); #endif -#if defined(GST_IOS_PLUGIN_VIDEOMEASURE) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(videomeasure); -#endif -#if defined(GST_IOS_PLUGIN_VIDEOSIGNAL) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(videosignal); -#endif #if defined(GST_IOS_PLUGIN_SUBPARSE) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(subparse); #endif @@ -309,9 +291,6 @@ GST_PLUGIN_STATIC_DECLARE(ivorbisdec); #if defined(GST_IOS_PLUGIN_ALAW) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(alaw); #endif -#if defined(GST_IOS_PLUGIN_ANNODEX) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(annodex); -#endif #if defined(GST_IOS_PLUGIN_APETAG) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(apetag); #endif @@ -366,6 +345,9 @@ GST_PLUGIN_STATIC_DECLARE(speex); #if defined(GST_IOS_PLUGIN_TAGLIB) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(taglib); #endif +#if defined(GST_IOS_PLUGIN_VPX) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(vpx); +#endif #if defined(GST_IOS_PLUGIN_WAVENC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(wavenc); #endif @@ -384,17 +366,8 @@ GST_PLUGIN_STATIC_DECLARE(adpcmdec); #if defined(GST_IOS_PLUGIN_ADPCMENC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(adpcmenc); #endif -#if defined(GST_IOS_PLUGIN_AIFF) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(aiff); -#endif -#if defined(GST_IOS_PLUGIN_CDXAPARSE) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(cdxaparse); -#endif -#if defined(GST_IOS_PLUGIN_DCCP) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(dccp); -#endif -#if defined(GST_IOS_PLUGIN_DTMF) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(dtmf); +#if defined(GST_IOS_PLUGIN_DASHDEMUX) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(dashdemux); #endif #if defined(GST_IOS_PLUGIN_DVBSUBOVERLAY) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(dvbsuboverlay); @@ -405,33 +378,18 @@ GST_PLUGIN_STATIC_DECLARE(dvdspu); #if defined(GST_IOS_PLUGIN_FRAGMENTED) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(fragmented); #endif -#if defined(GST_IOS_PLUGIN_HDVPARSE) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(hdvparse); -#endif #if defined(GST_IOS_PLUGIN_ID3TAG) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(id3tag); #endif -#if defined(GST_IOS_PLUGIN_IVFPARSE) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(ivfparse); -#endif -#if defined(GST_IOS_PLUGIN_JP2K) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(jp2k); -#endif #if defined(GST_IOS_PLUGIN_KATE) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(kate); #endif -#if defined(GST_IOS_PLUGIN_MVE) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(mve); +#if defined(GST_IOS_PLUGIN_MIDI) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(midi); #endif #if defined(GST_IOS_PLUGIN_MXF) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(mxf); #endif -#if defined(GST_IOS_PLUGIN_NSF) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(nsf); -#endif -#if defined(GST_IOS_PLUGIN_NUVDEMUX) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(nuvdemux); -#endif #if defined(GST_IOS_PLUGIN_OPUS) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(opus); #endif @@ -441,30 +399,30 @@ GST_PLUGIN_STATIC_DECLARE(pcapparse); #if defined(GST_IOS_PLUGIN_PNM) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(pnm); #endif +#if defined(GST_IOS_PLUGIN_RFBSRC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(rfbsrc); +#endif #if defined(GST_IOS_PLUGIN_SCHRO) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(schro); #endif #if defined(GST_IOS_PLUGIN_GSTSIREN) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(gstsiren); #endif +#if defined(GST_IOS_PLUGIN_SMOOTHSTREAMING) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(smoothstreaming); +#endif #if defined(GST_IOS_PLUGIN_SUBENC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(subenc); #endif -#if defined(GST_IOS_PLUGIN_TTA) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(tta); -#endif #if defined(GST_IOS_PLUGIN_VIDEOPARSERSBAD) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(videoparsersbad); #endif -#if defined(GST_IOS_PLUGIN_VMNC) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(vmnc); -#endif -#if defined(GST_IOS_PLUGIN_VP8) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(vp8); -#endif #if defined(GST_IOS_PLUGIN_Y4MDEC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(y4mdec); #endif +#if defined(GST_IOS_PLUGIN_JPEGFORMAT) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(jpegformat); +#endif #if defined(GST_IOS_PLUGIN_TCP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(tcp); #endif @@ -474,8 +432,8 @@ GST_PLUGIN_STATIC_DECLARE(rtsp); #if defined(GST_IOS_PLUGIN_RTP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(rtp); #endif -#if defined(GST_IOS_PLUGIN_GSTRTPMANAGER) || defined(GST_IOS_PLUGINS_NET) -GST_PLUGIN_STATIC_DECLARE(gstrtpmanager); +#if defined(GST_IOS_PLUGIN_RTPMANAGER) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(rtpmanager); #endif #if defined(GST_IOS_PLUGIN_SOUP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(soup); @@ -486,16 +444,15 @@ GST_PLUGIN_STATIC_DECLARE(udp); #if defined(GST_IOS_PLUGIN_DATAURISRC) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(dataurisrc); #endif -#if defined(GST_IOS_PLUGIN_RTPMUX) || defined(GST_IOS_PLUGINS_NET) -GST_PLUGIN_STATIC_DECLARE(rtpmux); -#endif -#if defined(GST_IOS_PLUGIN_RTPVP8) || defined(GST_IOS_PLUGINS_NET) -GST_PLUGIN_STATIC_DECLARE(rtpvp8); -#endif #if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(sdp); #endif +#if defined(GST_IOS_GIO_MODULE_GNUTLS) + #include + G_IO_MODULE_DECLARE(gnutls); +#endif + void gst_ios_init (void) { @@ -515,7 +472,7 @@ gst_ios_init (void) g_setenv ("TEMP", tmp_dir, TRUE); g_setenv ("TMPDIR", tmp_dir, TRUE); g_setenv ("XDG_RUNTIME_DIR", resources_dir, TRUE); - g_setenv ("XDG_CACHE_DIR", cache_dir, TRUE); + g_setenv ("XDG_CACHE_HOME", cache_dir, TRUE); g_setenv ("HOME", docs_dir, TRUE); g_setenv ("XDG_DATA_DIRS", resources_dir, TRUE); @@ -529,9 +486,6 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(coreelements); #endif -#if defined(GST_IOS_PLUGIN_COREINDEXERS) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(coreindexers); -#endif #if defined(GST_IOS_PLUGIN_ADDER) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(adder); #endif @@ -550,12 +504,6 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_AUDIOTESTSRC) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(audiotestsrc); #endif -#if defined(GST_IOS_PLUGIN_FFMPEGCOLORSPACE) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(ffmpegcolorspace); -#endif -#if defined(GST_IOS_PLUGIN_GDP) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(gdp); -#endif #if defined(GST_IOS_PLUGIN_GIO) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(gio); #endif @@ -565,6 +513,9 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_TYPEFINDFUNCTIONS) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(typefindfunctions); #endif +#if defined(GST_IOS_PLUGIN_VIDEOCONVERT) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(videoconvert); +#endif #if defined(GST_IOS_PLUGIN_VIDEORATE) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(videorate); #endif @@ -583,8 +534,8 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_VIDEOFILTER) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(videofilter); #endif -#if defined(GST_IOS_PLUGIN_CAMERABIN2) || defined(GST_IOS_PLUGINS_CAPTURE) - GST_PLUGIN_STATIC_REGISTER(camerabin2); +#if defined(GST_IOS_PLUGIN_CAMERABIN) || defined(GST_IOS_PLUGINS_CAPTURE) + GST_PLUGIN_STATIC_REGISTER(camerabin); #endif #if defined(GST_IOS_PLUGIN_ASFMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(asfmux); @@ -595,8 +546,8 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_FAAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(faad); #endif -#if defined(GST_IOS_PLUGIN_MPEGDEMUX2) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) - GST_PLUGIN_STATIC_REGISTER(mpegdemux2); +#if defined(GST_IOS_PLUGIN_MPEGPSDEMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mpegpsdemux); #endif #if defined(GST_IOS_PLUGIN_MPEGPSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(mpegpsmux); @@ -619,14 +570,20 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_ASF) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(asf); #endif +#if defined(GST_IOS_PLUGIN_DVDSUB) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(dvdsub); +#endif +#if defined(GST_IOS_PLUGIN_DVDLPCMDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(dvdlpcmdec); +#endif #if defined(GST_IOS_PLUGIN_MAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(mad); #endif #if defined(GST_IOS_PLUGIN_MPEG2DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(mpeg2dec); #endif -#if defined(GST_IOS_PLUGIN_MPEGAUDIOPARSE) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) - GST_PLUGIN_STATIC_REGISTER(mpegaudioparse); +#if defined(GST_IOS_PLUGIN_XINGMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(xingmux); #endif #if defined(GST_IOS_PLUGIN_REALMEDIA) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(realmedia); @@ -634,21 +591,12 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_X264) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(x264); #endif -#if defined(GST_IOS_PLUGIN_FFMPEG) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) - GST_PLUGIN_STATIC_REGISTER(ffmpeg); +#if defined(GST_IOS_PLUGIN_LIBAV) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(libav); #endif #if defined(GST_IOS_PLUGIN_ENCODING) || defined(GST_IOS_PLUGINS_ENCODING) GST_PLUGIN_STATIC_REGISTER(encoding); #endif -#if defined(GST_IOS_PLUGIN_INDVD) || defined(GST_IOS_PLUGINS_DVD) - GST_PLUGIN_STATIC_REGISTER(indvd); -#endif -#if defined(GST_IOS_PLUGIN_DVDLPCMDEC) || defined(GST_IOS_PLUGINS_DVD) - GST_PLUGIN_STATIC_REGISTER(dvdlpcmdec); -#endif -#if defined(GST_IOS_PLUGIN_DVDREAD) || defined(GST_IOS_PLUGINS_DVD) - GST_PLUGIN_STATIC_REGISTER(dvdread); -#endif #if defined(GST_IOS_PLUGIN_ASSRENDER) || defined(GST_IOS_PLUGINS_CODECS_GPL) GST_PLUGIN_STATIC_REGISTER(assrender); #endif @@ -658,14 +606,11 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_OSXAUDIO) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_REGISTER(osxaudio); #endif -#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) - GST_PLUGIN_STATIC_REGISTER(eglglessink); -#endif #if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_REGISTER(applemedia); #endif -#if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS) - GST_PLUGIN_STATIC_REGISTER(applemedia_nonpublic); +#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) + GST_PLUGIN_STATIC_REGISTER(eglglessink); #endif #if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_REGISTER(libvisual); @@ -679,9 +624,6 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_AUDIOVISUALIZERS) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_REGISTER(audiovisualizers); #endif -#if defined(GST_IOS_PLUGIN_URIDECODEBIN) || defined(GST_IOS_PLUGINS_PLAYBACK) - GST_PLUGIN_STATIC_REGISTER(uridecodebin); -#endif #if defined(GST_IOS_PLUGIN_PLAYBACK) || defined(GST_IOS_PLUGINS_PLAYBACK) GST_PLUGIN_STATIC_REGISTER(playback); #endif @@ -706,6 +648,9 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_DEINTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(deinterlace); #endif +#if defined(GST_IOS_PLUGIN_DTMF) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(dtmf); +#endif #if defined(GST_IOS_PLUGIN_EFFECTV) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(effectv); #endif @@ -748,6 +693,15 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_VIDEOMIXER) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(videomixer); #endif +#if defined(GST_IOS_PLUGIN_ACCURIP) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(accurip); +#endif +#if defined(GST_IOS_PLUGIN_AIFF) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(aiff); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOFXBAD) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(audiofxbad); +#endif #if defined(GST_IOS_PLUGIN_AUTOCONVERT) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(autoconvert); #endif @@ -757,8 +711,8 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_COLOREFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(coloreffects); #endif -#if defined(GST_IOS_PLUGIN_FACEOVERLAY) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(faceoverlay); +#if defined(GST_IOS_PLUGIN_DEBUGUTILSBAD) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(debugutilsbad); #endif #if defined(GST_IOS_PLUGIN_FIELDANALYSIS) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(fieldanalysis); @@ -778,8 +732,8 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_INTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(interlace); #endif -#if defined(GST_IOS_PLUGIN_JP2KDECIMATOR) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(jp2kdecimator); +#if defined(GST_IOS_PLUGIN_IVTC) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(ivtc); #endif #if defined(GST_IOS_PLUGIN_LIVEADDER) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(liveadder); @@ -790,33 +744,18 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_REMOVESILENCE) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(removesilence); #endif -#if defined(GST_IOS_PLUGIN_SCALETEMPO) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(scaletempo); -#endif #if defined(GST_IOS_PLUGIN_SEGMENTCLIP) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(segmentclip); #endif #if defined(GST_IOS_PLUGIN_SMOOTH) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(smooth); #endif -#if defined(GST_IOS_PLUGIN_SOUNDTOUCH) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(soundtouch); -#endif #if defined(GST_IOS_PLUGIN_SPEED) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(speed); #endif -#if defined(GST_IOS_PLUGIN_STEREO) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(stereo); -#endif #if defined(GST_IOS_PLUGIN_VIDEOFILTERSBAD) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(videofiltersbad); #endif -#if defined(GST_IOS_PLUGIN_VIDEOMEASURE) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(videomeasure); -#endif -#if defined(GST_IOS_PLUGIN_VIDEOSIGNAL) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(videosignal); -#endif #if defined(GST_IOS_PLUGIN_SUBPARSE) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(subparse); #endif @@ -835,9 +774,6 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_ALAW) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(alaw); #endif -#if defined(GST_IOS_PLUGIN_ANNODEX) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(annodex); -#endif #if defined(GST_IOS_PLUGIN_APETAG) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(apetag); #endif @@ -892,6 +828,9 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_TAGLIB) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(taglib); #endif +#if defined(GST_IOS_PLUGIN_VPX) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(vpx); +#endif #if defined(GST_IOS_PLUGIN_WAVENC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(wavenc); #endif @@ -910,17 +849,8 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_ADPCMENC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(adpcmenc); #endif -#if defined(GST_IOS_PLUGIN_AIFF) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(aiff); -#endif -#if defined(GST_IOS_PLUGIN_CDXAPARSE) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(cdxaparse); -#endif -#if defined(GST_IOS_PLUGIN_DCCP) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(dccp); -#endif -#if defined(GST_IOS_PLUGIN_DTMF) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(dtmf); +#if defined(GST_IOS_PLUGIN_DASHDEMUX) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(dashdemux); #endif #if defined(GST_IOS_PLUGIN_DVBSUBOVERLAY) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(dvbsuboverlay); @@ -931,33 +861,18 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_FRAGMENTED) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(fragmented); #endif -#if defined(GST_IOS_PLUGIN_HDVPARSE) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(hdvparse); -#endif #if defined(GST_IOS_PLUGIN_ID3TAG) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(id3tag); #endif -#if defined(GST_IOS_PLUGIN_IVFPARSE) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(ivfparse); -#endif -#if defined(GST_IOS_PLUGIN_JP2K) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(jp2k); -#endif #if defined(GST_IOS_PLUGIN_KATE) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(kate); #endif -#if defined(GST_IOS_PLUGIN_MVE) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(mve); +#if defined(GST_IOS_PLUGIN_MIDI) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(midi); #endif #if defined(GST_IOS_PLUGIN_MXF) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(mxf); #endif -#if defined(GST_IOS_PLUGIN_NSF) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(nsf); -#endif -#if defined(GST_IOS_PLUGIN_NUVDEMUX) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(nuvdemux); -#endif #if defined(GST_IOS_PLUGIN_OPUS) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(opus); #endif @@ -967,30 +882,30 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_PNM) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(pnm); #endif +#if defined(GST_IOS_PLUGIN_RFBSRC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(rfbsrc); +#endif #if defined(GST_IOS_PLUGIN_SCHRO) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(schro); #endif #if defined(GST_IOS_PLUGIN_GSTSIREN) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(gstsiren); #endif +#if defined(GST_IOS_PLUGIN_SMOOTHSTREAMING) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(smoothstreaming); +#endif #if defined(GST_IOS_PLUGIN_SUBENC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(subenc); #endif -#if defined(GST_IOS_PLUGIN_TTA) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(tta); -#endif #if defined(GST_IOS_PLUGIN_VIDEOPARSERSBAD) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(videoparsersbad); #endif -#if defined(GST_IOS_PLUGIN_VMNC) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(vmnc); -#endif -#if defined(GST_IOS_PLUGIN_VP8) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(vp8); -#endif #if defined(GST_IOS_PLUGIN_Y4MDEC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(y4mdec); #endif +#if defined(GST_IOS_PLUGIN_JPEGFORMAT) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(jpegformat); +#endif #if defined(GST_IOS_PLUGIN_TCP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(tcp); #endif @@ -1000,8 +915,8 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_RTP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(rtp); #endif -#if defined(GST_IOS_PLUGIN_GSTRTPMANAGER) || defined(GST_IOS_PLUGINS_NET) - GST_PLUGIN_STATIC_REGISTER(gstrtpmanager); +#if defined(GST_IOS_PLUGIN_RTPMANAGER) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(rtpmanager); #endif #if defined(GST_IOS_PLUGIN_SOUP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(soup); @@ -1012,20 +927,17 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_DATAURISRC) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(dataurisrc); #endif -#if defined(GST_IOS_PLUGIN_RTPMUX) || defined(GST_IOS_PLUGINS_NET) - GST_PLUGIN_STATIC_REGISTER(rtpmux); -#endif -#if defined(GST_IOS_PLUGIN_RTPVP8) || defined(GST_IOS_PLUGINS_NET) - GST_PLUGIN_STATIC_REGISTER(rtpvp8); -#endif #if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(sdp); #endif +#if defined(GST_IOS_GIO_MODULE_GNUTLS) + G_IO_MODULE_LOAD(gnutls); +#endif /* Lower the ranks of filesrc and giosrc so iosavassetsrc is * tried first in gst_element_make_from_uri() for file:// */ - reg = gst_registry_get_default(); + reg = gst_registry_get(); plugin = gst_registry_lookup_feature(reg, "filesrc"); if (plugin) gst_plugin_feature_set_rank(plugin, GST_RANK_SECONDARY); diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m b/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m index dc7e0d64c1..c6170bc0c9 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/GStreamerBackend.m @@ -1,7 +1,6 @@ #import "GStreamerBackend.h" #include -#include #include GST_DEBUG_CATEGORY_STATIC (debug_category); @@ -120,7 +119,6 @@ GST_DEBUG_CATEGORY_STATIC (debug_category); /* If we have pipeline and it is running, query the current position and clip duration and inform * the application */ static gboolean refresh_ui (GStreamerBackend *self) { - GstFormat fmt = GST_FORMAT_TIME; gint64 position; /* We do not want to update anything unless we have a working pipeline in the PAUSED or PLAYING state */ @@ -129,10 +127,10 @@ static gboolean refresh_ui (GStreamerBackend *self) { /* If we didn't know it yet, query the stream duration */ if (!GST_CLOCK_TIME_IS_VALID (self->duration)) { - gst_element_query_duration (self->pipeline, &fmt, &self->duration); + gst_element_query_duration (self->pipeline, GST_FORMAT_TIME, &self->duration); } - if (gst_element_query_position (self->pipeline, &fmt, &position)) { + if (gst_element_query_position (self->pipeline, GST_FORMAT_TIME, &position)) { /* The UI expects these values in milliseconds, and GStreamer provides nanoseconds */ [self setCurrentUIPosition:position / GST_MSECOND duration:self->duration / GST_MSECOND]; } @@ -246,9 +244,7 @@ static void check_media_size (GStreamerBackend *self) { GstElement *video_sink; GstPad *video_sink_pad; GstCaps *caps; - GstVideoFormat fmt; - int width; - int height; + GstVideoInfo info; /* Retrieve the Caps at the entrance of the video sink */ g_object_get (self->pipeline, "video-sink", &video_sink, NULL); @@ -257,18 +253,15 @@ static void check_media_size (GStreamerBackend *self) { if (!video_sink) return; video_sink_pad = gst_element_get_static_pad (video_sink, "sink"); - caps = gst_pad_get_negotiated_caps (video_sink_pad); + caps = gst_pad_get_current_caps (video_sink_pad); - if (gst_video_format_parse_caps(caps, &fmt, &width, &height)) { - int par_n, par_d; - if (gst_video_parse_caps_pixel_aspect_ratio (caps, &par_n, &par_d)) { - width = width * par_n / par_d; - } - GST_DEBUG ("Media size is %dx%d, notifying application", width, height); + if (gst_video_info_from_caps (&info, caps)) { + info.width = info.width * info.par_n / info.par_d; + GST_DEBUG ("Media size is %dx%d, notifying application", info.width, info.height); if (self->ui_delegate && [self->ui_delegate respondsToSelector:@selector(mediaSizeChanged:height:)]) { - [self->ui_delegate mediaSizeChanged:width height:height]; + [self->ui_delegate mediaSizeChanged:info.width height:info.height]; } } @@ -329,7 +322,7 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *se g_main_context_push_thread_default(context); /* Build pipeline */ - pipeline = gst_parse_launch("playbin2", &error); + pipeline = gst_parse_launch("playbin", &error); if (error) { gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message); g_clear_error (&error); @@ -341,12 +334,12 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *se /* Set the pipeline to READY, so it can already accept a window handle */ gst_element_set_state(pipeline, GST_STATE_READY); - video_sink = gst_bin_get_by_interface(GST_BIN(pipeline), GST_TYPE_X_OVERLAY); + video_sink = gst_bin_get_by_interface(GST_BIN(pipeline), GST_TYPE_VIDEO_OVERLAY); if (!video_sink) { GST_ERROR ("Could not retrieve video sink"); return; } - gst_x_overlay_set_window_handle(GST_X_OVERLAY(video_sink), (guintptr) (id) ui_video_view); + gst_video_overlay_set_window_handle(GST_VIDEO_OVERLAY(video_sink), (guintptr) (id) ui_video_view); /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ bus = gst_element_get_bus (pipeline); diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.h b/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.h index 6129a94210..57064020b4 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.h @@ -11,18 +11,20 @@ G_BEGIN_DECLS #define GST_IOS_PLUGINS_CORE //#define GST_IOS_PLUGINS_CAPTURE -#define GST_IOS_PLUGINS_CODECS_RESTRICTED +//#define GST_IOS_PLUGINS_CODECS_RESTRICTED //#define GST_IOS_PLUGINS_ENCODING -//#define GST_IOS_PLUGINS_DVD -#define GST_IOS_PLUGINS_CODECS_GPL -#define GST_IOS_PLUGINS_NET_RESTRICTED +//#define GST_IOS_PLUGINS_CODECS_GPL +//#define GST_IOS_PLUGINS_NET_RESTRICTED #define GST_IOS_PLUGINS_SYS //#define GST_IOS_PLUGINS_VIS #define GST_IOS_PLUGINS_PLAYBACK -#define GST_IOS_PLUGINS_EFFECTS +//#define GST_IOS_PLUGINS_EFFECTS #define GST_IOS_PLUGINS_CODECS #define GST_IOS_PLUGINS_NET + +//#define GST_IOS_GIO_MODULE_GNUTLS + void gst_ios_init (); G_END_DECLS diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.m b/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.m index 53ddaebe29..7ae9b4447b 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.m @@ -3,9 +3,6 @@ #if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(coreelements); #endif -#if defined(GST_IOS_PLUGIN_COREINDEXERS) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(coreindexers); -#endif #if defined(GST_IOS_PLUGIN_ADDER) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(adder); #endif @@ -24,12 +21,6 @@ GST_PLUGIN_STATIC_DECLARE(audioresample); #if defined(GST_IOS_PLUGIN_AUDIOTESTSRC) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(audiotestsrc); #endif -#if defined(GST_IOS_PLUGIN_FFMPEGCOLORSPACE) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(ffmpegcolorspace); -#endif -#if defined(GST_IOS_PLUGIN_GDP) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(gdp); -#endif #if defined(GST_IOS_PLUGIN_GIO) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(gio); #endif @@ -39,6 +30,9 @@ GST_PLUGIN_STATIC_DECLARE(pango); #if defined(GST_IOS_PLUGIN_TYPEFINDFUNCTIONS) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(typefindfunctions); #endif +#if defined(GST_IOS_PLUGIN_VIDEOCONVERT) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(videoconvert); +#endif #if defined(GST_IOS_PLUGIN_VIDEORATE) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(videorate); #endif @@ -57,8 +51,8 @@ GST_PLUGIN_STATIC_DECLARE(autodetect); #if defined(GST_IOS_PLUGIN_VIDEOFILTER) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(videofilter); #endif -#if defined(GST_IOS_PLUGIN_CAMERABIN2) || defined(GST_IOS_PLUGINS_CAPTURE) -GST_PLUGIN_STATIC_DECLARE(camerabin2); +#if defined(GST_IOS_PLUGIN_CAMERABIN) || defined(GST_IOS_PLUGINS_CAPTURE) +GST_PLUGIN_STATIC_DECLARE(camerabin); #endif #if defined(GST_IOS_PLUGIN_ASFMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(asfmux); @@ -69,8 +63,8 @@ GST_PLUGIN_STATIC_DECLARE(dtsdec); #if defined(GST_IOS_PLUGIN_FAAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(faad); #endif -#if defined(GST_IOS_PLUGIN_MPEGDEMUX2) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) -GST_PLUGIN_STATIC_DECLARE(mpegdemux2); +#if defined(GST_IOS_PLUGIN_MPEGPSDEMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mpegpsdemux); #endif #if defined(GST_IOS_PLUGIN_MPEGPSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(mpegpsmux); @@ -93,14 +87,20 @@ GST_PLUGIN_STATIC_DECLARE(amrwbdec); #if defined(GST_IOS_PLUGIN_ASF) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(asf); #endif +#if defined(GST_IOS_PLUGIN_DVDSUB) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(dvdsub); +#endif +#if defined(GST_IOS_PLUGIN_DVDLPCMDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(dvdlpcmdec); +#endif #if defined(GST_IOS_PLUGIN_MAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(mad); #endif #if defined(GST_IOS_PLUGIN_MPEG2DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(mpeg2dec); #endif -#if defined(GST_IOS_PLUGIN_MPEGAUDIOPARSE) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) -GST_PLUGIN_STATIC_DECLARE(mpegaudioparse); +#if defined(GST_IOS_PLUGIN_XINGMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(xingmux); #endif #if defined(GST_IOS_PLUGIN_REALMEDIA) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(realmedia); @@ -108,21 +108,12 @@ GST_PLUGIN_STATIC_DECLARE(realmedia); #if defined(GST_IOS_PLUGIN_X264) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(x264); #endif -#if defined(GST_IOS_PLUGIN_FFMPEG) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) -GST_PLUGIN_STATIC_DECLARE(ffmpeg); +#if defined(GST_IOS_PLUGIN_LIBAV) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(libav); #endif #if defined(GST_IOS_PLUGIN_ENCODING) || defined(GST_IOS_PLUGINS_ENCODING) GST_PLUGIN_STATIC_DECLARE(encoding); #endif -#if defined(GST_IOS_PLUGIN_INDVD) || defined(GST_IOS_PLUGINS_DVD) -GST_PLUGIN_STATIC_DECLARE(indvd); -#endif -#if defined(GST_IOS_PLUGIN_DVDLPCMDEC) || defined(GST_IOS_PLUGINS_DVD) -GST_PLUGIN_STATIC_DECLARE(dvdlpcmdec); -#endif -#if defined(GST_IOS_PLUGIN_DVDREAD) || defined(GST_IOS_PLUGINS_DVD) -GST_PLUGIN_STATIC_DECLARE(dvdread); -#endif #if defined(GST_IOS_PLUGIN_ASSRENDER) || defined(GST_IOS_PLUGINS_CODECS_GPL) GST_PLUGIN_STATIC_DECLARE(assrender); #endif @@ -132,14 +123,11 @@ GST_PLUGIN_STATIC_DECLARE(mms); #if defined(GST_IOS_PLUGIN_OSXAUDIO) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_DECLARE(osxaudio); #endif -#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) -GST_PLUGIN_STATIC_DECLARE(eglglessink); -#endif #if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_DECLARE(applemedia); #endif -#if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS) -GST_PLUGIN_STATIC_DECLARE(applemedia_nonpublic); +#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) +GST_PLUGIN_STATIC_DECLARE(eglglessink); #endif #if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_DECLARE(libvisual); @@ -153,9 +141,6 @@ GST_PLUGIN_STATIC_DECLARE(goom2k1); #if defined(GST_IOS_PLUGIN_AUDIOVISUALIZERS) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_DECLARE(audiovisualizers); #endif -#if defined(GST_IOS_PLUGIN_URIDECODEBIN) || defined(GST_IOS_PLUGINS_PLAYBACK) -GST_PLUGIN_STATIC_DECLARE(uridecodebin); -#endif #if defined(GST_IOS_PLUGIN_PLAYBACK) || defined(GST_IOS_PLUGINS_PLAYBACK) GST_PLUGIN_STATIC_DECLARE(playback); #endif @@ -180,6 +165,9 @@ GST_PLUGIN_STATIC_DECLARE(debug); #if defined(GST_IOS_PLUGIN_DEINTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(deinterlace); #endif +#if defined(GST_IOS_PLUGIN_DTMF) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(dtmf); +#endif #if defined(GST_IOS_PLUGIN_EFFECTV) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(effectv); #endif @@ -222,6 +210,15 @@ GST_PLUGIN_STATIC_DECLARE(videocrop); #if defined(GST_IOS_PLUGIN_VIDEOMIXER) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(videomixer); #endif +#if defined(GST_IOS_PLUGIN_ACCURIP) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(accurip); +#endif +#if defined(GST_IOS_PLUGIN_AIFF) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(aiff); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOFXBAD) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(audiofxbad); +#endif #if defined(GST_IOS_PLUGIN_AUTOCONVERT) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(autoconvert); #endif @@ -231,8 +228,8 @@ GST_PLUGIN_STATIC_DECLARE(bayer); #if defined(GST_IOS_PLUGIN_COLOREFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(coloreffects); #endif -#if defined(GST_IOS_PLUGIN_FACEOVERLAY) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(faceoverlay); +#if defined(GST_IOS_PLUGIN_DEBUGUTILSBAD) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(debugutilsbad); #endif #if defined(GST_IOS_PLUGIN_FIELDANALYSIS) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(fieldanalysis); @@ -252,8 +249,8 @@ GST_PLUGIN_STATIC_DECLARE(geometrictransform); #if defined(GST_IOS_PLUGIN_INTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(interlace); #endif -#if defined(GST_IOS_PLUGIN_JP2KDECIMATOR) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(jp2kdecimator); +#if defined(GST_IOS_PLUGIN_IVTC) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(ivtc); #endif #if defined(GST_IOS_PLUGIN_LIVEADDER) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(liveadder); @@ -264,33 +261,18 @@ GST_PLUGIN_STATIC_DECLARE(rawparse); #if defined(GST_IOS_PLUGIN_REMOVESILENCE) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(removesilence); #endif -#if defined(GST_IOS_PLUGIN_SCALETEMPO) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(scaletempo); -#endif #if defined(GST_IOS_PLUGIN_SEGMENTCLIP) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(segmentclip); #endif #if defined(GST_IOS_PLUGIN_SMOOTH) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(smooth); #endif -#if defined(GST_IOS_PLUGIN_SOUNDTOUCH) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(soundtouch); -#endif #if defined(GST_IOS_PLUGIN_SPEED) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(speed); #endif -#if defined(GST_IOS_PLUGIN_STEREO) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(stereo); -#endif #if defined(GST_IOS_PLUGIN_VIDEOFILTERSBAD) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(videofiltersbad); #endif -#if defined(GST_IOS_PLUGIN_VIDEOMEASURE) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(videomeasure); -#endif -#if defined(GST_IOS_PLUGIN_VIDEOSIGNAL) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(videosignal); -#endif #if defined(GST_IOS_PLUGIN_SUBPARSE) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(subparse); #endif @@ -309,9 +291,6 @@ GST_PLUGIN_STATIC_DECLARE(ivorbisdec); #if defined(GST_IOS_PLUGIN_ALAW) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(alaw); #endif -#if defined(GST_IOS_PLUGIN_ANNODEX) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(annodex); -#endif #if defined(GST_IOS_PLUGIN_APETAG) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(apetag); #endif @@ -366,6 +345,9 @@ GST_PLUGIN_STATIC_DECLARE(speex); #if defined(GST_IOS_PLUGIN_TAGLIB) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(taglib); #endif +#if defined(GST_IOS_PLUGIN_VPX) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(vpx); +#endif #if defined(GST_IOS_PLUGIN_WAVENC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(wavenc); #endif @@ -384,17 +366,8 @@ GST_PLUGIN_STATIC_DECLARE(adpcmdec); #if defined(GST_IOS_PLUGIN_ADPCMENC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(adpcmenc); #endif -#if defined(GST_IOS_PLUGIN_AIFF) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(aiff); -#endif -#if defined(GST_IOS_PLUGIN_CDXAPARSE) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(cdxaparse); -#endif -#if defined(GST_IOS_PLUGIN_DCCP) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(dccp); -#endif -#if defined(GST_IOS_PLUGIN_DTMF) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(dtmf); +#if defined(GST_IOS_PLUGIN_DASHDEMUX) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(dashdemux); #endif #if defined(GST_IOS_PLUGIN_DVBSUBOVERLAY) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(dvbsuboverlay); @@ -405,33 +378,18 @@ GST_PLUGIN_STATIC_DECLARE(dvdspu); #if defined(GST_IOS_PLUGIN_FRAGMENTED) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(fragmented); #endif -#if defined(GST_IOS_PLUGIN_HDVPARSE) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(hdvparse); -#endif #if defined(GST_IOS_PLUGIN_ID3TAG) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(id3tag); #endif -#if defined(GST_IOS_PLUGIN_IVFPARSE) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(ivfparse); -#endif -#if defined(GST_IOS_PLUGIN_JP2K) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(jp2k); -#endif #if defined(GST_IOS_PLUGIN_KATE) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(kate); #endif -#if defined(GST_IOS_PLUGIN_MVE) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(mve); +#if defined(GST_IOS_PLUGIN_MIDI) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(midi); #endif #if defined(GST_IOS_PLUGIN_MXF) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(mxf); #endif -#if defined(GST_IOS_PLUGIN_NSF) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(nsf); -#endif -#if defined(GST_IOS_PLUGIN_NUVDEMUX) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(nuvdemux); -#endif #if defined(GST_IOS_PLUGIN_OPUS) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(opus); #endif @@ -441,30 +399,30 @@ GST_PLUGIN_STATIC_DECLARE(pcapparse); #if defined(GST_IOS_PLUGIN_PNM) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(pnm); #endif +#if defined(GST_IOS_PLUGIN_RFBSRC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(rfbsrc); +#endif #if defined(GST_IOS_PLUGIN_SCHRO) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(schro); #endif #if defined(GST_IOS_PLUGIN_GSTSIREN) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(gstsiren); #endif +#if defined(GST_IOS_PLUGIN_SMOOTHSTREAMING) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(smoothstreaming); +#endif #if defined(GST_IOS_PLUGIN_SUBENC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(subenc); #endif -#if defined(GST_IOS_PLUGIN_TTA) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(tta); -#endif #if defined(GST_IOS_PLUGIN_VIDEOPARSERSBAD) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(videoparsersbad); #endif -#if defined(GST_IOS_PLUGIN_VMNC) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(vmnc); -#endif -#if defined(GST_IOS_PLUGIN_VP8) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(vp8); -#endif #if defined(GST_IOS_PLUGIN_Y4MDEC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(y4mdec); #endif +#if defined(GST_IOS_PLUGIN_JPEGFORMAT) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(jpegformat); +#endif #if defined(GST_IOS_PLUGIN_TCP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(tcp); #endif @@ -474,8 +432,8 @@ GST_PLUGIN_STATIC_DECLARE(rtsp); #if defined(GST_IOS_PLUGIN_RTP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(rtp); #endif -#if defined(GST_IOS_PLUGIN_GSTRTPMANAGER) || defined(GST_IOS_PLUGINS_NET) -GST_PLUGIN_STATIC_DECLARE(gstrtpmanager); +#if defined(GST_IOS_PLUGIN_RTPMANAGER) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(rtpmanager); #endif #if defined(GST_IOS_PLUGIN_SOUP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(soup); @@ -486,16 +444,15 @@ GST_PLUGIN_STATIC_DECLARE(udp); #if defined(GST_IOS_PLUGIN_DATAURISRC) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(dataurisrc); #endif -#if defined(GST_IOS_PLUGIN_RTPMUX) || defined(GST_IOS_PLUGINS_NET) -GST_PLUGIN_STATIC_DECLARE(rtpmux); -#endif -#if defined(GST_IOS_PLUGIN_RTPVP8) || defined(GST_IOS_PLUGINS_NET) -GST_PLUGIN_STATIC_DECLARE(rtpvp8); -#endif #if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(sdp); #endif +#if defined(GST_IOS_GIO_MODULE_GNUTLS) + #include + G_IO_MODULE_DECLARE(gnutls); +#endif + void gst_ios_init (void) { @@ -515,7 +472,7 @@ gst_ios_init (void) g_setenv ("TEMP", tmp_dir, TRUE); g_setenv ("TMPDIR", tmp_dir, TRUE); g_setenv ("XDG_RUNTIME_DIR", resources_dir, TRUE); - g_setenv ("XDG_CACHE_DIR", cache_dir, TRUE); + g_setenv ("XDG_CACHE_HOME", cache_dir, TRUE); g_setenv ("HOME", docs_dir, TRUE); g_setenv ("XDG_DATA_DIRS", resources_dir, TRUE); @@ -529,9 +486,6 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(coreelements); #endif -#if defined(GST_IOS_PLUGIN_COREINDEXERS) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(coreindexers); -#endif #if defined(GST_IOS_PLUGIN_ADDER) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(adder); #endif @@ -550,12 +504,6 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_AUDIOTESTSRC) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(audiotestsrc); #endif -#if defined(GST_IOS_PLUGIN_FFMPEGCOLORSPACE) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(ffmpegcolorspace); -#endif -#if defined(GST_IOS_PLUGIN_GDP) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(gdp); -#endif #if defined(GST_IOS_PLUGIN_GIO) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(gio); #endif @@ -565,6 +513,9 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_TYPEFINDFUNCTIONS) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(typefindfunctions); #endif +#if defined(GST_IOS_PLUGIN_VIDEOCONVERT) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(videoconvert); +#endif #if defined(GST_IOS_PLUGIN_VIDEORATE) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(videorate); #endif @@ -583,8 +534,8 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_VIDEOFILTER) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(videofilter); #endif -#if defined(GST_IOS_PLUGIN_CAMERABIN2) || defined(GST_IOS_PLUGINS_CAPTURE) - GST_PLUGIN_STATIC_REGISTER(camerabin2); +#if defined(GST_IOS_PLUGIN_CAMERABIN) || defined(GST_IOS_PLUGINS_CAPTURE) + GST_PLUGIN_STATIC_REGISTER(camerabin); #endif #if defined(GST_IOS_PLUGIN_ASFMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(asfmux); @@ -595,8 +546,8 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_FAAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(faad); #endif -#if defined(GST_IOS_PLUGIN_MPEGDEMUX2) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) - GST_PLUGIN_STATIC_REGISTER(mpegdemux2); +#if defined(GST_IOS_PLUGIN_MPEGPSDEMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mpegpsdemux); #endif #if defined(GST_IOS_PLUGIN_MPEGPSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(mpegpsmux); @@ -619,14 +570,20 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_ASF) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(asf); #endif +#if defined(GST_IOS_PLUGIN_DVDSUB) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(dvdsub); +#endif +#if defined(GST_IOS_PLUGIN_DVDLPCMDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(dvdlpcmdec); +#endif #if defined(GST_IOS_PLUGIN_MAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(mad); #endif #if defined(GST_IOS_PLUGIN_MPEG2DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(mpeg2dec); #endif -#if defined(GST_IOS_PLUGIN_MPEGAUDIOPARSE) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) - GST_PLUGIN_STATIC_REGISTER(mpegaudioparse); +#if defined(GST_IOS_PLUGIN_XINGMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(xingmux); #endif #if defined(GST_IOS_PLUGIN_REALMEDIA) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(realmedia); @@ -634,21 +591,12 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_X264) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(x264); #endif -#if defined(GST_IOS_PLUGIN_FFMPEG) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) - GST_PLUGIN_STATIC_REGISTER(ffmpeg); +#if defined(GST_IOS_PLUGIN_LIBAV) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(libav); #endif #if defined(GST_IOS_PLUGIN_ENCODING) || defined(GST_IOS_PLUGINS_ENCODING) GST_PLUGIN_STATIC_REGISTER(encoding); #endif -#if defined(GST_IOS_PLUGIN_INDVD) || defined(GST_IOS_PLUGINS_DVD) - GST_PLUGIN_STATIC_REGISTER(indvd); -#endif -#if defined(GST_IOS_PLUGIN_DVDLPCMDEC) || defined(GST_IOS_PLUGINS_DVD) - GST_PLUGIN_STATIC_REGISTER(dvdlpcmdec); -#endif -#if defined(GST_IOS_PLUGIN_DVDREAD) || defined(GST_IOS_PLUGINS_DVD) - GST_PLUGIN_STATIC_REGISTER(dvdread); -#endif #if defined(GST_IOS_PLUGIN_ASSRENDER) || defined(GST_IOS_PLUGINS_CODECS_GPL) GST_PLUGIN_STATIC_REGISTER(assrender); #endif @@ -658,14 +606,11 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_OSXAUDIO) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_REGISTER(osxaudio); #endif -#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) - GST_PLUGIN_STATIC_REGISTER(eglglessink); -#endif #if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_REGISTER(applemedia); #endif -#if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS) - GST_PLUGIN_STATIC_REGISTER(applemedia_nonpublic); +#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) + GST_PLUGIN_STATIC_REGISTER(eglglessink); #endif #if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_REGISTER(libvisual); @@ -679,9 +624,6 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_AUDIOVISUALIZERS) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_REGISTER(audiovisualizers); #endif -#if defined(GST_IOS_PLUGIN_URIDECODEBIN) || defined(GST_IOS_PLUGINS_PLAYBACK) - GST_PLUGIN_STATIC_REGISTER(uridecodebin); -#endif #if defined(GST_IOS_PLUGIN_PLAYBACK) || defined(GST_IOS_PLUGINS_PLAYBACK) GST_PLUGIN_STATIC_REGISTER(playback); #endif @@ -706,6 +648,9 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_DEINTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(deinterlace); #endif +#if defined(GST_IOS_PLUGIN_DTMF) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(dtmf); +#endif #if defined(GST_IOS_PLUGIN_EFFECTV) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(effectv); #endif @@ -748,6 +693,15 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_VIDEOMIXER) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(videomixer); #endif +#if defined(GST_IOS_PLUGIN_ACCURIP) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(accurip); +#endif +#if defined(GST_IOS_PLUGIN_AIFF) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(aiff); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOFXBAD) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(audiofxbad); +#endif #if defined(GST_IOS_PLUGIN_AUTOCONVERT) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(autoconvert); #endif @@ -757,8 +711,8 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_COLOREFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(coloreffects); #endif -#if defined(GST_IOS_PLUGIN_FACEOVERLAY) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(faceoverlay); +#if defined(GST_IOS_PLUGIN_DEBUGUTILSBAD) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(debugutilsbad); #endif #if defined(GST_IOS_PLUGIN_FIELDANALYSIS) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(fieldanalysis); @@ -778,8 +732,8 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_INTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(interlace); #endif -#if defined(GST_IOS_PLUGIN_JP2KDECIMATOR) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(jp2kdecimator); +#if defined(GST_IOS_PLUGIN_IVTC) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(ivtc); #endif #if defined(GST_IOS_PLUGIN_LIVEADDER) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(liveadder); @@ -790,33 +744,18 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_REMOVESILENCE) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(removesilence); #endif -#if defined(GST_IOS_PLUGIN_SCALETEMPO) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(scaletempo); -#endif #if defined(GST_IOS_PLUGIN_SEGMENTCLIP) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(segmentclip); #endif #if defined(GST_IOS_PLUGIN_SMOOTH) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(smooth); #endif -#if defined(GST_IOS_PLUGIN_SOUNDTOUCH) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(soundtouch); -#endif #if defined(GST_IOS_PLUGIN_SPEED) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(speed); #endif -#if defined(GST_IOS_PLUGIN_STEREO) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(stereo); -#endif #if defined(GST_IOS_PLUGIN_VIDEOFILTERSBAD) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(videofiltersbad); #endif -#if defined(GST_IOS_PLUGIN_VIDEOMEASURE) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(videomeasure); -#endif -#if defined(GST_IOS_PLUGIN_VIDEOSIGNAL) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(videosignal); -#endif #if defined(GST_IOS_PLUGIN_SUBPARSE) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(subparse); #endif @@ -835,9 +774,6 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_ALAW) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(alaw); #endif -#if defined(GST_IOS_PLUGIN_ANNODEX) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(annodex); -#endif #if defined(GST_IOS_PLUGIN_APETAG) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(apetag); #endif @@ -892,6 +828,9 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_TAGLIB) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(taglib); #endif +#if defined(GST_IOS_PLUGIN_VPX) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(vpx); +#endif #if defined(GST_IOS_PLUGIN_WAVENC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(wavenc); #endif @@ -910,17 +849,8 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_ADPCMENC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(adpcmenc); #endif -#if defined(GST_IOS_PLUGIN_AIFF) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(aiff); -#endif -#if defined(GST_IOS_PLUGIN_CDXAPARSE) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(cdxaparse); -#endif -#if defined(GST_IOS_PLUGIN_DCCP) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(dccp); -#endif -#if defined(GST_IOS_PLUGIN_DTMF) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(dtmf); +#if defined(GST_IOS_PLUGIN_DASHDEMUX) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(dashdemux); #endif #if defined(GST_IOS_PLUGIN_DVBSUBOVERLAY) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(dvbsuboverlay); @@ -931,33 +861,18 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_FRAGMENTED) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(fragmented); #endif -#if defined(GST_IOS_PLUGIN_HDVPARSE) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(hdvparse); -#endif #if defined(GST_IOS_PLUGIN_ID3TAG) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(id3tag); #endif -#if defined(GST_IOS_PLUGIN_IVFPARSE) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(ivfparse); -#endif -#if defined(GST_IOS_PLUGIN_JP2K) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(jp2k); -#endif #if defined(GST_IOS_PLUGIN_KATE) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(kate); #endif -#if defined(GST_IOS_PLUGIN_MVE) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(mve); +#if defined(GST_IOS_PLUGIN_MIDI) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(midi); #endif #if defined(GST_IOS_PLUGIN_MXF) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(mxf); #endif -#if defined(GST_IOS_PLUGIN_NSF) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(nsf); -#endif -#if defined(GST_IOS_PLUGIN_NUVDEMUX) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(nuvdemux); -#endif #if defined(GST_IOS_PLUGIN_OPUS) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(opus); #endif @@ -967,30 +882,30 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_PNM) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(pnm); #endif +#if defined(GST_IOS_PLUGIN_RFBSRC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(rfbsrc); +#endif #if defined(GST_IOS_PLUGIN_SCHRO) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(schro); #endif #if defined(GST_IOS_PLUGIN_GSTSIREN) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(gstsiren); #endif +#if defined(GST_IOS_PLUGIN_SMOOTHSTREAMING) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(smoothstreaming); +#endif #if defined(GST_IOS_PLUGIN_SUBENC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(subenc); #endif -#if defined(GST_IOS_PLUGIN_TTA) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(tta); -#endif #if defined(GST_IOS_PLUGIN_VIDEOPARSERSBAD) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(videoparsersbad); #endif -#if defined(GST_IOS_PLUGIN_VMNC) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(vmnc); -#endif -#if defined(GST_IOS_PLUGIN_VP8) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(vp8); -#endif #if defined(GST_IOS_PLUGIN_Y4MDEC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(y4mdec); #endif +#if defined(GST_IOS_PLUGIN_JPEGFORMAT) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(jpegformat); +#endif #if defined(GST_IOS_PLUGIN_TCP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(tcp); #endif @@ -1000,8 +915,8 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_RTP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(rtp); #endif -#if defined(GST_IOS_PLUGIN_GSTRTPMANAGER) || defined(GST_IOS_PLUGINS_NET) - GST_PLUGIN_STATIC_REGISTER(gstrtpmanager); +#if defined(GST_IOS_PLUGIN_RTPMANAGER) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(rtpmanager); #endif #if defined(GST_IOS_PLUGIN_SOUP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(soup); @@ -1012,20 +927,17 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_DATAURISRC) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(dataurisrc); #endif -#if defined(GST_IOS_PLUGIN_RTPMUX) || defined(GST_IOS_PLUGINS_NET) - GST_PLUGIN_STATIC_REGISTER(rtpmux); -#endif -#if defined(GST_IOS_PLUGIN_RTPVP8) || defined(GST_IOS_PLUGINS_NET) - GST_PLUGIN_STATIC_REGISTER(rtpvp8); -#endif #if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(sdp); #endif +#if defined(GST_IOS_GIO_MODULE_GNUTLS) + G_IO_MODULE_LOAD(gnutls); +#endif /* Lower the ranks of filesrc and giosrc so iosavassetsrc is * tried first in gst_element_make_from_uri() for file:// */ - reg = gst_registry_get_default(); + reg = gst_registry_get(); plugin = gst_registry_lookup_feature(reg, "filesrc"); if (plugin) gst_plugin_feature_set_rank(plugin, GST_RANK_SECONDARY); diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/GStreamerBackend.m b/gst-sdk/tutorials/xcode iOS/Tutorial 5/GStreamerBackend.m index 136123ad2f..234eabce64 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 5/GStreamerBackend.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/GStreamerBackend.m @@ -1,7 +1,6 @@ #import "GStreamerBackend.h" #include -#include #include GST_DEBUG_CATEGORY_STATIC (debug_category); @@ -120,7 +119,6 @@ GST_DEBUG_CATEGORY_STATIC (debug_category); /* If we have pipeline and it is running, query the current position and clip duration and inform * the application */ static gboolean refresh_ui (GStreamerBackend *self) { - GstFormat fmt = GST_FORMAT_TIME; gint64 position; /* We do not want to update anything unless we have a working pipeline in the PAUSED or PLAYING state */ @@ -129,10 +127,10 @@ static gboolean refresh_ui (GStreamerBackend *self) { /* If we didn't know it yet, query the stream duration */ if (!GST_CLOCK_TIME_IS_VALID (self->duration)) { - gst_element_query_duration (self->pipeline, &fmt, &self->duration); + gst_element_query_duration (self->pipeline, GST_FORMAT_TIME,&self->duration); } - if (gst_element_query_position (self->pipeline, &fmt, &position)) { + if (gst_element_query_position (self->pipeline, GST_FORMAT_TIME, &position)) { /* The UI expects these values in milliseconds, and GStreamer provides nanoseconds */ [self setCurrentUIPosition:position / GST_MSECOND duration:self->duration / GST_MSECOND]; } @@ -246,9 +244,7 @@ static void check_media_size (GStreamerBackend *self) { GstElement *video_sink; GstPad *video_sink_pad; GstCaps *caps; - GstVideoFormat fmt; - int width; - int height; + GstVideoInfo info; /* Retrieve the Caps at the entrance of the video sink */ g_object_get (self->pipeline, "video-sink", &video_sink, NULL); @@ -257,18 +253,15 @@ static void check_media_size (GStreamerBackend *self) { if (!video_sink) return; video_sink_pad = gst_element_get_static_pad (video_sink, "sink"); - caps = gst_pad_get_negotiated_caps (video_sink_pad); + caps = gst_pad_get_current_caps (video_sink_pad); - if (gst_video_format_parse_caps(caps, &fmt, &width, &height)) { - int par_n, par_d; - if (gst_video_parse_caps_pixel_aspect_ratio (caps, &par_n, &par_d)) { - width = width * par_n / par_d; - } - GST_DEBUG ("Media size is %dx%d, notifying application", width, height); + if (gst_video_info_from_caps (&info, caps)) { + info.width = info.width * info.par_n / info.par_d; + GST_DEBUG ("Media size is %dx%d, notifying application", info.width, info.height); if (self->ui_delegate && [self->ui_delegate respondsToSelector:@selector(mediaSizeChanged:height:)]) { - [self->ui_delegate mediaSizeChanged:width height:height]; + [self->ui_delegate mediaSizeChanged:info.width height:info.height]; } } @@ -329,7 +322,7 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *se g_main_context_push_thread_default(context); /* Build pipeline */ - pipeline = gst_parse_launch("playbin2", &error); + pipeline = gst_parse_launch("playbin", &error); if (error) { gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message); g_clear_error (&error); @@ -341,12 +334,12 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *se /* Set the pipeline to READY, so it can already accept a window handle */ gst_element_set_state(pipeline, GST_STATE_READY); - video_sink = gst_bin_get_by_interface(GST_BIN(pipeline), GST_TYPE_X_OVERLAY); + video_sink = gst_bin_get_by_interface(GST_BIN(pipeline), GST_TYPE_VIDEO_OVERLAY); if (!video_sink) { GST_ERROR ("Could not retrieve video sink"); return; } - gst_x_overlay_set_window_handle(GST_X_OVERLAY(video_sink), (guintptr) (id) ui_video_view); + gst_video_overlay_set_window_handle(GST_VIDEO_OVERLAY(video_sink), (guintptr) (id) ui_video_view); /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ bus = gst_element_get_bus (pipeline); diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.h b/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.h index 6129a94210..57064020b4 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.h @@ -11,18 +11,20 @@ G_BEGIN_DECLS #define GST_IOS_PLUGINS_CORE //#define GST_IOS_PLUGINS_CAPTURE -#define GST_IOS_PLUGINS_CODECS_RESTRICTED +//#define GST_IOS_PLUGINS_CODECS_RESTRICTED //#define GST_IOS_PLUGINS_ENCODING -//#define GST_IOS_PLUGINS_DVD -#define GST_IOS_PLUGINS_CODECS_GPL -#define GST_IOS_PLUGINS_NET_RESTRICTED +//#define GST_IOS_PLUGINS_CODECS_GPL +//#define GST_IOS_PLUGINS_NET_RESTRICTED #define GST_IOS_PLUGINS_SYS //#define GST_IOS_PLUGINS_VIS #define GST_IOS_PLUGINS_PLAYBACK -#define GST_IOS_PLUGINS_EFFECTS +//#define GST_IOS_PLUGINS_EFFECTS #define GST_IOS_PLUGINS_CODECS #define GST_IOS_PLUGINS_NET + +//#define GST_IOS_GIO_MODULE_GNUTLS + void gst_ios_init (); G_END_DECLS diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.m b/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.m index 53ddaebe29..7ae9b4447b 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.m @@ -3,9 +3,6 @@ #if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(coreelements); #endif -#if defined(GST_IOS_PLUGIN_COREINDEXERS) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(coreindexers); -#endif #if defined(GST_IOS_PLUGIN_ADDER) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(adder); #endif @@ -24,12 +21,6 @@ GST_PLUGIN_STATIC_DECLARE(audioresample); #if defined(GST_IOS_PLUGIN_AUDIOTESTSRC) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(audiotestsrc); #endif -#if defined(GST_IOS_PLUGIN_FFMPEGCOLORSPACE) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(ffmpegcolorspace); -#endif -#if defined(GST_IOS_PLUGIN_GDP) || defined(GST_IOS_PLUGINS_CORE) -GST_PLUGIN_STATIC_DECLARE(gdp); -#endif #if defined(GST_IOS_PLUGIN_GIO) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(gio); #endif @@ -39,6 +30,9 @@ GST_PLUGIN_STATIC_DECLARE(pango); #if defined(GST_IOS_PLUGIN_TYPEFINDFUNCTIONS) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(typefindfunctions); #endif +#if defined(GST_IOS_PLUGIN_VIDEOCONVERT) || defined(GST_IOS_PLUGINS_CORE) +GST_PLUGIN_STATIC_DECLARE(videoconvert); +#endif #if defined(GST_IOS_PLUGIN_VIDEORATE) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(videorate); #endif @@ -57,8 +51,8 @@ GST_PLUGIN_STATIC_DECLARE(autodetect); #if defined(GST_IOS_PLUGIN_VIDEOFILTER) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_DECLARE(videofilter); #endif -#if defined(GST_IOS_PLUGIN_CAMERABIN2) || defined(GST_IOS_PLUGINS_CAPTURE) -GST_PLUGIN_STATIC_DECLARE(camerabin2); +#if defined(GST_IOS_PLUGIN_CAMERABIN) || defined(GST_IOS_PLUGINS_CAPTURE) +GST_PLUGIN_STATIC_DECLARE(camerabin); #endif #if defined(GST_IOS_PLUGIN_ASFMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(asfmux); @@ -69,8 +63,8 @@ GST_PLUGIN_STATIC_DECLARE(dtsdec); #if defined(GST_IOS_PLUGIN_FAAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(faad); #endif -#if defined(GST_IOS_PLUGIN_MPEGDEMUX2) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) -GST_PLUGIN_STATIC_DECLARE(mpegdemux2); +#if defined(GST_IOS_PLUGIN_MPEGPSDEMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(mpegpsdemux); #endif #if defined(GST_IOS_PLUGIN_MPEGPSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(mpegpsmux); @@ -93,14 +87,20 @@ GST_PLUGIN_STATIC_DECLARE(amrwbdec); #if defined(GST_IOS_PLUGIN_ASF) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(asf); #endif +#if defined(GST_IOS_PLUGIN_DVDSUB) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(dvdsub); +#endif +#if defined(GST_IOS_PLUGIN_DVDLPCMDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(dvdlpcmdec); +#endif #if defined(GST_IOS_PLUGIN_MAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(mad); #endif #if defined(GST_IOS_PLUGIN_MPEG2DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(mpeg2dec); #endif -#if defined(GST_IOS_PLUGIN_MPEGAUDIOPARSE) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) -GST_PLUGIN_STATIC_DECLARE(mpegaudioparse); +#if defined(GST_IOS_PLUGIN_XINGMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(xingmux); #endif #if defined(GST_IOS_PLUGIN_REALMEDIA) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(realmedia); @@ -108,21 +108,12 @@ GST_PLUGIN_STATIC_DECLARE(realmedia); #if defined(GST_IOS_PLUGIN_X264) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(x264); #endif -#if defined(GST_IOS_PLUGIN_FFMPEG) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) -GST_PLUGIN_STATIC_DECLARE(ffmpeg); +#if defined(GST_IOS_PLUGIN_LIBAV) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(libav); #endif #if defined(GST_IOS_PLUGIN_ENCODING) || defined(GST_IOS_PLUGINS_ENCODING) GST_PLUGIN_STATIC_DECLARE(encoding); #endif -#if defined(GST_IOS_PLUGIN_INDVD) || defined(GST_IOS_PLUGINS_DVD) -GST_PLUGIN_STATIC_DECLARE(indvd); -#endif -#if defined(GST_IOS_PLUGIN_DVDLPCMDEC) || defined(GST_IOS_PLUGINS_DVD) -GST_PLUGIN_STATIC_DECLARE(dvdlpcmdec); -#endif -#if defined(GST_IOS_PLUGIN_DVDREAD) || defined(GST_IOS_PLUGINS_DVD) -GST_PLUGIN_STATIC_DECLARE(dvdread); -#endif #if defined(GST_IOS_PLUGIN_ASSRENDER) || defined(GST_IOS_PLUGINS_CODECS_GPL) GST_PLUGIN_STATIC_DECLARE(assrender); #endif @@ -132,14 +123,11 @@ GST_PLUGIN_STATIC_DECLARE(mms); #if defined(GST_IOS_PLUGIN_OSXAUDIO) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_DECLARE(osxaudio); #endif -#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) -GST_PLUGIN_STATIC_DECLARE(eglglessink); -#endif #if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_DECLARE(applemedia); #endif -#if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS) -GST_PLUGIN_STATIC_DECLARE(applemedia_nonpublic); +#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) +GST_PLUGIN_STATIC_DECLARE(eglglessink); #endif #if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_DECLARE(libvisual); @@ -153,9 +141,6 @@ GST_PLUGIN_STATIC_DECLARE(goom2k1); #if defined(GST_IOS_PLUGIN_AUDIOVISUALIZERS) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_DECLARE(audiovisualizers); #endif -#if defined(GST_IOS_PLUGIN_URIDECODEBIN) || defined(GST_IOS_PLUGINS_PLAYBACK) -GST_PLUGIN_STATIC_DECLARE(uridecodebin); -#endif #if defined(GST_IOS_PLUGIN_PLAYBACK) || defined(GST_IOS_PLUGINS_PLAYBACK) GST_PLUGIN_STATIC_DECLARE(playback); #endif @@ -180,6 +165,9 @@ GST_PLUGIN_STATIC_DECLARE(debug); #if defined(GST_IOS_PLUGIN_DEINTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(deinterlace); #endif +#if defined(GST_IOS_PLUGIN_DTMF) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(dtmf); +#endif #if defined(GST_IOS_PLUGIN_EFFECTV) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(effectv); #endif @@ -222,6 +210,15 @@ GST_PLUGIN_STATIC_DECLARE(videocrop); #if defined(GST_IOS_PLUGIN_VIDEOMIXER) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(videomixer); #endif +#if defined(GST_IOS_PLUGIN_ACCURIP) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(accurip); +#endif +#if defined(GST_IOS_PLUGIN_AIFF) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(aiff); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOFXBAD) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(audiofxbad); +#endif #if defined(GST_IOS_PLUGIN_AUTOCONVERT) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(autoconvert); #endif @@ -231,8 +228,8 @@ GST_PLUGIN_STATIC_DECLARE(bayer); #if defined(GST_IOS_PLUGIN_COLOREFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(coloreffects); #endif -#if defined(GST_IOS_PLUGIN_FACEOVERLAY) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(faceoverlay); +#if defined(GST_IOS_PLUGIN_DEBUGUTILSBAD) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(debugutilsbad); #endif #if defined(GST_IOS_PLUGIN_FIELDANALYSIS) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(fieldanalysis); @@ -252,8 +249,8 @@ GST_PLUGIN_STATIC_DECLARE(geometrictransform); #if defined(GST_IOS_PLUGIN_INTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(interlace); #endif -#if defined(GST_IOS_PLUGIN_JP2KDECIMATOR) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(jp2kdecimator); +#if defined(GST_IOS_PLUGIN_IVTC) || defined(GST_IOS_PLUGINS_EFFECTS) +GST_PLUGIN_STATIC_DECLARE(ivtc); #endif #if defined(GST_IOS_PLUGIN_LIVEADDER) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(liveadder); @@ -264,33 +261,18 @@ GST_PLUGIN_STATIC_DECLARE(rawparse); #if defined(GST_IOS_PLUGIN_REMOVESILENCE) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(removesilence); #endif -#if defined(GST_IOS_PLUGIN_SCALETEMPO) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(scaletempo); -#endif #if defined(GST_IOS_PLUGIN_SEGMENTCLIP) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(segmentclip); #endif #if defined(GST_IOS_PLUGIN_SMOOTH) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(smooth); #endif -#if defined(GST_IOS_PLUGIN_SOUNDTOUCH) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(soundtouch); -#endif #if defined(GST_IOS_PLUGIN_SPEED) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(speed); #endif -#if defined(GST_IOS_PLUGIN_STEREO) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(stereo); -#endif #if defined(GST_IOS_PLUGIN_VIDEOFILTERSBAD) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_DECLARE(videofiltersbad); #endif -#if defined(GST_IOS_PLUGIN_VIDEOMEASURE) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(videomeasure); -#endif -#if defined(GST_IOS_PLUGIN_VIDEOSIGNAL) || defined(GST_IOS_PLUGINS_EFFECTS) -GST_PLUGIN_STATIC_DECLARE(videosignal); -#endif #if defined(GST_IOS_PLUGIN_SUBPARSE) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(subparse); #endif @@ -309,9 +291,6 @@ GST_PLUGIN_STATIC_DECLARE(ivorbisdec); #if defined(GST_IOS_PLUGIN_ALAW) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(alaw); #endif -#if defined(GST_IOS_PLUGIN_ANNODEX) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(annodex); -#endif #if defined(GST_IOS_PLUGIN_APETAG) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(apetag); #endif @@ -366,6 +345,9 @@ GST_PLUGIN_STATIC_DECLARE(speex); #if defined(GST_IOS_PLUGIN_TAGLIB) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(taglib); #endif +#if defined(GST_IOS_PLUGIN_VPX) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(vpx); +#endif #if defined(GST_IOS_PLUGIN_WAVENC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(wavenc); #endif @@ -384,17 +366,8 @@ GST_PLUGIN_STATIC_DECLARE(adpcmdec); #if defined(GST_IOS_PLUGIN_ADPCMENC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(adpcmenc); #endif -#if defined(GST_IOS_PLUGIN_AIFF) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(aiff); -#endif -#if defined(GST_IOS_PLUGIN_CDXAPARSE) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(cdxaparse); -#endif -#if defined(GST_IOS_PLUGIN_DCCP) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(dccp); -#endif -#if defined(GST_IOS_PLUGIN_DTMF) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(dtmf); +#if defined(GST_IOS_PLUGIN_DASHDEMUX) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(dashdemux); #endif #if defined(GST_IOS_PLUGIN_DVBSUBOVERLAY) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(dvbsuboverlay); @@ -405,33 +378,18 @@ GST_PLUGIN_STATIC_DECLARE(dvdspu); #if defined(GST_IOS_PLUGIN_FRAGMENTED) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(fragmented); #endif -#if defined(GST_IOS_PLUGIN_HDVPARSE) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(hdvparse); -#endif #if defined(GST_IOS_PLUGIN_ID3TAG) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(id3tag); #endif -#if defined(GST_IOS_PLUGIN_IVFPARSE) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(ivfparse); -#endif -#if defined(GST_IOS_PLUGIN_JP2K) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(jp2k); -#endif #if defined(GST_IOS_PLUGIN_KATE) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(kate); #endif -#if defined(GST_IOS_PLUGIN_MVE) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(mve); +#if defined(GST_IOS_PLUGIN_MIDI) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(midi); #endif #if defined(GST_IOS_PLUGIN_MXF) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(mxf); #endif -#if defined(GST_IOS_PLUGIN_NSF) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(nsf); -#endif -#if defined(GST_IOS_PLUGIN_NUVDEMUX) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(nuvdemux); -#endif #if defined(GST_IOS_PLUGIN_OPUS) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(opus); #endif @@ -441,30 +399,30 @@ GST_PLUGIN_STATIC_DECLARE(pcapparse); #if defined(GST_IOS_PLUGIN_PNM) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(pnm); #endif +#if defined(GST_IOS_PLUGIN_RFBSRC) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(rfbsrc); +#endif #if defined(GST_IOS_PLUGIN_SCHRO) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(schro); #endif #if defined(GST_IOS_PLUGIN_GSTSIREN) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(gstsiren); #endif +#if defined(GST_IOS_PLUGIN_SMOOTHSTREAMING) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(smoothstreaming); +#endif #if defined(GST_IOS_PLUGIN_SUBENC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(subenc); #endif -#if defined(GST_IOS_PLUGIN_TTA) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(tta); -#endif #if defined(GST_IOS_PLUGIN_VIDEOPARSERSBAD) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(videoparsersbad); #endif -#if defined(GST_IOS_PLUGIN_VMNC) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(vmnc); -#endif -#if defined(GST_IOS_PLUGIN_VP8) || defined(GST_IOS_PLUGINS_CODECS) -GST_PLUGIN_STATIC_DECLARE(vp8); -#endif #if defined(GST_IOS_PLUGIN_Y4MDEC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(y4mdec); #endif +#if defined(GST_IOS_PLUGIN_JPEGFORMAT) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(jpegformat); +#endif #if defined(GST_IOS_PLUGIN_TCP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(tcp); #endif @@ -474,8 +432,8 @@ GST_PLUGIN_STATIC_DECLARE(rtsp); #if defined(GST_IOS_PLUGIN_RTP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(rtp); #endif -#if defined(GST_IOS_PLUGIN_GSTRTPMANAGER) || defined(GST_IOS_PLUGINS_NET) -GST_PLUGIN_STATIC_DECLARE(gstrtpmanager); +#if defined(GST_IOS_PLUGIN_RTPMANAGER) || defined(GST_IOS_PLUGINS_NET) +GST_PLUGIN_STATIC_DECLARE(rtpmanager); #endif #if defined(GST_IOS_PLUGIN_SOUP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(soup); @@ -486,16 +444,15 @@ GST_PLUGIN_STATIC_DECLARE(udp); #if defined(GST_IOS_PLUGIN_DATAURISRC) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(dataurisrc); #endif -#if defined(GST_IOS_PLUGIN_RTPMUX) || defined(GST_IOS_PLUGINS_NET) -GST_PLUGIN_STATIC_DECLARE(rtpmux); -#endif -#if defined(GST_IOS_PLUGIN_RTPVP8) || defined(GST_IOS_PLUGINS_NET) -GST_PLUGIN_STATIC_DECLARE(rtpvp8); -#endif #if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(sdp); #endif +#if defined(GST_IOS_GIO_MODULE_GNUTLS) + #include + G_IO_MODULE_DECLARE(gnutls); +#endif + void gst_ios_init (void) { @@ -515,7 +472,7 @@ gst_ios_init (void) g_setenv ("TEMP", tmp_dir, TRUE); g_setenv ("TMPDIR", tmp_dir, TRUE); g_setenv ("XDG_RUNTIME_DIR", resources_dir, TRUE); - g_setenv ("XDG_CACHE_DIR", cache_dir, TRUE); + g_setenv ("XDG_CACHE_HOME", cache_dir, TRUE); g_setenv ("HOME", docs_dir, TRUE); g_setenv ("XDG_DATA_DIRS", resources_dir, TRUE); @@ -529,9 +486,6 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(coreelements); #endif -#if defined(GST_IOS_PLUGIN_COREINDEXERS) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(coreindexers); -#endif #if defined(GST_IOS_PLUGIN_ADDER) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(adder); #endif @@ -550,12 +504,6 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_AUDIOTESTSRC) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(audiotestsrc); #endif -#if defined(GST_IOS_PLUGIN_FFMPEGCOLORSPACE) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(ffmpegcolorspace); -#endif -#if defined(GST_IOS_PLUGIN_GDP) || defined(GST_IOS_PLUGINS_CORE) - GST_PLUGIN_STATIC_REGISTER(gdp); -#endif #if defined(GST_IOS_PLUGIN_GIO) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(gio); #endif @@ -565,6 +513,9 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_TYPEFINDFUNCTIONS) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(typefindfunctions); #endif +#if defined(GST_IOS_PLUGIN_VIDEOCONVERT) || defined(GST_IOS_PLUGINS_CORE) + GST_PLUGIN_STATIC_REGISTER(videoconvert); +#endif #if defined(GST_IOS_PLUGIN_VIDEORATE) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(videorate); #endif @@ -583,8 +534,8 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_VIDEOFILTER) || defined(GST_IOS_PLUGINS_CORE) GST_PLUGIN_STATIC_REGISTER(videofilter); #endif -#if defined(GST_IOS_PLUGIN_CAMERABIN2) || defined(GST_IOS_PLUGINS_CAPTURE) - GST_PLUGIN_STATIC_REGISTER(camerabin2); +#if defined(GST_IOS_PLUGIN_CAMERABIN) || defined(GST_IOS_PLUGINS_CAPTURE) + GST_PLUGIN_STATIC_REGISTER(camerabin); #endif #if defined(GST_IOS_PLUGIN_ASFMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(asfmux); @@ -595,8 +546,8 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_FAAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(faad); #endif -#if defined(GST_IOS_PLUGIN_MPEGDEMUX2) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) - GST_PLUGIN_STATIC_REGISTER(mpegdemux2); +#if defined(GST_IOS_PLUGIN_MPEGPSDEMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(mpegpsdemux); #endif #if defined(GST_IOS_PLUGIN_MPEGPSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(mpegpsmux); @@ -619,14 +570,20 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_ASF) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(asf); #endif +#if defined(GST_IOS_PLUGIN_DVDSUB) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(dvdsub); +#endif +#if defined(GST_IOS_PLUGIN_DVDLPCMDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(dvdlpcmdec); +#endif #if defined(GST_IOS_PLUGIN_MAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(mad); #endif #if defined(GST_IOS_PLUGIN_MPEG2DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(mpeg2dec); #endif -#if defined(GST_IOS_PLUGIN_MPEGAUDIOPARSE) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) - GST_PLUGIN_STATIC_REGISTER(mpegaudioparse); +#if defined(GST_IOS_PLUGIN_XINGMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(xingmux); #endif #if defined(GST_IOS_PLUGIN_REALMEDIA) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(realmedia); @@ -634,21 +591,12 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_X264) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(x264); #endif -#if defined(GST_IOS_PLUGIN_FFMPEG) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) - GST_PLUGIN_STATIC_REGISTER(ffmpeg); +#if defined(GST_IOS_PLUGIN_LIBAV) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(libav); #endif #if defined(GST_IOS_PLUGIN_ENCODING) || defined(GST_IOS_PLUGINS_ENCODING) GST_PLUGIN_STATIC_REGISTER(encoding); #endif -#if defined(GST_IOS_PLUGIN_INDVD) || defined(GST_IOS_PLUGINS_DVD) - GST_PLUGIN_STATIC_REGISTER(indvd); -#endif -#if defined(GST_IOS_PLUGIN_DVDLPCMDEC) || defined(GST_IOS_PLUGINS_DVD) - GST_PLUGIN_STATIC_REGISTER(dvdlpcmdec); -#endif -#if defined(GST_IOS_PLUGIN_DVDREAD) || defined(GST_IOS_PLUGINS_DVD) - GST_PLUGIN_STATIC_REGISTER(dvdread); -#endif #if defined(GST_IOS_PLUGIN_ASSRENDER) || defined(GST_IOS_PLUGINS_CODECS_GPL) GST_PLUGIN_STATIC_REGISTER(assrender); #endif @@ -658,14 +606,11 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_OSXAUDIO) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_REGISTER(osxaudio); #endif -#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) - GST_PLUGIN_STATIC_REGISTER(eglglessink); -#endif #if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_REGISTER(applemedia); #endif -#if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS) - GST_PLUGIN_STATIC_REGISTER(applemedia_nonpublic); +#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) + GST_PLUGIN_STATIC_REGISTER(eglglessink); #endif #if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_REGISTER(libvisual); @@ -679,9 +624,6 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_AUDIOVISUALIZERS) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_REGISTER(audiovisualizers); #endif -#if defined(GST_IOS_PLUGIN_URIDECODEBIN) || defined(GST_IOS_PLUGINS_PLAYBACK) - GST_PLUGIN_STATIC_REGISTER(uridecodebin); -#endif #if defined(GST_IOS_PLUGIN_PLAYBACK) || defined(GST_IOS_PLUGINS_PLAYBACK) GST_PLUGIN_STATIC_REGISTER(playback); #endif @@ -706,6 +648,9 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_DEINTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(deinterlace); #endif +#if defined(GST_IOS_PLUGIN_DTMF) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(dtmf); +#endif #if defined(GST_IOS_PLUGIN_EFFECTV) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(effectv); #endif @@ -748,6 +693,15 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_VIDEOMIXER) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(videomixer); #endif +#if defined(GST_IOS_PLUGIN_ACCURIP) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(accurip); +#endif +#if defined(GST_IOS_PLUGIN_AIFF) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(aiff); +#endif +#if defined(GST_IOS_PLUGIN_AUDIOFXBAD) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(audiofxbad); +#endif #if defined(GST_IOS_PLUGIN_AUTOCONVERT) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(autoconvert); #endif @@ -757,8 +711,8 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_COLOREFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(coloreffects); #endif -#if defined(GST_IOS_PLUGIN_FACEOVERLAY) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(faceoverlay); +#if defined(GST_IOS_PLUGIN_DEBUGUTILSBAD) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(debugutilsbad); #endif #if defined(GST_IOS_PLUGIN_FIELDANALYSIS) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(fieldanalysis); @@ -778,8 +732,8 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_INTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(interlace); #endif -#if defined(GST_IOS_PLUGIN_JP2KDECIMATOR) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(jp2kdecimator); +#if defined(GST_IOS_PLUGIN_IVTC) || defined(GST_IOS_PLUGINS_EFFECTS) + GST_PLUGIN_STATIC_REGISTER(ivtc); #endif #if defined(GST_IOS_PLUGIN_LIVEADDER) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(liveadder); @@ -790,33 +744,18 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_REMOVESILENCE) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(removesilence); #endif -#if defined(GST_IOS_PLUGIN_SCALETEMPO) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(scaletempo); -#endif #if defined(GST_IOS_PLUGIN_SEGMENTCLIP) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(segmentclip); #endif #if defined(GST_IOS_PLUGIN_SMOOTH) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(smooth); #endif -#if defined(GST_IOS_PLUGIN_SOUNDTOUCH) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(soundtouch); -#endif #if defined(GST_IOS_PLUGIN_SPEED) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(speed); #endif -#if defined(GST_IOS_PLUGIN_STEREO) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(stereo); -#endif #if defined(GST_IOS_PLUGIN_VIDEOFILTERSBAD) || defined(GST_IOS_PLUGINS_EFFECTS) GST_PLUGIN_STATIC_REGISTER(videofiltersbad); #endif -#if defined(GST_IOS_PLUGIN_VIDEOMEASURE) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(videomeasure); -#endif -#if defined(GST_IOS_PLUGIN_VIDEOSIGNAL) || defined(GST_IOS_PLUGINS_EFFECTS) - GST_PLUGIN_STATIC_REGISTER(videosignal); -#endif #if defined(GST_IOS_PLUGIN_SUBPARSE) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(subparse); #endif @@ -835,9 +774,6 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_ALAW) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(alaw); #endif -#if defined(GST_IOS_PLUGIN_ANNODEX) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(annodex); -#endif #if defined(GST_IOS_PLUGIN_APETAG) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(apetag); #endif @@ -892,6 +828,9 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_TAGLIB) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(taglib); #endif +#if defined(GST_IOS_PLUGIN_VPX) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(vpx); +#endif #if defined(GST_IOS_PLUGIN_WAVENC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(wavenc); #endif @@ -910,17 +849,8 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_ADPCMENC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(adpcmenc); #endif -#if defined(GST_IOS_PLUGIN_AIFF) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(aiff); -#endif -#if defined(GST_IOS_PLUGIN_CDXAPARSE) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(cdxaparse); -#endif -#if defined(GST_IOS_PLUGIN_DCCP) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(dccp); -#endif -#if defined(GST_IOS_PLUGIN_DTMF) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(dtmf); +#if defined(GST_IOS_PLUGIN_DASHDEMUX) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(dashdemux); #endif #if defined(GST_IOS_PLUGIN_DVBSUBOVERLAY) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(dvbsuboverlay); @@ -931,33 +861,18 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_FRAGMENTED) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(fragmented); #endif -#if defined(GST_IOS_PLUGIN_HDVPARSE) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(hdvparse); -#endif #if defined(GST_IOS_PLUGIN_ID3TAG) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(id3tag); #endif -#if defined(GST_IOS_PLUGIN_IVFPARSE) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(ivfparse); -#endif -#if defined(GST_IOS_PLUGIN_JP2K) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(jp2k); -#endif #if defined(GST_IOS_PLUGIN_KATE) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(kate); #endif -#if defined(GST_IOS_PLUGIN_MVE) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(mve); +#if defined(GST_IOS_PLUGIN_MIDI) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(midi); #endif #if defined(GST_IOS_PLUGIN_MXF) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(mxf); #endif -#if defined(GST_IOS_PLUGIN_NSF) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(nsf); -#endif -#if defined(GST_IOS_PLUGIN_NUVDEMUX) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(nuvdemux); -#endif #if defined(GST_IOS_PLUGIN_OPUS) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(opus); #endif @@ -967,30 +882,30 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_PNM) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(pnm); #endif +#if defined(GST_IOS_PLUGIN_RFBSRC) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(rfbsrc); +#endif #if defined(GST_IOS_PLUGIN_SCHRO) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(schro); #endif #if defined(GST_IOS_PLUGIN_GSTSIREN) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(gstsiren); #endif +#if defined(GST_IOS_PLUGIN_SMOOTHSTREAMING) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(smoothstreaming); +#endif #if defined(GST_IOS_PLUGIN_SUBENC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(subenc); #endif -#if defined(GST_IOS_PLUGIN_TTA) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(tta); -#endif #if defined(GST_IOS_PLUGIN_VIDEOPARSERSBAD) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(videoparsersbad); #endif -#if defined(GST_IOS_PLUGIN_VMNC) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(vmnc); -#endif -#if defined(GST_IOS_PLUGIN_VP8) || defined(GST_IOS_PLUGINS_CODECS) - GST_PLUGIN_STATIC_REGISTER(vp8); -#endif #if defined(GST_IOS_PLUGIN_Y4MDEC) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(y4mdec); #endif +#if defined(GST_IOS_PLUGIN_JPEGFORMAT) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(jpegformat); +#endif #if defined(GST_IOS_PLUGIN_TCP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(tcp); #endif @@ -1000,8 +915,8 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_RTP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(rtp); #endif -#if defined(GST_IOS_PLUGIN_GSTRTPMANAGER) || defined(GST_IOS_PLUGINS_NET) - GST_PLUGIN_STATIC_REGISTER(gstrtpmanager); +#if defined(GST_IOS_PLUGIN_RTPMANAGER) || defined(GST_IOS_PLUGINS_NET) + GST_PLUGIN_STATIC_REGISTER(rtpmanager); #endif #if defined(GST_IOS_PLUGIN_SOUP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(soup); @@ -1012,20 +927,17 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_DATAURISRC) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(dataurisrc); #endif -#if defined(GST_IOS_PLUGIN_RTPMUX) || defined(GST_IOS_PLUGINS_NET) - GST_PLUGIN_STATIC_REGISTER(rtpmux); -#endif -#if defined(GST_IOS_PLUGIN_RTPVP8) || defined(GST_IOS_PLUGINS_NET) - GST_PLUGIN_STATIC_REGISTER(rtpvp8); -#endif #if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(sdp); #endif +#if defined(GST_IOS_GIO_MODULE_GNUTLS) + G_IO_MODULE_LOAD(gnutls); +#endif /* Lower the ranks of filesrc and giosrc so iosavassetsrc is * tried first in gst_element_make_from_uri() for file:// */ - reg = gst_registry_get_default(); + reg = gst_registry_get(); plugin = gst_registry_lookup_feature(reg, "filesrc"); if (plugin) gst_plugin_feature_set_rank(plugin, GST_RANK_SECONDARY); From 398d4efd1ef73366d6a7dca873d673ca47594018 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 31 Oct 2013 10:57:01 +0100 Subject: [PATCH 315/979] Port XCode OS X project files to 1.0 --- .../xcode/GStreamer Tutorials.xcodeproj/project.pbxproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj index 86027b64d3..f75ff00a38 100644 --- a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj @@ -1172,7 +1172,7 @@ GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "/Library/Frameworks/GStreamer.framework/Versions/0.10/Headers/**"; + HEADER_SEARCH_PATHS = "/Library/Frameworks/GStreamer.framework/Versions/1.0/Headers/**"; MACOSX_DEPLOYMENT_TARGET = 10.6; ONLY_ACTIVE_ARCH = YES; SDKROOT = ""; @@ -1195,7 +1195,7 @@ GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "/Library/Frameworks/GStreamer.framework/Versions/0.10/Headers/**"; + HEADER_SEARCH_PATHS = "/Library/Frameworks/GStreamer.framework/Versions/1.0/Headers/**"; MACOSX_DEPLOYMENT_TARGET = 10.6; SDKROOT = ""; VALID_ARCHS = "x86_64 i386"; From 8f21f7e88412803a131e8750abac8dd5e9566c39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 31 Oct 2013 11:03:28 +0100 Subject: [PATCH 316/979] Port VS project files to 1.0 --- .../basic-tutorial-1/basic-tutorial-1.vcxproj | 10 +++++----- .../basic-tutorial-12.vcxproj | 10 +++++----- .../basic-tutorial-13.vcxproj | 10 +++++----- .../basic-tutorial-15.vcxproj | 18 +++++++++--------- .../basic-tutorial-2/basic-tutorial-2.vcxproj | 10 +++++----- .../basic-tutorial-3/basic-tutorial-3.vcxproj | 10 +++++----- .../basic-tutorial-4/basic-tutorial-4.vcxproj | 10 +++++----- .../basic-tutorial-5/basic-tutorial-5.vcxproj | 18 +++++++++--------- .../basic-tutorial-6/basic-tutorial-6.vcxproj | 10 +++++----- .../basic-tutorial-7/basic-tutorial-7.vcxproj | 10 +++++----- .../basic-tutorial-8/basic-tutorial-8.vcxproj | 10 +++++----- .../basic-tutorial-9/basic-tutorial-9.vcxproj | 14 +++++++------- .../playback-tutorial-1.vcxproj | 10 +++++----- .../playback-tutorial-2.vcxproj | 10 +++++----- .../playback-tutorial-3.vcxproj | 10 +++++----- .../playback-tutorial-4.vcxproj | 10 +++++----- .../playback-tutorial-5.vcxproj | 14 +++++++------- .../playback-tutorial-6.vcxproj | 10 +++++----- .../playback-tutorial-7.vcxproj | 10 +++++----- 19 files changed, 107 insertions(+), 107 deletions(-) diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-1/basic-tutorial-1.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-1/basic-tutorial-1.vcxproj index 0092e18408..3433d83b99 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-1/basic-tutorial-1.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-1/basic-tutorial-1.vcxproj @@ -43,13 +43,13 @@

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 z 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 literal 0 HcmV?d00001 diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/fonts.conf b/gst-sdk/tutorials/xcode iOS/Tutorial 5/fonts.conf new file mode 100644 index 0000000000..6b780ea92e --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/fonts.conf @@ -0,0 +1,126 @@ + + + + + + + +

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 z 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 literal 0 HcmV?d00001 diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/fonts.conf b/gst-sdk/tutorials/xcode iOS/Tutorial 4/fonts.conf new file mode 100644 index 0000000000..6b780ea92e --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/fonts.conf @@ -0,0 +1,126 @@ + + + + + + + +

&%6fmf5XbVlH()W6tJ&c4g0;?c884t=xsr7nn=Uf0(og!c)3xWu-9m_8ge z|BHUzu>6SgRx_*qm3fr&MYC&!W8zXxxj$(fsR^~>fC|AZ8mMqgGeJ4l8t;=Y`gN(50gd;`m&W@F>U}c( z)YzWksy@^lvE$8HYrM;gv95F7k@5Z)uCH2oD92jkeexw))_2DH=c={+xO*Fg1Am73lnP?*GdD8}Q!Y z{;%9U_|W8jZ|+tHss=s$j=76;kvt!<`iM?c{)Rd;?&v1^alz`oZSO;KUweNF_Y66m zfNton)t}Su)q9va&+FxTJGSum^t;-%`dQrl{qNEhbkOR|$#*cp>gDNo$&AMCzjzm( zNT;P&c8rB7=(WX`lkV`~()~WH+7!Rgou_l1!*z`7_FT{BdJxy$xfW&pr{Bx=%ug>L z;#_S;Tq)NM*XHV)a-VSN-3hKjSHD}nPnsGt!$m7S9hdsbUHZFu((@^w)7AGCg)Q{WI|JyNMpNGyrW2|TBXb!)=ZidbunmusnQac}g#XPcd zdvFLmn80}jGWbQ3$(=84R)>g~V;<-3e$-{kJn&Oe%s>MoxbW>VTp z&|FjdygOU-t|{!~zm_gk9|7GDAU}C*Kj@F0Go`opp&!tu`b)WD#nl4S-OArW<0HxQ z3}m9in2T5HFXQCAo98WL;axnxmgiIY`LoPVb+8J)TiRdA^9}NSiu>cazkqsvmSrQi4E*=x97O1UXm z{9Nu482LQv1<$G%)2BC?PI;GXS@~d$7-QRa`qHJ%uGLA6&mR?iqppjn>sa-LjN8}D z#VTuM?j$?1#1F}x9S`CEo;lCX1Kju9D*3X)DJz?j4aukYpf%K)Y%Jy+jk)C0j@#*X zr?g9=0@;IwQM4eFt|$zxrY6l+J(!H3r(M;McFw1rZ*u=@?l*G3g?din-5EdsCV3yt^;)h==p+37o>xM>cOdV# zxc@Ep_j3PT?vJ7D4fJm{9wk3ZUP0Tppmle@-zSZym688s9INkU47t`AhqZwA{*L=P z_jl9o2Wa`R}*<;yQA)_8rRI z%>BP}zn=1vrSH}Ml?)<(De&Uw#>$e~IhM)z5+H z*P(;gnE@C2$-2{H4T`R;E`9$iaG{Ex{k!wx<(Ig=Ox}D|?sm7519X_VabL%zllJ;6 z+UzaATzNC{hprWu**hbzo(=L+_~xIGTyAFrgU#`3-Rb+clZu(sOS(gPjSk7a&(E#jXlL+ zSVm{~@XN2i@^Dj;EI0O4oedAaT=DuV%kL-OA@z*mEHWLn8F!T)cY@&F_jdUN|M>S^ zLcPw517<2?qXDPsZi|78EH`(Yq3_&IHN3;Q3d%Cace^5s@EYgFR_7?ABN|$*c5}b2 z9o}}FwY~ODH)mc+b1-zoWv3H3{n^xEbkvaJ?DS_2BcV5$XLG=L@wsH8Drh@9s+6Y4 z=M)Uiyz8%Qdd(Yd*mDy)+f1BZ7{o)!AbOtazIC|iCdUcu(~)1>gHXr0(ix4W&hvM& z+E#F*|3K9e+^Z&79+U$cF4EL-c7}ll ztd%)ey=1gCb++h@pWCKO+OcWZ^!VH}ebT;hNnPWSdd4U9Z5o(x`R{mmBGSmjq_IsClP>?wq&Ce= zw){4`AW8>jKsvPP$PD>BHY3uB8Iw-U6wm6+%t$wEIyW19UYG^xrr9Ljvgx+jT7HXF z)HdlMbBOe?IgA&2*QQ6zE}xH@Bc#X7QPMqgjPxwCM|#|xMS8*{!K2mm- zNbh3qviv{hVw>L8T+HY1H+LnyoB96bKbpJS^d9E!e7>hm?`7`6=X;xbF27;!W9~(I ziMcoFeM!I0Ue+a~m)i9H=6-zs0dpxSt47iXn){PJ$o#ZUjBpmA@dN@hndSsA8sB>`Uvww%l~a2X&z2`g-su29>M2Fn@5sfX|7oQ zy?KmHuQHF~^VR0jq}Q0MNFQs{$C;~_|I0kyTtoT<^H|a+n#V2w&OFIHp7hB!z1BQ| z&rdN=Bz>xR((-T3)6A1epKh)teTI1o=`+n!NuOn&Mv4!Z^oPweNUt}~TK`ZDul%l~O!ZeBwA3evBbpENHeeWm#c(x0;FtIW&!{A%+G z(w{azN%|V|O46S(KSlal^D5HUnOBqkEI!6>i& zX7jVlFPpcRH;}&7{M_;{&D(7H^X83we!F=S=`WZ!lm4Q43+X$|+em-O{5%=6&W}q`zW*nexIy+5hA+^h^^(HSPMV3_Izfo_uN|S18bQNtsOqHR`=N2*b{3@Pp$nt zvv%@^wTkD~23}Z;chlOpTh^N0wpQzowNVdQi}bLyKXJT zT7$>UZ!Q0n)!FYXzrgD3_m`i?Ci)ENx#mxnpJR3Qr_0Z>I{ORK^Uar+f6VIatE6`@ zf4BS$tFwO~y`%ZY^8aIX_RpkuGT&PMq4_>`*?ylh2o=(coORN>IL+nnX}5^D`=s`P-Z@8Ij(@nJqtU?&)lj-pe^edT;00@@8`%=Q!yl&UwpEao+C^%TJj5 zITw;%>Rd#6f9Gz?kDDKG?zQ}wd4O{X=>we~Sbmg~E0>X8<~(Hi5%Yu2!D)kih4UiPM>#K9 z{+fBT^NQuKm@A!Ekv_(G&GLQbD(7dH?=e?9ZzR3OdF%2<^H}E>NgwCDYx&FO@y?B; zPjG&9`7ZNB=L4iqaz3cD3Un0HE`O5OG=7*jCNqW8Wx68MfXFLC}e3N;O^N*xI;`}q|bDeK5 z-(a5Se24V;6^HZ%mD=+4<_7jTUT0od>5=|u#b3VGyr>eBzPOT;{#a$ae2w|>%Et1i z%}XlVq%W-;UcSowMCI7>r#Rtxg7oE;^GIJ&xx?}&%}-YDMEc6gMWjDfx%=`J=2ew@ zE?;h5UAgb_W#*?VKd}4>^P0+Kq(4)+eEH+%wUvjHzOM2p(x0tdwfr&j`pV;%FEVea zJc;z@Do-PQW96C4A2n}cFX%_jn=8*<-eBHRc_HarD=%KYz`U*U(&h8a&sSbS`u57J zNPht@|8vbRR^G6Dj(G>3^XHgfs=RIaZ1c{_FOt5i^3LV;=9eq)U0!G2UHLWA8!I0m zeNW{#md`Zrt$b|x4D-IqCrN*$^4p}pTKV1OQ_Zhc{($uTl|Lf=^~&d#Pca{;{2A#7 zD_>eZ+1yn5AIm414^_TO`WuzMTRy>jxbij9k5vAV^rMw;E+20`R{6K(W6f_?mZTrA zR+iV8PgHB9pRBf)SDR1a<-f|@Tn(0wF~5bk{W0d#)qMGA^V`+&@=@j%_P!oB>kZO+ZEbC>woU<@14IhXe!VJ0&n!3Zqat}UibY#jdi+9 zTrXlnH0*~)?I5b|RUk{X&Z`=f5Z7weB3qMZG)%0oDMBz2QV0hXk*8U=Z))pRUc<{( zupQ@JrF^h|7o}$oH9Fkn_ZF75bR2%y>+KHA6~D#tGli$Rz%$|xUDZMoc{fNBtn zAfC*PS_cB^wN?YB5f#Mcl8MTX7(pf7Vyqx=73=VH9ZteZKCZ7T2aQ_Z!}C*vh*6Jf z?Y2hPW)i&h(y ztT#0(>O2*z4Rr=VRCm=;ktre=)++fl%rHviFwQGgk^mLDqvsL`t53xjIM!wZ7romL zdZF4Cn$32*)h<3mK&w@Vv`zJ<1xo1cs!cjlgjTD=#(S$(mh5zT-7f#i;(YJvdzqhm z3)Cp8p-;5C-ybX6#TzvSG0i$JZB?yitJx8uLI;sq5L0xU&LM@(puNqnn>vRJ%xlzJ z4H^P))&ao%P=(j^^)@wV?7+N6O#=-3B}KeLyQC>9KrvySo=Q~e!n_*2=keNl2j=x_ z)lQ*+9o~^qwKwX3LrcQlqAIkt-T(yGYrw#&ABZx+YD>W&vGOMw zlT=yBLJkf>`Bc)Ox>o@?2j!HmFmFww+XQ%vJBoom7BGwWA>s!Os7esQJ`7voZ=Z^@t8jAC!@wCftFxV z)#fh-QM6f(kpWPHC2&?v(@Rtp%%eZ*JOUu5V{eeN3=$%0wV?rY39E{LaJAd~JCG`6 zD$6!oold(`=4}9S#UUc`Rc~6wc+sfxX!MHEZg;!9-~Zn2>U=}5SC;N}UHiSv&%F%> zt(sL2JA5hnB=jiX*!&DK-;1i~QCFn|5^!Nf%zo#Pjb_+B4CZx@)v@!|)-_puSImu3OM!Xy3ZG96HBEzO z44PUMmsVQX z6@oeR#41mtRREDtM;DXfng@=x>Mj|XBrx6%lvN+G0o8_O5_FTf+349!9pF$o#C365 z;v**7XIeHOxYjyaF<8RI1c)waW|h|2itB4CMsH4|SPKCr&T5_Bi86IUm?vtHRq98H zptjp65Ks3WH2;*@3NMdPj|fdDdYF~E?UgfsHpyexS|HS(du`_G7LWIV$fLQkl&69y`?=p zhdpQzcj{odqZc%el_bog7(gLa5ay{F1+-QM5mno!mbmhSaDPv2MBt;XB+lg%wN4J5lY z<`s=$ZSu0Ls@-Gy0wY9VNle)}p43}$_gKxC{<#fd9+OkIg>?WEnfc4^HX0(JQR`8I znAxr}cHMTT33=4ZG~Tqpii2AbE0d46N9ZxyiKueIxI zJwTS)(Yjhk!rei*k+x^en_lTbP9um{$qBDf+2ysA*xM4feaFN}^Us ztYk{CbC5%fQPfkFT?HsxLySpntTomOwCa)#x`|qrX!2ErW@1^D?%3>Vn25MFwcalR zD=wEzv_;W;=4UlUEd_&BzSgd3^&@bg^TlAV(I!%b5}pzu zhN4KG3n2nIP#qXTSDI~P)%L2(6D$jA>ztNKt_;JTi788*G`604d@3JGd8dMy^6;)lB2wzUZPRDZ!WiH$hX zsCC<3Us5Qu9E#cX<~1zR7u}t zpHZs~78tBR=#9{cb*3O@6_m-=Zr@^^^_5Sdt>x${bUJ#Y@e-!4+T>digmJR#%I~fl z_1m@d+t4}H}-*g*r)$RhqPolm6(p!%w<(wSA+_TW!)9T>~{`K?qt1l z>-@o!^BYDcFfzevh#6IwchJ0DE7$s#Pe@Uf!IT`qdxlD6p;;0H4F$yt%;RN=c?~eH ziMOuqGJaum-L(qXaB=ml_wh5RB^Fp+Y9O)R6k#4(O^;>k5fEj9v}J{PmMX|v4II|Q z>b)>QXh;Vn1c>q}Q5v`(3PCJV)x8SBJdmbo5l?=teau5Fp&KlyDO%xNVcyAA3D+dp zR3I_DHRjntJ2|N%4`&XbL8IHOz@%bCXuI9^JeerA36^4K2rJC%Tg+RpHC$G((4irt zJX#^{zzJ3Y7}&x*DC;z3zhNFQpk(HqfC$D)iUDtMcP$D$x6=s8D9nSIWwaXH$I&NU zvfA5F=62IlrbfR=W=v4}yR;rnV? zwof_5fCVIv-l;wE(g|T6Q#{s)MxAd=7M)(J)fa|fFLmXR;+3dmf>q>A0oq|2m`7HOUSXci z53j6Zkd!OU67vKXB3VK3Aap7budogo3maI2f?Y*Udep<}-w(WTdvLeFJWWyRVG;WM z!j3CTdR`a?VGxvsJwFP=&<|GGt;Qc+;7ci^56=6QE)f_a$5t$rH?#V}@3R(4nJOg`6LRl(TdhHE$b9R`!(=(PI`7vP3Z zR^t!XTbNpFeU(OPG|>Tv^2|}chu%fab+5oYuhwm>yMV0J5M=2wY_%REqtUVbXuy38 zWCcW-pn<^hR%nT;LYPH&-y)r~N%{5zeUhk^vnWypSRVw*S|M-k7Vd*ptkP#tPAL%# zZmvnJJFT9C+eQ`;L<>4AF)wlysmvwBlxU@KAM^TMMNCR4JT+jSe3#I|^gwMG0xPmi z^bCXVx0oQlH|Ehm-DPADm0H7-=+<#0OW@%KD#_%Dy0&3>8!A00>$ZF$6V{(~=J7=N z!3B$XJmp^;`d+sgd4L;QWw}z&Y*iW?Q2ex-j`c|9cFUKSr|I@V1ja$U7oWvOu~3EO zM-(o}G()RP7W25S)en}KEDf8Zxo(RgQl|!rQ90HHz0(rJ5(&1+$AqlX3L*meU>*Vs z5)1QM1?E}B1gk((>_934^XMfwi!}9FU`Vcuffps{nP$?ai?wKF3!4tnX!}qo>$IQ} z^^)B2yw_gWm=|19G3(-R(GWeN5MrWFE5Wj}g7C0e?{@=FZKJ|M+fJAD8*>xXAk}@1 zm-@!|Xf3BZRn_Q!7p5_l^}20!UYJLaous>hFhuKDDGp7wHQN?%;0dTETq`lJunr5K zA8+j%w9MN9vY+9<&3*3eA$CkF?8~07L?11f&KOg$MMW$Bjn7KqjqPU|0Li zpx$fLd|XasW!UQdI*W}yRk4x*S>;6G=UBP6?8ruh`N4+i3w^{VqYn)NfZ|k{yv&Uzi_;0IrpIbn{Gs)v}y$zQsJ; z^a18GW>nA4eccwL2NN&{x*fM(>q27)W&L)5{l-29GZ22Qu2?K}LpLPJxK`WiSrP{Q zRzgOcvHgAKkxzW)mz+F8lVK7NMCNWggyVWcW^#!4;P$MkC0B-tdbEoSv&+wILv)AFZ+v$XSgUU9} zJ!F=Kxiwhv0?@v20$3E(;?!AlU12y`RT=z4j%0Pw1sB-Yw7|4Mi~UXr;3JF{zj!O0 z70A+jO-3#qp@L4!>%njFL;Q!u)-slGtpsZ&II79*MS(nKb=5`oey!61X`u!?4)9ic zmJYxS+mAkD?b81qjRSGCswoJS5rHo3l9iyK9R#gk3)rC2e%~sr^7Z>Z!4t%+f^wnB zHuPQApnmb09=SN-R-t&~dEx;>T(k+Vi{SgR>kdkWVUi?i9G9iTC`hFKm?xys`juF3vr(z&aX~i`Zwj%%wF37L{4$=5 zdDsQo*D1pHz&v~#XAYfiujLB!I>jvHN*+mHQxqsqqtI<gr4Ug zfSy*Xc;v(bV7h2?AM=6$t1jZl_p1+y1bjpF@(bfXs(XO9_d06FWU8jSaFhcM0b}f>J zv(btgZnGAGd1?vF^FU3Ozj%-tou2%%OuK$z=k-D>nZhOJBn2s?W^p@9w-Ik!3-5K` z56FUKkC}fJr4a|AR9MNJ>Rtt8ejS@vrWJUH`=wrB9tvR*?^Mi#W@1^D?$~mg0EpPX zom*j^_TNqmP3FKe2hac*s4@h_h(LC~&xFVXfwo9@&lJEs1f&rbmQ7FT`&Il_8Y5o!CRG>2ggZ^${Ek7FLQ`TVdeW23Z`r?L1-$c`D{n4x5h64WXuR ztJ7L1bFUL)RQ7lS)5sy-i_52C9yx4NdcTi(*jvpwmX}Ox&8B=uz?$VffN*M{7?mS= zm=26E`Yh8cz!vKEkyXCq5WwCGqrTtm#`HvMM3+?y=9Bt_l)4Bob|r=#un2xw%=1}b z2HrP_`#>yzv7Z{aB-j~i zwc&oVSf?ZV1Zj)sS?aoY2O!p(dW=Dc$x^(>ji~@a6Ih@YaHTm_(e2@D-Vc&BD{q>O z4+4l?>tWRuD_GROuIbtX-@UHrMxdLDg?JVdv*v&@CLV4f1RE_R%WCrh&q?AbvUA4} zof=wl;hr&c879BW!Lwc=vc51sO>tkLs5GG|?p6T{h1Fl988b473cSW;fH~z^)}RZ4 zmNpvAeuz^6I%6pFduaeinI`1iVr*eCA}lFJ(UA)NjR$GscZLbDUc-JVDVAk{2FDnR zSXNfkA)d_rZVJHajc?r{V!aq$GEo(1CFtr9j1XkSU|8JZuMEXV9W$%&9pnP^>Quwr zj1ry_&|9Pu$xBlYD#l2}>hl$sZ6EE!bQZN?L0N(W6LsaD7^nouw=waAd z*E$ml{lw6udHg{PIwGL_FbGuZ!ZCnM^s2?6pF*J)udFSRxj<+O$jP*?#lRFD;bIBw z*+oN)0V~>pXhu;rtOQGIQ(Hr)6?%ChF-8Rhm#)tm2VjL7`V{un9z@eQEDB}@sGwli z$J@)A4!04#VgdrZB=Oo3wWCkMYfw&WV+9#Q!m1+peoP2iAQqv3omQ(T>jy~^$7Nm@ z)2&3U;!POQCk9ccQD~DM79oyPyLK&0rYV0uXfzm@@Gx3@QX?3FzIIh?RoWOyaow^&7l9=)W#{^?-}SfS`}3F8(g$`7OCekokqfwX zdcwT2yKJ4}L+iB?`T<_JUJc<6X(wR5@mw&EJyXma4vh)(l)Vd-5#+*UuEjXl4lH{d zDS9{R)>9cB%}(0%+x4VZgFT$R>@-7M>y41AG&(N3lMSN``93T zCVRyK`HCDxngk`p;;+KkgCHA>~I#M{D3kifegFBCg9nl21?yTZI463Utt9d7sPxGy@Wj0aeN z3t9tX6V^Mu`ec-+L3fmfeV_{%*pGJZh}ql_3RpyI*U0SlGB}QIM}QT1#CLI7ImAL$ zz{CiZYD(`5-4}k~u)u7?52#~YEt{iL4|;td<#f#J^{~OIxRYf*?IG@9UN2@%)c258 z>9@r^ATjFqGqnS3`2biKU?5;K^NqD{k6{-8u| zFb}hinV<;152__mw1PZ*@>(0PvbG@z!LDSLwdcunTZQ6H#2lp^hgF;VdlX5MWm?OY zC53UL@o-p{&hyDc-w%4&PuMD2!L)XHL9$aZudIrp4_sc_s#rjWnFtNA%0RdkG5eik zvJZCB2e$d&f*#zpnCJB(uf)6+u&d?*^HP@XI3_&5rs>IN0%L{-^B4_$y23nWBW9Wv z=Fxj*N-z(Wm6(^YVwiO6S%G;OzXGYJ1?Hho&9HTVd03OeJZ2pE^ayH3RiiDw*68$I zk8$p;Fb_r-@0sEiSPBt<=fXrQS4>R$_Jv+bl8Y!kQ{Ah8%-3A3x^CS@Ft1R=NP=(o zA#j=yzX#?ago{BHaw_Ip)BazGhe!~Yl|w94VO%Bh3{gVw3kIuv%Wr{E zEM{4CVhgej((BekiU9}*q}opuLn@hV^E_aLfjYra3XZ!zvdY&^Kct2<^P|3-gGU%+ z!b$K4reJ@`LuS{$2&@Hw0`r7T00#?X`bFO;$)v#Q9h(?zlPL@m!YVh9>6#`MM#Xyf zWCWv7s8ot+rc7dP64VM#p{qprPJX>A=%$}GBG#=a7-r&E(^E~TcFlFcNT{I>5PT0^=q7sDAf6R(#LrI5fqM`K5u&SUzRMXayk**CQ5ZyuZbxT-P7NI->CC}p zxfS)->QZ%uNOmq0B1;;y5votEX!Q-JEMm~g85y}wy90JAP*juw#6%ZjK1kVNY^&)* zWe#PLJB$Mu+TkQDyOe>;%0+606x*wTV9ckZLDZWK&^?TxlW6WsgEKaCeQFSkAfC*= zJA&hS6Om#S5ya?{iDH@@pgs;i*@qCgVllfQK^u<`IOu`zZ9Fw{+`xN#6z){A(MF^a z$-{J@J!W~0U*1RkgEWXll^c73HyDJ8#~(vx_1kv)A$D$`<_KUqTe>~G>KJw?E&`9k zrB+K=-Y{RfeD_YP>Em5LuCrc=Jm43 z+PE3@3gvQO38*~~tio@Ik=kn~;bfp0yu~V&fe50S=VM?)4PK_$!?8+lXwU`JG&A6k z^*Z!F#I+bTYd9KW7BK*Y2#jHv?g~070_v?+o}Q=Kws-^nMR_JqTZwrExX90^5XFN* zmKUE{aVFXRTwT0LP<)*~UbVSjYnF|MgW*BR;c!NnOv-tFG@j3A8{y=u+9KvXbl!So`3;cH~4hfxn~k%XJ6U-jZC}PI9QqRP)#t8$L-D# z(cS1bhQ&f_*aq_k7?!luZ!pB{Of?g#V&lj4wHMVB<_X$@Ag4Z6U9Za>N^oO6W2I!rH@Rf`)@o!jxpL9AxgS%camYlT-~#i!-mNjOikS)t7urly;tsl-$Q!EB^fMf(aDM=0u{TPSQryjFX*KPFN#$q-e#r+LA^x%_sKsECQ8k~YL)F2kIVkUFojxj3rhRoy;@5Sko ziK;;7Jn+L%LhlO($ADHlY>!3(=9e&!6&sS)Ys9WE%o96L3TPt$!-{G&idgDU8Nlvl zI$04St1RXEZbA)%VVHW}2s~l|pfW5ufew+_ivYqTVeN~LnqC5I^fOIeS+2|$^b3|y z5}2WIKZ|6%@dU1hUgD3S5YMHZS^a*>bV1}#o+m*)!~B)tsdygSBTG5pAdyln&1{R7)TBlQ#jFaIo9~3$1QJS;TEkf}o z&FB;CqD>lwo2!uLg}<&WIU3D3Hs;f5S$aHKEciZKWw#p7-XXjA3V8F9Azz9fA=?Ui zp+?xBh_xSVtI9y(aU0Ai2rP*yI~RoD#@^sj{J&tMtNKOlGZLRe6^UT&NEXY8mJ4WIV|Rl(7Q#yF)A=`)Q-DgUfu38 zgL$biFQqCl&kMl3Zjb*Fp(FY&v{EAq+>9biotwy*#pWq6FWbkw7268rL$-@G1HMZe zBWMsF7E!XM7_tJCNPWp>c z8uU49xlggGg3|*Wg1}8*TQzR4PUgUy1QBRA$P$Zr;=8!49GW)7G`wFP-f)^?{p%JR zJ!nh66Lr8m9C(~E!4_1GeuHXQ3a+*sCHppDt00x==Xe}5!dltT{{g#V4PvwtuQa>^Z$5=BRo%o<{$zXeF+)hA2Y{@9~>kj+Ue1*fD5`=kj}!&N1!09lU{?W}i2h2I6UE#|eF34JC5Kp_H!d3MD_0*0^% zM6hh|eSnLZpa^k191MneUf_$)A}dp|w@WSQXf!DPD-yDYNOOr=#hWabLeit6O?p^_ z!C*2TjSotW$BX%Vv9VE>o=mqk=Zo3KD!bKqi+Q$Fc=OT&%+tv!!m7XAqGTWQa!`08 z%qs{ii77i5go&FRA6*6JjUQ_<57Em*49cE|P_BSoHP`DToe`c+FfWXn81#b}%)_pa zf&rt!K9d!C3&Y9O!@;88`Y_9!DKHmmn`p$yaEI4Te$&$N zW475S-;Xgvq{sM#2JKepHu@7NOMLuvFtqD6MN;H*77rjQW^Qy!n76%{P7-%>oP|JF zg0h!UW{f+;At*~vEb@BF9D36r=G`#I%p!+qu$Z@EqKeD=g)K%2y)PI{c{Y2&yfEmw zf!6VOr+L;)#d~JhQv=12N-&S*5+fWTs~DRDR&4>^1l)`uaTde@keK_yL@RLi0ywyW zXCsoZ;3r5h%h&=*+)Z@q)Co1hbjLBqm7T`{m~7hSyhlM`Nle+fFiO4T z#OSd-{#*NNUF^JOmyM!G!0zjydD&f#$m#4$cZ?4JNsN;wHu@;Z0?p}hG+|EF!6xQS zW+NZ73>RW+q>Tnai^WM*BoP5QhU&JJ9)?TTRBy6 zz$b`wWYlFtoAb8{V|##2cAmC?2!5s&E($EFJ#T>c`t~QvOz{fE(IMonP)fGBY)nE7 z|NVe|*r*kV>Rtu<+z7Gitk;g8WqGYa5eJApbQ43)@`pHG6a#iU0(Nx{;v~}oPmz7e zfHSnKFv%1HS7*FW4L$a(&K!a$b~AsyfvVeXXHgW#Oo%vGWP$kmhe=PakRy%)yUv)A zVXqusH}NiXgH$_oxMGu>4-kV-Xu|%W*K#LNmIbpsfuTLWDUy-^7E7(H6uW&N1HXA_ zYh#vq+f#J4*#t%QskZPp9*CbI3YoFCYmhk(Hdqowp0++T5~4v|E}5tbyj~LE4X1?O z7Yvr2)J?jx8HbEHUV^0oa^caVV8qXZWEV*SM1rNIVr!~6F*o|5=VF$u#0W|mM20= zqO9LRx|nJP=lB9W2 z*yZvU(k6`#21O|rCgY9SbT%Fr<$QlO+u7dU+1xBkZ_E!J;``PrztwoofazD31fAxa z@TKU{>a3t%s1f!lG96>IRpB%oY;fotkQ9MgRuEHmE=s_S^Cs7Vd9$Z`hLa7wI2gtl zC2aa|?7i%65b&chehoZ9kT4IxJcewP<{@)>kVF%muGUe@0`n+lF;AtLDe)TP@Bs6u zrQ4g~CE4*?GrQ1oXPvCyngore@`8DTt{b!lc&;@%U>-*SN25_!&=$u)t8x*v1w;sP z%@ILpS0=cn4=_&|%b+8Q)>BeqUK*tq4~2=m+s8asAP0d-kJW7Emzc-?p%wTcDGd{& zu3~{}1?CkpU8ECypM~f)nXym8yupMR_&Vc#YUs0Pb>qPVtjv1H)!r|&o^>!hfNF+CZ~!rT0T$k^I=)h;ha(pGRMIjj>q0)n3Lku zgX>~+$wU>$;~&In9AXUdzF;urweLEc;i=cz3%6%;crEcBKsb$JY!xr0VsB$3qrD_X zE>i5dG>yQ#9GeD|h;We2QqD(gfJgZI{2V*i2OI@4!of<;3+;} zqb82>c5{#h12O;e2q#D64^)UE&I9kGQB+pFwW z<1Oad0tqLUr}V$*k^Xi8U-U-9%Gl)k&6=%>Lw>_~hw~lsg~5pB0|x=ZkX^qyD~8>mHE*!c>Uwkj!a-|>VM*;#%j*t%Uf3Q|6?^0OE;xkg zO(qjOvI;YM5=h#TWtO^dAfG=*kMJHBjXiO#_e}8$EQJWjU16f(yR9 zm}@V;49I*lM)`bBOAxz3OG}h2WNr#A{?1a-rMOYkPcB zM`|V`#mHaRms5hv9@d#dn56z7TxW{6BN7boy`+oHkR^>Qkb^%>aY}v21z^{mF*1k> zyyn+=C~D3zKzsv!hDwGI6EJ?=b^?tvC>unJQHGz#4OMhj*ftcCSp1SX4L1`UYP?~INe&H)*sL64p(?=p6>@ls z5_(@S7(0p0UNA2K2Qf%+wJC?s-Z#ZqnVuT3RhYn#yv;?<2&XLFaQDx!g<>r00aJby zP2wz`&$DqHFIZ^e?+bJEJ%CPGgFM!2mWA`#Dh+A zm_=HVyAdg>nD3kVc6^0}2uNFD!(Rj)+ zyCMun3*L+;^oc>FO&W!pt1z2w%3n7tOKxuN?jGJfbf_%7xqbBL?vb5CtL#?e`N5rj zSx!jtB5v@d#5_D5#Tzxk-s~XZyRAz4wb_MX1%V|oW#^J?5DqSwKif5C^M=51vVon6 zX@)`RM_^vB>~0ik-yrJGv4?Yv=Df+&Jb|xR>`|7?@vE`Lg@kGzNBhYh0A)Zm?pUM< zbpi8u-0g3&J$^K7Z|cxs*Wc_7z4kn6!XAzu`@M0`kJ@9Z(jHpc)KS3cblNXm`)Wp2 zqb&nVT{O}QhEGTz1XIMfc#n5hK~j!HBWyO7p7A_k65J1kAZAgHw5je@V7sQ71j8_B z5&4B=xH@GrA=@ZcOnQoiJCN;fVp)~$^AUoNHO!(B$Mx!99h+qHkzy3w8uPpjNIheS z)0{bdohjaqNI1gxl5K5sRFL0n(*ey8w+gJvI8@i}%^4Z}T*Keg&*%H`kfR0o278#hupmGjnqj+na;~ep#c0cX|keokei6*ZpvxmnRMXj@rY;TRiqYHGe*&G2c zWsJn<`BaFL1Y!}3UovOWHb$l1keM7}y|`R5QN=mi7U2!2gx(hnraX@RJ{Xl^iQ&2F z(*`J@ls>ro+RV z2vXF`SZ0uY)J)RJAcPvaH%Zt)7p`)Cqy;WxTtY?SM*PpwlPno^n#?j|x(-lC;wNy) zDhA2wS1T%G{V~n<{*i2kH%yrF=gknd=!oDv~`1L%+`x6<}uyO_A#$tc26?O z=l%ju=O7OAK?@swV>nL6%;bu7d@~V01#Pv$_Eeq6nTr&mnjGS!7T4VZ z^Y+5_mYhqyV5>Ls+Kbp?UJSBKIDyoj^mMwV7iXNn^#acDtT1muGpf4P8V(tv@i-c5 zg&QYWA__D6$7%Fl`3ME_;TkVYwA3%+ARX%6D&}z!2dqF;b``+sRvNMh;+mQ#Z_*LkHgg*eN@aa1cY zFS3}oy%XVJkp+TAoGBET*IzI)Y!|`nHj51~4=#e4!EhpWYBV!pUf2#6P&SUYCsIpc zUeb>T2`t8=C#N2p0)E`~RY-+k&Tf)2)rWJ7(17z5sj^aRI;Ml z*&fo~09g%KZpOo5I@lPD2l|^G8|fh3+#1f3ben}H{=R68zT@wcxL}-&!8}e+uxla! zh;fn8&)GD_4aojqGUgg0Zo)i{Ekzpu3f5Vcf`mitukG0w%L#T_nVT{ngL&~Zn`W&I z_QM6mbOWfgi-rY@c3HHlMQ8g|zvT&?P{jImXQSOMX`wI=?hMAQG}{r2j>aw3Eyiy;wk+p1>Mjp>ds zPe)@wxD_#F=duB~ap$cUfq6SG3$gRs-XPf+U{JE@!_S^e1|>g?#CbT8cL zkNwV8+SJLKlpndz+%W0PsEYGINv>n^AyW<>S%pozL4?u5R-Q%l1V1YhjsMby4H#Wu zBHmdA4kr?jonoz2SbJG8%0^oFtm1&FUvY@hiZQy1tjxn!7O`p5wy__zWz~+74KC;= zW}Lyv`dV5r*>i3$btSfC+?>dJquAE#{o~!66UFolnCG*Hb>@)dL+12aD?!x>@kCI6 z=y1YuTUj7j(`N`AR0ixi{Vj`m9NORMu$SegW9`sk-;ZXD8r{VwwCHySQ9Im$vPpVq zHiV&m(#D~m4%5kyl{B~@DP}9M&A)Tb+C4Ohj&IKfQKvOYONucd#plfpFeb?&u_y^z zWF91k^HHKV6YM?Kw{Tv3E}5tbA`d_q@k3rrGYGT{mYw8|+?|~P4!jJ9nuoQPCQ)aS z=EcvvicQB=imifF;;}k>XpEE&S-P>TTqL7WHryCapeju^vQf6RGup_qLr5-8&3MeJ zDN09(3Y!z*6d=UkH;zI90OxSz{-19oU>9c{=+&4=Nlgk~7H^Jmc*f(5i?_4<5EQb{ z0nVjZgd0p3*m22hFdK9h;|xa}LY89KjXMRW5<879s0F*&)^B+N!YX3@dK=@TI}+nQ zo;xhn;iQx08>1L%5b=#{R@jn0%ERtrjGrQ911On>(~Utk>2{{0bV}C&3aP>doU)2R z!pRYS=~a5$vTQb;;<+lqWU{rjxjmm3_@ZAOYW>I_kqy(?A+W2=JDhKBl%aStU&tMj z(5QZ+wy{yRxV3dy{<^KQ&N-X!d#n7?_$_`_(l1a*Cz!YSQuImZ zqgQX#NScm0y4~;Fs^+u#>~Ozd5?B&bc5X17B$JDGUgjHf_|=hNm(L%jiy=lym?D(? zj=c;megc$wJHtUfPLtud!>VU%GRyH&q@#Qrrw@+1G;%eMCltffYA;YN?SrK;t6cp_ zGakGCVf5~txN}$srTfugcN%ndXiM#MB6q`$(#{4|;jvB!{GcO`k_(GTuOrgf_6hb{Dfe*Pw%WgLuJofnk@9p{#&9t0b+9hAp#xAz6*l0NRSXg^WICP>hlRN?80dVk8d8`}cXqU+T4Ejs6_Umt zkqxuC_8N+u^k~73)+!WlHn*^EnHFf1M%hqWh3)MlM-K09@02BvfN^J^bNqN&`slIq z&O7^@vyQK_OXs)s`-TFAIKezW#FqoiTfI>un5nZN-)&W!^Ue8Dm-8M4fh93z=Z521 zI=lPMs{><>y)7{ydN9eiCxC05v)$**o+v`Q%{@56slr*FO{N{@tDV_m$idWnI^IQ| z@ag7>HUkH_Kgc_sw7Zjo)Yw3Iip<0u%*}ItJamk$qVv=4F&!H8l4IUH>K>sjwbD(z zO+U%IoBXJUy`;gI^EXklv$GQvOMW%OVLifZhVi{v%1+ zpU_uaGpAOx`o>0-T&71D8EqFO$K=-y1}FpGP}F9VLk4u1t^6IYKS{gE5hz;>_O@n& z5nb-$(9dUs#T2e{PCy=@gr{-dz2J7o_ZI2-N4JjBj!?+O00<)U zWN>^u=*Y3z_HeW}N;x_+%olQX z51B>SzKIjozS-8+aGoZcObqNv>jcEkcAnvi8_b4_!5sc!t_`$$7-hSgc{0w};mkLv zVspH=vlxy5ULA`ar`u!f&1{r!O|~YT!%PLU;S`f^lpUU9s)`@EW!+&bDzXL(y0M9E z9Pu;0?fE&!#4nFy;J6v4i_U1gGs~cchg+k~#Sr@#V{_Qek^w*q6~l0_kuJ6-qlMeq zoaLKCRI1w*fm`sZFdv3Pyki(dlSyH9jYb@e+fqXc^ZAk8-6Mw%l|EvuLnZ+2Z73|Z z_KxiyEk3iCx^sAYYZZz&JBR2~f;ty%Zj~+W?jAqu*xv4uqK!O1>#W<%H>UYwIXqiau#qg)e0%@_b`4;k&Ks(AJ^t;~smT1%V|o zW#=YSaO09AZ;OmM@xILP8*+{q?anY9(;=?!pzQ8&*y->&JZm2f%UHOy$p&R4ga_jX5Y=-^}+4UifAc^_&CqZ4>pE*$hv$msC16Tw#8 z-y3!KjpT6D%Ys8eHtZb=ydeh#M$--sr0mF%BVpm>+Ovl_MD${@tuWjcu#d)et;f{O zk778?N8s-@C=Bh65^`6-6*jGn3uw@Wb`dv5MVyZ|wXao%tvu^a^36fsv(X>)79+*O zT+mINa1LUE$H+RL+0Pw?WmUTGZEFdw*u(eDv5!^Q+g2Q9{D$bXkl@=ma~RF$`S!5h z8IJgsEn%B=$n2bRhfKU2aYh4AtI2-lxDUsqdcj$Yj1FdJC;Ip}!qFyNoJ>%gLt^Kg z(VQK@Zv>Ucp=^76_MycHm)@`!j>FMnygkR5=CA%}HH2HdmkxUuU2yK%+k*>_AD$uC z+v5YOhvM_z?wm(Vov>(_cFDXkI(NEYuH4(*2K#2Y_%1e=OjHGfcs|-#Y>c%+91RNw zZ;#nRUPQ-_&!*{Mg4;Hl>1S_we|t35@!yiAt2=s|P53!?cFx(GjPRUe6WL;P6nD;K zessP)*YDYP!M@`s7WmE2ndWlv54Z7&4aRfHDl^D-J{s&C9y9odFs1pyhW=*K?(S#+ zdWjhrjGKs?I+jP1!O?B{JD5+V!_Dzxd}wwK6i(y@5kt=pe~UBh5D#pE8%x4V9*J1S&Vk*I)=VfVHZwW#UNp&xV6}tt*o%=ROd#t zYEszRI%{w5tRqKCj|s5D+5k_U4cmv#KCyRJk&_`=fv3uCC@qMP8VKyr~gaby9Y*9oqNO2+Iw!9nPg^?napI8nZ4(J&m=RsCnS@5 zxC8xI{HJoHpf zX=|09Lh}CBo&>RP-+teJ@1FVXz4p3ap7pF}J!|c~>*}ULS5`M?rZv{qPx|M5K8Z&N zuqB5dkn$qsxXI>;FWFAI@I+j$K*)=GC8~Hd9<40EIzYC7Q-ztzoW}>g(OW)dC#w2E zF?gN{%k8CpY`Av1`J%*BcHQpWT$l^fV4WchAVCv`yJRTpiGsQVfi#wGAkevsttHUc zy0KQ1i(My42|^eIZmBo|-3k`>5sS@U1>wKNWv0R##pK9zs$A zh|2uuweeq;uStdcm(|r}&*=yRNIn%RGC>bii2Xa+BOT#CshIC~{QTiap{RfNkbS|D zs9TromaV*m?kHFL)zrE%@VX#2xUt^ye;!!O<&Rt0(r6i|{|kz%%+PTZ%3-d#@%W2F zaWATeivzx-HQ$d?R-$B4xjG({y)K8_gykA3C`SVj28!^9G8if%lT$KvWNNFUu9iyl zJyUK}{;bq)UdyS{pzN2tCA^BHqC9x^OSQg`#9g8?_rYtP*YQ*(@(5gxpcLQ_cocE> zYy~5Habc)14XSgxJPz!v0Ox}EW{%1}zWsNqN+++96e;%LtsKQQ)nT-7(C_gThoo{T z6!Hd>!Dx{0Doc7p-pZ;_smD{}Es-Gyx+9PvTyg}j^uUrsajZmkl_unft2mB&#wxD^ z)RZihT##Mm5K0u0!XP&fCaNWNuPYUmoIY33ne|!vNa`vhX&o{5k40WDe?1?E1VKki;=)y8ktsw>T+BCKJZp4 z7&Sq}2)R)ji26xyBFk4XwaarMP3)_a9Ui+BD~Toi-e|rl7LwwgV!mF>yFvmrl@%ZO zL@62xMIhHJhu52k#}d4^@FNo8v(B=zDV~QHT0on^=e+!gC8{w8&H6-+k|`{|W{<2( zvJAW)+CsjhfHV_RDW=o4HB~j~^i;^2n%0(<)~2SZ&~*(R?Jcd1O_Tn4pHE}AA)Ywm zM<9?$RN^L^C%lFNDn`YHCn8DVs2}%ARAq^>M6K02RlupjOl8g=1m9Rv`2z=0-K#Fb zb~s1KlL~>kmU!?2jKZnxdOUg9CgrhL2Lt{HR)QmDj8~~>!iNnD-f*}o;PpVM<#83d zy~SR+(Caao+~%|gLRcYGxUPiTh0UAbym@vY{a;0-{H;B=+aX?s@ut-|uT2YZ^$=4ezYohQMkf?glydi+Qg^Csau z5qlr`;lVZ|%xt_aPFX?s)QlP{TA27T9=i#K`h@4lHay1(RP`jh2BL0d;M`{%*TBhDRLz z{-7(Ggu%mGGng(c2%(fUC|SZ=Ulzec!RfJJ3z9eDON7BJpf|!SMsgK<%q1T4%=X6m zgw$DE7Id3U3GZiRmU%5#r6QY^#XzailE$qt{Kz`hL07vtoD5hUUEO35-GX46TK zk_WnKP*bYhBl%n&Z`6l;d14?pA9S8>OfV}Go|2#(2?XSrFX~GM8&ah{KNg9(#A$AK9QqT zW%<-Vopni7AWtsdQ9)mxWO6FS>gs9J>Kdx6r$SDf*45e3)!I50x-m0zMrT(`+oXTq z=c}=y7Ec`UBOJzD7&qA*@pl(Yx?r;)sv?#M;a-U_Jc$)G zuR4iZf9EB7lp^dWtZfhXT$JHl+9p8iIJX1QUp$w*o8%ntsGmRMINTMf3dDR<2}pcv_3nZfjG> zl#kd$1)id6rzdEuE-DOSZ7~!x7eQ%TUteFGo$@tBc}}=QQ(j)dk6=Y9j!;CAdwjk+ z3;5z79O!SY~s|2seDr@dZF)R*%6 z3Y1@wzn~l*%7ZmPMVSAh&=p0Ud`f~zNiqMG20!~XR`5}s|MI!BWlEFVSiyfG4__1d z{NZjyQUC4{iYI-QLA^N`g0cxqY8A0qBGKL%Eb@5$o`4((d_JP=9h7|7++cHN&@xzZ zMO|C*xKD8?72#5H+*@894TT^8`4jPmqQbbZz}t$FRfOBC%R*7VJ6KR0E)JE2E0YOy zUHs*M-y;PJgE=OjZ;`?HpYHF^p=Ut5-;FMsdZg*DMTv^@L+SIHlmvBnfH9{?yJ+dx!4ak$1cT}u|glcN0 zQfzAK>}YLo%4E|B20J?D&zn1c_Ux(9T{9LgnAh7q=Sl|S@g_VbhMlPVC@rn7Zoy49 zM|c_p)9oUj37$wOl&VPJUWux{roN`L2s*KB0jCNxmAQDbGFY*$^>=RKhd7B6V#@6! zu;Hc>Qi*rr`Z{eP4b6rrhjPh9Uu5O1nsu?cY(87Ymb2T~Mz)!KnLQxbg<_#fs21i3 z4+zJEp9nt{-W4t4z2Y`;hqzn(XYpxqO#G?%x@wu~TGg$pzqs#l|4Fi8|8%?5EiIH5 zNlT;w=}zgebVB-t^lRz&(#O&`mZGp)f~_|}xlFE;+vK(KCiy=3p!}?SSboV<;K2i^ zo}j1H)9YF6xyCDaHC~f9AG1%V*X@mYyS#(mm4Tm~nfU$X3&MqoKhmEq7hQiC#>9vXd6Vs@Rx`caB6UK>pQcuht zKR*8Q_@VJ{eDL81x1as+?Afy)oIP{)y|eG0edp}2&%S;3t+T&6`{voxXMb__=Vwn% z=*RzO{1VZb%$d3g)&Gi~nK*Ol%qQ=^@WDqP{KwhyGdF(lPw)4h*?4CDndF)DnaKNl z-v8?R_g~I^fBXAe-@oVmP45r9-|>Fyuiy85Wc@uYDY%gT-^Q&uhb}v_bf~n@XQv;* z_=C@G|Hkwf?!N<^Q0%kkgD^j&-2eYQ4be5Ul;$bkv*-WskTrkTOXi9#=2CPWt)^Sp zYPO!;%C2W$Q0-KGS+!gBfa*cjS5*(G9u^O%_NczD`iANe)uXEYswY(kR1dHoP-8!7 z1iZ_fc!el^^GdAzUYNX_x?bh@Ib$}YNGejJA8SGNIix288PVo>WFj+JD4z<*N;WDa zJ2|L`oK%ed?;f{RZt~WQ8m?2E!9yy zHPAF_q$bKxGqq4FwNX2DP$%eZI?bS&G>f{yRpw9+%|)Hhr(Wu#1+vELmQQA+B(Gzr#4$+HrjJ`+Tr z^m95zzogUjCjAO+u$}ItFVbCf3w@csOZU;;w1IZfm)Mi^&-6TdoOZCM*a7gm-Rx`Z z8*HEWWA+5yLtkZ&&=2Vs^felxQT7-Ov2U`k)4iaqRdfe^ogSevx{)@~Fs-Mxw2p3~ zo9W-!)ATmo&TgU=w1zgagX~#QzyowGt)wr|H|U$RkDjE*=>R=V-=e4JS$Ym7{5Bn- z7w9lE()DyJZ3Aar!LFsRu$63xEz30Z_w{11=$SLSd)CYu(;+Ljx3#u3XPO$PHPqMD zLPD=hmL?z@1pGd1ox(Gkc&98rn5EUIRieNs-tOxdl*fXDW2&I9t1H3peam67{3?sV zF&S1JpZ7B+^Ki@I^f{jy_+0fjJ~LULnJYe-S#F?)L|kt7$z!jz`Q)Q)@!Wox?{D)h zlE=;~=5EET3Mx0bxWSYI+c(=CtJ~x;HYm4`b!=F@t$na95od=C`c_}-N_`?uhx7&* z4KR&`eQOV~a3fO;Lb$!|kU+Xzp6r+yXkR`w)-$)iy$#dWMT#A@DshczTF10XT=Ml} z$TMx155YvQrTt^#as=8Ywr|@uI%bKDMSN{zk=xHYP=PDQ;=Z=_ zv6v4Tn>p`F0&GkjF#F_feNPvdRc~Lk>|s zkB8@F`_T-oz|Gi}x&7IDnN}2khce07qA_8RyBwc#vGsA6EmJO6f)Dyov+ch2!O8!I z)sC?(E968REvx(kW2yk$K?{JMPQHeVY`h`OZS{;^CO44LJVmDzr%ED8V1 z2T_RYc{R-KA4~eyj#+&z+1iE$A_=r#KfhlIlC^Cgv$l@W;I)&X#**y_3leGH#v6ub zkjLel+y4@!C(azIkc*$^{ACf($5>%28YS4it$%3Mm^4^C1o~Vh_ZNG{GK)}si+uen z7x7l|na3h$kQ@#)pb`pY`y1a=o>A;EZ9pgY3&r9h-deDbJ8<%~G{C_;rpey&7Hw&e z`<fc|$6bKDg;~@!&=bw00pdt_a%NRqO$AE5|>`QgOBb$i|rNN}g26g!;2QWz+e; zW-aTRXDA}KuWY+2gP)5OH%bO4WBdF06nI@sRtB=5|px-DTZtuDDH_#)MW7U`I@8 zRNkh_eW!AN<+kf@oTpDY%iDCmne(^tlzo#ClDuvD7=dIn=&m*S71;z?2RNm#W4TW@ z%N^U6AD!5;V%woiX4~5K!PRx>2ittphqn3V_cx$1m5zUB@$EeMe45E-_O>MAU_LE} zd~EC7Lm9Sp{^I_Z@a&(wwYUF}z*-i;Cm0(l09>$L9^#cVvS{_T!9|?3sSp*3KO1Ad zMj8`*jfa?^F^=hdD_h14z7}rZ#O<51_8M-l^|g$#LYAPHn8<|h3`yqZTqckVlmR03 z;5-Nj6UX6RRoihC7ok9Ui7`gsc~X+U3lV`ES%K7SXF804TIypOTyt<$bI&sF{GD&> zj2-5K`wt44XL_C)d`2An7Tfw9g|*Y?~g?S?^G@Npoh-AnroLmRAV~LbFO+s{zf;Rx2*xqDu|=Z$;Bdjuxky`@O{(m(xFx@+^3(m%0R zq%BO8sz&Cpl@i&;=XH_EbUvd zWKmy#>w><8t$ls-cX#*A+dZ>y?(P|VJ-es(&DlM>FFBjNJpKLY6Vt`cC9QoOOIrHc zmo)d?+{}9CA7%7>Ayc!XZ1>Eg;(yMYIi~AbGRC%!1?KZ}X71uK&DJsMTfC(I5Mw(R z-E;r_)Z&^s=9=F>w%@gA=2#aD8E)7D1Gx?rQp=)PjE1qAI?PX3A1t>1R^^^z>y;}k zChxgd#gV~42+MD{IeW`5pSv4gzkV1A@FbLEcuWX}P+YXe(T?B$!$UYiG|?%1K<0@* zOpJ@20=_0b(K&Im@PWu6ZRcWEHa;;fJWV7VnfL>Ib&4h)2D0HFFpK`PfSL8gpMdMg zKJj}<!;+zd>a}FfLI!Mc{kTnM&`?f(so(21M zdJncebOYq>rLarGb}l5zMUc+hA$1QxzMKPz{2oZ-H$j5^4((%l$nUp6`aS{Mn-DGv z>AL~&!T%`f6)4ppFEwf%HLcY6l>asuuErSdUqLJQq4GFP zqy|^k_5*vM2q**KrUyys*8^`68DwBB0KdkMiE=j*<((liX8_#iBYXkE73{!QMF)ur z;ja+xcD$k6{vdD;U!hu$ud-~#R|-}`ow5&au|*mZ(wB9>8sHd_R|UZAJ&3nrz@H!f z{766e1W{-NPZM1viX0${wGqXE#0Bg;?E#PnBv0k95~UGG`V>*c5by+Wj;JyW90%a9 zs*9)^Y1JT&+E=i;hkQ0P04InVYXGFtgs>SSQS%^xI9rkTHYCt)1>oLU0^ChBy$!fP zG-E5#OkfV;>p?p6WMDth{58NnqF!A4;zSD&X2C~93l9P(fU`vXLqv<st3!7-w1_Ye&|NVM`e(JF+! z4tc*`2aFKifOys*tu;dc;$JgHbkhmo64A|wYwaM>x;W7-4qy%NG12gPU@Osj*sX{8 z)-s?ASPj7b)&oQvb^u6w!#Secklt+>0Dd>Y@9k!yJI)Y|;5yO(Al?zAJ#q>_x_5?w zr9@xs0ubhlPXKWHBHT8^Z8O}qAnh-e0JDIN0Q`LEEuy(?tIq2l|06M2{H(#QE4IqQ{Ze;|TlsQeZuRcprZSxIpv- z;(elr=$i=lO~m_6xP23D--O$fT>$()xd(vVQ-i?AL zEx3Q{BGEH`U>2|uK)lbKCOW7CY5>G_a4RqdoPmk}_TR1mkjHPs{@bvB?kLeAl-0hIShFR%qT03iM&DDMkM_k}J1VP7~%^x~^TN0G;)7l>Xe0pRx1 zT3{al`1M(fwzc`tAH9{4S;lxze4mwGXVD=RRA9o{mVO0>-7`;ct6p}tpNO;90QQ2lZfNw zM+CJGU)&zzHm+}9Ao?}R@@ofB24nz~<=2D2T3`#X8`uww z0mp$;z!~5I(K`f~0U0O*GC&V72&@I}2KE3b&pXF~)4(|Z>A#C`@A?7c@!d55B73g^ zSPvlFdk+Fn0EdAS0K&d^7WkOxeHCB@{6GcJ2J`|$z(!ys7ubnyhyUuF^g&sn0sB92Rl>oVdP{|K`eGv+x)VnRPLaSt)oR$}UX#55a; z>Gl)Ld54((3^BtPG2<3ucnLGhJxwfcJuy=aF*Cwi902^}16J7CbiiB03IRL9I{+ub z7C%U=WDhad5Ha@%F)0o-0KLEo0P#v66O*k#1uzSMUm1So2Z4hC{K*%Hc^p6+um(V! zp5wqr#JmXWML6%>z%k%sV!k+lczpYS)5QEo0mKmq151G&0PF(ih=q{%Fzmux0hBp> zhFHW%Ecy|#cnQ!2tOXEP{1pK4BoHPc12q8BNg%$`3~-iM68TBOT;2w(0g%`769B@c z9KbAK3xKpzZxKry0r*cNjWqnGUnK_eVHI(p7eKx$jsfS0Rhj|BTe%T90GuLLr2=Yz zAz%lw>NCV@9RU2*BF@@N#OhZQYdA=3+F@diNV{nkfH<1=6U#hEtOe<`AZ*JC;3Bcs zFaW#O5nv2JoNY#+f>=A^?tpzK;_f<5Z2HH(GqKrA0mLx}VdkzUHm{%9eAx94 z66-rmYyr|+0Jnuli7o0Owpa(8Cbks*2D*q{lL1~OHdsb%`CG(Rd_?S8lSMa0E56<;1sbt;rELT0L+^a&z3ge46(c5?@N1#-F*-^M(iHg z-3yGC04D(C_r4)w+jbD!J_~?(JMx4F?%Dle0QQh$*!>>?mx%2&0!SBf4BG|!T?dKn zhTU$I`O7oD&_-240h>g*960J}#o5&LJv`xwGMj(k9lVBdt@Q@9?86MNc946*=w z25COC19*$r!3F^7d>eJ~>>#nRGGd1=5PSYKu_Lg5;Xz_Aq6|k7&v$!?eGhiW&Jg=S z39*+E_T^*5Fs`!W@bg2&|0Cqt>m$V8KzyfE0OI-iYG5O=f4e~J^ipEK{FvCUwg3qCE2R0W$*FfOn&VPYSciTwug{Ra2HLHOSw{BIEcH*W#wfQ!V= z!p~Xw{STz^A>#ND<@oR*fV_S94uJIk(+HFRi2py^fTh5CUq?a5u0II1C`nf0Y2R$9Tm43--UeMC>DkJCFSQH_G|ni0}9CdqD=u zfDF(B!0p0XU<jM$}*h>eELPgpYtrB#1`f z90{sdNx--#Xv%;w5-ao7-t4gPKLZ$lh~4xkL^0tSJNz-|Cx3r_);NU+BNxM6NC*iQf-li)yJ z9Z180_#A5h#Oc@v90pzm&XQ1M2H>Y?E${?zngpi~fSnU|&aJ?H0C{mDE$2BBijmJ^ z&ko=) zaE1i04yXWN?}fb=_FmZgVDE!}$QOd|2>^EfFn~Nk&JY3wARmF<0P+zy1zaE@Xa>rF z9$+o78+e6;kP2u6?gmbf5XOBN_hHa0Z2doF$oEjGXeX=9^eECr7EBVfPLvKUJez6D$$p=vh?)o`munl*@{25Ho+2Mz-8Q>y~tUW<5Z;kWh}a2i0^I^?Mi z_jRw5P!Dr`7qA960KiX!83+Rz0Oe^|3v318HVx@aTMCQ-`+#G>JHRCp8cTo%U@0&H z>;sMg?*NxbXet33fTh3)un#x}yaQY!AyWc00KEY6lewFOX4toG0S=QebA*IB?~pJT z<$~4{gO>2$B$Ae#8NEu#(K4M@)CiP(E%_QVzxNvcwD8}T^HajM z%Nq!XK%LO6z6Nb;4)!+qGG@J)vl$;M(%K8fg4}C$OQ@;o-Pf5Vzc!gZaXEFOysW^g z(fUf+G?s?R=M7d?RHaje$Ba33ImRK29}h@!u)p-)*VcAl@3G7ORE$@u0DK1ybh&J? zaFK%8T>-Ts&WDsdlp`ZwKpu**m*TIPC+!k*xS3nX)!1D^ZjLoi$i>?aMWenzC*teL zTG6Pnt3;#P!Gv73L&!CXf|$G6C|ZqTZj+H2#eAnlkC*o0MX&mjVl&>->a^fP^HQ-{ zV=r=A)OcNrMPsL8v)ZAN)Je6V#-4Kvp6fPm#&={aPIH-)IZYPKWAKup0#+bv?3>gM zXLF8qlb&#IX)(5l&8V5C_Xdt%KHl^mPR#t~!13e9-yAqGKtCK+$ISeEr}+ePa0kA{ z9w+?YJpFlh?!u4qGBz;4($#5g+U8T>tM+Mu%Cv&Ch$}03%-8Gdzs`H#!?-HuRo<;I z_de!(jE%qe;*95KyoiHe#%Dc`x@9zN;w$W9Q3qZ3UowwYM3^nY)M2(Tz-$4wCy%W* zutf$|Y+$hnJ78dY?aV${$O=Q2Q9J}Tn#fW6sR(MVu1wq9 z%&skEJ}|)=f`K^T^(Ij4b27qa(Aes zQeLolen)>{k-K+Ud9Wnx#%magL)GEVCC1^kLcVTxPC;qZjyJR!Omd*L=xJh32PKz&8%u|&NM&U(rRsKZOOD`D4HV|$q`wUpRGHX zQ&EH+)MCZ6O;M(a7Dj_nG1{)t7wUt0QU9#UzbcVSLjP zHYyksZFnb7vMn)nt(rEi3K;*zl*QC_(m`msJX2XL0v9Zu_*B>>{1`j0YN>;bWIovw zWkEX|w6awNtVqosY+>JOVqb4!`Uo?)m=~gasoh}KKj5yMGdrNwTiVfM=o&Z~g ze&t}>9c+_>EpaeMz@}1B(QSCx+^g|;n&sxr8jn@uY1Y);#d(b7dYOe}CUlEpkiA zrfF>2NHzH1(TNL(b%rh@8a#&1Qi|5j_8Gg6=a6`pELK;0&KNYKx=;wQZjKsL$^A{5Z$qD`RuL$;wc3qrvHofM;TyqNg!V zX+maZ8r zw&m@C#IjF!?)-FFV&H9_FYQDpeKM6Vy-gKR2^tl9NcExW6P0+kim9{)lgK7S_C1k3 zC$cRf%NJLOw}>Kv;rH`=nY5Bt(3%YT6{2eBALpwg$eAgxs8A!@`w#OKz;5a9p%cgH zSjMuc#mF;V**qcOaF-iVD#&uKKeF?y~CREXjBJbM4-^9osibo_FP zlXe>8BV-T^hrY`1_k16JHvje4=e+R-NE>knCzjLmSP{>q(w9hsrm=z5Xh^&(mw$lI z)Ra3XSIE_BD2e(};(Zb*EFS}--0Qq)) z`YBtuFdI(|WZNHL=c$3b&&$X=->-t#Wpt6oDCe*o@mh50bzDr2twa8<5@&xfCC64x zNw2)@6X(#c_n`lX6w286zM*HCU}XYRiQm-$F%_0Ob!fq)Q`ILobK~r(8)Nd_z4?s&Tx;e z$twb$$wXmMz+FxJWZa?2xL7w%)UCn$^J$g_AO6MJQ@Ded|9LoOuh?762MX?m8(!eP zNG^u)NFH?;@5h#P;-1Q3ZydS0-=jvC%2}=Vg<^~ z0Bw$0LIC2I&zlEng7f=EA$7-%H{QX)ZpxJ^g24(r^gnrJOP)P;>{*W5RkIR_S*vO% zuh}*oKtrqpuP{@f}+ z*BUiOqp0o^7od$GKVsZNkL44aYX)A2%vlT4M<-2Ne3m>>J5akO(K2B4MG`h4SlC_x z8Kc60*MDg_9Z(HU|AjV;(|=@=qPD;;+6%U8Ma)bJw05oC?A&3bj2RW2(dD30OZ|Zx z^mph5{SI@&k6L{`pSp29^Snj5zLIgkuV2#PR>EVRG)vm0mC^FE>_;cgDGkI8FQ9d` zc4Ghm51Y|wFkC#GL*0QWqEvjraPE0Tg)3YPG>f}ra&)li*Y7m;QPcS*-a_eE3^D)= z=VP%HZ!t&$>rSS4GoCoF$bg@l!eD9w8Bm)i+B`N-u!4{2)s2v(vn>klE@A@6e&H%> za9a}LV%9Xilu4;ZcTvJ;E0ALjS6R@hEzR+#8vQrkD5(6c%}sbBHC1YvqcN(JbGtHb zM>3fzaYsw=t!KNYMelOvuT<)}dg2f4x2WeD`j?FRDGz(d!$v(UPluXNJ8;5F38=e* z-=b$+$gF^2k@?|b4DtQmc)*l}nQGHy@)@b=WBr9z5 zk@JH^-Eu{{AMZk}jF(tFF-KXe-ERz(R=TQtDx8h+;#9ycHLqxOR+ss8`Ib3t9re5$ z&C)v)c=d$SP-5!Dw?GZW<*lKrZmZ5++7L)|*U0#6m1?fesqmsO7?K`+DGzi18!}B{ zf$1zP&lXd&u)0PqcP)%5=Tpr5ddhtMmTNG*csGTK8ES`%D|8L!Wgs7PwCo^*_7t`0a6!xb zWo3)z&09SFGgjrER+qNEb0L1~$i}kqu33i;v4`Y23l_(C-)ja<{0?~z(UTc-5odXf zpB(&TBjodKmy4}39?QY2_MypW?Z1!cQ zQmNRtG#jrgoqeVCtlmUXus&=nUodZOVvZ?YjU_>hEln6(m~a%&rX*<3kp%A;3ctbC z37)`*4si90nOZO)k$0elB2$-Xm`TGl8d`+h?$8$8hKYF6eXrpmgJAIN=)~hD0+kx_ zcHt$A>L9ORe6*To1$Q|XYIdn{e;5^~RtANp^WZB<^bgd>!1>ew`b2i#0YM4XF_0Y@ z_~a3yst8f(v-xGP+N*)oG&MXxLTIYF?kh{R^~+~fEd*MKRy zQK|@gO5M55tZ?PmzfjF)Ge^bzX-2cZzB?N1X^HMTg*UI;4e{CazLI#_(blE#lLipb zpA~u!Wb*Ss##;4uomp$j>&sE^)PjJ~uAp1;$US7L5=@Sbme4+9cG6yUt-GI*5-v-)s!Dl7hXFvCFR71vSkJD+&vwh<$~-dUjb&PugyA1*{v! zzm_Yfg5I=jb|jj@iSqx+Ex|)E2@E6N>R>c=INDk13e>c^U6rMQyqX(>?G=)@GUIlo zGh1ke}&OZ z31WQM;jM@3#pf~3Vk5WGyttm@_PAcmL@-FZb3Dojf+Ymi*TrW<;Wm-Y!K6yGtmdsH zVPT1qvB}W5Ud&h!JcbrT!&yq*5XUgBKb~>uA>tXupboCVU4{LsT_QJ%ytU3}`yU^m zxMYUG-Fy;U7gHJxK48tU6!@>gvp8eoqBw@3>g+sxYND>iT)YZHe0FTd`@Y$qU;CNZ zv~pJ3=xn*t3u_nFyU+L0Hl>z%ccCB-~hmAQ|?1AnVdtU5TcyJ}{WfScC zNKZ?p8KD#sCz! zmNyHRbp_grSYQN~6g8_MU0~RaHNCs;buL#t-FMcBi> zr+mV;B6fWd%MsWCbp7ewn+r;l$=?^ShYFr75VjVu1z20yTk>>?u(5W4K@tHyQ3T>_yFO2;LifC@6-4)xm{9F}V3mHG8z0RWIo7 z88tVIdJ4>g)9oFjnq+FUGGVAaX%J;nP3iY0 zMVf(imtj4yZc^)x8%&hA6qf`uN!2P!_N#R4-r%H8FUw2#`|P1Bo)UDYrhbZ+ifjI+ zI1ZPMLf|@FDKe>&FBHBbNAn6BrLsA7vb(;oD&1$t%b-I=#`wHjr%%7Vzr12#^Q`)A zgWj?zz37n*?QO#k_s)CZri@h4b-@<1h=Rsz>+EQY<(rHacm0Cevc4w2SvUT=?DW@7 z4>sN0TUNg0?%w`;7A5jjGcmOgc=CK>9Dp&4W+_t*YKNqSJr}1}!s=u|fm&;X9 zsz9%N1iZ>Y@4Q4N&~^oSmf4h-i|@^Abvb&2#-PIch;8UNvN4~{GQcpbF<3PQwFb0} zPh{C3WAl#LYGmC;n1?O+Jfo5DQ7etbNnD$?*16w#%BeCrA&)83*&)Ot`^qS@zJj&hjka#466^+)>Mud3Zk1L5z-ji zozjRJ&rLUhf}7G@a;sHj@=w4nCN&hN`9v22$$%P^7qVP6<>CrThIjP3!80alHFU)U znUq=Z+RQSmwXD3%)^L4yyecuRYw!4k!IbN>$GYo$&hobCovZwrWN}G(OCS)nXao#6 z!hSV`_xxB#x^{Yg{_M`x*JC3bo+V?35(q5G660*WGb+0yMMgmYf3JhwJ|FxeL?32+ zk&H3FYqiMSI!NiG#Sa$?0yhab0MvpZ8|Qr+d!!}k3e|5sAvpeIF~8nK1_P9e$aDaLf`Ina4WCGz436| zkSX9{r4gUv<|8hcfS}<4S5&@I!~6sj6by=Lftkno42cUODR2!%ARLIXff#RwDFy)T zwfLE8i1P<%o~LhIkgQz1u`Sk~mNg|g-dNgM-QVbO)h(=R#oC+JU)5zQTROUM;poyb zquH$L!B?Gff?d~T8dpsZml%4~raZpHjK0h1a2M#%jA!-l%DAj%ULbq}6thLhx!qPX z$jiEcG9WEp9Il&D`e`xu2W#9uEjfpE2i#7(4x#KLToO~N*w|id;Wd*BYs-jE%_~pM zt0E0qD|=?l*qdXng;wHOMoY#ImHG6uG>+53)oZR z-(}wM_t-Mw$o$vmUYO78QAvYcL>f61&Op&+P$Ji7Bfk>$XEDEdb+ncR?6L8enQQzv zi1O$2#(${L{2zsD6q^6}5oLP9i82!hk>~K4sl6~X%rZLGjT2OxY!}q52O^OSsyLD{ zpiv@>QzaL&afQ5tHjp+Lc?cu#2E2_jP-%9<3a6*TP@%yWEbLD1*EwQgObcFfE|bTJ zz0ks2&(a?9PsWPtg%{z`KO$(+rf5>7P5BI$i_%b|jyjpQ0kRW6+7b=5DdkJjh1zVTx!yJdm%racS`yStC zalmF%<~X=D=(#0MXnQ@w*NF3*4SBptU1;095xt_*)~h)aQuE2NT8CCv`X1*#y!$ae z`QiMCw+)|*Lj5o`4dv=JtU6X&((G|t<)T(^ZK+ouw6&(XT9&_`TF@LYSPF8wO`hqC z*lUwz7j8!0op{_}(8OJ{Hx!Uj=i z7{=#J@fA6nQ+dUNnw&a#IqqaX!vd6=)WbF>|5j=Q3)YwcI>4{=oFuVJyt_=_qaVZ? ze+j>s5CgN0q-}VDNy)e6O z%LdkE#evE3o>|fk^LbuF*|jT7<+&mbqrR_H3@O9_DL_~#&FH7af}F zoKD!Qds-)K)v@b!3_39FLzX8k!YEebhs~ILA3p-xi#^Tx$_reWlZM@#F8%u4F1L4Y zF)JQ^vV`4J^3@Vy4y5$R20lf*&%D?Cv{}TEdpr|_M>9wiLG{B}($yKBjuvK|?yka- zNTft+DQPZlwlsUWA|FzuSBo$&+KSk$F)icfj1gX+fO*8+jK*zhIzNEc!N7`xGg!`g zFzbo^GB$8};4;+Am~xY1-_sV z%2R9E{d!L@7WC*1dFo{1}DOpbB3?K@X2t-1%tqCEnGCSaHf&VP0HwmW>zE(nfLQYHPi1ab@M=+gjT;EvZ~3*Y{Oc_SVaCeQ#xDU%kwhEZVxHv~$*aruIrj6uiy`m>2R6`nJ$k?XdWMpE6Lf>LBjTkXoS7r=ZnFW&ttbbvg;AKhSL+p7%jDai~ncb_kOw9;b-UHu= z&0RmedwFDKs?jq&)l==3Dm#Q@H{aCISLqm^5T4O%`^51Jxl&a$Tp<}bFXXh+DR5eG zQ;Hd0!eiLVGMz#umMJp9oIjU0)juQ+KKhw9IGq&Xl1zltM`Qy&Tm65Mi19NLso;$4 zilD^lL;AnaM_LhjxSa1FG4a{Oi%7-UVI9G^oLyps;gw7Qh{;xJ=Ke}YvQjVKYIHt^ z6%nj3LR9*USj-=C>PT^!iHlBrAm$cWw#Vsedf`J4W&+rwm)#Tecc>=ZxvYwX8fFCS z70bFSa+=o8EBgloH2d~N)q1KC?&1 z?!&+!FoS;sVK`A%PLyGVEAky&tA@MdnYbQ{tPZti_&U|7O28UebTG zcr_h9Z7#1!=YPSPEK3&T7UwMlJw_kcJN@lOPdlecce zy0Lu)ONirt)t98Bp$a#slaU8<8P{=_F)3544nh6Obh%6)WDk4s<_!pC`D|}K+nUev z1LWb=;&JQL9<^@R?XkK&I=5S0ENsA9^o6NK>Enm7iojQ=FJzX3jjYA~wN&v2Bi2&8 zjSh^;n6B{?oQ$Q3j4rP$QNBmbHmTV(HFUBDHPfwkvlcf~yVY(}C-$jbhg^;*i&^~% zmI!y;R`76vz;$JXBl$cP3rPLm{D<;|+w$20YOiTfDX@FYCpf1l$mMD}>q-c_>W%}$EQqJyT~g+^6^1M2#LQ~C;<=6bMEbjhk> z^PJowqa#pM62upW^8Kmy@+B(_CX1#gSLS?#Kbwh%1u&LssV?Ks*~}+Jcv_Q*!<$vR zR02WuJE=L+i7iaCi3|MLo{ZvNGr;$F0uZ^F%?G~bs}urnFMnG&(tG()VL7y1JpQ@R zLtxg2H{31Closkh<~Dv3`AOg>^ROvj%7;GUK+&T`Obbnn!_us2HjF4!XRMj>sqa#Nnb`rC#w((E5tDn6q>Pq3r zXIi#L#^2epnFSs}HcKEU--Ei4@o1#KMrP+^CUO2%Be9JRR-MoOGoRg-gI%?3l;M?p z4Eu&IWc28R>s{=yA~Rpe^zlk@;j5CvPM6i`+V5pvrxiqOz{gyKDhs>M!mJkNwpcC0 zV~x{t5&OeNMwpuZx9Jpnc3IOEMlH+USt-n zW+s|*&BG*GF^ycC%g*Go-2GanY%0`gJ?<7)i?i99OEN<4CAJZda^eZYTsD}?+H!ky z1oMVyrK-aL-po2^Og&4bvdw822pF9+5+ewmf@;JPk0z#BkOi{j3K z{gdma93dzdnSbdxIgqu8!83?8yMKHg54nzELmwBFxsb>=31Jf-m!G*fUCP+cqYGlo zE9d%F<+)|q5?&nY4J{3u@s*IgYyER8mdAV9oA;hwvzPV0GJD@w?ybH4ulL^j*XwKU z{mM6HzcPMs@0znp-?M|RuT}cqZ=T;@#OE^@UySCiZB{07)!e;khXTDFI~ELfb6&oI zOgRO5b%CBtlQRtrQ;JScA$6-V`N%iq4;SbWtiX;vQi@uui#sTSp;>7+GTYIq$qJD& zWACvK+PB#E+tv0WY_v2LC5r@n163h*hrOksIltN5Y-%>}Dd%M6PgOVOnP$}AWCh3g zLNI^wVX{JFF%vAXOIWE^J|*#h-Z|N$GR1T;ON*#c_K7K)swyg~Dvz0NNZi)?-r8rL zzWMF8jiv7CbLRMbbLLEU_rEa6I>*PEF#i4JM;9sera`^+px(^1{UtJhzUT20>I^!y zVc2N08nInD|7PQ(#^;Qp5u~S9O083aZkc*m#jGmEZpN!K`O2J0C8-3R3W_0<$!Jz| z?doO~e>EqcO(>JEbW)+NlLM*ItGc$s4BmRuk{+Gx;9R2y-MK<0pcW91<*)6xSKSi4 zCRKh-Xie4aZLIKyQ$zEfo;~~Nc|&h}Vf}XXP?&A)!tad?j6su)i!suHy4lZW4{(wJEt$YcI8lFesg$mXw^0Ir1{`6gV^)f zj6IK9a%FM_b&j}Mt5c0?gi*roORh)6a?zX6BJsVKd`r*Z|Jt_ge~G5)mwq;#x6f63 zCL@_bhMmOE3d|~C)lwyhD})tnh_H_s2R2P|eu)lRUM8lQ&oRK}FB46dYLEvV_AUQ* zDi6p2HYR;O4{shvHp$;FRNqqxPY8zv;a>I-6RO$&X6;Sj<0{X4;q#s|%bESmzVEAMG+Jh~OO}ppNtWbA z@@`Co@oqs_5|_m+5furR$(Nc2K4VCFA-yRWJH#PoiJPRjDG*3l+&0NCP1$~5+I+da z*C|a%0==>P{h#;DNU{yRz4!MSG&7oc_0Bo(^1RRTfBw&2a5YO~(pHJIISH3384MDn ztYj2*)6!w-5lNB|GJA3IwF*2azy@<%a8P-%5@^;Q=OqV}2Dj0|@@}^Ldt+bu%Gmed zAo*I3h30;dW7>Ip;SU(w_bwd4(hI0&1{yg8tq+PTVRfN%LL0ZX(7fr``*YT7#6Kx&{vreWH{ z?RK(0RVV(!(?!4$&+*Q9C#zKH!t7?N0OY_-oHv9S@=Llp?yn7@_xJ=4DUfX%?`X)( z>Wr$3kpXl@HN$*0s&rrcR~MQXjSfke^@i3~nrEwy33ACI+{0mbWKi%x7+2~_=Uym5 zwI=uM`4UzpH#p$@Ly!>}K3b^3=O)bErC!Sm9%)G-im z9P5as`z9LgC|9Ke(k|09>3ZzaHtb( zkP08Db9CatAe#@JYe9-mL?y^k%JCou`u~EorK|Y&f2t?)0wlt>5Q*g?`}|=vVBgQ9Ltrgg^`_oeY-{*thRBp zb;ni3;Y!#puhE-~daMN+oAX!;c8t!G^P>Y-&rfM|$mR321v?3M`mXB3J9aDre(&^% z=-%-(d@Sr~t37ruT(a!4oN37krHf(k!hPO@1U}6Lt%=HDl3P zW}Tk3${Gk}9?Ig#i+P)#77WD=XiRv>p5hvm7S`$PbS{Py`TXorrid7d85gd8{R$8w`-)p69Kew`4DR+1a9sB zaT=y7UnO)$G%mDV=oxVVK2EfXINCWt5do4L9AO9D{R5SJYOZbW8-Q&L&&VgT&wn@({M2lwNDnk&ORtC9D@cf=?C&Px19;m2Xh*RNf@V$;%U-}@130nmu)If-N@#?Y*@FsbvY`UZtNJ`sm4Kty|g>gnsNi+F|>Cub@x36 zx4d?P6KRQ_hLN4u53CIq+K_wCgb6%+9&64m45~?;8+pSnWX^iccE}fxW6XBYg8eHK z_{KO(2MZ((MqymrD3zKEA3ihe4q+0Y-nv0-h%(Xy($2OH7H;STKB6(PwC&}WCwEA) zRX<^{tmrGRnHv^6cU{NjVD-Wv`!!NOW5BHb%W0vY&1t?i$Cx5Mw_H*{CgAy(bRf}6 zt?iBX5WvQj#mblLiDs1Bt<55y-#dj#q~BF5%+u_Q%%_>Q4c{er@k`ZRq}$dB(6G z!9n4ALT~{LDy&|qFv14&ErZcOD3(OQvO`OBB6`_!WTupqJRCb}Nf}LM+in8;#4XPnK zuD}m`MzsJ$p*v(=FA|eJ)JyJ@temg>;wsqQRcNZH>!+oz!?pJ0omjl`9%ISOV@v*QB@RY*ur~($X+_Wn=B)zHQL2l61Y@ z3~Z^pwoCjfwJX);^beTRkZ?iudS#dpCQ2(Y$N}sY5{O*52e1n)3U+{5#)C=0hcbDc z$!C5lh~|)~PkRDv6@LLG%m9z?yQjizHMxM*u*b`QA|b(;zpstJ_TL)fGB3G>F^@$56@@Rlua4YM-=O{{dm|nikkB{-4w;(9d)d+VMQ6n z^nB7Zo2x`i>HHb)C4EV=x->gp+e*k_sp)w5oy2F|e+nst)dn*ir?WM-d})v8I&WuR ze`Inp(9>0MUFYxU>18qh;P~2fdUSc0``>BJonzRZ%UGfnDXh-W8w=_OX1Ca3U%hnVnumT=^x z`Edb;7d)td=bzR-;F>#5HiX)-5KN>@nniRtioj5%UVj+Lg%$D10*;$zOS5(d1k`mN#H43Jphai(v>CMcA=e%?U8g>&8Wd^) z2xeTwFd&9AODRmaG*f@xK0Y`&PCrc7zl%bGyZV>xrsv&Dw(Q-z1wUL~!>(E(hA=;* zOW&q$u~D$bN;4w{aIs{VbINei}d56LN8Z{&x%jUZs^B!{#D^OIA6QR)29WerVEiQAPI|S zt`~D_%8&aE2IXl#pE-I&TH*0DDRkUkKuS0N1X?XO&bfB$p^@NC9Vb#UzhxO>;XO5n z-t@B}{!S>mHn7rUrLnZq&{?^SYK6wcZF6i?C;=Rcvk(sC$^a@`b1lft6F*=zaBauP zW5+-Zr`t8v=z*GHX>TsB+`65coI8_~H4BtUg&{I5*@(`t<4UqQ-SYYIv)lxwb)cPx zw_=Q(0&;x}dN-XlE*vff)2st&1~`!sa3h!y0a2irF*pRYkPfhTG)CGW2esZE4`Ty9Np6iyBe8m>f$^>t&B#P9nM%lBOR)6fJY2d7znvrY*&$7^w}w zx_s~~1eQK#r|Uh1xA6Rd>cQodgxO+#t;av>w$r|`a~TeSg-uY)DTSlyClv5`Ve+z| z+DFQA&EDaukvYVExk@%a5ew`r1et`U^h$SUM}Mrd5ZJQ?SvpbK=}^o09$UB&$@Vn( zuH8Ab#_m*xm&cN+LeLsawWNpE>W#8AAv@zqXUOX^+ryb^c4W+Nm@w4vDP!<`-39J> zzi^f6h{NSQ5R}{r%$QZg7{mWy3yj!;<3T3*r@hAmR-Ql?B*ot}Yg1&304o&CRMz_8 z6CH)XdyNpVnu$jtUN{hdd@b?hbS=Ma-kO6_@c4@_S_7Ftv1)eNhs*6lMdzd_uX!(D zjauEh)kbf)W4w)>RkSrt*ZM2q#JtFTP8tHZ$PHHJo_2WSK+AZK`=9qS^R#^2=NUDP zx=CkH9hA0e#}UKxiY4-MaEqR=`}q@wpm8;OWIi(232@x6aDMi!tN14SRyYz7zkbpo zyVC0Bc9xlYZ`(RiLSD^tv=(E$m+42C^z{=H~q==`2 zuzM|hAi99^{ca*)Q@_ zts7dW^1H0bY|iP-Ws_D>{^H#G*IdJ_Uu?bMx;=%$p6hOC#r?Y=lz)%=&qzN|O=^xs z$$dpxcBd4sIP(ooLvqT`6)yfe7pQJ*UVQ-*iOgF#A_)1)9X2L(Ak%Mz$T$T=6g@xf z_5ztf5`bovUZ`e_tD0eL8IagwM03RvJVP)fvLm0)Ff}ugxjG~9w;XQ&NG1_ZOeZs* zWF`lJa^{qsk$^cvK9FP>M*?!zI12hbb<9TEy%`S*eW^g1Zvw$huEgyo3Z;?rpm+p> zC5Sb_@d;0Y!0r^-HsJfu3^9Tv}CTSH0(l_7QOApw|Hsjyb3N95qQn`I)wovV@!Pv zU*Zk;@Q}d3c@=U#d1-vS30!`Mmsz~*Loa*U`+`?I;$?fiY?GIb@%Mh{{YUSA_e!UU zL`d;YO9qc*7?8%LZPN478xo9|!_vPZ!l5c>74d52J!H}&E>VM%XES5T(Zr~4G^}J4 zwoCaVMJ!1u0>{1}v1_HI10`pjLKuPkUI#Fe@Y9^E<|8K zWkdfy{b{}twFi2mRDWYWc8m8)^=20bajE?!U7({{&-kR?7ec+IQsAXpXmX)H?Re5e z0sin)lnb*s?5pL(kUa@G!9I)(ghKt1wM|>{yUdYz%Hd4L!sgYcP%Pc=O91)!V_v{7}0gN zS@9$Mr}#(h46$B^pv8I}f)?u~ZqmEI_n0aBQYLWAo>Tx&>#U)`}9>ry!ayUSjvM7R^ulm7TM-kkEmIR8-x(nHa z&0%(+)}P6c$YG}@^2HH@*c{o^`zIc+Vj@ zkTmLoe>@RhM`LBifvO!T&~(6w1=1KS%7R#4+5)R%Ka^S^mO|pB zY9atmF>v?=G~aIh%t5FaOH0cf$h$3YU-SnDuFLGQ#B+^-Tvzbw%$BOB)V8$267aiq z+x4c_&Rd!7-txZdudhzMe%<|Z|8{eEY0)FWPp0V$8Jx>cVSJs!QZ=i$o9xqsd(mrj zDF!#V3}uJOg$kDkl~I%4aL@>^%lW^iQ1V|>C>h)hZ`WeU6hoG@7&1?ZXHR&C#$ooy z=Jp4MSC5A0E+BCFJ^zM1H&)m5H(mqa>>A8(0d~p|;=hA`ONoAKcLJnByb384H1w-{NW zRDg{;!)e#k4Qk0h+R*dxvJsDGWZA<#4WqtBwc%-3I*bfu+zaC1!gIJ694F7QuS=A9 ziwJl#Pv3=qlky#|-n^Lyta*FHtXY=dJFq!>6U>1Barf6JUHC*_6lM#B|KRp<_tk~lpJa#!;C2bG+Ft3v?P|G{us^{w5~GhmxdRTlj~@VI zZ2%g57Y~5HG(P|gb&vi*l-XxsRc}#y9t$v&haHd)$>I}6&>t~5d2&LyQMeCLXu%_7 zFiOfvlQZaSa7s>RN=W)nTAWJcq#m>R<~ex7;R>e^_vATZN#WCoLjp^T^n5Z0;l9y$ zW%w3>0Zq7!L~A-$^@l4F_!Z4MRp*Ld^ak7QX(>emb|vochixu*>%uRXzcPFudGUK- zXLwOP@KBy@K`1`xRD$@g$!JKX+N;GCfc6Jmj>nN&G2L1!2#+&*gBtcwzfKv23!h!F66|2(&tlON{Oilfp}c|S>ppBN;A*i&(C)Q z7&8$jkTwWJY>8X0Ob+0ggA(EXf)fmbLFpKjf(v}&n;4A>{sFm&f0JNR`3WdycylP| zFek9=$&oM*LNtO1%;2GPXS~p)3Xd4&@>m7n?CE1*5k2Iey{54z>Irnma@`Ff~TgIuiE=W<9QT_JdZ<8IKSaC5oQYJU4Hjue|vZ*n3`uFyX#h4*#w>0<=&Tg=Xg6 z^oVLj^N4C$%F#hYwXR&-5V2ZbC(d3)T%o9m@lvcO<~S^%|JKfaU>+XA*#H4I*RAe`hwo zeS2PFha0zSX{0#=cbo2^i?~}iV;)~nXP5uy_*->FPcZ}jR?}c`uwhUd{Q6a2Gi?cO zY1krd`Fd^*i>_gYHEhl9|B&5vSDoE;G<)ZjolkCGa_9O>8D0@!nxiF-e>gAeEU#~4 zRKfRp9x46*|I)ph=?u0wNMhcZ0mz=`UCK++Ju#-0rKOX zP9A&C!5LyS^dO_s5H^$yl57xWY-WcF$C2?q18X)67;XRw3eFRLpn!hsTm>SIPDX&3 zaM%G?it`V!6o23Rkpjr}#b=6;WOKqv@Tc2^2Gwsc+JqUi9nPs{+kou`n`ASpFx0g( z3up3=&Q(d{bbri&CH{(f-(B{Xuiz&Z$$Z=&e2c_)em$4z*Vkk|zL)LB_vYX)A-Qq` zy-)H=_6Ew$@tu z;O-$7>mMzwRwc))nbC?Q2DE;JJlwcQaDqR~e!->{qkRY{v?&?99A6 z$d6jTVLbz+@clP}iT6fC-BK%&;u*=Q_%xS2nS4I^Mp8=NpTe?vUVKB8#QSxI)|M-? zSN?H{{Slh`{ZhoKKgy08uS{703aM5H&LPZz353?i4eXzspZxJp{(17pFP1>oK`enk znhebUN~g1yodMVnPXemt2Gp?99DfeiWYg5plz6{vm4`ttq7yBlpx@96a{I7Zq&(vx ze6maqM51(@HgikxAlQIU^lxg~(*4^CM3Eg;hikD#;mkU0OZ@KmR5Y<;pdQ#9 z*cngm?%4M!!f~zNq~W;czCR!7+`++INsnahsdjYLL!Q0Wu8z-sPPXVx6B{|Oiz&4T z=)HA#7v_-T;-%X#hs1hk6z+zU`Lf_w6&z3Qtj;Y|9HIx&@{wl;_#?2Q$$abJT> zuGNA-9f)bvgE0C0s0A@01DAYBEr?FongF>+Sz21e^}6MfS`eb9QGQ$e%sgch#(op( z61iRyId~Gu@wxkQY!i0pjF1fu`!@MR-)tflGDU+?F*;@$ zwO?Tu?Xza1-XQx36OTv~09Y?-wF9(g=suV=WO#AYshKcY5Z{qvQhPus;9PWxbHealEokfmEU4K|tX`@G~?ZL(gqwXnP;WH+vo9pdNjGnJQPyO3PO zh>J$pnknJ`rYJk-0pzIX4dkU&;K}lkJBt&LSO|V&^s;bBX3QyPj8bYpFslU7Fgsfu zNJU_dbU1p4Ul9(7b~`En5xs+G3hhOyh9M(||DV$qE(QQbB$<#9qLY(vy;=gL^NU0a z1Z=$~P{}og6B4cwtXA^p^w;cw+CnyRc%k=q-~FzPOuxCCEzZfwc=tq0V_(GI-WP6+ zJK0Su<;wMyi4|X1;aItTY<6g z?6!eY!d-u6S1u`|MKp@mzV>*c%{SIF7O~^6M$7$?rlixEY>Gt7^jxNO0%6YBV*nR=oYO+H{wwjD=H5_md?=sK& z1M$#&B8!%@6PH2<#7N8#IN+0IpU)lRDLj<3c5zAztr^mwxKr~-aIaM`o{OSoP-4$l zenbf_$dKYGYyo0m1CFk4l3kqaLaU2@&i(nH|M_gk_R`+WhH~TD?C!?x9f$DNH7oY4 z*z)AMHD4YX`SP0ePj1Gq*Jx{J!Na+kENIA{#fgy1iA7(KR!OxBF#vZb; z+bs85#3>8g3LRr?pr|_n6(hL*p=tSn9i-VxQ}fV-xe$|nHo+DUZ`^}n`^}D zkW@V31Pi#VI1hPIBskh$D?uH>QLqSYSzYvc(w|QI@$-1?S=^Tlg_4VZ5Su0*V(}c- z8TcO%ZvIF0zjQu2#D>1%IpaC&ksk7}eF)>+vPIa3a&iTfN=2@wC<-f|?|-BJoqp-D ze%61>VXUX;V{gRXiAhIdY%dg?TQ-~bn#G#=FPq0+?qXfNcXr-bVcW6(9u0mYcqS+v zLUQ1pdmU`VvBe<STy1=e4u)@jo^XWIz(mmk4zH^_Rt$;-+`r!D0J&5IS zevykA+-{w$_YyKM4Z6(p0gx9Vp6j~m zj={k@uIj2kj}}(!?CssTqELUHy8xcFNW5)0A1WohI={6&T^;Q2%UA7gy&pO7S8hBw z+1fgJaAW;>*>!7*#WmM0t37`q(zd$Nx~e@QTP#wa(Y<1@f81&8lPo49)<%wvvI(5U zcA-@`q83NuTjJtKm~D13w~OgqO!`LlO!jP6%HF@(v)3c$JRP24a9me8+R+P~YV-5f zH>~f#CU{^pdPQ_9D)F?G47{AtN>k}!M^;EFDN#;6tQZrB|4tZPa=l`V@?r_OEZ(ANH`@=O5GN(C*Z(M`hu@fZ%HZ6bi~!1 zYUoNk0_z%*odtiWu_s|qc@3^a$lvKPyO$vCSKK9vI;&TS1zE2rQ%$_9HxWf{yfJJA zc*7C%I}FAFJuFS=i|}c%A3~SU37^ECGUD+po@=!v*uBv4BdQf<4*(ZPY(jMq1V6~V zNNnfu;1gE{h)XX_%-zH8ojbt{NTwRaA6;!cO! zHnvIMx3cdW*~{RFX#>Qo@bt15mi-8szPGghL+L|k@m*a@mOR+bu4!la_RZ~L`_rBm zJU{YCM`^DW;IP>zNVT0d*7*F$8zb+GNFz6$X<}D2O*K8#B&kiT0fYhzn=W>Xw%InB z_kc{wJbJeO-F~tE_O3*!1>aUG58ZhW-+LP?%vTw%h?nlcpkvf=1)_yROAeLU^<@?; zkCv|}OXW+pp-(@o-=vqcU3gxj(WE_ymvF{GqSG3I>dH6b{F}s|jh%?!iFUJcXEUsn zNsuC{Bx3n(uH4sM0Lj(=a(8~Nyf$zI7zYFDQFS`3nZ}mD*#IqeW@F;_ zAyH$hgWl9pkq=R55h-~QJ^_jo5oFK}ZMBI-=Ke|i{s=w~!K+b$mw~XXQ|buS1$hUZ zJm4V*!#i*>JYYWK0d@i8VX8$L@t8g4Wa15o%ZJbS*|482@iT+p=g*;b!@f77Ec&os zF(LQ{7G^ljFy7dwwbfmMaKxzN|BsS|P?&LclDK0Pf36ydRCE6N^YT(GR-zyA&O}?r z?as6%>d)zhhBSU?3`AsI!ucY866co#?8QAcJymQmorHSexJ!SZUgSmUK=iFQAx^EA zklA+9{t2q&VpeICPL3n6coGF&wn56jIC=ghDoz8Qzq<1uH-nW!-hVP*7Z-RT-oJX0 z7vdcLudlo^{>m$J{}bLInwuEwWnDPql8CwVx)bR{H6gjbxmUPF5I5mt!6bhZ#m^!p z{FhFJeW&8`sZm_UQ+pyeNA8J88==<>L)HHjE(>b;`(QeOlBtOdCn%54;W9DK+|z?K zOmUzpDoj8(;nAR46p+GPtl&-*1J0!Mmvg9J6wP^4rDW6@3%Klc^|u z6X?tL)VS;zNj3ZYC9t^^o8snEvK%T2r;7QfeC|{J5N-zw+WR<0$yv}%wid7dP@-)N zht4^Q&tc6#tdrcHulGPJMI$H1F626voo87B*LYuh!38REchDXWD%ohb$r)6Zr$(1_ zrW;&^fyTJ%a`;-=r;;IOz+vpxTfL5;*DZHi{Jl-BaZ5EFDkWWZQy*XveBP$TLDq}C zAqico9UdYMh>#${Rq|95Mwp%niX`0ycR=%NA>;^$;1yg*5=Ka_ll6X~`7ZIbLq!0* z2v-fp6Eru`=T7YYVOeJfopP_uHIRPQ;$I4u9(FJBY^H%XuAi&? z7luSz!AE;jeftmYCNYj|tYt9FNJNDft?*U@#IiD9vP& zVVRcRf@D`d9JcFk1WEgS2x&A6({{kWN9;|3Qg%Ww z%^oluGCYJ2Os1fz!6ccGO9o*I6&__-fh`7j9o|dGA&65-ZG++Gr_-pOFp8C~L-Zfy zGFW7~#U+_O)7h$#pm&UvK`UCy1&IVbSxEY`nOYTBf3B5C&?AkV;bdELvAK;*IFB17 z=!HU&y|CcU!x(XnZ0W1;HxlZ|h`N?X;BR!F2FUCGRZWqQ!8svX!nF|EN3=hTvE%VJ zF%}N;#v!foeA_>p?|Vu(Tx%=DF6wx`?d|hzZvrSq>sKgf{pK&}mwcq!HQ&wqg^yGc zg>V@cAz8BHq9wTCBb93Rxk5;gx0eFo6Y=!m&V_4r4cnp!<7e)AOQ z{dItJ77DGcv3MexN@t>(FodQ*;*Vyc`y+l2UPOr2ABYhlpUY;9EW`GTMh|d?VkRR- z+ST?O+aGP09PO+|@7hLr8qdOEx)~Y`0fEav4mnD#3E@CqP2QEfFDZR7!|u+o+cNBm z%v459W|El*%KEl0jVu#6p$SUf!Dm3FitrBy8kIo<2`H}_0Wz11xx@isBO>uSV>s1^ z;>b6Gz17~(0l^;oo`r5$m?6QF+ zNw?1#$$Gunh|}jv_75z}T>}#Gh{ihpT-@i2)6X}*x#y`z?pt9mMgrNe-5$;c!VUHn zfBMK%d&^tO>Bad zefIqh57=-#Cf|P1U~qVK#)u;<9?*q?2h1n~iT`9D1NDjn`9gNX0kBQttRt=tL|SVA z9rC9ki11P^(u%RI6XPfciHv=La2@KG_Fp?czX+~Cbb}fj2-T$HNg1Sqe&lh?*jWFr75V>wlH7jn zIz-GaJFs;&i`;qTo#P)zRBnljs1b14X>Lu>xr9?j^l_P5sL9mNYciEx_%#j*n_!+` ztX3}NquL)9KBLJ#mIj9bHMY&mKCN$(saoGt!gck&e*;E{kLjCarPls#-ahn{h_sI1 zfM6nl{zVoTM{OoeT;lp2Sd~BI*AMs%oe3BIuKpdrREhe6O1K!bOQP$?DGlrdogrHL z!xvtxU4O`+qlz=kUF}4t?kr>AJ*Cmri(hhaN)wQ&^EziVOra}d0QGW1N3kQHuGS2qNv0tW(80KiA8Vsi6?0^20)5kv>B_=&ub zzcK%fyp&GFD0Xu!XNey$Cy`?n0HW{?+h(N64yFBo72Y9lsX60nfhw$FXoHXt$U}R* zdj55oX}`lt#Zk^V;%a&!aT?VV2j}f}?qUaN{FiH_@e>mbm(a$~%$Vkh<5~Ag7P*K! z{>LkS4cn3HKeQHRBsw!&`8?f(y6hVEMM!&0t_fyN)yG}qz2$QRt%;xWXSF#MaSEAA z4T1@g#p1%8Qf-5?i`pL+{zmIt3>FK#al<8j)0}F3PYJKo+6v{1I>zj4{n9mSZEq5O zP;c9*^;^U1%(tbrtF^tG_p6=r#Xekwq-z@&b%llbr~JX~?4M8v*diQKw^*(=eZwRk zLCsJT(?0|tr}T=MJ!^i+EFOVudP&Dl>t4}`Aj1QjnAK+ZhRlw@B$v%1SnLGh6(f7r z_>xgP0^M8p5@V;?D@=R{02wny$R|JbX$Uhs0DDFT@uzv&S?zu8Z32hlZLnoij0)i^ z0ur&WeesK3_5ZimU*H{BeLWZ61mEn>aLQ$bX7Q71Zm4N@lh{$-Qx*?3vRh+pUzBx6 zSs}{C0&JI`(q{I6QXEi9O8i4Tc%qz9H{kWK`5v=)jfs6yW>NybAAlQ8+*)Q^8`+)) zwz0rQ(hSb)O;I)!Wp_u|h7bb-_mKeG?PJ$?*%co4u$kfSQSPcC&>awoqvdI^_Ykeq zFVzq@2m;ZVQTEGzO2PFLKPd3gc%VcVFae?tKti8&d5O!%3s#ubWy-nH)Gbie(7R1# zv&qMcl~RiPDwEzNBW>tiHH20^1c!wpWk?n&*Rn_%OvRg#Y{oON=$UgV+bBc8_C)J@ zt&EO3%GJR$D&3)Z_-2hpnc6zh(PBR37Px}ndycZ)qD@Um`s9DfpYexye(xFdo4teM z-IvhC`F#N*UkG@;F3Qn#QS8?>T;|Dn%mpcti_^jVx1m8g9pTp$PH2Z z=JL$P>7cJ!*W0h=%ftxXzO4a#}ZwURb>t^23C7}t7&P)FsYZva#BvQ*hg~r{)LU* zV>@CKEx-=iyoWm2zK&Zv#Ex0R(#Mvfrq+1RSopyNOU#D6Jn#w-5P&4mCUGodRfDmh z?n0t9uAF}zAu<}P`5m#q*#NDQdYID1-y#IA|)!*{-EG^U}HG3glE38gQ2V z+U^Zn{0T=O>IgTd-P`wgiDG!+JaMo%wb*tTwb^v6$cXV)0MSaK{I7aerm z6OyUkuVksWXFJi}`kW*>2dH0aBngcd-balIFK_~@gpJIketpwAwzG|GXk)jO*k5Fs zG-5`bJ9ae83<~(2Sfh=Jt7p2)59S}wi?b5jBe9JVTY&nkCuZ}v6xlxPIoM~#i9~cZnVA^qo0a6XUG1~ogj}OAE)+-pL+WC+7DYlf z391TC)*PQ&{ex|j$_wWZ1i+>ytU#SF7jM>zAds1aSQGwna2xERdhii;(xT`i;RQYl z>_+5@Fy^(?9fU*X0dKpzHzv%VUO@l)i&O@ zt#7(d>QkM*5s?&!1RMcA>k-{!2z4@-E0(*u<1R>yzQcWNGeY(=AV~P7ItbainP_j~ zF)?4zkE+;b7ku}H9M&dFAKPmR!h$c^_YVri6dHJkh zgmsXs%acpn9{z;3|C6~4ZC3{7E(y0MjtLMPZv1_89Oa(Wp1cl1w*~&V>WM zT+@s_1B|(NRfw$&v3RICG!T*;_P8Cc>0HQe59I`1cNf{YVjy@6z_T0OY#6Yn*@iz# zvfW9xImtSbtQ2M}oRm^n$PK2{>geZU{E$ag!0M6U2EWbxfr@|x{oR5irY?yPtmPOz%Ej_`N^QA$HdpfB^owHKwTVW5 z*S3+~D|(~JzRexgRW57kR{x%4wb$1jy<;y+jU^hoGfr2!Jq?0>oA{^Mj{B}!cKf#O z#*wS4U0Vl|3H!ug!$3Npt=d~NrMa7AMUMG`jXfz~nxc&(pTIhpz`VWB&#bk4&D?|> zZjO!42e8C2@AGRBTuXc(;6SBw_0zR|0PQoKG+~DAno-Ty?Zs^mgXM?L%U~+O8zwL6 zllFnu=M=&e)K17Q>agA)zecUyO`oi_Yu5T}THGJsFIv01(I4M0LaGg4EZG~!MSG&Q zUvOr&gXQLe*Z`Z@4>r7=s`^OyWLUg9%*Mmp!f=@@VNnhTB?qCd947BwU=bIIQbnBb z-sQc|D+RqlZ#3ev22O?q11igg5a56NHRU{fcv@5#^RAqEt8_+rjr;6i@h-w;NsC?+ zbQSrV8fPEz_R-HA)yyr|>HFAB{naPNaqU&u#9^@nn>ZyDS)cm%4`v_FqH+bhHF_*6 z?m|*SfNkM}Y(tNF1>|g-cKPIrpi|k8Tb|A~H&9bdo_C$(35M_uO?~bw! zQMNe%7v-#3JQ`(3ZR~*UkWCE4qBd&~!MZ}i`;eKzTXeHm3hxPv;TeY#S43GkQ96oT(pYRXaYaIeiW(FGln3OUcn|^W zTyD6q33=1AR*TI%1vi9D3M@9-OO!T>{dUnWI8nG-OXV0eyN^`dO3m!UxMMRy=hqBA z{EEW{kMsW)X}Q>%br&gZ$GT(R2b)jt@w-X2)wks(j)-_S5-0wy@t)T94((-rDB9XS zcc=G9nbx6kR`C6Os*30DrYF0J)vG}*45zQ^CSot2M=e}fT4t`u-Yfc>=YAC?t^}-Y z&Vj@C)fR1E;eAAzxXcdvjgZ+UvZc5lcxl_iTeZC!4ET6Me{COV?PyMa$!k6?3h*|DhB-;kFi&>=n1ft2Kj0IpWYQ9F; zb#;zTA}IqIr%!(=P1$6qJJh{xIh5opcXC$Fzq*L2OnOS0`@P8mvakD2Q>(hA4zmK+>?Q$>ld~RoSTx@4( zeIBa!$+in$(CleZh?aP)aly9N`aDvPCtJp z)qceTjW;w-H%bkS4UJA~G!Y42R1_GBWThrbG41dh*5i3U z0U-WWhy@~2sFA7EVtPbeF(1#nB+jRW_W+y#`!&@2h0?%?laQfX3!4DD0OBs7b`V|4 z<0CQWj9*kSc-e5l6m!^>g3)g=TGF1bjvzR?H*4WM5s67PD*Q=rX43VhuThbRIRcNAf50V*W6+ zpRjanfDKINJgLsKBr)1Ds*Xyd)|tO(XA&TVk@m)RQAB{XeN{4(h_(#$ z%<3L7o-~Sp0mvHleA(Nwc4TOFbe?-2BMjXfCly{OZ(`&L3Ir=^+a&Qhb5H*H$+JIx z6(F{{IEDWHkv#MtJ)E73QJ@zaV(fB$`l!S1S{PuYq1pBR*1-P;W4#Hk*Na9TkttF4 zaUAy8+q`Zu_p#+5-;CI)PuBcY%ZddZGQ~^_zJ1cozsqIeuqF#9HCd=;Qu-(&3?u?b zhu8Wf-X{Q&{pe{d_K+l%v{vx9rZrhj)gvpExb=| zLCo7P-xc4j_sMqD`^*%1pIm0oU*}im``otBXQ7ezS*CAa=#%Hu@#|#U>V2kiyiblu zK%cx;G0#EH(|95WnQ#sqL-8}!6idlCV=R22w6hTRFMb*4Mow74+rPn{#0P0Lm{KE= zkre#ZcyIvB1};Z>kViCnBdkV#U9}h&h#5}c4YDyb|D0WDK-A+ZbDUYitkb;0Ean~d z?6lX#^%CWHX_LGMX(uzAqI;r8qK`#&j%XZdStp9F=L>HX-YG~0cm4t4tLRaheIWbQ ztXRiLPuPzD)Hv%6)XC*x@FHu8_%I;3YIZN6mhVp@75y(lh<(8VP&S6YJ~igX6ypuib_ucl*&LMF#;*!j8T{n8o4`^6cwU7K5W z;a^mf665_+=oCwau0!jW&LQ3}+kT~X4(S@&FS3ob>!r1=^}FMu>$Q76x?ft~TE9E$ zwsgL{&@YsZO*r2|IN#F3dbKsu0-wku(UX|u!$>=G&exdE@-onwklRu#Gc7FCndT0u zbAXj-)rOH{@Y3sVYQhllih1aR_hZhI&PA1|KjQE}Rx4GfUVHg*VKZoJc?k33MV4>3 z@Q=@A=>{nH#OZpQh({`$z)6j_7F7u#mb->Wawl_QE`B({5dS#sB9W#7ceL2IXAjmDh&qf+H<9OBq08zb4b;sQ01q6^&;P5-GKBLi^Q>wkmxa^ewf$xe<)pSYx7F8Xroh)Gm;C6r=K^Yn z^Volp@6jpY+qE;IRBo^URG=(ABT!#}{4rppqy0IxU)x8KYO_(95UnlqX9V?0`;+&H z{rRnWpN&1d&&6j1)hwXB$@^s6Z>;rMQF)(r`&zqB+M8ORI~K09*g}0eFYS}|rPk+; z`gOK+T+-(t)lHx8^Q`b81cv!pW^XH^%bFjI?%7uB%gFv#_-nKwEw;0zYoWJ!d3P-z z%TjGDzgoL*!D%xRK%)jQ!MGDn{e9_sVut`lTQG>}*n8A|B?uBO z`+k!V+1Qq2!HFO_0=^N{c_qhwQE;F{<1r8|>JEUn&UZktEAT(r?UJ(0w#=|pnlDlg z-jcUDM=v=;UxSLpHLA*Mc!6Vqqu7&3sX?O4Ec8LW%vh+@fT`y`H8Nr?0&sZ?C4^3>J47y~E#&#Xx&W4PaJ?mv9f&HWK--Z7vNT&g@ z5^sixs8<6~yuLruKcE-)001{%`C~V}v_a{{BIU(DMlUb^0pozAC6)isD4eN+CyW9R z%2t3b7I=|+G7|6u$D~#{8An3Z%Tp*MW{-~y^?9%N^{UIFsQl4C(Bb@~uXmuIg?-D{ ztWBp@EbDUrPL$vAFB#}|2bQP<7-x(h`#ra7n`xYd!x!Gd9CI(@7g1pf^qLb)GA`&X zy}VAyw{R|wW1J1*U%rhe>Id`ndp@tcAI$5q`h5NTX_t&{w0X^6;5Gd)ulRfLt(?Vy z%4h#?pAOhX3$@bvqw5l%MLX)xz}~q1>%zb@1~Tlx9DD}kE3OfP>haqMOsHpcBp?fc(=t%19>UO4j{dIW#HiB^f$mXFP%d)gtq zG50d*AG>5bzoA-x`{(;J!rs0eZ9cL`+!%O=uwG5rgEnNp^F(0Y*@4iapU%fd899PRj4VW^lgp zYDM97swOA1-lP*=YapBeqVtNTxoxA#YqtMU;(-ktSS-7&gALC8s&CoqKhSjv62>Ko z`)~{6&r;2o5wDwuIgMBDyDV0_X&Uq+(s2(82NWn#As_1SWUtP zX;{s}!tt8?3Hmgwrni2MX|XCUFSJ7r?yT-;Nt6jVx0mptF6F) zdOG0)0(3$Cp!NycQGX<-zPivZ6GER_JCZ*$+>gPp5q^ws%*)6C$CEDjTOr4xhY{Bh zzecugPwlJ?MEEsEYx=nneg2xSsa9y)26ol`_-b4`-X}e7{_p91zEg9EvuU>((*{Jd zX$k+I5DuLN!1t`$4EYxd?uFWhLj$M0jsb&S=G)_Z8dU~9M-@&$g#>_ zAJml&>Pd(Nh;y=(ZIbd(UWwTWOJ#8)SVy~;#yzS0v3tzeBUxo|Jh`Kn)wiq|Z<8I~k%wqC~ubFN{3DMnDC zbtv4sfD6@|tgj#FN2t5F>t zvj2FWZ2P`ipP34e*HXx|?#o<+eFp#M&(SB3uojDr9Cus>B7vNwgh=4)nO`qo&(yaO zfAcwfp#4oM!=tjuNwQN&c>Zr_zwP8Qfh;ug!`AF<@xspulkL<`h@M55Y}#|T^6%J) zSBOhxv^^L0xa@jZeD2!ylU}k@{0{Du_ly1h3a$kwlX&6vr`t>DR@?6`oO7tPf_A(= zb`}DipI>)89rK_^w5p$9xK8p1X#H*DxJK+&@xl*OQ$v|wCpVt8_S$ulY|#4M)}UP{ zbNTpn*5h|c=w!d;_uo;w|8+Hald86I?#2q;5x)kF+l=G|Mvd-0sr4CcY2w^w&9!^i z`XoQJ*5}j$A7n>`_o=ar%eKDmzp`!NaJ(QlE1Jj%LG3r&ze zgD@FPHuhkOGEy7wX*kmGScBA1SZXa~dwQ(yV=nfPi_OAd&WcHP2#icIRB_SE`(sH@ zEGfrg`Y&CTZY+iVd?NK?g!oCCZIul zcX0Z7CqBBzb;Kp!;$oX{g%045k)8w85&&icK(qtCRM8lYc`P51eV(iH6X2bw74$hE zhc7D&Zzsr`WfW?9)k> zwYA$skB!|Xv&RkWsDXjvr9t1V7u!1q%6p5q6vbkG*-$>y+dGu0EtTo{rGj!l?#ziX z6#5w&t#l83UjHS%c$=ObjlCQbQS0ZWVfGwmT9_TmFXI({j=_k9z^C9Arjuq>Q?2+c zqR03q zo$;e`v5W&NY#&=7$Q4B01zsSif5ar)4VTTM6-X(sRyhbY8<1<4g)Wg6rqyu+B`z2e z}r;J2&tq=@6Wg>#fPjGv|N&8u-od>Luk2@-|7Wq`}20ps&L*E?MyK zh_xrlJ7#ArcRBpeCEI@{dVl8Dn=el$w-+4Z_6-}(KVpU@!hpG0&TAx9z||K)JtEFr zZy=l`G8u%H7P>8GG}VaYj5BJ~9vCUNrQ_4lEI+q8>3o4cdsSVZl|d|p6LTT2j<6(m z@v{}-YS?Ihca;2e-)5PX55rvn$4Bdb7^L><0w+OwXU;8Yf>a;M9K=&c#>p466r>qBSR} z#-A-_e>O9-eP-ro;xik5x^nJ&tbgTCH)!9_uN}3p!os9#i=q3dX z?dgmfr7$YvMGOaZI#D@jd(bA@W}N{~0SW$K;aMvl3{&+bOfrSVwbXPz$=WPKAixvK z`3H$1Zejj7;Fy=gT9~Uv1+iv_QY)@Uh-Pbh6XjIIpi20 zj)~K-J2%y0uwquj0@Y*1TA!p_YJJ{|9&7%cz@@nzTA!p_YJJ{&wRY|cfZ)ypk>;pWJF%;oBD&Pt=kkK};bMkxV>s;%1 zHz*IZzX*gl7Ag!}4=HH;FTk~mc;Ys!?UL|cp2?GQ5=mMwQ^6NrSQbIE)uVaVn`g77 zqa|^wbO8KIj}%S<-@blwHTl#{K$Zjn1WprKxN( zX1PP4U>c9eAv263a!(^^3g7@_NR`eJLW8^BadZI-M^U!!?y43~s{!7~7slz#$P`2T z45=^lid>%y-cJgoaW5^~GPp~PZ~w$tc1dGkd+&fh>##c(5Exmvqd2;&hnm#m{F41Ku zO*_i*vM862H>ai(D7QMA94!s!HX&v?8@4(ua^SOIu@Hr+@BttR36TqHly04%{|mQ| zRy6=VWxp($`-}imdXrviQqtzP8k}P?X|l1US3*WNJ8_HCX(Lo zf9{MV8`Aa@SfhLA-gD16_bmVQ_appUeyz*KbEvqM!^@T9^hkb}W7Lj~$fY_`F&?K^ zk3)y5AbPl-(ZkC;FWguwGwN~aG-J%cH4+tbnWk(MBRW6rwExFwNYvsCp zyxbZX2d@z>E;avt3|(=gVk$o1lT!^-l}*S;%a-PTt2UbGdfq-#_QjVJDZ% z+l=zS35o0EJ^VH3_q@D+d@kX080GR{w}gG4`yk9hq3RP&%mCs-ixiP0!13tNEhFkh z#UgA3B+c<|xPo;D&Pz3*H6g=NS{Pqm)^mNoQ0MqwT2>r7i0WZ&I0?)0FJb#K3MH9i z#RChZN{C31G#-#dAl2)1CbL>)1h>g6GQiNc%CEvgPA2lJ0qcLs6fw_6yA>=L8ogOp z-kox%Mp8OJ``|e(;%4w=C}9h0srr@Te&jPN#4&s!h@y%~$Hg<^1Hj${NZLzNFX1_5 zq%VUqgVK{ZvKY@yZXwc)Me%QlG~+y~kM~%^c!SU7e%_uA@kTZ%z9l$?MqoHuR7#if zHOmj-1<(`Dx}HF$GK3&6Ah_<0JdlYX)G`Nk%(*(afIY zFfAa^h5BuN@{4X3b~CfP=$>~!?pA2rw><;x;7MrYph`ClD{sYyHTBjBIE_!7K;*{> zsvAdYvAmVX|CmbLzE)3+2#M>dlUcluoKpWR)$vlq&(v{J>YsIN6b9_?LE--Z-Nu7? z?G-7c(&^HkmmbIP(pfA%ueRT5bK#AE%0eE?7+|F?gdtc&z)O1ig%`z`RAFbw$6LwQNGWuVJuu*_IcqOD4X^!ASd#DZcVP0>rMH^a=q{7`zM#g zgm^0o7S)AOroPHv$jj$3*>c_Q=KH98Pr3sS5OvL?Ojpm8;{7Aio`ITyH|UFL@cULa)cks$2ti8yp)N8l!(dQrm(q zSJ0->$e(KV+k;1s9;AN&fpob51{o~TXNl_O0hZz@FvLt)HHNAgyGeCP$&T~o+xZOa zXU}L}L`bE>re&7_dMzoReH=@M2_S8+PAz?_M7Zuey!cg0348;&pO|@!^g1V!nOfoN zBoVdDf~C^H*G&yAok2yo>Yfq*>?d7QQ;pv0K%aMKWITm6FoQnYfO-UpM+-z-lA1A> z@e&VT%NxwYad0qTwTIglofP)?FF9@MCO8a2{>wI-6WDPo=~?$>C!xpvwg!QS&YLQ| z{_@flB1PN}qaHSUd?E-4f^vPMqh2I*IVa2!Fzv7nW4j`KROkI(Kb2xJV5RKKfupHUNQ30f&O4bxwfZR2(zgrdUDaF-} zq$SlBHCy7Xi7ne6bfj%!qRH;FXcFvyR3^H@@ctP+33y{2@dl5pG3lASRjsOQGy>xy z5<@!~+S$c6^6@fI&6_U4<)tK3?xRX}m-2q4cno{RsAj+Bc8wH)O~9f8Fz98|vueDT ze;~68SUh1uMeXwh4oAp-5*Xm3PSk(D!j~?3US=U@sSs1JuH3$fE&jfWbJN~K7^x7) zg$Vk12=gciZLK1Fx_YqUXRQsFzU*h8C5pV%rP~E&5h8dS9of>QujttYgqWB@m#9Lb zrv0<6UjjDo3jp+g5|`hje@HLhs{epqY|#(scj+a)-X6a!Sqzq8sR?q7^lb4m+^WC2 zj1&0$@pI%|#oK_!_747``e+4o82m>A?XB;iRb(^5Z~0FQHa^s7JESaR8Qif3G{)4j zje+v-O{`Mqb!tgc`z{HJ7Q&J--^x>cwg_0d6EwtQm$sU(H;ZBimVku& zvO0(CE}i3Hh+~(fXM>krjua9Z&_z>NxnPwg>|p8|pkhx40GVZ}f$0&RZOJ3x-E zt8+5dgBr2aZ7Dghnr*!QtT=Mi^xlKksurWiPxpvT#oBN!q&$jK8m@g<>w_!5 z2FmtFL^r!#5SCx&`$Y+3_bVfCS?zQk@^9+bMR0E$KljnqbAV)GqjWDj zzIrZ$>o)LnCsxlT`E$?Vx;xg+;ogn>y6M$(^o${1zmu!y!YeDdj_Q1;d=4G2f**s*_6Jq`#a{=;4%PN{pnn{h6)G&tz{Ig6ec_mTf_M}hsV(gb=@kqkbJS{}W zA}ms}Sl~BCdTuNlw+IPPSj{yIx)&Ue;H}Mh{4ht*3e)?R6&bPs+{5De8rE}Q`P1+w zqK=xw1aGop?r>a;+gn0g+&LiYjH-JdxEV8_wGzL4EA}9gD!ul)Su84TOaIP+-;5et%hh9 ztdb%yyMKWwzbnuu%fhB=DrShZiUpUewI!EGq?^t~qgMa@pGdRW^nFOU*@Y-)&HdJK ztfjzWg9(t9Q{?#~1cJ1{m(ap1FOe7@gsRLHAi$hn1vU_5=@t$nKsFa#RgRWg|3;~8 znj0Ctr>Vm?xa0b!oe#dRxA%Py?%etR+}8ULz8T*1p`uc$WItE1am7nUZMnU#EmBT6 zIu72wWy{?+c68i$_ZHm`jQXaw&L)LX{dKjP4V{THGJv_Y>wP##s zg3u-3Pd4>>J?OKGj!_?ep6Z3;sttd1(E|$fYqhGdX5j}*0O}jz&!hTco~_k)?RhuI z&l#&duT=ZIq4qp}9*?2({CPLfqsHi0iGI~1it5kH)Z51}U*GF_+vVp~YtI4lGH>Vh z+Vl8%Jde)v=WVB_ROwgjy`Gm`eIDjLe;y+Jn0l>!y>j`@wdYVI5A|nn?Roq>p2s76 zs6Tt@Db4iD{$9_c_t*Cx@9)I_kMYxoy^{VzGumbnr!Q0>Zf{>H% zr}0VsoTE?FgO67u{>V{*>xZg5PHEima#zRA%+=-g$mP|?OHZv_K2E6I9x8YJ5RuD; zXd?|>Rp0Hr-0A=9`{MVne_wKYSMUFi-q-5=_4fq_1o~_B{{QHG)$70dzOK37BlpYi zdS98<`|I=Zn)_pG{Yv9ywFhhO8|F*&--|+u_F6t(uDQP;-%slj-OpE|b?fE3`=4xe zYIbLRywv)yK3-_uylTAg1@ztHCA8YF^>rBYe|@>N@xsf)IINEsItFZIZM>|m&a3OC zXSKiT^W&Owi);N&hsk*f3K0vHnKZ&Y$3~rlkD?R_Q@#Q5@kC-255W8$B-$Mt^z$E zxmy0Q*J1o+sca1@$>na8>`1BSVj2vTjqLBj$o7hi#V1en`}}>kjuy9fMB@GXdrHGr zg}1cbU94toBbAnoX^R-%B!0=D8#NlLxBT9gp$ATG4t4HotKPCD8#Pt-_QsdrigygB zwr%R#d#n(GZq9M2?}pt&4@=Z@)eix!Y7b)%soA}lQfhVxCbMZ6(C$;PyA#a zE`9VThaceh17&EW6!i$I8#RbMG_gK}uIx<@_V>k>zvenL#O8+%z3)q(`Q(lrpZv_1 z-X{(fe({~}`~pJ|dIh)x5tl|Bo=L?1&w~w5qnKBzv>NpS$arC$ewj1VK=LH<6NZvn zhLCvE!R6-@qt}k4-drPo) zmv_^SN!q*N4HLf)zlcjByBBfvtgscf9h$rCOEA_eK+}Wj5OK<@5VrA-Y=|$cd;*X4tA0svA!m7mcFHh&(XCIL`zJGwKlUpi?m;)6J`( zTQVK>yh^K5&ug^cG*lxsfT;v99GX!%rUH3y5ivnU4n{!0;^-t#kz)?z`R@-}>Iek& z!v&4UlD9C#%Hlh8-IN_DdTx7J0%~|#ZTPe;5(--WV#iN*MFtXk*>x@H!J*9!;)UP- zX!jG_VGzZV1vJEui;e6#%#SkIn!kbdCldK=59@j69;n>3HkILOc#70-ZRHsv<{rqM z%-xfFE~g@n?t$Dc{COq!ot*j~a_moY>}2jCL|0L$-2ftJbA8%pZgqXYC0_4h?XF>$ z*x+KK*5w6TUsZUy<@FY^w}mntSAH==x|l8R+`)!;1O9{jpXPm zTnRhd=lu;1M}t3*&wotoiKJZirhG7%Z?d~m5f6CLt~qlY*9G_;e-qE;;^|Z>Z7}&= zCS$ac%~qmDlPh2}2G$?@MY@PC#yHd<-{lzAbhj{EZPd@ZRc@Qjt&+SR`@#h?^O%_y z28|tcAE8@HOHYD}T>`uw99K|!LD)eZ09}!j)^pAfg!y$cx0BipM|?a7<|p!--GAdT zQLQ)hR_dSRHDqIh9ZNruKWU!igxkTu{1bT34ua20h2Ia?=8FY5MxC(49;^1v+U~Q7 zpRhh{6(2UR8O^;K@nh=GsKH?gYD&GuZxIzLhYDakfMe7u;0M%d9ZrkM{tV`TR;74G z(&1eKxETzJ2)W^EE~ssg!;7~@*buNz@t;bW>~HWuzyeA%H}FKnTOS>GgDLy_n@-@5 z<=@aBKe~7H?!^94{+rLwR!pH4aXZ=&2Fi(=J&v;?+O~E+x^^D>LTKfuq7HmYc33gq zU)^-x@wnp|@R^Omganw#QJ4+SgdPYz5t2d=06<${8X+<7J@0+oD|xF38}%wfNEtsa zQwWSlSyQwc6{BXN*_@j4zELWb-tfE%P)suQ;(dAFn4(it9)h?a8zZJEOpJ{Zg|*`k zAa!kEp?I~sGZ^gbuEtmYV#l1R1W_U-QqJ5Eu#DKg%E3K5v)P?{4p!Fwigj07e7=@S zcWmI+mX=%5?lDYmE5=v~VMdgfHG*g~n(sJ|HH&gJ+-UiHwb^55r!)&1@vw#|?98Y* zgSqZ^&PUx(Cl4f#C!a`4=43coOiCJ^Y2Na5f(ve8q{Mmd3+;4`I5wL%8yEB=ilge& z;AL2p7BIjuOhKPVwi|4Cy>G#IgYY$U1ky~F5Y}4aNhTyVtogd(li(SuEp2ejmDAi; zhQL)ssxp7Pq&MnQ{=SyK`m3oM*@vfAbLAwBRxzf~Zt5;uu!F8>7QsxS}fZAELJROOGiuP;OMw|?L&lrxQTio+wUSz z|8H?kz=WFLn*w;kbH!(`+ zI@+J&*!xw2;}RWvar{l_679qx$#1;n%x=M#nyUe}x}={)Udr6o)Q; z1^0X3p<^na@}gCO@4wM;Grs>nynO$^(Qy&%>_6kjf#1?`5G@#ydPEoOsHbsUVwZ*g zEw!S)5Aov=yUg0@d)S=l`v|UYC2XgeDS@{;E?G}o`c&+L~V3y$l#S_Rzv)LSWX&4+jCwV5`N74AXK#w<=(f^9e*JA#C5AZL904?;>Xkz z-}nZ-@9irytVh~_F{sD*MgG;w3}RF0*ual{pmnjbdvR=`Ag?eJ{UWgYy3u|GvtPGq`?`AKy^_o+bJ50e&13J}CS~#2Ckp zzX9d92tQ&i?1wnU*g<`k;oJH-JB#CKx}J`uf8xg{ln*( z`0E8e=J5=y3l;1^cn0<$;>x6FWpMt#^YgeD=ZRm6&IeYO!2d*Ld_pb*>$M74JB0b> z1J=$x)ybn#7Cn1GLwU6wni0)jjiiEG?_%EPbqQG@?^vGBxwiX5iPa4Gu<6*?z zjz5(BldPCcElPIx{WhOu;4oTEd!WMQXc+QC48EOeF; zN%Ai7&@B8x0ibCsiP>O?xyGAF+cvo4T_qkHN{(0#w@7ggQbm0ciiX$cehF@PAG>pR+UyA zFm+W!DjQgFJ4URw?ZZcpvCY3k9JoGEO2vvn!&bdF9|>i>28MAovGQwiBlZ{@=F`S% zdIb28Gqy=JGs6OKA=#S*i{rHUsRWx126eVsOJCSNXV!5S6r>pH6E4GWurfeIV;DGP zRRX?y>V~LOsx43?J(5y?H2wsd{XyGofD^QK)a) zml-MtF;l614veo&n5#6t#;S$A*qUYlLK^mfvj9XmNdzj`HSy_4D1pqdsz#~wM-IdX zwWhg{?C31@`d%gFA3`GL9W|gn>+pV(^cnzi&PNtaBy9aeFu(&xtkfX(cae_KCVSeU zHyPsY^l&A*{5?n3!MgtV!Q9Q+p~UXSzsa>njN9k$#f$7`{T#eIx&jo7|;Y% z*bBL@1UV}yy!d51ae&xo5byGQbBm#BMYRTm2pa zYVu$M7Pflk0x$v);1fQ7{2ao~15pZIfVBvpZ&!^7WRDK&Ep(rruwdv?e7;=`((R@> z9X(Fx!Hr-X#$6!N!Y@onka!T%Q@+I6J8FMI&q8ht4QM*C7WgMe)vPW&pcUm70I^h@ zI5mgtx67-Jw{6OeoSrDkjJ=2#RgUQcnUTXAHXI(w`1Mo~ zUGo$KXyOt3nfOh~2FuA0p67V?Fv|ZBNot1SQ${3uvS)}(ArNrb?TzMQxY%2~z4&-h z3Fk3Ly<91#2DR5ZMzEGg0_@%Z8w~6Y+>H2r4YH#4M2|)l(K(&NJ!dC&q=${{9wXar zywfNSq3p#q+ON%x*EQbKC^f3{?)+r_NM4bj+g!Y^cuP?#9>xCpaqK4OJ6gQ)4|4{S z20z~?l5+}p$KQ2&Fz|!j0A;mUCRj|2JtU?9OdX3Hj~C&J>bitNsIYQuL_Na@v9{EE z!~m9U_gH#+O)0$vnb?7dO{>zz8p^)Po(<7p=Va%`J?QO3+pxLm`h`j2{Sx(>mPWO5 zlcaDZ3ND4ws7(zYsZzHG^kYi12}VT1q<=?j67Lk6gqy3qZHb|Tm`pHL!j%xAM8`fX zWDt2`y&ambwWK*agjMrmbGBiznn|7!MxfL$#v)@D-gj1x{YpwInU#FsFY%eTOm-z8 zu)Qt^Gof3kf!O3$+qY)NhRVLKC)lS|?oiCKeWyKJZA^Asjhav@@95p%7a{2QP{_8S z%alM@cs0I|RfEtyaMav*Lk={YCe3ywaN#qJ2yh*abVgS!CJpvG8nI@`RZdRKhb)3Ji7&=;DVFe<+60aTglK8lGqn&5&(v zS=*yFg~oQLNuQk7h%Sut#Y=prM#FVI-}<|5{P3pTA3fZ@ym0^G;{AnYghv_TY~OX~ zCi7UDuHNYLljoK{@%!`hzt5Kbg*HhMslmTSe!0A-_f``g>$Dk=Q%@y{OnF8CKa>7K z!ZPdiGLL;u(hS*V83H7cRwpwOW22zmujaiNxj7(oax7X65uQEn!+* zIc6kV!hUYT{_y^)cT&epvH36nwVqCzVS1T_6nplwNOhzoumM}V*%$VS8sEhPPa*_B z#g~4BrRQDp(lk#auzlmS9l71{ji2Lt!7S zM@75btye=rF2BP5AaWHZw%cVblb2|uZR#HmZ_T6NNC zKijNhO^r&aNot%|N)Dy6PbqbQCPZRB?B5s4tbA6`ob@*1d??@#-{)uBFlobmO24vi zKJ0gd{e5Aj5XPYO+M>e6jXh`0(Qs7ML@)L~h62Lj)W?+U9wj@hoKcD`nBhue`{GDy zFY2dn`P%$_hcSmac&P8qqoR2sb@wv6?rxG_`nhmC)c$j?KTPGr0V1bIclPOFQd8{03)`#o~j#Efz;9l_*6_N{v?9 zs&+Vo&Va{jO}%edZtrkoZea2+^$x8uTkZ@+y9&N=bC*BZkl^-y#7klk{YT6hy-=-2 zbl~pPXbcJk#;8H1G8)vgTIDQE{cKjR?bDOL%EE%(e7;>Jfg(HuY$uF33K@kU15pRx`l)JuA|S(; z_;n!{n$2cSi8+`)0U>}2c!o669C4{pweSht4}6*^wIA|Fsh3lnlaLK@gi9oO>OFqA z#LpnO3tnChDMiOM=+?S;QZs;1n5LU=Jg`=XG3}|lBCWZw&Z9}R45TN|?8-LnI?;dk z$3%9Mr?9c1yrqO0b;pN4s5JugL1i}U+78^a?fS**3t#xW#-kc--q97!^p0it9{Mve zj99gH;YZKMIJhSD3q-91eWFQm`n2=Ux1Y0ukPRoerw^PiZ&wre#_hpn3hJo#c5mL? zS(*t&RWn`!LhzF02H-UCz@bPOZSZRh{ph{W!ErrJxTc{vmkL#81;LTWh0o!Je2VUH zn((j`!kXtm8!K!xJ4o~cN!PDPf^^iRKkDEz=-5b4eXB&qW!|Rkh`hua&I`k+43HjwH)Isz7tN~o(RQQgxL z?kQ&tVdtJobz7o+Alkx)^r3QQphIT@c7e)f*1Joil}vXbsIl*ADh?K0YJ*t=2!xJ8 zywR^i9REKchw)dKgKnX{8d5T^q@K2b)6X$yRLrVWNY3=YcV^rq@{HxT&{%3K_m;l- z3WfB-)koe+`tKSfoC)^nLHYSgyZvD2Z{X01@fOc@hB8< z5>2s%K^7yyl%~q}*922J-awW$XtM@pI0RF=kZ1POA`EoE)%Qvw*;RtsH6kioI%p_# z4JAlQZP|Nzu+aG~DK*|$3AIjiM}u9HT{$pO?O1+M0iLj?>+j`qs_}P;spR*fy->3< zOgK>jn6HKJRnK(zS@X2VHZZ!585O>hqNWhx30}|jD4>RR~@7Vif_cFlZ>f0TN48d7#$>WsSEKJpz ztm$jB8Ln~<#i>%TfG|bAt1?#zC^}WmaYe{-D@zt|;gM~K8xhjX60KJIlQ*{>>*_k% zc2ja=wKr<8gq%iGtUa4Wbh*hDvh=1MpyCNR{;>0|vk#2l@y5xM-=7{ofA(~zGuYga zbGe!`et)Lf<;pcQ2V1L=h(De7M-Yjt)0T$(9UOj@)e+Mj8%^LBek zHLrOZ8c`y@D}N||PySExSMuu4@8sXfix=}uk#E8Illh18%74zY=knjliyz59mKW#q zOswV)t-+m56 znp^3QsvaDbTN7iE?ZM6PrN3SE;u>kugzvW@yBWVMbb)DH4JZJfd!2{7j5Jt+LL(CZ zeomY?u^<0V+;PVpH$YhB+cA0{?-Mq-q};)j9Vz#G535;h5Xw>Kr*N{LbaZ!jOj#Ru z^!4p%wCa%z80yqdP5Ih_z2imePxg$A>|vqh|K6~xFP-k&)leoJDT8u(O#GE)`IjxHbz-RlmmQF^br7tqgWEi$*!8HCW&)GYmlhL?a+`Q5z8A!Yc~^PhM3y zC_B|Uaj@9ri|cL1j@W@6;`7Uj4Q+7csq_aC;}02G&U4b^Ic_CZM?DB-jRrvBs&qOP zoXq_qJp=1RnG$|vXEGvHD2js*Z|+Hqn+_d3g#Q5#ky`%VmgTRq0cry#=z{ncutF_W z56x;>+R2_|ED?`IBSORqm$fqwt~=4G!6uh*wm8M_IoUlH{7RJvx2Pf@xX`FPs*Fm~sHPPPCB??{JA`cmN@h_u!Sq0-x{%I5#AuNG^At_=U-2c+03%Q1iTnvZi)&MvW-hIn@Ic2gfeBO13WxN% zC6hwRnJ<6Sft~(4LSuWc&mBDIZ0+a{gerwxr@6tJG`Yf#j@|5Jc<-TO#p3?S&A#O? z;~oANU*F(BFcJ@22Q3z-v-2>G8TgwCixW2g*Q$Z<#@YQ^AZ1|3WF30et|Ox0(;DWI zAu^wLc-U4IWQ`wQh8lp+x2sbQC)pQLH&spkr_f8`#K%BIV;^80#oaEW4ry|#BJ;L=;hZuo!u3ux4WkY{b&NlBEsiHMrOaXwj&hSF3=ss8^j+B7ki@zG96z`wDy+gse#J_xzNbuoa0h8*l|O#t306 zZr?t2{q=QZ#s4|PHd>ZHKlI(2ZyEKl;C=oJ>XByN>Qf70nThE>3o9F0!pJ_Ze+s~; zTISI(06oT|e$aE03&NiW83X==36{j9DQK`HLq?5OuhL5*lBgXR^p+&jspnOChf1YS z3plhS6X3~8&L{kiM8ajJx9ma)8$Beti2|jj%FZ zQC>0CwnWVbuhe!#K9|h+VOW!CZ=_j8la2o{?1piS0h#xSyg@M0l3ap4kxx6uH2z{b zq}y+5XzPu*Z*d>8rh_J@(x^;&x<@>7?o+WI;Km*F^|7bhrf)xz@4V;!#SN{A-dHfC z5Vwe`uBLo%cE=xo@`2tP-XxiWug%gd*5;ycOLgGsBKt`3v7$IvWT(}v`Kj#me43>L z)ANwy4AZ)&nlgR)hNvr8#!5Aj0bNK7 z`uC^s|I$Cn;X28h*hTw~OfE-K^|~YcNw$U*dqgeAz)E~GCrE;5$T$#N7ro;PpMV9`4-7+A)yb4@N?-?9e z9IMhTY`t6usEm-Ft6PPq^g8F=PkUUOwOgEfu!FoCnG$j~f0x_@LTdqAL!`u7244dw zyjlgJoO%!7$vFG#b!d~sr4Igj==yeKh$orl1;LNi+d;aco78p9guU$qp!>xZFGx zBt0}Zhi!a~M*JkHCFC=vGcDMHP11xufBahs7`{ zZ6u1&uX6bnEDoe&K;A$f(6WI5Fajr}6&G?@ZGEU4!4MC-&TJ+d%1Cdc{8NO0JQ3;I z-P!_Xb9}ZC!@1a;O(k;m-f7)8J5V{4^FdCzfw6tPM~2hHYF_(fH#JQp3Ui~iPU4*v zjs#odfbY=TxvlaS;-Gj^hyXwR^s^e^y?(9Q19OjlZ~7Rr^Umg!%0NJH*xVNzC!&WD z*LSwgRZ`fLm`ps9kP?f5@!{N_+{bfLZqZ@pV_9c{*uM{UTqV4cz;%2Dt0#iydB2dE z`3iO*>I_)Y^AtH#lNnaq>~yT_kxET-N@4dX6E|SvSlEN+Ue9*eopjuKU0>qh_QApJ z^p7cs3NRE1mgP38ZXSt@H4;-`dicoj8B$dibD*h=NV2AN+*vDvukoL|E*8Hf}Kcw1_ zk&Me?w42fog$L5kiFpG#wWisuSzBq?*jK{}WXmc$RoNp?`;u(l{|uWq>G_|lZdSWl+Rc)}S(`^|7}f)6Pt?QNZJl_nYwH;RpCkrk~Ibr)OwTavNGdu{9_?xR&GkKM=iu=BG{ z@w9W%DXN?Jp`jpX+N@@vsNHq<=PEH*C!+ER%;QgkcEnjFP~eF?i1`juuQ{jT*Z z5C=#Zt68n$3hdHv&haSRz5qCOj%)o27=f6(Bc zt6FVmXrLkL%eQo;%)?nIkY(yk+1Cl3n$m|!e!+5u0Y=7F#B9W`iezzlKk!=T8omQibjnYVItP%>h4vAlt-9F1ph#*@ZnX;QLzjc)lXpO(JjM&q*tH~>? z?`E%T%_q)q{>m2cS2h&Kl9|N>_ny1qVvdgfJ7ktzPLWk`i2U{NC7xMA4x!&kX?c|% z6Qn2u%)Q^qZ+VqU^B-_ss@91#`#I^QJclSpnVTcMjBC=sv#G*68 zDF-|3U}jhjp*3n$XO(G_-ZyW2D&=*FZl&z zq9*pK7lZ-?6G#-klBMHJ&1p{=}Gv}VPtPZT*2GbFbPu`3;j0R zGY#g3%(UI?u$wdX2D*w6yF zMnwsEd2f>!qd3EzBzQ78Novj#_(f1)*gzFBSjfC(sA>_pVHif`49&#!{$*Sc^3TOk z4KChMb;zZFPnk@tfdnaggS|n!?g8A}Ko5EzUV*J)B=2$m41HEzC_6SN33Cb!eW}n= zPiV;pQ06`siUWZR2EZrM&1Fx(>-6Up`~v{g>v?|k7F~ny*Q%-R1TBTEP%bV3!Q(U{KnSyf#Z#IBqCHVisRrUPq(|?I&E*5$aJtUzaI{q3^4N;Gz=7Sq zOg`(@yB$DCq&-2#_?!d2ZiBF++U$sM@`*%b-XK~VrH1+3(*?tV_7Si+FDA5UZ#tWn z(&N71qSv*fL0lkI-M3zqUH&9wVkmQ$8BAX?{{jcq<=P0?k1?sqZoY=TlXu-T`S21Kb;5Y-Yw z(T^NsuUXI@l5?sUqfVit8r2zmhMWN`7WQd}bZ3=|e;S?3-mg-h5h(H$AjR0SNr1!f z^1bz)rPq1bI!|a@jkM)})z%ktCB{JC29S~vJNLbV;-P%978+aVikZfjJ}DmJ{rRu# z9L7gnfNe-`XG#y7ao_6}0|wEUl;ZQwrxU@W5f)kC!NlT>m#MvOuc+~k);rqhv1BZw z7S;qH7xONL?9OF)2vPixT0g&BCgUP42V0chY*oAbZ9vn0|DoFqaBS;0b<-HJ04JAl#ht=+)h>;}W5}RS=k4e1 zpxI+~)u?(uvXO-8dGmQQ1WjhHLE*YA&RKh(N}5yaESMs?O|+e0PScu)?gkX}5{x-A zBD652T<5c(>T{rQw#A!7K$}*dG!;6dMgj-77Mev6iYPtBp+*D)jiY{qJNzc}@Qkpf z+9*vYBh%-#43PbkpUovjUj@=&X^_y!Em&53Z|O#>Wv*VE9GB;?%@H?ZKOsNSw} zH>UlH@m52iIT1NFxQe3--t|Fh+4W2ub2p~Yun~>z zS_EC*DCqvc?p%2rIl*KnU99d|u(D6-KCct^$>tH`gQ-ua#9au>#Q(9|jm%?Y2V%?} zW5$>XB zZ22o(TA?iyM(Elvh~xF(N=keL@R%HHD95Z)>T_IPrPyNMoqJndiAMK%rjN8`+>y>5 zrP7Yhh&xjO0r7cvW5U(CcgB+6{h^)3iOoH(9Rt3e&3oIrZs?1}`fliI+q=2PH?YIi zvw5Pp^FzDywJ~}Ud025_U$yJz2%Cto5e?f6unmdbFR_f&E{TCN!-zDSIVw;Rq;Mf= zg!wq(nG5$B`qH)vS&Ye4jLoB$2bGiUXKBiZR35$vP+M0)IO&D*jbc?W;Od2V(!cTe z?!ki_0tZ3h7d?2eZ=1=glE5NRooI2hL;d&M+P{97E}TDi4`bsZEARWDykDrWzJ3mv z8xi5*>OK?M?KCEh(lqT2JG^1j7Vkdqt=@}XMLYO5y$P?Vhov|ibJ)Yvc!vrGoT_OB zb0`=yE5ZuEW=6v-!-f$&uZ;A2DfHGdsO(eJ()Vd+Azu+*Azv|GT3AiahFrAtozlxt zFY!bBe_q4WvKeT6k&n$?<<~meB(?Q7gLk#vk-ni>pU%cLzLsJ`r?bfxa5#J>Q@*jm z%-pxUc4)_i?d~mG`;7U9sI%W@wR>D!Cw2ywe=N6Of*qnA@?%l>%W6pLV@H%MrDQ5a zN+C8D#7b-v?EA4`I^)d*NwD4vLwGD0@W#Bs`G6P9XI_LzdNY}MQSA_s)5{)KGel(| zIigKHq!yEErb3KHAdJ|`<^VUTYb;HT8Btg$UBadoC~v(cBC$MqP&CB!1Z*$avA|#!g?J>p7wSRWm6V81ln_c+ z_g1FZzXk)EU|-6SYw64CJ#M?gs*hX!xv1aJdt2g=KAdXs8r@EZ-q^Xpk#$;Z>@UNi znQ!hbRI_$TsS>v+wMbm>pJL|w3P<06dpW&z+jv7|gGN29#b_tl(!*uT*=n!JVt2ZX zE~H@#S}p#V7PJll5g)Y;-0!wgLYjNlW4GCmrJ}T0XC;L~@98sYbwGxoUHv7pM$q^n zGoZC>S$YXQ^ybSi(*pnc%iMc_o>0niB0fxz6bT6d?zy_G$goJ15$})4JJA%mzWLE_ zHH-$?J!I>%cyf)*|4;Z$4t`ny~7b>1R)#ok_9?IIUfTjED@@;BaaW!a-+F*%$2MF-QlEDo(_% z2^Iv?2lkR0s1C*F_5|4o;DtRy2!T{X3L|xhENOK!KMDIZw>b_9sCO24kPKQh1@DPO zZ-h`I>mnrrKp|e%QfTt*D_-EES`eG{RdZu|cc3ud9nX#&?M)4|We{VQY-|tj-XHDQ zRNRWrxDvtDt+%PN@gg>*bMn`{Vu0J$o|7#)Hm z*@wWp5%XRoPg1NM#S_zrrA~mlgPja!G^mAgkX>1BKOCU=A*0gojI)z!03L2OZ-39w zx_I|^A=uU4Xl7qse$mp{g4%5}Mp`oiovR^rp7LlLx+0(qReRAj`~`w zr#OLaE*lTW7NQy7IV7k?M-19UqouZ{p&Qn90%Fi=Y99b3SNoy9=OtHrqNWf-bR>-! z(H0mZKr(T&{npfQdvs#FxWn!6PF1=N3??I$Eje#%Q`Usp{8MALSaLnC3pA(uHre!J zMw`EFysde#;8O+q`nue0+ntpjx&0b&&Rj(M3oKOq5;PN?3(j;F5F13%B(m$mtm0#m zk7NNIpLA&l+wkXGB97z9ep&*_GCc?pHR%W5gH)6 z{pNT$E^6Wp;RY6+NhVF^Tq2*0&c+4s9c8n~B#QSx2GjSf_C775ERJG%n|q9ah=7sK zQ8UTGLTeUGol|_Tq3|efsd)3sl@g#%(U*X3`VL$I)Y0$@bkLwBWo->0Q;tF=izvt7 zkawOG#&3N0pT(PP;jAaxlJThd1*~Wbza3xo(m5E>9|4xsK3Db}T;95XuFN z7N=V^U<$g;2d~eKrbasQTO#9)qeH#GH|3ZB$Zmzr>s-}*)X$_nN|yA@+yvSRgvx!T z+HV}GBEG+1F2FuE9gLZb_0ADygBnOM*rea(zv}nqA?g0I}`@J#t|!c zQ=J({YM{CyGCpo9Re(%{J_x|>cLj4dE9|b8R2deup5=hjLOv0mcl-QWvnC9nU`@^! zIu}Tsb5XNgE-5ggH7#nSn#m4L14~>@e=WUEZ9~&Iwsevb1h3hMF!Z?=i>->=_OIM| zJkZgcP+L{ueA&NgqocH|T2iBQ_Tbxi6$<9;nCeeFyk%0Y)k)hWtxlcK2GSmV`*ls5 zHyfhyu-=jHM_Y<$%Tut~B!vsr!|);p;_P&UsccLEo_G`Mh_Og495d)*VWTdlGtNT* z566t*&+6DCI(9RblyEY5R*|+mVi7?rZ$S{}yepY<`xcQu(uFuN9n<8(oncWI7G3sn zrdSZMZY*7qEtWLPc@MnI8;?apUP!JoTUul(L>}kL8ZMyYl4 z4KKZNOg2=si42DP>cAz(CN>hlmY|cWk2`9*q1NmetE5)3Vof^StHLuN6+lO*RQ^R$` zg@f$}J~T9ioSu&BdSk3%a1^nfcUUqTCcDQ@jCZ&{EdH?}80kS|B=XG;fUD!nl37#< z`|HQ-ZeU!car_Ee#Lwe>H=tccoVN?*ss|`nUoZ=Lz0;vFE~q8jf>mKstC6o)EJEO| zCDqGenk4?pVVc+QZIypE`4WEkFUh?8nawksmp{dB!UwO%rj=g+U*LJv3qjVX=fujt zDgIIVBVY@pQLD7jBfg4HaE?i>!Y6Cre+V2M_3x+Z--GX)?nfS>LWE5$CBTG=`=>;b zk#WBW`~rUe&!jJ4ec~L_h$||H`r7$HAfx<3ojF6mC9UsMJ^Lu zY8ruouT5L$6k7Q;uFz7M%pjNflFYOqDl`a60;*T7Odbcs%LI}oujgOa>zN@cS9l`o zW#S!xAC}j1hg>Eg6RDm;ga}+kQ=Lyp=I|np9+`J*KT51|6nThti>WyKG4CgtZ;RS4 z^KI=vAlFlH5#1KkayB2dT`uz*^)kihP~sCp2)qg+Hm3%ZD&-1A-p=Ue@GOm3g5^>?LPmqMlJO>r_>rDSd;php*4ykrdG;g#Tt-IR>ZmNct zA7gzTk>;pFVyeL-1F?I~d6bH=-B!(Zts^^p=(gT*Z>GhMzLDoVjZr@5F-FhJV^o2- zS$_euUeQnDhJn^?ET ztUd2}{ygxV;BmW{%4XcKI8(piak1OJHD z2jPAsDa-5Fygy)8gMfK$E;p>aBPB)R4g9)%t?perdOS7~hQ zs%)j==GK@h9JsM%U4GL0-_PE6VC2&J6eT$672^(1J%3)SI6lJX%qFo4StN$oz(0LK zaKpb(aROu$oW>vbx)_ubjCumF=J!F^)afd=cSFjf;;77f};4 zff*9~lZ@TLLpHdkQWtV4wifem3O;D`9)a+@g1_M+fEb?#5#Kr|q?>ov ze=u#=Tp4)j^!qIOalN&Fn0*YOCgX)_&fzrOf~iI0na11=e80=l7{$K)Re3zKhD?JV zd#GjoemB5=&i6aWG_)_@Ebn)w#**4HCK@bDZjTi|vvmH5?nY8*nq+VY2upei@luBQ0VK^~{uAXHhd>d#T6NMmF} zL^MW%5m7S|W}RVn%*cF5hy7aB0%F&#{xeZTRUr>IEg%pDNt(FDtOKKMg+e+i6qsA# zfw`9{UWKke=9nCytGm$uc0U8wHOKeBC&jf1+X@KA#kFe@xx$6Mkj0F+l90y$k5NdD z83rahzmI?7Hhd!c6p=BdIdg^z$dIi+Gt^D>=te-xwroW6pLrg;c!^ggfF%ZH|%Nnc!Sii zm>4tdwH~vIR-jW7P4+eQx z7eeXcF=$tFwTb?r?tFMXX(+l*rzq|0j;+SRjt&fr(m$q{_;AP-S>;TVyGx50!c7Oe zC@3*Kd~;7N29eKS%m>S2xNV46ZF>?)Ygx5-F<*EPZu(wY4n- zc{N_4D{&pSOVj)n15_r~gnhL&K~rcBLS9vu>SeAh!G8G+tqI~6sZ6#X$!~n7zf;v_ z3x2w|kzWi9Ht;CcWbhjQWK9O&YH>)0F_`jd&*!=k;woj`M=k3{w5~vB`p~-bTqok~ zTCWSKWnBp8<+Y8t%=p>{Y2Z(5?bw>j@U<;lZwLB@);8jK<7=C6{*b)3H8wT!wXMjn zl=D>n2lSz!u&3H$nl>n>B`@<&2Myj}&})#wA#v8{Qv~|&)Uv}`wp+`F5C}N8hycJL z;|QE^l=w%Cnb;e+iEAASZV9La91FK>jn>V7~ z+v;5YJdmzAcER==_wBopDVP6eWojUm8knl=T>f(`u!J49N!*EkGed{pRxR9Xc-SEN z0P8%17$g5QJMUy85D@TRFkqQ8_xn3MBiI1vMD-x(-;jBPFcf%4$=X(g8H!BlR83l2 z+|brnqoWWBRP&5}`Jk;Cp(6J^Qoa4*$-Wain{L|O)NOr1+N8D`wReALa^aTo=)Pdj z_-$LpCryy3=-r~CXF2C8^hu24jl!4fd&WOiwQi>tBS}}INTus(1i!=I7xYYw<&C%1 z#vQKqBasFw9f|3XtQ2)Q6qy}y$W~=`^9zCtt9%IIedZEtA}+>LW_GigozkuUhyRyO~NFI@Wg6?QtH!%fG``c2G0Z^2ucq|VBBSQMcCfRv4|MN_UBQn z?S(#1zX)$#Z|_SbfL-u6hM@+th2>2E`sPc;mwa!$gslT8NqCol>Gl@6C(}bI)37ns z{db7-T02ih>YACF`}M9MWt}KNeJB!8ON6xaDvB=GS4bcS=PNvij8H^s0jjm!u_DkS z(y+?fYq3|9VqF1D^5=SQPHybo5H;H>sbss=6y4CfF?EYIWC=uiWAWbbCHRzKLUsfS zf9QPV(xoGp9)EC?0r5@E&3Sj+u<5}kE*~lEDU9y<^p-83-ow7@_W9gyzyHhKmF+ZM zWI6w%nBTHaaT#*HxvC|dqPGo#KB*pboh;wenjy>g=h-QF%@7|5`nh}`SY0!?e9ya}HD>*wYE zH$Jw{%W{_FFXYW2JN7ovm8h$%Us0I}DpR~9+=4QF&r0G~R{pkXjQB|9(TAb(kktS! zTMuX%S>ZOh{%qwJRc*+E#{ljKH;^8NK9Y5F zs=xe>6<%Ee zh-Iq3Y=;sr0V>q@EVY>50b7(P;tsKP2d@ueJ(-!;Uw+QBE3e`?7-vjGknz=auHW#U zMBQuUKU>>lapim1xoGTgI~V%?ab9;CJFi!b#Vlk8NzsU&%+>3Tej$4ojU8_95-;`D z`yO|sqp*2NrqrltB8Jm?-^=zi>U;S)&#uWQo$qN+1?fgy`7c#%R{@U^9kO)8-xKXgr+NM5XFQwb;|A&ZE|kv%POgpdCEL=d z@3}n?b-818+@L4JURaw%RS1?eZfRO)x1+x2c0ut{TfP3cBj|?ZPW->Dy$5(@XLT;T zzr9b{r}y4_lXN5ndYhu@RnzQgHrQhe%NC5$M7Bp72)G2s4X_DdPf4yJ*dzvS zJmIlTLTuv@@pL&U^K9sPEO!`4T>*iaQp6EAGgzU48#A9aOJfK&Wg9cLYXZhYj}+$iHe4UQm9o zy);}B^I3)*>4Lq}K5CaP+SmxyK4e9S`6ad^&yL#Jg8mV`Nc#I1oRV`oQTS+7aOf<*VZ|}eLfsLlDNhe2c zbkvP@Huq+28=aZXY~Kjc=7WK@tzDtE#=OOM`^d!m`oc`y#u#QH6U^w-v+#K;!qdw8 z#sjP?z%KaNQx3M>!Jx#5dIjfXcBjO=64OX*T4cx-zSqo9;o^+Q9z}ZA?49Vw@Z3{C z0$V?TSX45JJjJrx=7~|xRm(9vm0Cz71kb`5H$zH_drL!Up$r>}E9L^JKsOD2|+^{g#Na_#GU=J?ujxVx=>4BYv6u|f2>>iQdfrCiLYj~1IkL;Ko%SO8{svMHIZ z^XWI3Lv``SRu5?OMpPPE+ShO9I712DNPf!aYxCQT8sS)R)lD61j#lu`IL3g3eQS=beGH9ZWc^`UVJ;z4N7e51h+7YD+2hP-lcvM&_TG`~$l-ON=fzF8 zAA^{#bnQv;b2^hzM@i&pq(pv+_!i((xhExDDy6x?PW47DbH#ZD$aHzeBHO&#$b!jk@?pcVBJ2yRrC0Dob z6e5;KEsSi<3GaffgUKE3Ey%l8L$q%oSjWLZlBw-M2f%Qe{@o27`UMa&?s^ z--B>1OSx3(>M-}REga<{z>r&jNLi~EzQjsopY?SF*Bl(k#MbQWs2_Apy6b|`rj*N( z?#OkHIM+9xz=5q~^POq?p7CtOdLfW>9EfT%`nqsy2axLLN zr5G$1_7-R1wm)JGMk+)3y$4O2POmeNt}8{Oa1cf4_W!@)`{CQUP)X)N<9uEk z=X_5gq}hW-W1F52v!mf@Y&^YBkfYU%KDa z$S{poa%nokx9EMn_Gj;g3 zNc+a7bVn&>aBS;r9LT1IQvJij{kX}(*b~7|<~9Q2#hp+%UDsBbYqyz&Id^xley)(p z>gH@w_{eg!%a)pMJkux+G;V7Y8yB{yddO0sZDV2MkYNX9M+DSBMwP+^z5Q9Wjrwe;IN*|44VPV0iPxE6jQC-`Xvn=S?|AYCRANXLc5OtRNCW40SCBj(|NRyX6< z!;1rM{1Q@Ida6uIPPF7aOLEkRuM6o0%nXnr600*o)-ojKXjPhJ>V}(+q}e?y1sg(( zN0EFpG}s$PFb90g?1w+`ss7C?QXCz<`GZG}?%x`twxkgoCf;QNBidz0V?^6&->gmx zor+oFDps4KO9|kt#RAEw5Sx#W+FdraIa|=2dA}Zn%L*|rOO;of(I8H=RC$)F?gVem zfk~j2zpFi*q{uFK1~+X&oMTl+%i=fvLmNgzi`T)n{DyDa(UX;pE7Dm!>*{VgF&W>8 zb3n!;~tE1_{Hy zXqsM>Hi5aRXNDQU)F&;8z0%oif1~u~OOR>ca!H^uzWf@VeTgvM3iuh1cmST%&YGHAb*urlwb74#!VeLu0qWOt3EBmsUNU8KBKwY0taJeZv!`(h- zy42f)mpuoByk`zb2)}2UBVBLO$H477O1&8giquR`?z zzkeC&|F6E%jKl9G>hqE+qC#PvsvrV*I1vVAj4CutVEZaNveH}|2vko}D|72B)ky2& zr)rVb@g|K<{EeXjE2U$iHNcK61z;sL04tlc1|ETxU83Hi{f$vGC$0MW;eE%|&@9bu z)i0x%i|Us>3%~41VggWXwzvk~pQfvClcZ^Z2bd?HhyW7&o$3QpY*zKro`sKA{i|dP zJU~rz*CxqY2QQF9HvF&nT6*v2JuiF0vtu1j4Uln-YiUmsfm45<$CUSx9V>i9#a5U*k&L^*4@vP?0+_+;o`Bux2czwz zGDyN~u!poct(cmVbG97wLn36>MJaJ!XV$+_$V$-X0-OQq!El_HiIM}ZvG{_;;lQC3 z0N)i^mJmt-C9?+>A?y=aDm=^YO>V3J{Ih?zYWDK{1_&~&wDypZNMbQdrpe`1CY@`% z@i?1YUo+!IR$FZ!mhH0mZ}w}x73LcDpb6Na+= zY3xG*Wr?hiU*E#i-ul$#@ z>SOlLZd^RFvd!dk{Y<(EYsZQxkAj@6wL%}0TPl@=&5C<{7uU?$b#bIKNIL7Rt*Oaw zi`yn_lFc_)xY*m$)YNW8wx&tur6Cp?+UdM;lEM`8KEi1cRif`KKntilv1p z*}0`^QjMd+#V1R(BpaMT*Ion0ZpZAo_CumP^Q7kelNo-*sCq;?eToZSUP;qZp~m9E!vA)u`qL#<{=)rGpjpgCZdWqWq$$gQG_yHRs&#dbtz#1P@DeceiE7~^Yq>bShyBfO@1ZsI8^Ym@ z-Ag?R0xOg9gH&aO4Qb@V&rwHpbLaH+*Lg2>Q&kq~!o|JRr-S*uhh+`?e&hAW#g9t{ zU=R@@$->H0=M!uv>Lf?mT@ki3$aXpy7(CFvO85+ZO~mN+Ydl7;Te8`mF00EN3Zfb( z6i%nCE+k60Q0~NQyhFGTRm+ls&*=3*yv{f4HM+e4U$z#E9sM5Sj%ROSw-2J0wY{M;}0jJ8h0q9@w$6mz1BWUpFz_nQQ+w{3UHEr zihKv!?v_JMK3);FtY$dW@*YT@uoh{mrPRT@L70glIRa|Fs+jMp$P|PN;Uz3>pwRHe z{LiH%)Y{}hrwS<*!tkoJLnJb%XRp`qZ99TU(nH4w4jkyYAwSgLm)=nx8vJ3ZKXz#A z4wKK^!2bQFpL`PWqs4y>EdI$YUpxQk_|dQWzp(M*uJ3<8x;FMfZu53wOb%g8GN|71 zzm-P}MRu;hAYfDw7^<6mQeaL;*y{17(w6ki!iNwfkvfIlIHw9lli8Bam@Q`LL0a5t zOD1g&D`xvhxcLy`kIgJS4-7Tyr6jN8(j$_%1E=tXCM~d;(a`RY81nj0rBf%uY;Ty2 zqPhj80%0yBhKimYP+O`yHRRX)w zCokhfdb4zy_xMsOqn)CB=vV4@?q72C+bU>E(ukbfpz1&}B7Ef}6}urS7}O$NsHNrN zc-J@k##{DG_XW%D_;A=4)KaIms%O(I?QsavUn zibk_O+ACW%6I!eO+OO?Vlubdk8t3sS`@`Xr8TM~l5W=|c@khuzIEHbk7oJz90tIIB zGT9_E6L{z7G{4UydmkyXvqg4Sk)0^A;=?$iQ+feqRze!dazAoV$`5DR5J2d;P=j8h z=`4+w&X%MSj&UiSicer%?<=sj!qLJs03M4Bj(?kR2s&2_ey_*sB3!KU8YftCk>egb z;MIL8srGFcMnG-=LL*@AsNjna08V}SBAg68jMJZC+Wux2uIgn*{Rwb`J%ptkFa@l4 z_>(AwZINU7I(H@&SQlKoma4NDoW{_)#s3uu-y&|@D(W<{cB9s)S^NXNjY_k~T6w~= zIdS(^s?NgLHqYXhnl}X4uET_NBEL}7z<0Gk%RMIG96O2PgObH4Pw6${d8^hiqankw z*D}MfxUcf898Tj0r|mVEe2`1XK*pVPSn&_6KvA=JU}ECXGa$Lks1x;CqY>%M78%LRlBl<71S_UA6ZNuQ zoMp0`$s)61MSJy3qt|Q9Pq1ge-3Hy!VKc|fqHKn0ig5;zdat%mufY{#H{w&D??M5j zJtCL46LqPvB393ROnD$1q>DnEOEvqOwfi8g)ry&opCCwyQbW(;|JeUf&+Gq_b=-Te z_*`FMar@$xOMjbZ^{jpK;yW);pQeE4pM!5a$VBDRSU2nJWbF|wecXb{iq*^G|0v}O$2WXupt&T0*Ats$wsSkE4* zXCJ9&+E~355@(+TFqyeD9GW%v_YJj7!<3zG?HKgfskN)mJfpLUzOw&Vbuxv<6ennKTSKvCW?l#c@ev^hDi`Y&vQf()wu( zvlzp_1Ljo}ZdBHN!N?#qo2!Cdf{TlBIO~KuCg+o-oRFU{j3!aXMSEXj%r+1Cw>{pQ zyyB>rb&-RBZpGKtb^i~XgJs<7e@r%iqs);nz9j&{Lt-V*xK&Acyw4C&L0$|}b2;j@ zIpNF4g9b+;mGf%?W+Sz@DW7(m5-7dr_79CO0bpB>O|@%XIOZM65K>9u$2&rJT_ohJ zB4IesRGsn{z&FkT?cU}IGffyZ-kCug(26HCGn%s+X-vZg+zg9UoKiC+1pS9@UtVg4=Nll~CSMAa6F}2@YcSAmac9M%0XCbO>LP zD#*=w$7-mldaPGc9KBtsWwk^!g2u#^L-s^d!i7@T0I(zNyF4*-p><7cYQ~)^hk_ZO z>2C_%<&4YZ4JAAzTotom@NI?zTeI!Ogu@Yz7fF5zePG0od92k8*oH^kK{gg;-BC6c zVHqA)$!J-#hKaLOfl6>aYP^6mU@nw%+FUV^@w4ajPwB;ZJww9Npq>eOJ83T67e5|n z?Qv#`v$){2%-`u^J6uQca{mMy1HFuT0nNwpfN4RZ=k$fnfC%rKoN!3;eiW;uFE&~0 z37o!aD2W$=s|r#{o^S4UM2mq)gHm?a6_Un?G1uH4JbcU<$$Fe|pXGF-F&DKtO3`dw zHrsR?basnj!$7Pd6}Fgt!MKNFOjM(568x|*?DIb1G3D?`ksU+xJEo68Zgn21nNPc= zDL2>#?xSE^)=eJ^-Wi+^N|0c+z=S(I0@oS1MoHZ^&c%XKc^c_&r0Tq@Z4;Tx6;c2bEf9aXqI zH^g3~@>r`%b&l^JLj0DQA}H3`7`BX=g4JT3coOHG3%TtOl?VQk5>6{!rdZtPXBred zG8kjpDU(e4T=(lC36^O@opMwuk87s<0xBe9t)=}&gF!&xTMV2+6`^+&$f0k@BA0GR z*DG=YA#y=sU?c6A3=UMmYkm#L!leDJ{kVG-LQ(d+MGcv7+@Mp_)i|e+dWnNF4I;GD z8N3?=3INHt#t*UehsMWiqC4Yk3rX%QKD&=S$vh~!i0|>OHNl;&i$5i;osp5_`#DZW zm^#ivaCy#SO-YEKenhN@zrsmRRoeeVxiRl$1v8Q<9bTj-=|#a}#&Itf&{RFnb|%m2 zMIe++c9=Pd2M`%ElrVm=d#I~`4pCS$^A z=z(!>0H3CQ&VC66YgqGK-P{fV612ktYa=BaB&*9HIVTgtEf2SdEq>=2&pD5XP_<_v z+LW!kuhsFS{fl5K+O?^8h!;HyLM1V}xp6mC^A?PTX-;%B$wa^4$38YBOd%XlaGyC0 zPBs9RBp^OmxUZ>DIITy-eW`{A@d_Q4yQ`f>dv>MPgRlh1Z2(DN*;}A&Z1kjh$iwa> zR~!BUjNKlVMRYuYP^FE*v8WUVb~PHEhS0j;DfULip7S;jJ0)3i?`~@@2G@nwb^dK* zrmNr+nJW}5{;959U>pJ`vv#888)m!o1f)x3ciL@mnYMbir#^J|!;-Jm8EabSzGq-t z-D%qMwa~SE2WvBgc-C42QaOB~DQM;$#|rZVJT9Zr~2Y&~emMmaI;z*=%)6nY86TljA;@3I7C?{kp8!%+3-2+2~f=sD44S0Pr4Jm^Nh=f4bn=Q~3`yz!8fNQA@uo8m{vW;Je4Rl5KqUPp4qE`WDwGFe>SK})r+&C-Uc+AjbGpgh`4 zp+sVH;6Uc0P_=R^B-+bO7@&)^ek4HpE7h8xbu_nBoHx14jb+!zup1PP6d!tY{ojG( zY&Gp_7^#5DLHfOYn|9>0n?`zki&vRzoNX}bZ{Z@oI4c)_MFrieGQQaFkdnbpW1Is* zmlDxwL-3VneQxK)pv`@s2cb~Mm|167@M$?Aj6xKvynLuH(|*pDeK$R~wo+t>L5hUI zx{d~Pc2gxEtjG^NG&wewI4nY*N-J&#b|C)Y(5tTwecudAlg7Y~AA7L(MzHd)D)%R~ z(TFo)#*eTj5OKyJcN#St%u&H1Yw;rul0j4(MV5so;0{90A)sNJfZ!l-(;IQxEndOl zaYHCIYPNWzUX&g4qU@O0>qEUVjm7D7SfK1Tkv*N2Y*`kG2vvo&jK447#Y4x8*XMMa zeSN4i)~h9rG}z{xj>C(sz`9aZEH7g)f$89esBu@Dfne6`2f`(*rNwMq%jHF_pX;U( zzG#>IbSo~A>McSgG6@hamm9hYbQJ)M?Wld&p)@zzId);R5A9z3K6{o#tyyA8*YxfSLkP%dB?M;nM z3UXFYH)&!`EFKf0Qn6~iG{#d4!J=LGNY>ki7Y7xbz7A6?IBp&_jcP_E$YanKUt92$ zQ2U0jF6h5Bzxg6&Bn?ROo2oF|vWA^)r7|1uefdRo5UAP>M~xA(cU3qu>OCW|Qmw5G zrU?e6tv%&+jAuiKOflDItpW3-HDv4CO89yBgtP7Gp&g*4aX_kSK== z$AEL@^H9E92>Hhi+IcF|hHV<#6K3&CD&6yCI9i-@24oDz0LOGl_!lM}$0e|VK^j>F zAy(>xEh~)>?ei{gb2)Ea{0Y0)T4-zy6vx}+nZbkI?UT?S+*01WBiTNZb-aaAQ0<P|Vlb1?X~2zRD>vZ(e!(RromApAZJasS0~C1-+lIqfDHetpN!z?D2%b2VDcC ztVz7;O0^_RLF{{;pefOk!l6L>l3N^LH{$&zXkQE~DUr%g3zANI`T^`X@KOe}+q9q1 zLUT`g9Lgqw20|X?$`#5NwBs9L%fL&MLI0J&OMbdXcW_BQeHj>U?tf1;e(3%9mgFbX zzu$pxe98f_2Zb{~j(e1q^#R2!#AVya2`HSxbAZA2r{J(?P9xQbj5jYHcuB_B7(M~C z^faTCCCUqW=Q;e5#f56609tT2pts|vUMQD9VYvbUailE*S!gcfy6jg<&_@QX1rG!a zZi&GF_wl@A)s|aXGJyqdo6w}# zEC#cB6^g;&u%ng_?`ZRB%0k1HpnJ%ADF?5VUa=$FedSfqCx6`+kNfa_j(=h>7>(i^ zpCk!ke9k^;N45PwQtD6?Z!pAKLM#)4uflX8HW2tgKx_k5H^6iOw$0C){JnlLiH;$` zsBXik;Air9=;o040sp=JPxz%9{PZfn@_2~d8A7Ep7CQZj0Gme7el+-aQ2cO^-3s_6 zXyEx!1y>{37U@VOKb<`nm*L+qm=_7GVA$TbZ|0{+NpKIRo_ zk7A1)tj+0zK@=c$nnV6T@QDb!CGz3O$0O2Yglz;++lVfV@M-=AAHyqGUILX3>n>2P zU}NwjXFOo9-Cps(6tLq5w_JZ`)3ARa(7NS4jk^}vzd!P!-)!DD>({QWKY+b9DUPx2 zSd$SjO7B!+db`yz5{rbOrPeLnENG~_l_+52m_Se>2^a0MQpBWJk_(Jg85V_FWtkzELC?w$pNE((a_A8TbO}@(S@kPx8a>2JSVhGG}hm219 zY_0)71l36(Y`GePpmol+YaIT#+nKaFJSIm_U%&d{zhU`*-W&-y&9W?qt!{Ia?i%zV z>rD!djY+A3>hOPtk!(}~d)NorN7!RbBly8+gd`d0vWj#XDm~>_gI9vDBCLYVnV%OZ zYDjxB3!e9UR=SlE7n#s2wXt^T8~7vG?j|IFXkZeECRE^K*x>X!6pR8HwE_A%%_2 zAbQ7hT`hQT;Q>L!$#q#tVj2frOi#yy-eSR9Fr0Pah}Wo*6yY=z?Py%(E#6)BS9!fu z%vtPM&4F?=Zc3EeN;8$vJzN&GcEypga$kA?dr-W(Fa5H*FG=6P4)nQ|X9wN?jdmPX z0-u)t80<)9XQI4aI3kEHx?)#A#7T@Qmbh=x>m^ALQQk5PN(Nj-8faM3OIQEW@4k9m zJU@|FTzO)}eU`qp{@}jqr7!+{b%q#B4LhNjaeKNq#tlmS~ zaM{0W4~g96aE^R9!o*kKfzAi`BUX ze&%~}NRf$C%}r(3f2tU4ltQYek5)OQ>gzuUu4NueKrh_Gb3xTi!2f`b1Y#7(IYlNQ zGgpbFl=HSI{uO-IobV)R_xynB;2=$s7k|O+J4yymNQ5X!c9N5SKzbQ=WD-UJgcu8kdc8N{yi0Bd(d~Q8SRlzY0~xo2)Uj zq;pu;bnoAm>USLaYcc$eA(GBI29ES4Ua#BG8E4`K#>P6=4}nSW$Ks)F+x{HpuoPbd z-$m_rc9n84MaogugGEoOW|Wf}lp$Ay+$+7xS;am>+~2Lh`tq#xc_E5^gZe%|>0dl+ zKn)*~^!_ra;;2FQ3&lk}OQI;jAebMvR4QGBjtej2gImt{rpI5QKMYO7ZhA-Y0F?7j zbJZU$X{u=H&$aYs4)nG5Lcu?CfAEQ*7z_$_dcBp{WOkQKiZHHIBnU$yLNqwUC&%rN zo+VuXr2q5ULv#yN5s>d-inL}@dAus+$4gQu+Q?r*#T%6fo{pbN(@WBR`iS%ji5S9( zQC$%@A^jx8kZS*cqy|$9FcCO8c!@SDU2{I=oUKK)<*zD+C z+sox0ca0W@+fw>~cY9y!mac@BH7>rUNpx>*>)Q$5O}c%=)--u$$M*TjCZo-+-CznO z)@*Cp(!N_sg+a9ea{^`<#x?UJ#W^Mb8Z6h@?}gl*0$6oue;sigddG-V;g(SfsoZb0BFB`(?f<0Ix&K)Urin z=OFq=g|eY5;;N>-@{J+N#C>SfV~Rm zmzl0TinbJsZ80+w7vI6iW1mFBE}~83&yF26G0T)q61`LYn2jNRe%jAse#VOk+5~?v z=m#1X2}^p}M;fuGxVkxylaD~++~o_*u$fS=ug}V9162v!Nkq$+_dtHy*9I4~Dg-yx z9WH{p&}tGY-}=P5>ejZm-FI+ctGeAix3r(Ny#DR6VQg~$4VzqTzC*u?^0OPNd)tzJ z)uLhmi2`SeP?dqGt`AkaMEo9q{d=`bkR`y_3hfg2_5T$6rF*e={v*9!`m``r-8=R9 zMt^*Q`MGi==82k%dIWuHg7+Gdr;K2tOzF;B#3`sS8~ddheIJhr^G?E~K&%rK9UdHR zYJ@GwqrNGSTOk~?;n3eBPI>J!;^AxK&p(fK4pdycpRY;eLeZXn{g+}tJ!U_uKK_+B zA$}d}KBHa>F6b(*MJt39i=Y>$H0O0}M%&A2pV-Cl(Xg!<(ZL+->f*N`OtbCU6Ziwn zcjS$We}TI;*dv>eu`^{gPI-5Djv|}eK4s7tgelSLHHf0YYt;n&CJD2?&(iOkG4z6~ zg!2#oX<^rbYZO_ah&LC^fx+&m5JZLcf~JM#op8Kw-)N;hpk-`f=f1_aB)zXL&(=QA z%v~S*^!XjvKC}3<=f%T)XXod-MdUN7=NaX2p{=kB(C;7tNw?#Ao0wU7{OLM&9!l%! z^i&|~hHbduVpbRG9|hcQci{B^I~{l+@MJ)`9iDmGnzm*vmW;b{npbJgZ5AlU(1nF*ku6gP-*Z^Wi`^9=@tB=)-a(#1s zUtM3ePY49enZ8(Gw2v6KgjnlG0eLq@NN+czKvj1`V*A8(BLlp31{3gFtezJ1$r7C zjw12IS_0~p!;s?v$h&tu-3)D&TQW{9!_rCxh<96eelM{hRL1lBa6?m@yPm} zlMRhG9^8dKiol*QAV0f9_-iFGpI~ke1A2PY%OG{QspCM0*wIml1$EGV+n}4~`Cb+n z2EIlr{O4;{3k2evrn-GffEVt&)MbXSej!#6#{tY_qaYEtr zC;yDA61Y~7&ACHL2{dYoubR%fsvyIIEs24S^ae$xK2_GlTXrewwcXM7Lg2R+W?08Q zX$&=_>N}xDAluA(Z~b7oahnS@B-Z5HH#H--uUep?b0A-dnriD^oWmM$39l$;<2LrF zm7TXxX}_m+$fjXWYncUXbF)jU18X0*Q<99}fNY*pvmDQR6c4j|COoG-l7#)rZR#`j zb(`5UkTi`Wbl7QTMKcO`kdCx$0JDYly3!K+gv4%##3qzCn5ak-lGrSG>jJaKb* z!+~($&~RTT_JC{GTNgfdU-Pwbh$?M6aP)?Knd<&9$Mb;z*qH7;HI&HQnRKjwLR+!jQhAlgFy6P-tTp{V$)tUy^fZ_rNZ z&&yh5$7p6q;|%+?dK7V?Z*XY20U{nbwD@J53iRPPhn}nU)mnbWRF*yuz5=c%%O8_X zpXTzkvy@%df;T`(kKv8gz73+Y50 zOeXdaV>hrVb`O(U*Z|wcq#O=r2I&YyG2__>vh3C@qky4k%f_;z$!JtTMSmvVyNfL_ zlvIlK273LyE~0}_;V3v~4SesNtPT&-;P7Ry2BvWLZmyk$pdjB(mqLU~@k9JteuG{^ z`)g)p3<@O+_-@O5JYa~LR_;>w*0tuK->Grngo)Ot!@eQlmw632S-qwy2IhK7bW z8aA&Z{D%@f4*;I_KsU=%sVjVdGQ|*q5Biw$3FD&4SdYI z)iK6d{dM#)*&IO>(~?Y627|?{pVGqSz^TLJ8BL$ak7cYs8fV(cz(xaaF+)c%9mMz+ zkL=uc?dN28Y^C#-n;tZWy6|}kynjGguhf~Rj8>a9Fy)I`Q3irpeO6y6Xw#k|y%E0+!%4jpoB zs$YMw-F=Wu8@@*){TVAjrw2p!x6PA;f2P|K-T(JRV68OE7#&;+_vTZ94U`=T$EnH>6=v^*p`JWCc(q1n#v}cq`h`q3kaiW- zF6oIwhyK2L$r8C`s;=(knZFx$!!^%bxCDvJW@fZLn zXdUZ&gVkM~PhA8TE#UfO#*xSx0Mq2JxTbV;jwmvOz(X2OSrca=1X2k(rt zV-5z;*zGnJz@VSL;9|#JkGRButAHT)G*AAAMMt-a50;!j_L*>@7>${#<;)74^ynfW z234KYo|*gIPas_2))M2303R~`o}*vKh-*e-yPR`o0n(EmG}-AlCM*30SQXtW348=L zeFAul1oasS0|F0l339?9*Ki#GJL-Kh@MwiVxMA7)L#bM9U_^Q6wjZp&Rs28ail#BY-eX*+t%)cX7M%Fs7-WjY3& zLSrLA+Xk=>VvXfS5k@hG$>>%=zZjrYgUR+C8%=~7Uzg95le`2 zqHzST4#_hL5YtV!z;$z*&gfofNV(TfR3ULI`1YnPiE4@{~W zLEdiWNFubABgz(zLfT4H=L`k~rB$#SvV(2$0|#yd^*v?tG&VK54{f!^g3e;G;5cfp zE0^rP=3=P0>7;nf9Bs*sbuxI;Y&((RuWg4Cz2sL$HfD0$*7th!!G^)cwk_>pbO~$= zRWro{`)z>t(K_e>#lWjbLci)>W#^78LoVJ?7t?8Bx`piL>)G!56G*9_(_QLp6`oG9 zqY$>AJ7#~{E~>KampaZPHoJhTGlpOwD9XW2kgy+u=-Gm4bL(g`YhIChPj)gH2k4`p z(+$YWFit3wi5G(AeiqNP2k%bxsj5jPNV$O_&7@T%OwjV&pO03(capnOV^03mx|8Z0cfrG_;T_$L4Lecse&BXctm(RkDlIrZ^Z% z)*1N>wB-O1AX4xCNnY7c)%Y&4_7#Aj2SMyywEz!yK5@I9vlgY+Ql}zuhAy~;s)Jp^d3Aa3`cSe2wunlacKUjPb z>6yO*t3T0M%(mHV-L2(yS%5E)rNobi5Gdiel2*@VrHeXYUNb6EuFNv7M8wGid+47h zSs(lA;t>9T+Y+~mbeC`?C^8#nO(y-UUGE$A?SyQXb5_T6mRT^rm|bVH!JY{CZ2@Lo zFAKhT^O$kHV_rw3D2^`mtUQ`)_!2j6+N61_Mu&iAKb-BLa$LXHx7~>P`r^1&a0cJl#yt+U=%dq39@FFtJDA5ZdjtTBBQQv};?m>`5*A1meMk zg5#Y3DbPGzuGwh74IT_~n4XEU$03uHKQ7#belogpc~{PvFB_fC{H((kh*5#;hWgRM zXjH3pz;(N~HR&sd-kW%y6&EJ;mE+~hIC?dpxgE9 zU%R>oMic4vqXUufx}NS}{VgN^_>UvEP&|U_LH&&V8P_xV`12r8{y=en=C8GStZ>OZ zCgw3RC^r1y%OOGE2j$9nd}oonYdXD;D&#Y;YCF(21E@Sj!ws@Lkhtkv73USUl+94_6jmIn+W7g1S z7&1WCfuZIv@DSos3ev15;~VpiIY#ZH!A59vh%m)2E8%QuL^x#}?XhgKh!zEpET`ge z$uO!JlX&_fSt6y|kUhfjHy{9SUj-F|s-Yka=&k1FxBRbRkOBz8;TbsQh`CWALLxsC zl)=|HG{7-*4bqp5MrpSw8_oLd@f{rd+E35tAELd~Q`|R#RgF#C8fOcq%Ah^Q*~sCh`A=KNRIR-ca{(Xi|x^ zk3%=AdUpL3pULqsd?eEPkh*r!AmQU=5vNP-lhkvJW-omNS!FoPemeQ1N%n`e(~RDq z>g@$Z7v6vC(z)^9`R5Js&$Hu0U*MnDpah}b1j6X79n_twn4m0;G2J}v-PbN-T;O!P zIeG2PNgkHrAKJ=ZxG;G^ls7I8v9E5#TjDcSO)1QM0h&^^S@9a;(*kE!fU&n9(Rzt0Y1?P1|*%$vDtN#aY5ChkL2;5R)?b-dfaADZ{i zmme;R(@=RE^AvQQx<_@AZaz7aIh%PjBV|TY=}o?IN|eT0ryO)uMG1ymRfFv+$Xu82 z2G9OQ|F!DvTQKi_sA4`oYy#SKFl-w{^88g3x4pI9L+Y4VY!60Sh6{z^mIw>cPkOYc z`}n4YhE2!2_jH}0J14rBrf#4dVC;4lED!t>3zP@yN(1E}yY`WNDP{Z_G+&q2b@W`Ui}a_o#|A5A<#p4W_t>&dYBE!Y_u7#u*U zu%E!Ln40|O$qjEmi2ZAjeGPAq`9=}Rm+<~RVVhC`h!N!SR*$%uS#O%P8Da($R=tSB zoe8tvi+;Uk!F<;7DDBTi->7j+=7&0#FD3fZwCA(_+U1%o#iUEs=W0iaEuFwBg!a)j zE!m2Da#9W^(vH$_B_hg?c9&)C&#(RBTO#W2I*WrXkEv@x{1@K#=aebqEXU4fId%qu zr^U>-6Pty(MEn@}2|;Kvpl9Ed)t zVpxP;(Z2~Oq+FgkYUtRyD2&QG;cU=*4eG)M{6Q2xqH$MMJxmuW51c?FVrT zAh!B0v@~SF3x?8RWu4y4&Vutg_q3JitX^x@dd{k`UMgs$Dc=Ihk_x;kDYz6oLx4{a>>$CnCxb*P;4T#m6BqJ+s)2UZje<#{+9L#6VAY*F z^N(^Umb8`DcP8U&wpN-CHoVk5;7&CJL!EA&KN7>v^G)PdiLOF#eYvmbGMU;MDuJ}m zBx%1)?gRIU-W8uho9xJS%n7$Dqxt|_K;URr7xISAg`Ns&LZMVLDsp#Y@v!<=L>~RYx_K@y1$!r^hOI~9f^3?mZtK-dT|H5O;&A>+Bl~F zrbb?FGOP`Z-2`e~()nRWjD13B)P>nuM7ie9MW2d_u_)7_5_$ zCRuixg#|}yv$NV5@^97kTx|(Czi38g)v)Msrm6gh>aa1-s!{pV$@h#}@2Wv*W7k#> z8eb1d*v&7%ZcYmal`f}K-VHsHIkHA}J0!>434xd&!Ucp>;O^Jz0cV1~g}7_p>C}ee z6I2VBN*2;(dm*MAR62G*;2@gGyEkvv zz40BxhVjBWhufIQ72Q1tlmyd}29DFPNh|9$+sDWIH(BIyEi?;?V^G7PwKM^|;umO7 z5b>wGl-%yniO{2=3z%(CBF#ULe=;vVonS{3=Mo|*FwH4OV&ZZ#b{5j6p3~motp8$8 zxXctq?l?xe_w;Yd9 zlOi*OOsU49dTbL7+mTv}5;53Ia29nlma~N|@owLKb3Bo>h0|U`qH9yRZ(nSmsgmd% z8tI(;7GsU?FGtpPwRnt?biq^CSMr+WYuCT^OHos;qBlxo>xp!?-C?Ja9CGh@ZgxJ?Nkm} zJ}aC>2L%|&MRZJzjZJ>(OTq5QIw(h45?%GyjL9H}#aI^P#26}JoZqmAJR?E*U;4?CX5 z*5KyAFhmL5b2T}GOc>h&lGa_?NPM%&x?m(}g4Npsna?FP^^fGW0HD_j+f`+SD5;X% zV}R&fWS~K;B$NX^u2L>xbUW4-$2S+B-HCXK1J9`f(F{bN0JXX}oM(wz4 z+0;KizFng;Xg3+0h0z;nj^we&Jj~kyQ9hZ_R&u^u%ivr4QCpp2Ap&C3DT705)Q;1 zs2vZaFvHmc6wu+3JC%I0>ac@fy1eyJDD6G|s(5VGx%a`9$KHYZ&;O<;yZb%IptAB1 zWY7E-Cs*Bv-<8OY4k9aLkJ7G}m@hi(y&w3B#hIJaX}#L4_MG-9tyb1vs(0CEofqqD z^BzxVK@ec+x<>6#8|7{|ddS5)77;H;zz-VoE5s8^ zNBe<#@(A}idhM(Ffo)hm*{}Ral)v*G9QNy1o&S99z#5@_1vrDqA7lN9CR#rnchCv< zlN*6KM$ZElsNobs|6S_ys;~AV>{sNg0ly%(P_;|hPtac`p+kw2-=Q-s`@iz6?xNW= zsvi}#WAZ$CzE^u*S;5et4kE7`wvwM}Q+~uglii zXOmfXGHXvJ>x?I`FU}DnSw@1IaH%UcdmOTcN2yvxHJo>;b2@n@c`hlnCx?^Al2Wox z8wk()JsXGGcC?*qliF%kk1?u%C2+dm2S4*m;y-ZC@a@U~^Lo=$b~i}1ez)IUa_)|v0Bv~sPMPVTu5+oR zQj3b>49W7RQb=TS2s5tJz6X4w&oht-oU#+ufHv4GBvQb0+p#!EiAuG*2;rrj;&oLG zgrz*{&YO z`ZkAj_ks0b(=Zts=ITjHg4VU1Xw@HhnanVC&QR-#P)%YeE}XDj;c%sGMjIqsWo6sX z;COwHA>D9>jjuAbMfn~3bz%L7Ry#rLON;ldGP&UgRry!o;N^u*;V+fnKi|rNt!zHV zren+-Wix(utc@LOX6?s)kNCs_1iPm1G(K$zrGJ%4;4?~pr5hk0AOl`YkwZQXNcKMA3*H-q&KDb=;Pxw54@DY@6wr`L3L2Ixm3 zyT)q&z`p$-usR!-3(@Xg*xLX}lx%Adg#(VhIJC8zvhP0nK zzK8x!L$PT}X?!ZdI=my^yS(SUn*8qMiKLiBecASg9pR(siKPvyt%=gqn*y+FE-NA2 zb!Rf#-N?yVuuTlbcErxa&c!sb+BU^KnpaETMY^%NQQ=&Isi*c3x7?PcVf63mi5ztm zPg_)bN(|L%$kuMZ;LD~{9)H$gSiff72E94qbjM7%-?Lt}WJ2^yrXjB&H*({;YDL-G zZ7y5DHn?fWxY69_Fb_@a7`H&=4&gbREl3LyuZu6>EdGSDBOhQs&%8%$ce3MF7M46d zkJC40Fu4sTpJCp~rk!lq$vjSn*<*H2Im~W{+3C9t0mib?dtfW=f8H#XBOW& z&Hg;zl66yif$51|uw4VfN0lvkX+aY25|QG>La6R(G#j<%S-;@+3%Fr^!Kl?Rkn(3W z%&kH0ngchkbyGBF1I zz|+-sCQ@0EbFa}ha+CBtw~J-AHJ!-aXij9Zj-v)otQd6{Ja%Uy95mg;%nvo)`u?MN zRtc42c3D4Sh(~B|-EqBN{JwNAFp_$fP+qW=*c0Rz)29}w= zrD7_bX2w7`8uQ0E;TN}6!moeINEM_UrYW!2hHdA3St+xL^6ByeWr>Kt4aON?pTj=f z?Pt%R%Q*Mf&x(F(wcKClq+Fc%z_I@ieBigQOujwY z{1W!`WnOSa4I{&K`X^|qUww@-2i{8%ru0@MlaiJMPw%FwMZ|2fhbVaAsCeN&A;bnP zIPiukQm#hg$kV8?i1#sPqCVJf4EWu;ZB<6`%j+iOVL6*fWaS}w(=xyKGpVtW-eA!f z&((RCsK(+ilulPXpO3pb6&kCF>wCog;*XHSSpwVrsI8uzHIfXaRLCciNiTaWaxo&# zM9xOUNW^BHWqKLp#4j>%G=NK7te>cVpkDO5-4Oe}SoegDebmPG*lxmh9vMv(l9%(Z z=YNow^3P;m$b1{eWYjn69rcWHJ%T9WbAEQnf16+2;%6=X0fd*`W9(t;n5-Y?!C`bN z30cAig^j)3>(pztVBOEa#`rF}8%HdK>dvJgUT#&dirQVM9gy=WI*-?- z-Lf*gx3IcXfsm&Ld)hsDT_~Azzc=o;ZFQfzU`I`W%STnlZ&cQddUr#BW?H8|3UuRA z5ivebbjtFC;~Bu_wt}dgi3%ZmD2~dPA*B95FKNc^b`HeSr!2;r{j_X8!JNVtc4hMQ zYp-C&a61BlO74~;&kU9mSqyO2VK}+SC#Q6?nr z@)1Q*j2#7ij`I{fqZ>9X-c}|3!D`}}Wu*P{F8dEL$^E9AQ8?Mka&w==;v{#w1rUb) zQhm&hShb{|6L|)<5U7i#7d&8+m;~*8$eM_o8lkXalKh^{(u4>X9D5aanBGP!F_8F= zfFDxLuK}Sz3riHyf}{>LX&Ha0!Viv=c9nN&9ozTFBjhrUcP5dT*i=4HKZar)H6(S= z3nBL_gM+DBKpAj+~322$FZk z(55@56Ln_290s2dlAG2(kL#4ZdNz?0>Fjhu&>Kt#3^G;m;M1INEpj>3?F53Gq=Sep zglMTanTSP$d~_>=d5jW(@GAkscCmIyCm{b2Gk{qi`t(q*qKx}1;SGlhN1E3qMjbJ0 zLr+&WA8Q>Fzkcg28xQzz&CF?}#p~iFqkg-Dbi0Y{5o=ddz9nYndjyXeA|{^`zMvdA z;<>{kK88$tkJsw;n=L+z&x@>A@2t<__F23jSVztZY>$8-1kS7TPWGsi?Q*gLnm399 zotFx_$ZYIlUMDTYQxnl~o7MbL{o_~~#)XeY9>+cddG#Q{3#2iB4I1;WpkxJ~_RCBo zv>h_rtIuzAi`q5VQ&lKaO|(?If~wh}pZEen^i?%&*zpJ6UDhZglp_hs8m=H}q0#tnC+_N5OS{HE8%FUc+xT;Mhg<_q$b zI}xW%DNZDtsR;|HvZe3URb|{>;|KvXc(GtHnR#UXle>5t+r8gY^Vn3b(x=3a;C%{; zSC|zIHUpHkXZ06lX`bmvL7U*%r}|!yz^lC*1z*|7wx1xRH1|3uFLCX4#H&ery-`6n zBm~!|EGGH9RfDV#EqG8fmR>!P!IuCWlE!@va%{LjPl8q(g^>}eW4~Jb*5i*uD-H>F z-y2{223t4IkeW-jj1@l~11?|@+LW-xrqi%lvr&K1DjDxH2;>K8K(#XCx~rc9u$CL| z_#_g3<9in^YgO$n!5;f(uJA?_tfxuX?Ol8Z)yo`1J96NJ?D&GjFr^;Hf7}sSEL?_} zJnA^%AfAZEF>QlyDt8DA!XtuIz#m^IMEp}h6hrH9KLS?8sc0(Yk0A3i(C6=KH?u4( z#u+Vg4am``bp;77RVN$NDz8qGU=TmEkwLK%_gpI8LBV$PnCiKSW9h*glxqHaexNCQ zY;$VJdWd~`@kKQQ{@7r0w)eK}O%TpzEY`iF(B?ZovV z@b-w?ct}|b4f|=vjxmq|ymc6;Qze0&Ta@4KhV#R@1F*ng$%2MBaOdwhht#v1z-XQS>QdYpUM2_BnT` zN}%okRZ?~CJ!kK;r?vN9YwfkZh1sMmC8|o7kP}t^R*-P|P*JVA0~mc0+7W<{z-KUiO{_!yn@7O< zSy?WdoyjCT5T3*HO{})5iN`Dyv~b0!t*Ld_09$WHYw*DQS^J8X9o62YeLySSgngx^ z#vSr{XA)sgA`$*^g58<8Kk-CD`dES`s?G2W76nZUYca$LL($;PReN)u>adAvz&6et zCENrL!Z?6L5Y%YqsQUq!dp{XQe{w*x=BECd{)ATRuI|tFXZphfp#jf;d%$qmI$#}{2nn#430UF6wh(93FvJq-Sd0AC`x~BU5G%9U zSw5UkWZ0g}LHL)3tLy4i14E2yb*|c-gYjCxI%+*+z1OO7Sq)m3);ep@V*4zyG|c7P z_knu6CmtBi41f<2L7pTqc8nP%@dKLOrBK=`gvI`=bpE33Sfo~niifV0U5wQAO_ z4rYDbSZ<64vuZ3mmKmetBhR=S>PaiiG8N;)%MK>DKAfI@p=2D%{xFAVwC`bqNWzus z0gJ8Ya$~vF3b8PjwCF*e#07&(223PeVvw;p6m1b}wpXs$T=pl~BIZ8Oe*RN`f-Pbc z@)`NJt`inyhr5Ttiz(a9yxpv+hE-Fb_^#WpoowXa#XeVw?jeO>!dJcJ;@x&x2+*(dye31#4_15hXJjvt7N@lzWt z)?xcld`L75t%oD*+O@6~!)$o`NFOjMTFbjP53!-LK5~Sev!1kyyR8STB83g!1cfcB zgA^SQM6c;LI&gwT%pzG|bEa5zf5j}sRJ;JWN>wi+oMKVrA}Jp~3d-2~y2R>naQGgP z6`?WtQ=Mhw9aEPNwP?|22V2X{QFErYJ-%UkvSU@v`}xq;k2XfNmkYgUj@rx)C!&Qp zY^D<5+G@nlBzw~-;XmZjOl3=@=&594C2Og`u(B@%S!0l;gY2_`hu~!yI8H*?u7Efg zU@ZaW4x|IXs9|1r#@*tUBsW`UXTx>|Kb4=!Q=knWH&|_!m|~(DkNL{F%DUFA9Z>94 zTNFFhbt_lZ*=ysqqM>%JseAr`PS)8e)HTlMV%RY%Y8|<$l`G~~70gwe-cSdWgn=ak zO7V)xY8A?2K9(gT$UheTxR=U|Q7xoBN#da}AnVa3+G#sj4w(pOW}K#V*EHZ`x9|b7y+}+Ogn= zanBt=qn7JhTAJmxXi5b?a9}`8E{jpIBQ#9()S#vrmj*kBK1y(++f9yu{ zQL}h8ID+tO^znFXEIJk$2fBZF+%e}J*TGy$+1b_hQwNZmxlteygBzf4!)9FUiRohN zUmyh<`lXJ0;pUMH0BXSfZJ|iZLl}U?Ro8lF)0YCheXY*xeJ~#n`kPyte8ZbFzOMd( z7=*&7t!g&Tt2p^n^(5((1 z@7c0_5a-SQWFQuvi9VW+^+)?71F2*jgAk8Xw+%QEUayD^p|C=AZ$Jxkj@;!r{hV)n zqY=0dyjx0PA@*~wrm$V^SI)*>fVRd#U=hOp{2i6J$RCsyyHVXPNiKn$4Ex!>_<-E* zDFJ}EA=EcC6d#p$?vzK_XUZm5kA#Y74>eoXjzvCua^VaJ@3ngsI)j`KnF(H(zm@MW z7?|X8dmRW=s)1!lGyH9s2D8cM6Li#zT2r$IceG$8HHw$S--77u&FC=jD<-?gWcQi? zR&P(80<@suPeenrkz|L7{kw@hU}7IK-D3KzNy?eJOrmn|D4IZv;7xo1kg3U}35`3( z?c=1#C6dgunRPF}ah5u^j^G9Hv)^$Zu4;{MyjKUq;o-e{_*L{Uh%?{2@aQ5|qXcJz z=oCypStqmFj21;QLsfQhqhCMD zY4u;_ty^q|ZKBoT5mwDxfi3ex3;Usgozy*|6U_m)u*#e;yG9M>fVl!E)#M9qiX~Ig zluFSl1Co3fF@Lmzb|#wgM5C!n993b=0^s(6pY=0PfUv6GG-=vll1ydMurn|N`0+>6 zseaD`;U~jqASrpj35!L)~0cVX}eCfkuZQdq20!6 zXEqbBEn#{KWl{E(D9c5e5q|~t&%*x}{vb%Fh3^O=;a`eT974AD90_w21 z8&q6&w2Wa0pq#YK+O4j~(=kN;4Fq)2F}u&JEVMT<0 zkw1GVz&JU6$I9ldOeIAFdsxT*20H{%BGDlfl#EkiAdK*WDkZ)WVLytnuSJ*_xxfT(=BUcGAM@;;-pMAv0-qo>9T6V3OwVGL_nO$pQ6(;t3Bijq>0Ffc` z`cLGo9{;GW%+J2!UrvYz1m;Ii&AKp6UH$;4L7#RvEcpR0J8Oeu(AYHs^9k6{nLv6& z(dE+l$Lw>?Wn{?X1#+Q)I_-^%XLy(8r!3Lk{zgnuf#{EZ6z+d1o#iQPeV)Q-C%)~? z;wGIZFTN4OwD`w`J(~7p=%$_rZP|rkxm?iCFwKmXJ?gZYW-O072t5mSX91R$ zb`V$x%Bn-d&G{}>)%1PxDTifFr!&~#9Ay}XF-%(oZtUWL|j-KcmJZM6!0 zavA(@5I>7!+90B&;(ue~{x_DnB_24uqZOWx&VJvZUM}^)0UEF3h4bcZO5@ACG3zp zQqkFP7*VOOC8KK{WcpKO@!90#Y1mf_2c+91(T?Cok`#%~CCB39k#RdAR?OSX&^K}? z8%3XrbxYCtQWK#}CBsT`6kduT*tS&b$Vr0z+Bpziu6Oh{dlj#y2CeB5t)uGdMDc${ z#UBClp#|qF|0%DUuVM#=*nvTIBFFIga1}cUBZHG(DR7{*|KTV*8D+PDGw3~Fdl;_Y zX4@WUlMdAEu7Po6i>;={*3z2Nt{AbeV1D@Mk%{hBNLD(0KJrKx6S^E-VpmsM2uKX! zo}?p>Kn3{-+^C25U>7;qKi7Y=*T88H-{fh zvrTEnO{oz5ht_%+aiiymBpUHa`9LItJK#6+9v$4&5{E^Iv%rmGpb{x)JFuma-2#CW z`26|sx_Ng`K&V4*E1E^~<3er}?T2v#M8#Ccw!zF*n=Mvv!EC5$kBRTB}AH!{Qc`wQOY1(2XDWWUpv$+clo67`mdN zae8H|IhOGo*=pvllxwBND~@lZpuA4=!oFl@b#VIXj*V$;x(#dx_Ryxq8xiBp1AD`M z;eW_iYrC1bl?BV0Hp!$Y+pRsI70Zt4Ed6QN_DRCAPzIJn{?JAu)Q)(lE+pDJn4wnJ zAL{4`_3LW2g9Da(?Q9He`Fw9S-WnIRaWC{y^A8xGG@da^_rZLGENe12!ZaG2`+Fz- zBhqf^9-QUPAFMoCDONU5)!urrjyd3ChSd{;fU{|CJ&hrOHVLD|qnQ;T1PMh5chrHQ zkP&UgHS&mgUA<!dR`4 ztFiWp)>(EZ1CTXfwr6Gycfz+7(@8b8v`B{yv=5s2mH;n8GM&J>3|{9VOjTZTe4oz8 zNCe^AV7f)j{AkP8Z9gKc$6sUj;~<*g=@$2KKSl0~shLHY|HR?P@oyq9iuHY}yz9P+T*WIssLMI7WPE~(8uW?ML zlO&B|_5h~3j<^|YRrxMiW~WqYrNmFBz;fx)3e|oG95Z_>yQhA-es@+e+;L_zNdzyx zYhmHK7r%8KV|Q}1or>Kz>}#MpscnRR*KP6|v(0R<0XEKK2R>|IpZ$LO6L!h&_RR)dUa#MC&W5c%c>st>EocP46 z z1)WFGg(3uxDIOBocJv1RYjm^57RRtd^gEc>VK;h>4){KL>_&&(yxn-e@d-=}EEp=E z6-Lav3A5%_ozaM6PVO?rZ9bJje0_TQ?9zj3Frfj*#j|u?H2o4ET5gGjqXW7F;#Zps zvQ&FP!itPBO>M5e>BRJjnd&XcCF6SYPj?NSK0UPS&Dn+z-f&Gt#Wgp4kdLb$^KuUJ zGR&@!BXSh(BygIYg9kcY+q}SgW95!b4uY5G2t|4raS&1wuJ6k2NFxRChZ*n(eRG?W zA+oXG;dGh(jvzptTxP*;beptplYk)VX4j0{gamwd{3PCT!p%PFW;eLmRyUh)vmUbJ z&bdVsHcda_Q><|8am)dS1%V5Y`aYPn;pU9r;qg2C4&1rb&pza5yZr15KO6M3PCw9Z z{6T*uU^f7W6@37(@kgU~MPX{RFDlMqVOP1qNN~{I@9KB-+d1#;FVS$S=6{gt;S%Y1 z4a)#LBk3o{10_Sq=f>LHL{532KCweywX<)-@ezw(ryvY)qO^0=d z4gG>84>gFL2p~ws?OVZ~D*z61WEQaDP2#^2=-^B2XMdl^9Rzg!#b1lN@@4PiGKx|* zWU*PRd3IUZW2QOX99*R>c~|ZCE*qTy_McE;NZ~1VlGFAb?1Q&)zisSMs~0{)p4)_h zzXDdI6!&hc+-{G<<<>Ui0QRBF?TXHXxv4%v0=UAia6IM)`l0WHPc--f^vCCl^jif8S#ph0tYP+O9o)kO*f~VteC{~my$=Y_UVC`V4CiOd zO2q+PRSR%K6KLru)H7t;5;ycxKXgUfUFM4pPT&%6baIDY;*U-^lNG$r_sQUZfk$pe z2vLvz!#b}Hoeo%Xbh%v@4(sevJXRNHdQ!9*j`%!|!|oGqDDDIF$8C%B+XgILEr5Lz z^=&!}4dnFM0*_CeBnJ$_pI7q3pdJ$wp9C;U+W%`Mf}=Ets*@AhF8j`%_O9%NytdW_ zILfk)ilFwRH;YD%0!XQW8Rx8~T;AOJZG~>jK}6*D9~O?tD=Pz!1w>^S{v1}cZXMxB z+fBAvvn32Z!t!`D7ww9Q7%q{Igh_jlqL|I!h=s~!SI5K}hO)-Y71<=UG&P+iYp%20 zstwC7DI72B0Ctr~3jbD9rizc-Ar@e5;e#cuFgT9^gRm=G{}#%sdAU;vo+?u`yM zignT9@%4KKjGS4ax^j6{IdFtfrASm577pzd6FK_3;ypk*i?4d7YF6!P_wI0%%MInL zT+q~fU27^E*w*#(%enq4oV_jFi;5^dSBh_z0LVnhIQGR~NoL5XbwDgVCwIcOr?QI12wr!L}Jf>5=mCw(>pY2g~QmwdKQG3@i(FSvqnB zn3=t{LpE`fja6WO0n{MIfz)gGEpVBQN*J@_z?h0#!Uf3S@Tf&`kUA1q-A0mWkJ?xN^ znH*s3n4z3-1nCTwV{pUk;$1n0J0gumG9}|yP7qPNb(#&2OEz8 zlknZI5H{g48%G|*M_k{QlN5qjuxOi-vH6V6);JfEjfSIw@IdHE3LoN5WvCR`|E|hR z)ez!j&Agl3xq;`W7|7Nk(rpL?N!%p{;f>c3?t_AQU@l#FAxDEie2D^~n&VJ>YM1jK zCsWZVODYa8;3{a@&a^@TMfd-8vc24=5yu!?WvK33Rk?RRTlfpzx{VEkPOEc6YyXb^ zB-_RMI}!~^kMv882eO7Ogl@JQMyzdXTf?{9YA|b!lN+3d)kaTtaO=nVrh*mCWQ}FV zUQ9IJDD;4v86+C-Vh`4^&(^RH*RbQ&?8DWpt(pZmjl)X-G)`E62ImZvdUeFr2~7tK z#>VoxxjM1#vA!No>}xr(XEp)6GoFftdo!7)!*U$D_Ly)Khjk$KcGiBRysE8gPu0Py zxhieduzgS^cer{=N1X3P@}##SOF#(p?@#qFz$AeyW8RPUl~wt_Mg6HpIdi4FT~3Mr z4f3~{*yB%`J2&l<|D-9v=fFNb2dbeV`^9_AfvQXA0HUiZbD(0DAgt@MQZ^f|Ii}8t z;HfsbZAaUUZFjY4Xco|X2p?-v=R?b~`B0|Lht}*$Wk$3tpAi+MQ=*=xM165eTskNC z89>RTz?|S?L<+J0&dg9o?N6B-j-j*97^cfH>S#QzO=@&Lo z-HhJi(ZhV5hD~1qfI5AGmz6N!bK(Gy3%K-12nO^zj%47b#7@F`bv{-DX@Vih1iikR z3br@^c54w>g-|(@d$hW0pdxb^cJY-1(ZeTv_rYgk5XRH_^AafBFd?BW=k^7#PjMmy z0#E?CivUI!aILT9AjeTu2|8WOpD*Ue9mIjhm*T$yJk+@In~aGuD0GWG%Pp zy!IWq!Mlf$h#jj@j}CEa+mK-Dp@4fauiDtI#g8MJ+UI8GwSbiEb!< zWS2$$+w6>Hy^71zhRcEg!q;gcd&H2Cea zDnRMuVQ|P!@2varkZ;c6a0SLZW3F+d1(-qn5Q`?1Qe(0S<1$O5VonMzP;yC)d*Foy zaR7!hI591)a+IH)melrl3fiB#b`Of*M!))T-qvNNxnO5A@OL$wG61NaK^1$K^Z>9e zgGc%7FgU$4?neW@!>FsL-!&i|whb5!YWI>IU!i+R>;*O-m>Fl&#S1`hrY5M7cNkRvG74AD}~*IqM&Ix^xnkgkxSGa7vKHV`HvOh_b{&p z7YC)AL94B7=(JD^S>-BkaCCR=!?oh?YS?v^e_knmse(O%)43?y6l6v(o437d6R)+g z-@%6oez@ZA4KV!rnL)hI@R&iIH?V7Awl6XLJE-p4kPYWW<{hw-0$qKgVy`ZSG_^D@<~0T&$0#S z9>V7%j(&2)#4$a12)@IDfN7qo&h@13%)OesND6&m?>D}PRD^$X0a!|;wZZuFv{7pG&!&97 z`*Dz6oqHcN*aq+{CsX6m$OJ*cX5SwYwz~Q~Az^6+xdas!>WKhE!x&$3IcNuut zVkhI22|NMpN-xEU#mSvPDqVJ_-WM~r>4P`j)LOD6ErX8*|Gu2h2R9_%NqjzhOgWz~ ze1h}&3dTKQ@C@NTFnC6BL4GCuNAl@~#zxj;!z7-KxWaGcajxQ}x^=@>t|{44$) z7}SWxMA))_pO-rjqle0`P|M%R-=|=SQ~6Xd$|uYq$c*iXi#7*YJ_gOn>vB~Vv1nIi z9S|%+6%ZRjbgC4rr$6l^f&}X^A%h9X22i8C%hf1cG=N~j4nrQm?;kjR_Yw`&O(hzt)*ZL3+B(0r=F4ANqL31WR^WdTK7R6qo-G#g8Afwj>w!R2-vgj1RDu|tM=gQ$eFF`O!M+2?)X zTc5Ce6G+z-+?K56=ocz3RQd!oEgc{l6pnAe1vIV5#z?Qo#=>!c%@k#0 zq!+ntjQ1!s&SUw}`^6uq?;qsp6+CuI|2yUVIpzI9(72Z7j0jgZV5wbPT*00o{9Wi58}t`P*PJ6R!IlA*3^a~z$km{sOOa%L)3-{u@VahQU-v2lOBq*Qf*bS4 z%_~=KW;aibj7*iZm-i>Nm*{0#|46stKKkc6B|VL2BTs)pP2bD=Q^6HQe@a#*J&;+5 zzLeOhG`?^0^tTHKczOjF4dbieq6xQ?nNlG=(U+3`_>%NAUK~eFIKCwPL;3XV8bqll z`sME@JT@ggyXGq8{dC5Zo?gLeruyq~AMNeI1$#H_QF#niqmY#W-K^8h zNU+5;F@(3$aKjs7WH?&M#S1Uy!>KAKc@$C=CwB!y8^l#5-Nim0JA=PZFavg6oHaad z5^#PAz~OO?Vo6GrfCECspPN9eU{OP%G;oZ@D3}HeYQRrWfAKh1ygmP0ZO_}hJ;132 z9xt`Wtls}7t{U1iHI499bi@0*2{B&&R{k)oZuS7+S;tzQtTX1Y)X~?$+P+!) zy;`w$Uu+fx?zY28$jmf4Jvz-{)|(wOg5D$O9f(#jkG;$}<2K_wsQt+{*4APS27{Hr zhHEh9g1Jh>&e5fP>1~Q1?O4brhmc6l!eSF9+7MW#c?62Qy9HM~af@~+ zR?bhKh37bgFkCnTm;}Q|Cq^)HhxmTUTq%KH)xzmobb4C52jrg6)=kw{?br~TW-o>7 z2g=I_>cjc#cw19b8~rZ)oULE@VrKg4y*oD~F1{{4*Eo0Q?Jc4nfe>{$nB;{UM{>Cp z4dHOZid@IQKu6oq(9eMliS=!PX{5JcTI>=&#OWuq_-oOI{_X+q*JScX!v)^FzrgFZf;ee}ZO=Z_qgU{G}rN2L0&9n<&cJz%# z>ktqsRC`VRz(xSWwoLm+YclLpgTZ*HJY;nnr>wSQ^I$R_81z>9gM-0jU8~MyHH-(H z(fZz0HazI73{fZu%rS6ZqLu3aJ|%DP8_Er$UsJ9TvCZ4;7K2t}GzSX?b$ZbZ7r$A{ zofe#90qn{b=jZq~s}T-H2!3VId)%5QaKzzqYIQonJivT;Lp$vHO>_#|*oZD{Bxe^y zJSICc2ri9{7aQTQ1+%zwxa)XXfuuuc!V=Hh=GXJzbc?>cjsLD)d#Xa9Ic4BnwJ#O|b|&fFPw0 zeUfRl+hI^BZ4mm-0n*8Fv5{ZMTDw@ioa4ePfbSzuAU?rSMOykGU*nf!jPO8EIe5~N zW;q{Ag}t!w?v-otQ@*|O);lU!?HlgAGFxqEsbAR=3D@>Kwc@(#R_q>S<0k!e*LJLF z^zDWxFI)J%E#6X|ZHxi~7Bo{OZbiJTpK;ucguxns8=%>wk!+G#bH?g8!Pv+INl|3yJ<~Fg%GzJ zJktN-YdobtPT$$*lr$1BzT8Gvp;B?mPkv%th9`HzZ4_qGOJa3{i2=W7i_5;chLuO>4KSk(z z!&yStYunrM!M}aVPOQV)xb0s!(oJp(Hzzd2!|yY;($X^M8(%$I_JP|L;bdChNy|OWw`On ze!tMlzPnJ(&M%}|*-Zk@{EZKu$PfPC@fUG>xkgejFd(l@p-+ zRC>TaWXc#QVdh8xcCiqyy)-Ahz9FnI+!z7sF?=Ai1b$FQ(&aRQt4v?SFFw5meHad; z=bU**0FF|mpLxPDzvSy|7z`fc*TE8E(xJScCI z4{U8~+j>CWmVfk6xMfvi!5}6E*%J z%65##h`p^;B+RZ})$^v41CfVqt3M{x|-kd+!7Z(M)JY zKfccGnm#FS{ap4`R{VIDRc5z<|4V(=^pHtBZem%}Mw4i=?MtyhitVs57^I|ZDO=8c zz!C@PKGskcJz&o$}9uMKrpZ+AO()>MmfYE!byf3me=9@fQzFS zUce&z0;VtN?eRk=fXW{%FnN3kpl`J(5q%Wzm>3X?lQ6bcqF2t#2e!2M%4+?0F8ns$ zR^dm;jmE~coe6(MYhvNIclv9~d@Wl(EWViAaPzvljpIGOwL`()@hz=g+xkpn!El#e^A!KRR73pZKv>M%UpS7mP9bDbowWT|r8QxV@*@pnh zE%C`K9c3M&TW2(D7oLiyy+&zuIN(lJj9%5%cg;w4p($($ClPzbxa-P_;U=JeQd=p; zR6WO5ZWlg(T4+%y7iJ)D%SKvA5(rlcZ<}{zJCuc$KqjfDt-SsiECb$^Yl+$|8Jc~W zW1dr;LMLkn4%*`#(ZqbP;?}AvyImg%jyF-3rg<_|r*OM;{R(z?{TkTT_3`bOPz8f^ zun-`xMvw+SzqJ(bpY*;sgd)io#+-t$pWqnues`hwmQ)O4inHk>ERoU;c_cSHDYr@l4=?$@#a$i?xx;}0@E&i}^Lti@B zFj`-;!E4U7%gN47ol%c@qdDLzYs;+MveF)_i8TxW(>n=zc0qPOkNqx zxgB(h>>hQCA)NEOL#AWq2x4J{;uNVg92#>^xF*1U;IIPew2mn=d^{C!qrS5Qo5}fm z$VarD(dh&Nxe?SfHdxwcq51at(~wF(VojyuW`8adF;1J(O~W+~!)A>?o+;13k+kfZ zn?Br>yLR8chQ^!k`1Hue&7FUC{LenT8y2ISuK$l1!dN?nUifLvSNT}P$407{*3V#_ zHRxl_KBo7vShOC%NJpKl8OJ=Xs%mF-)vU|uaXG78uIkP$)@$J%d941FTyZP`oR8fS zoeN3F?49vWvGY{lM#FBy!-!}x-!c_T&%<3W8d&p4H9Js!Pqk>OX4L?MYjbUKksBs( z9T6xK<`A^b(bOk5E!D-6b|8+}PPSdk@Y*>n0)%#M%ZP0F0XqU$3+nGj`4MeD;sxY>#o@pZm5VGz1l#kI$%x5y-hXc6P;-V z(7h)XuIp#t@!T*`HrN!4)c0p=2J6#3;ojWHh{0@yuP$)RB#Yl225e5-(B_`HE5~Z8 zMt8Kg$D*IK&|z#gkDfI-jnX(#@Oig+F{@ z?IAF8m{_QjYkI$;1-tLCQ)xHbDB;U|giJO~-l2%<^cgq6x zm2rbj8_iaGTE{)HtZU1a{_2$HM6|UgX$Ts#&4cA-tL3W3N^{U>1G19n)fx<%H6k2u z(%C@Nfrwo0WMG}aV$rOEU}>T#pPH|7&f_@ddAJeYhWDJ73N4>{+ZA|j0|h}1!&#_x3cHO8Q}sxn^1U~mvvy$SIO z<}DhDj1B6rmtmzUI(Bk?nOq1lbFocxI|+p}3xBnMwZtg})+uge2(3Ih3)r+owf-1m z--){>HCBtUqrYji&ey%+%J>C#jSuiLjd5qHHM@1ZCA%UN)Ca;bYbs(kCRJfpTS75W94TsWW5D9U`R#8Zm_&bwHIo!yeY6VJ(;*}xEIl5rV9~crrGZe zE*>l<&AvksVnj*97RJEMw=KRcLQx0(Ae~C>mIrbE{D_Yof+11nnD$ieAaFm*j;Wqn zr>e^4g28yXr_Hkm)INWYiH$;QGF1_8CtpzbAgw?%*YI-^a=zs@pelWn^~c3C+})1T zbzW>!wpDa|GA6mnmKM$|tfptWCmzS2-mP@q+FRaU<`ftH7ju=hSCqGvxsXJ3m$gZT zwmqM@a_gt}w6*Q|^wujsv#0H1XT|v5{{Fq=72=1o!&mk6Ts54fzF)ogj_`Zz4dm}= zF@W@}4u~&S89_nM$X5sX{-IMrYXl<6nDuq14evUp)0YAfcbXn`fhOPc$BdA>y;( z30C664@n@W8*&N-M5DTRncJfVp-e~piShWj8?It&%qk{HT_4;C$f$(xcrP`QoLPqr zelAD$fCvZ71xnUr9eQDw8 z+qS)-^e>-B6w~o8{+;?4CPDbVh0n7_tWn=XfA}D&v zS@$s>Vb$s87Lg{>c8T&*ysMtLl>4KFW2#GI{zj@xW zfv-pz+6s#c5;jZBi=u})2hk@_=a^X73Vf`xRxWp{%T)Wo)mI~oi8qpq*;Cz9b@jsl z`s&D*H6`r9TvuwOConA6uH0zwCu?G*3zzfi>D)kF%wSAaH-;L<8-q3g;@J?3IGCu7 z+gDqXJ@vit-vw=}@fXn7h_9;9I>pC>Y`%!T7lm=~t_iGhE@-I^%4>kzVF3EUZUCEz zY;%}42$=PsN=r!u+)Qnbu`#Hn=FO9ui4*So+~P;v>{{??BfgEWUY-AQiGuBYL}J%s z=QxQ;Oee7DGg?^aLM9~&mN^zh>Pmk0x@}qu1{AU{XH2;QvAn>If+)SLp?b_a9qm}# zdhpK@JzM@EJ`k;Gi0w{GrB-*Ic#Ril+3@w=i;BNbQfT6-mmZvtKY z4flK43yd6TgCv$o&5}50V4PysqpjLwXzF?*CYvvoYs;*F)NyRHZ?8{OHO;50;;H%Y zK$I}{H zyFQTXm@@bixkzEWqfw(J*Sof*{pyv~7V8?5<=Rcnec0Uj_|f=oz&c5>DyQYHFUHuP z$Jl&~ZHdtchWy7|f}_%2$r8slk)L+l1Rc<+3fCyMi8<$-ee7h0jlcp)J?q4VjG-#D z?zPteQLYTrw2B0*o^?X+830XPh&S`90Wl9XN22X!R$fhYQ%gpyH<(n-@cGOut0@?Q}+w z2w|~Eo`njB+uFuHWvleG43yh$XZJi|^duqYnM6q+ZeG*;_UhHYEN_Zh0OyN3jROPz z9n{GybjlgqELSBt9`{oOWS<=|Xg8Vn5W{#_I6>M#9MGdO;AOzxsM|m7{#w%a&|bt% zjOl|-WQqQD^{(lj?(UvxSN%G3dH?!qmRtD$Hjj;MX0e6uSFi6c$DZGWIr=@&u?OCc zWx{^hpFIVaW~imS#}LdOsu4%XGYf<)>_X4dZTcYl=t1n5x`mv|cqYQhdBXB|TXsT! zveG@33e5vo5FgFNtz3MuFL#CqIVNr;mwO#2B(Fnud<#`qV*uyHMlV5UltbT7unzFW zW9tV#Fi}~z>B!2dBO9vk{`m90`mv_nTNhG0@pJk~ZRPOxuD;zP+3d*fz5|~yJ;}aN zG1!#QE_}?idvfv`GdpIwwy-Z;;QIm@;84G>5dRK68Wz^dF(K-JBV_b(U>_h-h%Mxs z^*kO4k9onm&Rby8uQZ)L$S~uFmH(7=LP0vr@pkc{c>NVL>cU&Z8!*%#${rd9#s2|= zL(W=G_SCxR>G;6zktZq-oj5{5Z+2FjCfWkq-yH-hLm;`tR1HD*BY6cxm zrra6$8{|L`O)vK;nx;m42Vv0V_34WpaEQaFx70hzzDO&1QTu{G9@roGc_UY=L9eNV zb|NrY;wQzPwspW1ZL3+?9{0vlwsrbw)YsWjk@HAfB~PxRqth3S>epG*F>kzmrKzF1 zx*^hc)oA^u(Kct)T-QHUvuaR0Loo%C=>Jf@3Li?R^mh&R) z49Y-KI_an15(M9AAqcIn$2*FXk26nOETdqCu*@O-;+xnMH$az{6)O4!rk8%Ycs*#* zFWW70AUtZ3oo@Uwn<)p+lF#!5&yySaZ{!jF!1Giu&7+}mG*pgec{#s83lgv;$U>)v za)jfH|0w(g>gE7@tP2Qi5@Ej90L@_y>edXUB(EFnLH?bW(-Cdf*YTWBb~;BvYiDGm!!hcE`=0X6W-{TM!7%ESovu+BzMXj* zcT^^mdJ1E~_4>U2;7zFh!oEWN-5HH#Qq)A(FpYCb{V^WDrg})v0Us?t9`VycJ&mAm zv|eojT}zul<#8RPWEZp2SNPb!iDkthn?-$Hjn9nEszpJ~NXK;wJRNNRK_hSC7y{{l z5Zzgwo&?;HnvTnZJl)robcoGK>0F_Jpr2%7P)&#RK=?gR2Y)4c-zh3ezIm304# z_r_!|$x9U}q?B~oHKHzrms1Y4;&?w_WBL2fp+0))O+db?C3JO|nkJc}lS;rnCVW!t zVon8-D z9pHHhRsr_X)4+Og<1LFrL$%_UpLcu*&Kd8B1MHY&K^{BywW-r^4mu-OqfS=6L}x9i zHqI0UCc3Gj?qI|OUwR2~pA6C((zY;%Q1{XqFgDw!&oIZUFXqk%UkrSoSN!~om}gXL ze=5t>cH{w@Ecwh#dz-i1>W|0$_+9vpFOl%!gZMA^$4}iK3kGAQzs31u1r6}|qqzqr zi=bl>8;!B1oll`&-sy$8R!n>DMm6n!$i{|Vp0;Lb+QPilJa~v`UJ}2y_>OF?=|f^k zkk^Pp4^aRSZsGmKJWoP&RPy{lwl);=P$8Gkqt`qHTT4#GlIW|UI!QubX)%{8=c&@V z@rEdwE-hz&p`X40hc2aVzmlyh2dJQyq0)j1?J4GY`aSZLmZR)tFJbQTy-ah@nbX2m z&jsbO4ByC}2}hNy&&RK_(diit(k4RN+%wtorPo+Y`R-M=!Drk7{{3k)-wtW+aVJuB z?OtB?xd%=QxBjVR%SIf|2jz@f&xl%2zh9|=E2LaKs4msi?oh54yK*&I_%*-0Q`PWO zs2$(uet<)7t@v&1+hsu8)M+04)@k9wb5+zgRrF5u4Zosq=qlULH&wiE-n0AM`R=Qe z1A);x8Ck)SalV0HT`vAz1}+kwTCM6g^j{rqguJ-2tkMKr`S+08R9yLYcfRwz%6Gg< z=>og*9ik2AQE<)grAq5dx`2Nq_J#J7*RWr{qx8cb>W3%4ewvN`zx4xk6(^%QIh9fy znMk0K!JyJ1e)JA?3@C}NvXOd527AEoB6fvx7kpN+W9plfhT_UQf(V4(fh+%>NGjiP zRXQ%Bd=EvG?>>cEpTU(s_bN3146gjUOYK-(`FDd#Te$M?W-EW+)3{!yV~c&PP?_4r z=wHy8cvk7(Uh3b6zJ6L*|Nqp#U(I(fTVB@dDC=iRSy=6Knx|eq&Bypv+`m)O<#}4o z7yj~YLHCT5Y*>S%SJaW7-zVv4E|{o}PcMD0@;kIvbACs24{Xhek1=%)bAD%n7HX_f z3SU%AcWzSUWBw=`dnb5OWz#LBrS(~P=YyM7e!g}FXPiR4`FTQ+;2rE)kcKR)ccn4RH071_DcGE0qWRp5MNSwe?hOgXK_1t zt;Izehtm7!7H{D9Y0YtCe9CdUauL&yuR2P4Nu%Be&yM>~K2Pr<+PSFSC+lWTJ!<-Z zavuOQ>PVxH6n>NXpYxlVd-f{hqzj}uzgek{)ADrZu2RS8_p%X4&BU4pC@Jl4%XnDL zgC9`)P#dU1N>R)qwt7WzoR+755`3M)pS~qqBgHIKKz^K-=AnJ}4z!AoR3^PuB3#^q<{Ky>5K2@WA!+vgHSh#*vrQ-cL^pAOpxiH|1)9@R7;~B|1fS$If>{sRx%56} zJKEdJWe}nrE>~#oc}b;-H)W&6&t;Hko+j#+r9F2>P5UZ@yeLmg;s=*kehAs4z9`#h z9{hHm9&lD-iE())4zVLrq=&_SKpuTbo+ls6=XqYX0%4nE9LiH7;}E9|8Hd&rrT!27 zEI+;$s*$LPl@x-0SYEHEO6$cNp=2p3WAQ&xhDIV9Qp)&3sqB?YQZXJJ5-e%U@;pz! zN1oDhFz#ynq!#6152&q)ke;rZu9iUL_*X^YZjhLVQ(t?0=K3WyLI1KzmQRrVN3wDJ}xIr4?jnhyQSkNDU&nwG2+xWAy>uciBiu>}U! z*ZG(<3P0!b7@R8Y0l5Dq^*&C`ihBm`nwI7P)>={0)kEp9CDTR;K(md#aLcMqklpOg&3T4oI zSNi4)1)WAqj!KBtl$3Cp^iN+deewOAPdLrTyc;zsjyd=TX_}8!H{;${DnCH?Kc(J> zEoOcU`I^3h&(Ch*cl^FG4;38^B?K&QSXD}UP3z!pdHi)T)mFV2Ivn?Q>&HxH_?5P38iS4yYwd(U65zVqK?V>rlp+))0V3jbM5dv=HN&fro#?c%$f@1b{OoY)mKlKA6hCSJ`ih zY0o0OE@reCyqrFkm#?f{&tF$;f6&j@>jICjtcz4vCGFX5YWtVzVwE{h>6AJ0yl?@O z#McP)YIi4JBe?P#w+nNsnEtHrFL*%fPjIOYmeb0RI7U1J(Up)T-62-2yM;&bE%vM^ z^sa%?%rBl>Jw+sjqpN4RLNV8je=1!r%@2KIA%6t6gb6&X!oG(=2*~#^&0#uLBa?K+xQ_WB=DRYDBP<#(`jwSDb^$;m3Yu0G+map)) z&HY8ho?kA}gsNIi^*sih zpMI9_o6u_#tw67-m;O$KHx(a;<0?UjzevwNuRJ$Vep-9!`4^P@kbQ@MlS*?1Ya5H4Br}x? z{R&^UJRjtKHDBbb`D`F;*%&QR0;qki8rEGeI8S7|@=2c`KZdX)BG zs!Vu~{NN4$i~Oo`LCMc)?jomo(l3-N`UOsvngY$0KIig7$#bIlzXeT_K7e#jMXG;3 zpI`Gu_4zOO^E}l*lc#x&B1`5tms6m6>5GN@XO#S0b}Uf6^ez4zG_Cm{XgaTt$Z}2t zR4w6|5o~u-^JO{ryBw0DlWACB%6E91v5b%3dy1!yNp1{drDQk<)^Sx1wy$>lX5J>YLtyvPGu7l=Xd&cW~af@QyNC)3++`_}U_* zo=bV*_jnKIhYRm1txM)o_V_*C!TICMzC(K{yS(HbG#`}l;QaE^cU*rX?~}{0&+qXL z&OiT`?@-xk8P}X8iTY;}GSLA9wFR*kgYq{pPM7Jt`U7QzxEaZPn zeNO9paW??(qvq%H2KkBKF3t;O-e51#d`rzwe0OnPpx;!w-$iRZ=f8`y0s>*-`Kob_H{45z-@k!v9{quM-9zKTYGQ+7}h?-+7mM zpLhcJRw_J!$_*g>A=oAuvF`b>;$guPu2>ure!F;1fc>rPup|tQQP-@jJ!*3swN8)V zIRE-t*d>Hs4#9#j=Z7J2lUKE`>P8sTXN``aUGiE3xrCc->GOrGns!mNMyeB%6|sTo z{c3seSE`jw-;;hU{SqOb1bCj|xGpeC*RNV#qZXaZ=oIQ+W{%g-=5puH!9EV)?}*ft zwRN?S!v@AG_fuLU%p`7hcz>_eKC} z8)Nazjc_~3DyARC>VS-+?m!Bak*$HqXetxetw9(&!GcP?F@5Izne(}`sMo7!3Dyqq z0R(Jj|m4Se-!G6CPDnpiwTS6EqmG*qAQwTRh@imce;%hZb# zrIr@-8KG+8wQy3Xtn`bq+PH(S6)Imyb5`L|AoDVXL-Jvd%heKF__f7aHB zIA6r)De|bPJzo*ZtCYk?pUp%eEF*C~EuX8(`@wM{$JrgQki+})S>AXylT)%N?a`K`^6&V(glxvS@E37~;T-1W zUKrmvU}d}h88=+_IDNn($LV>+{1fxrW{JC=ctBQWm<4OSF5s0oJRYah0F#`T8!0p_ zqU6#AZgsDpKj(NOHx1*QTqy7cnG?}`Di9E893Ug*4o}Qn77qqe&S=K-ts9ze=CjI{ zDNL$Y9?yOr)kFQlsNb|&zul(=Cs8<6?rMMmmART-LoO-oVhG1*aJesEU$@)kayXqH z&->N)`{aYg&516paR#PE;nEtj*v-v1EU)tC$yiDh+ECwqX+Qe2Ot=E8Kp-B6^=d3G z)`=qIF2o6>{&n%*%s6RA>YP5r<_3&9oI5cs!?6J2!BS;k-!{!BC9M`%pZ1?Wx4)@w z`YZu^xZzA!x=7J7vUDWW2T?o=#fVvU!Xhl{_5 z?nldM`R`~>v7KjBEy?RRAEV-o^kNpa1t-wW7^+dw$I3MB~6{NK+)hR8vYG3MayAsbBIo}Z$ekhC-39?iW= z>c|ZgB~2A<4GTt!q(I?y#L6r%yL3WS?N!;%#qYx2lk`Q1!UJv;pAE zvr(=eacy+Lyv}v> zB_})O{96#6$82@{So=%uqE^z9*`3zRXScv-w{V%+eHK&uoCB~}(_}da+h;d<{lHTe zCU+Ffi6-}-d9o2_DiDm9nPZ-nG`aiiW!bDVmWcZ^Hh0|lWo2?NTYKcX?|Rrno@YJc zxaSI>(8FeEUn#Hn#ap(cjVG}yjD)fWBx$E zVN2LV0O|v`K`KN579?Uj?ur*EGr6ic}= zdtFw)!52kjn{Uyam44O_HdzSOy|hqon*WL}`QBoCxgoHmYlgjU!5FyE zUL7XhB%k};s5kM~*Q@hc@TOtvt(bW$XH`mCn)^I0cy6)_=cD9w@wD#Jxese;+Sj{< zPhy$j90Jxu@CV>ziu=7D&%cJ}v|hZ9x*XxUmL`7wuIN&h+v0Bds-CD>Zv{LII74i% zcqI;`VVX>qX>te;gLlH)E$Sm1-8$lE*ANC7EQ{+(Ome|2me}NS&Jn8ta4GTfm_ zr?xcj9Z>m2W>gtQ$#N=w|A&?{iM%bU{V;HB{}qjc?Xoz;OsI(@#AQpj$V7zP)JU)& zhE?+$Bs;)7nDZagZq(xHhbx|u40kopa@j@EgQ)s^pMARnin0+XXA5JLd$Hlr3Uy8J73s1YWoNYU)F+yopmFL76dmH%}2#wGWm++jpZ@~THe$ogR zAI@`1eUx5$?y4o}K`_qJ^wM)JRJUg646I6e)Qxmx9zJ#-#MnV5$Jo`#z9tIiDkW@A zvQDSq7?-t84|3E|tlw%q23MB-n{k;CA&sDu` z;W@Rx)K09}1Fz-tOQrT=#U4=fu9UyjZmie?XA1dC?Z=8e@X!1?+PB1xtk47O#Ctqf zdq90o{a-xqE^WWQP=4{;yP%&#`!Ry(AF6-p`FFAXKP%)fJqItg|DOu^OV7iL?T5Bb z>Hj6?;>GquTZiY={su+=hV$`a>+z-Vym(Gt7=H$39X(g+|GB(=NTD3u--v!8OutrW zAn3gRZh_aA@HYq>3OKLNDfc;{0&^aFQWkP(rEu}I5LOU_2*{5d|KOzglV|O4;fqkD zB7(e9ef)4f$bJ1d-T)G;(ivxb!GPc8%%$P<$-()^`IEvC@he_N_vJMF0%NI}vPy%a zN*_3E@cSK=m9fJKKvl|u^osBkaLKgCH8nJkeotUW1vV=%dMd^RwnMlPW@2ZAR|GAO z7wkY{!BIAl9&p(YI|x0F0}&AV6mU@X@6YYO2{GH?00VzqsCUl1^4i50Np@-CfGMg= zG2I};Yd6P60n}Wr1mvNlK270d^=Y6I0J8`Bpz^`#XisaUap7NBQX9;qyL{ArdUJZpKxc<#rT zWhDr<8Nj;0^%2ZJAp(#HP|Mo<3U&^Kc2=}@0MtpR&@==KY;7a3bqb5#hSmau$xXhI z09_)8R`FNuyKY%Iam%ibj$OA*th{Ac`^C?@BN4YJ8fACI9lmhX?TIYBl#FI$wI(wn z0h?-L*=VvM8A(JMvVL(yN{00&Ensvk%n`OXn3LYRpgrth7PsG`HR;1iX+-pA8zRo= zDMviybH$?Uiiulxc697SakuVjZ{KxmIO_3)!yZp`;g5b_)Z-1s|1Hzw>Gt=P8zN47 z#E2N{y{?{r>9%>&wc+eY2yhX0FFd9fPIa11l4SKld}pDN%1C|Mqh~b%pEDT@xFeV= z(Z&Cx`w;uMP|o%V!os((zd9KP)xX_5|1f{|ar1hO z;ctH5jx(MdU%&0#bDm)Y_KV^BsiB-8uQyQRbyjlk-(~-G@4-ofA0Iqp@XEn|F}QbD zpTV3d|4`CHk3Tfyp_LE)#Y4n!%8iakP3ph0KSw7GicX4N866bY%Z&?iXSoYqZx&}# zc>Q8l$9Vk)tRCR?4u3p+Ww_rv?D4RbVSc}m$su09zLWcUSwEk!eS)`o!W$F*YJxu@ zn;#$!p5RUx|7PlxndAR_k^`9A&G9o3NAEg+x@1Bz#ojhUYgfVXX7}p&WHO6bBnf*T9m=R;r zIqrD`>B>mP-`Qm&$MQEB1(eZ<5&U4LKjPuO@ovBPgz*D^I?&^HO{V;G;9CO&1N~(K z-H!)05Bz$dzj&ZKXP`THpu2tGfq~u|obEO-cAytLuwQ?7O8V|~6+e52Ey~&}g_2a7idwky?_C>Gmlgzc?NISg@D%_rV8)y+?!HwqQO}cjpJY4Z-f7V0T8a z%kSO?J3*71IP0Q!WZcjm%S@j+G+}Joq%;{~@`NcfSERYwY2Q!t9!;B&=0&EtZkk({ z)|Td#rX5QAD$W1zX@zOte@%09($=MU^V8fvNppY3&zAPsi)WFvn6wdTej01ltfa>d znYkz7NW!@U|2>YZns||e!1lS>*`e`CGiQ%oJl4y!2q$|`%)>Lck3BHffY#KT36%q`I^D=KRfw z{xehMd#QtmjTts&m_O{`fQM!d8#U&;$@}iTS(Z3rCVw9+dt?}Y2b{8phUo9?vZy%y zjiZJ{&g_%y1}8rvb!?~bM-r2si02&a@5e2-pHAu>6X!Z{?v#UZm*c#WIJYO(cjKbs z9*uh0<&p08$ODmHT;!<8 z)sdW4>4rq=+f46?^S=92|1ID9+IMgJ?i{{d_dfL9?LIGh;(RZ{kKu^7fx!{6<71zR z{b6ig>`!BN#rB!v3^MG zm{{*Z?9Ev3uVc5zei7@>id`M+O^Ve|NB7lFM@RH=r&jfG|E`aIMx(ipJG+m&y^q_s zj~m)&WtiJ1%$*n(@m(h>GAcf5c~nr=n^AuswKeK;RFE6>M3h$-)fVNw9p%o8%8BxV zqNYW8xl!*%?TI>)oe{L-R?p)oFy4$m;kl)rTgc<4U2>Ou zuduM|?PAF`m?^=@{FEOq{o$)Wd{swqat5b<^vY%j`p0*8@nbP|_5Q`4>piKNJ1m`e z{|?-TzJQ4~pZgnUg7FC{)voF$%xRVFflhu~UjCj^S{Fr9_N*^(05P zj7j0ZF`K*eWRTB7b8SjZ$`~R4%abW~hz$vTUlpbP{XcXkQbv9w*8PJ=5#XCz^N&CH zx1}d%1O&Q6e@C9|k%qHN$5;f?jmf7jNT?HYlq3JyFP1D_y6pb{F6W8({9y()(Ebn} zsPO&x|LL_q9WrFdyo83IKA$}xJi?ii#laWf%j!#-2_rcZ zgQGTV{>p5iEOE>h=4MoQf?*83@_KLp$W6M8$f>&>L{sR7` z^JlJ8w)&-&&p#2yKY!pn4PSI-Lyp*n-*v{jZs{ZGNl*0SUn8CVa3HTY9H*b_WrzOi z`qeKx&KMd^AoqXlgHn$@%JWYHET92x$>gh&v~9d z%ee9^zl55@-%k_IkA*nj<K)f)I{d6Jx9ZY zdpb)rDm}_3xDS3|ltU%;+spsqEq`zh9!Kx~{&1fAKiHfWmHr>yKKwtKmB;j)uwzr{ z5%*{150>SblQZR>m^7ld1ZA?_C+6{(gb{r>qaAPV>7%2Tdb|JlMz<>=MlH}ab!3i+XeR-K&GKj?dX1`dAwnN;^w9 zz*RWfm>l>&2&Y&$)i{}7YY28S_!I181v+6t;J-NR)D8SCJf$4Gvw;KfLf}`hR(E-I z#s<-!9%z6Yc*`H`Zwhq5ExOAuFcvCL|9uPZu=J%cgpC~Ehe?5YINF$EOf^0pxJ`UI ze?pu|d;t*ROy(?(5Z)I=Is9^apaY)e*)jxq$N_moj&N4s z1}so+$k_@{S-3*+US*&e)+!%l7VCAdcO}pS8!V>LVy;@sX65g-h}5VZ&Q>YZ1=-Mc z3*4go(Y9EqQqZ=-JCvJWtlaz(yQ|b<%7_W0z6W6vx(%bgVshXw;1sMAhWu|iVfet` z!&6F$5Bv&NpsO%y(FQLB_QE>d>ow{wq-ueikTwjdxC^Po_l;$wiKLVUn9iHyNOaf< zr|@1V(#f=#EHoBL>FwsiZPgtc#QhF_{#VaDcI%B2$2gnEOE2dHR zdRGJgmlK7>&%xQs2Os_yxB>k~`CF8aUtla$&i?xr-k}_*5xG$#-BoHaW#k!+#kGSi zDbNT<8Ua~*R{r=5x#2Tnp~}K@6yBk`{9@%p zn^nqEizy?YA=Ib~jy9$kQ;q3?BH}0EV?(gcO_)Ke8G>ETJ429=yO2<5x%@WFtMLw>wFccpXO4 zlO$m?ZTn0>8%fx%1twZd5+x?#+hQ`SxV&|>aH{cf`jaF^XL?Ec3ULZL*UkWiv+SzQ zHb}x=ZSYCsOyg6=xyJd%=Pl2LXe_?j!Itm0qAUSdAF>93##Mw*sq;z`Mk1-R0J(6!#Y6)Cji|TaWO< zC6D(o)*Ru*D}Qk^f?MGDSn=X=UezW3qOxeMmdWaFGkU> zn_y1hpW#MqHwr)54W*M&?kJ^1GhMJk>GApguv&MalTO$sdf!#O&_ky)8b9xbVca_! zX%$|`)zR2ORDU=c4~&G>c;gtt5wIHFj3{{4o=k4hutG6bRx)1Q>LlaOZO%9>bsL7!9>>vNorY0JHI93tVFKPe z4tq7jME*4ndtHR1jmbP6jKf}vNj0j!8i&0GKt1n_qt|)}X3~?4qt_Y;v(ei)tacMV zX`E?%$~f0J-}nQpKMt?%fD5tRIQp(raIuxU1U-y%mYTHk?Q!&A5pYf5Uts~`{W#|f zE3q6sjB|rj7nh$#gzC-4G0KF(bAe;9Lbb!^8(@|0LRXaQUbL&41B}DUifNZ5v;y>o z#XETC799AmFoZPY(c}gg8Tb%J(W{R~k8G$%dk@1Tde`x2Pt=TeJlaz@)uOyg6=xyJd%g^Zr#(cT5PnA(lU z4{yPx*l0XG!!@`Ze;AJrCBqu}paH2tpHHz-BgICI6dN^C7&W?y*Qk+VqecqaYbC5vBgICI6dN^C z>|~%6yivJL!;UFv;0ny4S5Kktx+~9eD?ocGj2grs=U}K&BZa!(g4L3Z9uhejH7M6c zjTA-=N~Dz$!+1fB&_EN^v*bkT*acO)iPY{Ij6!b{sof!{=ZJ~ar~pnuw-c@3n~1cP zgr}jUiPnN9S__(p-7gcP7BrC_Pn>W0FT}nRokffS6Zw5%g_m1dIe5`TtgM{#EWQBi zOr*zabtY0%@~5Vxr>0e~np#Y>QD7pifV;dDYI6j?GnRu6Q_V)HW}{U4 zy7R35$~viLmsGPws@WpdY>{fVNHtrenibMa&NSL-xRYk>G!1Dx2y2d=W^Fc&Hrqv5 z&pv6i*+EcGKxwpDk-d3v3L`=qGB-oD%`_}^397B7(aQS4WoRr7{kKB3vNZI63#v_} z*;tcCn|jzuvsRFXp4$nlw|ShHYp{+s$a)R7NT*L>m4trg*P0^+_Q2@Cb~pq(rqh=V zg2Nae)6w}ssAtl2Y9S`$Y3bBL;Z$QfzptK7zdaacppSHF6ah1lEuFethSTVU(($_E z@JZuL<5R|G(SJI=r>pZUJm134S@;Kb@AI_Tbb9g|a8Y0vT#Wyu(-$dbDeW%Z`l58~ z`!V4)JQb!hBJYL;fqn2e`b?)+9}3HPa!IFGXU7A*I`J-FR>4t9Ngst~@ZQ6)3azH2 zL&~x~DxE&+Bf@oz6zTNgpKxNidhbbSQjDgRO+u3jYqXt&#@e7(P9~v^3vil+HReu2 zW~I^0Y7&y)gay=e65hzl1u}3KrQd>`_`oFmupM0o;{%f^_Yw?c6q}4SyP>Sfj0X)& zMuuB30qac0n$<9o{$VoKY=NVV>Ln&~4D=nCVlk=4bZR}B|A+D?1N}@kFP)4{A0?bk zuQi!kT!k~R&SY#V&NMz{d=`sL#-@s&XW{u4e$K)_Kqr$Kov*>AfqPKn$YeCI7p`IM zI@wuEyO>N5Bl$PdUM8cNo$zxkH5og`!*aZIGInI1haHjD>^K=aHW5CfQqW-~)RW+3 ztf@5B7QU#OV!>-R+X#apXd4g4Mj7bvG}QB520Dy{n#p9K!`m>)QjRtz<0lztPxq!8 z(~&#_=?1|J?301^w1%5WT{6rEGSJ=?!ZWaY2HF#68lOV)4Ch%qAp`9xex8NrTlhH( z{{YD|Y{s5pJwpb1t0qQ$LI!%%+E52 z+16mYDfEpG!*cXI1y5*!=X4kSBr@XKJ5z)`5x{!DaL2}c`~8A&r~ zeZPe%7L#gBcOD^TGHopr>&3t+w82dNXH5#dX`Nj&;Y_?pxy`WBpES-iK4nzDnu!-l zHubBSjO+@lU(IB<XubzqKksQq@K+Tgg(fL=fTUtf8RjMI= zo`qKRoAP=J&O(Q+P*1^G=&%NkHtH!j3+*W;)i?>?&O&>p)2L1 zC*mwxoWgn{&O%Fy(GzhNPsANiPsCaHo31Xxle6%*esGD!ETcwQ^xI0mh8b5D{-zb! zFRWZW{bivON=FaKg9eU6t-)rYf!naku4)FDh3`>c=1AR8PYqc-BT%|MDQEGd-05U7 zQz9Sl7shvxd@3H*0F$WKRJ0*#^?oYaP&n22INF}dOz9GwgilUo)^P=9&=#gLU#fwb zjN?-op(8ADus1U@@Jh> z@r}x#btTEHBa*QOYGiK zizy@jY&6gf^_C=?x{F%l&8Cjx6r;x9Y-&V|t<7d5v%*@B%|=e~DlH-#IXn4oU^=zV zMz&_CHxb#$KpJ0bt=WDVoW^{$5o!iLjehbLOhDRccv?MNh!0G|b2_0`HK*Y%H(?&> zr*rQG7)lP)=`n6V-8M#6IHJInf$S@b8wGp3K^7h0vU*{1E;X!|DN1nM=L+FgOt_G~oP0hf@& zY}3+gv{X+x56-b?jqmXk(9e0AS~S9FYV>-v+}cMse&J z4do%vBC}HFQPx~?xD4edbIr%*qVwy76R6Q#%V#e6v=dg{=bE?7B{#*$TjpAxb1l!g z*|7K?ac~(J<7YoRz5$b)!0<75%XVPXD;Qyjl_7+$v3&=T& zuzY?2c{aduN?(Ya{a_T{z7Pp7L#;M1B#?c@a6cJBuvm#pKXPI<1>6MrKj#W{Z(o)KmXrWEQ23#iotLXyXduaxAhK z-@XkyNVAmOYT*oYzLeZ7Gg=|a7^9G!2@tV0UwefT*<7o$By)Rg5-m;YZFA*+R z8k=h^CI41usTZw$@R=588Dm^0OhN<8=;7;Ovc+gO!ZP}K@o}VD#^`n(W|7-6dYkXV z0_KX#=<|tT{30LQldz2bpS$S)$&>zH;j5Oi1(}!8^Iw7s@snlr|7~!Sg|{dN#wM{) zc``OBtQ`x>7#Hd(H4#acBcZ4_jLR8$ufj>>znqa*;S6-OoKfit%tW`#k+~LXhrn_h zbC)ybwh}(2e0al1ddA%AP;;l{jJ)K`TSanXv?T||FLL8eqSCbJUPf5rk(?MtRq{b{ zQEw8LBe}xG%7O7zDa**=1-A@edcoaID|^A+YutxF|_e6R>PQ!jGBE{bW? zUDSoUc&koI-l~g*x|g@=3hz)#>cU;rMJY=yri^>nAWs?8PKGs9=4qV%)f;4_8%kp6)4GnjLfHD7V(?i60Eb? zEyXJ~<7ts_53+5>-y-0zkYuyFAD`Up9w7aj?mnKOevW>=f=SE)evWm-WL7hNj&&4H zH9n3X{u~+pZ#W6f{2Uoh!wmZEpQF7GVJ0g!KSz>}U;*!ubyQ47Vu){1%CO#iu`5|2Uc8Q4$GH{letv7bCEU>0TV=UJl_YGrsoPiJj#x!s!+_?+-s zEVZBUQEBvSzMu8dCU}k~yZt;LHAB4--p`X!1FWH??{_caC;Q!7*mpmxK%LHh)+8^( zhb5t{N$&U5()ZJ6axd$XH4Zz%u-yS0(+@DFUm~pc)CZ95CR|AV2N=z-!X*~g+~WWe z)r28Q;tq8|Yv0(~8fO~$dY_otc6APCP~BjDB0g;~&lsPzG;@vf zj9MGN!4tIj1LFeZy20qCnB`WkX0|t&(@urQ+3$RVne9sF26I}mx3MoX#gUZQAF?;V z9fb}nAkPsnA#e?%G00N@TpOr`d9cLUMEX*`qU?m5NM8o4+%noxD=ms$XYL-Z-hjcR z+{52t@Bml$64M4ZDQq#nBIQk&or8fUxQVO3qHW%Q2jD(p4!Qd%p+DTsuZZrWloRk* zfjUUrboZ0ywtE1!xCh+b@C@TcIAoO!vPuS7AA_uqLDo)SffM1LVSV8H?ioe_(tD@* zjnFgRSJdl_$LpFFmK?3za85r(%jMyvxERmavYwL2T@`rR zEy#Wtm>l>FvL6Pr9|p3T4Oz{G?3#nT4~48|L-xbKg1|>^1vTYfEdC{A*Bq>%tO{y+ z7}hE`yiu%Ip4v4B8!U!hbA;J7=T_jQH{opMPaVk_Pasb`;S4NPiFhXY;17x~qGeU! zpNiRK;bP^FuPTR9i)S|-;XU|XrN$$e9H@koX$6&7P%)X5TZsk50<2R>jYva{xJr#G zUVWFjYpVm?7 zf1rHKw=4Z!SiBN@DTgxhWCs@Be%=`#Xok!r;Rp+lG>$Sdw@}(ig>h#%+>>(r*~=~{FU*HQGL{T@0^9%KTNn%GI-}Lh7p|b1xbsBmD@#& zsSQ*Ut~1t4LNt$rc#+~8EuX9O=jX8k(lRR}A3TZ}EP|Z=0*hf!2;o;PW`pjt@XUW&0^F$oyU$!v)y8f?CK6n`Adu0Y20OL zicN+RlcCholu3U2v2$<_K32t8kO0*}tE`1qF-|{3n0Ym1UJcp30Mlt@RoJT)PR4Jm zu-8?{J`k80I0kukfb7t4tM~$)yEsRbtBfF&!l=O;T-vN+*k=qcI71*abEuYE#T=MY zXt}z#f!bB^l%e!j17E>rT3MCXLMyJaR$PV7KP9}7{;-O%hH@Ee+TkX8rz%Dq%4Mt( zc`AYLsw_qv#S~dS%=QWIva7`^opzx-OI5mGrqamz2Lv6Jn<-{`M|>4Ev)hPg8xek?=-Sc zn3&y+eHZYSR_c&W9cyTzZ7_@WSVONx480aHw67LeZ!uTMp@#ONc=cB`j42^dbC??X zCGMpc5{s3dUZ{caX!xqH#Zql@%ijf9JdsiVKT4U_4g>$vM9I2j4+ zknKFo#9nnscm@_IOkY7t`U>tsW`!#P2ci0eI?6f*>y;1fog9!{Y1sYi*5PBnhOa6g zaZc)JSQHl@DH|yUNH%dv70sNu+PYH^gK-ko_YTPBlJ`2R7z{Cq#Zrt^8S;nyssnw>&(pC;ZpS6LHHK5u;&op!JPay9ESEfG$(i2Ly8XBk7i6U zrWz;VvE9tNm4^MLkX16sdp*ehQphS9TtIH!%%2s%Fi-;*1unxS7G`I!+wFGXC*8aa z;V#~Ww89w0^K3$T?F(}6V6RTd*B?-pxeN85Mlg>J*i*!M2^RKrZ{a#yQ-a3Le4Zy-?4S1rdF*S2coF1@ z(u?7)>yQ;QIN4&D$q;7mG|WOLG33?(3j&wC82KR#R~q!(3E3qDAF*&e^2cb0EgWVk zc{U-evf@lv4?Eu@{$c8P9WFxu56kBv@AbTgWkEO;jXg|FuR-0buNayjdte~DUm&|* z;3Uc#VwM_$ZaWCeQbW*fE95;3l%3P?RZ1L1c;b$l%Uabi}Pc7nkqbkyBym-qw9*rri z{NueLx{802-s<=$vbA}SB3mb9cenQ_dT4-~2@fMpo0o{LTH#WKu|)@b1TRYDYO}Wl zYhHxRz#-oa!Awe7f*o7ow7?BGo&1+LtQEuA#yQ6C8J{*jYn*3%&R7sQO8Ns9t`gmm zM&8R4W=FBN1bJ>j-j>2}G_wTX5Qm_>C0@KF@s`-tpBQD?O=z+es>N+0&km^exQTqk zLDXv#8dI2&1^&dsYHL5?-e#DIZ~TOm?cUGulZ%i&u8_4U$l4T4NB*DTEsbz;;B&~T z6yzHdI0FfPhX34#GcC-{2g1CMhH8~R!#ZamJ0GB0{m+oF84glB5?+Nvo$tVRXes|l zns)CWE#@D&<2&9jknJ|)ix0@`3o`qH>48rmJvN*i_z-3w|1XejFI-58zo6WDxFm4i z`vv+T2g+@L?9YVk&xD(mlG2;KEqKCi$evZmo>iC}*alPZ`7M+yPD2k{sQXU%WS|(% z4D5nW8J`WDAUxNu&I^tv4tPG$1*@=5IXR0p$X3q$nY+9?Bj526ZlGS}%n$1! zJJ`K)WWE4>>Ryh_7hyE=m-}i#<$kPju*D=;N_IsOuil`XdfkN2TUgdCXP(&&H`7m^ zqDG}qH9AFIK7)MI1ofTXDQeUPdBX*laqlT=)D8J!2=cBO^2HG3iy`ln_G3W45`ugs z1lbz~tEks0YOSjm(dQ{WUqGHO;3=hK7OilFGYINC##20B#KKyYf_}vMz(Lqx;YP`T zmQF&REFfPzLiT6EPRp$e&7bnRIi32Hch_>erx;)T&ndKu2GA-J`au@cOLzHw@V8Uw z`5Fx4YrRuG=Q+WFlG(iF6uP}mcy^!!O2emo=2vi$YKMkf;U>FlGxj=-|8zj!v%^r* zoJQMqFw%*DQFb*NNlrUMES!J^+08-kbQ=9v!sYaYr&-g!39Ipq)A&!jcbb`SGrXeo z%zH_XPHw;!i)ZH#;oo4j)6};Xs=lZFUb>e$DkgzeaN1{&2UIIKO;`I2HN7Lgre?-b?Q*WENR_hm!m&Yg1pD2Uawy%0;kfaf^&la*b46-v5vd&la-J7P8M4W;5S7gZEy8 z>|cfKUxn;n_0F(&=wDz3J>D6feTP8yqeAw~!;69c0qf|m&hQNK50Ec{;aTH_z^8<3 zB@g~7*5hMmc>Wy#8!V;~`<}r+qhV{{E!a+9ea7ny{2lBvcGIhzp{BdwZv%z!j`42b zr-c74@K5k-i@9g%0}A_&(NzqVJp_GY5I%VZ`+frZsE&SLOWDsDY-z#*WyFU|5!4ckIsEV(WM>Oh zyEum*UWa_`<(;GFY=eB^1z8D)8hy^uQo3LrI%KVw{_PyKCJnV~fOSUR=MrXLCG0ZZ zQ;GC)#NZpEPun?1FQ@okPCwX3rO*TDYJyRH+BqysiC9+Y*`ozFld=K{ufcQ7sVa~& z4p!2$RnTf8AzxX-3s|j!R`VIGqh6I}_ewO=NjMZMRMJk{p?Zu;dJM%+HD=QrSE89l zuaX|)Hmsu6SCTW&`RJk9)B0*FyrOt)%Dwa$W#jhm3KjbJs}sHOC)oc?`G^Y~}{F{wA(orq*3h zZS6Aky$1Pq3G(d{lHz1o_$s^0kq7nc6i&`ZLHEMvyOzpn9Rp)axC{ z8yv{FD6m51Qm=M+A+QfNDmQ9DKGfnXcoz@6%qWIb^seOWkH!j@{W%t1XyJUWGCM~z zoLzy=br!`S$lGwp*V$0ksiRdkK)#8Fd=m}%CfcjBw#nNqO01(*4uI-KwMNcK6V!s7 z>782P#lUfo6-8PrD~c+GR!MHOM3MJUkkxFcmRLtiRJc*4SRY$Q>r=`u^jSyi;|va3 zUw?Q{F|!^i4qeUymDDyA1Tt;26mLp^uYS&OT)R#r#*qEy-!b>!Vv6r5xCE<)RN zw66}RnIz}CU=f|#!ucsS|3OOTKlL{M;k*gvKlL{MsYh=o32XktE-EZukHtTRn*Y?> z{D-%ZwBLGceHijR4%Gao-sV5`=;|ZFn*Y>e{ZFChKlL{MsmJ1q(fkLC88!c@xA{*! zdQ-gSKlL`+*5eh-keL7Mg`GSL*Q3MZu-n4F;R&>!`H!yNG2T__c+PJ4wZ+`C^Z|u^ zhyJY|ZIgq|f9lcp4Z=Yd(@V8L+uY0iN9p?+HUFvi!+7ecXa1x32&3jd_4IyMM73jZ#UX*7B^#3{3=zz_6 zT5PbHvHOR0wNmbUbL!kKV!JX zXjaz1$RfrX2OEc48m)OY;M?TJSo1ly=L;tFiPWeOA4W=gY|cVrHWdu{f(dFIZ^UmE z=IbHI*F#<-UV0s#L&8S->cLPWW25!ejp*tYVZIoG7a2RW_COlE@fxf%>LeyKWMR$f z8}U74pl2QcyO6WdX7!EMGdJR6#Nbz=hwU2aD}D!qET$Je+(=)+69PT6u4+!$hfQ|Xq|?Nc&J3t0ohEzIX|gAsCVSFhpANOY zij5ke)*o&Wa}#RLz#CxZ47a#?1+w#jvenj_t*td%TjLBc?rpYp51zs333)cA#Wh=t zYql20mocXT1iOzx(>De(99eLJ<>X;k+qIyT0x`NV%lgi zZSd}tQJ$0Mi09-pwAYIDZ$b9y!EEGb?=U5{B0pF0K+@wyocE5FI-z=`Hnh|Q!;qG< zzVMtjw4|_BTG|*LTA-dN+i3eY;BS-z&-)!-J2}+AQ1WRfhjy62UG0=kuR-Z8UI$m( zVIlDApxS96I8F;krPFh4PjK;V528fiM_&?-t(%_lmUA(cAoJmRB?1G#b3N_pB z!~=(TUF6mT_SduWMS9d_(S+7QS$ERb(lpq>i5(Mc`80@8{6-SjrJE8-NE{N406SG;a| z8{(;j!s=nVX^Oz; z;d^K}8b(=|Z)6C|5AT_VIXW9X-$Txuknd|C-@qE@8@rlnW`>choK*?ZS6dE~H$DZ$OpnqRGpU zZ@3`q+i)5Axa8Ie`8vaQ<(ZJxA;=6LvU=>h_oL*Qdk=cu!$GMD(aN|8b6HG|BWLCoP>iIGi%70A=4^ zX5U_>hhApiUf6dazxC5axxKLRASf&MLJ!2C2QkRli<Z=)g0-cZ@{Q;nCU+Z{YMd2JK{|S`VT|@tx)<8GtGyY z=J}QaJ%^d*!>k2`p?Ol8&cjUS{2n^;hg&J(R!X>)5^h%JR7hk9w^G8bwT4?M;Z{nx zl@e~Hgj*@$>L2`Y^$&iyl@e~Hgj*@hBLhd7hw)|#a$XbUEgO_gqw$}Q2;U{h07>+0P-lMTKWKdfUDRYVs|k}Ibd;xSrKJL zjL{jgh6xk6cObddz-4xoUYePrWaea6rj#pHpvH@B!f-z!Q6X}_~qDZu+?I) zd2#|d?DZ44_bLnvd~d_bq_-S&s$nFC>D;A0pa z_z(^WoPr6?a5yYb1?92B&0~k7hi!y62G07No=0ysocZ}-SP>|PRnACwQMqYV(;v?B z%SVvCSg=B6F(d5{FVNQwXGYo#d1nVXYY$#=9)%5f-Ed~7aqudhIh;A2;#&j9VLLtK zaQdZxf?a_RU^lfMj)x#EPdCc>j`41wfbhQs4#BT2=3d}^!U2VS$LOj?=n5H3SHrPs z8R1^oWjL+xBJ67^`x%2RCGT^I50@lLDog#X8a_H?>Yv-NZJeM5C%$NG@4Js))!$mJ(y1XYlR!RD+!%6 zLiHy}^n`@zpC5(%wlwTT?~&y9QA+v=#n9s6XlE##V=;@+c@q81P(KA9tAHAFQ}D6d zP%R}zPXWHZye@!YflnZ7v;H)CutLot!%$ zGgzqpXF7GPh3a{xlc&N{(b#lm?_sdQ35Pr{!zx|XmwJ#d_24NZtC55`Spu@}7uI8o z>6*7gc2+~q{DjTQnRfw7(@pE1j{hj;F4~@sZ*;?6%Ae=oc4%_a`V{8*7sfgdL7so% zP$SR3g!vxCpFtfzfnj(u-+)u%4C*B&P}U6U)y_{BbtCf(G*%0F(+bsB&#<`%-&df2 zzP83*v+;pnLr%AVoNfU*-2!sD1>|%K$ebKN2Q87a;{b<#WmZ+=f4=$4Ae!iuAjk?UC zchyr0-ymxSLyMb(=CvNpH^@-hop?2IwjR;eVHmKR! z9NJ?vWTh8swl;@0*dI~?)I4ngEu{+v)1NHB6WSpA0bm&UFF=MS$nzb{W~^U;B$xdK zw2L#a8VMKhqP|w$d^A%6e*$Vkan3--c zJ>(*!s)Opa7SXpvLZ17e=7Ec>B`!kF%Y-%JFG9{L$Xi8!5nkHqFQ*lR!;5Hs1vTx0 zoGk`58|PPGDKVF_u0r0VzyyVD=9X(Sfmdl|?f$FuTG5cV43PB@$SxzuyIMb=9L_;W zn~$_DP}1fjZ5x!d`6g{X`74d2%}3g5C~5Oe+6{P1JKykV?yuPegauPftvYmVD{Atd6VUDFsp6AYMiW1FVPHHKY^@OLe@|G4O*py ztdKz7QbFENLC#-=tc}3CipO@HFjiOfPRf4`nJ+`lMPEY$x1gTsUNet+4VkYK)`;*L zlCxrtw4$B@Ub9)^Yc@-KjUMKP{~Ber_^&aJw?jS6y=Jq-*Q`g~WOm#{DXhzof0xEu zQf?xDg?aM@rHxJGPds(xof&l`J#!M$Fkak--MUJ@eF^$VvWc>|O7E?h2x_;9nkpvN zsMflPoimDI7ZBu>SGbwFY(@jOpk}0-sbeeDTy(Sb;7h&b8g1Fh&S)r!d<0& z`JlVDP@~TvJF;LjmfAuNZBS1%Tgc}YWJeZcM;6pmV)67a1l?nTljv8ocYcI8Q39z5SB1@Y~kw(#h0mc zzBM3Ee*5tT{Mhn5Xz_>8%ohJJb==~AZaii@j;C$$zmPmWyP)9-)zm-9y>Fq1E~pmz z7G87}>gnSx?Ar}l4TG}pTj=%{WZx0g4F4^3a>IWM4;R%Vy+uvyA$$4wA*>SRhUDbq zmnk14zvXYGtVYP2HK=iUD`oA0>@0%3S%V4m>RYkGNvJvbR;+Lh@@5V4W(~5l$luEN z`!A54MUb6EkT+|PokftHMUXdZ{#L$6I0y@j{9XXz9g>7o-(z8k?nPR~lwpgl{$Bdt zt?2nP$k*KPK;UoSM}b24N#Gs$sf9l?9zqXW(f@IH#A1#H{*LhH7Q_1p!pE6SZN(O~ zu-sx!NLp<19{kesuW?cdUvyT%-&*OvGx_f_nrsc~rErk?qOC#w8M(Fw4RF2#2RhHd zLCie22665xjAf+Q8Wd;bmoNxFOCPv3=so5eTZ6Vaqv89U`>-|W1LJllo^TPR7g*~k zu+~vvt)swNM}f7D0&5)w);bETbre|ZD6rO1V6CITT1SDkjsjXohhJc=qrh560j;Bx zm@2GaV6CG7OSSt2);bETbrkR|Qh#F9Itus-DFUi>6wo@Np;||QwT=R79R=1p3h=Qr z#P73|ALH`{{z1IGz*p-iu+~vvt)swK>nOk?wNS02z*F9$FzgjvzaZ zAUlpAJC2~{4{xJ~bC4BFs21_I^*L{&0n$_VHpq@6s8Q@~>U#z9t{-X?dz)Hwm0FAM z8+S1JyiL7Cwe+{GrN2!rt`a`1a;b%Q%y?YVQVV3D7K%T?yz6ahf#mp7D%w;n3TbhN zp=wcRwJ5Y&6k06`sl`R&ITH+WCYWDnJzF8I>?mQ4#f4UjLfRU?1wvgKAS?V(<8mQ( z{M0YB8WmcN3av(k*p4rnXl2|*y%d&>3aM8oJVY;DX!RK1lh#|d1D3H#RS>K1T~M{X4c<^|3?sJ7n8pYy|qF;BWy!^ z#~{0yAiJ0#yO^M!5w@YRPoSRnx1l%Epf{0k@gQH}!6KE84lhFa|2BH9C|E*2xea|P zp0DuWUP+E_6|>*MA4^VJ!C-g@&201k)p!_fY(v}PG2?O76m26F+E)AtyXz!9@HToU zG=t71)kXT8ZS*{&;6Mw<;A7k9RpR0MoN=~|US*d5zWLAl*7o1Gw*NjFXeVAHF@?tq%VeSpquAv>4+56Gbj%4#2=AF+hztPjvh z3*4!4NS?egW)=^}wqsXjWWNp02+IW$* z@gi&EMb^fPs9l?1WUZr!QmznIOE1E{4Stceiy~_mMb<8gkXi91^mRqn-ivJXDZ+x> zh1C?VR$pYTqsUrEk+qH@S_kr5>nO6;QDm*7h}MA&);fx;b?mVD?G9>s-QPh?JE7*c zI~aK{L5(Im&~q)+%ytL0?uMGn?V!F_pk}r^sBbIO%yx&htR2>}c38{WVJ&M1wXWu> zTGkH6+-6u{EJUgud;_Q$zNv&ol7a65>tHb>?+$EN2{}ms?#1Fe7;}-$jlc2civ{!Z%k9%M%r)Vy>jb*Y5x$b#(1f@^3UJ9+91_IHwJ zGt{%yPU=zx*^vchyPeeHOUSRrK)!Z|A0Ww2yJ$hDVV&;9qb|cz3-3kFUHB4Tv*Sfy!NW?A7m3I0>T!$zLh_gw?ZSU<5Uyc{ zunYg0=kKCLe+Q~X?_!29klshLxMG{d727P1{)kyzvCZQ69UW$I#Wss8rluzeYZg~b z9j`&n;)aG~g;)-n+SBwTeBfKA~VouNllwcjje2MK!%sM4z zoe~?xO0dOzzl8a7Fw|I9!u+`xj5Ep>B{p*|F)Ngq6-vwsC1!;Z+Qn$j_0UQ}sr9s_ z)+3c#Pg`m|ZK?INrPkAyT2EVQJ#8tr;EW9GX-loAEw!Gu)Oy-ddZ+V#DZNuTWY-ha zDsHLux20&Fuj}atntYyU>5EFyyr}-R)cV^}G~YtF$l`aQlTzz%u{qi0C-4sVUE-S57Vy8@GJ3{@i={N z8MW?)ocjk)SScr&ah2g+&9H`9P#NAe)h`QrFK`cTGiqK`hR=xGEvCrn>+eQyw_sG@ zXE2)C<8E}-0;iJOZZ!5K)QZY(bk*(eMpq)g*ai9C4OZhnyYYc*{%(BW*N}5s;QREw zyRrUtxLYaF0Qq3$R=8iKU~7dxq%OO$xcG_1e`?{+jQ=VL(T48jG(vb3P3}fBiaCa- z?M5de-*rOGKz5@Ipu)l}4a0Buc1JwEhV-XVW!NWP1fx34<%>egc*-n2i zN^{J39N*rD42n5{=kG)FoxaY6YlT`N+;27APaSU%*4v`}NYxCr=DeTL zL1De0()n)+=b%HK_I4I>La)CcpCM1$P76Fl?e^Q#*?xN07GGzzHABsC4$$`7pk_Ea ztF0bt*T(_#;R9&0(LaFpqTylkIe_Po68YQV31&M7@ShI82+8GNI zc%%9u?^ToFa$^qT{)gmz(*F<-Z-e`=S^U8lkg+7*F;$J=a0}^70jazeuN~g zP`%1W)T`P5*lh7JzHyy!6dwCAR=5Q9M)G6x3QmH=TRz76E&eBzRSh+7|AeyIptSl4 zT2)wH^ojZBCzRVnI8S#`yKX40eq#FklpI?9Ptjx}X|< z*a(+dSnq%iBKZ-R$B2IrjWxrMbr*4i;34dF5F6FQ6BeT$<}>ndf?CD>41HdKvchMS z(hjv&`59$hfXgjj&o7@*mrkf!e1`mDxlz_RL_Y0M@2zNc^y-JO&Sj|gR)@%~2}NyYLd*X3wbjU1qh}wk{mcJdQ zc9)^n_79`ITTpBJhmlHQt?eJC<=%!`+doWwb(ehOFcRK`In?Mdy1fClYwIw&?SNVb zIBYFf-*GqjM<_*<_KsLSN64p^@N&vJLJqC|QIqE=+U_DOsg9adN0F*OVf80Rk?IB< zf_09PTLV;oa@3?cYEm6Vs++_}s-q^=QR`cdA{#j~26e*EjFR)H$@w|GL7e|N-dhXV zr2?~gQuy3j!RPb?3g;ln=Xh_kf6VN745=;?mIaTQmX4VPkC_FJSt~ncRy$_BF5ZVe zk72JtPo)-Z|b4^N8i-nggNvKICJsQ4{SBIzi4|Q0?)A>FR{(>IC_B5~F=VCuln@P_vN} z=;}5+NIN<~3+;wlr#gYgM6FYuKv$x4b%K`C?w>S`ouu5GghQDNourPJU^L!x()4!H z>Ua`K+K8Eo@0~=RFW_=Cd6JqcrF3|bI+BKYQ8)YuUpi@Cagv%U{;0*MulSO3zk=#{ zzC^={iJ}%?QtmCNR`4a|>ZI$B6^Z2ux9)q{h#LXeii=03i zZ(+sfa(x|qkr>|T@^>!z#glFop?J=0f5GC{!+2+g<)?DySgyKTdBjuVI7*&o<*c_< zoOi>&Rv_7fa=(4`!L=TVGD!1>CCw$*mnd@$IY^$z$bS-?|G$uH2I*f$wl(M_-tLuj zYlwM)d=y@JzYgmx{GiUN{|k1{|6FhJ_v`fn`K%)EHRPo@@juqrE0me%{3+>kNFlvH zkpF=c@uu;0$oCSujCWoqeZKP}Lb9HuT5or+;$Pp`aW!>(h4ORxTQ*ov>h)Zgwd46) zb(55<`M31{pqBZT@<(>hgZh5kD&N@b+p?}lFRyUVN=oUmc25cGOvZJbU?vZe7p`>1 zT50;XWO&BzTT88ba*+0OP1X%&4W)Td&z?MAwtsJcYxrL_TxGS87Nia7P5zL>Re8p0 zYNS*>HJA6ULwoYTSBQO(_sjhI1=31mx;M}Cx50GQqoH-g%0GJA1HYEZ_jUU7z+Sqp zJazwnX7O)Y$RB#5EFqaU+_$%6Qw_iI9Mwm%sO~ROj&!rZH2aNjKJc>FNTa&vS&Bby zJ3V*hTMkO6R1bWqr&afO*&5TRB$E_MquRZ0I$cHR+bwd0<@SnMV+}d3uJ$(zT0^5}1S`yaO12dzo|^^&F6-}3SYzV*75pUdt_d57Bh z16k#*-|mg1*&dts)KvG#uX}pkp0=(U%hP(a6_1~)oE|Orcze$s>eK$czx<&Vdi-2* z>I2@OBx!3Mwf(kbzp2T8)bl;iueAIU^2@%mV^3>bPiTdCwB%I3C9myiAOBHq55}J# zSRU&2dfM%S-d$tZdi0pV?~sniy83?{`Kzt;j4CQe?PHv2>1Aj9pX9yrM*ixTR;`au zd2GUj_&-^(HgE0foE2;0=d6EmTzveT)j7Fq*X6z#zhUi*x%u(ySLMb(_riv?>o>&D z$XmO<=WMecsym@2yzzlJ4#Kr~bu1G9KJCH}|CtYgXjPKQ?aCWApzg zuNf;|UcKgx_!arN@oQGU09R7Ny7-kU`NjAb-uOe=;wkHe+*K>qtc=fF`E9vg$Z$Dd6+g&|I917 zYv+?7er4{8^&9euQJJKCdBxfdE7nlMRjb#or$#ID^5b(*#_IKNs4__TqxE^OSn8Ma zURb>*H$Ertq-j&8e2vocHmrMK9WLc_OMV_Ix4Tf;8f0G^zkb8o-1yg5uU~aP>4JoK^Ab&?5P-U$tU=eC}(x`ERJG{P=aN@-~pk3%T(tUZ76v z^AxSzS92|I<@(oUa20_(52U< z$I2czdVMuDr_kJu>vPS4C^#n%v1A8CM(teqeTnNHh=9(e@HcW-QnZyJW= z&Ch*l^}6-B`KWSz{)!iKUtW>_BcxjStz>FHKR};yEV=ut_3K~B7(f2?*Iys^qBWJ5 zX&d7xZv6j8-gm%PRb>B9O9E+-5PBzc5mO!^K?M?$Ac%khirq+!A}GbamR)t-Vp-kw zw_RO#-CcFuL5HrrH)0e$Ky{<$Kn4-6G0n~ z7bl3x_;(Nev*#3nf8mJJG4igFTD&ao6t9T8#Sg`c;v?~@SS_A~%>Sr(Ogtl`ge&xiGPTN;x%zEIN}s>Bk16ppqsDbF9q+2x5V3Gk=OtZ z^MQC*yeIAhP24ViA(n{6;zMw@O=64q2_(;2(ByMKJ!gyCKx@wfZ6yvslF#{|tsB9C zE(T|~MEn5%{dip5E-n|Bi7UjFVzbyPo|MgGbD1tPWTwm#---XqY}rD#lsO_Qh0K+$ zWS(p-+sL-Eoop{V$d0m;>@2&;uCkl#F8(RLl|5v>>?wQ6-m;JEEBnd*@(?*d9x4aQ z!(@Rhltp5xES3>DNS4UKvQ(DIA@Xo}ggjCXmBZw4SuQK&2=RqjB`al>td=9?QF4?V zEsvICZe-a0E00iTqT4CRfVOo7^tHlsIEpel2(6 ztlw|sKjpXbUpQI!Kk_^IUl~O=mr7yFp;0L+Ri&wBs<}#6894Vg3un-_P%TxC%2lmY zo@%Yy;LO){s=exJyRoYASR((`o)lc?tYO0#1rmGohrm9tEsk7BA zb&i^?=BRVkd1|hjr{=2#>U?#9x=>xDE>@SQOL6AtW$JQu1IQYA`h~hl-K>6z6F_gl$)CSgzfr$czf-@*nVf%Ax2oIJ?dnhJ z4xB*w7j>ultNNSzyShu=t?p6(Q1`0))cxuK^`Lr4J**y4kE+MiIL#TI)8t zt!}5=>khi3?xZ{GF1oAkrn_VRS-$Rx9ZtPCxD=F-9Mw$LeuRNr4K3mVy=jhpb zjy_kPr|0T`AUK8#hqNA+V^2YUi*Nl#(jcI<` zU4IF4->+a^`8As3#hmGzm`8jYb8)}Z@91~+d-{F-fnKaX)JybI{gGa#m+KY!WBrN# zRDY&d>d*BTdX-+S*XXr+onEgu=#6@l-mJIit$Lf@uD{e@=^grOy;JYf-{^npZ}q?Q zzx99gcly6NiY>g-D5H%rDJIpVnP#TBNjDiL(`1=!)55egIVRV%GI^%8X=B=&cBZ}Q zU^<#krnBi{x|(jLyXj%_O;6Ly^frA=U(?U@H;0%3=1?=x9A*kkp(!%OCSnGe5;NG8 znldxQ9Bz&F)$O@$d@DovHCHY3eZW|SFijy7Y=F=nh8XU3aj&2eUenP?`N zPWNtRUG`}*pnEx}sHoq~yHNP{zH-9jHG`E`D%Cv8^PqXiJZv5@kDABKdw^R9W%yl*}*i_M2-iCJnsGRw?zv%-9AJ~5w~&&*2m zx%tAZGONuRv(~IL>&*tU(QGoC%@(uOY%|-~k^3m@^flF%~=1%B^==jWtutF=9G@T51g&Y2|Zf z%$Ysy?6ewdW{j9pJ9o;0bEeOlc45Ypz@9#0>YVvCQz+5&DZVweatg)(vs0&9qY~h2 z=EFrsT9tzfk(aWST4mu*V>a^5aHqu79lGM7AjIt%6 zq38M2(nh&F*IF}ul%Ivv+JUp?Oqr!djaId1WsD9WWtibXvS9wS)LCp~jtRxgoE37Uj=CF}9 zZsvm7Giv58IA>PPg85lN9Np+BlS3&skzpeU}Mc=BV$5PyBYHW zJNJ{qk|Jjor%tqy=d)oZQtQvB)}Lfs9|LM2LE0o&mIbaXlWbWQu#qxpE(U=q3+SCS zDO{4Q1z}g(B!?vnteJ5_kgtpjLiQ6w_KO00>PfbQ7qgLml8l^Xg1LdC_WWs{BV%6eg`PcY9{SR3-!+XU znmkwL?AqCWBu=|__H-h0b2C7@eEa+hFw(dFS@UP2>v%5CLEu0RJO|~#v)df_F3y4H z;v9I6<~7r6YfB1?O3Rv0n>Qas0dq9XkdgT_Yv)dFj$E*1UUPVHA~Q2NH`YEcV>;kF zdnOm!IVg$gwbSR%q$JofFM}gmdpcF4wNglAeE!UIN{emt(#emiaQ@5;#CO(twjw;2 zZ3-J|UM5F&4sHr(r{q!NHY04A$G|-+U|MSir|axo3TscPoHlEI4WUv|VNnU2MTLW$ zS*E9-J{?ajo>?idpI*!FS+C}a1I7p9SjO+VUUdp6%{Qb)UC6@g+k62exQMvP@6ly`FKo2&7L)F z`uudZ@f2?AQ5S)J&rX>zt7hIzRX#tX0tEN$X&?vF=Qpo_bsl}lbiN#=IXR|rI&5Rl ztdR?9XUzlcn?)Z|D z2w+yY@>V$56%KZVgI(cZS2)-e4t9luUEyF?IM@{qc7=mo;b2#|a#y(e9^vYHgo8iA z!5`t^k8touIQSzR{1FcR2nTEKs7_>~TRrGsDT;8!~Ml@5NDgJ0#~S2_4q4t|w`Uo|Loq?Kf5 zuwgN!%0aJk(5oEuDhIvFL9cSqs~q$y2ff-suXfO@9rS7kz1l&qcBQX&rLT6SuXgaO z%hJn9I|C0n0-GDGJUO?`O;Lf(O;Lf(O;Lf( zO;Lf(O;Lf(O;Lf(O;LfZjiLfu8$|`SHi`;tZ4?#Q+9)cpwNX@HYon;p!7p_13myDI z2fxt4w`{JUsL;VLbnpvZ`h_n2LYID_OTWmaU*ys+a_JYj^ov~jMXr37trip&x%7)% z`HEcmid^}MT=|L|{2~Xx$iXji@QWS%Vh6w2!7q03iyi!82fx^ruh_vYc5sUw++qi} z*ugD!aEl$>Vh1#KDg^_z?#`;^0Rd z{Ia5Kmg7&aosAVA2y&TI=PbbL)9Eb7rW3ZF&M4W!lXOqF!+>-M&(50df8t1ilOqOB z29(Kz3Kz3EhZtBhZ%TF`>XXys^z)|V#wLy-*SUe0jUMC0KqwUVlSn}UORI$i1x3Z4 zZBU_aEAnl@*NE>o$hVdFw!yxw)VGy+wh|v&iEYnFL8brAgH;&u(=GH~Mk)Lw0pK`IEaBE!M0^+#A4bH75%FP^__-?aW0d$YO8gilevH9>t_J&g z8SLj}u%DN~e#(RWln47M5B5_Y?5AAnr(Einx73GG>cc4YVU+qXN_`lmK8#Wy2F6)5 z;sOqr`7p|S7-c?;G9N~n52MV7QRc&Na#>`MpW5IcH4he`IjDsN-q*qc4_0A;2dl8a zgH>4I!7429U=PDQX8!2~nQ10MYSXLBq;%>x=yAdbuMx3}CapG>o ziMtUe?na!r8*$=p#EH8RC+x=yAdbuMx3}CapG>o ziMtUe?na!r8*$=p#EH8RC+x=yAdbuMx3}CapG>o ziMtUe?na!r8*$=p#EH8RC+x=yAdbuMx3}Csd6}8 zWkrEVl@$ddPT-9=fj8m=-iQ-;BTnFrIDt3f1m1`fcq2~WjW~ff;soA^6L=#|;Egze zH{t}|h!c1tPT-AHTM|-ISUkv*3-DemenQ&hehTTcDg`e+K^=AT`Y zQai71JK(*Pd7@=k_P#4ywK`(|t>$x-M zq(YzSoSMQEHuQXe$2<#_L_;Y^Pr(Cc%A9ki&8SJ|!b34^&b&-lTy`|8g0>L(HmB0s z?_~4jqD)s(`^A-x9W9*03zV_;wfsw}W5k z;1xP}cJdkD9XvZMg4@Bf!=S=yI}C#9%4df`aJ%x^VG!J|e0CTFw}WSgL2$eB*nP4ujx!<+H;exLy6);Sk)eymmMQw=1t54#Dlp zYllN{yZW`mp~7lA9D?b}Z-+y0yYk!N5Ztc3cK8FgE3X~?!0pOwhd+hYgP6y`bmbf5 z(jVl?H^`+w$dzx9tKUJce1lxM2D$PKa^)E0@?YZ8x8i?cwUt|7y7Wt2`Xw&?5|@67 zOTWaGr^LZ2apfs-@Jd{HN*vr0*M21q{$K}xuq&UHlM1V?oCMRsw{jBP4*p;Vf3Sl; z*ufv{;17222RrzK9eg__Sy*kSBw@Pxv{RCBJ9wq8ymm?w{tjNLgIDU{S-B109Xu`j$ zu-eLOFkShr%m%kBzm?VCc5tn%2DgK2Wi_}RTq~==?ciEj4Q>b5%4&txR#t=Q;96M? zZU@)OXmC5YRz`!{!L>3P+zzgl(cpG)t&9e@gKK59!fGp{!E|t~j0U%BUn`Tr?b_GM zWN^FowK5sp4vv+@;C67VELK=;Wiglzj+MpWcIC6O7~Br7mBrw8aIGu`w}WeCF}NLG zSy>EjhgVh>E3CG%7fgpoR`!D1!Lc$I+zw8)tIui&r`pwLwS!ab%2{2N!F;r|lvh!# zy)0xe57{e1_7Nd_WyoF?vR4Q8vQYYEq4di_>6eAlFAJq#7D~S?lzv$#{qj)y<)QS; zL+O`?(k~CCUmi-oJd}QUDE*31_z@v{HQPxRfh@~)UR6-dI8#+^>lh+RLFxil{HI`$ z9ICCJvW6zIg66S|Mrm&yJky~ke7(?9E}A<_DX`z)XX?fDpJLg#E# zX_aZC)5fPApLR;xZ__?%)~4CSW+yc}quKOkvzpCqc44#2nq7r4f^PB zz~6rBf_Q!F@uhqOX~eoxks&u+4&W0L>lcC1Z zxvDr7>M%M}l}=POI8W8!G*yGMRB;|ue}gl*aH`E|I0>p7ouG=6;ml2;kbYO#MzOmq z&ibL#6LEGT((Q+IhtWw>h~EwIha&!{a14Y=$JtYK3LDN~Lx^D%f=*w&IsP8Oqc z#pqNqgdc@8MquLta}WubYt9u7K4ql-I7D*A`xCE>{zgLOSORCt%U} zSDb<^X?*PdT&8Zw;ZQp1h|W23Wf@8*93lN?R0f;?g!6y!r7Ow+sL^k^q!IXH&pO_= z#=7GC9Iw2#h8mZby^9^>!)w39K3!dF(%0SD_bx{VZ|wM*^Xlo~Ez#cPTyk$t24liu z)V47sLG3*EU)N$M*9=HlUq-*igEQizo1^&4OLS9oJ*1w4^os64X?8?cMAx8Xwltqb zH%32;ZbRvI;Qs2MDp&^Z+H+Z^GP$dzXNj&vd#ys5ak@WF4*A;iZ<1y!-g78KA4q)d z@a`k>qDzp|7G7?npP<#YSXcBd*tbRBWLez{(1c9%nH|XA3iO*z=sm0O{sKA1^S^jC zam?CRRZio=CVoZNaRxK+Zslba__rncX>={Ha20THl}9PyL-*$BMla;SXGXtl%6SIe z#b2|dpGWaGAIERjq6H4p`bJs6A;DAD0B62nSzt|c14?#Ka!-`xYriyB7FdI_P-(Uv zgtEY%c7rZ^8gakI!-x~3PP#IqAF{-WKli~El5EhAHgO0MT?qRYk_eo;Ny|AN^+jHD z{2VWXe6SkWi2oEp`Vk&K1s?A5>|WUK-NgTjAgR&SJi06jdWJSyiFY=h(1p?vwIG>o zTl8c40Ga43D`7XGGKEX?i7U-&WHzoeod2(>oG1fJaqi4KDpwQ5w?vqR+|r0(6Wwfg zqdDJaE0weThjE`5>-#d1({*@0 z0{5gGQwz|D;BzlOUfw--!)D#uXgK_S{n`TO#$=%^aqY8TVeZq!(WglkptkX5Iq;vn z=*I`AEI_3}Yhdh*(s2KdehNFDgZRqDs+++1Le;qQV#^WTN$x2A^-Q<_ty!EK|DAK+ zPJ*okZk$3YT6ppNuYLmi!-8JF1$^*9J0Qn92%=4c`Iw{b@zMptHG(Fg z#}6ZS)}=2CV9c{RivO$8jgzq;(O5~y`VhCV7jdJ8F4Ps@ECG@fm=oQ=CvDkt zE|Ic#G2hBV%e;@AAr#t@Y)M}j-+zXDE{ozX9-wg_204qJ>!eT!7orhf{q7D_kPgWk zsKISf{A&+wL^!b?H3K?Cmy?>n`J9{NkeyglCy8nuYL@1i*I}%T5tt1Te&Y+>C^=yk z%E4o3*xj5A+EP2P{*PjM0EVQYGCC#UZet$;UNf6)Ye7Ufw7jC6Ul zkhxZNQEq^t3F3GVz8{mZzUB7=d*4H4yz{xmzEA(arno1iu^0w^gC6K`HiZ3N{#_`0 zwz=oI7bY;<_K9slud~So+>SAg`WY@8nr)8yu($t0KYrKc@iUwx&pn^{Nk?yHAseiY z;vXfVHPhPHgRfy5<(z1X=LhL|1-RM|;ky9ON>HqyVrJl4q@QlXM4tlfSqAEX8>dRr zm2GD`*vAG+;tdXL@9RK?eh>R~$V(^O*^msgA>k11`#O3LW0qj|o$$jSSn$3-F<-O% zFA3oLHAwVd$l*Ve1L1MBrVo;Pb@gK4r;f7v2f`7(!UdCbaUF7z66oPzblJ zWV79uY<96^^O23?c=mQ*vY|2LF6v$A;p_b(Qd_f9m%z*voGT1-qx&Gt&vs@^vj zBFP-Y#`=C-whz<;J0sQ~z3D!dtEoNO@C>ww-h~#}>aDUz-$C!YJGzkXNATr==rbho zI-j?_^ny`OxDSAzeSnAFYwQiJ1c6?igTJh-!KfNNk+3%UxR;JKS&n}i_D#K9Bt!W*2i?eWqjJ7^9(^ln1~=ln2R6)1p^m>r?W_PsWuabnaE<%&cL>h+WJS4G zL%v=DoVXXIdlh-z7=1AMFr<_RqaPwugbNucZx_r%wxw|gtsl~S7AW!#j5;2GB)`<% z&%u1h-587&mUQNmGPgzu_kdbPtFAfzsz~t4$45Qpo{SE_%W18J2FDP z(cbtoAO7OC8l}K&6J~<==J65FOOi}Qr47=61WbPGJy`_!u+Z`Z$el!QNZXOtHNHX( z`@ACr{Qy{_?{FR18LlPB?Q0%T(9dPS7|iKK7xT>4hi;}2bOR+>johz^`eRQ}iuk(o z5(=5r=lJ3gEy?9b!*MVx&7+=4gJmh+8@PrON#vmv_l-3eN$i{S_Dd?Q_DiabNp!pm zoZ&_TIdvm5*9YgX`z0BluRQ*p>U8nY|o~7l%%c( z=b!6MA=%XHO(2O6Asqz)=_=s`O0f#^!N)OS5fU|ny0Le{h;=-zL>+iXmk0LxZFYQL z|Mvs=g=FLHkKL$6mCe)R?R3%2A+zyS<`MqGx=BnX3Eag0=^Jz+NH9-Mn@d_cf6-4w_y6Nfa=~ zFFVHdy*aQ(u!%S#-mSQyw$}VlMQTCwK(}yTxKY z)bDUwS@j2K%3q@Y0PaIV@Mn|uIJ5D16Yt*Rg!eikG){MWMSp>L{bkVFh+C(^jO~jU zkMq6TL^uF+Tw|_exD`?8m`MA@k<1JLxaP;0EnF6TBQ^_|yI$MKad$|+lF~|!J{*W~ zR&2?ds;dd}+XGu=EuptgvxA>t)o5wcp(+Qq5)wdTP5A`=|Lb0@v6>dXa>80D;SYOk zZ_$XDahe*G7p(H|-H23zph?Wh1%dakEjbEAYgL%J-yWNnWX2|OF_KvGij8rgT*<7! zxV1k}srXz$(k6XPx|6zMpwSFhf|a495~4t~^C!`rbOPak@sdsWn{OvQ5R$9A`#x;J zn)VAAd)u8Lv7hR5C79i-FX(~wPi{tlI2A?`akFpm;q~F!$YfS}K^eY; zJh?F@ENC3B)HiOPHaPRg>ITH;XUO70It-#Bx7yoBCkJ_&1UHhnPIYIe1Mg>2=_)2k|~l#@!|9oW#*M z#Onf`IlCV)Sslr`X(R)F&tfH$^8av{81DW*T+ZDU4SYOFEv4P1)O5cmBX0!zX_{_1 z4n)pkb@lfiVw3D=ta-3Itk^THy!vWvU&u}MrM-9l4c9}%UmFiO={2gxC%uO;ymt1? z#K~Yx7&k6X9PXg>b(;BnYAdbk&}Y(AMse|aAY5WPVFem7 zY^M{1?Y_jV2<@-o*;yzXCN_(~&K6gH$?Dz3CR4|S-PG&EusYt2_V`{X`##8bOhFrw zUi}ymlj1&dG~846eceOm37y_meBWFt+8$OvFQJ4Vd>WdNJPJD>ExE&wDbMtP!mA3CQeZZ*(fK7D)jcj|NU%d_Y zZgd1dBk<1^FV4O*u}@&PJq#_F)K1dGxq|*fXx~9V7ZZm@O*DuhyKlGp(yia$OLO=2 zo7|28N)M&B|0?mpf<}gBz;+J{X*AGNy*x7{oM08WeSk?@Y>fjy{nJS5$Ni)e-Rpps zuR`i>VD-=P+eDxmij^q5=NItlFclI0qJX!|k%~#+qJTfD7^LnCEWDjK12?*YG#Ur*ZTIGf^)DA%ay$ z>H*#pd?y>td&l}%7y9nk0e!%@EJQ03$4Hb)ykB^}gYpgI!fKmB3I=?bh|@p;$ip7xZi^9O@3a%{!r50rauOMj58?S!6_6=v3qhe#w%~)c{uvl=--mb z*PdVp%D(}#TH66_t56qBrkeU?#Vx0ZLE<=SQ?x3bK-h#Yrh{~@6`dkYTJRg2US|2s zt+n3^*mwsbJaWeKUC{^7-Vfl8lP3;D9(D)A?YPN`K7u?xLhq(` zF}-;P=UH^XNvR$9{}oLylgJUyR@q0ZxcjeoI1%VUaG1B5&wRN5;OtGxIDKRhYLj(x znj{U!DLFVv=YHrkrsHWqvvF@~VejJdDK>W}I^SmR(%qM_d3CficC;+QY1q`}P4EmE zKJ8<1^bO>dPOipD-}|x#_Dx#gGo*!*!6yJ@^WJ;twC$U;_iZYW(&_&w^q*j!HN-p} z{(!u1VeCa}xuRwC6{<@+;$aGu3s)0aC8v@R-NqjJ?yk>#z~|3z2494}b<-L*K(bha zaq2pZ&UlRvZOvY5|1hmn~*4Lg*=ZqTQVBD%P+S^Lz>p_wD zALa1z%(%JLMpwulM+onR_U42T}(;axWk5&~rfOb8Bvq;)Q zo~JqE9B|b3pk-T`uGv5PF2Z~o{_|Tm#bkVlFHw-9`b|WWN;6-Y#R>!0p>L6UsFGi-VyyX9=flG>&@uz zV(DJJZJnEVhkDX&O_=Z{<~{9y%y%F+d)(H<bLt&f_BF(&f>E7|J95yM_`WkJ0B)hnZX#koxFCD8}K$=QBV%JOM`AnEUsQ77Nwg zp3Iu>-~6HG=r37(rly6|;CRGg#Qx4x-Sm;ea6JM;lf8gjp8yZrgk>|trN3V#yf9;c zvvyD~Yw-uDm(XjePqcLS(*pi<@=Y#!P)DS^1*dSXL>oVg*$?_7EB?>QiL%Vced#@V zhc96IE;?1`z~TbRK_j}o;4{cK^t2NF0X6Z7!hlAaU|8|-N*^w9Lo2kN3<%8p8r;UU zb-<&%^gOfvFJ6d!Z|-@&b~Kz$!G|1ydpB3oG`tn{5Y#&B`JmP^lcwPb$4ub3OM&0( zsW;d*K+f$220?Mqrw60LE4`p>^jSt5Hd6a@7mYZ zR2YkPQ+503b6i^|DE;mLq2G~|8z(c?hqtJ6tl5EX;6ypp#&mk zC{_&~<@Q6pK3$1AlDR$hSkZ!)p^7LBt*oP7S9q7tFhjSUR z22OtgfSdl+7f?_9xez|vF$)VmgOJPlpMA(QAg{!ijrdC){fWt*{`?%{3GaD}t=|Ow zdW$;^(r?2cMl$^xEy;8NIq`6cWQvc7{<5yS(8e%K{%F&xva19ejT~JU-z1VtN;(OE&H!;J>gzPDM#KM}OsU zHn?d<Pd&Qv+q?|2k9YAd$GdAyr5l_~y04ri42h>(N^x$_nhj zE=mUvX~Aa;=Qtscz}H>DTqa7fA*eT(NF4*z1LfjNO)eoFkPEK3a5F}Sha$DlE!C?N zX&-r@el`IEz66D(|H7`JvqlLUfx$F73!T{5cz{TC4RC4;bnqelF%AO1y|N;8!adTX zTLqq<3zNoXwg)r_%+{~Nn$JkX-?p}GW7e+UVzC{ib0a%WFb6Pb^v9eaF$k2JXfj_2 zN3-hGJ23*Iy72Puh49P}o_c-Q`{YdY;NGG)FexAZ5~V92bP<35A}j9~BFyScxf27> z63d)?u`A$f>z$2)x_xgRx zr}Dr~{%34s*N!P&ubxr2ycdG&nRL9r_M}}vu2b6h9M*M{%oOr%3mQmNm)f0XM{Iua zzYxofh!?|mOBmCEH9V^mN(EL(D?338ECqNSGuv%wJ_Y%OJ}Asr!l99#k3}*56fzOj zr2ph1Z&Y$ydcbmc8muA*trXi!cvN9q+iw{MwK>vRi@x<0FppMQHi_)8vH)!qQ3p^`h%fzzS?C1uyIrI@JC16FkCR=d}e;KA5z|t5>#r50_VH<&SGE&-Wy`-((Z<$l|Wqat;>Glnhz&R;VrkSgLR=6 zTyJ|npmL9J34ptBY_G;Bt@svn+|K2;H8>YZKRD-#>4(J&|BPSsdXg(*&f|d#eY-CH zLGpV8{!0iqkS|Y$uqo1vz-P9#f;MwKhiLCk?n`cj1^f(g0Jzp7?OmW7tI&(zN9a&b zV~T>mxKjxbxZ9U$|sWqwEct~4%P#ea8S0dBp{ z%1%wWBthPQ+29hkKXEUxa<}6g%(ojuM}vgFM;rPR@p$4A9ntT1p+ARCw;Ol=VPtzQJ!E^XAoJzcfu3@Qk?hrtq9d)6@h`zW%_8)?p{g z>X^Uak^b;Oeo=WEJ5p@wMULKuGCjyM`^2kA58!RAtwQ1h&07kp_YsY-ntCZh`J?%t zMJUN4aNKP8w`895Im+=R&%u*~OM8|uS~^%R@Yz+Mc%MP*ITv!$@0k0N{xe_EpB*ga z2EGc@_!PK9u9I*oP1Noo?G{YpAR@7+{eES+R z$_LREmQm4Cm`#9`hqfXA;2UWB!7vKW1-*L(6r6Sl=VAm;^c?!(&=j+C8Z;952o&)n z_HXk0e>j({Lyo@GJ&s1S#MgjEyll@DNa}xQlx&l@&?-y3jDRMrKuckL4sC=H2izan zwE(nNBlp>RX&y)u5)kRAFGoMg2el*H8uX`)xJgD@28y>D&o=mxt~z=XzLU+}2Qsh8 z!b1CO#$UizVeUTy`xlry%4Qv^4p_s_#{63zI8-kFOHFu4D?A6yWvN+$Il_Z(eub(W z7)E1U;!62E&Ryq?<@qbmyOIrI?Cdtp^3ocJyY088_ja?~G(VnUbBBD>`V-Az5{>X@ zCYoN}>&sC{CqKsv6SuOGKzG0k*)&b!I?z7BD9T=-ev5doH~1{$<6`Kg@K;Zd!3)_m zP0Z$PLH@U3uBZcO_Q#NevRVJX4e2gn#W@dVE9fg&x>u(VfnGSJgfyJ)KUP@4$#Bz2 zm>nSTcYtn7J6da^RZ4IS(nwg3+Ji1MbhNj^kF+(r*8#BC9^Py}`VwX^A+-|M4XqW` z1>p4l);gZ-q(Sg(*9W;jLh}&mgjN!GUGr0(Eub}NM~Qem+JZ+4*h7H&fc{urT3j~| ziG7d`s9$h_Q&E|CcS0b+2Hyjlqc6M<0(tP}*>`&R3_{j#v*Q>*qZw|e{RDc9HAc#T zmuCI(3HjFZ{GvaxU@k_k1lL9j5J2*Y&QMfXp5!Z&kA=Jb4 zZ{X;yI4OqqQv90Vc3;I`k?tMQYw_*YV1EVD*@{@ipIY<$IMsA}lq8qRg|ZSQB>n6< zYrgQu#dFcy@wGi;iKCmKn*Hr}NFYd=AFS!aWVs*lJdExNzaDt#>LH4)1#hqa_7LU1 zUy>G*+W-L%-k{hF%jGO436j$jT)+;uF9Q^Yc4TmmvZF5ahV8(iZP>99i`n##ZmcSB zD6Uh$r5;E6L@^gqAg;Na%i+J%+}lmy1M-3ivKhN0R(8CxW>G+`Pu;g*c)!+o`*dee7brkjQEywf1p#ZLcG$nM?k--vyoN zgmq!kE}>H(T4COIJ!S)5LjT(UI=2WV$@F(|^q>`F|8mkN+UYbYN#I?`|_TU08czAg5oFUnL*zRU@%8gEXiXuBT?^YgK~ti{}Q~hlLK6b_i+R>Hnxtyr*F6Q#+w_8z;5H*fI9{qDT zY`h(HuoQ9Zt_t2$;m@z9bJ%p&EP6LSo^^XN1vtVo_Q?j$S&dZex$xrnp<;6FQm}p& z7HL0h2HnF0N=3RWR2yx=tGgU4m*pET`4|(t-bx{~V}higEGHwn zG>Gv^xa!qN{}_xe0xoAkd5!_v8kY6t_H2boD!(3?Zvt14Gs6{7Iph{ zkgA9E;hu`V%VTg*3-oEg+KHY_CQctB$U*FVXFI^S1Uan!%iGyT(n6xkQPc1z9xcVr zT!cR-vU}7z(YIv$&^Aun5)uzfW68v7I1JjE<=2Ko?Ypmz7T1%Yw~LQQ$bOhWjv&0Z z7u993pVzZ7ucFyxmZa%V&n`6127#ZO1EQHea63qG4YvsD=413d#vGCtY-se2b@1mA z1*C-);Ay++;s@u!ab3Vcj)Dt)n))+lkdX_!?={QG`7Bw&pJplDo>nW1K*EC5fS5MC zptJdj?*^%o&E~_>`d~)~a=8^fc@si+KpfhqOlcu^9w)O@3Q`OC@gF1+#+sV|b0K8A zC2;S6xfV9;caFJw(7sxHe~#0AAo@?YN0??pvG*5omP3Z5y}L`mxt{~i^Y;GUi+TU< z2n}A25bqF7oPYB!Y#-ry5>PVn&8rpK@ml9X`{dX0Y_x|*0Z@)*L1ZUU!y}j}LEp3d zn}a2HiZ}&D`4h}nqE&cY!-+Aa4Y1w%)%ONI5(bC#%55w1ZhD71UR>9{9|Uf1CW(BI zFP0WPZ16*|%*i2kIQ~HUR{65HhyDh+B2lY&X*Al*K3L~AVoS=jCO6!+vETRHg}xlu z>%Fx0jf`hgbGShJd>fWEFyj$FexMW_#yQC$mRmVo3SVb63lB=>MyO|M}Ld6QuB8Z?bud!wZ7 znNqa{wfrk|ik<-k8UysAaCAkV5(BX7cp+@>WA*Cq4D)ut`WtM2h1Pa!H-F4KmjU0S zd!+4RQ^0==s5EfUh+@B8;Z`F|pwE1dOHc-y z7e%|!-fEg3TIu!G-2sMFMBJ<{k87w5EnKRexjP^Yd{hu`Yvxy zA@+L%X~qU*7xiJb*gj3Wh`s(0cRB`z3UbbI_yv5#f99zl1%71n`gE*sVwYDE&rBRD zkuPv3=nv49rZDx?Kx-#qQ-6R|hHb_((UL=^IHPw)Bebz94-Ftay zVhosi>eIXAQu9I~E}a8l`}7W~ z8T*CPq+O+&M6bAthC>~H=y#&n&(FSlUzbI z&QbeRYQ94|1*pQEn^-^moYH>E!U{NN9h$F<2Vw9LFE*6iA zjWSo}$&T^}IaCgpW94{xoSZ0+my_kma=M%;&yus`UGiJ`oyt+IR6EsA9ixs{SF4-V zz3L^kNPVEbP^ItN9mvG>+}u!W__FflfFa$S^rhvt?$+M>HGBq`XT+WeoDWq z-_sxJCHg=5JN;iBHNr@fZZb@!$uildg=uMWOoDtE zM{L7=uJ{u7d143dxnd{odEy(~^ToHg7l?o3K3{x?`vMV_eZ+;bpDYo#%Tie??vq30 z5OF{1yh1!6D`lm4Tvp3!@q|1|9wnZXqvdGvlpG_+h^OT^IZiwyC&&rnSvg5g63@vK zWw9cvGB{@UR5Uu9U{#X`AGt`qOd&2qDNPi~Xj#rtxn+$k2z zZ{#=PL$v0%Vu}1t{#PtjN*S?CHCGwpW7Sf%5}&D#s-sw?`m0j0S`AS{#13_YIzoJ{ zhN_`rry8z?i(RThjTGOgQEHUM!a}S*q?) z_n@96>NG{9V%;wTv@{F)KP@p|Pdip|N;Bj0;f&Ek#c;IH8PMySBBqJyVwRYVR+@*{ z7Xs5S6_<%C#5Lj;@mpa16S8jz*F8LcKt3oRk`K#A~qnZN+$a0Kk7%sA^IJ?RE*GD^-eKH|Hnu%5xq4>oMbwf z?&3_-*BmO&LVqn2=b8#LO3XJmn483<=()FxE6hFSK5-R#?{nf>^SXIcTxZ@fYsD|j z2D3r@9VN`uk7&p*`f>fDQ2J%PNMz}y`U}xcuhm;bPrXb3TMRJDG#5oC*R&TyOb^pX zRG5KgkT}W=G1rUn=4NxV_>1|C`GdIA{K@=D+->eOcZ++>L*_~Gpn1u>CZ05Jn771p z<}<*4kzv1q`m9B5CdMcakLqF(uqO^5md9g+dS1PtUIb-)S-q-WQ*Wua)jR54^`3ek zlyb59P%TkQ)kkWXTCP^8kJTsYQ}vlzsXhl4U9UE&t-8C;XKGrgi}fHqSeNO;^^u^h zBSBqH)u-t*^(=jko}=gKi}WS>a($)#k-l307&P}+DAjrD74^DWsNPU-f;NLPtJP|a zTC3Kn4Qiv>thT6aYPC z(c|=ZeXKrCPtX(fBz=NDQJ<_&*JtP{da9nTXXu&wEPb|~tG^trzCd5BFV#QL zSLti?wfZOer{F0+2UocseC0;{3;j!!vJLWPJwfu+uEVL-rWi1ru{N> zcXM|~E;Y_}=3C&6wN$<-E3M-4W6MpRM3Lyu<5H)i416*KOM0f z2)eGwP2Hyp{K8LH)HFTa05kqcK?|nx(*rF*Pd?hiK5cz_FXS}*(5hQ+OBMCPW1SHK>%&G?VStk@M5RJFa9Fw+I!-^9XPk)|Km&%+{uMeR)~(|5Wk*VG3n4u$jjgNOGXK6`0+Sm@<|(jeRquH2aP zym({=mqhK*p7x;6(l@I2cAOJ0WIxbFqy8a|4?!?u7;1saLHpU;A*DpuA*gYCrJ)vw z!&>6pgV`+S_jJ5V@sMm@fiZ`b(MCXKsT32?M?Ab6BnnVttx?jR=$VIMjM5nxFaY~| zi$NzM==Fu7h^ZCP-z@a6Y^G1m8A?Zlrrr16RRPLW3aKcaAKM=Etq5gr3)qRTdS^OZ zaB4Ao4M%ysyUH)O_tl!E$br471`c<(g*`}wZ{kDt9*A<&-GNKp7I~#x;PGfQaUBiV zgZ!ri^%j1--P2Y>pS1LYXE5qE{0P*veFnmeeXOfIrZ0Lp88(X%GyK$`v~B%IpxwNu z0`>1bL(rDqb2v(u=s6NCJrt#_L|c1LPfmeic87ADF&2p(D~`js_B1gL_KCR9fH{ue1+dXofcq52335#VPi&8o>(S&uyBvY{>1-zo zn~(7_wI5-sZ8iRc5wgIz+3H#K;eOj&j1))t?J*f6ix!ZUP82606!Eg~MZDkgN=los zm9UE-Bx>g~eO#_WNDn`W19*9w3`lmZq&0u%ihiHo#Bxrr{)SPvr~+>$AYLOULT^pC`C0BI<= z%y8W4JO<1FKAeHH&&1u?9|=xF+S768@pv$Y$Ac|+JlKNAgROWxn2S;J#Yp*5+-)&h zz6_N03f!G|oS4Jo#9WM?e+zp1IBqSTz@37TbYGE*(ezj$F?%!~Ly6<$ahTSbC@125 zyab2AOwx3GohfJHeU>~6?^$vdLOviL5dAUgeo!2Ok@rJl07l;ri$gI2e?$z#DEv`z z7)Iici2{tq9~Xrfkv}1dFe-mi6k{azf#`zK`C`!(BlHhNH;mGki0&AvFBLs7TK`Do zW5m8p^u!o#h3JKm`^OmDeu8ms9~!|U{O1_$_Qhy-6?|4>%-a{^`8A>+#`Nn&1mpS* zVi3mmJH!zf-|rGfVub%MQ6m2>|1E}Mq%XuUjP}#SV2t=N4#%iJTa;tu-$qnm^xsyD zzzje;jOW{{_M#Ls0i8r8W&=8lD$EFU5!IL#=qg5HW}urm3bO;<#VE`W66A|)wg_^|7!6{-4W)FTKj=>DVm0~Pr5w3>+&FW^r!fb*Vg8791 z6Nh6S;SXXQ<`r%eWtdyI7hmtk48usr_s6)tdk*lmB`_%m{flI)6g(sW)V`|($1yhofn%Xi!L4*S+9H}x;Nr@6a^OWg~3pqr>?g}d8hw()XMgYexC z5|q7vfO6BF&87CF0HT@F-6iOOC8+Jb{*#Y-3qLh(%yK5ujDLEfZo|)1)HFTQ05krv zK0Q#g)6o(nzs*2<#6L5U)9~{nP_JIdulJmVcJrP|sDJNiEvkSG_NhSG5ZwJzTi3s15!5dG9TzwMw=qaGeCxZt!_UeqYY=(mV z)99!h2AF$L{{wLRwb)T#nA)+4$7 z2v2RRQ5?F?hnyi$&jS2~`mF??nB%v{SaA{NxzELHHpw6J@OW1Zs6c<>JcGR2{AUZ3!A-os}v4G#;w9E``T zJmLNixxWa;FiL~sdvQFIu<$69^_nr)tEzy$&I*^Uh4g`hp9z;V56tnI{;k}3A{r`OtPIy-jw)Dlj z86=6iS04PmR`b5*GhMPS>bErKLbDULJ!p(YbIWw~#^cE<>;Y*jxbhfN$xRRvwX^VX z`4Hf>ho4>yigl=iM7T}g?PXJ@I26X~6CSR+K%sKk87eOa1{}a%Hn)Uflm^B3>cTTE zHW8NRfD-lN{zh@z^Be@(Qs8SLlgnNds~2kRM3&dmfVJt!J&lbdkBm|Qtp#i}HlqK~ zlinlIffhVA$_7==#~0#>3UcRg)IP0)8AzsQAVpdSYtHgnb4WAO5tmlO(s}gL40QTj zl!8{nGI{iq!K0jX9_3{4*dm9=7P&mOXvJfTJRV!L=CMT^9$U1P%jI&>jz<{nd4$n{ zM;Nq{wo5k@B-VRYmXMklPQ{ZVw*x9VF(7p#)sCc5g|_3fe?*317Sx?|1!4$%Ya z=6@FX`Y-w~SOdFL-zj=w9sRGOxBi>{o9LteuKzCj>bvw^SfjgJ-!1y_It&lSaH8k48*GY{o*jJygwic^n?0AQHVA8heQ$9;U5;oSbKX!M6ka14)XJ^ zeizW+)9(T9`}zYwT&x!(O{~--?ozA)MtBXdGp_-5=QY55UIXmKYk-IF8ejph0Y-QY zursaRi|(|3FYD zd73;8V@w*EMi_erGxi+K*i*{bQ^eSFEMw0g#-0+!o-vF)M>6&lGxi+K*fW~3rGGsd1=#-8SkJ*^mfG8lXE7<*bX_M|cPv}EjQ!`PF_*drNx+A{XE zW9-Rd?9q%phOtL6_M|fQWHa`((2rvMcBp<#KPJXw758!A+!OiZkS7SV4Y9KLcERRzE8$^>g|;QKg^P&jV9m&@YH;{UTO?yXlwoOX3);1HTMhd_}(^ zM(S7ftKumAntlyf{r1J&VoJaAR^H5%MuHZH25xnMH z$!pHtdChqM)||`5C^Om|Eryyg<`}F+k2T}O2s7RsD=N)#W&$vNqM3wM>*LJ{2szoD zj*v6W9E7>hTn?XW&GqoP!Q3cPc-49YuUA*1hx|k2Vb%Ik#C^;>j`i&)%#*M~??o8y zGwpaadz4vc)*O&*BY9a*a!K zhM6InalNOSbIk>?Q|-4kSC}8ePHiArbD$ZwK`LtwG~T6W9ZF}aqnXA?rY?%Hq!0Jk z?u;uP7*{$mt_)yY>CCv&pK+xx<3}dr$03X#Y1~KqF_z>pesp2{Xvg@`mhqz_<3}&X zk8H+|EXI!(j2~SYKl(6!3}F1|&zOh)CHqvbt>e_y>X zxV6 z55v1q7s9_-7ej&>qz8d74Az4oGnMHwybsry{f8dSk$9Kua`2szdL$_SC_M`HQ#G^$ zp<8nr;-0C`gp4&y&w|f6`W(ncbMzd%=jnNn%r4RwAFhg#camKu8fP_7#H&x7dtR6 zc4SlxNgoTQ+P(zDq6=1Dat1-{MMy(N<(5G4_S^_&aAmm215qaCBHp9L}Z4o() zsU4wdwN2zg+iJTw9vW9)Vn+Te^_4gQnpZo-$>PE`L^|HkUVf7E}(N$NZG9b)}g{Z|~OqADs*fzFl?r)sGs zN5EdGD`BtFRU%DS>uNED>4<{9+fir*q9$68)}zrDN9&_SiXNlKVB~a+J_h!&dMxbY z^f-~J$LsNEon!T}2!EVD4&f*038JN*s3)SOCh1AAAFq#x{RDl2=mf2~6Gby7xwe?dC6oep}r7yqL^9G>AM(tBf6Ol?Y>LVE~{ISLiFy?nFL2PK!cJ6GLKE;RU_5>z5joHj{3+7> znf@8D=;!+9z@qE)b+BKruZR5xeFN+_>KkGIh5iM~dy~Ei5&&&ZOVkky3o=0n`{MFWNe&DWs$DF|Z_pR|K$)|ci>yt!ICQ%i~16>h6p z6sws?Ur9fa=8)_R63uhkIYatJ7ioytG{R|vx*&Fbhd=Ym0<9tt z?BJpB6pnIi=fS$c)*bxGoex$5F{`D4VLMpJHc| zI)Jx%^FdY{(3`cQ_<@#H7t~uP%m?-GAA(DHRN`$wFj%#q*?|(~swK=-4`Z%cz+CkN z=BkCvRR=OxEo81b7^Uul`FoljC}OVKm$~W~=BoXftM+5AdNgy@LCjSLF;^{Qt~!9Z zYB6)w2y@k9=Bg3qssov;9?D#G0CUwtnX5*atBz)_dK7cj&dgQ2FjpPLvjdZuw{~FO z+Ld{0H|DL!hvt?#*PUBpuG)+FX;0>-HOxudGbe4!JhT_{%{=Ct-I+_aVg5Lh`QrrU ziEWuD_F!(9&wQ{a^TA%s2lJQ@_GUiVhxy>C%mI5b?`zFm?+oU8Lqc5d27k>yy2Qpm&aUhGIPCQ%=NOF>s2zplg#NP z^Ek;oZY1-#vCQKpFpnF@+-*4Xwc*UshBGe%4+9sI%)caaF3Fs$9doW0%(;3p=c;1P z)r&coX3ljIbFPz_bDhMT>tyC!eVB8d$egPeb1u!C>s01khB?=%%()CSu_r@9AkK9< zbFP-mxlU)!)slJENak5%HE}D++^Q{et8(U3k~x%Q4s|MXD8n48f_YPS=1oJGH+5&; zG=#ZQ4)dd-%#TiEew54n=rra>xy+A7GCvy2{AdF6qjAiSCNe*2#hhpu^PpkOgYuaN zjbI*>&pc=Z^Pqg@K_i$4wPqePj(JcX^PtJhgYuXMO=cdH$2@2<^Pp3i2N~u*lKBqt zjMj{ilCe-R{%OWP!+4g$IF!m5lg2pFjN7$2w`e-ISq8UO2G@Qj*LxP%cox@kHrH$m zuBnz>J2_l0Ib8BwXiCzb5Y1 zOikM`HEqt+v@=uFW=u`{F*WVS)KoJy?ZVVFlc{MIQ`1bQrddo)TQW86&D69DQ`6o| zO|zKBv@ zP*?6f`P^^vxy^cUoAu)Uk;8qWFZY0a#_qO^zd4M#l3T6^V`w|Z&325H?HC^=V`2*9 zUGGcPZF#rc#+_Bf_Di%BKSN;93I1c zMerSqJRU&}g1Q8a;u2ydJadAU1iKKlC+JMjgJ2(m0|@#O^dlG~mPEwyLgFF8iy%0G zU_8Oe1ZNVI6P!;lo!~Nps|aRG!(wE-Jc7HW(Q%Qy5`v`!s|eN+JVWpT!K(ys6Ko{- zlwh+|$_ROHSybUm6UIqZbO{;}G$&|DunR$Zg3bgz2=*a3fS|85AzrHDM=*$B2*C(~ z69~o=oJ?>gK{>(s1k+`3e^izcTtzUOU>?Ek1oH_N6Ff|?l3)$N)9`w7K=ZRU`@c$A zoxy6OFGn7{<1MqU{(8nxt$Zu9VWAGRMRb=Ce zF!AU9736-1FZ%e4{YKB0{pI+vtdGAi=zO-+e+5}@ot+2s<;eQ#n0V}8g6*KM=>xso zH_+3J1w9`R)=M&)kCvd7C>w1?yCHhI6di{#h70IAx{scsR~TV6I3s)33zRlcT2JX2 zN>5XIlF~X#*;%cu{BZ@vwv=|G6ux<}e3%VRD94Y|0@B-JPLU$rHAc}|y3+Ey((AEh z{dthLeXF2$wv+}bmKf8eEI(@Ckg9q^p3VocFoo{$w7UDef;jlMUkFI2;Epu@l&gk(@zX4_-IkO_h4S zK7SFvM)jcDPK_m+1GIW*P1bs#=l{fh+>^<~8jPT1YxXbjT5y3xX}bva;_a=+t0++=g$H3}+YzHmn3w~2azc&J3PO$Xd_qm|B0^1ZI-zEG4x#PvGD6L%d>WNc zSIEO#L*(JzA@XnqL>}HFA`fp9k;e%Nd1&S2{CFCbpHAgxQ2CiueioHar1D8relL|T zpz?)OzKF{2qw>X6em|8jq4I~Q{9!78gvysv`7$bBPUS18d?l4XM&*xF`D!X(L*;9! zd>xfPLFG?^ci{-$iWm46eqiDMiKmTclRIyO7Z7TK7ZYlRGZjyS^3xT3cmjkEcb@P; zixGLyGDIFUje4{3DcKO8MoK zUqSiRlwU*nb(DVsEL9uuNnODM902~>2=G`V!2_HO5$CBW9mW&ZqCB({e@APVL2I|1 zP;*5-)QaRotw=sRM{+zoKSlm5nx91Ti)el^%`c((r8K{s=2z1E8k%26^S|IZ;WTo^ zrg$l>K`No`utKMpEBK%b2p?)f_@E02A8JJ8q32WZXHkA49gU`MllGCVB|Gnzm%nkgt;ElESKtf0k|mQz{>HlxCm z|A+S(&!hK2p=-?*X{a|zL%j(fdV57WiKh3{bO}vY&~znDpP=bauUql9m}5erbOlYK zw1m=1O26bew`!pOZyKo8j!@Vke_uPIwU1%7b!#8c_;j z`Y|x3r|@%H{TPMc^Y8LwTKkyRKIW5=QN>skY8@*xQ;bDHJb_{~pmnSayamw2iZQg- zv9i{&GPXVZ@mN`FAJf{$wDvKreoU($!}gx7ehk}d{JX!$wDvKreN1Z~)7r+2ecZkfe4#*5c|3w z<)B=&0c}KiXcO9uwxF#Dc56X9&`z`q?M8dhUQ~bzQ4!jQV3!_f9(3O;FW7}?0PMar78}hI5uJdm2Zt`yNZu9Q&?(!Z$bfr1W z3u2>SKZ$yUYr-%?29Wa%YKI~EpPfMrzhE8b67q|y$b)FvBq(DKJ_+}VjcD%=v2`4{ zcM1uJ>V;_kW$>qk#Snq0O^@V2{Lkl(NFqm+z-rG&p+t6N?a!B_IIa@nhuCxK<7_}R zxB_;5F?&uma!w71Q=*V_rn_^(b#p>eIV{|2;5b6jrU;?G0v{??hiAk0wGFmB*c%i>#TnZGl|B)%B$1R z0dx=@LWj{2h#xP52-FHxiH@Qw*stt3s)l&fT2u$KqEDhz5L^BuI*aPjIn;p8LrnQk z5UF|@U4?k_o9H&W3sL8d=n;AhvFFdx3)GBWq1WgwddEIo%)@-F2GOkAxDD3B2G|fA zV^i28u08I6J7OzrjXT3`W_GwccECdHgk7*3cE>$&FWejV#r?219*BML5IhuiFB=Yf zmj%L}Wx;qf>{b>HyOhPk9l%g;SSOXN(}WZ&F_AR8RufXJ#zfNWdQFI~yaW$~{IL|7 zva{gX^#aQjjNIf62V1iwt@)9hC~>wH2oqnDT#1 zd*E|~A3jQ&b@Or9j(OQ~134pC8NtYTp4nUuhW*t9Dvb7ri^D2#87Zg8WpM*}d;?CP zzfhOa;X^{rK(((Vdb&6+OlZL9u{o*+8vfy8nM@iH79$c`GgfS-hJm@iEKCv^EsBW{ z1c<_;;>0oH@zEk_H-S%FxV_MW>A@bRX&{V}$>Kd69KuBsS#)G{c$iEiwU@St%0SXS zTpa5l5ygw8(K4}QnuE}lab{(?2HiiN!e1nr933u_3jD-knV{dt!UTO2WKm*Cv}_t< zVXQ3_GA@i0L|yS$`2B&Ag&y@L5v)0aO4=H=X*0YmYi?!(QcmAP~LsX$u|$i2AhQ&nyxNjvVW+b z+Q{$MvuTZ07e|{=N9+5UbG1E(B^L;Gug(ea9KQJV_x1y z_GWjq>a+P{Bs)rP)_Ut$@2V^)Z`dv>2s68Rt-HR~vnJ95P`Pkwmwsb*K%Mb8k{S~1K^H$Fr@CQ8+kTAxfa>(=VR_Z=@He8qSXekS0o;}lzv295+ zIMsqS4sp0N{xh!uWnJ4CBv=3V6QE zU}g|sb8PA$ocdcFRyE-;?u=W@C2+8j9b2N5zLI~?K$Y7XC=F<97@7Dd%C>Kso@>`Q zb<~-!%6~0?X&vh2_U%`CVdi<<_s$cd4qvp~&@p(>+$DiSPj1Vrb*?I{+EG%Jd{}c@ z>89HkH<{f#HPYg^`>#)~G0f>~+g+p6to^(DzWgP&V1{I;U+%vBje)a0J-ml3Gg}^E z)Np_7tz9l@0oK0XzG`s$iMOrT_4?oiZ#1ICbt7*yUbf6HJlfadeE5U45!>@Cjvc-@ z<$BN>SDdvo)i|<8`$G}URemA54r5Q()K*kV#IAGuTlQIfv~PfuRm_as^q+#}KHFOC zoOqycXH>vcftKI*L-U8==VkK;W}b*S#ng4wPk= z5A1$1VN$8UQAyK9i{q5^0O&f#nQ?V=7rFtmy3R>C$^0c3A;$vc$}5zSHmi)(h%&mm z=6vHw6QA|pK0F^fD7EqMmG`%wj5mKFirPDJQg+Cc15H2pJcv*3HNqrZO?>fr-Ra&* zoB+!J-3$3C^`!~Dh9n)EQsFsun;ExIFwtRx-JYZK6Dto`>@K_D-C4ZVE$HPuoAVdC zH*YcC*Foa?b)Io=(aNQlY~#k{yqkYr^J>zaG{YMYYdy~0)Xy>Kej$BVsD7_(H5Ij@ z(HliQc-~nSxnsx5j`rOs8P{&y(GKEJGq1y(;iAnutxP7ooyy%ZG%2~_^|s)*>-%h| zF*SOZfBZ>^RQvIiL#vvntvt9#b$pJY_Lc0Qs{S)HJjZnjE$OT3A9PADv4`yFtM`S` zOBTQ}8-U6ej0+lk+H^b!k` zmuh*vG)#Y;m#h~TeS5hv^WHflT+-ulojJ~JzpTp!Ve|CLfb-3FghAY#x|8EBE%TNZ z9`Ua3RCrF#*`1TepRmZTGt|G`IC9tm2JYl+wpj|UFNIwrE?_i4+V|0n`WO_5vO+W z;ny}rQoGw{n|-_>5%W%Zu@w!tHJxV72UKIzh-b)W;TGIDMewXV4MlbiIH zJSo=TVO)hmuyTYh&Q5Ni1RRx==nWJTWyM-(R8@V}%K2c| zjTc9-%Iy=2P6&M&TOik<^9TLrFA7hPi2j*+6Y4Q-SP2yaHO9@|)!ng&8z`0k-twvJ ze$H^wY8&52jxG;Fi$~$$ys(r}J>$c--MZZCm~C;j)7fdaJ(|8^tmdTeW!e_y&#UN_ z8Nge6E$fP=wMECPqOOT9o3{i!Y<}tJUT+hax#P*3cR{J=*Sdk9@ zocw(26TkJ*krxk}?HF^hTV$iz!~=KCh7U##gO06CxUj$L@yD+sV>MRq{rT5JkfH0$^Gk7qI~R@(*H^-_}!etvlP?j!R~`*seRSm<(e z%`Ri%E6v4^cci$gEKpl{%43)Hyi%XWO}~wQ>7Bl!uC4n`*SUp>W^TV3HBZu8C1Z@< z87#}~Jx6<3i{;}8cgkK#;rzBe%<=me?}nR?=Z3B-xi>j0s_x$JY?#k!8%Cd1NW^kd zWB8y1IG`1rT8s#=YdSNmBS38?uxpH!?HZ+Kzzkpu>cH#G^kRBuyJx$ly0jQHA8mN4 zy^@5oD=!I4%N2lGqilBnL4*9gC5ZW-yu8H9Ig?uY z=+Lk0i^e~W)Xd>~@V-emlx!a?%k-~xtL^XeM0LqTr=ONTT{dE)0i*KOT*r8vnAltIawH-GH|Ga&}fS=di4zG1svY~5N{F9_x z*K2OL^TA<{qt13*T)Ox6FX~Nabhr8!9DZ6iO0%Koa`VhiKG#k@`fbyojJDo79^e4Tz|7>_4 z%Pv0G+Ygzy*}0CNb45S+$5ht{u8UYaCGO$#x!dv@3It!hgogJN6_t8-)$xKvI zrUSi%ZQy2ric&M+`-4FiMzu#g9sZ$rbv#tVF-W20rF2qEQi zKg<0?ZI{Cfy?f!(ne{n8CmwaaC%LfmP3Eab8ya=mBh{ssjGDLmcW`;O46n{jUy`LZ z;JQj1yNsf|_nPgrO6&&2jk~*GlV;yv+TJZ~oERw489g)?X?M&3QTh_WZ=xx8&Cyyv7Y5aG;8rG$X%m zk<;X+>xEf6D%xw`nm=W#@T&kn!*80K|1kGOkC!R~hjiXOCikmI%Z*)DXiQ!< zzU;u_b!JcbGm|rd%n}3w{<2`rNl$E=o`=ZKuF|~w{XSKrzK!F~)t_1P{nl4y&gU1t zN%QuN6EB*%3#UcC5I)@5zD3)m!kve!w6r%qNZRyF>tllAGahjN)p10GCDa*G}V%_?Ig zOsAGKXjYSdqFEi7!5@y|qsJP%qimRsPCFm`1x;6K_!6%A=XwX9=Jk<*fX1#7Y`_8-Q+BMTbuW}ci(+gN!zqG$W z*`(;)3WlHD{-WE?nt@S2?X^~S)q23|dGpe6UD-R`km{>F+jQdYS?j*MBD;;RU(G$Q zNWI{MC?AjRRue<`mHnQr#d{nyH?G#V@a$z07rZ-D*4uu_4JKAvu~xk6R-1vZuXGw4 zv1xQTy0T^8H_oDCT~vJD1y46=G%p=cw959U6j6RgjaI{q`A-`?AD9F(^G@x`*lb~? zHqm=Y7XNaFoA#0VE0Ljr=*6>JO=F!iJy+zE*GxzY>%(MJZp8d=Pmhfq=G-B1jk?hP z&V#ATPtUI0dg#u$t&ZlFR$uGe&r~Z~cWt!Qa-p2}4m9X%7yx8a&i$=)C8wo7_&BVY zos!DvDve`m3E3f+wtRIu*4YIMRk<*N07IpW>4%X>b*@lLNr=aoE2T7rI^cQ;6WyV|>H zR;*Yz&umXoX@0@=(Yz~t3oi1PAMJQIq*ps@ZXbTO|H!bJhB0XYRbG4aJw`3DZ9Y(Q zs5Wh9u!qFB%h0p;!y1G2yB}#NwKuQr7S((!^M={p6$!&6B?&9vXPY>Q>`wP^TUBmW zx;DaU`Xs9x^B=!CdLmmbPd_r>K1iIrD|~e9+N`{nd6!eBxkZc-so&2Uw;}D`bX}Xs z8A-*z7Oz|oV_Nxqq-n1JmnLdNhsckFA;H|BOW*uZt$%#a_i3H_Y^$o8yv1zW zrJVH|6E^tQT1u8#HyLiXamn+I@|ts`yl3gcz?X(I8{Y~_Ch*%&xwB@)^*+be%Q-R_ zv55b8_xM6NCk(R2kjB~Y_ZtlU%!qgP81QR8v>&ce^Fu-vL%aLHQ4zKw1Ig}=jzVV_ zH=$GTKeW3!+t$~P8#yiX#5MQ)c@Oe`)Z=qvKGW`c@XAy3YLAG6pOjZT7=G1sgNw@d z8&Y1buGaNmx#^Vify5^k>U&Y4SlX|y+GSo?y+)~U#9Q4<>e8ofKP|Xm+%Ia!Nq?W9 z*t}IEItOOl#*Y0C>2vwpYh>3ZNbiricrS3_)7;I|I%+;}$eQ?l*^Rutxq3xmsw;&J z)3+rY4|j1kxT;>!#pl)ix)5Fc`kjZ9dc2yxW!UXo-m!6<;*fChwh{5hR}AlTos+$8 zVe`4NEjp=%2X2@*y{La%X4CY}c)_((*B0u|_PZ52JS{Xw-p){6chJ%6vo{a?S@76m us;Iqi*t?)_{VtbR&RISA>7iLq3j0o-W0^TTaMr6)nl`fC5$z{tAoO3K3(?5{ literal 0 HcmV?d00001 diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 3/fonts.conf b/gst-sdk/tutorials/xcode iOS/Tutorial 3/fonts.conf new file mode 100644 index 0000000000..6b780ea92e --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 3/fonts.conf @@ -0,0 +1,126 @@ + + + + + + + +

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 z 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 literal 0 HcmV?d00001 diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/fonts.conf b/gst-sdk/tutorials/xcode iOS/Tutorial 2/fonts.conf new file mode 100644 index 0000000000..6b780ea92e --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/fonts.conf @@ -0,0 +1,126 @@ + + + + + + + +

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 z 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 literal 0 HcmV?d00001 diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 1/fonts.conf b/gst-sdk/tutorials/xcode iOS/Tutorial 1/fonts.conf new file mode 100644 index 0000000000..6b780ea92e --- /dev/null +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 1/fonts.conf @@ -0,0 +1,126 @@ + + + + + + + +

- - + + - - + + @@ -92,4 +92,4 @@ - \ No newline at end of file + diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-12/basic-tutorial-12.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-12/basic-tutorial-12.vcxproj index bb5a388cfe..b7ea312447 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-12/basic-tutorial-12.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-12/basic-tutorial-12.vcxproj @@ -43,13 +43,13 @@
- - + + - - + + @@ -92,4 +92,4 @@ - \ No newline at end of file + diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-13/basic-tutorial-13.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-13/basic-tutorial-13.vcxproj index f0ae7c64c7..8f92472b0d 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-13/basic-tutorial-13.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-13/basic-tutorial-13.vcxproj @@ -43,13 +43,13 @@
- - + + - - + + @@ -92,4 +92,4 @@ - \ No newline at end of file + diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-15/basic-tutorial-15.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-15/basic-tutorial-15.vcxproj index cd7e3270a5..bde525743d 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-15/basic-tutorial-15.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-15/basic-tutorial-15.vcxproj @@ -43,17 +43,17 @@
- - - - + + + + - - - - + + + + @@ -97,4 +97,4 @@ - \ No newline at end of file + diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-2/basic-tutorial-2.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-2/basic-tutorial-2.vcxproj index 4da9b383c5..127416db17 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-2/basic-tutorial-2.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-2/basic-tutorial-2.vcxproj @@ -43,13 +43,13 @@ - - + + - - + + @@ -92,4 +92,4 @@ - \ No newline at end of file + diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-3/basic-tutorial-3.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-3/basic-tutorial-3.vcxproj index e02a19fd03..dad617a73a 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-3/basic-tutorial-3.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-3/basic-tutorial-3.vcxproj @@ -43,13 +43,13 @@ - - + + - - + + @@ -92,4 +92,4 @@ - \ No newline at end of file + diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-4/basic-tutorial-4.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-4/basic-tutorial-4.vcxproj index b31200650c..1e30db6be4 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-4/basic-tutorial-4.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-4/basic-tutorial-4.vcxproj @@ -43,13 +43,13 @@ - - + + - - + + @@ -92,4 +92,4 @@ - \ No newline at end of file + diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-5/basic-tutorial-5.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-5/basic-tutorial-5.vcxproj index 8ae696f20e..407fba879c 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-5/basic-tutorial-5.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-5/basic-tutorial-5.vcxproj @@ -43,17 +43,17 @@ - - - - + + + + - - - - + + + + @@ -96,4 +96,4 @@ - \ No newline at end of file + diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-6/basic-tutorial-6.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-6/basic-tutorial-6.vcxproj index 9db79a6393..58b4e23a5a 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-6/basic-tutorial-6.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-6/basic-tutorial-6.vcxproj @@ -43,13 +43,13 @@ - - + + - - + + @@ -92,4 +92,4 @@ - \ No newline at end of file + diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-7/basic-tutorial-7.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-7/basic-tutorial-7.vcxproj index 6a609d2e9d..9518e6ba39 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-7/basic-tutorial-7.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-7/basic-tutorial-7.vcxproj @@ -43,13 +43,13 @@ - - + + - - + + @@ -92,4 +92,4 @@ - \ No newline at end of file + diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-8/basic-tutorial-8.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-8/basic-tutorial-8.vcxproj index 7da90e7e76..1a58345ff1 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-8/basic-tutorial-8.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-8/basic-tutorial-8.vcxproj @@ -43,13 +43,13 @@ - - + + - - + + @@ -92,4 +92,4 @@ - \ No newline at end of file + diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-9/basic-tutorial-9.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-9/basic-tutorial-9.vcxproj index 2196977644..84774106da 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-9/basic-tutorial-9.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-9/basic-tutorial-9.vcxproj @@ -43,15 +43,15 @@ - - - + + + - - - + + + @@ -94,4 +94,4 @@ - \ No newline at end of file + diff --git a/gst-sdk/tutorials/vs2010/playback-tutorial-1/playback-tutorial-1.vcxproj b/gst-sdk/tutorials/vs2010/playback-tutorial-1/playback-tutorial-1.vcxproj index f4bfa77da6..1874b112ee 100644 --- a/gst-sdk/tutorials/vs2010/playback-tutorial-1/playback-tutorial-1.vcxproj +++ b/gst-sdk/tutorials/vs2010/playback-tutorial-1/playback-tutorial-1.vcxproj @@ -43,13 +43,13 @@ - - + + - - + + @@ -92,4 +92,4 @@ - \ No newline at end of file + diff --git a/gst-sdk/tutorials/vs2010/playback-tutorial-2/playback-tutorial-2.vcxproj b/gst-sdk/tutorials/vs2010/playback-tutorial-2/playback-tutorial-2.vcxproj index aec8b9f4cc..554510d0de 100644 --- a/gst-sdk/tutorials/vs2010/playback-tutorial-2/playback-tutorial-2.vcxproj +++ b/gst-sdk/tutorials/vs2010/playback-tutorial-2/playback-tutorial-2.vcxproj @@ -43,13 +43,13 @@ - - + + - - + + @@ -92,4 +92,4 @@ - \ No newline at end of file + diff --git a/gst-sdk/tutorials/vs2010/playback-tutorial-3/playback-tutorial-3.vcxproj b/gst-sdk/tutorials/vs2010/playback-tutorial-3/playback-tutorial-3.vcxproj index 41f16d0021..be0e7e4ce1 100644 --- a/gst-sdk/tutorials/vs2010/playback-tutorial-3/playback-tutorial-3.vcxproj +++ b/gst-sdk/tutorials/vs2010/playback-tutorial-3/playback-tutorial-3.vcxproj @@ -43,13 +43,13 @@ - - + + - - + + @@ -92,4 +92,4 @@ - \ No newline at end of file + diff --git a/gst-sdk/tutorials/vs2010/playback-tutorial-4/playback-tutorial-4.vcxproj b/gst-sdk/tutorials/vs2010/playback-tutorial-4/playback-tutorial-4.vcxproj index 2da5fbcbcb..aa1d760d7d 100644 --- a/gst-sdk/tutorials/vs2010/playback-tutorial-4/playback-tutorial-4.vcxproj +++ b/gst-sdk/tutorials/vs2010/playback-tutorial-4/playback-tutorial-4.vcxproj @@ -43,13 +43,13 @@ - - + + - - + + @@ -92,4 +92,4 @@ - \ No newline at end of file + diff --git a/gst-sdk/tutorials/vs2010/playback-tutorial-5/playback-tutorial-5.vcxproj b/gst-sdk/tutorials/vs2010/playback-tutorial-5/playback-tutorial-5.vcxproj index 3bfe49f9ba..155e9eef08 100644 --- a/gst-sdk/tutorials/vs2010/playback-tutorial-5/playback-tutorial-5.vcxproj +++ b/gst-sdk/tutorials/vs2010/playback-tutorial-5/playback-tutorial-5.vcxproj @@ -43,15 +43,15 @@ - - - + + + - - - + + + @@ -94,4 +94,4 @@ - \ No newline at end of file + diff --git a/gst-sdk/tutorials/vs2010/playback-tutorial-6/playback-tutorial-6.vcxproj b/gst-sdk/tutorials/vs2010/playback-tutorial-6/playback-tutorial-6.vcxproj index e168038c59..9fc31bf29c 100644 --- a/gst-sdk/tutorials/vs2010/playback-tutorial-6/playback-tutorial-6.vcxproj +++ b/gst-sdk/tutorials/vs2010/playback-tutorial-6/playback-tutorial-6.vcxproj @@ -43,13 +43,13 @@ - - + + - - + + @@ -92,4 +92,4 @@ - \ No newline at end of file + diff --git a/gst-sdk/tutorials/vs2010/playback-tutorial-7/playback-tutorial-7.vcxproj b/gst-sdk/tutorials/vs2010/playback-tutorial-7/playback-tutorial-7.vcxproj index b36543375a..a42f7bc1af 100644 --- a/gst-sdk/tutorials/vs2010/playback-tutorial-7/playback-tutorial-7.vcxproj +++ b/gst-sdk/tutorials/vs2010/playback-tutorial-7/playback-tutorial-7.vcxproj @@ -43,13 +43,13 @@ - - + + - - + + @@ -92,4 +92,4 @@ - \ No newline at end of file + From c6bc1450c65bf2660a27054516bbbd9d7d908fd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 28 Nov 2013 08:29:57 +0100 Subject: [PATCH 317/979] vs2010: Fix GSTREAMER_ROOT environment variable name --- .../basic-tutorial-1/basic-tutorial-1.vcxproj | 8 ++++---- .../basic-tutorial-12/basic-tutorial-12.vcxproj | 8 ++++---- .../basic-tutorial-13/basic-tutorial-13.vcxproj | 8 ++++---- .../basic-tutorial-15/basic-tutorial-15.vcxproj | 16 ++++++++-------- .../basic-tutorial-2/basic-tutorial-2.vcxproj | 8 ++++---- .../basic-tutorial-3/basic-tutorial-3.vcxproj | 8 ++++---- .../basic-tutorial-4/basic-tutorial-4.vcxproj | 8 ++++---- .../basic-tutorial-5/basic-tutorial-5.vcxproj | 16 ++++++++-------- .../basic-tutorial-6/basic-tutorial-6.vcxproj | 8 ++++---- .../basic-tutorial-7/basic-tutorial-7.vcxproj | 8 ++++---- .../basic-tutorial-8/basic-tutorial-8.vcxproj | 8 ++++---- .../basic-tutorial-9/basic-tutorial-9.vcxproj | 12 ++++++------ .../playback-tutorial-1.vcxproj | 8 ++++---- .../playback-tutorial-2.vcxproj | 8 ++++---- .../playback-tutorial-3.vcxproj | 8 ++++---- .../playback-tutorial-4.vcxproj | 8 ++++---- .../playback-tutorial-5.vcxproj | 12 ++++++------ .../playback-tutorial-6.vcxproj | 8 ++++---- .../playback-tutorial-7.vcxproj | 8 ++++---- 19 files changed, 88 insertions(+), 88 deletions(-) diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-1/basic-tutorial-1.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-1/basic-tutorial-1.vcxproj index 3433d83b99..67fd09360e 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-1/basic-tutorial-1.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-1/basic-tutorial-1.vcxproj @@ -43,13 +43,13 @@ - - + + - - + + diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-12/basic-tutorial-12.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-12/basic-tutorial-12.vcxproj index b7ea312447..477166f286 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-12/basic-tutorial-12.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-12/basic-tutorial-12.vcxproj @@ -43,13 +43,13 @@ - - + + - - + + diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-13/basic-tutorial-13.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-13/basic-tutorial-13.vcxproj index 8f92472b0d..4c8f40f971 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-13/basic-tutorial-13.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-13/basic-tutorial-13.vcxproj @@ -43,13 +43,13 @@ - - + + - - + + diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-15/basic-tutorial-15.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-15/basic-tutorial-15.vcxproj index bde525743d..3e5b9cded5 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-15/basic-tutorial-15.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-15/basic-tutorial-15.vcxproj @@ -43,17 +43,17 @@ - - - - + + + + - - - - + + + + diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-2/basic-tutorial-2.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-2/basic-tutorial-2.vcxproj index 127416db17..fded79d9f6 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-2/basic-tutorial-2.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-2/basic-tutorial-2.vcxproj @@ -43,13 +43,13 @@ - - + + - - + + diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-3/basic-tutorial-3.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-3/basic-tutorial-3.vcxproj index dad617a73a..6d6d88f3ab 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-3/basic-tutorial-3.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-3/basic-tutorial-3.vcxproj @@ -43,13 +43,13 @@ - - + + - - + + diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-4/basic-tutorial-4.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-4/basic-tutorial-4.vcxproj index 1e30db6be4..ff4b549507 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-4/basic-tutorial-4.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-4/basic-tutorial-4.vcxproj @@ -43,13 +43,13 @@ - - + + - - + + diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-5/basic-tutorial-5.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-5/basic-tutorial-5.vcxproj index 407fba879c..52042728b7 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-5/basic-tutorial-5.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-5/basic-tutorial-5.vcxproj @@ -43,17 +43,17 @@ - - - - + + + + - - - - + + + + diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-6/basic-tutorial-6.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-6/basic-tutorial-6.vcxproj index 58b4e23a5a..b3763aefd1 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-6/basic-tutorial-6.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-6/basic-tutorial-6.vcxproj @@ -43,13 +43,13 @@ - - + + - - + + diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-7/basic-tutorial-7.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-7/basic-tutorial-7.vcxproj index 9518e6ba39..18442b0e1a 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-7/basic-tutorial-7.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-7/basic-tutorial-7.vcxproj @@ -43,13 +43,13 @@ - - + + - - + + diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-8/basic-tutorial-8.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-8/basic-tutorial-8.vcxproj index 1a58345ff1..163e31d00b 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-8/basic-tutorial-8.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-8/basic-tutorial-8.vcxproj @@ -43,13 +43,13 @@ - - + + - - + + diff --git a/gst-sdk/tutorials/vs2010/basic-tutorial-9/basic-tutorial-9.vcxproj b/gst-sdk/tutorials/vs2010/basic-tutorial-9/basic-tutorial-9.vcxproj index 84774106da..712187d9be 100644 --- a/gst-sdk/tutorials/vs2010/basic-tutorial-9/basic-tutorial-9.vcxproj +++ b/gst-sdk/tutorials/vs2010/basic-tutorial-9/basic-tutorial-9.vcxproj @@ -43,15 +43,15 @@ - - - + + + - - - + + + diff --git a/gst-sdk/tutorials/vs2010/playback-tutorial-1/playback-tutorial-1.vcxproj b/gst-sdk/tutorials/vs2010/playback-tutorial-1/playback-tutorial-1.vcxproj index 1874b112ee..c0efc33f64 100644 --- a/gst-sdk/tutorials/vs2010/playback-tutorial-1/playback-tutorial-1.vcxproj +++ b/gst-sdk/tutorials/vs2010/playback-tutorial-1/playback-tutorial-1.vcxproj @@ -43,13 +43,13 @@ - - + + - - + + diff --git a/gst-sdk/tutorials/vs2010/playback-tutorial-2/playback-tutorial-2.vcxproj b/gst-sdk/tutorials/vs2010/playback-tutorial-2/playback-tutorial-2.vcxproj index 554510d0de..68d5167995 100644 --- a/gst-sdk/tutorials/vs2010/playback-tutorial-2/playback-tutorial-2.vcxproj +++ b/gst-sdk/tutorials/vs2010/playback-tutorial-2/playback-tutorial-2.vcxproj @@ -43,13 +43,13 @@ - - + + - - + + diff --git a/gst-sdk/tutorials/vs2010/playback-tutorial-3/playback-tutorial-3.vcxproj b/gst-sdk/tutorials/vs2010/playback-tutorial-3/playback-tutorial-3.vcxproj index be0e7e4ce1..cb664f21e9 100644 --- a/gst-sdk/tutorials/vs2010/playback-tutorial-3/playback-tutorial-3.vcxproj +++ b/gst-sdk/tutorials/vs2010/playback-tutorial-3/playback-tutorial-3.vcxproj @@ -43,13 +43,13 @@ - - + + - - + + diff --git a/gst-sdk/tutorials/vs2010/playback-tutorial-4/playback-tutorial-4.vcxproj b/gst-sdk/tutorials/vs2010/playback-tutorial-4/playback-tutorial-4.vcxproj index aa1d760d7d..4964c262ee 100644 --- a/gst-sdk/tutorials/vs2010/playback-tutorial-4/playback-tutorial-4.vcxproj +++ b/gst-sdk/tutorials/vs2010/playback-tutorial-4/playback-tutorial-4.vcxproj @@ -43,13 +43,13 @@ - - + + - - + + diff --git a/gst-sdk/tutorials/vs2010/playback-tutorial-5/playback-tutorial-5.vcxproj b/gst-sdk/tutorials/vs2010/playback-tutorial-5/playback-tutorial-5.vcxproj index 155e9eef08..bbad658714 100644 --- a/gst-sdk/tutorials/vs2010/playback-tutorial-5/playback-tutorial-5.vcxproj +++ b/gst-sdk/tutorials/vs2010/playback-tutorial-5/playback-tutorial-5.vcxproj @@ -43,15 +43,15 @@ - - - + + + - - - + + + diff --git a/gst-sdk/tutorials/vs2010/playback-tutorial-6/playback-tutorial-6.vcxproj b/gst-sdk/tutorials/vs2010/playback-tutorial-6/playback-tutorial-6.vcxproj index 9fc31bf29c..76b178bfca 100644 --- a/gst-sdk/tutorials/vs2010/playback-tutorial-6/playback-tutorial-6.vcxproj +++ b/gst-sdk/tutorials/vs2010/playback-tutorial-6/playback-tutorial-6.vcxproj @@ -43,13 +43,13 @@ - - + + - - + + diff --git a/gst-sdk/tutorials/vs2010/playback-tutorial-7/playback-tutorial-7.vcxproj b/gst-sdk/tutorials/vs2010/playback-tutorial-7/playback-tutorial-7.vcxproj index a42f7bc1af..f6c7756754 100644 --- a/gst-sdk/tutorials/vs2010/playback-tutorial-7/playback-tutorial-7.vcxproj +++ b/gst-sdk/tutorials/vs2010/playback-tutorial-7/playback-tutorial-7.vcxproj @@ -43,13 +43,13 @@ - - + + - - + + From d60ef5ba44606e8523c15bf9133b2a251e85b950 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Wed, 12 Feb 2014 14:54:26 +0100 Subject: [PATCH 318/979] Include stdint.h for android/native_window.h Yay, broken headers! --- gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c | 1 + gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c | 1 + gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c | 1 + 3 files changed, 3 insertions(+) diff --git a/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c b/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c index 10b89b74da..d6bb427bda 100644 --- a/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c +++ b/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c @@ -1,4 +1,5 @@ #include +#include #include #include #include diff --git a/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c b/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c index 648030a511..192ae9a25c 100644 --- a/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c +++ b/gst-sdk/tutorials/android-tutorial-4/jni/tutorial-4.c @@ -1,4 +1,5 @@ #include +#include #include #include #include diff --git a/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c b/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c index 78dea649c3..285b497f2e 100755 --- a/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c +++ b/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c @@ -1,4 +1,5 @@ #include +#include #include #include #include From ac9e4c62b7fd94d2d3f9199b901fcba63f2e5969 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Mon, 21 Jul 2014 16:32:21 +0200 Subject: [PATCH 319/979] android: It's org.freedesktop.gstreamer.GStreamer now since 1.4.0 --- .../src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java | 2 +- .../src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java | 2 +- .../src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java | 2 +- .../src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java | 2 +- .../src/com/gst_sdk_tutorials/tutorial_5/Tutorial5.java | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java index 37d8cbcdbe..f424b53cc8 100644 --- a/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java +++ b/gst-sdk/tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java @@ -5,7 +5,7 @@ import android.os.Bundle; import android.widget.TextView; import android.widget.Toast; -import com.gstreamer.GStreamer; +import org.freedesktop.gstreamer.GStreamer; public class Tutorial1 extends Activity { private native String nativeGetGStreamerInfo(); diff --git a/gst-sdk/tutorials/android-tutorial-2/src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java b/gst-sdk/tutorials/android-tutorial-2/src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java index 517873b301..d0cc4a3205 100644 --- a/gst-sdk/tutorials/android-tutorial-2/src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java +++ b/gst-sdk/tutorials/android-tutorial-2/src/com/gst_sdk_tutorials/tutorial_2/Tutorial2.java @@ -9,7 +9,7 @@ import android.widget.ImageButton; import android.widget.TextView; import android.widget.Toast; -import com.gstreamer.GStreamer; +import org.freedesktop.gstreamer.GStreamer; public class Tutorial2 extends Activity { private native void nativeInit(); // Initialize native code, build pipeline, etc diff --git a/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java b/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java index a36c80086d..054a8808c6 100644 --- a/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java +++ b/gst-sdk/tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/Tutorial3.java @@ -11,7 +11,7 @@ import android.widget.ImageButton; import android.widget.TextView; import android.widget.Toast; -import com.gstreamer.GStreamer; +import org.freedesktop.gstreamer.GStreamer; public class Tutorial3 extends Activity implements SurfaceHolder.Callback { private native void nativeInit(); // Initialize native code, build pipeline, etc diff --git a/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java b/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java index 269fac329c..4eda8b01fc 100644 --- a/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java +++ b/gst-sdk/tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/Tutorial4.java @@ -17,7 +17,7 @@ import android.widget.SeekBar.OnSeekBarChangeListener; import android.widget.TextView; import android.widget.Toast; -import com.gstreamer.GStreamer; +import org.freedesktop.gstreamer.GStreamer; public class Tutorial4 extends Activity implements SurfaceHolder.Callback, OnSeekBarChangeListener { private native void nativeInit(); // Initialize native code, build pipeline, etc diff --git a/gst-sdk/tutorials/android-tutorial-5/src/com/gst_sdk_tutorials/tutorial_5/Tutorial5.java b/gst-sdk/tutorials/android-tutorial-5/src/com/gst_sdk_tutorials/tutorial_5/Tutorial5.java index ea661c8880..e51ecb3348 100644 --- a/gst-sdk/tutorials/android-tutorial-5/src/com/gst_sdk_tutorials/tutorial_5/Tutorial5.java +++ b/gst-sdk/tutorials/android-tutorial-5/src/com/gst_sdk_tutorials/tutorial_5/Tutorial5.java @@ -22,7 +22,7 @@ import android.widget.SeekBar.OnSeekBarChangeListener; import android.widget.TextView; import android.widget.Toast; -import com.gstreamer.GStreamer; +import org.freedesktop.gstreamer.GStreamer; import com.lamerman.FileDialog; public class Tutorial5 extends Activity implements SurfaceHolder.Callback, OnSeekBarChangeListener { From f106d6e264348875a0b2c78803001248ba12fe22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Mon, 21 Jul 2014 16:50:17 +0200 Subject: [PATCH 320/979] ios: Update gst_ios_init.[hm] files for 1.4.0 --- .../xcode iOS/Tutorial 1/gst_ios_init.h | 7 +++ .../xcode iOS/Tutorial 1/gst_ios_init.m | 53 ++++++++++++++++--- .../xcode iOS/Tutorial 2/gst_ios_init.h | 7 +++ .../xcode iOS/Tutorial 2/gst_ios_init.m | 53 ++++++++++++++++--- .../xcode iOS/Tutorial 3/gst_ios_init.h | 7 +++ .../xcode iOS/Tutorial 3/gst_ios_init.m | 53 ++++++++++++++++--- .../xcode iOS/Tutorial 4/gst_ios_init.h | 7 +++ .../xcode iOS/Tutorial 4/gst_ios_init.m | 53 ++++++++++++++++--- .../xcode iOS/Tutorial 5/gst_ios_init.h | 7 +++ .../xcode iOS/Tutorial 5/gst_ios_init.m | 53 ++++++++++++++++--- 10 files changed, 270 insertions(+), 30 deletions(-) diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 1/gst_ios_init.h b/gst-sdk/tutorials/xcode iOS/Tutorial 1/gst_ios_init.h index 4d8b22ad93..c5c929fa16 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 1/gst_ios_init.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 1/gst_ios_init.h @@ -5,6 +5,12 @@ G_BEGIN_DECLS +#define GST_G_IO_MODULE_DECLARE(name) \ +extern void G_PASTE(g_io_module_, G_PASTE(name, _load_static)) (void) + +#define GST_G_IO_MODULE_LOAD(name) \ +G_PASTE(g_io_module_, G_PASTE(name, _load_static)) () + /* Uncomment each line to enable the plugin categories that your application needs. * You can also enable individual plugins. See gst_ios_init.c to see their names */ @@ -21,6 +27,7 @@ G_BEGIN_DECLS //#define GST_IOS_PLUGINS_EFFECTS //#define GST_IOS_PLUGINS_CODECS //#define GST_IOS_PLUGINS_NET +//#define GST_IOS_PLUGINS_EDITING //#define GST_IOS_GIO_MODULE_GNUTLS diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 1/gst_ios_init.m b/gst-sdk/tutorials/xcode iOS/Tutorial 1/gst_ios_init.m index 7ae9b4447b..403f9f9c17 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 1/gst_ios_init.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 1/gst_ios_init.m @@ -75,6 +75,9 @@ GST_PLUGIN_STATIC_DECLARE(mpegtsdemux); #if defined(GST_IOS_PLUGIN_MPEGTSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(mpegtsmux); #endif +#if defined(GST_IOS_PLUGIN_VOAACENC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(voaacenc); +#endif #if defined(GST_IOS_PLUGIN_A52DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(a52dec); #endif @@ -120,14 +123,20 @@ GST_PLUGIN_STATIC_DECLARE(assrender); #if defined(GST_IOS_PLUGIN_MMS) || defined(GST_IOS_PLUGINS_NET_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(mms); #endif +#if defined(GST_IOS_PLUGIN_RTMP) || defined(GST_IOS_PLUGINS_NET_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(rtmp); +#endif #if defined(GST_IOS_PLUGIN_OSXAUDIO) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_DECLARE(osxaudio); #endif #if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_DECLARE(applemedia); #endif -#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) -GST_PLUGIN_STATIC_DECLARE(eglglessink); +#if defined(GST_IOS_PLUGIN_SHM) || defined(GST_IOS_PLUGINS_SYS) +GST_PLUGIN_STATIC_DECLARE(shm); +#endif +#if defined(GST_IOS_PLUGIN_OPENGL) || defined(GST_IOS_PLUGINS_SYS) +GST_PLUGIN_STATIC_DECLARE(opengl); #endif #if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_DECLARE(libvisual); @@ -423,6 +432,12 @@ GST_PLUGIN_STATIC_DECLARE(y4mdec); #if defined(GST_IOS_PLUGIN_JPEGFORMAT) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(jpegformat); #endif +#if defined(GST_IOS_PLUGIN_GDP) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(gdp); +#endif +#if defined(GST_IOS_PLUGIN_RSVG) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(rsvg); +#endif #if defined(GST_IOS_PLUGIN_TCP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(tcp); #endif @@ -447,10 +462,13 @@ GST_PLUGIN_STATIC_DECLARE(dataurisrc); #if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(sdp); #endif +#if defined(GST_IOS_PLUGIN_GNONLIN) || defined(GST_IOS_PLUGINS_EDITING) +GST_PLUGIN_STATIC_DECLARE(gnonlin); +#endif #if defined(GST_IOS_GIO_MODULE_GNUTLS) #include - G_IO_MODULE_DECLARE(gnutls); + GST_G_IO_MODULE_DECLARE(gnutls); #endif void @@ -467,6 +485,7 @@ gst_ios_init (void) const gchar *tmp_dir = [tmp UTF8String]; const gchar *cache_dir = [cache UTF8String]; const gchar *docs_dir = [docs UTF8String]; + gchar *ca_certificates; g_setenv ("TMP", tmp_dir, TRUE); g_setenv ("TEMP", tmp_dir, TRUE); @@ -480,6 +499,10 @@ gst_ios_init (void) g_setenv ("XDG_CONFIG_HOME", cache_dir, TRUE); g_setenv ("XDG_DATA_HOME", resources_dir, TRUE); g_setenv ("FONTCONFIG_PATH", resources_dir, TRUE); + + ca_certificates = g_build_filename (resources_dir, "ssl", "certs", "ca-certifcates.crt", NULL); + g_setenv ("CA_CERTIFICATES", ca_certificates, TRUE); + g_free (ca_certificates); gst_init (NULL, NULL); @@ -558,6 +581,9 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_MPEGTSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(mpegtsmux); #endif +#if defined(GST_IOS_PLUGIN_VOAACENC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(voaacenc); +#endif #if defined(GST_IOS_PLUGIN_A52DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(a52dec); #endif @@ -603,14 +629,20 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_MMS) || defined(GST_IOS_PLUGINS_NET_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(mms); #endif +#if defined(GST_IOS_PLUGIN_RTMP) || defined(GST_IOS_PLUGINS_NET_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(rtmp); +#endif #if defined(GST_IOS_PLUGIN_OSXAUDIO) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_REGISTER(osxaudio); #endif #if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_REGISTER(applemedia); #endif -#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) - GST_PLUGIN_STATIC_REGISTER(eglglessink); +#if defined(GST_IOS_PLUGIN_SHM) || defined(GST_IOS_PLUGINS_SYS) + GST_PLUGIN_STATIC_REGISTER(shm); +#endif +#if defined(GST_IOS_PLUGIN_OPENGL) || defined(GST_IOS_PLUGINS_SYS) + GST_PLUGIN_STATIC_REGISTER(opengl); #endif #if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_REGISTER(libvisual); @@ -906,6 +938,12 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_JPEGFORMAT) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(jpegformat); #endif +#if defined(GST_IOS_PLUGIN_GDP) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(gdp); +#endif +#if defined(GST_IOS_PLUGIN_RSVG) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(rsvg); +#endif #if defined(GST_IOS_PLUGIN_TCP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(tcp); #endif @@ -930,9 +968,12 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(sdp); #endif +#if defined(GST_IOS_PLUGIN_GNONLIN) || defined(GST_IOS_PLUGINS_EDITING) + GST_PLUGIN_STATIC_REGISTER(gnonlin); +#endif #if defined(GST_IOS_GIO_MODULE_GNUTLS) - G_IO_MODULE_LOAD(gnutls); + GST_G_IO_MODULE_LOAD(gnutls); #endif /* Lower the ranks of filesrc and giosrc so iosavassetsrc is diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.h b/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.h index 90acb3eba7..b1471b25a3 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.h @@ -5,6 +5,12 @@ G_BEGIN_DECLS +#define GST_G_IO_MODULE_DECLARE(name) \ +extern void G_PASTE(g_io_module_, G_PASTE(name, _load_static)) (void) + +#define GST_G_IO_MODULE_LOAD(name) \ +G_PASTE(g_io_module_, G_PASTE(name, _load_static)) () + /* Uncomment each line to enable the plugin categories that your application needs. * You can also enable individual plugins. See gst_ios_init.c to see their names */ @@ -21,6 +27,7 @@ G_BEGIN_DECLS //#define GST_IOS_PLUGINS_EFFECTS //#define GST_IOS_PLUGINS_CODECS //#define GST_IOS_PLUGINS_NET +//#define GST_IOS_PLUGINS_EDITING //#define GST_IOS_GIO_MODULE_GNUTLS diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.m b/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.m index 7ae9b4447b..403f9f9c17 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.m @@ -75,6 +75,9 @@ GST_PLUGIN_STATIC_DECLARE(mpegtsdemux); #if defined(GST_IOS_PLUGIN_MPEGTSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(mpegtsmux); #endif +#if defined(GST_IOS_PLUGIN_VOAACENC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(voaacenc); +#endif #if defined(GST_IOS_PLUGIN_A52DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(a52dec); #endif @@ -120,14 +123,20 @@ GST_PLUGIN_STATIC_DECLARE(assrender); #if defined(GST_IOS_PLUGIN_MMS) || defined(GST_IOS_PLUGINS_NET_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(mms); #endif +#if defined(GST_IOS_PLUGIN_RTMP) || defined(GST_IOS_PLUGINS_NET_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(rtmp); +#endif #if defined(GST_IOS_PLUGIN_OSXAUDIO) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_DECLARE(osxaudio); #endif #if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_DECLARE(applemedia); #endif -#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) -GST_PLUGIN_STATIC_DECLARE(eglglessink); +#if defined(GST_IOS_PLUGIN_SHM) || defined(GST_IOS_PLUGINS_SYS) +GST_PLUGIN_STATIC_DECLARE(shm); +#endif +#if defined(GST_IOS_PLUGIN_OPENGL) || defined(GST_IOS_PLUGINS_SYS) +GST_PLUGIN_STATIC_DECLARE(opengl); #endif #if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_DECLARE(libvisual); @@ -423,6 +432,12 @@ GST_PLUGIN_STATIC_DECLARE(y4mdec); #if defined(GST_IOS_PLUGIN_JPEGFORMAT) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(jpegformat); #endif +#if defined(GST_IOS_PLUGIN_GDP) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(gdp); +#endif +#if defined(GST_IOS_PLUGIN_RSVG) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(rsvg); +#endif #if defined(GST_IOS_PLUGIN_TCP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(tcp); #endif @@ -447,10 +462,13 @@ GST_PLUGIN_STATIC_DECLARE(dataurisrc); #if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(sdp); #endif +#if defined(GST_IOS_PLUGIN_GNONLIN) || defined(GST_IOS_PLUGINS_EDITING) +GST_PLUGIN_STATIC_DECLARE(gnonlin); +#endif #if defined(GST_IOS_GIO_MODULE_GNUTLS) #include - G_IO_MODULE_DECLARE(gnutls); + GST_G_IO_MODULE_DECLARE(gnutls); #endif void @@ -467,6 +485,7 @@ gst_ios_init (void) const gchar *tmp_dir = [tmp UTF8String]; const gchar *cache_dir = [cache UTF8String]; const gchar *docs_dir = [docs UTF8String]; + gchar *ca_certificates; g_setenv ("TMP", tmp_dir, TRUE); g_setenv ("TEMP", tmp_dir, TRUE); @@ -480,6 +499,10 @@ gst_ios_init (void) g_setenv ("XDG_CONFIG_HOME", cache_dir, TRUE); g_setenv ("XDG_DATA_HOME", resources_dir, TRUE); g_setenv ("FONTCONFIG_PATH", resources_dir, TRUE); + + ca_certificates = g_build_filename (resources_dir, "ssl", "certs", "ca-certifcates.crt", NULL); + g_setenv ("CA_CERTIFICATES", ca_certificates, TRUE); + g_free (ca_certificates); gst_init (NULL, NULL); @@ -558,6 +581,9 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_MPEGTSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(mpegtsmux); #endif +#if defined(GST_IOS_PLUGIN_VOAACENC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(voaacenc); +#endif #if defined(GST_IOS_PLUGIN_A52DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(a52dec); #endif @@ -603,14 +629,20 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_MMS) || defined(GST_IOS_PLUGINS_NET_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(mms); #endif +#if defined(GST_IOS_PLUGIN_RTMP) || defined(GST_IOS_PLUGINS_NET_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(rtmp); +#endif #if defined(GST_IOS_PLUGIN_OSXAUDIO) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_REGISTER(osxaudio); #endif #if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_REGISTER(applemedia); #endif -#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) - GST_PLUGIN_STATIC_REGISTER(eglglessink); +#if defined(GST_IOS_PLUGIN_SHM) || defined(GST_IOS_PLUGINS_SYS) + GST_PLUGIN_STATIC_REGISTER(shm); +#endif +#if defined(GST_IOS_PLUGIN_OPENGL) || defined(GST_IOS_PLUGINS_SYS) + GST_PLUGIN_STATIC_REGISTER(opengl); #endif #if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_REGISTER(libvisual); @@ -906,6 +938,12 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_JPEGFORMAT) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(jpegformat); #endif +#if defined(GST_IOS_PLUGIN_GDP) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(gdp); +#endif +#if defined(GST_IOS_PLUGIN_RSVG) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(rsvg); +#endif #if defined(GST_IOS_PLUGIN_TCP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(tcp); #endif @@ -930,9 +968,12 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(sdp); #endif +#if defined(GST_IOS_PLUGIN_GNONLIN) || defined(GST_IOS_PLUGINS_EDITING) + GST_PLUGIN_STATIC_REGISTER(gnonlin); +#endif #if defined(GST_IOS_GIO_MODULE_GNUTLS) - G_IO_MODULE_LOAD(gnutls); + GST_G_IO_MODULE_LOAD(gnutls); #endif /* Lower the ranks of filesrc and giosrc so iosavassetsrc is diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.h b/gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.h index 7d9d70f9cb..f87cfe17a4 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.h @@ -5,6 +5,12 @@ G_BEGIN_DECLS +#define GST_G_IO_MODULE_DECLARE(name) \ +extern void G_PASTE(g_io_module_, G_PASTE(name, _load_static)) (void) + +#define GST_G_IO_MODULE_LOAD(name) \ +G_PASTE(g_io_module_, G_PASTE(name, _load_static)) () + /* Uncomment each line to enable the plugin categories that your application needs. * You can also enable individual plugins. See gst_ios_init.c to see their names */ @@ -21,6 +27,7 @@ G_BEGIN_DECLS #define GST_IOS_PLUGINS_EFFECTS //#define GST_IOS_PLUGINS_CODECS //#define GST_IOS_PLUGINS_NET +//#define GST_IOS_PLUGINS_EDITING //#define GST_IOS_GIO_MODULE_GNUTLS diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.m b/gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.m index 7ae9b4447b..403f9f9c17 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 3/gst_ios_init.m @@ -75,6 +75,9 @@ GST_PLUGIN_STATIC_DECLARE(mpegtsdemux); #if defined(GST_IOS_PLUGIN_MPEGTSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(mpegtsmux); #endif +#if defined(GST_IOS_PLUGIN_VOAACENC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(voaacenc); +#endif #if defined(GST_IOS_PLUGIN_A52DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(a52dec); #endif @@ -120,14 +123,20 @@ GST_PLUGIN_STATIC_DECLARE(assrender); #if defined(GST_IOS_PLUGIN_MMS) || defined(GST_IOS_PLUGINS_NET_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(mms); #endif +#if defined(GST_IOS_PLUGIN_RTMP) || defined(GST_IOS_PLUGINS_NET_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(rtmp); +#endif #if defined(GST_IOS_PLUGIN_OSXAUDIO) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_DECLARE(osxaudio); #endif #if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_DECLARE(applemedia); #endif -#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) -GST_PLUGIN_STATIC_DECLARE(eglglessink); +#if defined(GST_IOS_PLUGIN_SHM) || defined(GST_IOS_PLUGINS_SYS) +GST_PLUGIN_STATIC_DECLARE(shm); +#endif +#if defined(GST_IOS_PLUGIN_OPENGL) || defined(GST_IOS_PLUGINS_SYS) +GST_PLUGIN_STATIC_DECLARE(opengl); #endif #if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_DECLARE(libvisual); @@ -423,6 +432,12 @@ GST_PLUGIN_STATIC_DECLARE(y4mdec); #if defined(GST_IOS_PLUGIN_JPEGFORMAT) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(jpegformat); #endif +#if defined(GST_IOS_PLUGIN_GDP) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(gdp); +#endif +#if defined(GST_IOS_PLUGIN_RSVG) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(rsvg); +#endif #if defined(GST_IOS_PLUGIN_TCP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(tcp); #endif @@ -447,10 +462,13 @@ GST_PLUGIN_STATIC_DECLARE(dataurisrc); #if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(sdp); #endif +#if defined(GST_IOS_PLUGIN_GNONLIN) || defined(GST_IOS_PLUGINS_EDITING) +GST_PLUGIN_STATIC_DECLARE(gnonlin); +#endif #if defined(GST_IOS_GIO_MODULE_GNUTLS) #include - G_IO_MODULE_DECLARE(gnutls); + GST_G_IO_MODULE_DECLARE(gnutls); #endif void @@ -467,6 +485,7 @@ gst_ios_init (void) const gchar *tmp_dir = [tmp UTF8String]; const gchar *cache_dir = [cache UTF8String]; const gchar *docs_dir = [docs UTF8String]; + gchar *ca_certificates; g_setenv ("TMP", tmp_dir, TRUE); g_setenv ("TEMP", tmp_dir, TRUE); @@ -480,6 +499,10 @@ gst_ios_init (void) g_setenv ("XDG_CONFIG_HOME", cache_dir, TRUE); g_setenv ("XDG_DATA_HOME", resources_dir, TRUE); g_setenv ("FONTCONFIG_PATH", resources_dir, TRUE); + + ca_certificates = g_build_filename (resources_dir, "ssl", "certs", "ca-certifcates.crt", NULL); + g_setenv ("CA_CERTIFICATES", ca_certificates, TRUE); + g_free (ca_certificates); gst_init (NULL, NULL); @@ -558,6 +581,9 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_MPEGTSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(mpegtsmux); #endif +#if defined(GST_IOS_PLUGIN_VOAACENC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(voaacenc); +#endif #if defined(GST_IOS_PLUGIN_A52DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(a52dec); #endif @@ -603,14 +629,20 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_MMS) || defined(GST_IOS_PLUGINS_NET_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(mms); #endif +#if defined(GST_IOS_PLUGIN_RTMP) || defined(GST_IOS_PLUGINS_NET_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(rtmp); +#endif #if defined(GST_IOS_PLUGIN_OSXAUDIO) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_REGISTER(osxaudio); #endif #if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_REGISTER(applemedia); #endif -#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) - GST_PLUGIN_STATIC_REGISTER(eglglessink); +#if defined(GST_IOS_PLUGIN_SHM) || defined(GST_IOS_PLUGINS_SYS) + GST_PLUGIN_STATIC_REGISTER(shm); +#endif +#if defined(GST_IOS_PLUGIN_OPENGL) || defined(GST_IOS_PLUGINS_SYS) + GST_PLUGIN_STATIC_REGISTER(opengl); #endif #if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_REGISTER(libvisual); @@ -906,6 +938,12 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_JPEGFORMAT) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(jpegformat); #endif +#if defined(GST_IOS_PLUGIN_GDP) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(gdp); +#endif +#if defined(GST_IOS_PLUGIN_RSVG) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(rsvg); +#endif #if defined(GST_IOS_PLUGIN_TCP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(tcp); #endif @@ -930,9 +968,12 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(sdp); #endif +#if defined(GST_IOS_PLUGIN_GNONLIN) || defined(GST_IOS_PLUGINS_EDITING) + GST_PLUGIN_STATIC_REGISTER(gnonlin); +#endif #if defined(GST_IOS_GIO_MODULE_GNUTLS) - G_IO_MODULE_LOAD(gnutls); + GST_G_IO_MODULE_LOAD(gnutls); #endif /* Lower the ranks of filesrc and giosrc so iosavassetsrc is diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.h b/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.h index 57064020b4..79ee758a4e 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.h @@ -5,6 +5,12 @@ G_BEGIN_DECLS +#define GST_G_IO_MODULE_DECLARE(name) \ +extern void G_PASTE(g_io_module_, G_PASTE(name, _load_static)) (void) + +#define GST_G_IO_MODULE_LOAD(name) \ +G_PASTE(g_io_module_, G_PASTE(name, _load_static)) () + /* Uncomment each line to enable the plugin categories that your application needs. * You can also enable individual plugins. See gst_ios_init.c to see their names */ @@ -21,6 +27,7 @@ G_BEGIN_DECLS //#define GST_IOS_PLUGINS_EFFECTS #define GST_IOS_PLUGINS_CODECS #define GST_IOS_PLUGINS_NET +//#define GST_IOS_PLUGINS_EDITING //#define GST_IOS_GIO_MODULE_GNUTLS diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.m b/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.m index 7ae9b4447b..403f9f9c17 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 4/gst_ios_init.m @@ -75,6 +75,9 @@ GST_PLUGIN_STATIC_DECLARE(mpegtsdemux); #if defined(GST_IOS_PLUGIN_MPEGTSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(mpegtsmux); #endif +#if defined(GST_IOS_PLUGIN_VOAACENC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(voaacenc); +#endif #if defined(GST_IOS_PLUGIN_A52DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(a52dec); #endif @@ -120,14 +123,20 @@ GST_PLUGIN_STATIC_DECLARE(assrender); #if defined(GST_IOS_PLUGIN_MMS) || defined(GST_IOS_PLUGINS_NET_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(mms); #endif +#if defined(GST_IOS_PLUGIN_RTMP) || defined(GST_IOS_PLUGINS_NET_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(rtmp); +#endif #if defined(GST_IOS_PLUGIN_OSXAUDIO) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_DECLARE(osxaudio); #endif #if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_DECLARE(applemedia); #endif -#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) -GST_PLUGIN_STATIC_DECLARE(eglglessink); +#if defined(GST_IOS_PLUGIN_SHM) || defined(GST_IOS_PLUGINS_SYS) +GST_PLUGIN_STATIC_DECLARE(shm); +#endif +#if defined(GST_IOS_PLUGIN_OPENGL) || defined(GST_IOS_PLUGINS_SYS) +GST_PLUGIN_STATIC_DECLARE(opengl); #endif #if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_DECLARE(libvisual); @@ -423,6 +432,12 @@ GST_PLUGIN_STATIC_DECLARE(y4mdec); #if defined(GST_IOS_PLUGIN_JPEGFORMAT) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(jpegformat); #endif +#if defined(GST_IOS_PLUGIN_GDP) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(gdp); +#endif +#if defined(GST_IOS_PLUGIN_RSVG) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(rsvg); +#endif #if defined(GST_IOS_PLUGIN_TCP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(tcp); #endif @@ -447,10 +462,13 @@ GST_PLUGIN_STATIC_DECLARE(dataurisrc); #if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(sdp); #endif +#if defined(GST_IOS_PLUGIN_GNONLIN) || defined(GST_IOS_PLUGINS_EDITING) +GST_PLUGIN_STATIC_DECLARE(gnonlin); +#endif #if defined(GST_IOS_GIO_MODULE_GNUTLS) #include - G_IO_MODULE_DECLARE(gnutls); + GST_G_IO_MODULE_DECLARE(gnutls); #endif void @@ -467,6 +485,7 @@ gst_ios_init (void) const gchar *tmp_dir = [tmp UTF8String]; const gchar *cache_dir = [cache UTF8String]; const gchar *docs_dir = [docs UTF8String]; + gchar *ca_certificates; g_setenv ("TMP", tmp_dir, TRUE); g_setenv ("TEMP", tmp_dir, TRUE); @@ -480,6 +499,10 @@ gst_ios_init (void) g_setenv ("XDG_CONFIG_HOME", cache_dir, TRUE); g_setenv ("XDG_DATA_HOME", resources_dir, TRUE); g_setenv ("FONTCONFIG_PATH", resources_dir, TRUE); + + ca_certificates = g_build_filename (resources_dir, "ssl", "certs", "ca-certifcates.crt", NULL); + g_setenv ("CA_CERTIFICATES", ca_certificates, TRUE); + g_free (ca_certificates); gst_init (NULL, NULL); @@ -558,6 +581,9 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_MPEGTSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(mpegtsmux); #endif +#if defined(GST_IOS_PLUGIN_VOAACENC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(voaacenc); +#endif #if defined(GST_IOS_PLUGIN_A52DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(a52dec); #endif @@ -603,14 +629,20 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_MMS) || defined(GST_IOS_PLUGINS_NET_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(mms); #endif +#if defined(GST_IOS_PLUGIN_RTMP) || defined(GST_IOS_PLUGINS_NET_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(rtmp); +#endif #if defined(GST_IOS_PLUGIN_OSXAUDIO) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_REGISTER(osxaudio); #endif #if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_REGISTER(applemedia); #endif -#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) - GST_PLUGIN_STATIC_REGISTER(eglglessink); +#if defined(GST_IOS_PLUGIN_SHM) || defined(GST_IOS_PLUGINS_SYS) + GST_PLUGIN_STATIC_REGISTER(shm); +#endif +#if defined(GST_IOS_PLUGIN_OPENGL) || defined(GST_IOS_PLUGINS_SYS) + GST_PLUGIN_STATIC_REGISTER(opengl); #endif #if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_REGISTER(libvisual); @@ -906,6 +938,12 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_JPEGFORMAT) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(jpegformat); #endif +#if defined(GST_IOS_PLUGIN_GDP) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(gdp); +#endif +#if defined(GST_IOS_PLUGIN_RSVG) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(rsvg); +#endif #if defined(GST_IOS_PLUGIN_TCP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(tcp); #endif @@ -930,9 +968,12 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(sdp); #endif +#if defined(GST_IOS_PLUGIN_GNONLIN) || defined(GST_IOS_PLUGINS_EDITING) + GST_PLUGIN_STATIC_REGISTER(gnonlin); +#endif #if defined(GST_IOS_GIO_MODULE_GNUTLS) - G_IO_MODULE_LOAD(gnutls); + GST_G_IO_MODULE_LOAD(gnutls); #endif /* Lower the ranks of filesrc and giosrc so iosavassetsrc is diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.h b/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.h index 57064020b4..79ee758a4e 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.h +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.h @@ -5,6 +5,12 @@ G_BEGIN_DECLS +#define GST_G_IO_MODULE_DECLARE(name) \ +extern void G_PASTE(g_io_module_, G_PASTE(name, _load_static)) (void) + +#define GST_G_IO_MODULE_LOAD(name) \ +G_PASTE(g_io_module_, G_PASTE(name, _load_static)) () + /* Uncomment each line to enable the plugin categories that your application needs. * You can also enable individual plugins. See gst_ios_init.c to see their names */ @@ -21,6 +27,7 @@ G_BEGIN_DECLS //#define GST_IOS_PLUGINS_EFFECTS #define GST_IOS_PLUGINS_CODECS #define GST_IOS_PLUGINS_NET +//#define GST_IOS_PLUGINS_EDITING //#define GST_IOS_GIO_MODULE_GNUTLS diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.m b/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.m index 7ae9b4447b..403f9f9c17 100644 --- a/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.m +++ b/gst-sdk/tutorials/xcode iOS/Tutorial 5/gst_ios_init.m @@ -75,6 +75,9 @@ GST_PLUGIN_STATIC_DECLARE(mpegtsdemux); #if defined(GST_IOS_PLUGIN_MPEGTSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(mpegtsmux); #endif +#if defined(GST_IOS_PLUGIN_VOAACENC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(voaacenc); +#endif #if defined(GST_IOS_PLUGIN_A52DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(a52dec); #endif @@ -120,14 +123,20 @@ GST_PLUGIN_STATIC_DECLARE(assrender); #if defined(GST_IOS_PLUGIN_MMS) || defined(GST_IOS_PLUGINS_NET_RESTRICTED) GST_PLUGIN_STATIC_DECLARE(mms); #endif +#if defined(GST_IOS_PLUGIN_RTMP) || defined(GST_IOS_PLUGINS_NET_RESTRICTED) +GST_PLUGIN_STATIC_DECLARE(rtmp); +#endif #if defined(GST_IOS_PLUGIN_OSXAUDIO) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_DECLARE(osxaudio); #endif #if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_DECLARE(applemedia); #endif -#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) -GST_PLUGIN_STATIC_DECLARE(eglglessink); +#if defined(GST_IOS_PLUGIN_SHM) || defined(GST_IOS_PLUGINS_SYS) +GST_PLUGIN_STATIC_DECLARE(shm); +#endif +#if defined(GST_IOS_PLUGIN_OPENGL) || defined(GST_IOS_PLUGINS_SYS) +GST_PLUGIN_STATIC_DECLARE(opengl); #endif #if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_DECLARE(libvisual); @@ -423,6 +432,12 @@ GST_PLUGIN_STATIC_DECLARE(y4mdec); #if defined(GST_IOS_PLUGIN_JPEGFORMAT) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_DECLARE(jpegformat); #endif +#if defined(GST_IOS_PLUGIN_GDP) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(gdp); +#endif +#if defined(GST_IOS_PLUGIN_RSVG) || defined(GST_IOS_PLUGINS_CODECS) +GST_PLUGIN_STATIC_DECLARE(rsvg); +#endif #if defined(GST_IOS_PLUGIN_TCP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(tcp); #endif @@ -447,10 +462,13 @@ GST_PLUGIN_STATIC_DECLARE(dataurisrc); #if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_DECLARE(sdp); #endif +#if defined(GST_IOS_PLUGIN_GNONLIN) || defined(GST_IOS_PLUGINS_EDITING) +GST_PLUGIN_STATIC_DECLARE(gnonlin); +#endif #if defined(GST_IOS_GIO_MODULE_GNUTLS) #include - G_IO_MODULE_DECLARE(gnutls); + GST_G_IO_MODULE_DECLARE(gnutls); #endif void @@ -467,6 +485,7 @@ gst_ios_init (void) const gchar *tmp_dir = [tmp UTF8String]; const gchar *cache_dir = [cache UTF8String]; const gchar *docs_dir = [docs UTF8String]; + gchar *ca_certificates; g_setenv ("TMP", tmp_dir, TRUE); g_setenv ("TEMP", tmp_dir, TRUE); @@ -480,6 +499,10 @@ gst_ios_init (void) g_setenv ("XDG_CONFIG_HOME", cache_dir, TRUE); g_setenv ("XDG_DATA_HOME", resources_dir, TRUE); g_setenv ("FONTCONFIG_PATH", resources_dir, TRUE); + + ca_certificates = g_build_filename (resources_dir, "ssl", "certs", "ca-certifcates.crt", NULL); + g_setenv ("CA_CERTIFICATES", ca_certificates, TRUE); + g_free (ca_certificates); gst_init (NULL, NULL); @@ -558,6 +581,9 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_MPEGTSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(mpegtsmux); #endif +#if defined(GST_IOS_PLUGIN_VOAACENC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(voaacenc); +#endif #if defined(GST_IOS_PLUGIN_A52DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(a52dec); #endif @@ -603,14 +629,20 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_MMS) || defined(GST_IOS_PLUGINS_NET_RESTRICTED) GST_PLUGIN_STATIC_REGISTER(mms); #endif +#if defined(GST_IOS_PLUGIN_RTMP) || defined(GST_IOS_PLUGINS_NET_RESTRICTED) + GST_PLUGIN_STATIC_REGISTER(rtmp); +#endif #if defined(GST_IOS_PLUGIN_OSXAUDIO) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_REGISTER(osxaudio); #endif #if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS) GST_PLUGIN_STATIC_REGISTER(applemedia); #endif -#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS) - GST_PLUGIN_STATIC_REGISTER(eglglessink); +#if defined(GST_IOS_PLUGIN_SHM) || defined(GST_IOS_PLUGINS_SYS) + GST_PLUGIN_STATIC_REGISTER(shm); +#endif +#if defined(GST_IOS_PLUGIN_OPENGL) || defined(GST_IOS_PLUGINS_SYS) + GST_PLUGIN_STATIC_REGISTER(opengl); #endif #if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS) GST_PLUGIN_STATIC_REGISTER(libvisual); @@ -906,6 +938,12 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_JPEGFORMAT) || defined(GST_IOS_PLUGINS_CODECS) GST_PLUGIN_STATIC_REGISTER(jpegformat); #endif +#if defined(GST_IOS_PLUGIN_GDP) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(gdp); +#endif +#if defined(GST_IOS_PLUGIN_RSVG) || defined(GST_IOS_PLUGINS_CODECS) + GST_PLUGIN_STATIC_REGISTER(rsvg); +#endif #if defined(GST_IOS_PLUGIN_TCP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(tcp); #endif @@ -930,9 +968,12 @@ gst_ios_init (void) #if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET) GST_PLUGIN_STATIC_REGISTER(sdp); #endif +#if defined(GST_IOS_PLUGIN_GNONLIN) || defined(GST_IOS_PLUGINS_EDITING) + GST_PLUGIN_STATIC_REGISTER(gnonlin); +#endif #if defined(GST_IOS_GIO_MODULE_GNUTLS) - G_IO_MODULE_LOAD(gnutls); + GST_G_IO_MODULE_LOAD(gnutls); #endif /* Lower the ranks of filesrc and giosrc so iosavassetsrc is From 861f9c96a8c02839bdf81886260c979115c5bc86 Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Fri, 13 Feb 2015 21:27:03 +0000 Subject: [PATCH 321/979] Tutorial5: Fix live streams Switching from PAUSED to PLAYING with a live stream returns ASYNC, not NO_PREROLL. It would reset the is_live state back to FALSE. --- gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c b/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c index 285b497f2e..81e9524c12 100755 --- a/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c +++ b/gst-sdk/tutorials/android-tutorial-5/jni/tutorial-5.c @@ -214,7 +214,7 @@ static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { /* Called when the End Of the Stream is reached. Just move to the beginning of the media and pause. */ static void eos_cb (GstBus *bus, GstMessage *msg, CustomData *data) { data->target_state = GST_STATE_PAUSED; - data->is_live = (gst_element_set_state (data->pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_NO_PREROLL); + data->is_live |= (gst_element_set_state (data->pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_NO_PREROLL); execute_seek (0, data); } @@ -292,6 +292,9 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { set_ui_message(message, data); g_free (message); + if (new_state == GST_STATE_NULL || new_state == GST_STATE_READY) + data->is_live = FALSE; + /* The Ready to Paused state change is particularly interesting: */ if (old_state == GST_STATE_READY && new_state == GST_STATE_PAUSED) { /* By now the sink already knows the media size */ @@ -442,7 +445,7 @@ void gst_native_set_uri (JNIEnv* env, jobject thiz, jstring uri) { g_object_set(data->pipeline, "uri", char_uri, NULL); (*env)->ReleaseStringUTFChars (env, uri, char_uri); data->duration = GST_CLOCK_TIME_NONE; - data->is_live = (gst_element_set_state (data->pipeline, data->target_state) == GST_STATE_CHANGE_NO_PREROLL); + data->is_live |= (gst_element_set_state (data->pipeline, data->target_state) == GST_STATE_CHANGE_NO_PREROLL); } /* Set pipeline to PLAYING state */ @@ -451,7 +454,7 @@ static void gst_native_play (JNIEnv* env, jobject thiz) { if (!data) return; GST_DEBUG ("Setting state to PLAYING"); data->target_state = GST_STATE_PLAYING; - data->is_live = (gst_element_set_state (data->pipeline, GST_STATE_PLAYING) == GST_STATE_CHANGE_NO_PREROLL); + data->is_live |= (gst_element_set_state (data->pipeline, GST_STATE_PLAYING) == GST_STATE_CHANGE_NO_PREROLL); } /* Set pipeline to PAUSED state */ @@ -460,7 +463,7 @@ static void gst_native_pause (JNIEnv* env, jobject thiz) { if (!data) return; GST_DEBUG ("Setting state to PAUSED"); data->target_state = GST_STATE_PAUSED; - data->is_live = (gst_element_set_state (data->pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_NO_PREROLL); + data->is_live |= (gst_element_set_state (data->pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_NO_PREROLL); } /* Instruct the pipeline to seek to a different position */ From 4991ff644eed120a8d9e36357a7a6c0253a2a0d8 Mon Sep 17 00:00:00 2001 From: Justin Kim Date: Thu, 3 Sep 2015 14:11:53 +0900 Subject: [PATCH 322/979] ios tutorials: make work with Xcode 6.4 Tutorial 2 to 5 requires to link with VideoToolBox and arm64 is needed for iphone 5/6. --- .../project.pbxproj | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj b/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj index b05f38cc0f..dd1c76eb7a 100644 --- a/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj +++ b/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj @@ -1005,7 +1005,7 @@ ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = 2; - VALID_ARCHS = "armv7 i386"; + VALID_ARCHS = "armv7 i386 arm64"; }; name = Debug; }; @@ -1016,7 +1016,7 @@ ONLY_ACTIVE_ARCH = NO; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = 2; - VALID_ARCHS = "armv7 i386"; + VALID_ARCHS = "armv7 i386 arm64"; }; name = Release; }; @@ -1210,6 +1210,8 @@ QuartzCore, "-framework", AssetsLibrary, + "-weak_framework", + VideoToolBox, ); PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; @@ -1271,6 +1273,8 @@ QuartzCore, "-framework", AssetsLibrary, + "-weak_framework", + VideoToolBox, ); PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; @@ -1340,6 +1344,8 @@ QuartzCore, "-framework", AssetsLibrary, + "-weak_framework", + VideoToolBox, ); PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; @@ -1401,6 +1407,8 @@ QuartzCore, "-framework", AssetsLibrary, + "-weak_framework", + VideoToolBox, ); PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; @@ -1470,6 +1478,8 @@ QuartzCore, "-framework", AssetsLibrary, + "-weak_framework", + VideoToolBox, ); PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; @@ -1531,6 +1541,8 @@ QuartzCore, "-framework", AssetsLibrary, + "-weak_framework", + VideoToolBox, ); PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; @@ -1600,6 +1612,8 @@ QuartzCore, "-framework", AssetsLibrary, + "-weak_framework", + VideoToolBox, ); PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; @@ -1661,6 +1675,8 @@ QuartzCore, "-framework", AssetsLibrary, + "-weak_framework", + VideoToolBox, ); PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; From 77b2656d6d661f422c0ddd1b4357f829a0ef9e5d Mon Sep 17 00:00:00 2001 From: Matthew Waters Date: Fri, 18 Sep 2015 00:47:14 +1000 Subject: [PATCH 323/979] ios: link against libiconv Fixes linker errors from cerbero now utilising the system provided libiconv. Requires GStreamer >= 1.5.91 --- .../project.pbxproj | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj b/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj index dd1c76eb7a..5b9826db13 100644 --- a/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj +++ b/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj @@ -115,6 +115,11 @@ C6EB85BA173BEFF800C3953D /* appicon-4-iPad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C6EB85B6173BEFF800C3953D /* appicon-4-iPad@2x.png */; }; C6EB85BB173BEFF800C3953D /* appicon-4-iPhone.png in Resources */ = {isa = PBXBuildFile; fileRef = C6EB85B7173BEFF800C3953D /* appicon-4-iPhone.png */; }; C6EB85BC173BEFF800C3953D /* appicon-4-iPhone@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C6EB85B8173BEFF800C3953D /* appicon-4-iPhone@2x.png */; }; + C987C0DB1BAB090B00D54784 /* libiconv.2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = C987C0DA1BAB090B00D54784 /* libiconv.2.dylib */; }; + C987C0DC1BAB096C00D54784 /* libiconv.2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = C987C0DA1BAB090B00D54784 /* libiconv.2.dylib */; }; + C987C0DD1BAB09A100D54784 /* libiconv.2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = C987C0DA1BAB090B00D54784 /* libiconv.2.dylib */; }; + C987C0DE1BAB09AA00D54784 /* libiconv.2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = C987C0DA1BAB090B00D54784 /* libiconv.2.dylib */; }; + C987C0DF1BAB09AF00D54784 /* libiconv.2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = C987C0DA1BAB090B00D54784 /* libiconv.2.dylib */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -254,6 +259,7 @@ C6EB85B6173BEFF800C3953D /* appicon-4-iPad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-4-iPad@2x.png"; sourceTree = ""; }; C6EB85B7173BEFF800C3953D /* appicon-4-iPhone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-4-iPhone.png"; sourceTree = ""; }; C6EB85B8173BEFF800C3953D /* appicon-4-iPhone@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "appicon-4-iPhone@2x.png"; sourceTree = ""; }; + C987C0DA1BAB090B00D54784 /* libiconv.2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libiconv.2.dylib; path = usr/lib/libiconv.2.dylib; sourceTree = SDKROOT; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -261,6 +267,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + C987C0DB1BAB090B00D54784 /* libiconv.2.dylib in Frameworks */, C67B40CD172EBEA3008359CC /* UIKit.framework in Frameworks */, C67B40CF172EBEA3008359CC /* Foundation.framework in Frameworks */, C67B40D1172EBEA3008359CC /* CoreGraphics.framework in Frameworks */, @@ -272,6 +279,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + C987C0DC1BAB096C00D54784 /* libiconv.2.dylib in Frameworks */, C67B4100172FC7F4008359CC /* UIKit.framework in Frameworks */, C67B4101172FC7F4008359CC /* Foundation.framework in Frameworks */, C67B4102172FC7F4008359CC /* CoreGraphics.framework in Frameworks */, @@ -283,6 +291,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + C987C0DF1BAB09AF00D54784 /* libiconv.2.dylib in Frameworks */, C68B1D8917465EB7004FD7D0 /* UIKit.framework in Frameworks */, C68B1D8A17465EB7004FD7D0 /* Foundation.framework in Frameworks */, C68B1D8B17465EB7004FD7D0 /* CoreGraphics.framework in Frameworks */, @@ -294,6 +303,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + C987C0DD1BAB09A100D54784 /* libiconv.2.dylib in Frameworks */, C6B6126017395CF2003FC410 /* UIKit.framework in Frameworks */, C6B6126117395CF2003FC410 /* Foundation.framework in Frameworks */, C6B6126217395CF2003FC410 /* CoreGraphics.framework in Frameworks */, @@ -305,6 +315,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + C987C0DE1BAB09AA00D54784 /* libiconv.2.dylib in Frameworks */, C6EB8582173BEE5E00C3953D /* UIKit.framework in Frameworks */, C6EB8583173BEE5E00C3953D /* Foundation.framework in Frameworks */, C6EB8584173BEE5E00C3953D /* CoreGraphics.framework in Frameworks */, @@ -343,6 +354,7 @@ C67B40CB172EBEA3008359CC /* Frameworks */ = { isa = PBXGroup; children = ( + C987C0DA1BAB090B00D54784 /* libiconv.2.dylib */, C67B40CC172EBEA3008359CC /* UIKit.framework */, C67B40CE172EBEA3008359CC /* Foundation.framework */, C67B40D0172EBEA3008359CC /* CoreGraphics.framework */, From 96b0ce21e50fc38ccc40d67ef44eac563d10d5dd Mon Sep 17 00:00:00 2001 From: "mspiegelmock@gmail.com" Date: Sat, 10 Oct 2015 09:38:25 +0100 Subject: [PATCH 324/979] Fix framework path on OSX https://bugzilla.gnome.org/show_bug.cgi?id=756242 --- .../project.pbxproj | 26 +++++++++++++++---- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj index f75ff00a38..60bc000cb4 100644 --- a/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj +++ b/gst-sdk/tutorials/xcode/GStreamer Tutorials.xcodeproj/project.pbxproj @@ -26,8 +26,6 @@ 63DE883E156DAC18006F2D3B /* basic-tutorial-7.c in Sources */ = {isa = PBXBuildFile; fileRef = 63DE8838156DAC09006F2D3B /* basic-tutorial-7.c */; }; 63DE883F156DAC1D006F2D3B /* basic-tutorial-8.c in Sources */ = {isa = PBXBuildFile; fileRef = 63DE883A156DAC0E006F2D3B /* basic-tutorial-8.c */; }; 63DE8840156DAC21006F2D3B /* basic-tutorial-9.c in Sources */ = {isa = PBXBuildFile; fileRef = 63DE883C156DAC15006F2D3B /* basic-tutorial-9.c */; }; - 63E2230116073E04001954D7 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; - 63E2230216075DFC001954D7 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; 63E2230316075E05001954D7 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; 63E2230416075E24001954D7 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; 63E2230616075E34001954D7 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; @@ -45,6 +43,8 @@ 63EA7B5A1753A3D00032388A /* playback-tutorial-5.c in Sources */ = {isa = PBXBuildFile; fileRef = 63EA7B591753A3D00032388A /* playback-tutorial-5.c */; }; 63EA7B691753A4100032388A /* playback-tutorial-6.c in Sources */ = {isa = PBXBuildFile; fileRef = 63EA7B681753A4100032388A /* playback-tutorial-6.c */; }; 63EA7B781753A4370032388A /* playback-tutorial-7.c in Sources */ = {isa = PBXBuildFile; fileRef = 63EA7B771753A4370032388A /* playback-tutorial-7.c */; }; + C3EC97E31BC69D7900DD7808 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; + C3EC97E41BC69DD700DD7808 /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E2230016073E04001954D7 /* GStreamer.framework */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -244,7 +244,7 @@ 63DE8838156DAC09006F2D3B /* basic-tutorial-7.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-7.c"; path = "../basic-tutorial-7.c"; sourceTree = SOURCE_ROOT; }; 63DE883A156DAC0E006F2D3B /* basic-tutorial-8.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-8.c"; path = "../basic-tutorial-8.c"; sourceTree = SOURCE_ROOT; }; 63DE883C156DAC15006F2D3B /* basic-tutorial-9.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-9.c"; path = "../basic-tutorial-9.c"; sourceTree = SOURCE_ROOT; }; - 63E2230016073E04001954D7 /* GStreamer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GStreamer.framework; path = Library/Frameworks/GStreamer.framework; sourceTree = SDKROOT; }; + 63E2230016073E04001954D7 /* GStreamer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GStreamer.framework; path = /Library/Frameworks/GStreamer.framework; sourceTree = ""; }; 63EA7B0517539E570032388A /* Tutorial 12 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 12"; sourceTree = BUILT_PRODUCTS_DIR; }; 63EA7B0E1753A1D50032388A /* basic-tutorial-12.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "basic-tutorial-12.c"; path = "../basic-tutorial-12.c"; sourceTree = SOURCE_ROOT; }; 63EA7B141753A2700032388A /* Tutorial 13 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Tutorial 13"; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -284,7 +284,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 63E2230116073E04001954D7 /* GStreamer.framework in Frameworks */, + C3EC97E31BC69D7900DD7808 /* GStreamer.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -300,7 +300,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 63E2230216075DFC001954D7 /* GStreamer.framework in Frameworks */, + C3EC97E41BC69DD700DD7808 /* GStreamer.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1233,6 +1233,10 @@ 63118C90156D2D190085CF03 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(LOCAL_LIBRARY_DIR)/Frameworks", + ); PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Debug; @@ -1240,6 +1244,10 @@ 63118C91156D2D190085CF03 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(LOCAL_LIBRARY_DIR)/Frameworks", + ); PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Release; @@ -1277,6 +1285,10 @@ 63118CC1156D31240085CF03 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(LOCAL_LIBRARY_DIR)/Frameworks", + ); PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Debug; @@ -1284,6 +1296,10 @@ 63118CC2156D31240085CF03 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(LOCAL_LIBRARY_DIR)/Frameworks", + ); PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Release; From b9f4f5fe6ae0797b40d0b2b4beadab28a7f5de02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Olivier=20Cr=C3=AAte?= Date: Mon, 16 May 2016 17:30:34 +0300 Subject: [PATCH 325/979] Import initial automatic conversion --- 2012.11+Brahmaputra.markdown | 285 ++++ 2012.5+Amazon.markdown | 249 +++ 2012.7+Amazon+%28Bugfix+Release+1%29.markdown | 267 +++ 2012.9+Amazon+%28Bugfix+Release+2%29.markdown | 265 +++ 2013.6+Congo.markdown | 306 ++++ ...orial+1%3A+Link+against+GStreamer.markdown | 297 ++++ ...+tutorial+2%3A+A+running+pipeline.markdown | 1066 ++++++++++++ Android+tutorial+3%3A+Video.markdown | 932 +++++++++++ ...utorial+4%3A+A+basic+media+player.markdown | 1434 +++++++++++++++++ ...rial+5%3A+A+Complete+media+player.markdown | 114 ++ Android+tutorials.markdown | 38 + Basic+Media+Player.markdown | 877 ++++++++++ Basic+tutorial+1%3A+Hello+world%21.markdown | 258 +++ Basic+tutorial+10%3A+GStreamer+tools.markdown | 468 ++++++ Basic+tutorial+11%3A+Debugging+tools.markdown | 232 +++ Basic+tutorial+12%3A+Streaming.markdown | 290 ++++ Basic+tutorial+13%3A+Playback+speed.markdown | 409 +++++ Basic+tutorial+14%3A+Handy+elements.markdown | 367 +++++ ...utorial+15%3A+Clutter+integration.markdown | 255 +++ ...+16%3A+Platform-specific+elements.markdown | 212 +++ ...+tutorial+2%3A+GStreamer+concepts.markdown | 372 +++++ ...c+tutorial+3%3A+Dynamic+pipelines.markdown | 566 +++++++ Basic+tutorial+4%3A+Time+management.markdown | 473 ++++++ ...rial+5%3A+GUI+toolkit+integration.markdown | 926 +++++++++++ ...edia+formats+and+Pad+Capabilities.markdown | 496 ++++++ ...ltithreading+and+Pad+Availability.markdown | 363 +++++ ...l+8%3A+Short-cutting+the+pipeline.markdown | 569 +++++++ ...+9%3A+Media+information+gathering.markdown | 554 +++++++ Basic+tutorials.markdown | 11 + Building+from+source+using+Cerbero.markdown | 280 ++++ Contact.markdown | 38 + Deploying+your+application.markdown | 131 ++ Frequently+Asked+Questions.markdown | 157 ++ GStreamer+reference.markdown | 57 + Home.markdown | 106 ++ Installing+for+Android+development.markdown | 394 +++++ Installing+for+iOS+development.markdown | 117 ++ Installing+on+Linux.markdown | 285 ++++ Installing+on+Mac+OS+X.markdown | 142 ++ Installing+on+Windows.markdown | 358 ++++ Installing+the+SDK.markdown | 99 ++ Legal+information.markdown | 222 +++ Mac+OS+X+deployment.markdown | 384 +++++ ...platform+deployment+using+Cerbero.markdown | 489 ++++++ ...back+tutorial+1%3A+Playbin2+usage.markdown | 616 +++++++ ...tutorial+2%3A+Subtitle+management.markdown | 403 +++++ ...l+3%3A+Short-cutting+the+pipeline.markdown | 272 ++++ ...torial+4%3A+Progressive+streaming.markdown | 450 ++++++ Playback+tutorial+5%3A+Color+Balance.markdown | 330 ++++ ...tutorial+6%3A+Audio+visualization.markdown | 276 ++++ ...torial+7%3A+Custom+playbin2+sinks.markdown | 246 +++ ...rdware-accelerated+video+decoding.markdown | 351 ++++ ...l+9%3A+Digital+audio+pass-through.markdown | 109 ++ Playback+tutorials.markdown | 11 + Qt+tutorials.markdown | 19 + QtGStreamer+vs+C+GStreamer.markdown | 113 ++ Releases.markdown | 26 + Table+of+Concepts.markdown | 58 + Tutorials.markdown | 93 ++ Upcoming+tutorials.markdown | 21 + Using+appsink%2Fappsrc+in+Qt.markdown | 246 +++ Windows+deployment.markdown | 261 +++ attachments/1343490.png | Bin 0 -> 7155 bytes attachments/1540098.png | Bin 0 -> 3611 bytes attachments/1540099.png | Bin 0 -> 2718 bytes attachments/1540100.png | Bin 0 -> 3369 bytes attachments/1540101.png | Bin 0 -> 4383 bytes attachments/1540102.png | Bin 0 -> 53147 bytes attachments/1540121.png | Bin 0 -> 506254 bytes attachments/1540122.png | Bin 0 -> 506254 bytes attachments/1540123.png | Bin 0 -> 506254 bytes attachments/1540141.png | Bin 0 -> 34180 bytes attachments/1540146.png | Bin 0 -> 13272 bytes attachments/1540147.png | Bin 0 -> 66838 bytes attachments/1540148.png | Bin 0 -> 418 bytes attachments/1540149.png | Bin 0 -> 25770 bytes attachments/1540150.png | Bin 0 -> 33466 bytes attachments/1540151.png | Bin 0 -> 42825 bytes attachments/1540152.png | Bin 0 -> 29886 bytes attachments/1540153.png | Bin 0 -> 43020 bytes attachments/1540154.png | Bin 0 -> 47824 bytes attachments/1540155.png | Bin 0 -> 26225 bytes attachments/1540156.png | Bin 0 -> 30329 bytes attachments/1540157.png | Bin 0 -> 40881 bytes attachments/1540158.png | Bin 0 -> 11119 bytes attachments/1540159.png | Bin 0 -> 11119 bytes attachments/1540160.png | Bin 0 -> 11119 bytes attachments/1540161.png | Bin 0 -> 34180 bytes attachments/1540162.png | Bin 0 -> 16961 bytes attachments/1540163.png | Bin 0 -> 8991 bytes attachments/1540164.png | Bin 0 -> 31464 bytes attachments/1540165.png | Bin 0 -> 17579 bytes attachments/2424835.png | Bin 0 -> 197962 bytes attachments/2424836.png | Bin 0 -> 51920 bytes attachments/2424837.png | Bin 0 -> 108863 bytes attachments/2424838.png | Bin 0 -> 124094 bytes attachments/2424839.png | Bin 0 -> 34180 bytes attachments/2424840.png | Bin 0 -> 424061 bytes attachments/2424841.png | Bin 0 -> 85057 bytes attachments/2424842.png | Bin 0 -> 87853 bytes attachments/2424843.c | 99 ++ attachments/2424844.zip | Bin 0 -> 1889 bytes attachments/2424846.c | 172 ++ attachments/2424847.zip | Bin 0 -> 1850 bytes attachments/2424848.c | 152 ++ attachments/2424849.zip | Bin 0 -> 1849 bytes attachments/2424850.c | 152 ++ attachments/2424851.png | Bin 0 -> 8691 bytes attachments/2424852.png | Bin 0 -> 12676 bytes attachments/2424853.png | Bin 0 -> 13454 bytes attachments/2424855.png | Bin 0 -> 9864 bytes attachments/2424856.png | Bin 0 -> 11424 bytes attachments/2424857.png | Bin 0 -> 9853 bytes attachments/2424858.png | Bin 0 -> 8691 bytes attachments/2424859.png | Bin 0 -> 12676 bytes attachments/2424860.png | Bin 0 -> 13454 bytes attachments/2424862.png | Bin 0 -> 9864 bytes attachments/2424863.png | Bin 0 -> 11424 bytes attachments/2424864.png | Bin 0 -> 9853 bytes attachments/2424865.png | Bin 0 -> 8691 bytes attachments/2424866.png | Bin 0 -> 9853 bytes attachments/2424867.png | Bin 0 -> 13454 bytes attachments/2424868.png | Bin 0 -> 9864 bytes attachments/2424869.png | Bin 0 -> 11424 bytes attachments/2424870.png | Bin 0 -> 10448 bytes attachments/2424871.png | Bin 0 -> 10960 bytes attachments/2424872.png | Bin 0 -> 12676 bytes attachments/2424873.png | Bin 0 -> 10960 bytes attachments/2424874.c | 145 ++ attachments/2424875.zip | Bin 0 -> 1875 bytes attachments/2424878.zip | Bin 0 -> 1849 bytes attachments/2424879.c | 89 + attachments/2424880.png | Bin 0 -> 8532 bytes attachments/2424881.c | 55 + attachments/2424882.zip | Bin 0 -> 1849 bytes attachments/2424883.c | 147 ++ attachments/2424884.zip | Bin 0 -> 1826 bytes attachments/2654239.png | Bin 0 -> 5145 bytes attachments/2654324.png | Bin 0 -> 32274 bytes attachments/2654325.png | Bin 0 -> 32274 bytes attachments/2654326.png | Bin 0 -> 35440 bytes attachments/2654411.png | Bin 0 -> 35440 bytes attachments/2654412.png | Bin 0 -> 32274 bytes attachments/2654413.png | Bin 0 -> 145365 bytes attachments/2654414.png | Bin 0 -> 145365 bytes attachments/2654415.png | Bin 0 -> 145365 bytes attachments/2654416.png | Bin 0 -> 35440 bytes attachments/2654417.png | Bin 0 -> 32274 bytes attachments/2654418.png | Bin 0 -> 145365 bytes attachments/2654419.png | Bin 0 -> 297303 bytes attachments/2654436.png | Bin 0 -> 426183 bytes attachments/2654437.png | Bin 0 -> 358 bytes attachments/2654438.png | Bin 0 -> 358 bytes attachments/3113601.png | Bin 0 -> 21919 bytes attachments/3113602.png | Bin 0 -> 21919 bytes attachments/3113603.png | Bin 0 -> 21919 bytes attachments/3538953.png | Bin 0 -> 20614 bytes attachments/3538954.png | Bin 0 -> 20614 bytes attachments/3538955.png | Bin 0 -> 118212 bytes attachments/3539044.png | Bin 0 -> 409037 bytes attachments/3539045.png | Bin 0 -> 195954 bytes attachments/3539046.png | Bin 0 -> 395981 bytes attachments/3539071.png | Bin 0 -> 195954 bytes attachments/3539150.jpeg | Bin 0 -> 6259 bytes gst-inspect.markdown | 213 +++ gst-launch.markdown | 406 +++++ hotdoc.json | 7 + ...orial+1%3A+Link+against+GStreamer.markdown | 147 ++ iOS+tutorial+2%3A+A+running+pipeline.markdown | 668 ++++++++ iOS+tutorial+3%3A+Video.markdown | 589 +++++++ ...utorial+4%3A+A+basic+media+player.markdown | 1242 ++++++++++++++ ...rial+5%3A+A+Complete+media+player.markdown | 78 + iOS+tutorials.markdown | 39 + index.markdown | 164 ++ sitemap.txt | 64 + 175 files changed, 24739 insertions(+) create mode 100644 2012.11+Brahmaputra.markdown create mode 100644 2012.5+Amazon.markdown create mode 100644 2012.7+Amazon+%28Bugfix+Release+1%29.markdown create mode 100644 2012.9+Amazon+%28Bugfix+Release+2%29.markdown create mode 100644 2013.6+Congo.markdown create mode 100644 Android+tutorial+1%3A+Link+against+GStreamer.markdown create mode 100644 Android+tutorial+2%3A+A+running+pipeline.markdown create mode 100644 Android+tutorial+3%3A+Video.markdown create mode 100644 Android+tutorial+4%3A+A+basic+media+player.markdown create mode 100644 Android+tutorial+5%3A+A+Complete+media+player.markdown create mode 100644 Android+tutorials.markdown create mode 100644 Basic+Media+Player.markdown create mode 100644 Basic+tutorial+1%3A+Hello+world%21.markdown create mode 100644 Basic+tutorial+10%3A+GStreamer+tools.markdown create mode 100644 Basic+tutorial+11%3A+Debugging+tools.markdown create mode 100644 Basic+tutorial+12%3A+Streaming.markdown create mode 100644 Basic+tutorial+13%3A+Playback+speed.markdown create mode 100644 Basic+tutorial+14%3A+Handy+elements.markdown create mode 100644 Basic+tutorial+15%3A+Clutter+integration.markdown create mode 100644 Basic+tutorial+16%3A+Platform-specific+elements.markdown create mode 100644 Basic+tutorial+2%3A+GStreamer+concepts.markdown create mode 100644 Basic+tutorial+3%3A+Dynamic+pipelines.markdown create mode 100644 Basic+tutorial+4%3A+Time+management.markdown create mode 100644 Basic+tutorial+5%3A+GUI+toolkit+integration.markdown create mode 100644 Basic+tutorial+6%3A+Media+formats+and+Pad+Capabilities.markdown create mode 100644 Basic+tutorial+7%3A+Multithreading+and+Pad+Availability.markdown create mode 100644 Basic+tutorial+8%3A+Short-cutting+the+pipeline.markdown create mode 100644 Basic+tutorial+9%3A+Media+information+gathering.markdown create mode 100644 Basic+tutorials.markdown create mode 100644 Building+from+source+using+Cerbero.markdown create mode 100644 Contact.markdown create mode 100644 Deploying+your+application.markdown create mode 100644 Frequently+Asked+Questions.markdown create mode 100644 GStreamer+reference.markdown create mode 100644 Home.markdown create mode 100644 Installing+for+Android+development.markdown create mode 100644 Installing+for+iOS+development.markdown create mode 100644 Installing+on+Linux.markdown create mode 100644 Installing+on+Mac+OS+X.markdown create mode 100644 Installing+on+Windows.markdown create mode 100644 Installing+the+SDK.markdown create mode 100644 Legal+information.markdown create mode 100644 Mac+OS+X+deployment.markdown create mode 100644 Multiplatform+deployment+using+Cerbero.markdown create mode 100644 Playback+tutorial+1%3A+Playbin2+usage.markdown create mode 100644 Playback+tutorial+2%3A+Subtitle+management.markdown create mode 100644 Playback+tutorial+3%3A+Short-cutting+the+pipeline.markdown create mode 100644 Playback+tutorial+4%3A+Progressive+streaming.markdown create mode 100644 Playback+tutorial+5%3A+Color+Balance.markdown create mode 100644 Playback+tutorial+6%3A+Audio+visualization.markdown create mode 100644 Playback+tutorial+7%3A+Custom+playbin2+sinks.markdown create mode 100644 Playback+tutorial+8%3A+Hardware-accelerated+video+decoding.markdown create mode 100644 Playback+tutorial+9%3A+Digital+audio+pass-through.markdown create mode 100644 Playback+tutorials.markdown create mode 100644 Qt+tutorials.markdown create mode 100644 QtGStreamer+vs+C+GStreamer.markdown create mode 100644 Releases.markdown create mode 100644 Table+of+Concepts.markdown create mode 100644 Tutorials.markdown create mode 100644 Upcoming+tutorials.markdown create mode 100644 Using+appsink%2Fappsrc+in+Qt.markdown create mode 100644 Windows+deployment.markdown create mode 100644 attachments/1343490.png create mode 100644 attachments/1540098.png create mode 100644 attachments/1540099.png create mode 100644 attachments/1540100.png create mode 100644 attachments/1540101.png create mode 100644 attachments/1540102.png create mode 100644 attachments/1540121.png create mode 100644 attachments/1540122.png create mode 100644 attachments/1540123.png create mode 100644 attachments/1540141.png create mode 100644 attachments/1540146.png create mode 100644 attachments/1540147.png create mode 100644 attachments/1540148.png create mode 100644 attachments/1540149.png create mode 100644 attachments/1540150.png create mode 100644 attachments/1540151.png create mode 100644 attachments/1540152.png create mode 100644 attachments/1540153.png create mode 100644 attachments/1540154.png create mode 100644 attachments/1540155.png create mode 100644 attachments/1540156.png create mode 100644 attachments/1540157.png create mode 100644 attachments/1540158.png create mode 100644 attachments/1540159.png create mode 100644 attachments/1540160.png create mode 100644 attachments/1540161.png create mode 100644 attachments/1540162.png create mode 100644 attachments/1540163.png create mode 100644 attachments/1540164.png create mode 100644 attachments/1540165.png create mode 100644 attachments/2424835.png create mode 100644 attachments/2424836.png create mode 100644 attachments/2424837.png create mode 100644 attachments/2424838.png create mode 100644 attachments/2424839.png create mode 100644 attachments/2424840.png create mode 100644 attachments/2424841.png create mode 100644 attachments/2424842.png create mode 100644 attachments/2424843.c create mode 100644 attachments/2424844.zip create mode 100644 attachments/2424846.c create mode 100644 attachments/2424847.zip create mode 100644 attachments/2424848.c create mode 100644 attachments/2424849.zip create mode 100644 attachments/2424850.c create mode 100644 attachments/2424851.png create mode 100644 attachments/2424852.png create mode 100644 attachments/2424853.png create mode 100644 attachments/2424855.png create mode 100644 attachments/2424856.png create mode 100644 attachments/2424857.png create mode 100644 attachments/2424858.png create mode 100644 attachments/2424859.png create mode 100644 attachments/2424860.png create mode 100644 attachments/2424862.png create mode 100644 attachments/2424863.png create mode 100644 attachments/2424864.png create mode 100644 attachments/2424865.png create mode 100644 attachments/2424866.png create mode 100644 attachments/2424867.png create mode 100644 attachments/2424868.png create mode 100644 attachments/2424869.png create mode 100644 attachments/2424870.png create mode 100644 attachments/2424871.png create mode 100644 attachments/2424872.png create mode 100644 attachments/2424873.png create mode 100644 attachments/2424874.c create mode 100644 attachments/2424875.zip create mode 100644 attachments/2424878.zip create mode 100644 attachments/2424879.c create mode 100644 attachments/2424880.png create mode 100644 attachments/2424881.c create mode 100644 attachments/2424882.zip create mode 100644 attachments/2424883.c create mode 100644 attachments/2424884.zip create mode 100644 attachments/2654239.png create mode 100644 attachments/2654324.png create mode 100644 attachments/2654325.png create mode 100644 attachments/2654326.png create mode 100644 attachments/2654411.png create mode 100644 attachments/2654412.png create mode 100644 attachments/2654413.png create mode 100644 attachments/2654414.png create mode 100644 attachments/2654415.png create mode 100644 attachments/2654416.png create mode 100644 attachments/2654417.png create mode 100644 attachments/2654418.png create mode 100644 attachments/2654419.png create mode 100644 attachments/2654436.png create mode 100644 attachments/2654437.png create mode 100644 attachments/2654438.png create mode 100644 attachments/3113601.png create mode 100644 attachments/3113602.png create mode 100644 attachments/3113603.png create mode 100644 attachments/3538953.png create mode 100644 attachments/3538954.png create mode 100644 attachments/3538955.png create mode 100644 attachments/3539044.png create mode 100644 attachments/3539045.png create mode 100644 attachments/3539046.png create mode 100644 attachments/3539071.png create mode 100644 attachments/3539150.jpeg create mode 100644 gst-inspect.markdown create mode 100644 gst-launch.markdown create mode 100644 hotdoc.json create mode 100644 iOS+tutorial+1%3A+Link+against+GStreamer.markdown create mode 100644 iOS+tutorial+2%3A+A+running+pipeline.markdown create mode 100644 iOS+tutorial+3%3A+Video.markdown create mode 100644 iOS+tutorial+4%3A+A+basic+media+player.markdown create mode 100644 iOS+tutorial+5%3A+A+Complete+media+player.markdown create mode 100644 iOS+tutorials.markdown create mode 100644 index.markdown create mode 100644 sitemap.txt diff --git a/2012.11+Brahmaputra.markdown b/2012.11+Brahmaputra.markdown new file mode 100644 index 0000000000..27e9f2dc97 --- /dev/null +++ b/2012.11+Brahmaputra.markdown @@ -0,0 +1,285 @@ +# GStreamer SDK documentation : 2012.11 Brahmaputra + +This page last changed on Nov 28, 2012 by slomo. + +# Release – GStreamer SDK 2012.11 Brahmaputra + +**2012-11-28 // [http://www.gstreamer.com](http://www.gstreamer.com/)** + +This release is targeted at media playback applications for desktop +systems. + +For more information about the GStreamer SDK and the latest versions +please visit [http://www.gstreamer.com](http://www.gstreamer.com/) + +## System Requirements + +The GStreamer SDK currently supports Microsoft Windows, Mac OS X, +different Linux distributions and Android. + +Future releases of the GStreamer SDK will add support for iOS and +possibly other platforms. + +### Linux + +The supported Linux distributions are currently + + - Ubuntu 12.04 (Precise Pangolin) + + - Ubuntu 12.10 (Quantal Quetzal) + + - Debian 6.0 (Squeeze) + + - Debian 7.0 (Wheezy) + + - Fedora 16 + + - Fedora 17 + +for x86 (32 bit) and x86-64 (64 bit). + +Support for more Linux distributions will be added on demand later. + +For installation instructions and development environment setup +instructions see [Installing on Linux](Installing%2Bon%2BLinux.html) + +### Mac OS X + +The supported Mac OS X versions are currently + + - Snow Leopard (10.6) + - Lion (10.7) + - Mountain Lion (10.8) + +for x86 (32 bit) and x86-64 (64 bit) with universal binaries. + +For installation instructions and development environment setup +instructions see [Installing on Mac OS +X](Installing%2Bon%2BMac%2BOS%2BX.html) + +### Microsoft Windows + +The supported Windows versions are + + - Windows XP + - Windows Vista + - Windows 7 + - Windows 8 + +for x86 (32 bit) and x86-64 (64 bit). + +Developing applications with the GStreamer SDK is supported with +the following development environments + + - Microsoft Visual Studio 2010 or 2012 (including the free Visual C++ + Express + edition) + +    + + - MinGW/MSYS + +   [http://mingw.org](http://mingw.org/) + +For installation instructions and development environment setup +instructions see [Installing on Windows](Installing%2Bon%2BWindows.html) + +### Android + +The supported Android versions are + + - 2.3 (Gingerbread, API level 9/10) + - 3.1/3.2 (Honeycomb, API level 12/13) + - 4.0 (Ice Cream Sandwhich, API level 15) + - 4.1/4.2 (Jelly Bean, API level 16) + +Developing applications with the GStreamer SDK for Android is supported +from Linux, Mac OS X and Windows systems using the Android SDK and NDK. + +For installation instructions and development environment setup +instructions see [Installing for Android +development](Installing%2Bfor%2BAndroid%2Bdevelopment.html). + +## Changes since 2012.9 Amazon + + - Support for Android platforms + - Support for Windows 8 + - Support for 10-bit YUV color formats + - Improvements and bugfixes to the SDK build process on all platforms + - Lots of other, smaller bugfixes to GStreamer and other + software + - Closed [bugreports](https://bugs.freedesktop.org/buglist.cgi?resolution=---&resolution=FIXED&query_format=advanced&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&version=2012.11&product=GStreamer%20SDK&list_id=131136) + +## Compatibility + +The GStreamer SDK Brahmaputra is compatible with the 0.10 release series +of GStreamer and fully compatible with GStreamer SDK Amazon Release. + +## Features + +The GStreamer SDK Amazon is targeted at media playback applications for +desktop systems. It contains the required components and plugins for +media playback. + + - Local media playback, live streaming, progressive streaming and DVD + playback + - Supported video codecs: Theora, VP8, Dirac, MJPEG, h.264\*, + h.263\*, MPEG2\*, MPEG4\*, WMV/VC1\*, DV, ... + - Supported audio codecs: Vorbis, FLAC, Opus, Speex, WavPack, + AAC\*, MP3\*, WMA\*, Dolby Digital (AC3)\*, DTS/DCA\*, AMR + NB/WB\*, ... + - Supported container formats: Ogg, WebM, Matroska, MP4, + Quicktime, AVI, FLV, 3GPP, WAV, DV, Real Media\*, ASF\*, MPEG + PS/TS\*, ... + - Supported protocols: local files, HTTP, Shoutcast/Icecast, HLS, + RTSP, RTP and MMS\* + - Application and GUI toolkit integration + - Automatic container/codecs discovery + - Metadata extraction + - Subtitle support + - Audio visualization + - On the fly stream switching between different audio/subtitle streams + - Absolute position seeking, including remote seeking + - Fast/slow forward/reverse playback and frame stepping + - Automatic video deinterlacing, scaling and color balance post + processing + - Compressed audio passthrough + - Clutter texture rendering + +> \* May require additional licenses from third parties in some +> countries and not installed by default with the GStreamer SDK. +> Properly licensed plugins can be obtained from different companies or +> licenses can be directly obtained from the relevant licensors. + +Although this release is targeted at playback applications only it +also contains encoders for some codecs, muxers for some container +formats and some other plugins that are not strictly playback related. +These use-cases are currently not officially supported by the GStreamer +SDK but will usually work and will be officially supported in future +releases of the GStreamer SDK. + +The GStreamer SDK Brahmaputra contains the following major components, +some of them being optional or not used on some platforms.  + + - GLib 2.34.2 + - GStreamer core and base 0.10.36 + - GStreamer good plugins 0.10.31 + - GStreamer bad plugins 0.10.23 + - GStreamer ugly plugins 0.10.19 + - GStreamer Python bindings 0.10.22\* + - GTK+ 2.24.11 and Python bindings\* + - clutter 1.8.4 and clutter-gst 1.6.0\* + +> \* Not available on Android platforms. + +## Known Issues + + - Switching between different audio streams can take some time until + the switch takes effect + - Using the native decoders (e.g. h.264) on OS X Lion (10.7) does not + work currently + - [Other known + issues](https://bugs.freedesktop.org/buglist.cgi?resolution=---&resolution=FIXED&query_format=advanced&bug_status=NEW&bug_status=ASSIGNED&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&version=2012.11&product=GStreamer%20SDK&list_id=85256) + +## Legal Information + +### Installer, default installation + +The installer (Microsoft Windows) and the default installation +(GNU/Linux) contain and install the minimal default installation. At +install time or later, the downloading of optional components is also +possible, but read on for certain legal cautions you might want to take. +All downloads are from +the [freedesktop.org](http://www.freedesktop.org/) website, for +registered/approved users only. + +### Licensing of SDK + +GStreamer SDK minimal default installation only contains packages which +are licensed under the GNU LGPL license v.2.1. This license gives you +the Freedom to use, modify, make copies of the software either in the +original or in a modified form, provided that the software you +redistribute is licensed under the same licensing terms. This only +extends to the software itself and modified versions of it, but you are +free to link the LGPL software as a library used by other software under +whichever license. In other words, it is a weak copyleft license. + +Therefore, it is possible to use the SDK to build applications that are +then distributed under a different license, including a proprietary one, +provided that reverse engineering is not prohibited for debugging +modifications purposes. Only the pieces of the SDK that are under the +LGPL need to be kept under the LGPL, and the corresponding source code +must be distributed along with the application (or an irrevocable offer +to do so for at least three years from distribution). Please consult +section 6 of the LGPL for further details as to what the corresponding +source code must contain. Some portions of the minimal default +installation may be under different licenses, which are both more +liberal than the LGPL (they are less strict conditions for granting the +license) and compatible with the LGPL. This is advised locally. + +### Optional packages + +There are two types of optional packages (GPL and Patented), which are +under a different license or have other issues concerning patentability +(or both). + +#### GPL code + +Part of the optional packages are under the GNU GPL v.2 or v.3. This +means that you cannot link the GPL software in a program unless the same +program is also under the GPL, but you are invited to seek competent +advice on how this works in your precise case and design choices. GPL is +called “strong copyleft” because the condition to distributed under the +same license has the largest possible scope and extends to all +derivative works. + +#### Patents + +Certain software, and in particular software that implements multimedia +standard formats such as Mp3, MPEG 2 video and audio, h.264, MPEG 4 +audio and video, AC3, etc, can have patent issues. In certain countries +patents are granted on software and even software-only solution are by +and large considered patentable and are patented (such as in the United +States). In certain others, patents on pure software solutions are +formally prohibited, but granted (this is the case of Europe), and in +others again are neither allowed nor granted. + +It is up to you to make sure that in the countries where the SDK is +used, products are made using it and product are distributed, a license +from the applicable patent holders is required or not. Receiving the SDK +– or links to other downloadable software – does not provide any license +expressed or implied over these patents, except in very limited +conditions where the license so provides. No representation is made. + +In certain cases, the optional packages are distributed only as source +code. It is up to the receiver to make sure that in the applicable +circumstances compiling the same code for a given platform or +distributing the object code is not an act that infringes one or more +patents. + +### Software is as-is + +All software and the entire SDK is provided as-is, without any +warranty whatsoever. The individual licenses have particular language +disclaiming liability: we invite you to read all of them. Should you +need a warranty on the fact that software works as intended or have any +kind of indemnification, you have the option to subscribe a software +maintenance agreement with a company or entity that is in that business. +Fluendo and Collabora, as well as some other companies, provide software +maintenance agreements under certain conditions, you are invited to +contact them in order to receive further details and discuss of the +commercial terms.  + +## Contact + +Web: [http://www.gstreamer.com](http://www.gstreamer.com/) + +Documentation: [http://docs.gstreamer.com](http://docs.gstreamer.com/) + +Commercial support:  + +Bug +tracker:  + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/2012.5+Amazon.markdown b/2012.5+Amazon.markdown new file mode 100644 index 0000000000..1ebdcc3108 --- /dev/null +++ b/2012.5+Amazon.markdown @@ -0,0 +1,249 @@ +# GStreamer SDK documentation : 2012.5 Amazon + +This page last changed on Jun 15, 2012 by slomo. + +# Release – GStreamer SDK 2012.5 Amazon – Release + +**2012-06-07 // ** + +This release is targeted at media playback applications for desktop +systems. + +For more information about the GStreamer SDK and the latest versions +please visit  + +## System Requirements + +The GStreamer SDK currently supports Microsoft Windows, Mac OS X and +different Linux distributions. Future releases of the GStreamer SDK will +add support for Android, iOS and possibly other platforms. + +### Linux + +The supported Linux distributions are currently + + - Ubuntu 11.10 (Oneiric Ocelot) + - Ubuntu 12.04 (Precise Pangolin) + - Debian 6.0 (Squeeze) + - Fedora 16 + - Fedora 17 + +for x86 (32 bit) and x86-64 (64 bit). + +Support for more Linux distributions will be added on demand later. + +For installation instructions and development environment setup +instructions see [Installing on Linux](Installing%2Bon%2BLinux.html) + +### Mac OS X + +The supported Mac OS X versions are currently + + - Snow Leopard (10.6) + - Lion (10.7) + - Mountain Lion (10.8) (experimental) + +for x86 (32 bit) and x86-64 (64 bit). + +For installation instructions and development environment setup +instructions see [Installing on Mac OS +X](Installing%2Bon%2BMac%2BOS%2BX.html) + +### Microsoft Windows + +The supported Windows versions are + + - Windows XP + - Windows Vista + - Windows 7 + +for x86 (32 bit) and x86-64 (64 bit). + +Developing applications with the GStreamer SDK is supported with +the following development environments + + - Microsoft Visual Studio 2010 (including the free Visual C++ Express + edition) + +    + + - MinGW/MSYS + +   [http://mingw.org](http://mingw.org/) + +For installation instructions and development environment setup +instructions see [Installing on Windows](Installing%2Bon%2BWindows.html) + +## Compatibility + +The GStreamer SDK Amazon is compatible with the 0.10 release series of +GStreamer. + +## Features + +The GStreamer SDK Amazon is targeted at media playback applications for +desktop systems. It contains the required components and plugins for +media playback. + + - Local media playback, live streaming, progressive streaming and DVD + playback + - Supported video codecs: Theora, VP8, Dirac, MJPEG, h.264\*, + h.263\*, MPEG2\*, MPEG4\*, WMV/VC1\*, ... + - Supported audio codecs: Vorbis, FLAC, Speex, WavPack, AAC\*, + MP3\*, WMA\*, Dolby Digital (AC3)\*, DTS/DCA\*, AMR NB/WB\*, ... + - Supported container formats: Ogg, WebM, Matroska, MP4, + Quicktime, AVI, FLV, 3GPP, WAV, Real Media\*, ASF\*, MPEG + PS/TS\*, ... + - Supported protocols: local files, HTTP, Shoutcast/Icecast, HLS, + RTSP, RTP and MMS\* + - Application and GUI toolkit integration + - Automatic container/codecs discovery + - Metadata extraction + - Subtitle support + - Audio visualization + - On the fly stream switching between different audio/subtitle streams + - Absolute position seeking, including remote seeking + - Fast/slow forward/reverse playback and frame stepping + - Automatic video deinterlacing, scaling and color balance post + processing + - Compressed audio passthrough + - Clutter texture rendering + +> \* May require additional licenses from third parties in some +> countries and not installed by default with the GStreamer SDK. +> Properly licensed plugins can be obtained from different companies or +> licenses can be directly obtained from the relevant licensors. + +Although this release is targeted at playback applications only it +also contains encoders for some codecs, muxers for some container +formats and some other plugins that are not strictly playback related. +These use-cases are currently not officially supported by the GStreamer +SDK but will usually work and will be officially supported in future +releases of the GStreamer SDK. + + + +The GStreamer SDK Amazon contains the following major components, some +of them being optional or not used on some platforms.  + + - GLib 2.32.1 + - GStreamer core and base 0.10.36 + - GStreamer good plugins 0.10.31 + - GStreamer bad plugins 0.10.23 + - GStreamer ugly plugins 0.10.19 + - GStreamer Python bindings 0.10.22 + - GTK+ 2.24.10 and Python bindings + - clutter 1.8.4 and clutter-gst 1.4.6 + +## Known Issues + + - Switching between different audio streams can take some time until + the switch takes effect + - Using the native decoders (e.g. h.264) on OS X Lion (10.7) does not + work currently + - [Other known + issues](https://bugs.freedesktop.org/buglist.cgi?resolution=---&resolution=FIXED&query_format=advanced&bug_status=NEW&bug_status=ASSIGNED&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&version=2012.5&product=GStreamer%20SDK&list_id=85256) + +## Legal Information + +### Installer, default installation + +The installer (Microsoft Windows) and the default installation +(GNU/Linux) contain and install the minimal default installation. At +install time or later, the downloading of optional components is also +possible, but read on for certain legal cautions you might want to take. +All downloads are from the [freedesktop.org](http://www.freedesktop.org) +website, for registered/approved users only. + +### Licensing of SDK + +GStreamer SDK minimal default installation only contains packages which +are licensed under the GNU LGPL license v.2.1. This license gives you +the Freedom to use, modify, make copies of the software either in the +original or in a modified form, provided that the software you +redistribute is licensed under the same licensing terms. This only +extends to the software itself and modified versions of it, but you are +free to link the LGPL software as a library used by other software under +whichever license. In other words, it is a weak copyleft license. + +Therefore, it is possible to use the SDK to build applications that are +then distributed under a different license, including a proprietary one, +provided that reverse engineering is not prohibited for debugging +modifications purposes. Only the pieces of the SDK that are under the +LGPL need to be kept under the LGPL, and the corresponding source code +must be distributed along with the application (or an irrevocable offer +to do so for at least three years from distribution). Please consult +section 6 of the LGPL for further details as to what the corresponding +source code must contain. Some portions of the minimal default +installation may be under different licenses, which are both more +liberal than the LGPL (they are less strict conditions for granting the +license) and compatible with the LGPL. This is advised locally. + +### Optional packages + +There are two types of optional packages (GPL and Patented), which are +under a different license or have other issues concerning patentability +(or both). + +#### GPL code + +Part of the optional packages are under the GNU GPL v.2 or v.3. This +means that you cannot link the GPL software in a program unless the same +program is also under the GPL, but you are invited to seek competent +advice on how this works in your precise case and design choices. GPL is +called “strong copyleft” because the condition to distributed under the +same license has the largest possible scope and extends to all +derivative works. + +#### Patents + +Certain software, and in particular software that implements multimedia +standard formats such as Mp3, MPEG 2 video and audio, h.264, MPEG 4 +audio and video, AC3, etc, can have patent issues. In certain countries +patents are granted on software and even software-only solution are by +and large considered patentable and are patented (such as in the United +States). In certain others, patents on pure software solutions are +formally prohibited, but granted (this is the case of Europe), and in +others again are neither allowed nor granted. + +It is up to you to make sure that in the countries where the SDK is +used, products are made using it and product are distributed, a license +from the applicable patent holders is required or not. Receiving the SDK +– or links to other downloadable software – does not provide any license +expressed or implied over these patents, except in very limited +conditions where the license so provides. No representation is made. + +In certain cases, the optional packages are distributed only as source +code. It is up to the receiver to make sure that in the applicable +circumstances compiling the same code for a given platform or +distributing the object code is not an act that infringes one or more +patents. + +### Software is as-is + +All software and the entire SDK is provided as-is, without any +warranty whatsoever. The individual licenses have particular language +disclaiming liability: we invite you to read all of them. Should you +need a warranty on the fact that software works as intended or have any +kind of indemnification, you have the option to subscribe a software +maintenance agreement with a company or entity that is in that business. +Fluendo and Collabora, as well as some other companies, provide software +maintenance agreements under certain conditions, you are invited to +contact them in order to receive further details and discuss of the +commercial terms.  + +## Contact + +Web:  + +Documentation:  + +Commercial support:  + +Bug +tracker:  + +  + +Document generated by Confluence on Oct 08, 2015 10:28 + diff --git a/2012.7+Amazon+%28Bugfix+Release+1%29.markdown b/2012.7+Amazon+%28Bugfix+Release+1%29.markdown new file mode 100644 index 0000000000..06fb3280e5 --- /dev/null +++ b/2012.7+Amazon+%28Bugfix+Release+1%29.markdown @@ -0,0 +1,267 @@ +# GStreamer SDK documentation : 2012.7 Amazon (Bugfix Release 1) + +This page last changed on Jul 11, 2012 by slomo. + +# Release – GStreamer SDK 2012.7 Amazon – Bugfix Release 1 + +**2012-07-06 // [http://www.gstreamer.com](http://www.gstreamer.com/)** + +This release is targeted at media playback applications for desktop +systems. + +For more information about the GStreamer SDK and the latest versions +please visit [http://www.gstreamer.com](http://www.gstreamer.com/) + +## System Requirements + +The GStreamer SDK currently supports Microsoft Windows, Mac OS X and +different Linux distributions. Future releases of the GStreamer SDK will +add support for Android, iOS and possibly other platforms. + +### Linux + +The supported Linux distributions are currently + + - Ubuntu 11.10 (Oneiric Ocelot) + - Ubuntu 12.04 (Precise Pangolin) + - Debian 6.0 (Squeeze) + - Fedora 16 + - Fedora 17 + +for x86 (32 bit) and x86-64 (64 bit). + +Support for more Linux distributions will be added on demand later. + +For installation instructions and development environment setup +instructions see [Installing on Linux](Installing%2Bon%2BLinux.html) + +### Mac OS X + +The supported Mac OS X versions are currently + + - Snow Leopard (10.6) + - Lion (10.7) + - Mountain Lion (10.8) (experimental) + +for x86 (32 bit) and x86-64 (64 bit). + +For installation instructions and development environment setup +instructions see [Installing on Mac OS +X](Installing%2Bon%2BMac%2BOS%2BX.html) + +### Microsoft Windows + +The supported Windows versions are + + - Windows XP + - Windows Vista + - Windows 7 + +for x86 (32 bit) and x86-64 (64 bit). + +Developing applications with the GStreamer SDK is supported with +the following development environments + + - Microsoft Visual Studio 2010 (including the free Visual C++ Express + edition) + +    + + - MinGW/MSYS + +   [http://mingw.org](http://mingw.org/) + +For installation instructions and development environment setup +instructions see [Installing on Windows](Installing%2Bon%2BWindows.html) + +## Changes since 2012.5 Amazon + + - The audio sink on OSX (osxaudiosink) supports compressed audio + passthrough (SPDIF) and takes the user's speaker configuration into + account + - The Windows Direct3D video sink (d3dvideosink) got many bugfixes for + memory/resource leaks fixes + - clutter-gst was updated to 1.6.0 to correctly work with the Fluendo + VAAPI plugins + - Support for static linking of GStreamer was improved + - Various improvements to the Mac OS X framework + - Many new tutorials were added + - Lots of other, smaller bugfixes to GStreamer and other software + - Closed + [bugreports](https://bugs.freedesktop.org/buglist.cgi?resolution=---&resolution=FIXED&query_format=advanced&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&version=2012.5&product=GStreamer%20SDK&list_id=85256) + +## Compatibility + +The GStreamer SDK Amazon (Bugfix Release 1) is compatible with the 0.10 +release series of GStreamer and fully compatible with GStreamer SDK +Amazon Release. + +## Features + +The GStreamer SDK Amazon is targeted at media playback applications for +desktop systems. It contains the required components and plugins for +media playback. + + - Local media playback, live streaming, progressive streaming and DVD + playback + - Supported video codecs: Theora, VP8, Dirac, MJPEG, h.264\*, + h.263\*, MPEG2\*, MPEG4\*, WMV/VC1\*, ... + - Supported audio codecs: Vorbis, FLAC, Speex, WavPack, AAC\*, + MP3\*, WMA\*, Dolby Digital (AC3)\*, DTS/DCA\*, AMR NB/WB\*, ... + - Supported container formats: Ogg, WebM, Matroska, MP4, + Quicktime, AVI, FLV, 3GPP, WAV, Real Media\*, ASF\*, MPEG + PS/TS\*, ... + - Supported protocols: local files, HTTP, Shoutcast/Icecast, HLS, + RTSP, RTP and MMS\* + - Application and GUI toolkit integration + - Automatic container/codecs discovery + - Metadata extraction + - Subtitle support + - Audio visualization + - On the fly stream switching between different audio/subtitle streams + - Absolute position seeking, including remote seeking + - Fast/slow forward/reverse playback and frame stepping + - Automatic video deinterlacing, scaling and color balance post + processing + - Compressed audio passthrough + - Clutter texture rendering + +> \* May require additional licenses from third parties in some +> countries and not installed by default with the GStreamer SDK. +> Properly licensed plugins can be obtained from different companies or +> licenses can be directly obtained from the relevant licensors. + +Although this release is targeted at playback applications only it +also contains encoders for some codecs, muxers for some container +formats and some other plugins that are not strictly playback related. +These use-cases are currently not officially supported by the GStreamer +SDK but will usually work and will be officially supported in future +releases of the GStreamer SDK. + + + +The GStreamer SDK Amazon contains the following major components, some +of them being optional or not used on some platforms.  + + - GLib 2.32.1 + - GStreamer core and base 0.10.36 + - GStreamer good plugins 0.10.31 + - GStreamer bad plugins 0.10.23 + - GStreamer ugly plugins 0.10.19 + - GStreamer Python bindings 0.10.22 + - GTK+ 2.24.10 and Python bindings + - clutter 1.8.4 and clutter-gst 1.6.0 + +## Known Issues + + - Switching between different audio streams can take some time until + the switch takes effect + - Using the native decoders (e.g. h.264) on OS X Lion (10.7) does not + work currently + - [Other known + issues](https://bugs.freedesktop.org/buglist.cgi?resolution=---&resolution=FIXED&query_format=advanced&bug_status=NEW&bug_status=ASSIGNED&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&version=2012.7&product=GStreamer%20SDK&list_id=85256) + +## Legal Information + +### Installer, default installation + +The installer (Microsoft Windows) and the default installation +(GNU/Linux) contain and install the minimal default installation. At +install time or later, the downloading of optional components is also +possible, but read on for certain legal cautions you might want to take. +All downloads are from +the [freedesktop.org](http://www.freedesktop.org/) website, for +registered/approved users only. + +### Licensing of SDK + +GStreamer SDK minimal default installation only contains packages which +are licensed under the GNU LGPL license v.2.1. This license gives you +the Freedom to use, modify, make copies of the software either in the +original or in a modified form, provided that the software you +redistribute is licensed under the same licensing terms. This only +extends to the software itself and modified versions of it, but you are +free to link the LGPL software as a library used by other software under +whichever license. In other words, it is a weak copyleft license. + +Therefore, it is possible to use the SDK to build applications that are +then distributed under a different license, including a proprietary one, +provided that reverse engineering is not prohibited for debugging +modifications purposes. Only the pieces of the SDK that are under the +LGPL need to be kept under the LGPL, and the corresponding source code +must be distributed along with the application (or an irrevocable offer +to do so for at least three years from distribution). Please consult +section 6 of the LGPL for further details as to what the corresponding +source code must contain. Some portions of the minimal default +installation may be under different licenses, which are both more +liberal than the LGPL (they are less strict conditions for granting the +license) and compatible with the LGPL. This is advised locally. + +### Optional packages + +There are two types of optional packages (GPL and Patented), which are +under a different license or have other issues concerning patentability +(or both). + +#### GPL code + +Part of the optional packages are under the GNU GPL v.2 or v.3. This +means that you cannot link the GPL software in a program unless the same +program is also under the GPL, but you are invited to seek competent +advice on how this works in your precise case and design choices. GPL is +called “strong copyleft” because the condition to distributed under the +same license has the largest possible scope and extends to all +derivative works. + +#### Patents + +Certain software, and in particular software that implements multimedia +standard formats such as Mp3, MPEG 2 video and audio, h.264, MPEG 4 +audio and video, AC3, etc, can have patent issues. In certain countries +patents are granted on software and even software-only solution are by +and large considered patentable and are patented (such as in the United +States). In certain others, patents on pure software solutions are +formally prohibited, but granted (this is the case of Europe), and in +others again are neither allowed nor granted. + +It is up to you to make sure that in the countries where the SDK is +used, products are made using it and product are distributed, a license +from the applicable patent holders is required or not. Receiving the SDK +– or links to other downloadable software – does not provide any license +expressed or implied over these patents, except in very limited +conditions where the license so provides. No representation is made. + +In certain cases, the optional packages are distributed only as source +code. It is up to the receiver to make sure that in the applicable +circumstances compiling the same code for a given platform or +distributing the object code is not an act that infringes one or more +patents. + +### Software is as-is + +All software and the entire SDK is provided as-is, without any +warranty whatsoever. The individual licenses have particular language +disclaiming liability: we invite you to read all of them. Should you +need a warranty on the fact that software works as intended or have any +kind of indemnification, you have the option to subscribe a software +maintenance agreement with a company or entity that is in that business. +Fluendo and Collabora, as well as some other companies, provide software +maintenance agreements under certain conditions, you are invited to +contact them in order to receive further details and discuss of the +commercial terms.  + +## Contact + +Web: [http://www.gstreamer.com](http://www.gstreamer.com/) + +Documentation:  + +Commercial support:  + +Bug +tracker:  + +  + +Document generated by Confluence on Oct 08, 2015 10:28 + diff --git a/2012.9+Amazon+%28Bugfix+Release+2%29.markdown b/2012.9+Amazon+%28Bugfix+Release+2%29.markdown new file mode 100644 index 0000000000..26e57e341b --- /dev/null +++ b/2012.9+Amazon+%28Bugfix+Release+2%29.markdown @@ -0,0 +1,265 @@ +# GStreamer SDK documentation : 2012.9 Amazon (Bugfix Release 2) + +This page last changed on Sep 18, 2012 by ylatuya. + +# Release – GStreamer SDK 2012.9 Amazon – Bugfix Release 2 + +**2012-09-18 // [http://www.gstreamer.com](http://www.gstreamer.com/)** + +This release is targeted at media playback applications for desktop +systems. + +For more information about the GStreamer SDK and the latest versions +please visit [http://www.gstreamer.com](http://www.gstreamer.com/) + +## System Requirements + +The GStreamer SDK currently supports Microsoft Windows, Mac OS X and +different Linux distributions. Future releases of the GStreamer SDK will +add support for Android, iOS and possibly other platforms. + +### Linux + +The supported Linux distributions are currently + + - Ubuntu 11.10 (Oneiric Ocelot) + - Ubuntu 12.04 (Precise Pangolin) + - Debian 6.0 (Squeeze) + - Fedora 16 + - Fedora 17 + +for x86 (32 bit) and x86-64 (64 bit). + +Support for more Linux distributions will be added on demand later. + +For installation instructions and development environment setup +instructions see [Installing on Linux](Installing%2Bon%2BLinux.html) + +### Mac OS X + +The supported Mac OS X versions are currently + + - Snow Leopard (10.6) + - Lion (10.7) + - Mountain Lion (10.8) (experimental) + +for x86 (32 bit) and x86-64 (64 bit) with universal binaries. + +For installation instructions and development environment setup +instructions see [Installing on Mac OS +X](Installing%2Bon%2BMac%2BOS%2BX.html) + +### Microsoft Windows + +The supported Windows versions are + + - Windows XP + - Windows Vista + - Windows 7 + +for x86 (32 bit) and x86-64 (64 bit). + +Developing applications with the GStreamer SDK is supported with +the following development environments + + - Microsoft Visual Studio 2010 (including the free Visual C++ Express + edition) + +    + + - MinGW/MSYS + +   [http://mingw.org](http://mingw.org/) + +For installation instructions and development environment setup +instructions see [Installing on Windows](Installing%2Bon%2BWindows.html) + +## Changes since 2012.7 Amazon + + - Universal binaries were added for Mac OS X + - A new gstreamer-editing package was added with GES and GNonlin + - A new gstreamer-capture package was added with several source + plugins. + - A scalling bug of the video window was fixed for Gtk applications in + Mac OS X + - The python bindings for Windows now include the missing + libpyglib-2.0-python.pyd file + - Lots of other, smaller bugfixes to GStreamer and other software + - Closed + [bugreports](https://bugs.freedesktop.org/buglist.cgi?resolution=---&resolution=FIXED&query_format=advanced&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&version=2012.7&product=GStreamer%20SDK&list_id=131136) + +## Compatibility + +The GStreamer SDK Amazon (Bugfix Release 2) is compatible with the 0.10 +release series of GStreamer and fully compatible with GStreamer SDK +Amazon Release. + +## Features + +The GStreamer SDK Amazon is targeted at media playback applications for +desktop systems. It contains the required components and plugins for +media playback. + + - Local media playback, live streaming, progressive streaming and DVD + playback + - Supported video codecs: Theora, VP8, Dirac, MJPEG, h.264\*, + h.263\*, MPEG2\*, MPEG4\*, WMV/VC1\*, ... + - Supported audio codecs: Vorbis, FLAC, Speex, WavPack, AAC\*, + MP3\*, WMA\*, Dolby Digital (AC3)\*, DTS/DCA\*, AMR NB/WB\*, ... + - Supported container formats: Ogg, WebM, Matroska, MP4, + Quicktime, AVI, FLV, 3GPP, WAV, Real Media\*, ASF\*, MPEG + PS/TS\*, ... + - Supported protocols: local files, HTTP, Shoutcast/Icecast, HLS, + RTSP, RTP and MMS\* + - Application and GUI toolkit integration + - Automatic container/codecs discovery + - Metadata extraction + - Subtitle support + - Audio visualization + - On the fly stream switching between different audio/subtitle streams + - Absolute position seeking, including remote seeking + - Fast/slow forward/reverse playback and frame stepping + - Automatic video deinterlacing, scaling and color balance post + processing + - Compressed audio passthrough + - Clutter texture rendering + +> \* May require additional licenses from third parties in some +> countries and not installed by default with the GStreamer SDK. +> Properly licensed plugins can be obtained from different companies or +> licenses can be directly obtained from the relevant licensors. + +Although this release is targeted at playback applications only it +also contains encoders for some codecs, muxers for some container +formats and some other plugins that are not strictly playback related. +These use-cases are currently not officially supported by the GStreamer +SDK but will usually work and will be officially supported in future +releases of the GStreamer SDK. + + + +The GStreamer SDK Amazon contains the following major components, some +of them being optional or not used on some platforms.  + + - GLib 2.32.1 + - GStreamer core and base 0.10.36 + - GStreamer good plugins 0.10.31 + - GStreamer bad plugins 0.10.23 + - GStreamer ugly plugins 0.10.19 + - GStreamer Python bindings 0.10.22 + - GTK+ 2.24.10 and Python bindings + - clutter 1.8.4 and clutter-gst 1.6.0 + +## Known Issues + + - Switching between different audio streams can take some time until + the switch takes effect + - Using the native decoders (e.g. h.264) on OS X Lion (10.7) does not + work currently + - [Other known + issues](https://bugs.freedesktop.org/buglist.cgi?resolution=---&resolution=FIXED&query_format=advanced&bug_status=NEW&bug_status=ASSIGNED&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&version=2012.7&product=GStreamer%20SDK&list_id=85256) + +## Legal Information + +### Installer, default installation + +The installer (Microsoft Windows) and the default installation +(GNU/Linux) contain and install the minimal default installation. At +install time or later, the downloading of optional components is also +possible, but read on for certain legal cautions you might want to take. +All downloads are from +the [freedesktop.org](http://www.freedesktop.org/) website, for +registered/approved users only. + +### Licensing of SDK + +GStreamer SDK minimal default installation only contains packages which +are licensed under the GNU LGPL license v.2.1. This license gives you +the Freedom to use, modify, make copies of the software either in the +original or in a modified form, provided that the software you +redistribute is licensed under the same licensing terms. This only +extends to the software itself and modified versions of it, but you are +free to link the LGPL software as a library used by other software under +whichever license. In other words, it is a weak copyleft license. + +Therefore, it is possible to use the SDK to build applications that are +then distributed under a different license, including a proprietary one, +provided that reverse engineering is not prohibited for debugging +modifications purposes. Only the pieces of the SDK that are under the +LGPL need to be kept under the LGPL, and the corresponding source code +must be distributed along with the application (or an irrevocable offer +to do so for at least three years from distribution). Please consult +section 6 of the LGPL for further details as to what the corresponding +source code must contain. Some portions of the minimal default +installation may be under different licenses, which are both more +liberal than the LGPL (they are less strict conditions for granting the +license) and compatible with the LGPL. This is advised locally. + +### Optional packages + +There are two types of optional packages (GPL and Patented), which are +under a different license or have other issues concerning patentability +(or both). + +#### GPL code + +Part of the optional packages are under the GNU GPL v.2 or v.3. This +means that you cannot link the GPL software in a program unless the same +program is also under the GPL, but you are invited to seek competent +advice on how this works in your precise case and design choices. GPL is +called “strong copyleft” because the condition to distributed under the +same license has the largest possible scope and extends to all +derivative works. + +#### Patents + +Certain software, and in particular software that implements multimedia +standard formats such as Mp3, MPEG 2 video and audio, h.264, MPEG 4 +audio and video, AC3, etc, can have patent issues. In certain countries +patents are granted on software and even software-only solution are by +and large considered patentable and are patented (such as in the United +States). In certain others, patents on pure software solutions are +formally prohibited, but granted (this is the case of Europe), and in +others again are neither allowed nor granted. + +It is up to you to make sure that in the countries where the SDK is +used, products are made using it and product are distributed, a license +from the applicable patent holders is required or not. Receiving the SDK +– or links to other downloadable software – does not provide any license +expressed or implied over these patents, except in very limited +conditions where the license so provides. No representation is made. + +In certain cases, the optional packages are distributed only as source +code. It is up to the receiver to make sure that in the applicable +circumstances compiling the same code for a given platform or +distributing the object code is not an act that infringes one or more +patents. + +### Software is as-is + +All software and the entire SDK is provided as-is, without any +warranty whatsoever. The individual licenses have particular language +disclaiming liability: we invite you to read all of them. Should you +need a warranty on the fact that software works as intended or have any +kind of indemnification, you have the option to subscribe a software +maintenance agreement with a company or entity that is in that business. +Fluendo and Collabora, as well as some other companies, provide software +maintenance agreements under certain conditions, you are invited to +contact them in order to receive further details and discuss of the +commercial terms.  + +## Contact + +Web: [http://www.gstreamer.com](http://www.gstreamer.com/) + +Documentation:  + +Commercial support:  + +Bug +tracker:  + +  + +Document generated by Confluence on Oct 08, 2015 10:28 + diff --git a/2013.6+Congo.markdown b/2013.6+Congo.markdown new file mode 100644 index 0000000000..021e92ba5e --- /dev/null +++ b/2013.6+Congo.markdown @@ -0,0 +1,306 @@ +# GStreamer SDK documentation : 2013.6 Congo + +This page last changed on Jun 11, 2013 by ylatuya. + +# Release – GStreamer SDK 2013.6 Congo + +**2013-06-12 // [http://www.gstreamer.com](http://www.gstreamer.com/)** + +This release is targeted at media playback applications for desktop and +mobile systems. + +For more information about the GStreamer SDK and the latest versions +please visit [http://www.gstreamer.com](http://www.gstreamer.com/) + +## System Requirements + +The GStreamer SDK currently supports Microsoft Windows, Mac OS X, +different Linux distributions, Android and iOS. + +Future releases of the GStreamer SDK will add support for possibly other +platforms. + +### Linux + +The supported Linux distributions are currently + + - Ubuntu 12.04 (Precise Pangolin) + + - Ubuntu 12.10 (Quantal Quetzal) + + - Ubuntu 13.04 (Raring Ringtail) + + - Debian 6.0 (Squeeze) + + - Debian 7.0 (Wheezy) + + - Fedora 17 + + - Fedora 18 + +for x86 (32 bit) and x86-64 (64 bit). + +Support for more Linux distributions will be added on demand later. + +For installation instructions and development environment setup +instructions see [Installing on Linux](Installing%2Bon%2BLinux.html) + +### Mac OS X + +The supported Mac OS X versions are currently + + - Snow Leopard (10.6) + - Lion (10.7) + - Mountain Lion (10.8) + +for x86 (32 bit) and x86-64 (64 bit) with universal binaries. + +For installation instructions and development environment setup +instructions see [Installing on Mac OS +X](Installing%2Bon%2BMac%2BOS%2BX.html) + +### Microsoft Windows + +The supported Windows versions are + + - Windows XP + - Windows Vista + - Windows 7 + - Windows 8 + +for x86 (32 bit) and x86-64 (64 bit). + +Developing applications with the GStreamer SDK is supported with +the following development environments + + - Microsoft Visual Studio 2010 or 2012 (including the free Visual C++ + Express + edition) + +    + + - MinGW/MSYS + +   [http://mingw.org](http://mingw.org/) + +For installation instructions and development environment setup +instructions see [Installing on Windows](Installing%2Bon%2BWindows.html) + +### Android + +The supported Android versions are + + - 2.3 (Gingerbread, API level 9/10) + - 3.1/3.2 (Honeycomb, API level 12/13) + - 4.0 (Ice Cream Sandwhich, API level 15) + - 4.1/4.2 (Jelly Bean, API level 16/17) + +for ARM. + +Developing applications with the GStreamer SDK for Android is supported +from Linux, Mac OS X and Windows systems using the Android SDK and NDK. + +For installation instructions and development environment setup +instructions see [Installing for Android +development](Installing%2Bfor%2BAndroid%2Bdevelopment.html). + +### iOS + +The supported iOS versions are 6.0 and newer for ARM and x86 (iOS +simulator). + +Developing applications with the GStreamer SDK for iOS is supported from +Mac OS X only and requires a recent XCode version. + +For installation instructions and development environment setup +instructions see [Installing for iOS +development](Installing%2Bfor%2BiOS%2Bdevelopment.html). + +## Changes since 2012.11 Brahmaputra + + - Support for iOS platforms + - Support for Ubuntu 13.04 and Fedora 18 + - Support for Android NDK r8e and newer + - Update to gcc 4.7.3 and use MSVC lib.exe for generating .lib files + for the Windows builds + - The system audio/video codecs on Mac OS X 10.8 can be used from + GStreamer now + - Several RTP/RTSP and MPEG TS improvements + - Fixed audio capture in Windows + - Improvements and bugfixes to the SDK build process on all platforms + - Lots of other, smaller bugfixes to GStreamer and other + software + - Closed [bugreports](https://bugs.freedesktop.org/buglist.cgi?list_id=310239&resolution=FIXED&chfieldto=2013-06-12&query_format=advanced&chfield=resolution&chfieldfrom=2012-11-28&chfieldvalue=FIXED&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&product=GStreamer%20SDK) + +## Compatibility + +The GStreamer SDK Congo is compatible with the 0.10 release series of +GStreamer and fully compatible with GStreamer SDK Amazon and Brahmaputra +Releases. + +## Features + +The GStreamer SDK Congo is targeted at media playback applications for +desktop and mobile systems. It contains the required components +and plugins for media playback. + + - Local media playback, live streaming, progressive streaming and DVD + playback + - Supported video codecs: Theora, VP8, Dirac, MJPEG, JPEG2000, + h.264\*, h.263\*, MPEG2\*, MPEG4\*, WMV/VC1\*, DV, ... + - Supported audio codecs: Vorbis, FLAC, Opus, Speex, WavPack, + AAC\*, MP3\*, WMA\*, Dolby Digital (AC3)\*, DTS/DCA\*, AMR + NB/WB\*, ... + - Supported container formats: Ogg, WebM, Matroska, MP4, + Quicktime, AVI, FLV, 3GPP, WAV, DV, Real Media\*, ASF\*, MPEG + PS/TS\*, ... + - Supported protocols: local files, HTTP, Shoutcast/Icecast, HLS, + RTSP, RTP and MMS\* + - Application and GUI toolkit integration + - Automatic container/codecs discovery + - Metadata extraction + - Subtitle support + - Audio visualization + - On the fly stream switching between different audio/subtitle streams + - Absolute position seeking, including remote seeking + - Fast/slow forward/reverse playback and frame stepping + - Automatic video deinterlacing, scaling and color balance post + processing + - Compressed audio passthrough + - Clutter texture rendering + +> \* May require additional licenses from third parties in some +> countries and not installed by default with the GStreamer SDK. +> Properly licensed plugins can be obtained from different companies or +> licenses can be directly obtained from the relevant licensors. + +Although this release is targeted at playback applications only it +also contains encoders for some codecs, muxers for some container +formats and some other plugins that are not strictly playback related. +These use-cases are currently not officially supported by the GStreamer +SDK but will usually work and will be officially supported in future +releases of the GStreamer SDK. + +The GStreamer SDK Congo contains the following major components, some of +them being optional or not used on some platforms.  + + - GLib 2.36.1 + - GStreamer core and base 0.10.36 + - GStreamer good plugins 0.10.31 + - GStreamer bad plugins 0.10.23 + - GStreamer ugly plugins 0.10.19 + - GStreamer Python bindings 0.10.22\* + - GTK+ 2.24.11 and Python bindings\* + - clutter 1.8.4 and clutter-gst 1.6.0\* + +> \* Not available on Android and iOS platforms. + +## Known Issues + + - Switching between different audio streams can take some time until + the switch takes effect + - [Other known + issues](https://bugs.freedesktop.org/buglist.cgi?resolution=---&resolution=FIXED&query_format=advanced&bug_status=NEW&bug_status=ASSIGNED&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&version=2013.6&product=GStreamer%20SDK&list_id=85256) + +## Legal Information + +### Installer, default installation + +The installer (Microsoft Windows) and the default installation +(GNU/Linux) contain and install the minimal default installation. At +install time or later, the downloading of optional components is also +possible, but read on for certain legal cautions you might want to take. +All downloads are from +the [freedesktop.org](http://www.freedesktop.org/) website, for +registered/approved users only. + +### Licensing of SDK + +GStreamer SDK minimal default installation only contains packages which +are licensed under the GNU LGPL license v.2.1. This license gives you +the Freedom to use, modify, make copies of the software either in the +original or in a modified form, provided that the software you +redistribute is licensed under the same licensing terms. This only +extends to the software itself and modified versions of it, but you are +free to link the LGPL software as a library used by other software under +whichever license. In other words, it is a weak copyleft license. + +Therefore, it is possible to use the SDK to build applications that are +then distributed under a different license, including a proprietary one, +provided that reverse engineering is not prohibited for debugging +modifications purposes. Only the pieces of the SDK that are under the +LGPL need to be kept under the LGPL, and the corresponding source code +must be distributed along with the application (or an irrevocable offer +to do so for at least three years from distribution). Please consult +section 6 of the LGPL for further details as to what the corresponding +source code must contain. Some portions of the minimal default +installation may be under different licenses, which are both more +liberal than the LGPL (they are less strict conditions for granting the +license) and compatible with the LGPL. This is advised locally. + +### Optional packages + +There are two types of optional packages (GPL and Patented), which are +under a different license or have other issues concerning patentability +(or both). + +#### GPL code + +Part of the optional packages are under the GNU GPL v.2 or v.3. This +means that you cannot link the GPL software in a program unless the same +program is also under the GPL, but you are invited to seek competent +advice on how this works in your precise case and design choices. GPL is +called “strong copyleft” because the condition to distributed under the +same license has the largest possible scope and extends to all +derivative works. + +#### Patents + +Certain software, and in particular software that implements multimedia +standard formats such as Mp3, MPEG 2 video and audio, h.264, MPEG 4 +audio and video, AC3, etc, can have patent issues. In certain countries +patents are granted on software and even software-only solution are by +and large considered patentable and are patented (such as in the United +States). In certain others, patents on pure software solutions are +formally prohibited, but granted (this is the case of Europe), and in +others again are neither allowed nor granted. + +It is up to you to make sure that in the countries where the SDK is +used, products are made using it and product are distributed, a license +from the applicable patent holders is required or not. Receiving the SDK +– or links to other downloadable software – does not provide any license +expressed or implied over these patents, except in very limited +conditions where the license so provides. No representation is made. + +In certain cases, the optional packages are distributed only as source +code. It is up to the receiver to make sure that in the applicable +circumstances compiling the same code for a given platform or +distributing the object code is not an act that infringes one or more +patents. + +### Software is as-is + +All software and the entire SDK is provided as-is, without any +warranty whatsoever. The individual licenses have particular language +disclaiming liability: we invite you to read all of them. Should you +need a warranty on the fact that software works as intended or have any +kind of indemnification, you have the option to subscribe a software +maintenance agreement with a company or entity that is in that business. +Fluendo and Collabora, as well as some other companies, provide software +maintenance agreements under certain conditions, you are invited to +contact them in order to receive further details and discuss of the +commercial terms.  + +## Contact + +Web: [http://www.gstreamer.com](http://www.gstreamer.com/) + +Documentation: [http://docs.gstreamer.com](http://docs.gstreamer.com/) + +Commercial support:  + +Bug +tracker:  + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Android+tutorial+1%3A+Link+against+GStreamer.markdown b/Android+tutorial+1%3A+Link+against+GStreamer.markdown new file mode 100644 index 0000000000..426ee86e40 --- /dev/null +++ b/Android+tutorial+1%3A+Link+against+GStreamer.markdown @@ -0,0 +1,297 @@ +# GStreamer SDK documentation : Android tutorial 1: Link against GStreamer + +This page last changed on May 02, 2013 by xartigas. + +# Goal![](attachments/thumbnails/2687057/2654326) + +This first Android tutorial is extremely simple: it just retrieves the +GStreamer version and displays it on the screen. It exemplifies how to +access GStreamer C code from Java and verifies that there have been no +linkage problems.  + +# Hello GStreamer \[Java code\] + +In the `share/gst-sdk/tutorials` folder of your GStreamer SDK +installation path you should find an `android-tutorial-1` directory, +with the usual Android NDK structure: a `src` folder for the Java code, +a `jni` folder for the C code and a `res` folder for UI resources. + +We recommend that you open this project in Eclipse (as explained +in [Installing for Android +development](Installing%2Bfor%2BAndroid%2Bdevelopment.html)) so you can +easily see how all the pieces fit together. + +Let’s first introduce the Java code, then the C code and finally the +makefile that allows GStreamer integration. + +**src/com/gst\_sdk\_tutorials/tutorial\_1/Tutorial1.java** + +``` theme: Default; brush: java; gutter: true +package com.gst_sdk_tutorials.tutorial_1; + +import android.app.Activity; +import android.os.Bundle; +import android.widget.TextView; +import android.widget.Toast; + +import com.gstreamer.GStreamer; + +public class Tutorial1 extends Activity { + private native String nativeGetGStreamerInfo(); + + // Called when the activity is first created. + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + + try { + GStreamer.init(this); + } catch (Exception e) { + Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show(); + finish(); + return; + } + + setContentView(R.layout.main); + + TextView tv = (TextView)findViewById(R.id.textview_info); + tv.setText("Welcome to " + nativeGetGStreamerInfo() + " !"); + } + + static { + System.loadLibrary("gstreamer_android"); + System.loadLibrary("tutorial-1"); + } + +} +``` + +Calls from Java to C happen through native methods, like the one +declared here: + +``` first-line: 11; theme: Default; brush: java; gutter: true +private native String nativeGetGStreamerInfo(); +``` + +This tells Java that there exists a method with this signature somewhere +so it compiles happily. It is your responsibility to ensure that, **at +runtime**, this method is accessible. This is accomplished by the C code +shown later. + +The first bit of code that gets actually executed is the static +initializer of the class: + +``` first-line: 33; theme: Default; brush: java; gutter: true +static { + System.loadLibrary("gstreamer_android"); + System.loadLibrary("tutorial-1"); +} +``` + +It loads `libgstreamer_android.so`, which contains all GStreamer +methods, and `libtutorial-1.so`, which contains the C part of this +tutorial, explained below. + +Upon loading, each of these libraries’ `JNI_OnLoad()` method is +executed. It basically registers the native methods that these libraries +expose. The GStreamer library only exposes a `init()` method, which +initializes GStreamer and registers all plugins (The tutorial library is +explained later below). + +``` first-line: 19; theme: Default; brush: java; gutter: true +try { + GStreamer.init(this); +} catch (Exception e) { + Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show(); + finish(); + return; +} +``` + +Next, in the `OnCreate()` method of the +[Activity](http://developer.android.com/reference/android/app/Activity.html) +we actually initialize GStreamer by calling `GStreamer.init()`. This +method requires a +[Context](http://developer.android.com/reference/android/content/Context.html) +so it cannot be called from the static initializer, but there is no +danger in calling it multiple times, as all but the first time the calls +will be ignored. + +Should initialization fail, the `init()` method would throw an +[Exception](http://developer.android.com/reference/java/lang/Exception.html) +with the details provided by the GStreamer library. + +``` first-line: 29; theme: Default; brush: java; gutter: true +TextView tv = (TextView)findViewById(R.id.textview_info); +tv.setText("Welcome to " + nativeGetGStreamerInfo() + " !"); +``` + +Then, the native method `nativeGetGStreamerInfo()` is called and a +string is retrieved, which is used to format the content of the +[TextView](http://developer.android.com/reference/android/widget/TextView.html) +in the UI. + +This finishes the UI part of this tutorial. Let’s take a look at the C +code: + +# Hello GStreamer \[C code\] + +**jni/tutorial-1.c** + +``` theme: Default; brush: cpp; gutter: true +#include +#include +#include +#include + +/* + * Java Bindings + */ +jstring gst_native_get_gstreamer_info (JNIEnv* env, jobject thiz) { + char *version_utf8 = gst_version_string(); + jstring *version_jstring = (*env)->NewStringUTF(env, version_utf8); + g_free (version_utf8); + return version_jstring; +} + +static JNINativeMethod native_methods[] = { + { "nativeGetGStreamerInfo", "()Ljava/lang/String;", (void *) gst_native_get_gstreamer_info} +}; + +jint JNI_OnLoad(JavaVM *vm, void *reserved) { + JNIEnv *env = NULL; + + if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_4) != JNI_OK) { + __android_log_print (ANDROID_LOG_ERROR, "tutorial-1", "Could not retrieve JNIEnv"); + return 0; + } + jclass klass = (*env)->FindClass (env, "com/gst_sdk_tutorials/tutorial_1/Tutorial1"); + (*env)->RegisterNatives (env, klass, native_methods, G_N_ELEMENTS(native_methods)); + + return JNI_VERSION_1_4; +} +``` + +The `JNI_OnLoad()` method is executed every time the Java Virtual +Machine (VM) loads a library. + +Here, we retrieve the JNI environment needed to make calls that interact +with Java: + +``` first-line: 21; theme: Default; brush: cpp; gutter: true +JNIEnv *env = NULL; + +if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_4) != JNI_OK) { + __android_log_print (ANDROID_LOG_ERROR, "tutorial-1", "Could not retrieve JNIEnv"); + return 0; +}  +``` + +And then locate the class containing the UI part of this tutorial using +` +FindClass()`: + +``` first-line: 27; theme: Default; brush: cpp; gutter: true +jclass klass = (*env)->FindClass (env, "com/gst_sdk_tutorials/tutorial_1/Tutorial1"); +``` + +Finally, we register our native methods with `RegisterNatives()`, this +is, we provide the code for the methods we advertised in Java using the +**`native`** + keyword: + +``` first-line: 28; theme: Default; brush: cpp; gutter: true +(*env)->RegisterNatives (env, klass, native_methods, G_N_ELEMENTS(native_methods)); +``` + +The `native_methods` array describes each one of the methods to register +(only one in this tutorial).  For each method, it provides its Java +name, its [type +signature](http://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/types.html#wp276) +and a pointer to the C function implementing it: + +``` first-line: 16; theme: Default; brush: cpp; gutter: true +static JNINativeMethod native_methods[] = { + { "nativeGetGStreamerInfo", "()Ljava/lang/String;", (void *) gst_native_get_gstreamer_info} +}; +``` + +The only native method used in this tutorial +is `nativeGetGStreamerInfo()`: + +``` first-line: 9; theme: Default; brush: cpp; gutter: true +jstring gst_native_get_gstreamer_info (JNIEnv* env, jobject thiz) { + char *version_utf8 = gst_version_string(); + jstring *version_jstring = (*env)->NewStringUTF(env, version_utf8); + g_free (version_utf8); + return version_jstring; +} +``` + +It simply calls `gst_version_string()` to obtain a string describing +this version of GStreamer. This [Modified +UTF8](http://en.wikipedia.org/wiki/UTF-8#Modified_UTF-8) string is then +converted to [UTF16](http://en.wikipedia.org/wiki/UTF-16) by ` +NewStringUTF()` as required by Java and returned. Java will be +responsible for freeing the memory used by the new UTF16 String, but we +must free the `char *` returned by `gst_version_string()`. + +# Hello GStreamer \[Android.mk\] + +**jni/Android.mk** + +``` theme: Default; brush: ruby; gutter: true +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_MODULE := tutorial-1 +LOCAL_SRC_FILES := tutorial-1.c +LOCAL_SHARED_LIBRARIES := gstreamer_android +LOCAL_LDLIBS := -llog +include $(BUILD_SHARED_LIBRARY) + +ifndef GSTREAMER_SDK_ROOT +ifndef GSTREAMER_SDK_ROOT_ANDROID +$(error GSTREAMER_SDK_ROOT_ANDROID is not defined!) +endif +GSTREAMER_SDK_ROOT := $(GSTREAMER_SDK_ROOT_ANDROID) +endif +GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ +GSTREAMER_PLUGINS := coreelements +include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk +``` + +This is a barebones makefile for a project with GStreamer support. It +simply states that it depends on the `libgstreamer_android.so` library +(line 7), and requires the `coreelements` plugin (line 18). More complex +applications will probably add more libraries and plugins +to `Android.mk` + +# Conclusion + +This ends the first Android tutorial. It has shown that, besides the +interconnection between Java and C (which abides to the standard JNI +procedure), adding GStreamer support to an Android application is not +any more complicated than adding it to a desktop application. + +The following tutorials detail the few places in which care has to be +taken when developing specifically for the Android platform. + +As usual, it has been a pleasure having you here, and see you soon\! + +## Attachments: + +![](images/icons/bullet_blue.gif) +[tutorial1-screenshot.png](attachments/2687057/2654411.png) +(image/png) +![](images/icons/bullet_blue.gif) +[tutorial1-screenshot.png](attachments/2687057/2654416.png) +(image/png) +![](images/icons/bullet_blue.gif) +[tutorial1-screenshot.png](attachments/2687057/2654326.png) +(image/png) + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Android+tutorial+2%3A+A+running+pipeline.markdown b/Android+tutorial+2%3A+A+running+pipeline.markdown new file mode 100644 index 0000000000..a5fb6ee8f4 --- /dev/null +++ b/Android+tutorial+2%3A+A+running+pipeline.markdown @@ -0,0 +1,1066 @@ +# GStreamer SDK documentation : Android tutorial 2: A running pipeline + +This page last changed on May 07, 2013 by xartigas. + +# Goal ![](attachments/thumbnails/2687063/2654324) + +The tutorials seen in the [Basic](Basic%2Btutorials.html) and +[Playback](Playback%2Btutorials.html) sections are intended for Desktop +platforms and, therefore, their main thread is allowed to block (using +`gst_bus_pop_filtered()`) or relinquish control to a GLib main loop. On +Android this would lead to the application being tagged as +non-responsive and probably closed. + +This tutorial shows how to overcome this problem. In particular, we will +learn: + + - How to move the native code to its own thread + - How to allow threads created from C code to communicate with Java + - How to access Java code from C + - How to allocate a `CustomData` structure from C and have Java host + it + +# Introduction + +When using a Graphical User Interface (UI), if the application waits for +GStreamer calls to complete the user experience will suffer. The usual +approach, with the [GTK+ toolkit](http://www.gtk.org) for example, is to +relinquish control to a GLib `GMainLoop` and let it control the events +coming from the UI or GStreamer. + +This approach can be very cumbersome when GStreamer and the Android UI +communicate through the JNI interface, so we take a cleaner route: We +use a GLib main loop, and move it to its own thread, so it does not +block the application. This simplifies the GStreamer-Android +integration, and we only need to worry about a few inter-process +synchronization bits, which are detailed in this tutorial. + +Additionally, this tutorial shows how to obtain, from any thread, the +[JNI Environment +pointer](http://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/design.html#wp16696) +required to make JNI calls. This is necessary, for example, to call Java +code from callbacks in threads spawned deep within GStreamer, which +never received this pointer directly. + +Finally, this tutorial explains how to call Java methods from native C +code, which involves locating the desired method’s ID in the class. +These IDs never change, so they are cached as global variables in the C +code and obtained in the static initializer of the class. + +The code below builds a pipeline with an `audiotestsrc` and an +`autoaudiosink` (it plays an audible tone). Two buttons in the UI allow +setting the pipeline to PLAYING or PAUSED. A TextView in the UI shows +messages sent from the C code (for errors and state changes). + +# A pipeline on Android \[Java code\] + +**src/com/gst\_sdk\_tutorials/tutorial\_2/Tutorial2.java** + +``` theme: Default; brush: java; gutter: true +package com.gst_sdk_tutorials.tutorial_2; + +import android.app.Activity; +import android.os.Bundle; +import android.util.Log; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.ImageButton; +import android.widget.TextView; +import android.widget.Toast; + +import com.gstreamer.GStreamer; + +public class Tutorial2 extends Activity { + private native void nativeInit(); // Initialize native code, build pipeline, etc + private native void nativeFinalize(); // Destroy pipeline and shutdown native code + private native void nativePlay(); // Set pipeline to PLAYING + private native void nativePause(); // Set pipeline to PAUSED + private static native boolean nativeClassInit(); // Initialize native class: cache Method IDs for callbacks + private long native_custom_data; // Native code will use this to keep private data + + private boolean is_playing_desired; // Whether the user asked to go to PLAYING + + // Called when the activity is first created. + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + + // Initialize GStreamer and warn if it fails + try { + GStreamer.init(this); + } catch (Exception e) { + Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show(); + finish(); + return; + } + + setContentView(R.layout.main); + + ImageButton play = (ImageButton) this.findViewById(R.id.button_play); + play.setOnClickListener(new OnClickListener() { + public void onClick(View v) { + is_playing_desired = true; + nativePlay(); + } + }); + + ImageButton pause = (ImageButton) this.findViewById(R.id.button_stop); + pause.setOnClickListener(new OnClickListener() { + public void onClick(View v) { + is_playing_desired = false; + nativePause(); + } + }); + + if (savedInstanceState != null) { + is_playing_desired = savedInstanceState.getBoolean("playing"); + Log.i ("GStreamer", "Activity created. Saved state is playing:" + is_playing_desired); + } else { + is_playing_desired = false; + Log.i ("GStreamer", "Activity created. There is no saved state, playing: false"); + } + + // Start with disabled buttons, until native code is initialized + this.findViewById(R.id.button_play).setEnabled(false); + this.findViewById(R.id.button_stop).setEnabled(false); + + nativeInit(); + } + + protected void onSaveInstanceState (Bundle outState) { + Log.d ("GStreamer", "Saving state, playing:" + is_playing_desired); + outState.putBoolean("playing", is_playing_desired); + } + + protected void onDestroy() { + nativeFinalize(); + super.onDestroy(); + } + + // Called from native code. This sets the content of the TextView from the UI thread. + private void setMessage(final String message) { + final TextView tv = (TextView) this.findViewById(R.id.textview_message); + runOnUiThread (new Runnable() { + public void run() { + tv.setText(message); + } + }); + } + + // Called from native code. Native code calls this once it has created its pipeline and + // the main loop is running, so it is ready to accept commands. + private void onGStreamerInitialized () { + Log.i ("GStreamer", "Gst initialized. Restoring state, playing:" + is_playing_desired); + // Restore previous playing state + if (is_playing_desired) { + nativePlay(); + } else { + nativePause(); + } + + // Re-enable buttons, now that GStreamer is initialized + final Activity activity = this; + runOnUiThread(new Runnable() { + public void run() { + activity.findViewById(R.id.button_play).setEnabled(true); + activity.findViewById(R.id.button_stop).setEnabled(true); + } + }); + } + + static { + System.loadLibrary("gstreamer_android"); + System.loadLibrary("tutorial-2"); + nativeClassInit(); + } + +} +``` + +As usual, the first bit that gets executed is the static initializer of +the class: + +``` first-line: 113; theme: Default; brush: java; gutter: true +static { + System.loadLibrary("gstreamer_android"); + System.loadLibrary("tutorial-2"); + nativeClassInit(); +} +``` + +As explained in the previous tutorial, the two native libraries are +loaded and their `JNI_OnLoad()` methods are executed. Here, we also call +the native method `nativeClassInit()`, previously declared with the +`native` keyword in line 19. We will later see what its purpose is + +In the `onCreate()` method GStreamer is initialized as in the previous +tutorial with `GStreamer.init(this)`, and then the layout is inflated +and listeners are setup for the two UI buttons: + +``` first-line: 41; theme: Default; brush: java; gutter: true +ImageButton play = (ImageButton) this.findViewById(R.id.button_play); +play.setOnClickListener(new OnClickListener() { + public void onClick(View v) { + is_playing_desired = true; + nativePlay(); + } +}); +ImageButton pause = (ImageButton) this.findViewById(R.id.button_stop); +pause.setOnClickListener(new OnClickListener() { + public void onClick(View v) { + is_playing_desired = false; + nativePause(); + } +}); +``` + +Each button instructs the native code to set the pipeline to the desired +state, and also remembers this state in the +`is_playing_desired` variable.  This is required so, when the +application is restarted (for example, due to an orientation change), it +can set the pipeline again to the desired state. This approach is easier +and safer than tracking the actual pipeline state, because orientation +changes can happen before the pipeline has moved to the desired state, +for example. + +``` first-line: 57; theme: Default; brush: java; gutter: true +if (savedInstanceState != null) { + is_playing_desired = savedInstanceState.getBoolean("playing"); + Log.i ("GStreamer", "Activity created. Saved state is playing:" + is_playing_desired); +} else { + is_playing_desired = false; + Log.i ("GStreamer", "Activity created. There is no saved state, playing: false"); +} +``` + +Restore the previous playing state (if any) from `savedInstanceState`. +We will first build the GStreamer pipeline (below) and only when the +native code reports itself as initialized we will use +`is_playing_desired`. + +``` first-line: 69; theme: Default; brush: java; gutter: true +nativeInit(); +``` + +As will be shown in the C code, `nativeInit()` creates a dedicated +thread, a GStreamer pipeline, a GLib main loop, and, right before +calling `g_main_loop_run()` and going to sleep, it warns the Java code +that the native code is initialized and ready to accept commands. + +This finishes the `onCreate()` method and the Java initialization. The +UI buttons are disabled, so nothing will happen until native code is +ready and `onGStreamerInitialized()` is called: + +``` first-line: 94; theme: Default; brush: java; gutter: true +private void onGStreamerInitialized () { + Log.i ("GStreamer", "Gst initialized. Restoring state, playing:" + is_playing_desired); +``` + +This is called by the native code when its main loop is finally running. +We first retrieve the desired playing state from `is_playing_desired`, +and then set that state: + +``` first-line: 96; theme: Default; brush: java; gutter: true +// Restore previous playing state +if (is_playing_desired) { + nativePlay(); +} else { + nativePause(); +} +``` + +Here comes the first caveat, when re-enabling the UI buttons: + +``` first-line: 103; theme: Default; brush: java; gutter: true +// Re-enable buttons, now that GStreamer is initialized +final Activity activity = this; +runOnUiThread(new Runnable() { + public void run() { + activity.findViewById(R.id.button_play).setEnabled(true); + activity.findViewById(R.id.button_stop).setEnabled(true); + } +}); +``` + +This method is being called from the thread that the native code created +to run its main loop, and is not allowed to issue UI-altering commands: +Only the UI thread can do that. The solution is easy though: Android +Activities have a handy +[runOnUiThread()](http://developer.android.com/reference/android/app/Activity.html#runOnUiThread\(java.lang.Runnable\)) +method which lets bits of code to be executed from the correct thread. A +[Runnable](http://developer.android.com/reference/java/lang/Runnable.html) +instance has to be constructed and any parameter can be passed either by +sub-classing +[Runnable](http://developer.android.com/reference/java/lang/Runnable.html) +and adding a dedicated constructor, or by using the `final` modifier, as +shown in the above snippet. + +The same problem exists when the native code wants to output a string in +our TextView using the `setMessage()` method: it has to be done from the +UI thread. The solution is the same: + +``` first-line: 83; theme: Default; brush: java; gutter: true +private void setMessage(final String message) { + final TextView tv = (TextView) this.findViewById(R.id.textview_message); + runOnUiThread (new Runnable() { + public void run() { + tv.setText(message); + } + }); +} +``` + +Finally, a few remaining bits: + +``` first-line: 72; theme: Default; brush: java; gutter: true +protected void onSaveInstanceState (Bundle outState) { + Log.d ("GStreamer", "Saving state, playing:" + is_playing_desired); + outState.putBoolean("playing", is_playing_desired); +} +``` + +This method stores the currently desired playing state when Android is +about to shut us down, so next time it restarts (after an orientation +change, for example), it can restore the same state. + +``` first-line: 77; theme: Default; brush: java; gutter: true +protected void onDestroy() { + nativeFinalize(); + super.onDestroy(); +} +``` + +And this is called before Android destroys our application. We call the +`nativeFinalize()`method to exit the main loop, destroy its thread and +all allocated resources. + +This concludes the UI part of the tutorial. + +# A pipeline on Android \[C code\] + +**jni/tutorial-2.c** + +``` theme: Default; brush: cpp; gutter: true +#include +#include +#include +#include +#include + +GST_DEBUG_CATEGORY_STATIC (debug_category); +#define GST_CAT_DEFAULT debug_category + +/* + * These macros provide a way to store the native pointer to CustomData, which might be 32 or 64 bits, into + * a jlong, which is always 64 bits, without warnings. + */ +#if GLIB_SIZEOF_VOID_P == 8 +# define GET_CUSTOM_DATA(env, thiz, fieldID) (CustomData *)(*env)->GetLongField (env, thiz, fieldID) +# define SET_CUSTOM_DATA(env, thiz, fieldID, data) (*env)->SetLongField (env, thiz, fieldID, (jlong)data) +#else +# define GET_CUSTOM_DATA(env, thiz, fieldID) (CustomData *)(jint)(*env)->GetLongField (env, thiz, fieldID) +# define SET_CUSTOM_DATA(env, thiz, fieldID, data) (*env)->SetLongField (env, thiz, fieldID, (jlong)(jint)data) +#endif + +/* Structure to contain all our information, so we can pass it to callbacks */ +typedef struct _CustomData { + jobject app; /* Application instance, used to call its methods. A global reference is kept. */ + GstElement *pipeline; /* The running pipeline */ + GMainContext *context; /* GLib context used to run the main loop */ + GMainLoop *main_loop; /* GLib main loop */ + gboolean initialized; /* To avoid informing the UI multiple times about the initialization */ +} CustomData; + +/* These global variables cache values which are not changing during execution */ +static pthread_t gst_app_thread; +static pthread_key_t current_jni_env; +static JavaVM *java_vm; +static jfieldID custom_data_field_id; +static jmethodID set_message_method_id; +static jmethodID on_gstreamer_initialized_method_id; + +/* + * Private methods + */ + +/* Register this thread with the VM */ +static JNIEnv *attach_current_thread (void) { + JNIEnv *env; + JavaVMAttachArgs args; + + GST_DEBUG ("Attaching thread %p", g_thread_self ()); + args.version = JNI_VERSION_1_4; + args.name = NULL; + args.group = NULL; + + if ((*java_vm)->AttachCurrentThread (java_vm, &env, &args) < 0) { + GST_ERROR ("Failed to attach current thread"); + return NULL; + } + + return env; +} + +/* Unregister this thread from the VM */ +static void detach_current_thread (void *env) { + GST_DEBUG ("Detaching thread %p", g_thread_self ()); + (*java_vm)->DetachCurrentThread (java_vm); +} + +/* Retrieve the JNI environment for this thread */ +static JNIEnv *get_jni_env (void) { + JNIEnv *env; + + if ((env = pthread_getspecific (current_jni_env)) == NULL) { + env = attach_current_thread (); + pthread_setspecific (current_jni_env, env); + } + + return env; +} + +/* Change the content of the UI's TextView */ +static void set_ui_message (const gchar *message, CustomData *data) { + JNIEnv *env = get_jni_env (); + GST_DEBUG ("Setting message to: %s", message); + jstring jmessage = (*env)->NewStringUTF(env, message); + (*env)->CallVoidMethod (env, data->app, set_message_method_id, jmessage); + if ((*env)->ExceptionCheck (env)) { + GST_ERROR ("Failed to call Java method"); + (*env)->ExceptionClear (env); + } + (*env)->DeleteLocalRef (env, jmessage); +} + +/* Retrieve errors from the bus and show them on the UI */ +static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + GError *err; + gchar *debug_info; + gchar *message_string; + + gst_message_parse_error (msg, &err, &debug_info); + message_string = g_strdup_printf ("Error received from element %s: %s", GST_OBJECT_NAME (msg->src), err->message); + g_clear_error (&err); + g_free (debug_info); + set_ui_message (message_string, data); + g_free (message_string); + gst_element_set_state (data->pipeline, GST_STATE_NULL); +} + +/* Notify UI about pipeline state changes */ +static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + /* Only pay attention to messages coming from the pipeline, not its children */ + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->pipeline)) { + gchar *message = g_strdup_printf("State changed to %s", gst_element_state_get_name(new_state)); + set_ui_message(message, data); + g_free (message); + } +} + +/* Check if all conditions are met to report GStreamer as initialized. + * These conditions will change depending on the application */ +static void check_initialization_complete (CustomData *data) { + JNIEnv *env = get_jni_env (); + if (!data->initialized && data->main_loop) { + GST_DEBUG ("Initialization complete, notifying application. main_loop:%p", data->main_loop); + (*env)->CallVoidMethod (env, data->app, on_gstreamer_initialized_method_id); + if ((*env)->ExceptionCheck (env)) { + GST_ERROR ("Failed to call Java method"); + (*env)->ExceptionClear (env); + } + data->initialized = TRUE; + } +} + +/* Main method for the native code. This is executed on its own thread. */ +static void *app_function (void *userdata) { + JavaVMAttachArgs args; + GstBus *bus; + CustomData *data = (CustomData *)userdata; + GSource *bus_source; + GError *error = NULL; + + GST_DEBUG ("Creating pipeline in CustomData at %p", data); + + /* Create our own GLib Main Context and make it the default one */ + data->context = g_main_context_new (); + g_main_context_push_thread_default(data->context); + + /* Build pipeline */ + data->pipeline = gst_parse_launch("audiotestsrc ! audioconvert ! audioresample ! autoaudiosink", &error); + if (error) { + gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message); + g_clear_error (&error); + set_ui_message(message, data); + g_free (message); + return NULL; + } + + /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ + bus = gst_element_get_bus (data->pipeline); + bus_source = gst_bus_create_watch (bus); + g_source_set_callback (bus_source, (GSourceFunc) gst_bus_async_signal_func, NULL, NULL); + g_source_attach (bus_source, data->context); + g_source_unref (bus_source); + g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, data); + g_signal_connect (G_OBJECT (bus), "message::state-changed", (GCallback)state_changed_cb, data); + gst_object_unref (bus); + + /* Create a GLib Main Loop and set it to run */ + GST_DEBUG ("Entering main loop... (CustomData:%p)", data); + data->main_loop = g_main_loop_new (data->context, FALSE); + check_initialization_complete (data); + g_main_loop_run (data->main_loop); + GST_DEBUG ("Exited main loop"); + g_main_loop_unref (data->main_loop); + data->main_loop = NULL; + + /* Free resources */ + g_main_context_pop_thread_default(data->context); + g_main_context_unref (data->context); + gst_element_set_state (data->pipeline, GST_STATE_NULL); + gst_object_unref (data->pipeline); + + return NULL; +} + +/* + * Java Bindings + */ + +/* Instruct the native code to create its internal data structure, pipeline and thread */ +static void gst_native_init (JNIEnv* env, jobject thiz) { + CustomData *data = g_new0 (CustomData, 1); + SET_CUSTOM_DATA (env, thiz, custom_data_field_id, data); + GST_DEBUG_CATEGORY_INIT (debug_category, "tutorial-2", 0, "Android tutorial 2"); + gst_debug_set_threshold_for_name("tutorial-2", GST_LEVEL_DEBUG); + GST_DEBUG ("Created CustomData at %p", data); + data->app = (*env)->NewGlobalRef (env, thiz); + GST_DEBUG ("Created GlobalRef for app object at %p", data->app); + pthread_create (&gst_app_thread, NULL, &app_function, data); +} + +/* Quit the main loop, remove the native thread and free resources */ +static void gst_native_finalize (JNIEnv* env, jobject thiz) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + GST_DEBUG ("Quitting main loop..."); + g_main_loop_quit (data->main_loop); + GST_DEBUG ("Waiting for thread to finish..."); + pthread_join (gst_app_thread, NULL); + GST_DEBUG ("Deleting GlobalRef for app object at %p", data->app); + (*env)->DeleteGlobalRef (env, data->app); + GST_DEBUG ("Freeing CustomData at %p", data); + g_free (data); + SET_CUSTOM_DATA (env, thiz, custom_data_field_id, NULL); + GST_DEBUG ("Done finalizing"); +} + +/* Set pipeline to PLAYING state */ +static void gst_native_play (JNIEnv* env, jobject thiz) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + GST_DEBUG ("Setting state to PLAYING"); + gst_element_set_state (data->pipeline, GST_STATE_PLAYING); +} + +/* Set pipeline to PAUSED state */ +static void gst_native_pause (JNIEnv* env, jobject thiz) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + GST_DEBUG ("Setting state to PAUSED"); + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); +} + +/* Static class initializer: retrieve method and field IDs */ +static jboolean gst_native_class_init (JNIEnv* env, jclass klass) { + custom_data_field_id = (*env)->GetFieldID (env, klass, "native_custom_data", "J"); + set_message_method_id = (*env)->GetMethodID (env, klass, "setMessage", "(Ljava/lang/String;)V"); + on_gstreamer_initialized_method_id = (*env)->GetMethodID (env, klass, "onGStreamerInitialized", "()V"); + + if (!custom_data_field_id || !set_message_method_id || !on_gstreamer_initialized_method_id) { + /* We emit this message through the Android log instead of the GStreamer log because the later + * has not been initialized yet. + */ + __android_log_print (ANDROID_LOG_ERROR, "tutorial-2", "The calling class does not implement all necessary interface methods"); + return JNI_FALSE; + } + return JNI_TRUE; +} + +/* List of implemented native methods */ +static JNINativeMethod native_methods[] = { + { "nativeInit", "()V", (void *) gst_native_init}, + { "nativeFinalize", "()V", (void *) gst_native_finalize}, + { "nativePlay", "()V", (void *) gst_native_play}, + { "nativePause", "()V", (void *) gst_native_pause}, + { "nativeClassInit", "()Z", (void *) gst_native_class_init} +}; + +/* Library initializer */ +jint JNI_OnLoad(JavaVM *vm, void *reserved) { + JNIEnv *env = NULL; + + java_vm = vm; + + if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_4) != JNI_OK) { + __android_log_print (ANDROID_LOG_ERROR, "tutorial-2", "Could not retrieve JNIEnv"); + return 0; + } + jclass klass = (*env)->FindClass (env, "com/gst_sdk_tutorials/tutorial_2/Tutorial2"); + (*env)->RegisterNatives (env, klass, native_methods, G_N_ELEMENTS(native_methods)); + + pthread_key_create (¤t_jni_env, detach_current_thread); + + return JNI_VERSION_1_4; +} +``` + +Let’s start with the `CustomData` structure. We have seen it in most of +the basic tutorials, and it is used to hold all our information in one +place, so we can easily pass it around to +callbacks: + +``` first-line: 22; theme: Default; brush: cpp; gutter: true +/* Structure to contain all our information, so we can pass it to callbacks */ +typedef struct _CustomData { + jobject app; /* Application instance, used to call its methods. A global reference is kept. */ + GstElement *pipeline; /* The running pipeline */ + GMainContext *context; /* GLib context used to run the main loop */ + GMainLoop *main_loop; /* GLib main loop */ + gboolean initialized; /* To avoid informing the UI multiple times about the initialization */ +} CustomData; +``` + +We will see the meaning of each member as we go. What is interesting now +is that `CustomData` belongs to the application, so a pointer is kept in +the Tutorial2 Java class in the `private long +native_custom_data` attribute. Java only holds this pointer for us; it +is completely handled in C code. + +From C, this pointer can be set and retrieved with the +[SetLongField()](http://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/functions.html#wp16613) +and +[GetLongField()](http://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/functions.html#wp16572) +JNI functions, but two convenience macros have been defined, +`SET_CUSTOM_DATA` and `GET_CUSTOM_DATA`. These macros are handy because +the `long` type used in Java is always 64 bits wide, but the pointer +used in C can be either 32 or 64 bits wide. The macros take care of the +conversion without warnings. + +``` first-line: 259; theme: Default; brush: cpp; gutter: true +/* Library initializer */ +jint JNI_OnLoad(JavaVM *vm, void *reserved) { + JNIEnv *env = NULL; + + java_vm = vm; + + if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_4) != JNI_OK) { + __android_log_print (ANDROID_LOG_ERROR, "tutorial-2", "Could not retrieve JNIEnv"); + return 0; + } + jclass klass = (*env)->FindClass (env, "com/gst_sdk_tutorials/tutorial_2/Tutorial2"); + (*env)->RegisterNatives (env, klass, native_methods, G_N_ELEMENTS(native_methods)); + + pthread_key_create (¤t_jni_env, detach_current_thread); + + return JNI_VERSION_1_4; +} +``` + +The `JNI_OnLoad` function is almost the same as the previous tutorial. +It registers the list of native methods (which is longer in this +tutorial). It also +uses [pthread\_key\_create()](http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_key_create.html) +to be able to store per-thread information, which is crucial to properly +manage the JNI Environment, as shown later. + +``` first-line: 234; theme: Default; brush: cpp; gutter: true +/* Static class initializer: retrieve method and field IDs */ +static jboolean gst_native_class_init (JNIEnv* env, jclass klass) { + custom_data_field_id = (*env)->GetFieldID (env, klass, "native_custom_data", "J"); + set_message_method_id = (*env)->GetMethodID (env, klass, "setMessage", "(Ljava/lang/String;)V"); + on_gstreamer_initialized_method_id = (*env)->GetMethodID (env, klass, "onGStreamerInitialized", "()V"); + + if (!custom_data_field_id || !set_message_method_id || !on_gstreamer_initialized_method_id) { + /* We emit this message through the Android log instead of the GStreamer log because the later + * has not been initialized yet. + */ + __android_log_print (ANDROID_LOG_ERROR, "tutorial-2", "The calling class does not implement all necessary interface methods"); + return JNI_FALSE; + } + return JNI_TRUE; +} +``` + +This method is called from the static initializer of the Java class, +which is passed as a parameter (since this is called from a static +method, it receives a class object instead of an instance object). In +order for C code to be able to call a Java method, it needs to know the +method’s +[MethodID](http://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/types.html#wp1064). +This ID is obtained from the method’s name and signature and can be +cached. The purpose of the `gst_native_class_init()` function is to +obtain the IDs of all the methods and fields that the C code will need. +If some ID cannot be retrieved, the calling Java class does not offer +the expected interface and execution should halt (which is not currently +done for simplicity). + +Let’s review now the first native method which can be directly called +from Java: + +### `gst_native_init()` (`nativeInit()` from Java) + +This method is called at the end of Java's `onCreate()`. + +``` first-line: 191; theme: Default; brush: cpp; gutter: true +static void gst_native_init (JNIEnv* env, jobject thiz) { + CustomData *data = g_new0 (CustomData, 1); + SET_CUSTOM_DATA (env, thiz, custom_data_field_id, data); +``` + +It first allocates memory for the `CustomData` structure and passes the +pointer to the Java class with `SET_CUSTOM_DATA`, so it is remembered. + +``` first-line: 197; theme: Default; brush: cpp; gutter: true +data->app = (*env)->NewGlobalRef (env, thiz); +``` + +A pointer to the application class (the `Tutorial2` class) is also kept +in `CustomData` (a [Global +Reference](http://developer.android.com/guide/practices/jni.html#local_and_global_references) +is used) so its methods can be called later. + +``` first-line: 199; theme: Default; brush: cpp; gutter: true +pthread_create (&gst_app_thread, NULL, &app_function, data); +``` + +Finally, a thread is created and it starts running the +`app_function()` method. + +### `app_function()` + +``` first-line: 134; theme: Default; brush: cpp; gutter: true +/* Main method for the native code. This is executed on its own thread. */ +static void *app_function (void *userdata) { + JavaVMAttachArgs args; + GstBus *bus; + CustomData *data = (CustomData *)userdata; + GSource *bus_source; + GError *error = NULL; + + GST_DEBUG ("Creating pipeline in CustomData at %p", data); + + /* Create our own GLib Main Context and make it the default one */ + data->context = g_main_context_new (); + g_main_context_push_thread_default(data->context); +``` + +It first creates a GLib context so all `GSource` are kept in the same +place. This also helps cleaning after GSources created by other +libraries which might not have been properly disposed of. A new context +is created with `g_main_context_new()` and then it is made the default +one for the thread with +`g_main_context_push_thread_default()`. + +``` first-line: 149; theme: Default; brush: cpp; gutter: true +data->pipeline = gst_parse_launch("audiotestsrc ! audioconvert ! audioresample ! autoaudiosink", &error); +if (error) { + gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message); + g_clear_error (&error); + set_ui_message(message, data); + g_free (message); + return NULL; +} +``` + +It then creates a pipeline the easy way, with `gst-parse-launch()`. In +this case, it is simply an `audiotestsrc` (which produces a continuous +tone) and an `autoaudiosink`, with accompanying adapter elements. + +``` first-line: 159; theme: Default; brush: cpp; gutter: true +bus = gst_element_get_bus (data->pipeline); +bus_source = gst_bus_create_watch (bus); +g_source_set_callback (bus_source, (GSourceFunc) gst_bus_async_signal_func, NULL, NULL); +g_source_attach (bus_source, data->context); +g_source_unref (bus_source); +g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, data); +g_signal_connect (G_OBJECT (bus), "message::state-changed", (GCallback)state_changed_cb, data); +gst_object_unref (bus); +``` + +These lines create a bus signal watch and connect to some interesting +signals, just like we have been doing in the basic tutorials. The +creation of the watch is done step by step instead of using +`gst_bus_add_signal_watch()` to exemplify how to use a custom GLib +context. + +``` first-line: 169; theme: Default; brush: cpp; gutter: true +GST_DEBUG ("Entering main loop... (CustomData:%p)", data); +data->main_loop = g_main_loop_new (data->context, FALSE); +check_initialization_complete (data); +g_main_loop_run (data->main_loop); +GST_DEBUG ("Exited main loop"); +g_main_loop_unref (data->main_loop); +data->main_loop = NULL; +``` + +Finally, the main loop is created and set to run. When it exits (because +somebody else calls `g_main_loop_quit()`) the main loop is disposed of. +Before entering the main loop, though, +`check_initialization_complete()` is called. This method checks if all +conditions are met to consider the native code “ready” to accept +commands. Since having a running main loop is one of the conditions, +`check_initialization_complete()` is called here. This method is +reviewed below. + +Once the main loop has quit, all resources are freed in lines 178 to +181. + +### `check_initialization_complete()` + +``` first-line: 121; theme: Default; brush: cpp; gutter: true +static void check_initialization_complete (CustomData *data) { + JNIEnv *env = get_jni_env (); + if (!data->initialized && data->main_loop) { + GST_DEBUG ("Initialization complete, notifying application. main_loop:%p", data->main_loop); + (*env)->CallVoidMethod (env, data->app, on_gstreamer_initialized_method_id); + if ((*env)->ExceptionCheck (env)) { + GST_ERROR ("Failed to call Java method"); + (*env)->ExceptionClear (env); + } + data->initialized = TRUE; + } +} +``` + +This method does not do much in this tutorial, but it will also be used +in the next ones, with progressively more complex functionality. Its +purpose is to check if the native code is ready to accept commands, and, +if so, notify the UI code. + +In tutorial 2, the only conditions are 1) the code is not already +initialized and 2) the main loop is running. If these two are met, the +Java `onGStreamerInitialized()` method is called via the +[CallVoidMethod()](http://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/functions.html#wp4256) +JNI call. + +Here comes a tricky bit. JNI calls require a JNI Environment, **which is +different for every thread**. C methods called from Java receive a +`JNIEnv` pointer as a parameter, but this is not the situation with +`check_initialization_complete()`. Here, we are in a thread which has +never been called from Java, so we have no `JNIEnv`. We need to use the +`JavaVM` pointer (passed to us in the `JNI_OnLoad()` method, and shared +among all threads) to attach this thread to the Java Virtual Machine and +obtain a `JNIEnv`. This `JNIEnv` is stored in the [Thread-Local +Storage](http://en.wikipedia.org/wiki/Thread-local_storage) (TLS) using +the pthread key we created in `JNI_OnLoad()`, so we do not need to +attach the thread anymore. + +This behavior is implemented in the `get_jni_env()` method, used for +example in `check_initialization_complete()` as we have just seen. Let’s +see how it works, step by step: + +### `get_jni_env()` + +``` first-line: 68; theme: Default; brush: cpp; gutter: true +static JNIEnv *get_jni_env (void) { + JNIEnv *env; + if ((env = pthread_getspecific (current_jni_env)) == NULL) { + env = attach_current_thread (); + pthread_setspecific (current_jni_env, env); + } + return env; +} +``` + +It first retrieves the current `JNIEnv` from the TLS using +[pthread\_getspecific()](http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_getspecific.html) +and the key we obtained from +[pthread\_key\_create()](http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_key_create.html). +If it returns NULL, we never attached this thread, so we do now with +`attach_current_thread()` and then store the new `JNIEnv` into the TLS +with +[pthread\_setspecific()](http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_setspecific.html). + +### `attach_current_thread()` + +This method is simply a convenience wrapper around +[AttachCurrentThread()](http://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/invocation.html#attach_current_thread) +to deal with its parameters. + +### `detach_current_thread()` + +This method is called by the pthreads library when a TLS key is deleted, +meaning that the thread is about to be destroyed. We simply detach the +thread from the JavaVM with +[DetachCurrentThread()](http://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/invocation.html#detach_current_thread). + +Let's now review the rest of the native methods accessible from Java: + +### `gst_native_finalize()` (`nativeFinalize()` from Java) + +``` first-line: 203; theme: Default; brush: cpp; gutter: true +static void gst_native_finalize (JNIEnv* env, jobject thiz) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + GST_DEBUG ("Quitting main loop..."); + g_main_loop_quit (data->main_loop); + GST_DEBUG ("Waiting for thread to finish..."); + pthread_join (gst_app_thread, NULL); + GST_DEBUG ("Deleting GlobalRef for app object at %p", data->app); + (*env)->DeleteGlobalRef (env, data->app); + GST_DEBUG ("Freeing CustomData at %p", data); + g_free (data); + SET_CUSTOM_DATA (env, thiz, custom_data_field_id, NULL); + GST_DEBUG ("Done finalizing"); +} +``` + +This method is called from Java in `onDestroy()`, when the activity is +about to be destroyed. Here, we: + + - Instruct the GLib main loop to quit with `g_main_loop_quit()`. This + call returns immediately, and the main loop will terminate at its + earliest convenience. + - Wait for the thread to finish with + [pthread\_join()](http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_join.html). + This call blocks until the `app_function()` method returns, meaning + that the main loop has exited, and the thread has been destroyed. + - Dispose of the global reference we kept for the Java application + class (`Tutorial2`) in `CustomData`. + - Free `CustomData` and set the Java pointer inside the + `Tutorial2` class to NULL with +`SET_CUSTOM_DATA()`. + +### `gst_native_play` and `gst_native_pause()` (`nativePlay` and `nativePause()` from Java) + +These two simple methods retrieve `CustomData` from the passed-in object +with `GET_CUSTOM_DATA()` and set the pipeline found inside `CustomData` +to the desired state, returning immediately. + +Finally, let’s see how the GStreamer callbacks are handled: + +### `error_cb` and `state_changed_cb` + +This tutorial does not do much in these callbacks. They simply parse the +error or state changed message and display a message in the UI using the +`set_ui_message()` method: + +### `set_ui_message()` + +``` first-line: 80; theme: Default; brush: cpp; gutter: true +static void set_ui_message (const gchar *message, CustomData *data) { + JNIEnv *env = get_jni_env (); + GST_DEBUG ("Setting message to: %s", message); + jstring jmessage = (*env)->NewStringUTF(env, message); + (*env)->CallVoidMethod (env, data->app, set_message_method_id, jmessage); + if ((*env)->ExceptionCheck (env)) { + GST_ERROR ("Failed to call Java method"); + (*env)->ExceptionClear (env); + } + (*env)->DeleteLocalRef (env, jmessage); +} +``` + +  + +This is the other method (besides `check_initialization_complete()`)  +that needs to call a Java function from a thread which never received an +`JNIEnv` pointer directly. Notice how all the complexities of attaching +the thread to the JavaVM and storing the JNI environment in the TLS are +hidden in the simple call to `get_jni_env()`. + +The desired message (received in +[ASCII](http://en.wikipedia.org/wiki/ASCII), or modified +[UTF8](http://en.wikipedia.org/wiki/Modified_UTF-8#Modified_UTF-8)), is +converted to [UTF16](http://en.wikipedia.org/wiki/UTF-16) as required by +Java using the +[NewStringUTF()](http://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/functions.html#wp17220) +JNI call. + +The `setMessage()` Java method is called via the JNI +[CallVoidMethod()](http://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/functions.html#wp4256) +using the global reference to the class we are keeping in +`CustomData` (`data->app`) and the `set_message_method_id` we cached in +`gst_native_class_init()`. + +We check for exceptions with the JNI +[ExceptionCheck()](http://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/functions.html#exception_check) +method and free the UTF16 message with +[DeleteLocalRef()](http://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/functions.html#DeleteLocalRef). + +# A pipeline on Android \[Android.mk\] + +**jni/Android.mk** + +``` theme: Default; brush: ruby; gutter: true +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_MODULE := tutorial-2 +LOCAL_SRC_FILES := tutorial-2.c +LOCAL_SHARED_LIBRARIES := gstreamer_android +LOCAL_LDLIBS := -llog +include $(BUILD_SHARED_LIBRARY) + +ifndef GSTREAMER_SDK_ROOT +ifndef GSTREAMER_SDK_ROOT_ANDROID +$(error GSTREAMER_SDK_ROOT_ANDROID is not defined!) +endif +GSTREAMER_SDK_ROOT := $(GSTREAMER_SDK_ROOT_ANDROID) +endif +GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ +include $(GSTREAMER_NDK_BUILD_PATH)/plugins.mk +GSTREAMER_PLUGINS := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_SYS) +include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk +``` + +Notice how the required `GSTREAMER_PLUGINS` are now +`$(GSTREAMER_PLUGINS_CORE)` (For the test source and converter elements) +and `$(GSTREAMER_PLUGINS_SYS)` (for the audio sink). + +And this is it\! This has been a rather long tutorial, but we covered a +lot of territory. Building on top of this one, the following ones are +shorter and focus only on the new topics. + +# Conclusion + +This tutorial has shown: + + - How to manage multiple threads from C code and have them interact + with java. + - How to access Java code from any C thread + using [AttachCurrentThread()](http://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/invocation.html#attach_current_thread). + - How to allocate a CustomData structure from C and have Java host it, + so it is available to all threads. + +Most of the methods introduced in this tutorial, like `get_jni_env()`, +`check_initialization_complete()`, `app_function()` and the API methods +`gst_native_init()`, `gst_native_finalize()` and +`gst_native_class_init()` will continue to be used in the following +tutorials with minimal modifications, so better get used to them\! + +As usual, it has been a pleasure having you here, and see you soon\! + +## Attachments: + +![](images/icons/bullet_blue.gif) +[tutorial2-screenshot.png](attachments/2687063/2654325.png) +(image/png) +![](images/icons/bullet_blue.gif) +[tutorial2-screenshot.png](attachments/2687063/2654412.png) +(image/png) +![](images/icons/bullet_blue.gif) +[tutorial2-screenshot.png](attachments/2687063/2654417.png) +(image/png) +![](images/icons/bullet_blue.gif) +[tutorial2-screenshot.png](attachments/2687063/2654324.png) +(image/png) + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Android+tutorial+3%3A+Video.markdown b/Android+tutorial+3%3A+Video.markdown new file mode 100644 index 0000000000..388ee766a6 --- /dev/null +++ b/Android+tutorial+3%3A+Video.markdown @@ -0,0 +1,932 @@ +# GStreamer SDK documentation : Android tutorial 3: Video + +This page last changed on Nov 05, 2012 by xartigas. + +# Goal ![](attachments/thumbnails/2687065/2654413) + +Except for [Basic tutorial 5: GUI toolkit +integration](Basic%2Btutorial%2B5%253A%2BGUI%2Btoolkit%2Bintegration.html), +which embedded a video window on a GTK application, all tutorials so far +relied on GStreamer video sinks to create a window to display their +contents. The video sink on Android is not capable of creating its own +window, so a drawing surface always needs to be provided. This tutorial +shows: + + - How to allocate a drawing surface on the Android layout and pass it + to GStreamer + - How to keep GStreamer posted on changes to the surface + +# Introduction + +Since Android does not provide a windowing system, a GStreamer video +sink cannot create pop-up windows as it would do on a Desktop platform. +Fortunately, the `XOverlay` interface allows providing video sinks with +an already created window onto which they can draw, as we have seen in +[Basic tutorial 5: GUI toolkit +integration](Basic%2Btutorial%2B5%253A%2BGUI%2Btoolkit%2Bintegration.html). + +In this tutorial, a +[SurfaceView](http://developer.android.com/reference/android/view/SurfaceView.html) +widget (actually, a subclass of it) is placed on the main layout. When +Android informs the application that a surface has been created for this +widget, we pass it to the C code which stores it. The +`check_initialization_complete()` method explained in the previous +tutorial is extended so that GStreamer is not considered initialized +until a main loop is running and a drawing surface has been received. + +# A video surface on Android \[Java code\] + +**src/com/gst\_sdk\_tutorials/tutorial\_3/Tutorial3.java** + +``` theme: Default; brush: java; gutter: true +package com.gst_sdk_tutorials.tutorial_3; + +import android.app.Activity; +import android.os.Bundle; +import android.util.Log; +import android.view.SurfaceHolder; +import android.view.SurfaceView; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.ImageButton; +import android.widget.TextView; +import android.widget.Toast; + +import com.gstreamer.GStreamer; + +public class Tutorial3 extends Activity implements SurfaceHolder.Callback { + private native void nativeInit(); // Initialize native code, build pipeline, etc + private native void nativeFinalize(); // Destroy pipeline and shutdown native code + private native void nativePlay(); // Set pipeline to PLAYING + private native void nativePause(); // Set pipeline to PAUSED + private static native boolean nativeClassInit(); // Initialize native class: cache Method IDs for callbacks + private native void nativeSurfaceInit(Object surface); + private native void nativeSurfaceFinalize(); + private long native_custom_data; // Native code will use this to keep private data + + private boolean is_playing_desired; // Whether the user asked to go to PLAYING + + // Called when the activity is first created. + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + + // Initialize GStreamer and warn if it fails + try { + GStreamer.init(this); + } catch (Exception e) { + Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show(); + finish(); + return; + } + + setContentView(R.layout.main); + + ImageButton play = (ImageButton) this.findViewById(R.id.button_play); + play.setOnClickListener(new OnClickListener() { + public void onClick(View v) { + is_playing_desired = true; + nativePlay(); + } + }); + + ImageButton pause = (ImageButton) this.findViewById(R.id.button_stop); + pause.setOnClickListener(new OnClickListener() { + public void onClick(View v) { + is_playing_desired = false; + nativePause(); + } + }); + + SurfaceView sv = (SurfaceView) this.findViewById(R.id.surface_video); + SurfaceHolder sh = sv.getHolder(); + sh.addCallback(this); + + if (savedInstanceState != null) { + is_playing_desired = savedInstanceState.getBoolean("playing"); + Log.i ("GStreamer", "Activity created. Saved state is playing:" + is_playing_desired); + } else { + is_playing_desired = false; + Log.i ("GStreamer", "Activity created. There is no saved state, playing: false"); + } + + // Start with disabled buttons, until native code is initialized + this.findViewById(R.id.button_play).setEnabled(false); + this.findViewById(R.id.button_stop).setEnabled(false); + + nativeInit(); + } + + protected void onSaveInstanceState (Bundle outState) { + Log.d ("GStreamer", "Saving state, playing:" + is_playing_desired); + outState.putBoolean("playing", is_playing_desired); + } + + protected void onDestroy() { + nativeFinalize(); + super.onDestroy(); + } + + // Called from native code. This sets the content of the TextView from the UI thread. + private void setMessage(final String message) { + final TextView tv = (TextView) this.findViewById(R.id.textview_message); + runOnUiThread (new Runnable() { + public void run() { + tv.setText(message); + } + }); + } + + // Called from native code. Native code calls this once it has created its pipeline and + // the main loop is running, so it is ready to accept commands. + private void onGStreamerInitialized () { + Log.i ("GStreamer", "Gst initialized. Restoring state, playing:" + is_playing_desired); + // Restore previous playing state + if (is_playing_desired) { + nativePlay(); + } else { + nativePause(); + } + + // Re-enable buttons, now that GStreamer is initialized + final Activity activity = this; + runOnUiThread(new Runnable() { + public void run() { + activity.findViewById(R.id.button_play).setEnabled(true); + activity.findViewById(R.id.button_stop).setEnabled(true); + } + }); + } + + static { + System.loadLibrary("gstreamer_android"); + System.loadLibrary("tutorial-3"); + nativeClassInit(); + } + + public void surfaceChanged(SurfaceHolder holder, int format, int width, + int height) { + Log.d("GStreamer", "Surface changed to format " + format + " width " + + width + " height " + height); + nativeSurfaceInit (holder.getSurface()); + } + + public void surfaceCreated(SurfaceHolder holder) { + Log.d("GStreamer", "Surface created: " + holder.getSurface()); + } + + public void surfaceDestroyed(SurfaceHolder holder) { + Log.d("GStreamer", "Surface destroyed"); + nativeSurfaceFinalize (); + } + +} +``` + +This tutorial continues where the previous one left, adding a video +surface to the layout and changing the GStreamer pipeline to produce +video instead of audio. Only the parts of the code that are new will be +discussed. + +``` first-line: 22; theme: Default; brush: java; gutter: true +private native void nativeSurfaceInit(Object surface); +private native void nativeSurfaceFinalize(); +``` + +Two new entry points to the C code are defined, +`nativeSurfaceInit()` and `nativeSurfaceFinalize()`, which we will call +when the video surface becomes available and when it is about to be +destroyed, respectively. + +``` first-line: 61; theme: Default; brush: java; gutter: true +SurfaceView sv = (SurfaceView) this.findViewById(R.id.surface_video); +SurfaceHolder sh = sv.getHolder(); +sh.addCallback(this); +``` + +In `onCreate()`, we retrieve the +[SurfaceView](http://developer.android.com/reference/android/view/SurfaceView.html), +and then register ourselves to receive notifications about the surface +state through the +[SurfaceHolder](http://developer.android.com/reference/android/view/SurfaceHolder.html) +interface. This is why we declared this Activity as implementing the +[SurfaceHolder.Callback](http://developer.android.com/reference/android/view/SurfaceHolder.Callback.html) +interface in line 16. + +``` first-line: 127; theme: Default; brush: java; gutter: true +public void surfaceChanged(SurfaceHolder holder, int format, int width, + int height) { + Log.d("GStreamer", "Surface changed to format " + format + " width " + + width + " height " + height); + nativeSurfaceInit (holder.getSurface()); +} + +public void surfaceCreated(SurfaceHolder holder) { + Log.d("GStreamer", "Surface created: " + holder.getSurface()); +} + +public void surfaceDestroyed(SurfaceHolder holder) { + Log.d("GStreamer", "Surface destroyed"); + nativeSurfaceFinalize (); +} +``` + +This interface is composed of the three methods above, which get called +when the geometry of the surface changes, when the surface is created +and when it is about to be destroyed. `surfaceChanged()` always gets +called at least once, right after `surfaceCreated()`, so we will use it +to notify GStreamer about the new surface. We use +`surfaceDestroyed()` to tell GStreamer to stop using this surface. + +Let’s review the C code to see what these functions do. + +# A video surface on Android \[C code\] + +**jni/tutorial-3.c** + +``` theme: Default; brush: cpp; gutter: true +#include +#include +#include +#include +#include +#include +#include +#include +#include + +GST_DEBUG_CATEGORY_STATIC (debug_category); +#define GST_CAT_DEFAULT debug_category + +/* + * These macros provide a way to store the native pointer to CustomData, which might be 32 or 64 bits, into + * a jlong, which is always 64 bits, without warnings. + */ +#if GLIB_SIZEOF_VOID_P == 8 +# define GET_CUSTOM_DATA(env, thiz, fieldID) (CustomData *)(*env)->GetLongField (env, thiz, fieldID) +# define SET_CUSTOM_DATA(env, thiz, fieldID, data) (*env)->SetLongField (env, thiz, fieldID, (jlong)data) +#else +# define GET_CUSTOM_DATA(env, thiz, fieldID) (CustomData *)(jint)(*env)->GetLongField (env, thiz, fieldID) +# define SET_CUSTOM_DATA(env, thiz, fieldID, data) (*env)->SetLongField (env, thiz, fieldID, (jlong)(jint)data) +#endif + +/* Structure to contain all our information, so we can pass it to callbacks */ +typedef struct _CustomData { + jobject app; /* Application instance, used to call its methods. A global reference is kept. */ + GstElement *pipeline; /* The running pipeline */ + GMainContext *context; /* GLib context used to run the main loop */ + GMainLoop *main_loop; /* GLib main loop */ + gboolean initialized; /* To avoid informing the UI multiple times about the initialization */ + GstElement *video_sink; /* The video sink element which receives XOverlay commands */ + ANativeWindow *native_window; /* The Android native window where video will be rendered */ +} CustomData; + +/* These global variables cache values which are not changing during execution */ +static pthread_t gst_app_thread; +static pthread_key_t current_jni_env; +static JavaVM *java_vm; +static jfieldID custom_data_field_id; +static jmethodID set_message_method_id; +static jmethodID on_gstreamer_initialized_method_id; + +/* + * Private methods + */ + +/* Register this thread with the VM */ +static JNIEnv *attach_current_thread (void) { + JNIEnv *env; + JavaVMAttachArgs args; + + GST_DEBUG ("Attaching thread %p", g_thread_self ()); + args.version = JNI_VERSION_1_4; + args.name = NULL; + args.group = NULL; + + if ((*java_vm)->AttachCurrentThread (java_vm, &env, &args) < 0) { + GST_ERROR ("Failed to attach current thread"); + return NULL; + } + + return env; +} + +/* Unregister this thread from the VM */ +static void detach_current_thread (void *env) { + GST_DEBUG ("Detaching thread %p", g_thread_self ()); + (*java_vm)->DetachCurrentThread (java_vm); +} + +/* Retrieve the JNI environment for this thread */ +static JNIEnv *get_jni_env (void) { + JNIEnv *env; + + if ((env = pthread_getspecific (current_jni_env)) == NULL) { + env = attach_current_thread (); + pthread_setspecific (current_jni_env, env); + } + + return env; +} + +/* Change the content of the UI's TextView */ +static void set_ui_message (const gchar *message, CustomData *data) { + JNIEnv *env = get_jni_env (); + GST_DEBUG ("Setting message to: %s", message); + jstring jmessage = (*env)->NewStringUTF(env, message); + (*env)->CallVoidMethod (env, data->app, set_message_method_id, jmessage); + if ((*env)->ExceptionCheck (env)) { + GST_ERROR ("Failed to call Java method"); + (*env)->ExceptionClear (env); + } + (*env)->DeleteLocalRef (env, jmessage); +} + +/* Retrieve errors from the bus and show them on the UI */ +static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + GError *err; + gchar *debug_info; + gchar *message_string; + + gst_message_parse_error (msg, &err, &debug_info); + message_string = g_strdup_printf ("Error received from element %s: %s", GST_OBJECT_NAME (msg->src), err->message); + g_clear_error (&err); + g_free (debug_info); + set_ui_message (message_string, data); + g_free (message_string); + gst_element_set_state (data->pipeline, GST_STATE_NULL); +} + +/* Notify UI about pipeline state changes */ +static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + /* Only pay attention to messages coming from the pipeline, not its children */ + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->pipeline)) { + gchar *message = g_strdup_printf("State changed to %s", gst_element_state_get_name(new_state)); + set_ui_message(message, data); + g_free (message); + } +} + +/* Check if all conditions are met to report GStreamer as initialized. + * These conditions will change depending on the application */ +static void check_initialization_complete (CustomData *data) { + JNIEnv *env = get_jni_env (); + if (!data->initialized && data->native_window && data->main_loop) { + GST_DEBUG ("Initialization complete, notifying application. native_window:%p main_loop:%p", data->native_window, data->main_loop); + + /* The main loop is running and we received a native window, inform the sink about it */ + gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->video_sink), (guintptr)data->native_window); + + (*env)->CallVoidMethod (env, data->app, on_gstreamer_initialized_method_id); + if ((*env)->ExceptionCheck (env)) { + GST_ERROR ("Failed to call Java method"); + (*env)->ExceptionClear (env); + } + data->initialized = TRUE; + } +} + +/* Main method for the native code. This is executed on its own thread. */ +static void *app_function (void *userdata) { + JavaVMAttachArgs args; + GstBus *bus; + CustomData *data = (CustomData *)userdata; + GSource *bus_source; + GError *error = NULL; + + GST_DEBUG ("Creating pipeline in CustomData at %p", data); + + /* Create our own GLib Main Context and make it the default one */ + data->context = g_main_context_new (); + g_main_context_push_thread_default(data->context); + + /* Build pipeline */ + data->pipeline = gst_parse_launch("videotestsrc ! warptv ! ffmpegcolorspace ! autovideosink", &error); + if (error) { + gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message); + g_clear_error (&error); + set_ui_message(message, data); + g_free (message); + return NULL; + } + + /* Set the pipeline to READY, so it can already accept a window handle, if we have one */ + gst_element_set_state(data->pipeline, GST_STATE_READY); + + data->video_sink = gst_bin_get_by_interface(GST_BIN(data->pipeline), GST_TYPE_X_OVERLAY); + if (!data->video_sink) { + GST_ERROR ("Could not retrieve video sink"); + return NULL; + } + + /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ + bus = gst_element_get_bus (data->pipeline); + bus_source = gst_bus_create_watch (bus); + g_source_set_callback (bus_source, (GSourceFunc) gst_bus_async_signal_func, NULL, NULL); + g_source_attach (bus_source, data->context); + g_source_unref (bus_source); + g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, data); + g_signal_connect (G_OBJECT (bus), "message::state-changed", (GCallback)state_changed_cb, data); + gst_object_unref (bus); + + /* Create a GLib Main Loop and set it to run */ + GST_DEBUG ("Entering main loop... (CustomData:%p)", data); + data->main_loop = g_main_loop_new (data->context, FALSE); + check_initialization_complete (data); + g_main_loop_run (data->main_loop); + GST_DEBUG ("Exited main loop"); + g_main_loop_unref (data->main_loop); + data->main_loop = NULL; + + /* Free resources */ + g_main_context_pop_thread_default(data->context); + g_main_context_unref (data->context); + gst_element_set_state (data->pipeline, GST_STATE_NULL); + gst_object_unref (data->video_sink); + gst_object_unref (data->pipeline); + + return NULL; +} + +/* + * Java Bindings + */ + +/* Instruct the native code to create its internal data structure, pipeline and thread */ +static void gst_native_init (JNIEnv* env, jobject thiz) { + CustomData *data = g_new0 (CustomData, 1); + SET_CUSTOM_DATA (env, thiz, custom_data_field_id, data); + GST_DEBUG_CATEGORY_INIT (debug_category, "tutorial-3", 0, "Android tutorial 3"); + gst_debug_set_threshold_for_name("tutorial-3", GST_LEVEL_DEBUG); + GST_DEBUG ("Created CustomData at %p", data); + data->app = (*env)->NewGlobalRef (env, thiz); + GST_DEBUG ("Created GlobalRef for app object at %p", data->app); + pthread_create (&gst_app_thread, NULL, &app_function, data); +} + +/* Quit the main loop, remove the native thread and free resources */ +static void gst_native_finalize (JNIEnv* env, jobject thiz) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + GST_DEBUG ("Quitting main loop..."); + g_main_loop_quit (data->main_loop); + GST_DEBUG ("Waiting for thread to finish..."); + pthread_join (gst_app_thread, NULL); + GST_DEBUG ("Deleting GlobalRef for app object at %p", data->app); + (*env)->DeleteGlobalRef (env, data->app); + GST_DEBUG ("Freeing CustomData at %p", data); + g_free (data); + SET_CUSTOM_DATA (env, thiz, custom_data_field_id, NULL); + GST_DEBUG ("Done finalizing"); +} + +/* Set pipeline to PLAYING state */ +static void gst_native_play (JNIEnv* env, jobject thiz) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + GST_DEBUG ("Setting state to PLAYING"); + gst_element_set_state (data->pipeline, GST_STATE_PLAYING); +} + +/* Set pipeline to PAUSED state */ +static void gst_native_pause (JNIEnv* env, jobject thiz) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + GST_DEBUG ("Setting state to PAUSED"); + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); +} + +/* Static class initializer: retrieve method and field IDs */ +static jboolean gst_native_class_init (JNIEnv* env, jclass klass) { + custom_data_field_id = (*env)->GetFieldID (env, klass, "native_custom_data", "J"); + set_message_method_id = (*env)->GetMethodID (env, klass, "setMessage", "(Ljava/lang/String;)V"); + on_gstreamer_initialized_method_id = (*env)->GetMethodID (env, klass, "onGStreamerInitialized", "()V"); + + if (!custom_data_field_id || !set_message_method_id || !on_gstreamer_initialized_method_id) { + /* We emit this message through the Android log instead of the GStreamer log because the later + * has not been initialized yet. + */ + __android_log_print (ANDROID_LOG_ERROR, "tutorial-3", "The calling class does not implement all necessary interface methods"); + return JNI_FALSE; + } + return JNI_TRUE; +} + +static void gst_native_surface_init (JNIEnv *env, jobject thiz, jobject surface) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + ANativeWindow *new_native_window = ANativeWindow_fromSurface(env, surface); + GST_DEBUG ("Received surface %p (native window %p)", surface, new_native_window); + + if (data->native_window) { + ANativeWindow_release (data->native_window); + if (data->native_window == new_native_window) { + GST_DEBUG ("New native window is the same as the previous one", data->native_window); + if (data->video_sink) { + gst_x_overlay_expose(GST_X_OVERLAY (data->video_sink)); + gst_x_overlay_expose(GST_X_OVERLAY (data->video_sink)); + } + return; + } else { + GST_DEBUG ("Released previous native window %p", data->native_window); + data->initialized = FALSE; + } + } + data->native_window = new_native_window; + + check_initialization_complete (data); +} + +static void gst_native_surface_finalize (JNIEnv *env, jobject thiz) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + GST_DEBUG ("Releasing Native Window %p", data->native_window); + + if (data->video_sink) { + gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->video_sink), (guintptr)NULL); + gst_element_set_state (data->pipeline, GST_STATE_READY); + } + + ANativeWindow_release (data->native_window); + data->native_window = NULL; + data->initialized = FALSE; +} + +/* List of implemented native methods */ +static JNINativeMethod native_methods[] = { + { "nativeInit", "()V", (void *) gst_native_init}, + { "nativeFinalize", "()V", (void *) gst_native_finalize}, + { "nativePlay", "()V", (void *) gst_native_play}, + { "nativePause", "()V", (void *) gst_native_pause}, + { "nativeSurfaceInit", "(Ljava/lang/Object;)V", (void *) gst_native_surface_init}, + { "nativeSurfaceFinalize", "()V", (void *) gst_native_surface_finalize}, + { "nativeClassInit", "()Z", (void *) gst_native_class_init} +}; + +/* Library initializer */ +jint JNI_OnLoad(JavaVM *vm, void *reserved) { + JNIEnv *env = NULL; + + java_vm = vm; + + if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_4) != JNI_OK) { + __android_log_print (ANDROID_LOG_ERROR, "tutorial-3", "Could not retrieve JNIEnv"); + return 0; + } + jclass klass = (*env)->FindClass (env, "com/gst_sdk_tutorials/tutorial_3/Tutorial3"); + (*env)->RegisterNatives (env, klass, native_methods, G_N_ELEMENTS(native_methods)); + + pthread_key_create (¤t_jni_env, detach_current_thread); + + return JNI_VERSION_1_4; +} +``` + +First, our `CustomData` structure is augmented to keep a pointer to the +video sink element and the native window +handle: + +``` first-line: 33; theme: Default; brush: cpp; gutter: true +GstElement *video_sink; /* The video sink element which receives XOverlay commands */ +ANativeWindow *native_window; /* The Android native window where video will be rendered */ +``` + +The `check_initialization_complete()` method is also augmented so that +it requires a native window before considering GStreamer to be +initialized: + +``` first-line: 127; theme: Default; brush: cpp; gutter: true +static void check_initialization_complete (CustomData *data) { + JNIEnv *env = get_jni_env (); + if (!data->initialized && data->native_window && data->main_loop) { + GST_DEBUG ("Initialization complete, notifying application. native_window:%p main_loop:%p", data->native_window, data->main_loop); + + /* The main loop is running and we received a native window, inform the sink about it */ + gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->video_sink), (guintptr)data->native_window); + + (*env)->CallVoidMethod (env, data->app, on_gstreamer_initialized_method_id); + if ((*env)->ExceptionCheck (env)) { + GST_ERROR ("Failed to call Java method"); + (*env)->ExceptionClear (env); + } + data->initialized = TRUE; + } +} +``` + +Also, once the pipeline has been built and a native window has been +received, we inform the video sink of the window handle to use via the +`gst_x_overlay_set_window_handle()` method. + +The GStreamer pipeline for this tutorial involves a `videotestsrc`, a +`warptv` psychedelic distorter effect (check out other cool video +effects in the `GSTREAMER_PLUGINS_EFFECTS` package), and an +`autovideosink` which will instantiate the adequate video sink for the +platform: + +``` first-line: 159; theme: Default; brush: cpp; gutter: true +data->pipeline = gst_parse_launch("videotestsrc ! warptv ! ffmpegcolorspace ! autovideosink ", &error); +``` + +Here things start to get more +interesting: + +``` first-line: 168; theme: Default; brush: cpp; gutter: true +/* Set the pipeline to READY, so it can already accept a window handle, if we have one */ +gst_element_set_state(data->pipeline, GST_STATE_READY); + +data->video_sink = gst_bin_get_by_interface(GST_BIN(data->pipeline), GST_TYPE_X_OVERLAY); +if (!data->video_sink) { + GST_ERROR ("Could not retrieve video sink"); + return NULL; +} +``` + +We start by setting the pipeline to the READY state. No data flow occurs +yet, but the `autovideosink` will instantiate the actual sink so we can +ask for it immediately. + +The `gst_bin_get_by_interface()` method will examine the whole pipeline +and return a pointer to an element which supports the requested +interface. We are asking for the `XOverlay` interface, explained in +[Basic tutorial 5: GUI toolkit +integration](Basic%2Btutorial%2B5%253A%2BGUI%2Btoolkit%2Bintegration.html), +which controls how to perform rendering into foreign (non-GStreamer) +windows. The internal video sink instantiated by `autovideosink` is the +only element in this pipeline implementing it, so it will be returned. + +Now we will implement the two native functions called by the Java code +when the drawing surface becomes available or is about to be +destroyed: + +``` first-line: 270; theme: Default; brush: cpp; gutter: true +static void gst_native_surface_init (JNIEnv *env, jobject thiz, jobject surface) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + ANativeWindow *new_native_window = ANativeWindow_fromSurface(env, surface); + GST_DEBUG ("Received surface %p (native window %p)", surface, new_native_window); + + if (data->native_window) { + ANativeWindow_release (data->native_window); + if (data->native_window == new_native_window) { + GST_DEBUG ("New native window is the same as the previous one", data->native_window); + if (data->video_sink) { + gst_x_overlay_expose(GST_X_OVERLAY (data->video_sink)); + gst_x_overlay_expose(GST_X_OVERLAY (data->video_sink)); + } + return; + } else { + GST_DEBUG ("Released previous native window %p", data->native_window); + data->initialized = FALSE; + } + } + data->native_window = new_native_window; + + check_initialization_complete (data); +} +``` + +This method is responsible for providing the video sink with the window +handle coming from the Java code. We are passed a +[Surface](http://developer.android.com/reference/android/view/Surface.html) +object, and we use `ANativeWindow_fromSurface()` to obtain the +underlying native window pointer. There is no official online +documentation for the NDK, but fortunately the header files are well +commented. Native window management functions can be found in +`$(ANDROID_NDK_ROOT)\platforms\android-9\arch-arm\usr\include\android\native_window.h` and `native_window_jni.h` + +If we had already stored a native window, the one we just received can +either be a new one, or just an update of the one we have. If the +pointers are the same, we assume the geometry of the surface has +changed, and simply instruct the video sink to redraw itself, via the +`gst_x_overlay_expose()` method. The video sink will recover the new +size from the surface itself, so we do not need to bother about it +here. We need to call `gst_x_overlay_expose()` twice because of the way +the surface changes propagate down the OpenGL ES / EGL pipeline (The +only video sink available for Android in the GStreamer SDK uses OpenGL +ES). By the time we call the first expose, the surface that the sink +will pick up still contains the old size. + +On the other hand, if the pointers are different, we mark GStreamer as +not being initialized. Next time we call +`check_initialization_complete()`, the video sink will be informed of +the new window handle. + +We finally store the new window handle and call +`check_initialization_complete()` to inform the Java code that +everything is set up, if that is the case. + +``` first-line: 295; theme: Default; brush: cpp; gutter: true +static void gst_native_surface_finalize (JNIEnv *env, jobject thiz) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + GST_DEBUG ("Releasing Native Window %p", data->native_window); + + if (data->video_sink) { + gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->video_sink), (guintptr)NULL); + gst_element_set_state (data->pipeline, GST_STATE_READY); + } + + ANativeWindow_release (data->native_window); + data->native_window = NULL; + data->initialized = FALSE; +} +``` + +The complementary function, `gst_native_surface_finalize()` is called +when a surface is about to be destroyed and should not be used anymore. +Here, we simply instruct the video sink to stop using the window handle +and set the pipeline to READY so no rendering occurs. We release the +window pointer we had stored with `ANativeWindow_release()`, and mark +GStreamer as not being initialized anymore. + +And this is all there is to it, regarding the main code. Only a couple +of details remain, the subclass we made for SurfaceView and the +`Android.mk` file. + +# GStreamerSurfaceView, a convenient SurfaceView wrapper \[Java code\] + +By default, +[SurfaceView](http://developer.android.com/reference/android/view/SurfaceView.html) does +not have any particular size, so it expands to use all the space the +layout can give it. While this might be convenient sometimes, it does +not allow a great deal of control. In particular, when the surface does +not have the same aspect ratio as the media, the sink will add black +borders (the known “letterbox” or “pillarbox” effect), which is an +unnecessary work (and a waste of battery). + +The subclass of +[SurfaceView](http://developer.android.com/reference/android/view/SurfaceView.html) presented +here overrides the +[onMeasure()](http://developer.android.com/reference/android/view/SurfaceView.html#onMeasure\(int,%20int\)) method +to report the actual media size, so the surface can adapt to any layout +while preserving the media aspect ratio. + +Since in this tutorial the media size is known beforehand, it is +hardcoded in the GStreamerSurfaceView class for simplicity. The next +tutorial shows how it can be recovered at runtime and passed onto the +surface. + +**src/com/gst\_sdk\_tutorials/tutorial\_3/GStreamerSurfaceView.java** + +``` theme: Default; brush: java; gutter: true +package com.gst_sdk_tutorials.tutorial_3; + +import android.content.Context; +import android.util.AttributeSet; +import android.util.Log; +import android.view.SurfaceView; +import android.view.View; + +// A simple SurfaceView whose width and height can be set from the outside +public class GStreamerSurfaceView extends SurfaceView { + public int media_width = 320; + public int media_height = 240; + + // Mandatory constructors, they do not do much + public GStreamerSurfaceView(Context context, AttributeSet attrs, + int defStyle) { + super(context, attrs, defStyle); + } + + public GStreamerSurfaceView(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public GStreamerSurfaceView (Context context) { + super(context); + } + + // Called by the layout manager to find out our size and give us some rules. + // We will try to maximize our size, and preserve the media's aspect ratio if + // we are given the freedom to do so. + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + int width = 0, height = 0; + int wmode = View.MeasureSpec.getMode(widthMeasureSpec); + int hmode = View.MeasureSpec.getMode(heightMeasureSpec); + int wsize = View.MeasureSpec.getSize(widthMeasureSpec); + int hsize = View.MeasureSpec.getSize(heightMeasureSpec); + + Log.i ("GStreamer", "onMeasure called with " + media_width + "x" + media_height); + // Obey width rules + switch (wmode) { + case View.MeasureSpec.AT_MOST: + if (hmode == View.MeasureSpec.EXACTLY) { + width = Math.min(hsize * media_width / media_height, wsize); + break; + } + case View.MeasureSpec.EXACTLY: + width = wsize; + break; + case View.MeasureSpec.UNSPECIFIED: + width = media_width; + } + + // Obey height rules + switch (hmode) { + case View.MeasureSpec.AT_MOST: + if (wmode == View.MeasureSpec.EXACTLY) { + height = Math.min(wsize * media_height / media_width, hsize); + break; + } + case View.MeasureSpec.EXACTLY: + height = hsize; + break; + case View.MeasureSpec.UNSPECIFIED: + height = media_height; + } + + // Finally, calculate best size when both axis are free + if (hmode == View.MeasureSpec.AT_MOST && wmode == View.MeasureSpec.AT_MOST) { + int correct_height = width * media_height / media_width; + int correct_width = height * media_width / media_height; + + if (correct_height < height) + height = correct_height; + else + width = correct_width; + } + + // Obey minimum size + width = Math.max (getSuggestedMinimumWidth(), width); + height = Math.max (getSuggestedMinimumHeight(), height); + setMeasuredDimension(width, height); + } + +} +``` + +# A video surface on Android \[Android.mk\] + +**/jni/Android.mk** + +``` theme: Default; brush: ruby; gutter: true +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_MODULE := tutorial-3 +LOCAL_SRC_FILES := tutorial-3.c +LOCAL_SHARED_LIBRARIES := gstreamer_android +LOCAL_LDLIBS := -llog -landroid +include $(BUILD_SHARED_LIBRARY) + +ifndef GSTREAMER_SDK_ROOT +ifndef GSTREAMER_SDK_ROOT_ANDROID +$(error GSTREAMER_SDK_ROOT_ANDROID is not defined!) +endif +GSTREAMER_SDK_ROOT := $(GSTREAMER_SDK_ROOT_ANDROID) +endif +GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ +include $(GSTREAMER_NDK_BUILD_PATH)/plugins.mk +GSTREAMER_PLUGINS := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_SYS) $(GSTREAMER_PLUGINS_EFFECTS) +GSTREAMER_EXTRA_DEPS := gstreamer-interfaces-0.10 gstreamer-video-0.10 +include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk +``` + +Worth mentioning is the `-landroid` library being used to allow +interaction with the native windows, and the different plugin +packages: `GSTREAMER_PLUGINS_SYS` for the system-dependent video sink +and `GSTREAMER_PLUGINS_EFFECTS` for the `warptv` element. This tutorial +requires the `gstreamer-interfaces` library to use the +`XOverlay` interface, and the `gstreamer-video` library to use the +video helper methods. + +# Conclusion + +This tutorial has shown: + + - How to display video on Android using a + [SurfaceView](http://developer.android.com/reference/android/view/SurfaceView.html) and + the `XOverlay` interface. + - How to be aware of changes in the surface’s size using + [SurfaceView](http://developer.android.com/reference/android/view/SurfaceView.html)’s + callbacks. + - How to report the media size to the Android layout engine. + +The following tutorial plays an actual clip and adds a few more controls +to this tutorial in order to build a simple media player. + +It has been a pleasure having you here, and see you soon\! + +## Attachments: + +![](images/icons/bullet_blue.gif) +[tutorial3-screenshot.png](attachments/2687065/2654414.png) +(image/png) +![](images/icons/bullet_blue.gif) +[tutorial3-screenshot.png](attachments/2687065/2654415.png) +(image/png) +![](images/icons/bullet_blue.gif) +[tutorial3-screenshot.png](attachments/2687065/2654418.png) +(image/png) +![](images/icons/bullet_blue.gif) +[tutorial3-screenshot.png](attachments/2687065/2654413.png) +(image/png) + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Android+tutorial+4%3A+A+basic+media+player.markdown b/Android+tutorial+4%3A+A+basic+media+player.markdown new file mode 100644 index 0000000000..65405e8ffd --- /dev/null +++ b/Android+tutorial+4%3A+A+basic+media+player.markdown @@ -0,0 +1,1434 @@ +# GStreamer SDK documentation : Android tutorial 4: A basic media player + +This page last changed on May 21, 2013 by xartigas. + +# Goal![](attachments/thumbnails/2687067/2654419) + +Enough testing with synthetic images and audio tones\! This tutorial +finally plays actual media, streamed directly from the Internet, in your +Android device. It shows: + + - How to keep the User Interface regularly updated with the current + playback position and duration + - How to implement a [Seek + Bar](http://developer.android.com/reference/android/widget/SeekBar.html) + - How to report the media size to adapt the display surface + +It also uses the knowledge gathered in the [Basic +tutorials](Basic%2Btutorials.html) regarding: + + - How to use `playbin2` to play any kind of media + - How to handle network resilience problems + +# Introduction + +From the previous tutorials, we already have almost all necessary pieces +to build a media player. The most complex part is assembling a pipeline +which retrieves, decodes and displays the media, but we already know +that the `playbin2` element can take care of all that for us. We only +need to replace the manual pipeline we used in [Android tutorial 3: +Video](Android%2Btutorial%2B3%253A%2BVideo.html) with a single-element +`playbin2` pipeline and we are good to go\! + +However, we can do better than. We will add a [Seek +Bar](http://developer.android.com/reference/android/widget/SeekBar.html), +with a moving thumb that will advance as our current position in the +media advances. We will also allow the user to drag the thumb, to jump +(or *seek*) to a different position. + +And finally, we will make the video surface adapt to the media size, so +the video sink is not forced to draw black borders around the clip. + This also allows the Android layout to adapt more nicely to the actual +media content. You can still force the video surface to have a specific +size if you really want to. + +# A basic media player \[Java code\] + +![](images/icons/grey_arrow_down.gif)Due to the extension of this code, +this view is collapsed by default. Click here to expand… + +**src/com/gst\_sdk\_tutorials/tutorial\_4/Tutorial4.java** + +``` theme: Default; brush: java; gutter: true +package com.gst_sdk_tutorials.tutorial_4; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.TimeZone; + +import android.app.Activity; +import android.os.Bundle; +import android.util.Log; +import android.view.SurfaceHolder; +import android.view.SurfaceView; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.ImageButton; +import android.widget.SeekBar; +import android.widget.SeekBar.OnSeekBarChangeListener; +import android.widget.TextView; +import android.widget.Toast; + +import com.gstreamer.GStreamer; + +public class Tutorial4 extends Activity implements SurfaceHolder.Callback, OnSeekBarChangeListener { + private native void nativeInit(); // Initialize native code, build pipeline, etc + private native void nativeFinalize(); // Destroy pipeline and shutdown native code + private native void nativeSetUri(String uri); // Set the URI of the media to play + private native void nativePlay(); // Set pipeline to PLAYING + private native void nativeSetPosition(int milliseconds); // Seek to the indicated position, in milliseconds + private native void nativePause(); // Set pipeline to PAUSED + private static native boolean nativeClassInit(); // Initialize native class: cache Method IDs for callbacks + private native void nativeSurfaceInit(Object surface); // A new surface is available + private native void nativeSurfaceFinalize(); // Surface about to be destroyed + private long native_custom_data; // Native code will use this to keep private data + + private boolean is_playing_desired; // Whether the user asked to go to PLAYING + private int position; // Current position, reported by native code + private int duration; // Current clip duration, reported by native code + private boolean is_local_media; // Whether this clip is stored locally or is being streamed + private int desired_position; // Position where the users wants to seek to + private String mediaUri; // URI of the clip being played + + private final String defaultMediaUri = "http://docs.gstreamer.com/media/sintel_trailer-368p.ogv"; + + // Called when the activity is first created. + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + + // Initialize GStreamer and warn if it fails + try { + GStreamer.init(this); + } catch (Exception e) { + Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show(); + finish(); + return; + } + + setContentView(R.layout.main); + + ImageButton play = (ImageButton) this.findViewById(R.id.button_play); + play.setOnClickListener(new OnClickListener() { + public void onClick(View v) { + is_playing_desired = true; + nativePlay(); + } + }); + + ImageButton pause = (ImageButton) this.findViewById(R.id.button_stop); + pause.setOnClickListener(new OnClickListener() { + public void onClick(View v) { + is_playing_desired = false; + nativePause(); + } + }); + + SurfaceView sv = (SurfaceView) this.findViewById(R.id.surface_video); + SurfaceHolder sh = sv.getHolder(); + sh.addCallback(this); + + SeekBar sb = (SeekBar) this.findViewById(R.id.seek_bar); + sb.setOnSeekBarChangeListener(this); + + // Retrieve our previous state, or initialize it to default values + if (savedInstanceState != null) { + is_playing_desired = savedInstanceState.getBoolean("playing"); + position = savedInstanceState.getInt("position"); + duration = savedInstanceState.getInt("duration"); + mediaUri = savedInstanceState.getString("mediaUri"); + Log.i ("GStreamer", "Activity created with saved state:"); + } else { + is_playing_desired = false; + position = duration = 0; + mediaUri = defaultMediaUri; + Log.i ("GStreamer", "Activity created with no saved state:"); + } + is_local_media = false; + Log.i ("GStreamer", " playing:" + is_playing_desired + " position:" + position + + " duration: " + duration + " uri: " + mediaUri); + + // Start with disabled buttons, until native code is initialized + this.findViewById(R.id.button_play).setEnabled(false); + this.findViewById(R.id.button_stop).setEnabled(false); + + nativeInit(); + } + + protected void onSaveInstanceState (Bundle outState) { + Log.d ("GStreamer", "Saving state, playing:" + is_playing_desired + " position:" + position + + " duration: " + duration + " uri: " + mediaUri); + outState.putBoolean("playing", is_playing_desired); + outState.putInt("position", position); + outState.putInt("duration", duration); + outState.putString("mediaUri", mediaUri); + } + + protected void onDestroy() { + nativeFinalize(); + super.onDestroy(); + } + + // Called from native code. This sets the content of the TextView from the UI thread. + private void setMessage(final String message) { + final TextView tv = (TextView) this.findViewById(R.id.textview_message); + runOnUiThread (new Runnable() { + public void run() { + tv.setText(message); + } + }); + } + + // Set the URI to play, and record whether it is a local or remote file + private void setMediaUri() { + nativeSetUri (mediaUri); + is_local_media = mediaUri.startsWith("file://"); + } + + // Called from native code. Native code calls this once it has created its pipeline and + // the main loop is running, so it is ready to accept commands. + private void onGStreamerInitialized () { + Log.i ("GStreamer", "GStreamer initialized:"); + Log.i ("GStreamer", " playing:" + is_playing_desired + " position:" + position + " uri: " + mediaUri); + + // Restore previous playing state + setMediaUri (); + nativeSetPosition (position); + if (is_playing_desired) { + nativePlay(); + } else { + nativePause(); + } + + // Re-enable buttons, now that GStreamer is initialized + final Activity activity = this; + runOnUiThread(new Runnable() { + public void run() { + activity.findViewById(R.id.button_play).setEnabled(true); + activity.findViewById(R.id.button_stop).setEnabled(true); + } + }); + } + + // The text widget acts as an slave for the seek bar, so it reflects what the seek bar shows, whether + // it is an actual pipeline position or the position the user is currently dragging to. + private void updateTimeWidget () { + final TextView tv = (TextView) this.findViewById(R.id.textview_time); + final SeekBar sb = (SeekBar) this.findViewById(R.id.seek_bar); + final int pos = sb.getProgress(); + + SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss"); + df.setTimeZone(TimeZone.getTimeZone("UTC")); + final String message = df.format(new Date (pos)) + " / " + df.format(new Date (duration)); + tv.setText(message); + } + + // Called from native code + private void setCurrentPosition(final int position, final int duration) { + final SeekBar sb = (SeekBar) this.findViewById(R.id.seek_bar); + + // Ignore position messages from the pipeline if the seek bar is being dragged + if (sb.isPressed()) return; + + runOnUiThread (new Runnable() { + public void run() { + sb.setMax(duration); + sb.setProgress(position); + updateTimeWidget(); + } + }); + this.position = position; + this.duration = duration; + } + + static { + System.loadLibrary("gstreamer_android"); + System.loadLibrary("tutorial-4"); + nativeClassInit(); + } + + public void surfaceChanged(SurfaceHolder holder, int format, int width, + int height) { + Log.d("GStreamer", "Surface changed to format " + format + " width " + + width + " height " + height); + nativeSurfaceInit (holder.getSurface()); + } + + public void surfaceCreated(SurfaceHolder holder) { + Log.d("GStreamer", "Surface created: " + holder.getSurface()); + } + + public void surfaceDestroyed(SurfaceHolder holder) { + Log.d("GStreamer", "Surface destroyed"); + nativeSurfaceFinalize (); + } + + // Called from native code when the size of the media changes or is first detected. + // Inform the video surface about the new size and recalculate the layout. + private void onMediaSizeChanged (int width, int height) { + Log.i ("GStreamer", "Media size changed to " + width + "x" + height); + final GStreamerSurfaceView gsv = (GStreamerSurfaceView) this.findViewById(R.id.surface_video); + gsv.media_width = width; + gsv.media_height = height; + runOnUiThread(new Runnable() { + public void run() { + gsv.requestLayout(); + } + }); + } + + // The Seek Bar thumb has moved, either because the user dragged it or we have called setProgress() + public void onProgressChanged(SeekBar sb, int progress, boolean fromUser) { + if (fromUser == false) return; + desired_position = progress; + // If this is a local file, allow scrub seeking, this is, seek as soon as the slider is moved. + if (is_local_media) nativeSetPosition(desired_position); + updateTimeWidget(); + } + + // The user started dragging the Seek Bar thumb + public void onStartTrackingTouch(SeekBar sb) { + nativePause(); + } + + // The user released the Seek Bar thumb + public void onStopTrackingTouch(SeekBar sb) { + // If this is a remote file, scrub seeking is probably not going to work smoothly enough. + // Therefore, perform only the seek when the slider is released. + if (!is_local_media) nativeSetPosition(desired_position); + if (is_playing_desired) nativePlay(); + } +} +``` + +### Supporting arbitrary media URIs + +The C code provides the `nativeSetUri()` method so we can indicate the +URI of the media to play. Since `playbin2` will be taking care of +retrieving the media, we can use local or remote URIs indistinctly +(`file://` or `http://`, for example). From Java, though, we want to +keep track of whether the file is local or remote, because we will not +offer the same functionalities. We keep track of this in the +`is_local_media` variable, and update it every time we change the media +URI: + +``` first-line: 132; theme: Default; brush: java; gutter: true +private void setMediaUri() { + nativeSetUri (mediaUri); + is_local_media = mediaUri.startsWith("file://"); +} +``` + +We call `setMediaUri()` in the `onGStreamerInitialized()` callback, once +the pipeline is ready to accept commands. + +### Reporting media size + +Every time the size of the media changes (which could happen mid-stream, +for some kind of streams), or when it is first detected, C code calls +our `onMediaSizeChanged()` callback: + +``` first-line: 217; theme: Default; brush: java; gutter: true +private void onMediaSizeChanged (int width, int height) { + Log.i ("GStreamer", "Media size changed to " + width + "x" + height); + final GStreamerSurfaceView gsv = (GStreamerSurfaceView) this.findViewById(R.id.surface_video); + gsv.media_width = width; + gsv.media_height = height; + runOnUiThread(new Runnable() { + public void run() { + gsv.requestLayout(); + } + }); +} +``` + +Here we simply pass the new size onto the `GStreamerSurfaceView` in +charge of displaying the media, and ask the Android layout to be +recalculated. Eventually, the `onMeasure()` method in +GStreamerSurfaceView will be called and the new size will be taken into +account. As we have already seen in [Android tutorial 2: A running +pipeline](Android%2Btutorial%2B2%253A%2BA%2Brunning%2Bpipeline.html), +methods which change the UI must be called from the main thread, and we +are now in a callback from some GStreamer internal thread. Hence, the +usage of +[runOnUiThread()](http://developer.android.com/reference/android/app/Activity.html#runOnUiThread\(java.lang.Runnable\)). + +### Refreshing the Seek Bar + +[Basic tutorial 5: GUI toolkit +integration](Basic%2Btutorial%2B5%253A%2BGUI%2Btoolkit%2Bintegration.html) +has already shown how to implement a [Seek +Bar](http://developer.android.com/reference/android/widget/SeekBar.html) using +the GTK+ toolkit. The implementation on Android is very similar. + +The Seek Bar accomplishes to functions: First, it moves on its own to +reflect the current playback position in the media. Second, it can be +dragged by the user to seek to a different position. + +To realize the first function, C code will periodically call our +`setCurrentPosition()` method so we can update the position of the thumb +in the Seek Bar. Again we do so from the UI thread, using +`RunOnUiThread()`. + +``` first-line: 176; theme: Default; brush: java; gutter: true +private void setCurrentPosition(final int position, final int duration) { + final SeekBar sb = (SeekBar) this.findViewById(R.id.seek_bar); + + // Ignore position messages from the pipeline if the seek bar is being dragged + if (sb.isPressed()) return; + + runOnUiThread (new Runnable() { + public void run() { + sb.setMax(duration); + sb.setProgress(position); + updateTimeWidget(); + } + }); + this.position = position; + this.duration = duration; +} +``` + +To the left of the Seek Bar (refer to the screenshot at the top of this +page), there is a +[TextView](http://developer.android.com/reference/android/widget/TextView.html) +widget which we will use to display the current position and duration in +`HH:mm:ss / HH:mm:ss` textual format. The `updateTimeWidget()` method +takes care of it, and must be called every time the Seek Bar is updated: + +``` first-line: 164; theme: Default; brush: java; gutter: true +private void updateTimeWidget () { + final TextView tv = (TextView) this.findViewById(R.id.textview_time); + final SeekBar sb = (SeekBar) this.findViewById(R.id.seek_bar); + final int pos = sb.getProgress(); + + SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss"); + df.setTimeZone(TimeZone.getTimeZone("UTC")); + final String message = df.format(new Date (pos)) + " / " + df.format(new Date (duration)); + tv.setText(message); +} +``` + +### Seeking with the Seek Bar + +To perform the second function of the [Seek +Bar](http://developer.android.com/reference/android/widget/SeekBar.html) (allowing +the user to seek by dragging the thumb), we implement the +[OnSeekBarChangeListener](http://developer.android.com/reference/android/widget/SeekBar.OnSeekBarChangeListener.html) +interface in the +Activity: + +``` first-line: 22; theme: Default; brush: java; gutter: true +public class Tutorial4 extends Activity implements SurfaceHolder.Callback, OnSeekBarChangeListener { +``` + +And we register the Activity as the listener for the [Seek +Bar](http://developer.android.com/reference/android/widget/SeekBar.html)’s +events in the `onCreate()` method: + +``` first-line: 80; theme: Default; brush: java; gutter: true +SeekBar sb = (SeekBar) this.findViewById(R.id.seek_bar); +sb.setOnSeekBarChangeListener(this); +``` + +We will now be notified of three events: When the user starts dragging +the thumb, every time the thumb moves and when the thumb is released by +the user: + +``` first-line: 239; theme: Default; brush: java; gutter: true +public void onStartTrackingTouch(SeekBar sb) { + nativePause(); +}  +``` + +[onStartTrackingTouch()](http://developer.android.com/reference/android/widget/SeekBar.OnSeekBarChangeListener.html#onStartTrackingTouch\(android.widget.SeekBar\)) +is called when the user starts dragging, and the only thing we do is +pause the pipeline. If the user is searching for a particular scene, we +do not want it to keep +moving. + +``` first-line: 230; theme: Default; brush: java; gutter: true +public void onProgressChanged(SeekBar sb, int progress, boolean fromUser) { + if (fromUser == false) return; + desired_position = progress; + // If this is a local file, allow scrub seeking, this is, seek soon as the slider is moved. + if (is_local_media) nativeSetPosition(desired_position); + updateTimeWidget(); +}  +``` + +[onProgressChanged()](http://developer.android.com/reference/android/widget/SeekBar.OnSeekBarChangeListener.html#onProgressChanged\(android.widget.SeekBar,%20int,%20boolean\)) is +called every time the thumb moves, be it because the user dragged it, or +because we called `setProgress()` on the Seek Bar. We discard the latter +case with the handy `fromUser` parameter. + +As the comment says, if this is a local media, we allow scrub seeking, +this is, we jump to the indicated position as soon as the thumb moves. +Otherwise, the seek will be performed when the thumb is released, and +the only thing we do here is update the textual time widget. + +``` first-line: 244; theme: Default; brush: java; gutter: true +public void onStopTrackingTouch(SeekBar sb) { + // If this is a remote file, scrub seeking is probably not going to work smoothly enough. + // Therefore, perform only the seek when the slider is released. + if (!is_local_media) nativeSetPosition(desired_position); + if (is_playing_desired) nativePlay(); +} +``` + +Finally, [onStopTrackingTouch()](http://developer.android.com/reference/android/widget/SeekBar.OnSeekBarChangeListener.html#onStopTrackingTouch\(android.widget.SeekBar\)) +is called when the thumb is released. We simply perform the seek +operation if the file was non-local, and restore the pipeline to the +desired playing state. + +This concludes the User interface part of this tutorial. Let’s review +now the under-the-hood C code that allows this to work. + +# A basic media player \[C code\] + +![](images/icons/grey_arrow_down.gif)Due to the extension of this code, +this view is collapsed by default. Click here to expand… + +**jni/tutorial-4.c** + +``` theme: Default; brush: cpp; gutter: true +#include +#include +#include +#include +#include +#include +#include +#include +#include + +GST_DEBUG_CATEGORY_STATIC (debug_category); +#define GST_CAT_DEFAULT debug_category + +/* + * These macros provide a way to store the native pointer to CustomData, which might be 32 or 64 bits, into + * a jlong, which is always 64 bits, without warnings. + */ +#if GLIB_SIZEOF_VOID_P == 8 +# define GET_CUSTOM_DATA(env, thiz, fieldID) (CustomData *)(*env)->GetLongField (env, thiz, fieldID) +# define SET_CUSTOM_DATA(env, thiz, fieldID, data) (*env)->SetLongField (env, thiz, fieldID, (jlong)data) +#else +# define GET_CUSTOM_DATA(env, thiz, fieldID) (CustomData *)(jint)(*env)->GetLongField (env, thiz, fieldID) +# define SET_CUSTOM_DATA(env, thiz, fieldID, data) (*env)->SetLongField (env, thiz, fieldID, (jlong)(jint)data) +#endif + +/* Do not allow seeks to be performed closer than this distance. It is visually useless, and will probably + * confuse some demuxers. */ +#define SEEK_MIN_DELAY (500 * GST_MSECOND) + +/* Structure to contain all our information, so we can pass it to callbacks */ +typedef struct _CustomData { + jobject app; /* Application instance, used to call its methods. A global reference is kept. */ + GstElement *pipeline; /* The running pipeline */ + GMainContext *context; /* GLib context used to run the main loop */ + GMainLoop *main_loop; /* GLib main loop */ + gboolean initialized; /* To avoid informing the UI multiple times about the initialization */ + ANativeWindow *native_window; /* The Android native window where video will be rendered */ + GstState state; /* Current pipeline state */ + GstState target_state; /* Desired pipeline state, to be set once buffering is complete */ + gint64 duration; /* Cached clip duration */ + gint64 desired_position; /* Position to seek to, once the pipeline is running */ + GstClockTime last_seek_time; /* For seeking overflow prevention (throttling) */ + gboolean is_live; /* Live streams do not use buffering */ +} CustomData; + +/* playbin2 flags */ +typedef enum { + GST_PLAY_FLAG_TEXT = (1 << 2) /* We want subtitle output */ +} GstPlayFlags; + +/* These global variables cache values which are not changing during execution */ +static pthread_t gst_app_thread; +static pthread_key_t current_jni_env; +static JavaVM *java_vm; +static jfieldID custom_data_field_id; +static jmethodID set_message_method_id; +static jmethodID set_current_position_method_id; +static jmethodID on_gstreamer_initialized_method_id; +static jmethodID on_media_size_changed_method_id; + +/* + * Private methods + */ + +/* Register this thread with the VM */ +static JNIEnv *attach_current_thread (void) { + JNIEnv *env; + JavaVMAttachArgs args; + + GST_DEBUG ("Attaching thread %p", g_thread_self ()); + args.version = JNI_VERSION_1_4; + args.name = NULL; + args.group = NULL; + + if ((*java_vm)->AttachCurrentThread (java_vm, &env, &args) < 0) { + GST_ERROR ("Failed to attach current thread"); + return NULL; + } + + return env; +} + +/* Unregister this thread from the VM */ +static void detach_current_thread (void *env) { + GST_DEBUG ("Detaching thread %p", g_thread_self ()); + (*java_vm)->DetachCurrentThread (java_vm); +} + +/* Retrieve the JNI environment for this thread */ +static JNIEnv *get_jni_env (void) { + JNIEnv *env; + + if ((env = pthread_getspecific (current_jni_env)) == NULL) { + env = attach_current_thread (); + pthread_setspecific (current_jni_env, env); + } + + return env; +} + +/* Change the content of the UI's TextView */ +static void set_ui_message (const gchar *message, CustomData *data) { + JNIEnv *env = get_jni_env (); + GST_DEBUG ("Setting message to: %s", message); + jstring jmessage = (*env)->NewStringUTF(env, message); + (*env)->CallVoidMethod (env, data->app, set_message_method_id, jmessage); + if ((*env)->ExceptionCheck (env)) { + GST_ERROR ("Failed to call Java method"); + (*env)->ExceptionClear (env); + } + (*env)->DeleteLocalRef (env, jmessage); +} + +/* Tell the application what is the current position and clip duration */ +static void set_current_ui_position (gint position, gint duration, CustomData *data) { + JNIEnv *env = get_jni_env (); + (*env)->CallVoidMethod (env, data->app, set_current_position_method_id, position, duration); + if ((*env)->ExceptionCheck (env)) { + GST_ERROR ("Failed to call Java method"); + (*env)->ExceptionClear (env); + } +} + +/* If we have pipeline and it is running, query the current position and clip duration and inform + * the application */ +static gboolean refresh_ui (CustomData *data) { + GstFormat fmt = GST_FORMAT_TIME; + gint64 current = -1; + gint64 position; + + /* We do not want to update anything unless we have a working pipeline in the PAUSED or PLAYING state */ + if (!data || !data->pipeline || data->state < GST_STATE_PAUSED) + return TRUE; + + /* If we didn't know it yet, query the stream duration */ + if (!GST_CLOCK_TIME_IS_VALID (data->duration)) { + if (!gst_element_query_duration (data->pipeline, &fmt, &data->duration)) { + GST_WARNING ("Could not query current duration"); + } + } + + if (gst_element_query_position (data->pipeline, &fmt, &position)) { + /* Java expects these values in milliseconds, and GStreamer provides nanoseconds */ + set_current_ui_position (position / GST_MSECOND, data->duration / GST_MSECOND, data); + } + return TRUE; +} + +/* Forward declaration for the delayed seek callback */ +static gboolean delayed_seek_cb (CustomData *data); + +/* Perform seek, if we are not too close to the previous seek. Otherwise, schedule the seek for + * some time in the future. */ +static void execute_seek (gint64 desired_position, CustomData *data) { + gint64 diff; + + if (desired_position == GST_CLOCK_TIME_NONE) + return; + + diff = gst_util_get_timestamp () - data->last_seek_time; + + if (GST_CLOCK_TIME_IS_VALID (data->last_seek_time) && diff < SEEK_MIN_DELAY) { + /* The previous seek was too close, delay this one */ + GSource *timeout_source; + + if (data->desired_position == GST_CLOCK_TIME_NONE) { + /* There was no previous seek scheduled. Setup a timer for some time in the future */ + timeout_source = g_timeout_source_new ((SEEK_MIN_DELAY - diff) / GST_MSECOND); + g_source_set_callback (timeout_source, (GSourceFunc)delayed_seek_cb, data, NULL); + g_source_attach (timeout_source, data->context); + g_source_unref (timeout_source); + } + /* Update the desired seek position. If multiple requests are received before it is time + * to perform a seek, only the last one is remembered. */ + data->desired_position = desired_position; + GST_DEBUG ("Throttling seek to %" GST_TIME_FORMAT ", will be in %" GST_TIME_FORMAT, + GST_TIME_ARGS (desired_position), GST_TIME_ARGS (SEEK_MIN_DELAY - diff)); + } else { + /* Perform the seek now */ + GST_DEBUG ("Seeking to %" GST_TIME_FORMAT, GST_TIME_ARGS (desired_position)); + data->last_seek_time = gst_util_get_timestamp (); + gst_element_seek_simple (data->pipeline, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, desired_position); + data->desired_position = GST_CLOCK_TIME_NONE; + } +} + +/* Delayed seek callback. This gets called by the timer setup in the above function. */ +static gboolean delayed_seek_cb (CustomData *data) { + GST_DEBUG ("Doing delayed seek to %" GST_TIME_FORMAT, GST_TIME_ARGS (data->desired_position)); + execute_seek (data->desired_position, data); + return FALSE; +} + +/* Retrieve errors from the bus and show them on the UI */ +static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + GError *err; + gchar *debug_info; + gchar *message_string; + + gst_message_parse_error (msg, &err, &debug_info); + message_string = g_strdup_printf ("Error received from element %s: %s", GST_OBJECT_NAME (msg->src), err->message); + g_clear_error (&err); + g_free (debug_info); + set_ui_message (message_string, data); + g_free (message_string); + data->target_state = GST_STATE_NULL; + gst_element_set_state (data->pipeline, GST_STATE_NULL); +} + +/* Called when the End Of the Stream is reached. Just move to the beginning of the media and pause. */ +static void eos_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + data->target_state = GST_STATE_PAUSED; + data->is_live = (gst_element_set_state (data->pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_NO_PREROLL); + execute_seek (0, data); +} + +/* Called when the duration of the media changes. Just mark it as unknown, so we re-query it in the next UI refresh. */ +static void duration_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + data->duration = GST_CLOCK_TIME_NONE; +} + +/* Called when buffering messages are received. We inform the UI about the current buffering level and + * keep the pipeline paused until 100% buffering is reached. At that point, set the desired state. */ +static void buffering_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + gint percent; + + if (data->is_live) + return; + + gst_message_parse_buffering (msg, &percent); + if (percent < 100 && data->target_state >= GST_STATE_PAUSED) { + gchar * message_string = g_strdup_printf ("Buffering %d%%", percent); + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); + set_ui_message (message_string, data); + g_free (message_string); + } else if (data->target_state >= GST_STATE_PLAYING) { + gst_element_set_state (data->pipeline, GST_STATE_PLAYING); + } else if (data->target_state >= GST_STATE_PAUSED) { + set_ui_message ("Buffering complete", data); + } +} + +/* Called when the clock is lost */ +static void clock_lost_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + if (data->target_state >= GST_STATE_PLAYING) { + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); + gst_element_set_state (data->pipeline, GST_STATE_PLAYING); + } +} + +/* Retrieve the video sink's Caps and tell the application about the media size */ +static void check_media_size (CustomData *data) { + JNIEnv *env = get_jni_env (); + GstElement *video_sink; + GstPad *video_sink_pad; + GstCaps *caps; + GstVideoFormat fmt; + int width; + int height; + + /* Retrieve the Caps at the entrance of the video sink */ + g_object_get (data->pipeline, "video-sink", &video_sink, NULL); + video_sink_pad = gst_element_get_static_pad (video_sink, "sink"); + caps = gst_pad_get_negotiated_caps (video_sink_pad); + + if (gst_video_format_parse_caps(caps, &fmt, &width, &height)) { + int par_n, par_d; + if (gst_video_parse_caps_pixel_aspect_ratio (caps, &par_n, &par_d)) { + width = width * par_n / par_d; + } + GST_DEBUG ("Media size is %dx%d, notifying application", width, height); + + (*env)->CallVoidMethod (env, data->app, on_media_size_changed_method_id, (jint)width, (jint)height); + if ((*env)->ExceptionCheck (env)) { + GST_ERROR ("Failed to call Java method"); + (*env)->ExceptionClear (env); + } + } + + gst_caps_unref(caps); + gst_object_unref (video_sink_pad); + gst_object_unref(video_sink); +} + +/* Notify UI about pipeline state changes */ +static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + /* Only pay attention to messages coming from the pipeline, not its children */ + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->pipeline)) { + data->state = new_state; + gchar *message = g_strdup_printf("State changed to %s", gst_element_state_get_name(new_state)); + set_ui_message(message, data); + g_free (message); + + /* The Ready to Paused state change is particularly interesting: */ + if (old_state == GST_STATE_READY && new_state == GST_STATE_PAUSED) { + /* By now the sink already knows the media size */ + check_media_size(data); + + /* If there was a scheduled seek, perform it now that we have moved to the Paused state */ + if (GST_CLOCK_TIME_IS_VALID (data->desired_position)) + execute_seek (data->desired_position, data); + } + } +} + +/* Check if all conditions are met to report GStreamer as initialized. + * These conditions will change depending on the application */ +static void check_initialization_complete (CustomData *data) { + JNIEnv *env = get_jni_env (); + if (!data->initialized && data->native_window && data->main_loop) { + GST_DEBUG ("Initialization complete, notifying application. native_window:%p main_loop:%p", data->native_window, data->main_loop); + + /* The main loop is running and we received a native window, inform the sink about it */ + gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->pipeline), (guintptr)data->native_window); + + (*env)->CallVoidMethod (env, data->app, on_gstreamer_initialized_method_id); + if ((*env)->ExceptionCheck (env)) { + GST_ERROR ("Failed to call Java method"); + (*env)->ExceptionClear (env); + } + data->initialized = TRUE; + } +} + +/* Main method for the native code. This is executed on its own thread. */ +static void *app_function (void *userdata) { + JavaVMAttachArgs args; + GstBus *bus; + CustomData *data = (CustomData *)userdata; + GSource *timeout_source; + GSource *bus_source; + GError *error = NULL; + guint flags; + + GST_DEBUG ("Creating pipeline in CustomData at %p", data); + + /* Create our own GLib Main Context and make it the default one */ + data->context = g_main_context_new (); + g_main_context_push_thread_default(data->context); + + /* Build pipeline */ + data->pipeline = gst_parse_launch("playbin2", &error); + if (error) { + gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message); + g_clear_error (&error); + set_ui_message(message, data); + g_free (message); + return NULL; + } + + /* Disable subtitles */ + g_object_get (data->pipeline, "flags", &flags, NULL); + flags &= ~GST_PLAY_FLAG_TEXT; + g_object_set (data->pipeline, "flags", flags, NULL); + + /* Set the pipeline to READY, so it can already accept a window handle, if we have one */ + data->target_state = GST_STATE_READY; + gst_element_set_state(data->pipeline, GST_STATE_READY); + + /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ + bus = gst_element_get_bus (data->pipeline); + bus_source = gst_bus_create_watch (bus); + g_source_set_callback (bus_source, (GSourceFunc) gst_bus_async_signal_func, NULL, NULL); + g_source_attach (bus_source, data->context); + g_source_unref (bus_source); + g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, data); + g_signal_connect (G_OBJECT (bus), "message::eos", (GCallback)eos_cb, data); + g_signal_connect (G_OBJECT (bus), "message::state-changed", (GCallback)state_changed_cb, data); + g_signal_connect (G_OBJECT (bus), "message::duration", (GCallback)duration_cb, data); + g_signal_connect (G_OBJECT (bus), "message::buffering", (GCallback)buffering_cb, data); + g_signal_connect (G_OBJECT (bus), "message::clock-lost", (GCallback)clock_lost_cb, data); + gst_object_unref (bus); + + /* Register a function that GLib will call 4 times per second */ + timeout_source = g_timeout_source_new (250); + g_source_set_callback (timeout_source, (GSourceFunc)refresh_ui, data, NULL); + g_source_attach (timeout_source, data->context); + g_source_unref (timeout_source); + + /* Create a GLib Main Loop and set it to run */ + GST_DEBUG ("Entering main loop... (CustomData:%p)", data); + data->main_loop = g_main_loop_new (data->context, FALSE); + check_initialization_complete (data); + g_main_loop_run (data->main_loop); + GST_DEBUG ("Exited main loop"); + g_main_loop_unref (data->main_loop); + data->main_loop = NULL; + + /* Free resources */ + g_main_context_pop_thread_default(data->context); + g_main_context_unref (data->context); + data->target_state = GST_STATE_NULL; + gst_element_set_state (data->pipeline, GST_STATE_NULL); + gst_object_unref (data->pipeline); + + return NULL; +} + +/* + * Java Bindings + */ + +/* Instruct the native code to create its internal data structure, pipeline and thread */ +static void gst_native_init (JNIEnv* env, jobject thiz) { + CustomData *data = g_new0 (CustomData, 1); + data->desired_position = GST_CLOCK_TIME_NONE; + data->last_seek_time = GST_CLOCK_TIME_NONE; + SET_CUSTOM_DATA (env, thiz, custom_data_field_id, data); + GST_DEBUG_CATEGORY_INIT (debug_category, "tutorial-4", 0, "Android tutorial 4"); + gst_debug_set_threshold_for_name("tutorial-4", GST_LEVEL_DEBUG); + GST_DEBUG ("Created CustomData at %p", data); + data->app = (*env)->NewGlobalRef (env, thiz); + GST_DEBUG ("Created GlobalRef for app object at %p", data->app); + pthread_create (&gst_app_thread, NULL, &app_function, data); +} + +/* Quit the main loop, remove the native thread and free resources */ +static void gst_native_finalize (JNIEnv* env, jobject thiz) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + GST_DEBUG ("Quitting main loop..."); + g_main_loop_quit (data->main_loop); + GST_DEBUG ("Waiting for thread to finish..."); + pthread_join (gst_app_thread, NULL); + GST_DEBUG ("Deleting GlobalRef for app object at %p", data->app); + (*env)->DeleteGlobalRef (env, data->app); + GST_DEBUG ("Freeing CustomData at %p", data); + g_free (data); + SET_CUSTOM_DATA (env, thiz, custom_data_field_id, NULL); + GST_DEBUG ("Done finalizing"); +} + +/* Set playbin2's URI */ +void gst_native_set_uri (JNIEnv* env, jobject thiz, jstring uri) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data || !data->pipeline) return; + const jbyte *char_uri = (*env)->GetStringUTFChars (env, uri, NULL); + GST_DEBUG ("Setting URI to %s", char_uri); + if (data->target_state >= GST_STATE_READY) + gst_element_set_state (data->pipeline, GST_STATE_READY); + g_object_set(data->pipeline, "uri", char_uri, NULL); + (*env)->ReleaseStringUTFChars (env, uri, char_uri); + data->duration = GST_CLOCK_TIME_NONE; + data->is_live = (gst_element_set_state (data->pipeline, data->target_state) == GST_STATE_CHANGE_NO_PREROLL); +} + +/* Set pipeline to PLAYING state */ +static void gst_native_play (JNIEnv* env, jobject thiz) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + GST_DEBUG ("Setting state to PLAYING"); + data->target_state = GST_STATE_PLAYING; + data->is_live = (gst_element_set_state (data->pipeline, GST_STATE_PLAYING) == GST_STATE_CHANGE_NO_PREROLL); +} + +/* Set pipeline to PAUSED state */ +static void gst_native_pause (JNIEnv* env, jobject thiz) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + GST_DEBUG ("Setting state to PAUSED"); + data->target_state = GST_STATE_PAUSED; + data->is_live = (gst_element_set_state (data->pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_NO_PREROLL); +} + +/* Instruct the pipeline to seek to a different position */ +void gst_native_set_position (JNIEnv* env, jobject thiz, int milliseconds) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + gint64 desired_position = (gint64)(milliseconds * GST_MSECOND); + if (data->state >= GST_STATE_PAUSED) { + execute_seek(desired_position, data); + } else { + GST_DEBUG ("Scheduling seek to %" GST_TIME_FORMAT " for later", GST_TIME_ARGS (desired_position)); + data->desired_position = desired_position; + } +} + +/* Static class initializer: retrieve method and field IDs */ +static jboolean gst_native_class_init (JNIEnv* env, jclass klass) { + custom_data_field_id = (*env)->GetFieldID (env, klass, "native_custom_data", "J"); + set_message_method_id = (*env)->GetMethodID (env, klass, "setMessage", "(Ljava/lang/String;)V"); + set_current_position_method_id = (*env)->GetMethodID (env, klass, "setCurrentPosition", "(II)V"); + on_gstreamer_initialized_method_id = (*env)->GetMethodID (env, klass, "onGStreamerInitialized", "()V"); + on_media_size_changed_method_id = (*env)->GetMethodID (env, klass, "onMediaSizeChanged", "(II)V"); + + if (!custom_data_field_id || !set_message_method_id || !on_gstreamer_initialized_method_id || + !on_media_size_changed_method_id || !set_current_position_method_id) { + /* We emit this message through the Android log instead of the GStreamer log because the later + * has not been initialized yet. + */ + __android_log_print (ANDROID_LOG_ERROR, "tutorial-4", "The calling class does not implement all necessary interface methods"); + return JNI_FALSE; + } + return JNI_TRUE; +} + +static void gst_native_surface_init (JNIEnv *env, jobject thiz, jobject surface) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + ANativeWindow *new_native_window = ANativeWindow_fromSurface(env, surface); + GST_DEBUG ("Received surface %p (native window %p)", surface, new_native_window); + + if (data->native_window) { + ANativeWindow_release (data->native_window); + if (data->native_window == new_native_window) { + GST_DEBUG ("New native window is the same as the previous one", data->native_window); + if (data->pipeline) { + gst_x_overlay_expose(GST_X_OVERLAY (data->pipeline)); + gst_x_overlay_expose(GST_X_OVERLAY (data->pipeline)); + } + return; + } else { + GST_DEBUG ("Released previous native window %p", data->native_window); + data->initialized = FALSE; + } + } + data->native_window = new_native_window; + + check_initialization_complete (data); +} + +static void gst_native_surface_finalize (JNIEnv *env, jobject thiz) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + GST_DEBUG ("Releasing Native Window %p", data->native_window); + + if (data->pipeline) { + gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->pipeline), (guintptr)NULL); + gst_element_set_state (data->pipeline, GST_STATE_READY); + } + + ANativeWindow_release (data->native_window); + data->native_window = NULL; + data->initialized = FALSE; +} + +/* List of implemented native methods */ +static JNINativeMethod native_methods[] = { + { "nativeInit", "()V", (void *) gst_native_init}, + { "nativeFinalize", "()V", (void *) gst_native_finalize}, + { "nativeSetUri", "(Ljava/lang/String;)V", (void *) gst_native_set_uri}, + { "nativePlay", "()V", (void *) gst_native_play}, + { "nativePause", "()V", (void *) gst_native_pause}, + { "nativeSetPosition", "(I)V", (void*) gst_native_set_position}, + { "nativeSurfaceInit", "(Ljava/lang/Object;)V", (void *) gst_native_surface_init}, + { "nativeSurfaceFinalize", "()V", (void *) gst_native_surface_finalize}, + { "nativeClassInit", "()Z", (void *) gst_native_class_init} +}; + +/* Library initializer */ +jint JNI_OnLoad(JavaVM *vm, void *reserved) { + JNIEnv *env = NULL; + + java_vm = vm; + + if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_4) != JNI_OK) { + __android_log_print (ANDROID_LOG_ERROR, "tutorial-4", "Could not retrieve JNIEnv"); + return 0; + } + jclass klass = (*env)->FindClass (env, "com/gst_sdk_tutorials/tutorial_4/Tutorial4"); + (*env)->RegisterNatives (env, klass, native_methods, G_N_ELEMENTS(native_methods)); + + pthread_key_create (¤t_jni_env, detach_current_thread); + + return JNI_VERSION_1_4; +} +``` + +### Supporting arbitrary media URIs + +Java code will call `gst_native_set_uri()` whenever it wants to change +the playing URI (in this tutorial the URI never changes, but it could): + +``` first-line: 436; theme: Default; brush: cpp; gutter: true +void gst_native_set_uri (JNIEnv* env, jobject thiz, jstring uri) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data || !data->pipeline) return; + const jbyte *char_uri = (*env)->GetStringUTFChars (env, uri, NULL); + GST_DEBUG ("Setting URI to %s", char_uri); + if (data->target_state >= GST_STATE_READY) + gst_element_set_state (data->pipeline, GST_STATE_READY); + g_object_set(data->pipeline, "uri", char_uri, NULL); + (*env)->ReleaseStringUTFChars (env, uri, char_uri); + data->duration = GST_CLOCK_TIME_NONE; + data->is_live = (gst_element_set_state (data->pipeline, data->target_state) == GST_STATE_CHANGE_NO_PREROLL); +} +``` + +We first need to convert between the +[UTF16](http://en.wikipedia.org/wiki/UTF-16) encoding used by Java and +the [Modified +UTF8](http://en.wikipedia.org/wiki/UTF-8#Modified_UTF-8) used by +GStreamer with +[GetStringUTFChars()](http://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/functions.html#wp17265) +and +[ReleaseStringUTFChars()](http://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/functions.html#wp17294). + +`playbin2` will only care about URI changes in the READY to PAUSED state +change, because the new URI might need a completely different playback +pipeline (think about switching from a local Matroska file to a remote +OGG file: this would require, at least, different source and demuxing +elements). Thus, before passing the new URI to `playbin2` we set its +state to READY (if we were in PAUSED or PLAYING). + +`playbin2`’s URI is exposed as a common GObject property, so we simply +set it with `g_object_set()`. + +We then reset the clip duration, so it is re-queried later, and bring +the pipeline to the playing state it had before. In this last step, we +also take note of whether the new URI corresponds to a live source or +not. Live sources must not use buffering (otherwise latency is +introduced which is inacceptable for them), so we keep track of this +information in the `is_live` variable. + +### Reporting media size + +Some codecs allow the media size (width and height of the video) to +change during playback. For simplicity, this tutorial assumes that they +do not. Therefore, in the READY to PAUSED state change, once the Caps of +the decoded media are known, we inspect them in `check_media_size()`: + +``` first-line: 252; theme: Default; brush: cpp; gutter: true +static void check_media_size (CustomData *data) { + JNIEnv *env = get_jni_env (); + GstElement *video_sink; + GstPad *video_sink_pad; + GstCaps *caps; + GstVideoFormat fmt; + int width; + int height; + + /* Retrieve the Caps at the entrance of the video sink */ + g_object_get (data->pipeline, "video-sink", &video_sink, NULL); + video_sink_pad = gst_element_get_static_pad (video_sink, "sink"); + caps = gst_pad_get_negotiated_caps (video_sink_pad); + + if (gst_video_format_parse_caps(caps, &fmt, &width, &height)) { + int par_n, par_d; + if (gst_video_parse_caps_pixel_aspect_ratio (caps, &par_n, &par_d)) { + width = width * par_n / par_d; + } + GST_DEBUG ("Media size is %dx%d, notifying application", width, height); + + (*env)->CallVoidMethod (env, data->app, on_media_size_changed_method_id, (jint)width, (jint)height); + if ((*env)->ExceptionCheck (env)) { + GST_ERROR ("Failed to call Java method"); + (*env)->ExceptionClear (env); + } + } + + gst_caps_unref(caps); + gst_object_unref (video_sink_pad); + gst_object_unref(video_sink); +} +``` + +We first retrieve the video sink element from the pipeline, using the +`video-sink` property of `playbin2`, and then its sink Pad. The +negotiated Caps of this Pad, which we recover using +`gst_pad_get_negotiated_caps()`,  are the Caps of the decoded media. + +The helper functions `gst_video_format_parse_caps()` and +`gst_video_parse_caps_pixel_aspect_ratio()` turn the Caps into +manageable integers, which we pass to Java through +its `onMediaSizeChanged()` callback. + +### Refreshing the Seek Bar + +To keep the UI updated, a GLib timer is installed in the +`app_function()` that fires 4 times per second (or every 250ms), right +before entering the main loop: + +``` first-line: 377; theme: Default; brush: cpp; gutter: true +timeout_source = g_timeout_source_new (250); +g_source_set_callback (timeout_source, (GSourceFunc)refresh_ui, data, NULL); +g_source_attach (timeout_source, data->context); +g_source_unref (timeout_source);  +``` + +Then, in the refresh\_ui method: + +``` first-line: 126; theme: Default; brush: cpp; gutter: true +static gboolean refresh_ui (CustomData *data) { + GstFormat fmt = GST_FORMAT_TIME; + gint64 current = -1; + gint64 position; + + /* We do not want to update anything unless we have a working pipeline in the PAUSED or PLAYING state */ + if (!data || !data->pipeline || data->state < GST_STATE_PAUSED) + return TRUE; + + /* If we didn't know it yet, query the stream duration */ + if (!GST_CLOCK_TIME_IS_VALID (data->duration)) { + if (!gst_element_query_duration (data->pipeline, &fmt, &data->duration)) { + GST_WARNING ("Could not query current duration"); + } + } + + if (gst_element_query_position (data->pipeline, &fmt, &position)) { + /* Java expects these values in milliseconds, and GStreamer provides nanoseconds */ + set_current_ui_position (position / GST_MSECOND, data->duration / GST_MSECOND, data); + } + return TRUE; +} +``` + +If it is unknown, the clip duration is retrieved, as explained in [Basic +tutorial 4: Time +management](Basic%2Btutorial%2B4%253A%2BTime%2Bmanagement.html). The +current position is retrieved next, and the UI is informed of both +through its `setCurrentPosition()` callback. + +Bear in mind that all time-related measures returned by GStreamer are in +nanoseconds, whereas, for simplicity, we decided to make the UI code +work in milliseconds.  + +### Seeking with the Seek Bar + +The Java UI code already takes care of most of the complexity of seeking +by dragging the thumb of the Seek Bar. From C code, we just need to +honor the calls to `nativeSetPosition()` and instruct the pipeline to +jump to the indicated position. + +There are, though, a couple of caveats. Firstly, seeks are only possible +when the pipeline is in the PAUSED or PLAYING state, and we might +receive seek requests before that happens. Secondly, dragging the Seek +Bar can generate a very high number of seek requests in a short period +of time, which is visually useless and will impair responsiveness. Let’s +see how to overcome these problems. + +#### Delayed seeks + +In +`gst_native_set_position()`: + +``` first-line: 468; theme: Default; brush: cpp; gutter: true +void gst_native_set_position (JNIEnv* env, jobject thiz, int milliseconds) { + CustomData *data = GET_CUSTOM_DATA (env, thiz, custom_data_field_id); + if (!data) return; + gint64 desired_position = (gint64)(milliseconds * GST_MSECOND); + if (data->state >= GST_STATE_PAUSED) { + execute_seek(desired_position, data); + } else { + GST_DEBUG ("Scheduling seek to %" GST_TIME_FORMAT " for later", GST_TIME_ARGS (desired_position)); + data->desired_position = desired_position; + } +}  +``` + +If we are already in the correct state for seeking, execute it right +away; otherwise, store the desired position in the +`desired_position` variable. Then, in the +`state_changed_cb()` callback: + +``` first-line: 297; theme: Default; brush: cpp; gutter: true +if (old_state == GST_STATE_READY && new_state == GST_STATE_PAUSED) { + /* By now the sink already knows the media size */ + check_media_size(data); + + /* If there was a scheduled seek, perform it now that we have moved to the Paused state */ + if (GST_CLOCK_TIME_IS_VALID (data->desired_position)) + execute_seek (data->desired_position, data); + } +} +``` + +Once the pipeline moves from the READY to the PAUSED state, we check if +there is a pending seek operation and execute it. The +`desired_position` variable is reset inside `execute_seek()`. + +#### Seek throttling + +A seek is potentially a lengthy operation. The demuxer (the element +typically in charge of seeking) needs to estimate the appropriate byte +offset inside the media file that corresponds to the time position to +jump to. Then, it needs to start decoding from that point until the +desired position is reached. If the initial estimate is accurate, this +will not take long, but, on some container formats, or when indexing +information is missing, it can take up to several seconds. + +If a demuxer is in the process of performing a seek and receives a +second one, it is up to it to finish the first one, start the second one +or abort both, which is a bad thing. A simple method to avoid this issue +is *throttling*, which means that we will only allow one seek every half +a second (for example): after performing a seek, only the last seek +request received during the next 500ms is stored, and will be honored +once this period elapses. + +To achieve this, all seek requests are routed through the +`execute_seek()` method: + +``` first-line: 154; theme: Default; brush: cpp; gutter: true +static void execute_seek (gint64 desired_position, CustomData *data) { + gint64 diff; + + if (desired_position == GST_CLOCK_TIME_NONE) + return; + + diff = gst_util_get_timestamp () - data->last_seek_time; + + if (GST_CLOCK_TIME_IS_VALID (data->last_seek_time) && diff < SEEK_MIN_DELAY) { + /* The previous seek was too close, delay this one */ + GSource *timeout_source; + + if (data->desired_position == GST_CLOCK_TIME_NONE) { + /* There was no previous seek scheduled. Setup a timer for some time in the future */ + timeout_source = g_timeout_source_new ((SEEK_MIN_DELAY - diff) / GST_MSECOND); + g_source_set_callback (timeout_source, (GSourceFunc)delayed_seek_cb, data, NULL); + g_source_attach (timeout_source, data->context); + g_source_unref (timeout_source); + } + /* Update the desired seek position. If multiple requests are received before it is time + * to perform a seek, only the last one is remembered. */ + data->desired_position = desired_position; + GST_DEBUG ("Throttling seek to %" GST_TIME_FORMAT ", will be in %" GST_TIME_FORMAT, + GST_TIME_ARGS (desired_position), GST_TIME_ARGS (SEEK_MIN_DELAY - diff)); + } else { + /* Perform the seek now */ + GST_DEBUG ("Seeking to %" GST_TIME_FORMAT, GST_TIME_ARGS (desired_position)); + data->last_seek_time = gst_util_get_timestamp (); + gst_element_seek_simple (data->pipeline, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, desired_position); + data->desired_position = GST_CLOCK_TIME_NONE; + } +} +``` + +The time at which the last seek was performed is stored in the +`last_seek_time` variable. This is wall clock time, not to be confused +with the stream time carried in the media time stamps, and is obtained +with `gst_util_get_timestamp()`. + +If enough time has passed since the last seek operation, the new one is +directly executed and `last_seek_time` is updated. Otherwise, the new +seek is scheduled for later. If there is no previously scheduled seek, a +one-shot timer is setup to trigger 500ms after the last seek operation. +If another seek was already scheduled, its desired position is simply +updated with the new one. + +The one-shot timer calls `delayed_seek_cb()`, which simply calls +`execute_seek()` again. + + + + + + + + +

Ideally, execute_seek() will now find that enough time has indeed passed since the last seek and the scheduled one will proceed. It might happen, though, that after 500ms of the previous seek, and before the timer wakes up, yet another seek comes through and is executed. delayed_seek_cb() needs to check for this condition to avoid performing two very close seeks, and therefore calls execute_seek() instead of performing it itself.

+

This is not a complete solution: the scheduled seek will still be executed, even though a more-recent seek has already been executed that should have cancelled it. However, it is a good tradeoff between functionality and simplicity.

+ +### Network resilience + +[Basic tutorial 12: +Streaming](Basic%2Btutorial%2B12%253A%2BStreaming.html) has already +shown how to adapt to the variable nature of the network bandwidth by +using buffering. The same procedure is used here, by listening to the +buffering +messages: + +``` first-line: 372; theme: Default; brush: cpp; gutter: true +g_signal_connect (G_OBJECT (bus), "message::buffering", (GCallback)buffering_cb, data); +``` + +And pausing the pipeline until buffering is complete (unless this is a +live +source): + +``` first-line: 224; theme: Default; brush: cpp; gutter: true +static void buffering_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + gint percent; + + if (data->is_live) + return; + + gst_message_parse_buffering (msg, &percent); + if (percent < 100 && data->target_state >= GST_STATE_PAUSED) { + gchar * message_string = g_strdup_printf ("Buffering %d%%", percent); + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); + set_ui_message (message_string, data); + g_free (message_string); + } else if (data->target_state >= GST_STATE_PLAYING) { + gst_element_set_state (data->pipeline, GST_STATE_PLAYING); + } else if (data->target_state >= GST_STATE_PAUSED) { + set_ui_message ("Buffering complete", data); + } +} +``` + +`target_state` is the state in which we have been instructed to set the +pipeline, which might be different to the current state, because +buffering forces us to go to PAUSED. Once buffering is complete we set +the pipeline to the `target_state`. + +# A basic media player \[Android.mk\] + +The only line worth mentioning in the makefile +is `GSTREAMER_PLUGINS`: + +**jni/Android.mk** + +``` first-line: 19; theme: Default; brush: plain; gutter: true +GSTREAMER_PLUGINS := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_PLAYBACK) $(GSTREAMER_PLUGINS_CODECS) $(GSTREAMER_PLUGINS_NET) $(GSTREAMER_PLUGINS_SYS) +``` + +In which all plugins required for playback are loaded, because it is not +known at build time what would be needed for an unspecified URI (again, +in this tutorial the URI does not change, but it will in the next one). + +# Conclusion + +This tutorial has shown how to embed a `playbin2` pipeline into an +Android application. This, effectively, turns such application into a +basic media player, capable of streaming and decoding all the formats +GStreamer understands. More particularly, it has shown: + + - How to keep the User Interface regularly updated by using a timer, + querying the pipeline position and calling a UI code method. + - How to implement a Seek Bar which follows the current position and + transforms thumb motion into reliable seek events. + - How to report the media size to adapt the display surface, by + reading the sink Caps at the appropriate moment and telling the UI + about it. + +The next tutorial adds the missing bits to turn the application built +here into an acceptable Android media player. + +As usual, it has been a pleasure having you here, and see you soon\! + +## Attachments: + +![](images/icons/bullet_blue.gif) +[tutorial4-screenshot.png](attachments/2687067/2654419.png) +(image/png) + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Android+tutorial+5%3A+A+Complete+media+player.markdown b/Android+tutorial+5%3A+A+Complete+media+player.markdown new file mode 100644 index 0000000000..8f8a83a636 --- /dev/null +++ b/Android+tutorial+5%3A+A+Complete+media+player.markdown @@ -0,0 +1,114 @@ +# GStreamer SDK documentation : Android tutorial 5: A Complete media player + +This page last changed on Nov 28, 2012 by xartigas. + +# Goal![](attachments/thumbnails/2687069/2654436) + +This tutorial wants to be the “demo application” that showcases what can +be done with GStreamer in the Android platform. + +It is intended to be downloaded in final, compiled, form rather than +analyzed for its pedagogical value, since it adds very little GStreamer +knowledge over what has already been shown in [Android tutorial 4: A +basic media +player](Android%2Btutorial%2B4%253A%2BA%2Bbasic%2Bmedia%2Bplayer.html). + + + + + + + + + + + + +
Tutorial 5
GStreamer SDK 2013.6 (Congo) for Android ARM (Tutorial 5 Installable APK) - mirror - md5 - sha1
+ +# Introduction + +The previous tutorial already implemented a basic media player. This one +simply adds a few finishing touches. In particular, it adds the +capability to choose the media to play, and disables the screensaver +during media playback. + +These are not features directly related to GStreamer, and are therefore +outside the scope of these tutorials. Only a few implementation pointers +are given here. + +# Registering as a media player + +The `AndroidManifest.xml` tells the Android system the capabilities of +the application. By specifying in the `intent-filter` of the activity +that it understands the `audio/*`, `video/*` and `image/*` MIME types, +the tutorial will be offered as an option whenever an application +requires such medias to be viewed. + +“Unfortunately”, GStreamer knows more file formats than Android does, +so, for some files, Android will not provide a MIME type. For these +cases, a new `intent-filter` has to be provided which ignores MIME types +and focuses only in the filename extension. This is inconvenient because +the list of extensions can be large, but there does not seem to be +another option. In this tutorial, only a very short list of extensions +is provided, for simplicity. + +Finally, GStreamer can also playback remote files, so URI schemes like +`http` are supported in another `intent-filter`. Android does not +provide MIME types for remote files, so the filename extension list has +to be provided again. + +Once we have informed the system of our capabilities, it will start +sending +[Intents](http://developer.android.com/reference/android/content/Intent.html) +to invoke our activity, which will contain the desired URI to play. In +the `onCreate()` method the intent that invoked the activity is +retrieved and checked for such URI. + +# Implementing a file chooser dialog + +The UI includes a new button ![](attachments/2687069/2654437.png) which +was not present in [Android tutorial 4: A basic media +player](Android%2Btutorial%2B4%253A%2BA%2Bbasic%2Bmedia%2Bplayer.html). It +invokes a file chooser dialog (based on the [Android File +Dialog](http://code.google.com/p/android-file-dialog/) project) that +allows you to choose a local media file, no matter what extension or +MIME type it has. + +If a new media is selected, it is passed onto the native code (which +will set the pipeline to READY, pass the URI onto `playbin2`, and bring +the pipeline back to the previous state). The current position is also +reset, so the new clip does not start in the previous position. + +# Preventing the screen from turning off + +While watching a movie, there is typically no user activity. After a +short period of such inactivity, Android will dim the screen, and then +turn it off completely. To prevent this, a [Wake +Lock](http://developer.android.com/reference/android/os/PowerManager.WakeLock.html) +is used. The application acquires the lock when the Play button is +pressed, so the screen is never turned off, and releases it when the +Pause button is pressed. + +# Conclusion + +This finishes the series of Android tutorials. Each one of the preceding +tutorials has evolved on top of the previous one, showing how to +implement a particular set of features, and concluding in this tutorial +5. The goal of tutorial 5 is to build a complete media player which can +already be used to showcase the integration of GStreamer and Android. + +It has been a pleasure having you here, and see you soon\! + +## Attachments: + +![](images/icons/bullet_blue.gif) +[tutorial5-screenshot.png](attachments/2687069/2654436.png) +(image/png) +![](images/icons/bullet_blue.gif) +[ic\_media\_next.png](attachments/2687069/2654438.png) (image/png) +![](images/icons/bullet_blue.gif) +[ic\_media\_next.png](attachments/2687069/2654437.png) (image/png) + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Android+tutorials.markdown b/Android+tutorials.markdown new file mode 100644 index 0000000000..38e771d09b --- /dev/null +++ b/Android+tutorials.markdown @@ -0,0 +1,38 @@ +# GStreamer SDK documentation : Android tutorials + +This page last changed on May 02, 2013 by xartigas. + +# Welcome to the GStreamer SDK Android tutorials + +These tutorials describe Android-specific topics. General GStreamer +concepts will not be explained in these tutorials, so the [Basic +tutorials](Basic%2Btutorials.html) should be reviewed first. The reader +should also be familiar with basic Android programming techniques. + +Each Android tutorial builds on top of the previous one and adds +progressively more functionality, until a working media player +application is obtained in [Android tutorial 5: A Complete media +player](Android%2Btutorial%2B5%253A%2BA%2BComplete%2Bmedia%2Bplayer.html). +This is the same media player application used to advertise the +GStreamer SDK on Android, and the download link can be found in +the [Android tutorial 5: A Complete media +player](Android%2Btutorial%2B5%253A%2BA%2BComplete%2Bmedia%2Bplayer.html) page. + +Make sure to have read the instructions in [Installing for Android +development](Installing%2Bfor%2BAndroid%2Bdevelopment.html) before +jumping into the Android tutorials. + +### A note on the documentation + +All Java methods, both Android-specific and generic, are documented in +the [Android reference +site](http://developer.android.com/reference/packages.html). + +Unfortunately, there is no official online documentation for the NDK. +The header files, though, are well commented. If you installed the +Android NDK in the `$(ANDROID_NDK_ROOT)` folder, you can find the header +files +in `$(ANDROID_NDK_ROOT)\platforms\android-9\arch-arm\usr\include\android`. + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Basic+Media+Player.markdown b/Basic+Media+Player.markdown new file mode 100644 index 0000000000..be4b878825 --- /dev/null +++ b/Basic+Media+Player.markdown @@ -0,0 +1,877 @@ +# GStreamer SDK documentation : Basic Media Player + +This page last changed on May 24, 2013 by xartigas. + +# Goal + +This tutorial shows how to create a basic media player with +[Qt](http://qt-project.org/) and +[QtGStreamer](http://gstreamer.freedesktop.org/data/doc/gstreamer/head/qt-gstreamer/html/index.html). +It assumes that you are already familiar with the basics of Qt and +GStreamer. If not, please refer to the other tutorials in this +documentation. + +In particular, you will learn: + + - How to create a basic pipeline + - How to create a video output + - Updating the GUI based on playback time + +# A media player with Qt + +These files are located in the qt-gstreamer SDK's `examples/` directory. + +Due to the length of these samples, they are initially hidden. Click on +each file to expand. + +![](images/icons/grey_arrow_down.gif)CMakeLists.txt + +**CMakeLists.txt** + +``` theme: Default; brush: plain; gutter: true +project(qtgst-example-player) +find_package(QtGStreamer REQUIRED) +# automoc is now a built-in tool since CMake 2.8.6. +if (${CMAKE_VERSION} VERSION_LESS "2.8.6") + find_package(Automoc4 REQUIRED) +else() + set(CMAKE_AUTOMOC TRUE) + macro(automoc4_add_executable) + add_executable(${ARGV}) + endmacro() +endif() +include_directories(${QTGSTREAMER_INCLUDES} ${CMAKE_CURRENT_BINARY_DIR} ${QT_QTWIDGETS_INCLUDE_DIRS}) +add_definitions(${QTGSTREAMER_DEFINITIONS}) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${QTGSTREAMER_FLAGS}") +set(player_SOURCES main.cpp player.cpp mediaapp.cpp) +automoc4_add_executable(player ${player_SOURCES}) +target_link_libraries(player ${QTGSTREAMER_UI_LIBRARIES} ${QT_QTOPENGL_LIBRARIES} ${QT_QTWIDGETS_LIBRARIES}) +``` + +![](images/icons/grey_arrow_down.gif)main.cpp + +**main.cpp** + +``` theme: Default; brush: cpp; gutter: true +#include "mediaapp.h" +#include +#include +int main(int argc, char *argv[]) +{ + QApplication app(argc, argv); + QGst::init(&argc, &argv); + MediaApp media; + media.show(); + if (argc == 2) { + media.openFile(argv[1]); + } + return app.exec(); +} +``` + +![](images/icons/grey_arrow_down.gif)mediaapp.h + +**mediaapp.h** + +``` theme: Default; brush: cpp; gutter: true +#ifndef MEDIAAPP_H +#define MEDIAAPP_H +#include +#include +#include +class Player; +class QBoxLayout; +class QLabel; +class QSlider; +class QToolButton; +class QTimer; +class MediaApp : public QWidget +{ + Q_OBJECT +public: + MediaApp(QWidget *parent = 0); + ~MediaApp(); + void openFile(const QString & fileName); +private Q_SLOTS: + void open(); + void toggleFullScreen(); + void onStateChanged(); + void onPositionChanged(); + void setPosition(int position); + void showControls(bool show = true); + void hideControls() { showControls(false); } +protected: + void mouseMoveEvent(QMouseEvent *event); +private: + QToolButton *initButton(QStyle::StandardPixmap icon, const QString & tip, + QObject *dstobj, const char *slot_method, QLayout *layout); + void createUI(QBoxLayout *appLayout); + QString m_baseDir; + Player *m_player; + QToolButton *m_openButton; + QToolButton *m_fullScreenButton; + QToolButton *m_playButton; + QToolButton *m_pauseButton; + QToolButton *m_stopButton; + QSlider *m_positionSlider; + QSlider *m_volumeSlider; + QLabel *m_positionLabel; + QLabel *m_volumeLabel; + QTimer m_fullScreenTimer; +}; +#endif +``` + +![](images/icons/grey_arrow_down.gif)mediaapp.cpp + +**mediaapp.cpp** + +``` theme: Default; brush: cpp; gutter: true +#include "mediaapp.h" +#include "player.h" +#if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) +#include +#include +#include +#include +#include +#else +#include +#include +#include +#include +#include +#include +#endif +MediaApp::MediaApp(QWidget *parent) + : QWidget(parent) +{ + //create the player + m_player = new Player(this); + connect(m_player, SIGNAL(positionChanged()), this, SLOT(onPositionChanged())); + connect(m_player, SIGNAL(stateChanged()), this, SLOT(onStateChanged())); + //m_baseDir is used to remember the last directory that was used. + //defaults to the current working directory + m_baseDir = QLatin1String("."); + //this timer (re-)hides the controls after a few seconds when we are in fullscreen mode + m_fullScreenTimer.setSingleShot(true); + connect(&m_fullScreenTimer, SIGNAL(timeout()), this, SLOT(hideControls())); + //create the UI + QVBoxLayout *appLayout = new QVBoxLayout; + appLayout->setContentsMargins(0, 0, 0, 0); + createUI(appLayout); + setLayout(appLayout); + onStateChanged(); //set the controls to their default state + setWindowTitle(tr("QtGStreamer example player")); + resize(400, 400); +} +MediaApp::~MediaApp() +{ + delete m_player; +} +void MediaApp::openFile(const QString & fileName) +{ + m_baseDir = QFileInfo(fileName).path(); + m_player->stop(); + m_player->setUri(fileName); + m_player->play(); +} +void MediaApp::open() +{ + QString fileName = QFileDialog::getOpenFileName(this, tr("Open a Movie"), m_baseDir); + if (!fileName.isEmpty()) { + openFile(fileName); + } +} +void MediaApp::toggleFullScreen() +{ + if (isFullScreen()) { + setMouseTracking(false); + m_player->setMouseTracking(false); + m_fullScreenTimer.stop(); + showControls(); + showNormal(); + } else { + setMouseTracking(true); + m_player->setMouseTracking(true); + hideControls(); + showFullScreen(); + } +} +void MediaApp::onStateChanged() +{ + QGst::State newState = m_player->state(); + m_playButton->setEnabled(newState != QGst::StatePlaying); + m_pauseButton->setEnabled(newState == QGst::StatePlaying); + m_stopButton->setEnabled(newState != QGst::StateNull); + m_positionSlider->setEnabled(newState != QGst::StateNull); + m_volumeSlider->setEnabled(newState != QGst::StateNull); + m_volumeLabel->setEnabled(newState != QGst::StateNull); + m_volumeSlider->setValue(m_player->volume()); + //if we are in Null state, call onPositionChanged() to restore + //the position of the slider and the text on the label + if (newState == QGst::StateNull) { + onPositionChanged(); + } +} +/* Called when the positionChanged() is received from the player */ +void MediaApp::onPositionChanged() +{ + QTime length(0,0); + QTime curpos(0,0); + if (m_player->state() != QGst::StateReady && + m_player->state() != QGst::StateNull) + { + length = m_player->length(); + curpos = m_player->position(); + } + m_positionLabel->setText(curpos.toString("hh:mm:ss.zzz") + + "/" + + length.toString("hh:mm:ss.zzz")); + if (length != QTime(0,0)) { + m_positionSlider->setValue(curpos.msecsTo(QTime(0,0)) * 1000 / length.msecsTo(QTime(0,0))); + } else { + m_positionSlider->setValue(0); + } + if (curpos != QTime(0,0)) { + m_positionLabel->setEnabled(true); + m_positionSlider->setEnabled(true); + } +} +/* Called when the user changes the slider's position */ +void MediaApp::setPosition(int value) +{ + uint length = -m_player->length().msecsTo(QTime(0,0)); + if (length != 0 && value > 0) { + QTime pos(0,0); + pos = pos.addMSecs(length * (value / 1000.0)); + m_player->setPosition(pos); + } +} +void MediaApp::showControls(bool show) +{ + m_openButton->setVisible(show); + m_playButton->setVisible(show); + m_pauseButton->setVisible(show); + m_stopButton->setVisible(show); + m_fullScreenButton->setVisible(show); + m_positionSlider->setVisible(show); + m_volumeSlider->setVisible(show); + m_volumeLabel->setVisible(show); + m_positionLabel->setVisible(show); +} +void MediaApp::mouseMoveEvent(QMouseEvent *event) +{ + Q_UNUSED(event); + if (isFullScreen()) { + showControls(); + m_fullScreenTimer.start(3000); //re-hide controls after 3s + } +} +QToolButton *MediaApp::initButton(QStyle::StandardPixmap icon, const QString & tip, + QObject *dstobj, const char *slot_method, QLayout *layout) +{ + QToolButton *button = new QToolButton; + button->setIcon(style()->standardIcon(icon)); + button->setIconSize(QSize(36, 36)); + button->setToolTip(tip); + connect(button, SIGNAL(clicked()), dstobj, slot_method); + layout->addWidget(button); + return button; +} +void MediaApp::createUI(QBoxLayout *appLayout) +{ + appLayout->addWidget(m_player); + m_positionLabel = new QLabel(); + m_positionSlider = new QSlider(Qt::Horizontal); + m_positionSlider->setTickPosition(QSlider::TicksBelow); + m_positionSlider->setTickInterval(10); + m_positionSlider->setMaximum(1000); + connect(m_positionSlider, SIGNAL(sliderMoved(int)), this, SLOT(setPosition(int))); + m_volumeSlider = new QSlider(Qt::Horizontal); + m_volumeSlider->setTickPosition(QSlider::TicksLeft); + m_volumeSlider->setTickInterval(2); + m_volumeSlider->setMaximum(10); + m_volumeSlider->setMaximumSize(64,32); + connect(m_volumeSlider, SIGNAL(sliderMoved(int)), m_player, SLOT(setVolume(int))); + QGridLayout *posLayout = new QGridLayout; + posLayout->addWidget(m_positionLabel, 1, 0); + posLayout->addWidget(m_positionSlider, 1, 1, 1, 2); + appLayout->addLayout(posLayout); + QHBoxLayout *btnLayout = new QHBoxLayout; + btnLayout->addStretch(); + m_openButton = initButton(QStyle::SP_DialogOpenButton, tr("Open File"), + this, SLOT(open()), btnLayout); + m_playButton = initButton(QStyle::SP_MediaPlay, tr("Play"), + m_player, SLOT(play()), btnLayout); + m_pauseButton = initButton(QStyle::SP_MediaPause, tr("Pause"), + m_player, SLOT(pause()), btnLayout); + m_stopButton = initButton(QStyle::SP_MediaStop, tr("Stop"), + m_player, SLOT(stop()), btnLayout); + m_fullScreenButton = initButton(QStyle::SP_TitleBarMaxButton, tr("Fullscreen"), + this, SLOT(toggleFullScreen()), btnLayout); + btnLayout->addStretch(); + m_volumeLabel = new QLabel(); + m_volumeLabel->setPixmap( + style()->standardIcon(QStyle::SP_MediaVolume).pixmap(QSize(32, 32), + QIcon::Normal, QIcon::On)); + btnLayout->addWidget(m_volumeLabel); + btnLayout->addWidget(m_volumeSlider); + appLayout->addLayout(btnLayout); +} +#include "moc_mediaapp.cpp" +``` + +![](images/icons/grey_arrow_down.gif)player.h + +**player.h** + +``` theme: Default; brush: cpp; gutter: true +#ifndef PLAYER_H +#define PLAYER_H +#include +#include +#include +#include +  +class Player : public QGst::Ui::VideoWidget +{ + Q_OBJECT +public: + Player(QWidget *parent = 0); + ~Player(); +  + void setUri(const QString &uri); +  + QTime position() const; + void setPosition(const QTime &pos); + int volume() const; + QTime length() const; + QGst::State state() const; +  +public Q_SLOTS: + void play(); + void pause(); + void stop(); + void setVolume(int volume); +  +Q_SIGNALS: + void positionChanged(); + void stateChanged(); +  +private: + void onBusMessage(const QGst::MessagePtr &message); + void handlePipelineStateChange(const QGst::StateChangedMessagePtr &scm); +  + QGst::PipelinePtr m_pipeline; + QTimer m_positionTimer; +}; +  +#endif //PLAYER_H +``` + +![](images/icons/grey_arrow_down.gif)player.cpp + +**player.cpp** + +``` theme: Default; brush: cpp; gutter: true +#include "player.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +Player::Player(QWidget *parent) + : QGst::Ui::VideoWidget(parent) +{ + //this timer is used to tell the ui to change its position slider & label + //every 100 ms, but only when the pipeline is playing + connect(&m_positionTimer, SIGNAL(timeout()), this, SIGNAL(positionChanged())); +} +Player::~Player() +{ + if (m_pipeline) { + m_pipeline->setState(QGst::StateNull); + stopPipelineWatch(); + } +} +void Player::setUri(const QString & uri) +{ + QString realUri = uri; + //if uri is not a real uri, assume it is a file path + if (realUri.indexOf("://") < 0) { + realUri = QUrl::fromLocalFile(realUri).toEncoded(); + } + if (!m_pipeline) { + m_pipeline = QGst::ElementFactory::make("playbin2").dynamicCast(); + if (m_pipeline) { + //let the video widget watch the pipeline for new video sinks + watchPipeline(m_pipeline); + //watch the bus for messages + QGst::BusPtr bus = m_pipeline->bus(); + bus->addSignalWatch(); + QGlib::connect(bus, "message", this, &Player::onBusMessage); + } else { + qCritical() << "Failed to create the pipeline"; + } + } + if (m_pipeline) { + m_pipeline->setProperty("uri", realUri); + } +} +QTime Player::position() const +{ + if (m_pipeline) { + //here we query the pipeline about its position + //and we request that the result is returned in time format + QGst::PositionQueryPtr query = QGst::PositionQuery::create(QGst::FormatTime); + m_pipeline->query(query); + return QGst::ClockTime(query->position()).toTime(); + } else { + return QTime(0,0); + } +} +void Player::setPosition(const QTime & pos) +{ + QGst::SeekEventPtr evt = QGst::SeekEvent::create( + 1.0, QGst::FormatTime, QGst::SeekFlagFlush, + QGst::SeekTypeSet, QGst::ClockTime::fromTime(pos), + QGst::SeekTypeNone, QGst::ClockTime::None + ); + m_pipeline->sendEvent(evt); +} +int Player::volume() const +{ + if (m_pipeline) { + QGst::StreamVolumePtr svp = + m_pipeline.dynamicCast(); + if (svp) { + return svp->volume(QGst::StreamVolumeFormatCubic) * 10; + } + } + return 0; +} + +void Player::setVolume(int volume) +{ + if (m_pipeline) { + QGst::StreamVolumePtr svp = + m_pipeline.dynamicCast(); + if(svp) { + svp->setVolume((double)volume / 10, QGst::StreamVolumeFormatCubic); + } + } +} +QTime Player::length() const +{ + if (m_pipeline) { + //here we query the pipeline about the content's duration + //and we request that the result is returned in time format + QGst::DurationQueryPtr query = QGst::DurationQuery::create(QGst::FormatTime); + m_pipeline->query(query); + return QGst::ClockTime(query->duration()).toTime(); + } else { + return QTime(0,0); + } +} +QGst::State Player::state() const +{ + return m_pipeline ? m_pipeline->currentState() : QGst::StateNull; +} +void Player::play() +{ + if (m_pipeline) { + m_pipeline->setState(QGst::StatePlaying); + } +} +void Player::pause() +{ + if (m_pipeline) { + m_pipeline->setState(QGst::StatePaused); + } +} +void Player::stop() +{ + if (m_pipeline) { + m_pipeline->setState(QGst::StateNull); + //once the pipeline stops, the bus is flushed so we will + //not receive any StateChangedMessage about this. + //so, to inform the ui, we have to emit this signal manually. + Q_EMIT stateChanged(); + } +} +void Player::onBusMessage(const QGst::MessagePtr & message) +{ + switch (message->type()) { + case QGst::MessageEos: //End of stream. We reached the end of the file. + stop(); + break; + case QGst::MessageError: //Some error occurred. + qCritical() << message.staticCast()->error(); + stop(); + break; + case QGst::MessageStateChanged: //The element in message->source() has changed state + if (message->source() == m_pipeline) { + handlePipelineStateChange(message.staticCast()); + } + break; + default: + break; + } +} +void Player::handlePipelineStateChange(const QGst::StateChangedMessagePtr & scm) +{ + switch (scm->newState()) { + case QGst::StatePlaying: + //start the timer when the pipeline starts playing + m_positionTimer.start(100); + break; + case QGst::StatePaused: + //stop the timer when the pipeline pauses + if(scm->oldState() == QGst::StatePlaying) { + m_positionTimer.stop(); + } + break; + default: + break; + } + Q_EMIT stateChanged(); +} +#include "moc_player.cpp" +``` + +# Walkthrough + +## Setting up GStreamer + +We begin by looking at `main()`: + +**main.cpp** + +``` first-line: 4; theme: Default; brush: cpp; gutter: true +int main(int argc, char *argv[]) +{ + QApplication app(argc, argv); + QGst::init(&argc, &argv); + MediaApp media; + media.show(); + if (argc == 2) { + media.openFile(argv[1]); + } + return app.exec(); +} +``` + +We first initialize QtGStreamer by calling `QGst::init()`, passing +`argc` and `argv`. Internally, this ensures that the GLib type system +and GStreamer plugin registry is configured and initialized, along with +handling helpful environment variables such as `GST_DEBUG` and common +command line options. Please see the [Running GStreamer +Applications](http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gst-running.html) +section of the core reference manual for details. + +Construction of the `MediaApp` (derived from +[`QApplication`](http://qt-project.org/doc/qt-5.0/qtwidgets/qapplication.html)) +involves constructing the `Player` object and connecting its signals to +the UI: + +**MediaApp::MediaApp()** + +``` first-line: 20; theme: Default; brush: cpp; gutter: true + //create the player + m_player = new Player(this); + connect(m_player, SIGNAL(positionChanged()), this, SLOT(onPositionChanged())); + connect(m_player, SIGNAL(stateChanged()), this, SLOT(onStateChanged())); +``` + +Next, we instruct the `MediaApp` to open the file given on the command +line, if any: + +**MediaApp::openFile()** + +``` first-line: 43; theme: Default; brush: cpp; gutter: true +void MediaApp::openFile(const QString & fileName) +{ + m_baseDir = QFileInfo(fileName).path(); + m_player->stop(); + m_player->setUri(fileName); + m_player->play(); +} +``` + +This in turn instructs the `Player` to construct our GStreamer pipeline: + +**Player::setUri()** + +``` theme: Default; brush: cpp; gutter: true +void Player::setUri(const QString & uri) +{ + QString realUri = uri; + //if uri is not a real uri, assume it is a file path + if (realUri.indexOf("://") < 0) { + realUri = QUrl::fromLocalFile(realUri).toEncoded(); + } + if (!m_pipeline) { + m_pipeline = QGst::ElementFactory::make("playbin2").dynamicCast(); + if (m_pipeline) { + //let the video widget watch the pipeline for new video sinks + watchPipeline(m_pipeline); + //watch the bus for messages + QGst::BusPtr bus = m_pipeline->bus(); + bus->addSignalWatch(); + QGlib::connect(bus, "message", this, &Player::onBusMessage); + } else { + qCritical() << "Failed to create the pipeline"; + } + } + if (m_pipeline) { + m_pipeline->setProperty("uri", realUri); + } +} +``` + +Here, we first ensure that the pipeline will receive a proper URI. If +`Player::setUri()` is called with `/home/user/some/file.mp3`, the path +is modified to `file:///home/user/some/file.mp3`. `playbin2` only +accepts complete URIs. + +The pipeline is created via `QGst::ElementFactory::make()`. The +`Player` object inherits from the `QGst::Ui::VideoWidget` class, which +includes a function to watch for the `prepare-xwindow-id` message, which +associates the underlying video sink with a Qt widget used for +rendering. For clarity, here is a portion of the implementation: + +**prepare-xwindow-id handling** + +``` theme: Default; brush: cpp; gutter: true + QGlib::connect(pipeline->bus(), "sync-message", + this, &PipelineWatch::onBusSyncMessage); +... +void PipelineWatch::onBusSyncMessage(const MessagePtr & msg) +{   +... + if (msg->internalStructure()->name() == QLatin1String("prepare-xwindow-id")) { + XOverlayPtr overlay = msg->source().dynamicCast(); + m_renderer->setVideoSink(overlay); + } +``` + +Once the pipeline is created, we connect to the bus' message signal (via +`QGlib::connect()`) to dispatch state change signals: + +``` theme: Default; brush: cpp; gutter: true +void Player::onBusMessage(const QGst::MessagePtr & message) +{ + switch (message->type()) { + case QGst::MessageEos: //End of stream. We reached the end of the file. + stop(); + break; + case QGst::MessageError: //Some error occurred. + qCritical() << message.staticCast()->error(); + stop(); + break; + case QGst::MessageStateChanged: //The element in message->source() has changed state + if (message->source() == m_pipeline) { + handlePipelineStateChange(message.staticCast()); + } + break; + default: + break; + } +} +void Player::handlePipelineStateChange(const QGst::StateChangedMessagePtr & scm) +{ + switch (scm->newState()) { + case QGst::StatePlaying: + //start the timer when the pipeline starts playing + m_positionTimer.start(100); + break; + case QGst::StatePaused: + //stop the timer when the pipeline pauses + if(scm->oldState() == QGst::StatePlaying) { + m_positionTimer.stop(); + } + break; + default: + break; + } + Q_EMIT stateChanged(); +} +``` + +Finally, we tell `playbin2` what to play by setting the `uri` property: + +``` theme: Default; brush: cpp; gutter: false +m_pipeline->setProperty("uri", realUri); +``` + +## Starting Playback + +After `Player::setUri()` is called, `MediaApp::openFile()` calls +`play()` on the `Player` object: + +**Player::play()** + +``` theme: Default; brush: cpp; gutter: true +void Player::play() +{ + if (m_pipeline) { + m_pipeline->setState(QGst::StatePlaying); + } +} +``` + +The other state control methods are equally simple: + +**Player state functions** + +``` theme: Default; brush: cpp; gutter: true +void Player::pause() +{ + if (m_pipeline) { + m_pipeline->setState(QGst::StatePaused); + } +} +void Player::stop() +{ + if (m_pipeline) { + m_pipeline->setState(QGst::StateNull); + //once the pipeline stops, the bus is flushed so we will + //not receive any StateChangedMessage about this. + //so, to inform the ui, we have to emit this signal manually. + Q_EMIT stateChanged(); + } +} +``` + +Once the pipeline has entered the playing state, a state change message +is emitted on the GStreamer bus which gets picked up by the `Player`: + +**Player::onBusMessage()** + +``` theme: Default; brush: cpp; gutter: true +void Player::onBusMessage(const QGst::MessagePtr & message) +{ + switch (message->type()) { + case QGst::MessageEos: //End of stream. We reached the end of the file. + stop(); + break; + case QGst::MessageError: //Some error occurred. + qCritical() << message.staticCast()->error(); + stop(); + break; + case QGst::MessageStateChanged: //The element in message->source() has changed state + if (message->source() == m_pipeline) { + handlePipelineStateChange(message.staticCast()); + } + break; + default: + break; + } +} +``` + +The `stateChanged` signal we connected to earlier is emitted and +handled: + +**MediaApp::onStateChanged()** + +``` theme: Default; brush: cpp; gutter: true +void MediaApp::onStateChanged() +{ + QGst::State newState = m_player->state(); + m_playButton->setEnabled(newState != QGst::StatePlaying); + m_pauseButton->setEnabled(newState == QGst::StatePlaying); + m_stopButton->setEnabled(newState != QGst::StateNull); + m_positionSlider->setEnabled(newState != QGst::StateNull); + m_volumeSlider->setEnabled(newState != QGst::StateNull); + m_volumeLabel->setEnabled(newState != QGst::StateNull); + m_volumeSlider->setValue(m_player->volume()); + //if we are in Null state, call onPositionChanged() to restore + //the position of the slider and the text on the label + if (newState == QGst::StateNull) { + onPositionChanged(); + } +} +``` + +This updates the UI to reflect the current state of the player's +pipeline. + +Driven by a +[`QTimer`](http://qt-project.org/doc/qt-5.0/qtcore/qtimer.html), the +`Player` emits the `positionChanged` signal at regular intervals for the +UI to handle: + +**MediaApp::onPositionChanged()** + +``` theme: Default; brush: cpp; gutter: true +void MediaApp::onPositionChanged() +{ + QTime length(0,0); + QTime curpos(0,0); + if (m_player->state() != QGst::StateReady && + m_player->state() != QGst::StateNull) + { + length = m_player->length(); + curpos = m_player->position(); + } + m_positionLabel->setText(curpos.toString("hh:mm:ss.zzz") + + "/" + + length.toString("hh:mm:ss.zzz")); + if (length != QTime(0,0)) { + m_positionSlider->setValue(curpos.msecsTo(QTime(0,0)) * 1000 / length.msecsTo(QTime(0,0))); + } else { + m_positionSlider->setValue(0); + } + if (curpos != QTime(0,0)) { + m_positionLabel->setEnabled(true); + m_positionSlider->setEnabled(true); + } +} +``` + +The `MediaApp` queries the pipeline via the `Player`'s +`position()` method, which submits a position query. This is analogous +to `gst_element_query_position()`: + +**Player::position()** + +``` theme: Default; brush: cpp; gutter: true +QTime Player::position() const +{ + if (m_pipeline) { + //here we query the pipeline about its position + //and we request that the result is returned in time format + QGst::PositionQueryPtr query = QGst::PositionQuery::create(QGst::FormatTime); + m_pipeline->query(query); + return QGst::ClockTime(query->position()).toTime(); + } else { + return QTime(0,0); + } +} +``` + +Due to the way Qt handles signals that cross threads, there is no need +to worry about calling UI functions from outside the UI thread in this +example. + +# Conclusion + +This tutorial has shown: + + - How to create a basic pipeline + - How to create a video output + - Updating the GUI based on playback time + +It has been a pleasure having you here, and see you soon\! + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Basic+tutorial+1%3A+Hello+world%21.markdown b/Basic+tutorial+1%3A+Hello+world%21.markdown new file mode 100644 index 0000000000..bbe613b356 --- /dev/null +++ b/Basic+tutorial+1%3A+Hello+world%21.markdown @@ -0,0 +1,258 @@ +# GStreamer SDK documentation : Basic tutorial 1: Hello world\! + +This page last changed on Jun 29, 2012 by xartigas. + +# Goal + +Nothing better to get a first impression about a software library than +to print “Hello World” on the screen\! + +But since we are dealing with multimedia frameworks, we are going to +play a video instead. + +Do not be scared by the amount of code below: there are only 4 lines +which do *real* work. The rest is cleanup code, and, in C, this is +always a bit verbose. + +Without further ado, get ready for your first GStreamer application... + +# Hello world + +Copy this code into a text file named `basic-tutorial-1.c` (or find it +in the SDK installation). + +**basic-tutorial-1.c** + +``` theme: Default; brush: cpp; gutter: true +#include + +int main(int argc, char *argv[]) { + GstElement *pipeline; + GstBus *bus; + GstMessage *msg; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Build the pipeline */ + pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + + /* Start playing */ + gst_element_set_state (pipeline, GST_STATE_PLAYING); + + /* Wait until error or EOS */ + bus = gst_element_get_bus (pipeline); + msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, GST_MESSAGE_ERROR | GST_MESSAGE_EOS); + + /* Free resources */ + if (msg != NULL) + gst_message_unref (msg); + gst_object_unref (bus); + gst_element_set_state (pipeline, GST_STATE_NULL); + gst_object_unref (pipeline); + return 0; +} +``` + +Compile it as described in [Installing on +Linux](Installing%2Bon%2BLinux.html), [Installing on Mac OS +X](Installing%2Bon%2BMac%2BOS%2BX.html) or [Installing on +Windows](Installing%2Bon%2BWindows.html). If you get compilation errors, +double-check the instructions given in those sections. + +If everything built fine, fire up the executable\! You should see a +window pop up, containing a video being played straight from the +Internet, along with audio. Congratulations\! + + + + + + + + +
+
+Need help? (Click to expand) +
+
+

If you need help to compile this code, refer to the Building the tutorials section for your platform: Linux, Mac OS X or Windows, or use this specific command on Linux:

+
+
+

gcc basic-tutorial-1.c -o basic-tutorial-1 `pkg-config --cflags --libs gstreamer-0.10`

+
+
+

If you need help to run this code, refer to the Running the tutorials section for your platform: Linux, Mac OS X or Windows

+

This tutorial opens a window and displays a movie, with accompanying audio. The media is fetched from the Internet, so the window might take a few seconds to appear, depending on your connection speed. Also, there is no latency management (buffering), so on slow connections, the movie might stop after a few seconds. See how Basic tutorial 12: Streaming solves this issue.

+

Required libraries: gstreamer-0.10

+
+
+ +# Walkthrough + +Let's review these lines of code and see what they do: + +``` first-line: 8; theme: Default; brush: cpp; gutter: true +/* Initialize GStreamer */ +gst_init (&argc, &argv); +``` + +This must always be your first GStreamer command. Among other things, +`gst_init()`: + + - Initializes all internal structures + + - Checks what plug-ins are available + + - Executes any command-line option intended for GStreamer + +If you always pass your command-line parameters `argc` and `argv` to +`gst_init()`, your application will automatically benefit from the +GStreamer standard command-line options (more on this in [Basic tutorial +10: GStreamer +tools](Basic%2Btutorial%2B10%253A%2BGStreamer%2Btools.html)) + +``` first-line: 11; theme: Default; brush: cpp; gutter: true +/* Build the pipeline */ +pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); +``` + +This line is the heart of this tutorial, and exemplifies **two** key +points: `gst_parse_launch()` and `playbin2`. + +#### gst\_parse\_launch + +GStreamer is a framework designed to handle multimedia flows. Media +travels from the “source” elements (the producers), down to the “sink” +elements (the consumers), passing through a series of intermediate +elements performing all kinds of tasks. The set of all the +interconnected elements is called a “pipeline”. + +In GStreamer you usually build the pipeline by manually assembling the +individual elements, but, when the pipeline is easy enough, and you do +not need any advanced features, you can take the shortcut: +`gst_parse_launch()`. + +This function takes a textual representation of a pipeline and turns it +into an actual pipeline, which is very handy. In fact, this function is +so handy there is a tool built completely around it which you will get +very acquainted with (see [Basic tutorial 10: GStreamer +tools](Basic%2Btutorial%2B10%253A%2BGStreamer%2Btools.html) to +learn about `gst-launch` and the `gst-launch` syntax). + +#### playbin2 + +So, what kind of pipeline are we asking `gst_parse_launch()`to build for +us? Here enters the second key point: We are building a pipeline +composed of a single element called `playbin2`. + +`playbin2` is a special element which acts as a source and as a sink, +and is capable of implementing a whole pipeline. Internally, it creates +and connects all the necessary elements to play your media, so you do +not have to worry about it. + +It does not allow the control granularity that a manual pipeline does, +but, still, it permits enough customization to suffice for a wide range +of applications. Including this tutorial. + +In this example, we are only passing one parameter to `playbin2`, which +is the URI of the media we want to play. Try changing it to something +else\! Whether it is an `http://` or `file://` URI, `playbin2` will +instantiate the appropriate GStreamer source transparently\! + +If you mistype the URI, or the file does not exist, or you are missing a +plug-in, GStreamer provides several notification mechanisms, but the +only thing we are doing in this example is exiting on error, so do not +expect much feedback. + +``` first-line: 14; theme: Default; brush: cpp; gutter: true +/* Start playing */ +gst_element_set_state (pipeline, GST_STATE_PLAYING); +``` + +This line highlights another interesting concept: the state. Every +GStreamer element has an associated state, which you can more or less +think of as the Play/Pause button in your regular DVD player. For now, +suffice to say that playback will not start unless you set the pipeline +to the PLAYING state. + +In this line, `gst_element_set_state()` is setting `pipeline` (our only +element, remember) to the PLAYING state, thus initiating playback. + +``` first-line: 17; theme: Default; brush: cpp; gutter: true +/* Wait until error or EOS */ +bus = gst_element_get_bus (pipeline); +gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, GST_MESSAGE_ERROR | GST_MESSAGE_EOS); +``` + +These lines will wait until an error occurs or the end of the stream is +found. `gst_element_get_bus()` retrieves the pipeline's bus, and +`gst_bus_timed_pop_filtered()` will block until you receive either an +ERROR or an EOS (End-Of-Stream) through that bus. Do not worry much +about this line, the GStreamer bus is explained in [Basic tutorial 2: +GStreamer +concepts](Basic%2Btutorial%2B2%253A%2BGStreamer%2Bconcepts.html). + +And that's it\! From this point onwards, GStreamer takes care of +everything. Execution will end when the media reaches its end (EOS) or +an error is encountered (try closing the video window, or unplugging the +network cable). The application can always be stopped by pressing +control-C in the console. + +#### Cleanup + +Before terminating the application, though, there is a couple of things +we need to do to tidy up correctly after ourselves. + +``` first-line: 21; theme: Default; brush: cpp; gutter: true +/* Free resources */ +if (msg != NULL) + gst_message_unref (msg); +gst_object_unref (bus); +gst_element_set_state (pipeline, GST_STATE_NULL); +gst_object_unref (pipeline); +``` + +Always read the documentation of the functions you use, to know if you +should free the objects they return after using them. + +In this case, `gst_bus_timed_pop_filtered()` returned a message which +needs to be freed with `gst_message_unref()` (more about messages in +[Basic tutorial 2: GStreamer +concepts](Basic%2Btutorial%2B2%253A%2BGStreamer%2Bconcepts.html)). + +`gst_element_get_bus()` added a reference to the bus that must be freed +with `gst_object_unref()`. Setting the pipeline to the NULL state will +make sure it frees any resources it has allocated (More about states in +[Basic tutorial 3: Dynamic +pipelines](Basic%2Btutorial%2B3%253A%2BDynamic%2Bpipelines.html)). +Finally, unreferencing the pipeline will destroy it, and all its +contents. + +# Conclusion + +And so ends your first tutorial with GStreamer. We hope its brevity +serves as an example of how powerful this framework is\! + +Let's recap a bit. Today we have learned: + + - How to initialize GStreamer using `gst_init()`. + + - How to quickly build a pipeline from a textual description using + `gst_parse_launch()`. + + - How to create an automatic playback pipeline using `playbin2`. + + - How to signal GStreamer to start playback using + `gst_element_set_state()`. + + - How to sit back and relax, while GStreamer takes care of everything, + using `gst_element_get_bus()` and `gst_bus_timed_pop_filtered()`. + +The next tutorial will keep introducing more basic GStreamer elements, +and show you how to build a pipeline manually. + +It has been a pleasure having you here, and see you soon\! + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Basic+tutorial+10%3A+GStreamer+tools.markdown b/Basic+tutorial+10%3A+GStreamer+tools.markdown new file mode 100644 index 0000000000..c35982713e --- /dev/null +++ b/Basic+tutorial+10%3A+GStreamer+tools.markdown @@ -0,0 +1,468 @@ +# GStreamer SDK documentation : Basic tutorial 10: GStreamer tools + +This page last changed on Jun 01, 2012 by xartigas. + +# Goal + +GStreamer (and the GStreamer SDK) come with a set of tools which range +from handy to absolutely essential. There is no code in this tutorial, +just sit back and relax, and we will teach you: + + - How to build and run GStreamer pipelines from the command line, + without using C at all\! + - How to find out what GStreamer elements you have available and their + capabilities. + - How to discover the internal structure of media files. + +# Introduction + +These tools are available in the bin directory of the SDK. You need to +move to this directory to execute them, because it is not added to the +system’s `PATH` environment variable (to avoid polluting it too much). + +Just open a terminal (or console window) and go to the `bin` directory +of your GStreamer SDK installation (Read again the [Installing the +SDK](Installing%2Bthe%2BSDK.html) section to find our where this is), +and you are ready to start typing the commands given in this tutorial. + + + + + + + + +

On Linux, though, you can use the provided /opt/gstreamer-sdk/bin/gst-sdk-shell script to enter the GStreamer SDK shell environment, in which the bin directory is in the path. In this environment, you can use the GStreamer tools from any folder.

+ +In order to allow for multiple versions of GStreamer to coexists in the +same system, these tools are versioned, this is, a GStreamer version +number is appended to their name. This version of the SDK is based on +GStreamer 0.10, so the tools are called `gst-launch-0.10`, +`gst-inspect-0.10` and `gst-discoverer-0.10` + +# `gst-launch` + +This tool accepts a textual description of a pipeline, instantiates it, +and sets it to the PLAYING state. It allows you to quickly check if a +given pipeline works, before going through the actual implementation +using GStreamer API calls. + +Bear in mind that it can only create simple pipelines. In particular, it +can only simulate the interaction of the pipeline with the application +up to a certain level. In any case, it is extremely handy to test +pipelines quickly, and is used by GStreamer developers around the world +on a daily basis. + +Please note that `gst-launch` is primarily a debugging tool for +developers. You should not build applications on top of it. Instead, use +the `gst_parse_launch()` function of the GStreamer API as an easy way to +construct pipelines from pipeline descriptions. + +Although the rules to construct pipeline descriptions are very simple, +the concatenation of multiple elements can quickly make such +descriptions resemble black magic. Fear not, for everyone learns the +`gst-launch` syntax, eventually. + +The command line for gst-launch consists of a list of options followed +by a PIPELINE-DESCRIPTION. Some simplified instructions are given next, +se the complete documentation at [the reference page](gst-launch.html) +for `gst-launch`. + +#### Elements + +In simple form, a PIPELINE-DESCRIPTION is a list of element types +separated by exclamation marks (\!). Go ahead and type in the following +command: + +``` theme: Default; brush: plain; gutter: false +gst-launch-0.10 videotestsrc ! ffmpegcolorspace ! autovideosink +``` + +You should see a windows with an animated video pattern. Use CTRL+C on +the terminal to stop the program. + +This instantiates a new element of type `videotestsrc` (an element which +generates a sample video pattern), an `ffmpegcolorspace` (an element +which does color space conversion, making sure other elements can +understand each other), and an `autovideosink` (a window to which video +is rendered). Then, GStreamer tries to link the output of each element +to the input of the element appearing on its right in the description. +If more than one input or output Pad is available, the Pad Caps are used +to find two compatible Pads. + +#### Properties + +Properties may be appended to elements, in the form +*property=value *(multiple properties can be specified, separated by +spaces). Use the `gst-inspect` tool (explained next) to find out the +available properties for an +element. + +``` theme: Default; brush: plain; gutter: false +gst-launch-0.10 videotestsrc pattern=11 ! ffmpegcolorspace ! autovideosink +``` + +You should see a static video pattern, made of circles. + +#### Named elements + +Elements can be named using the `name` property, in this way complex +pipelines involving branches can be created. Names allow linking to +elements created previously in the description, and are indispensable to +use elements with multiple output pads, like demuxers or tees, for +example. + +Named elements are referred to using their name followed by a +dot. + +``` theme: Default; brush: plain; gutter: false +gst-launch-0.10 videotestsrc ! ffmpegcolorspace ! tee name=t ! queue ! autovideosink t. ! queue ! autovideosink +``` + +You should see two video windows, showing the same sample video pattern. +If you see only one, try to move it, since it is probably on top of the +second window. + +This example instantiates a `videotestsrc`, linked to a +`ffmpegcolorspace`, linked to a `tee` (Remember from [Basic tutorial 7: +Multithreading and Pad +Availability](Basic%2Btutorial%2B7%253A%2BMultithreading%2Band%2BPad%2BAvailability.html) that +a `tee` copies to each of its output pads everything coming through its +input pad). The `tee` is named simply ‘t’ (using the `name` property) +and then linked to a `queue` and an `autovideosink`. The same `tee` is +referred to using ‘t.’ (mind the dot) and then linked to a second +`queue` and a second `autovideosink`. + +To learn why the queues are necessary read [Basic tutorial 7: +Multithreading and Pad +Availability](Basic%2Btutorial%2B7%253A%2BMultithreading%2Band%2BPad%2BAvailability.html). + +#### Pads + +Instead of letting GStreamer choose which Pad to use when linking two +elements, you may want to specify the Pads directly. You can do this by +adding a dot plus the Pad name after the name of the element (it must be +a named element). Learn the names of the Pads of an element by using +the `gst-inspect` tool. + +This is useful, for example, when you want to retrieve one particular +stream out of a +demuxer: + +``` theme: Default; brush: plain; gutter: false +gst-launch-0.10.exe souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! matroskademux name=d d.video_00 ! matroskamux ! filesink location=sintel_video.mkv +``` + +This fetches a media file from the internet using `souphttpsrc`, which +is in webm format (a special kind of Matroska container, see [Basic +tutorial 2: GStreamer +concepts](Basic%2Btutorial%2B2%253A%2BGStreamer%2Bconcepts.html)). We +then open the container using `matroskademux`. This media contains both +audio and video, so `matroskademux` will create two output Pads, named +`video_00` and `audio_00`. We link `video_00` to a `matroskamux` element +to re-pack the video stream into a new container, and finally link it to +a `filesink`, which will write the stream into a file named +"sintel\_video.mkv" (the `location` property specifies the name of the +file). + +All in all, we took a webm file, stripped it of audio, and generated a +new matroska file with the video. If we wanted to keep only the +audio: + +``` theme: Default; brush: plain; gutter: false +gst-launch-0.10.exe souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! matroskademux name=d d.audio_00 ! vorbisparse ! matroskamux ! filesink location=sintel_audio.mka +``` + +The `vorbisparse` element is required to extract some information from +the stream and put it in the Pad Caps, so the next element, +`matroskamux`, knows how to deal with the stream. In the case of video +this was not necessary, because `matroskademux` already extracted this +information and added it to the Caps. + +Note that in the above two examples no media has been decoded or played. +We have just moved from one container to another (demultiplexing and +re-multiplexing again). + +#### Caps filters + +When an element has more than one output pad, it might happen that the +link to the next element is ambiguous: the next element may have more +than one compatible input pad, or its input pad may be compatible with +the Pad Caps of all the output pads. In these cases GStreamer will link +using the first pad that is available, which pretty much amounts to +saying that GStreamer will choose one output pad at random. + +Consider the following +pipeline: + +``` theme: Default; brush: plain; gutter: false +gst-launch-0.10 souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! matroskademux ! filesink location=test +``` + +This is the same media file and demuxer as in the previous example. The +input Pad Caps of `filesink` are `ANY`, meaning that it can accept any +kind of media. Which one of the two output pads of `matroskademux` will +be linked against the filesink? `video_00` or `audio_00`? You cannot +know. + +You can remove this ambiguity, though, by using named pads, as in the +previous sub-section, or by using **Caps +Filters**: + +``` theme: Default; brush: plain; gutter: false +gst-launch-0.10 souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! matroskademux ! video/x-vp8 ! matroskamux ! filesink location=sintel_video.mkv +``` + +A Caps Filter behaves like a pass-through element which does nothing and +only accepts media with the given Caps, effectively resolving the +ambiguity. In this example, between `matroskademux` and `matroskamux` we +added a `video/x-vp8` Caps Filter to specify that we are interested in +the output pad of `matroskademux` which can produce this kind of video. + +To find out the Caps an element accepts and produces, use the +`gst-inspect` tool. To find out the Caps contained in a particular file, +use the `gst-discoverer` tool. To find out the Caps an element is +producing for a particular pipeline, run `gst-launch` as usual, with the +`–v` option to print Caps information. + +#### Examples + +Play a media file using `playbin2` (as in [Basic tutorial 1: Hello +world\!](Basic%2Btutorial%2B1%253A%2BHello%2Bworld%2521.html)): + +``` theme: Default; brush: plain; gutter: false +gst-launch-0.10 playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm +``` + +A fully operation playback pipeline, with audio and video (more or less +the same pipeline that `playbin2` will create +internally): + +``` theme: Default; brush: plain; gutter: false +gst-launch-0.10 souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! matroskademux name=d ! queue ! vp8dec ! ffmpegcolorspace ! autovideosink d. ! queue ! vorbisdec ! audioconvert ! audioresample ! autoaudiosink +``` + +A transcoding pipeline, which opens the webm container and decodes both +streams (via uridecodebin), then re-encodes the audio and video branches +with a different codec, and puts them back together in an Ogg container +(just for the sake of +it). + +``` theme: Default; brush: plain; gutter: false +gst-launch-0.10 uridecodebin uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm name=d ! queue ! theoraenc ! oggmux name=m ! filesink location=sintel.ogg d. ! queue ! audioconvert ! audioresample ! flacenc ! m. +``` + +A rescaling pipeline. The `videoscale` element performs a rescaling +operation whenever the frame size is different in the input and the +output caps. The output caps are set by the Caps Filter to +320x200. + +``` theme: Default; brush: plain; gutter: false +gst-launch-0.10 uridecodebin uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! queue ! videoscale ! video/x-raw-yuv,width=320,height=200 ! ffmpegcolorspace ! autovideosink +``` + +This short description of `gst-launch` should be enough to get you +started. Remember that you have the [complete documentation available +here](gst-launch.html). + +# `gst-inspect` + +This tool has three modes of operation: + + - Without arguments, it lists all available elements types, this is, + the types you can use to instantiate new elements. + - With a file name as an argument, it treats the file as a GStreamer + plugin, tries to open it, and lists all the elements described + inside. + - With a GStreamer element name as an argument, it lists all + information regarding that element. + +Let's see an example of the third mode: + +``` theme: Default; brush: plain; gutter: true +gst-inspect-0.10 vp8dec +  +Factory Details: + Long name: On2 VP8 Decoder + Class: Codec/Decoder/Video + Description: Decode VP8 video streams + Author(s): David Schleef + Rank: primary (256) +Plugin Details: + Name: vp8 + Description: VP8 plugin + Filename: I:\gstreamer-sdk\2012.5\x86\lib\gstreamer-0.10\libgstvp8.dll + Version: 0.10.23 + License: LGPL + Source module: gst-plugins-bad + Source release date: 2012-02-20 + Binary package: GStreamer Bad Plug-ins (GStreamer SDK) + Origin URL: http://www.gstreamer.com +GObject + +----GstObject + +----GstElement + +----GstBaseVideoCodec + +----GstBaseVideoDecoder + +----GstVP8Dec +Pad Templates: + SRC template: 'src' + Availability: Always + Capabilities: + video/x-raw-yuv + format: I420 + width: [ 1, 2147483647 ] + height: [ 1, 2147483647 ] + framerate: [ 0/1, 2147483647/1 ] + SINK template: 'sink' + Availability: Always + Capabilities: + video/x-vp8 + +Element Flags: + no flags set +Element Implementation: + Has change_state() function: gst_base_video_decoder_change_state + Has custom save_thyself() function: gst_element_save_thyself + Has custom restore_thyself() function: gst_element_restore_thyself +Element has no clocking capabilities. +Element has no indexing capabilities. +Element has no URI handling capabilities. +Pads: + SRC: 'src' + Implementation: + Has custom eventfunc(): gst_base_video_decoder_src_event + Has custom queryfunc(): gst_base_video_decoder_src_query + Provides query types: + (1): position (Current position) + (2): duration (Total duration) + (8): convert (Converting between formats) + Has custom iterintlinkfunc(): gst_pad_iterate_internal_links_default + Has getcapsfunc(): gst_pad_get_fixed_caps_func + Has acceptcapsfunc(): gst_pad_acceptcaps_default + Pad Template: 'src' + SINK: 'sink' + Implementation: + Has chainfunc(): gst_base_video_decoder_chain + Has custom eventfunc(): gst_base_video_decoder_sink_event + Has custom queryfunc(): gst_base_video_decoder_sink_query + Has custom iterintlinkfunc(): gst_pad_iterate_internal_links_default + Has setcapsfunc(): gst_base_video_decoder_sink_setcaps + Has acceptcapsfunc(): gst_pad_acceptcaps_default + Pad Template: 'sink' +Element Properties: + name : The name of the object + flags: readable, writable + String. Default: "vp8dec0" + post-processing : Enable post processing + flags: readable, writable + Boolean. Default: false + post-processing-flags: Flags to control post processing + flags: readable, writable + Flags "GstVP8DecPostProcessingFlags" Default: 0x00000003, "demacroblock+deblock" + (0x00000001): deblock - Deblock + (0x00000002): demacroblock - Demacroblock + (0x00000004): addnoise - Add noise + deblocking-level : Deblocking level + flags: readable, writable + Unsigned Integer. Range: 0 - 16 Default: 4 + noise-level : Noise level + flags: readable, writable + Unsigned Integer. Range: 0 - 16 Default: 0   +``` + +The most relevant sections are: + + - Pad Templates (line 25): This lists all the kinds of Pads this + element can have, along with their capabilities. This is where you + look to find out if an element can link with another one. In this + case, it has only one sink pad template, accepting only + `video/x-vp8` (encoded video data in VP8 format) and only one source + pad template, producing `video/x-raw-yuv` (decoded video data). + - Element Properties (line 70): This lists the properties of the + element, along with their type and accepted values. + +For more information, you can check the [documentation +page](http://gst-inspect) of `gst-inspect`. + +# `gst-discoverer` + +This tool is a wrapper around the `GstDiscoverer` object shown in [Basic +tutorial 9: Media information +gathering](Basic%2Btutorial%2B9%253A%2BMedia%2Binformation%2Bgathering.html). +It accepts a URI from the command line and prints all information +regarding the media that GStreamer can extract. It is useful to find out +what container and codecs have been used to produce the media, and +therefore what elements you need to put in a pipeline to play it. + +Use `gst-discoverer --help` to obtain the list of available options, +which basically control the amount of verbosity of the output. + +Let's see an +example: + +``` theme: Default; brush: plain; gutter: false +gst-discoverer-0.10 http://docs.gstreamer.com/media/sintel_trailer-480p.webm -v + +Analyzing http://docs.gstreamer.com/media/sintel_trailer-480p.webm +Done discovering http://docs.gstreamer.com/media/sintel_trailer-480p.webm +Topology: + container: video/webm + audio: audio/x-vorbis, channels=(int)2, rate=(int)48000 + Codec: + audio/x-vorbis, channels=(int)2, rate=(int)48000 + Additional info: + None + Language: en + Channels: 2 + Sample rate: 48000 + Depth: 0 + Bitrate: 80000 + Max bitrate: 0 + Tags: + taglist, language-code=(string)en, container-format=(string)Matroska, audio-codec=(string)Vorbis, application-name=(string)ffmpeg2theora-0.24, encoder=(string)"Xiph.Org\ libVorbis\ I\ 20090709", encoder-version=(uint)0, nominal-bitrate=(uint)80000, bitrate=(uint)80000; + video: video/x-vp8, width=(int)854, height=(int)480, framerate=(fraction)25/1 + Codec: + video/x-vp8, width=(int)854, height=(int)480, framerate=(fraction)25/1 + Additional info: + None + Width: 854 + Height: 480 + Depth: 0 + Frame rate: 25/1 + Pixel aspect ratio: 1/1 + Interlaced: false + Bitrate: 0 + Max bitrate: 0 + Tags: + taglist, video-codec=(string)"VP8\ video", container-format=(string)Matroska; + +Properties: + Duration: 0:00:52.250000000 + Seekable: yes + Tags: + video codec: On2 VP8 + language code: en + container format: Matroska + application name: ffmpeg2theora-0.24 + encoder: Xiph.Org libVorbis I 20090709 + encoder version: 0 + audio codec: Vorbis + nominal bitrate: 80000 + bitrate: 80000 +``` + +# Conclusion + +This tutorial has shown: + + - How to build and run GStreamer pipelines from the command line using + the `gst-launch` tool. + - How to find out what GStreamer elements you have available and their + capabilities, using the `gst-inspect` tool. + - How to discover the internal structure of media files, using + `gst-discoverer`. + +It has been a pleasure having you here, and see you soon\! + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Basic+tutorial+11%3A+Debugging+tools.markdown b/Basic+tutorial+11%3A+Debugging+tools.markdown new file mode 100644 index 0000000000..cc0bf1b418 --- /dev/null +++ b/Basic+tutorial+11%3A+Debugging+tools.markdown @@ -0,0 +1,232 @@ +# GStreamer SDK documentation : Basic tutorial 11: Debugging tools + +This page last changed on Jun 04, 2012 by xartigas. + +# Goal + +Sometimes things won’t go as expected and the error messages retrieved +from the bus (if any) just don’t provide enough information. Luckily, +GStreamer ships with massive amounts of debug information, which usually +hint what the problem might be. This tutorial shows: + + - How to get more debug information from GStreamer. + + - How to print your own debug information into the GStreamer log. + + - How to get pipeline graphs + +# Printing debug information + +### The debug log + +GStreamer and its plugins are full of debug traces, this is, places in +the code where a particularly interesting piece of information is +printed to the console, along with time stamping, process, category, +source code file, function and element information. + +The debug output is controlled with the `GST_DEBUG` environment +variable. Here’s an example with +`GST_DEBUG=2`: + +``` theme: Default; brush: plain; gutter: false +0:00:00.868050000 1592 09F62420 WARN filesrc gstfilesrc.c:1044:gst_file_src_start: error: No such file "non-existing-file.webm" +``` + +As you can see, this is quite a bit of information. In fact, the +GStreamer debug log is so verbose, that when fully enabled it can render +applications unresponsive (due to the console scrolling) or fill up +megabytes of text files (when redirected to a file). For this reason, +the logs are categorized, and you seldom need to enable all categories +at once. + +The first category is the Debug Level, which is a number specifying the +amount of desired output: + + + + + + + + + + + + + + + + + + + + + + +
0
1
2
3
4
5
+ +To enable debug output, set the `GST_DEBUG` environment variable to the +desired debug level. All levels below that will also be shown (i.e., if +you set `GST_DEBUG=2`, you will get both `ERROR` and +`WARNING` messages). + +Furthermore, each plugin or part of the GStreamer defines its own +category, so you can specify a debug level for each individual category. +For example, `GST_DEBUG=2,audiotestsrc:5`, will use Debug Level 5 for +the `audiotestsrc` element, and 2 for all the others. + +The `GST_DEBUG` environment variable, then, is a comma-separated list of +*category*:*level* pairs, with an optional *level* at the beginning, +representing the default debug level for all categories. + +The `'*'` wildcard is also available. For example +`GST_DEBUG=2,audio*:5` will use Debug Level 5 for all categories +starting with the word `audio`. `GST_DEBUG=*:2` is equivalent to +`GST_DEBUG=2`. + +Use `gst-launch-0.10 --gst-debug-help` to obtain the list of all +registered categories. Bear in mind that each plugin registers its own +categories, so, when installing or removing plugins, this list can +change. + +Use `GST_DEBUG` when the error information posted on the GStreamer bus +does not help you nail down a problem. It is common practice to redirect +the output log to a file, and then examine it later, searching for +specific messages. + +The content of each line in the debug output +is: + +``` theme: Default; brush: plain; gutter: false +0:00:00.868050000 1592 09F62420 WARN filesrc gstfilesrc.c:1044:gst_file_src_start: error: No such file "non-existing-file.webm" +``` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
0:00:00.868050000Time stamp in HH:MM:SS.sssssssss format since the start of the program
1592Process ID from which the message was issued. Useful when your problem involves multiple processes
09F62420Thread ID from which the message was issued. Useful when your problem involves multiple threads
WARNDebug level of the message
filesrcDebug Category of the message
gstfilesrc.c:1044Source file and line in the GStreamer source code where this message is printed
gst_file_src_startFunction from which the message was issued
<filesrc0>Name of the object that issued the message. It can be an element, a Pad, or something else. Useful when you have multiple elements of the same kind and need to distinguish among them. Naming your elements with the name property will make this debug output more readable (otherwise, GStreamer assigns each new element a unique name).
error: No such file "non-existing-file.webm"The actual message.
+ +### Adding your own debug information + +In the parts of your code that interact with GStreamer, it is +interesting to use GStreamer’s debugging facilities. In this way, you +have all debug output in the same file and the temporal relationship +between different messages is preserved. + +To do so, use the `GST_ERROR()`, `GST_WARNING()`, `GST_INFO()`, +`GST_LOG()` and `GST_DEBUG()` macros. They accept the same parameters as +`printf`, and they use the `default` category (`default` will be shown +as the Debug category in the output log). + +To change the category to something more meaningful, add these two lines +at the top of your code: + +``` theme: Default; brush: cpp; gutter: true +GST_DEBUG_CATEGORY_STATIC (my_category); +#define GST_CAT_DEFAULT my_category +``` + +And then this one after you have initialized GStreamer with +`gst_init()`: + +``` theme: Default; brush: cpp; gutter: false +GST_DEBUG_CATEGORY_INIT (my_category, "my category", 0, "This is my very own"); +``` + +This registers a new category (this is, for the duration of your +application: it is not stored in any file), and sets it as the default +category for your code. See the documentation +for `GST_DEBUG_CATEGORY_INIT()`. + +### Getting pipeline graphs + +For those cases where your pipeline starts to grow too large and you +lose track of what is connected with what, GStreamer has the capability +to output graph files. These are `.dot` files, readable with free +programs like [GraphViz](http://www.graphviz.org), that describe the +topology of your pipeline, along with the caps negotiated in each link. + +This is also very handy when using all-in-one elements like `playbin2` + or `uridecodebin`, which instantiate several elements inside them. Use +the `.dot` files to learn what pipeline they have created inside (and +learn a bit of GStreamer along the way). + +To obtain `.dot` files, simply set +the `GST_DEBUG_DUMP_DOT_DIR` environment variable to point to the +folder where you want the files to be placed. `gst-launch` will create +a `.dot` file at each state change, so you can see the evolution of the +caps negotiation. Unset the variable to disable this facility. From +within your application, you can use the +`GST_DEBUG_BIN_TO_DOT_FILE()` and +`GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS()` macros to generate `.dot` files +at your convenience. + +Here you have an example of the kind of pipelines that playbin2 +generates. It is very complex because `playbin2` can handle many +different cases: Your manual pipelines normally do not need to be this +long. If your manual pipeline is starting to get very big, consider +using `playbin2`. + +![](attachments/327830/2424840.png) + +To download the full-size picture, use the attachments link at the top +of this page (It's the paperclip icon). + +# Conclusion + +This tutorial has shown: + + - How to get more debug information from GStreamer using the + `GST_DEBUG` environment variable. + - How to print your own debug information into the GStreamer log with + the `GST_ERROR()` macro and relatives. + - How to get pipeline graphs with the + `GST_DEBUG_DUMP_DOT_DIR` environment variable. + +It has been a pleasure having you here, and see you soon\! + +## Attachments: + +![](images/icons/bullet_blue.gif) +[playbin2.png](attachments/327830/2424840.png) (image/png) + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Basic+tutorial+12%3A+Streaming.markdown b/Basic+tutorial+12%3A+Streaming.markdown new file mode 100644 index 0000000000..6629ef6b93 --- /dev/null +++ b/Basic+tutorial+12%3A+Streaming.markdown @@ -0,0 +1,290 @@ +# GStreamer SDK documentation : Basic tutorial 12: Streaming + +This page last changed on Sep 28, 2012 by xartigas. + +# Goal + +Playing media straight from the Internet without storing it locally is +known as Streaming. We have been doing it throughout the tutorials +whenever we used a URI starting with `http://`. This tutorial shows a +couple of additional points to keep in mind when streaming. In +particular: + + - How to enable buffering (to alleviate network problems) + - How to recover from interruptions (lost clock) + +# Introduction + +When streaming, media chunks are decoded and queued for presentation as +soon as they arrive form the network. This means that if a chunk is +delayed (which is not an uncommon situation at all on the Internet) the +presentation queue might run dry and media playback could stall. + +The universal solution is to build a “buffer”, this is, allow a certain +number of media chunks to be queued before starting playback. In this +way, playback start is delayed a bit, but, if some chunks are late, +reproduction is not impacted as there are more chunks in the queue, +waiting. + +As it turns out, this solution is already implemented in GStreamer, but +the previous tutorials have not been benefiting from it. Some elements, +like the `queue2` and `multiqueue` found inside `playbin2`, are capable +of building this buffer and post bus messages regarding the buffer level +(the state of the queue). An application wanting to have more network +resilience, then, should listen to these messages and pause playback if +the buffer level is not high enough (usually, whenever it is below +100%). + +To achieve synchronization among multiple sinks (for example and audio +and a video sink) a global clock is used. This clock is selected by +GStreamer among all elements which can provide one. Under some +circumstances, for example, an RTP source switching streams or changing +the output device, this clock can be lost and a new one needs to be +selected. This happens mostly when dealing with streaming, so the +process is explained in this tutorial. + +When the clock is lost, the application receives a message on the bus; +to select a new one, the application just needs to set the pipeline to +PAUSED and then to PLAYING again. + +# A network-resilient example + +Copy this code into a text file named `basic-tutorial-12.c`. + + + + + + + + +

This tutorial is included in the SDK since release 2012.7. If you cannot find it in the downloaded code, please install the latest release of the GStreamer SDK.

+ +**basic-tutorial-12.c** + +``` theme: Default; brush: cpp; gutter: true +#include +#include + +typedef struct _CustomData { + gboolean is_live; + GstElement *pipeline; + GMainLoop *loop; +} CustomData; + +static void cb_message (GstBus *bus, GstMessage *msg, CustomData *data) { + + switch (GST_MESSAGE_TYPE (msg)) { + case GST_MESSAGE_ERROR: { + GError *err; + gchar *debug; + + gst_message_parse_error (msg, &err, &debug); + g_print ("Error: %s\n", err->message); + g_error_free (err); + g_free (debug); + + gst_element_set_state (data->pipeline, GST_STATE_READY); + g_main_loop_quit (data->loop); + break; + } + case GST_MESSAGE_EOS: + /* end-of-stream */ + gst_element_set_state (data->pipeline, GST_STATE_READY); + g_main_loop_quit (data->loop); + break; + case GST_MESSAGE_BUFFERING: { + gint percent = 0; + + /* If the stream is live, we do not care about buffering. */ + if (data->is_live) break; + + gst_message_parse_buffering (msg, &percent); + g_print ("Buffering (%3d%%)\r", percent); + /* Wait until buffering is complete before start/resume playing */ + if (percent < 100) + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); + else + gst_element_set_state (data->pipeline, GST_STATE_PLAYING); + break; + } + case GST_MESSAGE_CLOCK_LOST: + /* Get a new clock */ + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); + gst_element_set_state (data->pipeline, GST_STATE_PLAYING); + break; + default: + /* Unhandled message */ + break; + } +} + +int main(int argc, char *argv[]) { + GstElement *pipeline; + GstBus *bus; + GstStateChangeReturn ret; + GMainLoop *main_loop; + CustomData data; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Initialize our data structure */ + memset (&data, 0, sizeof (data)); + + /* Build the pipeline */ + pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + bus = gst_element_get_bus (pipeline); + + /* Start playing */ + ret = gst_element_set_state (pipeline, GST_STATE_PLAYING); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (pipeline); + return -1; + } else if (ret == GST_STATE_CHANGE_NO_PREROLL) { + data.is_live = TRUE; + } + + main_loop = g_main_loop_new (NULL, FALSE); + data.loop = main_loop; + data.pipeline = pipeline; + + gst_bus_add_signal_watch (bus); + g_signal_connect (bus, "message", G_CALLBACK (cb_message), &data); + + g_main_loop_run (main_loop); + + /* Free resources */ + g_main_loop_unref (main_loop); + gst_object_unref (bus); + gst_element_set_state (pipeline, GST_STATE_NULL); + gst_object_unref (pipeline); + return 0; +} +``` + + + + + + + + +
+
+Need help? (Click to expand) +
+
+

If you need help to compile this code, refer to the Building the tutorials section for your platform: Linux, Mac OS X or Windows, or use this specific command on Linux:

+
+
+

gcc basic-tutorial-10.c -o basic-tutorial-10 `pkg-config --cflags --libs gstreamer-0.10`

+
+
+

If you need help to run this code, refer to the Running the tutorials section for your platform: Linux, Mac OS X or Windows

+

This tutorial opens a window and displays a movie, with accompanying audio. The media is fetched from the Internet, so the window might take a few seconds to appear, depending on your connection speed. In the console window, you should see a buffering message, and playback should only start when the buffering reaches 100%. This percentage might not change at all if your connection is fast enough and buffering is not required.

+

Required libraries: gstreamer-0.10

+
+
+ +# Walkthrough + +The only special thing this tutorial does is react to certain messages; +therefore, the initialization code is very simple and should be +self-explanative by now. The only new bit is the detection of live +streams: + +``` first-line: 74; theme: Default; brush: cpp; gutter: true +/* Start playing */ +ret = gst_element_set_state (pipeline, GST_STATE_PLAYING); +if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (pipeline); + return -1; +} else if (ret == GST_STATE_CHANGE_NO_PREROLL) { + data.is_live = TRUE; +} +``` + +Live streams cannot be paused, so they behave in PAUSED state as if they +were in the PLAYING state. Setting live streams to PAUSED succeeds, but +returns `GST_STATE_CHANGE_NO_PREROLL`, instead of +`GST_STATE_CHANGE_SUCCESS` to indicate that this is a live stream. We +are receiving the NO\_PROROLL return code even though we are trying to +set the pipeline to PLAYING, because state changes happen progressively +(from NULL to READY, to PAUSED and then to PLAYING). + +We care about live streams because we want to disable buffering for +them, so we take note of the result of `gst_element_set_state()` in the +`is_live` variable. + +Let’s now review the interesting parts of the message parsing callback: + +``` first-line: 31; theme: Default; brush: cpp; gutter: true +case GST_MESSAGE_BUFFERING: { + gint percent = 0; + + /* If the stream is live, we do not care about buffering. */ + if (data->is_live) break; + + gst_message_parse_buffering (msg, &percent); + g_print ("Buffering (%3d%%)\r", percent); + /* Wait until buffering is complete before start/resume playing */ + if (percent < 100) + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); + else + gst_element_set_state (data->pipeline, GST_STATE_PLAYING); + break; +} +``` + +First, if this is a live source, ignore buffering messages. + +We parse the buffering message with `gst_message_parse_buffering()` to +retrieve the buffering level. + +Then, we print the buffering level on the console and set the pipeline +to PAUSED if it is below 100%. Otherwise, we set the pipeline to +PLAYING. + +At startup, we will see the buffering level rise up to 100% before +playback starts, which is what we wanted to achieve. If, later on, the +network becomes slow or unresponsive and our buffer depletes, we will +receive new buffering messages with levels below 100% so we will pause +the pipeline again until enough buffer has been built up. + +``` theme: Default; brush: cpp; gutter: false +case GST_MESSAGE_CLOCK_LOST: + /* Get a new clock */ + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); + gst_element_set_state (data->pipeline, GST_STATE_PLAYING); + break; +``` + +For the second network issue, the loss of clock, we simply set the +pipeline to PAUSED and back to PLAYING, so a new clock is selected, +waiting for new media chunks to be received if necessary. + +# Conclusion + +This tutorial has described how to add network resilience to your +application with two very simple precautions: + + - Taking care of buffering messages sent by the pipeline + - Taking care of clock loss + +Handling these messages improves the application’s response to network +problems, increasing the overall playback smoothness. + +It has been a pleasure having you here, and see you soon\! + +## Attachments: + +![](images/icons/bullet_blue.gif) +[basic-tutorial-12.c](attachments/327806/2424843.c) (text/plain) +![](images/icons/bullet_blue.gif) +[vs2010.zip](attachments/327806/2424844.zip) (application/zip) + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Basic+tutorial+13%3A+Playback+speed.markdown b/Basic+tutorial+13%3A+Playback+speed.markdown new file mode 100644 index 0000000000..e629295e2e --- /dev/null +++ b/Basic+tutorial+13%3A+Playback+speed.markdown @@ -0,0 +1,409 @@ +# GStreamer SDK documentation : Basic tutorial 13: Playback speed + +This page last changed on Jul 06, 2012 by xartigas. + +# Goal + +Fast-forward, reverse-playback and slow-motion are all techniques +collectively known as *trick modes* and they all have in common that +modify the normal playback rate. This tutorial shows how to achieve +these effects and adds frame-stepping into the deal. In particular, it +shows: + + - How to change the playback rate, faster and slower than normal, + forward and backwards. + - How to advance a video frame-by-frame + +# Introduction + +Fast-forward is the technique that plays a media at a speed higher than +its normal (intended) speed; whereas slow-motion uses a speed lower than +the intended one. Reverse playback does the same thing but backwards, +from the end of the stream to the beginning. + +All these techniques do is change the playback rate, which is a variable +equal to 1.0 for normal playback, greater than 1.0 (in absolute value) +for fast modes, lower than 1.0 (in absolute value) for slow modes, +positive for forward playback and negative for reverse playback. + +GStreamer provides two mechanisms to change the playback rate: Step +Events and Seek Events. Step Events allow skipping a given amount of +media besides changing the subsequent playback rate (only to positive +values). Seek Events, additionally, allow jumping to any position in the +stream and set positive and negative playback rates. + +In [Basic tutorial 4: Time +management](Basic%2Btutorial%2B4%253A%2BTime%2Bmanagement.html) seek +events have already been shown, using a helper function to hide their +complexity. This tutorial explains a bit more how to use these events. + +Step Events are a more convenient way of changing the playback rate, due +to the reduced number of parameters needed to create them; however, +their implementation in GStreamer still needs a bit more polishing +so Seek Events are used in this tutorial instead. + +To use these events, they are created and then passed onto the pipeline, +where they propagate upstream until they reach an element that can +handle them. If an event is passed onto a bin element like `playbin2`, +it will simply feed the event to all its sinks, which will result in +multiple seeks being performed. The common approach is to retrieve one +of `playbin2`’s sinks through the `video-sink` or +`audio-sink` properties and feed the event directly into the sink. + +Frame stepping is a technique that allows playing a video frame by +frame. It is implemented by pausing the pipeline, and then sending Step +Events to skip one frame each time. + +# A trick mode player + +Copy this code into a text file named `basic-tutorial-13.c`. + + + + + + + + +

This tutorial is included in the SDK since release 2012.7. If you cannot find it in the downloaded code, please install the latest release of the GStreamer SDK.

+ +**basic-tutorial-13.c** + +``` theme: Default; brush: cpp; gutter: true +#include +#include + +typedef struct _CustomData { + GstElement *pipeline; + GstElement *video_sink; + GMainLoop *loop; + + gboolean playing; /* Playing or Paused */ + gdouble rate; /* Current playback rate (can be negative) */ +} CustomData; + +/* Send seek event to change rate */ +static void send_seek_event (CustomData *data) { + gint64 position; + GstFormat format = GST_FORMAT_TIME; + GstEvent *seek_event; + + /* Obtain the current position, needed for the seek event */ + if (!gst_element_query_position (data->pipeline, &format, &position)) { + g_printerr ("Unable to retrieve current position.\n"); + return; + } + + /* Create the seek event */ + if (data->rate > 0) { + seek_event = gst_event_new_seek (data->rate, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_ACCURATE, + GST_SEEK_TYPE_SET, position, GST_SEEK_TYPE_NONE, 0); + } else { + seek_event = gst_event_new_seek (data->rate, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_ACCURATE, + GST_SEEK_TYPE_SET, 0, GST_SEEK_TYPE_SET, position); + } + + if (data->video_sink == NULL) { + /* If we have not done so, obtain the sink through which we will send the seek events */ + g_object_get (data->pipeline, "video-sink", &data->video_sink, NULL); + } + + /* Send the event */ + gst_element_send_event (data->video_sink, seek_event); + + g_print ("Current rate: %g\n", data->rate); +} + +/* Process keyboard input */ +static gboolean handle_keyboard (GIOChannel *source, GIOCondition cond, CustomData *data) { + gchar *str = NULL; + + if (g_io_channel_read_line (source, &str, NULL, NULL, NULL) != G_IO_STATUS_NORMAL) { + return TRUE; + } + + switch (g_ascii_tolower (str[0])) { + case 'p': + data->playing = !data->playing; + gst_element_set_state (data->pipeline, data->playing ? GST_STATE_PLAYING : GST_STATE_PAUSED); + g_print ("Setting state to %s\n", data->playing ? "PLAYING" : "PAUSE"); + break; + case 's': + if (g_ascii_isupper (str[0])) { + data->rate *= 2.0; + } else { + data->rate /= 2.0; + } + send_seek_event (data); + break; + case 'd': + data->rate *= -1.0; + send_seek_event (data); + break; + case 'n': + if (data->video_sink == NULL) { + /* If we have not done so, obtain the sink through which we will send the step events */ + g_object_get (data->pipeline, "video-sink", &data->video_sink, NULL); + } + + gst_element_send_event (data->video_sink, + gst_event_new_step (GST_FORMAT_BUFFERS, 1, data->rate, TRUE, FALSE)); + g_print ("Stepping one frame\n"); + break; + case 'q': + g_main_loop_quit (data->loop); + break; + default: + break; + } + + g_free (str); + + return TRUE; +} + +int main(int argc, char *argv[]) { + CustomData data; + GstStateChangeReturn ret; + GIOChannel *io_stdin; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Initialize our data structure */ + memset (&data, 0, sizeof (data)); + + /* Print usage map */ + g_print ( + "USAGE: Choose one of the following options, then press enter:\n" + " 'P' to toggle between PAUSE and PLAY\n" + " 'S' to increase playback speed, 's' to decrease playback speed\n" + " 'D' to toggle playback direction\n" + " 'N' to move to next frame (in the current direction, better in PAUSE)\n" + " 'Q' to quit\n"); + + /* Build the pipeline */ + data.pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + + /* Add a keyboard watch so we get notified of keystrokes */ +#ifdef _WIN32 + io_stdin = g_io_channel_win32_new_fd (fileno (stdin)); +#else + io_stdin = g_io_channel_unix_new (fileno (stdin)); +#endif + g_io_add_watch (io_stdin, G_IO_IN, (GIOFunc)handle_keyboard, &data); + + /* Start playing */ + ret = gst_element_set_state (data.pipeline, GST_STATE_PLAYING); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (data.pipeline); + return -1; + } + data.playing = TRUE; + data.rate = 1.0; + + /* Create a GLib Main Loop and set it to run */ + data.loop = g_main_loop_new (NULL, FALSE); + g_main_loop_run (data.loop); + + /* Free resources */ + g_main_loop_unref (data.loop); + g_io_channel_unref (io_stdin); + gst_element_set_state (data.pipeline, GST_STATE_NULL); + if (data.video_sink != NULL) + gst_object_unref (data.video_sink); + gst_object_unref (data.pipeline); + return 0; +} +``` + + + + + + + + +
+
+Need help? (Click to expand) +
+
+

If you need help to compile this code, refer to the Building the tutorials section for your platform: Linux, Mac OS X or Windows, or use this specific command on Linux:

+
+
+

gcc basic-tutorial-13.c -o basic-tutorial-13 `pkg-config --cflags --libs gstreamer-0.10`

+
+
+

If you need help to run this code, refer to the Running the tutorials section for your platform: Linux, Mac OS X or Windows

+

This tutorial opens a window and displays a movie, with accompanying audio. The media is fetched from the Internet, so the window might take a few seconds to appear, depending on your connection speed. The console shows the available commands, composed of a single upper-case or lower-case letter, which you should input followed by the Enter key.

+

Required libraries: gstreamer-0.10

+
+
+ +# Walkthrough + +There is nothing new in the initialization code in the main function:  a +`playbin2` pipeline is instantiated, an I/O watch is installed to track +keystrokes and a GLib main loop is executed. + +Then, in the keyboard handler function: + +``` first-line: 45; theme: Default; brush: cpp; gutter: true +/* Process keyboard input */ +static gboolean handle_keyboard (GIOChannel *source, GIOCondition cond, CustomData *data) { + gchar *str = NULL; + + if (g_io_channel_read_line (source, &str, NULL, NULL, NULL) != G_IO_STATUS_NORMAL) { + return TRUE; + } + + switch (g_ascii_tolower (str[0])) { + case 'p': + data->playing = !data->playing; + gst_element_set_state (data->pipeline, data->playing ? GST_STATE_PLAYING : GST_STATE_PAUSED); + g_print ("Setting state to %s\n", data->playing ? "PLAYING" : "PAUSE"); + break; +``` + +Pause / Playing toggle is handled with `gst_element_set_state()` as in +previous tutorials. + +``` first-line: 59; theme: Default; brush: cpp; gutter: true +case 's': + if (g_ascii_isupper (str[0])) { + data->rate *= 2.0; + } else { + data->rate /= 2.0; + } + send_seek_event (data); + break; +case 'd': + data->rate *= -1.0; + send_seek_event (data); + break; +``` + +Use ‘S’ and ‘s’ to double or halve the current playback rate, and ‘d’ to +reverse the current playback direction. In both cases, the +`rate` variable is updated and `send_seek_event` is called. Let’s +review this function. + +``` first-line: 13; theme: Default; brush: cpp; gutter: true +/* Send seek event to change rate */ +static void send_seek_event (CustomData *data) { + gint64 position; + GstFormat format = GST_FORMAT_TIME; + GstEvent *seek_event; + + /* Obtain the current position, needed for the seek event */ + if (!gst_element_query_position (data->pipeline, &format, &position)) { + g_printerr ("Unable to retrieve current position.\n"); + return; + } +``` + +This function creates a new Seek Event and sends it to the pipeline to +update the rate. First, the current position is recovered with +`gst_element_query_position()`. This is needed because the Seek Event +jumps to another position in the stream, and, since we do not actually +want to move, we jump to the current position. Using a Step Event would +be simpler, but this event is not currently fully functional, as +explained in the Introduction. + +``` first-line: 25; theme: Default; brush: cpp; gutter: true +/* Create the seek event */ +if (data->rate > 0) { + seek_event = gst_event_new_seek (data->rate, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_ACCURATE, + GST_SEEK_TYPE_SET, position, GST_SEEK_TYPE_NONE, 0); +} else { + seek_event = gst_event_new_seek (data->rate, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_ACCURATE, + GST_SEEK_TYPE_SET, 0, GST_SEEK_TYPE_SET, position); +} +``` + +The Seek Event is created with `gst_event_new_seek()`. Its parameters +are, basically, the new rate, the new start position and the new stop +position. Regardless of the playback direction, the start position must +be smaller than the stop position, so the two playback directions are +treated differently. + +``` first-line: 34; theme: Default; brush: cpp; gutter: true +if (data->video_sink == NULL) { + /* If we have not done so, obtain the sink through which we will send the seek events */ + g_object_get (data->pipeline, "video-sink", &data->video_sink, NULL); +} +``` + +As explained in the Introduction, to avoid performing multiple Seeks, +the Event is sent to only one sink, in this case, the video sink. It is +obtained from `playbin2` through the `video-sink` property. It is read +at this time instead at initialization time because the actual sink may +change depending on the media contents, and this won’t be known until +the pipeline is PLAYING and some media has been read. + +``` first-line: 39; theme: Default; brush: cpp; gutter: true +/* Send the event */ +gst_element_send_event (data->video_sink, seek_event); +``` + +The new Event is finally sent to the selected sink with +`gst_element_send_event()`. + +Back to the keyboard handler, we still miss the frame stepping code, +which is really simple: + +``` first-line: 71; theme: Default; brush: cpp; gutter: true +case 'n': + if (data->video_sink == NULL) { + /* If we have not done so, obtain the sink through which we will send the step events */ + g_object_get (data->pipeline, "video-sink", &data->video_sink, NULL); + } + + gst_element_send_event (data->video_sink, + gst_event_new_step (GST_FORMAT_BUFFERS, 1, data->rate, TRUE, FALSE)); + g_print ("Stepping one frame\n"); + break; +``` + +A new Step Event is created with `gst_event_new_step()`, whose +parameters basically specify the amount to skip (1 frame in the example) +and the new rate (which we do not change). + +The video sink is grabbed from `playbin2` in case we didn’t have it yet, +just like before. + +And with this we are done. When testing this tutorial, keep in mind that +backward playback is not optimal in many elements. + + + + + + + + +

Changing the playback rate might only work with local files. If you cannot modify it, try changing the URI passed to playbin2 in line 114 to a local URI, starting with file:///

+ +# Conclusion + +This tutorial has shown: + + - How to change the playback rate using a Seek Event, created with + `gst_event_new_seek()` and fed to the pipeline + with `gst_element_send_event()`. + - How to advance a video frame-by-frame by using Step Events, created + with `gst_event_new_step()`. + +It has been a pleasure having you here, and see you soon\! + +## Attachments: + +![](images/icons/bullet_blue.gif) +[basic-tutorial-13.c](attachments/327800/2424883.c) (text/plain) +![](images/icons/bullet_blue.gif) +[vs2010.zip](attachments/327800/2424884.zip) (application/zip) + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Basic+tutorial+14%3A+Handy+elements.markdown b/Basic+tutorial+14%3A+Handy+elements.markdown new file mode 100644 index 0000000000..d6bfb4b2ff --- /dev/null +++ b/Basic+tutorial+14%3A+Handy+elements.markdown @@ -0,0 +1,367 @@ +# GStreamer SDK documentation : Basic tutorial 14: Handy elements + +This page last changed on May 13, 2014 by xartigas. + +# Goal + +This tutorial gives a list of handy GStreamer elements that are worth +knowing. They range from powerful all-in-one elements that allow you to +build complex pipelines easily (like `playbin2`), to little helper +elements which are extremely useful when debugging. + +For simplicity, the following examples are given using the +`gst-launch` tool (Learn about it in [Basic tutorial 10: GStreamer +tools](Basic%2Btutorial%2B10%253A%2BGStreamer%2Btools.html)). Use the +`-v` command line parameter if you want to see the Pad Caps that are +being negotiated. + +# Bins + +These are Bin elements which you treat as a single element and they take +care of instantiating all the necessary internal pipeline to accomplish +their task. + +### `playbin2` + +This element has been extensively used throughout the tutorials. It +manages all aspects of media playback, from source to display, passing +through demuxing and decoding. It is so flexible and has so many options +that a whole set of tutorials are devoted to it. See the [Playback +tutorials](Playback%2Btutorials.html) for more details. + +### `uridecodebin` + +This element decodes data from a URI into raw media. It selects a source +element that can handle the given URI scheme and connects it to +a `decodebin2` element. It acts like a demuxer, so it offers as many +source pads as streams are found in the +media. + +``` theme: Default; brush: bash; gutter: false +gst-launch-0.10 uridecodebin uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! ffmpegcolorspace ! autovideosink +``` + +``` theme: Default; brush: bash; gutter: false +gst-launch-0.10 uridecodebin uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! audioconvert ! autoaudiosink +``` + +### `decodebin2` + +This element automatically constructs a decoding pipeline using +available decoders and demuxers via auto-plugging until raw media is +obtained.  It is used internally by `uridecodebin` which is often more +convenient to use, as it creates a suitable source element as well. It +replaces the old `decodebin` element. It acts like a demuxer, so it +offers as many source pads as streams are found in the +media. + +``` theme: Default; brush: bash; gutter: false +gst-launch-0.10 souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! decodebin2 ! autovideosink +``` + +# File input/output + +### `filesrc` + +This element reads a local file and produces media with `ANY` Caps. If +you want to obtain the correct Caps for the media, explore the stream by +using a `typefind` element or by setting the `typefind` property +of `filesrc` to +`TRUE`. + +``` theme: Default; brush: cpp; gutter: false +gst-launch-0.10 filesrc location=f:\\media\\sintel\\sintel_trailer-480p.webm ! decodebin2 ! autovideosink +``` + +### `filesink` + +This element writes to a file all the media it receives. Use the +`location` property to specify the file +name. + +``` theme: Default; brush: plain; gutter: false +gst-launch-0.10 audiotestsrc ! vorbisenc ! oggmux ! filesink location=test.ogg +``` + +# Network + +### `souphttpsrc` + +This element receives data as a client over the network via HTTP using +the SOUP library. Set the URL to retrieve through the `location` +property. + +``` theme: Default; brush: bash; gutter: false +gst-launch-0.10 souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! decodebin2 ! autovideosink +``` + +# Test media generation + +These elements are very useful to check if other parts of the pipeline +are working, by replacing the source by one of these test sources which +are “guaranteed” to work. + +### `videotestsrc` + +This element produces a video pattern (selectable among many different +options with the `pattern` property). Use it to test video pipelines. + +``` theme: Default; brush: bash; gutter: false +gst-launch-0.10 videotestsrc ! ffmpegcolorspace ! autovideosink +``` + +### `audiotestsrc` + +This element produces an audio wave (selectable among many different +options with the `wave` property). Use it to test video pipelines. + +``` theme: Default; brush: bash; gutter: false +gst-launch-0.10 audiotestsrc ! audioconvert ! autoaudiosink +``` + +# Video adapters + +### `ffmpegcolorspace` + +This element converts from one color space (e.g. RGB) to another one +(e.g. YUV). It can also convert between different YUV formats (e.g. +I420, NV12, YUY2 …) or RGB format arrangements (e.g. RGBA, ARGB, BGRA…). + +This is normally your first choice when solving negotiation problems. +When not needed, because its upstream and downstream elements can +already understand each other, it acts in pass-through mode having +minimal impact on the performance. + +As a rule of thumb, always use `ffmpegcolorspace` whenever you use +elements whose Caps are unknown at design time, like `autovideosink`, or +that can vary depending on external factors, like decoding a +user-provided file. + +``` theme: Default; brush: bash; gutter: false +gst-launch-0.10 videotestsrc ! ffmpegcolorspace ! autovideosink +``` + +### `videorate` + +This element takes an incoming stream of time-stamped video frames and +produces a stream that matches the source pad's frame rate. The +correction is performed by dropping and duplicating frames, no fancy +algorithm is used to interpolate frames. + +This is useful to allow elements requiring different frame rates to +link. As with the other adapters, if it is not needed (because there is +a frame rate on which both Pads can agree), it acts in pass-through mode +and does not impact performance. + +It is therefore a good idea to always use it whenever the actual frame +rate is unknown at design time, just in +case. + +``` theme: Default; brush: cpp; gutter: false +gst-launch-0.10 videotestsrc ! video/x-raw-rgb,framerate=30/1 ! videorate ! video/x-raw-rgb,framerate=1/1 ! ffmpegcolorspace ! autovideosink +``` + +### `videoscale` + +This element resizes video frames. By default the element tries to +negotiate to the same size on the source and sink Pads so that no +scaling is needed. It is therefore safe to insert this element in a +pipeline to get more robust behavior without any cost if no scaling is +needed. + +This element supports a wide range of color spaces including various YUV +and RGB formats and is therefore generally able to operate anywhere in a +pipeline. + +If the video is to be output to a window whose size is controlled by the +user, it is a good idea to use a `videoscale` element, since not all +video sinks are capable of performing scaling +operations. + +``` theme: Default; brush: bash; gutter: false +gst-launch-0.10 uridecodebin uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! videoscale ! video/x-raw-yuv,width=178,height=100 ! ffmpegcolorspace ! autovideosink +``` + +# Audio adapters + +### `audioconvert` + +This element converts raw audio buffers between various possible +formats. It supports integer to float conversion, width/depth +conversion, signedness and endianness conversion and channel +transformations. + +Like `ffmpegcolorspace` does for video, you use this to solve +negotiation problems with audio, and it is generally safe to use it +liberally, since this element does nothing if it is not needed. + +``` theme: Default; brush: bash; gutter: false +gst-launch-0.10 audiotestsrc ! audioconvert ! autoaudiosink +``` + +### `audioresample` + +This element resamples raw audio buffers to different sampling rates +using a configurable windowing function to enhance quality + +Again, use it to solve negotiation problems regarding sampling rates and +do not fear to use it +generously. + +``` theme: Default; brush: bash; gutter: false +gst-launch-0.10 uridecodebin uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! audioresample ! audio/x-raw-float,rate=4000 ! audioconvert ! autoaudiosink +``` + +### `audiorate` + +This element takes an incoming stream of time-stamped raw audio frames +and produces a perfect stream by inserting or dropping samples as +needed. It does not allow the sample rate to be changed +as `videorate` does, it just fills gaps and removes overlapped samples +so the output stream is continuous and “clean”. + +It is useful in situations where the timestamps are going to be lost +(when storing into certain file formats, for example) and the receiver +will require all samples to be present. It is cumbersome to exemplify +this, so no example is given. + +# Multithreading + +### `queue` + +Queues have been explained in [Basic tutorial 7: Multithreading and Pad +Availability](Basic%2Btutorial%2B7%253A%2BMultithreading%2Band%2BPad%2BAvailability.html). +Basically, a queue performs two tasks: + + - Data is queued until a selected limit is reached. Any attempt to + push more buffers into the queue blocks the pushing thread until + more space becomes available. + - The queue creates a new thread on the source Pad to decouple the + processing on sink and source Pads. + +Additionally, `queue` triggers signals when it is about to become empty +or full (according to some configurable thresholds), and can be +instructed to drop buffers instead of blocking when it is full. + +As a rule of thumb, prefer the simpler `queue` element +over `queue2` whenever network buffering is not a concern to you. +See [Basic tutorial 7: Multithreading and Pad +Availability](Basic%2Btutorial%2B7%253A%2BMultithreading%2Band%2BPad%2BAvailability.html) +for an example. + +### `queue2` + +This element is not an evolution of `queue`. It has the same design +goals but follows a different implementation approach, which results in +different features. Unfortunately, it is often not easy to tell which +queue is the best choice. + +`queue2` performs the two tasks listed above for `queue`, and, +additionally, is able to store the received data (or part of it) on a +disk file, for later retrieval. It also replaces the signals with the +more general and convenient buffering messages described in [Basic +tutorial 12: Streaming](Basic%2Btutorial%2B12%253A%2BStreaming.html). + +As a rule of thumb, prefer `queue2` over `queue` whenever network +buffering is a concern to you. See [Basic tutorial 12: +Streaming](Basic%2Btutorial%2B12%253A%2BStreaming.html) for an example +(`queue2` is hidden inside `playbin2`). + +### `multiqueue` + +This element provides queues for multiple streams simultaneously, and +eases their management, by allowing some queues to grow if no data is +being received on other streams, or by allowing some queues to drop data +if they are not connected to anything (instead of returning an error, as +a simpler queue would do). Additionally, it synchronizes the different +streams, ensuring that none of them goes too far ahead of the others. + +This is an advanced element. It is found inside `decodebin2`, but you +will rarely need to instantiate it yourself in a normal playback +application. + +### `tee` + +[Basic tutorial 7: Multithreading and Pad +Availability](Basic%2Btutorial%2B7%253A%2BMultithreading%2Band%2BPad%2BAvailability.html) already +showed how to use a `tee` element, which splits data to multiple pads. +Splitting the data flow is useful, for example, when capturing a video +where the video is shown on the screen and also encoded and written to a +file. Another example is playing music and hooking up a visualization +module. + +One needs to use separate `queue` elements in each branch to provide +separate threads for each branch. Otherwise a blocked dataflow in one +branch would stall the other +branches. + +``` theme: Default; brush: plain; gutter: false +gst-launch-0.10 audiotestsrc ! tee name=t ! queue ! audioconvert ! autoaudiosink t. ! queue ! wavescope ! ffmpegcolorspace ! autovideosink +``` + +# Capabilities + +### `capsfilter` + +[Basic tutorial 10: GStreamer +tools](Basic%2Btutorial%2B10%253A%2BGStreamer%2Btools.html) already +explained how to use Caps filters with `gst-launch`. When building a +pipeline programmatically, Caps filters are implemented with +the `capsfilter` element. This element does not modify data as such, +but enforces limitations on the data +format. + +``` theme: Default; brush: bash; gutter: false +gst-launch-0.10 videotestsrc ! video/x-raw-gray ! ffmpegcolorspace ! autovideosink +``` + +### `typefind` + +This element determines the type of media a stream contains. It applies +typefind functions in the order of their rank. Once the type has been +detected it sets its source Pad Caps to the found media type and emits +the `have-type` signal. + +It is instantiated internally by `decodebin2`, and you can use it too to +find the media type, although you can normally use the +`GstDiscoverer` which provides more information (as seen in [Basic +tutorial 9: Media information +gathering](Basic%2Btutorial%2B9%253A%2BMedia%2Binformation%2Bgathering.html)). + +# Debugging + +### `fakesink` + +This sink element simply swallows any data fed to it. It is useful when +debugging, to replace your normal sinks and rule them out of the +equation. It can be very verbose when combined with the `-v` switch +of `gst-launch`, so use the `silent` property to remove any unwanted +noise. + +``` theme: Default; brush: plain; gutter: false +gst-launch-0.10 audiotestsrc num-buffers=1000 ! fakesink sync=false +``` + +### `identity` + +This is a dummy element that passes incoming data through unmodified. It +has several useful diagnostic functions, such as offset and timestamp +checking, or buffer dropping. Read its documentation to learn all the +things this seemingly harmless element can +do. + +``` theme: Default; brush: plain; gutter: false +gst-launch-0.10 audiotestsrc ! identity drop-probability=0.1 ! audioconvert ! autoaudiosink +``` + +# Conclusion + +This tutorial has listed a few elements which are worth knowing, due to +their usefulness in the day-to-day work with GStreamer. Some are +valuable for production pipelines, whereas others are only needed for +debugging purposes. + +It has been a pleasure having you here, and see you soon\! + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Basic+tutorial+15%3A+Clutter+integration.markdown b/Basic+tutorial+15%3A+Clutter+integration.markdown new file mode 100644 index 0000000000..0e5f836191 --- /dev/null +++ b/Basic+tutorial+15%3A+Clutter+integration.markdown @@ -0,0 +1,255 @@ +# GStreamer SDK documentation : Basic tutorial 15: Clutter integration + +This page last changed on Jul 11, 2012 by xartigas. + +# Goal + +“[Clutter](https://clutter-project.org/) is an open source software +library for creating fast, compelling, portable, and dynamic graphical +user interfaces”. GStreamer can be integrated into Clutter through the +`cluttersink` element, allowing video to be used as a texture. This +tutorial shows: + + - How to use the video output of a GStreamer pipeline as a texture in + Clutter. + +# Introduction + +The process to link GStreamer with Clutter is actually very simple. A ` +cluttersink `element must be instantiated (or, better, +`autocluttersink`, if available) and used as the video sink. Through the +`texture` property this element accepts a Clutter texture, which is +automatically updated by GStreamer. + +# A 3D media player + +Copy this code into a text file named `basic-tutorial-15.c`.. + + + + + + + + +

This tutorial is included in the SDK since release 2012.9. If you cannot find it in the downloaded code, please install the latest release of the GStreamer SDK.

+ +**basic-tutorial-15.c** + +``` theme: Default; brush: cpp; gutter: true +#include + +/* Setup the video texture once its size is known */ +void size_change (ClutterActor *texture, gint width, gint height, gpointer user_data) { + ClutterActor *stage; + gfloat new_x, new_y, new_width, new_height; + gfloat stage_width, stage_height; + ClutterAnimation *animation = NULL; + + stage = clutter_actor_get_stage (texture); + if (stage == NULL) + return; + + clutter_actor_get_size (stage, &stage_width, &stage_height); + + /* Center video on window and calculate new size preserving aspect ratio */ + new_height = (height * stage_width) / width; + if (new_height <= stage_height) { + new_width = stage_width; + + new_x = 0; + new_y = (stage_height - new_height) / 2; + } else { + new_width = (width * stage_height) / height; + new_height = stage_height; + + new_x = (stage_width - new_width) / 2; + new_y = 0; + } + clutter_actor_set_position (texture, new_x, new_y); + clutter_actor_set_size (texture, new_width, new_height); + clutter_actor_set_rotation (texture, CLUTTER_Y_AXIS, 0.0, stage_width / 2, 0, 0); + /* Animate it */ + animation = clutter_actor_animate (texture, CLUTTER_LINEAR, 10000, "rotation-angle-y", 360.0, NULL); + clutter_animation_set_loop (animation, TRUE); +} + +int main(int argc, char *argv[]) { + GstElement *pipeline, *sink; + ClutterTimeline *timeline; + ClutterActor *stage, *texture; + + /* clutter-gst takes care of initializing Clutter and GStreamer */ + if (clutter_gst_init (&argc, &argv) != CLUTTER_INIT_SUCCESS) { + g_error ("Failed to initialize clutter\n"); + return -1; + } + + stage = clutter_stage_get_default (); + + /* Make a timeline */ + timeline = clutter_timeline_new (1000); + g_object_set(timeline, "loop", TRUE, NULL); + + /* Create new texture and disable slicing so the video is properly mapped onto it */ + texture = CLUTTER_ACTOR (g_object_new (CLUTTER_TYPE_TEXTURE, "disable-slicing", TRUE, NULL)); + g_signal_connect (texture, "size-change", G_CALLBACK (size_change), NULL); + + /* Build the GStreamer pipeline */ + pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + + /* Instantiate the Clutter sink */ + sink = gst_element_factory_make ("autocluttersink", NULL); + if (sink == NULL) { + /* Revert to the older cluttersink, in case autocluttersink was not found */ + sink = gst_element_factory_make ("cluttersink", NULL); + } + if (sink == NULL) { + g_printerr ("Unable to find a Clutter sink.\n"); + return -1; + } + + /* Link GStreamer with Clutter by passing the Clutter texture to the Clutter sink*/ + g_object_set (sink, "texture", texture, NULL); + + /* Add the Clutter sink to the pipeline */ + g_object_set (pipeline, "video-sink", sink, NULL); + + /* Start playing */ + gst_element_set_state (pipeline, GST_STATE_PLAYING); + + /* start the timeline */ + clutter_timeline_start (timeline); + + /* Add texture to the stage, and show it */ + clutter_group_add (CLUTTER_GROUP (stage), texture); + clutter_actor_show_all (stage); + + clutter_main(); + + /* Free resources */ + gst_element_set_state (pipeline, GST_STATE_NULL); + gst_object_unref (pipeline); + return 0; +} +``` + + + + + + + + +
+
+Need help? (Click to expand) +
+
+

If you need help to compile this code, refer to the Building the tutorials section for your platform: Linux, Mac OS X or Windows, or use this specific command on Linux:

+
+
+

gcc basic-tutorial-15.c -o basic-tutorial-15 `pkg-config --cflags --libs clutter-gst-1.0 gstreamer-0.10`

+
+
+

If you need help to run this code, refer to the Running the tutorials section for your platform: Linux, Mac OS X or Windows

+

This tutorial opens a window and displays a movie on a revolving plane, with accompanying audio. The media is fetched from the Internet, so the window might take a few seconds to appear, depending on your connection speed.

+

Required libraries: clutter-gst-1.0 gstreamer-0.10

+
+
+ +# Walkthrough + +It is not the purpose of this tutorial to teach how to use Clutter, but +how to integrate GStreamer with it. This is accomplished through the +clutter-gst library, so its header must be included (and the program +must link against it): + +``` first-line: 1; theme: Default; brush: cpp; gutter: true +#include +``` + +The first thing this library does is initialize both GStreamer and +Clutter, so you must call ` clutter-gst-init()` instead of initializing +these libraries yourself. + +``` first-line: 43; theme: Default; brush: cpp; gutter: true +/* clutter-gst takes care of initializing Clutter and GStreamer */ +if (clutter_gst_init (&argc, &argv) != CLUTTER_INIT_SUCCESS) { + g_error ("Failed to initialize clutter\n"); + return -1; +} +``` + +The GStreamer video is to be played on a Clutter texture, so, we need to +create a texture. Just remember to disable texture slicing to allow for +proper +integration: + +``` first-line: 55; theme: Default; brush: cpp; gutter: true +/* Create new texture and disable slicing so the video is properly mapped onto it */ +texture = CLUTTER_ACTOR (g_object_new (CLUTTER_TYPE_TEXTURE, "disable-slicing", TRUE, NULL)); +g_signal_connect (texture, "size-change", G_CALLBACK (size_change), NULL); +``` + +We connect to the size-change signal so we can perform final setup once +the video size is known. + +``` theme: Default; brush: cpp; gutter: true +/* Instantiate the Clutter sink */ +sink = gst_element_factory_make ("autocluttersink", NULL); +if (sink == NULL) { + /* Revert to the older cluttersink, in case autocluttersink was not found */ + sink = gst_element_factory_make ("cluttersink", NULL); +} +if (sink == NULL) { + g_printerr ("Unable to find a Clutter sink.\n"); + return -1; +} +``` + +The proper Clutter sink element to instantiate for GStreamer is +`autocluttersink`, which works more or less like `autovideosink`, trying +to find the best Clutter sink available. However, `autocluttersink` (for +which there is no documentation yet) is only available since the 2012.7 +release of the SDK, so, if it cannot be found, the +simpler `cluttersink` element is created +instead. + +``` first-line: 73; theme: Default; brush: cpp; gutter: true +/* Link GStreamer with Clutter by passing the Clutter texture to the Clutter sink*/ +g_object_set (sink, "texture", texture, NULL); +``` + +This texture is everything GStreamer needs to know about Clutter. + +``` first-line: 76; theme: Default; brush: cpp; gutter: true +/* Add the Clutter sink to the pipeline */ +g_object_set (pipeline, "video-sink", sink, NULL); +``` + +Finally, tell `playbin2` to use the sink we created instead of the +default one. + +Then the GStreamer pipeline and the Clutter timeline are started and the +ball starts rolling. Once the pipeline has received enough information +to know the video size (width and height), the Clutter texture gets +updated and we receive a notification, handled in the +`size_change` callback. This method sets the texture to the proper +size, centers it on the output window and starts a revolving animation, +just for demonstration purposes. But this has nothing to do with +GStreamer. + +# Conclusion + +This tutorial has shown: + + - How to use the video output of a GStreamer pipeline as a Clutter + texture using the ` cluttersink` or `autocluttersink` elements. + - How to link GStreamer and Clutter through the `texture` property of + ` cluttersink` or `autocluttersink`. + +It has been a pleasure having you here, and see you soon\! + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Basic+tutorial+16%3A+Platform-specific+elements.markdown b/Basic+tutorial+16%3A+Platform-specific+elements.markdown new file mode 100644 index 0000000000..8d52e054d5 --- /dev/null +++ b/Basic+tutorial+16%3A+Platform-specific+elements.markdown @@ -0,0 +1,212 @@ +# GStreamer SDK documentation : Basic tutorial 16: Platform-specific elements + +This page last changed on May 30, 2013 by xartigas. + +# Goal + +Even though GStreamer is a multiplatform framework, not all the elements +are available on all platforms. For example, the audio and video sinks +depend heavily on the underlying windowing system, and a different one +needs to be selected depending on the platform. You normally do not need +to worry about this when using elements like `playbin2` or +`autovideosink`, but, for those cases when you need to use one of the +sinks that are only available on specific platforms, this tutorial hints +you some of their peculiarities. + +# Linux + +### `ximagesink` + +A standard X-based video sink. It implements the XOverlay interface, so +the video window can be re-parented (embedded inside other windows). It +does not support scaling; it has to be performed by different means +(using the `videoscale` element, for example). + +### `xvimagesink` + +An X-based video sink, using the [X Video +Extension](http://en.wikipedia.org/wiki/X_video_extension) (Xv). It +implements the XOverlay interface, so the video window can be +re-parented (embedded inside other windows). It can perform scaling +efficiently, on the GPU. It is only available if the hardware and +corresponding drivers support the Xv extension. + +### `cluttersink` + +This is a GStreamer video sink element that sends data to a +[ClutterTexture](http://developer.gnome.org/clutter-gst/stable/ClutterGstVideoTexture.html) +which can then be used in any [Clutter](https://clutter-project.org/) +scene (See [Basic tutorial 15: Clutter +integration](Basic%2Btutorial%2B15%253A%2BClutter%2Bintegration.html)). Clutter +is a multiplatform library, so this sink is available on every platform +(as long as Clutter is installed). Clutter achieves +platform-independence by using [OpenGL](http://www.opengl.org) as the +rendering backend, so OpenGL must also be available in the system. + +### `alsasink` + +This audio sink outputs to the sound card via +[ALSA](http://www.alsa-project.org/) (Advanced Linux Sound +Architecture). This sink is available on almost every Linux platform. It +is often seen as a “low level” interface to the sound card, and can be +complicated to configure (See the comment on [Playback tutorial 9: +Digital audio +pass-through](Playback%2Btutorial%2B9%253A%2BDigital%2Baudio%2Bpass-through.html)). + +### `pulsesink` + +This sink plays audio to a [PulseAudio](http://www.pulseaudio.org/) +server. It is a higher level abstraction of the sound card than ALSA, +and is therefore easier to use and offers more advanced features. It has +been known to be unstable on some older Linux distributions, though. + +# Mac OS X + +### `osxvideosink` + +This is the only video sink available to GStreamer on Mac OS X. + +### `cluttersink` + +This is a GStreamer video sink element that sends data to +a [ClutterTexture](http://developer.gnome.org/clutter-gst/stable/ClutterGstVideoTexture.html) which +can then be used in any [Clutter](https://clutter-project.org/) scene +(See [Basic tutorial 15: Clutter +integration](Basic%2Btutorial%2B15%253A%2BClutter%2Bintegration.html)). Clutter +is a multiplatform library, so this sink is available on every platform +(as long as Clutter is installed). Clutter achieves +platform-independence by using [OpenGL](http://www.opengl.org/) as the +rendering backend, so OpenGL must also be available in the system. + +### `osxaudiosink` + +This is the only audio sink available to GStreamer on Mac OS X. + +# Windows + +### `directdrawsink` + +This is the oldest of the Windows video sinks, based on [Direct +Draw](http://en.wikipedia.org/wiki/DirectDraw). It requires DirectX 7, +so it is available on almost every current Windows platform. It supports +rescaling and filtering of the scaled image to alleviate aliasing. + +### `dshowvideosink` + +This video sink is based on [Direct +Show](http://en.wikipedia.org/wiki/Direct_Show).  It can use different +rendering back-ends, like +[EVR](http://en.wikipedia.org/wiki/Enhanced_Video_Renderer), +[VMR9](http://en.wikipedia.org/wiki/Direct_Show#Video_rendering_filters) +or +[VMR7](http://en.wikipedia.org/wiki/Direct_Show#Video_rendering_filters), +EVR only being available on Windows Vista or more recent. It supports +rescaling and filtering of the scaled image to alleviate aliasing. It +implements the XOverlay interface, so the video window can be +re-parented (embedded inside other windows). + +### `d3dvideosink` + +This video sink is based on +[Direct3D](http://en.wikipedia.org/wiki/Direct3D) and it’s the most +recent Windows video sink. It supports rescaling and filtering of the +scaled image to alleviate aliasing. It implements the XOverlay +interface, so the video window can be re-parented (embedded inside other +windows). + +### `cluttersink` + +This is a GStreamer video sink element that sends data to +a [ClutterTexture](http://developer.gnome.org/clutter-gst/stable/ClutterGstVideoTexture.html) which +can then be used in any [Clutter](https://clutter-project.org/) scene +(See [Basic tutorial 15: Clutter +integration](Basic%2Btutorial%2B15%253A%2BClutter%2Bintegration.html)). Clutter +is a multiplatform library, so this sink is available on every platform +(as long as Clutter is installed). Clutter achieves +platform-independence by using [OpenGL](http://www.opengl.org/) as the +rendering backend, so OpenGL must also be available in the system. + +### `directsoundsink` + +This is the default audio sink for Windows, based on [Direct +Sound](http://en.wikipedia.org/wiki/DirectSound), which is available in +all Windows versions. + +### `dshowdecwrapper` + +[Direct Show](http://en.wikipedia.org/wiki/Direct_Show) is a multimedia +framework similar to GStreamer. They are different enough, though, so +that their pipelines cannot be interconnected. However, through this +element, GStreamer can benefit from the decoding elements present in +Direct Show. `dshowdecwrapper` wraps multiple Direct Show decoders so +they can be embedded in a GStreamer pipeline. Use the `gst-inspect` tool +(see [Basic tutorial 10: GStreamer +tools](Basic%2Btutorial%2B10%253A%2BGStreamer%2Btools.html)) to see the +available decoders. + +# Android + +### `eglglessink` + +This video sink is based on [OpenGL +ES](http://en.wikipedia.org/wiki/OpenGL_ES) and +[EGL](http://en.wikipedia.org/wiki/EGL_%28OpenGL%29). It supports +rescaling and filtering of the scaled image to alleviate aliasing. It +implements the XOverlay interface, so the video window can be +re-parented (embedded inside other windows). + +### `openslessink` + +This is the only audio sink available to GStreamer on Android. It is +based on [OpenSL +ES](http://en.wikipedia.org/wiki/OpenSL_ES). + +### `androidmedia` + +[android.media.MediaCodec](http://developer.android.com/reference/android/media/MediaCodec.html) +is an Android specific API to access the codecs that are available on +the device, including hardware codecs. It is available since API level +16 (JellyBean) and GStreamer can use it via the androidmedia plugin for +audio and video decoding. + +# iOS + +### `eglglessink` + +This video sink is based on [OpenGL +ES](http://en.wikipedia.org/wiki/OpenGL_ES) and [EGL](http://en.wikipedia.org/wiki/EGL_%28OpenGL%29). +It supports rescaling and filtering of the scaled image to alleviate +aliasing. It implements the XOverlay interface, so the video window can +be re-parented (embedded inside other windows). + +### `osxaudiosink` + +This is the only audio sink available to GStreamer on iOS. + +### `iosassetsrc` + +Source element to read iOS assets, this is, documents stored in the +Library (like photos, music and videos). It can be instantiated +automatically by `playbin2` when URIs use the +`assets-library://` scheme. + +### `iosavassetsrc` + +Source element to read and decode iOS audiovisual assets, this is, +documents stored in the Library (like photos, music and videos). It can +be instantiated automatically by `playbin2` when URIs use the +`ipod-library://` scheme. Decoding is performed by the system, so +dedicated hardware will be used if available. + +# Conclusion + +This tutorial has shown a few specific details about some GStreamer +elements which are not available on all platforms. You do not have to +worry about them when using multiplatform elements like `playbin2` or +`autovideosink`, but it is good to know their personal quirks if +instancing them manually. + +It has been a pleasure having you here, and see you soon\! + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Basic+tutorial+2%3A+GStreamer+concepts.markdown b/Basic+tutorial+2%3A+GStreamer+concepts.markdown new file mode 100644 index 0000000000..0d041d8c13 --- /dev/null +++ b/Basic+tutorial+2%3A+GStreamer+concepts.markdown @@ -0,0 +1,372 @@ +# GStreamer SDK documentation : Basic tutorial 2: GStreamer concepts + +This page last changed on Jul 02, 2012 by xartigas. + +# Goal + +The previous tutorial showed how to build a pipeline automatically. Now +we are going to build a pipeline manually by instantiating each element +and linking them all together. In the process, we will learn: + + - What is a GStreamer element and how to create one. + + - How to connect elements to each other. + + - How to customize an element's behavior. + + - How to watch the bus for error conditions and extract information + from GStreamer messages. + +# Manual Hello World + +Copy this code into a text file named `basic-tutorial-2.c` (or find it +in the SDK installation). + +**basic-tutorial-2.c** + +``` theme: Default; brush: cpp; gutter: true +#include + +int main(int argc, char *argv[]) { + GstElement *pipeline, *source, *sink; + GstBus *bus; + GstMessage *msg; + GstStateChangeReturn ret; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Create the elements */ + source = gst_element_factory_make ("videotestsrc", "source"); + sink = gst_element_factory_make ("autovideosink", "sink"); + + /* Create the empty pipeline */ + pipeline = gst_pipeline_new ("test-pipeline"); + + if (!pipeline || !source || !sink) { + g_printerr ("Not all elements could be created.\n"); + return -1; + } + + /* Build the pipeline */ + gst_bin_add_many (GST_BIN (pipeline), source, sink, NULL); + if (gst_element_link (source, sink) != TRUE) { + g_printerr ("Elements could not be linked.\n"); + gst_object_unref (pipeline); + return -1; + } + + /* Modify the source's properties */ + g_object_set (source, "pattern", 0, NULL); + + /* Start playing */ + ret = gst_element_set_state (pipeline, GST_STATE_PLAYING); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (pipeline); + return -1; + } + + /* Wait until error or EOS */ + bus = gst_element_get_bus (pipeline); + msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, GST_MESSAGE_ERROR | GST_MESSAGE_EOS); + + /* Parse message */ + if (msg != NULL) { + GError *err; + gchar *debug_info; + + switch (GST_MESSAGE_TYPE (msg)) { + case GST_MESSAGE_ERROR: + gst_message_parse_error (msg, &err, &debug_info); + g_printerr ("Error received from element %s: %s\n", GST_OBJECT_NAME (msg->src), err->message); + g_printerr ("Debugging information: %s\n", debug_info ? debug_info : "none"); + g_clear_error (&err); + g_free (debug_info); + break; + case GST_MESSAGE_EOS: + g_print ("End-Of-Stream reached.\n"); + break; + default: + /* We should not reach here because we only asked for ERRORs and EOS */ + g_printerr ("Unexpected message received.\n"); + break; + } + gst_message_unref (msg); + } + + /* Free resources */ + gst_object_unref (bus); + gst_element_set_state (pipeline, GST_STATE_NULL); + gst_object_unref (pipeline); + return 0; +} +``` + + + + + + + + +
+
+Need help? (Click to expand) +
+
+

If you need help to compile this code, refer to the Building the tutorials section for your platform: Linux, Mac OS X or Windows, or use this specific command on Linux:

+
+
+

gcc basic-tutorial-2.c -o basic-tutorial-2 `pkg-config --cflags --libs gstreamer-0.10`

+
+
+

If you need help to run this code, refer to the Running the tutorials section for your platform: Linux, Mac OS X or Windows

+

This tutorial opens a window and displays a test pattern, without audio.

+

Required libraries: gstreamer-0.10

+
+
+ +# Walkthrough + +The basic construction block of GStreamer are the elements, which +process the data as it flows *downstream* from the source elements (the +producers of data) to the sink elements (the consumers of data), passing +through filter elements. + +![](attachments/327782/1343490.png) + +**Figure 1**. Example pipeline + +#### Element creation + +We will skip GStreamer initialization, since it is the same as the +previous tutorial: + +``` first-line: 12; theme: Default; brush: cpp; gutter: true +/* Create the elements */ +source = gst_element_factory_make ("videotestsrc", "source"); +sink = gst_element_factory_make ("autovideosink", "sink"); +``` + +As seen in this code, new elements can be created +with `gst_element_factory_make()`. The first parameter is the type of +element to create ([Basic tutorial 14: Handy +elements](Basic%2Btutorial%2B14%253A%2BHandy%2Belements.html) shows a +few common types, and [Basic tutorial 10: GStreamer +tools](Basic%2Btutorial%2B10%253A%2BGStreamer%2Btools.html) shows how to +obtain the list of all available types). The second parameter is the +name we want to give to this particular instance. Naming your elements +is useful to retrieve them later if you didn't keep a pointer (and for +more meaningful debug output). If you pass NULL for the name, however, +GStreamer will provide a unique name for you. + +For this tutorial we create two elements: a `videotestsrc` and +an `autovideosink`. + +`videotestsrc` is a source element (it produces data), which creates a +test video pattern. This element is useful for debugging purposes (and +tutorials) and is not usually found in real applications. + +`autovideosink` is a sink element (it consumes data), which displays on +a window the images it receives. There exist several video sinks, +depending on the operating system, with a varying range of capabilities. +`autovideosink` automatically selects and instantiates the best one, so +you do not have to worry with the details, and your code is more +platform-independent. + +#### Pipeline creation + +``` first-line: 16; theme: Default; brush: cpp; gutter: true +/* Create the empty pipeline */ +pipeline = gst_pipeline_new ("test-pipeline"); +``` + +All elements in GStreamer must typically be contained inside a pipeline +before they can be used, because it takes care of some clocking and +messaging functions. We create the pipeline with `gst_pipeline_new()`. + +``` first-line: 24; theme: Default; brush: cpp; gutter: true +/* Build the pipeline */ +gst_bin_add_many (GST_BIN (pipeline), source, sink, NULL); +if (gst_element_link (source, sink) != TRUE) { + g_printerr ("Elements could not be linked.\n"); + gst_object_unref (pipeline); + return -1; +} +``` + +A pipeline is a particular type of `bin`, which is the element used to +contain other elements. Therefore all methods which apply to bins also +apply to pipelines. In our case, we call `gst_bin_add_many()` to add the +elements to the pipeline (mind the cast). This function accepts a list +of elements to be added, ending with NULL. Individual elements can be +added with `gst_bin_add()`. + +These elements, however, are not linked with each other yet. For this, +we need to use `gst_element_link()`. Its first parameter is the source, +and the second one the destination. The order counts, because links must +be established following the data flow (this is, from source elements to +sink elements). Keep in mind that only elements residing in the same bin +can be linked together, so remember to add them to the pipeline before +trying to link them\! + +#### Properties + +``` first-line: 32; theme: Default; brush: cpp; gutter: true +/* Modify the source's properties */ +g_object_set (source, "pattern", 0, NULL); +``` + +Most GStreamer elements have customizable properties: named attributes +that can be modified to change the element's behavior (writable +properties) or inquired to find out about the element's internal state +(readable properties). + +Properties are read from with `g_object_get()` and written to +with `g_object_set()`. + +`g_object_set()` accepts a NULL-terminated list of property-name, +property-value pairs, so multiple properties can be changed in one go +(GStreamer elements are all a particular kind of `GObject`, which is the +entity offering property facilities: This is why the property handling +methods have the `g_` prefix). + +The line of code above changes the “pattern” property of `videotestsrc`, +which controls the type of test video the element outputs. Try different +values\! + +The names and possible values of all the properties an element exposes +can be found using the gst-inspect tool described in [Basic tutorial 10: +GStreamer tools](Basic%2Btutorial%2B10%253A%2BGStreamer%2Btools.html). + +#### Error checking + +At this point, we have the whole pipeline built and setup, and the rest +of the tutorial is very similar to the previous one, but we are going to +add more error checking: + +``` first-line: 35; theme: Default; brush: cpp; gutter: true +/* Start playing */ +ret = gst_element_set_state (pipeline, GST_STATE_PLAYING); +if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (pipeline); + return -1; +} +``` + +We call `gst_element_set_state()`, but this time we check its return +value for errors. Changing states is a delicate process and a few more +details are given in [Basic tutorial 3: Dynamic +pipelines](Basic%2Btutorial%2B3%253A%2BDynamic%2Bpipelines.html). + +``` first-line: 43; theme: Default; brush: cpp; gutter: true +/* Wait until error or EOS */ +bus = gst_element_get_bus (pipeline); +msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, GST_MESSAGE_ERROR | GST_MESSAGE_EOS); + +/* Parse message */ +if (msg != NULL) { + GError *err; + gchar *debug_info; + + switch (GST_MESSAGE_TYPE (msg)) { + case GST_MESSAGE_ERROR: + gst_message_parse_error (msg, &err, &debug_info); + g_printerr ("Error received from element %s: %s\n", GST_OBJECT_NAME (msg->src), err->message); + g_printerr ("Debugging information: %s\n", debug_info ? debug_info : "none"); + g_clear_error (&err); + g_free (debug_info); + break; + case GST_MESSAGE_EOS: + g_print ("End-Of-Stream reached.\n"); + break; + default: + /* We should not reach here because we only asked for ERRORs and EOS */ + g_printerr ("Unexpected message received.\n"); + break; + } + gst_message_unref (msg); +} +``` + +`gst_bus_timed_pop_filtered()` waits for execution to end and returns +with a `GstMessage` which we previously ignored. We +asked `gst_bus_timed_pop_filtered()` to return when GStreamer +encountered either an error condition or an EOS, so we need to check +which one happened, and print a message on screen (Your application will +probably want to undertake more complex actions). + +`GstMessage` is a very versatile structure which can deliver virtually +any kind of information. Fortunately, GStreamer provides a series of +parsing functions for each kind of message. + +In this case, once we know the message contains an error (by using the +`GST_MESSAGE_TYPE()` macro), we can use +`gst_message_parse_error()` which returns a GLib `GError` error +structure and a string useful for debugging. Examine the code to see how +these are used and freed afterward.  + +#### The GStreamer bus + +At this point it is worth introducing the GStreamer bus a bit more +formally. It is the object responsible for delivering to the application +the `GstMessage`s generated by the elements, in order and to the +application thread. This last point is important, because the actual +streaming of media is done in another thread than the application. + +Messages can be extracted from the bus synchronously with +`gst_bus_timed_pop_filtered()` and its siblings, or asynchronously, +using signals (shown in the next tutorial). Your application should +always keep an eye on the bus to be notified of errors and other +playback-related issues. + +The rest of the code is the cleanup sequence, which is the same as +in [Basic tutorial 1: Hello +world\!](Basic%2Btutorial%2B1%253A%2BHello%2Bworld%2521.html). + +# Exercise + +If you feel like practicing, try this exercise: Add a video filter +element in between the source and the sink of this pipeline. Use +`vertigotv` for a nice effect. You will need to create it, add it to the +pipeline, and link it with the other elements. + +Depending on your platform and available plugins, you might get a +“negotiation” error, because the sink does not understand what the +filter is producing (more about negotiation in [Basic tutorial 6: Media +formats and Pad +Capabilities](Basic%2Btutorial%2B6%253A%2BMedia%2Bformats%2Band%2BPad%2BCapabilities.html)). +In this case, try to add an element called `ffmpegcolorspace` after the +filter (this is, build a pipeline of 4 elements. More on +`ffmpegcolorspace` in [Basic tutorial 14: Handy +elements](Basic%2Btutorial%2B14%253A%2BHandy%2Belements.html)). + +# Conclusion + +This tutorial showed: + + - How to create elements with `gst_element_factory_make()` + + - How to create an empty pipeline with `gst_pipeline_new()` + + - How to add elements to the pipeline with `gst_bin_add_many()` + + - How to link the elements with each other with `gst_element_link()` + +This concludes the first of the two tutorials devoted to basic GStreamer +concepts. The second one comes next. + +Remember that attached to this page you should find the complete source +code of the tutorial and any accessory files needed to build it. + +It has been a pleasure having you here, and see you soon\! + +## Attachments: + +![](images/icons/bullet_blue.gif) +[figure-1.png](attachments/327782/1343490.png) (image/png) + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Basic+tutorial+3%3A+Dynamic+pipelines.markdown b/Basic+tutorial+3%3A+Dynamic+pipelines.markdown new file mode 100644 index 0000000000..9900480836 --- /dev/null +++ b/Basic+tutorial+3%3A+Dynamic+pipelines.markdown @@ -0,0 +1,566 @@ +# GStreamer SDK documentation : Basic tutorial 3: Dynamic pipelines + +This page last changed on May 30, 2012 by xartigas. + +# Goal + +This tutorial shows the rest of the basic concepts required to use +GStreamer, which allow building the pipeline "on the fly", as +information becomes available, instead of having a monolithic pipeline +defined at the beginning of your application. + +After this tutorial, you will have the necessary knowledge to start the +[Playback tutorials](Playback%2Btutorials.html). The points reviewed +here will be: + + - How to attain finer control when linking elements. + + - How to be notified of interesting events so you can react in time. + + - The various states in which an element can be. + +# Introduction + +As you are about to see, the pipeline in this tutorial is not completely +built before it is set to the playing state. This is OK. If we did not +take further action, data would reach the end of the pipeline and just +get discarded. But we are going to take further action... + +In this example we are opening a file which is multiplexed (or *muxed)*, +this is, audio and video are stored together inside a *container* file. +The elements responsible for opening such containers are called +*demuxers*, and some examples of container formats are Matroska (MKV), +Quick Time (QT, MOV), Ogg, or Advanced Systems Format (ASF, WMV, WMA). + +If a container embeds multiple streams (one video and two audio tracks, +for example), the demuxer will separate them and expose them through +different output ports. In this way, different branches can be created +in the pipeline, dealing with different types of data. + +The ports through which GStreamer elements communicate with each other +are called pads (`GstPad`). There exists sink pads, through which data +enters an element, and source pads, through which data exits an element. +It follows naturally that source elements only contain source pads, sink +elements only contain sink pads, and filter elements contain +both. + +![](attachments/327784/1540098.png) ![](attachments/327784/1540099.png) ![](attachments/327784/1540100.png) + +**Figure 1**. GStreamer elements with their pads. + +A demuxer contains one sink pad, through which the muxed data arrives, +and multiple source pads, one for each stream found in the container: + +![](attachments/327784/1540101.png) + +**Figure 2**. A demuxer with two source pads. + +For completeness, here you have a simplified pipeline containing a +demuxer and two branches, one for audio and one for video. This is +**NOT** the pipeline that will be built in this example: + +![](attachments/327784/1540102.png) + +**Figure 3**. Example pipeline with two branches. + +  + +The main complexity when dealing with demuxers is that they cannot +produce any information until they have received some data and have had +a chance to look at the container to see what is inside. This is, +demuxers start with no source pads to which other elements can link, and +thus the pipeline must necessarily terminate at them. + +The solution is to build the pipeline from the source down to the +demuxer, and set it to run (play). When the demuxer has received enough +information to know about the number and kind of streams in the +container, it will start creating source pads. This is the right time +for us to finish building the pipeline and attach it to the newly added +demuxer pads. + +For simplicity, in this example, we will only link to the audio pad and +ignore the video. + +# Dyamic Hello World + +Copy this code into a text file named `basic-tutorial-3.c` (or find it +in the SDK installation). + +**basic-tutorial-3.c** + +``` theme: Default; brush: cpp; gutter: true +#include + +/* Structure to contain all our information, so we can pass it to callbacks */ +typedef struct _CustomData { + GstElement *pipeline; + GstElement *source; + GstElement *convert; + GstElement *sink; +} CustomData; + +/* Handler for the pad-added signal */ +static void pad_added_handler (GstElement *src, GstPad *pad, CustomData *data); + +int main(int argc, char *argv[]) { + CustomData data; + GstBus *bus; + GstMessage *msg; + GstStateChangeReturn ret; + gboolean terminate = FALSE; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Create the elements */ + data.source = gst_element_factory_make ("uridecodebin", "source"); + data.convert = gst_element_factory_make ("audioconvert", "convert"); + data.sink = gst_element_factory_make ("autoaudiosink", "sink"); + + /* Create the empty pipeline */ + data.pipeline = gst_pipeline_new ("test-pipeline"); + + if (!data.pipeline || !data.source || !data.convert || !data.sink) { + g_printerr ("Not all elements could be created.\n"); + return -1; + } + + /* Build the pipeline. Note that we are NOT linking the source at this + * point. We will do it later. */ + gst_bin_add_many (GST_BIN (data.pipeline), data.source, data.convert , data.sink, NULL); + if (!gst_element_link (data.convert, data.sink)) { + g_printerr ("Elements could not be linked.\n"); + gst_object_unref (data.pipeline); + return -1; + } + + /* Set the URI to play */ + g_object_set (data.source, "uri", "http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + + /* Connect to the pad-added signal */ + g_signal_connect (data.source, "pad-added", G_CALLBACK (pad_added_handler), &data); + + /* Start playing */ + ret = gst_element_set_state (data.pipeline, GST_STATE_PLAYING); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (data.pipeline); + return -1; + } + + /* Listen to the bus */ + bus = gst_element_get_bus (data.pipeline); + do { + msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, + GST_MESSAGE_STATE_CHANGED | GST_MESSAGE_ERROR | GST_MESSAGE_EOS); + + /* Parse message */ + if (msg != NULL) { + GError *err; + gchar *debug_info; + + switch (GST_MESSAGE_TYPE (msg)) { + case GST_MESSAGE_ERROR: + gst_message_parse_error (msg, &err, &debug_info); + g_printerr ("Error received from element %s: %s\n", GST_OBJECT_NAME (msg->src), err->message); + g_printerr ("Debugging information: %s\n", debug_info ? debug_info : "none"); + g_clear_error (&err); + g_free (debug_info); + terminate = TRUE; + break; + case GST_MESSAGE_EOS: + g_print ("End-Of-Stream reached.\n"); + terminate = TRUE; + break; + case GST_MESSAGE_STATE_CHANGED: + /* We are only interested in state-changed messages from the pipeline */ + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data.pipeline)) { + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + g_print ("Pipeline state changed from %s to %s:\n", + gst_element_state_get_name (old_state), gst_element_state_get_name (new_state)); + } + break; + default: + /* We should not reach here */ + g_printerr ("Unexpected message received.\n"); + break; + } + gst_message_unref (msg); + } + } while (!terminate); + + /* Free resources */ + gst_object_unref (bus); + gst_element_set_state (data.pipeline, GST_STATE_NULL); + gst_object_unref (data.pipeline); + return 0; +} + +/* This function will be called by the pad-added signal */ +static void pad_added_handler (GstElement *src, GstPad *new_pad, CustomData *data) { + GstPad *sink_pad = gst_element_get_static_pad (data->convert, "sink"); + GstPadLinkReturn ret; + GstCaps *new_pad_caps = NULL; + GstStructure *new_pad_struct = NULL; + const gchar *new_pad_type = NULL; + + g_print ("Received new pad '%s' from '%s':\n", GST_PAD_NAME (new_pad), GST_ELEMENT_NAME (src)); + + /* If our converter is already linked, we have nothing to do here */ + if (gst_pad_is_linked (sink_pad)) { + g_print (" We are already linked. Ignoring.\n"); + goto exit; + } + + /* Check the new pad's type */ + new_pad_caps = gst_pad_get_caps (new_pad); + new_pad_struct = gst_caps_get_structure (new_pad_caps, 0); + new_pad_type = gst_structure_get_name (new_pad_struct); + if (!g_str_has_prefix (new_pad_type, "audio/x-raw")) { + g_print (" It has type '%s' which is not raw audio. Ignoring.\n", new_pad_type); + goto exit; + } + + /* Attempt the link */ + ret = gst_pad_link (new_pad, sink_pad); + if (GST_PAD_LINK_FAILED (ret)) { + g_print (" Type is '%s' but link failed.\n", new_pad_type); + } else { + g_print (" Link succeeded (type '%s').\n", new_pad_type); + } + +exit: + /* Unreference the new pad's caps, if we got them */ + if (new_pad_caps != NULL) + gst_caps_unref (new_pad_caps); + + /* Unreference the sink pad */ + gst_object_unref (sink_pad); +} +``` + + + + + + + + +
+
+Need help? (Click to expand) +
+
+

If you need help to compile this code, refer to the Building the tutorials section for your platform: Linux, Mac OS X or Windows, or use this specific command on Linux:

+
+
+

gcc basic-tutorial-3.c -o basic-tutorial-3 `pkg-config --cflags --libs gstreamer-0.10`

+
+
+

If you need help to run this code, refer to the Running the tutorials section for your platform: Linux, Mac OS X or Windows

+

This tutorial only plays audio. The media is fetched from the Internet, so it might take a few seconds to start, depending on your connection speed.

+

Required libraries: gstreamer-0.10

+
+
+ +# Walkthrough + +``` first-line: 3; theme: Default; brush: cpp; gutter: true +/* Structure to contain all our information, so we can pass it to callbacks */ +typedef struct _CustomData { + GstElement *pipeline; + GstElement *source; + GstElement *convert; + GstElement *sink; +} CustomData; +``` + +So far we have kept all the information we needed (pointers +to `GstElement`s, basically) as local variables. Since this tutorial +(and most real applications) involves callbacks, we will group all our +data in a structure for easier handling. + +``` first-line: 11; theme: Default; brush: cpp; gutter: true +/* Handler for the pad-added signal */ +static void pad_added_handler (GstElement *src, GstPad *pad, CustomData *data); +``` + +This is a forward reference, to be used later. + +``` first-line: 24; theme: Default; brush: cpp; gutter: true +/* Create the elements */ +data.source = gst_element_factory_make ("uridecodebin", "source"); +data.convert = gst_element_factory_make ("audioconvert", "convert"); +data.sink = gst_element_factory_make ("autoaudiosink", "sink"); +``` + +We create the elements as usual. `uridecodebin` will internally +instantiate all the necessary elements (sources, demuxers and decoders) +to turn a URI into raw audio and/or video streams. It does half the work +that `playbin2` does. Since it contains demuxers, its source pads are +not initially available and we will need to link to them on the fly. + +`audioconvert` is useful for converting between different audio formats, +making sure that this example will work on any platform, since the +format produced by the audio decoder might not be the same that the +audio sink expects. + +The `autoaudiosink` is the equivalent of `autovideosink` seen in the +previous tutorial, for audio. It will render the audio stream to the +audio card. + +``` first-line: 40; theme: Default; brush: cpp; gutter: true +if (!gst_element_link (data.convert, data.sink)) { + g_printerr ("Elements could not be linked.\n"); + gst_object_unref (data.pipeline); + return -1; +} +``` + +Here we link the converter element to the sink, but we **DO NOT** link +them with the source, since at this point it contains no source pads. We +just leave this branch (converter + sink) unlinked, until later on. + +``` first-line: 46; theme: Default; brush: cpp; gutter: true +/* Set the URI to play */ +g_object_set (data.source, "uri", "http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); +``` + +We set the URI of the file to play via a property, just like we did in +the previous tutorial. + +### Signals + +``` first-line: 49; theme: Default; brush: cpp; gutter: true +/* Connect to the pad-added signal */ +g_signal_connect (data.source, "pad-added", G_CALLBACK (pad_added_handler), &data); +``` + +`GSignals` are a crucial point in GStreamer. They allow you to be +notified (by means of a callback) when something interesting has +happened. Signals are identified by a name, and each `GObject` has its +own signals. + +In this line, we are *attaching* to the “pad-added” signal of our source +(an `uridecodebin` element). To do so, we use `g_signal_connect()` and +provide the callback function to be used (`pad_added_handler`) and a +data pointer. GStreamer does nothing with this data pointer, it just +forwards it to the callback so we can share information with it. In this +case, we pass a pointer to the `CustomData` structure we built specially +for this purpose. + +The signals that a `GstElement` generates can be found in its +documentation or using the `gst-inspect` tool as described in [Basic +tutorial 10: GStreamer +tools](Basic%2Btutorial%2B10%253A%2BGStreamer%2Btools.html). + +We are now ready to go\! Just set the pipeline to the PLAYING state and +start listening to the bus for interesting messages (like ERROR or EOS), +just like in the previous tutorials. + +### The callback + +When our source element finally has enough information to start +producing data, it will create source pads, and trigger the “pad-added” +signal. At this point our callback will be +called: + +``` first-line: 110; theme: Default; brush: cpp; gutter: true +static void pad_added_handler (GstElement *src, GstPad *new_pad, CustomData *data) { +``` + +`src` is the `GstElement` which triggered the signal. In this example, +it can only be the `uridecodebin`, since it is the only signal to which +we have attached. + +`new_pad` is the `GstPad` that has just been added to the `src` element. +This is usually the pad to which we want to link. + +`data` is the pointer we provided when attaching to the signal. In this +example, we use it to pass the `CustomData` pointer. + +``` first-line: 111; theme: Default; brush: cpp; gutter: true +GstPad *sink_pad = gst_element_get_static_pad (data->convert, "sink"); +``` + +From `CustomData` we extract the converter element, and then retrieve +its sink pad using `gst_element_get_static_pad ()`. This is the pad to +which we want to link `new_pad`. In the previous tutorial we linked +element against element, and let GStreamer choose the appropriate pads. +Now we are going to link the pads directly. + +``` first-line: 119; theme: Default; brush: cpp; gutter: true +/* If our converter is already linked, we have nothing to do here */ +if (gst_pad_is_linked (sink_pad)) { + g_print (" We are already linked. Ignoring.\n"); + goto exit; +} +``` + +`uridecodebin` can create as many pads as it sees fit, and for each one, +this callback will be called. These lines of code will prevent us from +trying to link to a new pad once we are already linked. + +``` first-line: 125; theme: Default; brush: cpp; gutter: true +/* Check the new pad's type */ +new_pad_caps = gst_pad_get_caps (new_pad); +new_pad_struct = gst_caps_get_structure (new_pad_caps, 0); +new_pad_type = gst_structure_get_name (new_pad_struct); +if (!g_str_has_prefix (new_pad_type, "audio/x-raw")) { + g_print (" It has type '%s' which is not raw audio. Ignoring.\n", new_pad_type); + goto exit; +} +``` + +Now we will check the type of data this new pad is going to output, +because we are only interested in pads producing audio. We have +previously created a piece of pipeline which deals with audio (an +`audioconvert` linked with an `autoaudiosink`), and we will not be able +to link it to a pad producing video, for example. + +`gst_pad_get_caps()` retrieves the *capabilities* of the pad (this is, +the kind of data it supports), wrapped in a `GstCaps` structure. A pad +can offer many capabilities, and hence `GstCaps` can contain many +`GstStructure`, each representing a different capability. + +Since, in this case, we know that the pad we want only had one +capability (audio), we retrieve the first `GstStructure` with +`gst_caps_get_structure()`. + +Finally, with `gst_structure_get_name()` we recover the name of the +structure, which contains the main description of the format (its MIME +type, actually). + +If the name does not start with `audio/x-raw`, this is not a decoded +audio pad, and we are not interested in it. + +Otherwise, attempt the link: + +``` first-line: 134; theme: Default; brush: cpp; gutter: true +/* Attempt the link */ +ret = gst_pad_link (new_pad, sink_pad); +if (GST_PAD_LINK_FAILED (ret)) { + g_print (" Type is '%s' but link failed.\n", new_pad_type); +} else { + g_print (" Link succeeded (type '%s').\n", new_pad_type); +} +``` + +`gst_pad_link()` tries to link two pads. As it was the case +with `gst_element_link()`, the link must be specified from source to +sink, and both pads must be owned by elements residing in the same bin +(or pipeline). + +And we are done\! When a pad of the right kind appears, it will be +linked to the rest of the audio-processing pipeline and execution will +continue until ERROR or EOS. However, we will squeeze a bit more content +from this tutorial by also introducing the concept of State. + +#### GStreamer States + +We already talked a bit about states when we said that playback does not +start until you bring the pipeline to the PLAYING state. We will +introduce here the rest of states and their meaning. There are 4 states +in GStreamer: + + + + + + + + + + + + + + + + + + + + +

NULL

the NULL state or initial state of an element.

READY

the element is ready to go to PAUSED.

PAUSED

the element is PAUSED, it is ready to accept and process data. Sink elements however only accept one buffer and then block.

PLAYING

the element is PLAYING, the clock is running and the data is flowing.

+ +You can only move between adjacent ones, this is, you can't go from NULL +to PLAYING, you have to go through the intermediate READY and PAUSED +states. If you set the pipeline to PLAYING, though, GStreamer will make +the intermediate transitions for you. + +``` theme: Default; brush: cpp; gutter: false +case GST_MESSAGE_STATE_CHANGED: + /* We are only interested in state-changed messages from the pipeline */ + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data.pipeline)) { + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + g_print ("Pipeline state changed from %s to %s:\n", + gst_element_state_get_name (old_state), gst_element_state_get_name (new_state)); + } + break; +``` + +We added this piece of code that listens to bus messages regarding state +changes and prints them on screen to help you understand the +transitions. Every element puts messages on the bus regarding its +current state, so we filter them out and only listen to messages coming +from the pipeline. + +Most applications only need to worry about going to PLAYING to start +playback, then to PAUSE to perform a pause, and then back to NULL at +program exit to free all resources. + +# Exercise + +Dynamic pad linking has traditionally been a difficult topic for a lot +of programmers. Prove that you have achieved its mastery by +instantiating an `autovideosink` (probably with an `ffmpegcolorspace` in +front) and link it to the demuxer when the right pad appears. Hint: You +are already printing on screen the type of the video pads. + +You should now see (and hear) the same movie as in [Basic tutorial 1: +Hello world\!](Basic%2Btutorial%2B1%253A%2BHello%2Bworld%2521.html). In +that tutorial you used `playbin2`, which is a handy element that +automatically takes care of all the demuxing and pad linking for you. +Most of the [Playback tutorials](Playback%2Btutorials.html) are devoted +to `playbin2`. + +# Conclusion + +In this tutorial, you learned: + + - How to be notified of events using `GSignals` + - How to connect `GstPad`s directly instead of their parent elements. + - The various states of a GStreamer element. + +You also combined these items to build a dynamic pipeline, which was not +defined at program start, but was created as information regarding the +media was available. + +You can now continue with the basic tutorials and learn about performing +seeks and time-related queries in [Basic tutorial 4: Time +management](Basic%2Btutorial%2B4%253A%2BTime%2Bmanagement.html) or move +to the [Playback tutorials](Playback%2Btutorials.html), and gain more +insight about the `playbin2` element. + +Remember that attached to this page you should find the complete source +code of the tutorial and any accessory files needed to build it. +It has been a pleasure having you here, and see you soon\! + +## Attachments: + +![](images/icons/bullet_blue.gif) +[src-element.png](attachments/327784/1540098.png) (image/png) +![](images/icons/bullet_blue.gif) +[filter-element.png](attachments/327784/1540099.png) (image/png) +![](images/icons/bullet_blue.gif) +[sink-element.png](attachments/327784/1540100.png) (image/png) +![](images/icons/bullet_blue.gif) +[filter-element-multi.png](attachments/327784/1540101.png) (image/png) +![](images/icons/bullet_blue.gif) +[simple-player.png](attachments/327784/1540102.png) (image/png) + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Basic+tutorial+4%3A+Time+management.markdown b/Basic+tutorial+4%3A+Time+management.markdown new file mode 100644 index 0000000000..3979196fbb --- /dev/null +++ b/Basic+tutorial+4%3A+Time+management.markdown @@ -0,0 +1,473 @@ +# GStreamer SDK documentation : Basic tutorial 4: Time management + +This page last changed on Jun 15, 2012 by xartigas. + +# Goal + +This tutorial shows how to use GStreamer time-related facilities. In +particular: + + - How to query the pipeline for information like stream position or + duration. + + - How to seek (jump) to a different position (time instant) inside the + stream. + +# Introduction + +`GstQuery` is a mechanism that allows asking an element or pad for a +piece of information. In this example we ask the pipeline if seeking is +allowed (some sources, like live streams, do not allow seeking). If it +is allowed, then, once the movie has been running for ten seconds, we +skip to a different position using a seek. + +In the previous tutorials, once we had the pipeline setup and running, +our main function just sat and waited to receive an ERROR or an EOS +through the bus. Here we modify this function to periodically wake up +and query the pipeline for the stream position, so we can print it on +screen. This is similar to what a media player would do, updating the +User Interface on a periodic basis. + +Finally, the stream duration is queried and updated whenever it changes. + +# Seeking example + +Copy this code into a text file named `basic-tutorial-4.c` (or find it +in the SDK installation). + +**basic-tutorial-4.c** + +``` theme: Default; brush: cpp; gutter: true +#include + +/* Structure to contain all our information, so we can pass it around */ +typedef struct _CustomData { + GstElement *playbin2; /* Our one and only element */ + gboolean playing; /* Are we in the PLAYING state? */ + gboolean terminate; /* Should we terminate execution? */ + gboolean seek_enabled; /* Is seeking enabled for this media? */ + gboolean seek_done; /* Have we performed the seek already? */ + gint64 duration; /* How long does this media last, in nanoseconds */ +} CustomData; + +/* Forward definition of the message processing function */ +static void handle_message (CustomData *data, GstMessage *msg); + +int main(int argc, char *argv[]) { + CustomData data; + GstBus *bus; + GstMessage *msg; + GstStateChangeReturn ret; + + data.playing = FALSE; + data.terminate = FALSE; + data.seek_enabled = FALSE; + data.seek_done = FALSE; + data.duration = GST_CLOCK_TIME_NONE; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Create the elements */ + data.playbin2 = gst_element_factory_make ("playbin2", "playbin2"); + + if (!data.playbin2) { + g_printerr ("Not all elements could be created.\n"); + return -1; + } + + /* Set the URI to play */ + g_object_set (data.playbin2, "uri", "http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + + /* Start playing */ + ret = gst_element_set_state (data.playbin2, GST_STATE_PLAYING); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (data.playbin2); + return -1; + } + + /* Listen to the bus */ + bus = gst_element_get_bus (data.playbin2); + do { + msg = gst_bus_timed_pop_filtered (bus, 100 * GST_MSECOND, + GST_MESSAGE_STATE_CHANGED | GST_MESSAGE_ERROR | GST_MESSAGE_EOS | GST_MESSAGE_DURATION); + + /* Parse message */ + if (msg != NULL) { + handle_message (&data, msg); + } else { + /* We got no message, this means the timeout expired */ + if (data.playing) { + GstFormat fmt = GST_FORMAT_TIME; + gint64 current = -1; + + /* Query the current position of the stream */ + if (!gst_element_query_position (data.playbin2, &fmt, ¤t)) { + g_printerr ("Could not query current position.\n"); + } + + /* If we didn't know it yet, query the stream duration */ + if (!GST_CLOCK_TIME_IS_VALID (data.duration)) { + if (!gst_element_query_duration (data.playbin2, &fmt, &data.duration)) { + g_printerr ("Could not query current duration.\n"); + } + } + + /* Print current position and total duration */ + g_print ("Position %" GST_TIME_FORMAT " / %" GST_TIME_FORMAT "\r", + GST_TIME_ARGS (current), GST_TIME_ARGS (data.duration)); + + /* If seeking is enabled, we have not done it yet, and the time is right, seek */ + if (data.seek_enabled && !data.seek_done && current > 10 * GST_SECOND) { + g_print ("\nReached 10s, performing seek...\n"); + gst_element_seek_simple (data.playbin2, GST_FORMAT_TIME, + GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, 30 * GST_SECOND); + data.seek_done = TRUE; + } + } + } + } while (!data.terminate); + + /* Free resources */ + gst_object_unref (bus); + gst_element_set_state (data.playbin2, GST_STATE_NULL); + gst_object_unref (data.playbin2); + return 0; +} + +static void handle_message (CustomData *data, GstMessage *msg) { + GError *err; + gchar *debug_info; + + switch (GST_MESSAGE_TYPE (msg)) { + case GST_MESSAGE_ERROR: + gst_message_parse_error (msg, &err, &debug_info); + g_printerr ("Error received from element %s: %s\n", GST_OBJECT_NAME (msg->src), err->message); + g_printerr ("Debugging information: %s\n", debug_info ? debug_info : "none"); + g_clear_error (&err); + g_free (debug_info); + data->terminate = TRUE; + break; + case GST_MESSAGE_EOS: + g_print ("End-Of-Stream reached.\n"); + data->terminate = TRUE; + break; + case GST_MESSAGE_DURATION: + /* The duration has changed, mark the current one as invalid */ + data->duration = GST_CLOCK_TIME_NONE; + break; + case GST_MESSAGE_STATE_CHANGED: { + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->playbin2)) { + g_print ("Pipeline state changed from %s to %s:\n", + gst_element_state_get_name (old_state), gst_element_state_get_name (new_state)); + + /* Remember whether we are in the PLAYING state or not */ + data->playing = (new_state == GST_STATE_PLAYING); + + if (data->playing) { + /* We just moved to PLAYING. Check if seeking is possible */ + GstQuery *query; + gint64 start, end; + query = gst_query_new_seeking (GST_FORMAT_TIME); + if (gst_element_query (data->playbin2, query)) { + gst_query_parse_seeking (query, NULL, &data->seek_enabled, &start, &end); + if (data->seek_enabled) { + g_print ("Seeking is ENABLED from %" GST_TIME_FORMAT " to %" GST_TIME_FORMAT "\n", + GST_TIME_ARGS (start), GST_TIME_ARGS (end)); + } else { + g_print ("Seeking is DISABLED for this stream.\n"); + } + } + else { + g_printerr ("Seeking query failed."); + } + gst_query_unref (query); + } + } + } break; + default: + /* We should not reach here */ + g_printerr ("Unexpected message received.\n"); + break; + } + gst_message_unref (msg); +} +``` + + + + + + + + +
+
+Need help? (Click to expand) +
+
+

If you need help to compile this code, refer to the Building the tutorials section for your platform: Linux or Windows, or use this specific command on Linux:

+
+
+

gcc basic-tutorial-4.c -o basic-tutorial-4 `pkg-config --cflags --libs gstreamer-0.10`

+
+
+

If you need help to run this code, refer to the Running the tutorials section for your platform: Linux  or Windows

+

This tutorial opens a window and displays a movie, with accompanying audio. The media is fetched from the Internet, so the window might take a few seconds to appear, depending on your connection speed. 10 seconds into the movie it skips to a new position.

+

Required libraries:  gstreamer-0.10

+
+
+ +# Walkthrough + +``` first-line: 3; theme: Default; brush: cpp; gutter: true +/* Structure to contain all our information, so we can pass it around */ +typedef struct _CustomData { + GstElement *playbin2; /* Our one and only element */ + gboolean playing; /* Are we in the PLAYING state? */ + gboolean terminate; /* Should we terminate execution? */ + gboolean seek_enabled; /* Is seeking enabled for this media? */ + gboolean seek_done; /* Have we performed the seek already? */ + gint64 duration; /* How long does this media last, in nanoseconds */ +} CustomData; + +/* Forward definition of the message processing function */ +static void handle_message (CustomData *data, GstMessage *msg); +``` + +We start by defining a structure to contain all our information, so we +can pass it around to other functions. In particular, in this example we +move the message handling code to its own function +`handle_message` because it is growing a bit too big. + +We would then build a pipeline composed of a single element, a +`playbin2`, which we already saw in [Basic tutorial 1: Hello +world\!](Basic%2Btutorial%2B1%253A%2BHello%2Bworld%2521.html). However, +`playbin2` is in itself a pipeline, and in this case it is the only +element in the pipeline, so we use directly the `playbin2` element. We +will skip the details: the URI of the clip is given to `playbin2` via +the URI property and the pipeline is set to the playing state. + +``` first-line: 53; theme: Default; brush: cpp; gutter: true +msg = gst_bus_timed_pop_filtered (bus, 100 * GST_MSECOND, + GST_MESSAGE_STATE_CHANGED | GST_MESSAGE_ERROR | GST_MESSAGE_EOS | GST_MESSAGE_DURATION); +``` + +Previously we did not provide a timeout to +`gst_bus_timed_pop_filtered()`, meaning that it didn't return until a +message was received. Now we use a timeout of 100 milliseconds, so, if +no message is received, 10 times per second the function will return +with a NULL instead of a `GstMessage`. We are going to use this to +update our “UI”. Note that the timeout period is specified in +nanoseconds, so usage of the `GST_SECOND` or `GST_MSECOND` macros is +highly recommended. + +If we got a message, we process it in the `handle_message`` `function +(next subsection), otherwise: + +#### User interface resfreshing + +``` first-line: 60; theme: Default; brush: cpp; gutter: true +/* We got no message, this means the timeout expired */ +if (data.playing) { +``` + +First off, if we are not in the PLAYING state, we do not want to do +anything here, since most queries would fail. Otherwise, it is time to +refresh the screen. + +We get here approximately 10 times per second, a good enough refresh +rate for our UI. We are going to print on screen the current media +position, which we can learn be querying the pipeline. This involves a +few steps that will be shown in the next subsection, but, since position +and duration are common enough queries, `GstElement` offers easier, +ready-made alternatives: + +``` first-line: 65; theme: Default; brush: cpp; gutter: true +/* Query the current position of the stream */ +if (!gst_element_query_position (data.pipeline, &fmt, ¤t)) { + g_printerr ("Could not query current position.\n"); +} +``` + +`gst_element_query_position()` hides the management of the query object +and directly provides us with the result. + +``` first-line: 70; theme: Default; brush: cpp; gutter: true +/* If we didn't know it yet, query the stream duration */ +if (!GST_CLOCK_TIME_IS_VALID (data.duration)) { + if (!gst_element_query_duration (data.pipeline, &fmt, &data.duration)) { + g_printerr ("Could not query current duration.\n"); + } +} +``` + +Now is a good moment to know the length of the stream, with +another `GstElement` helper function: `gst_element_query_duration()` + +``` first-line: 77; theme: Default; brush: cpp; gutter: true +/* Print current position and total duration */ +g_print ("Position %" GST_TIME_FORMAT " / %" GST_TIME_FORMAT "\r", + GST_TIME_ARGS (current), GST_TIME_ARGS (data.duration)); +``` + +Note the usage of the `GST_TIME_FORMAT` and `GST_TIME_ARGS` macros to +provide user-friendly representation of GStreamer +times. + +``` first-line: 81; theme: Default; brush: cpp; gutter: true +/* If seeking is enabled, we have not done it yet, and the time is right, seek */ +if (data.seek_enabled && !data.seek_done && current > 10 * GST_SECOND) { + g_print ("\nReached 10s, performing seek...\n"); + gst_element_seek_simple (data.pipeline, GST_FORMAT_TIME, + GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, 30 * GST_SECOND); + data.seek_done = TRUE; +} +``` + +Now we perform the seek, “simply” by +calling `gst_element_seek_simple()` on the pipeline. A lot of the +intricacies of seeking are hidden in this method, which is a good +thing\! + +Let's review the parameters: + +`GST_FORMAT_TIME` indicates that we are specifying the destination in +time, as opposite to bytes (and other more obscure mechanisms). + +Then come the GstSeekFlags, let's review the most common: + +`GST_SEEK_FLAG_FLUSH`: This discards all data currently in the pipeline +before doing the seek. Might pause a bit while the pipeline is refilled +and the new data starts to show up, but greatly increases the +“responsiveness” of the application. If this flag is not provided, +“stale” data might be shown for a while until the new position appears +at the end of the pipeline. + +`GST_SEEK_FLAG_KEY_UNIT`: Most encoded video streams cannot seek to +arbitrary positions, only to certain frames called Key Frames. When this +flag is used, the seek will actually move to the closest key frame and +start producing data straight away. If this flag is not used, the +pipeline will move internally to the closest key frame (it has no other +alternative) but data will not be shown until it reaches the requested +position. Not providing the flag is more accurate, but might take longer +to react. + +`GST_SEEK_FLAG_ACCURATE`: Some media clips do not provide enough +indexing information, meaning that seeking to arbitrary positions is +time-consuming. In these cases, GStreamer usually estimates the position +to seek to, and usually works just fine. If this precision is not good +enough for your case (you see seeks not going to the exact time you +asked for), then provide this flag. Be warned that it might take longer +to calculate the seeking position (very long, on some files). + +And finally we provide the position to seek to. Since we asked +for `GST_FORMAT_TIME` , this position is in nanoseconds, so we use +the `GST_SECOND` macro for simplicity. + +#### Message Pump + +The `handle_message` function processes all messages received through +the pipeline's bus. ERROR and EOS handling is the same as in previous +tutorials, so we skip to the interesting part: + +``` first-line: 116; theme: Default; brush: cpp; gutter: true +case GST_MESSAGE_DURATION: + /* The duration has changed, mark the current one as invalid */ + data->duration = GST_CLOCK_TIME_NONE; + break; +``` + +This message is posted on the bus whenever the duration of the stream +changes. Here we simply mark the current duration as invalid, so it gets +re-queried later. + +``` first-line: 120; theme: Default; brush: cpp; gutter: true +case GST_MESSAGE_STATE_CHANGED: { + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->pipeline)) { + g_print ("Pipeline state changed from %s to %s:\n", + gst_element_state_get_name (old_state), gst_element_state_get_name (new_state)); + + /* Remember whether we are in the PLAYING state or not */ + data->playing = (new_state == GST_STATE_PLAYING); +``` + +Seeks and time queries work better when in the PAUSED or PLAYING state, +since all elements have had a chance to receive information and +configure themselves. Here we take note of whether we are in the PLAYING +state or not with the `playing` variable. + +Also, if we have just entered the PLAYING state, we do our first query. +We ask the pipeline if seeking is allowed on this stream: + +``` first-line: 130; theme: Default; brush: cpp; gutter: true +if (data->playing) { + /* We just moved to PLAYING. Check if seeking is possible */ + GstQuery *query; + gint64 start, end; + query = gst_query_new_seeking (GST_FORMAT_TIME); + if (gst_element_query (data->pipeline, query)) { + gst_query_parse_seeking (query, NULL, &data->seek_enabled, &start, &end); + if (data->seek_enabled) { + g_print ("Seeking is ENABLED from %" GST_TIME_FORMAT " to %" GST_TIME_FORMAT "\n", + GST_TIME_ARGS (start), GST_TIME_ARGS (end)); + } else { + g_print ("Seeking is DISABLED for this stream.\n"); + } + } + else { + g_printerr ("Seeking query failed."); + } + gst_query_unref (query); +} +``` + + +`gst_query_new_seeking()` creates a new query object of the "seeking" +type, with `GST_FORMAT_TIME` format. This indicates that we are +interested in seeking by specifying the new time to which we want to +move. We could also ask for `GST_FORMAT_BYTES`, and then seek to a +particular byte position inside the source file, but this is normally +less useful. + +This query object is then passed to the pipeline with +`gst_element_query()`. The result is stored in the same query, and can +be easily retrieved with `gst_query_parse_seeking()`. It extracts a +boolean indicating if seeking is allowed, and the range in which seeking +is possible. + +Don't forget to unref the query object when you are done with it. + +And that's it\! With this knowledge a media player can be built which +periodically updates a slider based on the current stream position and +allows seeking by moving the slider\! + +# Conclusion + +This tutorial has shown: + + - How to query the pipeline for information using `GstQuery` + + - How to obtain common information like position and duration + using `gst_element_query_position()` and `gst_element_query_duration()` + + - How to seek to an arbitrary position in the stream + using `gst_element_seek_simple()` + + - In which states all these operations can be performed. + +The next tutorial shows how to integrate GStreamer with a Graphical User +Interface toolkit. + +Remember that attached to this page you should find the complete source +code of the tutorial and any accessory files needed to build it. + +It has been a pleasure having you here, and see you soon\! + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Basic+tutorial+5%3A+GUI+toolkit+integration.markdown b/Basic+tutorial+5%3A+GUI+toolkit+integration.markdown new file mode 100644 index 0000000000..aa8a4dfb44 --- /dev/null +++ b/Basic+tutorial+5%3A+GUI+toolkit+integration.markdown @@ -0,0 +1,926 @@ +# GStreamer SDK documentation : Basic tutorial 5: GUI toolkit integration + +This page last changed on Dec 03, 2012 by xartigas. + +# Goal + +This tutorial shows how to integrate GStreamer in a Graphical User +Interface (GUI) toolkit like [GTK+](http://www.gtk.org). Basically, +GStreamer takes care of media playback while the GUI toolkit handles +user interaction. The most interesting parts are those in which both +libraries have to interact: Instructing GStreamer to output video to a +GTK+ window and forwarding user actions to GStreamer. + +In particular, you will learn: + + - How to tell GStreamer to output video to a particular window + (instead of creating its own window). + + - How to continuously refresh the GUI with information from GStreamer. + + - How to update the GUI from the multiple threads of GStreamer, an + operation forbidden on most GUI toolkits. + + - A mechanism to subscribe only to the messages you are interested in, + instead of being notified of all of them. + +# Introduction + +We are going to build a media player using the +[GTK+](http://www.gtk.org/) toolkit, but the concepts apply to other +toolkits like [QT](http://qt-project.org/), for example. A minimum +knowledge of [GTK+](http://www.gtk.org/) will help understand this +tutorial. + +The main point is telling GStreamer to output the video to a window of +our choice. The specific mechanism depends on the operating system (or +rather, on the windowing system), but GStreamer provides a layer of +abstraction for the sake of platform independence. This independence +comes through the `XOverlay` interface, that allows the application to +tell a video sink the handler of the window that should receive the +rendering. + + + + + + + + +
GObject interfaces
+ +

A GObject interface (which GStreamer uses) is a set of functions that an element can implement. If it does, then it is said to support that particular interface. For example, video sinks usually create their own windows to display video, but, if they are also capable of rendering to an external window, they can choose to implement the XOverlay interface and provide functions to specify this external window. From the application developer point of view, if a certain interface is supported, you can use it and forget about which kind of element is implementing it. Moreover, if you are using playbin2, it will automatically expose some of the interfaces supported by its internal elements: You can use your interface functions directly on playbin2 without knowing who is implementing them!

+ +Another issue is that GUI toolkits usually only allow manipulation of +the graphical “widgets” through the main (or application) thread, +whereas GStreamer usually spawns multiple threads to take care of +different tasks. Calling [GTK+](http://www.gtk.org/) functions from +within callbacks will usually fail, because callbacks execute in the +calling thread, which does not need to be the main thread. This problem +can be solved by posting a message on the GStreamer bus in the callback: +The messages will be received by the main thread which will then react +accordingly. + +Finally, so far we have registered a `handle_message` function that got +called every time a message appeared on the bus, which forced us to +parse every message to see if it was of interest to us. In this tutorial +a different method is used that registers a callback for each kind of +message, so there is less parsing and less code overall. + +# A media player in GTK+ + +Let's write a very simple media player based on playbin2, this time, +with a GUI\! + +Copy this code into a text file named `basic-tutorial-5.c` (or find it +in the SDK installation). + +**basic-tutorial-5.c** + +``` theme: Default; brush: cpp; gutter: true +#include + +#include +#include +#include + +#include +#if defined (GDK_WINDOWING_X11) +#include +#elif defined (GDK_WINDOWING_WIN32) +#include +#elif defined (GDK_WINDOWING_QUARTZ) +#include +#endif + +/* Structure to contain all our information, so we can pass it around */ +typedef struct _CustomData { + GstElement *playbin2; /* Our one and only pipeline */ + + GtkWidget *slider; /* Slider widget to keep track of current position */ + GtkWidget *streams_list; /* Text widget to display info about the streams */ + gulong slider_update_signal_id; /* Signal ID for the slider update signal */ + + GstState state; /* Current state of the pipeline */ + gint64 duration; /* Duration of the clip, in nanoseconds */ +} CustomData; + +/* This function is called when the GUI toolkit creates the physical window that will hold the video. + * At this point we can retrieve its handler (which has a different meaning depending on the windowing system) + * and pass it to GStreamer through the XOverlay interface. */ +static void realize_cb (GtkWidget *widget, CustomData *data) { + GdkWindow *window = gtk_widget_get_window (widget); + guintptr window_handle; + + if (!gdk_window_ensure_native (window)) + g_error ("Couldn't create native window needed for GstXOverlay!"); + + /* Retrieve window handler from GDK */ +#if defined (GDK_WINDOWING_WIN32) + window_handle = (guintptr)GDK_WINDOW_HWND (window); +#elif defined (GDK_WINDOWING_QUARTZ) + window_handle = gdk_quartz_window_get_nsview (window); +#elif defined (GDK_WINDOWING_X11) + window_handle = GDK_WINDOW_XID (window); +#endif + /* Pass it to playbin2, which implements XOverlay and will forward it to the video sink */ + gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->playbin2), window_handle); +} + +/* This function is called when the PLAY button is clicked */ +static void play_cb (GtkButton *button, CustomData *data) { + gst_element_set_state (data->playbin2, GST_STATE_PLAYING); +} + +/* This function is called when the PAUSE button is clicked */ +static void pause_cb (GtkButton *button, CustomData *data) { + gst_element_set_state (data->playbin2, GST_STATE_PAUSED); +} + +/* This function is called when the STOP button is clicked */ +static void stop_cb (GtkButton *button, CustomData *data) { + gst_element_set_state (data->playbin2, GST_STATE_READY); +} + +/* This function is called when the main window is closed */ +static void delete_event_cb (GtkWidget *widget, GdkEvent *event, CustomData *data) { + stop_cb (NULL, data); + gtk_main_quit (); +} + +/* This function is called everytime the video window needs to be redrawn (due to damage/exposure, + * rescaling, etc). GStreamer takes care of this in the PAUSED and PLAYING states, otherwise, + * we simply draw a black rectangle to avoid garbage showing up. */ +static gboolean expose_cb (GtkWidget *widget, GdkEventExpose *event, CustomData *data) { + if (data->state < GST_STATE_PAUSED) { + GtkAllocation allocation; + GdkWindow *window = gtk_widget_get_window (widget); + cairo_t *cr; + + /* Cairo is a 2D graphics library which we use here to clean the video window. + * It is used by GStreamer for other reasons, so it will always be available to us. */ + gtk_widget_get_allocation (widget, &allocation); + cr = gdk_cairo_create (window); + cairo_set_source_rgb (cr, 0, 0, 0); + cairo_rectangle (cr, 0, 0, allocation.width, allocation.height); + cairo_fill (cr); + cairo_destroy (cr); + } + + return FALSE; +} + +/* This function is called when the slider changes its position. We perform a seek to the + * new position here. */ +static void slider_cb (GtkRange *range, CustomData *data) { + gdouble value = gtk_range_get_value (GTK_RANGE (data->slider)); + gst_element_seek_simple (data->playbin2, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, + (gint64)(value * GST_SECOND)); +} + +/* This creates all the GTK+ widgets that compose our application, and registers the callbacks */ +static void create_ui (CustomData *data) { + GtkWidget *main_window; /* The uppermost window, containing all other windows */ + GtkWidget *video_window; /* The drawing area where the video will be shown */ + GtkWidget *main_box; /* VBox to hold main_hbox and the controls */ + GtkWidget *main_hbox; /* HBox to hold the video_window and the stream info text widget */ + GtkWidget *controls; /* HBox to hold the buttons and the slider */ + GtkWidget *play_button, *pause_button, *stop_button; /* Buttons */ + + main_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + g_signal_connect (G_OBJECT (main_window), "delete-event", G_CALLBACK (delete_event_cb), data); + + video_window = gtk_drawing_area_new (); + gtk_widget_set_double_buffered (video_window, FALSE); + g_signal_connect (video_window, "realize", G_CALLBACK (realize_cb), data); + g_signal_connect (video_window, "expose_event", G_CALLBACK (expose_cb), data); + + play_button = gtk_button_new_from_stock (GTK_STOCK_MEDIA_PLAY); + g_signal_connect (G_OBJECT (play_button), "clicked", G_CALLBACK (play_cb), data); + + pause_button = gtk_button_new_from_stock (GTK_STOCK_MEDIA_PAUSE); + g_signal_connect (G_OBJECT (pause_button), "clicked", G_CALLBACK (pause_cb), data); + + stop_button = gtk_button_new_from_stock (GTK_STOCK_MEDIA_STOP); + g_signal_connect (G_OBJECT (stop_button), "clicked", G_CALLBACK (stop_cb), data); + + data->slider = gtk_hscale_new_with_range (0, 100, 1); + gtk_scale_set_draw_value (GTK_SCALE (data->slider), 0); + data->slider_update_signal_id = g_signal_connect (G_OBJECT (data->slider), "value-changed", G_CALLBACK (slider_cb), data); + + data->streams_list = gtk_text_view_new (); + gtk_text_view_set_editable (GTK_TEXT_VIEW (data->streams_list), FALSE); + + controls = gtk_hbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (controls), play_button, FALSE, FALSE, 2); + gtk_box_pack_start (GTK_BOX (controls), pause_button, FALSE, FALSE, 2); + gtk_box_pack_start (GTK_BOX (controls), stop_button, FALSE, FALSE, 2); + gtk_box_pack_start (GTK_BOX (controls), data->slider, TRUE, TRUE, 2); + + main_hbox = gtk_hbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (main_hbox), video_window, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (main_hbox), data->streams_list, FALSE, FALSE, 2); + + main_box = gtk_vbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (main_box), main_hbox, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (main_box), controls, FALSE, FALSE, 0); + gtk_container_add (GTK_CONTAINER (main_window), main_box); + gtk_window_set_default_size (GTK_WINDOW (main_window), 640, 480); + + gtk_widget_show_all (main_window); +} + +/* This function is called periodically to refresh the GUI */ +static gboolean refresh_ui (CustomData *data) { + GstFormat fmt = GST_FORMAT_TIME; + gint64 current = -1; + + /* We do not want to update anything unless we are in the PAUSED or PLAYING states */ + if (data->state < GST_STATE_PAUSED) + return TRUE; + + /* If we didn't know it yet, query the stream duration */ + if (!GST_CLOCK_TIME_IS_VALID (data->duration)) { + if (!gst_element_query_duration (data->playbin2, &fmt, &data->duration)) { + g_printerr ("Could not query current duration.\n"); + } else { + /* Set the range of the slider to the clip duration, in SECONDS */ + gtk_range_set_range (GTK_RANGE (data->slider), 0, (gdouble)data->duration / GST_SECOND); + } + } + + if (gst_element_query_position (data->playbin2, &fmt, ¤t)) { + /* Block the "value-changed" signal, so the slider_cb function is not called + * (which would trigger a seek the user has not requested) */ + g_signal_handler_block (data->slider, data->slider_update_signal_id); + /* Set the position of the slider to the current pipeline positoin, in SECONDS */ + gtk_range_set_value (GTK_RANGE (data->slider), (gdouble)current / GST_SECOND); + /* Re-enable the signal */ + g_signal_handler_unblock (data->slider, data->slider_update_signal_id); + } + return TRUE; +} + +/* This function is called when new metadata is discovered in the stream */ +static void tags_cb (GstElement *playbin2, gint stream, CustomData *data) { + /* We are possibly in a GStreamer working thread, so we notify the main + * thread of this event through a message in the bus */ + gst_element_post_message (playbin2, + gst_message_new_application (GST_OBJECT (playbin2), + gst_structure_new ("tags-changed", NULL))); +} + +/* This function is called when an error message is posted on the bus */ +static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + GError *err; + gchar *debug_info; + + /* Print error details on the screen */ + gst_message_parse_error (msg, &err, &debug_info); + g_printerr ("Error received from element %s: %s\n", GST_OBJECT_NAME (msg->src), err->message); + g_printerr ("Debugging information: %s\n", debug_info ? debug_info : "none"); + g_clear_error (&err); + g_free (debug_info); + + /* Set the pipeline to READY (which stops playback) */ + gst_element_set_state (data->playbin2, GST_STATE_READY); +} + +/* This function is called when an End-Of-Stream message is posted on the bus. + * We just set the pipeline to READY (which stops playback) */ +static void eos_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + g_print ("End-Of-Stream reached.\n"); + gst_element_set_state (data->playbin2, GST_STATE_READY); +} + +/* This function is called when the pipeline changes states. We use it to + * keep track of the current state. */ +static void state_changed_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->playbin2)) { + data->state = new_state; + g_print ("State set to %s\n", gst_element_state_get_name (new_state)); + if (old_state == GST_STATE_READY && new_state == GST_STATE_PAUSED) { + /* For extra responsiveness, we refresh the GUI as soon as we reach the PAUSED state */ + refresh_ui (data); + } + } +} + +/* Extract metadata from all the streams and write it to the text widget in the GUI */ +static void analyze_streams (CustomData *data) { + gint i; + GstTagList *tags; + gchar *str, *total_str; + guint rate; + gint n_video, n_audio, n_text; + GtkTextBuffer *text; + + /* Clean current contents of the widget */ + text = gtk_text_view_get_buffer (GTK_TEXT_VIEW (data->streams_list)); + gtk_text_buffer_set_text (text, "", -1); + + /* Read some properties */ + g_object_get (data->playbin2, "n-video", &n_video, NULL); + g_object_get (data->playbin2, "n-audio", &n_audio, NULL); + g_object_get (data->playbin2, "n-text", &n_text, NULL); + + for (i = 0; i < n_video; i++) { + tags = NULL; + /* Retrieve the stream's video tags */ + g_signal_emit_by_name (data->playbin2, "get-video-tags", i, &tags); + if (tags) { + total_str = g_strdup_printf ("video stream %d:\n", i); + gtk_text_buffer_insert_at_cursor (text, total_str, -1); + g_free (total_str); + gst_tag_list_get_string (tags, GST_TAG_VIDEO_CODEC, &str); + total_str = g_strdup_printf (" codec: %s\n", str ? str : "unknown"); + gtk_text_buffer_insert_at_cursor (text, total_str, -1); + g_free (total_str); + g_free (str); + gst_tag_list_free (tags); + } + } + + for (i = 0; i < n_audio; i++) { + tags = NULL; + /* Retrieve the stream's audio tags */ + g_signal_emit_by_name (data->playbin2, "get-audio-tags", i, &tags); + if (tags) { + total_str = g_strdup_printf ("\naudio stream %d:\n", i); + gtk_text_buffer_insert_at_cursor (text, total_str, -1); + g_free (total_str); + if (gst_tag_list_get_string (tags, GST_TAG_AUDIO_CODEC, &str)) { + total_str = g_strdup_printf (" codec: %s\n", str); + gtk_text_buffer_insert_at_cursor (text, total_str, -1); + g_free (total_str); + g_free (str); + } + if (gst_tag_list_get_string (tags, GST_TAG_LANGUAGE_CODE, &str)) { + total_str = g_strdup_printf (" language: %s\n", str); + gtk_text_buffer_insert_at_cursor (text, total_str, -1); + g_free (total_str); + g_free (str); + } + if (gst_tag_list_get_uint (tags, GST_TAG_BITRATE, &rate)) { + total_str = g_strdup_printf (" bitrate: %d\n", rate); + gtk_text_buffer_insert_at_cursor (text, total_str, -1); + g_free (total_str); + } + gst_tag_list_free (tags); + } + } + + for (i = 0; i < n_text; i++) { + tags = NULL; + /* Retrieve the stream's subtitle tags */ + g_signal_emit_by_name (data->playbin2, "get-text-tags", i, &tags); + if (tags) { + total_str = g_strdup_printf ("\nsubtitle stream %d:\n", i); + gtk_text_buffer_insert_at_cursor (text, total_str, -1); + g_free (total_str); + if (gst_tag_list_get_string (tags, GST_TAG_LANGUAGE_CODE, &str)) { + total_str = g_strdup_printf (" language: %s\n", str); + gtk_text_buffer_insert_at_cursor (text, total_str, -1); + g_free (total_str); + g_free (str); + } + gst_tag_list_free (tags); + } + } +} + +/* This function is called when an "application" message is posted on the bus. + * Here we retrieve the message posted by the tags_cb callback */ +static void application_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + if (g_strcmp0 (gst_structure_get_name (msg->structure), "tags-changed") == 0) { + /* If the message is the "tags-changed" (only one we are currently issuing), update + * the stream info GUI */ + analyze_streams (data); + } +} + +int main(int argc, char *argv[]) { + CustomData data; + GstStateChangeReturn ret; + GstBus *bus; + + /* Initialize GTK */ + gtk_init (&argc, &argv); + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Initialize our data structure */ + memset (&data, 0, sizeof (data)); + data.duration = GST_CLOCK_TIME_NONE; + + /* Create the elements */ + data.playbin2 = gst_element_factory_make ("playbin2", "playbin2"); + + if (!data.playbin2) { + g_printerr ("Not all elements could be created.\n"); + return -1; + } + + /* Set the URI to play */ + g_object_set (data.playbin2, "uri", "http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + + /* Connect to interesting signals in playbin2 */ + g_signal_connect (G_OBJECT (data.playbin2), "video-tags-changed", (GCallback) tags_cb, &data); + g_signal_connect (G_OBJECT (data.playbin2), "audio-tags-changed", (GCallback) tags_cb, &data); + g_signal_connect (G_OBJECT (data.playbin2), "text-tags-changed", (GCallback) tags_cb, &data); + + /* Create the GUI */ + create_ui (&data); + + /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ + bus = gst_element_get_bus (data.playbin2); + gst_bus_add_signal_watch (bus); + g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, &data); + g_signal_connect (G_OBJECT (bus), "message::eos", (GCallback)eos_cb, &data); + g_signal_connect (G_OBJECT (bus), "message::state-changed", (GCallback)state_changed_cb, &data); + g_signal_connect (G_OBJECT (bus), "message::application", (GCallback)application_cb, &data); + gst_object_unref (bus); + + /* Start playing */ + ret = gst_element_set_state (data.playbin2, GST_STATE_PLAYING); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (data.playbin2); + return -1; + } + + /* Register a function that GLib will call every second */ + g_timeout_add_seconds (1, (GSourceFunc)refresh_ui, &data); + + /* Start the GTK main loop. We will not regain control until gtk_main_quit is called. */ + gtk_main (); + + /* Free resources */ + gst_element_set_state (data.playbin2, GST_STATE_NULL); + gst_object_unref (data.playbin2); + return 0; +} +``` + + + + + + + + +
+
+Need help? (Click to expand) +
+
+

If you need help to compile this code, refer to the Building the tutorials section for your platform: Linux, Mac OS X or Windows, or use this specific command on Linux:

+
+
+

gcc basic-tutorial-5.c -o basic-tutorial-5 `pkg-config --cflags --libs gstreamer-interfaces-0.10 gtk+-2.0 gstreamer-0.10`

+
+
+

If you need help to run this code, refer to the Running the tutorials section for your platform: Linux, Mac OS X or Windows

+

+

This tutorial opens a GTK+ window and displays a movie, with accompanying audio. The media is fetched from the Internet, so the window might take a few seconds to appear, depending on your connection speed. The Window has some GTK+ buttons to Pause, Stop and Play the movie, and a slider to show the current position of the stream, which can be dragged to change it. Also, information about the stream is shown on a column at the right edge of the window.

+

Bear in mind that there is no latency management (buffering), so on slow connections, the movie might stop after a few seconds. See how Basic tutorial 12: Streaming solves this issue.

+

+

Required libraries: gstreamer-interfaces-0.10 gtk+-2.0 gstreamer-0.10

+
+
+ +# Walkthrough + +Regarding this tutorial's structure, we are not going to use forward +function definitions anymore: Functions will be defined before they are +used. Also, for clarity of explanation, the order in which the snippets +of code are presented will not always match the program order. Use the +line numbers to locate the snippets in the complete code. + +``` first-line: 7; theme: Default; brush: cpp; gutter: true +#include +#if defined (GDK_WINDOWING_X11) +#include +#elif defined (GDK_WINDOWING_WIN32) +#include +#elif defined (GDK_WINDOWING_QUARTZ) +#include +#endif +``` + +The first thing worth noticing is that we are no longer completely +platform-independent. We need to include the appropriate GDK headers for +the windowing system we are going to use. Fortunately, there are not +that many supported windowing systems, so these three lines often +suffice: X11 for Linux, Win32 for Windows and Quartz for Mac OSX. + +This tutorial is composed mostly of callback functions, which will be +called from GStreamer or GTK+, so let's review the `main` function, +which registers all these callbacks. + +``` first-line: 324; theme: Default; brush: cpp; gutter: true +int main(int argc, char *argv[]) { + CustomData data; + GstStateChangeReturn ret; + GstBus *bus; + + /* Initialize GTK */ + gtk_init (&argc, &argv); + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Initialize our data structure */ + memset (&data, 0, sizeof (data)); + data.duration = GST_CLOCK_TIME_NONE; + + /* Create the elements */ + data.playbin2 = gst_element_factory_make ("playbin2", "playbin2"); + + if (!data.playbin2) { + g_printerr ("Not all elements could be created.\n"); + return -1; + } + + /* Set the URI to play */ + g_object_set (data.playbin2, "uri", "http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); +``` + +Standard GStreamer initialization and playbin2 pipeline creation, along +with GTK+ initialization. Not much new. + +``` first-line: 350; theme: Default; brush: cpp; gutter: true +/* Connect to interesting signals in playbin2 */ +g_signal_connect (G_OBJECT (data.playbin2), "video-tags-changed", (GCallback) tags_cb, &data); +g_signal_connect (G_OBJECT (data.playbin2), "audio-tags-changed", (GCallback) tags_cb, &data); +g_signal_connect (G_OBJECT (data.playbin2), "text-tags-changed", (GCallback) tags_cb, &data); +``` + +We are interested in being notified when new tags (metadata) appears on +the stream. For simplicity, we are going to handle all kinds of tags +(video, audio and text) from the same callback `tags_cb`. + +``` first-line: 355; theme: Default; brush: cpp; gutter: true +/* Create the GUI */ +create_ui (&data); +``` + +All GTK+ widget creation and signal registration happens in this +function. It contains only GTK-related function calls, so we will skip +over its definition. The signals to which it registers convey user +commands, as shown below when reviewing the +callbacks. + +``` first-line: 359; theme: Default; brush: cpp; gutter: true +/* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ +bus = gst_element_get_bus (data.playbin2); +gst_bus_add_signal_watch (bus); +g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, &data); +g_signal_connect (G_OBJECT (bus), "message::eos", (GCallback)eos_cb, &data); +g_signal_connect (G_OBJECT (bus), "message::state-changed", (GCallback)state_changed_cb, &data); +g_signal_connect (G_OBJECT (bus), "message::application", (GCallback)application_cb, &data); +gst_object_unref (bus); +``` + +In [Playback tutorial 1: Playbin2 +usage](Playback%2Btutorial%2B1%253A%2BPlaybin2%2Busage.html), `gst_bus_add_watch()` is +used to register a function that receives every message posted to the +GStreamer bus. We can achieve a finer granularity by using signals +instead, which allow us to register only to the messages we are +interested in. By calling `gst_bus_add_signal_watch()` we instruct the +bus to emit a signal every time it receives a message. This signal has +the name `message::detail` where *`detail`* is the message that +triggered the signal emission. For example, when the bus receives the +EOS message, it emits a signal with the name `message::eos`. + +This tutorial is using the `Signals`'s details to register only to the +messages we care about. If we had registered to the `message` signal, we +would be notified of every single message, just like +`gst_bus_add_watch()` would do. + +Keep in mind that, in order for the bus watches to work (be it a +`gst_bus_add_watch()` or a `gst_bus_add_signal_watch()`), there must be +GLib `Main Loop` running. In this case, it is hidden inside the +[GTK+](http://www.gtk.org/) main loop. + +``` first-line: 374; theme: Default; brush: cpp; gutter: true +/* Register a function that GLib will call every second */ +g_timeout_add_seconds (1, (GSourceFunc)refresh_ui, &data); +``` + +Before transferring control to GTK+, we use `g_timeout_add_seconds +()` to register yet another callback, this time with a timeout, so it +gets called every second. We are going to use it to refresh the GUI from +the `refresh_ui` function. + +After this, we are done with the setup and can start the GTK+ main loop. +We will regain control from our callbacks when interesting things +happen. Let's review the callbacks. Each callback has a different +signature, depending on who will call it. You can look up the signature +(the meaning of the parameters and the return value) in the +documentation of the +signal. + +``` first-line: 28; theme: Default; brush: cpp; gutter: true +/* This function is called when the GUI toolkit creates the physical window that will hold the video. + * At this point we can retrieve its handler (which has a different meaning depending on the windowing system) + * and pass it to GStreamer through the XOverlay interface. */ +static void realize_cb (GtkWidget *widget, CustomData *data) { + GdkWindow *window = gtk_widget_get_window (widget); + guintptr window_handle; + + if (!gdk_window_ensure_native (window)) + g_error ("Couldn't create native window needed for GstXOverlay!"); + + /* Retrieve window handler from GDK */ +#if defined (GDK_WINDOWING_WIN32) + window_handle = (guintptr)GDK_WINDOW_HWND (window); +#elif defined (GDK_WINDOWING_QUARTZ) + window_handle = gdk_quartz_window_get_nsview (window); +#elif defined (GDK_WINDOWING_X11) + window_handle = GDK_WINDOW_XID (window); +#endif + /* Pass it to playbin2, which implements XOverlay and will forward it to the video sink */ + gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->playbin2), window_handle); +} +``` + +The code comments talks by itself. At this point in the life cycle of +the application, we know the handle (be it an X11's `XID`, a Window's +`HWND` or a Quartz's `NSView`) of the window where GStreamer should +render the video. We simply retrieve it from the windowing system and +pass it to `playbin2` through the `XOverlay` interface using +`gst_x_overlay_set_window_handle()`. `playbin2` will locate the video +sink and pass the handler to it, so it does not create its own window +and uses this one. + +Not much more to see here; `playbin2` and the `XOverlay` really simplify +this process a lot\! + +``` first-line: 50; theme: Default; brush: cpp; gutter: true +/* This function is called when the PLAY button is clicked */ +static void play_cb (GtkButton *button, CustomData *data) { + gst_element_set_state (data->playbin2, GST_STATE_PLAYING); +} + +/* This function is called when the PAUSE button is clicked */ +static void pause_cb (GtkButton *button, CustomData *data) { + gst_element_set_state (data->playbin2, GST_STATE_PAUSED); +} + +/* This function is called when the STOP button is clicked */ +static void stop_cb (GtkButton *button, CustomData *data) { + gst_element_set_state (data->playbin2, GST_STATE_READY); +} +``` + +These three little callbacks are associated with the PLAY, PAUSE and +STOP buttons in the GUI. They simply set the pipeline to the +corresponding state. Note that in the STOP state we set the pipeline to +`READY`. We could have brought the pipeline all the way down to the +`NULL` state, but, the transition would then be slower, since some +resources (like the audio device) would need to be released and +re-acquired. + +``` first-line: 65; theme: Default; brush: cpp; gutter: true +/* This function is called when the main window is closed */ +static void delete_event_cb (GtkWidget *widget, GdkEvent *event, CustomData *data) { + stop_cb (NULL, data); + gtk_main_quit (); +} +``` + +gtk\_main\_quit() will eventually make the call to to gtk\_main\_run() +in `main` to terminate, which, in this case, finishes the program. Here, +we call it when the main window is closed, after stopping the pipeline +(just for the sake of +tidiness). + +``` first-line: 71; theme: Default; brush: cpp; gutter: true +/* This function is called everytime the video window needs to be redrawn (due to damage/exposure, + * rescaling, etc). GStreamer takes care of this in the PAUSED and PLAYING states, otherwise, + * we simply draw a black rectangle to avoid garbage showing up. */ +static gboolean expose_cb (GtkWidget *widget, GdkEventExpose *event, CustomData *data) { + if (data->state < GST_STATE_PAUSED) { + GtkAllocation allocation; + GdkWindow *window = gtk_widget_get_window (widget); + cairo_t *cr; + + /* Cairo is a 2D graphics library which we use here to clean the video window. + * It is used by GStreamer for other reasons, so it will always be available to us. */ + gtk_widget_get_allocation (widget, &allocation); + cr = gdk_cairo_create (window); + cairo_set_source_rgb (cr, 0, 0, 0); + cairo_rectangle (cr, 0, 0, allocation.width, allocation.height); + cairo_fill (cr); + cairo_destroy (cr); + } + + return FALSE; +} +``` + +When there is data flow (in the `PAUSED` and `PLAYING` states) the video +sink takes care of refreshing the content of the video window. In the +other cases, however, it will not, so we have to do it. In this example, +we just fill the window with a black +rectangle. + +``` first-line: 93; theme: Default; brush: cpp; gutter: true +/* This function is called when the slider changes its position. We perform a seek to the + * new position here. */ +static void slider_cb (GtkRange *range, CustomData *data) { + gdouble value = gtk_range_get_value (GTK_RANGE (data->slider)); + gst_element_seek_simple (data->playbin2, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, + (gint64)(value * GST_SECOND)); +} +``` + +This is an example of how a complex GUI element like a seeker bar (or +slider that allows seeking) can be very easily implemented thanks to +GStreamer and GTK+ collaborating. If the slider has been dragged to a +new position, tell GStreamer to seek to that position +with `gst_element_seek_simple()` (as seen in [Basic tutorial 4: Time +management](Basic%2Btutorial%2B4%253A%2BTime%2Bmanagement.html)). The +slider has been setup so its value represents seconds. + +It is worth mentioning that some performance (and responsiveness) can be +gained by doing some throttling, this is, not responding to every single +user request to seek. Since the seek operation is bound to take some +time, it is often nicer to wait half a second (for example) after a seek +before allowing another one. Otherwise, the application might look +unresponsive if the user drags the slider frantically, which would not +allow any seek to complete before a new one is queued. + +``` first-line: 153; theme: Default; brush: cpp; gutter: true +/* This function is called periodically to refresh the GUI */ +static gboolean refresh_ui (CustomData *data) { + GstFormat fmt = GST_FORMAT_TIME; + gint64 current = -1; + + /* We do not want to update anything unless we are in the PAUSED or PLAYING states */ + if (data->state < GST_STATE_PAUSED) + return TRUE; +``` + +This function will move the slider to reflect the current position of +the media. First off, if we are not in the `PLAYING` state, we have +nothing to do here (plus, position and duration queries will normally +fail). + +``` first-line: 162; theme: Default; brush: cpp; gutter: true +/* If we didn't know it yet, query the stream duration */ +if (!GST_CLOCK_TIME_IS_VALID (data->duration)) { + if (!gst_element_query_duration (data->playbin2, &fmt, &data->duration)) { + g_printerr ("Could not query current duration.\n"); + } else { + /* Set the range of the slider to the clip duration, in SECONDS */ + gtk_range_set_range (GTK_RANGE (data->slider), 0, (gdouble)data->duration / GST_SECOND); + } +} +``` + +We recover the duration of the clip if we didn't know it, so we can set +the range for the slider. + +``` first-line: 172; theme: Default; brush: cpp; gutter: true +if (gst_element_query_position (data->playbin2, &fmt, ¤t)) { + /* Block the "value-changed" signal, so the slider_cb function is not called + * (which would trigger a seek the user has not requested) */ + g_signal_handler_block (data->slider, data->slider_update_signal_id); + /* Set the position of the slider to the current pipeline positoin, in SECONDS */ + gtk_range_set_value (GTK_RANGE (data->slider), (gdouble)current / GST_SECOND); + /* Re-enable the signal */ + g_signal_handler_unblock (data->slider, data->slider_update_signal_id); +} +return TRUE; +``` + +We query the current pipeline position, and set the position of the +slider accordingly. This would trigger the emission of the +`value-changed` signal, which we use to know when the user is dragging +the slider. Since we do not want seeks happening unless the user +requested them, we disable the `value-changed` signal emission during +this operation with `g_signal_handler_block()` and +`g_signal_handler_unblock()`. + +Returning TRUE from this function will keep it called in the future. If +we return FALSE, the timer will be +removed. + +``` first-line: 184; theme: Default; brush: cpp; gutter: true +/* This function is called when new metadata is discovered in the stream */ +static void tags_cb (GstElement *playbin2, gint stream, CustomData *data) { + /* We are possibly in a GStreamer working thread, so we notify the main + * thread of this event through a message in the bus */ + gst_element_post_message (playbin2, + gst_message_new_application (GST_OBJECT (playbin2), + gst_structure_new ("tags-changed", NULL))); +} +``` + +This is one of the key points of this tutorial. This function will be +called when new tags are found in the media, **from a streaming +thread**, this is, from a thread other than the application (or main) +thread. What we want to do here is to update a GTK+ widget to reflect +this new information, but **GTK+ does not allow operating from threads +other than the main one**. + +The solution is to make `playbin2` post a message on the bus and return +to the calling thread. When appropriate, the main thread will pick up +this message and update GTK. + +`gst_element_post_message()` makes a GStreamer element post the given +message to the bus. `gst_message_new_application()` creates a new +message of the `APPLICATION` type. GStreamer messages have different +types, and this particular type is reserved to the application: it will +go through the bus unaffected by GStreamer. The list of types can be +found in the `GstMessageType` documentation. + +Messages can deliver additional information through their embedded +`GstStructure`, which is a very flexible data container. Here, we create +a new structure with `gst_structure_new`, and name it `tags-changed`, to +avoid confusion in case we wanted to send other application messages. + +Later, once in the main thread, the bus will receive this message and +emit the `message::application` signal, which we have associated to the +`application_cb` function: + +``` first-line: 314; theme: Default; brush: cpp; gutter: true +/* This function is called when an "application" message is posted on the bus. + * Here we retrieve the message posted by the tags_cb callback */ +static void application_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + if (g_strcmp0 (gst_structure_get_name (msg->structure), "tags-changed") == 0) { + /* If the message is the "tags-changed" (only one we are currently issuing), update + * the stream info GUI */ + analyze_streams (data); + } +} +``` + +Once me made sure it is the `tags-changed` message, we call the +`analyze_streams` function, which is also used in [Playback tutorial 1: +Playbin2 +usage](Playback%2Btutorial%2B1%253A%2BPlaybin2%2Busage.html) and is +more detailed there. It basically recovers the tags from the stream and +writes them in a text widget in the GUI. + +The `error_cb`, `eos_cb` and `state_changed_cb` are not really worth +explaining, since they do the same as in all previous tutorials, but +from their own function now. + +And this is it\! The amount of code in this tutorial might seem daunting +but the required concepts are few and easy. If you have followed the +previous tutorials and have a little knowledge of GTK, you probably +understood this one can now enjoy your very own media player\! + +![](attachments/327796/1540121.png) + +# Exercise + +If this media player is not good enough for you, try to change the text +widget that displays the information about the streams into a proper +list view (or tree view). Then, when the user selects a different +stream, make GStreamer switch streams\! To switch streams, you will need +to read [Playback tutorial 1: Playbin2 +usage](Playback%2Btutorial%2B1%253A%2BPlaybin2%2Busage.html). + +# Conclusion + +This tutorial has shown: + + - How to output the video to a particular window handle + using `gst_x_overlay_set_window_handle()`. + + - How to refresh the GUI periodically by registering a timeout + callback with `g_timeout_add_seconds ()`. + + - How to convey information to the main thread by means of application + messages through the bus with `gst_element_post_message()`. + + - How to be notified only of interesting messages by making the bus + emit signals with `gst_bus_add_signal_watch()` and discriminating + among all message types using the signal details. + +This allows you to build a somewhat complete media player with a proper +Graphical User Interface. + +The following basic tutorials keep focusing on other individual +GStreamer topics + +It has been a pleasure having you here, and see you soon\! + +## Attachments: + +![](images/icons/bullet_blue.gif) +[basic-tutorial-5.png](attachments/327796/1540122.png) (image/png) +![](images/icons/bullet_blue.gif) +[basic-tutorial-5.png](attachments/327796/1540123.png) (image/png) +![](images/icons/bullet_blue.gif) +[basic-tutorial-5.png](attachments/327796/1540121.png) (image/png) + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Basic+tutorial+6%3A+Media+formats+and+Pad+Capabilities.markdown b/Basic+tutorial+6%3A+Media+formats+and+Pad+Capabilities.markdown new file mode 100644 index 0000000000..13e6f28c58 --- /dev/null +++ b/Basic+tutorial+6%3A+Media+formats+and+Pad+Capabilities.markdown @@ -0,0 +1,496 @@ +# GStreamer SDK documentation : Basic tutorial 6: Media formats and Pad Capabilities + +This page last changed on Dec 03, 2012 by xartigas. + +# Goal + +Pad Capabilities are a fundamental element of GStreamer, although most +of the time they are invisible because the framework handles them +automatically. This somewhat theoretical tutorial shows: + + - What are Pad Capabilities. + + - How to retrieve them. + + - When to retrieve them. + + - Why you need to know about them. + +# Introduction + +### Pads + +As it has already been shown, Pads allow information to enter and leave +an element. The *Capabilities* (or *Caps*, for short) of a Pad, then, +specify what kind of information can travel through the Pad. For +example, “RGB video with a resolution of 320x200 pixels and 30 frames +per second”, or “16-bits per sample audio, 5.1 channels at 44100 samples +per second”, or even compressed formats like mp3 or h264. + +Pads can support multiple Capabilities (for example, a video sink can +support video in the RGB or YUV formats) and Capabilities can be +specified as *ranges* (for example, an audio sink can support samples +rates from 1 to 48000 samples per second). However, the actual +information traveling from Pad to Pad must have only one well-specified +type. Through a process known as *negotiation*, two linked Pads agree on +a common type, and thus the Capabilities of the Pads become *fixed* +(they only have one type and do not contain ranges). The walkthrough of +the sample code below should make all this clear. + +**In order for two elements to be linked together, they must share a +common subset of Capabilities** (Otherwise they could not possibly +understand each other). This is the main goal of Capabilities. + +As an application developer, you will usually build pipelines by linking +elements together (to a lesser extent if you use all-in-all elements +like `playbin2`). In this case, you need to know the *Pad Caps* (as they +are familiarly referred to) of your elements, or, at least, know what +they are when GStreamer refuses to link two elements with a negotiation +error. + +### Pad templates + +Pads are created from *Pad Templates*, which indicate all possible +Capabilities a Pad could have. Templates are useful to create several +similar Pads, and also allow early refusal of connections between +elements: If the Capabilities of their Pad Templates do not have a +common subset (their *intersection *is empty), there is no need to +negotiate further. + +Pad Templates can be viewed as the first step in the negotiation +process. As the process evolves, actual Pads are instantiated and their +Capabilities refined until they are fixed (or negotiation fails). + +### Capabilities examples + +``` theme: Default; brush: plain; gutter: false +SINK template: 'sink' + Availability: Always + Capabilities: + audio/x-raw-int + signed: true + width: 16 + depth: 16 + rate: [ 1, 2147483647 ] + channels: [ 1, 2 ] + audio/x-raw-int + signed: false + width: 8 + depth: 8 + rate: [ 1, 2147483647 ] + channels: [ 1, 2 ] +``` + +This pad is a sink which is always available on the element (we will not +talk about availability for now). It supports two kinds of media, both +raw audio in integer format (`audio/x-raw-int`): signed,16-bit and +unsigned 8-bit. The square brackets indicate a range: for instance, the +number of channels varies from 1 to 2. + +``` theme: Default; brush: plain; gutter: false +SRC template: 'src' + Availability: Always + Capabilities: + video/x-raw-yuv + width: [ 1, 2147483647 ] + height: [ 1, 2147483647 ] + framerate: [ 0/1, 2147483647/1 ] + format: { I420, NV12, NV21, YV12, YUY2, Y42B, Y444, YUV9, YVU9, Y41B, Y800, Y8 , GREY, Y16 , UYVY, YVYU, IYU1, v308, AYUV, A420 }  +``` + +`video/x-raw-yuv` indicates that this source pad outputs video in YUV +format (1 Luminance + 2 Chrominance planes). It supports a wide range of +dimensions and framerates, and a set of YUV formats (The curly braces +indicate a *list*). All these formats indicate different packing and +subsampling of the image planes. + +### Last remarks + +You can use the `gst-inspect-0.10` tool described in [Basic tutorial 10: +GStreamer tools](Basic%2Btutorial%2B10%253A%2BGStreamer%2Btools.html) to +learn about the Caps of any GStreamer element. + +Bear in mind that some elements query the underlying hardware for +supported formats and offer their Pad Caps accordingly (They usually do +this when entering the READY state or higher). Therefore, the shown caps +can vary from platform to platform, or even from one execution to the +next (even though this case is rare). + +This tutorial instantiates two elements (this time, through their +factories), shows their Pad Templates, links them and sets the pipeline +to play. On each state change, the Capabilities of the sink element's +Pad are shown, so you can observe how the negotiation proceeds until the +Pad Caps are fixed. + +# A trivial Pad Capabilities Example + +Copy this code into a text file named `basic-tutorial-6.c` (or find it +in the SDK installation). + +**basic-tutorial-6.c** + +``` theme: Default; brush: cpp; gutter: true +#include + +/* Functions below print the Capabilities in a human-friendly format */ +static gboolean print_field (GQuark field, const GValue * value, gpointer pfx) { + gchar *str = gst_value_serialize (value); + + g_print ("%s %15s: %s\n", (gchar *) pfx, g_quark_to_string (field), str); + g_free (str); + return TRUE; +} + +static void print_caps (const GstCaps * caps, const gchar * pfx) { + guint i; + + g_return_if_fail (caps != NULL); + + if (gst_caps_is_any (caps)) { + g_print ("%sANY\n", pfx); + return; + } + if (gst_caps_is_empty (caps)) { + g_print ("%sEMPTY\n", pfx); + return; + } + + for (i = 0; i < gst_caps_get_size (caps); i++) { + GstStructure *structure = gst_caps_get_structure (caps, i); + + g_print ("%s%s\n", pfx, gst_structure_get_name (structure)); + gst_structure_foreach (structure, print_field, (gpointer) pfx); + } +} + +/* Prints information about a Pad Template, including its Capabilities */ +static void print_pad_templates_information (GstElementFactory * factory) { + const GList *pads; + GstStaticPadTemplate *padtemplate; + + g_print ("Pad Templates for %s:\n", gst_element_factory_get_longname (factory)); + if (!factory->numpadtemplates) { + g_print (" none\n"); + return; + } + + pads = factory->staticpadtemplates; + while (pads) { + padtemplate = (GstStaticPadTemplate *) (pads->data); + pads = g_list_next (pads); + + if (padtemplate->direction == GST_PAD_SRC) + g_print (" SRC template: '%s'\n", padtemplate->name_template); + else if (padtemplate->direction == GST_PAD_SINK) + g_print (" SINK template: '%s'\n", padtemplate->name_template); + else + g_print (" UNKNOWN!!! template: '%s'\n", padtemplate->name_template); + + if (padtemplate->presence == GST_PAD_ALWAYS) + g_print (" Availability: Always\n"); + else if (padtemplate->presence == GST_PAD_SOMETIMES) + g_print (" Availability: Sometimes\n"); + else if (padtemplate->presence == GST_PAD_REQUEST) { + g_print (" Availability: On request\n"); + } else + g_print (" Availability: UNKNOWN!!!\n"); + + if (padtemplate->static_caps.string) { + g_print (" Capabilities:\n"); + print_caps (gst_static_caps_get (&padtemplate->static_caps), " "); + } + + g_print ("\n"); + } +} + +/* Shows the CURRENT capabilities of the requested pad in the given element */ +static void print_pad_capabilities (GstElement *element, gchar *pad_name) { + GstPad *pad = NULL; + GstCaps *caps = NULL; + + /* Retrieve pad */ + pad = gst_element_get_static_pad (element, pad_name); + if (!pad) { + g_printerr ("Could not retrieve pad '%s'\n", pad_name); + return; + } + + /* Retrieve negotiated caps (or acceptable caps if negotiation is not finished yet) */ + caps = gst_pad_get_negotiated_caps (pad); + if (!caps) + caps = gst_pad_get_caps_reffed (pad); + + /* Print and free */ + g_print ("Caps for the %s pad:\n", pad_name); + print_caps (caps, " "); + gst_caps_unref (caps); + gst_object_unref (pad); +} + +int main(int argc, char *argv[]) { + GstElement *pipeline, *source, *sink; + GstElementFactory *source_factory, *sink_factory; + GstBus *bus; + GstMessage *msg; + GstStateChangeReturn ret; + gboolean terminate = FALSE; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Create the element factories */ + source_factory = gst_element_factory_find ("audiotestsrc"); + sink_factory = gst_element_factory_find ("autoaudiosink"); + if (!source_factory || !sink_factory) { + g_printerr ("Not all element factories could be created.\n"); + return -1; + } + + /* Print information about the pad templates of these factories */ + print_pad_templates_information (source_factory); + print_pad_templates_information (sink_factory); + + /* Ask the factories to instantiate actual elements */ + source = gst_element_factory_create (source_factory, "source"); + sink = gst_element_factory_create (sink_factory, "sink"); + + /* Create the empty pipeline */ + pipeline = gst_pipeline_new ("test-pipeline"); + + if (!pipeline || !source || !sink) { + g_printerr ("Not all elements could be created.\n"); + return -1; + } + + /* Build the pipeline */ + gst_bin_add_many (GST_BIN (pipeline), source, sink, NULL); + if (gst_element_link (source, sink) != TRUE) { + g_printerr ("Elements could not be linked.\n"); + gst_object_unref (pipeline); + return -1; + } + + /* Print initial negotiated caps (in NULL state) */ + g_print ("In NULL state:\n"); + print_pad_capabilities (sink, "sink"); + + /* Start playing */ + ret = gst_element_set_state (pipeline, GST_STATE_PLAYING); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state (check the bus for error messages).\n"); + } + + /* Wait until error, EOS or State Change */ + bus = gst_element_get_bus (pipeline); + do { + msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, GST_MESSAGE_ERROR | GST_MESSAGE_EOS | + GST_MESSAGE_STATE_CHANGED); + + /* Parse message */ + if (msg != NULL) { + GError *err; + gchar *debug_info; + + switch (GST_MESSAGE_TYPE (msg)) { + case GST_MESSAGE_ERROR: + gst_message_parse_error (msg, &err, &debug_info); + g_printerr ("Error received from element %s: %s\n", GST_OBJECT_NAME (msg->src), err->message); + g_printerr ("Debugging information: %s\n", debug_info ? debug_info : "none"); + g_clear_error (&err); + g_free (debug_info); + terminate = TRUE; + break; + case GST_MESSAGE_EOS: + g_print ("End-Of-Stream reached.\n"); + terminate = TRUE; + break; + case GST_MESSAGE_STATE_CHANGED: + /* We are only interested in state-changed messages from the pipeline */ + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (pipeline)) { + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + g_print ("\nPipeline state changed from %s to %s:\n", + gst_element_state_get_name (old_state), gst_element_state_get_name (new_state)); + /* Print the current capabilities of the sink element */ + print_pad_capabilities (sink, "sink"); + } + break; + default: + /* We should not reach here because we only asked for ERRORs, EOS and STATE_CHANGED */ + g_printerr ("Unexpected message received.\n"); + break; + } + gst_message_unref (msg); + } + } while (!terminate); + + /* Free resources */ + gst_object_unref (bus); + gst_element_set_state (pipeline, GST_STATE_NULL); + gst_object_unref (pipeline); + gst_object_unref (source_factory); + gst_object_unref (sink_factory); + return 0; +} +``` + + + + + + + + +
+
+Need help? (Click to expand) +
+
+

If you need help to compile this code, refer to the Building the tutorials section for your platform: Linux, Mac OS X or Windows, or use this specific command on Linux:

+
+
+

gcc basic-tutorial-6.c -o basic-tutorial-6 `pkg-config --cflags --libs gstreamer-0.10`

+
+
+

If you need help to run this code, refer to the Running the tutorials section for your platform: Linux, Mac OS X or Windows

+

This tutorial simply displays information regarding the Pad Capabilities in different time instants.

+

Required libraries: gstreamer-0.10

+
+
+ +# Walkthrough + +The `print_field`, `print_caps` and `print_pad_templates` simply +display, in a human-friendly format, the capabilities structures. If you +want to learn about the internal organization of the +`GstCaps` structure, read  the `GStreamer Documentation` regarding Pad +Caps. + +``` first-line: 75; theme: Default; brush: cpp; gutter: true +/* Shows the CURRENT capabilities of the requested pad in the given element */ +static void print_pad_capabilities (GstElement *element, gchar *pad_name) { + GstPad *pad = NULL; + GstCaps *caps = NULL; + + /* Retrieve pad */ + pad = gst_element_get_static_pad (element, pad_name); + if (!pad) { + g_printerr ("Could not retrieve pad '%s'\n", pad_name); + return; + } + + /* Retrieve negotiated caps (or acceptable caps if negotiation is not finished yet) */ + caps = gst_pad_get_negotiated_caps (pad); + if (!caps) + caps = gst_pad_get_caps_reffed (pad); + + /* Print and free */ + g_print ("Caps for the %s pad:\n", pad_name); + print_caps (caps, " "); + gst_caps_unref (caps); + gst_object_unref (pad); +} +``` + +`gst_element_get_static_pad()` retrieves the named Pad from the given +element. This Pad is *static* because it is always present in the +element. To know more about Pad availability read the `GStreamer +documentation` about Pads. + +Then we call `gst_pad_get_negotiated_caps()` to retrieve the Pad's +current Capabilities, which can be fixed or not, depending on the state +of the negotiation process. They could even be non-existent, in which +case, we call `gst_pad_get_caps_reffed()` to retrieve the currently +acceptable Pad Capabilities. The currently acceptable Caps will be the +Pad Template's Caps in the NULL state, but might change in later states, +as the actual hardware Capabilities might be queried. + +`gst_pad_get_caps_reffed()` is usually faster than `gst_pad_get_caps()`, +and is enough if the retrieved Caps do not need to be modified. + +We then print these Capabilities. + +``` first-line: 110; theme: Default; brush: cpp; gutter: true +/* Create the element factories */ +source_factory = gst_element_factory_find ("audiotestsrc"); +sink_factory = gst_element_factory_find ("autoaudiosink"); +if (!source_factory || !sink_factory) { + g_printerr ("Not all element factories could be created.\n"); + return -1; +} + +/* Print information about the pad templates of these factories */ +print_pad_templates_information (source_factory); +print_pad_templates_information (sink_factory); + +/* Ask the factories to instantiate actual elements */ +source = gst_element_factory_create (source_factory, "source"); +sink = gst_element_factory_create (sink_factory, "sink"); +``` + +In the previous tutorials we created the elements directly using +`gst_element_factory_make()` and skipped talking about factories, but we +will do now. A `GstElementFactory` is in charge of instantiating a +particular type of element, identified by its factory name. + +You can use `gst_element_factory_find()` to create a factory of type +“videotestsrc”, and then use it to instantiate multiple “videotestsrc” +elements using `gst_element_factory_create()`. +`gst_element_factory_make()` is really a shortcut for +`gst_element_factory_find()`+ `gst_element_factory_create()`. + +The Pad Templates can already be accessed through the factories, so they +are printed as soon as the factories are created. + +We skip the pipeline creation and start, and go to the State-Changed +message handling: + +``` theme: Default; brush: cpp; gutter: false +case GST_MESSAGE_STATE_CHANGED: + /* We are only interested in state-changed messages from the pipeline */ + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (pipeline)) { + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + g_print ("\nPipeline state changed from %s to %s:\n", + gst_element_state_get_name (old_state), gst_element_state_get_name (new_state)); + /* Print the current capabilities of the sink element */ + print_pad_capabilities (sink, "sink"); + } + break; +``` + +This simply prints the current Pad Caps every time the state of the +pipeline changes. You should see, in the output, how the initial caps +(the Pad Template's Caps) are progressively refined until they are +completely fixed (they contain a single type with no ranges). + +# Conclusion + +This tutorial has shown: + + - What are Pad Capabilities and Pad Template Capabilities. + + - How to retrieve them + with `gst_pad_get_negotiated_caps()` or `gst_pad_get_caps_reffed()`. + + - That they have different meaning depending on the state of the + pipeline (initially they indicate all the possible Capabilities, + later they indicate the currently negotiated Caps for the Pad). + + - That Pad Caps are important to know beforehand if two elements can + be linked together. + + - That Pad Caps can be found using the `gst-inspect` tool described + in [Basic tutorial 10: GStreamer + tools](Basic%2Btutorial%2B10%253A%2BGStreamer%2Btools.html). + +Next tutorial shows how data can be manually injected into and extracted +from the GStreamer pipeline. + +Remember that attached to this page you should find the complete source +code of the tutorial and any accessory files needed to build it. +It has been a pleasure having you here, and see you soon\! + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Basic+tutorial+7%3A+Multithreading+and+Pad+Availability.markdown b/Basic+tutorial+7%3A+Multithreading+and+Pad+Availability.markdown new file mode 100644 index 0000000000..802536648f --- /dev/null +++ b/Basic+tutorial+7%3A+Multithreading+and+Pad+Availability.markdown @@ -0,0 +1,363 @@ +# GStreamer SDK documentation : Basic tutorial 7: Multithreading and Pad Availability + +This page last changed on Jul 03, 2012 by xartigas. + +# Goal + +GStreamer handles multithreading automatically, but, under some +circumstances, you might need to decouple threads manually. This +tutorial shows how to do this and, in addition, completes the exposition +about Pad Availability. More precisely, this document explains: + + - How to create new threads of execution for some parts of the + pipeline + + - What is the Pad Availability + + - How to replicate streams + +# Introduction + +### Multithreading + +GStreamer is a multithreaded framework. This means that, internally, it +creates and destroys threads as it needs them, for example, to decouple +streaming from the application thread. Moreover, plugins are also free +to create threads for their own processing, for example, a video decoder +could create 4 threads to take full advantage of a CPU with 4 cores. + +On top of this, when building the pipeline an application can specify +explicitly that a *branch* (a part of the pipeline) runs on a different +thread (for example, to have the audio and video decoders executing +simultaneously). + +This is accomplished using the `queue` element, which works as follows. +The sink pad just enqueues data and returns control. On a different +thread, data is dequeued and pushed downstream. This element is also +used for buffering, as seen later in the streaming tutorials. The size +of the queue can be controlled through properties. + +### The example pipeline + +This example builds the following pipeline: + +![](attachments/327812/1540141.png) + +The source is a synthetic audio signal (a continuous tone) which is +split using a `tee` element (it sends through its source pads everything +it receives through its sink pad). One branch then sends the signal to +the audio card, and the other renders a video of the waveform and sends +it to the screen. + +As seen in the picture, queues create a new thread, so this pipeline +runs in 3 threads. Pipelines with more than one sink usually need to be +multithreaded, because, to be synchronized, sinks usually block +execution until all other sinks are ready, and they cannot get ready if +there is only one thread, being blocked by the first sink. + +### Request pads + +In [Basic tutorial 3: Dynamic +pipelines](Basic%2Btutorial%2B3%253A%2BDynamic%2Bpipelines.html) we saw +an element (`uridecodebin`) which had no pads to begin with, and they +appeared as data started to flow and the element learned about the +media. These are called **Sometimes Pads**, and contrast with the +regular pads which are always available and are called **Always Pads**. + +The third kind of pad is the **Request Pad**, which is created on +demand. The classical example is the `tee` element, which has one sink +pad and no initial source pads: they need to be requested and then +`tee` adds them. In this way, an input stream can be replicated any +number of times. The disadvantage is that linking elements with Request +Pads is not as automatic, as linking Always Pads, as the walkthrough for +this example will show. + +Also, to request (or release) pads in the PLAYING or PAUSED states, you +need to take additional cautions (Pad blocking) which are not described +in this tutorial. It is safe to request (or release) pads in the NULL or +READY states, though. + +Without further delay, let's see the code. + +# Simple multithreaded example + +Copy this code into a text file named `basic-tutorial-7.c` (or find it +in the SDK installation). + +**basic-tutorial-7.c** + +``` theme: Default; brush: cpp; gutter: true +#include + +int main(int argc, char *argv[]) { + GstElement *pipeline, *audio_source, *tee, *audio_queue, *audio_convert, *audio_resample, *audio_sink; + GstElement *video_queue, *visual, *video_convert, *video_sink; + GstBus *bus; + GstMessage *msg; + GstPadTemplate *tee_src_pad_template; + GstPad *tee_audio_pad, *tee_video_pad; + GstPad *queue_audio_pad, *queue_video_pad; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Create the elements */ + audio_source = gst_element_factory_make ("audiotestsrc", "audio_source"); + tee = gst_element_factory_make ("tee", "tee"); + audio_queue = gst_element_factory_make ("queue", "audio_queue"); + audio_convert = gst_element_factory_make ("audioconvert", "audio_convert"); + audio_resample = gst_element_factory_make ("audioresample", "audio_resample"); + audio_sink = gst_element_factory_make ("autoaudiosink", "audio_sink"); + video_queue = gst_element_factory_make ("queue", "video_queue"); + visual = gst_element_factory_make ("wavescope", "visual"); + video_convert = gst_element_factory_make ("ffmpegcolorspace", "csp"); + video_sink = gst_element_factory_make ("autovideosink", "video_sink"); + + /* Create the empty pipeline */ + pipeline = gst_pipeline_new ("test-pipeline"); + + if (!pipeline || !audio_source || !tee || !audio_queue || !audio_convert || !audio_resample || !audio_sink || + !video_queue || !visual || !video_convert || !video_sink) { + g_printerr ("Not all elements could be created.\n"); + return -1; + } + + /* Configure elements */ + g_object_set (audio_source, "freq", 215.0f, NULL); + g_object_set (visual, "shader", 0, "style", 1, NULL); + + /* Link all elements that can be automatically linked because they have "Always" pads */ + gst_bin_add_many (GST_BIN (pipeline), audio_source, tee, audio_queue, audio_convert, audio_resample, audio_sink, + video_queue, visual, video_convert, video_sink, NULL); + if (gst_element_link_many (audio_source, tee, NULL) != TRUE || + gst_element_link_many (audio_queue, audio_convert, audio_resample, audio_sink, NULL) != TRUE || + gst_element_link_many (video_queue, visual, video_convert, video_sink, NULL) != TRUE) { + g_printerr ("Elements could not be linked.\n"); + gst_object_unref (pipeline); + return -1; + } + + /* Manually link the Tee, which has "Request" pads */ + tee_src_pad_template = gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS (tee), "src%d"); + tee_audio_pad = gst_element_request_pad (tee, tee_src_pad_template, NULL, NULL); + g_print ("Obtained request pad %s for audio branch.\n", gst_pad_get_name (tee_audio_pad)); + queue_audio_pad = gst_element_get_static_pad (audio_queue, "sink"); + tee_video_pad = gst_element_request_pad (tee, tee_src_pad_template, NULL, NULL); + g_print ("Obtained request pad %s for video branch.\n", gst_pad_get_name (tee_video_pad)); + queue_video_pad = gst_element_get_static_pad (video_queue, "sink"); + if (gst_pad_link (tee_audio_pad, queue_audio_pad) != GST_PAD_LINK_OK || + gst_pad_link (tee_video_pad, queue_video_pad) != GST_PAD_LINK_OK) { + g_printerr ("Tee could not be linked.\n"); + gst_object_unref (pipeline); + return -1; + } + gst_object_unref (queue_audio_pad); + gst_object_unref (queue_video_pad); + + /* Start playing the pipeline */ + gst_element_set_state (pipeline, GST_STATE_PLAYING); + + /* Wait until error or EOS */ + bus = gst_element_get_bus (pipeline); + msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, GST_MESSAGE_ERROR | GST_MESSAGE_EOS); + + /* Release the request pads from the Tee, and unref them */ + gst_element_release_request_pad (tee, tee_audio_pad); + gst_element_release_request_pad (tee, tee_video_pad); + gst_object_unref (tee_audio_pad); + gst_object_unref (tee_video_pad); + + /* Free resources */ + if (msg != NULL) + gst_message_unref (msg); + gst_object_unref (bus); + gst_element_set_state (pipeline, GST_STATE_NULL); + + gst_object_unref (pipeline); + return 0; +} +``` + + + + + + + + +
+
+Need help? (Click to expand) +
+
+

If you need help to compile this code, refer to the Building the tutorials section for your platform: Linux, Mac OS X or Windows, or use this specific command on Linux:

+
+
+

gcc basic-tutorial-7.c -o basic-tutorial-7 `pkg-config --cflags --libs gstreamer-0.10`

+
+
+

If you need help to run this code, refer to the Running the tutorials section for your platform: Linux, Mac OS X or Windows

+

This tutorial plays an audible tone through the audio card and opens a window with a waveform representation of the tone. The waveform should be a sinusoid, but due to the refreshing of the window might not appear so.

+

Required libraries: gstreamer-0.10

+
+
+ +# Walkthrough + +``` first-line: 15; theme: Default; brush: cpp; gutter: true +/* Create the elements */ +audio_source = gst_element_factory_make ("audiotestsrc", "audio_source"); +tee = gst_element_factory_make ("tee", "tee"); +audio_queue = gst_element_factory_make ("queue", "audio_queue"); +audio_convert = gst_element_factory_make ("audioconvert", "audio_convert"); + audio_resample = gst_element_factory_make ("audioresample", "audio_resample"); +audio_sink = gst_element_factory_make ("autoaudiosink", "audio_sink"); +video_queue = gst_element_factory_make ("queue", "video_queue"); +visual = gst_element_factory_make ("wavescope", "visual"); +video_convert = gst_element_factory_make ("ffmpegcolorspace", "csp"); +video_sink = gst_element_factory_make ("autovideosink", "video_sink"); +``` + +All the elements in the above picture are instantiated here: + +`audiotestsrc` produces a synthetic tone. `wavescope` consumes an audio +signal and renders a waveform as if it was an (admittedly cheap) +oscilloscope. We have already worked with the `autoaudiosink` and +`autovideosink`. + +The conversion elements (`audioconvert`, `audioresample` and +`ffmpegcolorspace`) are necessary to guarantee that the pipeline can be +linked. Indeed, the Capabilities of the audio and video sinks depend on +the hardware, and you do not know at design time if they will match the +Caps produced by the `audiotestsrc` and `wavescope`. If the Caps +matched, though, these elements act in “pass-through” mode and do not +modify the signal, having negligible impact on performance. + +``` first-line: 36; theme: Default; brush: cpp; gutter: true +/* Configure elements */ +g_object_set (audio_source, "freq", 215.0f, NULL); +g_object_set (visual, "shader", 0, "style", 1, NULL); +``` + +Small adjustments for better demonstration: The “freq” property of +`audiotestsrc` controls the frequency of the wave (215Hz makes the wave +appear almost stationary in the window), and this style and shader for +`wavescope` make the wave continuous. Use the `gst-inspect` tool +described in [Basic tutorial 10: GStreamer +tools](Basic%2Btutorial%2B10%253A%2BGStreamer%2Btools.html) to learn all +the properties of these +elements. + +``` first-line: 40; theme: Default; brush: cpp; gutter: true +/* Link all elements that can be automatically linked because they have "Always" pads */ +gst_bin_add_many (GST_BIN (pipeline), audio_source, tee, audio_queue, audio_convert, audio_sink, + video_queue, visual, video_convert, video_sink, NULL); +if (gst_element_link_many (audio_source, tee, NULL) != TRUE || + gst_element_link_many (audio_queue, audio_convert, audio_sink, NULL) != TRUE || + gst_element_link_many (video_queue, visual, video_convert, video_sink, NULL) != TRUE) { + g_printerr ("Elements could not be linked.\n"); + gst_object_unref (pipeline); + return -1; +} +``` + +This code block adds all elements to the pipeline and then links the +ones that can be automatically linked (the ones with Always Pads, as the +comment says). + + + + + + + + +

gst_element_link_many() can actually link elements with Request Pads. It internally requests the Pads so you do not have worry about the elements being linked having Always or Request Pads. Strange as it might seem, this is actually inconvenient, because you still need to release the requested Pads afterwards, and, if the Pad was requested automatically by gst_element_link_many(), it is easy to forget. Stay out of trouble by always requesting Request Pads manually, as shown in the next code block.

+ +``` first-line: 51; theme: Default; brush: cpp; gutter: true +/* Manually link the Tee, which has "Request" pads */ +tee_src_pad_template = gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS (tee), "src%d"); +tee_audio_pad = gst_element_request_pad (tee, tee_src_pad_template, NULL, NULL); +g_print ("Obtained request pad %s for audio branch.\n", gst_pad_get_name (tee_audio_pad)); +queue_audio_pad = gst_element_get_static_pad (audio_queue, "sink"); +tee_video_pad = gst_element_request_pad (tee, tee_src_pad_template, NULL, NULL); +g_print ("Obtained request pad %s for video branch.\n", gst_pad_get_name (tee_video_pad)); +queue_video_pad = gst_element_get_static_pad (video_queue, "sink"); +if (gst_pad_link (tee_audio_pad, queue_audio_pad) != GST_PAD_LINK_OK || + gst_pad_link (tee_video_pad, queue_video_pad) != GST_PAD_LINK_OK) { + g_printerr ("Tee could not be linked.\n"); + gst_object_unref (pipeline); + return -1; +} +gst_object_unref (queue_audio_pad); +gst_object_unref (queue_video_pad); +``` + +To link Request Pads, they need to be obtained by “requesting” them to +the element. An element might be able to produce different kinds of +Request Pads, so, when requesting them, the desired Pad Template must be +provided. Pad templates are obtained with +`gst_element_class_get_pad_template()` and are identified by their name. +In the documentation for the `tee` element we see that it has two pad +templates named “sink” (for its sink Pads) and “src%d” (for the Request +Pads). + +Once we have the Pad template, we request two Pads from the tee (for the +audio and video branches) with `gst_element_request_pad()`. + +We then obtain the Pads from the downstream elements to which these +Request Pads need to be linked. These are normal Always Pads, so we +obtain them with `gst_element_get_static_pad()`. + +Finally, we link the pads with `gst_pad_link()`. This is the function +that `gst_element_link()` and `gst_element_link_many()` use internally. + +The sink Pads we have obtained need to be released with +`gst_object_unref()`. The Request Pads will be released when we no +longer need them, at the end of the program. + +We then set the pipeline to playing as usual, and wait until an error +message or an EOS is produced. The only thing left to so is cleanup the +requested Pads: + +``` first-line: 75; theme: Default; brush: cpp; gutter: true +/* Release the request pads from the Tee, and unref them */ +gst_element_release_request_pad (tee, tee_audio_pad); +gst_element_release_request_pad (tee, tee_video_pad); +gst_object_unref (tee_audio_pad); +gst_object_unref (tee_video_pad); +``` + +`gst_element_release_request_pad()` releases the pad from the `tee`, but +it still needs to be unreferenced (freed) with `gst_object_unref()`. + +# Conclusion + + This tutorial has shown: + + - How to make parts of a pipeline run on a different thread by using + `queue` elements. + + - What is a Request Pad and how to link elements with request pads, + with `gst_element_class_get_pad_template()`, `gst_element_request_pad()`, `gst_pad_link()` and +  `gst_element_release_request_pad()`. + + - How to have the same stream available in different branches by using + `tee` elements. + +The next tutorial builds on top of this one to show how data can be +manually injected into and extracted from a running pipeline. + +It has been a pleasure having you here, and see you soon\! + +## Attachments: + +![](images/icons/bullet_blue.gif) +[basic-tutorial-7.png](attachments/327812/1540161.png) (image/png) +![](images/icons/bullet_blue.gif) +[basic-tutorial-7.png](attachments/327812/2424839.png) (image/png) +![](images/icons/bullet_blue.gif) +[basic-tutorial-7.png](attachments/327812/1540141.png) (image/png) + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Basic+tutorial+8%3A+Short-cutting+the+pipeline.markdown b/Basic+tutorial+8%3A+Short-cutting+the+pipeline.markdown new file mode 100644 index 0000000000..81b808da13 --- /dev/null +++ b/Basic+tutorial+8%3A+Short-cutting+the+pipeline.markdown @@ -0,0 +1,569 @@ +# GStreamer SDK documentation : Basic tutorial 8: Short-cutting the pipeline + +This page last changed on Jun 19, 2012 by xartigas. + +# Goal + +Pipelines constructed with GStreamer do not need to be completely +closed. Data can be injected into the pipeline and extracted from it at +any time, in a variety of ways. This tutorial shows: + + - How to inject external data into a general GStreamer pipeline. + + - How to extract data from a general GStreamer pipeline. + + - How to access and manipulate this data. + +[Playback tutorial 3: Short-cutting the +pipeline](Playback%2Btutorial%2B3%253A%2BShort-cutting%2Bthe%2Bpipeline.html) explains +how to achieve the same goals in a playbin2-based pipeline. + +# Introduction + +Applications can interact with the data flowing through a GStreamer +pipeline in several ways. This tutorial describes the easiest one, since +it uses elements that have been created for this sole purpose. + +The element used to inject application data into a GStreamer pipeline is +`appsrc`, and its counterpart, used to extract GStreamer data back to +the application is `appsink`. To avoid confusing the names, think of it +from GStreamer's point of view: `appsrc` is just a regular source, that +provides data magically fallen from the sky (provided by the +application, actually). `appsink` is a regular sink, where the data +flowing through a GStreamer pipeline goes to die (it is recovered by the +application, actually). + +`appsrc` and `appsink` are so versatile that they offer their own API +(see their documentation), which can be accessed by linking against the +`gstreamer-app` library. In this tutorial, however, we will use a +simpler approach and control them through signals. + +`appsrc` can work in a variety of modes: in **pull** mode, it requests +data from the application every time it needs it. In **push** mode, the +application pushes data at its own pace. Furthermore, in push mode, the +application can choose to be blocked in the push function when enough +data has already been provided, or it can listen to the +`enough-data` and `need-data` signals to control flow. This example +implements the latter approach. Information regarding the other methods +can be found in the `appsrc` documentation. + +### Buffers + +Data travels through a GStreamer pipeline in chunks called **buffers**. +Since this example produces and consumes data, we need to know about +`GstBuffer`s. + +Source Pads produce buffers, that are consumed by Sink Pads; GStreamer +takes these buffers and passes them from element to element. + +A buffer simply represents a piece of data, do not assume that all +buffers will have the same size, or represent the same amount of time. +Neither should you assume that if a single buffer enters an element, a +single buffer will come out. Elements are free to do with the received +buffers as they please. + +Every buffer has an attached `GstCaps` structure that describes the kind +of media contained in the buffer. Also, buffers have an attached +time-stamp and duration, that describe in which moment the content of +the buffer should be rendered or displayed. Time stamping is a very +complex and delicate subject, but this simplified vision should suffice +for now. + +As an example, a `filesrc` (a GStreamer element that reads files) +produces buffers with the “ANY” caps and no time-stamping information. +After demuxing (see [Basic tutorial 3: Dynamic +pipelines](Basic%2Btutorial%2B3%253A%2BDynamic%2Bpipelines.html)) +buffers can have some specific caps, for example “video/x-h264”. After +decoding, each buffer will contain a single video frame with raw caps +(for example, “video/x-raw-yuv”) and very precise time stamps indicating +when should that frame be displayed. + +### This tutorial + +This tutorial expands [Basic tutorial 7: Multithreading and Pad +Availability](Basic%2Btutorial%2B7%253A%2BMultithreading%2Band%2BPad%2BAvailability.html) in +two ways: Firstly, the `audiotestsrc` is replaced by an `appsrc` that +will generate the audio data. Secondly, a new branch is added to the +`tee` so data going into the audio sink and the wave display is also +replicated into an `appsink`. The `appsink` uploads the information back +into the application, which then just notifies the user that data has +been received, but it could obviously perform more complex tasks. + +![](attachments/1442189/1540158.png) + +# A crude waveform generator + +Copy this code into a text file named `basic-tutorial-8.c` (or find it +in the SDK installation). + +``` theme: Default; brush: cpp; gutter: true +#include +#include + +#define CHUNK_SIZE 1024 /* Amount of bytes we are sending in each buffer */ +#define SAMPLE_RATE 44100 /* Samples per second we are sending */ +#define AUDIO_CAPS "audio/x-raw-int,channels=1,rate=%d,signed=(boolean)true,width=16,depth=16,endianness=BYTE_ORDER" + +/* Structure to contain all our information, so we can pass it to callbacks */ +typedef struct _CustomData { + GstElement *pipeline, *app_source, *tee, *audio_queue, *audio_convert1, *audio_resample, *audio_sink; + GstElement *video_queue, *audio_convert2, *visual, *video_convert, *video_sink; + GstElement *app_queue, *app_sink; + + guint64 num_samples; /* Number of samples generated so far (for timestamp generation) */ + gfloat a, b, c, d; /* For waveform generation */ + + guint sourceid; /* To control the GSource */ + + GMainLoop *main_loop; /* GLib's Main Loop */ +} CustomData; + +/* This method is called by the idle GSource in the mainloop, to feed CHUNK_SIZE bytes into appsrc. + * The ide handler is added to the mainloop when appsrc requests us to start sending data (need-data signal) + * and is removed when appsrc has enough data (enough-data signal). + */ +static gboolean push_data (CustomData *data) { + GstBuffer *buffer; + GstFlowReturn ret; + int i; + gint16 *raw; + gint num_samples = CHUNK_SIZE / 2; /* Because each sample is 16 bits */ + gfloat freq; + + /* Create a new empty buffer */ + buffer = gst_buffer_new_and_alloc (CHUNK_SIZE); + + /* Set its timestamp and duration */ + GST_BUFFER_TIMESTAMP (buffer) = gst_util_uint64_scale (data->num_samples, GST_SECOND, SAMPLE_RATE); + GST_BUFFER_DURATION (buffer) = gst_util_uint64_scale (CHUNK_SIZE, GST_SECOND, SAMPLE_RATE); + + /* Generate some psychodelic waveforms */ + raw = (gint16 *)GST_BUFFER_DATA (buffer); + data->c += data->d; + data->d -= data->c / 1000; + freq = 1100 + 1000 * data->d; + for (i = 0; i < num_samples; i++) { + data->a += data->b; + data->b -= data->a / freq; + raw[i] = (gint16)(500 * data->a); + } + data->num_samples += num_samples; + + /* Push the buffer into the appsrc */ + g_signal_emit_by_name (data->app_source, "push-buffer", buffer, &ret); + + /* Free the buffer now that we are done with it */ + gst_buffer_unref (buffer); + + if (ret != GST_FLOW_OK) { + /* We got some error, stop sending data */ + return FALSE; + } + + return TRUE; +} + +/* This signal callback triggers when appsrc needs data. Here, we add an idle handler + * to the mainloop to start pushing data into the appsrc */ +static void start_feed (GstElement *source, guint size, CustomData *data) { + if (data->sourceid == 0) { + g_print ("Start feeding\n"); + data->sourceid = g_idle_add ((GSourceFunc) push_data, data); + } +} + +/* This callback triggers when appsrc has enough data and we can stop sending. + * We remove the idle handler from the mainloop */ +static void stop_feed (GstElement *source, CustomData *data) { + if (data->sourceid != 0) { + g_print ("Stop feeding\n"); + g_source_remove (data->sourceid); + data->sourceid = 0; + } +} + +/* The appsink has received a buffer */ +static void new_buffer (GstElement *sink, CustomData *data) { + GstBuffer *buffer; + + /* Retrieve the buffer */ + g_signal_emit_by_name (sink, "pull-buffer", &buffer); + if (buffer) { + /* The only thing we do in this example is print a * to indicate a received buffer */ + g_print ("*"); + gst_buffer_unref (buffer); + } +} + +/* This function is called when an error message is posted on the bus */ +static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + GError *err; + gchar *debug_info; + + /* Print error details on the screen */ + gst_message_parse_error (msg, &err, &debug_info); + g_printerr ("Error received from element %s: %s\n", GST_OBJECT_NAME (msg->src), err->message); + g_printerr ("Debugging information: %s\n", debug_info ? debug_info : "none"); + g_clear_error (&err); + g_free (debug_info); + + g_main_loop_quit (data->main_loop); +} + +int main(int argc, char *argv[]) { + CustomData data; + GstPadTemplate *tee_src_pad_template; + GstPad *tee_audio_pad, *tee_video_pad, *tee_app_pad; + GstPad *queue_audio_pad, *queue_video_pad, *queue_app_pad; + gchar *audio_caps_text; + GstCaps *audio_caps; + GstBus *bus; + + /* Initialize cumstom data structure */ + memset (&data, 0, sizeof (data)); + data.b = 1; /* For waveform generation */ + data.d = 1; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Create the elements */ + data.app_source = gst_element_factory_make ("appsrc", "audio_source"); + data.tee = gst_element_factory_make ("tee", "tee"); + data.audio_queue = gst_element_factory_make ("queue", "audio_queue"); + data.audio_convert1 = gst_element_factory_make ("audioconvert", "audio_convert1"); + data.audio_resample = gst_element_factory_make ("audioresample", "audio_resample"); + data.audio_sink = gst_element_factory_make ("autoaudiosink", "audio_sink"); + data.video_queue = gst_element_factory_make ("queue", "video_queue"); + data.audio_convert2 = gst_element_factory_make ("audioconvert", "audio_convert2"); + data.visual = gst_element_factory_make ("wavescope", "visual"); + data.video_convert = gst_element_factory_make ("ffmpegcolorspace", "csp"); + data.video_sink = gst_element_factory_make ("autovideosink", "video_sink"); + data.app_queue = gst_element_factory_make ("queue", "app_queue"); + data.app_sink = gst_element_factory_make ("appsink", "app_sink"); + + /* Create the empty pipeline */ + data.pipeline = gst_pipeline_new ("test-pipeline"); + + if (!data.pipeline || !data.app_source || !data.tee || !data.audio_queue || !data.audio_convert1 || + !data.audio_resample || !data.audio_sink || !data.video_queue || !data.audio_convert2 || !data.visual || + !data.video_convert || !data.video_sink || !data.app_queue || !data.app_sink) { + g_printerr ("Not all elements could be created.\n"); + return -1; + } + + /* Configure wavescope */ + g_object_set (data.visual, "shader", 0, "style", 0, NULL); + + /* Configure appsrc */ + audio_caps_text = g_strdup_printf (AUDIO_CAPS, SAMPLE_RATE); + audio_caps = gst_caps_from_string (audio_caps_text); + g_object_set (data.app_source, "caps", audio_caps, NULL); + g_signal_connect (data.app_source, "need-data", G_CALLBACK (start_feed), &data); + g_signal_connect (data.app_source, "enough-data", G_CALLBACK (stop_feed), &data); + + /* Configure appsink */ + g_object_set (data.app_sink, "emit-signals", TRUE, "caps", audio_caps, NULL); + g_signal_connect (data.app_sink, "new-buffer", G_CALLBACK (new_buffer), &data); + gst_caps_unref (audio_caps); + g_free (audio_caps_text); + + /* Link all elements that can be automatically linked because they have "Always" pads */ + gst_bin_add_many (GST_BIN (data.pipeline), data.app_source, data.tee, data.audio_queue, data.audio_convert1, data.audio_resample, + data.audio_sink, data.video_queue, data.audio_convert2, data.visual, data.video_convert, data.video_sink, data.app_queue, + data.app_sink, NULL); + if (gst_element_link_many (data.app_source, data.tee, NULL) != TRUE || + gst_element_link_many (data.audio_queue, data.audio_convert1, data.audio_resample, data.audio_sink, NULL) != TRUE || + gst_element_link_many (data.video_queue, data.audio_convert2, data.visual, data.video_convert, data.video_sink, NULL) != TRUE || + gst_element_link_many (data.app_queue, data.app_sink, NULL) != TRUE) { + g_printerr ("Elements could not be linked.\n"); + gst_object_unref (data.pipeline); + return -1; + } + + /* Manually link the Tee, which has "Request" pads */ + tee_src_pad_template = gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS (data.tee), "src%d"); + tee_audio_pad = gst_element_request_pad (data.tee, tee_src_pad_template, NULL, NULL); + g_print ("Obtained request pad %s for audio branch.\n", gst_pad_get_name (tee_audio_pad)); + queue_audio_pad = gst_element_get_static_pad (data.audio_queue, "sink"); + tee_video_pad = gst_element_request_pad (data.tee, tee_src_pad_template, NULL, NULL); + g_print ("Obtained request pad %s for video branch.\n", gst_pad_get_name (tee_video_pad)); + queue_video_pad = gst_element_get_static_pad (data.video_queue, "sink"); + tee_app_pad = gst_element_request_pad (data.tee, tee_src_pad_template, NULL, NULL); + g_print ("Obtained request pad %s for app branch.\n", gst_pad_get_name (tee_app_pad)); + queue_app_pad = gst_element_get_static_pad (data.app_queue, "sink"); + if (gst_pad_link (tee_audio_pad, queue_audio_pad) != GST_PAD_LINK_OK || + gst_pad_link (tee_video_pad, queue_video_pad) != GST_PAD_LINK_OK || + gst_pad_link (tee_app_pad, queue_app_pad) != GST_PAD_LINK_OK) { + g_printerr ("Tee could not be linked\n"); + gst_object_unref (data.pipeline); + return -1; + } + gst_object_unref (queue_audio_pad); + gst_object_unref (queue_video_pad); + gst_object_unref (queue_app_pad); + + /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ + bus = gst_element_get_bus (data.pipeline); + gst_bus_add_signal_watch (bus); + g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, &data); + gst_object_unref (bus); + + /* Start playing the pipeline */ + gst_element_set_state (data.pipeline, GST_STATE_PLAYING); + + /* Create a GLib Main Loop and set it to run */ + data.main_loop = g_main_loop_new (NULL, FALSE); + g_main_loop_run (data.main_loop); + + /* Release the request pads from the Tee, and unref them */ + gst_element_release_request_pad (data.tee, tee_audio_pad); + gst_element_release_request_pad (data.tee, tee_video_pad); + gst_element_release_request_pad (data.tee, tee_app_pad); + gst_object_unref (tee_audio_pad); + gst_object_unref (tee_video_pad); + gst_object_unref (tee_app_pad); + + /* Free resources */ + gst_element_set_state (data.pipeline, GST_STATE_NULL); + gst_object_unref (data.pipeline); + return 0; +} +``` + + + + + + + + +
+
+Need help? (Click to expand) +
+
+

If you need help to compile this code, refer to the Building the tutorials section for your platform: Linux, Mac OS X or Windows, or use this specific command on Linux:

+
+
+

gcc basic-tutorial-8.c -o basic-tutorial-8 `pkg-config --cflags --libs gstreamer-0.10`

+
+
+

If you need help to run this code, refer to the Running the tutorials section for your platform: Linux, Mac OS X or Windows

+

This tutorial plays an audible tone for varying frequency through the audio card and opens a window with a waveform representation of the tone. The waveform should be a sinusoid, but due to the refreshing of the window might not appear so.

+

Required libraries: gstreamer-0.10

+
+
+ +# Walkthrough + +The code to create the pipeline (Lines 131 to 205) is an enlarged +version of [Basic tutorial 7: Multithreading and Pad +Availability](Basic%2Btutorial%2B7%253A%2BMultithreading%2Band%2BPad%2BAvailability.html). +It involves instantiating all the elements, link the elements with +Always Pads, and manually link the Request Pads of the `tee` element. + +Regarding the configuration of the `appsrc` and `appsink` elements: + +``` first-line: 159; theme: Default; brush: cpp; gutter: true +/* Configure appsrc */ +audio_caps_text = g_strdup_printf (AUDIO_CAPS, SAMPLE_RATE); +audio_caps = gst_caps_from_string (audio_caps_text); +g_object_set (data.app_source, "caps", audio_caps, NULL); +g_signal_connect (data.app_source, "need-data", G_CALLBACK (start_feed), &data); +g_signal_connect (data.app_source, "enough-data", G_CALLBACK (stop_feed), &data); +``` + +The first property that needs to be set on the `appsrc` is `caps`. It +specifies the kind of data that the element is going to produce, so +GStreamer can check if linking with downstream elements is possible +(this is, if the downstream elements will understand this kind of data). +This property must be a `GstCaps` object, which is easily built from a +string with `gst_caps_from_string()`. + +We then connect to the `need-data` and `enough-data` signals. These are +fired by `appsrc` when its internal queue of data is running low or +almost full, respectively. We will use these signals to start and stop +(respectively) our signal generation process. + +``` first-line: 166; theme: Default; brush: cpp; gutter: true +/* Configure appsink */ +g_object_set (data.app_sink, "emit-signals", TRUE, "caps", audio_caps, NULL); +g_signal_connect (data.app_sink, "new-buffer", G_CALLBACK (new_buffer), &data); +gst_caps_unref (audio_caps); +g_free (audio_caps_text); +``` + +Regarding the `appsink` configuration, we connect to the +`new-buffer` signal, which is emitted every time the sink receives a +buffer. Also, the signal emission needs to be enabled through the +`emit-signals` property, because, by default, it is disabled. + +Starting the pipeline, waiting for messages and final cleanup is done as +usual. Let's review the callbacks we have just +registered: + +``` first-line: 67; theme: Default; brush: cpp; gutter: true +/* This signal callback triggers when appsrc needs data. Here, we add an idle handler + * to the mainloop to start pushing data into the appsrc */ +static void start_feed (GstElement *source, guint size, CustomData *data) { + if (data->sourceid == 0) { + g_print ("Start feeding\n"); + data->sourceid = g_idle_add ((GSourceFunc) push_data, data); + } +} +``` + +This function is called when the internal queue of `appsrc` is about to +starve (run out of data). The only thing we do here is register a GLib +idle function with `g_idle_add()` that feeds data to `appsrc` until it +is full again. A GLib idle function is a method that GLib will call from +its main loop whenever it is “idle”, this is, when it has no +higher-priority tasks to perform. It requires a GLib `GMainLoop` to be +instantiated and running, obviously. + +This is only one of the multiple approaches that `appsrc` allows. In +particular, buffers do not need to be fed into `appsrc` from the main +thread using GLib, and you do not need to use the `need-data` and +`enough-data` signals to synchronize with `appsrc` (although this is +allegedly the most convenient). + +We take note of the sourceid that `g_idle_add()` returns, so we can +disable it +later. + +``` first-line: 76; theme: Default; brush: cpp; gutter: true +/* This callback triggers when appsrc has enough data and we can stop sending. + * We remove the idle handler from the mainloop */ +static void stop_feed (GstElement *source, CustomData *data) { + if (data->sourceid != 0) { + g_print ("Stop feeding\n"); + g_source_remove (data->sourceid); + data->sourceid = 0; + } +} +``` + +This function is called when the internal queue of `appsrc` is full +enough so we stop pushing data. Here we simply remove the idle function +by using `g_source_remove()` (The idle function is implemented as a +`GSource`). + +``` first-line: 22; theme: Default; brush: cpp; gutter: true +/* This method is called by the idle GSource in the mainloop, to feed CHUNK_SIZE bytes into appsrc. + * The ide handler is added to the mainloop when appsrc requests us to start sending data (need-data signal) + * and is removed when appsrc has enough data (enough-data signal). + */ +static gboolean push_data (CustomData *data) { + GstBuffer *buffer; + GstFlowReturn ret; + int i; + gint16 *raw; + gint num_samples = CHUNK_SIZE / 2; /* Because each sample is 16 bits */ + gfloat freq; + + /* Create a new empty buffer */ + buffer = gst_buffer_new_and_alloc (CHUNK_SIZE); + + /* Set its timestamp and duration */ + GST_BUFFER_TIMESTAMP (buffer) = gst_util_uint64_scale (data->num_samples, GST_SECOND, SAMPLE_RATE); + GST_BUFFER_DURATION (buffer) = gst_util_uint64_scale (CHUNK_SIZE, GST_SECOND, SAMPLE_RATE); + + /* Generate some psychodelic waveforms */ + raw = (gint16 *)GST_BUFFER_DATA (buffer); +``` + +This is the function that feeds `appsrc`. It will be called by GLib at +times and rates which are out of our control, but we know that we will +disable it when its job is done (when the queue in `appsrc` is full). + +Its first task is to create a new buffer with a given size (in this +example, it is arbitrarily set to 1024 bytes) with +`gst_buffer_new_and_alloc()`. + +We count the number of samples that we have generated so far with the +`CustomData.num_samples` variable, so we can time-stamp this buffer +using the `GST_BUFFER_TIMESTAMP` macro in `GstBuffer`. + +Since we are producing buffers of the same size, their duration is the +same and is set using the `GST_BUFFER_DURATION` in `GstBuffer`. + +`gst_util_uint64_scale()` is a utility function that scales (multiply +and divide) numbers which can be large, without fear of overflows. + +The bytes that for the buffer can be accessed with GST\_BUFFER\_DATA in +`GstBuffer` (Be careful not to write past the end of the buffer: you +allocated it, so you know its size). + +We will skip over the waveform generation, since it is outside the scope +of this tutorial (it is simply a funny way of generating a pretty +psychedelic wave). + +``` first-line: 53; theme: Default; brush: cpp; gutter: true +/* Push the buffer into the appsrc */ +g_signal_emit_by_name (data->app_source, "push-buffer", buffer, &ret); + +/* Free the buffer now that we are done with it */ +gst_buffer_unref (buffer); +``` + +Once we have the buffer ready, we pass it to `appsrc` with the +`push-buffer` action signal (see information box at the end of [Playback +tutorial 1: Playbin2 +usage](Playback%2Btutorial%2B1%253A%2BPlaybin2%2Busage.html)), and then +`gst_buffer_unref()` it since we no longer need it. + +``` first-line: 86; theme: Default; brush: cpp; gutter: true +/* The appsink has received a buffer */ +static void new_buffer (GstElement *sink, CustomData *data) { + GstBuffer *buffer; + + /* Retrieve the buffer */ + g_signal_emit_by_name (sink, "pull-buffer", &buffer); + if (buffer) { + /* The only thing we do in this example is print a * to indicate a received buffer */ + g_print ("*"); + gst_buffer_unref (buffer); + } +} +``` + +Finally, this is the function that gets called when the +`appsink` receives a buffer. We use the `pull-buffer` action signal to +retrieve the buffer and then just print some indicator on the screen. We +can retrieve the data pointer using the `GST_BUFFER_DATA` macro and the +data size using the `GST_BUFFER_SIZE` macro in `GstBuffer`. Remember +that this buffer does not have to match the buffer that we produced in +the `push_data` function, any element in the path could have altered the +buffers in any way (Not in this example: there is only a `tee` in the +path between `appsrc` and `appsink`, and it does not change the content +of the buffers). + +We then `gst_buffer_unref()` the buffer, and this tutorial is done. + +# Conclusion + +This tutorial has shown how applications can: + + - Inject data into a pipeline using the `appsrc`element. + - Retrieve data from a pipeline using the `appsink` element. + - Manipulate this data by accessing the `GstBuffer`. + +In a playbin2-based pipeline, the same goals are achieved in a slightly +different way. [Playback tutorial 3: Short-cutting the +pipeline](Playback%2Btutorial%2B3%253A%2BShort-cutting%2Bthe%2Bpipeline.html) shows +how to do it. + +It has been a pleasure having you here, and see you soon\! + +## Attachments: + +![](images/icons/bullet_blue.gif) +[basic-tutorial-8.png](attachments/1442189/1540159.png) (image/png) +![](images/icons/bullet_blue.gif) +[basic-tutorial-8.png](attachments/1442189/1540160.png) (image/png) +![](images/icons/bullet_blue.gif) +[basic-tutorial-8.png](attachments/1442189/1540158.png) (image/png) + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Basic+tutorial+9%3A+Media+information+gathering.markdown b/Basic+tutorial+9%3A+Media+information+gathering.markdown new file mode 100644 index 0000000000..28c99c4b3d --- /dev/null +++ b/Basic+tutorial+9%3A+Media+information+gathering.markdown @@ -0,0 +1,554 @@ +# GStreamer SDK documentation : Basic tutorial 9: Media information gathering + +This page last changed on May 30, 2012 by xartigas. + +# Goal + +Sometimes you might want to quickly find out what kind of media a file +(or URI) contains, or if you will be able to play the media at all. You +can build a pipeline, set it to run, and watch the bus messages, but +GStreamer has a utility that does just that for you. This tutorial +shows: + + - How to recover information regarding a URI + + - How to find out if a URI is playable + +# Introduction + +`GstDiscoverer` is a utility object found in the `pbutils` library +(Plug-in Base utilities) that accepts a URI or list of URIs, and returns +information about them. It can work in synchronous or asynchronous +modes. + +In synchronous mode, there is only a single function to call, +`gst_discoverer_discover_uri()`, which blocks until the information is +ready. Due to this blocking, it is usually less interesting for +GUI-based applications and the asynchronous mode is used, as described +in this tutorial. + +The recovered information includes codec descriptions, stream topology +(number of streams and sub-streams) and available metadata (like the +audio language). + +![](images/icons/grey_arrow_down.gif)As an example, this is the result +of discovering http://docs.gstreamer.com/media/sintel\_trailer-480p.webm +(Click to expand) + + Duration: 0:00:52.250000000 + Tags: + video codec: On2 VP8 + language code: en + container format: Matroska + application name: ffmpeg2theora-0.24 + encoder: Xiph.Org libVorbis I 20090709 + encoder version: 0 + audio codec: Vorbis + nominal bitrate: 80000 + bitrate: 80000 + Seekable: yes + Stream information: + container: WebM + audio: Vorbis + Tags: + language code: en + container format: Matroska + audio codec: Vorbis + application name: ffmpeg2theora-0.24 + encoder: Xiph.Org libVorbis I 20090709 + encoder version: 0 + nominal bitrate: 80000 + bitrate: 80000 + video: VP8 + Tags: + video codec: VP8 video + container format: Matroska + +The following code tries to discover the URI provided through the +command line, and outputs the retrieved information (If no URI is +provided it uses a default one). + +This is a simplified version of what the `gst-discoverer` tool does +([Basic tutorial 10: GStreamer +tools](Basic%2Btutorial%2B10%253A%2BGStreamer%2Btools.html)), which is +an application that only displays data, but does not perform any +playback. + +# The GStreamer Discoverer + +Copy this code into a text file named `basic-tutorial-9.c` (or find it +in the SDK installation). + +**basic-tutorial-9.c** + +``` theme: Default; brush: cpp; gutter: true +#include +#include +#include + +/* Structure to contain all our information, so we can pass it around */ +typedef struct _CustomData { + GstDiscoverer *discoverer; + GMainLoop *loop; +} CustomData; + +/* Print a tag in a human-readable format (name: value) */ +static void print_tag_foreach (const GstTagList *tags, const gchar *tag, gpointer user_data) { + GValue val = { 0, }; + gchar *str; + gint depth = GPOINTER_TO_INT (user_data); + + gst_tag_list_copy_value (&val, tags, tag); + + if (G_VALUE_HOLDS_STRING (&val)) + str = g_value_dup_string (&val); + else + str = gst_value_serialize (&val); + + g_print ("%*s%s: %s\n", 2 * depth, " ", gst_tag_get_nick (tag), str); + g_free (str); + + g_value_unset (&val); +} + +/* Print information regarding a stream */ +static void print_stream_info (GstDiscovererStreamInfo *info, gint depth) { + gchar *desc = NULL; + GstCaps *caps; + const GstTagList *tags; + + caps = gst_discoverer_stream_info_get_caps (info); + + if (caps) { + if (gst_caps_is_fixed (caps)) + desc = gst_pb_utils_get_codec_description (caps); + else + desc = gst_caps_to_string (caps); + gst_caps_unref (caps); + } + + g_print ("%*s%s: %s\n", 2 * depth, " ", gst_discoverer_stream_info_get_stream_type_nick (info), (desc ? desc : "")); + + if (desc) { + g_free (desc); + desc = NULL; + } + + tags = gst_discoverer_stream_info_get_tags (info); + if (tags) { + g_print ("%*sTags:\n", 2 * (depth + 1), " "); + gst_tag_list_foreach (tags, print_tag_foreach, GINT_TO_POINTER (depth + 2)); + } +} + +/* Print information regarding a stream and its substreams, if any */ +static void print_topology (GstDiscovererStreamInfo *info, gint depth) { + GstDiscovererStreamInfo *next; + + if (!info) + return; + + print_stream_info (info, depth); + + next = gst_discoverer_stream_info_get_next (info); + if (next) { + print_topology (next, depth + 1); + gst_discoverer_stream_info_unref (next); + } else if (GST_IS_DISCOVERER_CONTAINER_INFO (info)) { + GList *tmp, *streams; + + streams = gst_discoverer_container_info_get_streams (GST_DISCOVERER_CONTAINER_INFO (info)); + for (tmp = streams; tmp; tmp = tmp->next) { + GstDiscovererStreamInfo *tmpinf = (GstDiscovererStreamInfo *) tmp->data; + print_topology (tmpinf, depth + 1); + } + gst_discoverer_stream_info_list_free (streams); + } +} + +/* This function is called every time the discoverer has information regarding + * one of the URIs we provided.*/ +static void on_discovered_cb (GstDiscoverer *discoverer, GstDiscovererInfo *info, GError *err, CustomData *data) { + GstDiscovererResult result; + const gchar *uri; + const GstTagList *tags; + GstDiscovererStreamInfo *sinfo; + + uri = gst_discoverer_info_get_uri (info); + result = gst_discoverer_info_get_result (info); + switch (result) { + case GST_DISCOVERER_URI_INVALID: + g_print ("Invalid URI '%s'\n", uri); + break; + case GST_DISCOVERER_ERROR: + g_print ("Discoverer error: %s\n", err->message); + break; + case GST_DISCOVERER_TIMEOUT: + g_print ("Timeout\n"); + break; + case GST_DISCOVERER_BUSY: + g_print ("Busy\n"); + break; + case GST_DISCOVERER_MISSING_PLUGINS:{ + const GstStructure *s; + gchar *str; + + s = gst_discoverer_info_get_misc (info); + str = gst_structure_to_string (s); + + g_print ("Missing plugins: %s\n", str); + g_free (str); + break; + } + case GST_DISCOVERER_OK: + g_print ("Discovered '%s'\n", uri); + break; + } + + if (result != GST_DISCOVERER_OK) { + g_printerr ("This URI cannot be played\n"); + return; + } + + /* If we got no error, show the retrieved information */ + + g_print ("\nDuration: %" GST_TIME_FORMAT "\n", GST_TIME_ARGS (gst_discoverer_info_get_duration (info))); + + tags = gst_discoverer_info_get_tags (info); + if (tags) { + g_print ("Tags:\n"); + gst_tag_list_foreach (tags, print_tag_foreach, GINT_TO_POINTER (1)); + } + + g_print ("Seekable: %s\n", (gst_discoverer_info_get_seekable (info) ? "yes" : "no")); + + g_print ("\n"); + + sinfo = gst_discoverer_info_get_stream_info (info); + if (!sinfo) + return; + + g_print ("Stream information:\n"); + + print_topology (sinfo, 1); + + gst_discoverer_stream_info_unref (sinfo); + + g_print ("\n"); +} + +/* This function is called when the discoverer has finished examining + * all the URIs we provided.*/ +static void on_finished_cb (GstDiscoverer *discoverer, CustomData *data) { + g_print ("Finished discovering\n"); + + g_main_loop_quit (data->loop); +} + +int main (int argc, char **argv) { + CustomData data; + GError *err = NULL; + gchar *uri = "http://docs.gstreamer.com/media/sintel_trailer-480p.webm"; + + /* if a URI was provided, use it instead of the default one */ + if (argc > 1) { + uri = argv[1]; + } + + /* Initialize cumstom data structure */ + memset (&data, 0, sizeof (data)); + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + g_print ("Discovering '%s'\n", uri); + + /* Instantiate the Discoverer */ + data.discoverer = gst_discoverer_new (5 * GST_SECOND, &err); + if (!data.discoverer) { + g_print ("Error creating discoverer instance: %s\n", err->message); + g_clear_error (&err); + return -1; + } + + /* Connect to the interesting signals */ + g_signal_connect (data.discoverer, "discovered", G_CALLBACK (on_discovered_cb), &data); + g_signal_connect (data.discoverer, "finished", G_CALLBACK (on_finished_cb), &data); + + /* Start the discoverer process (nothing to do yet) */ + gst_discoverer_start (data.discoverer); + + /* Add a request to process asynchronously the URI passed through the command line */ + if (!gst_discoverer_discover_uri_async (data.discoverer, uri)) { + g_print ("Failed to start discovering URI '%s'\n", uri); + g_object_unref (data.discoverer); + return -1; + } + + /* Create a GLib Main Loop and set it to run, so we can wait for the signals */ + data.loop = g_main_loop_new (NULL, FALSE); + g_main_loop_run (data.loop); + + /* Stop the discoverer process */ + gst_discoverer_stop (data.discoverer); + + /* Free resources */ + g_object_unref (data.discoverer); + g_main_loop_unref (data.loop); + + return 0; +} +``` + + + + + + + + +
+
+Need help? (Click to expand) +
+
+

If you need help to compile this code, refer to the Building the tutorials section for your platform: Linux, Mac OS X or Windows, or use this specific command on Linux:

+
+
+

gcc basic-tutorial-9.c -o basic-tutorial-9 `pkg-config --cflags --libs gstreamer-pbutils-0.10 gstreamer-0.10`

+
+
+

If you need help to run this code, refer to the Running the tutorials section for your platform: Linux, Mac OS X or Windows

+

This tutorial opens the URI passed as the first parameter in the command line (or a default URI if none is provided) and outputs information about it on the screen. If the media is located on the Internet, the application might take a bit to react depending on your connection speed.

+

Required libraries: gstreamer-pbutils-0.10 gstreamer-0.10

+
+
+ +# Walkthrough + +These are the main steps to use the `GstDiscoverer`: + +``` first-line: 182; theme: Default; brush: cpp; gutter: true +/* Instantiate the Discoverer */ +data.discoverer = gst_discoverer_new (5 * GST_SECOND, &err); +if (!data.discoverer) { + g_print ("Error creating discoverer instance: %s\n", err->message); + g_clear_error (&err); + return -1; +} +``` + +`gst_discoverer_new()` creates a new Discoverer object. The first +parameter is the timeout per file, in nanoseconds (use the +`GST_SECOND` macro for simplicity). + +``` first-line: 190; theme: Default; brush: cpp; gutter: true +/* Connect to the interesting signals */ +g_signal_connect (data.discoverer, "discovered", G_CALLBACK (on_discovered_cb), &data); +g_signal_connect (data.discoverer, "finished", G_CALLBACK (on_finished_cb), &data); +``` + +Connect to the interesting signals, as usual. We discuss them in the +snippet for their callbacks. + +``` first-line: 194; theme: Default; brush: cpp; gutter: true +/* Start the discoverer process (nothing to do yet) */ +gst_discoverer_start (data.discoverer); +``` + +`gst_discoverer_start()` launches the discovering process, but we have +not provided any URI to discover yet. This is done +next: + +``` first-line: 197; theme: Default; brush: cpp; gutter: true +/* Add a request to process asynchronously the URI passed through the command line */ +if (!gst_discoverer_discover_uri_async (data.discoverer, uri)) { + g_print ("Failed to start discovering URI '%s'\n", uri); + g_object_unref (data.discoverer); + return -1; +} +``` + +`gst_discoverer_discover_uri_async()` enqueues the provided URI for +discovery. Multiple URIs can be enqueued with this function. As the +discovery process for each of them finishes, the registered callback +functions will be fired +up. + +``` first-line: 204; theme: Default; brush: cpp; gutter: true +/* Create a GLib Main Loop and set it to run, so we can wait for the signals */ +data.loop = g_main_loop_new (NULL, FALSE); +g_main_loop_run (data.loop); +``` + +The usual GLib main loop is instantiated and executed. We will get out +of it when `g_main_loop_quit()` is called from the +`on_finished_cb` callback. + +``` first-line: 208; theme: Default; brush: cpp; gutter: true +/* Stop the discoverer process */ +gst_discoverer_stop (data.discoverer); +``` + +Once we are done with the discoverer, we stop it with +`gst_discoverer_stop()` and unref it with `g_object_unref()`. + +Let's review now the callbacks we have +registered: + +``` first-line: 85; theme: Default; brush: cpp; gutter: true +/* This function is called every time the discoverer has information regarding + * one of the URIs we provided.*/ +static void on_discovered_cb (GstDiscoverer *discoverer, GstDiscovererInfo *info, GError *err, CustomData *data) { + GstDiscovererResult result; + const gchar *uri; + const GstTagList *tags; + GstDiscovererStreamInfo *sinfo; + + uri = gst_discoverer_info_get_uri (info); + result = gst_discoverer_info_get_result (info); +``` + +We got here because the Discoverer has finished working on one URI, and +provides us a `GstDiscovererInfo` structure with all the information. + +The first step is to retrieve the particular URI this call refers to (in +case we had multiple discover process running, which is not the case in +this example) with `gst_discoverer_info_get_uri()` and the discovery +result with `gst_discoverer_info_get_result()`. + +``` first-line: 95; theme: Default; brush: cpp; gutter: true +switch (result) { + case GST_DISCOVERER_URI_INVALID: + g_print ("Invalid URI '%s'\n", uri); + break; + case GST_DISCOVERER_ERROR: + g_print ("Discoverer error: %s\n", err->message); + break; + case GST_DISCOVERER_TIMEOUT: + g_print ("Timeout\n"); + break; + case GST_DISCOVERER_BUSY: + g_print ("Busy\n"); + break; + case GST_DISCOVERER_MISSING_PLUGINS:{ + const GstStructure *s; + gchar *str; + + s = gst_discoverer_info_get_misc (info); + str = gst_structure_to_string (s); + + g_print ("Missing plugins: %s\n", str); + g_free (str); + break; + } + case GST_DISCOVERER_OK: + g_print ("Discovered '%s'\n", uri); + break; +} + + +if (result != GST_DISCOVERER_OK) { + g_printerr ("This URI cannot be played\n"); + return; +} +``` + +As the code shows, any result other than `GST_DISCOVERER_OK` means that +there has been some kind of problem, and this URI cannot be played. The +reasons can vary, but the enum values are quite explicit +(`GST_DISCOVERER_BUSY` can only happen when in synchronous mode, which +is not used in this example). + +If no error happened, information can be retrieved from the +`GstDiscovererInfo` structure with the different +`gst_discoverer_info_get_*` methods (like, +`gst_discoverer_info_get_duration()`, for example). + +Bits of information which are made of lists, like tags and stream info, +needs some extra parsing: + +``` first-line: 133; theme: Default; brush: cpp; gutter: true +tags = gst_discoverer_info_get_tags (info); +if (tags) { + g_print ("Tags:\n"); + gst_tag_list_foreach (tags, print_tag_foreach, GINT_TO_POINTER (1)); +} +``` + +Tags are metadata (labels) attached to the media. They can be examined +with `gst_tag_list_foreach()`, which will call `print_tag_foreach` for +each tag found (the list could also be traversed manually, for example, +or a specific tag could be searched for with +`gst_tag_list_get_string()`). The code for `print_tag_foreach` is pretty +much self-explicative. + +``` first-line: 143; theme: Default; brush: cpp; gutter: false +sinfo = gst_discoverer_info_get_stream_info (info); +if (!sinfo) + return; + +g_print ("Stream information:\n"); + +print_topology (sinfo, 1); + +gst_discoverer_stream_info_unref (sinfo); +``` + +`gst_discoverer_info_get_stream_info()` returns +a `GstDiscovererStreamInfo` structure that is parsed in +the `print_topology` function, and then discarded +with `gst_discoverer_stream_info_unref()`. + +``` first-line: 60; theme: Default; brush: cpp; gutter: true +/* Print information regarding a stream and its substreams, if any */ +static void print_topology (GstDiscovererStreamInfo *info, gint depth) { + GstDiscovererStreamInfo *next; + + if (!info) + return; + + print_stream_info (info, depth); + + next = gst_discoverer_stream_info_get_next (info); + if (next) { + print_topology (next, depth + 1); + gst_discoverer_stream_info_unref (next); + } else if (GST_IS_DISCOVERER_CONTAINER_INFO (info)) { + GList *tmp, *streams; + + streams = gst_discoverer_container_info_get_streams (GST_DISCOVERER_CONTAINER_INFO (info)); + for (tmp = streams; tmp; tmp = tmp->next) { + GstDiscovererStreamInfo *tmpinf = (GstDiscovererStreamInfo *) tmp->data; + print_topology (tmpinf, depth + 1); + } + gst_discoverer_stream_info_list_free (streams); + } +} +``` + +The `print_stream_info` function's code is also pretty much +self-explicative: it prints the stream's capabilities and then the +associated caps, using `print_tag_foreach` too. + +Then, `print_topology` looks for the next element to display. If +`gst_discoverer_stream_info_get_next()` returns a non-NULL stream info, +it refers to our descendant and that should be displayed. Otherwise, if +we are a container, recursively call `print_topology` on each of our +children obatined with `gst_discoverer_container_info_get_streams()`. +Otherwise, we are a final stream, and do not need to recurse (This part +of the Discoverer API is admittedly a bit obscure). + +# Conclusion + +This tutorial has shown: + + - How to recover information regarding a URI using the `GstDiscoverer` + + - How to find out if a URI is playable by looking at the return code + obtained with `gst_discoverer_info_get_result()`. + +It has been a pleasure having you here, and see you soon\! + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Basic+tutorials.markdown b/Basic+tutorials.markdown new file mode 100644 index 0000000000..b43de3ce01 --- /dev/null +++ b/Basic+tutorials.markdown @@ -0,0 +1,11 @@ +# GStreamer SDK documentation : Basic tutorials + +This page last changed on Mar 28, 2012 by xartigas. + +# Welcome to the GStreamer SDK Basic tutorials + +These tutorials describe general topics required to understand the rest +of tutorials in the GStreamer SDK. + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Building+from+source+using+Cerbero.markdown b/Building+from+source+using+Cerbero.markdown new file mode 100644 index 0000000000..c5c2f5d162 --- /dev/null +++ b/Building+from+source+using+Cerbero.markdown @@ -0,0 +1,280 @@ +# GStreamer SDK documentation : Building from source using Cerbero + +This page last changed on Jul 15, 2013 by ylatuya. + + + + + + + + +

This section is intended for advanced users.

+ +#### Build requirements + +The GStreamer SDK build system provides bootstrapping facilities for all +platforms, but it still needs a minimum base to bootstrap: + + - python \>= 2.6 and python's `argparse` module, which is already + included in python2.7. + - git + + + + + + + + +
Windows users
+ +

Cerbero can be used on Windows using the Msys/MinGW shell (a Unix-like shell for Windows). There is a bit of setup that you need to do before Cerbero can take control.

+

You need to install the following programs:

+
    +
  • Python 2.7
  • +
  • Git (Select the install option "Checkout as-is, Commit as-is" and install it in a path without spaces, eg: c:\Git)
  • +
  • Msys/MinGW (Install it with all the options enabled)
  • +
  • CMake (Select the option "Add CMake in system path for the current user")
  • +
  • Yasm (Download the win32 or win64 version for your platform, name it yasm.exe, and place it in your MinGW bin directory, typically, C:\MinGW\bin)

  • +
  • WiX 3.5 
  • +
  • Microsoft SDK 7.1 (Install the SDK samples and the Visual C++ Compilers, required to build the DirectShow base classes. Might need installing the .NET 4 Framework first if the SDK installer doesn't find it)
  • +
  • Windows Driver Kit 7.1.0
  • +
+

Your user ID can't have spaces (eg: John Smith). Paths with spaces are not correctly handled in the build system and msys uses the user ID for the home folder.

+

Cerbero must be run in the MinGW shell, which is accessible from the main menu once MinGW is installed.

+

The last step is making python and git available from the shell, for which you will need to create a .profile file. Issue this command from within the MinGW shell:

+
+
+
echo "export PATH=\"\$PATH:/c/Python27:/c/Git/bin\"" >> ~/.profile
+
+
+

Using the appropriate paths to where you installed python and git.

+

(Note that inside the shell, / is mapped to c:\Mingw\msys\1.0\ )

+ + + + + + + + +
OS X users
+ +

To use cerbero on OS X you need to install the "Command Line Tools" from XCode. They are available from the "Preferences" dialog under "Downloads".

+ + + + + + + + +
iOS developers
+ +

If you want to build the GStreamer-SDK for iOS, you also need the iOS SDK. The minimum required iOS SDK version is 6.0 and is included in Xcode since version 4.

+ +Download the sources + +To build the GStreamer SDK, you first need to download **Cerbero**. +Cerbero is a multi-platform build system for Open Source projects that +builds and creates native packages for different platforms, +architectures and distributions. + +Get a copy of Cerbero by cloning the git repository: + +``` theme: Default; brush: plain; gutter: false +git clone git://anongit.freedesktop.org/gstreamer-sdk/cerbero +``` + +Cerbero can be run uninstalled and for convenience you can create an +alias in your `.bashrc` file*. *If you prefer to skip this step, +remember that you need to replace the calls to `cerbero` with +`./cerbero-uninstalled` in the next steps. + +``` theme: Default; brush: plain; gutter: false +echo "alias cerbero='~/git/cerbero/cerbero-uninstalled'" >> ~/.bashrc +``` + +#### Setup environment + +After Cerbero and the base requirements are in place, you need to setup +the build environment. + +Cerbero reads the configuration file `$HOME/.cerbero/cerbero.cbc` to +determine the build options. This file is a python code which allows +overriding/defining some options. + +If the file does not exist, Cerbero will try to determine the distro you +are running and will use default build options such as the default build +directory. The default options should work fine on the supported +distributions. + +An example configuration file with detailed comments can be found +[here](http://www.freedesktop.org/software/gstreamer-sdk/cerbero.cbc.template) + +To fire up the bootstrapping process, go to the directory where you +cloned/unpacked Cerbero and type: + +``` theme: Default; brush: plain; gutter: false +cerbero bootstrap  +``` + +Enter the superuser/root password when prompted. + +The bootstrap process will then install all packages required to build +the GStreamer SDK. + +#### Build the SDK + +To generate the SDK, use the following command: + +``` theme: Default; brush: plain; gutter: false +cerbero package gstreamer-sdk +``` + +This should build all required SDK components and create packages for +your distribution at the Cerbero source directory. + +A list of supported packages to build can be retrieved using: + +``` theme: Default; brush: plain; gutter: false +cerbero list-packages +``` + +Packages are composed of 0 (in case of a meta package) or more +components that can be built separately if desired. The components are +defined as individual recipes and can be listed with: + +``` theme: Default; brush: plain; gutter: false +cerbero list +``` + +To build an individual recipe and its dependencies, do the following: + +``` theme: Default; brush: plain; gutter: false +cerbero build +``` + +Or to build or force a rebuild of a recipe without building its +dependencies use: + +``` theme: Default; brush: plain; gutter: false +cerbero buildone +``` + +To wipe everything and start from scratch: + +``` theme: Default; brush: plain; gutter: false +cerbero wipe +``` + +Once built, the output of the recipes will be installed at the prefix +defined in the Cerbero configuration file `$HOME/.cerbero/cerbero.cbc` +or at `$HOME/cerbero/dist` if no prefix is defined. + +#### Build a single project with the SDK + +Rebuilding the whole SDK is relatively fast on Linux and OS X, but it +can be very slow on Windows, so if you only need to rebuild a single +project (eg: gst-plugins-good to patch qtdemux) there is a much faster +way of doing it. You will need  to follow the steps detailed in this +page, but skipping the step "**Build the SDK**", and installing the +SDK's development files as explained in [Installing the +SDK](Installing%2Bthe%2BSDK.html). + +By default, Cerbero uses as prefix a folder in the user directory with +the following schema ~/cerbero/dist/$platform\_$arch, but for the SDK we +must change this prefix to use its installation directory. This can be +done with a custom configuration file named *custom.cbc*: + +``` theme: Default; brush: plain; gutter: false +# For Windows x86 +prefix='/c/gstreamer-sdk/0.10/x86/' +  +# For Windows x86_64 +#prefix='/c/gstreamer-sdk/0.10/x86_64' +  +# For Linux +#prefix='/opt/gstreamer-sdk' +  +# For OS X +#prefix='/Library/Frameworks/GStreamer.framework/Versions/0.10' +``` + +The prefix path might not be writable by your current user. Make sure +you fix it before, for instance with: + +``` theme: Default; brush: plain; gutter: false +$ sudo chown -R /Library/Frameworks/GStreamer.framework/ +``` + +Cerbero has a shell command that starts a new shell with all the +environment set up to target the SDK. You can start a new shell using +the installation prefix defined in *custom.cbc *with the following +command: + +``` theme: Default; brush: plain; gutter: false +$ cerbero -c custom.cbc shell +``` + +Once you are in Cerbero's shell you can compile new +projects targeting the SDK using the regular build +process: + +``` theme: Default; brush: plain; gutter: false +$ git clone -b sdk-0.10.31 git://anongit.freedesktop.org/gstreamer-sdk/gst-plugins-good; cd gst-plugins-good +$ sh autogen.sh --disable-gtk-doc --prefix= +$ make -C gst/isomp4 +``` + +  + +#### Cross-compilation of the SDK + +Cerbero can be used to cross-compile the SDK to other platforms like +Android or Windows. You only need to use a configuration file that sets +the target platform, but we also provide a set of of pre-defined +configuration files for the supported platforms (you will find them in +the `config` folder with the `.cbc` extension + +##### Android + +You can cross-compile the SDK for Android from a Linux host using the +configuration file `config/cross-android.cbc`. Replace all the previous +commands with: + +``` theme: Default; brush: plain; gutter: false +cerbero -c config/cross-android.cbc +``` + +##### Windows + +The SDK can also be cross-compiled to Windows from Linux, but you should +only use it for testing purpose. The DirectShow plugins cannot be +cross-compiled yet and WiX can't be used with Wine yet, so packages can +only be created from Windows. + +Replace all the above commands for Windows 32bits with: + +``` theme: Default; brush: plain; gutter: false +cerbero -c config/cross-win32.cbc +``` + +Or with using the following for Windows 64bits: + +``` theme: Default; brush: plain; gutter: false +cerbero -c config/cross-win64.cbc +``` + +##### iOS + +To cross compile for iOS from OS X, use the configuration file +`config/cross-ios-universal.cbc`. Replace all previous commands with: + +``` theme: Default; brush: cpp; gutter: false +cerbero -c config/cross-ios-universal.cbc +``` + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Contact.markdown b/Contact.markdown new file mode 100644 index 0000000000..4d715d3e6c --- /dev/null +++ b/Contact.markdown @@ -0,0 +1,38 @@ +# GStreamer SDK documentation : Contact + +This page last changed on Dec 03, 2012 by xartigas. + +. + + ++++ + + + + + + + + + + + + + + + + + + +

Main Site

+

For general information

www.gstreamer.com

Documentation Site

+

Technical information, tutorials and reference guide

docs.gstreamer.com

Commercial support

+

For commercial enquires

www.gstreamer.com/support.html

Bug tracker

+

File a bug, make a suggestion or simply leave a comment.
+We want to hear from you!

The GStreamer SDK Bugzilla

+ +Document generated by Confluence on Oct 08, 2015 10:28 + diff --git a/Deploying+your+application.markdown b/Deploying+your+application.markdown new file mode 100644 index 0000000000..eb54bfdae9 --- /dev/null +++ b/Deploying+your+application.markdown @@ -0,0 +1,131 @@ +# GStreamer SDK documentation : Deploying your application + +This page last changed on Jun 12, 2013 by xartigas. + +Once the development of your application is finished, you will need to +deploy it to the target machine, usually in the form of a package or +installer. You have several options here, and, even though this subject +is not really in the scope of this documentation, we will give some +hints to try to help you. + +# Multiplatform vs. single-platform packaging system + +The first choice you need to make is whether you want to deploy your +application to more than one platform. If yes, then you have the choice +to use a different packaging system for each platform, or use one that +can deliver to all platforms simultaneously. This table summarizes the +pros and cons of each option. + + +++++ + + + + + + + + + + + + + + + + + + + +
 ProsCons

Multiplatform packaging system

+

 The same system is used to package your application for all platforms

    +
  • You only need to develop your packaging system once, and it works for all supported platforms.

  • +
    +
  • On some platforms, the packaging system might impose artificial restrictions inherited from the other platforms.
  • +

Single-platform packaging system

+

Your application is packaged using a different system on each platform.

    +
  • You can make use of all the advantages each packaging system can offer.

    +

     

  • +
    +
  • You need to develop a new packaging system for each supported platform.

  • +
+ +The GStreamer SDK itself supports three different platforms (Linux, Mac +OS X and Windows) and has been built using a multiplatform packaging +system named **Cerbero**, which is available for you to use, should you +choose to go down this route. + +# Shared vs. private GStreamer deployment + +You can install the GStreamer SDK in the target machine in the same way +you installed it in your development machine, you can deploy it +privately, or you can even customize it before deploying. Here you have +a few options: + + +++++ + + + + + + + + + + + + + + + + + + + + + + + + +
 ProsCons

Shared SDK

+

The GStreamer SDK is installed independently of your application, as a prerequisite, in a common place in the target computer (C:\Program Files, for example). You application uses an environment variable to locate it.

    +
  • If more than one application in the target computer uses the SDK, it is installed only once and shared, reducing disk usage.

  • +
    +
  • Tampering or corruption of the shared SDK installation can make your application fail.
  • +
  • The SDK libraries are unprotected and open to tampering.

  • +

Private SDK with dynamic linking

+

Your application deploys the GStreamer SDK to a private folder.

    +
  • Your SDK is independent of other applications, so it does not get corrupted if other applications mess with their installations.

  • +
    +
  • If multiple applications in the target computer use the GStreamer SDK, it won’t be shared, consuming more disk space.

  • +
  • The SDK libraries are unprotected and open to tampering.

  • +

Private SDK with static linking

+

Your application links statically against the GStreamer SDK, so it effectively becomes part of your application binary.

    +
  • Your SDK is independent of other applications, so it does not get corrupted if other applications mess with their installations.
  • +
  • It is much harder to tamper with the SDK, since it is embedded in your application.
  • +
    +
  • If multiple applications in the target computer use the GStreamer SDK, it won’t be shared, consuming more disk space.
  • +
+ +The following pages give further directions for some of the above +options. + + - Platform-specific packaging methods: + - For [Mac OS X](Mac%2BOS%2BX%2Bdeployment.html) + - For [Windows](Windows%2Bdeployment.html) + - [Multiplatform deployment using + Cerbero](Multiplatform%2Bdeployment%2Busing%2BCerbero.html) + +  + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Frequently+Asked+Questions.markdown b/Frequently+Asked+Questions.markdown new file mode 100644 index 0000000000..2781116ed6 --- /dev/null +++ b/Frequently+Asked+Questions.markdown @@ -0,0 +1,157 @@ +# GStreamer SDK documentation : Frequently Asked Questions + +This page last changed on Jun 12, 2013 by xartigas. + + ++++ + + + + + + +

This is a list of frequently asked questions. Use the menu on the right to quickly locate your enquire.

+

What is GStreamer?

+

As stated in the GStreamer home page: GStreamer is a library for constructing graphs of media-handling components. The applications it supports range from simple Ogg/Vorbis playback, audio/video streaming to complex audio (mixing) and video (non-linear editing) processing.

+

Applications can take advantage of advances in codec and filter technology transparently. Developers can add new codecs and filters by writing a simple plugin with a clean, generic interface.

+

GStreamer is released under the LGPL. The 0.10 series is API and ABI stable.

+ +# What is the GStreamer SDK? + +GStreamer has sometimes proven to be difficult to understand, in part +due to the complex nature of the data it manipulates (multimedia +graphs), and in part due to it being a live framework which continuously +evolves. + +This SDK, essentially, does four things for you: + + - Sticks to one particular version of GStreamer, so you do not have to + worry about changing documentation and features being added or + deprecated. + - Provides a wide range of tutorials to get you up to speed as fast as + possible. + - Provides a “build system”, this is, instructions and tools to build + your application from the source code. On Linux, this is more or + less straightforward, but GStreamer support for other operating + system has been historically more cumbersome. The SDK is also + available on Windows and Mac OS X to ease building on these systems. + - Provides a one-stop place for all documentation related to + GStreamer, including the libraries it depends on. + +# What is the difference between this site and the one at freedesktop? + +The main and most important difference between these two sites is the +SDK: while [gstreamer.com](http://gstreamer.com/) provides a binary +ready for use for anyone interested in this +framework, [gstreamer.freedesktop.org](http://gstreamer.freedesktop.org/) pursues +other objectives: + + - [gstreamer.freedesktop.org](http://gstreamer.freedesktop.org/) is + the main vehicle for the GStreamer community members to communicate + with each other and improve this framework. This site is oriented to + developers contributing to both, the development of the framework + itself and building multimedia applications. + - In contrast, the objective + of [gstreamer.com](http://gstreamer.com/) is facilitating the use + of GStreamer by providing a stable version of this framework, + pre-built and ready to use. People using this SDK are mainly + interested in the use of GStreamer as a tool that will help them + build multimedia applications. + +In summary: + + + + + + + + + + + + + + + + + + + + + + + + + + +
 gstreamer.freedesktop.orggstreamer.com
VersionAll GStreamer versionsOne single stable version
DocumentationMainly for consulting, covering all aspects of developing on and for GStreamer.Consulting, How-to’s and tutorials only for the version of the SDK
SDKNoYes
+ +# Who uses GStreamer? + +Some cool media apps using GStreamer: + + - [Banshee](http://banshee.fm/) + - [Songbird](http://getsongbird.com/) + - [Snappy](http://live.gnome.org/snappy)   + - [Empathy](https://live.gnome.org/Empathy) + - [Totem](http://projects.gnome.org/totem/) + - [Transmaggedon](http://www.linuxrising.org/) + - [Flumotion](http://www.flumotion.net/) + - [Landell](http://landell.holoscopio.com/) + - [Longo match](http://longomatch.org/) + - [Rygel](https://live.gnome.org/Rygel) + - [Sound + juicer](http://www.burtonini.com/blog/computers/sound-juicer) + - [Buzztard](http://wiki.buzztard.org/index.php/Overview) + - [Moovida](http://www.moovida.com/) (Based on Banshee) + - [Fluendo DVD + Player](http://www.fluendo.com/shop/product/fluendo-dvd-player/) + - and many [more](http://gstreamer.freedesktop.org/apps/) + +# What is the target audience? + +This SDK is mainly intended for application developers wanting to add +cross-platform multimedia capabilities to their programs. + +Developers wanting to write their own plug-ins for GStreamer should +already be familiar with the topics covered in this documentation, and +should refer to the [GStreamer +documentation](http://gstreamer.freedesktop.org/documentation/) (particularly, +the plug-in writer's guide). + +# How many versions of the GStreamer SDK are there? + +Check out the [Releases](Releases.html) page for detailed information. + +# Is there an SDK for Android? + +The GStreamer SDK supports the Android platform since [version 2012.11 +(Brahmaputra)](2012.11%2BBrahmaputra.html). + +# What about iOS? + +The GStreamer SDK supports the iOS platform since [version 2013.6 +(Congo)](2013.6%2BCongo.html). + +Document generated by Confluence on Oct 08, 2015 10:28 + diff --git a/GStreamer+reference.markdown b/GStreamer+reference.markdown new file mode 100644 index 0000000000..1e83d001bc --- /dev/null +++ b/GStreamer+reference.markdown @@ -0,0 +1,57 @@ +# GStreamer SDK documentation : GStreamer reference + +This page last changed on Jun 25, 2012 by xartigas. + +# GStreamer reference + +This is the complete documentation for the GStreamer API, automatically +generated from the source code of GStreamer. + + + + + + + + +

This documentation is still being prepared. Meanwhile, all links in the tutorials point to gstreamer.freedesktop.org

+ +  + +  + +  + +## Comments: + + +++ + + + + + + + + + + + +
+

It seems links point to the HEAD (1.0) docs, not 0.10 docs (http://gstreamer.freedesktop.org/data/doc/gstreamer/0.10.36/).

+
+ Posted by at Jun 11, 2012 11:34 +
+

Thanks for fixing that link, but it seems all the links in the tutorials also need to be updated. Hopefully Confluence provides for global search and replace. (smile)

+
+ Posted by at Jun 11, 2012 12:49 +
+

Fixed! Thanks for the feedback.

+
+ Posted by xartigas at Jun 11, 2012 13:20 +
+ +Document generated by Confluence on Oct 08, 2015 10:28 + diff --git a/Home.markdown b/Home.markdown new file mode 100644 index 0000000000..503a0b134e --- /dev/null +++ b/Home.markdown @@ -0,0 +1,106 @@ +# ![Home Page](images/icons/contenttypes/home_page_16.png) GStreamer SDK documentation : Home + +This page last changed on Jun 14, 2013 by xartigas. + +# Welcome to the GStreamer SDK documentation\! + +Use the navigation bar on the left or choose from the following menu. +Feel free to jump straight to the download section, start practicing +with the tutorials, or read the F.A.Q. if you don’t know what this is +all about. + + ++++++ + + + + + + + + + + + + + + +
+

Download

+Download and install the GStreamer SDK
+

Tutorials

+Learn how to use the GStreamer SDK
+

Deployment instructions

+Deploy the SDK with your application
+

Reference guide

+GStreamer API reference
+

F.A.Q.

+Frequently Asked Questions
+

Legal information

+Patents, Licenses and legal F.A.Q.
+

Releases

+Version details
+

Contact

+Commercial support, bug reporting...
+ + + + + + + + +

The latest Release is 2013.6 Congo.

+ +## Attachments: + +![](images/icons/bullet_blue.gif) +[download.png](attachments/327688/2424858.png) (image/png) +![](images/icons/bullet_blue.gif) +[tutorials.png](attachments/327688/2424859.png) (image/png) +![](images/icons/bullet_blue.gif) +[deploy.png](attachments/327688/2424860.png) (image/png) +![](images/icons/bullet_blue.gif) +[faq.png](attachments/327688/2424862.png) (image/png) +![](images/icons/bullet_blue.gif) +[legal.png](attachments/327688/2424863.png) (image/png) +![](images/icons/bullet_blue.gif) +[contact.png](attachments/327688/2424864.png) (image/png) +![](images/icons/bullet_blue.gif) +[download.png](attachments/327688/2424865.png) (image/png) +![](images/icons/bullet_blue.gif) +[tutorials.png](attachments/327688/2424872.png) (image/png) +![](images/icons/bullet_blue.gif) +[deploy.png](attachments/327688/2424867.png) (image/png) +![](images/icons/bullet_blue.gif) +[faq.png](attachments/327688/2424868.png) (image/png) +![](images/icons/bullet_blue.gif) +[legal.png](attachments/327688/2424869.png) (image/png) +![](images/icons/bullet_blue.gif) +[contact.png](attachments/327688/2424866.png) (image/png) +![](images/icons/bullet_blue.gif) +[download.png](attachments/327688/2424851.png) (image/png) +![](images/icons/bullet_blue.gif) +[contact.png](attachments/327688/2424857.png) (image/png) +![](images/icons/bullet_blue.gif) +[deploy.png](attachments/327688/2424853.png) (image/png) +![](images/icons/bullet_blue.gif) +[faq.png](attachments/327688/2424855.png) (image/png) +![](images/icons/bullet_blue.gif) +[legal.png](attachments/327688/2424856.png) (image/png) +![](images/icons/bullet_blue.gif) +[reference.png](attachments/327688/2424870.png) (image/png) +![](images/icons/bullet_blue.gif) +[releases.png](attachments/327688/2424873.png) (image/png) +![](images/icons/bullet_blue.gif) +[tutorials.png](attachments/327688/2424852.png) (image/png) +![](images/icons/bullet_blue.gif) +[releases.png](attachments/327688/2424871.png) (image/png) + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Installing+for+Android+development.markdown b/Installing+for+Android+development.markdown new file mode 100644 index 0000000000..079579e4e9 --- /dev/null +++ b/Installing+for+Android+development.markdown @@ -0,0 +1,394 @@ +# GStreamer SDK documentation : Installing for Android development + +This page last changed on May 24, 2013 by xartigas. + +# Prerequisites + +The development machine is where you will develop your Android +application, which then you will deploy on the target machine, which +should obviously be an Android device. + +The development machine can either be a Linux, Mac OS X or Windows, and +needs to have installed: + + - The latest version of the [Android + SDK](http://developer.android.com/sdk/index.html) + - The latest version of the [Android + NDK](http://developer.android.com/tools/sdk/ndk/index.html) + - The GStreamer SDK for Android is targeted at API version 9 (Android + 2.3.1, Gingerbread) or higher. Use the SDK Manager tool to make sure + you have at least one Android SDK platform installed with API + version 9 or higher. + +Optionally, you can use the [Eclipse +IDE](http://www.eclipse.org/eclipse/). As stated in the Android +documentation, *developing in Eclipse with ADT is highly recommended and +is the fastest way to get started*. If you plan to use the Eclipse IDE: + + - Install the [Android ADT + plugin](http://developer.android.com/sdk/installing/installing-adt.html) for + Eclipse + - Install the [Android NDK + plugin](http://tools.android.com/recent/usingthendkplugin) for + Eclipse + +Before continuing, make sure you can compile and run the samples +included in the Android NDK, and that you understand how the integration +of C and Java works via the [Java Native +Interface](http://en.wikipedia.org/wiki/Java_Native_Interface) (JNI). +Besides the [Android +NDK](http://developer.android.com/tools/sdk/ndk/index.html) +documentation, you can find some useful [Android JNI tips +here](http://developer.android.com/guide/practices/jni.html). + +# Download and install the SDK + +The SDK has two variants: **Debug** and **Release**. The Debug variant +produces lots of debug output and is useful while developing your +application. The Release variant is what you will use to produce the +final version of your application, since GStreamer code runs slightly +faster and the libraries are smaller. + +Get the compressed file below and just unzip it into any folder of your +choice (Choose your preferred file format; both files have exactly the +same content) + + +++ + + + + + + + + + + + + + + + + +
Debug variant
Release variant
+ + + + + + + + +

Due to the size of these files, usage of a Download Manager is highly recommended. Take a look at this list if you do not have one installed. If, after downloading, the installer reports itself as corrupt, chances are that the connection ended before the file was complete. A Download Manager will typically re-start the process and fetch the missing parts.

+ +If you intend to build the tutorials in this same folder, make sure you +have writing permissions. + +In the process of building GStreamer-enabled Android applications, some +tools will need to know where you installed the SDK. You must define an +environment variable called `GSTREAMER_SDK_ROOT_ANDROID` and point it to +the folder where you extracted the SDK. This environment variable must +be available at build time, so maybe you want to make it available +system-wide by adding it to your `~/.profile` file (on Linux and Mac) or +to the Environment Variables in the System Properties dialog (on +Windows). + + - Point `GSTREAMER_SDK_ROOT_ANDROID` to the folder where you unzipped + the SDK. + + + + + + + + +

If you plan to use Eclipse and do not want to define this environment variable globally, you can set it inside Eclipse. Go to Window → Preferences → C/C++ → Build → Build Variables and define GSTREAMER_SDK_ROOT_ANDROID there.

+ +# Configure your development environment + +There are two routes to use GStreamer in an Android application: Either +writing your GStreamer code in Java or in C. + +Android applications are mainly written in Java, so adding GStreamer +code to them in the same language is a huge advantage. However, this +requires using [language +bindings](http://en.wikipedia.org/wiki/Language_binding) for the +GStreamer API which are not complete yet. In the meantime, this +documentation will use Java for the User Interface (UI) part and C for +the GStreamer code. Both parts interact through +[JNI](http://en.wikipedia.org/wiki/Java_Native_Interface). + +### Building the tutorials + +There are a few Android-specific tutorials in the +`$GSTREAMER_SDK_ROOT_ANDROID\share\gst-sdk\tutorials` folder. Each +tutorial is a folder containing source code (in Java and C) and the +resource files required to build a complete Android application. + +The rest of the GStreamer SDK tutorials (basic and playback tutorials) +cannot be run on Android without modification. + +Android projects with GStreamer support are built like conventional +Android NDK projects, so the instructions at the [Android +NDK](http://developer.android.com/tools/sdk/ndk/index.html) home can be +followed: + +![](images/icons/grey_arrow_down.gif)Using Eclipse (Click to expand) + +Make sure you have installed the ADT and NDK plugins listed in the +prerequisites section, and that they are both aware of the location of +the Android SDK and NDK respectively. + +Import a tutorial into the Eclipse workspace: +File → New → Project… → Android Project from Existing +Code, and select the folder called `android-tutorial-1`. + +After reading in the project and generating some extra files and +folders, Eclipse might complain about missing files. **This is normal**, +we are not finished yet. + +Provide native development support by activating the NDK plugin: +Right-click on the project in the Project Explorer (this should be the +top-most folder, +called `com.gst_sdk_tutorials.tutorial_1.Tutorial1`) → Android +tools → Add Native Support… Here the NDK plugin asks for a library name. +This is irrelevant and any valid file name will do. Accept. + +Eclipse will still complain about errors in the code. **This is +normal**. Some files are missing because they are generated during the +first build run. + +Build the project: Project → Build Project. If you bring up the Eclipse +Console, you should see some progress messages. Once finished, the +missing files will appear and all error messages should be gone. The +project is now ready to run. Hit Run → Run. + +A new application called “Android tutorial 1” should now be available on +your device, with the GStreamer SDK logo. If you want to run the +tutorial in an Android Virtual Device (AVD), make sure to create the +device with support for audio playback and GPU Emulation (to enable +OpenGL ES). + +![](images/icons/grey_arrow_down.gif)Using the command line (Click to +expand) + + + + + + + + +

Note that, on Windows, this procedure requires a working Cygwin shell, as explained in the Android NDK System Requirements.

+ +For each tutorial, move to its folder and run: + +``` theme: Default; brush: plain; gutter: false +android update project -p . -s --target X +``` + +Where `X` is one of the targets available in your system (the ones you +installed with the SDK manager). Make sure to use a target with at least +API level 9. + +To get a list of all available targets in your system issue this +command: + +``` theme: Default; brush: plain; gutter: false +android list +``` + +The “update project” command generates the `build.xml` file needed by +the build system. You only need to perform this action once per project. + +To build the C part, just call: + +``` theme: Default; brush: plain; gutter: false +ndk-build +``` + +A few lines in the `Android.mk` file (reviewed later) pull up the +necessary machinery to compile the GStreamer bits and generate the +Shared Object libraries (.so) that the Java code can use as native +methods. + +Finally, compile the Java code with: + +``` theme: Default; brush: plain; gutter: false +ant debug +``` + +And install on the device with: + +``` theme: Default; brush: plain; gutter: false +adb install -r bin/Tutorial1-debug.apk +``` + +The `-r` switch allows the installer to overwrite previous versions. +Otherwise, you need to manually uninstall previous versions of your +application. + +A new application called “Android tutorial 1” should now be available on +your device, with the GStreamer SDK logo. If you want to run the +tutorial in an Android Virtual Device (AVD), make sure to create the +device with support for audio playback and GPU Emulation (to enable +OpenGL ES). + + + + + + + + +
Windows linkage problems
+ +

Due to problems related to the standard linker, Google’s Gold Linker is used to build GStreamer applications.  Unfortunately, the Android NDK toolchain for Windows does not include the gold linker and the standard one has to be used.

+

If you observe linkage problems, you can replace the linker in your Android NDK with the gold one from this project. Download the android-ndk-r8b-ma-windows.7z file, extract \android-ndk-r8b\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\arm-linux-androideabi\bin\ld.exe (only this file is needed) and overwrite the one in the same folder in your Android NDK installation. You might need the free 7-Zip archiving utility.

+ +### Creating new projects + +Create a normal NDK project, either from the command line as described +in the [Android +NDK](http://developer.android.com/tools/sdk/ndk/index.html#GetStarted) +home, or use Eclipse: File → New → Project… → Android Application +Project, and, once the wizard is complete, right click on the project +→ Android Tools → Add Native Support … + +To add GStreamer support you only need to modify the +`jni/Android.mk` file. This file describes the native files in your +project, and its barebones structure (as auto-generated by Eclipse) is: + +**Android.mk** + +``` theme: Default; brush: plain; gutter: true +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_MODULE := NativeApplication +LOCAL_SRC_FILES := NativeApplication.c + +include $(BUILD_SHARED_LIBRARY) +``` + +Where line 5 specifies the name of the `.so` file that will contain your +native code and line 6 states all source files that compose your native +code, separated by spaces. + +Adding GStreamer support only requires adding these lines: + +**Android.mk with GStreamer support** + +``` theme: Default; brush: plain; gutter: true +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_MODULE := NativeApplication +LOCAL_SRC_FILES := NativeApplication.c +LOCAL_SHARED_LIBRARIES := gstreamer_android +LOCAL_LDLIBS := -landroid + +include $(BUILD_SHARED_LIBRARY) + +GSTREAMER_SDK_ROOT := $(GSTREAMER_SDK_ROOT_ANDROID) +GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ +GSTREAMER_PLUGINS := coreelements ogg theora vorbis ffmpegcolorspace playback eglglessink soup opensles +G_IO_MODULES := gnutls +GSTREAMER_EXTRA_DEPS := gstreamer-interfaces-0.10 gstreamer-video-0.10 + +include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk  +``` + +Where line 7 specifies an extra library to be included in the project: +`libgstreamer_android.so`. This library contains all GStreamer code, +tailored for your application’s needs, as shown below. + +Line 8 specifies additional system libraries, in this case, in order to +access android-specific functionality. + +Lines 12 and 13 simply define some convenient macros. + +Line 14 lists the plugins you want statically linked into +`libgstreamer_android.so`. Listing only the ones you need makes your +application smaller. + +Line 15 is required to have internet access from GStreamer, through the +`souphttpsrc` element. + +Line 16 defines which GStreamer libraries your application requires. + +Finally, line 18 includes the make files which perform the rest of the +magic. + +Listing all desired plugins can be cumbersome, so they have been grouped +into categories, which can be used by including the `plugins.mk` file, +and used as follows: + +``` theme: Default; brush: plain; gutter: false +include $(GSTREAMER_NDK_BUILD_PATH)/plugins.mk +GSTREAMER_PLUGINS := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_CODECS) playbin souphttpsrc +``` + +![](images/icons/grey_arrow_down.gif)List of categories and included +plugins (Click to expand) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CategoryIncluded plugins
GSTREAMER_PLUGINS_COREcoreelements coreindexers adder app audioconvert audiorate audioresample audiotestsrc ffmpegcolorspace gdp gio pango typefindfunctions videorate videoscale videotestsrc volume autodetect videofilter
GSTREAMER_PLUGINS_PLAYBACKdecodebin2 playbin
GSTREAMER_PLUGINS_CODECSsubparse ogg theora vorbis alaw annodex apetag audioparsers auparse avi flac flv flxdec icydemux id3demux isomp4 jpeg matroska mulaw multipart png speex taglib wavenc wavpack wavparse y4menc adpcmdec adpcmenc aiff cdxaparse dtmf dvbsuboverlay dvdspu fragmented hdvparse id3tag ivfparse jp2k kate mve mxf nsf nuvdemux opus pcapparse pnm schro siren subenc tta videoparsersbad vmnc vp8 y4mdec
GSTREAMER_PLUGINS_VISlibvisual goom goom2k1 audiovisualizers
GSTREAMER_PLUGINS_EFFECTSalpha alphacolor audiofx cutter debug deinterlace effectv equalizer gdkpixbuf imagefreeze interleave level multifile replaygain shapewipe smpte spectrum videobox videocrop videomixer autoconvert bayer coloreffects faceoverlay fieldanalysis freeverb frei0r gaudieffects geometrictransform interlace jp2kdecimator liveadder rawparse removesilence scaletempoplugin segmentclip smooth speed stereo videofiltersbad videomeasure videosignal
GSTREAMER_PLUGINS_NETrtsp rtp rtpmanager souphttpsrc udp dataurisrc rtpmux rtpvp8 sdpelem
GSTREAMER_PLUGINS_CODECS_GPLassrender
GSTREAMER_PLUGINS_SYSeglglessink opensles amc
+ +Build and run your application as explained in the **Building the +tutorials** section. + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Installing+for+iOS+development.markdown b/Installing+for+iOS+development.markdown new file mode 100644 index 0000000000..51aa0cd5ca --- /dev/null +++ b/Installing+for+iOS+development.markdown @@ -0,0 +1,117 @@ +# GStreamer SDK documentation : Installing for iOS development + +This page last changed on Jun 12, 2013 by xartigas. + +# Prerequisites + +For iOS development you need to download Xcode and the iOS SDK. Xcode +can be found at the App Store or +[here](https://developer.apple.com/devcenter/ios/index.action#downloads) +and the iOS SDK, if it is not already included in your version of Xcode, +can be downloaded from Xcode's preferences menu under the downloads tab. +The minimum required iOS version is 6.0. The minimum required version of +Xcode is 4, but 4.5 is recommended. + +In case you are not familiar with iOS, Objective-C or Xcode, we +recommend taking a look at the available documentation at Apple's +website. +[This](http://developer.apple.com/library/ios/#DOCUMENTATION/iPhone/Conceptual/iPhone101/Articles/00_Introduction.html) +can be a good starting point. + +# Download and install the SDK + +The GStreamer SDK installer can be found at: + + +++ + + + + + + + + + + +
Universal
+ + + + + + + + +

Due to the size of these files, usage of a Download Manager is highly recommended. Take a look at this list if you do not have one installed. If, after downloading, the installer reports itself as corrupt, chances are that the connection ended before the file was complete. A Download Manager will typically re-start the process and fetch the missing parts.

+ +Double click the package file and follow the instructions presented by +the install wizard. In case the system complains about the package not +being signed, you can control-click it and open to start the +installation. When you do this, it will warn you, but there is an option +to install anyway. Otherwise you can go to System Preferences → Security +and Privacy → General and select the option to allow installation of +packages from "anywhere". + +The GStreamer SDK installs itself in your home directory, so it is +available only to the user that installed it. The SDK library is +installed to `~/Library/Developer/GStreamer/iPhone.sdk`. Inside this +directory there is the GStreamer.framework that contains the libs, +headers and resources, and there is a `Templates` directory that has +Xcode application templates for GStreamer development. Those templates +are also copied to `~/Library/Developer/Xcode/Templates` during +installation so that Xcode can find them. + +# Configure your development environment + +GStreamer is written in C, and the iOS API uses mostly Objective-C (and +C for some parts), but this should cause no problems as those languages +interoperate freely. You can mix both in the same source code, for +example. + +### Building the tutorials + +The GStreamer SDK ships a few tutorials in the `xcode iOS` folder inside +the `.dmg` file. Copy them out of the package and into a more suitable +place.** **We recommend that you open the project in Xcode, take a look +at the sources and build them. This should confirm that the installation +works and give some insight on how simple it is to mix Objective-C and C +code. + +### Creating new projects + +After installation, when creating a new Xcode project, you should see +the GStreamer project templates under the `Templates` category. OS X and +iOS have a different way of organizing libraries headers and binaries. +They are grouped into Frameworks, and that's how we ship GStreamer and +its dependencies for iOS (and OS X). Due to this difference from +traditional linux development, we strongly recommend using the SDK +templates, as they set a few variables on your project that allows Xcode +to find, use and link GStreamer just like in traditional linux +development. For example, if you don't use the templates, you'll have to +use: + +``` theme: Default; brush: cpp; gutter: false +#include   +``` + +instead of the usual: + +``` theme: Default; brush: cpp; gutter: false +#include +``` + +Among some other things the template does, this was a decision made to +keep development consistent across all the platforms the SDK supports. + +Once a project has been created using a GStreamer SDK Template, it is +ready to build and run. All necessary infrastructure is already in +place. To understand what files have been created and how they interact, +take a look at the [iOS tutorials](iOS%2Btutorials.html). + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Installing+on+Linux.markdown b/Installing+on+Linux.markdown new file mode 100644 index 0000000000..d2156cea46 --- /dev/null +++ b/Installing+on+Linux.markdown @@ -0,0 +1,285 @@ +# GStreamer SDK documentation : Installing on Linux + +This page last changed on Jun 12, 2013 by slomo. + +# Prerequisites + +To develop applications using the GStreamer SDK on Linux you will need +one of the following supported distributions: + + - Ubuntu Precise Pangolin (12.04) + - Ubuntu Quantal Quetzal (12.10) + - Ubuntu Raring Ringtail (13.04) + - Debian Squeeze (6.0) + - Debian Wheezy (7.0) + - Fedora 17 + - Fedora 18 + +Other distributions or version might work, but they have not been +tested. If you want to try, do it at your own risk\! + +All the commands given in this section are intended to be typed in from +a terminal. + + + + + + + + +

Make sure you have superuser (root) access rights to install the GStreamer SDK.

+ +# Download and install the SDK + +The GStreamer SDK provides a set of binary packages for supported Linux +distributions. Detailed instructions on how to install the packages for +each supported distribution can be found below. Optionally, you can +download the source code and build the SDK yourself, which should then +work on any platform. + +These packages will install the SDK at `/opt/gstreamer-sdk`. If you +build the SDK yourself, you can install it anywhere you want. + +![](images/icons/grey_arrow_down.gif)Ubuntu (Click here to expand) + +In order to install the SDK on **Ubuntu**, it is required that the +public repository where the SDK resides is added to the apt sources +list. + +To do so, download the appropriate definition file for your +distribution: + + - Ubuntu Precise Pangolin (12.04) + [i386](http://www.freedesktop.org/software/gstreamer-sdk/data/packages/ubuntu/precise/i386/gstreamer-sdk.list) [amd64](http://www.freedesktop.org/software/gstreamer-sdk/data/packages/ubuntu/precise/amd64/gstreamer-sdk.list) + + - Ubuntu Quantal Quetzal (12.10) + [i386](http://www.freedesktop.org/software/gstreamer-sdk/data/packages/ubuntu/quantal/i386/gstreamer-sdk.list) [amd64](http://www.freedesktop.org/software/gstreamer-sdk/data/packages/ubuntu/quantal/amd64/gstreamer-sdk.list) + + - Ubuntu Raring Ringtail (13.04) + [i386](http://www.freedesktop.org/software/gstreamer-sdk/data/packages/ubuntu/raring/i386/gstreamer-sdk.list) [amd64](http://www.freedesktop.org/software/gstreamer-sdk/data/packages/ubuntu/raring/amd64/gstreamer-sdk.list) + +And copy it to the `/etc/apt/sources.list.d/` directory on your system: + +``` theme: Default; brush: plain; gutter: false +sudo cp gstreamer-sdk.list /etc/apt/sources.list.d/ +``` + +After adding the repositories, the GPG key of the apt repository has to +be added and the apt repository list needs to be refreshed. This can be +done by +running: + +``` theme: Default; brush: plain; gutter: false +wget -q -O - http://www.freedesktop.org/software/gstreamer-sdk/sdk.gpg | sudo apt-key add - +sudo apt-get update +``` + +Now that the new repositories are available, install the SDK with the +following command: + +``` theme: Default; brush: plain; gutter: false +sudo apt-get install gstreamer-sdk-dev +``` + +Enter the superuser/root password when prompted. + +![](images/icons/grey_arrow_down.gif)Debian (Click here to expand) + +In order to install the SDK on **Debian**, it is required that the +public repository where the SDK resides is added to the apt sources +list. + +To do so, download the appropriate definition file for your +distribution: + + - Debian Squeeze (6.0) + [i386](http://www.freedesktop.org/software/gstreamer-sdk/data/packages/debian/squeeze/i386/gstreamer-sdk.list) + [amd64](http://www.freedesktop.org/software/gstreamer-sdk/data/packages/debian/squeeze/amd64/gstreamer-sdk.list) + + - Debian Wheezy (7.0) + [i386](http://www.freedesktop.org/software/gstreamer-sdk/data/packages/debian/wheezy/i386/gstreamer-sdk.list) + [amd64](http://www.freedesktop.org/software/gstreamer-sdk/data/packages/debian/wheezy/amd64/gstreamer-sdk.list) + +And copy it to the `/etc/apt/sources.list.d/` directory on your system: + +``` theme: Default; brush: plain; gutter: false +su -c 'cp gstreamer-sdk.list /etc/apt/sources.list.d/' +``` + +After adding the repositories, the GPG key of the apt repository has to +be added and the apt repository list needs to be refreshed. This can be +done by +running: + +``` theme: Default; brush: plain; gutter: false +su -c 'wget -q -O - http://www.freedesktop.org/software/gstreamer-sdk/sdk.gpg | apt-key add -' +su -c 'apt-get update' +``` + +Now that the new repositories are available, install the SDK with the +following command: + +``` theme: Default; brush: plain; gutter: false +su -c 'apt-get install gstreamer-sdk-dev' +``` + +Enter the superuser/root password when prompted. + +![](images/icons/grey_arrow_down.gif)Fedora (Click here to expand) + +In order to install the SDK on **Fedora**, it is required that the +public repository where the SDK resides is added to the yum sources +list. + +To do so, download the appropriate definition file for your +distribution: + + - [Fedora 17](http://www.freedesktop.org/software/gstreamer-sdk/data/packages/fedora/gstreamer-sdk.repo) + + - [Fedora 18](http://www.freedesktop.org/software/gstreamer-sdk/data/packages/fedora/gstreamer-sdk.repo) + +And copy it to the `/etc/yum.repos.d/` directory on your system: + +``` theme: Default; brush: plain; gutter: false +su -c 'cp gstreamer-sdk.repo /etc/yum.repos.d/' +``` + +After adding the repositories, the yum repository list needs to be +refreshed. This can be done by running: + +``` theme: Default; brush: plain; gutter: false +su -c 'yum update' +``` + +Now that the new repositories are available, install the SDK with the +following command: + +``` theme: Default; brush: plain; gutter: false +su -c 'yum install gstreamer-sdk-devel' +``` + +Enter the superuser/root password when prompted. + +# Configure your development environment + +When building applications using GStreamer, the compiler must be able to +locate its libraries. However, in order to prevent possible collisions +with the GStreamer installed in the system, the GStreamer SDK is +installed in a non-standard location `/opt/gstreamer-sdk`. The shell +script `gst-sdk-shell` sets the required environment variables for +building applications with the GStreamer SDK: + +``` theme: Default; brush: bash; gutter: false +/opt/gstreamer-sdk/bin/gst-sdk-shell +``` + +The only other “development environment” that is required is +the `gcc` compiler and a text editor. In order to compile code that +requires the GStreamer SDK and uses the GStreamer core library, remember +to add this string to your `gcc` command: + +``` theme: Default; brush: plain; gutter: false +`pkg-config --cflags --libs gstreamer-0.10` +``` + +If you're using other GStreamer libraries, e.g. the video library, you +have to add additional packages after gstreamer-0.10 in the above string +(gstreamer-video-0.10 for the video library, for example). + +If your application is built with the help of libtool, e.g. when using +automake/autoconf as a build system, you have to run +the `configure `script from inside the `gst-sdk-shell` environment. + + + + + + + + +

You have also the option to embed the SDK's path into your binaries so they do not need to be executed from within the gst-sdk-shell. To do so, add these options to gcc:

+
+
+
-Wl,-rpath=/opt/gstreamer-sdk/lib `pkg-config --cflags --libs gstreamer-0.10`
+
+
+

In case you are using libtool, it will automatically add the -Wl and -rpath options and you do not need to worry about it.

+ +### Getting the tutorial's source code + +The source code for the tutorials can be copied and pasted from the +tutorial pages into a text file, but, for convenience, it is also +available in a GIT repository and distributed with the SDK. + +The GIT repository can be cloned with: + +``` theme: Default; brush: plain; gutter: false +git clone git://anongit.freedesktop.org/gstreamer-sdk/gst-sdk-tutorials +``` + +Or you can locate the source code in +`/opt/gstreamer-sdk/share/gst-sdk/tutorials`, and copy it to a working +folder of your choice. + +### Building the tutorials + +You need to enter the GStreamer SDK shell in order for the compiler to +use the right libraries (and avoid conflicts with the system libraries). +Run `/opt/gstreamer-sdk/bin/gst-sdk-shell` to enter this shell. + +Then go to the folder where you copied/cloned the tutorials and +write: + +``` theme: Default; brush: plain; gutter: false +gcc basic-tutorial-1.c -o basic-tutorial-1 `pkg-config --cflags --libs gstreamer-0.10` +``` + +Using the file name of the tutorial you are interested in +(`basic-tutorial-1` in this example). + + + + + + + + +

Depending on the GStreamer libraries you need to use, you will have to add more packages to the pkg-config command, besides gstreamer-0.10

+

At the bottom of each tutorial's source code you will find the command for that specific tutorial, including the required libraries, in the required order.

+

When developing your own applications, the GStreamer documentation will tell you what library a function belongs to.

+ +### Running the tutorials + +To run the tutorials, simply execute the desired tutorial (**from within +the `gst-sdk-shell`**): + +``` theme: Default; brush: cpp; gutter: false +./basic-tutorial-1 +``` + +### Deploying your application + +Your application built with the GStreamer SDK must be able locate the +GStreamer libraries when deployed in the target machine. You have at +least a couple of options: + +If you want to install a shared SDK, you can put your application +in `/opt/gstreamer-sdk` (next to the SDK) and create a `.desktop` file +in `/usr/share/applications` pointing to it. For this to work without +any problems you must make sure that your application is built with +the `-Wl,-rpath=/opt/gstreamer-sdk/lib` parameter (this is done +automatically by libtool, if you use it). + +Or, you can deploy a wrapper script (similar to `gst-sdk-shell`), which +sets the necessary environment variables and then calls your application +and create a `.desktop` file in `/usr/share/applications` pointing to +the wrapper script. This is the most usual approach, doesn't require the +use of the `-Wl,-rpath` parameters and is more flexible. Take a look +at `gst-sdk-shell` to see what this script needs to do. It is also +possible to create a custom wrapper script with +the `gensdkshell` command of the Cerbero build system, if you built +the SDK yourself as explained above. + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Installing+on+Mac+OS+X.markdown b/Installing+on+Mac+OS+X.markdown new file mode 100644 index 0000000000..5d298e8f71 --- /dev/null +++ b/Installing+on+Mac+OS+X.markdown @@ -0,0 +1,142 @@ +# GStreamer SDK documentation : Installing on Mac OS X + +This page last changed on Jun 12, 2013 by xartigas. + +# Prerequisites + +To develop applications using the GStreamer SDK for OS X you will need +OS X Snow Leopard (10.6) or later and +[XCode 3.2.6](https://developer.apple.com/devcenter/mac/index.action) or +later. + +The recommended system is [Mac OS X +Lion](http://www.apple.com/macosx/) with +[XCode 4](https://developer.apple.com/xcode/) + +Installing the SDK for 32-bits platforms requires approximately 145MB of +free disk space for the runtime and 193MB for the development files. + +Installing the SDK for 64-bits platforms requires approximately 152MB of +free disk space for the runtime and 223MB for the development files. + +# Download and install the SDK + +There are 3 sets of files in the SDK: + + - The runtime files are needed to run GStreamer applications. You + probably want to distribute these files with your application (or + the installer below). + - The development files are **additional** files you need to create + GStreamer applications. + - Mac OS X packages that you can use + with [PackageMaker](https://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/PackageMakerUserGuide/Introduction/Introduction.html) + to deploy GStreamer with your application + +Get **both the runtime and the development installers** from here: + + +++ + + + + + + + + +
Universal
+ + + + + + + + +

On Mac OS X 10.6 (Snow Leopard) you have to install Python 2.7 manually. It is included in later versions of OS X already. You can get it from here.

+ + + + + + + + +

Due to the size of these files, usage of a Download Manager is highly recommended. Take a look at this list if you do not have one installed. If, after downloading, the installer reports itself as corrupt, chances are that the connection ended before the file was complete. A Download Manager will typically re-start the process and fetch the missing parts.

+ +The downloads are [Apple Disk Images +(.dmg)](http://en.wikipedia.org/wiki/Apple_Disk_Image) containing an +[Installer Package +(.pkg)](http://en.wikipedia.org/wiki/Installer_%28Mac_OS_X%29). Double +click in the installer to start the installation process. + +These are some paths of the GStreamer framework that you might find +useful: + + - /Library/Frameworks/GStreamer.framework/: Framework's root path  + - /Library/Frameworks/GStreamer.framework/Versions: path with all the + versions of the framework + - /Library/Frameworks/GStreamer.framework/Versions/Current: link to + the current version of the framework + - /Library/Frameworks/GStreamer.framework/Headers: path with the + development headers + - /Library/Frameworks/GStreamer.framework/Commands: link to the + commands provided by the framework, such as gst-inspect-0.10 or + gst-launch-0.10 + +For more information on OS X Frameworks anatomy, you can consult the +following [link](https://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPFrameworks/Concepts/FrameworkAnatomy.html) + +# Configure your development environment + +### Building the tutorials + +The tutorial's code, along with project files and a solution file for +them all are included in the SDK. The source code and the XCode project +files are located +in `/Library/Frameworks/GStreamer.framework/Current/share/gst-sdk/tutorials.` + +To start building the tutorials, create a new folder in your Documents +directory and copy the +folder `/Library/Frameworks/GStreamer.framework/Current/share/gst-sdk/tutorials`. + +You can fire up XCode and load the project file. + +Press the **Run **button to build and run the first tutorial. You can +switch the tutorial to build selecting one of the available schemes.  + +### Creating new projects + +The GStreamer SDK provides a +[framework](https://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPFrameworks/Tasks/IncludingFrameworks.html) +that you can drag and drop to XCode to start using it, or using the +linker option ***-framework GStreamer****.* + +There is a small exception to the regular use of frameworks, and you +will need to manually include the headers search +path  `/Library/Frameworks/GStreamer.framework/Headers` + + - XCode: Add the headers path to **Search Paths-\> Header Search + Paths** + - GCC: Using the compiler + option** -I/Library/Frameworks/GStreamer.framework/Headers** + +## Attachments: + +![](images/icons/bullet_blue.gif) +[Configurations.png](attachments/327710/2424835.png) (image/png) +![](images/icons/bullet_blue.gif) +[Schemes.png](attachments/327710/2424836.png) (image/png) +![](images/icons/bullet_blue.gif) [Add +files.png](attachments/327710/2424837.png) (image/png) +![](images/icons/bullet_blue.gif) [Project +Files.png](attachments/327710/2424838.png) (image/png) + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Installing+on+Windows.markdown b/Installing+on+Windows.markdown new file mode 100644 index 0000000000..389cefdcde --- /dev/null +++ b/Installing+on+Windows.markdown @@ -0,0 +1,358 @@ +# GStreamer SDK documentation : Installing on Windows + +This page last changed on Jun 12, 2013 by xartigas. + +# Prerequisites + +To develop applications using the GStreamer SDK for Windows you will +need [Windows +XP](http://windows.microsoft.com/en-US/windows/products/windows-xp) or +later. + +The GStreamer SDK includes C headers (`.h`) and library files (`.lib`) +valid for any version of [Microsoft Visual +Studio](http://www.microsoft.com/visualstudio). For convenience, +property pages (`.props`) are also included which extremely simplify +creating new projects. These property pages, though, only work with +[Microsoft Visual +Studio 2010](http://www.microsoft.com/visualstudio/en-us/products/2010-editions) +(including the free [Visual C++ Express +edition](http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express)). + +The recommended system is +[Windows 7](http://windows.microsoft.com/en-us/windows7/products/home) +with [Microsoft Visual +Studio 2010](http://www.microsoft.com/visualstudio/en-us/products/2010-editions) (Take +a look at its [system +requirements](http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express)). + +Installing the SDK for 32-bits platforms requires approximately 286MB of +free disk space for the runtime and 207MB for the development files. + +Installing the SDK for 64-bits platforms requires approximately 340MB of +free disk space for the runtime and 216MB for the development files. + +# Download and install the SDK + +There are 3 sets of files in the SDK: + + - The runtime files are needed to run GStreamer applications. You + probably want to distribute these files with your application (or + the installer below). + - The development files are **additional** files you need to create + GStreamer applications. + - The [Merge + Modules](http://msdn.microsoft.com/en-us/library/windows/desktop/aa369820%28v=vs.85%29.aspx) + files are **additional** files you can use to deploy the GStreamer + SDK alongside your application (see [Windows + deployment](Windows%2Bdeployment.html)). + +Get **the Runtime and Development files** installers appropriate for +your architecture from here: + + +++ + + + + + + + + + + + + + + +
32 bits
64 bits
+ + + + + + + + +

Due to the size of these files, usage of a Download Manager is highly recommended. Take a look at this list if you do not have one installed. If, after downloading, the installer reports itself as corrupt, chances are that the connection ended before the file was complete. A Download Manager will typically re-start the process and fetch the missing parts.

+ +Execute the installers and choose an installation folder. The suggested +default is usually OK. + + + + + + + + +

If you plan to use Visual Studio, close it before installing the GStreamer SDK. The installer will define new environment variables which will not be picked up by Visual Studio if it is open.

+ + + + + + + + +

On Windows 8, it might be necessary to log out and log back in to your account after the installation for the newly defined environment variables to be picked up by Visual Studio.

+ +It is the application's responsibility to ensure that, at runtime, +GStreamer can access its libraries and plugins. It can be done by adding +`%GSTREAMER_SDK_ROOT_X86%\bin` to the `%PATH%` environment variable, or +by running the application from this same folder. + +At runtime, GStreamer will look for its plugins in the following +folders: + + - `%HOMEDRIVE%%HOMEFOLDER%/.gstreamer-0.10/plugins` + - `C:\gstreamer-sdk\0.10\x86\lib\gstreamer-0.10` + - `\..\lib\gstreamer-0.10` + - `%GST_PLUGIN_PATH%` + +So, typically, if your application can find `libgstreamer-0.10-0.dll`, +it will find the GStreamer plugins, as long as the installation folder +structure is unmodified. If you do change this structure in your +application, then you can use the `%GST_PLUGIN_PATH%` environment +variable to point GStreamer to its plugins. The plugins are initially +found at `%GSTREAMER_SDK_ROOT_X86%\lib\gstreamer-0.10`. + +Additionally, if you want to prevent GStreamer from looking in all the +default folders listed above, you can set the +`%GST_PLUGIN_SYSTEM_PATH%` environment variable to point where the +plugins are located. + +# Configure your development environment + +### Building the tutorials + +The tutorial's code, along with project files and a solution file for +Visual Studio 2010 are all included in the SDK, in +the `%GSTREAMER_SDK_ROOT_X86%``\share\gst-sdk\tutorials` folder. + +`%GSTREAMER_SDK_ROOT_X86%` is an environment variable that the installer +defined for you, and points to the installation folder of the SDK. + +In order to prevent accidental modification of the original code, and to +make sure Visual Studio has the necessary permissions to write the +output files, copy the entire `tutorials` folder to a place of your +liking, and work from there. + + + + + + + + +
64-bit Users
+ +

Use %GSTREAMER_SDK_ROOT_X86_64% if you have installed the SDK for 64-bit platforms. Both SDKs (32 and 64-bit) can be installed simultaneously, and hence the separate environment variables.

+

Make sure you select the Solution Configuration that matches the GStreamer SDK that you have installed: Win32 for 32 bits or x64 for 64 bits.

+ +You can fire up Visual Studio 2010 and load your copy of the +`tutorials.sln` solution file (Click on the screen shots to enlarge +them).![](attachments/thumbnails/327707/1540147) +![](attachments/thumbnails/327707/1540146) +Hit **F7**, press the Build Solution button +![](attachments/327707/1540148.png) or go to Build → Build Solution. All +projects should build without problems. + +### Running the tutorials + +In order to run the tutorials, we will set the current working directory +to `%GSTREAMER_SDK_ROOT_X86%``\``bin` in the Debugging section of the +project properties. **This property is not stored in the project files, +so you will need to manually add it to every tutorial you want to run +from within Visual Studio**. Right click on a project in the Solution +Explorer, Properties → Debugging → Working Directory, and type +`$(GSTREAMER_SDK_ROOT_X86)``\``bin` + +` `(The `$(...)` notation is required to access environment variables +from within Visual Studio. You use the `%...%` notation from Windows +Explorer) + +You should now be able to run the tutorials. + +  + +### Creating new projects manually + +**If you want to create 64-bit applications, remember also to create x64 +Solution and Project configurations as +explained [here](http://msdn.microsoft.com/en-us/library/9yb4317s\(v=vs.100\).aspx).** + +#### Include the necessary SDK Property Sheet + +The included property sheets make creating new projects extremely easy. +In Visual Studio 2010 create a new project (Normally a `Win32 +Console` or `Win32 Application`). Then go to the Property Manager +(View→Property Manager), right-click on your project and select “Add +Existing Property Sheet...”. Navigate to +`%GSTREAMER_SDK_ROOT_X86%``\``share\vs\2010\libs` and +load `gstreamer-0.10.props ` + +This property sheet contains the directories where the headers and +libraries are located, and the necessary options for the compiler and +linker, so you do not need to change anything else in your project. + +** +** + +  + +  + +If you cannot find the Property Manager, you might need to enable Expert +Settings. Go to Tools → Settings → Expert Settings. Upon first +installation of Visual Studio, Expert Settings are disabled by +default.![](attachments/thumbnails/327707/1540154) + +  + + + + + + + + +

Depending on the GStreamer libraries you need to use, you will have to add more property pages, besides gstreamer-0.10 (each property page corresponds to one GStreamer library).

+

The tutorial's project files already contain all necessary property pages. When developing your own applications, the GStreamer documentation will tell you what library a function belongs to, and therefore, what property pages you need to add.

+ +#### Remove the dependency with the Visual Studio runtime + +At this point, you have a working environment, which you can test by +running the tutorials. However, there is a last step remaining. + +Applications built with Visual C++ 2010 depend on the Visual C++ 2010 +Runtime, which is a DLL that gets installed when you install Visual +Studio. If you were to distribute your application, you would need to +distribute this DLL with it (What is known as the [Visual C++ 2010 +Redistributable +Package](http://www.microsoft.com/download/en/details.aspx?id=5555)). +This happens with every version of Visual Studio, and the Runtime DLL is +different for every version of Visual Studio. + +Furthermore, GStreamer itself is built using a “basic” C runtime which +comes in every Windows system since Windows XP, and is named +`MSVCRT.DLL`. If your application and GStreamer do not use the same C +Runtime, problems are bound to crop out. + +In order to avoid these issues you must instruct your application to use +the system's C Runtime. First install the [Windows Device Driver Kit +Version 7.1.0](http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=11800) (DDK). +When the installer asks about the features, select only “Build +Environments”. Accept the suggested location for the installation, which +is usually `C:\WinDDK\7600.16385.1`. This download is an ISO file, you +can either burn a DVD with it (as recommended in the Microsoft site. You +will need DVD burning software), mount the file in a virtual DVD device +(you will need DVD virtualization software) or unpack the file as if it +was a regular compressed file (you will need decompression software that +understands the ISO format). + +Then, add the `x86.props` or `x86_64.props` (for 32 or 64 bits) property +sheet found in `%GSTREAMER_SDK_ROOT_X86%``\``share\vs\2010\msvc` to your +project. This will make your application use the ubiquitous +`MSVCRT.DLL` saving you some troubles in the future. + + + + + + + + +

If you did not install the WinDDK to the standard path C:\WinDDK\7600.16385.1, you will need to tell Visual Studio where it is. Unfortunately, there is no automated way to do this. Once you have added the x86.props or x86_64.props to your project, go to the Property Manager, expand your project and its subfolders until you find the property sheet called config. Double click to edit it, and select the section called “User Macros” in the list on the left. You should see a macro called WINDOWS_DRIVER_KIT. Double click to edit it, and set its value to the root folder where you installed the DDK. This is the folder containing a file called samples.txt

+

That's it. Accept the changes, right click on the config property sheet and select “Save”. The path to the DDK is now stored in config.props and you do not need to perform this operation anymore.

+ +### Creating new projects using the wizard + +Go to File → New → Project… and you should find a template +named **GStreamer SDK Project**. It takes no parameters, and sets all +necessary project settings, both for 32 and 64 bits architectures. + +The generated project file includes the two required Property Sheets +described in the previous section, so, in order to link to the correct +`MSVCRT.DLL`, **you still need to install the Windows Device Driver +Kit** and change the appropriate property sheets. + + + + + + + + +

GStreamer SDK versions prior to Congo did not automatically deploy the required Visual Studio Wizard files. We recommend that you upgrade to the latest available GStreamer SDK version.

+
+
+Click here to see the manual installation instructions... +
+
+

1. The three files in the %GSTREAMER_SDK_ROOT_X86%\share\vs\2010\wizard folder need to be copied to the following location, depending on your version of Visual Studio:

+
    +
  • Visual Studio 2010: +
      +
    • C:\Program Files\Microsoft Visual Studio 10.0\VC\vcprojects
    • +
  • +
  • Visual Studio 2010 Express: +
      +
    • C:\Program Files\Microsoft Visual Studio 10.0\VC\Express\VCProjects
    • +
  • +
+

2. The entire %GSTREAMER_SDK_ROOT_X86%\share\vs\2010\gst-sdk-template folder (including the gst-sdk-template folder) needs to be copied to:

+
    +
  • C:\Program Files\Microsoft Visual Studio 10.0\VC\VCWizards
  • +
+
+

To clarify: you must end up with three additional files in the VCProjects folder and a new folder named gst-sdk-template inside the VCWizards folder.

+

Use the right path for your Visual Studio folder.

+
+
+
+ +## Attachments: + +![](images/icons/bullet_blue.gif) +[WindowsInstall1.png](attachments/327707/1540146.png) (image/png) +![](images/icons/bullet_blue.gif) +[WindowsInstall2.png](attachments/327707/1540147.png) (image/png) +![](images/icons/bullet_blue.gif) +[WindowsInstall-BuildSolution.png](attachments/327707/1540148.png) +(image/png) +![](images/icons/bullet_blue.gif) +[WindowsInstall3.png](attachments/327707/1540149.png) (image/png) +![](images/icons/bullet_blue.gif) +[WindowsInstall4.png](attachments/327707/1540150.png) (image/png) +![](images/icons/bullet_blue.gif) +[WindowsInstall5.png](attachments/327707/1540151.png) (image/png) +![](images/icons/bullet_blue.gif) +[WindowsInstall6.png](attachments/327707/1540152.png) (image/png) +![](images/icons/bullet_blue.gif) +[WindowsInstall7.png](attachments/327707/1540153.png) (image/png) +![](images/icons/bullet_blue.gif) +[WindowsInstall8.png](attachments/327707/1540154.png) (image/png) +![](images/icons/bullet_blue.gif) +[WindowsInstall9.png](attachments/327707/1540155.png) (image/png) +![](images/icons/bullet_blue.gif) +[WindowsInstall10.png](attachments/327707/1540156.png) (image/png) +![](images/icons/bullet_blue.gif) +[WindowsInstall11.png](attachments/327707/1540157.png) (image/png) +![](images/icons/bullet_blue.gif) +[WindowsInstall-Configuration.png](attachments/327707/1540165.png) +(image/png) + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Installing+the+SDK.markdown b/Installing+the+SDK.markdown new file mode 100644 index 0000000000..b78de1f5e6 --- /dev/null +++ b/Installing+the+SDK.markdown @@ -0,0 +1,99 @@ +# GStreamer SDK documentation : Installing the SDK + +This page last changed on Jun 12, 2013 by xartigas. + +### Choose your platform + + +++++ + + + + + + + +

+

Linux

+
    +
  • Ubuntu 12.04 (Precise Pangolin)
  • +
  • Ubuntu 12.10 (Quantal Quetzal)
  • +
  • Debian 6.0 (Squeeze)
  • +
  • Debian 7.0 (Wheezy)
  • +
  • Fedora 16
  • +
  • Fedora 17
  • +
+

______________________________________

+

Mac OS X

+
    +
  • 10.6 (Snow Leopard)
  • +
  • 10.7 (Lion)
  • +
  • 10.8 (Mountain Lion)
  • +
+

______________________________________

+

Microsoft Windows

+
    +
  • Windows XP
  • +
  • Windows Vista
  • +
  • Windows 7
  • +
  • Windows 8
  • +
+

______________________________________

+
+
+
+
+ + ++++ + + + + + + +

+

Android

+
    +
  • 2.3.1 Gingerbread and above
  • +
+

______________________________________

+
+
+
+

+

iOS

+
    +
  • iOS 6 and above
  • +
+

______________________________________

+
+
+
+
+ +The installation instructions are different depending on your platform. +Please select the appropriate one by clicking on its logo. + +## Attachments: + +![](images/icons/bullet_blue.gif) +[lin200px.png](attachments/327700/1540162.png) (image/png) +![](images/icons/bullet_blue.gif) +[mac200px.png](attachments/327700/1540163.png) (image/png) +![](images/icons/bullet_blue.gif) +[win200px.png](attachments/327700/1540164.png) (image/png) +![](images/icons/bullet_blue.gif) +[andr200px.png](attachments/327700/2654239.png) (image/png) +![](images/icons/bullet_blue.gif) +[ios200px.jpeg](attachments/327700/3539150.jpeg) (image/jpeg) + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Legal+information.markdown b/Legal+information.markdown new file mode 100644 index 0000000000..bc9475c323 --- /dev/null +++ b/Legal+information.markdown @@ -0,0 +1,222 @@ +# GStreamer SDK documentation : Legal information + +This page last changed on Jun 11, 2012 by xartigas. + +# Installer, default installation + +The installer (Microsoft Windows and MacOSX) and the default +installation (GNU/Linux) contain and install the minimal default +installation. At install time or later, the downloading of optional +components is also possible, but read on for certain legal cautions you +might want to take. All downloads are from the +[freedesktop.org](http://freedesktop.org) website. + +# Licensing of SDK + +Gstreamer SDK minimal default installation only contains packages which +are licensed under the [GNU LGPL license +v2.1](http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html). This +license gives you the Freedom to use, modify, make copies of the +software either in the original or in a modified form, provided that the +software you redistribute is licensed under the same licensing terms. +This only extends to the software itself and modified versions of it, +but you are free to link the LGPL software as a library used by other +software under whichever license. In other words, it is a weak copyleft +license. + +Therefore, it is possible to use the SDK to build applications that are +then distributed under a different license, including a proprietary one, +provided that reverse engineering is not prohibited for debugging +modifications purposes. Only the pieces of the SDK that are under the +LGPL need to be kept under the LGPL, and the corresponding source code +must be distributed along with the application (or an irrevocable offer +to do so for at least three years from distribution). Please consult +section 6 of the +[LGPL](http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html) for +further details as to what the corresponding source code must contain. + +Some portions of the minimal default installation may be under +different licenses, which are both more liberal than the LGPL (they are +less strict conditions for granting the license) and compatible with the +LGPL. This is advised locally. + +# Optional packages + +There are two types of optional packages (GPL and Patented), which are +under a different license or have other issues concerning patentability +(or both). + +### GPL code + +Part of the optional packages are under the GNU GPL +[v2](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html) or +[v3](http://www.gnu.org/licenses/gpl-3.0.html). This means that you +cannot link the GPL software in a program unless the same program is +also under the GPL, but you are invited to seek competent advice on how +this works in your precise case and design choices. GPL is called +“strong copyleft” because the condition to distributed under the same +license has the largest possible scope and extends to all derivative +works. + +### Patents + +Certain software, and in particular software that implements +multimedia standard formats such as Mp3, MPEG 2 video and audio, h.264, +MPEG 4 audio and video, AC3, etc, can have patent issues. In certain +countries patents are granted on software and even software-only +solution are by and large considered patentable and are patented (such +as in the United States). In certain others, patents on pure software +solutions are formally prohibited, but granted (this is the case of +Europe), and in others again are neither allowed nor granted. + +It is up to you to make sure that in the countries where the SDK is +used, products are made using it and product are distributed, a license +from the applicable patent holders is required or not. Receiving the SDK +– or links to other downloadable software – does not provide any license +expressed or implied over these patents, except in very limited +conditions where the license so provides. No representation is made. + +In certain cases, the optional packages are distributed only as source +code. It is up to the receiver to make sure that in the applicable +circumstances compiling the same code for a given platform or +distributing the object code is not an act that infringes one or more +patents. + +# Software is as-is + +All software and the entire SDK is provided as-is, without any +warranty whatsoever. The individual licenses have particular language +disclaiming liability: we invite you to read all of them. Should you +need a warranty on the fact that software works as intended or have any +kind of indemnification, you have the option to subscribe a software +maintenance agreement with a company or entity that is in that business. +Fluendo and Collabora, as well as some other companies, provide software +maintenance agreements under certain conditions, you are invited to +contact them in order to receive further details and discuss of the +commercial terms. + +# Data protection + +This website might use cookies and HTTP logs for statistical analysis +and on an aggregate basis only. + +# Frequently Asked Questions + +#### What licenses are there? + +The SDK containst software under various licenses. See above. + +#### How does this relate to the packaging system? + +The packaging is only a more convenient way to install software and +decide what's good for you. GStreamer is meant to be modular, making use +of different modules, or plugins, that perform different activities. + +We provide some of them by default. Others are provided as an additional +download, should you elect to do so. You could do the same by finding +and downloading the same packages for your own platform. So it is +entirely up to you to decide what to do. + +Also, we note that SDK elements are divided into different packages, +roughly following the licensing conditions attached to the same. For +instance, the codecs-gpl package contains GPL licensed codecs. All the +packages installed by default, conversely, are licensed under the LGPL +or a more liberal license. This division is provided only for ease of +reference, but we cannot guarantee that our selection is 100% correct, +so it is up to the user to verify the actual licensing conditions before +distributing works that utilize the SDK. + +#### Can I / must I distribute the SDK along with my application? + +You surely can. All software is Free/Open Source software, and can be +distributed freely. You are not **required** to distribute it. Only, be +reminded that one of the conditions for you to use software under +certain licenses to make a work containing such software, is that you +also distribute the complete source code of the original code (or of the +modified code, if you have modified it). There are alternative ways to +comply with this obligation, some of them do not require any actual +distribution of source code, but since the SDK contains the entire +source code, you might want to include it (or the directories containing +the source code) with your application as a safe way to comply with this +requirement of the license. + +#### What happens when I modify the GStreamer SDK's source code? + +You are invited to do so, as the licenses (unless you are dealing with +proprietary bits, but in that case you will not find the corresponding +source code) so permit. Be reminded though that in that case you need to +also provide the complete corresponding source code (and to preserve the +same license, of course). You might also consider to push your +modifications upstream, so that they are merged into the main branch of +development if they are worth it and will be maintained by the GStreamer +project and not by you individually. We invite you not to fork the code, +if at all +possible. + +#### How does licensing relate to software patents? What about software patents in general? + +This is a tricky question. We believe software patents should not exist, +so that by distributing and using software on a general purpose machine +you would not violate any of them. But the inconvenient truth is that +they do exist. + +Software patents are widely available in the USA. Despite they are +formally prohibited in the European Union, they indeed are granted by +the thousand by the European Patent Office, and also some national +patent offices follow the same path. In other countries they are not +available. + +Since patent protection is a national state-granted monopoly, +distributing software that violates patents in a given country could be +entirely safe if done in another country. Fair use exceptions also +exist. So we cannot advice you whether the software we provide would be +considered violating patents in your country or in any other country, +but that can be said for virtually all kinds of sofware. Only, since we +deal with audio-video standards, and these standards are by and large +designed to use certain patented technologies, it is common wisdom that +the pieces of software that implement these standards are sensitive in +this respect. + +This is why GStreamer has taken a modular approach, so that you can use +a Free plugins or a proprietary, patent royalty bearing, plugin for a +given standard. + +#### What about static vs. dynamic linking and copyleft? + +We cannot provide one single answer to that question. Since copyright in +software works as copyright in literature, static linking means +basically that the programmer includes bits of code of the original +library in the bytecode at compile time. This amounts to make derivative +code of the library without conceivable exceptions, so you need a +permission from the copyright holders of the library to do this. + +A widespread line of thinking says that dynamic linking is conversely +not relevant to the copyleft effect, since the mingling of code in a +larger work is done at runtime. However, another equally authoritative +line of thought says that only certain type of dynamic linking is not +copyright relevant.  Therefore, using a library that is specifically +designed to be loaded into a particular kind of software, even through +API,  requires permission by the copyright holder of the library when +the two pieces are distributed together. + +In all cases, since most of the software we include in the SDK is under +the LGPL, this permission is granted once for all, subject to compliance +with the conditions set out by it. Therefore, the problem only arises +when you want to use GPL libraries to make non-GPL applications, and you +need to audit your software in that case to make sure that what you do +is not an infringement. This is why we have put the GPL libraries in a +separate set of optional components, so you have a clearer view of what +is safely clear for use, and what might need better investigation on a +case-by-case basis. + +Please be reminded that even for LGPL, the recipient of the software +must be in a position to replace the current library with a modified +one, and to that effect some conditions apply, among which that for +static linking you must also provide the complete toolchain required to +relink the library (“any data and utility programs needed for +reproducing the executable from it”, except the “major components”) and +that the license of the conditions of the resulting program must allow +decompilation to debug modifications to the library. + +Document generated by Confluence on Oct 08, 2015 10:28 + diff --git a/Mac+OS+X+deployment.markdown b/Mac+OS+X+deployment.markdown new file mode 100644 index 0000000000..3ddcd06b84 --- /dev/null +++ b/Mac+OS+X+deployment.markdown @@ -0,0 +1,384 @@ +# GStreamer SDK documentation : Mac OS X deployment + +This page last changed on Nov 28, 2012 by xartigas. + +This page explains how to deploy GStreamer along your application. There +are different mechanisms, which have been reviewed in [Deploying your +application](Deploying%2Byour%2Bapplication.html). The details for some +of the mechanisms are given here, and more options might be added to +this documentation in the future. + +The recommended tool to create installer packages for Mac OS X +is [PackageMaker](http://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/PackageMakerUserGuide/Introduction/Introduction.html), +provided with the [XCode developer +tools](https://developer.apple.com/technologies/tools/). + +# Shared GStreamer + +This is the easiest way to deploy GStreamer, although most of the time +it installs unnecessary files which grow the size of the installer and +the target drive free space requirements. Since the SDK might be shared +among all applications that use it, though, the extra space requirements +are somewhat blurred.![](attachments/2097292/2424841.png) +![](attachments/thumbnails/2097292/2424842) + +With PackageMaker, simply add the GStreamer SDK  **runtime ** disk image + ([the same one you used to install the runtime in your development +machine](Installing%2Bon%2BMac%2BOS%2BX.html)) inside your installer +package and create a post-install script that mounts the disk image and +installs the SDK package. You can use the following example, where you +should replace `$INSTALL_PATH` with the path where your installer copied +the SDK's disk image files (the `/tmp` directory is good place to +install it as it will be removed at the end of the installation): + +``` theme: Default; brush: bash; gutter: false +hdiutil attach $INSTALL_PATH/gstreamer-sdk-2012.7-x86.dmg +cd /Volumes/gstreamer-sdk-2012.7-x86/ +installer -pkg gstreamer-sdk-2012.7-x86.pkg -target "/" +hdiutil detach /Volumes/gstreamer-sdk-2012.7-x86/ +rm $INSTALL_PATH/gstreamer-sdk-2012.7-x86.dmg +``` + +# Private deployment of GStreamer + +You can decide to distribute a private copy of the SDK with your +application, although it's not the recommended method. In this case, +simply copy the framework to the application's Frameworks folder as +defined in the [bundle programming +guide](https://developer.apple.com/library/mac/documentation/CoreFoundation/Conceptual/CFBundles/BundleTypes/BundleTypes.html#//apple_ref/doc/uid/10000123i-CH101-SW19): + +``` theme: Default; brush: bash; gutter: false +cp -r /Library/Frameworks/GStreamer.framework ~/MyApp.app/Contents/Frameworks +``` + +Note that you can have several versions of the SDK, and targeting +different architectures, installed in the system. Make sure you only +copy the version you need and that you update accordingly the link +`GStreamer.framework/Version/Current`: + +``` theme: Default; brush: bash; gutter: false +$ ls -l Frameworks/GStreamer.framework/Version/Current +lrwxr-xr-x 1 fluendo staff 21 Jun 5 18:46 Frameworks/GStreamer.framework/Versions/Current -> ../Versions/0.10/x86 +``` + +Since the SDK will be relocated, you will need to follow the +instructions on how to relocate the SDK at the end of this page. + +# Deploy only necessary files, by manually picking them + +On the other side of the spectrum, if you want to reduce the space +requirements (and installer size) to the maximum, you can manually +choose which GStreamer libraries to deploy. Unfortunately, you are on +your own on this road, besides using the object file displaying tool: +[otool](https://developer.apple.com/library/mac/#documentation/darwin/reference/manpages/man1/otool.1.html). +Being a similar technique to deploying a private copy of the SDK, keep +in mind that you should relocate the SDK too, as explained at the end of +this page. + +Bear also in mind that GStreamer is modular in nature. Plug-ins are +loaded depending on the media that is being played, so, if you do not +know in advance what files you are going to play, you do not know which +plugins and shared libraries you need to deploy. + +# Deploy only necessary packages, using the provided ones + +This will produce a smaller installer than deploying the complete +GStreamer SDK, without the added burden of having to manually pick each +library. You just need to know which packages your application requires. + +![](images/icons/grey_arrow_down.gif)Available packages (Click to +expand) + + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Package nameDependenciesLicensesDescription
base-system JPEG, FreeType, BSD-like, LGPL,
+LGPL-2+, LGPL-2.1, LibPNG and MIT
Base system dependencies
gobject-pythonbase-systemLGPLGLib/GObject python bindings
gstreamer-capturebase-system, gstreamer-coreLGPL and LGPL-2+GStreamer plugins for capture
gstreamer-clutterbase-system, gtk+-2.0, gstreamer-coreLGPLGStreamer Clutter support
gstreamer-codecsbase-system, gstreamer-coreBSD, Jasper-2.0, BSD-like, LGPL,
+LGPL-2, LGPL-2+, LGPL-2.1 and LGPL-2.1+
GStreamer codecs
gstreamer-codecs-gplbase-system, gstreamer-coreBSD-like, LGPL, LGPL-2+ and LGPL-2.1+GStreamer codecs under the GPL license and/or with patents issues
gstreamer-corebase-systemLGPL and LGPL-2+GStreamer core
gstreamer-dvdbase-system, gstreamer-coreGPL-2+, LGPL and LGPL-2+GStreamer DVD support
gstreamer-effectsbase-system, gstreamer-coreLGPL and LGPL-2+GStreamer effects and instrumentation plugins
gstreamer-networkingbase-system, gstreamer-coreGPL-3, LGPL, LGPL-2+, LGPL-2.1+
+and LGPL-3+
GStreamer plugins for network protocols
gstreamer-playbackbase-system, gstreamer-coreLGPL and LGPL-2+GStreamer plugins for playback
gstreamer-pythonbase-system, gobject-python,
+gstreamer-core
LGPL and LGPL-2.1+GStreamer python bindings
gstreamer-systembase-system, gstreamer-coreLGPL, LGPL-2+ and LGPL-2.1+GStreamer system plugins
gstreamer-tutorials LGPLTutorials for GStreamer
gstreamer-visualizersbase-system, gstreamer-coreLGPL and LGPL-2+GStreamer visualization plugins
gtk+-2.0base-systemLGPLGtk toolkit
gtk+-2.0-pythonbase-system, gtk+-2.0LGPL and LGPL-2.1+Gtk python bindings
snappy

base-system, gstreamer-clutter,
+gtk+-2.0, gstreamer-playback,
+gstreamer-core, gstreamer-codecs

LGPLSnappy media player
+ +Get the disk image file with all the packages: + + +++ + + + + + + + + + + +
Universal

GStreamer SDK 2013.6 (Congo) for Mac OS X (Deployment Packages) - mirror - md5 - sha1

+ + + + + + + + +

Due to the size of these files, usage of a Download Manager is highly recommended. Take a look at this list if you do not have one installed. If, after downloading, the installer reports itself as corrupt, chances are that the connection ended before the file was complete. A Download Manager will typically re-start the process and fetch the missing parts.

+ +# Relocation of the SDK in OS X + +In some situations we might need to relocate the SDK, moving it to a +different place in the file system, like for instance when we are +shipping a private copy of the SDK with our application. + +### Location of dependent dynamic libraries. + +On Darwin operating systems, the dynamic linker doesn't locate dependent +dynamic libraries using their leaf name, but instead it uses full paths, +which makes it harder to relocate them as explained in the DYNAMIC +LIBRARY LOADING section of +[dyld](https://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/dyld.1.html)'s +man page: + +> Unlike many other operating systems, Darwin does not locate dependent +> dynamic libraries via their leaf file name. Instead the full path to +> each dylib is used (e.g. /usr/lib/libSystem.B.dylib). But there are +> times when a full path is not appropriate; for instance, may want your +> binaries to be installable in anywhere on the disk. + +We can get the list of paths used by an object file to locate its +dependent dynamic libraries +using [otool](https://developer.apple.com/library/mac/#documentation/darwin/reference/manpages/man1/otool.1.html): + +``` theme: Default; brush: bash; gutter: false +$ otool -L /Library/Frameworks/GStreamer.framework/Commands/gst-launch-0.10 +/Library/Frameworks/GStreamer.framework/Commands/gst-launch-0.10: + /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 550.43.0) + /Library/Frameworks/GStreamer.framework/Versions/0.10/x86/lib/libgstreamer-0.10.0.dylib (compatibility version 31.0.0, current version 31.0.0) + /Library/Frameworks/GStreamer.framework/Versions/0.10/x86/lib/libxml2.2.dylib (compatibility version 10.0.0, current version 10.8.0) +... +``` + +As you might have already noticed, if we move the SDK to a different +folder, it will stop working because the runtime linker won't be able to +find `gstreamer-0.10` in the previous location +`/Library/Frameworks/GStreamer.framework/Versions/0.10/x86/lib/libgstreamer-0.10.0.dylib`. + +This full path is extracted from the dynamic library  ***install name*** +, a path that is used by the linker to determine its location. The +install name of a library can be retrieved with +[otool](https://developer.apple.com/library/mac/#documentation/darwin/reference/manpages/man1/otool.1.html) too: + +``` theme: Default; brush: bash; gutter: false +$ otool -D /Library/Frameworks/GStreamer.framework/Libraries/libgstreamer-0.10.dylib +/Library/Frameworks/GStreamer.framework/Libraries/libgstreamer-0.10.dylib: +/Library/Frameworks/GStreamer.framework/Versions/0.10/x86/lib/libgstreamer-0.10.0.dylib +``` + +Any object file that links to the dynamic library `gstreamer-0.10` will +use the +path `/Library/Frameworks/GStreamer.framework/Versions/0.10/x86/lib/libgstreamer-0.10.0.dylib` to +locate it, as we saw previously with `gst-launch-0.10`. + +Since working exclusively with full paths wouldn't let us install our +binaries anywhere in the path, the linker provides a mechanism of string +substitution, adding three variables that can be used as a path prefix. +At runtime the linker will replace them with the generated path for the +prefix. These variables are `@executable_path`, +`@loader_path` and `@rpath`, described in depth in the DYNAMIC LIBRARY +LOADING section +of [dyld](https://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/dyld.1.html)'s +man page. + +For our purpose we will use the `@executable_path` variable, which is +replaced with a fixed path, the path to the directory containing the +main executable: `/Applications/MyApp.app/Contents/MacOS`. +The `@loader_path` variable can't be used in our scope, because it will +be replaced with the path to the directory containing the mach-o binary +that loaded the dynamic library, which can vary. + +Therefore, in order to relocate the SDK we will need to replace all +paths +containing `/Library/Frameworks/GStreamer.framework/` with `@executable_path/../Frameworks/GStreamer.framework/`, which +can be done using +the [install\_name\_tool](http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/install_name_tool.1.html) +utility + +### Relocation of the binaries + +As mentioned in the previous section, we can use +the `install_name_tool` in combination with `otool` to list all paths +for dependant dynamic libraries and modify them to use the new location. +However the SDK has a huge list of binaries and doing it manually would +be a painful task. That's why a simple relocation script is provided +which you can find in cerbero's repository +(`cerbero/tools/osxrelocator.py`). This scripts takes 3 parameters: + +1. `directory`: the directory to parse looking for binaries +2. `old_prefix`: the old prefix we want to change (eg: + `/Library/Frameworks/GStreamer.framework`) +3. `new_prefix`: the new prefix we want to use + (eg: `@executable_path/../Frameworks/GStreamer.framework/`) + +When looking for binaries to fix, we will run the script in the +following +directories: + +``` theme: Default; brush: bash; gutter: false +$ osxrelocator.py MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/Current/lib /Library/Frameworks/GStreamer.framework/ @executable_path/../Frameworks/GStreamer.framework/ -r +$ osxrelocator.py MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/Current/libexec /Library/Frameworks/GStreamer.framework/ @executable_path/../Frameworks/GStreamer.framework/ -r +$ osxrelocator.py MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/Current/bin /Library/Frameworks/GStreamer.framework/ @executable_path/../Frameworks/GStreamer.framework/ -r +$ osxrelocator.py MyApp.app/Contents/MacOS /Library/Frameworks/GStreamer.framework/ @executable_path/../Frameworks/GStreamer.framework/ -r +``` + +### Adjusting environment variables with the new paths + +The application also needs to set the following environment variables to +help other libraries finding resources in the new + path: + + - `GST_PLUGIN_SYSTEM_PATH=/Applications/MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/Current/lib/gstreamer-0.10` + - `GST_PLUGIN_SCANNER=/Applications/MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/Current/libexec/gstreamer-0.10/gst-plugin-scanner` + - `GTK_PATH=/Applications/MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/Current/` + - `GIO_EXTRA_MODULES=/Applications/MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/Current/lib/gio/modules` + +You can use the following functions: + + - C: [putenv("VAR=/foo/bar")](http://linux.die.net/man/3/putenv) + + - Python: [os.environ\['VAR'\] = + '/foo/var'](http://docs.python.org/library/os.html) + +## Attachments: + +![](images/icons/bullet_blue.gif) +[PackageMaker1.png](attachments/2097292/2424841.png) (image/png) +![](images/icons/bullet_blue.gif) +[PackageMaker2.png](attachments/2097292/2424842.png) (image/png) + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Multiplatform+deployment+using+Cerbero.markdown b/Multiplatform+deployment+using+Cerbero.markdown new file mode 100644 index 0000000000..7a41031b6a --- /dev/null +++ b/Multiplatform+deployment+using+Cerbero.markdown @@ -0,0 +1,489 @@ +# GStreamer SDK documentation : Multiplatform deployment using Cerbero + +This page last changed on Nov 21, 2012 by slomo. + +Cerbero is the build and packaging system used to construct the +GStreamer SDK. It uses “recipe” files that indicate how to build +particular projects, and on what other projects they depend. +Moreover, the built projects can be combined into packages for +distribution. These packages are, depending on the target platform, +Windows or OS X installers or Linux packages. + +To use Cerbero to build and package your application, you just need to +add a recipe explaining how to build you application and make it depend +on the `gstreamer-sdk` project. Then Cerbero can take care of building +your application and its dependencies and package them all together. + +Read [Building from source using +Cerbero](Building%2Bfrom%2Bsource%2Busing%2BCerbero.html) to learn how +to install and use Cerbero. + +At this point, after reading the Build from source section in [Building +from source using +Cerbero](Building%2Bfrom%2Bsource%2Busing%2BCerbero.html), you should be +able to build the GStreamer SDK from source and are ready to create +recipe and package files for your application. + +In the Cerbero installation directory you will find the +`cerbero-uninstalled` script. Execute it without parameters to see the +list of commands it accepts: + +``` theme: Default; brush: bash; gutter: false +./cerbero-uninstalled +``` + +# Adding a recipe for your application + +The first step is to create an empty recipe that you can then tailor to +your needs: + +``` theme: Default; brush: bash; gutter: false +./cerbero-uninstalled add-recipe my-app 1.0 +``` + +This will create an initial recipe file in `recipes/my-app.recipe`, +which contains the smallest necessary recipe. This file is a Python +script; set the following attributes to describe your application: + +Attribute Name + +Description + +Required + +Example + +`name` + +The recipe name. + +Yes + +*name = 'my-app'* + +`version` + +The software version. + +Yes + +*version = '1.0'* + +`licenses` + +A list of licenses of the software (see `cerbero/enums.py:License` for +allowed licenses). + +Yes + +*licenses = \[License.LGPLv2Plus\]* + +`deps` + +A list of build dependencies of the software as recipe names. + +No + +*deps = \['other', 'recipe', 'names'\]* + +`platform_deps` + +Platform specific build dependencies (see `cerbero/enums.py:Platform` +for allowed platforms). + +No + +*platform\_deps = {Platform.LINUX: \['some-recipe'\], Platform.WINDOWS: +\['another-recipe'\]}* + +`remotes` + +A dictionary specifying the git remote urls where sources are pulled +from. + +No + +*remotes = {'origin': ''}* + +`commit` + +The git commit, tag or branch to use, defaulting to "sdk-*`version`*"*.* + +No + +*commit = 'my-app-branch'* + +`config_sh` + +Used to select the configuration script. + +No + +*config\_sh = 'autoreconf -fiv && sh ./configure'* + +`configure_options` + +Additional options that should be passed to the `configure` script. + +No + +*configure\_options = '--enable-something'* + +`use_system_libs` + +Whether to use system provided libs. + +No + +*use\_system\_libs = True* + +`btype` + +The build type (see `cerbero/build/build.py:BuildType` for allowed build +types). + +No + +*btype = BuildType.CUSTOM* + +`stype` + +The source type (see `cerbero/build/source.py:SourceType` for allowed +source types). + +No + +*stype = SourceType.CUSTOM* + +`files_category` + +A list of files that should be shipped with packages including this +recipe *category*. See below for more details. + +Cerbero comes with some predefined categories that should be used if the +files being installed match a category criteria. + +The predefined categories are: + +`libs` (for libraries), `bins` (for binaries), `devel` (for development +files - header, pkgconfig files, etc), `python` (for python files) and +`lang` (for language files). + +Note that for the `bins` and `libs` categories there is no need to +specify the files extensions as Cerbero will do it for you. + +Yes\* + +*files\_bins = \['some-binary'\]* + +*files\_libs = \['libsomelib'\]* + +*files\_devel = \['include/something'\] files\_python = +\['site-packages/some/pythonfile%(pext)s'\]* + +*files\_lang = \['foo'\]* + +`platform_files_category` + +Same as *`files_category`* but for platform specific files. + +No + +*platform\_files\_some\_category = {Platform.LINUX: \['/some/file'\]}* + +\* At least one “files” category should be set. + +Apart from the attributes listed above, it is also possible to override +some Recipe methods. For example the `prepare` method can be overridden +to do anything before the software is built, or the `install` and +`post_install` methods for overriding what should be done during or +after installation. Take a look at the existing recipes in +`cerbero/recipes` for example. + +Alternatively, you can pass some options to cerbero-uninstalled so some +of these attributes are already set for you. For +example: + +``` theme: Default; brush: python; gutter: false +./cerbero-uninstalled add-recipe --licenses "LGPL" --deps "glib,gtk+" --origin "git://git.my-app.com" --commit "git-commit-to-use" my-app 1.0 +``` + +See `./cerbero-uninstalled add-recipe -h` for help. + +As an example, this is the recipe used to build the Snappy media player: + +``` theme: Default; brush: python; gutter: false +class Recipe(recipe.Recipe): + name = 'snappy' + version = '0.2+git' + licenses = [License.GPLv2Plus] + config_sh = 'autoreconf -fiv && sh ./configure' + deps = ['glib', 'gstreamer', 'gst-plugins-base', 'clutter', 'clutter-gst'] + platform_deps = { Platform.LINUX: ['libXtst'] } + use_system_libs = True + remotes = {'upstream': 'git://git.gnome.org/snappy'} + + + files_bins = ['snappy'] + files_data = ['share/snappy'] + + + def prepare(self): + if self.config.target_platform == Platform.LINUX: + self.configure_options += ' --enable-dbus'  +``` + +Cerbero gets the software sources to build from a GIT repository, which +is specified via the `git_root` configuration variable from the Cerbero +configuration file (see the "Build from software" section in [Installing +on Linux](Installing%2Bon%2BLinux.html)) and can be overridden by the +`remotes` attribute inside the recipes (if setting the `origin` remote). +In this case where no “commit” attribute is specified, Cerbero will use +the commit named “sdk-0.2+git” from the GIT repository when building +Snappy. + +Once the recipe is ready, instruct Cerbero to build it: + +``` theme: Default; brush: bash; gutter: false +./cerbero-uninstalled build my-app +``` + +# Adding a package for you software + +To distribute your software with the SDK it is necessary to put it into +a package or installer, depending on the target platform. This is done +by selecting the files that should be included. To add a package you +have to create a package file in `cerbero/packages`. The package files +are Python scripts too and there are already many examples of package +files in `cerbero/packages`. + +Now, to create an empty package, do: + +``` theme: Default; brush: bash; gutter: false +./cerbero-uninstalled add-package my-app 1.0 +``` + +This will create an initial package file in `packages/my-app.package`. + +The following Package attributes are used to describe your package: + +**Attribute Name** + +**Description** + +**Required** + +**Example** + +`name` + +The package name. + +Yes + +*name = 'my-app'* + +`shortdesc` + +A short description of the package. + +No + +*shortdesc = 'some-short-desc'* + +`longdesc` + +A long description of the package. + +No + +*longdesc = 'Some Longer Description'* + +`codename` + +The release codename. + +No + +*codename = 'MyAppReleaseName'* + +`vendor` + +Vendor for this package. + +No + +*vendor = 'MyCompany'* + +`url` + +The package url + +No + +*url = 'http://www.my-app.com'* + +`version` + +The package version. + +Yes + +*version = '1.0'* + +`license` + +The package license (see `cerbero/enums.py:License` for allowed +licenses). + +Yes + +*license = License.LGPLv2Plus* + +`uuid` + +The package unique id + +Yes + +*uuid = '6cd161c2-4535-411f-8287-e8f6a892f853'* + +`deps` + +A list of package dependencies as package names. + +No + +*deps = \['other', 'package', 'names'\]* + +`sys_deps` + +The system dependencies for this package. + +No + +*sys\_deps= {Distro.DEBIAN: \['python'\]}* + +`files` + +A list of files included in the **runtime** package in the form +*“recipe\_name:category1:category2:...”* + +If the recipe category is omitted, all categories are included. + +Yes\* + +*files = \['my-app'\]* + +*files = \['my-app:category1'\]* + +`files_devel` + +A list of files included in the **devel** package in the form +*“recipe\_name:category1:category2:...”* + +Yes\* + +*files\_devel = \['my-app:category\_devel'\]* + +`platform_files` + +Same as *files* but allowing to specify different files for different +platforms. + +Yes\* + +*platform\_files = {Platform.WINDOWS: +\['my-app:windows\_only\_category'\]}* + +`platform_files_devel` + +Same as *files\_devel* but allowing to specify different files for +different platforms. + +Yes\* + +*platform\_files\_devel = {Platform.WINDOWS: +\['my-app:windows\_only\_category\_devel'\]}* + +\* At least one of the “files” attributes should be set. + +Alternatively you can also pass some options to `cerbero-uninstalled`, +for +example: + +``` theme: Default; brush: bash; gutter: false +./cerbero-uninstalled add-package my-app 1.0 --license "LGPL" --codename MyApp --vendor MyAppVendor --url "http://www.my-app.com" --files=my-app:bins:libs --files-devel=my-app:devel --platform-files=linux:my-app:linux_specific --platform-files-devel=linux:my-app:linux_specific_devel,windows:my-app:windows_specific_devel --deps base-system --includes gstreamer-core +``` + +See `./cerbero-uninstalled add-package -h` for help. + +As an example, this is the package file that is used for packaging the +`gstreamer-core` package: + +``` theme: Default; brush: python; gutter: false +class Package(package.Package): + name = 'gstreamer-codecs' + shortdesc = 'GStreamer codecs' + version = '2012.5' + codename = 'Amazon' + url = "http://www.gstreamer.com" + license = License.LGPL + vendor = 'GStreamer Project' + uuid = '6cd161c2-4535-411f-8287-e8f6a892f853' + deps = ['gstreamer-core'] + + + files = ['flac:libs', + 'jasper:libs', 'libkate:libs', + 'libogg:libs', 'schroedinger:libs', 'speex:libs', + 'libtheora:libs', 'libvorbis:libs', 'wavpack:libs', 'libvpx:libs', + 'taglib:libs', + 'gst-plugins-base:codecs', 'gst-plugins-good:codecs', + 'gst-plugins-bad:codecs', 'gst-plugins-ugly:codecs'] + files_devel = ['gst-plugins-base-static:codecs_devel', + 'gst-plugins-good-static:codecs_devel', + 'gst-plugins-bad-static:codecs_devel', + 'gst-plugins-ugly-static:codecs_devel'] + platform_files = { + Platform.LINUX: ['libdv:libs'], + Platform.DARWIN: ['libdv:libs'] + }  +``` + +At this point you have two main options: you could either have a single +package that contains everything your software needs, or depend on a +shared version of the SDK. + +### Having a private version of the SDK + +To have a private version of the SDK included in a single package you +don't have to add the `deps` variable to the package file but instead +list all files you need in the `files` variables. If you decide to go +this road you must make sure that you use a different prefix than the +GStreamer SDK in the Cerbero configuration file, otherwise your package +will have file conflicts with the GStreamer SDK. + +### Having a shared version of the SDK + +If you decide to use a shared version of the SDK you can create a +package file like the other package files in the GStreamer SDK. Just +list all packages you need in the `deps` variable and put the files your +software needs inside the `files` variables. When building a package +this way you must make sure that you use the same prefix and +packages\_prefix as the ones in your Cerbero configuration file. + +Finally, build your package by using: + +``` theme: Default; brush: bash; gutter: false +./cerbero-uninstalled package your-package  +``` + +Where `your-package` is the name of the `.package` file that you created +in the `packages` directory. This command will build your software and +all its dependencies, and then make individual packages for them (both +the dependencies and your software). The resulting files will be in the +current working directory. + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Playback+tutorial+1%3A+Playbin2+usage.markdown b/Playback+tutorial+1%3A+Playbin2+usage.markdown new file mode 100644 index 0000000000..69cbe5f87c --- /dev/null +++ b/Playback+tutorial+1%3A+Playbin2+usage.markdown @@ -0,0 +1,616 @@ +# GStreamer SDK documentation : Playback tutorial 1: Playbin2 usage + +This page last changed on Jun 26, 2012 by xartigas. + +# Goal + +We have already worked with the `playbin2` element, which is capable of +building a complete playback pipeline without much work on our side. +This tutorial shows how to further customize `playbin2` in case its +default values do not suit our particular needs. + +We will learn: + + - How to find out how many streams a file contains, and how to switch + among them. + + - How to gather information regarding each stream. + +As a side note, even though its name is `playbin2`, you can pronounce it +“playbin”, since the original `playbin` element is deprecated and nobody +should be using it. + +# Introduction + +More often than not, multiple audio, video and subtitle streams can be +found embedded in a single file. The most common case are regular +movies, which contain one video and one audio stream (Stereo or 5.1 +audio tracks are considered a single stream). It is also increasingly +common to find movies with one video and multiple audio streams, to +account for different languages. In this case, the user selects one +audio stream, and the application will only play that one, ignoring the +others. + +To be able to select the appropriate stream, the user needs to know +certain information about them, for example, their language. This +information is embedded in the streams in the form of “metadata” +(annexed data), and this tutorial shows how to retrieve it. + +Subtitles can also be embedded in a file, along with audio and video, +but they are dealt with in more detail in [Playback tutorial 2: Subtitle +management](Playback%2Btutorial%2B2%253A%2BSubtitle%2Bmanagement.html). +Finally, multiple video streams can also be found in a single file, for +example, in DVD with multiple angles of the same scene, but they are +somewhat rare. + + + + + + + + +

Embedding multiple streams inside a single file is called “multiplexing” or “muxing”, and such file is then known as a “container”. Common container formats are Matroska (.mkv), Quicktime (.qt, .mov, .mp4), Ogg (.ogg) or Webm (.webm).

+

Retrieving the individual streams from within the container is called “demultiplexing” or “demuxing”.

+ +The following code recovers the amount of streams in the file, their +associated metadata, and allows switching the audio stream while the +media is playing. + +# The multilingual player + +Copy this code into a text file named `playback-tutorial-1.c` (or find +it in the SDK installation). + +**playback-tutorial-1.c** + +``` theme: Default; brush: cpp; gutter: true +#include + +/* Structure to contain all our information, so we can pass it around */ +typedef struct _CustomData { + GstElement *playbin2; /* Our one and only element */ + + gint n_video; /* Number of embedded video streams */ + gint n_audio; /* Number of embedded audio streams */ + gint n_text; /* Number of embedded subtitle streams */ + + gint current_video; /* Currently playing video stream */ + gint current_audio; /* Currently playing audio stream */ + gint current_text; /* Currently playing subtitle stream */ + + GMainLoop *main_loop; /* GLib's Main Loop */ +} CustomData; + +/* playbin2 flags */ +typedef enum { + GST_PLAY_FLAG_VIDEO = (1 << 0), /* We want video output */ + GST_PLAY_FLAG_AUDIO = (1 << 1), /* We want audio output */ + GST_PLAY_FLAG_TEXT = (1 << 2) /* We want subtitle output */ +} GstPlayFlags; + +/* Forward definition for the message and keyboard processing functions */ +static gboolean handle_message (GstBus *bus, GstMessage *msg, CustomData *data); +static gboolean handle_keyboard (GIOChannel *source, GIOCondition cond, CustomData *data); + +int main(int argc, char *argv[]) { + CustomData data; + GstBus *bus; + GstStateChangeReturn ret; + gint flags; + GIOChannel *io_stdin; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Create the elements */ + data.playbin2 = gst_element_factory_make ("playbin2", "playbin2"); + + if (!data.playbin2) { + g_printerr ("Not all elements could be created.\n"); + return -1; + } + + /* Set the URI to play */ + g_object_set (data.playbin2, "uri", "http://docs.gstreamer.com/media/sintel_cropped_multilingual.webm", NULL); + + /* Set flags to show Audio and Video but ignore Subtitles */ + g_object_get (data.playbin2, "flags", &flags, NULL); + flags |= GST_PLAY_FLAG_VIDEO | GST_PLAY_FLAG_AUDIO; + flags &= ~GST_PLAY_FLAG_TEXT; + g_object_set (data.playbin2, "flags", flags, NULL); + + /* Set connection speed. This will affect some internal decisions of playbin2 */ + g_object_set (data.playbin2, "connection-speed", 56, NULL); + + /* Add a bus watch, so we get notified when a message arrives */ + bus = gst_element_get_bus (data.playbin2); + gst_bus_add_watch (bus, (GstBusFunc)handle_message, &data); + + /* Add a keyboard watch so we get notified of keystrokes */ +#ifdef _WIN32 + io_stdin = g_io_channel_win32_new_fd (fileno (stdin)); +#else + io_stdin = g_io_channel_unix_new (fileno (stdin)); +#endif + g_io_add_watch (io_stdin, G_IO_IN, (GIOFunc)handle_keyboard, &data); + + /* Start playing */ + ret = gst_element_set_state (data.playbin2, GST_STATE_PLAYING); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (data.playbin2); + return -1; + } + + /* Create a GLib Main Loop and set it to run */ + data.main_loop = g_main_loop_new (NULL, FALSE); + g_main_loop_run (data.main_loop); + + /* Free resources */ + g_main_loop_unref (data.main_loop); + g_io_channel_unref (io_stdin); + gst_object_unref (bus); + gst_element_set_state (data.playbin2, GST_STATE_NULL); + gst_object_unref (data.playbin2); + return 0; +} + +/* Extract some metadata from the streams and print it on the screen */ +static void analyze_streams (CustomData *data) { + gint i; + GstTagList *tags; + gchar *str; + guint rate; + + /* Read some properties */ + g_object_get (data->playbin2, "n-video", &data->n_video, NULL); + g_object_get (data->playbin2, "n-audio", &data->n_audio, NULL); + g_object_get (data->playbin2, "n-text", &data->n_text, NULL); + + g_print ("%d video stream(s), %d audio stream(s), %d text stream(s)\n", + data->n_video, data->n_audio, data->n_text); + + g_print ("\n"); + for (i = 0; i < data->n_video; i++) { + tags = NULL; + /* Retrieve the stream's video tags */ + g_signal_emit_by_name (data->playbin2, "get-video-tags", i, &tags); + if (tags) { + g_print ("video stream %d:\n", i); + gst_tag_list_get_string (tags, GST_TAG_VIDEO_CODEC, &str); + g_print (" codec: %s\n", str ? str : "unknown"); + g_free (str); + gst_tag_list_free (tags); + } + } + + g_print ("\n"); + for (i = 0; i < data->n_audio; i++) { + tags = NULL; + /* Retrieve the stream's audio tags */ + g_signal_emit_by_name (data->playbin2, "get-audio-tags", i, &tags); + if (tags) { + g_print ("audio stream %d:\n", i); + if (gst_tag_list_get_string (tags, GST_TAG_AUDIO_CODEC, &str)) { + g_print (" codec: %s\n", str); + g_free (str); + } + if (gst_tag_list_get_string (tags, GST_TAG_LANGUAGE_CODE, &str)) { + g_print (" language: %s\n", str); + g_free (str); + } + if (gst_tag_list_get_uint (tags, GST_TAG_BITRATE, &rate)) { + g_print (" bitrate: %d\n", rate); + } + gst_tag_list_free (tags); + } + } + + g_print ("\n"); + for (i = 0; i < data->n_text; i++) { + tags = NULL; + /* Retrieve the stream's subtitle tags */ + g_signal_emit_by_name (data->playbin2, "get-text-tags", i, &tags); + if (tags) { + g_print ("subtitle stream %d:\n", i); + if (gst_tag_list_get_string (tags, GST_TAG_LANGUAGE_CODE, &str)) { + g_print (" language: %s\n", str); + g_free (str); + } + gst_tag_list_free (tags); + } + } + + g_object_get (data->playbin2, "current-video", &data->current_video, NULL); + g_object_get (data->playbin2, "current-audio", &data->current_audio, NULL); + g_object_get (data->playbin2, "current-text", &data->current_text, NULL); + + g_print ("\n"); + g_print ("Currently playing video stream %d, audio stream %d and text stream %d\n", + data->current_video, data->current_audio, data->current_text); + g_print ("Type any number and hit ENTER to select a different audio stream\n"); +} + +/* Process messages from GStreamer */ +static gboolean handle_message (GstBus *bus, GstMessage *msg, CustomData *data) { + GError *err; + gchar *debug_info; + + switch (GST_MESSAGE_TYPE (msg)) { + case GST_MESSAGE_ERROR: + gst_message_parse_error (msg, &err, &debug_info); + g_printerr ("Error received from element %s: %s\n", GST_OBJECT_NAME (msg->src), err->message); + g_printerr ("Debugging information: %s\n", debug_info ? debug_info : "none"); + g_clear_error (&err); + g_free (debug_info); + g_main_loop_quit (data->main_loop); + break; + case GST_MESSAGE_EOS: + g_print ("End-Of-Stream reached.\n"); + g_main_loop_quit (data->main_loop); + break; + case GST_MESSAGE_STATE_CHANGED: { + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->playbin2)) { + if (new_state == GST_STATE_PLAYING) { + /* Once we are in the playing state, analyze the streams */ + analyze_streams (data); + } + } + } break; + } + + /* We want to keep receiving messages */ + return TRUE; +} + +/* Process keyboard input */ +static gboolean handle_keyboard (GIOChannel *source, GIOCondition cond, CustomData *data) { + gchar *str = NULL; + + if (g_io_channel_read_line (source, &str, NULL, NULL, NULL) == G_IO_STATUS_NORMAL) { + int index = atoi (str); + if (index < 0 || index >= data->n_audio) { + g_printerr ("Index out of bounds\n"); + } else { + /* If the input was a valid audio stream index, set the current audio stream */ + g_print ("Setting current audio stream to %d\n", index); + g_object_set (data->playbin2, "current-audio", index, NULL); + } + } + g_free (str); + return TRUE; +} +``` + + + + + + + + +
+
+Need help? (Click to expand) +
+
+

If you need help to compile this code, refer to the Building the tutorials section for your platform: Linux, Mac OS X or Windows, or use this specific command on Linux:

+
+
+

gcc playback-tutorial-1.c -o playback-tutorial-1 `pkg-config --cflags --libs gstreamer-0.10`

+
+
+

If you need help to run this code, refer to the Running the tutorials section for your platform: Linux, Mac OS X or Windows

+

+

This tutorial opens a window and displays a movie, with accompanying audio. The media is fetched from the Internet, so the window might take a few seconds to appear, depending on your connection speed. The number of audio streams is shown in the terminal, and the user can switch from one to another by entering a number and pressing enter. A small delay is to be expected.

+

Bear in mind that there is no latency management (buffering), so on slow connections, the movie might stop after a few seconds. See how Tutorial 12: Live streaming solves this issue.

+

+

Required libraries: gstreamer-0.10

+
+
+ +# Walkthrough + +``` first-line: 3; theme: Default; brush: cpp; gutter: true +/* Structure to contain all our information, so we can pass it around */ +typedef struct _CustomData { + GstElement *playbin2; /* Our one and only element */ + + gint n_video; /* Number of embedded video streams */ + gint n_audio; /* Number of embedded audio streams */ + gint n_text; /* Number of embedded subtitle streams */ + + gint current_video; /* Currently playing video stream */ + gint current_audio; /* Currently playing audio stream */ + gint current_text; /* Currently playing subtitle stream */ + + GMainLoop *main_loop; /* GLib's Main Loop */ +} CustomData; +``` + +We start, as usual, putting all our variables in a structure, so we can +pass it around to functions. For this tutorial, we need the amount of +streams of each type, and the currently playing one. Also, we are going +to use a different mechanism to wait for messages that allows +interactivity, so we need a GLib's main loop object. + +``` first-line: 18; theme: Default; brush: cpp; gutter: true +/* playbin2 flags */ +typedef enum { + GST_PLAY_FLAG_VIDEO = (1 << 0), /* We want video output */ + GST_PLAY_FLAG_AUDIO = (1 << 1), /* We want audio output */ + GST_PLAY_FLAG_TEXT = (1 << 2) /* We want subtitle output */ +} GstPlayFlags; +``` + +Later we are going to set some of `playbin2`'s flags. We would like to +have a handy enum that allows manipulating these flags easily, but since +`playbin2` is a plug-in and not a part of the GStreamer core, this enum +is not available to us. The “trick” is simply to declare this enum in +our code, as it appears in the `playbin2` documentation: `GstPlayFlags`. +GObject allows introspection, so the possible values for these flags can +be retrieved at runtime without using this trick, but in a far more +cumbersome +way. + +``` first-line: 25; theme: Default; brush: cpp; gutter: true +/* Forward definition for the message and keyboard processing functions */ +static gboolean handle_message (GstBus *bus, GstMessage *msg, CustomData *data); +static gboolean handle_keyboard (GIOChannel *source, GIOCondition cond, CustomData *data); +``` + +Forward declarations for the two callbacks we will be using. +`handle_message` for the GStreamer messages, as we have already seen, +and `handle_keyboard` for key strokes, since this tutorial is +introducing a limited amount of interactivity. + +We skip over the creation of the pipeline, the instantiation of +`playbin2` and pointing it to our test media through the `uri` +property. `playbin2` is in itself a pipeline, and in this case it is +the only element in the pipeline, so we skip completely the creation of +the pipeline, and use directly the  `playbin2` element. + +We focus on some of the other properties of `playbin2`, though: + +``` first-line: 50; theme: Default; brush: cpp; gutter: true +/* Set flags to show Audio and Video but ignore Subtitles */ +g_object_get (data.playbin2, "flags", &flags, NULL); +flags |= GST_PLAY_FLAG_VIDEO | GST_PLAY_FLAG_AUDIO; +flags &= ~GST_PLAY_FLAG_TEXT; +g_object_set (data.playbin2, "flags", flags, NULL); +``` + +`playbin2`'s behavior can be changed through its `flags` property, which +can have any combination of `GstPlayFlags`. The most interesting values +are: + + + + + + + + + + + + + + + + + + + + + + + + + +

GST_PLAY_FLAG_VIDEO

GST_PLAY_FLAG_AUDIO

GST_PLAY_FLAG_TEXT

GST_PLAY_FLAG_VIS

GST_PLAY_FLAG_DOWNLOAD

GST_PLAY_FLAG_BUFFERING

GST_PLAY_FLAG_DEINTERLACE

+ +In our case, for demonstration purposes, we are enabling audio and video +and disabling subtitles, leaving the rest of flags to their default +values (this is why we read the current value of the flags with +`g_object_get()` before overwriting it with +`g_object_set()`). + +``` first-line: 56; theme: Default; brush: cpp; gutter: true +/* Set connection speed. This will affect some internal decisions of playbin2 */ +g_object_set (data.playbin2, "connection-speed", 56, NULL); +``` + +This property is not really useful in this example. +`connection-speed` informs `playbin2` of the maximum speed of our +network connection, so, in case multiple versions of the requested media +are available in the server, `playbin2` chooses the most +appropriate. This is mostly used in combination with streaming +protocols like `mms` or `rtsp`. + +We have set all these properties one by one, but we could have all of +them with a single call to +`g_object_set()`: + +``` theme: Default; brush: cpp; gutter: false +g_object_set (data.playbin2, "uri", "http://docs.gstreamer.com/media/sintel_cropped_multilingual.webm", "flags", flags, "connection-speed", 56, NULL); +``` + +This is why `g_object_set()` requires a NULL as the last parameter. + +``` first-line: 63; theme: Default; brush: cpp; gutter: true + /* Add a keyboard watch so we get notified of keystrokes */ +#ifdef _WIN32 + io_stdin = g_io_channel_win32_new_fd (fileno (stdin)); +#else + io_stdin = g_io_channel_unix_new (fileno (stdin)); +#endif + g_io_add_watch (io_stdin, G_IO_IN, (GIOFunc)handle_keyboard, &data); +``` + +These lines connect a callback function to the standard input (the +keyboard). The mechanism shown here is specific to GLib, and not really +related to GStreamer, so there is no point in going into much depth. +Applications normally have their own way of handling user input, and +GStreamer has little to do with it besides the Navigation interface +discussed briefly in [Tutorial 17: DVD +playback](http://docs.gstreamer.com/display/GstSDK/Tutorial+17%3A+DVD+playback). + +``` first-line: 79; theme: Default; brush: cpp; gutter: true +/* Create a GLib Main Loop and set it to run */ +data.main_loop = g_main_loop_new (NULL, FALSE); +g_main_loop_run (data.main_loop); +``` + +To allow interactivity, we will no longer poll the GStreamer bus +manually. Instead, we create a `GMainLoop`(GLib main loop) and set it +running with `g_main_loop_run()`. This function blocks and will not +return until `g_main_loop_quit()` is issued. In the meantime, it will +call the callbacks we have registered at the appropriate +times: `handle_message` when a message appears on the bus, and +`handle_keyboard` when the user presses any key. + +There is nothing new in handle\_message, except that when the pipeline +moves to the PLAYING state, it will call the `analyze_streams` function: + +``` first-line: 92; theme: Default; brush: cpp; gutter: true +/* Extract some metadata from the streams and print it on the screen */ +static void analyze_streams (CustomData *data) { + gint i; + GstTagList *tags; + gchar *str; + guint rate; + + /* Read some properties */ + g_object_get (data->playbin2, "n-video", &data->n_video, NULL); + g_object_get (data->playbin2, "n-audio", &data->n_audio, NULL); + g_object_get (data->playbin2, "n-text", &data->n_text, NULL); +``` + +As the comment says, this function just gathers information from the +media and prints it on the screen. The number of video, audio and +subtitle streams is directly available through the `n-video`, +`n-audio` and `n-text` properties. + +``` first-line: 108; theme: Default; brush: cpp; gutter: true +for (i = 0; i < data->n_video; i++) { + tags = NULL; + /* Retrieve the stream's video tags */ + g_signal_emit_by_name (data->playbin2, "get-video-tags", i, &tags); + if (tags) { + g_print ("video stream %d:\n", i); + gst_tag_list_get_string (tags, GST_TAG_VIDEO_CODEC, &str); + g_print (" codec: %s\n", str ? str : "unknown"); + g_free (str); + gst_tag_list_free (tags); + } +} +``` + +Now, for each stream, we want to retrieve its metadata. Metadata is +stored as tags in a `GstTagList` structure, which is a list of data +pieces identified by a name. The `GstTagList` associated with a stream +can be recovered with `g_signal_emit_by_name()`, and then individual +tags are extracted with the `gst_tag_list_get_*` functions +like `gst_tag_list_get_string()` for example. + + + + + + + + +

This rather unintuitive way of retrieving the tag list is called an Action Signal. Action signals are emitted by the application to a specific element, which then performs an action and returns a result. They behave like a dynamic function call, in which methods of a class are identified by their name (the signal's name) instead of their memory address. These signals are listed In the documentation along with the regular signals, and are tagged “Action”. See playbin2, for example.

+ +`playbin2` defines 3 action signals to retrieve +metadata: `get-video-tags`, `get-audio-tags` and `get-text-tags`.  The +name if the tags is standardized, and the list can be found in the +`GstTagList` documentation. In this example we are interested in the +`GST_TAG_LANGUAGE_CODE` of the streams and their +`GST_TAG_*_CODEC` (audio, video or +text). + +``` first-line: 158; theme: Default; brush: cpp; gutter: true +g_object_get (data->playbin2, "current-video", &data->current_video, NULL); +g_object_get (data->playbin2, "current-audio", &data->current_audio, NULL); +g_object_get (data->playbin2, "current-text", &data->current_text, NULL); +``` + +Once we have extracted all the metadata we want, we get the streams that +are currently selected through 3 more properties of `playbin2`: +`current-video`, `current-audio` and `current-text`.  + +It is interesting to always check the currently selected streams and +never make any assumption. Multiple internal conditions can make +`playbin2` behave differently in different executions. Also, the order +in which the streams are listed can change from one run to another, so +checking the metadata to identify one particular stream becomes crucial. + +``` first-line: 202; theme: Default; brush: cpp; gutter: true +/* Process keyboard input */ +static gboolean handle_keyboard (GIOChannel *source, GIOCondition cond, CustomData *data) { + gchar *str = NULL; + + if (g_io_channel_read_line (source, &str, NULL, NULL, NULL) == G_IO_STATUS_NORMAL) { + int index = atoi (str); + if (index < 0 || index >= data->n_audio) { + g_printerr ("Index out of bounds\n"); + } else { + /* If the input was a valid audio stream index, set the current audio stream */ + g_print ("Setting current audio stream to %d\n", index); + g_object_set (data->playbin2, "current-audio", index, NULL); + } + } + g_free (str); + return TRUE; +} +``` + +Finally, we allow the user to switch the running audio stream. This very +basic function just reads a string from the standard input (the +keyboard), interprets it as a number, and tries to set the +`current-audio` property of `playbin2` (which previously we have only +read). + +Bear in mind that the switch is not immediate. Some of the previously +decoded audio will still be flowing through the pipeline, while the new +stream becomes active and is decoded. The delay depends on the +particular multiplexing of the streams in the container, and the length +`playbin2` has selected for its internal queues (which depends on the +network conditions). + +If you execute the tutorial, you will be able to switch from one +language to another while the movie is running by pressing 0, 1 or 2 +(and ENTER). This concludes this tutorial. + +# Conclusion + +This tutorial has shown: + + - A few more of `playbin2`'s properties: `flags`, `connection-speed`, + `n-video`, `n-audio`, `n-text`, `current-video`, `current-audio` and + `current-text`. + + - How to retrieve the list of tags associated with a stream + with `g_signal_emit_by_name()`. + + - How to retrieve a particular tag from the list with + `gst_tag_list_get_string()`or `gst_tag_list_get_uint()` + + - How to switch the current audio simply by writing to the + `current-audio` property. + +The next playback tutorial shows how to handle subtitles, either +embedded in the container or in an external file. + +Remember that attached to this page you should find the complete source +code of the tutorial and any accessory files needed to build it. + +It has been a pleasure having you here, and see you soon\! + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Playback+tutorial+2%3A+Subtitle+management.markdown b/Playback+tutorial+2%3A+Subtitle+management.markdown new file mode 100644 index 0000000000..b25773589c --- /dev/null +++ b/Playback+tutorial+2%3A+Subtitle+management.markdown @@ -0,0 +1,403 @@ +# GStreamer SDK documentation : Playback tutorial 2: Subtitle management + +This page last changed on May 16, 2012 by xartigas. + +# Goal + +This tutorial is very similar to the previous one, but instead of +switching among different audio streams, we will use subtitle streams. +This will allow us to learn: + + - How to choose the subtitle stream + + - How to add external subtitles + + - How to customize the font used for the subtitles + +# Introduction + +We already know (from the previous tutorial) that container files can +hold multiple audio and video streams, and that we can very easily +choose among them by changing the `current-audio` or +`current-video` `playbin2` property. Switching subtitles is just as +easy. + +It is worth noting that, just like it happens with audio and video, +`playbin2` takes care of choosing the right decoder for the subtitles, +and that the plugin structure of GStreamer allows adding support for new +formats as easily as copying a file. Everything is invisible to the +application developer. + +Besides subtitles embedded in the container, `playbin2` offers the +possibility to add an extra subtitle stream from an external URI. + +This tutorial opens a file which already contains 5 subtitle streams, +and adds another one from another file (for the Greek language). + +# The multilingual player with subtitles + +Copy this code into a text file named `playback-tutorial-2.c` (or find +it in the SDK installation). + +**playback-tutorial-2.c** + +``` theme: Default; brush: cpp; gutter: true +#include + +/* Structure to contain all our information, so we can pass it around */ +typedef struct _CustomData { + GstElement *playbin2; /* Our one and only element */ + + gint n_video; /* Number of embedded video streams */ + gint n_audio; /* Number of embedded audio streams */ + gint n_text; /* Number of embedded subtitle streams */ + + gint current_video; /* Currently playing video stream */ + gint current_audio; /* Currently playing audio stream */ + gint current_text; /* Currently playing subtitle stream */ + + GMainLoop *main_loop; /* GLib's Main Loop */ +} CustomData; + +/* playbin2 flags */ +typedef enum { + GST_PLAY_FLAG_VIDEO = (1 << 0), /* We want video output */ + GST_PLAY_FLAG_AUDIO = (1 << 1), /* We want audio output */ + GST_PLAY_FLAG_TEXT = (1 << 2) /* We want subtitle output */ +} GstPlayFlags; + +/* Forward definition for the message and keyboard processing functions */ +static gboolean handle_message (GstBus *bus, GstMessage *msg, CustomData *data); +static gboolean handle_keyboard (GIOChannel *source, GIOCondition cond, CustomData *data); + +int main(int argc, char *argv[]) { + CustomData data; + GstBus *bus; + GstStateChangeReturn ret; + gint flags; + GIOChannel *io_stdin; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Create the elements */ + data.playbin2 = gst_element_factory_make ("playbin2", "playbin2"); + + if (!data.playbin2) { + g_printerr ("Not all elements could be created.\n"); + return -1; + } + + /* Set the URI to play */ + g_object_set (data.playbin2, "uri", "http://docs.gstreamer.com/media/sintel_trailer-480p.ogv", NULL); + + /* Set the subtitle URI to play and some font description */ + g_object_set (data.playbin2, "suburi", "http://docs.gstreamer.com/media/sintel_trailer_gr.srt", NULL); + g_object_set (data.playbin2, "subtitle-font-desc", "Sans, 18", NULL); + + /* Set flags to show Audio, Video and Subtitles */ + g_object_get (data.playbin2, "flags", &flags, NULL); + flags |= GST_PLAY_FLAG_VIDEO | GST_PLAY_FLAG_AUDIO | GST_PLAY_FLAG_TEXT; + g_object_set (data.playbin2, "flags", flags, NULL); + + /* Add a bus watch, so we get notified when a message arrives */ + bus = gst_element_get_bus (data.playbin2); + gst_bus_add_watch (bus, (GstBusFunc)handle_message, &data); + + /* Add a keyboard watch so we get notified of keystrokes */ +#ifdef _WIN32 + io_stdin = g_io_channel_win32_new_fd (fileno (stdin)); +#else + io_stdin = g_io_channel_unix_new (fileno (stdin)); +#endif + g_io_add_watch (io_stdin, G_IO_IN, (GIOFunc)handle_keyboard, &data); + + /* Start playing */ + ret = gst_element_set_state (data.playbin2, GST_STATE_PLAYING); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (data.playbin2); + return -1; + } + + /* Create a GLib Main Loop and set it to run */ + data.main_loop = g_main_loop_new (NULL, FALSE); + g_main_loop_run (data.main_loop); + + /* Free resources */ + g_main_loop_unref (data.main_loop); + g_io_channel_unref (io_stdin); + gst_object_unref (bus); + gst_element_set_state (data.playbin2, GST_STATE_NULL); + gst_object_unref (data.playbin2); + return 0; +} + +/* Extract some metadata from the streams and print it on the screen */ +static void analyze_streams (CustomData *data) { + gint i; + GstTagList *tags; + gchar *str; + guint rate; + + /* Read some properties */ + g_object_get (data->playbin2, "n-video", &data->n_video, NULL); + g_object_get (data->playbin2, "n-audio", &data->n_audio, NULL); + g_object_get (data->playbin2, "n-text", &data->n_text, NULL); + + g_print ("%d video stream(s), %d audio stream(s), %d text stream(s)\n", + data->n_video, data->n_audio, data->n_text); + + g_print ("\n"); + for (i = 0; i < data->n_video; i++) { + tags = NULL; + /* Retrieve the stream's video tags */ + g_signal_emit_by_name (data->playbin2, "get-video-tags", i, &tags); + if (tags) { + g_print ("video stream %d:\n", i); + gst_tag_list_get_string (tags, GST_TAG_VIDEO_CODEC, &str); + g_print (" codec: %s\n", str ? str : "unknown"); + g_free (str); + gst_tag_list_free (tags); + } + } + + g_print ("\n"); + for (i = 0; i < data->n_audio; i++) { + tags = NULL; + /* Retrieve the stream's audio tags */ + g_signal_emit_by_name (data->playbin2, "get-audio-tags", i, &tags); + if (tags) { + g_print ("audio stream %d:\n", i); + if (gst_tag_list_get_string (tags, GST_TAG_AUDIO_CODEC, &str)) { + g_print (" codec: %s\n", str); + g_free (str); + } + if (gst_tag_list_get_string (tags, GST_TAG_LANGUAGE_CODE, &str)) { + g_print (" language: %s\n", str); + g_free (str); + } + if (gst_tag_list_get_uint (tags, GST_TAG_BITRATE, &rate)) { + g_print (" bitrate: %d\n", rate); + } + gst_tag_list_free (tags); + } + } + + g_print ("\n"); + for (i = 0; i < data->n_text; i++) { + tags = NULL; + /* Retrieve the stream's subtitle tags */ + g_print ("subtitle stream %d:\n", i); + g_signal_emit_by_name (data->playbin2, "get-text-tags", i, &tags); + if (tags) { + if (gst_tag_list_get_string (tags, GST_TAG_LANGUAGE_CODE, &str)) { + g_print (" language: %s\n", str); + g_free (str); + } + gst_tag_list_free (tags); + } else { + g_print (" no tags found\n"); + } + } + + g_object_get (data->playbin2, "current-video", &data->current_video, NULL); + g_object_get (data->playbin2, "current-audio", &data->current_audio, NULL); + g_object_get (data->playbin2, "current-text", &data->current_text, NULL); + + g_print ("\n"); + g_print ("Currently playing video stream %d, audio stream %d and subtitle stream %d\n", + data->current_video, data->current_audio, data->current_text); + g_print ("Type any number and hit ENTER to select a different subtitle stream\n"); +} + +/* Process messages from GStreamer */ +static gboolean handle_message (GstBus *bus, GstMessage *msg, CustomData *data) { + GError *err; + gchar *debug_info; + + switch (GST_MESSAGE_TYPE (msg)) { + case GST_MESSAGE_ERROR: + gst_message_parse_error (msg, &err, &debug_info); + g_printerr ("Error received from element %s: %s\n", GST_OBJECT_NAME (msg->src), err->message); + g_printerr ("Debugging information: %s\n", debug_info ? debug_info : "none"); + g_clear_error (&err); + g_free (debug_info); + g_main_loop_quit (data->main_loop); + break; + case GST_MESSAGE_EOS: + g_print ("End-Of-Stream reached.\n"); + g_main_loop_quit (data->main_loop); + break; + case GST_MESSAGE_STATE_CHANGED: { + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (data->playbin2)) { + if (new_state == GST_STATE_PLAYING) { + /* Once we are in the playing state, analyze the streams */ + analyze_streams (data); + } + } + } break; + } + + /* We want to keep receiving messages */ + return TRUE; +} + +/* Process keyboard input */ +static gboolean handle_keyboard (GIOChannel *source, GIOCondition cond, CustomData *data) { + gchar *str = NULL; + + if (g_io_channel_read_line (source, &str, NULL, NULL, NULL) == G_IO_STATUS_NORMAL) { + int index = atoi (str); + if (index < 0 || index >= data->n_text) { + g_printerr ("Index out of bounds\n"); + } else { + /* If the input was a valid subtitle stream index, set the current subtitle stream */ + g_print ("Setting current subtitle stream to %d\n", index); + g_object_set (data->playbin2, "current-text", index, NULL); + } + } + g_free (str); + return TRUE; +} +``` + + + + + + + + +
+
+Need help? (Click to expand) +
+
+

If you need help to compile this code, refer to the Building the tutorials section for your platform: Linux, Mac OS X or Windows, or use this specific command on Linux:

+
+
+

gcc playback-tutorial-2.c -o playback-tutorial-2 `pkg-config --cflags --libs gstreamer-0.10`

+
+
+

If you need help to run this code, refer to the Running the tutorials section for your platform: Linux, Mac OS X or Windows

+

+

This tutorial opens a window and displays a movie, with accompanying audio. The media is fetched from the Internet, so the window might take a few seconds to appear, depending on your connection speed. The number of subtitle streams is shown in the terminal, and the user can switch from one to another by entering a number and pressing enter. A small delay is to be expected. Please read the note at the bottom of this page.

+

Bear in mind that there is no latency management (buffering), so on slow connections, the movie might stop after a few seconds. See how Tutorial 12: Live streaming solves this issue.

+

+

Required libraries: gstreamer-0.10

+
+
+ +# Walkthrough + +This tutorial is copied from [Playback tutorial 1: Playbin2 +usage](Playback%2Btutorial%2B1%253A%2BPlaybin2%2Busage.html) with some +changes, so let's review only the changes. + +``` first-line: 50; theme: Default; brush: cpp; gutter: true +/* Set the subtitle URI to play and some font description */ +g_object_set (data.playbin2, "suburi", "http://docs.gstreamer.com/media/sintel_trailer_gr.srt", NULL); +g_object_set (data.playbin2, "subtitle-font-desc", "Sans, 18", NULL); +``` + +After setting the media URI, we set the `suburi` property, which points +`playbin2` to a file containing a subtitle stream. In this case, the +media file already contains multiple subtitle streams, so the one +provided in the `suburi` is added to the list, and will be the currently +selected one. + +Note that metadata concerning a subtitle stream (like its language) +resides in the container file, therefore, subtitles not embedded in a +container will not have metadata. When running this tutorial you will +find that the first subtitle stream does not have a language tag. + +The `subtitle-font-desc` property allows specifying the font to render +the subtitles. Since [Pango](http://www.pango.org/) is the library used +to render fonts, you can check its documentation to see how this font +should be specified, in particular, the +[pango-font-description-from-string](http://developer.gnome.org/pango/stable/pango-Fonts.html#pango-font-description-from-string) function. + +In a nutshell, the format of the string representation is `[FAMILY-LIST] +[STYLE-OPTIONS] [SIZE]` where `FAMILY-LIST` is a comma separated list of +families optionally terminated by a comma, `STYLE_OPTIONS` is a +whitespace separated list of words where each word describes one of +style, variant, weight, or stretch, and `SIZE` is an decimal number +(size in points). For example the following are all valid string +representations: + + - sans bold 12 + - serif, monospace bold italic condensed 16 + - normal 10 + +The commonly available font families are: Normal, Sans, Serif and +Monospace. + +The available styles are: Normal (the font is upright), Oblique (the +font is slanted, but in a roman style), Italic (the font is slanted in +an italic style). + +The available weights are: Ultra-Light, Light, Normal, Bold, Ultra-Bold, +Heavy. + +The available variants are: Normal, Small\_Caps (A font with the lower +case characters replaced by smaller variants of the capital characters) + +The available stretch styles +are: Ultra-Condensed, Extra-Condensed, Condensed, Semi-Condensed, Normal, Semi-Expanded, Expanded, +Extra-Expanded, Ultra-Expanded + +  + +``` first-line: 54; theme: Default; brush: cpp; gutter: true +/* Set flags to show Audio, Video and Subtitles */ +g_object_get (data.playbin2, "flags", &flags, NULL); +flags |= GST_PLAY_FLAG_VIDEO | GST_PLAY_FLAG_AUDIO | GST_PLAY_FLAG_TEXT; +g_object_set (data.playbin2, "flags", flags, NULL); +``` + +We set the `flags` property to allow Audio, Video and Text (Subtitles). + +The rest of the tutorial is the same as [Playback tutorial 1: Playbin2 +usage](Playback%2Btutorial%2B1%253A%2BPlaybin2%2Busage.html), except +that the keyboard input changes the `current-text` property instead of +the `current-audio`. As before, keep in mind that stream changes are not +immediate, since there is a lot of information flowing through the +pipeline that needs to reach the end of it before the new stream shows +up. + +# Conclusion + +This tutorial showed how to handle subtitles from `playbin2`, whether +they are embedded in the container or in a different file: + + - Subtitles are chosen using the `current-tex`t and `n-tex`t + properties of `playbin2`. + + - External subtitle files can be selected using the `suburi` property. + + - Subtitle appearance can be customized with the + `subtitle-font-desc` property. + +The next playback tutorial shows how to change the playback speed. + +Remember that attached to this page you should find the complete source +code of the tutorial and any accessory files needed to build it. +It has been a pleasure having you here, and see you soon\! + + + + + + + + +

There is a bug in the current version of the sdk https://bugzilla.gnome.org/show_bug.cgi?id=638168:

+

Switching subtitle tracks while there is a subtitle on the screen gives this warning:

+

WARN                 katedec gstkatedec.c:309:gst_kate_dec_chain:<katedec1> failed to push buffer: wrong-state

+

And after a while it freezes.

+ +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Playback+tutorial+3%3A+Short-cutting+the+pipeline.markdown b/Playback+tutorial+3%3A+Short-cutting+the+pipeline.markdown new file mode 100644 index 0000000000..8167d88f33 --- /dev/null +++ b/Playback+tutorial+3%3A+Short-cutting+the+pipeline.markdown @@ -0,0 +1,272 @@ +# GStreamer SDK documentation : Playback tutorial 3: Short-cutting the pipeline + +This page last changed on Jun 26, 2012 by xartigas. + +# Goal + +[Basic tutorial 8: Short-cutting the +pipeline](Basic%2Btutorial%2B8%253A%2BShort-cutting%2Bthe%2Bpipeline.html) showed +how an application can manually extract or inject data into a pipeline +by using two special elements called `appsrc` and `appsink`. +`playbin2` allows using these elements too, but the method to connect +them is different. To connect an `appsink` to `playbin2` see [Playback +tutorial 7: Custom playbin2 +sinks](Playback%2Btutorial%2B7%253A%2BCustom%2Bplaybin2%2Bsinks.html). +This tutorial shows: + + - How to connect `appsrc` with `playbin2` + - How to configure the `appsrc` + +# A playbin2 waveform generator + +Copy this code into a text file named `playback-tutorial-3.c`. + + + + + + + + +

This tutorial is included in the SDK since release 2012.7. If you cannot find it in the downloaded code, please install the latest release of the GStreamer SDK.

+ +**playback-tutorial-3.c** + +``` theme: Default; brush: cpp; gutter: true +#include +#include + +#define CHUNK_SIZE 1024 /* Amount of bytes we are sending in each buffer */ +#define SAMPLE_RATE 44100 /* Samples per second we are sending */ +#define AUDIO_CAPS "audio/x-raw-int,channels=1,rate=%d,signed=(boolean)true,width=16,depth=16,endianness=BYTE_ORDER" + +/* Structure to contain all our information, so we can pass it to callbacks */ +typedef struct _CustomData { + GstElement *pipeline; + GstElement *app_source; + + guint64 num_samples; /* Number of samples generated so far (for timestamp generation) */ + gfloat a, b, c, d; /* For waveform generation */ + + guint sourceid; /* To control the GSource */ + + GMainLoop *main_loop; /* GLib's Main Loop */ +} CustomData; + +/* This method is called by the idle GSource in the mainloop, to feed CHUNK_SIZE bytes into appsrc. + * The ide handler is added to the mainloop when appsrc requests us to start sending data (need-data signal) + * and is removed when appsrc has enough data (enough-data signal). + */ +static gboolean push_data (CustomData *data) { + GstBuffer *buffer; + GstFlowReturn ret; + int i; + gint16 *raw; + gint num_samples = CHUNK_SIZE / 2; /* Because each sample is 16 bits */ + gfloat freq; + + /* Create a new empty buffer */ + buffer = gst_buffer_new_and_alloc (CHUNK_SIZE); + + /* Set its timestamp and duration */ + GST_BUFFER_TIMESTAMP (buffer) = gst_util_uint64_scale (data->num_samples, GST_SECOND, SAMPLE_RATE); + GST_BUFFER_DURATION (buffer) = gst_util_uint64_scale (CHUNK_SIZE, GST_SECOND, SAMPLE_RATE); + + /* Generate some psychodelic waveforms */ + raw = (gint16 *)GST_BUFFER_DATA (buffer); + data->c += data->d; + data->d -= data->c / 1000; + freq = 1100 + 1000 * data->d; + for (i = 0; i < num_samples; i++) { + data->a += data->b; + data->b -= data->a / freq; + raw[i] = (gint16)(500 * data->a); + } + data->num_samples += num_samples; + + /* Push the buffer into the appsrc */ + g_signal_emit_by_name (data->app_source, "push-buffer", buffer, &ret); + + /* Free the buffer now that we are done with it */ + gst_buffer_unref (buffer); + + if (ret != GST_FLOW_OK) { + /* We got some error, stop sending data */ + return FALSE; + } + + return TRUE; +} + +/* This signal callback triggers when appsrc needs data. Here, we add an idle handler + * to the mainloop to start pushing data into the appsrc */ +static void start_feed (GstElement *source, guint size, CustomData *data) { + if (data->sourceid == 0) { + g_print ("Start feeding\n"); + data->sourceid = g_idle_add ((GSourceFunc) push_data, data); + } +} + +/* This callback triggers when appsrc has enough data and we can stop sending. + * We remove the idle handler from the mainloop */ +static void stop_feed (GstElement *source, CustomData *data) { + if (data->sourceid != 0) { + g_print ("Stop feeding\n"); + g_source_remove (data->sourceid); + data->sourceid = 0; + } +} + +/* This function is called when an error message is posted on the bus */ +static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + GError *err; + gchar *debug_info; + + /* Print error details on the screen */ + gst_message_parse_error (msg, &err, &debug_info); + g_printerr ("Error received from element %s: %s\n", GST_OBJECT_NAME (msg->src), err->message); + g_printerr ("Debugging information: %s\n", debug_info ? debug_info : "none"); + g_clear_error (&err); + g_free (debug_info); + + g_main_loop_quit (data->main_loop); +} + +/* This function is called when playbin2 has created the appsrc element, so we have + * a chance to configure it. */ +static void source_setup (GstElement *pipeline, GstElement *source, CustomData *data) { + gchar *audio_caps_text; + GstCaps *audio_caps; + + g_print ("Source has been created. Configuring.\n"); + data->app_source = source; + + /* Configure appsrc */ + audio_caps_text = g_strdup_printf (AUDIO_CAPS, SAMPLE_RATE); + audio_caps = gst_caps_from_string (audio_caps_text); + g_object_set (source, "caps", audio_caps, NULL); + g_signal_connect (source, "need-data", G_CALLBACK (start_feed), data); + g_signal_connect (source, "enough-data", G_CALLBACK (stop_feed), data); + gst_caps_unref (audio_caps); + g_free (audio_caps_text); +} + +int main(int argc, char *argv[]) { + CustomData data; + GstBus *bus; + + /* Initialize cumstom data structure */ + memset (&data, 0, sizeof (data)); + data.b = 1; /* For waveform generation */ + data.d = 1; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Create the playbin2 element */ + data.pipeline = gst_parse_launch ("playbin2 uri=appsrc://", NULL); + g_signal_connect (data.pipeline, "source-setup", G_CALLBACK (source_setup), &data); + + /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ + bus = gst_element_get_bus (data.pipeline); + gst_bus_add_signal_watch (bus); + g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, &data); + gst_object_unref (bus); + + /* Start playing the pipeline */ + gst_element_set_state (data.pipeline, GST_STATE_PLAYING); + + /* Create a GLib Main Loop and set it to run */ + data.main_loop = g_main_loop_new (NULL, FALSE); + g_main_loop_run (data.main_loop); + + /* Free resources */ + gst_element_set_state (data.pipeline, GST_STATE_NULL); + gst_object_unref (data.pipeline); + return 0; +} +``` + +To use an `appsrc` as the source for the pipeline, simply instantiate a +`playbin2` and set its URI to `appsrc://` + +``` first-line: 131; theme: Default; brush: cpp; gutter: true +/* Create the playbin2 element */ +data.pipeline = gst_parse_launch ("playbin2 uri=appsrc://", NULL); +``` + +`playbin2` will create an internal `appsrc` element and fire the +`source-setup` signal to allow the application to configure +it: + +``` first-line: 133; theme: Default; brush: cpp; gutter: true +g_signal_connect (data.pipeline, "source-setup", G_CALLBACK (source_setup), &data); +``` + +In particular, it is important to set the caps property of `appsrc`, +since, once the signal handler returns, `playbin2` will instantiate the +next element in the pipeline according to these +caps: + +``` first-line: 100; theme: Default; brush: cpp; gutter: true +/* This function is called when playbin2 has created the appsrc element, so we have + * a chance to configure it. */ +static void source_setup (GstElement *pipeline, GstElement *source, CustomData *data) { + gchar *audio_caps_text; + GstCaps *audio_caps; + + g_print ("Source has been created. Configuring.\n"); + data->app_source = source; + + /* Configure appsrc */ + audio_caps_text = g_strdup_printf (AUDIO_CAPS, SAMPLE_RATE); + audio_caps = gst_caps_from_string (audio_caps_text); + g_object_set (source, "caps", audio_caps, NULL); + g_signal_connect (source, "need-data", G_CALLBACK (start_feed), data); + g_signal_connect (source, "enough-data", G_CALLBACK (stop_feed), data); + gst_caps_unref (audio_caps); + g_free (audio_caps_text); +} +``` + +The configuration of the `appsrc` is exactly the same as in [Basic +tutorial 8: Short-cutting the +pipeline](Basic%2Btutorial%2B8%253A%2BShort-cutting%2Bthe%2Bpipeline.html): +the caps are set to `audio/x-raw-int`, and two callbacks are registered, +so the element can tell the application when it needs to start and stop +pushing data. See [Basic tutorial 8: Short-cutting the +pipeline](Basic%2Btutorial%2B8%253A%2BShort-cutting%2Bthe%2Bpipeline.html) +for more details. + +From this point onwards, `playbin2` takes care of the rest of the +pipeline, and the application only needs to worry about generating more +data when told so. + +To learn how data can be extracted from `playbin2` using the +`appsink` element, see [Playback tutorial 7: Custom playbin2 +sinks](Playback%2Btutorial%2B7%253A%2BCustom%2Bplaybin2%2Bsinks.html). + +# Conclusion + +This tutorial applies the concepts shown in [Basic tutorial 8: +Short-cutting the +pipeline](Basic%2Btutorial%2B8%253A%2BShort-cutting%2Bthe%2Bpipeline.html) to +`playbin2`. In particular, it has shown: + + - How to connect `appsrc` with `playbin2` using the special + URI `appsrc://` + - How to configure the `appsrc` using the `source-setup` signal + +It has been a pleasure having you here, and see you soon\! + +## Attachments: + +![](images/icons/bullet_blue.gif) +[playback-tutorial-3.c](attachments/1442200/2424850.c) (text/plain) +![](images/icons/bullet_blue.gif) +[vs2010.zip](attachments/1442200/2424849.zip) (application/zip) +![](images/icons/bullet_blue.gif) +[playback-tutorial-3.c](attachments/1442200/2424848.c) (text/plain) + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Playback+tutorial+4%3A+Progressive+streaming.markdown b/Playback+tutorial+4%3A+Progressive+streaming.markdown new file mode 100644 index 0000000000..4f64a9d1f4 --- /dev/null +++ b/Playback+tutorial+4%3A+Progressive+streaming.markdown @@ -0,0 +1,450 @@ +# GStreamer SDK documentation : Playback tutorial 4: Progressive streaming + +This page last changed on Sep 13, 2012 by xartigas. + +# Goal + +[Basic tutorial 12: +Streaming](Basic%2Btutorial%2B12%253A%2BStreaming.html) showed how to +enhance the user experience in poor network conditions, by taking +buffering into account. This tutorial further expands [Basic tutorial +12: Streaming](Basic%2Btutorial%2B12%253A%2BStreaming.html) by enabling +the local storage of the streamed media, and describes the advantages of +this technique. In particular, it shows: + + - How to enable progressive downloading + - How to know what has been downloaded + - How to know where it has been downloaded + - How to limit the amount of downloaded data that is kept + +# Introduction + +When streaming, data is fetched from the network and a small buffer of +future-data is kept to ensure smooth playback (see [Basic tutorial 12: +Streaming](Basic%2Btutorial%2B12%253A%2BStreaming.html)). However, data +is discarded as soon as it is displayed or rendered (there is no +past-data buffer). This means, that if a user wants to jump back and +continue playback from a point in the past, data needs to be +re-downloaded. + +Media players tailored for streaming, like YouTube, usually keep all +downloaded data stored locally for this contingency. A graphical widget +is also normally used to show how much of the file has already been +downloaded. + +`playbin2` offers similar functionalities through the `DOWNLOAD` flag +which stores the media in a local temporary file for faster playback of +already-downloaded chunks. + +This code also shows how to use the Buffering Query, which allows +knowing what parts of the file are available. + +# A network-resilient example with local storage + +Copy this code into a text file named `playback-tutorial-4.c`. + + + + + + + + +

This tutorial is included in the SDK since release 2012.7. If you cannot find it in the downloaded code, please install the latest release of the GStreamer SDK.

+ +**playback-tutorial-4.c** + +``` theme: Default; brush: cpp; gutter: true +#include +#include + +#define GRAPH_LENGTH 80 + +/* playbin2 flags */ +typedef enum { + GST_PLAY_FLAG_DOWNLOAD = (1 << 7) /* Enable progressive download (on selected formats) */ +} GstPlayFlags; + +typedef struct _CustomData { + gboolean is_live; + GstElement *pipeline; + GMainLoop *loop; + gint buffering_level; +} CustomData; + +static void got_location (GstObject *gstobject, GstObject *prop_object, GParamSpec *prop, gpointer data) { + gchar *location; + g_object_get (G_OBJECT (prop_object), "temp-location", &location, NULL); + g_print ("Temporary file: %s\n", location); + /* Uncomment this line to keep the temporary file after the program exits */ + /* g_object_set (G_OBJECT (prop_object), "temp-remove", FALSE, NULL); */ +} + +static void cb_message (GstBus *bus, GstMessage *msg, CustomData *data) { + + switch (GST_MESSAGE_TYPE (msg)) { + case GST_MESSAGE_ERROR: { + GError *err; + gchar *debug; + + gst_message_parse_error (msg, &err, &debug); + g_print ("Error: %s\n", err->message); + g_error_free (err); + g_free (debug); + + gst_element_set_state (data->pipeline, GST_STATE_READY); + g_main_loop_quit (data->loop); + break; + } + case GST_MESSAGE_EOS: + /* end-of-stream */ + gst_element_set_state (data->pipeline, GST_STATE_READY); + g_main_loop_quit (data->loop); + break; + case GST_MESSAGE_BUFFERING: + /* If the stream is live, we do not care about buffering. */ + if (data->is_live) break; + + gst_message_parse_buffering (msg, &data->buffering_level); + + /* Wait until buffering is complete before start/resume playing */ + if (data->buffering_level < 100) + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); + else + gst_element_set_state (data->pipeline, GST_STATE_PLAYING); + break; + case GST_MESSAGE_CLOCK_LOST: + /* Get a new clock */ + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); + gst_element_set_state (data->pipeline, GST_STATE_PLAYING); + break; + default: + /* Unhandled message */ + break; + } +} + +static gboolean refresh_ui (CustomData *data) { + GstQuery *query; + gboolean result; + + query = gst_query_new_buffering (GST_FORMAT_PERCENT); + result = gst_element_query (data->pipeline, query); + if (result) { + gint n_ranges, range, i; + gchar graph[GRAPH_LENGTH + 1]; + GstFormat format = GST_FORMAT_TIME; + gint64 position = 0, duration = 0; + + memset (graph, ' ', GRAPH_LENGTH); + graph[GRAPH_LENGTH] = '\0'; + + n_ranges = gst_query_get_n_buffering_ranges (query); + for (range = 0; range < n_ranges; range++) { + gint64 start, stop; + gst_query_parse_nth_buffering_range (query, range, &start, &stop); + start = start * GRAPH_LENGTH / 100; + stop = stop * GRAPH_LENGTH / 100; + for (i = (gint)start; i < stop; i++) + graph [i] = '-'; + } + if (gst_element_query_position (data->pipeline, &format, &position) && + GST_CLOCK_TIME_IS_VALID (position) && + gst_element_query_duration (data->pipeline, &format, &duration) && + GST_CLOCK_TIME_IS_VALID (duration)) { + i = (gint)(GRAPH_LENGTH * (double)position / (double)(duration + 1)); + graph [i] = data->buffering_level < 100 ? 'X' : '>'; + } + g_print ("[%s]", graph); + if (data->buffering_level < 100) { + g_print (" Buffering: %3d%%", data->buffering_level); + } else { + g_print (" "); + } + g_print ("\r"); + } + + return TRUE; + +} + +int main(int argc, char *argv[]) { + GstElement *pipeline; + GstBus *bus; + GstStateChangeReturn ret; + GMainLoop *main_loop; + CustomData data; + guint flags; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Initialize our data structure */ + memset (&data, 0, sizeof (data)); + data.buffering_level = 100; + + /* Build the pipeline */ + pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + bus = gst_element_get_bus (pipeline); + + /* Set the download flag */ + g_object_get (pipeline, "flags", &flags, NULL); + flags |= GST_PLAY_FLAG_DOWNLOAD; + g_object_set (pipeline, "flags", flags, NULL); + + /* Uncomment this line to limit the amount of downloaded data */ + /* g_object_set (pipeline, "ring-buffer-max-size", (guint64)4000000, NULL); */ + + /* Start playing */ + ret = gst_element_set_state (pipeline, GST_STATE_PLAYING); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (pipeline); + return -1; + } else if (ret == GST_STATE_CHANGE_NO_PREROLL) { + data.is_live = TRUE; + } + + main_loop = g_main_loop_new (NULL, FALSE); + data.loop = main_loop; + data.pipeline = pipeline; + + gst_bus_add_signal_watch (bus); + g_signal_connect (bus, "message", G_CALLBACK (cb_message), &data); + g_signal_connect (pipeline, "deep-notify::temp-location", G_CALLBACK (got_location), NULL); + + /* Register a function that GLib will call every second */ + g_timeout_add_seconds (1, (GSourceFunc)refresh_ui, &data); + + g_main_loop_run (main_loop); + + /* Free resources */ + g_main_loop_unref (main_loop); + gst_object_unref (bus); + gst_element_set_state (pipeline, GST_STATE_NULL); + gst_object_unref (pipeline); + g_print ("\n"); + return 0; +} +``` + + + + + + + + +
+
+Need help? (Click to expand) +
+
+

If you need help to compile this code, refer to the Building the tutorials section for your platform: Linux, Mac OS X or Windows, or use this specific command on Linux:

+
+
+

gcc playback-tutorial-3.c -o playback-tutorial-3 `pkg-config --cflags --libs gstreamer-0.10`

+
+
+

If you need help to run this code, refer to the Running the tutorials section for your platform: Linux, Mac OS X or Windows

+

This tutorial opens a window and displays a movie, with accompanying audio. The media is fetched from the Internet, so the window might take a few seconds to appear, depending on your connection speed. In the console window, you should see a message indicating where the media is being stored, and a text graph representing the downloaded portions and the current position. A buffering message appears whenever buffering is required, which might never happen is your network connection is fast enough

+

Required libraries: gstreamer-0.10

+
+
+ +# Walkthrough + +This code is based on that of [Basic tutorial 12: +Streaming](Basic%2Btutorial%2B12%253A%2BStreaming.html). Let’s review +only the differences. + +#### Setup + +``` first-line: 133; theme: Default; brush: cpp; gutter: true +/* Set the download flag */ +g_object_get (pipeline, "flags", &flags, NULL); +flags |= GST_PLAY_FLAG_DOWNLOAD; +g_object_set (pipeline, "flags", flags, NULL); +``` + +By setting this flag, `playbin2` instructs its internal queue (a +`queue2` element, actually) to store all downloaded +data. + +``` first-line: 157; theme: Default; brush: cpp; gutter: true +g_signal_connect (pipeline, "deep-notify::temp-location", G_CALLBACK (got_location), NULL); +``` + +`deep-notify` signals are emitted by `GstObject` elements (like +`playbin2`) when the properties of any of their children elements +change. In this case we want to know when the `temp-location` property +changes, indicating that the `queue2` has decided where to store the +downloaded +data. + +``` first-line: 18; theme: Default; brush: cpp; gutter: true +static void got_location (GstObject *gstobject, GstObject *prop_object, GParamSpec *prop, gpointer data) { + gchar *location; + g_object_get (G_OBJECT (prop_object), "temp-location", &location, NULL); + g_print ("Temporary file: %s\n", location); + /* Uncomment this line to keep the temporary file after the program exits */ + /* g_object_set (G_OBJECT (prop_object), "temp-remove", FALSE, NULL); */ +} +``` + +The `temp-location` property is read from the element that triggered the +signal (the `queue2`) and printed on screen. + +When the pipeline state changes from `PAUSED` to `READY`, this file is +removed. As the comment reads, you can keep it by setting the +`temp-remove` property of the `queue2` to `FALSE`. + + + + + + + + +

On Windows this file is usually created inside the Temporary Internet Files folder, which might hide it from Windows Explorer. If you cannot find the downloaded files, try to use the console.

+ +#### User Interface + +In `main` we also install a timer which we use to refresh the UI every +second. + +``` first-line: 159; theme: Default; brush: cpp; gutter: true +/* Register a function that GLib will call every second */ +g_timeout_add_seconds (1, (GSourceFunc)refresh_ui, &data); +``` + +The `refresh_ui` method queries the pipeline to find out which parts of +the file have been downloaded and what the currently playing position +is. It builds a graph to display this information (sort of a text-mode +user interface) and prints it on screen, overwriting the previous one so +it looks like it is animated: + + [---->------- ] + +The dashes ‘`-`’ indicate the downloaded parts, and the greater-than +sign ‘`>`’ shows the current position (turning into an ‘`X`’ when the +pipeline is paused). Keep in mind that if your network is fast enough, +you will not see the download bar (the dashes) advance at all; it will +be completely full from the beginning. + +``` first-line: 70; theme: Default; brush: cpp; gutter: true +static gboolean refresh_ui (CustomData *data) { + GstQuery *query; + gboolean result; + query = gst_query_new_buffering (GST_FORMAT_PERCENT); + result = gst_element_query (data->pipeline, query); +``` + +The first thing we do in `refresh_ui` is construct a new Buffering +`GstQuery` with `gst_query_new_buffering()` and pass it to the pipeline +(`playbin2`) with `gst_element_query()`. In [Basic tutorial 4: Time +management](Basic%2Btutorial%2B4%253A%2BTime%2Bmanagement.html) we have +already seen how to perform simple queries like Position and Duration +using specific methods. More complex queries, like Buffering, need to +use the more general `gst_element_query()`. + +The Buffering query can be made in different `GstFormat` (TIME, BYTES, +PERCENTAGE and a few more). Not all elements can answer the query in all +the formats, so you need to check which ones are supported in your +particular pipeline. If `gst_element_query()` returns `TRUE`, the query +succeeded. The answer to the query is contained in the same +`GstQuery` structure we created, and can be retrieved using multiple +parse methods: + +``` first-line: 85; theme: Default; brush: cpp; gutter: true +n_ranges = gst_query_get_n_buffering_ranges (query); +for (range = 0; range < n_ranges; range++) { + gint64 start, stop; + gst_query_parse_nth_buffering_range (query, range, &start, &stop); + start = start * GRAPH_LENGTH / 100; + stop = stop * GRAPH_LENGTH / 100; + for (i = (gint)start; i < stop; i++) + graph [i] = '-'; +} +``` + +Data does not need to be downloaded in consecutive pieces from the +beginning of the file: Seeking, for example, might force to start +downloading from a new position and leave a downloaded chunk behind. +Therefore, `gst_query_get_n_buffering_ranges()` returns the number of +chunks, or *ranges* of downloaded data, and then, the position and size +of each range is retrieved with `gst_query_parse_nth_buffering_range()`. + +The format of the returned values (start and stop position for each +range) depends on what we requested in the +`gst_query_new_buffering()` call. In this case, PERCENTAGE. These +values are used to generate the graph. + +``` first-line: 94; theme: Default; brush: cpp; gutter: true +if (gst_element_query_position (data->pipeline, &format, &position) && + GST_CLOCK_TIME_IS_VALID (position) && + gst_element_query_duration (data->pipeline, &format, &duration) && + GST_CLOCK_TIME_IS_VALID (duration)) { + i = (gint)(GRAPH_LENGTH * (double)position / (double)(duration + 1)); + graph [i] = data->buffering_level < 100 ? 'X' : '>'; +} +``` + +Next, the current position is queried. It could be queried in the +PERCENT format, so code similar to the one used for the ranges is used, +but currently this format is not well supported for position queries. +Instead, we use the TIME format and also query the duration to obtain a +percentage. + +The current position is indicated with either a ‘`>`’ or an ‘`X`’ +depending on the buffering level. If it is below 100%, the code in the +`cb_message` method will have set the pipeline to `PAUSED`, so we print +an ‘`X`’. If the buffering level is 100% the pipeline is in the +`PLAYING` state and we print a ‘`>`’. + +``` first-line: 102; theme: Default; brush: cpp; gutter: true +if (data->buffering_level < 100) { + g_print (" Buffering: %3d%%", data->buffering_level); +} else { + g_print (" "); +} +``` + +Finally, if the buffering level is below 100%, we report this +information (and delete it otherwise). + +#### Limiting the size of the downloaded file + +``` first-line: 138; theme: Default; brush: cpp; gutter: true +/* Uncomment this line to limit the amount of downloaded data */ +/* g_object_set (pipeline, "ring-buffer-max-size", (guint64)4000000, NULL); */ +``` + +Uncomment line 139 to see how this can be achieved. This reduces the +size of the temporary file, by overwriting already played regions. +Observe the download bar to see which regions are kept available in the +file. + +# Conclusion + +This tutorial has shown: + + - How to enable progressive downloading with the + `GST_PLAY_FLAG_DOWNLOAD` `playbin2` flag + - How to know what has been downloaded using a Buffering `GstQuery` + - How to know where it has been downloaded with the + `deep-notify::temp-location` signal + - How to limit the size of the temporary file with + the `ring-buffer-max-size` property of `playbin2`. + +It has been a pleasure having you here, and see you soon\! + +## Attachments: + +![](images/icons/bullet_blue.gif) +[playback-tutorial-4.c](attachments/327808/2424846.c) (text/plain) +![](images/icons/bullet_blue.gif) +[vs2010.zip](attachments/327808/2424847.zip) (application/zip) + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Playback+tutorial+5%3A+Color+Balance.markdown b/Playback+tutorial+5%3A+Color+Balance.markdown new file mode 100644 index 0000000000..60ffc5ec7f --- /dev/null +++ b/Playback+tutorial+5%3A+Color+Balance.markdown @@ -0,0 +1,330 @@ +# GStreamer SDK documentation : Playback tutorial 5: Color Balance + +This page last changed on Jun 25, 2012 by xartigas. + +# Goal + +Brightness, Contrast, Hue and Saturation are common video adjustments, +which are collectively known as Color Balance settings in GStreamer. +This tutorial shows: + + - How to find out the available color balance channels + - How to change them + +# Introduction + +[Basic tutorial 5: GUI toolkit +integration](Basic%2Btutorial%2B5%253A%2BGUI%2Btoolkit%2Bintegration.html) has +already explained the concept of GObject interfaces: applications use +them to find out if certain functionality is available, regardless of +the actual element which implements it. + +`playbin2` implements the Color Balance interface (`gstcolorbalance`), +which allows access to the color balance settings. If any of the +elements in the `playbin2` pipeline support this interface, +`playbin2` simply forwards it to the application, otherwise, a +colorbalance element is inserted in the pipeline. + +This interface allows querying for the available color balance channels +(`gstcolorbalancechannel`), along with their name and valid range of +values, and then modify the current value of any of them. + +# Color balance example + +Copy this code into a text file named `playback-tutorial-5.c`. + + + + + + + + +

This tutorial is included in the SDK since release 2012.7. If you cannot find it in the downloaded code, please install the latest release of the GStreamer SDK.

+ +**playback-tutorial-5.c** + +``` theme: Default; brush: cpp; gutter: true +#include +#include +#include + +typedef struct _CustomData { + GstElement *pipeline; + GMainLoop *loop; +} CustomData; + +/* Process a color balance command */ +static void update_color_channel (const gchar *channel_name, gboolean increase, GstColorBalance *cb) { + gdouble step; + gint value; + GstColorBalanceChannel *channel = NULL; + const GList *channels, *l; + + /* Retrieve the list of channels and locate the requested one */ + channels = gst_color_balance_list_channels (cb); + for (l = channels; l != NULL; l = l->next) { + GstColorBalanceChannel *tmp = (GstColorBalanceChannel *)l->data; + + if (g_strrstr (tmp->label, channel_name)) { + channel = tmp; + break; + } + } + if (!channel) + return; + + /* Change the channel's value */ + step = 0.1 * (channel->max_value - channel->min_value); + value = gst_color_balance_get_value (cb, channel); + if (increase) { + value = (gint)(value + step); + if (value > channel->max_value) + value = channel->max_value; + } else { + value = (gint)(value - step); + if (value < channel->min_value) + value = channel->min_value; + } + gst_color_balance_set_value (cb, channel, value); +} + +/* Output the current values of all Color Balance channels */ +static void print_current_values (GstElement *pipeline) { + const GList *channels, *l; + + /* Output Color Balance values */ + channels = gst_color_balance_list_channels (GST_COLOR_BALANCE (pipeline)); + for (l = channels; l != NULL; l = l->next) { + GstColorBalanceChannel *channel = (GstColorBalanceChannel *)l->data; + gint value = gst_color_balance_get_value (GST_COLOR_BALANCE (pipeline), channel); + g_print ("%s: %3d%% ", channel->label, + 100 * (value - channel->min_value) / (channel->max_value - channel->min_value)); + } + g_print ("\n"); +} + +/* Process keyboard input */ +static gboolean handle_keyboard (GIOChannel *source, GIOCondition cond, CustomData *data) { + gchar *str = NULL; + + if (g_io_channel_read_line (source, &str, NULL, NULL, NULL) != G_IO_STATUS_NORMAL) { + return TRUE; + } + + switch (g_ascii_tolower (str[0])) { + case 'c': + update_color_channel ("CONTRAST", g_ascii_isupper (str[0]), GST_COLOR_BALANCE (data->pipeline)); + break; + case 'b': + update_color_channel ("BRIGHTNESS", g_ascii_isupper (str[0]), GST_COLOR_BALANCE (data->pipeline)); + break; + case 'h': + update_color_channel ("HUE", g_ascii_isupper (str[0]), GST_COLOR_BALANCE (data->pipeline)); + break; + case 's': + update_color_channel ("SATURATION", g_ascii_isupper (str[0]), GST_COLOR_BALANCE (data->pipeline)); + break; + case 'q': + g_main_loop_quit (data->loop); + break; + default: + break; + } + + g_free (str); + + print_current_values (data->pipeline); + + return TRUE; +} + +int main(int argc, char *argv[]) { + CustomData data; + GstStateChangeReturn ret; + GIOChannel *io_stdin; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Initialize our data structure */ + memset (&data, 0, sizeof (data)); + + /* Print usage map */ + g_print ( + "USAGE: Choose one of the following options, then press enter:\n" + " 'C' to increase contrast, 'c' to decrease contrast\n" + " 'B' to increase brightness, 'b' to decrease brightness\n" + " 'H' to increase hue, 'h' to decrease hue\n" + " 'S' to increase saturation, 's' to decrease saturation\n" + " 'Q' to quit\n"); + + /* Build the pipeline */ + data.pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + + /* Add a keyboard watch so we get notified of keystrokes */ +#ifdef _WIN32 + io_stdin = g_io_channel_win32_new_fd (fileno (stdin)); +#else + io_stdin = g_io_channel_unix_new (fileno (stdin)); +#endif + g_io_add_watch (io_stdin, G_IO_IN, (GIOFunc)handle_keyboard, &data); + + /* Start playing */ + ret = gst_element_set_state (data.pipeline, GST_STATE_PLAYING); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (data.pipeline); + return -1; + } + print_current_values (data.pipeline); + + /* Create a GLib Main Loop and set it to run */ + data.loop = g_main_loop_new (NULL, FALSE); + g_main_loop_run (data.loop); + + /* Free resources */ + g_main_loop_unref (data.loop); + g_io_channel_unref (io_stdin); + gst_element_set_state (data.pipeline, GST_STATE_NULL); + gst_object_unref (data.pipeline); + return 0; +} +``` + + + + + + + + +
+
+Need help? (Click to expand) +
+
+

If you need help to compile this code, refer to the Building the tutorials section for your platform: Linux, Mac OS X or Windows, or use this specific command on Linux:

+
+
+

gcc playback-tutorial-5.c -o playback-tutorial-5 `pkg-config --cflags --libs gstreamer-interfaces-0.10 gstreamer-0.10`

+
+
+

If you need help to run this code, refer to the Running the tutorials section for your platform: Linux, Mac OS X or Windows

+

+

This tutorial opens a window and displays a movie, with accompanying audio. The media is fetched from the Internet, so the window might take a few seconds to appear, depending on your connection speed.

+

The console should print all commands (Each command is a single upper-case or lower-case letter) and list all available Color Balance channels, typically, CONTRAST, BRIGHTNESS, HUE and SATURATION. Type each command (letter) followed by the Enter key.

+

+

Required libraries: gstreamer-interfaces-0.10 gstreamer-0.10

+
+
+ +# Walkthrough + +The `main()` function is fairly simple. A `playbin2` pipeline is +instantiated and set to run, and a keyboard watch is installed so +keystrokes can be monitored. + +``` first-line: 45; theme: Default; brush: cpp; gutter: true +/* Output the current values of all Color Balance channels */ +static void print_current_values (GstElement *pipeline) { + const GList *channels, *l; + + /* Output Color Balance values */ + channels = gst_color_balance_list_channels (GST_COLOR_BALANCE (pipeline)); + for (l = channels; l != NULL; l = l->next) { + GstColorBalanceChannel *channel = (GstColorBalanceChannel *)l->data; + gint value = gst_color_balance_get_value (GST_COLOR_BALANCE (pipeline), channel); + g_print ("%s: %3d%% ", channel->label, + 100 * (value - channel->min_value) / (channel->max_value - channel->min_value)); + } + g_print ("\n"); +} +``` + +This method prints the current value for all channels, and exemplifies +how to retrieve the list of channels. This is accomplished through the +`gst_color_balance_list_channels()` method. It returns a `GList` which +needs to be traversed. + +Each element in the list is a `GstColorBalanceChannel` structure, +informing of the channel’s name, minimum value and maximum value. +`gst_color_balance_get_value()` can then be called on each channel to +retrieve the current value. + +In this example, the minimum and maximum values are used to output the +current value as a percentage. + +``` first-line: 10; theme: Default; brush: cpp; gutter: true +/* Process a color balance command */ +static void update_color_channel (const gchar *channel_name, gboolean increase, GstColorBalance *cb) { + gdouble step; + gint value; + GstColorBalanceChannel *channel = NULL; + const GList *channels, *l; + + /* Retrieve the list of channels and locate the requested one */ + channels = gst_color_balance_list_channels (cb); + for (l = channels; l != NULL; l = l->next) { + GstColorBalanceChannel *tmp = (GstColorBalanceChannel *)l->data; + + if (g_strrstr (tmp->label, channel_name)) { + channel = tmp; + break; + } + } + if (!channel) + return; +``` + +This method locates the specified channel by name and increases or +decreases it as requested. Again, the list of channels is retrieved and +parsed looking for the channel with the specified name. Obviously, this +list could be parsed only once and the pointers to the channels be +stored and indexed by something more efficient than a string. + +``` first-line: 30; theme: Default; brush: cpp; gutter: true + /* Change the channel's value */ + step = 0.1 * (channel->max_value - channel->min_value); + value = gst_color_balance_get_value (cb, channel); + if (increase) { + value = (gint)(value + step); + if (value > channel->max_value) + value = channel->max_value; + } else { + value = (gint)(value - step); + if (value < channel->min_value) + value = channel->min_value; + } + gst_color_balance_set_value (cb, channel, value); +} +``` + +The current value for the channel is then retrieved, changed (the +increment is proportional to its dynamic range), clamped (to avoid +out-of-range values) and set using `gst_color_balance_set_value()`. + +And there is not much more to it. Run the program and observe the effect +of changing each of the channels in real time. + +# Conclusion + +This tutorial has shown how to use the color balance interface. +Particularly, it has shown: + + - How to retrieve the list of color available balance channels + with `gst_color_balance_list_channels()` + - How to manipulate the current value of each channel using + `gst_color_balance_get_value()` and `gst_color_balance_set_value()` + +It has been a pleasure having you here, and see you soon\! + +## Attachments: + +![](images/icons/bullet_blue.gif) +[playback-tutorial-5.c](attachments/327804/2424874.c) (text/plain) +![](images/icons/bullet_blue.gif) +[vs2010.zip](attachments/327804/2424875.zip) (application/zip) + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Playback+tutorial+6%3A+Audio+visualization.markdown b/Playback+tutorial+6%3A+Audio+visualization.markdown new file mode 100644 index 0000000000..32ce987f87 --- /dev/null +++ b/Playback+tutorial+6%3A+Audio+visualization.markdown @@ -0,0 +1,276 @@ +# GStreamer SDK documentation : Playback tutorial 6: Audio visualization + +This page last changed on Jun 26, 2012 by xartigas. + +# Goal + +GStreamer comes with a set of elements that turn audio into video. They +can be used for scientific visualization or to spice up your music +player, for example. This tutorial shows: + + - How to enable audio visualization + - How to select the visualization element + +# Introduction + +Enabling audio visualization in `playbin2` is actually very easy. Just +set the appropriate `playbin2` flag and, when an audio-only stream is +found, it will instantiate the necessary elements to create and display +the visualization. + +If you want to specify the actual element that you want to use to +generate the visualization, you instantiate it yourself and then tell +`playbin2` about it through the `vis-plugin` property. + +This tutorial searches the GStreamer registry for all the elements of +the Visualization class, tries to select `goom` (or another one if it is +not available) and passes it to `playbin2`. + +# A fancy music player + +Copy this code into a text file named `playback-tutorial-6.c`. + + + + + + + + +

This tutorial is included in the SDK since release 2012.7. If you cannot find it in the downloaded code, please install the latest release of the GStreamer SDK.

+ +**playback-tutorial-6.c** + +``` theme: Default; brush: cpp; gutter: true +#include + +/* playbin2 flags */ +typedef enum { + GST_PLAY_FLAG_VIS = (1 << 3) /* Enable rendering of visualizations when there is no video stream. */ +} GstPlayFlags; + +/* Return TRUE if this is a Visualization element */ +static gboolean filter_vis_features (GstPluginFeature *feature, gpointer data) { + GstElementFactory *factory; + + if (!GST_IS_ELEMENT_FACTORY (feature)) + return FALSE; + factory = GST_ELEMENT_FACTORY (feature); + if (!g_strrstr (gst_element_factory_get_klass (factory), "Visualization")) + return FALSE; + + return TRUE; +} + +int main(int argc, char *argv[]) { + GstElement *pipeline, *vis_plugin; + GstBus *bus; + GstMessage *msg; + GList *list, *walk; + GstElementFactory *selected_factory = NULL; + guint flags; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Get a list of all visualization plugins */ + list = gst_registry_feature_filter (gst_registry_get_default (), filter_vis_features, FALSE, NULL); + + /* Print their names */ + g_print("Available visualization plugins:\n"); + for (walk = list; walk != NULL; walk = g_list_next (walk)) { + const gchar *name; + GstElementFactory *factory; + + factory = GST_ELEMENT_FACTORY (walk->data); + name = gst_element_factory_get_longname (factory); + g_print(" %s\n", name); + + if (selected_factory == NULL || g_str_has_prefix (name, "GOOM")) { + selected_factory = factory; + } + } + + /* Don't use the factory if it's still empty */ + /* e.g. no visualization plugins found */ + if (!selected_factory) { + g_print ("No visualization plugins found!\n"); + return -1; + } + + /* We have now selected a factory for the visualization element */ + g_print ("Selected '%s'\n", gst_element_factory_get_longname (selected_factory)); + vis_plugin = gst_element_factory_create (selected_factory, NULL); + if (!vis_plugin) + return -1; + + /* Build the pipeline */ + pipeline = gst_parse_launch ("playbin2 uri=http://radio.hbr1.com:19800/ambient.ogg", NULL); + + /* Set the visualization flag */ + g_object_get (pipeline, "flags", &flags, NULL); + flags |= GST_PLAY_FLAG_VIS; + g_object_set (pipeline, "flags", flags, NULL); + + /* set vis plugin for playbin2 */ + g_object_set (pipeline, "vis-plugin", vis_plugin, NULL); + + /* Start playing */ + gst_element_set_state (pipeline, GST_STATE_PLAYING); + + /* Wait until error or EOS */ + bus = gst_element_get_bus (pipeline); + msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, GST_MESSAGE_ERROR | GST_MESSAGE_EOS); + + /* Free resources */ + if (msg != NULL) + gst_message_unref (msg); + gst_plugin_feature_list_free (list); + gst_object_unref (bus); + gst_element_set_state (pipeline, GST_STATE_NULL); + gst_object_unref (pipeline); + return 0; +} +``` + + + + + + + + +
+
+Need help? (Click to expand) +
+
+

If you need help to compile this code, refer to the Building the tutorials section for your platform: Linux, Mac OS X or Windows, or use this specific command on Linux:

+
+
+

gcc playback-tutorial-6.c -o playback-tutorial-6 `pkg-config --cflags --libs gstreamer-0.10`

+
+
+

If you need help to run this code, refer to the Running the tutorials section for your platform: Linux, Mac OS X or Windows

+

This tutorial plays music streamed from the HBR1 Internet radio station. A window should open displaying somewhat psychedelic color patterns moving with the music. The media is fetched from the Internet, so the window might take a few seconds to appear, depending on your connection speed.

+

Required libraries: gstreamer-0.10

+
+
+ +# Walkthrough + +First off, we indicate `playbin2` that we want an audio visualization by +setting the `GST_PLAY_FLAG_VIS` flag. If the media already contains +video, this flag has no effect. + +``` first-line: 66; theme: Default; brush: cpp; gutter: true +/* Set the visualization flag */ +g_object_get (pipeline, "flags", &flags, NULL); +flags |= GST_PLAY_FLAG_VIS; +g_object_set (pipeline, "flags", flags, NULL); +``` + +If no visualization plugin is enforced by the user, `playbin2` will use +`goom` (audio visualization will be disabled if `goom` is not +available). The rest of the tutorial shows how to find out the available +visualization elements and enforce one to `playbin2`. + +``` first-line: 32; theme: Default; brush: cpp; gutter: true +/* Get a list of all visualization plugins */ +list = gst_registry_feature_filter (gst_registry_get_default (), filter_vis_features, FALSE, NULL); +``` + +`gst_registry_feature_filter()` examines all elements currently in the +GStreamer registry and selects those for which +the `filter_vis_features` function returns TRUE. This function selects +only the Visualization plugins: + +``` first-line: 8; theme: Default; brush: cpp; gutter: true +/* Return TRUE if this is a Visualization element */ +static gboolean filter_vis_features (GstPluginFeature *feature, gpointer data) { + GstElementFactory *factory; + + if (!GST_IS_ELEMENT_FACTORY (feature)) + return FALSE; + factory = GST_ELEMENT_FACTORY (feature); + if (!g_strrstr (gst_element_factory_get_klass (factory), "Visualization")) + return FALSE; + + return TRUE; +} +``` + +A bit of theory regarding the organization of GStreamer elements is in +place: Each of the files that GStreamer loads at runtime is known as a +Plugin (`GstPlugin`). A Plugin can contain many Features +(`GstPluginFeature`). There are different kinds of Features, among them, +the Element Factories (`GstElementFactory`) that we have been using to +build Elements (`GstElement`). + +This function simply disregards all Features which are not Factories, +and then all Factories whose class (obtained with +`gst_element_factory_get_klass()`) does not include “Visualization”.  As +stated in the documentation for `GstElementFactory`, a Factory’s class +is a “string describing the type of element, as an unordered list +separated with slashes (/)”. Examples of classes are “Source/Network”, +“Codec/Decoder/Video”, “Codec/Encoder/Audio” or “Visualization”. + +``` first-line: 35; theme: Default; brush: cpp; gutter: true +/* Print their names */ +g_print("Available visualization plugins:\n"); +for (walk = list; walk != NULL; walk = g_list_next (walk)) { + const gchar *name; + GstElementFactory *factory; + + factory = GST_ELEMENT_FACTORY (walk->data); + name = gst_element_factory_get_longname (factory); + g_print(" %s\n", name); + + if (selected_factory == NULL || g_str_has_prefix (name, "GOOM")) { + selected_factory = factory; + } +} +``` + +Once we have the list of Visualization plugins, we print their names +(`gst_element_factory_get_longname()`) and choose one (in this case, +GOOM). + +``` first-line: 57; theme: Default; brush: cpp; gutter: true +/* We have now selected a factory for the visualization element */ +g_print ("Selected '%s'\n", gst_element_factory_get_longname (selected_factory)); +vis_plugin = gst_element_factory_create (selected_factory, NULL); +if (!vis_plugin) + return -1; +``` + +The selected factory is used to instantiate an actual `GstElement` which +is then passed to `playbin2` through the `vis-plugin` property: + +``` first-line: 71; theme: Default; brush: cpp; gutter: true +/* set vis plugin for playbin2 */ +g_object_set (pipeline, "vis-plugin", vis_plugin, NULL); +``` + +And we are done. + +# Conclusion + +This tutorial has shown: + + - How to enable Audio Visualization in `playbin2` with the + `GST_PLAY_FLAG_VIS` flag + - How to enforce one particular visualization element with the + `vis-plugin` `playbin2` property  + +It has been a pleasure having you here, and see you soon\! + +## Attachments: + +![](images/icons/bullet_blue.gif) +[vs2010.zip](attachments/327802/2424878.zip) (application/zip) +![](images/icons/bullet_blue.gif) +[playback-tutorial-6.c](attachments/327802/2424879.c) (text/plain) + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Playback+tutorial+7%3A+Custom+playbin2+sinks.markdown b/Playback+tutorial+7%3A+Custom+playbin2+sinks.markdown new file mode 100644 index 0000000000..0638770c3c --- /dev/null +++ b/Playback+tutorial+7%3A+Custom+playbin2+sinks.markdown @@ -0,0 +1,246 @@ +# GStreamer SDK documentation : Playback tutorial 7: Custom playbin2 sinks + +This page last changed on Dec 03, 2012 by xartigas. + +# Goal + +`playbin2` can be further customized by manually selecting its audio and +video sinks. This allows applications to rely on `playbin2` to retrieve +and decode the media and then manage the final render/display +themselves. This tutorial shows: + + - How to replace the sinks selected by `playbin2`. + - How to use a complex pipeline as a sink. + +# Introduction + +Two properties of `playbin2` allow selecting the desired audio and video +sinks: `audio-sink` and `video-sink` (respectively). The application +only needs to instantiate the appropriate `GstElement` and pass it to +`playbin2` through these properties. + +This method, though, only allows using a single Element as sink. If a +more complex pipeline is required, for example, an equalizer plus an +audio sink, it needs to be wrapped in a Bin, so it looks to +`playbin2` as if it was a single Element. + +A Bin (`GstBin`) is a container that encapsulates partial pipelines so +they can be managed as single elements. As an example, the +`GstPipeline` we have been using in all tutorials is a type of +`GstBin`, which does not interact with external Elements. Elements +inside a Bin connect to external elements through Ghost Pads +(`GstGhostPad`), this is, Pads on the surface of the Bin which simply +forward data from an external Pad to a given Pad on an internal Element. + +![](attachments/1441842/2424880.png) + +**Figure 1:** A Bin with two Elements and one Ghost Pad. + +`GstBin`s are also a type of `GstElement`, so they can be used wherever +an Element is required, in particular, as sinks for `playbin2` (and they +are then known as **sink-bins**). + +# An equalized player + +Copy this code into a text file named `playback-tutorial-7.c`. + + + + + + + + +

This tutorial is included in the SDK since release 2012.7. If you cannot find it in the downloaded code, please install the latest release of the GStreamer SDK.

+ +**playback-tutorial7.c** + +``` theme: Default; brush: cpp; gutter: true +#include + +int main(int argc, char *argv[]) { + GstElement *pipeline, *bin, *equalizer, *convert, *sink; + GstPad *pad, *ghost_pad; + GstBus *bus; + GstMessage *msg; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Build the pipeline */ + pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + + /* Create the elements inside the sink bin */ + equalizer = gst_element_factory_make ("equalizer-3bands", "equalizer"); + convert = gst_element_factory_make ("audioconvert", "convert"); + sink = gst_element_factory_make ("autoaudiosink", "audio_sink"); + if (!equalizer || !convert || !sink) { + g_printerr ("Not all elements could be created.\n"); + return -1; + } + + /* Create the sink bin, add the elements and link them */ + bin = gst_bin_new ("audio_sink_bin"); + gst_bin_add_many (GST_BIN (bin), equalizer, convert, sink, NULL); + gst_element_link_many (equalizer, convert, sink, NULL); + pad = gst_element_get_static_pad (equalizer, "sink"); + ghost_pad = gst_ghost_pad_new ("sink", pad); + gst_pad_set_active (ghost_pad, TRUE); + gst_element_add_pad (bin, ghost_pad); + gst_object_unref (pad); + + /* Configure the equalizer */ + g_object_set (G_OBJECT (equalizer), "band1", (gdouble)-24.0, NULL); + g_object_set (G_OBJECT (equalizer), "band2", (gdouble)-24.0, NULL); + + /* Set playbin2's audio sink to be our sink bin */ + g_object_set (GST_OBJECT (pipeline), "audio-sink", bin, NULL); + + /* Start playing */ + gst_element_set_state (pipeline, GST_STATE_PLAYING); + + /* Wait until error or EOS */ + bus = gst_element_get_bus (pipeline); + msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, GST_MESSAGE_ERROR | GST_MESSAGE_EOS); + + /* Free resources */ + if (msg != NULL) + gst_message_unref (msg); + gst_object_unref (bus); + gst_element_set_state (pipeline, GST_STATE_NULL); + gst_object_unref (pipeline); + return 0; +} +``` + + + + + + + + +
+
+Need help? (Click to expand) +
+
+

If you need help to compile this code, refer to the Building the tutorials section for your platform: Linux, Mac OS X or Windows, or use this specific command on Linux:

+
+
+

gcc playback-tutorial-7.c -o playback-tutorial-7 `pkg-config --cflags --libs gstreamer-0.10`

+
+
+

If you need help to run this code, refer to the Running the tutorials section for your platform: Linux, Mac OS X or Windows

+

This tutorial opens a window and displays a movie, with accompanying audio. The media is fetched from the Internet, so the window might take a few seconds to appear, depending on your connection speed. The higher frequency bands have been attenuated, so the movie sound should have a more powerful bass component.

+

Required libraries: gstreamer-0.10

+
+
+ +# Walkthrough + +``` first-line: 15; theme: Default; brush: cpp; gutter: true +/* Create the elements inside the sink bin */ +equalizer = gst_element_factory_make ("equalizer-3bands", "equalizer"); +convert = gst_element_factory_make ("audioconvert", "convert"); +sink = gst_element_factory_make ("autoaudiosink", "audio_sink"); +if (!equalizer || !convert || !sink) { + g_printerr ("Not all elements could be created.\n"); + return -1; +} +``` + +All the Elements that compose our sink-bin are instantiated. We use an +`equalizer-3bands` and an `autoaudiosink`, with an `audioconvert` in +between, because we are not sure of the capabilities of the audio sink +(since they are hardware-dependant). + +``` first-line: 24; theme: Default; brush: cpp; gutter: true +/* Create the sink bin, add the elements and link them */ +bin = gst_bin_new ("audio_sink_bin"); +gst_bin_add_many (GST_BIN (bin), equalizer, convert, sink, NULL); +gst_element_link_many (equalizer, convert, sink, NULL); +``` + +This adds the new Elements to the Bin and links them just as we would do +if this was a pipeline. + +``` first-line: 28; theme: Default; brush: cpp; gutter: true +pad = gst_element_get_static_pad (equalizer, "sink"); +ghost_pad = gst_ghost_pad_new ("sink", pad); +gst_pad_set_active (ghost_pad, TRUE); +gst_element_add_pad (bin, ghost_pad); +gst_object_unref (pad); +``` + +Now we need to create a Ghost Pad so this partial pipeline inside the +Bin can be connected to the outside. This Ghost Pad will be connected to +a Pad in one of the internal Elements (the sink pad of the equalizer), +so we retrieve this Pad with `gst_element_get_static_pad()`. Remember +from [Basic tutorial 7: Multithreading and Pad +Availability](Basic%2Btutorial%2B7%253A%2BMultithreading%2Band%2BPad%2BAvailability.html) that +if this was a Request Pad instead of an Always Pad, we would need to use +`gst_element_request_pad()`. + +The Ghost Pad is created with `gst_ghost_pad_new()` (pointing to the +inner Pad we just acquired), and activated with `gst_pad_set_active()`. +It is then added to the Bin with `gst_element_add_pad()`, transferring +ownership of the Ghost Pad to the bin, so we do not have to worry about +releasing it. + +Finally, the sink Pad we obtained from the equalizer needs to be release +with `gst_object_unref()`. + +At this point, we have a functional sink-bin, which we can use as the +audio sink in `playbin2`. We just need to instruct `playbin2` to use it: + +``` first-line: 38; theme: Default; brush: cpp; gutter: true +/* Set playbin2's audio sink to be our sink bin */ +g_object_set (GST_OBJECT (pipeline), "audio-sink", bin, NULL); +``` + +It is as simple as setting the `audio-sink` property on `playbin2` to +the newly created sink. + +``` first-line: 34; theme: Default; brush: cpp; gutter: true +/* Configure the equalizer */ +g_object_set (G_OBJECT (equalizer), "band1", (gdouble)-24.0, NULL); +g_object_set (G_OBJECT (equalizer), "band2", (gdouble)-24.0, NULL); +``` + +The only bit remaining is to configure the equalizer. For this example, +the two higher frequency bands are set to the maximum attenuation so the +bass is boosted. Play a bit with the values to feel the difference (Look +at the documentation for the `equalizer-3bands` element for the allowed +range of values). + +# Exercise + +Build a video bin instead of an audio bin, using one of the many +interesting video filters GStreamer offers, like `solarize`, +`vertigotv` or any of the Elements in the `effectv` plugin. Remember to +use the color space conversion element `ffmpegcolorspace` if your +pipeline fails to link due to incompatible caps. + +# Conclusion + +This tutorial has shown: + + - How to set your own sinks to `playbin2` using the audio-sink and + video-sink properties. + - How to wrap a piece of pipeline into a `GstBin` so it can be used as + a **sink-bin** by `playbin2`. + +It has been a pleasure having you here, and see you soon\! + +## Attachments: + +![](images/icons/bullet_blue.gif) +[bin-element-ghost.png](attachments/1441842/2424880.png) (image/png) +![](images/icons/bullet_blue.gif) +[playback-tutorial-7.c](attachments/1441842/2424881.c) (text/plain) +![](images/icons/bullet_blue.gif) +[vs2010.zip](attachments/1441842/2424882.zip) (application/zip) + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Playback+tutorial+8%3A+Hardware-accelerated+video+decoding.markdown b/Playback+tutorial+8%3A+Hardware-accelerated+video+decoding.markdown new file mode 100644 index 0000000000..1835fddb80 --- /dev/null +++ b/Playback+tutorial+8%3A+Hardware-accelerated+video+decoding.markdown @@ -0,0 +1,351 @@ +# GStreamer SDK documentation : Playback tutorial 8: Hardware-accelerated video decoding + +This page last changed on Jul 24, 2012 by xartigas. + +# Goal + +Hardware-accelerated video decoding has rapidly become a necessity, as +low-power devices grow more common. This tutorial (more of a lecture, +actually) gives some background on hardware acceleration and explains +how does GStreamer benefit from it. + +Sneak peek: if properly setup, you do not need to do anything special to +activate hardware acceleration; GStreamer automatically takes advantage +of it. + +# Introduction + +Video decoding can be an extremely CPU-intensive task, especially for +higher resolutions like 1080p HDTV. Fortunately, modern graphics cards, +equipped with programmable GPUs, are able to take care of this job, +allowing the CPU to concentrate on other duties. Having dedicated +hardware becomes essential for low-power CPUs which are simply incapable +of decoding such media fast enough. + +In the current state of things (July-2012) each GPU manufacturer offers +a different method to access their hardware (a different API), and a +strong industry standard has not emerged yet. + +As of July-2012, there exist at least 8 different video decoding +acceleration APIs: + +[VAAPI](http://en.wikipedia.org/wiki/Video_Acceleration_API) (*Video +Acceleration API*): Initially designed by +[Intel](http://en.wikipedia.org/wiki/Intel) in 2007, targeted at the X +Window System on Unix-based operating systems, now open-source. It is +currently not limited to Intel GPUs as other manufacturers are free to +use this API, for example, [Imagination +Technologies](http://en.wikipedia.org/wiki/Imagination_Technologies) or +[S3 Graphics](http://en.wikipedia.org/wiki/S3_Graphics). Accessible to +GStreamer through +the [gstreamer-vaapi](http://gitorious.org/vaapi/gstreamer-vaapi) and +[Fluendo](http://en.wikipedia.org/wiki/Fluendo)’s Video Acceleration +Decoder (fluvadec) plugins. + +[VDPAU](http://en.wikipedia.org/wiki/VDPAU) (*Video Decode and +Presentation API for UNIX*): Initially designed by +[NVidia](http://en.wikipedia.org/wiki/NVidia) in 2008, targeted at the X +Window System on Unix-based operating systems, now open-source. Although +it is also an open-source library, no manufacturer other than NVidia is +using it yet. Accessible to GStreamer through +the [vdpau](http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/sys/vdpau) element +in plugins-bad and [Fluendo](http://en.wikipedia.org/wiki/Fluendo)’s +Video Acceleration Decoder (fluvadec) plugins. + +[DXVA](http://en.wikipedia.org/wiki/DXVA) (*DirectX Video +Acceleration*): [Microsoft](http://en.wikipedia.org/wiki/Microsoft) API +specification for the Microsoft Windows and Xbox 360 +platforms. Accessible to GStreamer through +the [Fluendo](http://en.wikipedia.org/wiki/Fluendo)’s Video +Acceleration Decoder (fluvadec) plugin. + +[XVBA](http://en.wikipedia.org/wiki/Xvba) (*X-Video Bitstream +Acceleration*): Designed by [AMD +Graphics](http://en.wikipedia.org/wiki/AMD_Graphics), is an arbitrary +extension of the X video extension (Xv) for the X Window System on Linux +operating-systems. Currently only AMD's ATI Radeon graphics cards +hardware that have support for Unified Video Decoder version 2.0 or +later are supported by the proprietary ATI Catalyst device +driver. Accessible to GStreamer through +the [Fluendo](http://en.wikipedia.org/wiki/Fluendo)’s Video +Acceleration Decoder +(fluvadec) plugin. + +[VDA](http://developer.apple.com/library/mac/#technotes/tn2267/_index.html) +(*Video Decode Acceleration*): Available on [Mac OS +X](http://en.wikipedia.org/wiki/OS_X) v10.6.3 and later with Mac models +equipped with the NVIDIA GeForce 9400M, GeForce 320M, GeForce GT 330M, +ATI HD Radeon GFX, Intel HD Graphics and others. Only accelerates +decoding of H.264 media. Accessible to GStreamer through +the [Fluendo](http://en.wikipedia.org/wiki/Fluendo)’s Video +Acceleration Decoder (fluvadec) plugin. + +[OpenMAX](http://en.wikipedia.org/wiki/OpenMAX) (*Open Media +Acceleration*): Managed by the non-profit technology consortium [Khronos +Group](http://en.wikipedia.org/wiki/Khronos_Group "Khronos Group"), +it is a "royalty-free, cross-platform set of C-language programming +interfaces that provides abstractions for routines especially useful for +audio, video, and still images". Accessible to GStreamer through +the [gstreamer-omx](http://git.freedesktop.org/gstreamer/gst-omx) plugin. + +[OVD](http://developer.amd.com/sdks/AMDAPPSDK/assets/OpenVideo_Decode_API.PDF) +(*Open Video Decode*): Another API from [AMD +Graphics](http://en.wikipedia.org/wiki/AMD_Graphics), designed to be a +platform agnostic method for softrware developers to leverage the +[Universal Video +Decode](http://en.wikipedia.org/wiki/Unified_Video_Decoder) (UVD) +hardware inside AMD Radeon graphics cards. Currently unavailable to +GStreamer. + +[DCE](http://en.wikipedia.org/wiki/Distributed_Codec_Engine) +(*Distributed Codec Engine*): An open source software library ("libdce") +and API specification by [Texas +Instruments](http://en.wikipedia.org/wiki/Texas_Instruments), targeted +at Linux systems and ARM platforms. Accessible to GStreamer through +the [gstreamer-ducati](https://github.com/robclark/gst-ducati) plugin. + +There exist some GStreamer plugins, like the +[gstreamer-vaapi](http://gitorious.org/vaapi/gstreamer-vaapi) project or +the +[vdpau](http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/sys/vdpau) +element in plugins-bad, which target one particular hardware +acceleration API and expose its functionality through different +GStreamer elements. The application is then responsible for selecting +the appropriate plugin depending on the available APIs. + +Some other GStreamer plugins, like +[Fluendo](http://en.wikipedia.org/wiki/Fluendo)’s Video Acceleration +Decoder (fluvadec), detect at runtime the available APIs and select one +automatically. This makes any program using these plugins independent of +the API, or even the operating system. + +# Inner workings of hardware-accelerated video decoding plugins + +These APIs generally offer a number of functionalities, like video +decoding, post-processing, presentation of the decoded frames, or +download of such frames to system memory. Correspondingly, plugins +generally offer a different GStreamer element for each of these +functions, so pipelines can be built to accommodate any need. + +For example, the `gstreamer-vaapi` plugin offers the `vaapidecode`, +`vaapiupload`, `vaapidownload` and `vaapisink` elements that allow +hardware-accelerated decoding through VAAPI, upload of raw video frames +to GPU memory, download of GPU frames to system memory and presentation +of GPU frames, respectively. + +It is important to distinguish between conventional GStreamer frames, +which reside in system memory, and frames generated by +hardware-accelerated APIs. The latter reside in GPU memory and cannot be +touched by GStreamer. They can usually be downloaded to system memory +and treated as conventional GStreamer frames, but it is far more +efficient to leave them in the GPU and display them from there. + +GStreamer needs to keep track of where these “hardware buffers” are +though, so conventional buffers still travel from element to element, +but their only content is a hardware buffer ID, or handler. If retrieved +with an `appsink`, for example, hardware buffers make no sense, since +they are meant to be handled only by the plugin that generated them. + +To indicate this, these buffers have special Caps, like +`video/x-vdpau-output` or `video/x-fluendo-va`. In this way, the +auto-plugging mechanism of GStreamer will not try to feed hardware +buffers to conventional elements, as they would not understand the +received buffers. Moreover, using these Caps, the auto-plugger is able +to automatically build pipelines that use hardware acceleration, since, +after a VAAPI decoder, a VAAPI sink is the only element that fits. + +This all means that, if a particular hardware acceleration API is +present in the system, and the corresponding GStreamer plugin is also +available, auto-plugging elements like `playbin2` are free to use +hardware acceleration to build their pipelines; the application does not +need to do anything special to enable it. Almost: + +When `playbin2` has to choose among different equally valid elements, +like conventional software decoding (through `vp8dec`, for example) or +hardware accelerated decoding (through `vaapidecode`, for example), it +uses their *rank* to decide. The rank is a property of each element that +indicates its priority; `playbin2` will simply select the element that +is able to build a complete pipeline and has the highest rank. + +So, whether `playbin2` will use hardware acceleration or not will depend +on the relative ranks of all elements capable of dealing with that media +type. Therefore, the easiest way to make sure hardware acceleration is +enabled or disabled is by changing the rank of the associated element, +as shown in this code: + +``` theme: Default; brush: cpp; gutter: true +static void enable_factory (const gchar *name, gboolean enable) { + GstRegistry *registry = NULL; + GstElementFactory *factory = NULL; + + registry = gst_registry_get_default (); + if (!registry) return; + + factory = gst_element_factory_find (name); + if (!factory) return; + + if (enable) { + gst_plugin_feature_set_rank (GST_PLUGIN_FEATURE (factory), GST_RANK_PRIMARY + 1); + } + else { + gst_plugin_feature_set_rank (GST_PLUGIN_FEATURE (factory), GST_RANK_NONE); + } + + gst_registry_add_feature (registry, GST_PLUGIN_FEATURE (factory)); + return; +} +``` + +The first parameter passed to this method is the name of the element to +modify, for example, `vaapidecode` or `fluvadec`. + +The key method is `gst_plugin_feature_set_rank()`, which will set the +rank of the requested element factory to the desired level. For +convenience, ranks are divided in NONE, MARGINAL, SECONDARY and PRIMARY, +but any number will do. When enabling an element, we set it to +PRIMARY+1, so it has a higher rank than the rest of elements which +commonly have PRIMARY rank. Setting an element’s rank to NONE will make +the auto-plugging mechanism to never select it. + +# Hardware-accelerated video decoding and the GStreamer SDK + +There are no plugins deployed in the GStreamer SDK Amazon 2012.7 that +allow hardware-accelerated video decoding. The main reasons are that +some of them are not yet fully operational, or still have issues, or are +proprietary. Bear in mind that this situation is bound to change in the +near future, as this is a very active area of development. + +Some of these plugins can be built from their publicly available +sources, using the Cerbero build system (see [Installing on +Linux](Installing%2Bon%2BLinux.html)) or independently (linking against +the GStreamer SDK libraries, obviously). Some other plugins are readily +available in binary form from their vendors. + +The following sections try to summarize the current state of some of +these plugins. + +### vdpau in gst-plugins-bad + + - GStreamer element for VDPAU, present in + [gst-plugins-bad](http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/sys/vdpau). + - Supported codecs:  + + + + + + + + + + + +
MPEG2MPEG4H.264
+ +### gstreamer-vaapi + + - GStreamer element for VAAPI. Standalone project hosted at + [gstreamer-vaapi](http://gitorious.org/vaapi/gstreamer-vaapi). + - Supported codecs: + + + + + + + + + + + + + +
MPEG2MPEG4H.264VC1WMV3
+ + - Can interface directly with Clutter (See [Basic tutorial 15: Clutter + integration](Basic%2Btutorial%2B15%253A%2BClutter%2Bintegration.html)), + so frames do not need to leave the GPU. + - Compatible with `playbin2`. + +### gst-omx + + - GStreamer element for OpenMAX. Standalone project hosted at + [gst-omx](http://git.freedesktop.org/gstreamer/gst-omx/). + - Supported codecs greatly vary depending on the underlying hardware. + +### fluvadec + + - GStreamer element for VAAPI, VDPAU, DXVA2, XVBA and VDA from + [Fluendo](http://en.wikipedia.org/wiki/Fluendo) (propietary). + - Supported codecs depend on the chosen API, which is selected at + runtime depending on what is available on the system: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 MPEG2MPEG4H.264VC1
VAAPI
VDPAU
XVBA  
DXVA2   
VDA   
+ + - Can interface directly with Clutter (See [Basic tutorial 15: Clutter + integration](Basic%2Btutorial%2B15%253A%2BClutter%2Bintegration.html)), + so frames do not need to leave the GPU. + - Compatible with `playbin2`. + +# Conclusion + +This tutorial has shown a bit how GStreamer internally manages hardware +accelerated video decoding. Particularly, + + - Applications do not need to do anything special to enable hardware + acceleration if a suitable API and the corresponding GStreamer + plugin are available. + - Hardware acceleration can be enabled or disabled by changing the + rank of the decoding element with `gst_plugin_feature_set_rank()`. + +It has been a pleasure having you here, and see you soon\! + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Playback+tutorial+9%3A+Digital+audio+pass-through.markdown b/Playback+tutorial+9%3A+Digital+audio+pass-through.markdown new file mode 100644 index 0000000000..c27be879dd --- /dev/null +++ b/Playback+tutorial+9%3A+Digital+audio+pass-through.markdown @@ -0,0 +1,109 @@ +# GStreamer SDK documentation : Playback tutorial 9: Digital audio pass-through + +This page last changed on Jul 24, 2012 by xartigas. + +# Goal + +This tutorial shows how GStreamer handles digital audio pass-through. + +# Introduction + +Besides the common analog format, high-end audio systems usually also +accept data in digital form, either compressed or uncompressed. This is +convenient because the audio signal then travels from the computer to +the speakers in a form that is more resilient to interference and noise, +resulting higher quality. + +The connection is typically made through an +[S/PDIF](http://en.wikipedia.org/wiki/SPDIF) cable which can either be +optical (with [TOSLINK](http://en.wikipedia.org/wiki/TOSLINK) +connectors) or coaxial (with [RCA](http://en.wikipedia.org/wiki/RCA) +connectors). S/PDIF is also known as IEC 60958 type II (IEC 958 before +1998). + +In this scenario, GStreamer does not need to perform audio decoding; it +can simply output the encoded data, acting in *pass-through* mode, and +let the external audio system perform the decoding. + +# Inner workings of GStreamer audio sinks + +First off, digital audio output must be enabled at the system level. The +method to achieve this depend on the operating system, but it generally +involves going to the audio control panel and activating a checkbox +reading “Digital Audio Output” or similar. + +The main GStreamer audio sinks for each platform, Pulse Audio +(`pulsesink`) for Linux, `osxaudiosink` for OS X and Direct Sound +(`directsoundsink`) for Windows, detect when digital audio output is +available and change their input caps accordingly to accept encoded +data. For example, these elements typically accept `audio/x-raw-int` or +`audio/x-raw-float` data: when digital audio output is enabled in the +system, they may also accept `audio/mpeg`, `audio/x-ac3`, +`audio/x-eac3` or `audio/x-dts`. + +Then, when `playbin2` builds the decoding pipeline, it realizes that the +audio sink can be directly connected to the encoded data (typically +coming out of a demuxer), so there is no need for a decoder. This +process is automatic and does not need any action from the application. + +On Linux, there exist other audio sinks, like Alsa (`alsasink`) which +work differently (a “digital device” needs to be manually selected +through the `device` property of the sink). Pulse Audio, though, is the +commonly preferred audio sink on Linux. + +# Precautions with digital formats + +When Digital Audio Output is enabled at the system level, the GStreamer +audio sinks automatically expose all possible digital audio caps, +regardless of whether the actual audio decoder at the end of the S/PDIF +cable is able to decode all those formats. This is so because there is +no mechanism to query an external audio decoder which formats are +supported, and, in fact, the cable can even be disconnected during this +process. + +For example, after enabling Digital Audio Output in the system’s Control +Panel,  `directsoundsink`  will automatically expose `audio/x-ac3`, +`audio/x-eac3` and `audio/x-dts` caps in addition to `audio/x-raw-int`. +However, one particular external decoder might only understand raw +integer streams and would try to play the compressed data as such (a +painful experience for your ears, rest assured). + +Solving this issue requires user intervention, since only the user knows +the formats supported by the external decoder. + +On some systems, the simplest solution is to inform the operating system +of the formats that the external audio decoder can accept. In this way, +the GStreamer audio sinks will only offer these formats. The acceptable +audio formats are commonly selected from the operating system’s audio +configuration panel, from the same place where Digital Audio Output is +enabled, but, unfortunately, this option is not available in all audio +drivers. + +Another solution involves, using a custom sinkbin (see [Playback +tutorial 7: Custom playbin2 +sinks](Playback%2Btutorial%2B7%253A%2BCustom%2Bplaybin2%2Bsinks.html)) +which includes a `capsfilter` element (see [Basic tutorial 14: Handy +elements](Basic%2Btutorial%2B14%253A%2BHandy%2Belements.html)) and an +audio sink. The caps that the external decoder supports are then set in +the capsfiler so the wrong format is not output. This allows the +application to enforce the appropriate format instead of relying on the +user to have the system correctly configured. Still requires user +intervention, but can be used regardless of the options the audio driver +offers. + +Please do not use `autoaudiosink` as the audio sink, as it currently +only supports raw audio, and will ignore any compressed format. + +# Conclusion + +This tutorial has shown a bit of how GStreamer deals with digital audio. +In particular, it has shown that: + + - Applications using `playbin2` do not need to do anything special to + enable digital audio output: it is managed from the audio control + panel of the operating system. + +It has been a pleasure having you here, and see you soon\! + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Playback+tutorials.markdown b/Playback+tutorials.markdown new file mode 100644 index 0000000000..f6f75eeaeb --- /dev/null +++ b/Playback+tutorials.markdown @@ -0,0 +1,11 @@ +# GStreamer SDK documentation : Playback tutorials + +This page last changed on Mar 28, 2012 by xartigas. + +# Welcome to the GStreamer SDK Playback tutorials + +These tutorials explain everything you need to know to produce a media +playback application using GStreamer. + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Qt+tutorials.markdown b/Qt+tutorials.markdown new file mode 100644 index 0000000000..7824ad4043 --- /dev/null +++ b/Qt+tutorials.markdown @@ -0,0 +1,19 @@ +# GStreamer SDK documentation : Qt tutorials + +This page last changed on May 02, 2013 by tdfischer. + +# Welcome to the GStreamer SDK Qt tutorials + +These tutorials describe Qt-specific topics. General GStreamer concepts +will not be explained in these tutorials, so the [Basic +tutorials](http://docs.gstreamer.com/display/GstSDK/Basic+tutorials) should +be reviewed first. The reader should also be familiar with basic Qt +programming techniques. + +The Qt tutorials have the same structure as the [Android +tutorials](Android%2Btutorials.html): Each one builds on top of the +previous one and adds progressively more functionality, until a working +media player application is obtained in \#FIXME\# + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/QtGStreamer+vs+C+GStreamer.markdown b/QtGStreamer+vs+C+GStreamer.markdown new file mode 100644 index 0000000000..e8533b26a4 --- /dev/null +++ b/QtGStreamer+vs+C+GStreamer.markdown @@ -0,0 +1,113 @@ +# GStreamer SDK documentation : QtGStreamer vs C GStreamer + +This page last changed on May 24, 2013 by xartigas. + +QtGStreamer is designed to mirror the C GStreamer API as closely as +possible. There are, of course, minor differences. They are documented +here. + +# Common Functions + + ++++ + + + + + + + + + + + + + + + + + + + + + + + + +
C GStreamerQtGStreamer
gst_element_factory_make()QGst::ElementFactory::make(const QString &factoryName, const char *elementName=NULL)
gst_parse_bin_from_description()QGst::Bin::fromDescription(const QString &description, BinFromDescriptionOption ghostUnlinkedPads=Ghost)
gst_caps_from_string()

QGst::Caps::fromString(const QString &string)

g_signal_connect()QGlib::connect(GObject* instance, const char *detailedSignal, T *receiver, R(T::*)(Args...) slot, ConnectFlags flags)
+ +# Naming Convention + +QtGStreamer follows a strict naming policy to help make cross +referencing easier: + +### Namespaces + +The "G" namespace (`GObject`, `GValue`, etc...) is referred to as +"QGlib". + +The "Gst" namespace (`GstObject`, `GstElement`, etc...) is referred to +as "QGst". + +### Class Names + +Class names should be the same as their G\* equivalents, with the +namespace prefix removed. For example, "`GstObject`" becomes +"`QGst::Object`", "`GParamSpec`" becomes "`QGlib::ParamSpec`", etc... + +### Method Names + +In general the method names should be the same as the GStreamer ones, +with the g\[st\]\_\ prefix removed and converted to camel case. + +For example, + +``` theme: Default; brush: cpp; gutter: false +gboolean gst_caps_is_emtpy(const GstCaps *caps); +``` + +becomes: + +``` theme: Default; brush: cpp; gutter: false +namespace QGst { + class Caps { + bool isEmpty() const; + } +} +``` + +There are cases where this may not be followed: + +1. **Properties**. Most property getters have a "get" prefix, for + example, `gst_object_get_name()`. In QtGStreamer the "get" prefix is + omitted, so this becomes just `name()`. +2. **Overloaded members**. In C there is no possibility to have two + methods with the same name, so overloaded members usually have some + extra suffix, like "\_full". For example, `g_object_set_data()` and + `g_object_set_data_full()`. In C++ we just add a method with the + same name, or put optional parameters in the existing method. +3. **Other cases where the glib/gstreamer method name doesn't make much + sense**. For example, `gst_element_is_locked_state()`. That doesn't + make sense in english, as "sate" is the subject and should go before + the verb "is". So, it becomes `stateIsLocked()`. + +# Reference Counting + +Reference counting is handled the same way as Qt does. There is no need +to call `g_object_ref()`` and g_object_unref()`. + +# Access to GStreamer Elements + +QtGStreamer provides access to the underlying C objects, in case you +need them. This is accessible with a simple cast: + +``` theme: Default; brush: cpp; gutter: false +ElementPtr qgstElement = QGst::ElementFactory::make("playbin2"); +GstElement* gstElement = GST_ELEMENT(qgstElement); +``` + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Releases.markdown b/Releases.markdown new file mode 100644 index 0000000000..078aef4f55 --- /dev/null +++ b/Releases.markdown @@ -0,0 +1,26 @@ +# GStreamer SDK documentation : Releases + +This page last changed on Jun 12, 2013 by xartigas. + +The GStreamer SDK releases are named using a date and a name. The date +is in year.month form, and corresponds to the release date. The name is +meant to be easier to remember and matches an actual river’s name, in +alphabetical order, increasing with every release. + +The current release is: + +### [2013.6 Congo](2013.6%2BCongo.html) + +The older releases were (oldest at the +bottom): + +### [2012.11 Brahmaputra](2012.11%2BBrahmaputra.html) + +### [2012.9 Amazon (Bugfix Release 2)](2012.9%2BAmazon%2B%2528Bugfix%2BRelease%2B2%2529.html) + +### [2012.7 Amazon (Bugfix Release 1)](2012.7%2BAmazon%2B%2528Bugfix%2BRelease%2B1%2529.html) + +### [2012.5 Amazon](2012.5%2BAmazon.html) + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Table+of+Concepts.markdown b/Table+of+Concepts.markdown new file mode 100644 index 0000000000..600bec180b --- /dev/null +++ b/Table+of+Concepts.markdown @@ -0,0 +1,58 @@ +# GStreamer SDK documentation : Table of Concepts + +This page last changed on Jun 06, 2012 by xartigas. + +This table shows in which tutorial each of the following key GStreamer +concepts is discussed. + + - Action signals: [Playback tutorial 1: Playbin2 + usage](Playback%2Btutorial%2B1%253A%2BPlaybin2%2Busage.html) + - Audio switching: [Playback tutorial 1: Playbin2 + usage](Playback%2Btutorial%2B1%253A%2BPlaybin2%2Busage.html) + - Buffers: [Basic tutorial 8: Short-cutting the + pipeline](Basic%2Btutorial%2B8%253A%2BShort-cutting%2Bthe%2Bpipeline.html) + - Bus: [Basic tutorial 2: GStreamer + concepts](Basic%2Btutorial%2B2%253A%2BGStreamer%2Bconcepts.html) + - Capabilities: [Basic tutorial 6: Media formats and Pad + Capabilities](Basic%2Btutorial%2B6%253A%2BMedia%2Bformats%2Band%2BPad%2BCapabilities.html) + - Debugging: [Basic tutorial 11: Debugging + tools](Basic%2Btutorial%2B11%253A%2BDebugging%2Btools.html) + - Discoverer: [Basic tutorial 9: Media information + gathering](Basic%2Btutorial%2B9%253A%2BMedia%2Binformation%2Bgathering.html) + - Elements: [Basic tutorial 2: GStreamer + concepts](Basic%2Btutorial%2B2%253A%2BGStreamer%2Bconcepts.html) + - gst-discoverer: [Basic tutorial 10: GStreamer + tools](Basic%2Btutorial%2B10%253A%2BGStreamer%2Btools.html) + - gst-inspect: [Basic tutorial 10: GStreamer + tools](Basic%2Btutorial%2B10%253A%2BGStreamer%2Btools.html), [gst-inspect](gst-inspect.html) + - gst-launch: [Basic tutorial 10: GStreamer + tools](Basic%2Btutorial%2B10%253A%2BGStreamer%2Btools.html), [gst-launch](gst-launch.html) + - GUI: [Basic tutorial 5: GUI toolkit + integration](Basic%2Btutorial%2B5%253A%2BGUI%2Btoolkit%2Bintegration.html) + - Links: [Basic tutorial 2: GStreamer + concepts](Basic%2Btutorial%2B2%253A%2BGStreamer%2Bconcepts.html) + - Pads: [Basic tutorial 3: Dynamic + pipelines](Basic%2Btutorial%2B3%253A%2BDynamic%2Bpipelines.html) + - Pad Availability: [Basic tutorial 7: Multithreading and Pad + Availability](Basic%2Btutorial%2B7%253A%2BMultithreading%2Band%2BPad%2BAvailability.html) + - Pipelines: [Basic tutorial 2: GStreamer + concepts](Basic%2Btutorial%2B2%253A%2BGStreamer%2Bconcepts.html) + - Queries: [Basic tutorial 4: Time + management](Basic%2Btutorial%2B4%253A%2BTime%2Bmanagement.html) + - Seeks: [Basic tutorial 4: Time + management](Basic%2Btutorial%2B4%253A%2BTime%2Bmanagement.html) + - Signals: [Basic tutorial 3: Dynamic + pipelines](Basic%2Btutorial%2B3%253A%2BDynamic%2Bpipelines.html) + - States: [Basic tutorial 3: Dynamic + pipelines](Basic%2Btutorial%2B3%253A%2BDynamic%2Bpipelines.html) + - Subtitles: [Playback tutorial 2: Subtitle + management](Playback%2Btutorial%2B2%253A%2BSubtitle%2Bmanagement.html) + - Tags: [Playback tutorial 1: Playbin2 + usage](Playback%2Btutorial%2B1%253A%2BPlaybin2%2Busage.html) + - Tools: [Basic tutorial 10: GStreamer + tools](Basic%2Btutorial%2B10%253A%2BGStreamer%2Btools.html) + - Threads: [Basic tutorial 7: Multithreading and Pad + Availability](Basic%2Btutorial%2B7%253A%2BMultithreading%2Band%2BPad%2BAvailability.html) + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Tutorials.markdown b/Tutorials.markdown new file mode 100644 index 0000000000..da427d9dd4 --- /dev/null +++ b/Tutorials.markdown @@ -0,0 +1,93 @@ +# GStreamer SDK documentation : Tutorials + +This page last changed on Jun 12, 2013 by xartigas. + +# Welcome to the GStreamer SDK Tutorials\! + +The following sections introduce a series of tutorials designed to help +you learn how to use GStreamer, the multi-platform, modular, +open-source, media streaming framework. + +### Prerequisites + +Before following these tutorials, you need to set up your development +environment according to your platform. If you have not done so yet, +follow the appropriate link +for [Linux](Installing%2Bon%2BLinux.html), [Mac OS +X](Installing%2Bon%2BMac%2BOS%2BX.html) or [Windows](Installing%2Bon%2BWindows.html) and +come back here afterwards. + +The tutorials are currently written only in the C programming language, +so you need to be comfortable with it. Even though C is not an +Object-Oriented (OO) language per se, the GStreamer framework uses +`GObject`s, so some knowledge of OO concepts will come in handy. +Knowledge of the `GObject` and `GLib` libraries is not mandatory, but +will make the trip easier. + +### Source code + +Every tutorial represents a self-contained project, with full source +code in C (and eventually in other languages too). Source code snippets +are introduced alongside the text, and the full code (with any other +required files like makefiles or project files) is distributed with the +SDK, as explained in the installation instructions. + +### A short note on GObject and GLib + +GStreamer is built on top of the `GObject` (for object orientation) and +`GLib` (for common algorithms) libraries, which means that every now and +then you will have to call functions of these libraries. Even though the +tutorials will make sure that deep knowledge of these libraries is not +required, familiarity with them will certainly ease the process of +learning GStreamer. + +You can always tell which library you are calling because all GStreamer +functions, structures and types have the `gst_` prefix, whereas GLib and +GObject use `g_`. + +### Sources of documentation + +Besides what you can find in this site, you have +the `GObject` and `GLib` reference guides, and, of course the +upstream [GStreamer +documentation](http://gstreamer.freedesktop.org/documentation/). + +When accessing external documentation, be careful to check that the +version of the documented library matches the versions used in this SDK +(which you can find in the [Releases](Releases.html) page) + +### Structure + +The tutorials are organized in sections, revolving about a common theme: + + - [Basic tutorials](Basic%2Btutorials.html): Describe general topics + required to understand the rest of tutorials in the GStreamer SDK. + - [Playback tutorials](Playback%2Btutorials.html): Explain everything + you need to know to produce a media playback application using + GStreamer. + - [Android tutorials](Android%2Btutorials.html): Tutorials dealing + with the few Android-specific topics you need to know. + - [iOS tutorials](iOS%2Btutorials.html): Tutorials dealing with the + few iOS-specific topics you need to know. + +If you cannot remember in which tutorial a certain GStreamer concept is +explained, use the following: + + - [Table of Concepts](Table%2Bof%2BConcepts.html) + +Furthermore, you can find the list of planned tutorials here: + + - [Upcoming tutorials](Upcoming%2Btutorials.html) + +### Sample media + +The audio and video clips used throughout these tutorials are all +publicly available and the copyright remains with their respective +authors. In some cases they have been re-encoded for demonstration +purposes. All the files are hosted +at [docs.gstreamer.com](http://docs.gstreamer.com). + + - [Sintel, the Durian Open Movie Project](http://www.sintel.org/) + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Upcoming+tutorials.markdown b/Upcoming+tutorials.markdown new file mode 100644 index 0000000000..6d3106c93a --- /dev/null +++ b/Upcoming+tutorials.markdown @@ -0,0 +1,21 @@ +# GStreamer SDK documentation : Upcoming tutorials + +This page last changed on May 24, 2013 by xartigas. + +This is the list of planned tutorials (in no particular order). They +will move out of this list and into their own pages as they are +finished. Use the [Contact](Contact.html) page to send us a mail or open +a feature request through Bugzilla if there is a subject you would like +to see discussed in a tutorial. + +Basic tutorials: + + - Static builds + - Pad Probes + +Playback tutorials: + + - DVD playback + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Using+appsink%2Fappsrc+in+Qt.markdown b/Using+appsink%2Fappsrc+in+Qt.markdown new file mode 100644 index 0000000000..a2ec5cf82c --- /dev/null +++ b/Using+appsink%2Fappsrc+in+Qt.markdown @@ -0,0 +1,246 @@ +# GStreamer SDK documentation : Using appsink/appsrc in Qt + +This page last changed on May 24, 2013 by xartigas. + +# Goal + +For those times when you need to stream data into or out of GStreamer +through your application, GStreamer includes two helpful elements: + + - `appsink` - Allows applications to easily extract data from a + GStreamer pipeline + - `appsrc` - Allows applications to easily stream data into a + GStreamer pipeline + +This tutorial will demonstrate how to use both of them by constructing a +pipeline to decode an audio file, stream it into an application's code, +then stream it back into your audio output device. All this, using +QtGStreamer. + +# Steps + +First, the files. These are also available in the +`examples/appsink-src` directory of the QGstreamer SDK. + +**CMakeLists.txt** + +``` theme: Default; brush: plain; gutter: true +project(qtgst-example-appsink-src) +find_package(QtGStreamer REQUIRED) +find_package(Qt4 REQUIRED) +include_directories(${QTGSTREAMER_INCLUDES} ${QT_QTCORE_INCLUDE_DIRS}) +add_definitions(${QTGSTREAMER_DEFINITIONS}) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${QTGSTREAMER_FLAGS}") +add_executable(appsink-src main.cpp) +target_link_libraries(appsink-src ${QTGSTREAMER_UTILS_LIBRARIES} ${QT_QTCORE_LIBRARIES}) +``` + +**main.cpp** + +``` theme: Default; brush: cpp; gutter: true +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +class MySink : public QGst::Utils::ApplicationSink +{ +public: + MySink(QGst::Utils::ApplicationSource *src) + : QGst::Utils::ApplicationSink(), m_src(src) {} +protected: + virtual void eos() + { + m_src->endOfStream(); + } + virtual QGst::FlowReturn newBuffer() + { + m_src->pushBuffer(pullBuffer()); + return QGst::FlowOk; + } +private: + QGst::Utils::ApplicationSource *m_src; +}; + +class Player : public QCoreApplication +{ +public: + Player(int argc, char **argv); + ~Player(); +private: + void onBusMessage(const QGst::MessagePtr & message); +private: + QGst::Utils::ApplicationSource m_src; + MySink m_sink; + QGst::PipelinePtr pipeline1; + QGst::PipelinePtr pipeline2; +}; +Player::Player(int argc, char **argv) + : QCoreApplication(argc, argv), m_sink(&m_src) +{ + QGst::init(&argc, &argv); + if (argc <= 1) { + std::cerr << "Usage: " << argv[0] << " " << std::endl; + std::exit(1); + } + const char *caps = "audio/x-raw-int,channels=1,rate=8000," + "signed=(boolean)true,width=16,depth=16,endianness=1234"; + /* source pipeline */ + QString pipe1Descr = QString("filesrc location=\"%1\" ! " + "decodebin2 ! " + "audioconvert ! " + "audioresample ! " + "appsink name=\"mysink\" caps=\"%2\"").arg(argv[1], caps); + pipeline1 = QGst::Parse::launch(pipe1Descr).dynamicCast(); + m_sink.setElement(pipeline1->getElementByName("mysink")); + QGlib::connect(pipeline1->bus(), "message::error", this, &Player::onBusMessage); + pipeline1->bus()->addSignalWatch(); + /* sink pipeline */ + QString pipe2Descr = QString("appsrc name=\"mysrc\" caps=\"%1\" ! autoaudiosink").arg(caps); + pipeline2 = QGst::Parse::launch(pipe2Descr).dynamicCast(); + m_src.setElement(pipeline2->getElementByName("mysrc")); + QGlib::connect(pipeline2->bus(), "message", this, &Player::onBusMessage); + pipeline2->bus()->addSignalWatch(); + /* start playing */ + pipeline1->setState(QGst::StatePlaying); + pipeline2->setState(QGst::StatePlaying); +} +Player::~Player() +{ + pipeline1->setState(QGst::StateNull); + pipeline2->setState(QGst::StateNull); +} +void Player::onBusMessage(const QGst::MessagePtr & message) +{ + switch (message->type()) { + case QGst::MessageEos: + quit(); + break; + case QGst::MessageError: + qCritical() << message.staticCast()->error(); + break; + default: + break; + } +} + +int main(int argc, char **argv) +{ + Player p(argc, argv); + return p.exec(); +} +``` + +## Walkthrough + +As this is a very simple example, most of the action happens in the +`Player`'s constructor. First, GStreamer is initialized through +`QGst::init()`: + +**GStreamer Initialization** + +``` theme: Default; brush: cpp; gutter: false + QGst::init(&argc, &argv); +``` + +Now we can construct the first half of the pipeline: + +**Pipeline Setup** + +``` theme: Default; brush: cpp; gutter: true + const char *caps = "audio/x-raw-int,channels=1,rate=8000," + "signed=(boolean)true,width=16,depth=16,endianness=1234"; +  + /* source pipeline */ + QString pipe1Descr = QString("filesrc location=\"%1\" ! " + "decodebin2 ! " + "audioconvert ! " + "audioresample ! " + "appsink name=\"mysink\" caps=\"%2\"").arg(argv[1], caps); + pipeline1 = QGst::Parse::launch(pipe1Descr).dynamicCast(); + m_sink.setElement(pipeline1->getElementByName("mysink")); + QGlib::connect(pipeline1->bus(), "message::error", this, &Player::onBusMessage); + pipeline1->bus()->addSignalWatch(); +``` + +`QGst::Parse::launch()` parses the text description of a pipeline and +returns a `QGst::PipelinePtr`. In this case, the pipeline is composed +of: + + - A `filesrc` element to read the file + - `decodebin2` to automatically examine the stream and pick the right + decoder(s) + - `audioconvert` and `audioresample` to convert the output of the + `decodebin2` into the caps specified for the `appsink` + - An `appsink` element with specific caps + +Next, we tell our `MySink` class (which is a subclass +of `QGst::Utils::ApplicationSink`) what `appsink` element to use. + +The second half of the pipeline is created similarly: + +**Second Pipeline** + +``` theme: Default; brush: cpp; gutter: true + /* sink pipeline */ + QString pipe2Descr = QString("appsrc name=\"mysrc\" caps=\"%1\" ! autoaudiosink").arg(caps); + pipeline2 = QGst::Parse::launch(pipe2Descr).dynamicCast(); + m_src.setElement(pipeline2->getElementByName("mysrc")); + QGlib::connect(pipeline2->bus(), "message", this, &Player::onBusMessage); + pipeline2->bus()->addSignalWatch(); +``` + +Finally, the pipeline is started: + +**Starting the pipeline** + +``` theme: Default; brush: cpp; gutter: true + /* start playing */ + pipeline1->setState(QGst::StatePlaying); + pipeline2->setState(QGst::StatePlaying); +``` + +Once the pipelines are started, the first one begins pushing buffers +into the `appsink` element. Our `MySink` class implements the +`newBuffer()` method, which is called by QGStreamer when a new buffer is +ready for processing: + +**MySink::newBuffer()** + +``` theme: Default; brush: cpp; gutter: true + virtual QGst::FlowReturn newBuffer() + { + m_src->pushBuffer(pullBuffer()); + return QGst::FlowOk; + } +``` + +Our implementation takes the new buffer and pushes it into the +`appsrc` element, which got assigned in the `Player` constructor: + +**Player::Player()** + +``` theme: Default; brush: cpp; gutter: false +Player::Player(int argc, char **argv) + : QCoreApplication(argc, argv), m_sink(&m_src) +``` + +From there, buffers flow into the `autoaudiosink` element, which +automatically figures out a way to send it to your speakers. + +# Conclusion + +You should now have an understanding of how to push and pull arbitrary +data into and out of a GStreamer pipeline. + +It has been a pleasure having you here, and see you soon\! + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/Windows+deployment.markdown b/Windows+deployment.markdown new file mode 100644 index 0000000000..6d5da0e2a0 --- /dev/null +++ b/Windows+deployment.markdown @@ -0,0 +1,261 @@ +# GStreamer SDK documentation : Windows deployment + +This page last changed on Nov 28, 2012 by xartigas. + +This page explains how to deploy GStreamer along your application. There +are different mechanisms, which have been reviewed in [Deploying your +application](Deploying%2Byour%2Bapplication.html). The details for some +of the mechanisms are given here, and more options might be added to +this documentation in the future. + +# Shared GStreamer + +This is the easiest way to deploy GStreamer, although most of the time +it installs unnecessary files which grow the size of the installer and +the target drive free space requirements. Since the SDK might be shared +among all applications that use it, though, the extra space requirements +are somewhat blurred. + +Simply pack the GStreamer SDK **runtime** installer ([the same one you +installed in your development machine](Installing%2Bon%2BWindows.html)) +inside your installer (or download it from your installer) and execute +it silently using `msiexec`. `msiexec` is the tool that wraps most of +the Windows Installer functionality and offers a number of options to +suit your needs. You can review these options by +executing `msiexec` without parameters. For example: + +``` theme: Default; brush: plain; gutter: false +msiexec /i gstreamer-sdk-2012.9-x86.msi +``` + +This will bring up the installation dialog as if the user had +double-clicked on the `msi` file. Usually, you will want to let the user +choose where they want to install the SDK. An environment variable will +let your application locate it later on. + +# Private deployment of GStreamer + +You can use the same method as the shared SDK, but instruct its +installer to deploy to your application’s folder (or a +subfolder). Again, use the `msiexec` parameters that suit you best. For +example: + +``` theme: Default; brush: plain; gutter: false +msiexec /passive INSTALLDIR=C:\Desired\Folder /i gstreamer-sdk-2012.9-x86.msi +``` + +This will install the SDK to `C:\Desired\Folder`  showing a progress +dialog, but not requiring user intervention. + +# Deploy only necessary files, by manually picking them + +On the other side of the spectrum, if you want to reduce the space +requirements (and installer size) to the maximum, you can manually +choose which GStreamer libraries to deploy. Unfortunately, you are on +your own on this road, besides using the [Dependency +Walker](http://www.dependencywalker.com/) tool to discover inter-DLL +dependencies. + +Bear in mind that GStreamer is modular in nature. Plug-ins are loaded +depending on the media that is being played, so, if you do not know in +advance what files you are going to play, you do not know which DLLs you +need to deploy. + +# Deploy only necessary packages, using provided Merge Modules + +If you are building your installer using one of the Professional +editions of [Visual +Studio](http://www.microsoft.com/visualstudio/en-us/products/2010-editions/professional/overview) +or [WiX](http://wix.sf.net) you can take advantage of pre-packaged +[Merge +Modules](http://msdn.microsoft.com/en-us/library/windows/desktop/aa369820\(v=vs.85\).aspx). +The GStreamer SDK is divided in packages, which roughly take care of +different tasks. There is the core package, the playback package, the +networking package, etc. Each package contains the necessary libraries +and files to accomplish its task. + +The Merge Modules are pieces that can be put together to build a larger +Windows Installer. In this case, you just need to create a deployment +project for your application with Visual Studio and then add the Merge +Modules for the GStreamer packages your application needs. + +This will produce a smaller installer than deploying the complete +GStreamer SDK, without the added burden of having to manually pick each +library. You just need to know which packages your application requires. + +![](images/icons/grey_arrow_down.gif)Available packages (Click to +expand) + + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Package nameDependenciesLicensesDescription
base-system JPEG, FreeType, BSD-like, LGPL,
+LGPL-2+, LGPL-2.1, LibPNG and MIT
Base system dependencies
gobject-pythonbase-systemLGPLGLib/GObject python bindings
gstreamer-capturebase-system, gstreamer-coreLGPL and LGPL-2+GStreamer plugins for capture
gstreamer-clutterbase-system, gtk+-2.0, gstreamer-coreLGPLGStreamer Clutter support
gstreamer-codecsbase-system, gstreamer-coreBSD, Jasper-2.0, BSD-like, LGPL,
+LGPL-2, LGPL-2+, LGPL-2.1 and LGPL-2.1+
GStreamer codecs
gstreamer-codecs-gplbase-system, gstreamer-coreBSD-like, LGPL, LGPL-2+ and LGPL-2.1+GStreamer codecs under the GPL license and/or with patents issues
gstreamer-corebase-systemLGPL and LGPL-2+GStreamer core
gstreamer-dvdbase-system, gstreamer-coreGPL-2+, LGPL and LGPL-2+GStreamer DVD support
gstreamer-effectsbase-system, gstreamer-coreLGPL and LGPL-2+GStreamer effects and instrumentation plugins
gstreamer-networkingbase-system, gstreamer-coreGPL-3, LGPL, LGPL-2+, LGPL-2.1+
+and LGPL-3+
GStreamer plugins for network protocols
gstreamer-playbackbase-system, gstreamer-coreLGPL and LGPL-2+GStreamer plugins for playback
gstreamer-pythonbase-system, gobject-python,
+gstreamer-core
LGPL and LGPL-2.1+GStreamer python bindings
gstreamer-systembase-system, gstreamer-coreLGPL, LGPL-2+ and LGPL-2.1+GStreamer system plugins
gstreamer-tutorials LGPLTutorials for GStreamer
gstreamer-visualizersbase-system, gstreamer-coreLGPL and LGPL-2+GStreamer visualization plugins
gtk+-2.0base-systemLGPLGtk toolkit
gtk+-2.0-pythonbase-system, gtk+-2.0LGPL and LGPL-2.1+Gtk python bindings
snappy

base-system, gstreamer-clutter,
+gtk+-2.0, gstreamer-playback,
+gstreamer-core, gstreamer-codecs

LGPLSnappy media player
+ +If you include a merge module in your deployment project, remember to +include also its dependencies. Otherwise, the project will build +correctly and install flawlessly, but, when executing your application, +it will miss files. + +Get the ZIP file with all Merge Modules for your architecture: + + +++ + + + + + + + + + + + + + + + + +
32 bits

GStreamer SDK 2013.6 (Congo) for Windows 32 bits (Merge Modules) - mirror - md5 - sha1

64 bits
GStreamer SDK 2013.6 (Congo) for Windows 64 bits (Merge Modules) - mirror - md5 - sha1
+ + + + + + + + +

Due to the size of these files, usage of a Download Manager is highly recommended. Take a look at this list if you do not have one installed. If, after downloading, the installer reports itself as corrupt, chances are that the connection ended before the file was complete. A Download Manager will typically re-start the process and fetch the missing parts.

+ +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/attachments/1343490.png b/attachments/1343490.png new file mode 100644 index 0000000000000000000000000000000000000000..5a4cc57021f98867dd6f4f6b28f86d91705eb504 GIT binary patch literal 7155 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 literal 0 HcmV?d00001 diff --git a/attachments/1540099.png b/attachments/1540099.png new file mode 100644 index 0000000000000000000000000000000000000000..7e2ea32605a3f4021fdac9c44a0e8014cb3f764c GIT binary patch literal 2718 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 literal 0 HcmV?d00001 diff --git a/attachments/1540101.png b/attachments/1540101.png new file mode 100644 index 0000000000000000000000000000000000000000..dfbbcb1e8110a662ea7759fa862d62ff7226d399 GIT binary patch literal 4383 zcmaKwcQhPK*T9A71kt;&R>?+-ULtx35+$DKy^Ff6vLd2I@4ZD^goqMl_1;TZeU-4R z5=#)W8^X8Gf8ROpd)_(c&OLL_+?hFZXMS_;#J<$mqNZS@ARr*1)_$gLh}ZdeaU>(b z*JilXUA(&Mr>bpChA&VuhY$ERx%V?uKYahCf8~yzM^l>sA&NCd&CU2%j~T{hq`Kj#AB<^G8k zfQr|j{-fZcF#G#Krof~$nuC*wOZn_TM7<3vIPw^g^xNFk#s8(D%}(?JqjTZjOCtf& zLj`iJQjqoQ!Awd@dc>hw`{^Im45r<);cgRXIPH(RPaj81D=Q&6mRA_6pue@&M%t+h zDX)*=OSi+#4|T?*9Dv;+n02S|y*$A&8T>ltf=jbsSeQpy0Ev2cFB>Ztr&lu_S(>B> z=B0~vZ0wo0TrwUqPdVb=zaRW_PX?AOcTf%JWA(rocPppe1Z*bNeG~xH_JF#Pwv-l>*DK-n zAZ>eDyBRy|4S8TFM$6m>-UYo$dZo@Q-hHwBoTW)}t-({AAorR{5Y@m3zwCM_~t04VdpB!gLPmDeiy4s}}n`Uo8+l#auEB4dVtWUps9(QN? z*Ok)I74mdYF($tQJJ1qw?TIQh&NL%vJNPDkvzz*8&B92-*6KQWX?|;arFbLavl!{S zWM%Bbn^WZ?#~-NQ1}?Mo>43$J-+(Wj{uv!!rcdg&sZH75Vizu;2g=3HEAOF~^DPME z$!<@NA3N=4+250z7~B9~aYZA5=G{8!5%j!LwBaU?cv9T?&bQ^`o!{&y4t*|v`(sd@ zwhHs}deQQQnelP=H!VB*htWM8&!BJjUXq#^G2Oh3BuXqKC>PolWbjQ|<&3Rgq41+u zA$tAVtwO+Dtwe+7odwX|Cn~e3dyD){?-?=iTG*9N_bDp-C+UFVMc0e;%xaSF7_||> z(FvzPZvA&fWJCKvxhg?L4QLWx;8vYlnz7*ESM{ z)r!G&HG|vJZd9zd6_Q1t&X69T5UbI3cO5V;TA2=)z(k7P`Y8Y2XeZ?HIr(`?-OA5J zQk+P&lCkip02$;JT5D#ZD+xS3JJuvn-4YZ{yt&QzVUo3VN*d%D!YS^0)L#OziL?>) zH5g(vr#@m0?SG(M@2{n_^-R*WNb79}rFI&&PkD2crUy#jgYAJ-yC0Bz|Ff`56-3xs z{}?WvjeIUx(8;wm0NGG7SFw_&d5dCS7v}1q4I24PdB48YH>b~mrzurHP z!Cg?EG<kTGbMWW6m#_jB{0)DW;D|?vK_~{8L$E8;WHWC5s{dL)IgaMO`77t#QhZd_J=JGX6aG*b?Y-|J zP@w^AY(5-R>>}dhaK)5_dEZrQiFVAyu{3UnO{PyjP%RN_>2EmiLah_2+l!+a6D%dc z;ES@9iL~S9X0DTpzGEKc7c-4GoTPu-=)^4kR+rBntA92Ge&%CK^l5{~^VZNI_8-yz z)06#2TB}pKEBbJp@K<|6;F}~B)h(B~p$Xm7n^gL11Wi%?u>@?gtskhHY3*uJygd( z)RPPG^#lLA!6CFclRbNwJuS=Bf32aNw&sDo&f=qfAfUR1)zs|17g=hBfy7d|N?BfB zK-~7qKFD_3q@nF~vdQN`DTeaqkqCD|vfemDK2~Ak5Vl~0QO9}X+ynM|h7c(2J2*_2 ziNVQd2m5kP-cn8Fo;(lXDVEq{ppJ!4$x-+d-0UmHzz z+1wU%xt?BIE$Q=P9GZosI{E}jtkJB{1)|FBQ%)4S-}JM~rk4vbULS8M2o<~M9UH=i zF5=H$w=VaWT;5Tg4XiBTune|qhyG&8s@8epC*fGla;fz}-9C`$eu*Dgb}m6=>4ZA* zhFw|R`O`=k5S9TTPXtEHoxxF7F0g|ioF6+Tw6op!8>x}k*P!=XEMGW|wm#v;l)krL z5i#tzytb&VY~+DkuFcljW+4-dkyI`VI&(9#;#EyEF@U}_JEb>DRwkJvVZ)~zsXj|p zcVE`L%E)4T;ed21I2PH9a?Tsta68&Hs-eJ6R|?C`Kgp5A{FRn*^!vK@$_O7X->_)Q z3lU$i@Ug|??6SgvgaTCLrX0g}c$WY?2*=Ug*q!jq*lv$*iItggkFQSCIW_`AG|$Pc z`XI(ec9?sUEyP_V#xF8)hEpRGIKmxww%7Us0FxsjR6Nyr$d*ZHEe0Q1DT=nbl>7yJ za^miDZdH>H(qppo;B_ z;`^i@c?2SI7`(C!GitWfza;mXZeXj7M@MDc@NorSTnY3@^(RPI*E8lyLLEcp2Fhke z!K^yn%{Z@RQ0~9mdLE(>)Cx}~tt*bP0P?ZK+Rnr1;|7<1`BF~zHH7 zlvN4w*PSw%k{FSfKk&C~_bUDsh?+_PGPdAwraXO3Aur~Re-+L0oPcxP_-8s-qctnO z`*AL*4_M-6`<#1Q}lroW1T&(dq^yys;Xj1c$xpe5g zVr9wo3X2TU+a;5{)xva2b3qPNY)?z6fskpdY;v-3p5XYD;*ZY0S*PL3p3heqF1mIQ zHBoowT-LLwWfSD%TwkYVs#k2RpH3mdxv?2#C>LE}52;tcI?#lzHz3j=d%E}82mMx> zh=6U>lQ%UO%`(IK00XYADsbODw*CrtL)(zDY3=8&G5EvMHK3w@iTf}NSPkyHzFv?H zjzJYZDB1`DHE6N_jK<+=-cTi9sz7bM1U`KYY;D-PEGl1o@=ljY`K$g{;wo>~9OLEd z62Yl;=cMu@YW1J;!}<=%g^R4b9ErBdZ&nXlWdY=?h1r+n_1?DIKA9;Jr8NCi(u()L zPq4RIobh#HiB63K=vr87TN={&J}Xr{Hm)*0V79V>Q4DvG#?@OAjz829Ie6RUb-b(< zcKcD*nch(AznxT8{-->&<)1H>C9@@hLc53%mhZ*x>E!B0&+Jtmdn3S0z6Ns{6lYWP zUjDr0Nrq_vibug**OLnf%LxskdI#$kufk4a!8?uqtZUx>L*OOeN#AY4EeUUo>SK1# znnAah#p0MacrYHd+OM`^!YFwA16cPtDZZ^q>GFWl`MnDVzLP7$^9M$c<0fz)NKcyv z^N4}M=S^4ya^w`tXUyc#0Gk`UlqWUwXG42P=|oYzvoiv6TRLc_eGK7&7keh@54H0L zz5c}-cx@XnFL&TQ#NL->_SM43QL~uUtE3Abu-|w8;QodG76;YK)Gzj9`)x+u|F4(?2jiyf@W7SC7bM}!A0S<36kTrX7`$Dio`z* zUlVdtz!PNHEj(&4TU|^LJ2L}MVDuzdlaLP0B0;8QUoNy`%;;$JDksW91eGXHipQ<3 z^>f993KLA5JA-XLKVbVylIY|@y=N>jTz9w|@g5wf%B7r9bZ7()W`1r8y}#u`m8`6b zXWkNxg7-a=6!G>omjL^+hbej=HR)PR9q?~ZL(bq~97p?~zu@*z=Sf7MZ;p#@DQtYO zouA1ha}NM3+`katp|qd>^z$z7uY088E(r2yd&z)%bm@RP>w=M0jiB1P(FZI^vuKtu zE&hK8U1mmO%0ibptpYe%**hmOMGyV8bcVLJ zu1sy98`Rv)le1fjS_b!8ladm*x7jGpChP2-Eg?orVtSSX>2-QXEB^z?|3PThQ;%Qw zX%mOZVn%LzLtv?z`QowlQ#O@W2OHkyQPF&l5EfHI^tSnZbyjBm&P)FwHiDe^MxT$R zE^>8te>#H~VAWcm-t9R2zBq1Ws5X f@fLx)z0+At$+z=yF%|!rL7=UnuU@BW^Zx$;a&(@F literal 0 HcmV?d00001 diff --git a/attachments/1540102.png b/attachments/1540102.png new file mode 100644 index 0000000000000000000000000000000000000000..b3b3ca1c50e9c5c0700d0fa5f84eab1fa6acc1dc GIT binary patch literal 53147 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 literal 0 HcmV?d00001 diff --git a/attachments/1540121.png b/attachments/1540121.png new file mode 100644 index 0000000000000000000000000000000000000000..0a6d6bfe486bb370c6fd1454d2ee2d818010c559 GIT binary patch literal 506254 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 z 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

u?hd)=eGY}me=nEAZv0eklssB)X_$Pd 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 v82>v;{Gaq&ldxFTN!_?NV}!q+NMqrm?UB7&Zz literal 0 HcmV?d00001 diff --git a/attachments/1540122.png b/attachments/1540122.png new file mode 100644 index 0000000000000000000000000000000000000000..0a6d6bfe486bb370c6fd1454d2ee2d818010c559 GIT binary patch literal 506254 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 z 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

-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 z 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�TOlnAI5yil^K(t#g)7u znKJH^silnhn~J-(yOUTIU25eO_E`Y;>|2wd@nW%0aO>hVC;6K@Ca;0S)2+Y>6Kgz* zT&pUoF6iKd3wLE>NbCH~mdgQ>zsjm|_4Q)#8+u3o;O4I%(8doiGE3o!R#_Wc z`>$Y1gy^?TqaHssIxTIaXPu;&JSt6?jAhy|UK?f~-KQ*tP0XIzjpXxj0V=8ALi$q7 z#4#!CFN;lXq{+vxSHqdGR9Ym@2(P+=)jY4ZCsA4*v?*N&iqN#So&s?frsE@%N-gN) zI6D_I`n7yK*Vj-Bf*L161>TUuO@LJSXBZaJIsmKlC5@vtX4XKsJV0N5-I9Ej50QmW zm{rc`An3FMM53BH9tX*nNwl+qD<<~q>B%KT3NR_lnS##4$XVV&I*9l|PaS&UN*Fu> z6T0PuWeras9zJ}{k)frLh*9!i@x)mF+`R-r$O?cBn@G?93B|G-Da3}4-_ zhT#12aNV+YHG0!C^R5vJj)IixI-Jr{)BC+p!zUAZsW+e@HxwR?f|@zjfoVme?!WUG zF~E8C)n+xB;fCN(38QM&GfvBa=-sF4nPj}ols{qy6&$Df?$3&X(_zlk_|Z?PC>~h& z$s-0Tl}$5Gp3}4QHhesfAKb66S_En6Dc9+{kAGmKQ^-h9Ll0rNmGjt3<>H};(hqfw z&hS@EP{prt5@H~Fx35KEPV&Bj<75(LRXcar0vXM@sooaOP#aC&G86*4)-!Gie zsH8>Td^T`9)9mX;h^XF+U7qE`1~(r>AMkc*!k2W78Xu2UXGaad?f{eUFmQY7d(&%n zBv<87tNp@IN3ZN*^~}3jU=bHK&}w@RZF(3)29l~mysDyi8AJO&gNxtKN&?yg^j|oM zx{GCtz53(}YQKEAiXwDrq@m->(b)CX2fG^o{&`MN)zGGDXvyxwH^se{h1kAdZjN<;!cLQCB3gRvx+R{o#lG(nNWKzJN%h3Zqtf^ZF7`;E>J{Pa7}?! z#&qb{zC25Cpcy=TN+p#b&M$>i5X6qFiTX&|{c{p3lqg@?vPCFDQhu-#`^6;A z>}29waI0b1FS)rny(Mack3pRe=u9)_^Q6iaLPfdq=}d;-^4ks;JL{&SbTHq`?1mWi*HCAr z<)XwXXj^U*YF{vp2H8U6bHCi2D(evtn(0I{Ox5LaesFQ6Cqb!ASt;PNgtT;M} zd~~X@0&k`v{^TE2&ab|+^rYY*+iv+p+o$^__Tt#^SNjaDW8g|Ie&>&zqbE5BL4==6 zlSD_CF7ATZC2zN(69@G&HRFfVwvriVPbaN{{0fd)vQV@;aZG|_2JeI| zN?L?TVoH&N>k;uF1*{IY(+5Dh?;8Ry1#jH@f?t?T*r#av`Ol?T0xbc1rS}@q1?Ja1 zx9Zt`$8dUMlKuWWdNa!t!6%$b#w12}oDG4Y@|HIFZdO%|VU6UHU1leLvL@+D0rU_N zz%!~53*tGQyt`EX_Ko@X87qaTBpcjMc45HvHtK;~$yH(oVq*JMJ}c38w%0A%(D{&Y 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%0DOFnDw+_E2L6S^QzOj@pi+PR+ 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 z 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 z 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 z≪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�cBmQnB*@&CygCc3dYb^DF$PJ zRSs@czE-UT?UL`(1Tg4;C7qNVyRycThjCJH%|q!9QK%A`RI3 z;F1AB3l~J(?GHbLXzh#|UyYCC){`++IH*@e(EFKI1kS-mcaZ6g^qgKG=>-#?3G<9A zNDcRoREO#5;K9$tfI=xlPH?n!uM268A4(M{gf z2J{B3p{|W7sSxCgMceznrOC%}t5n?or_a8F$rZC_Lf`^u&y;aJ1oNZJL^HJ)>f!qx zUC7n`YVPY90E@j?o2$K3=#Y7V*p%XJ)Z=oGo({up?OhhDG^npj-=kD&B#3CQF_=Oa;#$lvyg|-X%w3KZMCfas!i6`-#5mmE4 zs-q@^0z`W26Im+cb)I~1b|AyBmRfczHqqrxO-}5AllEA8BRLJm=y^il`yef%1FgA~ z2QI16B+haC0g?Q|duhH*r<(*u#J`)-FV`b|W`*S~$R>WDlC|HX8O_oKa@Q3W>{LlO zJPrf}$*?*;~uxT<>gc0$ zcxvK{P8m|pGs|%{fU6|BJ-%Dvil+tj>NY1qDkiDw$D3p}tH?9B6NT9Zm6>ZO__%P! zws^_BnE636jG;0L{cPsTe-xc{Sd(oOhv^y}qXg+3B@Ke4NGTyPx<-Qt(jlD+qXyC~ z%^2OCqoqa(A`L1kAf?~?{j+~}U5n>E&pE$y-zjO=Lb~-wP*2+bM5qs zIe66zF9zx@%0*tVjB6NqpB;75!jD`^ZR#~{v5P8ytbz? z#Se~<_&u0fOixas*!SqiM)BVR#7#V`YJlzXbl^~&kYo0gBFe7NlITejB{iV>Bb}S@ z#l?==Toe)1fldOzP7SllfJ67uk8{M>RSc8{wI=47a2ccYK8#hPwvHZ*5 zW^OF=eY@n2{isKPSYLyDp6@zKOS*?-x$xW(B+05&%0LjMp3$jV>oc?^9 zIMb0+Ly%L$ZR=Z0w{Fk2FR(LC-eN>5FA&E<$C<2^V8{QG%@=<5MmpSDQ}N!jFHFED zo1D>c5FRE~TN)l=gQ>J-cZ|Fon}YX4k*5Zvdbg(iHcg6%Jd-~S;VVe;1}-Wg8+iE_ z9BNqU^MQZ}9+>4m>M*OT{9@oPsK-TD&ZlKSyH}N% zxcD`Z771CQucQs4dxTpBXIFKZdTAhsP;De;6hDVp`@?v8W4(b}OX4`7zJ-;qq43aO z;tdC?u3koO4xkDi(*;$iUb{xa8m&MGmYSEkOHNZqk5XDQ9=HftcnAj#u6S{}_JSX6 z#fzeEF6cLGFl#iCu+UC7Dd&?zV4puGueYU!Z~}&JK=e%U{c9OqtU zH(NrlDO@m)M20+AroRNWI%^VH*r;ep4ky26|Lrj`W+e*y$B16Q5h}rFMbHYYl8zfZ zMNGDC<^Jlqk{Q&J#CI6hvVtUcMzaXE)Fn9sJzH7*{xPn9-)Y!H(tKS{y1ky zv_jsh&4C8H;8E|nL5s|Fc8H6^7^&6|zQR)JpN{8qMySA*t_{9{PS1fI8K<~s{nxRTUR3NG#5g z8|`h=x!HyS%T3O>fv$x-b>bQ^nRs_Z!ynUiKTLRFNPaU1NNC}?;;u~!?$NAW3a zmq7ELISJ-?8=U@tHQp7ZI+TatFqp)wJiYTlWlH7XX%B?s#CiyI@H>W-^DO0Mxh@OT z;S01k>2fm)m46W0`{0oYt(0_bn0R_rTcf-??}qbKcQ_--?C%Na{J?muK>pF)-A?fV zaE$r~Y!7(uC{N*{DfJ5nKH zM9>NZ=`-TH9v`2YOyjyTDo_8L zPp0A?;RSh{k-aP_6BogVw<)mXqMO-cjyIIaW@NzaY!o(n$x!j;BzDa;&diPAeAb1g zn#sB5K{!9inZTgUu>utmMNHsIf~y6x-p0nb%yO!Can>ZtG|!qh*h=SEJm_M%4=IN&wJ#c z#5RJD$kmw;oIw1wtkksjJ*Sxx1=40Bx!h#P>;bLz_h%IlM1N|26#n z4;E>_P`E-{X^6SDi-F+>>I%rkIJoM!I*!AVubJSW!;CRyFfLa5{fMc8b%r7b9!2T&sKTDrSS_s%-}kdVQKsRoNC{7Utwh#F$4^_F(~ zqzY%TT-zR6WAi^_T?6}CR}#V zNNWX%$iskCQI*@jd2ul))9QES%chB=S|!XP&&POF@XfvP7hC`CC)Z1hdJQF*E^sN9 zoMtFi(mpf+YE@*gMT1^tks;z4{TuH}tP02j=mBWxY?i|J@ssG4OTrZ6p~)kh198(I z9GZ-{I)UdoSu|gC&BiuaPl3184*u9>bT|f4w8sMfVYLQO=_bwWWl5amyF6 zdu8=w4yIMcwI-RC@0mCWb8;g#RM;E4R=761Ff z>8>ABcN602BdenmpKykZF;PPR@5kd+WfZ9Yk!Gm-SjOy57D@A(YOXc66fIRTm@G_t43N8rld>e#LJ_k zt3xfv6OjLkv%m3yN5c$roTT{&g_i|E-CCtsSRLM)YRWGYj-vI8JX%^CxIl!qHkg7h z%>{P8uNrd*UTH6K8nx4*j|DZEA+x7|XvAeP%$?(Fg)AzQ?<>yu&yVT8CPHPJ~LekRd1V;Re=$mToixn( zX<$3I2KtnvyTv+l;onJf*l2 z?+X9_t|S9-`o>y1KzStgkn{uiF1E*Nh&9b+%RbMC+0oKrZZK!_{fh8r{qs%o_9jR) z8IS(>UM21b38Fm4y!x973-vdOc(hqd8PT)gzr ztNegECN7Ou?{_NrEx=A!Tn%~gs%1g!ChI+^61ZchC>2%!`mnDu+5xu}cK=#dYb(MI zad2qlXKs5C-lj|I7BNAF(ESR_DyiV!c2^rm(qfM@CD=ug#i__SCx{c+K>2|Y88;QW zUX3|+ug!}^qt!jD&Qd`xcakq_2;0HSwB054)8DME$PmpcBmyEOMUiY*YyxwH)NKOQtv$C`&|K6y_ zzhAYs$GqTHK`ccG2?r#I0}rB>LNL87|*81^yGiZn{o7w+K&^6fWvP`n?gN=K<2{ zGQtjO^@(Qd|Adwj=5w!Y*Frf>8Wb$!1_xfW&3<7!O*<_Al|vgGD;?7QxuBP$X~uTq zE>X`wsH-u1+IbMqr^#zq;TCJ_Yi8LC&Cz`TCZi9h7pZ4P%{>*LH*>sa<2rELqr}-g z-LGT#UrN@7M{TpA2!5v2iy$=vJ|W+5a;LNq8iJHoP%0Z2nG_VEU?%%&yX3eYU>O_Q zEUQwrjRO3$%`2)&$kRbFoU zW|MSR4uRAOxv0v^TVnbiB;4=uNzqf6oZ}M}2;chvcFFj^;Wk6;#~{_w?HYx@vv9Fh znn4x3G`fenF~3PM+%xed22TR>vC?$kY) zJKnFfiXnzTqmEnK2CCrI>M)=u_gSyG%dDx%tf`b>+5OwIz)?NujaT4)zM29BS^4`7sF7g;)0lJ}-4`YuIs9Kz&Ny5Z&e!|GhX&$bu^EB zIMOIR|7BE6%54Hn-c@70xRc8142gT`Dil#w>WQrLD{3LYK`*E>7ht2df#uCJc#~s$ z{$4G16M5T8G7-X;8cj|)K50E?r9c9wE5_+AQ3FFx2*!^qLT@_4UkiuhiqJ?962s{r z%wlKnb1nyx-lx-R`vJ*uTG4nh^r$q{kDnkhROhK3MzrxXZ3>0nUL(?8e8p}FCt?8R z7R8aJ=dnwy_pT|}gD&)RuU_AS?@V@P>PLY!4wYtx*0beTzYkNzWR~KNM9>L;N8d;6 zpCx-cX&PvMDCtmf5ix;k897XXE6J_}dce0<)l7LIE{mD6)hKruai$kLPwu;7vpOwo zxVj;v6Qop+1;ul~ZW+v?GqPBa!C7m^8&4Avd;ry&REc4z8=1&@^r5;vV*+>_sDWOR zL}}R?e>7dlMErg^o|o*DCdp}JP_clhY7V#iWbnfVZGb6u&*Y{duOFZ1Vf>T^fOoK< zBn%D$W->P0s=8%q6{VE+k}ra$im&|zGSwYNi|p2SvfY0!3m!dod?Gw8fNgS98=+!Mh4 z6~!|jR>T^Fv>h>HUacpY`oOQPnjaKKxo3xo31wxI=fi{hs!XBC6@LXuFo6(fzFcqm z+Q=ZmDg2l9MXR2xjb*&MNPF(hbo+vhG=IE~Rf#=zKC2!Tji^I7=>u=6*~mt0wh)kWNPJ1%p%qVyGoU8t%LB>c0Fr zp}UF`TkIO%N&$#!rXWSBPlgMJ>ORu3ivr^lnS!rPOcB)I49J9_O&sn&WdouKxbw7CB8P=J|L#$c#T)X~OJU@3djja6Kug zLCpx~Z^V-aq?{j<@^BFWeK}cBKdC=r8;6zySN_pfjNS@|K8h=!&o`8Kqab01ullF} zvl%B_OtWTxw8wf9i=-3F9=%-6tnbVEbKFp}6wRqWr!-&AE`v$4hN{#@lrL=ppT4aESdAWKk9?47l2#ui^)tmu5kk|a zB9rkhp9ZgwtUQ>Kdz?2wwooP#4vmk3y!a62DKwF*cnIJdX`ZT<`vD_bQ32AbM&c^? zj8!&J`T8*l*G?=n2SS}pXoS?uR2SB~imNRd<;?G>B$H%@%SBcjqh+3oYE&DM$;Flx z5SOoRvTTtp=(Mm7eXiD!z$}rZe{!EWa2t2SjyyF?+I%5$@wjR6cB=T>M{??M#TF4f zcuyN|z$-m^wTl9G_c~z`41%5#c`qyi7pIDQB7e( zA#?4#?i+*w8F|^7?=iGafq#t$>NbgP?LG(g=*6E06s3;_sO#1;a+Xp4; z5<$=xjX)%I<<)#SeF=VzSS2vu@Jv4g;-2ik>E@Q`r5WI_K_%QN#%=SPN~svu-Gs1g z)buCIrEerKZB1AEDpVE6rdh@QYakbvqg=Cmz+ctH_5xZL!CxaVZ47p*0GEFRSJIhr z^H8L9Xo35+I##E?>h5d_GE?(fPaJM>$Rk*wI8d|Nk-03rNvSmrJx|pr?EfitBt4HN z%0|ChRZA)q(+Vmf!k!Gb(Gl0pUg~gfHR|CuQxAT82$!VUt`X(1gd-fZ2+=$k@$}ah z_y~__1DlO9&MaN%gD{uO-jMmx@{62Kk(8I>|P=zt~OR zq*N?x#dZ+ck#kvFmqd1gVbmX}B)297GeM>7KxOI0oigl7gZwwqnTq%N3LdAXa-KLtXyCeUXh-{d*rRgVajkSc!kUvYLEWe=9 z$+vaH`M=l0sy<=gx;#13!E&XQV~)<@N;PzgQ`Xiu`(m~bz~Lw;dBjSR|B0O_WwfZ>6DXg>&B70D5oC7FGETi`~psmMv6$%yy@t>K)+m>phePQ6h$rNH!iXel;`% z9T)`^>tn~{tS1U=_1sNhm0GD$h@jdoNaYVxK;s_@El8Id@I)NQ`qew@)KhdOLJ8VB zyLI;8zR!;^(Xg1kXnXSc^Z6G_Ryo$+yH^*<=IrZdNEU)K@lX%xDAV>9%X5i5f8&zI z2Qo=v^}cTBu|0S39dGolo1FzLC9;GVk{Vs*jY>b@%rEc1&w#-vn~;R9J>-yFTm(yu zHE{jb%aO7uP&CezwWuhlom~5WjXy`xAV*9ugLT$K9kdXMf8q=|nl(H~V!{KQRsn}J=qCK?JrZ0kuNZZRSt#8TxU z?K=*_s{M_ZG|vax-z=v!;LWU6Rak8rq;44y=jr;tbZjDUi>F%$S|w(HfDpH<;ex721} z3};gbA_>}x4?!CNSIs{tB=wQq5nGUf>L{)YCeH)BHz86f2B( zr=E0{-Q<_yIet8rhvQTnM6|P_Ov3yF7*#@>0@4d2>ad{He16SMVa-jpWj(gdrP#Ba zEElS3&4VpYtJk}&fP4H|Z^9sZWkAJU@qb?|8_2T}!uheF_P8W%_D zZ3KxvZHR6v8N;%I{Cz0?G|S5FyAn8sZ9B!w0k}#_{y4@~7UCxR@jTiaKdyufJs(Ra z_v=e9&b#1Lks5nzOAQ@I32HgnrJ)uI3AkWMSeYeb+D|Ouj zHkOT3BVz3{yr6o6G0w`pT3HRT$G=`mGSNNn74XS`W&erf&;6ja2}E6$8`FMu3UMC& zn|O9ZV+!Dxvz>vc5C9fP7YRH`g8KQKBr%cd@zv-o)TB*#WHuT-z7s(IydA%+%=KA- zYZ1<`=~;xc*8g@GkKF8?avNh|iWzp$@s7pVpMpymgnqWQt`>UXw@0Su$uva6@B81afIQzd?hpLi0ldOhdeMiQN zHyiQ0BgA9q_4TcSv%5b<^y+wT=0{k}r%)D*=#Euu6yy=A&jI?y#ChUsKJELE`gaXN zO#t#_H;ld&^tMAf*&9H8`3sn zL7qbodr!YBHT7*~oy`e>d^udg7i+NrkWAYVpWBkX;|Jr-QOP!!_wma*=g{R?3Tay| zuQTGpi!8alw)~%|&u@$IR>3)XLy8{M*pi8`%Gi zNr@{R%juFH*~VfG4D?$1`Am}`*_mLi$rwD)-|%NX$B#wrG|G=IG-%ty(hHUEr$0QX z#wh%5S!uka#F(EF<0-evQ00y!WdBQ-)r@qDXp#Zh6IbqC*7s~^B;kkzg0hUgs`>@* zdS3b~soj2FVY$;Pq~9Zy%KYKXkLa%>inN0v)B|x~q`j6zAw6RhZkKKw^~L4bqrYfP zm;c>Vp2S2X9}uotv-T60(miPD9wvQhjm0;H@0h7(GQV>E zoe`%#T+u9544N-#T+rJi;HKd_BU3`O2UX=}?1?!xjgWg8u8X%w>($Rj@6)olkL!Km zyeJAA!v9bykF{b)OuF7WbNZ5&r5Ps3BI~;C&PgCHE>k|{2%xcW7S}qa!+8cIT&oW! zIqD@3%9wn@n*?ZX$j0-H)@-N2g1M86(|g(a&tBE&XncpDnk;=g3WDCZu@jazy{>T# zEIOJo_-r_5M{#6xr^wVkXA@onKsBg@+Qq-W_1?Pr+I=+UPxsx>P$!jF{Znz8bL5$I-Z7dA(pucS_C4QNGQ zIGU_-154Jdm(*<)V+Hz^$p;P~$!)4}1T-Aq>O1-AUFesa#*^?*zhw5+(pc;DFk2^F z=|?RM>_q$B2`T<=C=BO6seI@!MTEd#NtQW=`VPH8bI)|}*(ljYfwfpfXE+j-fa;U^ ztdejf+4p!%&euMCE&0ZFwK+qsl9ByWmJUV}kF;HZe$)Kf#CoZs^J2-ykr!IITTUOr=IIh5Y*nT2cE}Kf0SpUT+cZ1 zHd0LjSg)~xRwZixgaJNaySfZvC1!e%kM-kJWSv$FL6irBqG&Z8EiatA(R~zbjnIKo zE8f^3)Xj+uj@~#WyiloS1QdDWIRy^r{^f+qFN19#2S3yuE)*F`E#=O#nHRkSS9gMp z;+c0=)+UbMRo&Ef#MY`OA%3AoKFSL;#OPcFnf0UEcHg(@_0bIT&hIBFe!>XTPCr7A zo>IiJh$PEfW4?tr&0L%-KRlaeRpyL%n3mgGS*5fQkV=m(3CGT)`!TVC`u7R;Fi96m zLPv=nOr>MHoyY#H5oyPb$n@(Tj?bDxrF^w}y`3393apL!H)cFEiq}CR+hu zikHJghVGj&gJvMsw!;=3Rx%-}7@(vBh$<%O^qOt(D%=mWhb(~}jPKI8kV!09jv$T<6OyA?03 z&vT)ddcjeUO|6e%<)5&`W|&gibyRek9V5-MY?tu!xJzP`1-abK5PR*lb!xf)i?Sd6 ze}-PS^pP$SFwdgxDn0BZ6{!$!_&1(epgXBudIe6*YJp{iS6$DY*CB5d$Tjt&&7Zvm zMY!QFau`Jol2?@(yIy?R71bySfGX8FeDaQu`>0Wdt$=cg^NQlve5sHG(jAT(mKK+7 z86Vue4M{q@weFcJbhb~eEC<{@wk#~M zzxDIXKQhk|Gfr*ldD>M|Oq6azBN>?PyEb7)R?=)w_d(t@9C;*P)AZ5Rr_IDc*SJ4_ z`glb4nXMUs&M?}c(Y&J_X2VJI`vW~(&=WGz%ViZ9|KTR)2ttftWusW$=0-JW`s%6E zHvursM~0M-ou`dBec4RGsQ_6c!Z{a-9XlQ|g^JCi#ofR>-mYCx8Gx4eh#GCXYX>rU z@V#`Bck@;Q7XO6D8dm;XKttbO*9_IYV8t5eaGdk`r*x{=5E22?AB-sjvK=;vo@ut= z;9hMzOjWXAm%Q+I_qTRV@}`$}0qY;;!KO{Tak(jEt1Ces8bOe_F2Lao9vY3Z{S=1h z#OQSO2M%ZhvAdc&8MCwCA8iR9j^Vn_ui_&B5`*n<8a+A*hyZO`N*1lU_}?2N%HLqO zBjy3uLkujni`yEJ-r`GhhK0Ei(-_LeWz%K_dO6fH%i`!X0`ur&g7YbewoFn3A-Z)X zWgzuzE>&b*xfk-GC1Zg5z5n8Ko2hqDLRg#;f}+@GR3__aGs#konaQ0CpMBdqHN zDP#>Q?$c}F-PR~tDavJtG4(sbl2yHDNcSPTGF$${Pr~5bhG7&H(jAv>jC$Uam|^%r z@b%_S`!}LQklmZb5j*%jHyXz@!I@u1o7fDGqLa)9^PcsWS&9dH(RV4gygmMDZvNI1 zTJwYji)=e#9m#==C4m#kDqkie-Q+YSDZv(qc)0{1&Erxi*CR8O;ubNAh!lz@jE7-T zxkZeDp|KsR`C^3E+Vpyo_qCESxCFobMqsa|!8_;KAH(-S=J`R)e%y0tww}D4}w~i5c zvNQ`}7S!eY<|0L02>gyR9EQ)pg$%3_rE~x1xcg5^(T~?z0n`GWFzu zl80ihdF1WgJM*?@+KOuSPoTe5AF2`#plUzQpn%D^c?h(`6kxigUi3=t1-hl%xr`;< zwjy_zF2L_hcSh1!wEfu<@T32MfEf?ILFcyhPZ$iYs|NbZj_xF*-*f=dy7xfKF|_^i zZ3;}D3$PPC0)TfUZkN^$7<=M8psTW=S$OeM<%ctrIOUSmiDHJpUF9J1GWxFqqK70` zY9WM7O6a;pcO^Q!3FXOQCj_##YZ4_0y!Dxvy?M`ZidaTA*^z=NszhqH8>*ZdZKXcHw4Gz<;7 zWvSbKG{Z`&ItAct0FLN*8gRV33IP6-NscB&eQ($>J?>k;qwyA^dS-Cibx-t@pl^$& z|3vy$#bJ5|@5u&Bh|l2dPfV(e!o~)1c z*I|}|Z+5f7yg^uP$4_L-8;pVXxIw1_zxtCEi+sO&)?k|$`D%%HvUeu?rh zyslJI;Tkphm6J?0{S?T&gv8(ZM$k_!Ir*8GbwQNI>%TGC%C5J9q;-U@E?geYQklZy*7c-Qjn9E5&K0_Gl3)8z$j4_wQHj(EVp_=Z*RY>9<|qSq^)!9z2>zz{dZXw~v~7pega(goYHN%_t6@j>W~LKtpz zob0e>PbZ@zhA}0KNy>ws7y^nym?9!S{^@1~fy|*`7NTdcXTg=eEiT^ z2MJjo;aU5iYJvkuQZ$D=d~+e|X1qJ@f}7C^oT7G6UYN%KP{84%(}=u?9mdw&c;OC| z5N$@>Mf%0>mr_LVd@=z3VQjOZ3UT8>oIR~q0)&`Q`6`nIj)JZ;8)#lg@%tnwz*V<_ z0yiusa4DI#7)ydzYXr14Ox9qmnw~(2VrgM%Ma$wv1w?zM&)Xl8*cS9VLwI{gWFm|1 zDdcZFwJ?}x?B#dszDAQypUR0XJm;UpH%D9Q$cb6#YmVB_+5_b^4$euVb`PFX-#kd z<=@Ht{f)E&V_Xgm1hmodrOg6lhTTq$evSe$DpNp-QlF#^A_$l-F47>6e%p8KLQl5NH!tg8^cvCJ}d!>0C z%_uMK!>`)p3^J_0Iqj8z8}GasTM7Py^buO25a{BgwAHNgNuj$3|J3C!!K1Serx`5h z$xs=>Y?j40b-I=nH6nOLsbXvjJ8c#Y)|ZjFN|)WBg@37He^|UOKifbzi~SZJaW$Rp z2y=4fqP!ep{&tAu63rVVFS~))a9R+CVKs9ue6K0@+wwDgg>7COes+N3Q4H$3f0DW< zK$L&StJaGh9%XscMxVx`3h35m>@1?!m4=-jZUpe|Ur+ne)C}a-m!uUCn!#;BuNOmqj?;wDi|mX&Z&&0DliwJ6swY zKzn4_S;FGw>PF`H;k!IjJ%zdHwp@};&&1j|jYuPfe14kr2sh^F zTZpeyK{YOaWF9T=KDETNwesucV;f}x9DsWs&-k^Z-XMY8ZzFC#(^S}?NrEnxiS0DP zcB_>;S4}O6#|)2DlsGnK-Tf|lvId?}R%+;K3^_K#`U6Yj^eJ zGVf~n!2^IRaxxln@E${sJgvhdpBSF4_zmTpbvGwHBA_2-0d64D`3$adQgiLgPV#H^ z@(A-iS>EL>834Jq0rty8-#-v~Auv~f6Lo420ew~H zv87+5aM+nk^sJK!!*T;>3nr5Dy%y{w&jz+y!{z0Z-$k@z+0Pmg{Ld$kA=q$1^8aSt zPD-%AA4CD zS@V46d4y&<)S%ci-DTm*Da8ANNZ*?0l<1#n9t|+|qLZet{s;l{#0*_^f!b+I;^DuP z55F=i?p_-9PQpJfxGY|D9IsjU!dg)hs`_c<-1JrHBuf(+8Abx4CW0oO+)ltVYD=l8 zt~-rw3D_Fi_aJacC!t$UG+>(qc8Y{xh`N^o)h{PnBrJ1ZHfTMnq#H+j5|0C^o>U^M z4{rEql1_CaB0li_G-W8`KOuWh1J1SI@Vg0sB}$Kt8)H&KL|cXjGE|MJ+Tj>Lxgt+Z zVf*!+8_;~mKF#1&tM+*V?*)B7FeC0yz-1-E>_&htc}vR}#oOL`Y5YRiK@!^g1%Hr)YFs!tT2bLEd!@p#FeK`9EXgVjP+Q)3_4ylue*VB#!B4U9 z-|0{C?1m@rl?tx}i`QQ{DXgATgREXM3aYIWGMsbtke&Tp2w8dFrqgKo%Hw;G5A~pw zyk@PL9qHl4>+srJNv=Z~4PLHLBF%^D29@Ddt*VFW*FM^wa9zICtjtbOSq&iX>lY77 z6a?Xo7}SU3N9*2YKfl}V#ZPk8#(-T(qU(1Tv=P}VY|&)WmgJI?C~Fd}APyUv&ciko zguZ(p#QG_)?I;gTlz(=^3HaOqlKl6t)NFz~?r~v)Gn2iwQ>Y)#T|k=U9iyHfVvyi4 zANG1m=`foVKx9+T6#Rxh=jQT4_&O&2B?hj-A{>sCsC2j(+*fuZ`d>qbQC}wPTyV1i z&;y?K4Fb2!w=<}5=JC%5Db3$BA5QDM>6roMiqZl2K#apYLyj^nk}%}KQ<=O4H7QLmD3 ztyo_7J&Jtm8}wS?$67lfE(y}!nqic(Bur- zuC(JWzRqF9tlM4CvN_{)e!lw5%5dUMk6$+jGqa5iX0x*-|3ZD;t!0%Uw|e$7G`*`w zz~|{lj3wY3EOZ-Jox;+v*)=lloj&BBh|hAs2Yu?fb`cixGTxl=w_#zjP^wYL*5>P1 z0UT&EeJ|mJRZxKg>ME!!iVKmcUS|dA#!aLfG$Ltq2V_Q$D1h1cJW)}*cvhcD!qvwr zM;*v*n?S>x)Q@?N^QYZ~W<3RG{fzhgmR;peP#YH?3Sy_=iavwTppe@8(XGR?(A2J5 z4*$#O$}mtJzE44}kLMw{$8R(Hq+M*C9ML2D>9u|J{msjRrOo^-|6)YVJr2TsY&=I{ zXc@whc@m0rJktn170i%8vT`6Kzr84P1mex6O`U+q4f?-XClP=kA*5d=z-)b}KQ2G- zN);l=H)O_#Nfa8B<_ zE{huiJNowY-ij+B$jsK+MLpZ-T2R{YvrnrA!j+^tkI<~7D^2oAi?!nna8S}WQ>%&* ze1;e@n`tcw5bO2CHT9#jNu(CWMlCW49)r~Qmc8D!xt0^I-IO>FxJnaFPy)&C$ zZd%kn{m@v)w`m4vnOGwj@a!??>dD0`Wn(JAq z&WvXHjgX%MmAF!71kUToXckb(w7z?3rbxKEKog`Kl$I!ZUcMUp#+`VW7QJSi>U*>_!IQ`s4?vwrS#6=ib1sP~?@R|!LN?IfO1ndpU;S25Bde@I?P^ij zVE{aNTKBAfi5`c*OdW|uTSG$6&pCyv%pyQPe+heW@^haokZ@{^Q+E*(JP8H9Z`MI$ zP~#~}>l1iZ=-{i)aY(R`LtH#;Opf1P6!UkcmKmabja_02h9V>FV)(Ub1zje7O{AH$ z+9v>Oiw~(HP9v{y(++T})DYdK-}u0-@N|k%~fdQVnEuo zw^I6mOmEiTx2Fe}4RC=#XoL(QKuE-_1CAZ+v53$8Kdgw8NPh7z$4Lx3uUT94aCuhc z=Qa23G&_`9qZeP%M>UKwj_pJwcfvm>`c4*&g{U{_uC30u;Rh6~2PO%2vh*NMFm2aF zgYvBi<#Nz~6O|kV{5}fymLeqdYu_#q!qJ`yf^x_RJ|CczD(a4Skhj;3owxSnQsF3bPn@^?vU%2f4gC{3^QTtD32AsmuV z2z*KA`}nh+W6ESLfNky)^<=*;^TSOR*5WI_fUVEmM~x58#y<7FaEeAE`*VK171kyd zggZ0?Yv1l>K#p-cg6mI9N|DfOq2e=TVpmxGp0da!Yq+Pql6n8hkg6>K=EoJl?wQEA zzf{s&?fE>AwVCoJ;-Qn%I77(Oe{NBQQ_)XW>4JiB=xqvCo^E6JXQ{^&AMDKw_n#zj z{&|c}DjR5u%71ay`dT*Y$Zyq~*Y(Lst=znU-=sdV8^VvKRvq1%#_cv?g=^Ys1NebU z(S@~>0|X4+rpVK8v3Aj9e!Gy`Vk~t+c{kKPY2YVcsJy^Z@b5rzGPO1u$?jY|1f$3_ zDIi>*bA%U;LTW~NGoQalY1jC<8HFL;^`-U)kl9KLMQ&2M89puEg7S)(JMJ047s7+> zr29d07=^LH&{`T-3v0Vf8Rbg2>_2WfJVw!fOfo{YqTDrL^-XeFPPC{_Ce&jx#;-GS zTGCG+0OwUOr}Tk}^!^>gRj1-fr{cP=J^0G%TW&zMi<9q0wkI!QbMv(?{Y+mc@^6e; z{jc3*pHdGe4YTJIl7$S;k7MVft+pW^;VjAPh(_#DdYfC>M}o=y!zZkX57-pf*>)gJ zkQ=f?9#T5OH{e()ES3qwCqvY1+Gm7|TG}22mC8ykSO8!DN*_Vj>+ZCv=7ie_n0N1G zBz@-XBH;|WSV;0`NyH4gmES&gn6cjDEK1p%Vq05FFBr>{=x-nl2!T+a4%B4mQg|CM zR<7OvwF_cgjSJxcnm8Bj$jSA=2`jo7vH;2nMIz?M2~BGm49Wh8AI89~L#z zKxpSZ&P+**QX*rtFX0G^o`5PIc7Yxr$FWL)onsjS)XYDntQ>AqvDw(B%h@&n*2xYE zeehoW3cU2{2x?=I2!24ycvH7FLsDM)5@VdRY?@7w*aCLkrooDOT0YCkZmCyTQ*95g zo7AeCdd6@3k+!(*WbhGAqdQnhDj}m3>;GkQo(yeB*LyzW1SG^4$a~ju zRGFr#vE`!bGQRbsO=fW6kqTr^NLFVANs=ub_oFI5P4)+{rU8A+H~Z@A!D&=UdJ$?h zqSn{lD5G=K>5E<3@cjCa3J=v~z_bKypJ-eXWRzYXSD>LcT{*cInSRF_&z_0hmW z^F&S_V~<~o*!Lp!;Ic+6NN{J*7YnDQ_sAowS2T{zM<0R0ArrpG0Z2sx2+^@;gIS@h z5P1T`8J2EXci~_IhdSHuBX*Ht;o7TD+?s`y<3WnhXtn0;K3nK#LZG*i$A>j;7Y25+ z0v>>T%U#^sO2UwRis8tt4f>NWpM)v+jBzk5p6(CXXhG31_`NTHR-e0 z5N8tMuoOS4k-wY>%PUi<$NOX{M+|~gQfw*4%bE@NQbMvVR%yd1D`E#mr?-rcogY(_ zT&&OB*3sigf!h(k)hPSy6-v;>JlQRzEf6K4Vxc2BNv?EHHT`TI9AH#}Yr9EKt?kbh zc$*CVG0emIeRuPO{rn^AyQa`HHZ!rRI6R@>So05|U#^~$%#-h^g5z;iMX1&QR#W0F zlDu($Ox7$%ovMVwvy4Y1BTyf5^j>o|ch2v-xr&!7@21LB3xrar;NoBuX(~H9f1y{E_Dew?HbBj6ktPjxaVZ3-e@-ew}i43#O6Gn{N1n zejJ?lY)CkFkql&(Bl@AR@-v?JIibP!;f4S@3V^on_zDYhd$u)qAl^Ich*LNdt++}T z;52we@b5BZw#kYG9}{dlt@!EF4YdIw&DKGzTp_cc0>f#*BfBoTN1QUjB93F%D@U!~ zlxJ0~i7lgFhL$;Or-d0n2h7d4)7-(N>hje-jk(C0=kj%eIm>k4@zBfkQ^zD9PbN}F zUNm&Xo?03mhZ0P)D)cn<@PNvjaOpnuz@YPArj(RBd7sn?Qpn`)NB>F`z!i#d4!w2( zN+{>;Y5k6-%mRxRUXdQq6FsqpaMg4Ri|}$g@pPa$LMt^sfX|SWPT*(S1f8IidIik* z?2QxI11nOpn4x>-w9x|CI85RWUWjBbBj-GgR-r7EvRY@eRMS zm!o=8G#X{aOnSj?ZtDaUsCF>dda0}K%B{Uo;Egd z;uBmj&|a(>MjdB7Hu5fzgO+N|81W2b0n2(fBx%nu6C0e`won|*X~vU*ESRAbBd;|+ zWh1a`2QcU_U#NT?x8qRGv?#Vi7zrF3@ykh?N)Zn=IWiUKB7t&MjVAtw-MQ9`pukyW z1si}h{kt0bYWD6O&m^nfGZtQJQ5e-vDqE;0o94NzVbpcid0KNp+HcchRF@vcx`bf7 zB=ePq?q!};lSyHh^YVkn0}w*tvr(wHUGK_D$j7*4z1ME9WgS9s@-3`()%%WISN#;+ zhpZKzET7+1{@Nq{IE>Pcm_>vThjt!j;=wZupU56kQTv@%aCS+)L|V(Bwyv%Mi+~1( zU-x0X_T-?qAq3do#svAVB|#z>is^#NUL`5}fzSpV2onMIPON$@l{67x)W+}lqu~#5 z*ZuuTPr^%+8+HF&YmB35W&QFEMe8KD!qO*_2$=eVOV0bagO z3AETiiyKeZMD;yT>yoAMftcAWsrhk;Z9V8iluR`bdceg#@Uf6(4>yZE3EarKjl<%4wjU4XvDNvH?aiYU!oH(iGRs818@cZuVip~=>eEC<0-)KMN zMjCc~P->4wBSnvb@LZ{=&wrRh8p%1DJD529)Ph8RpB4#p$&e^#I|t`o1+N!Ij#tsG zb5YO#1VUiR<+6%@2@s#Y5s|V#=7N~l%NLQ0==+P3AVwB(-T*`Hsn8!&N8g&_if|kXe37~EipO-6s1O^G~4JH0|rPdB1+e2 zVKmaxvC#+u0wM#XafC`YNU9jW=lg$-W3RSXi{svPpVxVQ&YBT`e|%>V?6;RKroog= zJv#cL<3WPWDSr!O%=ZWAT`qJHGQROmujkLn+J9bWBuu^h=qrYjql*7DUvG$PGKhwM zy78n}c6~&0iQZ}KOUhF5v1i|U?cJ{qp?$sk$@nu^;9hO-ZgbnyVe4m8mYsTfke*Ml zw>_d9vosdLOL=jFT=vtAh+G^rFm5mp#K21o*PXa&e-)JSY#_JiQ~F(t*IjkWfxMOY zZ1`Vx;wloJsZ?ijGFJf*6;ud)_1q91iE(-}f;YF{0$sFq!E|8wtwd67Kb_{=Ob^v{Hn!xxOL&K8LULq=(dm zU}3|iMe|Z&>e5OhBBkU0qT_3&7^zl)50~N7b?1?ifnNv;jgtLDuEk5wAD5nsO5YC@ z=lsK;>@axPEVdOD*_g`ptcE(@g)Kw^qndTQ`w>t0!llCjA`PkJtIDe+6K@hf$W}Pa z_jy2;J(!PT4nz;5v`sHW=rAUqb6WH-NSf8B2DJW>Q%`d@$p5fN;vR!aOv+pg!z$(j+Aht^S3lL(* z`-XWT;cwoT3DI6iy=e&MpUjtrt-Yn|qSj1+GOWnS&&4Z$to@2S3aq$}v_Gs0iUf8z zp#rYW5Eoo{3gPen$_j2=<=%)w8dO!@bb;GF^LMk>p{pL#7$cNvVq1b$tzU{EUh0G3 z01Edh>-t0Kps}Pi@}>Ly!P@I-DwIMom5tJ^pJvu`nE5eZ?|=Zmo)x+USIPE{v2ra( zFcnas}8 z8K5O!TePn~f{VW#dq|A?E$icDNSaml?NyVoJMjS^ks5q%83eL~)-~)(`&nvMv{El> z*jo+g(kINLkWzc2Z&?~x-U>qd6JZ%S>>nI93G2U&UIDYUMtiSp^!*?GLmW49Of8FM z@Bb{W%zkB;iyNa}ax!$Oz7+Vlx7zs1|;nHG(_EAgqz z%Xb6<^h^5wP+U#EQ`+^%oZ36)Q@IHT`L?99B)0$fN?HBR`tuhRN9-=}JI5{e)p!3p zEP1qRu^W*Slpb>gH~6jI`oypQJVRKO0|ObTdV6wmsc~}TuYH17v5)u#S9ZyBjOD|m zN?ov&K(30!hnxqR3V_+wz*fTbW5!lh1H~}V@G`s;lSUm!07{=3UZ;J`w*7B3qcUQk z#G<+Wr{^dG&QkCsKy19$r$`dInKJrIMc35=^F%1M;Od!S20pM#xJFn z1}ubYH(-$t&?wKN^!%>gxdI&P85x+hAR=@-)z7*Q^IZNR9(Z{Ki9G_s6Mo%JL~FUW z+wMPLXOCZ#&oot>omO?yAAI(%M3$NS36TuASTU3|&^QvE&NKnsJNItuesF$%Yb2QJ zZr2FriN8QT;`9G7a0tdBL1{nh`UL-5QXEfPG$jp=zthT3(^jv(Wzohd540%?v`2iD zo)Mj6SrpBG%W~N&H@z?7cVzu^OcsFaDVr4c{ee2Kkz6UwOseGJsW7uBr9xVmjRG& z`>j;Q!?_Rp=|2bAe+de|-vR;qqR&ym&@hwX^Jhoi;a5@OH`wl4P+^AykG-|GE$tWF zf<)DiqRg$k~a0G~Ov=;#vo$KIraS4i2w9;8t7>4X)i-I)3== z@Up0)?(SWgBae5T??asf6y(Fas`oaXgfc<>@aJ0LY!DuN{m?i;&Z2A~A^|HpZ~>z% z7nAZxlVDWQq(fZtXtoAEb&n~!k$)94{

u?hd)=eGY}me=nEAZv0eklssB)X_$Pd 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 v82>v;{Gaq&ldxFTN!_?NV}!q+NMqrm?UB7&Zz literal 0 HcmV?d00001 diff --git a/attachments/1540123.png b/attachments/1540123.png new file mode 100644 index 0000000000000000000000000000000000000000..0a6d6bfe486bb370c6fd1454d2ee2d818010c559 GIT binary patch literal 506254 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 z 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

-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 z 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�TOlnAI5yil^K(t#g)7u znKJH^silnhn~J-(yOUTIU25eO_E`Y;>|2wd@nW%0aO>hVC;6K@Ca;0S)2+Y>6Kgz* zT&pUoF6iKd3wLE>NbCH~mdgQ>zsjm|_4Q)#8+u3o;O4I%(8doiGE3o!R#_Wc z`>$Y1gy^?TqaHssIxTIaXPu;&JSt6?jAhy|UK?f~-KQ*tP0XIzjpXxj0V=8ALi$q7 z#4#!CFN;lXq{+vxSHqdGR9Ym@2(P+=)jY4ZCsA4*v?*N&iqN#So&s?frsE@%N-gN) zI6D_I`n7yK*Vj-Bf*L161>TUuO@LJSXBZaJIsmKlC5@vtX4XKsJV0N5-I9Ej50QmW zm{rc`An3FMM53BH9tX*nNwl+qD<<~q>B%KT3NR_lnS##4$XVV&I*9l|PaS&UN*Fu> z6T0PuWeras9zJ}{k)frLh*9!i@x)mF+`R-r$O?cBn@G?93B|G-Da3}4-_ zhT#12aNV+YHG0!C^R5vJj)IixI-Jr{)BC+p!zUAZsW+e@HxwR?f|@zjfoVme?!WUG zF~E8C)n+xB;fCN(38QM&GfvBa=-sF4nPj}ols{qy6&$Df?$3&X(_zlk_|Z?PC>~h& z$s-0Tl}$5Gp3}4QHhesfAKb66S_En6Dc9+{kAGmKQ^-h9Ll0rNmGjt3<>H};(hqfw z&hS@EP{prt5@H~Fx35KEPV&Bj<75(LRXcar0vXM@sooaOP#aC&G86*4)-!Gie zsH8>Td^T`9)9mX;h^XF+U7qE`1~(r>AMkc*!k2W78Xu2UXGaad?f{eUFmQY7d(&%n zBv<87tNp@IN3ZN*^~}3jU=bHK&}w@RZF(3)29l~mysDyi8AJO&gNxtKN&?yg^j|oM zx{GCtz53(}YQKEAiXwDrq@m->(b)CX2fG^o{&`MN)zGGDXvyxwH^se{h1kAdZjN<;!cLQCB3gRvx+R{o#lG(nNWKzJN%h3Zqtf^ZF7`;E>J{Pa7}?! z#&qb{zC25Cpcy=TN+p#b&M$>i5X6qFiTX&|{c{p3lqg@?vPCFDQhu-#`^6;A z>}29waI0b1FS)rny(Mack3pRe=u9)_^Q6iaLPfdq=}d;-^4ks;JL{&SbTHq`?1mWi*HCAr z<)XwXXj^U*YF{vp2H8U6bHCi2D(evtn(0I{Ox5LaesFQ6Cqb!ASt;PNgtT;M} zd~~X@0&k`v{^TE2&ab|+^rYY*+iv+p+o$^__Tt#^SNjaDW8g|Ie&>&zqbE5BL4==6 zlSD_CF7ATZC2zN(69@G&HRFfVwvriVPbaN{{0fd)vQV@;aZG|_2JeI| zN?L?TVoH&N>k;uF1*{IY(+5Dh?;8Ry1#jH@f?t?T*r#av`Ol?T0xbc1rS}@q1?Ja1 zx9Zt`$8dUMlKuWWdNa!t!6%$b#w12}oDG4Y@|HIFZdO%|VU6UHU1leLvL@+D0rU_N zz%!~53*tGQyt`EX_Ko@X87qaTBpcjMc45HvHtK;~$yH(oVq*JMJ}c38w%0A%(D{&Y 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%0DOFnDw+_E2L6S^QzOj@pi+PR+ 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 z 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 z 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 z≪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�cBmQnB*@&CygCc3dYb^DF$PJ zRSs@czE-UT?UL`(1Tg4;C7qNVyRycThjCJH%|q!9QK%A`RI3 z;F1AB3l~J(?GHbLXzh#|UyYCC){`++IH*@e(EFKI1kS-mcaZ6g^qgKG=>-#?3G<9A zNDcRoREO#5;K9$tfI=xlPH?n!uM268A4(M{gf z2J{B3p{|W7sSxCgMceznrOC%}t5n?or_a8F$rZC_Lf`^u&y;aJ1oNZJL^HJ)>f!qx zUC7n`YVPY90E@j?o2$K3=#Y7V*p%XJ)Z=oGo({up?OhhDG^npj-=kD&B#3CQF_=Oa;#$lvyg|-X%w3KZMCfas!i6`-#5mmE4 zs-q@^0z`W26Im+cb)I~1b|AyBmRfczHqqrxO-}5AllEA8BRLJm=y^il`yef%1FgA~ z2QI16B+haC0g?Q|duhH*r<(*u#J`)-FV`b|W`*S~$R>WDlC|HX8O_oKa@Q3W>{LlO zJPrf}$*?*;~uxT<>gc0$ zcxvK{P8m|pGs|%{fU6|BJ-%Dvil+tj>NY1qDkiDw$D3p}tH?9B6NT9Zm6>ZO__%P! zws^_BnE636jG;0L{cPsTe-xc{Sd(oOhv^y}qXg+3B@Ke4NGTyPx<-Qt(jlD+qXyC~ z%^2OCqoqa(A`L1kAf?~?{j+~}U5n>E&pE$y-zjO=Lb~-wP*2+bM5qs zIe66zF9zx@%0*tVjB6NqpB;75!jD`^ZR#~{v5P8ytbz? z#Se~<_&u0fOixas*!SqiM)BVR#7#V`YJlzXbl^~&kYo0gBFe7NlITejB{iV>Bb}S@ z#l?==Toe)1fldOzP7SllfJ67uk8{M>RSc8{wI=47a2ccYK8#hPwvHZ*5 zW^OF=eY@n2{isKPSYLyDp6@zKOS*?-x$xW(B+05&%0LjMp3$jV>oc?^9 zIMb0+Ly%L$ZR=Z0w{Fk2FR(LC-eN>5FA&E<$C<2^V8{QG%@=<5MmpSDQ}N!jFHFED zo1D>c5FRE~TN)l=gQ>J-cZ|Fon}YX4k*5Zvdbg(iHcg6%Jd-~S;VVe;1}-Wg8+iE_ z9BNqU^MQZ}9+>4m>M*OT{9@oPsK-TD&ZlKSyH}N% zxcD`Z771CQucQs4dxTpBXIFKZdTAhsP;De;6hDVp`@?v8W4(b}OX4`7zJ-;qq43aO z;tdC?u3koO4xkDi(*;$iUb{xa8m&MGmYSEkOHNZqk5XDQ9=HftcnAj#u6S{}_JSX6 z#fzeEF6cLGFl#iCu+UC7Dd&?zV4puGueYU!Z~}&JK=e%U{c9OqtU zH(NrlDO@m)M20+AroRNWI%^VH*r;ep4ky26|Lrj`W+e*y$B16Q5h}rFMbHYYl8zfZ zMNGDC<^Jlqk{Q&J#CI6hvVtUcMzaXE)Fn9sJzH7*{xPn9-)Y!H(tKS{y1ky zv_jsh&4C8H;8E|nL5s|Fc8H6^7^&6|zQR)JpN{8qMySA*t_{9{PS1fI8K<~s{nxRTUR3NG#5g z8|`h=x!HyS%T3O>fv$x-b>bQ^nRs_Z!ynUiKTLRFNPaU1NNC}?;;u~!?$NAW3a zmq7ELISJ-?8=U@tHQp7ZI+TatFqp)wJiYTlWlH7XX%B?s#CiyI@H>W-^DO0Mxh@OT z;S01k>2fm)m46W0`{0oYt(0_bn0R_rTcf-??}qbKcQ_--?C%Na{J?muK>pF)-A?fV zaE$r~Y!7(uC{N*{DfJ5nKH zM9>NZ=`-TH9v`2YOyjyTDo_8L zPp0A?;RSh{k-aP_6BogVw<)mXqMO-cjyIIaW@NzaY!o(n$x!j;BzDa;&diPAeAb1g zn#sB5K{!9inZTgUu>utmMNHsIf~y6x-p0nb%yO!Can>ZtG|!qh*h=SEJm_M%4=IN&wJ#c z#5RJD$kmw;oIw1wtkksjJ*Sxx1=40Bx!h#P>;bLz_h%IlM1N|26#n z4;E>_P`E-{X^6SDi-F+>>I%rkIJoM!I*!AVubJSW!;CRyFfLa5{fMc8b%r7b9!2T&sKTDrSS_s%-}kdVQKsRoNC{7Utwh#F$4^_F(~ zqzY%TT-zR6WAi^_T?6}CR}#V zNNWX%$iskCQI*@jd2ul))9QES%chB=S|!XP&&POF@XfvP7hC`CC)Z1hdJQF*E^sN9 zoMtFi(mpf+YE@*gMT1^tks;z4{TuH}tP02j=mBWxY?i|J@ssG4OTrZ6p~)kh198(I z9GZ-{I)UdoSu|gC&BiuaPl3184*u9>bT|f4w8sMfVYLQO=_bwWWl5amyF6 zdu8=w4yIMcwI-RC@0mCWb8;g#RM;E4R=761Ff z>8>ABcN602BdenmpKykZF;PPR@5kd+WfZ9Yk!Gm-SjOy57D@A(YOXc66fIRTm@G_t43N8rld>e#LJ_k zt3xfv6OjLkv%m3yN5c$roTT{&g_i|E-CCtsSRLM)YRWGYj-vI8JX%^CxIl!qHkg7h z%>{P8uNrd*UTH6K8nx4*j|DZEA+x7|XvAeP%$?(Fg)AzQ?<>yu&yVT8CPHPJ~LekRd1V;Re=$mToixn( zX<$3I2KtnvyTv+l;onJf*l2 z?+X9_t|S9-`o>y1KzStgkn{uiF1E*Nh&9b+%RbMC+0oKrZZK!_{fh8r{qs%o_9jR) z8IS(>UM21b38Fm4y!x973-vdOc(hqd8PT)gzr ztNegECN7Ou?{_NrEx=A!Tn%~gs%1g!ChI+^61ZchC>2%!`mnDu+5xu}cK=#dYb(MI zad2qlXKs5C-lj|I7BNAF(ESR_DyiV!c2^rm(qfM@CD=ug#i__SCx{c+K>2|Y88;QW zUX3|+ug!}^qt!jD&Qd`xcakq_2;0HSwB054)8DME$PmpcBmyEOMUiY*YyxwH)NKOQtv$C`&|K6y_ zzhAYs$GqTHK`ccG2?r#I0}rB>LNL87|*81^yGiZn{o7w+K&^6fWvP`n?gN=K<2{ zGQtjO^@(Qd|Adwj=5w!Y*Frf>8Wb$!1_xfW&3<7!O*<_Al|vgGD;?7QxuBP$X~uTq zE>X`wsH-u1+IbMqr^#zq;TCJ_Yi8LC&Cz`TCZi9h7pZ4P%{>*LH*>sa<2rELqr}-g z-LGT#UrN@7M{TpA2!5v2iy$=vJ|W+5a;LNq8iJHoP%0Z2nG_VEU?%%&yX3eYU>O_Q zEUQwrjRO3$%`2)&$kRbFoU zW|MSR4uRAOxv0v^TVnbiB;4=uNzqf6oZ}M}2;chvcFFj^;Wk6;#~{_w?HYx@vv9Fh znn4x3G`fenF~3PM+%xed22TR>vC?$kY) zJKnFfiXnzTqmEnK2CCrI>M)=u_gSyG%dDx%tf`b>+5OwIz)?NujaT4)zM29BS^4`7sF7g;)0lJ}-4`YuIs9Kz&Ny5Z&e!|GhX&$bu^EB zIMOIR|7BE6%54Hn-c@70xRc8142gT`Dil#w>WQrLD{3LYK`*E>7ht2df#uCJc#~s$ z{$4G16M5T8G7-X;8cj|)K50E?r9c9wE5_+AQ3FFx2*!^qLT@_4UkiuhiqJ?962s{r z%wlKnb1nyx-lx-R`vJ*uTG4nh^r$q{kDnkhROhK3MzrxXZ3>0nUL(?8e8p}FCt?8R z7R8aJ=dnwy_pT|}gD&)RuU_AS?@V@P>PLY!4wYtx*0beTzYkNzWR~KNM9>L;N8d;6 zpCx-cX&PvMDCtmf5ix;k897XXE6J_}dce0<)l7LIE{mD6)hKruai$kLPwu;7vpOwo zxVj;v6Qop+1;ul~ZW+v?GqPBa!C7m^8&4Avd;ry&REc4z8=1&@^r5;vV*+>_sDWOR zL}}R?e>7dlMErg^o|o*DCdp}JP_clhY7V#iWbnfVZGb6u&*Y{duOFZ1Vf>T^fOoK< zBn%D$W->P0s=8%q6{VE+k}ra$im&|zGSwYNi|p2SvfY0!3m!dod?Gw8fNgS98=+!Mh4 z6~!|jR>T^Fv>h>HUacpY`oOQPnjaKKxo3xo31wxI=fi{hs!XBC6@LXuFo6(fzFcqm z+Q=ZmDg2l9MXR2xjb*&MNPF(hbo+vhG=IE~Rf#=zKC2!Tji^I7=>u=6*~mt0wh)kWNPJ1%p%qVyGoU8t%LB>c0Fr zp}UF`TkIO%N&$#!rXWSBPlgMJ>ORu3ivr^lnS!rPOcB)I49J9_O&sn&WdouKxbw7CB8P=J|L#$c#T)X~OJU@3djja6Kug zLCpx~Z^V-aq?{j<@^BFWeK}cBKdC=r8;6zySN_pfjNS@|K8h=!&o`8Kqab01ullF} zvl%B_OtWTxw8wf9i=-3F9=%-6tnbVEbKFp}6wRqWr!-&AE`v$4hN{#@lrL=ppT4aESdAWKk9?47l2#ui^)tmu5kk|a zB9rkhp9ZgwtUQ>Kdz?2wwooP#4vmk3y!a62DKwF*cnIJdX`ZT<`vD_bQ32AbM&c^? zj8!&J`T8*l*G?=n2SS}pXoS?uR2SB~imNRd<;?G>B$H%@%SBcjqh+3oYE&DM$;Flx z5SOoRvTTtp=(Mm7eXiD!z$}rZe{!EWa2t2SjyyF?+I%5$@wjR6cB=T>M{??M#TF4f zcuyN|z$-m^wTl9G_c~z`41%5#c`qyi7pIDQB7e( zA#?4#?i+*w8F|^7?=iGafq#t$>NbgP?LG(g=*6E06s3;_sO#1;a+Xp4; z5<$=xjX)%I<<)#SeF=VzSS2vu@Jv4g;-2ik>E@Q`r5WI_K_%QN#%=SPN~svu-Gs1g z)buCIrEerKZB1AEDpVE6rdh@QYakbvqg=Cmz+ctH_5xZL!CxaVZ47p*0GEFRSJIhr z^H8L9Xo35+I##E?>h5d_GE?(fPaJM>$Rk*wI8d|Nk-03rNvSmrJx|pr?EfitBt4HN z%0|ChRZA)q(+Vmf!k!Gb(Gl0pUg~gfHR|CuQxAT82$!VUt`X(1gd-fZ2+=$k@$}ah z_y~__1DlO9&MaN%gD{uO-jMmx@{62Kk(8I>|P=zt~OR zq*N?x#dZ+ck#kvFmqd1gVbmX}B)297GeM>7KxOI0oigl7gZwwqnTq%N3LdAXa-KLtXyCeUXh-{d*rRgVajkSc!kUvYLEWe=9 z$+vaH`M=l0sy<=gx;#13!E&XQV~)<@N;PzgQ`Xiu`(m~bz~Lw;dBjSR|B0O_WwfZ>6DXg>&B70D5oC7FGETi`~psmMv6$%yy@t>K)+m>phePQ6h$rNH!iXel;`% z9T)`^>tn~{tS1U=_1sNhm0GD$h@jdoNaYVxK;s_@El8Id@I)NQ`qew@)KhdOLJ8VB zyLI;8zR!;^(Xg1kXnXSc^Z6G_Ryo$+yH^*<=IrZdNEU)K@lX%xDAV>9%X5i5f8&zI z2Qo=v^}cTBu|0S39dGolo1FzLC9;GVk{Vs*jY>b@%rEc1&w#-vn~;R9J>-yFTm(yu zHE{jb%aO7uP&CezwWuhlom~5WjXy`xAV*9ugLT$K9kdXMf8q=|nl(H~V!{KQRsn}J=qCK?JrZ0kuNZZRSt#8TxU z?K=*_s{M_ZG|vax-z=v!;LWU6Rak8rq;44y=jr;tbZjDUi>F%$S|w(HfDpH<;ex721} z3};gbA_>}x4?!CNSIs{tB=wQq5nGUf>L{)YCeH)BHz86f2B( zr=E0{-Q<_yIet8rhvQTnM6|P_Ov3yF7*#@>0@4d2>ad{He16SMVa-jpWj(gdrP#Ba zEElS3&4VpYtJk}&fP4H|Z^9sZWkAJU@qb?|8_2T}!uheF_P8W%_D zZ3KxvZHR6v8N;%I{Cz0?G|S5FyAn8sZ9B!w0k}#_{y4@~7UCxR@jTiaKdyufJs(Ra z_v=e9&b#1Lks5nzOAQ@I32HgnrJ)uI3AkWMSeYeb+D|Ouj zHkOT3BVz3{yr6o6G0w`pT3HRT$G=`mGSNNn74XS`W&erf&;6ja2}E6$8`FMu3UMC& zn|O9ZV+!Dxvz>vc5C9fP7YRH`g8KQKBr%cd@zv-o)TB*#WHuT-z7s(IydA%+%=KA- zYZ1<`=~;xc*8g@GkKF8?avNh|iWzp$@s7pVpMpymgnqWQt`>UXw@0Su$uva6@B81afIQzd?hpLi0ldOhdeMiQN zHyiQ0BgA9q_4TcSv%5b<^y+wT=0{k}r%)D*=#Euu6yy=A&jI?y#ChUsKJELE`gaXN zO#t#_H;ld&^tMAf*&9H8`3sn zL7qbodr!YBHT7*~oy`e>d^udg7i+NrkWAYVpWBkX;|Jr-QOP!!_wma*=g{R?3Tay| zuQTGpi!8alw)~%|&u@$IR>3)XLy8{M*pi8`%Gi zNr@{R%juFH*~VfG4D?$1`Am}`*_mLi$rwD)-|%NX$B#wrG|G=IG-%ty(hHUEr$0QX z#wh%5S!uka#F(EF<0-evQ00y!WdBQ-)r@qDXp#Zh6IbqC*7s~^B;kkzg0hUgs`>@* zdS3b~soj2FVY$;Pq~9Zy%KYKXkLa%>inN0v)B|x~q`j6zAw6RhZkKKw^~L4bqrYfP zm;c>Vp2S2X9}uotv-T60(miPD9wvQhjm0;H@0h7(GQV>E zoe`%#T+u9544N-#T+rJi;HKd_BU3`O2UX=}?1?!xjgWg8u8X%w>($Rj@6)olkL!Km zyeJAA!v9bykF{b)OuF7WbNZ5&r5Ps3BI~;C&PgCHE>k|{2%xcW7S}qa!+8cIT&oW! zIqD@3%9wn@n*?ZX$j0-H)@-N2g1M86(|g(a&tBE&XncpDnk;=g3WDCZu@jazy{>T# zEIOJo_-r_5M{#6xr^wVkXA@onKsBg@+Qq-W_1?Pr+I=+UPxsx>P$!jF{Znz8bL5$I-Z7dA(pucS_C4QNGQ zIGU_-154Jdm(*<)V+Hz^$p;P~$!)4}1T-Aq>O1-AUFesa#*^?*zhw5+(pc;DFk2^F z=|?RM>_q$B2`T<=C=BO6seI@!MTEd#NtQW=`VPH8bI)|}*(ljYfwfpfXE+j-fa;U^ ztdejf+4p!%&euMCE&0ZFwK+qsl9ByWmJUV}kF;HZe$)Kf#CoZs^J2-ykr!IITTUOr=IIh5Y*nT2cE}Kf0SpUT+cZ1 zHd0LjSg)~xRwZixgaJNaySfZvC1!e%kM-kJWSv$FL6irBqG&Z8EiatA(R~zbjnIKo zE8f^3)Xj+uj@~#WyiloS1QdDWIRy^r{^f+qFN19#2S3yuE)*F`E#=O#nHRkSS9gMp z;+c0=)+UbMRo&Ef#MY`OA%3AoKFSL;#OPcFnf0UEcHg(@_0bIT&hIBFe!>XTPCr7A zo>IiJh$PEfW4?tr&0L%-KRlaeRpyL%n3mgGS*5fQkV=m(3CGT)`!TVC`u7R;Fi96m zLPv=nOr>MHoyY#H5oyPb$n@(Tj?bDxrF^w}y`3393apL!H)cFEiq}CR+hu zikHJghVGj&gJvMsw!;=3Rx%-}7@(vBh$<%O^qOt(D%=mWhb(~}jPKI8kV!09jv$T<6OyA?03 z&vT)ddcjeUO|6e%<)5&`W|&gibyRek9V5-MY?tu!xJzP`1-abK5PR*lb!xf)i?Sd6 ze}-PS^pP$SFwdgxDn0BZ6{!$!_&1(epgXBudIe6*YJp{iS6$DY*CB5d$Tjt&&7Zvm zMY!QFau`Jol2?@(yIy?R71bySfGX8FeDaQu`>0Wdt$=cg^NQlve5sHG(jAT(mKK+7 z86Vue4M{q@weFcJbhb~eEC<{@wk#~M zzxDIXKQhk|Gfr*ldD>M|Oq6azBN>?PyEb7)R?=)w_d(t@9C;*P)AZ5Rr_IDc*SJ4_ z`glb4nXMUs&M?}c(Y&J_X2VJI`vW~(&=WGz%ViZ9|KTR)2ttftWusW$=0-JW`s%6E zHvursM~0M-ou`dBec4RGsQ_6c!Z{a-9XlQ|g^JCi#ofR>-mYCx8Gx4eh#GCXYX>rU z@V#`Bck@;Q7XO6D8dm;XKttbO*9_IYV8t5eaGdk`r*x{=5E22?AB-sjvK=;vo@ut= z;9hMzOjWXAm%Q+I_qTRV@}`$}0qY;;!KO{Tak(jEt1Ces8bOe_F2Lao9vY3Z{S=1h z#OQSO2M%ZhvAdc&8MCwCA8iR9j^Vn_ui_&B5`*n<8a+A*hyZO`N*1lU_}?2N%HLqO zBjy3uLkujni`yEJ-r`GhhK0Ei(-_LeWz%K_dO6fH%i`!X0`ur&g7YbewoFn3A-Z)X zWgzuzE>&b*xfk-GC1Zg5z5n8Ko2hqDLRg#;f}+@GR3__aGs#konaQ0CpMBdqHN zDP#>Q?$c}F-PR~tDavJtG4(sbl2yHDNcSPTGF$${Pr~5bhG7&H(jAv>jC$Uam|^%r z@b%_S`!}LQklmZb5j*%jHyXz@!I@u1o7fDGqLa)9^PcsWS&9dH(RV4gygmMDZvNI1 zTJwYji)=e#9m#==C4m#kDqkie-Q+YSDZv(qc)0{1&Erxi*CR8O;ubNAh!lz@jE7-T zxkZeDp|KsR`C^3E+Vpyo_qCESxCFobMqsa|!8_;KAH(-S=J`R)e%y0tww}D4}w~i5c zvNQ`}7S!eY<|0L02>gyR9EQ)pg$%3_rE~x1xcg5^(T~?z0n`GWFzu zl80ihdF1WgJM*?@+KOuSPoTe5AF2`#plUzQpn%D^c?h(`6kxigUi3=t1-hl%xr`;< zwjy_zF2L_hcSh1!wEfu<@T32MfEf?ILFcyhPZ$iYs|NbZj_xF*-*f=dy7xfKF|_^i zZ3;}D3$PPC0)TfUZkN^$7<=M8psTW=S$OeM<%ctrIOUSmiDHJpUF9J1GWxFqqK70` zY9WM7O6a;pcO^Q!3FXOQCj_##YZ4_0y!Dxvy?M`ZidaTA*^z=NszhqH8>*ZdZKXcHw4Gz<;7 zWvSbKG{Z`&ItAct0FLN*8gRV33IP6-NscB&eQ($>J?>k;qwyA^dS-Cibx-t@pl^$& z|3vy$#bJ5|@5u&Bh|l2dPfV(e!o~)1c z*I|}|Z+5f7yg^uP$4_L-8;pVXxIw1_zxtCEi+sO&)?k|$`D%%HvUeu?rh zyslJI;Tkphm6J?0{S?T&gv8(ZM$k_!Ir*8GbwQNI>%TGC%C5J9q;-U@E?geYQklZy*7c-Qjn9E5&K0_Gl3)8z$j4_wQHj(EVp_=Z*RY>9<|qSq^)!9z2>zz{dZXw~v~7pega(goYHN%_t6@j>W~LKtpz zob0e>PbZ@zhA}0KNy>ws7y^nym?9!S{^@1~fy|*`7NTdcXTg=eEiT^ z2MJjo;aU5iYJvkuQZ$D=d~+e|X1qJ@f}7C^oT7G6UYN%KP{84%(}=u?9mdw&c;OC| z5N$@>Mf%0>mr_LVd@=z3VQjOZ3UT8>oIR~q0)&`Q`6`nIj)JZ;8)#lg@%tnwz*V<_ z0yiusa4DI#7)ydzYXr14Ox9qmnw~(2VrgM%Ma$wv1w?zM&)Xl8*cS9VLwI{gWFm|1 zDdcZFwJ?}x?B#dszDAQypUR0XJm;UpH%D9Q$cb6#YmVB_+5_b^4$euVb`PFX-#kd z<=@Ht{f)E&V_Xgm1hmodrOg6lhTTq$evSe$DpNp-QlF#^A_$l-F47>6e%p8KLQl5NH!tg8^cvCJ}d!>0C z%_uMK!>`)p3^J_0Iqj8z8}GasTM7Py^buO25a{BgwAHNgNuj$3|J3C!!K1Serx`5h z$xs=>Y?j40b-I=nH6nOLsbXvjJ8c#Y)|ZjFN|)WBg@37He^|UOKifbzi~SZJaW$Rp z2y=4fqP!ep{&tAu63rVVFS~))a9R+CVKs9ue6K0@+wwDgg>7COes+N3Q4H$3f0DW< zK$L&StJaGh9%XscMxVx`3h35m>@1?!m4=-jZUpe|Ur+ne)C}a-m!uUCn!#;BuNOmqj?;wDi|mX&Z&&0DliwJ6swY zKzn4_S;FGw>PF`H;k!IjJ%zdHwp@};&&1j|jYuPfe14kr2sh^F zTZpeyK{YOaWF9T=KDETNwesucV;f}x9DsWs&-k^Z-XMY8ZzFC#(^S}?NrEnxiS0DP zcB_>;S4}O6#|)2DlsGnK-Tf|lvId?}R%+;K3^_K#`U6Yj^eJ zGVf~n!2^IRaxxln@E${sJgvhdpBSF4_zmTpbvGwHBA_2-0d64D`3$adQgiLgPV#H^ z@(A-iS>EL>834Jq0rty8-#-v~Auv~f6Lo420ew~H zv87+5aM+nk^sJK!!*T;>3nr5Dy%y{w&jz+y!{z0Z-$k@z+0Pmg{Ld$kA=q$1^8aSt zPD-%AA4CD zS@V46d4y&<)S%ci-DTm*Da8ANNZ*?0l<1#n9t|+|qLZet{s;l{#0*_^f!b+I;^DuP z55F=i?p_-9PQpJfxGY|D9IsjU!dg)hs`_c<-1JrHBuf(+8Abx4CW0oO+)ltVYD=l8 zt~-rw3D_Fi_aJacC!t$UG+>(qc8Y{xh`N^o)h{PnBrJ1ZHfTMnq#H+j5|0C^o>U^M z4{rEql1_CaB0li_G-W8`KOuWh1J1SI@Vg0sB}$Kt8)H&KL|cXjGE|MJ+Tj>Lxgt+Z zVf*!+8_;~mKF#1&tM+*V?*)B7FeC0yz-1-E>_&htc}vR}#oOL`Y5YRiK@!^g1%Hr)YFs!tT2bLEd!@p#FeK`9EXgVjP+Q)3_4ylue*VB#!B4U9 z-|0{C?1m@rl?tx}i`QQ{DXgATgREXM3aYIWGMsbtke&Tp2w8dFrqgKo%Hw;G5A~pw zyk@PL9qHl4>+srJNv=Z~4PLHLBF%^D29@Ddt*VFW*FM^wa9zICtjtbOSq&iX>lY77 z6a?Xo7}SU3N9*2YKfl}V#ZPk8#(-T(qU(1Tv=P}VY|&)WmgJI?C~Fd}APyUv&ciko zguZ(p#QG_)?I;gTlz(=^3HaOqlKl6t)NFz~?r~v)Gn2iwQ>Y)#T|k=U9iyHfVvyi4 zANG1m=`foVKx9+T6#Rxh=jQT4_&O&2B?hj-A{>sCsC2j(+*fuZ`d>qbQC}wPTyV1i z&;y?K4Fb2!w=<}5=JC%5Db3$BA5QDM>6roMiqZl2K#apYLyj^nk}%}KQ<=O4H7QLmD3 ztyo_7J&Jtm8}wS?$67lfE(y}!nqic(Bur- zuC(JWzRqF9tlM4CvN_{)e!lw5%5dUMk6$+jGqa5iX0x*-|3ZD;t!0%Uw|e$7G`*`w zz~|{lj3wY3EOZ-Jox;+v*)=lloj&BBh|hAs2Yu?fb`cixGTxl=w_#zjP^wYL*5>P1 z0UT&EeJ|mJRZxKg>ME!!iVKmcUS|dA#!aLfG$Ltq2V_Q$D1h1cJW)}*cvhcD!qvwr zM;*v*n?S>x)Q@?N^QYZ~W<3RG{fzhgmR;peP#YH?3Sy_=iavwTppe@8(XGR?(A2J5 z4*$#O$}mtJzE44}kLMw{$8R(Hq+M*C9ML2D>9u|J{msjRrOo^-|6)YVJr2TsY&=I{ zXc@whc@m0rJktn170i%8vT`6Kzr84P1mex6O`U+q4f?-XClP=kA*5d=z-)b}KQ2G- zN);l=H)O_#Nfa8B<_ zE{huiJNowY-ij+B$jsK+MLpZ-T2R{YvrnrA!j+^tkI<~7D^2oAi?!nna8S}WQ>%&* ze1;e@n`tcw5bO2CHT9#jNu(CWMlCW49)r~Qmc8D!xt0^I-IO>FxJnaFPy)&C$ zZd%kn{m@v)w`m4vnOGwj@a!??>dD0`Wn(JAq z&WvXHjgX%MmAF!71kUToXckb(w7z?3rbxKEKog`Kl$I!ZUcMUp#+`VW7QJSi>U*>_!IQ`s4?vwrS#6=ib1sP~?@R|!LN?IfO1ndpU;S25Bde@I?P^ij zVE{aNTKBAfi5`c*OdW|uTSG$6&pCyv%pyQPe+heW@^haokZ@{^Q+E*(JP8H9Z`MI$ zP~#~}>l1iZ=-{i)aY(R`LtH#;Opf1P6!UkcmKmabja_02h9V>FV)(Ub1zje7O{AH$ z+9v>Oiw~(HP9v{y(++T})DYdK-}u0-@N|k%~fdQVnEuo zw^I6mOmEiTx2Fe}4RC=#XoL(QKuE-_1CAZ+v53$8Kdgw8NPh7z$4Lx3uUT94aCuhc z=Qa23G&_`9qZeP%M>UKwj_pJwcfvm>`c4*&g{U{_uC30u;Rh6~2PO%2vh*NMFm2aF zgYvBi<#Nz~6O|kV{5}fymLeqdYu_#q!qJ`yf^x_RJ|CczD(a4Skhj;3owxSnQsF3bPn@^?vU%2f4gC{3^QTtD32AsmuV z2z*KA`}nh+W6ESLfNky)^<=*;^TSOR*5WI_fUVEmM~x58#y<7FaEeAE`*VK171kyd zggZ0?Yv1l>K#p-cg6mI9N|DfOq2e=TVpmxGp0da!Yq+Pql6n8hkg6>K=EoJl?wQEA zzf{s&?fE>AwVCoJ;-Qn%I77(Oe{NBQQ_)XW>4JiB=xqvCo^E6JXQ{^&AMDKw_n#zj z{&|c}DjR5u%71ay`dT*Y$Zyq~*Y(Lst=znU-=sdV8^VvKRvq1%#_cv?g=^Ys1NebU z(S@~>0|X4+rpVK8v3Aj9e!Gy`Vk~t+c{kKPY2YVcsJy^Z@b5rzGPO1u$?jY|1f$3_ zDIi>*bA%U;LTW~NGoQalY1jC<8HFL;^`-U)kl9KLMQ&2M89puEg7S)(JMJ047s7+> zr29d07=^LH&{`T-3v0Vf8Rbg2>_2WfJVw!fOfo{YqTDrL^-XeFPPC{_Ce&jx#;-GS zTGCG+0OwUOr}Tk}^!^>gRj1-fr{cP=J^0G%TW&zMi<9q0wkI!QbMv(?{Y+mc@^6e; z{jc3*pHdGe4YTJIl7$S;k7MVft+pW^;VjAPh(_#DdYfC>M}o=y!zZkX57-pf*>)gJ zkQ=f?9#T5OH{e()ES3qwCqvY1+Gm7|TG}22mC8ykSO8!DN*_Vj>+ZCv=7ie_n0N1G zBz@-XBH;|WSV;0`NyH4gmES&gn6cjDEK1p%Vq05FFBr>{=x-nl2!T+a4%B4mQg|CM zR<7OvwF_cgjSJxcnm8Bj$jSA=2`jo7vH;2nMIz?M2~BGm49Wh8AI89~L#z zKxpSZ&P+**QX*rtFX0G^o`5PIc7Yxr$FWL)onsjS)XYDntQ>AqvDw(B%h@&n*2xYE zeehoW3cU2{2x?=I2!24ycvH7FLsDM)5@VdRY?@7w*aCLkrooDOT0YCkZmCyTQ*95g zo7AeCdd6@3k+!(*WbhGAqdQnhDj}m3>;GkQo(yeB*LyzW1SG^4$a~ju zRGFr#vE`!bGQRbsO=fW6kqTr^NLFVANs=ub_oFI5P4)+{rU8A+H~Z@A!D&=UdJ$?h zqSn{lD5G=K>5E<3@cjCa3J=v~z_bKypJ-eXWRzYXSD>LcT{*cInSRF_&z_0hmW z^F&S_V~<~o*!Lp!;Ic+6NN{J*7YnDQ_sAowS2T{zM<0R0ArrpG0Z2sx2+^@;gIS@h z5P1T`8J2EXci~_IhdSHuBX*Ht;o7TD+?s`y<3WnhXtn0;K3nK#LZG*i$A>j;7Y25+ z0v>>T%U#^sO2UwRis8tt4f>NWpM)v+jBzk5p6(CXXhG31_`NTHR-e0 z5N8tMuoOS4k-wY>%PUi<$NOX{M+|~gQfw*4%bE@NQbMvVR%yd1D`E#mr?-rcogY(_ zT&&OB*3sigf!h(k)hPSy6-v;>JlQRzEf6K4Vxc2BNv?EHHT`TI9AH#}Yr9EKt?kbh zc$*CVG0emIeRuPO{rn^AyQa`HHZ!rRI6R@>So05|U#^~$%#-h^g5z;iMX1&QR#W0F zlDu($Ox7$%ovMVwvy4Y1BTyf5^j>o|ch2v-xr&!7@21LB3xrar;NoBuX(~H9f1y{E_Dew?HbBj6ktPjxaVZ3-e@-ew}i43#O6Gn{N1n zejJ?lY)CkFkql&(Bl@AR@-v?JIibP!;f4S@3V^on_zDYhd$u)qAl^Ich*LNdt++}T z;52we@b5BZw#kYG9}{dlt@!EF4YdIw&DKGzTp_cc0>f#*BfBoTN1QUjB93F%D@U!~ zlxJ0~i7lgFhL$;Or-d0n2h7d4)7-(N>hje-jk(C0=kj%eIm>k4@zBfkQ^zD9PbN}F zUNm&Xo?03mhZ0P)D)cn<@PNvjaOpnuz@YPArj(RBd7sn?Qpn`)NB>F`z!i#d4!w2( zN+{>;Y5k6-%mRxRUXdQq6FsqpaMg4Ri|}$g@pPa$LMt^sfX|SWPT*(S1f8IidIik* z?2QxI11nOpn4x>-w9x|CI85RWUWjBbBj-GgR-r7EvRY@eRMS zm!o=8G#X{aOnSj?ZtDaUsCF>dda0}K%B{Uo;Egd z;uBmj&|a(>MjdB7Hu5fzgO+N|81W2b0n2(fBx%nu6C0e`won|*X~vU*ESRAbBd;|+ zWh1a`2QcU_U#NT?x8qRGv?#Vi7zrF3@ykh?N)Zn=IWiUKB7t&MjVAtw-MQ9`pukyW z1si}h{kt0bYWD6O&m^nfGZtQJQ5e-vDqE;0o94NzVbpcid0KNp+HcchRF@vcx`bf7 zB=ePq?q!};lSyHh^YVkn0}w*tvr(wHUGK_D$j7*4z1ME9WgS9s@-3`()%%WISN#;+ zhpZKzET7+1{@Nq{IE>Pcm_>vThjt!j;=wZupU56kQTv@%aCS+)L|V(Bwyv%Mi+~1( zU-x0X_T-?qAq3do#svAVB|#z>is^#NUL`5}fzSpV2onMIPON$@l{67x)W+}lqu~#5 z*ZuuTPr^%+8+HF&YmB35W&QFEMe8KD!qO*_2$=eVOV0bagO z3AETiiyKeZMD;yT>yoAMftcAWsrhk;Z9V8iluR`bdceg#@Uf6(4>yZE3EarKjl<%4wjU4XvDNvH?aiYU!oH(iGRs818@cZuVip~=>eEC<0-)KMN zMjCc~P->4wBSnvb@LZ{=&wrRh8p%1DJD529)Ph8RpB4#p$&e^#I|t`o1+N!Ij#tsG zb5YO#1VUiR<+6%@2@s#Y5s|V#=7N~l%NLQ0==+P3AVwB(-T*`Hsn8!&N8g&_if|kXe37~EipO-6s1O^G~4JH0|rPdB1+e2 zVKmaxvC#+u0wM#XafC`YNU9jW=lg$-W3RSXi{svPpVxVQ&YBT`e|%>V?6;RKroog= zJv#cL<3WPWDSr!O%=ZWAT`qJHGQROmujkLn+J9bWBuu^h=qrYjql*7DUvG$PGKhwM zy78n}c6~&0iQZ}KOUhF5v1i|U?cJ{qp?$sk$@nu^;9hO-ZgbnyVe4m8mYsTfke*Ml zw>_d9vosdLOL=jFT=vtAh+G^rFm5mp#K21o*PXa&e-)JSY#_JiQ~F(t*IjkWfxMOY zZ1`Vx;wloJsZ?ijGFJf*6;ud)_1q91iE(-}f;YF{0$sFq!E|8wtwd67Kb_{=Ob^v{Hn!xxOL&K8LULq=(dm zU}3|iMe|Z&>e5OhBBkU0qT_3&7^zl)50~N7b?1?ifnNv;jgtLDuEk5wAD5nsO5YC@ z=lsK;>@axPEVdOD*_g`ptcE(@g)Kw^qndTQ`w>t0!llCjA`PkJtIDe+6K@hf$W}Pa z_jy2;J(!PT4nz;5v`sHW=rAUqb6WH-NSf8B2DJW>Q%`d@$p5fN;vR!aOv+pg!z$(j+Aht^S3lL(* z`-XWT;cwoT3DI6iy=e&MpUjtrt-Yn|qSj1+GOWnS&&4Z$to@2S3aq$}v_Gs0iUf8z zp#rYW5Eoo{3gPen$_j2=<=%)w8dO!@bb;GF^LMk>p{pL#7$cNvVq1b$tzU{EUh0G3 z01Edh>-t0Kps}Pi@}>Ly!P@I-DwIMom5tJ^pJvu`nE5eZ?|=Zmo)x+USIPE{v2ra( zFcnas}8 z8K5O!TePn~f{VW#dq|A?E$icDNSaml?NyVoJMjS^ks5q%83eL~)-~)(`&nvMv{El> z*jo+g(kINLkWzc2Z&?~x-U>qd6JZ%S>>nI93G2U&UIDYUMtiSp^!*?GLmW49Of8FM z@Bb{W%zkB;iyNa}ax!$Oz7+Vlx7zs1|;nHG(_EAgqz z%Xb6<^h^5wP+U#EQ`+^%oZ36)Q@IHT`L?99B)0$fN?HBR`tuhRN9-=}JI5{e)p!3p zEP1qRu^W*Slpb>gH~6jI`oypQJVRKO0|ObTdV6wmsc~}TuYH17v5)u#S9ZyBjOD|m zN?ov&K(30!hnxqR3V_+wz*fTbW5!lh1H~}V@G`s;lSUm!07{=3UZ;J`w*7B3qcUQk z#G<+Wr{^dG&QkCsKy19$r$`dInKJrIMc35=^F%1M;Od!S20pM#xJFn z1}ubYH(-$t&?wKN^!%>gxdI&P85x+hAR=@-)z7*Q^IZNR9(Z{Ki9G_s6Mo%JL~FUW z+wMPLXOCZ#&oot>omO?yAAI(%M3$NS36TuASTU3|&^QvE&NKnsJNItuesF$%Yb2QJ zZr2FriN8QT;`9G7a0tdBL1{nh`UL-5QXEfPG$jp=zthT3(^jv(Wzohd540%?v`2iD zo)Mj6SrpBG%W~N&H@z?7cVzu^OcsFaDVr4c{ee2Kkz6UwOseGJsW7uBr9xVmjRG& z`>j;Q!?_Rp=|2bAe+de|-vR;qqR&ym&@hwX^Jhoi;a5@OH`wl4P+^AykG-|GE$tWF zf<)DiqRg$k~a0G~Ov=;#vo$KIraS4i2w9;8t7>4X)i-I)3== z@Up0)?(SWgBae5T??asf6y(Fas`oaXgfc<>@aJ0LY!DuN{m?i;&Z2A~A^|HpZ~>z% z7nAZxlVDWQq(fZtXtoAEb&n~!k$)94{

u?hd)=eGY}me=nEAZv0eklssB)X_$Pd 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 v82>v;{Gaq&ldxFTN!_?NV}!q+NMqrm?UB7&Zz literal 0 HcmV?d00001 diff --git a/attachments/1540141.png b/attachments/1540141.png new file mode 100644 index 0000000000000000000000000000000000000000..7340124e379df059d7bd8c0855daa9d6bc8212aa GIT binary patch literal 34180 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 M7nT;P5YX}cKX{$7-v9sr literal 0 HcmV?d00001 diff --git a/attachments/1540147.png b/attachments/1540147.png new file mode 100644 index 0000000000000000000000000000000000000000..7a9f97f9bca11c0a5dcafd1f0a07e48e16c1f9e1 GIT binary patch literal 66838 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 )dmSWRLTK-9L>jhfGdFH2+JC{B}>z zcF3*a?2nHrl7+snc8NbYSf)v{BQwOZzcnG}k>HsRhozQSht$uk&D~3#6GV2?4OhwV zDgc?+grbi}*XR>fRvu|?x+iqeuB<4K&3s9UBP7C#dz75|oAxxFTE2>|uAxavZDUO# zdifv^_W%IPNo~ei%iB2|E24s;B^aymQ)3G?{a<#G?yx_$%PP8QSE`TOEsKQzibt_c zT&yqRQT$!228c_h(n-$cDwLd)zxp&F!bhv!8V~Kr^Q6u56R*5^<8kVuhv^W-*gK%f zt0pg}qQC!5FkU)FwoCgpF&b5=X-*ELKWl-%f$>HiF6@c)FxXs$lZ-A)Etp&h352|j z-wANpf>HJi;N@j@OOr;`^N3!)(tFeH1i(P{QlcWCsU48qMLHpm0X)YDZvQ3x>&x9~ zBp&mBK&gKv70B~W;s3VlykE*9n|t(JtnW_aL{6n2*LUThfF6N`6q^-->j z3)CTAe`r_n@?t=7F`Ejbd}1ywE+)(6DNnPrbF;x@!K1)aNQ(MHaK1tUDspK?zc2$< zsCZi6>bz+U9w;--tMH{Y_P>!Dg+85Pw4li^QhQkvIo{bl|EZeFZ11diSbgTV=Nj16 zA%A{EYG(HXxc@}hpOcX+c$I-g14t=#kX&z2FxYJRf-f}~mU--lF=>RQ;75G}W#q0f z{X&_jzFtD`RHQbS#WDp)znqQw<^X8;oj6dR+L68PYuxjSD@cjbCY}SmdXn9&Y*h1?2jz+|m9YmHK zvJ8LsDahMnZ%roX-O+sqilEyy(NIv(llz|H{L?3PVIgQ5wR|glP3x_eq^|VxL7B2G zx6IX#+tk;+XBX6&yKe2VZ^Jn)Slf&9MJhQKf`@xX0MQY8n&=FBlPNN?Kpcq-$ ziFYsotTE|vkzg>>sl|0q-xplH#)1=(LCk2`o7c zx#9TE>;i74^*yKxyZ z2)t@b;vY)&B1(Zby{QyiY3}!N)%`ClS~AMq>%7phyyq{p@OJ5fa-vBmEhm#Wx}6Bf zvpS9*U~4xRh+wwXf&?t5SJedThG}OTe~Cw%!&dJ_R&gXKBHPjmO&b^u*uMz9oX(wG zT_GrjDA1`C@XKswk=#1#Q|(-YX=SP#n|hIaob>X3JDij9WT$IkT74i9LPLDeg9zyoaX=h3xwnd#wA2P^T4};JdhHT7p?fH H@B3c>caN|1 literal 0 HcmV?d00001 diff --git a/attachments/1540148.png b/attachments/1540148.png new file mode 100644 index 0000000000000000000000000000000000000000..b3c80578c78621a869e4947c90d7e145afe6c9fa GIT binary patch literal 418 zcmV;T0bTxyP)Px$TuDShR5;7!R6R=rK@gpY?V+88KfwHewAPYf!!&Dje~9TwQxZ$$0{mA>8Ahpk zrVTcB50#erwY`>->4o%5n(%Q&Mz7V+W-M106+i$5)cF+lFpsx zR#N5SRxiJ+T-TFKp`tX$?Sj%Ai)WOUnZ-?|5nZy|uFNLvwq_y(@K=vd84Ut#|M~yC18!9x%ZT&{0{{R3 M07*qoM6N<$g4wXX00000 literal 0 HcmV?d00001 diff --git a/attachments/1540149.png b/attachments/1540149.png new file mode 100644 index 0000000000000000000000000000000000000000..1cc10c3c27710d0c28c49a756db331c83b6ae8a7 GIT binary patch literal 25770 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 z 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 PJ_39Ymwi_us^|YdRFOkz literal 0 HcmV?d00001 diff --git a/attachments/1540150.png b/attachments/1540150.png new file mode 100644 index 0000000000000000000000000000000000000000..2ba9be72f797d087e474877a4e2a905ec20448f4 GIT binary patch literal 33466 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%0A-LEt54{JI6jYV^#9!CVextob3s9Zm!13 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 F{vT{~V&4D& literal 0 HcmV?d00001 diff --git a/attachments/1540151.png b/attachments/1540151.png new file mode 100644 index 0000000000000000000000000000000000000000..e6a3f8536eec45e47fc2b53ecc2cb14c5ab8ad34 GIT binary patch literal 42825 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�KkrZ4cBO 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%0Du*KhJp?^Vbc*2IckZ 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 Ii5dp}4{aEm{r~^~ literal 0 HcmV?d00001 diff --git a/attachments/1540153.png b/attachments/1540153.png new file mode 100644 index 0000000000000000000000000000000000000000..1f5f1eab9abd1e0c28880697b885e96b5fd46c4b GIT binary patch literal 43020 zcmXt91yo!;(_Y-AxD~cYvEuIT?!}?FySux4ad&qwP~5#Z#ob;1rSJdUa}VsvO)`^Y zl9_pC5+*Mzh6IlX4*&p=B*cXk0RRXv004{^793QfF%f|d`UmEqC?*J~njkm?0Du4q zVF6{=<&#V|Elid7!ETeYUqYWil~k zKl5yG2nptA**jm$FRFmJ+GMrf{@?2oY=wq*o7h1H-{J4{%W8GtfA1OM3gUs?^~LZ1 z6@b2+k*<(3A5lsf?G*6B!1@D0?`LdPRiWTk2DLZ;_WI{^gbgBQQ~C4t&T0OC-yOxJ zxBRpo5#;z@ZxSh$-dyqsWCA|giNgf5Shl*kI#26lGa5+_gdIb|{)84lg%pTIuJYT# z0ctoujNfleJ{)r%5kY>Ga|S^({)RxpV?I!nCBuXIS5-FG4-ssd$K#H)06yv;KjJ1+ z{76c=va+&>J!$m+YY48eiBXaN!X^p)uOtH6{`x|BQRSEgH9+*EC)5HZQ(yo99H8l- zKimE~TSFr$j3I#PoAN%2E(?$a5{MnmOnG~of0jco3-E?ZI`j61EA2eeWOx+nwJOw>q%HS(NUjNpo`@yic!9Z3v`r9Y~ z6E2ir1l(V_p-I-N{(}$D_*cXsa0ek6BAp(4?KTTm3UaEj<}4*HF^P!e*x1Npg#lnC z0A)x8&1&Lr0eG0mSi)VU4#^(p*1(Em5-jbRc-|Ge)ZyG(z z+HjZ=E*z;<=g-R;g(2N?Xm8l#cbdW67U7n^3bWePumF)K~ z^0PnS**dSs&h+X-rDZXPEy1lYyKnGFH+yK z1G{Jj6@}_`znod1GWG7^!YP{wbM6~pWfT4C=xA?GT%=M1VyzNO@nJq1K}oF7gbyn! zvi8dLDr}X1}C|>U}P&<;xC)W zp)8Y+tBFbmbDN?RFXqFZS9@JAJplO!l|B8ho+T<$O*&B@Ow9-|qk_flV<5}?hA3r$ zB=zo9>P}3=Lf3CBaZauGWZXRpEBo<;PU8E1KNvAN;ck*fQmtSXHZLfNavH2aB;)I5 zfvio))|!oJ2gd)cPUEWv&lv6H%uHm{$YmxY*V8NudARW^>9n3&00P295cF+)%n^@) z*7-`W@IUf|%&`P0%GJ6=Ljza*PE_D%`vn+Y+-r(hJ7Dz5yt(o5f^-6Xm#T|6ZH^~u zp;~_?VFvo@bfvPVo@L>?HJF_aIeh)#BA&nj5P`LErqV(qg=?4jbz-k|j*@)r4Hv^Q ze%TeL*@TS)Hlqu6-YL$5G0Tqd0HFJB%Ei;QI^aV2R}q}9_cLd~Vf0c8R^tHO-)NcA zcPLP&-QO~2COcG0alJL0qOa@c0d5|;8gqE50QL4W*W+JxJx?b9)XqAfH4flJDnets z+1~T+*uHiT6YS->5@HlOAUDIHtv4I~53~Ms{eB7-FLesUll2i24({jIfoqEs>^SEt*x;wg+wWdi3{`d;Gx1p zX!FQ_8I+!%Ldw}|rRSwk;VUrgopf2bIg8o)ejPl2IduIycG(H0w}Gvca`$}D``nka z(>}Nl;D$jIs`!e>f*Ni06R!piu$hg3OzY#gHjww%%!h|zZ|JyYb8}3mCI*12m&!N8 z`e?J-Cj0)4uO$vq_q5rlU90*Grx%sI>2NEf5+c>&oE$ z`hEXggy@@v6}RC1WRTdKoy^jo<%?6&!OcL(^BmBV|B57AdBD&#=PHrTwQi z2EdPzI&Q$ga2)4U-hNl4q*vYQc=Kvq?AFP9+%#oZAmFCkgn8_7vP*2k6ShjHg`n*r zNn8-%nVoTMdt@#MOWBZYs;Kij(x#iuU6$`=t1SB~O7`VNS;VJ;TJt;4R=mH109-Y3YAC}w9L!jJ{Lv9`g zjb6;{fJo&`j!~kob7_f-69Ga~YfX#j7$ixtY5Quk9Yw&TaY&lQ)S~T3NCvsN&x_G* zcrlQ>2|2o5d((~YPTvpqv57j{{+^P=u3s)z(96%a;o5ro zA6MkTiP^FpEL8renQWro58z({>Gf#h7~&cBDBG&Lj?iymZrt7iPWB_ZUk7(!qN63c zZWIgbMEjZ=e;47~PL7>-`833oIx-W8!h-e!gT)@0>3C)Fsg4cmaz}2z9EH0 z6r`_0g3dFu({Z8B#o_LOAz%4^$@w*0wb2-F4c(hJekNo2@kp?!h1iEih_3R3^-T{c z7UlbFe5{GfLUpx^?V+L=qj97Ox|hld50-mhdj; zewfwsiqB~B-oSQ}*=PoxGTeXD0)s-NVP{j|)16`BLg@asD^Bs|e5>QTkK23Glq@cN zgUlfDcw0|e_b^o?)Q6S9ej^Zg2rRcU}X*-n}o*7S46r?uXwN;Mq=xF21|o zM`Qx}QV{7&IX#5jv(suj!8W&Qvt!mjoleFgEN~gAs%;GXHv_VpFf()b)hLE*a8ph% ztbiQlFN(?7>QM(dGc{;6<~lu>zu-2<;1{Xp%iLuy)=0V^&sIG8UXk2lUhmE~4+1*z zB=5TEp0enCR`{OZrtA5<-M1{f?!h6+yRKmi(0fsTuuRM22yGsuBs_b=0RTN==^-XO z9vqjOmNVUIKaQmA@E0mkfPg^yovCzm-DfrcfV*=C#RvQ?E{5m%Y^O_?x5;haQ`7~K z!P1v@YOo60*DPFp>tJbR!|nRAD**sFOKbGn=V|LbKlEX+o2khMTnr7Wotv>=^+-?x z0D3d@0355i&5)eQic-JMji7O^=hUp6XNW4~q+@Vb%j=2KH$X~-%SZ<;HRV^94@D~; z5**0$(9lt+oXKOqBmR^v5=Ee0?0?)i(+Hp2qNU_n`KF<+;^c(1dqgH612z8u7qhQZ zGQ^e4@S2UXj?bGzlDcocj32Wr$8%L3icfQp!gBAmx*wvAZVg<0_ygm;L;`QJ5fgy* zVPR+tqmW(@tjs;}Giqz)MwI7u$AI(0O=0GwT&~BkW^_C5H6Okc*y;ZEjn>c1Pv02s zJYLhOtSv#E4%%yI@TE4>yxNe_@Vy-Qrw!flhS&)YM6+sBCSLANls@wVwEu8y`!yt7 z-7%dLL>l5lDA}p|*X|+ESd`{P_P|a7J zpD$B((rDBuS3m%#gY{QD+}S)hIN3Tno9-K5%hbnkz52&f>ldUsa4=HXm!xYqvY-?& zUj_Q4q~#e&8K=y8e)G=~GA=Haa&l~R)wF;d`5IZ;DiBH830ld*1Q5w3m*GZ@D2j{Q zMi#tA$;z_X5|uoP;X}NrpOR?wfdKu_1lro#lu63BPT`787R`if?ygiAmIzN3j(QoN zF{9x#V1z+T#7VY?nS`ncqCUV^|4-S^<0{!`m!O;T z^Zk|iHIZC-@x1RUnm&i-hf4@*joi0aSE`GPW-R7xE-_VvYw0WA*kU4Yhv+_poVJI8 zywQM<6+6s`t%1q@s=AsYS7@)3I|Ua!^p{wcTva zQ--Ek^*UY{6Mmq-zo$>T)X|yUscUQ0io*peeiKNfut^#w8BZEU3=mfa2MEG~_0l6A zZ`QN2;UyS5I@~r6`?uV>47$0Qup87EvVku(V)WamkkBI%ueo3%x|FTj_1pj z>eV;Tt`uy=g%j@H$v#9j1YrNfm%~hldul%7v0sgjlan)ZsPYyW*3HM=R>kc#EW?6| zrFvIHA(jG4(ANmJF#dGw=+Efjt*%YvYOJ^MM$dJOFiJco3P3(5o|K^|;m1D01k~L% zq4T6IwyFRW$avRSuK-id^YZG*%3%NcY%06nF9qfYL8dTQq5=|%yZf{+J4b~GU|t>6 z$8G@InHRY)+IhrDkbaUF6mg_+l6jQTIQ|CEO^!MOpj0k5JD6nc1+Y^ zxSlN^e7U~xmlnj*ayla!5(Jl0yOcL5oq}AebO%X+H)DMX$+2eED~x&GO#? zVPE=Rv=(}5J9PdYux$R#^^(hMRaGyoteRagb8S@JWS5Ag7-h_(sD&Sx_OnyDvc?l* zA)mJh`U3;8pk_L;gNcIoCjwQFa=siD98gFm^6KI7bbnr)ql`)h0H_0}gHbA#%HGq# zQRU_F4$gIpXFz_y{UH}W8ric@IxN^@BO^FJEChfbBi{D+{I#2!TnUX2*?IK_G$e|% zz2*HPK1 zo6hm(rk+nW9BOjom3e2*5=0KFh|Xq1l9~gl4#_1|Ty=_2%D?02&=hZIys!Q;poCPr zTXn1snFITHFcRmxcV|_Nw2EpzP4&F$oI?^`S9A7?M?JB-qZ7zybA8udpV!Eh991iO z40o@p5Ot{3&~&Y=D$`(cR=)7-!^UfX74nVkEl(jn!z&;SOdyrb(~#J@d3TkhL=E#5 z@9|SPFpRaP+a(pN@G#a;h#IN2KIjDU-wQ97V^kL20FE4l6?>{Io z>@16XtN@&2uuk-cIzbKKvmG-|XPXLzPvN!dXckn(sW%&%+^nY1fJi6NmJc zOZyHlw;p+X96XoLX;$8JefSi=*4HjtKYHx4T3AdlF#*eXx7_RHa!Fn^MX6?Ixt-@} z+gFE{wqZ`8tat2VEdPtqOsifk%U!?a=oZ!Fsd>DQ=a&uR9sfAN9_b8OT~ z`k7UZMV3TS3Z;>cY0fOzs8O*1Yc#LHLPwdINLI)K8G7PbT3U9vKHryS1PRwbyh}PF zkyxCVLP4h>n|G_BKq8(eyz3*2Tp^gdNx4f}hDk}Mpe7~~W4$&~o%HEP)58yg8qo;q z5o74uaXG)zplu^Oun}uy)jG-^iggWvI$}rotd$0J6iwLFJW+SoQ!9vo&Brq zEzq-mjv_6XN~0(f5@X4FEtz^~|maSKRLj zM{?%HwpsC;V?}Bo?(4h4=_pZvSo(zW+ks%Tu3rQ*(WLCC1&^hAi>wg{b$c!Dd<9*UU%$t+W~LiIX{MPnpR3OfS!i#@x%n|fMA zdbwyphcH>#2sH&2j%W`(JX9Y*2<&K%n@%ClUsxb-b8Co79jXurnqFlZaoQ@{Lb85D z2>4(C|HNU(rQFx=Z=)QUCI@l;R#W`(6hq+RJB=An9i;H_B}u}SIi;T(RQ#L5jmS=K zU!&4X%E}l?YhpgT46SjYOyaQ(B>N1FHMWxvd;Mpy!cPV>N(qtb)kpgRV?OVgC$EH#la;}`Y4!L;G~oW{&s^2Rl!zWt26H{B zld8uu`X_(bxO9uw*w~_tx_=U|jyKf|*I1f*X0hBS6}s8{l5hLElZngdCe6Rz+Sdm? zVnPX|D3I{VA2mvD^DbNZHXqeAYYBNqcrAL+d$FWmLr&?bGlcK(qCa^S)%R7f?zO(z zd1Y|9Lf7wc-q6XFnK477ABc21tu59>PO;+X%IpB!n8RR9sC7L%jmQPGD)fVGadQ>S zPY_R3{7{hvCr?f?h2h;gqnKJ0Dp&L6Stu?FtkP7iR7+8CeT-N!(z@JNA!~y@*2Kk%FzZa~Xql>yBTT?q>nQourp^r{EBI&2V01>Oh-ujw zP#*DL`;seO)4uYs4CB0paR)RxJPn{oBPF?<*_!H+@XbQ_3nK3?qYvn3+u=>z;{Ca6 zJX47K)_yQ*(J*WaTh!eJ{C6B{HTKZYr_A_%4ljeGH28JiWzWB>bN?<*$c8rZ@GL4mr)J|N zTwAw@eE&=sg;=agKZIZ3H8FL#SrK_VyOFwWQ&`$;?)rx>P-7~!$l7|m0b)kf8yHm< z<_d%wt@}1=*PBL?(xv6W?lqcC?(_1ubH8^@JN=E&e6nid{@x@8iN|H^1(Le89Bi@vF)H26^*us&$LwX;a17hhhQ zEd!0q;Px63YDQC zs;zbOyZZF1p_&1H4Hl36_quvgQIt}wi}8?HbtD+z!soH_5L#_^Agn2%`nI#ioPhe( z-0=^ywLa6JuXGY~u*#bzme;<&~< zo3-ZSb2F0qHN-^|IVM>;W_c;K$i{lS8Da(tuSDWI3=Guq=E0Ef(4r1IWKyxO)6WON zk)ZNjnLQp?=JWDX7(a@fm-`W>XWw#rM|sp<`am#2{v9X*;$IY@z0(Tnn$=aMO6Zxw z;G;emuz)yH_u2!zQO-IKJGG@$*>JY!7an%Ov%L zFri^A+;L&DzoB>hceK*%&4uY*qj8A9Kv&(?T-hZ2gwI_MF2`6EZr^heGKxot{IS+t zGF$WB3YZxJ5~(c+>8H%h_)I|1@zNoHmNUBc3&8F~qs$fU%Da31LfzQd$nx(|ix@r2 ze5AyEV{Lt>v47Vz9MZBsw@{$-bZ$$85M$HBIbg&onOT|CM27wWdwF47U0rE}BZwo2 z5t&dgHQiX2U_!T((P?{iBJ#L#=udrXjx>qDO$W<8dA)qCCM7JHk)iDiP(W3&(r&KO zj?#sn9nN|88rJ50-+%97M&}3Q&}$Hhqd^7$(AbkmCE|yaBw`^ONli;gJDeMq36XY= zj-20)SPYzuW)--X4Bx!hblmJUs-xgltCvkljE9!%P4;7;00VKN0uUhwp9MW;D<8PQ z{RQ=2%aY%)YRl6-)Q&sPpgg+y95+4-G-(=5zZtXH$juo3QLIPD%Qm79G{Zhwcl&cS zVR~7?7!5-;#AVDhb_l$bM~Rh~Aknu=@_Hqm&Ti zQIRrRXJ-|9M4`~~`m33sYY6Zs2FOVA3PW7StDWj(a999AByYu+@D2e$SO+u(6qUS0 zPCSrEUZ=|3lQvTE=-|K=w8jZWA(ousi$hGpZT$V%`eQf%oODZZ#0}QVho7b%lbbcM z^-LaZ)E>c;2-7mqhlZ+hF5CBlgVE{wp|zjWJzq#t`G!P&Z7m!fq^CHvhbD4@T+YTk zIev+jS2T4G@8NFwB{F26s$=t9j)fPP;yjOpD=C3|Dz?K?yM*}Uo{lePBUyBN!HBi? zCaaGIegxB3ECe&1GnOyFR;Hou#z+W*gyutO2K=vbY~r*oMshB@v5!{&VviWl?Yd~O>tLXa3lFfDd zWrk|GLOBL}|1sRTn(KSL;x}jwBx`MfLrAU6>t6SGfVv{Z$F@geB&NiD6>0S4dcq|r8-roE@ZeYpY9yr&egK%+?h%>`XTte2Ft*a z{+A2j9p5{xgvC!>T}nkgRc1DMRwZfTW#Ri*{XI*c+PZtTnSA&)z;AHn+#aJ@<{3eC zumjejf)5*EL1Z#;(ngj9R1&y9QCX{d^??po9>OpNuKfAkGp*1=^&KWe?1$Jw3icfy zH%?nifTr5PGSbtU`X923B^s!GsWNkmkEdJ&e!XjR7Nx^8M@-K49R6(WS7-Y9+9#() z1fnq9GCj;X^iciK{Cpw#n)hJ?@;0}Y;fXK7Ul98!aG?6=5&Ogw;koH9xF;_csVp!n z64KMttg zQLb^H!$omCa+#+}Eoelh)xPZY>$5hy-~36G_m0;ilYVfW7&qGU<&20>$lCtaNx`%& zKTd2WH-BbEMj6%790-4zGb0VkuP;x>A99aUG$Ai+s(Ko{$&5(x8KTemOZu#{4nEZn zafs}4#x*!ytf=Hx@wR+kc1%8}_+AATb8|p6%$eQ+%Wtz?FTV0f(eZhiZ*%w6XhDPV z3EfJay18ca`al4|sRy^dX>JU6>TMDT0{lG!1EW&+c4kEK%f^?w(-fZ)4z+Mtu!U@I z4s>m3R`{M?3o`7xGEzF+**Q5VzrzI2C0}ET0O2fS*5OfX6cSx^6wQ9u*{`p}tu6(; zI{hs}!4e7C_>4Gpq3)Vy5Q6+-x7i#dwNa^nfJY-2>1@{l!nY;j4^B?XlsQLnDShh` z0@@WXCsravdAXl*4;TQpoypBgkhiCY9TqD-Xu4S{l~}frAGnzKejpSes%$~0UwA0i z17=WWcqQ?r|2K+m=Kv>`nrUXz=E?6mozAphyn%p1V3=}ji6lv_Ii(>#n~gyGc2tb+ z%f4^u1?ue9&U>uKna{;lki#%hMe6$TrN+upfF2A252pdmGU>c&nK^61`JG8@{}y%mD^*%T(~h9n=DKb2(p~@`FrSTCy=!h!>=qBvAUjh#7&28T2j=Z z^8XgNTV3;798LFK|FARi*|25@{{Z6(90Yqsr4zRO93AvIiX8N@ve2M}2rvRsub$su zFV!V~V!ZAAQ8zg6XfE%?oC6U1g8zc!uL$UVuUOAa{_A?x{;;S+zo*&Toaj>ccSq$q3v;RDC_a| zs9-Pv4xpO~=d4mk{(N3Fa=aLBVNuqA$MXLOeFxqUDPajE66q+AY!nsTJc-j_@IEaK zhOR!~Y~qR&n3U|UP;lKXMw(PtTZ5saLoGOF#6 z_qVQh7hTgs0a)Q9&&QDkv0S@W=A-xqlBv6~sW)$Ia6VJprPL# zK-h;b1sDL6Ox^)B#R>(2`H~{2GIxxKc6yrarvKB9h zgPBM^hGU4eT(1ITl1Zg&jH-zK=^dFP5d4AH{eq*=tDk2;|;r{WBT;jLN&E43O7VlPzauk};WyuJ*h~cgc<2=Lk023hL7y2A{hM&CFxVRZf0g)=450BA5n6-b4ff6)Qh znJ+A{xT;zLG*|-N)e+z0X>5YWo;Ek+?##!VbYC}SnciFtw`UGJSAt4ox~^@_pZeg$ zHd+QLj6&X{8s6`nK1tO{{7NKR;8|XDk4oO%ur2)HbVi>UwOWOXBGU>17_0HsuWoUz zx!__RDZS_x+Ba|f(uN0#$kIFS)-ZM>KmDE;erjf~kptriI$KWr>bZz4E;tdNo{qrF zMZ)={Jv~_%T>jYZSar0!R`O%n3LwmY39dlFZ&~>bBHlS$HeD0mH<{I0mkAEfyw?jm zo%PPIth@asvgYRS{Dacz9rwpKQhkQaNKiSz#y_K?U{4RvEb(jRk8Iy5|E(Ah$q)_2 z@DXU0Ho18;O@u&fg2Xhk@|<dW}KP_a}ycc3l(>EWOX4y!SafwK-q938Xt% z{2WV>%7UZH+e~*>2iE7wAce8h&o&6rz6ER z6#I?aPCFNhw3}T^NA#ycuc8hY({Rs=xR5;&d3VRd3O+*Fl?N3YU!iQid+q59%B}&K z>&v6drS5gl$8jHAa__rpHm?r%RptB8)#bm}doOs`OKfrHJZqXMf`<(C&^|1le~w|I zX$kPaLZWwI_}|V&C%h*V?#$9Qxr`gPm zcQx@IQ-hN5CJ@@fK-(o2l-n4&?e|RtbuxkqbMeG~-d|Zhv3M);g^HW}_G~RcsTA^) zdkoI1P~le2h2*-gM8w&aGSvac+q4*KfrGhhAvpWhZV6@xm@of1_FUUHI%!0eQuY?= zmrvr8quazUke^DrF58vU9H0u9S0A?zKNN?5^u}^JK8` zzHC-I3jaXK7sYex2K9~Tc1H{1>EP|6;nNB-hHcrIpwMHoXj6qU6w>~`Y);MqXmd}m z9IP$uw<+JxFwxvZZrQwr7Z26g?mWjPV(YzQDXPDoSNLKA<8Af}msHl`=&%J}CWG7b zhMrflV=S2m*K#3@a1*c2R@;SOno8%-@!xx!rFgl~Y!VF@^s+;Mr+T^Pg`@YpnW)Gc z##*$2x_{S2yen6b>m}tjZ+$-`ju3}F3WoUi&IZ!v^-hA2x7MXm)7#^delN1CaYrld z<@IfM&Gv>E008eJ{;nYVjcNpcs=Qj3bxCP43`Ol%U0@HAQSVkt`52<{Cpqky$J_p+ZnV1=wl?Ah*V{GPlXZ=tgwn>SC2X&Asu@T$jKIv6vMXe*WsZ8mb#!T+fT$kt)zPTtsWQPvs|l3kh257!9xpM{dG zi1tJF|7n@nrfL4KKZ>I=`9NzUrpq0+5B5*HH7)W-`Ou9yQ+=F}AS-#7H5}&u^&->Q zwx9g{Kf*KW%(0ZeHQ=d8{!>{Q(2QX)bzl8p|Cd9HT@Cb`9***V&rxl|`2bl(t*IgZA3%$qeof9ADtiXj{KvtBMN+ zinkl=jInhP6JXW*vG76N^FFd=JhlLwdhcW-{6jOpL9 z-|1su1a|{KZU4sY??-1pO?vd6@41zhlWZTbv9}B39|kCB!TSFx{;&d&X7x*aK_-LP z%fl|!2X&fxen@s1uYfy&|5v=lQ~X7n$~gaKGZPFNz#dg50Fl;(8w@QNi)Ht;tsX&M zn8_-mUf+pB6X3WoD)3InkbiP#I`i|iAJG4dj)c8;X_a71lXY|UCb%u^0pIEs+fHwB zS)ji12AEy{vM@CWVFof$U;!fAz@ey3o*dKB!NCm=8Uh(V$Dg|MtUl}>a+;jacDm|p z6+%4K_3l@8 zL?j}+beEmr!Fi+fuBG%&1as?nAzrCJm_^V z&*geEsS(~=Bwnu(zl{y+fTdkT35AcLPhdahJpH164i zu=m=}k-}3{`n2&OKT?2lTPFF(JBigL%oVy`$&1Cq&0xLvDHGSt=Fe<8KxD@2dSV_+ zy$=PHFIdd@^ezpE>w|p+0KlcQ(fdlifyO@lO{aMqcZ{niY`mR*pUX9HH83gos^cTBd2Kmpp*o`;2)DeyvGWu8)BN>|Djf~}|K57DKm%Lgy~9p^yQ0Kh|3cBesy<^F8k)p?b(la$$6i+L6_2*!-(5vVL| zA%#Z-+@yk%YQBHuzh}{(wj?Bwj52~!?uq5&e1Vvil}g)d5Qnjd?pAk)67O8Et{Do; zA4AH31ORMak>)&>5lCKkbnWGr$$ORV%aOf1H4uezPtX$2G#gy&&srH^0W7F9RX)|n zCYcpl2=3wdM0YYej4m=sBEILLr9wUvv|zqO}Q)W6$gH7}1+T=#RMP#O_*F-=wH(^c5wt`}K)mfu@18zsae#lB$QVzwUsp#21 zI5;~#4oCWlA3z1b6quV^G`RRQBLGLlV6}J@6C*djp@L)=VYIUGI&r3G3y)|9LvaG9 zL&NKJ5q__%>roZ7qW>qoDc9A9tET=u)Ga3S=j*;1I+CO33JkrIm}`4SA%(SuJhK5= zln^R^IDiO(UH$iEbn7hFK($!%7Qr z21Xa-4l|jBXa)v!3k#S1f$K|bQC*FCqwJTIFV?jWH$BvMn48B-D6-bAH0u;vE zGK9o(;xdHGJB_v^ed~+$L>XheRZ29PZ!Oe}1iu#RHIi6uZB0N@7)6Bw9Y?)zhQYbL0X z;mW|IK{jOtl4KOTEPPZ1lbQb#gYmrB*K|A>hIjQl zp#V+OyNc}GNo|tnKWRQw7E)s5v>H4TwE88L_u-#*unas#@*L}}_xe4SXYL*U+No9r z3B(CCd*;N1b@}Pj?Q3&OsBNF*+Hak-f2~ySK+yx8D`LH+$=dGYbOn_s1ZQqW$*V@b zxk@gP_so#2uW?OAM8CS!$-w|mkvjE;!q07ms~z*{!)qu!#|JwjW=HQ&PUwZq-39Be z_m383(=N_7c8A!rA&{$l#@y`)TQjmj4gKhg-|xRq^T&cF#naeN7TIv1zWwWW z@c{htIY}0_+yH$2;4aT=LR^g>4SkXh6}ZK(4pqurQ~2FoVZb}Z;-u9?#AUG4Rh=h` zE?!gyZHgz+l}ciuovh^a;4F=i5n;9d+x0wldiP6mS@~ksqrok?4+Ou2M6PJ%^c5>L zLRveJ*-WKK0O=cF61R*0bp9f}x&do<0`8<}|Df368{<#0y42U{;#49~(Lj-avm!ly z(oge0tZ9dE1Z-rCR%*rp*c1Z=DylyVY^?g6` z#VHLy?PU%}Bf`adU|_%(Usa4XEICBl&5N!@fcDjUN@;z_I(*Ya+^S`LH_iSz=q^&H zyq+HUa;x@jN@pqcmxXe;B-iA>t6Ji#b#juDlE+8pV8X;Nq-CFb2Vd)}eOd%_W0l|h z<@MTAQ{n7t+Zh)Jegk&S*Wr~|p?h(uQPwsqmF$B+ftk<~r7x{*l-YW2cw)TtR4n)W zg6mXX@j8j$3F=kFVFElzzQ9(raDorYgsuKeL1FM~3!_ITk5I>CZEIFVT{zOBEOjub zXjiG-kL=Y>#tSbDobJ zEx&$>4{da^a83M>+ex(Zq;w6-^uo3#Z8I5;{oY_DjlUA_Z#Thr+}d|R>Gb=izbP<_p9A~4>g~+MVM^0j!Ti|mIjaa%l;h&3thra{mTTtj%UY# zkx%$o3l^J1+rd1~rRMvStx<5vP`MJd63L8x-^so;?~=kI!b5ci56Nj~EudGgWHcKolcQ>L^D*9V9f+MhO#tpdK{m5)+F)KgHpLN1W1n6AJIX#?M~E#h+$7x zvz{#8I_Y&R$1zK@HLiRBIeR&(LR3dN714>R0-edqa}a|8ssL=&7S&SKc?*7l^3OP=Qx^ndxEa2F_m{X3uV>si@2s8WrqdJtI{v9VNg+);J>u}dWCz9JYW>@2R2$1wDvqCmzC zA1XBsWJykFBlrmnj|Su`I-o#;2?uAT_0%odM7HOR?rdCYNytW{&vS25Juf` zh9E;-ZuPoNS$&;y$S7K$9=@&C?aoUy-dABgfhbWxV7s#JkalZyy={}1FX8nlPxm-7D!Uv`O3G|8hI=kkr@u@WxI3|QbbORJkT=&}uh!#L@K&w~z&`i|xV z%eyHS>dW&?)cW;&$b4aZvzOKt9FVm+ukqo5|NOIMv}@O#CKxExe{P5sipQv?eC#cB zR=! z3J?UNneS(9#f|Fks7ESMM->3b>FRoG-tZ;~6ps%K2Dyl49^aY4{8zahkE6h)W!Fi< z{C`LICu2i?BE2k5nw1QfVvpuZNm*1KH}eegcW(6-P-3odG^(vh(NF0oEJ&gp*Jvfq zhXoKD7fB-oWQ>R5N3)!qvUtB8Pp?09+q05q;bbt5k1|In;9_xntNXq;O+Ex;L%}ej zYaTaRw{&-6zOxx@Yz^4<;z&nlBdFJ5PQ9yn)w9;w{_NrDbXcfPt!DTzCY=U7K+==E zX59we7Iew)IZqqbEiOU@2cASBPb@*4BrJhOCIN(ZFxCd?Ehw2j7+ke{hVLokm$5l4M+|Rm(wcr17UAG0{v^Zh+n<-{3wmGMiBKXXDJbh|}T% zT7(_Lo|{Arn@5HYH`@_rx@-5&I@PM7i?C37H|G7+U3iP7Dp6!>Q)6MslVK_(rWu${ z_oURqos)42@Pm1sq^dNx%FzPM!M^=sVGoEM<^%OvrZwZ$5m%rjSy=bxAC_NB&$t8q zLcoTKvYE!k*eVE6co1iv#5B_5TwbOBOGg0kR2#yK-S10-<{OHR$vYAN4GO*`%Q_u3 zAqQQQ0ewrF_i5##A4@ZPTS#M^#kPauhb<1kH6-Ys)0ueCburAKvp0%Ne!?!hc6z-q z%COe;YD68-o984+Y-tObn3$}Awe|VcU2>$M=j+nAL!+Y_3CwXi++Tx%z`jd@1TS9R zB1#VOXc1-_5^Jf7w8fwD%K)azhn9{`uZpG9JqsXshN_d4^-v%^03iGYPE3m@`+WV~ zNwsX``Iya0o1-v~)Eo{~Kq=S-wcwRFoVYM&SA-n(Gldw=AQ$)J-%mOdl1-|GaRvdx z3Jvj0d@SKc>L4p!CdwpV@!H5nOxe7MmWOxNHq^S=jy8dAlocb%WQU!>kZ~P4!oI>g zhm}dkI)$fEh=gpvSoE;|SVMniP*iFn(j=FfcIK8L3i!H)QZ0 zOHRIlN4f4YZr3SCG2u|lZ?|VnSGA@|xwV&ch!%29ZFWg*g}wUBv_NiP6J0B3F}4{^ z9l}=4PRP6QB>gwc;FH0M_ft%(%r_F#I{<}n95%bv?mR)*qIieo&M{f|-#qd5dkF1n z6_3_-oy&B`fp;hY>NbUm;&cmo653B*xk zG?FNN^wro>3eOF!8A-?KkNwStmx={hM~wOf4DGA*Jb0=3oJ185!0TI?Pn~`LmkUrg zl`}w`{ViR;#Lg=6^lRGwh*lwA71LzXqpPM@Q<_vxMkg*bk3n2N*VAp{$Md-T#h`zW zfLi^AaqAe7XsvHfv{Q8r9jVpYFeNI$2@Up_BBa2dP1w%jQQPl>1r#KGiu)Kw72?vM zXBEJ-!iy( z@$;SOg;(*BQxiqY_&yM(!j87QQT$vuBMGmk4Y9kQ87`fL4*@_;tpQf)i~TcrVojWH ztdaV@$$76+#umHmST31d;ZeflIiw9)VqOje||1IxsDt(98+S(tu?S)%#3GNo$-6aGkxCD21cMa}t!QC~u2MF#i!QBGE zp^NwJBi(zS-hIC7`Z|A-1(otu&lq#u^C>kKEQ93o-8L(t%zDoJPv>W!zQlcoG(nZC zbEKxSj7iHmc5@T&5||kriZZnb(h(n6SpEWm3eqWWRk=*7%aDkNl-wk*mBWCdaZug? znhkO)QQ6qxp|tGnBM5FgpzN2lT=Uh1ZCI%b6Q@my@YTPl6l2|a(5qD|mLDG@NRQ}Z zyCTnZ@W|6cJ1La-gnSTmc2Cbrf`SeX5ctjse9&AC!qyUp3Kl!kexKGhU6EAZ-m<)5 zaVndVi9-Y!0-k(Qqej;8eB;i@!;fxVyJvpkl z`2tvRhXgXbTV7|qciAx^)W&|(75qhLpNN*Nj_8=j^KKihCXLyK4R9={)k!F;@G?+o zu-e{T3eCH)V;$zXx*VAN9_?%I$RB(#vKl%V`mKkUufOaiZ5n$|IU`84!MF>4)9% z(bD)3WxK#BG)fl2PmkjRgSI-Jk!LO{WUZXDGdmP9$dL#KG6)4+?8Ocm=mBy+%sD!; zi11>zoY`Jf=RhQ8;pRqaT2|835BGT%GM>CoN_~p*N`%czVI5D{A~CLuMw9zW%=~9(C0ws7`((VX`=nx z+d7%-v2D*Y!-J1SZYTAiu!ect)8F+m8>XJE`sT$=qD!Ej%YHyA^|iGbA30IqOJ@a( z#ckG6)45}M>877i_p_8QkA}%pG3t4#@@Kt(qx5(s>BEYeE(rCZld=tMJ~WC7zrYg-WXHjBwU4(q$#!E4_jfS>kia#^FT zZa1h8eOoUp0?)`$o9w)~l?E%%4rzk5==fezp<((hq?IrhB=c7=VxTG2E<%+yPHdgn z4^oak3>>pDz61c`|H7o19-92voi3AlBy$fDU9%~-ftY)N?!xhQ{^UDUlZ_tsN+=sq zl9cgv>ASw!lov+$M8%}C+L$?`Dk+xs{wQLC#2WK4RaW|;0OGwGP`Bk=bD76~kiBBj z;gLh1X)cw~KzBi3~1EgV@IEj7Ky%T!3dJT-KBxvt@9q%Sz-*!6lGU zAV7dLo!2VMbTHfjBGw&I0bV&LUJe8%)9@h)LQ z3sHtEmat4dYy#2`sAxRgnBJ75LTObshWs4}1->I>?-M>8wVb2!Sz7$VJQYl(tHR~+ z6X;7}S22dtWItV6Q#q`#1u?}NcKbaFSat9)H{sN#;KhUik8WY0Da@WPHZZ~W^rlPf zGq{vdaU!G~DVKR^0zTW(=E>aLZSH&pi=&z*Ko0Z${wol|J;2&xznHUG4qv`9R2g_x zQ*y}+eCZ@%_IZhuTF5{-uSQ^vk{Q>IP}2B&dDw;{p2GT-N(=wMI#1WGgEOBg&W<8E zJd^NM9wb6OGs_fm$pGR=Tz2?MAcS%lVT;Z9x=){pBpMq%b^${eyC4QR`K%UC9-{y9 z^xI5ae1Ng*DS!n?nRb%9yXm7~L}H^6*)>T}uMvD$-a&x)CIs&`1M{fQR+^C!fnd(T zk`1s$oN$uy6+ekVCDqlhr_CF%B=O|Axxfin&ekGA4k9MNUfX8^QBs}9i3x9s3y&ZK zz{cOr{4}Q+puiu@8X0LzlkJXCCuzp-TVUI@4coJlTeYjuuRa`Par_S}GyI-=Ot9KK zdw?Zoic<#oh0XuT&#cBHhcSa>Y{$@KI2KF)& z&Gly#uQ&82mNLH&a*nPXEb>!q7r)sRwh@EJ52YjE+!{>$6a!j5?`#R*d|10qbwv^_ zix(-W4B;5JNlUM0Q+ZqLT zBgb4gsMa;oMB(F+hvy|_0tE)Tkvc173kyD=rpf5(ny0AbykQlW;1qVR*O2vA@AQAc zV@#$I>$GZJiqXWb|NAG+?$n{A9D>_hg0F-@#>QXEY@I1Qa z0>)NM83DM27Adtnz5Bw{lY-rv&p^%0=u>*Gn(~{3hwoj+&i?`X_BcX}A0bsUR3Xm7 zA+jx>;BbUXtmo{@F{P^m#aj1fB-Wo6}U z>wdZzt!Mp1*%dA+_7VU3AgG5;uA}TMEOoAud|;UF6EUa|7Ti!rxPJz7tcmIHw_74l z@q}UXk`;#*nR0;uZs>v#t!j1O1a-h@EHt2n5E6e(0Hs-#W{}Vvk|l@ zKu5UL*asZke>6d$Yn8`}+MuD&(xsTK5Iv=A6ug5w(TDFpP!9UjbSR`%OTbQXoURwX z$Ay?z)S3CjI#h|K;=ejv@~DS_R$`g+eJFJj64VgPYnUL5hTb!^IVBD=W3;bYpn91Q zX)Fh5_*EJmZc^)f_C3+j^S%^KWxmN}tSzXu@m?ref8z4*d2TtM_asMXs&*T#P0Ck? zlW7oxE`?xOL;+SG7VcWt^ZYt^=DmanvX%Q>j^aXIYj$ zl8}3ESeagqC$6|eMSK}}%l1$t^j(Mu1oK9u40!OeCJd=9>sBiDDibsMi+9ICPdPb4 zoQAC62OpDHRC(S0HT`^BVga2m3Mc69fS;jgvIf(+yf%eDeR6mD096Wr33m90!w^ERB zad8zFHE=a6oZwEOnYi&)&EyI!{=jkfSVWDcYe-d6P(ZgXFZZ&Ev0UX&gFy3GACZZ5 z5{D93l;mav1jh2LWUBkDa?C-Xg#6|;v#-%!?Y+GM}z@<6j@ceQ^Qk-KiKz`Gj`q? ztda&W)aRORyo1J(w`C^z5&+v0b(e7@Dz1bFR;(XDY~l0QAckY$#Vw!}F#!(l&R76E5Sqq7AW49{-#!N(29~ zzQ|tzL^3pb**{QqUMIrG=W{v1{s|OXV>Q5l$ytn`f4M?J^qz;4 zJe5zGfr#;uY*(71jF+|tV+1!Y{SU%M1c|4#28{~#jo9S0Io8v_fkQtV=cej zF4_N1E_A_`waQ=dgC8vKF#d!0QLb$f|C20y^PvzHPdicQ?)T!R9UF}Q95o3?@c za>dC+AsJVh#yD3VtjkBIgxbRXMrMCTDk5j3rDD0~M+3mktPya;ABbr!g#huDm>?m<2zWp<~2&7E(WhFuBD1269*xJ*K*MT z*C^8m0>lLlxz~pbl1?Iyq$^ZCK!P-s%jp{vuq=fFUAMVptbT2GD~y9Q)G^f+&PD|_ z{CKK}X6WJqU?o~zI{&Av)~w)V1#t9%)ZPpbHUbod{wS@VzrrVt(59Lnhjb$esUwv| z8HvP>1!=Lm%8AHXK9cEjRQy}#N7Ub2B2yDeoU79nEP~)MiBeR{m5!Tn7KAXm`w#4X zcE+^C_!bT?k7}Q7R{2KjA`S(7HP#T(BOPS`;{Yylx_HKX@Hgrq_108ELV|t6K=ovm z+IOv^Y_c;AOS@$SV^ujj#IiF<25YFHCP*K@@Jc0=1mDFr$1~UmRxcCNex6SiYBs;E zO3kO9+-BXq@LW2scci$YR%}x%luSx8$;C}V|J=WAW5TLdyP63SWe{p133PNr|2!N9>1Y{9g$ z@Fm+XTusai&ivj)7=>&LkU5&CBf=+y5rHMKV4hl+5_Psg=wliMGjpLuV(ExJiw~6p z={ghO>tPoyfX(ePq~SBOou3(Fhv;kOjAKUrfM{havd7L-d9+BGBJ@I*U6TDd)eONhQ?7VM zL+c%(XM*kkIVl-%bNA}u7VD_oij5wr#%~#6k)!x2Li#gT6K@@cn`ot8yYoq9&Ft5% zSaD=jqS7c5A@*AmoBY`FUqm>sPnob&6Z{1oXmmm|^LTE4OjMA(melmJZg;`tc&~(( zz4=4p`z30x{TDYyWAYrs)WVIk8L9)8jm};a^4kA~s+kJxmKVB|@a7kxYaF)Ekzy3Y zX1`RyGfOWzL~E|5>Ygw-jd)L2x##i=DncY+$V-q#IRnFXdPM`&{L6e{ z)E$>@rgtRdlfI`I8CnQ(H2N{&5YbAq9b zzOJ!Q!#umbewn-5n>?86csel?_UD4Tv}XxEZ*RS3_dJQ#C*vRL0+q}}NDt4G+zRc3 z-*aq(BmW+;CCg7JE13mHW_(eJ8*vpNK-;WM0+U;Vof6ZH=C>6(4|A_gTgMyP1}}!{ zEvTs^;cfAqNUFFJ=gUv`G}{`8+qzHPdlbn0;ksBu;DP^Ih|$Mq9ha}4@2Y&t;`Klw z{WU18mc_dz1*ZG^7qK6gqJ}ck_v3yajOVH~%ELIw3s!Tq!yXCTL)TO2PVYP(ap6yJ z>1;RXQ)-R3JThU=azkGzkM2XoKR^U6Yf|Xsn3>hjYLIe--D%=NiH3!-%#(j6L0gbr zg~b$CWF!1U|KW3ibpH~`=-zN&dt)%KbN0sxk!+ZVHALe^DbrZHIMPe44}Tyk)jMoL ziu$IBn9S#2&cil31st~2Mr31@q(5K_LKuGQ?xzTkq#NH15p4H)&Q}@v=Hso=6Wvfq z8~> z(&3*try{Z;c0WpxH5YtnF3v0pZuFq5bMPQA3G}au_Qoz-*77j>71|hVUZegd7^md@ z7h#n5p^3yIDZYVw&w=HB*b3?YG+9uZ8M-qQy}o=O-ef0l-?3)0{VkB=$49<6WU8I> z+1y4DVD;12hZEQ&3!eVNS0`at=z{Sc1wIEyHWt%E(KENG&yMlU0YE7lxkg zsoj(V3d7I#SZ4dTe5rMwa}yFHyn#o#O&>=FA>8{H*c%n@d1>ytczoAB!E!(RqPP@o z3+j#@v$U;6vN3RKuTOjYZZE#R++d7f!|6u=VPkdISDr7brRsA!@!odPOQ|Oxg%q^| zy`%s+>7(&@u3}NoR%HR%%j2Sf{kl|ZfmW(ogayUrm(&AW+d}S|W`0lK2BV$v9T~GN zlG81%55JPsblf}J`DnZfUf)i$`1AK)bMJM%m~Bvn!^Y*2YHH~f>3@-d{gB1k6yA4 z&SV>Pkqz;g^7k>{jx}2E?Zf5dn}|uo5^9AejT!dECv_yWTWC`eo!8osSC?%+EgAVi zZ8OJd?L6EZJG(s2o{H7C=vnK>yF|mfP)gWBJSe?Y?aKU1Fv}O16VO>T$NC4mWVO8b zy~G_44-jR4G|_f>-=0+_(7qdC=yKhuDt-yoY2jH4$g`}6Lgswb17>$Ta6JvVdVVBv z)omm6i}_w5uwz}L9uzv_jVPH|F)s^xY)9jYP95ZPo?Zg)O@8=pI0MznFYx#mWb7Ol>23o0^CSLK^0rLCI9)h1b( zo}^8rr;9<;$Q;V~LWJ}e4eySW)V1yYQa!HQB_PT?)z|er!MyQWaP~ptx0A~9k>_2d zVoUARWY_l}UgJpvzMk^K%^%W#MEH-g+wfE30;@=?zqk}yNTF-9+&lWD)neoROOS4a zIV?EZ`30j!H<%Gr4)AJ|PJ(h2s6vRVTX2kHR z7mx~zn6M6y-0oLK?c~wh*da@u-n@U%fZx--O~GgqPt|0z3sf&rUUs?U@~1L+ZeBJw zH){|F zUrl$d#PJC90}Le<)dVECV@_eSYg^R;&w_nr|i3wQg~B@MK6?E+kQg=1vQEsykX>1+#gs5)0bek*Z@OOE81a} znuI833vqRZN!4HiKPYN_;}TQVs{y^mOQO>?_8mB*Mj@NeLUe=tjTEjU4~4W;4}#b& zuf5$&Oewwkswt%qe(N*Erjm`LvmAxOYVLqso3Vidtd3Omr$tC@6H(`?xpZX{qaNy< zKtk={`XAU9<;|S;S;jwDOpTCTfSq8UDZ$*eCZJw7eAhTPBC{0}9{_i^q8Bq$y8HE4 z5ud3>Nc(zZlSi9`ngTIS`ZEjdc0)W1OL&l@qDeG+eGW)-MdV|gz|c?JSb|HU%WE*B zF||V4V;$!-qw~>fXDkb_CuV-yj_D5&Z+7no`{W&Ye(q5ECL@bn7Z?a1tS**l;2ojO zpUXC^W7ks-I4#`Y2j$B+MY(J(qeI|58%t`jrjQ_DBrne&VU#;M8v6NOn%KA4#x$2B zv0IG!>WUKdLqu2-`!~EEF@_>m9({#9&&U<|oD2599`c9uIA7vewuE% zf#FF^_{a3X^~C`f5ng{?MH%CO%nX}shIWkG2%n92rRzko}bLCX=;a)}=Z>*JU#2wLM&}TsXr7zneoN#elytmf|E(VY9rf{eVbm=vSD=fC>Jq}6q`-%H!rvV@$)$%?2jsL znWGjU^pS+>wYZvex%!z9v7{kp44@M7Q^Hu?cgm{*A>Q>}^W?OyV$Q0a)_=^RTNkxC z?)>B84u_h6RbK7UrMCR8Xkkhl4U@0)C|mJkywXRTKNx!pXr{?op>{RA`=CBHb+iTr z6N2@CmevSvJ48Jm4LW>E3u`` z2nh`Z_e@0{CtGrvz*TC96w~JoeOz01%q@o$(uRP7Sfd=&K>+!6T6{y{PslQKNGZA3 zR`$mKt6Hgdehddvmm(t_@+{G!{vy@iuV}IR%-kcysUF-Bn!kI&?f$4PrvZWX=wn1a zUcrS50?nLhd*tQ=*V-g0=Qb8cVhtug7TC^!_>Uk;P!9bnPDWaMDr_`#3{kU=c&3iw;o`0Y5Qhto} zU4pX4LzznmH)xlpo*VcVWp)f1_QBq3&55(qLQ8+syPPH`Cu4iZrzZ^xrOi0~hJV$F)Dypxa^p6#*1rZlC|XK} z`B$mxsto>B2JJ25O%8=zOp#6zLLmD@98m%}x2J^*$YTgu2v911$EhUr^g%fitcgSZ zfg;c@-MYMUU|k*ljr%2RwLKV~*8QBMR8;GG@%MF``pXGnJVP>_7s4>epXFh;q?!cO z4@`~ykR&;ytD^7s4(Yb(bpb zjhkER6B?8;9nCoS=~Fh0l1uf&J>cSL9<2X(lmM*!r4Zqzvn;)`&#&K4x>?rM=pxZR zZjw)v3?wy%zcruUk-1Wuil8H#zu%C81B#|UfA8*o{zdj2lSiFHeKd$z-FdeaVIKht z3~SlmN(ehqZ5J`k@dC;`F#!R^%>h#~m7YPP*e^v73RANmyUkOHL-GH*d5oN#lp9n& zIvvqoMT1CyPi#|eon1T+7k8CtPIILaqGUrS26P#9>1iQw0YkZ9dILw!Tm&J+tUWi! z3&$sa4oi{_GEvpFQnhZ)E}+tZlY4*<$e~}kR|s7ruX9U(&@&N4QJ9+r-oM4lqZ)6Q z`Au=1DI>B8umk}T@1W^k6U4tTKDXzU_rjz(KBXj#c~~j+}wBTT7#WIZ+S7fNNTWg zM9DBy27Cw9+vB7eQ;yvK&Kc!{2r4m#II0MB__P@t2nFeDv-OJ0(_O}ShxgOxnS@1K zV6Q(w1H=AKlL$x*H*}jz1Xh7K;or-+Q6a6SI53dBfJzm+7Ei}T6w}uw8?t`haoB2p za=`{o@Mv-;|LUboK zj6TVNsv4e8R37Rc{y1gpBdZL7HoQ;z1kbLC~cHT+xkh4<^=r;vI+Z!qfzt4 z`*@T0nC4}t?FaCxh1Zjm7s2~h`$2*I=ulGk8?n6~jZ^ZnCEH{EjJ|ztyG9+Okgy;O zjMIouIB3tcB&l{C);qUZz7Cw-hec|>>(||#b?iW;m}m8mD=Yjpi2Q+@|1?E|A3H%+ zNm42{ZC`4|^F6}#q{mTR?dI9Rr*F=;;=`z**S5h&P+jPChLKNf4f>~o6~X%?{#2z$ zDy>HROZ1_Kt6K~BGwAQr^G`9dJ)x36$F(6qZ+W8phk#W=K@_lP^e!%uq5q^9dwkpB zKJnEkCK%~j%oV<1^7#xkKU!i%2YMp7?mz#|N|T=OMSSV9o^;_S)M1sa4)FS%xWw9X%5njncfqQvfKFmUL{yG1Ou-; zGK3oA2ZX6T{&TNfa(Tt*RVn4G#CSBLJ-_WuDS4_LjNSe2L4J};3AZtxVbrQ-+B-Xc zog10`7g~L)i#4BJqi0mbOBhOesFFK<6$B>3Ig z&{=@v<=d9T@sgGTaSklO_?))%z4Iz)NYxF&ZfgQkbo-k-H%P#DhM8nVdT_I1#R{Vg z;U_N22Qf|Y6U@6i?->YWaF}lE(RtC^rTQyJl3E+dOpWQXPtsdixX;tIkg8jq;7Ml# zYVf*&DRrtFi1;AaW*7E%UpmlauY9lCDquLw4Y}oAt2nT^zn55ud2fd=D+BsJS~&GFBlZ0elV+8 zZ*{y0Bl{*+=iGqoWp0`6fv`U%U5O40;$E9wO?b5`{k%K!OGfSDS60j_0dIC$OAQVZ zY~72oCvK(WjDmD>QSnS{wp?+srCGX^`~sbpRB@rXnP!5V(y=Pz!;gfI_`-2eIsULz z-w@jVXPI18FdwYWEI>Psqg1Qj%g)Vf>}O%n1Q{~yRcCvnrf=;1q0+_D@gABVF49o- z?Q2$U;c-gbaQ=kmW@jtR@=8}DD(pVgMb^}l6P-GY7ce`MFO++b-)~=Z5lL(v;~-UGp(3|5Fi*?ZnHUeY|YY z`N)-skaF+|9?k8`qoJuRmqKRro!-`HoNAWyDRau}?`W6K(mW;fR;cmTKdED{tLqHh zDJ65o@tvgj>#6k-HaED95rhX1ZrU&PwdB70aBC2PI~z1IXADozL|EY6vDGj8XGL>@ zbSuQ1s6{_oeGWB#2RUNy$7ogmjC$Xw7~PpiEyJe!DHSbt z5R;3c$t?oygOu=8g06>y<%?lg%55k!r{_%HEq{&q+QW&;G7Nwrx}}`?x3P59m|c>F zsOZ?)QV{f=z*A}$H#>W+pkDgz!KBLN`{i!sdhXPt2g~cmgy&p<$2R7%Psop=o3MPeEoQu}dS@RM z9ZAMBOGN{6kxIG?wb8ro8gKIXu=prAw9M|b1z6^7u`5WhXwJ`UALMw^jiVbaMCV+) zb|3H1cS|*z`Qa)^16QS{)b7#;-uwI0rsVq$GCWXq5LmwZfjO0F+6p};eoM)w4_D!4 zwI4X892cfw67l@(Ni+H&7K}0wMb%`0PJTF&?OA0f?p5x#`!4&Cyf@9_oU{AU_Hlr| zWkH$GtWV-2 zdV_BK)lK#YV~VMBu(4pLYI5KlG5S1P*<$5p4kOqP57V!m5D9d8OJRi509B;op)-$t zkd0NO?;)HBlqwk{sNsc86d=NEjY9NcN&H_d_p9YVec*#=#B?z4Mo>+jhTCC)HHXA) zJd&dcQZu+1&K>WU3D~j;dUT!R2^zl)DqS4~b-|(3ygavr4CZ&1$ZKP6_;(2o@*(y3 zK7Vwd6&v7q;G~8pSyyjDRH^<}9=?N=?ak)!WJL^W(Ot?xo521c=(#<{BH;i%@dw;X zWm(z083mkJFeP*jI;m5{B%AueMJr0g5UlSi?>MJf^j#+8pLT9qbn|VXu#CbR z>XD!5Zjl~X3BPv}mPFV`h4Y96#Wn_0=$;EME;by=kDS3AHmX~$+QsZIV{XoW6j=N4 z8)B>g1fEkOnT(5|wEd2Myg)vl;vJnS+X#ub@xztMp|l#kW|PHK-P~bB%31|6Q1>$4* zE3&!x$ENPj530wWNSt z|6EMn23s99O?4#&f2t4Dd8ix!rd?)~*nFzac;2A%js!`xJL8SMI;fhvC5%FPN%#`% z1QlsE^OrhU490*-0E5!QaF-ZsiTdyZyl(wnt1Y@y$LT)o7ydQ(xmZ_5u;^|T-Q(ih zosDM7_|x#$ReoN_;ATw~^cUx|uD7fM&dxO5XD&lm(JFE$QVSMLn7>>jOy?&sGQjvQ zyRgeCJ~^}sbQFI#s{XywTh4Kw9bIqQPd~LMP<8x}1jB)&Mx(_QqXWl7;-UCZ7hef6 zcyEL8?GW>|WkjQV{^M2g5gsq*V{nvwT|y@GGtXWXo+ z-1p|wivygDpSmoYOCMsJdknzdyod!6$nPzOpk9wy6{N5!pF47C1M3!28>yH0?MZvs znwh*dMlmN4cMB(MGk^?)9bzDAzYbkbZ0hhlzb(#jfQ`w!D+~l|;rxj2wYra6w*^hH zFPPqw;~?v#46I#ODO*z8z32R8X*QY1Z=w`s-(Z&)`-p0WKdT@7cE1i1F!Gr%UI_wk z+l$fia`yDSKn@XHR7ZrGH-!(f%6lsFrA3G{LQhcf*@W@cTdYIP>ApOF)kjT2e_F7` z_L&7<`>30n1r_c48dLVTWwNJb{2-F!HS&=N#OLU@BtrT*AzmrJ83ao8v1{j#7uI+F zGOy-lI8I61eB!>7^Ze}=VpZwsns8kdg~zwm_NIuRmMnkmhBXUl8xyNe>?OaR5`KgM z-fJVM_&vUxJxuZ-znOQFrQziE;+!*)tC^B|$FK4@d#m^sTTn^Uc#u)yF7oTsRl)LH zr`v9~sVR@DZJ9O>-a_N8&CesAZQn19t<5*$F{==+)>AZs@xNgj2}hD2{9)}NRc%U{ zb!!`+(D^zfq;sl|{VEYa#K&>_7KA$JzfX#w%Qnk52-=t%oCeCG^94zQ@SiW@xunuj z7Hi#48>C;=&TT6hJ5&@d1|)5m8_l>Sb>Y(o%p+#rGfHXIv7J^WMPSiONdpQ&GqK5O zXEgb7=2h$0UJ$yvaLUqTeT;ccXtXEon19FV(&M3MA?azKDHmwh%SYog@FawEJ4AO% zLmX@KTq(Z>KKGAVep?iNdT7n(Mo)M9)W&uH#P~e&6|;@-unl;TR;TMh(*DRuey_v> zk@#n!&$BUjI?o-`@3*l$#&0@`J$?$ByIK9ZZN9Z7s_@+8JoWuf0;M{X*?VpYZ_Pm4 zZfPPL>n=L4t-SpU`DH6ZS0zX1ElAGUot&{Ogg0eBs8td1aL_~u|ujjAR({|Ez=8R0R_;T;qHma-sn_a)815< zKTAAi8*1n!k%SMVj>GA`TWpSEYRvG$r5y5lAeBXA8+GDC>Hd>-%Q)_J)PFvWz#`ZA z_-mSrDy^UO;SFJ1_4e>19x86{o*q|*(l$x|BaY?;qST$Z4w7M-L{tdBC1J_xQ9tSF z^m+EkTJuq&4W8j$eEJ&Vdw{~`<6T2T8;rhFUqxKZ1H~jrg#^Gufal~vWXnJC^|={L zlYhQ>ZQW-)(dBZ<+g@^Z76FH_Q%S$+EJjb>sbo{$Z(_m%O`7hDIA>W_i}Pp{R$H7y zIl2?WVu6@W1tvRf1+85^>@{33wV*`M0(H_`_6xYqy}q6@8h%J1KO&7Lg-kngqw}!5 zKO32On9BG4vyoiys&H1?YsJDWICG`m+fPI;F+Z8+} zL~!3$$_ZAcQQ8hKx>*=e*}_n1O2DgT(S8;s*%$mezX(ap?g>j!q< zFE)WX1?tg>>+GY)ds~5YF^RXf-3Il<>^~RY<>8%)Nu-Euj!#qL^lsd7ya)NxmYpw) z9lE|JIw$bJc3Y4UL9DpQY`&p#-$;h6xBn@&X2M1YD|}{`z1W(hi;gOEm$J-%7$U)F0sx?A z;r*N8+~!ijfdr9}kx|KI0#E#Hu9LSu;@QAA<}?r%uMdLn*lbrl1fhOZELC59b20zM z7~&ZMn8(x<9PFe7c4{rs7@-FO)HS8sEZXX?w>mn6Pdck=dwUHgBph5n3Jc^*h7xq_ z<=>l%6!6^lZR?zOxkp$EDDzk_u;9@PWp_Z|TK;Qtt-zGaH`cY9E0!7;{kg&ekQ+cOm6Fy^L;;0<(cD8=tTck$ zC;LX>xp(0F6^Z2tv9LWFtNu8opculpG!X^^aF<9@@7N@EV%{ymtwV^R^ppjSrH&(( zw|L{2ZWjE`&_mUuPzn0&7$PnI0Z6k$6~}~g`o3gJ-w5*aS+GfXjO9!&sJ1Xo4Vm6y zA#)sMpZxzGJsna4d-?CFQ+&~kWXxR~54;Tn*&eyYS~+DRZm!6{VBy@+>;pX}u36Lf zho#*5^QT*RuO!oG!S~)-yf^!5g1kW+xI?{u{|ZTS4ofvpFEXzmQIX8h7M>zWue$c2 zJw)TY12SXnL#PYY>Ajy)tgj#AnYUOJ@tNA%MVh2+M+2(il;Pu4bL}K4s09^^j)a;0 z3BP@y%2?oAYMCT}r94>fPuu1Ys!Yi%F0d#(kTnXwzBM*BDT#KpK%<_3wPTK!l*k`5 zsh?{O7SbmrG!cc+xc_)MaCcLNG~TY#OYWP{;J{9M;~?@PH^gbt_^}1{C*5-CZ~V&$ zZ%uJ`1T`eiCEnkbbEfdXd2uQ7d60(y8FE&QN!do~dh%L_ol*2%cIjM2>pu!wdp$Kq z#dIa#54`#kPp&#v$ovt}4;t0|mx&dY3#k5i7v2(W|;@i+SFa9dCksD}orlLU^?T;Z=?s24Lx8 z6H1iu+!&u8Xg=VGW&VZaGC3U+=VfxffLLNCw)!8aRni#;nl_#iW z8iLsYqV2GP9y+FDxY__M4i$!Hsij!Cy*it=r5nj~9}W(h1#Nt@eJiK;1TPK{ z@DOM?cDx_gSF25NT#RfUehTGioDLRW4;oDxV?|TP7l~EiL$;_OLI!=o#$Wqx(-LBs zJef}6v`iXqHCxI5zEuh|%dWsQY3*>*2rv)jf8d0f-taWZr^o3A&lH`S-Dgn%MfmQ` z4;GjIaZx>W;+#vN5C$Y&%5Gu#q45d{b56uSg_@5H?&rc=2ner0nD{4 z)FbShWSa(p?eysk8_pm#JDob!N#2>&%@59b7e#!YP+WxhrVGT-{#$pZW!efB@zoj=?vL zIT>hh{~G8c=!ArE&dhM2MFON|c^f9S(==_8mZK9_*Se6ODxovS+=zSaG1z-Uo`W8P zwgo6xse+zUvktaX;gWIod-H*5Ufc{))3CGg+d}ZlNq?gPwC4`*3gJOjEqcl zWOP(i`xrp18X$_y6vSw{P5DNm2)h!hT$!P+bRjH;<=U8bo*^1v4wu))t{FL zCSqNQ#;Cy7pm9Wpnjz*z9~F?>FNR|oUxE^LOlcDoPWk~Cxga@_dYWSE1jXd{j{f>` zZx)YyzA4E>;J{f(on|5Hr|+NQ?kX`J{Y~t>iF>2KCESQm23hbqg}+Po%As+L)+W%Q zQ(C1Oe@wfejx|z_y*B^lSK|>Xss6eDKL|E38nS55UxQg(jn@hdnFna(A_DiGkdod1 z_w5W=XJ?D_en$lA5oEial7`yxjkX;bk1RWi>JV)=KTXAJn%RdZ<&>~32sx^8k z*~oLtB9z~%qY+@xwnHG*`xo6KS90iN+t$LiU})+AD?pIz2Y}8b8Llqagq2IGyLz}522a#|5c2)olJJ?3P%|8k9`lC z>p05DjqI8NghOPVRi(i+cV+BRa;9l^gP%D`b`HL#^dq05f%9@yXXUm&w!X-;9p0wd zy&n6^g6z^XIDXhABy5vyZ|l3n!_`aorhszD^KT=hA^JqOGa}YM6}XX0v?n=*WxVDA zI5j}!#|3U-&L>i?kv3v*W0&@7nIoN8Ppr!m(TJZqezl`yyNq?YtW3Q4Nn6dQt3!w> zF#Y=0R+8tldT|uN*ooa73Mh_)CC-U6?zzSY#g?3@>myA+X@)WMC)u0aywWJY875&A zcEL%j0f<^UQ4o@@*UpMN9+=)?-t{pkg`3Nl0D2Gv`iSH3>~L_tuJKz9`Fdk4O0L$; z-pcSM7vx81fEpM7&6QH3pFEl7ouI$XMGKi=NRK9bn}f_58mo^i=`b@7j}&aKA1MYH zxYsJ40&zP8ykBHAWovWCW4Sk_1cwVnT`Y6*9Jc8?q;Mjx*`H(!GWdqihb&&k1DGX3 zU^pH?IZ?8qbT3{s7SfuM5Qc8Uj?@L_&+aeusZlKgYen+K-r)j)<04i}t@BD^fq@X% zeyK;xs6gMRBg2%JU3*z=3#6&XeY8J|Rtpi}eP4F`#gl%T`IGM4I>O$S5DFa^2T7RQ z-vrwRk!%ASQ}PZ{Q5_hoQ84ik-@MQ)FdV5TOM0*2kD$2hT&aKGKQelay2y?0{b+lyp?(oBk%K?4b%0M)!fz2{X5$-->`V%+luAEsIGgqF%_4~)qS_G zyl&^wGUUjY7KP?tQEkI|>s8-=L5V63R}PB3O{VUcy!3_0>@+0n+iTVH73_%JNjOCW zCASTelm2G?1mlf%J6fyDA++l`i|kqYb&tJ;SHRC{!Duyvzu37IC?aGh=fj`urPZEe z-i4NDwBFZ4Ew=&RAiB|Y-7d6NUK!FK?taOy^EeWMvY!H)zV8gWl>!+sFb7)}ZYa2V ztp@=o-lY(quWkdFUf|W;>-r6Gcc5Evtozt-0@XH!J#ZI{{yAN#eR~b3i39{#HytqF zk;VmItut*GC8^&97QJ75^bwLaDHA6{lj#_xr7TN z_J<@mscvbQ{4WVl7CQ4J+w=qJCQo0L1Es_Jz2*`euo}xEJ4L`F0JzyNI*7|GlxkpF zW{5Fkuu-4+t+xYZdBs>@1HlkDBS)R*P>Qd@V908K!n5l2oDfrIqZ9;&QA9O zlG+3s_XcnP?R-i%8-kWfO^#vgnVS7@E^}QVTk1=o1+-o03R$ZRro|a^ctO|EM!C@U#M~%YJD|myR-0SVeb0V zD2jHG(lF5|VTiz{om z&2RQUn;0Oz&e(pwzulmAc>R2d=b3%)K0wsae(_bJ^L6maUI+U5KtizB7RQL;(ZA|l zjPYvYQ~k}vHQyaLYflw%LM!_S%-2DG6p>I(nTF764eeXY0lxtAmafZlOa zv1kF#N5&|5a3RalPal_Vvy$yU_258)q#&RXyhtC&2F<<{X z5MFCi0aqH-|AOA_wSb4u82&T-&MX^RjEK+eVzVcZ$m>FQmGKKt$P#A%If;=f8w!ep zzMa!{>n?7zhKObIq7J?Rc#l(%IdSOG^8C7jbpjW{)JNvyiTtD^RHz)?)>XCXuFRNe^jpBc-yNs;rv%>x=RfVg`A2}S-RXa{cGgi*zHJ^K2BeV=DH&2y z8Wcf5M7pF=!a+hxQW}PkmhMiGQWyp#N4mSEyBh{6*$3aVyYKG1`~G&%c{%*U@XVa& z9`50M@9X>hTo+o~E+5Djz;AHVJ0sY314n&c+{BJ+y&V&_#u)GsL2OFoqFIRrz%@i@ias2jETu{S-J z6kF?mIf?K;9mfi-^>GzHF$}I1#`oI%W(KZeJ;%-lYE3UsA$I<4jQS!n6%KMcg|{A3 z@ck#Be(#p%Z9C|@h$L!Wf=al1=X{N!p*)I=oFA*5SG0BNn5Mw-S8*^{SydG;!4yBb zDTMEzcuJa@9%1o3*|Q+lpcdS|W^A5bAw2^sao@&KeGSH$=MHUl!c-eu8{CZ(>gK$I zW5yNwv8N*sZcin8jX>IU(EFS0eLWp9cDD#Yf@Z9?oF($d3@cHe!z6|=Yg29n+xvQ< z-Mj3cEltiD!Y(#BX>z~C7?H``v040=;@BKi|Bhpiy7v~kKONOPncg{7Gss<9^d=^9LzzUJ8m6nIf>?L@PZzovLBrWMc>ZZ#5Y6BwhwbxefF@L_XoJ`(h1&Dcw^< zhswv31Nz+nz3=)I81t8vcc_Ioq5gpdFvG@oxn=xu9gz#zB_oU1}h^ zc?ZcvMdYo6zi9M7@+-o?$?pFEu-J3CVEFZ7G`Ao8lf0yHM&>HMO&B-jmhqiX4 z&AeF_$PCns#jTj2fr~6q;`5s?{w3719&?n$iE#@Lb1T)|epERc7)@^7)UleFc*SLN z*)_j^G!T~0;CGmCu#_whR{eV5m7fFB;P1pCPvh8+Ec-y(%XL0Lx z+_@8zJ@pXIuk!HEqVRCD5ZtC@oBkywXj8;M@%FytxTjWa#hzB8JgWan-#nY*$Ndrb zFlRcyAc)u9>pjoecJhEUIg8m89_XlI-|ErtvZwFwBHu(kDucDN-6MEDj^Pt+e?b6R zz$U_Ps!PUrJhKB&&<9BZQGzZnxyr+g+kPU{3b8%my=W7Xe?h=^_WVl-cuk9}a}q+b zwNBk6eC4PnJ}@ZKbpGrF)uE0FalH3WvWAfaZ?q^s12xaTL*O@vly%%2fNBnn=NKm7 zJ%C*~Egj$HC;KpUQQ6;Pznk>h5Mq!oV%9W)!4W7|tVR+nEQ-Aq&ykWZ%D_|BVcy-f zCZy`Zyjo4UomCs3!8ur6%^{TyyGK@{M}g6i$7+sq6}WWhsM*+w`oy1WnFbq zMf5vg(c!s=-X>m$v5^Q`A4=rgsG6O> zMC6-!koYaMzGl_$ťX3e0SYP`bF`(JVSYNlQ$ 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 literal 0 HcmV?d00001 diff --git a/attachments/1540154.png b/attachments/1540154.png new file mode 100644 index 0000000000000000000000000000000000000000..840eb8c4c791689f9c108146185f1b0996495f33 GIT binary patch literal 47824 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 literal 0 HcmV?d00001 diff --git a/attachments/1540156.png b/attachments/1540156.png new file mode 100644 index 0000000000000000000000000000000000000000..966db4be32f729c1e7e19b4d4c8905b1d254a110 GIT binary patch literal 30329 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 z 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 Hum1W!if_6_ literal 0 HcmV?d00001 diff --git a/attachments/1540157.png b/attachments/1540157.png new file mode 100644 index 0000000000000000000000000000000000000000..3e805ac506ecdd7f9240956ab7a923ba44e7b6c5 GIT binary patch literal 40881 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%0DwWNb!lXJl-BnIOqT-OG2AwUVNW*R>)j!0!e+ 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%0AZqtS@R9>>3G9tSwG0zhN9JXBDsJoK}q) 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 literal 0 HcmV?d00001 diff --git a/attachments/1540159.png b/attachments/1540159.png new file mode 100644 index 0000000000000000000000000000000000000000..1ba7cf6657e675449c9ac46cf6d8daadcabed387 GIT binary patch literal 11119 zcmb7qcT`hNx3?&Y4Nz266al43S7}m@Sm+(33Ov+EiAa&o0YOEi2|@=WaZ4vp510<@0s6Bn2we*<59Mw`}XZ)R8_gF zw{IUkxNjew_2C1wno8v*XWHL+k9)=*`Y!e!URG{)`xI?mtnD~ekyZ#hJv%E~A6KlM z9IeM`9SwtfJ3BjztCXOGW_^#0YU~iFT4>A9abvHnQ0U9Ukcyk;@j8#Qp-%~$Efa++0az1wB;L2_arjxlW*K-C5IGLE~Wt86P?+y zLEic+Fs}$bn2`6q`7@ThK_SeoVt!2LRQ92Kl5oFfD!+{^kv9597G|gBx?B6+hv!sg z*NWVaP6~dvyhtLgk~_YB$IlRZM`k>t%0AZqtS@R9>>3G9tSwG0zhN9JXBDsJoK}q) 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 literal 0 HcmV?d00001 diff --git a/attachments/1540160.png b/attachments/1540160.png new file mode 100644 index 0000000000000000000000000000000000000000..1ba7cf6657e675449c9ac46cf6d8daadcabed387 GIT binary patch literal 11119 zcmb7qcT`hNx3?&Y4Nz266al43S7}m@Sm+(33Ov+EiAa&o0YOEi2|@=WaZ4vp510<@0s6Bn2we*<59Mw`}XZ)R8_gF zw{IUkxNjew_2C1wno8v*XWHL+k9)=*`Y!e!URG{)`xI?mtnD~ekyZ#hJv%E~A6KlM z9IeM`9SwtfJ3BjztCXOGW_^#0YU~iFT4>A9abvHnQ0U9Ukcyk;@j8#Qp-%~$Efa++0az1wB;L2_arjxlW*K-C5IGLE~Wt86P?+y zLEic+Fs}$bn2`6q`7@ThK_SeoVt!2LRQ92Kl5oFfD!+{^kv9597G|gBx?B6+hv!sg z*NWVaP6~dvyhtLgk~_YB$IlRZM`k>t%0AZqtS@R9>>3G9tSwG0zhN9JXBDsJoK}q) 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 literal 0 HcmV?d00001 diff --git a/attachments/1540161.png b/attachments/1540161.png new file mode 100644 index 0000000000000000000000000000000000000000..7340124e379df059d7bd8c0855daa9d6bc8212aa GIT binary patch literal 34180 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 literal 0 HcmV?d00001 diff --git a/attachments/1540163.png b/attachments/1540163.png new file mode 100644 index 0000000000000000000000000000000000000000..a2cc27865ebd22293d77ef70fe3c4236053f2c15 GIT binary patch literal 8991 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 TIkxZjFDqIay6UxXoA7@Fx^9Y* literal 0 HcmV?d00001 diff --git a/attachments/1540164.png b/attachments/1540164.png new file mode 100644 index 0000000000000000000000000000000000000000..818c98401a5096e7ef1e0a82c514f03ce0e77bda GIT binary patch literal 31464 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 literal 0 HcmV?d00001 diff --git a/attachments/1540165.png b/attachments/1540165.png new file mode 100644 index 0000000000000000000000000000000000000000..b7ae0cf9254a39b5889ccf12be591613c11beaef GIT binary patch literal 17579 zcmZVl1yq|&w>}Od!Ci{G7K#*ix8h#hi#rr|rxd41ad&qJmSQdLE&+;L(BOPL&pGe^ zoZtCYRx-I));+Ulu04BS_v|a*)Kug!P)Sf>U|=xhKS^uAz`*6deUC+kd;4Umi@kko zVBIz3Bw=bN$PV8w0M-)95->0g320Ad2yfRYE}!(=VPG)(|9Qg>JC}cffsq!MmzL1- zHa-nN(bZZ^bMgp!?m1gLfAsZk+w^N&^?STk9urSi+5RygK!R5`Ku5%wjVnKAV{Sf> z#J>{^7Ya8*_ggqjiUak1SQBzgITaWtI=ZlsigV6j|3t7%C8ywMt^l>tbiVEH>PZuH z#s1ZA{vN9TNT!7`ghdmKOa&JW^VVDo0<@6g-xd7##pCKewJsiSK$<6NQ^YBdKtF zz;zYSqM8C;hYj#>>%Gz^aTTT>+?zMJPpTwD@Ne>X8vW`Nbv ztsYoZeE26oc^FT5l~&oHd(X0_^u|eU{+#+)jLt~y|GQPX&kjcoq1YJKc8o$?1~Td8 z$y>WP$GW(tS6-3PW_=O0V)J5VyL!c`JbDu!lPanrC7*tlm_J`vzLAGRCzy8r{*Pj$ zV^}=%ytGN~^D04i9Stf5hFz(i^G`&E@(ulNW%MCSJncFbjpMPfAyY@4n&ePLksa0% z0{GkC#x^;X>ITSa4&%+1CrT9^?u%O0ajhKP8e>t@wx#q36i7qr|5|z=@CMDSqPU#~ zk{ty=-0CH9^*Bcx&40104Vo^24@$A=q3f=Ai7oA@?{@gPswyQ} zkG@-MH3aJ)p=(Mc#U1CXbKbzG2V&*>lYm}y0@*8NkDoO80~^o@e1~MO!^XTie%2eF1SPlS2?w_C=o-0Xn*F@%A><8!g8T| z4IBM2lbs#a$IWcxd=rz=NZJxTOFid=(swN=)~@eFs+gXsUv*E4r=7yrX5C(CFypi{ z&4K|-t-^}mm78CA;k+F9L-f({lwLNh*ykZFIB*7+8+$dn#jwd|q(U*)v2X}2c1u+) zs?T0=;bMAfxoBp>@)7+Vtb$vQWMYN9eE(pu6!8!Zl{7j7jjwiPZV@bZZ?{w1?<02+ zkc*yoDoe^y3;iKJ2@IOhfM*SwE&KFNObyOYOy>|K4~qWU2pyb%e7>FrptZHkCyoji z^>yK7p{u>twqr#rsPf5erbM$KT?HYz-DK*%nANlv#!SP zVAh^IDiAL!L#J&dLHCZZAthfKYmMio71SHY@9MjrV~Ks3j3>q~7QR;Uq=3&&NdMQ> z>)8NWI0BYbhkj9CH#|Z#J;$%y9TToHk7h{EDV(~pJ{8_yEd%YH!vor%K1&2H5irWl z$VkG4fcGO)stPStEZeyNNmWGJRl%-a3OCH(mjuE(7V(~ADHKo=oftMLI&)tRBBz>A zNxDu?k~A5J(yR0e*_T-CgeQqo7=A}+*&FPwwIP^Z?tg%7$2UBA|Im6kHM>Fg-Q&AKb4@w4dEmn#<-X5mC>Jtrn(-U%n?M3J79aS@8|B~V z^g&YmT|groo!Nd=P8;vn&$Y+py7R7AZSjpJf=(=l?LBuFgZGQGJsr8`uXiWa(f;GB zSC`!ZScz=7xZEl{E`f9%%=&v;vb8}*JoXqxcH@MVu0T59Lw&2sps0g=<~qoO57ip< z@Ju%1^i$PJ%gc?|g5ROuDEAa!f*7sqPQ|px(C<8|O@~}Z#JvxQjU4R<9evn{*kM(j zC0qG#C@DRCrz+(DYP_5F<#)kIv!lJHw9@k$-)7-fP3;Sk{;U=hVzZ>|N>Q{Cf$?7$ z5dgF}eBMzNkcy(}LX#FV|FBi{dg*r$x@sTjsOV9?>I>hMWu3FLQHwn%*e}SnKwoLT z#HnH)(lcC(@MRhnGJWAQ+Q5KXYD_x9Se8m~%iP*m70vQg`M97TA2`DNZuWbPHQJBo2f;X!I`Rk(*;@dDX((d6qp)uK)jN1SM8mPdk9V_6 z6O7+WjD#A=gbR?3t8<%Vl?d%nHA8>TB*L*8qI;xYuSPe2dH8jZAL8-ODunJisx7n& z0ryoql2HC$Y=QQlOlZoAT)vIw)PSqw!pG3dMg!dfWtWNCvToR(0uyXo>1}z3Y&{uT zItF;^ko~Xk&)Z%E7gATh>v-l$GP;!kG;hu@SE|qOqg1uwd%qV9&Ddi%ZDBZ~ozCBd znzquH`CkIP4m{8K{U0!G|8QGGsR{7A@6k9?>xh+G`Ze4L!#Cds98D1aK&Rt2wuwzb zIVu9RD2P08n@S*AG^WYOzr#D(Zv`3<Ts*gTVelEfxo3i28YG-`%(N9LC;wOi>2Y+f`499CxwGlo+%!+ShB%TW>j-M{~K=SvJ%8LF82{y+Q%hGuFMTWy!{bN>HpQmS8pp^~}vYTVKA z@96Q44!JJbrExtU07*Z+#zD-%VczMa<{)|jsn#FeTr@fLv?kAoy0f;AXgV3v>` z-W2kds-fQy$}Ma}#8X7SA1s}*wuSoA`8sb?_4&sfavK7^i)0%=1cmS-(t0^xwFlWh zDrS?v)G=Q!S+&+QtnIG%1fChZWxmr^>xzBV3P)@sl-a6+67ea0r9voj2a5aPdl_8^ zD1}^}$!T2Rx+v`mGPaP-VTOsrI`yZ~_vCgldBNK-1keLPxwR~Uw=#eSRJcmKeWz&o z=CE~#vi?$IT*o@`Z!TZqZ$DxAdQZ9l=P6cDLJ?b8HdPQ9*jV|-j5*F?^HM*Jeh{j4m!#Vv7E#mFH*m7MsTro5g25>r=}RONC0|U{l8+2e*=psq1hi0ZHh-Hn zV{EoZ5$AA+j&i&FAzgEIw`!(}-MI8}SF#TV}0oFvs<|I-bJS5YPNf|wT zfoR?>FoM%EUs(6+O6A|1S-ee3Ek2m}_?m~~+l(vo+T5)aY5C7?8uexuR{Ph=Ez(AM zE#mp!k+{YXk|c@){X0Y|$-{;L36(2b$RDN1dBT(U?pGCF`zM+A4|L z6W#oSZ?RBhYpY@L;w;VhWVT>)4GoGc;pl!gymHRkq&WWOU@n+)=z} z&=kTmlX^58*rbIhV3h%6xk-{yNzTbG556kpVuCxuk}0}*9D}SVn6av|;1^yA|OXY+6R48KRwzPt`=y`V7Dw*Xk=;I7bCepai{&U#+;_7t4C<>Ec@%zn;d zZ-`n|--!NE!NOAId1d|els|&hAjq+8r~GG6{&K!{_AU4Ckty(Xp#xR0i?)0}TaO?o zEDp(7KJ&JuujWoze~zDyGR@F2EmJ2q=Ysv+gM(&v9%$T4TkLKjF|VvPq9zZ+_qS@m z>cGOMuMZlxvzygyek}tSpedS|+EV{EP}*CFn4$-05#Q?!(z!+E^j~_P(YHo24FIv4 z3_29MfaNOcj!N`4Z*-<|o`L9tiA};Z^{24v-5v6@$7m+PhCC-SN`bIOz{m%$Lp^$T zX?0D3)Q6ojH!_}nByPnbX7e&m?)Gj|&xaii-T$_K%dQky&&A2f6DI39PiNjGnp~)8 z;oWVMfbqNzt3i7$m`QVu@A-U|e~R2I*f~q_yD83|Zdf&Zlh9R@_3u358N8$%&8GA$ zH7AOyL+o2beRzwTSG6%H&+p=PjLq%aBh>o?CzGeBD${E4=f&(I`R2jc9zePxG$fwt z&wrU~;_S<)9}6z(FEGDosO2`8mK@^YtHcT6Xe>-{i^Q+cb!aG>_Awt#lsiWrV9O?L zT^A0~BhR)Ok=%YgPo1ehcG#c+ylkOzk>{qiJqHZsCJ)x18Hspa55Eq8WFlyf`?;_W@<_+?88srSh6@ZT;<%_ z2XkD}^@*)?-G3l(XIgM1%8EC}W-Cxo=w<5`8xu%50#1I*#>R5@w2)nlYjKBN-)L4p zC}5)PaObcQYvbrGI*<-el|0Cg3oOCpTlm;t{!5$Ha2Bdg%Pc8X2KXe?){cJiOu&y~ zy01&$_~uE}v)1Vbn{{_=(sBF&uq}-6)G50Uh{K=M-!=%YEt4)wQVBJi^a)`#;rHB} zS(S^rWa^aA9P)>NJ%X{X#cA66TjrbmwV=WeG`3PU~RF|!oja-@4ui?Z)F zTD(q1Jk{+IHRc@^3{<*|yq#bKJKB{r=71?|qOseiGyx=p{?Fq)I$WiNz~Fn4gy3|| z-bqiSE&cbBrjK4l*xk8Mv!oWZEUW!`7S!{P|M)8xa(TQJVbL`moH{USreia&$c0)- zlInSXa;dp@miMcLy>u{*_t%r$u5R5Tos4Uq;UObQagVz@`u~${leyUcPa;jt2*mk6 ziL`Gi<^N5jQ#k%}4Nc3|&e_bBf`0eB|0_E$al`3{B6*5=RG=CoO}>9G68Iqae}9fz zB41iBwGJJ6<8Q$j)Y$ITrftr1ymeEeY(Rh7{$v$o!ZSmO%bX_@`^!M_LrdhfKPH|H zRE2&$mHMGkW5Ppc>tXH0av?%R#4UQMmBzw6RloG&ISBO8Ord^Qxx%)-)58ejOAUO6 z?bv;1Hy8H6U9vcb2-n9)7Dl0-<#;EqIFdf-S*jR+xI=0fhe75be zs@6tOMJBAB(v}IceiFiJlGBWOVwx!BWcq~2I2r<2nhEk32%I<5>hoce!b}hW<=Wrw2$ehJjyXxH7uI;&#CSt}3t6f5hNp``&hs-hRFWf*x zR0-Dis*|iE;jdyF$wI}^?M0E6ZRvS%@SU}vC-kNFNueKdFFrw7W~o31nO}jLy^eUo z1812GCd#XarI`R_1BxH#Yr+Q=POCXjGxW6{0dwEy3&uyoa@jBZUcyvogDL-ROm&z9 zZc%KTZ?sDNDGSBB3f)#k9N4>)u|7>0yGBukVk)i@W>$i0t@B6QR787l@ay`ePz<_g z`mqSdye_~xc!!vLy#)A+8c;E-%{{Z=u%VFbp!D! zuJ=AoYkrLmzZ(|+12iO!XoUqXirG;(=JDE06&}u-V;H~!1V zeTr34Vq&hjMvMP5(F>z+dj|;N{eJGd*x1P?CMf1ZKhvm1W<^FhzfS-c z3<(2N8_rV#G6@CxF0h9+cZWeaB+7n%*2kk0`>f=uxh*38GoPUcyXz01El)nINoiRJ zLK?fT21nzqSx*!4TJWBEu=GdIgf(~pYJSVRiD|>GR5b}Ss}z7?3O7}Gd9WF`$G741 z@7oKg;nQkO`SlTdQ4V_isFI!-!u?-5tA@YA(CZy%GL5 zyP&+Z-IXBn(hRU>JfSpWaW=pEjkH9;V^46=^3WfwCBlQh*Mn6)*54-yH-qN{UAX?N zmhESk((W1d%llDzn|fhKFBY6fj9Mb>*NIc}3SeB0C1OR#idpe*IRtCrCXi1G`-sv% z3KtVl;lW5B?~W*y8sj@( zh5JkOebCdza3L8xE{Ie#jJ?Aov z`1z)#Y|oD3JdEou+5POB0DX-k`J~BLVV{i`i0$gL9DCKVfu;(<2Md!eiozz2rA^f) zo2`i9{8#y`y-(BqlO_YBkz1Ek{f;UXAVvS(R zxLYd+iJ2d9ZK}vk(b;9;`L=@qn4IBNz7^Ns##(~Pga%3KX2VFjcEqg1zjLDe;vy#P z!Ng+DtAsxrM2e)aZPb!Q*IGK+J7HRj5#oa)`sGzcSrJxKwMRjySG#X}!=V8D&LRpKcc{YU}8O z#P#tTYC6yJYN324gEA()0lXqWkZBMG_ETeCT|HpZ5~?}K6GVd7Vly4V-ji6YZFcf< zt#{lOZ#^8l%zv77kQX$bcPZ0%Eg;9Bj30z7K9NHx>1e8#uN&>EN<@Ltu3v@m zL~`9Ysf-0n6{VQTLhzbFvB@(n!{QL^wT)-$L@lvorzZjUA|V(xxJqGv$tCM!Qz{}% zM0!LAFFX_cqD*=(ztTJqC3?ctDG&DGBKS1IJM(*G>LCX^2+0@tRT#xF2zUMdz4R75nKojurq*Y?(w4;CzSqE+w#HSA8I9?U?HA1O)E!IBckO1u}W^v#ERnvE{ZyIyT8iFIF7~vS<7PV zWl{jLQPIe2%UZ{(OClnHe4p%2YKxMDQhv1#BRa=jZ~FhXwn$t&52QHu_pD1bf9N*$ z3I?04N+9PBpXu#8y&glP-1qiWGU@&RU;`ItXIEOC{lvLpfKukKRm+U~V{uOpRbT|P z1l8QXkArjVlcMjI5n;c&AyZ`DBg%@qQD}@@*y$Cp0uEfR1G^hri%&4A59g}kz&AyQ zkm}_>?lOxZTfyrgTg8PgrV=wrfA0%~)I_Db#d#C8q6~k9ge65z)?+APbV_XoOL635 zv&fIm_Y^1UsiDe;21_*zbE*Qt zK2L)CxGDnIzJ>9mfc-JEFlc4~SAeNrc$^ixw5+VxC@W zK?zKm)tZ=2K@FroA07=-p4hY>9gTv;2HI0R$RIeOEdgN9@ zS@3q+x6V-x{LOaq`*6R_3#O>8#mn=njsB`omVr>F&20q#i*dgq>*I!PydrzD!ZbXr zVuMhJC0XZ!9)_>Q8qam zWxcmmA;|Cb_J}cX#tqDSvhp3eyYMSM%iZu(j3={o)pwN|J)2LMOkX2?C?T0xr}oU_ zfG&k!_zfw?lL=W>l_M4b@_ZZL3kqDB>iX+eKZvW*g%{&o*#1%a{lW5G_zGX;S<+HY zJ*V*EQ0YOP_FSUecF0M|Crn>hpj6fxmrNo`aJJZ-%j}EzYyDPmap(^W#8O$emnrh( zzqNk1O}yo*_!9I}M@dSw37#bMGWDoGf-8;uFpKw1=w%zjeoY`EuD6e`+tjmJQ>CqM z;Y%%RUVn_i2Zp&7;Rv%}h*wS|`Qy!$XMx^RzPzxFp1nSuZW3F1EdwUaj_;gpI}7pd z=(6X@g}>tp&nKVYzBg}*PkC%H5Jnl60u@J{WLVt&^|@Z#*_-}atGM2T?1IVv_0Vf? zASVa{TK;4fv!R3xp}8|5RG}loLb$El{LOd=pPOZHd}~W_ud`PxcFuf(`A3 zKk>sdKi-=$7&jYcV-gBO!rOYs4;JqIPLi63xb*C*31nE&=K7><^jdgiJX&}arWF{Z z>3`)T`MIN!Iy9hFwBxX{W5<(!<@swQ>ENzIOpi^^-ZtMULW%+B@QB_kgN%YJj`!eRIp(Ho4JTN&mK%}XP|^L%}(qTLyi-z(e-fG)KUfB0-1 z$@)tNlTqwJ<9Sild?OPZYyS)zsCv&}w#FzV7mr3PV4edPsw$w4PvB1Xo`nK4VI7Jf zL3U0^CevL`5HR+U3l`KrE%fnvS#c4(#ZP7HhKQadLbtTlA@E5p3w9@!veU5-P7?V&DTR>*A6x@p3>&<@?-7vam{~)iU!@95h`SdOQdC`U>m*jwqG4txC4YR4dYQFXDtHUwdYCavoD55~iBH(6 zNXm}c%-H*e*M+s-?|z-Y6grwZ36z9DJcY1@>xF*rSUX}sOxLO2z4?Noj|bXY-Zxur zl9E$Q#qrNyEFH4Xa(-8>8vpgUda1ahF@xrA8zJ*M*Q%(+(H~7FHpD$|zOB}ctd^Rr2zFTTG&#=9~ zGry5GhYxx?{x4;__hIpX-(!cWSi?E&zPCoWeP7%>}^M6m1w z!&UBEIz@n9TOg7SvWV0MMe^-mU2+OwSdp&{Z6&HM>IzH_i~vX!#uGj9Cu72i#0lmJ zrVjPpMynsC15V&(qhh%qYm5HarsLzeqp4UQ#kN0C7UCC&4n9I~`i%i23F? zT`jm>AIn&2WmL~S5IcuJu);ps6oEPWBLczca**uPq)(k2O4JUNsw-Jg^uW5~$OVI} zv)l)frAcjfuj8hxO&!ZXom9~>1(6o&tM7yYJ5_j*sfazVJ7cexYaJTiZ5#qJSaYi` zcUaiNi+nwQWg*sV+Axc7kH)}t|B`JVv-_r6ysq04{)YyCZpbAX zUp#j`Vh|-nchkkkQS$EWm!Z!1&2HugF&otVuer|;yMMk-&dP}?Q22|joNc!T{S>)R zEie9B;dfn`N>2?UVV~T`2EqfSf;qeg?tYO%6`4s01RNi~xY5)_vL>R6$QMx_3alh{*G<#Gg@AFE$G@-nT-m=crw@nA9Y~7(HfH zfAg4rG~#(<{*H`Wmj__^_*HQ8G>1dT@8FHg;a`GhEx}l(UT!g1JmU9#b`U%OW(M#R zW4VZVTQfUb0&~7A2(_?t{o-64P z3`zQWBU;;cL_Y$U;f5k4LUvMXWO@f*nZ-PeHvzB~ukQQue58J~9^PF0~>`x{n`1oJXPHU5{LAieP3)h>Ait0bTfW`v9I1DUJQPaZ9p_|Z_0A6rwkjR1XEt9T>xJemq z4;mNYw%@^P0b|2i=mTeN$fEDLF^NQO4^Rkojv|`Fw&Wq@8ogO*<2P^=kJw~4#dpMYh2T~VSWGNeAPFvvEI znOD6WG3YgG=k`G-{yMwQ&c5Cr)LP62)wsE6YMb}bcG;%*=}UVDnTL1Pxs@e2<@YwLdKIt)^m+{+ zwM*5~%cU8v716k@oSrv&z4SM*zLH%%zM>efPeR*z$9_J=s0J7Ge!iWZQS=ke3|@as z`2Kv{ci}pG8UO2Qm2q-6k0~26cr8(c8TgUYrEdyeD(Zy+;nz$FW2;l|<^9tb&dw?I zOsAGc?vG?aw-f1ywSXG+19UkEDCtk%0VMyi^wbY*#EvY*=X9mpJI_i(JzH*N4DbDd zhB^Aj;wn)va!hy%tN!t!W;+2&Iob(x!Hqqyf@NZZ!XYSK@)mfhg;YB!K$IeZYll8yZOHC$kTlH6d2@-1(GP3qgs$;2Mj4$&$`}={h-&`-j~td=l;#to!7h7-qZ)U z%OUzgSn5`d=m>}d*DQClHWSotBwSJfq^5)w0GQ;o)%%_8>xWJX7^Gz?K9?2#S1si$ zJe-+4qvr`m)VdTUp(zxsn>1|BMj#E4E-AcL0Muq*9!J&@p%>8Kwa;Do5Pr~bZwYFy z@*DbZiJ>^47#qe3xCucnNvDPxU2znxLyZ}wPfm2@cr_nf9&P)Nh{Bf))-<#eDM9T` z5>a2hzNcTAH~{ybDv-TYFvDHc`!^+q?t;@5xAt99(|;;G3z0A%LER7k^W(fhzjZMB z&-QTq`dI#atbbm*VOY_){$rQwVhjz{d6z}&{)=d1b@HSStg0PepjSL6dgt#jjt8$3 znBmi!CxQ_=VL((g8ko_Ch5AD&hNmSA(b7gz!8mfnQ2^=ytgASsIOTyWB@9D(P0(+` z%)ypa{Pcu}fvSur-xYgN1A@a(D~40NwIvyWQs`O?_x%JRc9RRpNP{F-Z!7SyCwJ?N z`8?#b#I5+4fokD3X7Jxe7GS9Xf?lajCLV)02Vc33f>zvL%vE1igU>5WsIl|TeT}D# z%Owm_8i|mN&za{kiX~ojmo%baSdOdU8GCr|(DLs=cmxLA@r$JgtlbIX&qP=S|4u*S zFMJ<>2TBUiXm%fY%Goc-#h?3rx*(@H-i|N>W4CvHZK#TSndeR5s-1J0z3JScuX^v( zt6F-OgG;P#1HbTI4kqnp(v$Y(IHv)B80&ejW^0xe+TF+H?f(Lk*Zt3O)XP%lBlpxw zyr1rk*Uv`2IU4L6_Q06#o!IoLEnsjB=rx)DYLU5E5Xl@n^ZA$d5|WyZnSpp-yFF>s zLxrzCYm6mMu;nvU2dS6W26x~Bdq8vlg1`?Ea}wOr#yfgiptRDobA^3}4tRihfVp_{ zl%q~WoPv(7%%^Jm_mFI{g{J7IV$v$YX}}~CWTaUo^RkHOS-n@|2fJu?IfiZp{+r{7 z^>9KaoiT$v`ob5Z{80eT0`b@aVR@~l+8Y(KnYU%{ql0T`T^b;TJB{OaO6@X}_bh}# zx?3IIUJuE1pu8(mp+WW$_m@KH%*w4rljriUA~HvfD8_AA`K`#m&(>Qzws4<Mee zMhy5+(IG^q)Q`UUoNtgl&j6cJaSoh34i^+pJD zu#NFT(VIRA1$LpWBQV}_%Zrkufmx{-$(RPQI<($AV;*ic3xc$zO#eKiF~ zg!J#r*uI@2GtWr{WBb2`;2D#DyokfvLeCX`E!Z`=O8Z0H^_hpsUf*6FJ7gmq#=B)| z^4qF~$hK*VD2$Rz*)6OByHv3JbOKCh*(7+&2TgJPdpXx#Tht_-$v}qS&3jj;+B*{HPvZNtmU`^F;kiVM6rIiO`&({7=F5GdpxY~^yM>aX97#B zmK6f2f2-eYp6O(;C66<6>nvcTEo(@l#1=mCGyEZn*PvPDg}2%%agu{s%JHTu@X3)n zGDuDWW9n=%wuRWxAFmpU4L3r72^qTY7`Q=;MQ>UxWKch`F!oc{*O-mBF&=~SBS^K#$e=f=h=jqdQ9NV$gVgUi!_G%N978jqFPW&rz{w^kVK zR#t&>?MhU06x6vbo2|(m-M{kcA4VeI+#)WP`eiTHl66+;jS%{o# z9KZ@X_6hw|7i(iZgNs@?!jaZ;quc7dqKfwvfE@!i;mv;&18{>htCnZ2As$I2wb_~Q z>Oc$W;z(xyYAd!1@`I61?f6QaHC0!%A?CP)tqPi<`XU#H?{^t1{%X7sQivm$AdQIJ z`mkB*U9|8Qh>j*UzncqFbgun355m1Grk-?)_k3m;?|`!-6@~%7NX&M6h+oY%el0AL zXXIBth$72CYM^QkB(S>DjhP|=i0th@(;R(e5VEbg0OwmTxi5QC1fb(vwqyfT&AYMp zDQ58f$V7V{Gkmn>0`J=8SO}j}=QsIw#KsJk9y;Oiv^Ki2ByqYz+R{_3?ZQ$djz^cQ zw041KZ+~KFYN3Mp{^@hm+tx*ilNl@6al?*bM{>T*57TEbUr=WtHE3!^4WMr2C0ih! zqU8#Wat%rTqdF5o^kjW}{c6z3^N5SuwPC{S5z?rO_*hx?^upd!qxy42W|jo_TV1ml=B z3PuKUZKuCX+~qh$in#Wmsch z+!YrQ{7=z085vCMzbV|`dgHN3dxzK(nR+mJ(3W0cl~Q!X19kta0n;^qLWChEj{(Ik zW7ok-1LDA{hn|DDyy?*2RH;+9t*AzegduVQywTr5!X;#UF@DM;~J*4YU^p)?G3AOF1MMacY6Pq#&nIK)yLDt^cG z;3O=t7g2CmW&ZDi+EF$Zq2vmNStD=Yx^^kFdx3OZ`)B07%j4u_VaV6<-k4X|0gmLhp>+rnp=}ho zpB+$?A#-+~uf$K)ZE|Xo=d@OO(O9iM5&ECFDrErZw0#e}i<1pXJ?GJ3^V{M${+6tt z*zfA5Tv72svsLnVPx)f2aVKIfxB-Y*Sn!8;i(Qs(h;`4&DUAo+oE)s1AE>5wz!L1e z!2vJSXCZ;PAuq#jY$Ig^>Y)ko@e4NGU3r%t=8Dqdm~h~ENijyJgqyc<9^QEI&4~UF z<4Blv@FABsE6Cs%7PZXercm?-2lN5S6QA7)cp31RDswt0=4q%0=!M($ld0$~nz@aj zyowP_^L`2q0oJ?+!2_>EPft(#pl)X?ONcm$-(ZF+GWzRf-Ux8}XZ7zhqu5k{*D}6H z3Bc=~oMs4^HC<{3SJ>;E%6AsP=3J!`s2*@9Q)@@l^o^>UjoE$Eh4si>ud@lQlX#O@VTYcJ zxxgtx(jLzeq2RbYkd!1vwEr}Ts)#HW^5r%33K{(x6|zZ+-N*+qHP;WpA0~SWFX}1f~&cntqUI9o1rG`xuURSlzwz_7tiEE zx2^z4HMu)c>%kl8F5$DM`@2^9r|4mMnsb@YsPU)tn-hNiWUh$c z!}Z~}=7EV;#+(|cVCIL_ytHaBeZUFk<%-Gc(y$(CSsf8i>&d|!Tl4~OGT2>3JW;3^n_5$qA#Y?QY;SCjD$L5Y{$~5)(TzjocMvzor zp&OsK8!?AMQIR>{OaSD$?m4Yg2vs0>CA&FAl&k?Ns=GE`uH6iFezr#Lu%A;p)qIl- z)lqU@!r9R=h&7qEiUE&SA-EBkLlJO(`QG#V!AIKv?d+_f=+0Dj&7v#l)qJc+4wvYy zd*mR$qnugsYiPk6QB~u5h}IhqC080E4p|%M3kkP3Vg25rkv+SRc;Cp@(ZW!86HkdN zeA#Rc_!!tSc=yhcfbotjZ`yN0f@Z)ZAhol2e3eTGCez92FuZI1eI`qR>}uqFDz#tf zqm2$_q;!YFcv{QcY635<4U@Y@J@?P5uDn~F9=DHDE4*x$$y;DXA-$#LM3Nen=YoPd zm&PBG5?thJ*+1Q;X=#s?H66<4=|kIUq2MhhUtT*b6&B=Jp+mx)Q}U$4cgaT--VXaA zU$6_RyvvU-G!k0(>sLJd1k1=dWsNiFjFH{-{s@>sKZVdU;_M3rf;= zjIbVemQC-kDS2I_)eB7V#m?JGcW|sO-P_#&*mjj-GWm6Sf8zsEc0bT%VCN55lWZwX z#@jJul$r`i6a4x_YA+lHMK4Cq6_z=tOzFRLHSpWNN{b&VYHx%lWu+*qaUykrFSIM)ap=#|R-_9!{eu`2aLifYnf!Bsq z$V3*)BI6UgfK-31_qepRLcvHe&F{2mK4ogKf_?P`dhX-MV-Ex!ydy!&7$zJv-Q#;4 zSZl}}#E=L6L+tOO!2z`JUbt-B3!I&giCQjGj0|demf5XMyJQ{bTc81bDCIkezNlgy zsVnVnb4vX31|;joGKxCTTG-->p_tNq8ldz;9JFSdbYJQ zs;2FzypJ5P^n5*Ec8QYfGPwbn&7WdyFkc1Hly!HAohiW!Xln7U1)@O&KYY@P4(9xi zUzZ}k3>o2|7$7k&Z$@yWH~RBxSelBKa(-v(krGnNUNOlR9%-ZJE$72CO`oiidM^faJwb zH|kyDy09ejP@%K|68Y*Jo?MW-b2=$hnzuLD9eV4B)e?0^=YsU7T{M%_G zBvDwc-7M)ok=*unXXq|%p|ui-1@4{s&=XkI-rRU#x7(8Cg{W${e3K<)C;lI(5EdazXrR8cF;<~F%34h~3L6`pbYpGind)^_jnGN=LTImHQjt}4~ z4=IKk67H9_+Jx^U*s!rCjvRq9S-^DgWVQ9{ZOyvi>&Dobh_I%;SeTA1kp`eniS$+y z@Rv5Yfokug!!%MbN=)tgKiN_DjWs`!erS~jRKxxc9>Fsoa1MH2v0id;n#94cMf3>R z_U*Jq7}3GRIHmzv$NRbjflwSg`=P(5TU@824|_RDO)r-V<*x@~fKS_EnTg%cv+~Wv zCnRh;XGKDBhYQSjURpRr?EkeYq@XVZK2|P}aLVNCNo7CLI24iOtc2=-b6yyAed`2RUh2^I|& zoiYdr7JcKSxj*7Ij6>FGQMsu?^nQ3(F}W(*xXRnO#@pz@;x09E*AGr-CBw!?$i6d& zm+mV>hPY`Fm92crt{i9D_TBO=zll*@4C3&u+KoC_I&qo=oME>#arQOzl}kDV zBkSVB8posVq;8PZfxD*Krjgo3^Z%lYew18aTAGZ#%U0fN#l%7?CFw8#3^rQ%=9M5`)2D2 zomg0RStxM`igQKTj(nS+sQ{zL5f{ci{XM*mxmSdmqxM|SZqAp&Xs9ftUJl$Fu- zlQMWOUpt34>FV=TPT9c!Jc$Od2LBJGyCUc^jhMdUYs+)A?r+`Wnp)c)5ykb z>NKFNxUGkF8sV^EGQ_t-L2=4!SbA&7HlR*;fTz)-*7vp`*lEG@^>uZWLW_43xqVE)kVVoft}eqn-plU`{; zgCb?D5rl*U3rN3nL)zxSri@+|N1nwBJrqa41?nNMW#GmdJ(!-DcepDHbICe54kC@Y zBTiD^r73t=rWq8pbqoIL$ZrC{*<~*Qm+`B0OIVRc5zfY+b1lYZxSK|PZAjz$6J))F?Q*Lu?wER;u$>pfbuhV z`@%;1tVRgp;Z^uRC&mEgo&?%Lrinia8AQ0rY`B=mSd5;907GApWljluT0BIz*I0 zy~B!vvEG$#S+y%7DjnT`;PDU9_hn+Wmbqi>(g$M~Jb%SAc=Q1!XYkzHwp&7_eL^Yx z_cLsz8_nyE&V^90mK!|U(YF!6*rgA~E|xpj#4}^W)>eE#$r*g#CJUUs?ID2iE9NlJ z2ha!lpbscHgSWjKJX+kh5y1Era~S9Y=mUMw2mU{_O!)k4xGb6g00004na#Z>&F`J zdftcgnc*r*GRTMohyVZpSx#0`4FG@|0stUI;35CLnPs`S0RV7ftR*B=R9qY_ ztnJJJ0G*KJG&s(s>+O-6YoSZ8b)W05u`M6R?=4-M%_?E_7;;)>R8(r*tLa6O@Yr%x za&q!RuG--Doa3xx&zyVxV|~yE|ME-LOjFIw@dr$x@H8_O6+jw7)JTPQT3q|r=JZw& zaTjzP09h751m9siAigj)8P(g9!rB0MeH3B7n^^8y|ELL>8{qhY1Tgz;=^4vrN0yU$ z`}l<$8W#niPp~~rj7@SEd3h7nw+k0`4E!+a1mC0sFFr%>{nvHATkW;M0w6JXc(Ql^ zgFkWug)q*eK@x&cfCz@s0Ur4657->dT44tgz~B3Q`(P-jUjcR4IWL>wOww!c?)=9} zNoFR99h^RKEuMEsh=Z|%a}U;!0e3*dO1@wI!UoFqzcV8TJca@rtSU2`4}nj&3p}qA zA~#3jU4tgD`H>L3ZXIpLbm^$w-7=V zCHD6#^#EJ%e+L8(BL$Lh*g>=0DHHB3qhg>zxCBCcdB*I8c@Bb)gRU1vD21>$0w@Gw z*TPK$kbFhSdV}cD;4s7(Mgh2e<|@$RqSU1jExp8lVcW$-@L(}_*nc46^nKNVy6#1J zhU}I=3;r!jZW9J!^6Li~xhzIPs0Nw+D13e31-bSpA>vPpJYG8d@j#b96s1JvAsKln zrKAMEit{Z0B0k`}LKFAyuwmfA4nyvTg!dg7pRq}#VP8;965=36hGd5r1Y-9x7(Lc% z>4?}tK4CR~@qt_a1;xvrg)|%Tc*Pbfqr;%v!-VqUqw> zM|ent7O2mLoOrvjz9M)deI#gk51WqhDfRV!C25qGe*fVdRpt zkaa5x%6E#tM+Zkp#z`g)hEx4KfE+_k5Kge9>L@HM>@2h?L@C@Y#Fe#`gOdZs`BN9r zU{cT1-jfL^YAGzqKLy)mX2oTN>Su4H3#JI>zO%eg-Z3MJBN`$qBJxB)N0>yQMDRrj z$=k>y$g7Wwjw_7wkF$>>GjL+FCUYmlEq*VTFBdDp_$R^ zX#z2CG$2S+@>s!G)EVp?^c+7!VMDzw*G~IRLf;49SKm5co|lwoxfjhBi5JFaOK26y zJIGH+Z5R@yerR)OKj=spQiQ%>vk>2qYD7f@$`I_}U%`yQ$C9#=3sMwP4iS}Ma}fmL zG~vzR4w250d|`)S(P6|96Jc;++TpD7Dsp(TRB~?ez6n@KgYr1vre)*hPi3=HY*Jt8 zn5i!54H$%2C74Z_T$L~aask*2lxtgm?vBZj_&oIK(s?`!J0st*A7jBI zRHKDcSZQaOhF|?0hAnYymds#`(kQysf3%%mNh#^((Eg z0*3Oq;%k;&=7v|w;YE5w1${d`kNTLJbD8UL(sXjROcqE;B%LN%E6pSADqc8;JSRT) zmJ&0QFNZo_GtS+u@4Vlv+0NrsYGEiZvVpIhkE<=It*)&iHHx+AsP4Gv*suG-#fu5Z z-*bUDn;gbC0V54_8L|aoC|9OyErI{-yYy-w*S78b zVf$efb|>~ra_RW!IFBZ`Cgt*B&9WAUmZb)`6Wz_UZ8+beRI9qVIi`)}jpo8)aH{1| z=`q&Pdeg=c&6>`!(0;NN*+FJw%g)60e*XGx*H*Gk5SRA-ZSj*p& zp)}WoTcpHG_#{NCq^HE1B$p)WMCW*^q>hziPTw>Qq83nJh z_}LflB_HL$jY|(VQJ<58>WL-l4NDF8u1c;G_ayg(Gmtrc`eFLd-9Ic4+LAuA_Pjok zj&QMAVGOxhCRn!hW_7)8#_tyQ7(5;~&uf=OmZrPO{Steon+-e2+h#wsjxYBWN2Z!Q z$*;Q|i@HmEf%Q{8o9|+m1HXtnvYTRCV`Xx`dg6OH`lfse)><}$_P*_;Uca3J@w=CN z6T#drMn1KlLT7NVGJVQHx!Iw=L%+!c$;gm9@V0E10f>OchR^Ri^T+_%ONc!GF97t_ zTq2MNOpLOyQ4a?!KN;$~C=_()WS%!3^94l~!dA$Qmp7F=VTr<|1Uqi&mTlW%E}e!!o>J0lH* zXiL6I)`Vx{c*d*5nuheL`Q7Ej+hR7Vsy31ARbt&vu z7U!mXuxunGXyBX2L_X!Vf z)Oh_ief}d+aoU`PuiDz-c!Q(1jYKLZ+0cDUQMjr*+h6GO7X)PxrkHwPB>A z>N>8-vG0V?c(T9&*j#Pp+c@o&syMP-nGic z$Hneld`E$VX~VuF%@b)p?I|gOuvU7#KgQQ=E_JY*uZJngOO&mc{q2F;#XTcy25_3` zy2r#|F@U&E>&3$6y{G%| zdb>UNfUSeR+yFF82f~c$om_q(_Y=uQWl3@Uslm{v>6Fxv6BND6h|1WAqR4cK z$w2y5fS+%g2eLRZ66YXn&^IDBSwHM`LUayyMY?0VrTDS@4Eyp8#stPbcrXMZI8};Y z(sk&4sEKNYx?4`^+h&4NvU7ZLDrKq<^L9~O!AVi!kDnKV5iSkmUYeF%-`!mvnWLSj z2&!Dya`-daiP}XTb52|E^f@0m=D01mK5f35dXF&82rfa|TH6#EO_@p<-*0+MU7>$I zvU)1GA_|@ERGv~?jqgfd$Mntp`0Ml4r_RUq<>vM74dDd|E(|&XRt|b1xHOnxccb5= zpH*rjf+$=!TsW*qm>R1D|2huMoBwb!d5}PEE11X|c?N09 z{U+5-w5vb%&BaSTRr7wa#tO#@dvCy~&LjLu^HQzq>!t1Mp#^qKvaqJ=vU>TwL(($m zlE-rNrmrseY{_E)v_7b4=V^AG!2`Fq-FVjA_jDLTYVfc*2U75P_fdZvf9rs=fb+b< zL~)I#i`I>KiKSJ>60-8<nd~yT zXRvj5L%x+Z{dkaGUjOh+&`uzHk{Fw${VXS42V9so2YfgInqn~eVal$Y07{d`OSEwfe@T-@nkM9r8u6{h3ssy{g zbJ{afxW^a~eSoz+K2Ey9Dngsf3mpul6w1(yd;x7lGL+_m275W7P1hL=0k0w@v#@>I zQ@&DzLrP9+cRj@LPPTE6YPWM>_;31x)9O{qd+A7`2`5GYTWUfaJ)^gAhriw9+1A2QxrU6;b4$);VeeXEaKiPJ%@ zNvU0-QR1RrVEC3|_{+H9#eRflTj17{m4~M>s=2z6*iFR~(cRiZU~Ay95Ty0s{xtK& z4i$atm_Uo9ju4r60K z4msAGJln|F%dAHp)Z3nt(Q~=35U#!C47mHKe3Ck0e1rHvjga^Wd;=frjnw>1fXTDL z1n40EzKjFt-h!9Yk8kP*@BkcYfJ!VtV>HBH43R*7?U;QyYD4pKNLw^Of*5%#vh=O) zEu$m^f+#^8CRT`cU`w8}74h#t=RQuOs~_gt$b_MnJDOPx8>s#;HOnYydtm@cArrW= zKy9EaotOrN4Fq%Kw8S;~3i<=u9fl#5AQd8wx0Ic-poEFiS1B9CcF7~D=5INYVsg&N zH5#yG7o{Gh9PHw0p`5(BG;7A~@ZSEf)W3OoN045ve;Hf)kmZ?o?f74c82wRR?mR}IAag_sQY}tQ^{el@VFm=IHRp)4My2pq# zo-nXwA+%lp^4|7-T6%)zQ$GT;YjdG>(!KlVB>k{ykMc5ekB6|A6c3k^n1Uc9X#ERM zj8%k5m{P=x(>T2Ylh~QtZ2ABd=wKHseqrMHPh;LgYC6vMf>j&b4i{_|cSEf)QWiE= z-|s};*xz+s6q|k9F+7RYH&yp_Wqvfgq_|R^JxvMFc#1S1G|@NLco?2&wS%fbHa$aR zeJbFaGS#xW7EEeXWZE8~YA+K3iRVTimIM6j{`;bLT#Jc9M$8IpTkrFe==iBd=6(Be z)O*rzozz!qGPFN8#0@*Kfp|vWIhTs1{}l_VU| zb|>OsIaz2O$H@M;xV-no#FXU?s#phVc`bvOn|^RFkcDZ_m8A$rXz6 z|C#RKZS%E5D8O0F+xhloHPvJyvS!Y3qOwb0*?XdUwa)zYb1F1AHY#^bMBsw>O52Y^ zcm=HLW%c9(E(>D&3#mj#WEOOu2RHdE77bw#sZ4_Q4;~$9JCdT902^W&^dtrj1Y_`H z|I$vOlUFO8Ag(Yp`1S2-Tl|7TnQT4|i4J|?`+{pDWIMo5bVr;`flf?EUQ#JZ;UStg z>X}lGZj8iQ5I=({H!Jp?B!p`SZd`!@qFmKRv0ex0pHciFw;4Iz_qq&~)6dcM%m(=<@jG|-fgP}iQ&ST`K`#-qk+&@-1ebCb*- z6kb@?unKeUAL+-4a4wpu*DUZ=*3Mm9~-L8o3$78H^vv6^Z6e%nDXeQvRdBEIgCBlt!Mt>MO?7!5zxc!WsK= zx5#(_vm7ZIxn6UYG;Mg#0ygxz^7qST=`qI!(xr2N(RM$;lt#RuCdrB)HnH>b2W2 zV85;Vb;;e;{~O5f@#!;WZzNAy+oMBRWPN?Tbk=THQ)*r_a%rZ+q}nk@O{laHt8(T8dM zzyS@}tIp2H<%`uyho{F;)^(Q8(PTPDgVp`fR3t7dcji=|Q5>2$eX=>eDG^F20y#jG zUJ5>4fhKZj@BZaC3Na$!LKv)PU_eYrI8lu*o}}i13=sKzE?Bfd4iT^9)@sYAyP%}} zp7Q-r;`f&zZw+;IOk!dKu)pM#Wq#OrI`0Kz@ZWB~x3xy=0S7gC_Tem7Lp9&viP3Yg z^&;ZsL0#e>>D4y-g*^kG2nhuI^lXBCC_;}Ub)V%8!&?jZq>GJ4)|JQnEWG*eywPNp z$=3#Nw&4ZeQ%O$ih6DnHp|fE0rC|3FeJi(T zM4D2pIvn~-!C2w7(AMIHquXqUe|@{HEX&vA_;Hn3{cx2&mH$rb>9FQ_#!)IURdWtX zq6@F;XqF3yota(qlA)4m$f{fz_wx!>Dr2sHEneNs)VjVIF+1>3=4*B~2;wPP?rrY- z*?Ae_@J;P}atR?~#4$X&$!JNw)o6ZATtvx!lUZo?;Itvv$3(MufOPD} z@WDz(=g-2JE`F-?$h#$+R{D5M4qYmmA}S3#pwFnHtX-ti*ul=noC}(+BX}XJc+%! z&L$YH;KA^zCTb}!JyZ!Thm;|MS`Qy%acPfK4fp#s`<%iUC;=+3NDn(9eJLyP4v(jw zA0y&PD+HFDG}JKE-4>g#jc(rOl%y<^69RiN4ogL@m~KWB)9UgXS`J!RF2_|{#oRNK z*1L!rDIvsi2p;C(-;Yw=!6Y97{OF>2W{blg*6Ce(l9@9sS)xt+*LF)yKHguJy%ZlW z^s}`OZM;;qIBsyNHr2Ko*@+mdtrr^t?1o~dLXM=H?=YGUrTC@_T^-8AbbI_ihH!yV z&i0Nsq{8IE24ul#;*&d0`@Q42%^2flk0OU&s=itdxay}hnJ7u$=f1u*IbRqyKT*kF z@#RGd>0l-lTv%Y1@jcHUK@x28D)Jj@torueJlWjFGzlmVH(o6kcqR4xSZ^2N^|azS z9375^BexaxU|O&1UO6euZT4j34RbQF(;*vxa9NEz5-!9`7q z4+u=$4IZh?G)S(BsF?71PRxgwLfVb#p zc3AA2*C@A+a`4=ZDQvqG7`f*>Rg9haN3o__l~&81*>2NS#ha6+2^K>z#ETGBOGVah zdn>-Dg-xNXO0I&YkqR8l!_3&CnH3^Y*cSWVdFqsD2$k7E<-D_#$F9LXe8CC`)UCTa z-ZX$k4jTv#p5XcHoQlM(cj-uz2iftfn8;1ckt?2YvCZR@B95!7YJIQZ|7W5B&SGZ{ z-_Fwdp}^hC#=Yzc&zvy(#ReIqRPbQ4d(WPKs@ZQO|Cd9u2fR4UL*{2|S78^<>rJ61 zlj|j@!`-MXh|`#iN5;F(x~f-qM>pU7wSg^~wp6zpQvII8Fdp&(nN*sa^KxeMh4jT9 z&z~?aF^&d3v}s&<%2}t4)3rScIKsv7lt^^cJ=I%&6y;K}7Y`@<>)ID3*}u)GD{}I4 zc}Sv^X2#@VJ#Zb?G%l=6guE&#+GciQH1)I(CKT<>N63W)XuCW(&5$8_s|`BFCni>> zl(PA$X=!aUhTW2z2vI_9ZEWzgEgJY}Xnw1;yBv-S`@Oz9_Tc^EwI1?1zY|ItEOeJI zhC{^)kuAuAuvaxt-;<4KVTAKvRXK>h-s&mf(0RQd_DiT(l;Trdv_V}Vwx|@bRkTl) zN5M+c$#A<&N55D8_5jAd-0tbIUvCa@XSBLpYtq!ztkP|Yh>f)zfEAaW=aefa&TPdt zg8i8(GV65nmF#^~3M10_ZEk0OPkXZSjy=jC?ER+yV*PcxdPUxEcW7w{XUK9D1~)6! zSgn?Tq8KenO)g>ZYhLUi`kl0nAymNs0vHJ;!0q|QICOwqi&joek`I<0bzSmCn-sSW zd^R!sRwitz5sMbN8BlEEK8Ti9w!Qsmyti=&iTorFO{fto6;8GwBasx(V*p&1GT^-7 z`CsS}y-lT2%94d?$u5}8#j4mx%6>%05}^6%6E7k>5Y|f#x%#>}Z-m*Y08P8+{>v%s zy}{q)%gy)@$sR{D?0WQH+3NboqDVBA3)KI0@Bk<<5>|lQ-GSV#aa~ZDFxoMk?^f>% z+OY&t-s`Q`6O*HCC#yIPdk4m!Psk-1WX-?`wI&$irAy>VJ!-g99_D z00}ViJMuf&^S#JnW-Ei9*EB)nfkCPf}RIZFG<^YZc6e1Vt!PNzXd)gN`hbKCG0 z2T8|px-bs%y1-HilXDaHy4deQucJ36@5L)1^d@KQT~vZ+!v72K>9gZ@_vW>gEw>&M zPUNax-Dv$PQzlgz4Uzl64)+`AdIV2KN(%p(@YQk0aR)52=V(Hz1Ig>zh(Mk|rJ2QB z_ja5d+I);n$}b5)U}@GkK6$p#6X0vZun#z2JTd@Bh$KCgFnzj7{k^ z*)13NEe$y%lywg1Fh-Hbz!x=k=DY33EcP5ZvI_bqVa!ofnTMtrc)NG-(*HrfhWcv> zs{{PLqY+@(|AxJo8E`W)1bI;$hA6=Fz@hNeJ6gZ#&oD3rno386-OX5nt69y1N!bs1rn!M4boon1u*mTw}@QY`>BjCC(`xo@vpc zRC2binc*tukF$wx^U)e=_W7I=H8l!ZKmGcl*Bq{@Du-CH1EZCnot~n`N)4s==jU zpmqB?Ak@EGyMDP0p<9d zP5_nFjLebO(ld^|u{TuHEZl>`N9_(urV?hMXJ<)A8a}2*|Lf{Jm?;aC+yM<0w=wx< zV9esbqu-W=RUaw`39s*at^lV2HIi9eF7M~KktcSab;6(d`GIVw2Z8sQkGGa{x4DTc z?WHmQ@n&4aPa4eTg*~WparBg0JIK;ja58hHPDbMJAXZ69iOkORYM0T&fifUpCMKZH zF{0k{?KOlHTzkH-$rmk1x(OQ9zM}CIycI_}+>v4J0xD_%T!(_1CQvh2dOB101qZj| z(`G9X+`p4)ye^`it0o$1n^BAXTiwT|&{HGt*AVHqJ>)SS&rK$6{}QPlU+>_enM5zG z0Y6#rPFcK=J_f93fjjSo+8tj51O}E661RLVLJo#z^lfO&Kyau+ABW*VpspX^Qv7Dl zW|mW4ML}fXukWe~3@N@SOlEB0vDcaq&kK6dP3(cscd-w!-bF0J>EL-k-nCxa*}~D( zvWHdXTqiv}-3^H#G+>mfsM*THK65G8ajg?{ob2a7Kz}z?&7~+%>!*3s` z5v}5VKJkd>tR~3%90Y^Fce${LAw68%$X*dhh+A9=;T5t^eE})IL#toiM<)Lg?SCQQ z&kpMZMp4s1Ee6dpDDv|#FE-zT>H;+cio6FTi>xH7vpb& zhuGn_+k+Ay^@k>LEQ%^B2<_)5#Yaoy$91_T=f&f*=D=rG%hQPDLl(B7hUQ|zr5Eu< zGnJ;M$2EskN9`gaK$op_sWp+ascTBBo;fzAlf55gnViG0w)Mw4X~G%-mxPngV8sp! zpomaz*fL>#`j@l(`Gi~C;b2Zp-fJE%5=7M!?%G-j_YEXa$@XUNPVe7ppJ9Os3N-0z@?6Mq zQ7QJ1sOP(rtcy$@!PHUIcAh%F`Y5{B!xwRwR-U7ATe?rnAjZU6Vkv^f`vCoTbbr3~ zH|&y27#4dKyjxP`r@Na_xWB~b}%JjSi0HOkIJEy0>D@GWARgS=EybnLMN$@+Pg~H0}=kKdUV9%{R zx#(RNM+rAyt<#=B1q2yrsSJeb7>Y)*2zMlSKX@k&a55CxZL{S_q$`5i?&5S+p3oCW z6%w%waeXcXIbP~V_8fuA)6gJ|QTta&AG`!fHofku(%6l)mz`tv*AmcN>|Q2Inj14e zo@@7NfI4C9hIj9m-vlom)7h`)9?Ja~4gJot{Q&=jXGbH~U7Z!lYVgDvUNe=!ws6=1 zYyoikT$Z=VA~8LduE%erq+0~08K6_f8NYf203e~p-|by-Rgu0ZkWE@)zFaHdd5v)U z3JPE)Y;$$5&3k?ZUTRCs1wx?;-?pymiU*J6&PNIxH(T?ceMG~=X{ zE1oOuX_2maLGO=*Ho3q3%z#znJ*dc3P@sP#esSo3o>_bMnfv&q2M|4MhKUvS z+?j5nIUdaH^)#DZcl2v7LjwTXmB7#8Um9@8AN{o58dM_C7*=nG8ZD1fA$ixEBtqGz z|33EEfIH@CYyQ3+wpW@d-dFxJmF>B0M-tPEks^KI{ak4A)?5j_c9Jv7r*aY^#fP^Udygoc5Y$xay-%Hr6LH z3Kj`*-kv*D#Hy?`?%PD++}E;31s3K84K04iKW>>^Iy$3kn47*!a{ivGHuE}>*y&_} zTs4J1sD^%N#)iK#YbC95a_{gB8)NrT2W$L@AmmZ*<;Ifk1C-q|I`r(JSmm%G%4=n; zG1c{}D+KQ&h~;WJb&2(-D92D%WI<>Lcu1X-kh5q_bVQs4`JvO*VbqatVG>!PQy8Lx zn}t8$8Hc%#ff^$myE938(2~&Usdi`q)f5y27nHwb5B^^ay^oNZUTD@T_ZhMh%njim zf6Xo>PqmP?9{oMVl1OA70HJkDV<$uhQf#GWz3gW+x^xxz6RVLOB*1|7|rfn zE}tPed3r=R)mLne^|^R2fRGI4kSC$^S zah-RV>N`L3OCXib@OY2z$a!CNpU6ZK$#Ag^rDj#w&=6xErn+Fl7_!F4lT?2cQ6Ek{WK zT&{;@YtIzJ@POU`t3|zS($@PBKGLb|$AupL%=6QL>j06sbCKuQ07C&-mFBalRT0vT z!|h*LNoqDd54SSTr?IiycRSB;jzG7wdJyTT76ScNgLZ;RbHM9eG|v{V%|f)NU{f9& zS{Zm+OMA;b-FDL_mX!}r^7B$1_{@J;yzZK4R-W@?KPEiazO3DPZ?esG+t+6A@D>9B z$Jg_E{<l)a49pcR$;fc5>h?-a=(H9Gr#HY>E=KsbteP_TL5ar0wgrdn@X zhwZvdZ$02?4>Oa24xr{&;=$r&Yv|P5cw8KPVfX6)RIp8Yt1d5woaFfZx!;Exq?Gk^ z!DSB>+SB2A=JVwsm9)d-JU^Ahpf**F0YXUaN<;&j`(ozBF2IJ^gN3}KIo&*Uz#-Bl zgBT@o)1v;nqDRM=F^@ntcPa<}xHU(n6nofJ38pxcRwCcDbwv2r5y^A|kHiTJm(@v@ z4nCT3EKK_tSKUgQIzqh2N`^>H558=a%qi;@zRG60%uVYiK0EG`O@|f%eN~hO&7%qE z&Tp;xPLiTCQDU!+zqn{2scZtv%ZZBN?a^-YUoS#&$@qiVKE(T(WEN1jLWuYc^`JjZ zyjXtfK;;H4jsWdq=y|~M3;VFQ$BPmC#IwOcJ^u|bOt8pssiUoH&6kNAJH0F@9{Gd; z0;;yciTW%*{&rY*Wlp`yT_;}1fZ#YPxeGHi;($ei@23d1qH;?@*PUOlhONNWZ8JhH z$FAR$eghQfyMDVTP+58}D=}xZ!3PrbsyzvPE8g0uQg3JUbsFOtDV$EV(D`YsS5TbL zc%EwS513jy+Xfk~&YAax+Y5}y(zJOvX+Y|XcOTE=I-D;wA1`V*^|xN11H1pWD2^~n zZ_&wJ)#k(8@i_MWFake4C(*X4&*0HJwGJx6i_t|n4>!KB8YayDDN}bq3!su~Mft=s zrI#0JfiOidMFQyTt-Hw&sg~KVHCrd**bBFs!wd`Myw22ObqIarub0GH`JQDu#z4~- zafaPW?QfCzNNp?GXQaUo;dP*?OC9$HZ1dFGCs6V2G3g|rBs~YI0hq|;)0&N=K$pA+ z@dV};O)39kMMci*;1@y}uVa66K@!MxTREUGT zwVSwUl%EK(f}i{69x5=P)BLj~G3R;1KpR|EZn62c*YouTSDnSc}l`6=D&p)CEWZZZb8eWav z;2@jEN%h;@Z)r(zLQ@roe92rk6>JUg@g2|HsI%mJI?k#9X7KIa^vt zh!1N2P%qXxLzZ>5FJQ)qao<1E7iM}d4`PuETG^uf>-n&3}BF|sAG(N z>}t@X#4Hwa6#Axu6Xq@)7D2`*_GVoR2ws$tgQoQ_I#>Gh#@H-2i*2OjfJO6fl!72vt^!?9`P{x+#TtlRi z|3U=~-l(#5V#4{1dYT~jC)#629Wx2JXB}$S+tB3Bw zPlQKqW-K=hPYDQ)>-q?ztrmIRu&lAy70)z$zaANWh>rdnfPu2&LekZ?Ux4)V^L)H6 zl@sw98$h<`g_---xNpyqOFG-^cD$TOGvjp_uU*o8AEu@GQ)N7H-q9iAr;W?gr73^R zn~_Akqohn|DOk6c87Oeo9D?evvpeEB-3jaEhXq(SK@(TyUff5849o|J@17-mO>&V- zTF1@TpnzW8V}A;^YAx?1Dls&cvACY7T@QqC8Co}owUhVN zXc`Gc`^P-Mn{IL-?InFqITeY}p<_6uChsTh@{f|#4w+scltP<{;+d8<1kLUGWcL$H80U<+YS5&FNAB3VK?srlsAT@^l&=~?o=Xs9x13mxnwL& z1gjuXuTno7?zz}UX?|y~G!jWNNXT0alHtzs@&qdD*VWK>$i;7h{D}-?#&?4@`>P@m z`L(WSQd9fN&dj^~Q@6)1s>b|7B**WO-y=L$PI65zD0wKJ0E$;%l-z$iI{+UznC0!c&jn1QgOC8X<&AFqk4_UL+ix zfmTLPLDevE!4(x_iuUcR^fvjaekXk1JEkDC40HRd=Y1*hMZcKfpnOOT!JWqy6%LaQMlJJ*IT#O{`qA~ z_roohy?#ipBGFrX?$>a(VfeCg2GzFn(J|om$@<-t-i-glXG>Sd#=;WzAF$1B>^u%> zTt4-UzksJ#uAUEn;T1qWvxnGeNDWDs=p$*9@Sk zIUtWc?99y+l5e2)B8OV^l^oBMI_&$T$VJ66tA7jY0Th#Qo7NcnsB8j}#nFs05gEZy zForzyZFt#_iJ-4|X$tV-vg+k*F|KLsD#7gkB3KBi|DQkq`6yHW>6*LL!DF3V$ANW6 zO+(M_Ja|f>luAH&{Y_~D8)a7O)Vj-O-W!1>7)?`ie(hng^0bG9{+2;E%_jICjKw=6 zo@~X+Y#h>;idii){tOqLZSd1-*{C(PMEyonQw)<2lh@&zMZ>yej!e$*ut^@svR36* z%4bsHISmD2h9(C{if0hxhAvST+xr$#ibJg^cB7Gbl$UPnZchE_bb|iu)Vp7=CO^*pL6jCADI*gd$h!;AG?;Bpxh~ITcod!a-4^Km(f~w^C1qV{ z@jE;dVi32W9p=^1P3yTF0Z%iJl%O0o96*cWof0de_oofO;8Dt#6*ou0Dw$a=8OfQ2{yVmU-wR|o+SkPq$jQqvKWf&+e^9&mK*U73D>7TBu|SVi?w z_JWL9qAC#?)=OpDJVJq;K&eh^dcf*_zH`Ggo^{JBxwV|c{O4eBrbKk~{Ehp^pkvZr z-h-!lL3jOwh4KGr0iw{zf`8K9cLST4dj#VaD)EO`9KK4O1>B5gD*K|1cD~JfHaMU)nOI1YMtOL>vUr&ScnPh(@zoq(jBenFj zH$|(Ry;(1rqIT79po*5Y+ixwHCo|_5yw8RvvW)nMcwI$qCaKw0e15PQ^1UUScf@LH zCtYpTADYD#vX}L2?jnSKLuJYR@1Kfr!*8+LMA+9P^{;z57<(^jAbEMm8us|h84a57 z%tXb)B{lyLr{`LCezCl+d2fBEmV1(giR_8%|3hj z0mrwu$2X!6;3jlx$I$a=KRfAmks=fejmC8y*FY8A&>oErRI&%VtvxFTv; zGA-D9bL%ua@5}Xkudn%T8la|z0Z2+oCK2*q_>I}&NpMm>66O-IIRJLCMj*HQJxG20 zqwWD?D?lG%5EnAs*O6P5V)Spg>0|^iv=Bn|KJLmLmWOVGCP*xC)xza{;04*v< z=4R#Iot36&fO!8YK|IF75y%7oxnCVI-QvQ^+wpX*ppf+yQX-y}w&16(G!b|DK0D-+ zgk^8;8rv`q)y{S23Gi2s-`n}AvOjWFsDa3jbIXo&vm=t_&70c?WnfP2{$8kIJD=+y z63Cmj^W$i`1|2|k5aab&?LZz7h+#9bV)vDN^RZ9IPwtJb)`QufPSA6uhXUTPcTaDn-jNawtkC>$W5$`0s6>+1mHzwm@0~|wWu<$~@=NgJ!6M9zztGzRH>>_C%T*BH{NKWolu2)I z1b}Gbh~arohW}$E=!K^9W2v=ppMcGfsll{!X$fAFDRqVoGbvyCLVq5}T)ABNXs z1_BePL~f~B&;ad%q(SZ~LiaPf@NiWu7=(LRLwZ}altZW5;)9c7b?S~zE-AoHlmkxg zMw_Z`^D04Axs9Jz>z8^aAIQa*5l`%7lG0KJh`d{Ndc{P&7P<4I+SaspqVFu+a4^Ag zuyeGe6o~rRXCl=869S_8SOxu52xn@N=kKP!-fL?Hzdqj5_A~NO`eW$m&{?AesEVp` z#z%APvVKYuUa7ZKsLAP zH0)K)#TrY?*7Fw-p_QZ1(Nql3Cyq0q*7Furm9N9i&T2_X`R9(9#QO>lp%a?Uz9(Oi z0d(?Bvg>sX4mAI?^wX|PG({DzW z(sbYu-^x45QOd@S>i6SBg7dSF@@T%BH`Vt?Qz2v$&(ajpz~dzDA=%)_G|m@l`asEg zv@_X6ugd@+>IVn;If2mvqb4&6l-$KyPE;dxA7R}H5&r%qm%-Sq9dHs zifU`taEqbGW@o44I;7*7luGz?G_fg+oLjSK)b^3o#z^cJ1-Am_>BRq;0Wm~SY!U0S zv2=y%mzw&%IwvxfYa^rl{9DM6icPWWSmo&Tzm8`Y=X0A5J!YQi0}je6MM=5^ds!Am z_5BiV=G?1UvlgYdF!2{rUn?A9m8r32_c^X|(^9b!Q(;VZ0(`bA@!6a2i(a zzNWWgSY_aRfyI{ERf%}vk>n*56i2H@z7WpM2>Tex#PQ*Q^n7B4ibF8$XKmc-W|FfM3iaxUfyEm3DxBJMj zVITmrxy>273$NNW9artYZ)H}@62gj&qqsDSnt%`~Y~p|k{>( zhf1y~92=4cj~qHl1?{#*C^k#n?_(q(*lm~%g|!PDPYNq|bHsI-HcfZ-{gE_~tHfq7 z;3l)|9!ak~=0o?S$MiMRz+kXe#Ho9YG!Y)!k>oU-elld}RqP-8S|ZNU zasPI-elimm0vl$h$ymsuy1bl*NWWhR_V7_MaEKhI1jU3WQhc_39=(_%!|6#rm?6xM z@~$`X7RfNsllfTQH^r8@#|!73vXM$$bvj05`AfA>UJd34&F3Rm&b{4#(gwtCj}Pdo zD-zC2Fb7_CC{|Tf^`Cr3i1JfoeqrsO%91?4p`1Zi;yE`ajw`CC7^8~iGpW>u**hZt z9parU;?wiJO?q)4SCK+#zh+U`aAb(D;S*Dn4;emziiLMMpj<#LKopEEWi1OXD^3up z1Z#+_h#dsOtFF&KBYm1ff0pOVCP>tDJc@1kKWx2aSX5us|2>3&N(>>ObV#SP#K6!XDc#-OJxEB0(v38Tbk|5DDJ9Y+ zAl=O{&+&KP_w~H_pBM9DX08j)p0(FrYkfa!ov#%v_V{yw0u1(_zDAa5c0k1>qEuhi z_R?k&@0YKJ<2&R%-p-2p$v7yp{V4wbX_f!uZs6e4G|GSzi7U|LP9!!ei$!A$4%bK8 zZEos!t&ufJM7yp>7${o_k=^cBFY>_oZAoM+OfMq$BO)mxqRcVxuqFRwTqiOW`gDsA z-ua`Bduy3haPPXgG|$(jVd&G<{KdN9Yg8!nO*V;5W>#f{C5 z=l$`2-kf0G7D*k5Zb9xBz}M!iZ7))dSCV;R^+@aKFWA2y?ka+YD>B-Ue7PJ z|I4V(Um~NUqZ1&HE$`5X~1VbeV^1HuEQs~oM9lIkLCV5QVK{HW}eSWglk&lKLx@< znZ>jU#eVY_TBMht=Uwsv^$Q5Z{3DJ}+CDe;^sQx<*!D;Lh_$o58PF3`t zY@=S~*vw)p{cL;o;%z>?||$m9*NZRekR|02`^v$jA)FQ;_l5_1O~&4L}*5 zVLeAz6}S%PVGtWXKEX9fNCvKyl+(8_Ujr8dgPXiiWPp0lf|-3Kt)kf$IgUK!RR2$g zHvvJ3E_GkoZ_|}VJ=U^0WC&yje4&=A83HyNlU_R!SmO*L@+P$Jp%MF^G=zlwF}fgq zEOkIB^M@6WOt4)qKM~3a(+j97iSxhv?4dp#RAg2KDd6+)hCw$=#yVD5PU9fJ@6pC^ z=Rx^2%N>kJ+3%2XUFfbgDY9Jv=*ghF-BMMiiHk63ffI& zK5C*4rHKXYB2RhoXapVm%5i{YpdCgE<=lKh4i?PF;gOR4+fB|J4j;rYRF~&4OxZsx zVu9G|+Z!4@CJUs!+5<<^xdANgq47^_rIx*hhK8P=p0e`z-^s#e$HlAN(!45zR<}Px zpXBA`HSnf_xjMzMYF}cId_3(%yCFAQiNWr!tE;0B_6mc3aawLObo=poa&i)fMNvs< zY^Brx{Ok-^#py=-IRJUf4IB3{VL!`!No`=~`cQax5WP22M{DNLuz7nXCC9UY##o&+ zhipF~F*g)3j~c_BZ!UOr%@M!ri~k!#0(pLO( zQyO1iU*o{b*>rAm44hXM{8_qj1t8iVb=gTt)8F))U$AP8=8E1AvsRCej{czz=@S2b z^PVU?&_eS0i-Myt@JG6ds7YQ&U^Cp_-irEP9sK&1HESmtQz0cQd%ZXNRlnJ3vDw+U z)6WywGILdi^O3V_)Usit9vs5GX~v<6A%v%bdEH!M^9tx${NcT(vD{gyHE-b0VJr?N z8w=EDy)Q9Lxwf-UsCx54V0{no4zvI^MAD}+-rfFxIG)GN1TbnCluZzahz^}i3a3$w zmw;FW=MFB30!J?EIzzbDAxK_241|h?z1lqHGa_&?TX?3rc-Y=kqn`aPoO{j%7~$Vs zJ|uKB!8FXnIQNASK%=*L?w2TK{i@LXiZwnCWk|C9`}51omoKMFRq)VJ1Mjc4+@hTT zwwBz}Msk-gx}Z|8aoDUj_7xusGxIJv-+*1?)!rBP3ifb1NagPC?#NGO><4}s zNjl4`^j_2Rc%@TXTDsfhgglF9h&ptfwNCGwt*z}pBSMZny7UfjzRoPs)X*Ro^=oKo znAtg>y=GHeekVamf*_eWv{^-7T{Trs0!ZyOjHYPy#>qj02-P|U$VDN}i|GnnqKRzW1BC_jlQ@D#|zZKD>XAY5neWau*(KO&&cQ^Y8K+A^DhewC|W^RjOljRzut7 zJ%DbJ-aIFy(gO$9mnT65uwHJ z>pjHB1*o)J5+879)1;Ib2ti!dcMJB_qW(H<5()|mZC4BSX>7W6R%4kT&@iFPMQ*s{ zJJBCn0G<|b$B&46@1q%^;TN6*3;SLm(8G3@cVUOx3KLQw`PxUM-Rn@V)$KLN_%oHo80l|S) zoNp=(>*$6kTS>^?M;GxSWAycO7GhyA&VB15Y(QU-2pVY?3kG2<7ZblP#ev=Rd~sEY zhZh|GbQVLn4ZY}PfbgzYMI1%N#o$Ch;a>?}6JZ3e-X}}!kVRoc?Uioho0M*=DX1KS zOf4U+?$MxbSa=?^qUT}i!(KV-N=gW{ao)n2nHgD1UkhMyfh+D6pP4$h&2K%Bx%NA4lHPmlcy|4! z2UF|JPqTKGKqsb=k(O3!8A=D;YXrSC#`t8R?EU3_T29W`4D^6qfq4oqz9KLTHT*5v zdEA+dZ{Y((f5oca(%PC33iJe|0i1o*uE&Z00p6@RSAI2@S!@D@aB5D@a;>?nf~_FA zOq=!SJ9dHeY<*<|bSE`@D1X+s_od1p7hnhdTif^+p0PcP@LM^$-D9@3zKi_cfG ztQ&tXc<iK zV%><7^Tz@^J3ED-OMXjL|Hw&G-@O@%6GFnfdY%q&DfYiAe~gYw-J!moiOY$sll>EB zb5}*3dlC`0M39^16MqHwnvnqGhF|=#jrJ6H^^`=WYcO0o&B(of=XqKO?^Y}4T+pD| z=#$%sRiE|7R%2jnOlxRG#k%TW#N4X9ZT8uea5bf{p2vPl;T>+rkX@swu<3B%CezE_()1Mjt@qTqXqk%yD3~@CI!3++8-6^& z{B)#wE`=}l?1X|jn>#3?{WyPd1v2-j_}LYu(W0hGgGXkJx8!U*GpjVjy*cV$Wo5;Z-7e5lMdjHsk$| zF2~t>gY30glnI0DE>h_}MVtyDYfSFPx(;7cf3&%hv@aiB`ju1Cp{$E&KehiDO z+)h#5;SL>6b&>(5%L8IVUPYum-e)ea+e~*Ee)ak$P`UE6Q(L+FOGtMbUJ`vdvZh-F za#iHOe>~s1Xn6SOGadop<6aK)8Ny|&|LhzdV{?dXl--^!QGE{rDG4;nLDbP6Y3_Rw zo?hKeT+xeE{aiv{vo(8oezkNW+z;Uu6`m_QJ=WM84WaT-W<$WIUd|aCLy9K;#tR>j z@>spg6AK)#-JzFn+lXc*<}_Mrb+`VcO`B~Kc~SI|*k2awN1cJHD)oq)m6a9ZZ655= zH#fp4k5oKC^h&1>0R$6(5tF=l(P%Rn(mX;pEd>$BpA)Tow#VrD%bug)x3OVYg~<*| z!dL$^VjN}raU%$H==i$+^geF`na5F0bTsVVzTo9V85ne8o{Y2~aSsg*qss`Ie&q5W z%F(MBRMcS&uvO$O&Br5aSP@304RF%CwqP1Zt7xYK@75BYva&d!ZNwC@F^PvE;ybvk z4-5_os1A()6=sF%X%SFtPBewqKaiN z6=s|pR4h6#*;LEwMfZmM?`C{oD+($U1j&m)UsO;2oSM~3Q~K;ugGhaL^R3vYd|qQ1 zg8Sm8ZPPMQQToIl>#rjA)GQ{`->=W$QjX;N$zZBXtX+RO;$53)L^1@8V`16HOZ~oL zl2;cb2VBRwUnh{S3cfEH{6r@^kU*7}k>NW?;a$^t4wnZ$IJrj@7Z(EufC0e(Rh~Q7 zkJkv0OYG@-Z-oEl-mFPD8$5AcM^+jnUftA<2?T1bK+g+syxQLF6VS@=QU0+mzb$F~_f-&$aAg$~pRYH9HO1-tp&Ug;pg(l~k{?*yE z;`6^-3Gc{0TTSj)-&zgS=jF-yKJ-WEF9wCe6ht9i4;NE(-|aylg|F}&ZbUud4?^Qt zbHjI-r$TiO+bIckkyzNB=lzUFRKwu1mFx2?=Z;33F%*zZvj2Xp{IwN>{)~i0w=~qoVs*STr@pO9=Z+3FQEA(0Ui3i>0v8q^K@>6mq z60GO%m7BPEdc8f=jIZ?a zfP>pSEh;U|D~Bfi@F)RaW>}$uzQ<1hM(EX^A z=XEoMr@r%Z@u3d|qpyrR1Pv*{A5I>(@{ZjvyWW<{hnmAW&l;&TSF3$v%u-InvcGi9 z6W}nr>P$1ivS*K1gAUVcL7+q&alUWscPP|=x8~%m2FisZrP7t~fK5F6D@pmRub8WI z^9x<$5y?@QfQRCeAeF zoZNj)LRXKM+XWzB;1aZ9KwhvnE__Ucu&Tvi>EQjalgrI7^}N@6?7gUJU)qe%Mt%zm z3$2USeZu8+7)=;Rl`G)x!L|sqsQ-B=2T?(?@+;xTFN~Cp^M}bjMLQ)cftvtXiD&z( z;8s(>$X&O(d)M)e*`~QM(q4tYBsKl3 zO20V>aR)e`1ahG_+}x*ZIcc9h)%so95j$_AeNKNw=|M#S`H18)C}n2bk`>U)Gw2Rj z>$r+21}xY$^4m@oRa6W+HJ^KG(sm#}UVHR41qT1wANWPtru)<9+S?r?KF}vQTs=&c zi&R6CkCqDq1p30BFy?dHg~u^bA-ee8~NbG z(rnb|6w&CQHi2)hTCNaMl5nwkPw{>^3S z1PbW;huH=C{Q48T{JK}T9rb4?>7xs;v;qcNZahZ+j|H$3k1nXd@m_M?n7(T(r9@HH zY}{hMHab6RmW9#`DBbJt9JVnkJVgg9_y?VFYAY`qXcYDdk88jy)bi0afCkbOh0m39 zt7mQA*9lF2B9u>{`h$?`vrc!;k#~<{k8iyn|^!MiT}es%x!+j9oFme7txf?+(}bUfq5@KCjmhVVD53I+IMIRC_V@atl2; z)$vW2UUOwd!5fx^egOqT;k%ElPA#vP`1IMl#R90>eNTU)kl-PT>pEx|#ID$O(=c-K zGzRlZ#F+^YwqbUqcgRQt$}-oP!bzePRP49VNU$NA(ml(o3iv@W$w z9@lQ*<8E)Cql?lNJy$HyXN=|Zy*~YE3eeiU(}Ll?-qO_JP$fxP&mtu7@NRdvHcOb@ z?@9r)ENchijkH%p0p-t%R*U%CAM=(Sx(yGUw;hEqGeiXBf;RIK-#*B;&;b>x=frF+ z=i|cmmr)@coU?iQ7tA%^s1o^o46g#I{sboWLhp|!eKAy%t3^T!UQ+Bwc+-o5nP~!D9W3?O~ z1}fwbDw&Jc-p?<+zrN|CtflHZnNH%akk^lj;7W!2U{lcu(ufN7goroBMNW*?n$ zX_9ZP0RhLyd57&BiSS)itm%9?cCgXZw95xSPITfZ#WC9X4)|>cCMdbB+t_ux2>+RQ z%Jd+tEZ01Ozwuce*@p^*WqX!=X6mny1z<0bgE*CMipxo@EeFQzOca_ zu`)tz^seIRd;1%pVb9RSfk8lE-$i`8;|-K7w*Q?}ga{CTgnYHASKw3! z6{o$ew&$PyD?_`$qWw)@uQ$WU`mORV2k-c+i1vDFi~Fd-^0QzZ@4vNONr;1)TJu4m z`24lvt<@+gJvnZF1no+JV75(<{d2**Y<&(~DjpxUi1vGt&69(xyj67c&j6DPE{LQ$ zLct2IRfxN3kial(kwQs_-~=Lfj3|-s^=ogok zincq%^{R2LS%3Y67?~?A*?=I?vs1$)9Z0eAEJ6%dG!4mSONK=gU?NuZ7?u~iSq8s&EpYz*}CdqvY%?|%sm#@tc)@opAt z_pReEx)CQI+uJU+LSeaRlC{s}_NB)0Xedh46(Eo<77e;X=y4De(b+8`*M|p~DYHkz z9e;-{g{3osbf%;j4+3dmP1G-fOq?@4dzT%x;0UF4$xfBP`?nYV%&fQc{zbis!X{UR zG1@!UM!(!9rV`4SMkQqNQX&08zdH%D3r#0+v>?HLsN07B&>V#0s z+R}&Zm$RVns#UNPc3?~elPb4JCHPsgO>_aZc;>dr>c?)Xd~seF6A>!Nfg6RM@kf^` z7K*q|WBsoe(qD-58XaE(bbvP8c{#+Iv8xlCnuhr)h)G>T`U@@EC7Ne+1xj!QQ}h%U zAijUM0Gy@wvZuDK?XGPy}{6eOC`37Lt;# znu-fEoj2CjS(udany3mncl)y^(mAh)UaNDc5=lQrM|s0(N9EQ&5exSnT2A6ju}pG4 zHg7GYN>9JI%x1NpE@Jgo>Nr|g`i5+@K(zc`WBw%&k=p5YeV|lu<2~`X(RM{p{F7xs zS5q?_q}lS78Dt`_Muh9&xLV#A=>4jbXLFwVie`weh#$ky8xwoFRv@hG{b*|qLbLaGUwu0co8n{!|#~v)8zXEex4NbSLCG*({Tq- z6HS&mBX608hUapRyQf5y@282tP?@d>z_F}Jp`a9lB7t{;rxwmdTb6GCuQIu6$iDpn zY-&zBWxm+r#DEG*+{5=cnnAQ)A$eB=+{8UL%-$<(Zf?$db=G^JrP3z>!80MqMDy}K zK&;vuC@j*+#(T6Hh~-s3Vrc{MWMblX49W^B`yT(8XHh$&YF3}7>x*(s5JTTFJft9s z9o?9^H>tmt1r#oly-uH`|5P=3=MC5OMxoAUTh*~DzqZ?rq5z8q6F`I2gELJWJ$U|{ zgOVw~Vp$FjVSTBA6M-U22tt@am-oIg9glmR#_t0B=fj?Sb#kC`x0poJhV0BmDqtx- z|CWPry)>&st9X%THXwoaP=5vpLsVh`ErXluq0Jne#UQZOOqf$MeQ(5c35vn3siLNk z&SFJL21nbikGt&CXMY(*MA%@!I4-)=1e)whxoGE<1t5%O<5sy6e=HXru~>K5f=l`}@5AwQ0Z7 z%CDh2z^G191+%?(RL0L6u29hQe18Kw2=vZ2l5R!v@a%Lr`j0s^Sx&dl(-(;ctD@pd z#t=M_kU)7MRhzF9a{R>oM3JJ zru``aG!kVz;3lkoCx>T8cp~{+WJ2T#deZj$Y!vY}A+B6dh(9GG6m+2*LdDG}%AZ@f zdprmEwzrQ*iF_;^-S&`u&UW(}EGuN#@vSq$aWN++hsS!n&(qrjeu0ps(LU~RPB|Mw zX_cjMo0Z@g!#Oo(mghXKMsdp&Y)_gEIr;TfpV#+o6ZKFRZ3{Z%zCYk{Xdz>!nc*XTJhjQrM|!Ecznx zzkU0LTu{paL$O|m^=+Q693258N%pJZT{SgalnK{YSCr?UQd3jU&fF~DhPtG*hAY$2 zO8^Rlxq0D^W@o<$7&SQ2TDaF6uG=Y za46(KDo!ru!^FNk#Lj_58BPT%n6&v%5LOnU)UGRZ7{*5}SgJeRcry16c0r>5aoNXK zf+fYn0JQ$Q$(}%q+y3dp_HIt2%Vfd;ncCpXsV?E4A%%K6$$9TevQhed-z+=@!Qo*10KAs@cnx zrPzQL0>~skEY8wt3|j|X>6wbDm&ZOOY*TuZ&uy-7-`XxV>FenM^Nz|e@MPt-`X#uZ z@MaMvmX1mdTV$6?l!$jLU`bFT9u}(+W8PFPTR6e3d58tieb^~RwBh!WJsi~@c6q77 ziTu;4VkBICQDqJ5b#B{Y%?ly|<-1IB<{^}y?p}$g?6%hi+Wpzgdy)icvN))N1niVR zKnB;1WP^_z3EqKMFv^?zW+hz-o0n8!VEWc$h#1UT6c9Nlv>|w08@Z5G0iicUaBx9= zy*nTUrmyPcd>MK4L(LbAa~+S!Lw<{3yuyq~SQB}T4k~gVZ!A0H zgKl?m3CO|0Q42;)=#wYGjd%g}hu@u3t{-l--%rI4{e0^U4K6hU^~M&j-aSl!Kx?V1 zBKj$*8|3L3cs|K0qe6LIIKNh|l65|q8zb!E(uz zTN`J=fneEuC{RH>hR)e|e944jXm&pFw(9uNz#9OqA04m*xwu`!Xwc_tOhb>fn2QqV z=dcX~cL3{|gFjwUcrTr5wLW#~I31AF(=(Om{-=#-YR=BhSyQ}_w3e%Nyf1|yb{(6S ziE$%5DY~NBuw=J9En*#i*O>P7MFBM?v9@kNvK1u9#uIC3{?T@AVG z4#mVfSgzk0<(ZIbqr>~wN8QV%%8r;)uZLaaHZ$q$CpwQ zJpJ87fg1ssFz7p1tm*u2AaT^|`|y2rg_!6w!oa5_v7@7M_V%o}Qm(G9Y{c&~XD%)- z03Bv~+X}?Q!6A3W7}rp#A(Ck&9uju%|Mucp{wWSfRZp)%($UFD>=lgn)!6trC9U9| z(hCxj>&wgjP1l2vH%TlkEIk+~9f$DFy$DX&-51Ne;nZ%A3z?5NWWQEd6Na4`2=nW`xp-0cNYjPXJ==fQxrRDYEIhrtAJTq zMr_1@&lAoy{aRJU!NQ`Ts94VyBiAZR^|UxcTft}i_IIs$v-2Wx* z>8P!J!g_J(`E?MFO6)=FP=K$I0GeNo2f71=MG`P%_Wp>48+~M+I(ZpgC5cmY{g=|Hd@K6K`*%EqG#GvAPjux)?+rumQ~TCn5da}o}NHjiE4 zm`Ql~xZ8DqRL}MtSUeu9s{JaRTC>xQ{=FGZZg(B<>*>$G*5JJnc&h*emfPtM&{D!h zV~;uqK1QNN0K5VEezM+67!}50XrczHnXA=dBgNiJh$(!>kMtB0-QQeNH#m!GJcb_O z9d$GZnEmuj8hnqW-?-ktzf6EXirY{qOvdk1970+|S&StU^Khnl={{j)7L*5Sk@TO6 ze;g9Ql4_e<+pl33@tx`Y%#b91fhvo@9AZ+tp$_6thT-u)*L!46WFbzB$h{MgJRX6s zATb9lrq?-Q!Hw6Dpseq z#1AN(npb5{Z=yA0BhC_X-v;ojv-2~cLZxESW%K$|Or|LK*30t=Mc{V@(sU3J zsLCB~-pC7%BV<>%h(cq=Qj?QCyu5%{6F%D6(HpPg+JT9L_{0(PrhHwK!p|j*jg2iW zI^~k85#M?Oecs44j@z-u1^cz{wG?1KR&+T6C(YMt5^#;qF!PFgL{;pz8u=yIR9@07GrOhN`Tg(AXO9-U8&Q` z(jcT-Y|8>#N(s5jm4}#4VxoTGbV_Lh_Zj%G&VOwE@$2YwVQfnkL5lvFOMaIWC)>c(s!YRelq~#gI&&Q&s7@n zc^_pAJguFn+N?B&$8!S&SVL|uCH>bGW4=VGXxSSaCmS0?9%!_?LJE^ z(9g?@|Ks}mEP^Cgom-PR@}E6IA7%o+Vw7*^7v2@@QB6Fm01bulj%Xm7Yyx1u#q7m2 z(|53-*O5TyU(btzIhcUwN=3(P{h<5m;PECByhb9mSt^8&-U5cI287wT=KqUjMr$|f zYb`CGN63t7ye*@qOc_xXnD|+(@(b`@udCsYZBzXr7e-Q{PUAvvyZ$=kMDzkS4)EwV zpI<9}#G_IkI!&O*q5*bR9)Jb!SG8AlemlIi&KnsWe_AR{Q0rstJRwbGDCj><-ruvq zr8?&OJ`U%Kk(1LIKn$X!+=ge$GhSv4;-P`=?(V&gew&gWJe*G)A0BFc#(b<;Ir`zU zwWlmd&aafzY1qR9zv<^JwO-F&Y@$dQoE=v#8q158_ZGQNII{WhmSCEfxwwSwPALD) zZ&d@n$#<$3&o#rqd;R`(pP#iLcBGXkLZqajP35e+3vev!lgTqGSbTIVlvj|9L| zPJ;$Pc6Q7JM`oKlTU1b2&;nuPJXmx+I+X=LR3PWA^)zvr@K#49^I%4{xE zD4-7N>t{_ZZszahwV7~5*2;$QPOEVd^{1T4BYAPvgmnf_@eiIO5}w8 zCCGZ)0e*8-m^oMxpU8hU%r7S&rck9`uX_16{UV~9;nt?Byu)A?ds_Qbe6*q>ECm*c zEml4#EIYl*t5gKvI|Da}Ap-C6xDc125b2f8RoF!pje~=#kZ`Wl-B%#jY_~&^{~{(N zJ8hgWA0ch}9g+Y;mZEWpsYBun8s3TEia`LKpaVH#5|oJr!Zj0zuzNSbMjj=LARFA* zutq~xVOv@y?3U3Vw7i~YK(3dR!m1rYJb(w2oRIBM4GE`w!AB6Ks_+k_1xN*e?*f87 z+7R>DI3SJvH9PxFw;scM4+X@4Ju*D(chik&e>EFRA#n9^0!Hb6NQuxK$hxuX%SZi) zCJuNn5z5sTS92H)W~-~KHhH4Td5#LnW)KC9`2xpZUFPSmdw`lo`s1rt-Q&tHoTb_JvX7uQJhBcuh;(E{C5HkjMe>ydd4PBhoe zOE1aD$^z1Wc8B@8l9H0s&B3&kl&wF1ii(RfN_N|T`#nB7a&mB}1R_Uv_RfnbMIeE0 zZ*Nzt`A%YKVeznPo?v{QvCkz+YJ;)cwxNV1S`Qy)gfin`gwD^;1L-~{F1d}J9T0M= zsHot5gbG$w?dz3m0Ml#-%>mk|P&NUe8jp^SnjH0a7sZ1{6W>X_Vy@_ZA3R$|Se`U( z%U(o|c6I||4;J@VBsD32(m`mh{GSg|`Q*=} zHp&aa7w`LiBul~AwLvvO135fK${r*CY^52Oyy=TFCAF#PX*9QF3H98J$5U4d`6fmC zX=!Q6hPMsq@c_v6nYlS{PtVr`Q7(c2xTb1kBxc$Z2DCI-Sz1aLPD;^A@HXP?Eb)#3 z{4sDyU|+2Ns9|{aI%!fT2`K5uPic>Xf&Bl+0;G{V3)j=vUtCzw*!lDp zi0u3O`%isDUd0V;x(=kj(jb>hq=JZeYPv(QzKlA}D9)m*Z;+(z5J9o#JSD$?gV?y+ zn(kcocFt}%0(PHH=h?Up8O~|O{avY}E?j)}vR84EN`BDd*H3RrSnO&1caK_4n$oi+ zbgI+ciL1mT{ASp9@ zD;DF}{#35Q?W;{AVVzs5W$1GzjIswYA?Z_k^~q zj+qRfqPl8!0LQGsBcrzVZdzlqDSSJ0OI}i(BdPwY+Np&Hfkk91Z=Gx7$(mp)OD&FA zq;Qv|E-8Pw4X#nP`@}iw2T-)sZ~Wx28Gyx%-W{{lAhKja19h9I1`=tii0)EFv+sAV zy-{tgTUJYowUH-ReuhYKQ&e(gVUKWF6id0#UJ%R%-_&y21F-d}Lc*sJbQR6L7U@qAq^N~4z?6*n#Lv+er7a$U zm;ad`@c&L{KZb!p8*Ti1U!JO6QOXi&h_U`V3}7*&9!eN3b`lsDzr;Ttm_I&NA0si$ zG-LT!wx)PKDo6`J`?8|RD-3x*xi)6U8OZFF=$UXzD)TQyR>;I6tXIHA32q{zI4z&H_{A4R7lOXX8p2t3t%NhV#4eI`CS+lSx2oAn@T_dx9gzB&`OYBW15G zE+*0MRfp=5DDa>!_4zz`d)z~UmnwN2 z{Fuqk&?T)@{$2sb%ogI2t#0**47$_*rU<(qxpb5p&CUvPk(D-KLfqp$9ts_&3K6c{ zK3wl2P1BKHhiI$*`O3f?obkwcZNtF%NbIxt-Mr{W-&-DIG54#epQ|g#P+{avITgaf z;DomT0upRe5(lHAhmn#qCxBN2{)@$kQP94=ikBLrD=Q;L^A=;fhk!cHkB@`FYYL@q z0XQq#IOWQ?7lU#F@6JC92R-g`|1v&mJ#U3OJPZkpo1d|{iAQv&vld>c*_MX9bvLA< zD>}wiSH;(+!B>}7u?TY+NOxS!c5nasC1<>2z3F*f)a>L!O62wHx7Td?^ByZNp1YNS z)!%;To-|T3Qd50tej^&%-MSfW^)3`ya9j9_KvL%6WA|GaErRWIF^YM*=6Fx%gAK+R zBNR4y#QeSVMZ+xo#SEquAzIbL53tT)MzUq(0B zg#Z4tpTQDH7&8qO;tCmL=CjG^guGo9&|D4*x)m;gzkH<}k%g`t_V`5}(spm%=R)qv zc9+z2-{rm9$GOyKBK0?UGEe64(S1gi_!!A}feD8PKY{W&u3OSS87H=hOS<+$Itv`#KEN1jU3S`@vQ^Sn%W z231GJ(UL5VXEaYv?>6}vIeWB{M2TBs9VT%BZ#{Jh>Z*0UbvjDB=e}dO=XZRdV|J-hHjllBX(rwIwcDJ0z=MH_&b~O zE|@~gY0(S(q}$&v*s5&r3$gSJzIn?a#X**09Z|2O4xS9HMczb9(S9)Y4j_5Olf!lw zN*n^RuIQ=)iOYM+G0jSR>4#Xqal8Lf40)0^)%U@0w!G5B&+Bc};HFoHS8q%Lyx|4N zlg?kBUsVU}MWtY(KzCqwiaW7C&UTR~8OYok zC7#|jwK8(+O!iM;nqPMjR0rgcdh^?}RNXn)j`?eUBLuuuYZf((qva~qebDN>iUJRL zR2|0*8p?%@;gGx=x^ysM*vv)y2t44{_-M5KA$3H?Ip|M9=X-0<2lM$ZBJ8ZTztd?G zqZZ%&@i+o+Y7NyuLwYWUIOhX@A}xA(@G3JrM;H}Ct}-K#;JhGZhgsw1MoH7zjR`}s z^|8UAMa#^uRCmWpbexY1))NQw4-a$`PI4&NS;$t-F-};*-w9H8iU@a+^CwW=&0QMo z3)KYJe<7H+&@Y12?$T38w`hdCek9(_BMiE_ic*gU`re)!n^(c1IvIkSl4|)RRAO;s zx5U>58NcMRGg3`&Z6GW2j8}nLpQc%i3DoihSkbp>D2uw97|EkUhr7KQmS+?|#ZMXVKWlclzkz z+}h#|ZP6RN!cWxnQh$eS!tJ17=nS7SiDhG9MEl0sZxYPU!y(5#18Q=9gBQ(?3gvX~ z7tNIzRN`irdN9JhM)83>k^1sz_t=&ajoJ{Xb?6hGX-H=fufOekSuSEN@fMtIaEAvu z-+S`)$nPc%X~=#5S$aoh0=?S#x?ZJI%l+^g>D`?^YU3}{I;ha8yzWsjnVYeD;+~F=mX}jl`wJw+|@vho^d8+ui^Zn`0`E|f$ z6`ZomWH?-4xoNNcTBZFGUX`0pc~}t`G+%ORe0SSCKECVZv>#i%LU%_(MC8%LhsR3h zSVOI#DSI)UAF_or^&SWVgM8scFJC9fx%!Ah;z+8}_8gozn3!BFi(>H3{xjVV*}MvD z)S>U)X*_HE<=95*BEhBuUR436*0fLSojUIimfC&=nSz1A(Mww*;>;8$nHN|>`y|%} zyW~gXEX<<~&^^{Fn`pEoh2j(c35(QMMIo%cicfdzpMvD@CwG9s)t-fROs=jn{~BUR~+f?uJa2=Lyyqox50TZC#wK zuqUH2qDl0ifY|@0*c5Oiqsv$lm>Al1TkuA!#&VC;VP^y{Cru8e)Ttg%M*TECH{8;D zAo0YMub{f#%+`|o7i)4UG_;^otGLg!^%O|GJ1Epc+cRWLd+ap)|G0YVfT*H(-+O2f zknRShyO9_`x=WDmZjtWpk`C!cK)OMsySux)bKdRw-E;3bFaHj+_pG&^RZo0BH>%*r z)wC*>_Wemb-&XhYS$$2+az3fzH3u_)U5$AYSj2rDUS*FyruEieS4!HD3lu_G9?VgM z_pHgSPt~4tMD3$>wNc0vw2geNmhFSqd%KWT~NONlO25X$aV(;+~N z@ir5_@5kTG%8NsYe<}nPvCthSX*+W!X3w^&jr;IdxO+j$*z=K~`F_Et7EkTF(_&7@ zIJmjL_Lx96pd03~yZh%d+2iWk*UX6#&YO<#i6Xr0r&<37WS^@)AFE$SWA-QYJi1&v z!2FFoL;boOkwTdcD`R8roZB(6(KajfENUK`{T#{m)+gy%<|;C2BEcKL3tM)JHKOV~ zR3E!7BqYLamOjKzegECs>Y=KB7G-&I34Ylyf5v0tb^R7JbszSIvx~FbV2>BHgOf}& z^C5`Tuqc*wvcu}%F$a?D|FHsd3kgcpA%%bSG&J1`?H{TrE6n%e9)k7s_TIz~R$fuz zBad9+D3=ktJV%;bdeNZZq&$_ZbnWhi+*Q2|^E0 zGBYu&J1s4Y`p9RxBNaeE-!3%knm&+k)%TS?Ni-J$36-7X4t$NK2p9kVD_z9{^yB%XoiHmiiF6 zqE~G8#3+Vteo&^`lhfG%iUf>#*HvoBAZ*qwo`p(_0do7oU!o1XK%}EHUQ;l?FKJ_n5v4#PHq>2~TX$5qUlNlJ9{7u?snh z#spih@{lywJD(RTw)=nXtKfdqN^hYpG)PVSl3BkIfz(40`FRt>`>fY|KFIZQl~I|N z#l9wBp?bnNJTNd;h>E~nRZf&-jV>zC2VLD~1|9X$1C}a^FOe;IZGP!5qI3hNrsWKW z-28478~R^o-Pmfzx!IL&0UBvqjDSe&Mtm&0DaY=_DUOb-=Xm>$s~zL<7q8j1jI$;3*}P|2i}xmf>bOq1zI8$d6Eq3VHqVl1+3?RyIxyyH#>XJW((;M)8B8k zl+@cnO%3QH*X%O%gZ`+YE#(r}1lr;(j3Bs;v2? z@x5=z%ZUr!h-jbS@`_>;pi)whlF|`ZmLL1w=2bpB6eezu%hcie{8U^NcC%g0@M%3Q z)5!SGIPmFXe{!e$!}OPr@nXL8ak!YmNQy}D5{OiZnCKFlC5wq?E6d!^c}ODg?Sjf6 za^VBNjH+(Bk3obXn^3vf0Kh;|XS5{D>{?F!%9-%^6P&C%t-hw&YR$m`+>JiWCkuUi6Bz5T3| z*25pAAA2le*&VE;5pgO{Td4Dclqh*al?uY*68D=chkq`_+_vXak3ILzuP(nme;LNf zY@@j`kGlPSFNY7NAbyW^Sc}H~lAZ4Jl!Jcw;X?tR&>Y4RMww9hL#|3R%Hx(%;6l^e zr(iLzN-YESr0Qb#8!UoE;adfH-MnCw`OQ)=j$+OmcHqzC?`ogm)P|4f;%Js6RVBX6 z@fWJf*}nfTpD^^3XI6^ThnCjXgwhX>N+%GSt5*^Sw>n!QCs&NYg7U@EmI&^YM3wnX zLmBymh>oI&@=nLT3|H{;)R?x=ZG2k%tncggYaE~Ro8*+sJMthz7^x*;DilP2s%yXZ z4QxCnXD}2nDQ;5{y^fiHzq=z(M!OH6D!k|?mtagkA5!9%pFDJ-bxUwqPIqn1N7=t@ zo-*mS@kY~b8gY)TZR|oK_w+x7e&=jjp~CjK>!_yLgPoQg>oj7oBfjI@SM6rCSyp#a zHdMmWKn;vbKG9jK#Y&q;kQ7C25E?EW(TufMlZ5|go2amus5DSx@QOvd1?+LrYhjft z9``pI<%Be!2$@RFs^#aM<9{ccI=XWPMk?LLcOu*HVDMJ_d~m1 zT&(ILt}64opvxsr$>7W7M>P2nP*C>{HMh7mt^A zV~nFht_qW5V#I9B*v9cR%-ZTn!O-H|S6?*_>C|$+3{>i!I%8 z->~8ma(js7w4W)>P;9ng?DFYN;WDDT@Rt*{I1SNY*WLjoB9*cda-?XZ&+qS%scOHg z#q%~*(d~+Kg(<^{uvlIje3)>&5N_O^hQP2vr01G0yX9ZrBNaE+mln=55P?JL=Sfe( zutf2ZcTzO=(iMgody-1)Qz!Agp77pNE>F*PgT)87 zx>MoLv8NFug9)LHr_0ORHEmaunjyof)8A?JxXT8jd&S6&KIzUPXb&Lxy}bcWuK#$? zBi>97rwXIkZjSrU=tTT2Bw?i1g~|N{@l;N*L@f|{f(V5LHV3;!;sV}xkoKc+=8B|{ zVjq^`ii=CL%27vuV6S{vn8-fOnr8ly#NO{~<*`bj%6sUKqTMF2#KV-S?mr}5Pj<12 zcY>j*8%ab;O*M0s5TDB@@=obyja)so?4(b)_8QfoQDevwT=?*F(c#1>cS)Izr|Ibu z2L2$^guh9OE@TouZ3{RRZgvLrm;~w0Voz_0l_4B@O8e$8GBIswN-yt5yyZF&e$=Bk zg~&dIB4UU+q(p8PfYJMCn;K3ZZXj`^zC&_dx|{CAJk}y5zxh~k5fS?_9XMZCbvvIw zUzHJ=<4K58-}GY=zFLwSxK;kFiAi}&RO!-%!UpmBN&msR$j$2nL;eM|?hk#_C$e>& zM!Dn&qmbo)jupJVn?y;ysL)x0A($G~SKnCKCing@o7y}jFLRq|(GQE5I6!G4N)i{7 zM*i6rd9)YvTw6WDlQa(MRbY$=eZw(kR;M3B)FFIjgoxj@@3)0@3d0{P81ZlxQBp(n z(H^~3wSIK92x~Xt{0+n6M7LrwVS(YC^qu`dS~IHxMa)-(_st3fuah6<<0j{u>u&ZV z-j=?pxFt@!WKCr&Z+&{7D_0Em+t6tvc_o>54maz+Yq-G+@XYG>e)4_T10yORUVeC` z`#A8qwPCcE?T{?JWhWw>f+794PApmx*p*oF4}T7rTL2X6G=D8*b92An`Jd2(BHj~= zW{sFgK_Yu!+(%bkjc~4(>PSqIFlvx8lQ@485`KK^yyx*?B8Qu#|F)L8^n@r<**j4W zZ%X{KMYK|7Wi<)G&NvqVwWB-1@$J%%%1T;PSmOS!BH{E#2B;Vr2I3Q;_{-)rl(XR- zsGhjKB&CvoPFfL3jJX6yoEdE$OGb!c4p<210x)Dqx2!MEBHnRKq1V&%^}i?r5K|-j z@Kjq~)j{a1p8A_ePHQM|4}rWuXl2^VGRdo(tJRr;M7EkJVkja-V+VhVcYme9meb0y zFuwH%k{XR*8nX({7bqgv`V~Gm)#jWnseFRCqne|zayT|}c5~_hxih)pv+Y3+xVV_Y z5Ke>Q^g)ctG3=StQaafJk@o-e(0|P3-!%Id)%f_T@4kyO>r^-9qN^dIcCIA0GgTBc z%*z#)YGrm_ra|8Qvm}7TNf!?yewF+DfxEXLl6h|4viJiU7sx^rO~vLf_azNi$pVHr zHd$vZnW?;3NirD-KcuT}nry;Ei5_j>##F8ltNOj-D)yC|6o$wb^>XO}Ve!x0@0n{e zj%KjfjgeDA)x|hGrth)EC4guA%doh=e17nLDF%U?Z|AhDiD(md_V@8{ae-{1oTQdG zyVQqr=Cg?|X$y3$A=rUq^il!5^w~&;X*^`6EtHlo^eeeav`I2ZmSlm>_{L>~@qLHn z@`h@73Mg3L z6Z5%E$O`5Yj+DIr(r+dU`r$cu$FPJ^-DhIn@oqU5A}@dsiLTV%Iz7nYHh($BKVb zkj6J3V5v$FAa-fBKrR$4@)q~CMPfC9UJjeFBS+3G!Ih+zr7U__f0p3<-qMzXczIR?EHRNwy{1E56^x<86%oe-a3x+Iy+ zRv_RlEBh~!9c*?k^3i^*PT){&yIdIeC-S@_;@|*3I{~}8k_0s<=Yg-%-AIMNVj^+S zvZT)wgFxXWXw%Vh;k`ZKOQOcnrecQT-C;{`_4*Up_HQdozeEf#JFgnBmI!}4bk02}MO3KU{$S%Ti_H3o zceQ-qJ&LW)S(QEHf7p@Gn`&V8iZA5V!bgU#o)H;D+<$m{9NB9GK;FA!=$!MRPk9x9 z+^X+K13;SWcXer!e9tL|3@Iu{jq3^Q8g$F#vmuk?2j-%*ZWYT@8P3npj1lNG@Ub#U zG=FoZ%=Du}MUS_^@)ryOG;<;p?cQ{SA%-@9v=BP5*JDH}DAJi~rK^k47VrmuLfTqd z#Ih(_`~I6Un=HxR1(DTz8$_3|QB{^9N2*YY8Z1kLsngk{PkWeRVHEzq+Hj8zcE9LC zxRkGC%-YvXo}HL**bK&dN5R_0odUn422V?o9^W*9ef|z=tAP>u`Xg1B{X6 z1ioxvxehFgpckm0xF}Ns;RbW@NoIM*_?BiUHLEr0(Qa@mnsJTcW{-+S)ZG7Gl*n13 zfl|dnrSwqGpC1%IzX0}Md7O7fyb0xJh@Ys^&H9_s=iPtj0wne#qr}X7E~NdXf1rYp zV)o?$kuWXiBI4pgq<3Z8NaARdswI-fSk8YZol~~3f)7_*#rw6a_xS&;L;v;TA=n${ zWRQpcYVM>impBBg@|BHZKUf^Kh21_0L@P+JxCTb1g%41@+O;337`TGA5OpOPr2B{!pS|I zU69E`?vCW`ZR`gb8Ia-=WPIao>`&_`;&4eXAcC7vDuRCpn*j;8ygW)+Ak81&xQX)j zMq~*#lLM23CAI>cI3ND9+TE9?fzo78q{xb2ZfR7+45thO zqxB#0P`9HyJD=lS!Znjln&-VA1KuSXB1Cg~s@=9{}0Fa5}tBdr}_I52{Qo0#Bh#wusF)+l_i0h2+p1vlX6uid83s2g-MR z>u*QyU0D6TC{L}rL>g7p`TGh?Ql9fS=5nLsCa+5fS#B_9-ggMd3^AHe7)Gi(5*6;{ zP|)&IpM^5mLXu{`svcUg2FXkQ{1k8Y^@&i~TFw?$loV?7Nem269X(S@orzAMkUfw< zO#$aP5#(H#rJ_1HVKl>Gd9Gj@d`!U(<=NgF_N@tZZf}itop~QN8pswpSTrr-Vp1S2b9o#cm+SND7ctST z`7_s<$@O6OhudF^^Q#^r1Oq#V?_!JL(uIAbCZB>fG3YKgxYDDxsc=bdgYA7dq~+pE zyssL4Z38c}Axnh>3haqVl0j6SG!A}(NJ36?^^JN;AvRmfo8y|_?;))q%A%yY82@Y& zlzhe{3^tUvu}dBst&Vn%<2fL`FRA_s8FD`PrFE%)oZ+zIt>3unj5*!u_1;d11>b%} zcN%ZzqC7c#1}hu%%Hi~mK(=r)LBw~My+GP^PZAgM+eUt4l6y=*NGvSS%R9k<`LEWn9vezm$byzM6JU zGT8JFGQB2lZki{SXxo~1)m&2%-*%;^eOMi748Pe~k2~Jvg8x#YB|bGGf4qz--cKhx z$Kl+NFDw;YC{%BIkk=;Tx0DpQO7}ZO`wK^o>m^7to6qRH-O$;}+f*$J=?M&Cvi`T* z-2~)rh5Hy9QjcapikrR+SI_6Nj$F}3^XY)vT<447@^J>5$lil2n7i~W*xcn-WUU~0 zUYETWeeei}MX2!*1X5G;KDmNR2(Ysmo|5G0YC3GTW#IW(+40&J5r-}ci$7RaGO$fb z5oeCCyE{#th?5p_*wcFV;&hljcWK>OXW~X)y}c-@&d1SlF-W(puV;-fVKl4?J`}ib zP#nwCeb(2z+ggjk7Ph!aLuL_lg?4;ud^^3AH_`dx0{l3v?5Cl6Zx*5Y;E^VeO_Ry? z>&sBRzcGo5tq)Uhs$GtL>F{vFjwp@K(J6X5^^F7oA#F{glApt?hh=v0sxefrtae|= zV|6jGhnz0vEwZh4-)yQLM7E7YP zvNpv0wxnmG_2>Z+$aL&xTDfmr&DE%;gNQE$huw&)1UCNmnbaA1&m87m_U$iS)qD z^)(en_)guP%C0lJ&Mf%oBGSX8#0v*|;9<#$A2Qw;q)rZ?6;Lx*VCb z{3Elc<1&4#kxboKx$>LC^(FH!`r%5omA&e4?!-v%m%Wa3KwnftgR#xXO;O(Vvr*5l zvbEb-i1+lSY^US6xp_?|i)Sf|`OCtK)PBqtPqcbYF`~5Rb39s>%1+NQxt?7oFxhS_i<&LuY7}BvXYc9lYxOtN5{D|H;+9`~s#xc7)Orsd z>zV9zb)7IFN&jiHaeR#LC00Y@ygtHAeb3oO|BH9Yu2P-NWM1=buqH`{-tr{Jx4oS< zaxU3DJ)i4+AwA6XtEax7k63%SA-SI8A+Ki#d}MS7tM^Y%_A_4?pPqczJKS`Xsi|@X zhMSeS>`xj}=1#fPLY87^ zE!QuWWFb1YeNVH;%L~7i#R+(CI3ZM6ff@5Q<(ARS2QWfEw^a>zWD-dpy^M3PKTLycA0t1o|LtzBo(s?z5gFAq(%wHd}*4~aAsm+qgE z6?m-o(p25I(-E?l)jAHW*V{X+u4_z>^EAyBX)y(#8%|1XONLvXLY#iVwBD=Dn?zO7 zBi>Z5wKNuXekt7=a}~jvYeh6N4`{xynRL2{KCO+o!djo0-AJ!C~u*d!!CBAknFmGTBWR=HjQP z2t;DHWPtu*s$mUFLKSCCb44zt-y)iBYiPLSjvF!WMh1mwX;ImLMz5GJ{K?QSIdJfQ z&xB}5ST*-s6jZMgMYI6tKJj>uGjotkC!3-N1HF)T=l0;XGe@EX9crXo%Bka6@M_0V zm128MJ8GNT?yl?Wd`gO%(o)0ot>l^Km4Q8FoW>CTa20Wy2yx%nFcq2cmiu{qUAMPP z2Yp4J!e8#swZ87n;Yxi+`Hm?&u_Ljzkm*;nN};&C#HB28I#lH$_I=0;zeX01IelT> zMIOJ9Yu6+47@hgZh*9`ikzLRNz2kxdkF zkfF*XitBZIQeW^&kwtKR1~A}NVj{O*V~^@GmFKuS<$PuIsL5?5^{}3}_#9$C^zw^?aQ!P1kkeM6~a0EQeBk&woTT zxRtdwM^{I%_-?kL5Ym%?xp@p+xtvwCe0JeXr5j&r%KO;oRwrj?t2?8oBFga;3v#O? z!Q3%yeY%aE`GIWet=_v%kOdjKLaz4LEQB62n+4m>hb02lamY-7W8xAW16&X=Ol_BI z%T-@_TiIuvn?k3q7+6YvyY(i?_9-u|;?yIGD+c>xCFjC?V9ISKCa<#d_b> zfz(5HQY8s0f@sh8qLk8f(Zc5)TKs7RiO`0*af7tMH4zy39DQXn}Z?@{V;)8$hojoY;Wk;H8aJC^1)+CAw!W+d3>FRAk!4B&!TI$&I55K56Ik z=}F?{CK3P)0K+Jpz1x$ed1hD;+z@Rcv#TrkvU~o>;4W!?)MOC>QbU0*gCK=5L<>a$ zOQ(5pOcwq0yq^8M-{33s+jcZye2tUYm|Tg^I7*A;v=k~ZR7^uPUm6t%`S;p=dJM6y zO2^RgdV^W-bX{I*Ir!!Nm^fFg%gR&>F>qSyO-Zu#6~f8uVa4BHabAsCG7}{z3{Yy^ z6!!c>MG>eh^U0cs7}U}JYFu(~yi{|71qI}HV3Q0Rz;0paW@VMiMu!gcEP0Zf zc5$-Y4&um^dj6&pr=yjyEh8b-G;@hjKjctfJ}0bIf=n|DnOkX>A}SL%aQ7M}W*v~D3fvl$BPJh};oToFEZ5uQ@(3(cp;O#*kthl^Q+$-e zDV$q_cz)aMnp^wo`WG0pDD9uxJSQckYqxz%qk?*bg`9#$goi*{xxTfmq`m+;D-vLO ziRg(_!iJVY6f;Mm4$`LXF`KtHo|RHc=|X@;#^19LYSFL^sc+1%xrq*nW%o!9qKE*r z%8{ug^{WhB^hb-q)c8e=x%HnrnK0<@^nN(e8`J0O_~-rDM*>_nVcRWU!dm2scPDGr z=C4zs+#iupk-J$fv{F?FZEYj8D&v(^ge`}kv!cPH8Jsqv9;cCbW=8af(G=PRGqSb-j386Hlr{q0wz-qBRp8*%1kD2`lc zswv`mn$X#H-chV2kZ(7;T~$29%xlgmZRfSst1CgCZ({>h$i&jo*3Ls}5B6$WNBR=Q zKwe;adPhBfw9?$}KXvn?ZKVbSF0tX4R_pdgC63}RtK3A;zI##vZK1j^qw!Z@?d&-` ztp*X37Sx%phJ>i)IZubc%S$ zcftMP+wUhNM=KZWAI`T zW3;zr&LubNqEEMF`lSMDQ}gtIZ`Xez47Www7G16n1)7N$z@`5`V|(+(^Kk)`${ETn z6!)$+G8-EjV#vUxoUhy|F$p>$v#JAOxFK>u5LKpTrEwx(YrCkCEp&Q@^80vLdaWmG)qdN1 z@PY=JElTdE%-VW+uNLvl{c<-Rj+vX}7{gahTxxSVE~+Ow$&)E=udU3IPg7pfXfI?| z;&aj=b$n_#`8Ax)YpjOr)QWa$b5WGVR=E`gw`=!$Tt3%cZ8jP*s;xaGp+JjrJ7ZIU z9F@t&og!=ONU^PjE{b1$-`UKe#km)y%ok$VRGFchSbII1-uL-7?`SC2jVsh}=cc-O z^QES3?{pU7?tINoQNVmHkFS@@TElj+xuT_#>pV(v#c{Tva%}A^y~5dlh+z8)rH}XC z!>VD15KyQ~#=!${rC}_Jr~j1N<-B!(OcU2n$Ag|M;Xt2Z>T)Oxu=Ws>kEsw^<*1g zd>~{+d){C-TJZYEaD?Zb?OMC}{N1VNeSK63A=u-rw{Y?mIC!tsI4fFHo<~%9S=THk zan;keSgOiT=LUw>?91oNpZ3k9VNr^6j8!@CRO+-lcDFd&+pH}TR;IH?xz3;2gk8P8 z+S{zmTgG1txtf2WUCKUKYpFFHsncvOx)5k}yA%Jfw{$dnOFC=+dy7vw{g0?ySDVGz zI88QF6-UCOVqjHuaSMPELv+-|Q*EJ*pHB=&Q|{^Mb=mmi|KkTHrJ`4fnk5IpY>-rN zW87GqsFo{G0!yGKCMAgwm;80$i73Qypef0UE|(Qm>w|rJz!LJ!s=w4Z+)TaG7;4(3 zGLuBy;Ww}U=heKw%zpRc`!t;$R_7^!8{}lCIS1e&SUO+6Q4qL@?YZj#-euxRdY7s= z45*}8f|+ zgd~ot2D}LO#LQ`*fTE!LGt1w>If?MK5t7Nf3(}EJgy9o=N9{@i9kd%-5<#EBLHW{B zb;Kt?;Ep=w?tD>qympvIW9RGY?Q@24nyK+{t%dAp2QxoVXO%_dK&+riF1HO-5A{9<_(+jB;v5qvN|LP$#jsny+_IM>+u|M8)6b99hi>4CCvd(=fu$R;M?9)YUj9 z8PZ70HM-af4l)s_W?6q^WDOAE(b9M2?Haub->wz=em|x~n{+L7Sx9mW;BOn>Y+mk}4g zwY$%5&=lk5jrw^d8g48x8zc5{xF=&=yxk4=9NC$?a=JQu3;WL9GHIkq=ra)-_kG0F z<#r8f@vXzJCeFqx%X5F1s&7{XHds&Z&uvdov11A2M^6%|02RRJw^d!cCbyX|xgRw; zh=sx16}PviY=%2A1UykiHkgJhNFj2K?)uItOf?ab>N{}T(i!l74KbHByh|GQnrZZD z^gH&)Wa1s55A_snZLK@wzpzzPGAyZim-JHvx#{J6KN+wwTP8&c3T&_EzjJY`^W9e+ zw0<#ntdqh*LC`^l;vulRBwl-w~`ECZE#VP z&j{e_Rq5W(Tnm`Nqjs~>I*fMv zoCQTusDvp@`TAiL(ci6H6GyVDIvVJx8onF!FH|XodWp(4!+vB{{4M2IV1v;Ar@^*I zk-+IB5&eM7id6#9VVNMY39|r=SV}V#y=PoC86m{bVczAD{AC6aU(I2DJ0}4TsuRwK z0~?8VkazzN*UJbBtbBUJ#~@-I5-@m(Fgy+F-CsvW8PhHK?hgUToSM^pRHqXmaU4zkL2s*2P6&@nWke2qV_JsGn2PdpO+!&DEfS2E(EU7@+ku!CB_4b0h`gbq zU#YkMK8TmtVs09`u>6c%&E&~3taLBaU&fUy(!ra}(u$fBhUI^Gdx1cwcAFd9ET?;e z?e=wabTk&VoDz%r3eu#?0JwCRc35A-ef%t)xu-=P0G+l)2a z@-IMvE(BsRDSI%kolIYj+)0gLqA=EIf*j^Q2DxV;h<1awb92(OE{*)#Dn&)PKYi6W)D+TCAngg3~?au0-3JR4?X#mz0c2y*?`su zI@1Xd#u$8_d*Hhl=)e8d_0YV()X;5Wa!K(ZnD(YLx!$0Xs4~tUKxQiJiSBa`sdZg- zR9BmatfaZW+8Q%x8~O(qN}r3Dk<*eWtBDzff1K?3k=-YjPfgt*7G2%DpoBs64*DHE z$zl6RO{>lM?&-1W+2gC@`pB4iG90$)7{VQg)4u2U>l*v@SSH`SUV)m8kN_{`aE<8a za~DUL$}BGLf<@i!1ni)O2Zj?L@}A^RFGqv*RV{{Qjzu}Ihait;XLFdxsArj#smcJlF;rAkKNV<} zNeDB%8E8IrYcXVKQm8q{d@EbdR83hm+xw;NGR$Z17IRc{T8p zaZUG4Dob+GaJdNMug!(!s4j@W6`GsXvF@#qGWF?REL5z%N(p8OJ@e%N>I=V)$Sdl} zr5ix++1lPlq6i=l(&Kbq|KY|JC3c-}eQ(koU7)^b!hVS4*CIzL~->E*2P<-?_vuh;GF!GEIwWcM2lp;u_tm19Bl&wl@RC$#uU1Rk@ z%PHS#1xpm#|BriaKcUETy70^bNnQsH!OJ+FFCbf)7gxKDR`Veu4?9uxg)fFbLfQOg=cUh^|!s zGP8vR;=B$fkXZU6q08`vN)nMGh;^O6-?6P_mIIX2LfNSPc}Bjk;7I1998-C&^lIIn z&H+-(YH_`~nUs3T9xT^`{)dHq*0Cr4eosPpAZFSn!#h5FLoPNtm-)%6!^Jr}iT zXZ1LjoYldl(_-+)XmjG)qUobZs|kE-#Zhgvqh~hmx4MGWS+!Tf-hVU|zFV&D|7T>r zfsoig*st22)<0Bk~u`&j7_dBG<|iYlKb zjhWj$d5;NEG+_Y!)EW1CRhwLx-QP-=PD@h9)8y$hX(fFaVQ*cL z+f&i?EHxl{S{@l^A&xaGh}Kf2#drko%<^IBbN~NpM)01ZUB{zYQDVs@Wje{{87^;4 zpM=4ly*@U;pH)74bm@jjvD6S2gpO-(Te~QxtcKld!_8r9R-2}I)JB+1UtY^nZ^f#S zH@;u{l~GHZ6-)lwZs=%7Mv2M-NROxr8MLY}H}9sMarwx-(;! zRlWqmx6aAa?O0g1AHQ&1F1AOMVf`FUnmIF93)V2M7x6~RJ-R1W*9RF?k!gMUqJhZ% zKc@sF;hF|0(l2?c47dA~A_Rwlgs${ierRY2a|?@>JM~D*v`!~imE7hSENns3(UvDb zL6OTB%2C690iU(WpYymGO7?cF5AmS*s#}ttg%*sb-B0j9-G1$qYqf#e=Ff8huQw5( zBcfX&hn1&|RP|{Zl?vcXS9bbH{9s zMuW`gapW-;e~*~5#A z!F~vW4S?d_RzYU491vIDcb2I55W+{Lr<@2RTDaHz=c$b1&&xieAcr+c65AK9qqc(? z%yHe^UzKJHJ4b-PP2=3%wwowUnUsk1I~kvB%1A+eIC$4a2{Eyro*tbKB(KPQMB~CR z_Wv3Pao>a+%?wVqiN{s-63X^Tz!>G0#2ps-+zSI8r^M_{XS)&Dm9u_suj23WuhU3p z?t5!zS6&+UT-BLV7}(jbUXDzP_r-IUPh(TiyYjxMBVKu{p@WE?u$#a~8$ z^s&R*OqHI{YD1>D{yP@{{Nfh|m^0pINl3uues%tTdK>5yM7P{v`=PKWWAArZ%Girp zJ4+v#%mN=PN77{eqdn0HB5hy z^o#RbKL7qH6qTsK``JZY*~r*orLnKX94?N}gI{`AtV?u$=4ichU{PRZ}@S^K=u#FEfRY!SfEn}}iQH=QVYw{TTWhqgR(^c)64Fe*^`mxc-!ou6xO7YR ze0R%kJ;&JIzNQ20Eh+jw?&@4q$dqr}WDs8Ws~xU+oqsq*Kphp3nn)cr%i8C$UjrD6 z*U#&a4y4li@lHCHV~`dDLH*PC$Nm5@#n1cZ7eMabE@;DN9Gv7g&CAFfdtMF_sp zfH-Y{mB;7u24ZMVpo|s1-ZoRjych-qb#>Ny&aE7mlG6D7P-PDV#t%^CF}y)$1c8<% zC8p;n%K?qC{@&ht<-&-Fck-W!>Mi6U#o0buU%x)QIE|Z|ngh@qCN8d9K%dR?vKJ3d z=mzU>pbKrQjGstlT)~3$s@a7&L)>}hY z<~J||FF_S97-^1xR~3Yc6|;RHulInSA@GfbR=eeMb$L(#xy@1?9XtCs0FYPBR()z| z72BUL??0h0E|w53iNci268?SjA&f**??b8D4V<{|#Qva@<9j+DKs@b>`s32TB8&Oj z<8A!&lejj_+R+KsV^0(UxNW;tdwtB)rfh?0cqo1(?Auydms5xSWB0XSoogYP??zf{ zhtF0JO2Ecir^!L~*~;tUZ`Qa8Vw5>!j0q2XcD+)SeeB zC00o|d2j6&Bw-~GSj36kfVE*9m*v0=ftxof!y|@Bn?)#F5nEhbJ(X_ckC?8a2Vifb zf{_4mZ8~!Z&?>93!}=x&$lC$)r(L6pkDN)Rt9Y`at$ZGeXhG^z`-7 zK-?L&r%UxfUeuJ!(;>dE=)kgl=c>duD;*Ql>F>A4>;1+9NKv9f8vAZhhMiGhZub)v zB_+W1{UH6%Rf2Uv6)Rv=yGThzwLINnr~C%ceI1 z2T;a2SZjX%o8Rc*(`DZmYuvky8kY zC%0>of)owal`R?3*pP7f+>Y#>-cUfuA!w=h2a@-<<8PfjN0r2>&wmmg?d`ppx?3S> zt;ya$PzCn{pN6_MBq z8qnFV7#- zMxf-6yoCUGfLPcM@y=mcq)U;DnFOB7)aTAnj#G4j*WOk8KVY(B$T*)byk9UC{D|jG zerTnP(A6%HEU7mZD1_1HrnwZ(Q%5BqCLDpej zJ9ho9stRN<&=#8Q=3tj8i~)*QDd=dE_w~M5tEz!w_WgeBq_I5CsWa~K;lGUX-~N7i zneMAKs)&Jj@M4vl{k7c%7hIuK=*}!U07y0h0_xhd>Nr{ZrJ`JI9oWD}i;GM(!1}!9 zzGlPiDL~o|nL7Ml)3da+bT^YH{tDO^P`MTs9=_P>Y7cpPJ$3N}wz0^Fh`juKEJ?fx9{{?N|{wG#lV0eIG@ClBD@(bCegu&`j?`RW2J5T_@>b2ll8iJ2JVYjvNB zI-}nNosVV!@`LC7s;l-$^84e)uZ#iY7Xo0T9z-S;L=dbtDn&in%2T>x1$7tU&7eC}^lIt}~ z%+)1jExf;Q!%VauevtYBYmnu2PDIrYIf@ux?>KJ;vk+$wUh9%R9K6NiRlcnk;k;5d z8O(K^cY3sN?&`O`mya)8N$F#Zd|IFT!H}22GWasA;hmkaHk-xykmS9XhU7oLfB!tb zCtfvnD$z5gnAO2^(mal4f4|0Vb-A*u;ZyhO(1RAM=Qw}2=!pm4*jaZnn0gBLk!_L8 zOwOZny|S}Fx}!`mTR_Qo_(}J-8EztfFlLF?yaU-jCnZI0ZHa0DwPUrPHd|Tn! zf_dJ%&1yF6!kND_7?s7?g~?udp4}Zr=9VvED1Vm|#B{6RnMGm#Ji_+xWDD4z@8(5- z5KK@E;ZI6Ra`K#_csNfBp}*A43wje1Ee^zz@eN-i@@Q=uQ@Fpj1AHHl!!T20+uPEy zN4`Mf!_zTHNlop0pH^K7fUyS#FAvD11}JENYA8?~46v*KE*coDU!F2*R{pC@Y!;o5 z0RWwBU!E*CR=J+9nVOm=s)#GU`1o2`9RcSF=FXQZrDNwXFeS5A-GEW`gI7lqSw)-K zB-cpF$@QaprOu**KkxR|Fzvu9LLV3xc!-n-AorLuRN}+@Kx+7#GfVG~_^UemirHdI_FQLcp z52T_b zU{&xsQ%Cgk^p8i4@3A!o+jsLG#W0Fy|9v0_~18#slHmm3_0I-0ZHbO<|YtEsGl(_P{ckh-oBXMt$0}N^x z-vbQEd0p4X*Ec{F4cKwqW#5{I7z<2{G`gAHTC?G&5E>Y$5$6a9u%+vDOIsicz zSJrde3=SppdCcODr!S{a3pp`h*7jH|Mw6KDc-81_2_^!K~rw0_fvH)YEl7@}Lx z?*sdVcvS>#r9P17blO0S$Gsl+MvyLRbku^4t9-8xQVqR}AcpIsSfPVHAf~18%l4) zbiVGDRr{OkAyU%6n+?cEuddzf5a4+S%qofXmGuuL6-k#UXh4@>gNqfYsoSkDv>A6ftZXmsE8|YT z1GhUJW(_&Hk%!A|z8I(0)e%nnc)#w=xDTa|UqIwRYBLj#Y1F}gFEN8TFvNan?O#KQf2A1Q%^Az#|<3+LOqoy(I9cK2?S;<$n(hi8j(t|MjRv)KJKnj zJJ=*+`&KDF-QF|$=V93||4;%>go;DWP=510g4zlsfU^dB6%mgmd@dR8TW>szV(^?d?|2j z(*9R32mf0X_#t}#&Y%qn@>Nx(x@8__n99^*A~IFN)%8ZlH$6&YTlzSh?`B7n(}_v+ zUHq8cYV6+7Ztq=$+0l&&xew%JEzYoKX;Hy9b8|EA5IX@1JAy&5-0zK4NpUec4vv1abMf%z-%D_Nl<@Z9@$BsEsy z@r0oRO@9ccK6$J)ZH7@JZ#R7IZ0doTwq@j;K<$YGpohRu0xG+YIvh{yW>hb~k5ZER zcns=a1&}OSRI+3>vA+pK}Rx)V?&;!DGQG0#{thF@bARQR(@xzVX);?( zR9SX>`)YWTSr#v5vyPvPBav0<4GrKOl^%xd05IYKay?h$q({99e?;zg3Yh%&nkBma z@v6>r1uuP9PF3aWLrRWiFlJ!ZO&*C}W~sm_xhHY%-X8YupMj``-=H-l*mIErSp6RF z*VYV!Eq?xXtk(qt;cyMV^=#GpK$L`pMAQqmK;8J)yI*kxv*M0mEi>EaKgf8Mp(kY* zpsNxgAtBZaR$&M-=rzVy3(p&j<%zrl0UQuWq(uAk=MR`kC9{4BgxMbZ`-+V~p)-z~ znPX<|uAa9SyH{{WtJ~q>;bdq_SZEH9`FNIQttq%+GQU59uIB1s?g#GkrB)9y&dND8 zB?55H4fJ||&UTn_W{~1(8%~MUmA=$tzfFzn^Q`)j@?Nlp3H(6GvITEs65`_H%k|ot zZM?r@^z`(g;*gV(lj~_{Y@gpilsfQCzGED^@@c2m+^C6m_B-uIF{+CqV?zQ!Wxh01 z9WT{2$(=RiXpuBfPeHihL+-=T+m2-gi$c=J z*xJu|wtwhQJk#_@p#@MxQNo$cxxmE^_pg+nUv~@~y5h9o+#KjTtk}~FE+gUat7+>W z?>ya_1uAN2pqjVX!gfJtAaNyY7*U2^s-lh#8JaNE!|%85{Xo`pqLAFOA~d%3%Rn3u zI*e)HI2j>f#83x$xy7Sa6h2R8b8xE9WC&6F8r(dfJ}qH>KoxYI#APP62`;Qi#6;9y zR`wjX1?so15?SgtMMIhNu`f)zP@fsvOjR^{=qh!#4A*EcC@{Rg^8gn!JcsE)e{59s z`A{IGFqlGrZ=1LhaBP6b{Rgcky~g}O9G8#~V~P%71ta!7Q^=mOG^rj7E#ghWjR6ou z!2s8)$5Qvswvn$F4{b-*7wl+cfGq*fN@FMWTX!TIi&omOX5F`1<>FSi5)m(ybaZr7 zRPbND8l~>@$e;iLgR{-ybop(61f)+9FIHV!_zL`HDqx@?g!N-G%(k+)ytup^#eZ+l zvT$OsB>Lx1$CH(=FFnC75l^5QNyXv!r5rG^*URgN_hEx0`riINXoEV>8?H4W z@x81XzDX;+Dy;}zvp~Ew+0WWjobV|1C+ESCA7|o-bT?(NL>c!!bN#V zB`z+-uP6}=sVVI{@wZ+~6N`WyK~V`kJ6%FV|0~n|Q+JMsw-JEBmoHzCv@vdO`aB!J zssRAh)Lyph5pePkV*+6Fjfm*|1K3e=VX7~A2_R4k33dFK9v7Uf+A@hb4N|2sOlQms z!!^Awfh0pH0Q)AL+u$jJgg6dOluU4gROkNv`;lKGZ@yq4zTk^fl zXFufLC4(63dcDe)fqFTr_tl))r3q`TuH7WQDCj!C!H>lHhHQWhzX3}f%wCxgU#L!` zLH-&VE`Z>opO4Q&{fu4<2rItgbLB~w@27*HfqKh7$OS+U@XrBvz0vL6<^CNQT9U!E zyIaWP%oudMqJ*q?v|G(oFd_DCI)c*6MIO);KQM#s?(WWV;T^ad93HmHsS;Po>bcc@ zHv>YE-~*r&0I#^x`}gm`sMy0Ar`)(OI#R}U(OA%ALpwfH1SUJLfV2-TC4(aJ@?*Mg zFq9u~oWF^Eu2a0FcQORx4IJ)P*V8E#t*x!2&5hCKwVI^I>67-tzYv$CJXh*y-sy}~f{X^<9~FeD23sVS z@GcO+)NAvs*I`A3j0?iq2S-Oy%z3L1wdx8orNqR7V78!298aw(*a~K6XZI1z9Nx6V zU6y}PPn`mL6iaQ|n8^ked?7tu^5CZb9Ycdo_4Bn$gkNldxzbphk1z85KSh7gq5cOc zcVyEERO%@?nx*Xmk3AAv9M|t&IaBJgfAe?FL72UDX8UlmScUb4wc}=a`x0xe#8k`_&&(_n+@l<+ zqoJXpT1+nA`&6V6&;~e>bL#?##jAh)`sD>De;IRC`{CGKG<4L|=+Q#z=PVa&yJFd} z+C2N!=xGg83(U3w4IZVl{2j}0<97_G;||Ucq?P*~)|WrX>iOPm>Ob8^o@-+g@i_Rp z7_R^5f{Ih+$E~{`{?KT7Nl2LA_O>yb_r-I|YQk3)kpXsCe&l@f|GOslQT}$JaA0cb z%^s=*R>`n`sKNVhTQqp0T0y%Cm(%AYr2Cb_b$!AoPLmX9$YA|%#PwFVH^ zxh!Asy3C2*T*w4f-Gmm&e|jCXlh|oQ!l|b9PO<0RLZ_3CxnPc<5uYZ>wf+me1-BFH zOE-V?oh{;wWi6eo1b%%Cmf%RP6XrF)PpbcIamAuw68Znb`~L^@|9AJ7it5;>;jVDY zAe2g|+MV%gG=+1&(Dci1lti^sb&^*$|7j0+5L59lq65fi{_iM}r}ETmNZgU0WV*c= zDFp@F3 z6sBJ{@70u?Ax>Q=m%s14(EG^So!;V$+a+3J^I{W82Gd>QIyA%8uX?)UuvAI!b+ z6Ys&>e5#ce8I2l`(wdL-Y8bXL2ljsN^ZgTFhbg~BL#)*#3Eo8OQsp=J>J$k%!(YQy zO343SD}Z(XCXhI8+*zE<7{Q-XQH=7n@%ue4CJ9mhVCyUFH7Dt}X8JDTo^j}^41A8( z>%}W^P3#jr9?Y8|@0rGg$WK}(ys%B;n}xmS!;S@fM^<xQ#I7!^OqhkQv*S7`=`Uzw0f`f#S<5njjY`oe$?u@giPoD)F= z2tEoLi=t6eDpLl1Gh?MAuNC+Z0l)dRZ%dX5P)^Mp3hB|L$fBpygi*i7l2pLihV?bw zg-gmB#z}4T8Q6E{G$luNHrjcEI`C2U-XdcGzj|#6-|(gz{-nvl*O@ZmR1*gvB-bXr$$T@|3 zS}Oy-)Y#W1fkTqGBo@a_#yC*FtaB zy8%o2LxH#XxFtA8?l1_~nX5E-s$TaliM&6>8Yp28zS1Ty zBRBak7hutcA14cW@5*{nvFL)8lYpaNE2FVsoXyz4aqjWptq=*Dk7I5)^7_Z}usG_| zvjTDMu^;s*K&M7p<5ksm_vK9fSMH6!F|-}M^Of}pzkw`4smmxCFwU`{w7!-~5$Hn3 zRdV^QBt2&oOZ}#tU%=0spE^9p-J#(>Mf2_XS~B; zL}I9(CKoV_B3m&VBZ)UXKV1H$uq$BjyK{KI0~R~5i&65iL{Y#GSm6bL$aMy4MX`)o zcL)=54E4Zyr#A12dW-0WleD}lqpk$jt8~*-jfBIokbsYP!O$cIZ>OqXN+NOVvRq4+ zoCx_rxBCs=vAVY59k*w;J}fe0^SI9i<{(9gNFkRI^^Q#o?Y#8)u2E|YHX45EHcxtv z?jPTgd?7CjR&WXW*tyk?I+|gS_`Efs!}-LwLqEYp%y`(`oGU1Y{<*@WqA4)Wdb`eb z^0b()U$<8EUirtbTb ztC1KD9rpJa4;gy^AerAZRWJB0S)iVmZu(&4j*2cR!2rQOsbbeBHXVS(C*{#Uj%r7` z?k(A@t-K}&$X2;thDVftaM);hK*`4gkgx29=C3|BWy11_%*;rE*@;`@yli9qV-SiMg# zO^2M6l$;!Rr|Assh@7NnUjKSmDJchA-$ui2Tylj+4jC9dWQ(==viVIg7YjVYCgaJn ztGr-L@Pd|f^dhOKD7)VIa;MR^@mn}j0uNsK_2 zHgX;9zdRng2-4Hb{_?3Qj`weaSCcdR>5-D~yz(c@hQbcwUOQ~bkNx)lcKtwp;?-zd zQQi9n`jUKG_TYd=r-znqC?_f>J-I(aiy}V=Vtg94@1eb9XZaB!(nQhAQ-6EK8VR*a!ss17NttgP_)Y#L5L zA0*4B>3rArQ%Jx;X1 z3Zpqr$4`c2zwx+q^5e*1trH6!GyWBS2HT!3jx%m9u$(c@VtS@NxHLR?p|36AvBBr) zgqYFOlMLTKW76diY&BS?u{+ejEeKFC)#s!Aaq0CZ;K$R0wO^a3#q7o0OoXHn$c+0D z)mra&f7z%H>lutBm1cuKo%g8pq?)4IW4AWh9i{T=j+)Qe`JO}yUa{MA=Y^T$h#bO` z1n89D;!$sqIDWnP|EHU9k~XX8(LhX9@lTBrje?%Jz#B$j(thNH9YT~Z2J3Cu6TgcQ zw^H0a!qeQYU3wJLaEjk8*?b5baS{Hf;mu&-6TjstK2kxM&U7V8YxxZ0KG%R2I`n*6 zmeN#S;~m5>{1u9tX(S|PcNsp0wQqN$e`KU_l2N15RFl5lWa_=4!uYq}uMHGWY%2pC z$3`vIX>CW^+7nT%+w^ohc>DXwb%nm3I_<6{w_xKEd}}%v79kpjcp~KyFo=t(5|lK- zA)VHE?iof;vZk?f*7frTfI;==?w+1P`IkmHoPw1al^qwKt1cZ} zD9N_?0iUpJP^I+}0D9lj#2W*w-y|k6Yobm!c>~en!qwi90LW{CRVMpgv4x1?3q+j#mSpTtTYc5=3Wg_xNasBo?MEuu?qffa6Ler%7&hM!s?3%T>OgEzd~er56fk|YtMipfvUY5=+(@}k?z!l`!92K&ui?{5_anc zZ)2|?XPA>5U}=Lhqld>p(c<~wdFEkdNa!vm(ZedY%+Y6#FV2-a*CMe*dYp&-C=>l| z^+>{N{?**?k{ayC;>3nY!btzB&Q3(XvJaZzqq^7)68^pmCR0yqAoGt(*=F~-;(Gj? znj)Fkm2;Snu62;GdH`>Zs4Y|0qkbx&`16ZD|l;8Evi3U!THqOaP-o+q}?-6D~x%UA~ z`I~)j#~#k`(*5Jzww=5z*y6i_9w%qE7%!X+N`*;D#oD!dJO-i)!Eq5+9v+1{q`-Pz zTH5nC=$M+quH!{(mZG#jGgUB#nka65Hs>n@0OG%nHgL+sF8&&bQx;ia+G9<8^O_8r zjO@SHl7VAmkg-*l#J`yy+rs*Q>@Qux!o49&Hur`td;7r3>wQv?j_P($K)TAaNJId5 z$V1?2??1`Sv8{kQxCPN~Xu6?mT@(M`rZiGykf^R!Rs!OW5*pF6y6R zp{{_=iYEuW6go7Pc@d{nuS*SjK+}p1Q33Yhhy)M>f;Hi?r7AYNy z;PxmS1id@ex53vmNhpyH>IBIU;mXq9^f>YaR>SBd{S7G@*SBN}#YyEfPovYZk;Cks z7cX7BSOCQ{9JAw6buxzRK!TT(wvyl2J%&=$^33AZeZ<}rdqK$)L6LO;;PmLDLyEh^ z-DkOqplTja#D7E{@8lk6l;~b-(dVKpPt4uRhDUz?`5TW9PQuC)Pka{D5xZIH@*T4E z;Z!Ifr@+rfzczeKG97c&jd!(d%kRIkZazQgq@OCGN+u16zNZxP(B zqHJ*JF+gMTpKkmLRAi8+_QQb!mC?F2G%D>(k}Kh*^_Fwn8bTkhg;|%Z+D1ru?6H^E z#qT#rLLU34jZgI#;g9@=b8ZTwzO0rKUo5Pz!jJGNUMXMywbNL7S_+)9v(x1Lz#B+$ z?t2WcNWFhd;0t~e;xKpDK#}?h9de>t;bnZuh*=EfEI`ffO@MIvq z#g2lc{U$!O@-8pfo{Rz3ejTQ;w5-oV^;f%m_C+kwo|i*JqyBTfak7RQY6Y@CCs937a=2L zZim5__3ABsU$%smT7B6lkqF3`YLZ`>k`wf85+%bc-ZE~ds|5BSiexf<9OJvm8e>Iz z9iW?vb6A_i%ug@EmIVN1T59`M=z1M!zr};l^&078)7&sbRVKK~VfZNp&(tXVv`_$H zpml10Mortsl$>%0-vlv>FlcXiJQMPy!iSTttc`~NAZmBaH42U7Tn8dxR53ai-x`nc z@doxh7wM42b@lc#Xq>agrQ9JlL8e?8(`Z7V^q1g!6QGtk^Wh+Hh7NI+I?YmCRh@78 zc+Q5139&HLPw;UP-FXb1;ZRscum<~Mkt%I~^N;KvQfx>(UB}8j06DS&{ zEc&j57m3d!Bz)`!Zx{M7WTFWlusM=sx5GJ3Aje)gn5W~V>UVPNX#^%RA4mPoTTG_w zCn((A4hxu|SV+|Kj>;V!)!I@-0>ayqy%#~*CxgM|EeUy1VaSMNRQv-p z5-(CFUO^CpfPr{xcZA1_sczL4lK1a2VWf*e>vhwVy%~as6ZdVUPj`(bG6jN;>wfZr zKAWp9l?V}!C&`6bSET+%UVgys-aLk(ofMMx=cfRl6jHGikkP4h3T?R&bsDdi`~)0l4#JYjI{WySeA(PZ zI15Ga`Yx9bAEwqA_?LhGD4-v@wSxz)j0d^_{?uo!lt~a=LX^<3vgP$u!AXx2o$6Wi z0Vgu(+$(jrJ`uSN-$Rs4?iKiZQq%xQ*3S7eAM(kIkdyG8gyh|iXn-LSIU4Q*LN%_Q ztCuk)AZfK9zvUheSac6;ql1hpPH!hc+eC`cX41@HV)4dV|HMEMwpsay$wQO-c&)@m zGL~og(Ix8FY0Q2|exKNoRA0ePEL$Z*;WpY_Xk`0|vKgr9{{$PijtybIR6P5L_Ts6b(T!lr*c$K;t_;!kSSJ z8oC2r&@34jz=|sh@Q6Rhtux_Qu{ZDE9;RryI$M6c>iHQ$he3Sme%H5>?DrDE-@dg} z@EVrj6U#zTBH`WP;@8Ig0+*zp$*5cOBZN2dToNs`2B#3mC4&hfqvPD4RdtEVJ7$eH z&IGY5&oRIK7$_{dk5HNhNgDc8_%G*qeXTBrj7IT(AF6R_{!`F*E}cfE-QCh=b-Of5 zr=f}^sV4`J=D$I)4aERE)B1k`UIMI|+SM^e&-4V{9BVxLYbfT_K;Zq9Sv=&0<5)MY z{L_oq%>0C;QuzL0UDx5>ItA4b#$x_eZ3QKS-Fv(J;L)eKug}#mj4+;)@5)qsfYwsp z3JdCBEE_DPL^&dzbD$%dCZ$Tr8=lEKyL+Y*5M(0+PUJ1F;Asr_{Pvzn-#bp$e?g9m zOHZXk!(Y2PTk3juNrQ-K#8Y|Cpo|?_a7Aqg#SF0vsWVs^5($09W^|FD(eO$az7){A zkJ_u}p*EANztwg=RFZ1f%CA)Pc-y9?280>WIkU49%8gpOEe*zcBMc-KDusn) zy4u&9!*)ZM1vv5zURJ~K!*{zvUdqHY?d$yLcX_3JLPo({3jgT9eXGnwnCA+OIsSE? zL%4{*syh1su04P}OZE;C_!6|v(~V09)H{+5h>TP{`M{^`=oXzXs}cc&gSN^xcQ`%u z&B9;s`U}p@5Xq<{+TZP!cI+X$TaNh`0$I>NjSjsR!{6lEo|ZxqB4vJ&+CDAh`b;1F z1cmy$sWyrloDp%+sJ>`C9{Mr%zdO9VvSBstdI2DcNqm|+zwT{m437z4F-`B0kqYo+$gJSPBu9 z-36_Ywr(aUwj;hbKTK&H!)^nMAUUcwB)n_3>Wj;QUbH1YpjE_O|IX_mDWj`7wzXKF z?s2&D%IJ5qs<@~2#)2gUvN8Ke{5o=xpobQ2c#3OkpP{J#DNN2|O4>ExdFWu6=rQt_ zi9Z0w%K0r$<>O2ex`xFqdVoQvhDNdkVZM{4&~u*_r4s2H0?lxlqdrU!-CCc6dx%k5 zrZJ-1*hyS?kFjJZYw6j)ZdJ*l;SXN58gimnGsI^flkRA2r+#tq=|iXXc7vD;=R!Bo zsixM6UPBV+nTeM;Dbtgd#OCT(rV(oxv2 zrrRr-G%{UuZOcEP(t8%zlRj}vjXZxUmx#b>e9p^a6|nd zhHcREQO_;DrQ!9)bKy{#y*~6UioypFD0O+&3~E1TbK*K>`kbja^e#T7W>nurrXMCgTZ?}z!s5K(-sE)MIVgPVC}Pi+nUC%M%f@kZ#Vb%S0;^CN6m zK)>T*GduY5Y()3C-H*Js&}q8;@@%YRkQ>I^R$8vs0D@4JZCCT%-!MPYc}gUDmi1W$ z|GfNnHPnB34R%7Wb|>hVm}EQrFqDl=$t=G|@6lSbamM`(J+c3$oC!6Tmy&Z*;{^|wlflneVoY^kWmQaMz=oliJ3{IikiYi(tbSAEyY6}> zo9XZCjo|U+99^%Ot?*a2Pv6OKE<+Y-3i&9*KkpNHCnA_yd))G&+FrHvNNow6`WPxkz?g(Vq&* zKNJfOF{I5xa5!h=Mtgv8Tj?GLP#q#3B2G(f=&~ynJ4JFb-TwxTeywvk^-UNJ=y(2i z9n!>BP0T>1#AUM}vPu$aSfJr{_BuK)eKq*-dQM*@0SoPmQrK0M`BtM?7Ba%;*8mDa z=QJ~o>0LF((m|v6g(G4pKeggp4FU>Opv!odU^yKkuim@&GZyGPFWBkLc=NU%YXR-_FqqgYNm=vFc1sq6 zub@j#ld*4rae#u;&Re=(CNECZ+>XHfJ$cHY3Yt1!b< z`!^bDM7Gp2gpQ{vx9K7C>f|zHH0|7%XaGvkIJtO`|Bvly3XQTLG_s(@!2e~c&FV#< z$z2eqGre6~XK5+JS5~D5vMO7x&6-&2?TGmd%+IKMv~v>WWuEyj3%E~gL0!F`{b+sf z^b)w1!SVf-y=3>J<$?PvA#vFE%|@S^Q33nOx+Num0B~wJ((y~t!jFBjUq@ya9(;7k zOb=I9V}_m09jT=MwbOk+_#8sdf4Wsr5)FS}r%#Osh^Yd=n&+E?w~SG;M^nk1H2ITc znU5j+1IY-T`psMCxi{fzVG%bltVBKp;Sx`~K6LJNg>)J(KFg@%1>FjWe@*NFJTHpm zJ+;%FFTOwTb4P*87?j_#H;O(o*ctpVtCQK%{)508}%;Nz9b%QTm7m~(!wOuK2f=!o-4_RIbeKy|1<7!2v zkE8adVOx48zMvq3AxRg$DYc91E~q zugB*n#CnD;SLuuO$5Bc@scbOr-aNY!o%;I~FDqt7q~`_Lc@JAjmoJ>MeCbTqV z3_2NyK+8yoQiyNpdKbVMB`&7(H z58ntJiE(|`A>zaslIrXv(u^<6zl&uKyOqSUmJUf9js%OD+MVt@Z3~^`c@p)e5(&22 zYxDn34{m%^ec@NgjgSj4qt#43NrL z=zPf0Cm?cGkP?F()#&_w$nx|2$DjyXDOYENp7TQ+dEVfvu_vx_?k8B)<@81U*!Ebm ztPd`6jrk9Q!m_Ml+hazcb2O?4;{z*up3{}mJD;~#~pkQC+iL|+16!SBm zu+6g`rV>VE>O^8CP|8}15HBH-0d^qSG#2CPpNET|aHb9fY*#HYBZa$Ke6FrmxtIP6Y=hJA!)-ZTe z5wq;Tz};n`_VA~xSD9?rW7@eI-f;t3NpH(KJ{yE;!rr~Iu8vs|6i@%71+ET-rI%QV z>Bn#awk*Y~YD5=z&7jiC-Q7`I6x-GRasfVgi;7P7Xx(v;;K=nWoL{xho(Ai@|9b*a z%?x9D#Tg>H!%y&5%sDpaU&D#u1Z?QKroNK=ij^%i&cT6)%=PsI9NY+mkdrS#avj$dUc&o+_08y8!*B)lb*T;}2=owAxQ z5G}72$(X3c@BZG|$vP(5327!05ckl$H{=hAQ?8vtcI>2kW-Nv44hW~hof)B_`tk+ip2$mw`jRe_*Dc3Eh71fL5G8dT+63Mva*IC5Itgkehf%2IkO5)=pMz zV_muOLeGN~_4X6c4Y$QHe)VY(&L3w&S0yrcrLGEt#fF*f9 zgN`~~ssE&)P4(|~s{gejBB{?qGIEuJs%n&v5cT@tJ*DSLDSQTB!l(XBv*5S68X%%0 zRYF+5=|~sAowxzZ{zD`hSshU{sTc40jVxN*jt)}_YwJ>TW+j1)$c?6-5@Tgayk^?edLv05H|EQUNI)ol6Etmag#A>rxtJaR zBAd>5wyCX_S2ioj?#=WA7}{Pa!r0#xz3U-|mXy1OVdC4Uib3>9J_JnzjfaA3Y)v)- zMmJbJujClKMM-%n!sVuKJ^3&*K83;(b0&5Z^bS3_B(>bAac)gv%{MF4VY2G`N(*Vu zRHG|-C&2yZX)exJ5X(j@lF+~@uUL+9EiBu`dZq4!@4XUr5=XnMW>U@3mWuO^=<0~P zeTlH9f{T+~p^{4MO}<#Hz!5^l=(Ms+)G0f+A7ok=`&-}DrPZ6JQv<{UH^mi1$v%!(<|ZnHWIY?DLYp%LYTT55cUO3RlonxC{Uhe$j;-rrq} zdo&5|MM}es`VIAbei)6LihaDawT2zz@&Q3;=p*xiPw4Set3jv*tC-kQ!#!J9K)H zeCpS$y=sk~8?tN;r#}NUFj^US+xR~??%YdO)aew#1Zb^$PG={0d$ir|s-(C(@j7;Q zzB#4}sbHs{9?g`@BsqZYgS-rWwlZwZC^J5SHFM_xuyyt0ySNzSA-7_xGE93dLns`b zf%jqiM;4dT!vft=E7g2%@#=BXzA{@eCV6|g8Ppo9)A09l+wNa1OnO2Tf1a*12bXh{ z8LINzPlS&SI}HZ#Lc`hXnLt&5)pUCQRER>(*wIyg9LM8}tcpKNQ$1G~B_s!@WTq-% z`}CZ6^eyyu?3YJwP-r7T#t3{>KL^#ov^+j{X3CF_phRT#Y7_Z~wogg{vffI$Y3Yj7G8!{>% zRV2i}R|np`jQaUjh|FO(psZfeb&}6^}Qvb!*V_v0o z{CDD|S-P|>)BCuy2E=%bZ>gV9rav33Q7j2zXsuQ#br~}m+zjmd<)_ME#Yd+@A3tux z^|Rduew1dkt(=6l5rhDvxS|#5OZd}yAxW9rJWG}hTCzmbuk9yW6Zen8g}l0UN~b-S zY2JDlWyO~m)*T+^S{>OvJp^t_hkXotBDo_aIDExwFBaeG#*ONKEf$xgoE`Ij$KyD+ z@bElYT(a+5VGfzYBfGc=*>c78j>Yb`HRaR{hDJpKjTt@X-4l;5e#jPj%Fg==yV?I@%-yM$+cb+1;XqZb_zfny$PB&PME_16MjT^8s*#v9ek-+l*m=$mxh;aA#str4X>5U$p)OO zd85pq1TNH&wxu6suD-jfZd4WGY3qN7XtSh8ho8M}``_(xi@I--K}>)55{)pX{^3_m zbhvSsZ|=Q*9`};w)#zb|Zu_e17KK|z@s;%LKshSqtcHX~(ias(NB})yov?c~QIigB zE@iAzS=YwKhM3Z1mTmc*K;gs-v;3j@?$HKK{+z@pq-G)+lqKLyod~D`n9?Z-$qvm!T@F z$g7`lkCUdBC#2AiTyf1R427r+i}ZQN4XkjASz~5Fjb5;=4>SbA>yyY-nvsG=`^J_;2je$+8*TSGM*ws`t8i%qX;j)ovNoOZzJ zpe{PN@g4<>p#7mwlTE^gv+spdUHhe2taWfxv;5J~s~tlYqWdv@+w>{Vk%OXo0o=hv z=p8RhWsa8e>7CE#1#kx_t-nD1KJ17|Y451Z|GVWDKc&^-540({XeUio#5ofdhCQWT ztuOe+-Daw3L|o(7UIPQ6&HgXK3>H}e@;|%?|$2u zg73o(J@TtYHCf;Vr-_J4Kerm8%8F%Y^`V52T?X#{Ez3UEZLqTBI(*o&GJ1Je0w@w3 zWj9u8iYXD`&gQb4+3Yu(-xU?$6w+ZIKBanQFmtQCCC*>0F!N2mzrO`(uKifS?*V^k z+ND)$5ye*lb^M<0!KpA`ovZ%|CT||tvkMt8#9HOU61`7Lgkpdd-u{nBGUzWRkI(J#2OY8F|I-uM0<{U>ozLAXG>+?s((xT1Rdi;;vUcGx6Pu7Pr zKggpV{uAV%B6ciJ*Cd41kg3xwBgWc9ATq}zS-;3pIH_LSp*LRd!!hp;qIRTLdD zX4pbY1dWOxM_S}ihV{y_SblgjU57qdhci+wl2kij5|1wnuy zq1x+R3PMReB5?Q-9Tev5dhb3t{R1r;DMg%SDlrnq#d&%2F2qh>6`^Dv_|K!BRYie*LWZA$1>(twp!;>2G=z z^rZ-&0@(^_PIjlZ>r=v|RW<}yvn6UMX?+WKO}Tw#;2<>%aBTT48$eCVC@d|*)JP&4 zaE5lFH;#eHwY>@8rd#4f6Wf|taVR4^a(4L4-JTbu(k;RYUCz(c0LZ)aVLjKu4cr~h z#(4f>;ko7pZ}@aX$`30Zx@5fY-{0FT-KHjhk!M>A`i`;gi2mTN*j;V2boo00C`X!j z#|$kz9CMfy`IZ0d-t`KXQ;c|}y1>HcwdD{ij4O2YRXnzDKkLm&91eCKTgF(l8X{i@fihFro}or~MKf8N5B|@(E{Sg$ zOl5WbOqY`nZf%Nwu?Xro?R`+R8(E8Lp1L%!y+1p;cX~keu=$LS8ua7N+qQ5%4iH}C zY+$mOy1zmFI}Bt7sBAsAI=ozv$ekvVsJuTQREXZdQW0d_t1WZeT{wqg?;N*%`ABBz z>T`TZ6k^KK3_MS3cm3=npyB+uFvpI)jmVix{LYvAcYK)k$=)~rm@bn21|51Uo|7J4 zmip%E{SaqhVL4UY?}MHF3zTq3&MBsaq|%DXJAaw4cj0;w45DgP$?>YqaZfR zWn6xm;jeCfbv&x7&>|bKcS-nsIG2A{=4n>cG-I7mwlLHqOYI6>bzU1 zu|OJ_%am~ThdA(%7IBSWobbmC8b`$YL&hXM>s9sJOqx{QUf34Qxhc`Ayfx3sD|XCS zKVYv#_Yba53pk^3LqkQ>mQhB+}S0d++brk!G%mB$UZX$v5>=kMDE_Xgt%0m4g~WnLG?!O zHlSzw{Mm0?@R8R(eBj5`&Q|@MrbBrWgyf(;q-#7`eZ6RVdG9R~F1VndqFIr`J6Zb4 zwQFQq+PlZ6zrKj`J&R40?AG4e{9?WF4NE?^bTKyvhn&btOrqLFU)Nt5`J-j*t0Of! zp;KA}VfO&I<9=S@Q>ffsbr5!f6TkkdpX=^%-||HXTRE>+XR#?e)?J?|4UUfd@1|+` zEd7q#2mjW%k<7DDyDGBiOHv)7mstTh+BX!3EX)nu(qxhlR4BS+x_?$(-7xQ5a^!ZK zt8nzvfIcLXS%k3dTDUZ({&N{WPgjQ~ewmQdrn+x;{f(8p2UP3SXICLNQ4Y3fz5jx) z%bYb0R#mV`YS&)1yKp!xG&i-jkC1~BL|~gHxG8L#3s3yfcyzOJuCVN^U&HvCAF$%0 zXcKI;OHZ|OqrKF+03GZ|K6VFVmFvCyYuU5)HFH#u$Dnt-<}y{D)&$4qQ)MRqdX?vn zMyZx93A;sq@N}v^j)}}Lp4&Udea^QZtZf#@$}OOcMH2<33tK{e3@3MNFVPSX5U2uY zOO2UUVheo;4SDJ>K61>O70{FJ=e3Fd|C@Eg8AfvV2-F{p} zRwS3-fHS_?>*rj;)bIqN1Gdp)l;}q?9g7IE?9MVS21hdg@+#zeC{jkmz3oM+Y91ro zk!=~uR{k}2fim$#U;O`=dh4h*qON^=f?IKSO7Y_E6biHych}gI+ zqS}0Y8I_c6kF@D|wFB();S+fSiJGx(9|uFQMsVufBA^@(-ZlZTj-vn!640X-eW|K? zUspU-bQ!epm|lXm0c{lLLR0U$_o$9)2GlV7@2f*OfttKv=kl-kS0`i59YlbNVF3E@ zt>^n~c=uAP+~wzrkJKa>VWqZwq^4Cj0^{8Kf8#wkR*c^wy6RBl=N-%hv|G)hnb(gH zL^}iKTJIlrh7*6?sp99AK$gBGaVzZjVHmBwT^hvJHa)nC^9kSifWpn^0Wq|-arlPb zClRDZ6|>shrasG+_TZz0OL1mZdU_;R&cWti*pIoXMt=9F6Q2pLx7Qij5dMubWw#f8 zvK}eo=>N_hzR1{e>AYU=COy_ubCM!DT}k2wUo3f>PvS-{X=eJ*1LRK<0l8Z*!?eh- z6olv%a+d>h+E=#kDm>laEBxI4DClqipa`CM>gbQ?Rzob~-^t63=*Hz?Y|j?!%s=JK znl=4IS@W@omG4HjleT~dewCWph(GZBO()RooF&utp|JA$FJ@-_rA-N_qki%}O&KWU zDo6^b&J)YurK{%uc>lCInL~0F_TQOWTN+AvCeTeDg+q%H2J=U>sVDMhjN)`>s)>|) zXb3w@-Mn9Dmtoc6$w0!|+4mkc{-%c4(V_1k1<`r`18)3YtH&g*+ z*~O|FeTE~%Dzd!ik`;l*z~YRXrj_LFY*OHl{VlifRmAOByxWN;|8+qoLRBLxW7nZQ zMi7pVg#|d>R%7F2vSM>T*#BioC|gA7o3rYbXP?#O!$8u&ce61K^60`Ez(fgW1pyHQ zTQdF?7G~+wI=H3t9*Xn~fbC8XNWPjMH={FekG^LH3n`2xLWce=!yg%Xj0k2RTxRVR zy3A|cxwwrt!!j5h7x_pGRh$=ZFi`3jXS?BErh8)-)*2yP9pQmALi3F?tHx5v-!AS-jT#?kzBdaP`=rH$tuTAMpy|0K1{@zU)ylZt zdl=ZWfbXQRH0>AwRyS&H)w^&=c|}Ef6vJqRX%qbn5#bEN<$t3w&Mmnl4~&K4R$wgw z{Y)?Y$R5V*9bAMBwARs@diS?YzF#NET|>jb6yvLnUg*HH20Z+s%!g@O7dti-8l-+ z&iLeV+X+sx|sSvBATzRpd^kV;T2WD&G*|Yz} zrgT>TX%24y@@Qa@^uM93^l*S-tCy50s|;64tUJV*D|HZ|s``>wgy^y_8p|Ri;x<)P z#l?IP+@<^O-4fXuOUFe-jbfnXmeYM1U)!rI7j^(c;x{XM<+~WCqBT_Gw(enKVg~I1 z+LIFoyz+91Z03V}fEMYowc9`(R+cy|8 zN?(w)`a0DLHsAle>3H=UB^=*UGN5~jd1=1swe2L$O0UXZnfA0EgD|h_CdtU5%wT-S zMP6(K43kwBnSKq`sDr&Ks>jl6f(+M@ncN)zY!dY7uqOwiUpCsUBuL zJ(6&PHXC=AKg5p-#kSTJVY8OtCN>r(?)sx>1n0gVb`U(p(RsPe7&DyfWmZ%CYS5>51f@0<;H{?{N-KtYjOX^V*(N~?c%;hq~js~~us zIYBR(bcNwSwDC2NV{*hDD;vF{pRQe~>doLFF@055($Za_h*bGy(F^Ltc*x4S_i*fI zv|L9kx>AD`J~4;MbHCi+95>(EAGPNaG9rw&`JzY|x*YxC`1s+l%+`J6y*=jZW==VY zn~^d;4qLhh(j;JI$o(y#o*c}vx^?n9S*MN+=siObl9W--M+MMu4)-%2Xn@-4r6Et0 zH5KMk9ZP$STG`Y%CUZ;mIpGmHn(Z^wapOJy zTdlF$@D#ebt62EzvFGkZ2LJfSjqiGo+G@2s{azLn#FW>cP?c&ijx9cfzYhMx*CDv$;a|7)Est=Fw`=dMMO!TvcEmmJZxdrMDJ@D@ zEqVSJe8@SylG?am95kRhkNu!D7=wSp<|>`)#j`y0nG~a+K>eLa(1ji}tPP3|M+J^y z^}?##9wuGLLQyG8mK;Z=ITPb<*^J3VZ|Ea1bi**Hp_oV@zn2(YCCR3|lkx8;dj#(KwDk{9XX>8Dj)lBO}|kvr&L6b>XAG z%0d@J9y{>P1?LLYP5kz%usG9~a6!Su6Vdn%e=x+n)h zsSm?jd=!zzHZOVrW4%1PTRKOB$9CQJBntp489qqwvxU4x3GblbA$UVyQQy)q5$fwT z|NR2oc4PUg6aqmBlgR|JzLm^$kebEUzkT8`O~{x=*=S3MH(XkxptlVF1WU&2-wtjL zx<*6vB}!d@H|dcIorPV8)dIC|e0P^u$qtd!*hi~cLlZd2+mcjI0s`}kf>U0t8ez87iAJIBY_Zc^^!YYb{rUkXvF+HWF% zB_#p7Jd#(iVw%$4G*Ly}c2TQ`>aBs`w01#o|Dr)OX(Zkq2Jmu+<@ndybrr8*t@44D zRPwDUcG3qk`@FfEPsN;cM&eKDho}o{k11`L|I|+og3A>{|B|Sk`o&F4EA+q!u2X&8 zZqk-Mv%3ooWc^)LY`+Ugi~I)S!;dWE69(~Ktf6k?;fLs-`O6%@PPhsiRJSX_=6muN zeDV}u2uCKxm;L=dDxix}Ti1@wH{28ly1=3`HnvkkjZ+eJPY}zZO5m#q!w>b9*C?*1 zzRpd5G(E;5i5St$u90rS3FKa!Nn}TcCvFcsNNmf?XHM`=%bR}2h-Buy`f(dLpt3!K zRB;y;szX(@aC~l*Pc3uXqLF6(NzQ~X)VFESjGm!zWsaoZwTR{8A^~AtwNWV|dl5*z7rF&s>M;N& zUr%3VV^Qd&DwmR$yZ>JKatdj7TDyzAs#vz)e8Ju z6-qby3C_Dcf*E!xM53!2BklFd$(U}_yvf$EBmKWP?nc|<0qpm`!2h; zUa<9LyLD+$J~r=V?SfW$RSn_`Q~GrNplBJ7VSQg%{!#P2`@N2-B_VZ&9GirsPF0mW z8V8_MF&+?x&~UuR9JBjvZ^gDGnI-bMdgLX*+UoJrj7S~&!N=ub1K#i1A5`-@HcC@W z+|gJhQV;vsDJ&6Ahkhxh*ts7gaOE($?0o)TLgO`YZl!!-H`)*niE zcu6Yas)XiuJ!HcaJFX-nE|kahO$Wthrng{aGB%MK)}75eMZQq%HyirTF_nz}Rvk+{ ziQVEBPR5MfoyM7?C8E30gX_-yuCN)F3f7<2bHMDs7LFN8J+V-UH#9!R9PQe7QdGP= zjAyG9(gQh7-fS)fD{kfx^z>5G(pQbfRkag_tA8Jvf5JDi7Q>KXV;$!kV2jHQc+1Z2 zx>H+3Nw$-!f39@s&Pl+k9-;5bmn#$NO5}>K7?{K5E^~q z!0rB%E}00|q7kAQ^*o(jX z=&f}x{d-3lIekbr+OP;UfpqJES1loa!ye#AYA8rsKIKRqDE@u1E>f{kzFCMHz{Nf5 z1qRmQutxYOP~FgwIqjR#^^j$fM4}s35VA982W33`KF}#}g0Axm=PJ*TlyZNa_K6l#X ze&mZIC)YHfL5(7KC-}Ss&ABH1zmO$Ab-kD#;q{0W86S@=uVK_c7qnfT6uRtbyuGz` zxJ4YgW%&?0@*-oS#ClMyMohDG!hSK4d?m1>hZ6_bS*Q_S*sr6^^0{O}+iO`3Wx?%d zuAi{)FRXgEEaZGXWHzHRwJTP}3i42mn-@$G&PD~eCbRYU{YNozfnP^N(G?3s;M^RA z!s(F(A0cb#%PieLleh_Lwmq*8m>Z_;1)Fgv$4J~{;OxhrBwIb+59IMOILOdQ?OhDW zoAuY~kc2q5D0n+9bTTk`KZ7wIYkXrUPsv4KAA(xN>J4cF*A?3-ITxhOH}#<=T3F*PX= z=sX-FtV_4->^ZjLg=Q|4;Mj)#o~WfE;c#4t&*n1j2&NC1tCdq!PC9te1SIXw`keP| zwO5_5Mj(U-ED~xWrub%}rfWx)65OW})$N3D=p~?9d~tK(l2e|D$0eqO`+%RG=#^gQ z`VsO!n&-ElQGcJW5gfHEnubT;7`k^ngAdW^F%Z7h5f~EO7)a~>Z}3sFVWkj~q+T#y zCD;%VXZnY;yj4fLe6-*Ebf**!^E>!_d39dAuqkw`Pe^3w5{weqLr7Z&6G9)<3s6&r>}A8{Zwm5p`dG?1#?(;A_a*84&KaY9K}$ z5QPM+{G^S&W${)96@C)CgV_Hr^}U{Jva+PYBdMTpsmN#u>T15>@T3gb>e zsugHm7TQzLa4Yw?_w!F1RG(sqsjO(#d4Ayc5oKw|R__@3&+5Y@M_cTfdTL_0^W{cu zF;W2!}EQyL@fuvN5B zIff%T6mRM%hw%69?|VL?)eIjKam?D?DrjC^2V5P7brdaE_J6_jPww`1Hk;?O-|vVD zvDHEkU4E)RZmB>mPWH5ONt#XN7Ek8mQ8xMpE$QeD#ee9FbFWV2>#jG(ER`MWta7n} z9X2;|{u8&@J_x29Q+aK=)yW&!@MX38wNyp`=iZ;S)CNqs6?Z8uF}3YTxj|jjb@Q>3rl}&Jkj54M@%eS$*~rfJ8dD`&QuJ`2==x0H_1w0${RY2UQn~$`pF-h#Yq+D%cyENC|8E|Pf?{|V(?@ulQq@TpE zJgM=jFXTWd#MV^0;3R+K?;-_UT-^I^&+8iS%yprQciWy#;CU81=yQQEY3eVfC;6-Y zE*$Mj&)+xfS5NyDW$DbsOXjDt(pn1NFA+LfM&Mzd(4iSRwbPk+oFc!bnZwQAq}B3X0ktpr|P zai)hxK?vg;XPlU{p6o-V7N~6!3T+bGhyg@f8)}#+D@I!hjW=2Casd*-T_XQhaO)Hr5huqU+g|k zuetP8b_{rLF5CnHZra(SZHD?jo#@yqdniV{3uW10k7Ab7u z0}NBmmo6(Bi#<#H8>q?_{2DKfjBdRW?NcD`m!-RpwmZ@`C@WH}%G5hA#HBv(;)6A0 z)KkG6nxzpjSFANJml-re)m!zMD!a2+8rFW~mDp3e*R3-gu{87^JS{vq_~&@vm+Kk{ zC*`r8HONleXqPt+vHYJVhUpOkSF?W-kk^osl1fWUi~s3Tz`Ea*D^@ylXnJ<*mknFZ zKCe#&+diyE@WV8voYbmaAOSJjl0NI8_J1_NUB2BU<2^!VaZ*m3{^00d6p1Xm zw0v};+>yM(jWc6V{&<&gR#9l9sf%7mC+)o4_VhcO;YN!%4dhEk3D`vz>PH-*0=7s2 z@MG~;vbHt22&l?9b5hZOI@9$e0H)47z^N!5ygo4H zu-ficM@N6rwJp0^`7e^Pj&YNJO7XJv&d84pk&8}a@^^nbJFf%YYtbBO8?y%+27vY`)rlp*HVh@G>uIDO;=31q#REqYTb?F z4B)xV4>{V6m}bMX;xz$Z>-SJM!S@_ZKHKpy`7Y1s-A4$V75|*MopwLLSxA@S6G;B> zf|SDNa>rc2+2eZwn?=r&-6L{SVs@NKyqD-f*%jo3Q+}69;47A1fv((+mY6m6BI1*ED z?Zm3)lfTdQyErtx8Sm|~DHg}e=Jqo3F8ICIB4J9}%mr=BAv=03YYG0`bj zt^nJvJ!7Y$J~KprjXCL%{d~NzHqIy+#H z*zqMgOW47wO;pTBj(dM5Zoy4b!7xOg7&srR%;B{Uro{%>4x;yw1F5^eO1&{{{z^p- z+*Q~LtA-S(rK%oW^ug0?3zx)8w4$%lh{Au-C%AO%i}6}qG$%lMbQjDl^yN)Nqe*+p z{NP)uydj;uh%>XvmW8FFCwYIFZcH8xg_eH)PB&Ps)5EKb@z zgIH!qgZ@C;RZH!~`J6}3pr7nyKyzg3O|I7*!~haH=kl$8Kgk3^ysAHU262?FLtAvj z|Bjy3P5UxwNZ@Ruo8OeVYq%y?rzB850PzNOx#ptOmVQ*EVL4Ji zkFor|SqC2ux?$ZGgM|{7evub#Qq?Ew{_o$bPRAwvq{$L3^y>{@xZ!k5etWN@WI^$> z^xw;$7Su~#+$_?sUw4;Gu>(v8cef|hH{6Cpr=XYvwImAuogAUJ|1+1^?Sl+u5o4qJ z;&LZ&T;S;7z{u2erAcmcHOVCIcxL}}@D%`Qu3Ktllq&I@hP-Q}@_fiBtA)fGdj^DY zisb9;J6Mz`d9OCsq&IGGK4SddFo8b`Iwak@Civ0qMi0rAJ}V#}b8Wkj>3(Q5I&*VN z3q+<&lCdNImVz&KyR~LZ|LbS+|Bf3ve?;!yo>FROj-C-u+Sg` z_L_P1zvD?-W)(tuxGBFRP*DI*^?Qx+2|+CM$TTcJp5Qm+N|j!}WBTu*uU=)-t36~R z97-*4hFf&EV@!#ZSX4EoZ5(uR_@nDJM;J z^;2L|l$oV4w;8U6n%GqRSlX1rGA5aR+b*Q}pXq=Y8@w+WJ5rvI=~D)mmY3@d%T)^} z9qJK}Jr@@jgmtro&*3lGHz$i!*Tf@!?4gIhdm+f5kh(twp}m%JYW|QM{1G08O9_D{ zzb)Y7y%>K92{qT33k`11Pg`0oPah4iUy8|W&!XYUf6kk9I6z00BHQ{y)pki4m`Z=K z25{$8MTLV*A$Zm`YV%+gQXzjUY%w2P7WsZOJ3*GTeq99r>wiYia~Dx4?N=m3-d-6Y zMA=4I?RR&7Mzof)OG-!x9f`aT+aof2ZTqX;8m+~?adxNTIZs6nEAchux%(qyT6-kD zJ7S-F9&>rUuuqNJns?Q5p-W9w7mMVi!X>igHLl2!WZRD4IXsrdCYg_&+drlk0W+{9Ez^=fu=aoc|F3gx z!7a*H-(9AqxO!ObpEY+jHa3oqj$km@_BNcj>>EP6FrsD1sLz!;{E?50j4Uos$W{Dw zF?{kdpk7N<6ci)v!Ta>Kz?kIv-?&}>YXe1HyaQ<|R0~L+h@Um{v<@Ww&pvf@@bdCev3$^%!(uY=zM7IdKChRkO!cJ&ur zp3C2V4LTz3dzV#i?DT`(DQBIM)1nontJ5JShIrM;B2a|dokY#i?3pV#!F|c4uhLmh znyU#}Naye0<7d*}W>>fx$cWf<*w?U9H5hC%4rwT|;KzefFW8#!iM_pMYc_x_LOd&> zE^X*@lPd?&8qz(%)J|kSozmwxxZDQQeHV2ymk*2-Ph#izOOH&L#bpj;7h^y*{hrP* zt1fi8)G5?zXK^`YKL+Kf0|{2lKIF4I9reP|XnN%75C^~0iJ5B0m7{l`=cTF_BgdpU zclA<-MO(biTjDpq0k1`~CHdZFrBqoffoHFPjrUGvLn}{be}$!zP)~QxgKMMewPIoU zP)F-hbgnqL$~|#C<)Z+{&HI#;aQ7@QQdpsFR!pRHM8LT3{YQ;~)rD9E#4LE`RLZaU zkJr?=rIrMgPQ=X|VdETH{2I||tEQ&*;R7;#WFDJyH%)T+D?ur*_JgJT&|3YoZ-eqW7rMHZ+2tcUs(cp@HJP>`8U!FN47tZ^cg z@J#=)=3*yvW7m-?S|M@uD_rZ#bah-{-8U;7jPl?3tG`}%jLMQ0(NcNp_WSC}QOHU< z=lmLx@tKF%ven8{*-1P$x|$(E9{xcK7YU8uEPuqsKhxhN z{Jpj1pA96Tqg!n3S9TuyW@^aH?bDY#7umwaJgSW0D1E! zzSe&y<`44~Sw^D!lh8xtourt{!f+o+vkq#00PoqR!?C-scqfsLh6G8*XqYG)VN=~G z-jI)zVrdI^#H0_tCIHZ9xRhkhbaPD^;$?D3U#Or9SG4K45rye|F>tk%U8KVOVF7&-IV%?{2Qcgo z`P*GC2#4BTc0S$1x8tLiKTT*QZS9472VDsoPNowbDEAYW#nu4eM`{J`TKNTBy|hF2 z^Bi4)uc@z(%|>Jaa2m6WS$PC#n zEckt;fxLHiAEviTJM#}YYz2KOVO7_BELfA5B+SD1RN~ACn40m6a24W(fS9g(}Vx{%2 z?Yt}Ssi^PM;Ya=L?Jj1|>QMX#HmR6Cq+>1tkPL?es4E=MHNwm!*qv^1RgM_@NW-9UPdHqc58NAy5p2g2=kIEgy({cdT?g0VhiJ z?XFJ@-JcSX&72Op%^vxO-!Du*Qhc()!Xh7c$f_8sdsUDd7AbqQUJ+1Yo6oCO&4Jx+Sa!oRM1jkIV1y+)sK~@*%Y%Zt#&6mgZRF|W;`%TP7{^(fgg}*8 zJ>9=tokq-Q{~r^B@+hnHV2XmH?D#Cn~cF z>sj;Doptb>`n{H=tg2xHoZz)n#8C%+jwQoWQomJX<>Y$WPt76epTzd3-PtA^Y^rj9 zZT(0|RQ9WkM`LXzzg|vnG{z;CabGiF1QM;;aEbA$;gsL{=~Qjmc-%Sqto~*EX1BZa zK4OZF62gRQOk$Zlc8c)rb-xHL$V4Q4zaj}U$rLZ`gV6rG5f}uZ>vR=KS$aZ$-C?Wz zqFCxh!Lk_+z+_cQe;!0?#54d?7!GWKZi&-Pc+osUo5U@m%Lxt%C&tXh*~PiwrOZLY#sIbl1!6>6)nc0?~Md zr?~S1f>Z){u99^|^kJ=pL}5L0EF&^9Ffy~F1@)8lJu>nsNAuLMp$Th~16&K0uI_X& z2KIQ-iB|ED18QzqO1$2v7)^5np1RbftI39j1$V;a0sK!JcRh=nXuIMb{7*>hr7+fq z$Ka-w$`E}&KYjh+M{I0v5;vg3<~3b@B^@a#=?s0xN#qAy4jm7J`^$jGu3&?W#mrT* zeK_4m5oI(huIDme^QEpFe%d-Em}I)I*QHVa#YpHM&Lpy{^Q5~LKa1N{_j9Z879wfh z63l$Jr+s60`HfM?1&PZ_y@Nk{9_ebUqteQ4WgaU!T9Ee>+Z>w&mRct*X6!ReA|HN^ zST)_<|FbCGZr43c9ARU}QwieIia6b^rP?CWDaQKx)bqdRzo{|ne*B8wmpKpL9?cJa zDJ}K<&o@QmV*?U6i3|67cDGI{B?;F6e=e;{0}xor?JXmr2R}pG*o5padOy4fMEcxr?!bmTy0QhfZyFw+e`rGp}uPGHaJ_ zn1%|rjF?E_hEIYR^aE0lcP}k?2@`Zp!V@IQUjVdBT7Du*2A$zFU{x zP+92QCh(hCrg15US>^MS=|f#Uo&2G%MN z@Z51UYjD>3nr2?1avB9irMc^$3i>HGRSL&Pss`S%x&jXurfn?-ge6Wc;~vX{aF zHl^iO7|ygB&vZZbqIfX#ceD!>Ob!tnv|#X-n;6~tJ9&Wn7n$pbG5|DkLd9?N*!Uv zIm*Bxm@fR`Cd`!X!K?U7a-N{e33^aaogwC%&uuMUdkAKay?rVk9NporS(^BEdBsaOw>d==GN<8rG7l5#Yi+S4MSc5ER!U0xe!H}FxirH(?Ddo~ zgS{khaT?KY5Vp6d662sGI)rY?LWfoi&Zynbi}OMJ?!F>rfDb2{-4@Q!l%qzA*<{>c zJsE|-F+W7AW|ADudp+H7UGZ+`z3|jEE1LJ(sOqD*2Old7-T8#Ld$6=SToh*DhFs+H z2%0ZEZl8C{Z$#Jw14?u4w@9Ys^O7?58PYWP3ynX!_NnJe^crU$IU>(g|3QtenaMyh z{bXh*v!}6Ute}`*@vJZ>OM- zuHxoC#`F$LhZv|K8;>RSPOjWJaEE2bUsnbC+>T-FLcgOqnO zdKeT$;DB+u`hxSo|I-4bv~Wu$W@`xtix<~oHMabt(OTh(qcv!7+1-Hbih57ZrYt=1 zGMQfn02mZ!qsMAFl~-o30&nlb#@-E6a2D7;wmoeBzR&_9zRcC1ZO#Owt1O@G{L6b& zUYVF3z{uqs_-?Rzo*U0F=hKyBAn9reB;*}OslndT>74cC9qd?VYSh^kWdx72 z`Q|t!q~Qz!DW()a^!TB4DAEOcZS=&(#iZf?LmPvBCWg$}YJ24KWlCtrebk}c|0&Bm zxS)u31XcC1Ple9d8epLz@J&9pH?plfV>hvm#ajXxssB z8Tqq)m^jb8V&U{#2SK>FN>-JNsr=dvfG!bYSFd{gu2TRoG#Op>&3gNz`OY9%U1V+nsi0K$I6cW)33WKFJdFFe=T*e6J`>(MBn0>l!6DQ`Wma0n2O1-~PyS zxG(rSG(OmXwmh#cKKhs)HSCLyYkAWCRLtft$YSA`^sVv6^dGJI(!514-wZ!?_ve3* zcvvA%qiw$O(~5yybaR5#kDGhpKr(21Ur}@7Dlt-P%iivo=!EYxnZYQiuC4dHr!F(| zFX{q3{<;upO~mHp${@$qTlt+KP2QN{oaJ}|Swp_HH7CV99~0AjMBpz1gt68Xene{v z8=Lc(CZVvLEs-OA^x4VetFv>{h&bCiF$~$@xQFQk+5JpJ}Ni%70Iaw=6-H#f|$$W6$oO zY))9x$u1J`u$R-e;=u{GW4{QZ0jk_c{S#&?8yf4x*3X5F_D5nd9T!VS$6OPcPYl4} z2dgb@>-(ObxPx$ngiFGnV%S>Qjqn$@9ZUzXwM)+;W zRf^N?(MYW)*b_Q7Cc$VQj8uAaa4~w>!>y=Z9f0~Lev$yD-`c9#gY?VL>m+KX1=?yD z0zYK1N=$8OdI98?&*u(Rn@Bsgxi11T$@D8rwJ482aqW%Ah-74ZTs0z4MWr2BsOvhd z+S_lsb}Eh9&(DX1?;nGXA>$8bLVxwkWO!-+aqJ4}J>QUYjFHgM$`4)3{P-yTX}U2H z(@1&`zXW|Kf#MUmf(dzS?^jPoKUrrTe7hh(X7wijwm?|;F=Tskm-p9r@a!l-`SYCx zlc}`nDv>R9M@0RJw;&St+cY6XPQQG69zP=@KV(+cNruv-_J0CEtHD?M1Z#F6#2QI5 ze&QX0dMzl_X*OB=23dd!mW=(BHc3E ziq*`XY+@cM*0;}w7Bg+CB+s#N@A5V0orLm(4f8c$&`OAKajE8O4%SHcotkeK<-LkP zki~dH(>qz6Mec5pUv7or|A_MR_dO2uM|8@#13M#u?XtJ$5k(#bc|OyrgI;V(ivujk z^)t1~x#y0SzqHfd0^bO1n!P z-0NjeBJF*7)B+Mzu#$b4N_@IjF04(D=XYMKI}QWa%D*G#Q^ehIRaoCTaBLQ{!UBc$ zbt6Z+!~^JdOU58Pumqjgzb91WO{>I^*|Nsj>+1m*{`{$re1a}ZH>c~}2!}?YG-ZEu zdMS4z89s6~>LqC&N6!}AvPIHOX=PqlQ0ma8O=4){p02;gl}d+T(HS~_7R^UG_G!@P z0;%u*+C}1*3C%-6Tn=PpzQS3QfY*^i0`&G%L74JyM_~u$3!IE)hGG*hT9?<&ip5q$ zO;Hdu^Fb7xG+iR~zIp@h=O@Xk=Fr)65eYmDB2b0qCH`ePI8X0pF8z2TOB+Q3Ck{3r zuy8;WAYWz0Irpo z)dt}P8!EMfwDJ$*Uf$}ugbQnTkEaexGyFL|<@S)%iwLu`dGsHEbNp}D_J09hFBe=M z|55@NGIv+|2|54C$z?O8_|hMl(RtxI(wXPuIoVPz zYW&3e*3Pl7C-mrKf?jrh{Rj(Ed{oEmdR0OLXn`4)m23Yf3br)2Zhx0^#lv$Ud$2}CKOs0+G3%+EDQo%pM%bR zsCR^YkC+xjGDRETf>*Y?PyqTSndKv$lh@qAO$NhZdZ0CUeqb}2BWPDnT)89T!Ynku zZR5@%Y$TbAvO|3Kf#ueE|J!t27OGyweO&`DuQv>A;^uz);r3?AKtrtyyo&C!1ZWtMsU2UeHC$W6;^; z_`}kTaa+OmRx0i9Zh*e#&}cVss-Y%CeKGzlrBrtsBr|M4My3F&S{CJV+Ng@;zO118 z7`EMah4R{1S3GCxLv-s?wP87}uuCTE&T&*FYnt?^`FEk`w?RqpgSG>TMVhcz@AFs@ zn@jLwx$Z$$%XOX0U2^jHOCk#%rKF9%YjcU)@2}ew31W0PDrXNs6AmP`3Y-_Zr2{1R zQZZn5qS3$rDX)XKE9oxVzo*FxKe)dy8>U@G2&+oir64y-f`8A9K@{7u-Bv2(>h<1> zk9ub8cGPABX{7JY(10PVla!xTbqWW_ffZc7Q6~eA3cn4GSKFn< z#1_hnqO~W!ee3F8yq4z88NP!b7}Yz-$4?Ba_3#|5iCm$P9tjRke6qd_FCnJ^2}Z4Jmk+zA`s6Qs?_DlNm7a97lsg9+S%`u z`;zrc*y!342OgB)FltqhQkPSp!JniGx5+|&HPN_ozi#8t5}rgFcZkoh(e=0s`bXlc zT6Q;d%>#<6-xnt- z{w2;;FV<#bV~fCl|82^le%?u!HXX6w_dJ}-A+42ny@6_Lhf*Cp-s{>Se?fh!ifJWT zpmyfWgFgjx*y6BCd^9ai4%i0kl+GBx$>Mdz2~c36wfQVgp(c6<(&LUZ9&Ei*l5A_6 zYY{mx7MR6XU@$POb*jN@iF7>!wV@}Az9rTyR9d`RY9#%2! z+%^OfMBAD5Xy$EigMqW}|MGEtETaX6rdvd8$xcUJyH;?CM-_BGiRL`>Rg6;^$7*-^kSs151=NfRwzA82~8 zk7a({M${78@_WYR=t9%$ipcf&zC;bC5nHs(wa~wDeLjR2xLXdBrno*I@h%L@ZmHlF zJj}jX&^32#bU)06fJq&M)C?c!B`%HI&lGpe=A<*FZ*-tne+a{$at@zzeaU;Ma=z^H zdM>j8kJ1nJD`7BE{dT(hcJ%Ulrr;URP7sbsO$#_g?_%WypqZh5d|C31b|ayZ<&wPp zf!HBou5JAYP2srfj@n?WIOoP}LyBiqRC|(!*t-gpOPDs*l z*q=O9`^X-2E&}n-Ck2tc{TRcUoMZ78o+O|8{RM_*zU{;t?k!S z>7RXWxL9-UxO7$f;&cGMn?_p zJ}fdLZbBAX5(d^I)E?2al9={$?B;^AORvj^+d32NKr zWy8vgqPd$M@%M{pLVe+kco?0_tL^Dc6{BabhDSL(OLx_q9&g^)n^U%|A13%Z?9v-n zmj7Bhu^C>r6~4Y`YZ3hWSj2|;{@V2robcuDm|YEnOvr6-ns~UE=0fkwQpB zonnZsp8x#=qBy-7^;Xbq+kZ=TqhC@8x)cYN)wqF?^AfEo1KbR(LikV}AZ}a(XeNKf01! zT)4UB=h8CezksUM!WQloRk1)D9}*fwPt%0YfH>XByH@}EtKueS@2x%wttmQgm$vk8 z9zl-Lvx^xa&1{5hn|I-A_ufzb1JxY&ZL|Wl*98K3Cj!o&G3#y19^5B)oXy%NoF1WI zZ1#sjKZ_UVI0%)DInNXBv--UNLytrKK0Kgwdf}6q@F0lIb@baJf&4La`=axo3Rp9Mrv)b++4$sybQsj>-G4SW{Q z(I2AG9lvUD6Z*U$sW`c#w!52LGH72MbMBkzYsfU1<8sXsJ3_x{LYBFMbX@WG`(ou0 zizU>)t9{zxS}S`r;1ebjL>&!LYVaIV7@d=X886;VYdBsF_Kr>yr{X=M;80F*j1Yx| zB8m*F4{T^!}w2s6PiM(YN+cq|~ zZQJ%U`@i4&eZD+>`pe9m)4!gcn(C^nuBu{u0E83Eq6UVw#!zvz+w}D)Z~sLSAj@Yq znZ0~?@GL`1{7QecSc3akq8#D^(bmr$R?ZKVpXLEWGDJ?!kch65R=k+e_ z)thexk58|-vg1Diu+t3J1}fxb->UX?OJt0U)?^ig+p!itR)JwBD_72zqBgq9B1<-- z)zU!wz5AYO^9_5!`j+f$d&);Fn}cmUqtE5~CB;XRfw7DEM z4z0^?Q63^KwQ9^xaDiD~fT;wq1A2uB2r;3C-MKB&p}EPLr_PN0oAjGhB}jarQ~Ocr zulaWrR!8Y$w)W!+dVKG_T2C%_e8o1;7asK0 zD&Bkd_Z?$d)d_RlPJH?;r8rZRYi-L6fx*Vh%xiF?M8xpWP)WUHu^JGP&{TBrnuQ}9 z&TyM>46!j&O5jw}V{E!O-Z2%(xi^&+c3>Zw;l-*W(2Ugq{-i76i|;c60;Rl8 zQAkU5@36K5dPmJ5ZjX(o%jduFV+S}Vt$H}}r$kn!AFnQ`UpsibcMxvfT1DZqzMU{) z+b%yox5fN|PIP}?@jB#X9nW0uXsL|sUZA~Pv30vM@J-$JMZ_0uq#bvxtgke`P*U!i z;|z=jY1kTUlF*o_Z@--93cP|>4FJ6@Tn{D-dqCBtRNIWog!_E$K>bTAvrb3DfY{Z} zt0IltdX0ww2rhMjR<^JOyl^N#+~HOYekS6?xT z;I@o}Iy%gUzS&)6I|_^}xZfNO_hOo_Z#Zf+w?ISwg>?TKUlPeZ@FQz34BucDYqlT3Y|p#b zNaH%bb0g#Kc4d+kvi#f0wggM5RqdAAJcj?Yk>ZWaC~F7#d!RS%1G@0ldb=ywu!Icg z)Zolp&JP7=9v4A@Cel0An?X-tMkw{0oBBO+xw3ZhUsl2j_t^w(71q1C9`&cUP#B$~8rY%+HQYEND+9AcR`Pmn)I+02wzh1=h;$p70Fp}g65*azN z#MH4_E@U|L)YmT`qAGxP8%;ETdUh4=Y2F~V8Eqer~6U*i+gHD1g^tYl(Qq`$X4TXz{C<{ z)?SVK2n zHk3=?cR}R=r{Q$I>DJAV!wg78v4 zQJ=(q(bSbbsZc?hYPIciAG#=6Ku_`jHo0Q1NjQb5Unr3-*rSSPv$3>OiS>mO=XdQ}rj*|9SH@!S$DA zkleDz8Gp)pb@QoOOw((vddOObj+HfZ#LBZ2-$}uq+^=5QOI>~0x$|!>)e0&}-dda+ zlgaAYn_qNz$uS!cU|+a& z4ov#qJ>B;v9vGAAV=*3y|4-ZV9Ub_fr_DI`Bt?%}J` z-mDk#+-`)K3FtHP9#gS*=v`Je4JHU_=(oCWd>D(l@>W69&`&1bet!l42&`xXss9~? zC`sny;8&PjD?K#_dwa0x_&3TR3lNJ_)W`&N&$`$g7Qyh8PTE|zO=Yjdw__17NyzWL zF`np}faM)P=d2}gL7{$mIhYXCkGcsoum4@EyIfD%3dqhCeUM7Rz*`t!1Us1@XrX^ks}n($JzLC)oXFno>|Mn{i>dNEEI1N@l_;v6NIfquYeI+L(5h8V9PR4{5YE-?*#32|B)Nl%ghVezKQl;V$ zI1!o2}*dS-@h)`DB9}LfkcKZ zf#5uC?RFP#}SeidU~CU6<6Z zmgOv{hJ5j+WBINT&uDb~p%Tu0dCET|D!KpVSIa;sBsAF+yL8 zyB~aH-twLX6|x|{|GUS9QohTeF9e@%7X(E+HS5n`<4d1R^pd@ZNA8)#tN0is9BM~X zgNI8x$>q*QEu=CJ;wEAUxL(tPSSIGaETWa|DjN#_~RjZ()#TXWj#*No_H6~mqlKGM4 zg=@~k^h`r%Ee7!S0vr)4v^iCABtAghYlkxTuWF!W0;6|w62a6my?>nyqV$vH2N~k^ z)zk{(hEY(m7~z# zUTi_jKq9Zt4A64yWKetnsCadP8o1rmksf>c9=BiRYHE$iw8Sa6vMSiM))ca)d)Xt5 zt%{wswk|8*J3p+p=g%|>SJH8`Ew9m{<-2X{`|>yr>DuxHuNU=uF@K&tD{&C-J@7{&R&KbJJUBGzTlInnw~rJo)KE@hK@tF+YIH+Y2Iw zYD7qwEZq3Au5t##)HbyC}RuvPfkj zN7Iu(sYfDIA|~@Zjfk(M{*(&X0arimgvhQKtoY5PUln9<@!L7q;zMC?+1yot~NHC8}0QGbnPm4k5H(Y$u|LyfWLbM!) z*5s(+314>!!O{t(U_$NyC8L9Q$vLB?)zrI=nfBqix^ERA0cku= z?Dd^8f6>bg(kxhE0d*WdqSE?9Crz;%@srqosp)3=leXIrOiu-AscEHN_}a5K zN4ll33^_@Jg008|2jp#916xDI#T%vPd&;0O0L1U@cI!u0j#Wd|W4$wot9Zov(XOrJ zfBTZz8+;y@gXq40Xruoqk$qHXiM3>})GtBVfp;i!S8W}-V*0AD9>+~0mifO5a>kZm zH`+6SjoBFO`~2$@UGVf*Z9o(yvznc(Yl)sCi3tRm)D8oHLV+kmu@4CFr$Qe7R71SW z5`gICg$VAd!29s`P#sxAN!!<8rvRa{Jroh~uad>R^zCNFocpr7lTlxn8s)&fv355k zASHaIHHT5Os~L$ch*4kQD*=I!PV3IC0kW&|17CTDpzCbL((~NlicZsW7rz({c3Chb zCAbVc;LLPXa6+pwF`yT;7`gF^-m$Ttg3@&6$dSYsRXQCAqzdV9hc z*;#%?SOLtORUZd!HC6r5aq_Z*OsROg&$OoFfNz2BOO3zTTj4fJqN|yIHLgrtJi1A* zDu3D3sXXYtf*fv*8PQmGdvS`_o};Bzv+b3wJy>0;_8i4>{M0r4dy4Y+B?6Q35xu(^ zC+k)JbMv41cjGBoRw_%*i>K`}>$6#W1lKW~o2j^QW?FM+*KL(D>(f5j9IJxs;J93x1DESuN z$Tdod>^{aXKICh2>N1P;=T(&a2{t7yt<7o3@EnLGo<#wV=}4kxSCHeh7-!Idlv5`X zj`jZj9yzy-M2M%+$--S`S{ri8kLXoP$bSSB<)?&EX?409O%ec1RgX!M9Grl%Qzjf{UAce#j z_gN&cY`MkYqInTr`+egfw!_MjV>_H@B3*-*`TPOQ|9)IctM^pT8Sq%_t#&>B>8ZF6 zt%hQ$`fEoxS>B`*@(Y8|U|LeZiYLuW4Y&n8jJ}=2Mv!AilHB_B$zV19n^WD%Vo;EB zKzu7z__|wrKBfQD@!1!BVYL_;5AOF++(y^7C+D6pYGj_Y_Ab+_U1b3*3(Fvl*$T_b zCVu6Dc5-RERwrGAo1%Arvf3q?Vvr=!&JpCLX$#c`}alk?3{h|8BzK-8~~ zfPvmpPYi{WnU)i|w!B-Ayh*$E*y^rf5|ZaFl+eyL5wbWbgCe4koQ)VlBvOtOI1DyC zHy5v0?|Ji+^F#nlW{C2@eBOsNaq9F8u9F8!}L!*JZmE@v7o0 z<>w1)4iCP_c3*AYS|%c1%3lOwVI|K#>)k-ADR+Pr6QBdh#8A9Ih`2FOSwn}F{h~0R z9irVOPCABqf5o7Nglf@iPi zzgy|U>=?hD)hb|2E>9$(SqnA>Xlji#+w{m)L;tm(_mkXr*Or}b^HNE0gLR?wowX2~ zh3^82V1Fy$uA;tv63yDJmqGrtD#j8WvaD38$kMUC}<;E2bnnTtybVsyPt%wFM>S;$ zB;qmP8RxYqtBEKObz}vO?$v{&f)q>o=`f&Ww=HoAg?4hR?QO?80;dBJ%G5a7BU}$< zd>NfwA-%@GknNo9n9~6Oo(|5poIyJ5U4S$#o?G0P!FXThA13fnh$TM+6G(c$6*)LP zm0fz<0_t$u&6d)DsP$|wXGxLgti_%j4vX3TLxCEV82AgOC!*^(ov!a6>Qb7}S$k1^ zr98M;ikm-b^_?YsJNL^|8@Ur`kM4Mf#Bz!hebmOj0*W>J?Cy@)IWxERlnUIQOnk`n z+$rN)m?U&qN(}QYrQhEBdI4i~XcO_)d73ZW-O9X05LJc`9XG(cr*v29%L|lKiuE{h zf)!zYYB@j+@uwI#ui+Si&oPofHIzGjQ;aIdxdq-9<9nKB2&j>qtout?coH1$uCXS z-~Zuq<^O!|&a1JBuO;&{7$wTwhm0b3L7!iY_w9tebH3+b?$*=!x@M&@2D8n5;xusE?!TY}2aI2UadD16Tu2b`p&KeP>eMt|^S4@>V<>h}?8LkelWe)1% zb=%ayEeYKh!UcaKz6m%ai}$zPnDBV{0r1Ke-zXZkG5D?@FQbf!D9h%_eNBu1KhB+@ z!pGsxcg(OtKQQp~f1$7Fcf0#>47Jkt4iCO$o9+&n@+QL`pGoJy911KzPn7=`QU8k8 zrYhu91IhI}i-&%|WtG1gHj>=i<-FyBPWus%5Ao(~CfdygR$J&TYU!qag7D~AzCPNs?q3kw`6 zY5UouyYWVD##5w&f|o`2#*Jz$)+@Z#NH?%e#K!r|LUp|lD3k9DTqVHbW{zQR-JLQ4Q_kQ zT-xnx=6Qi_Y*7zQ(cV{Wi|gg%f{&doBE!WK+OSB}Qv@m>HTXm3pB+ClX}XmTLh6{b zi9sAk2AsVTG0#gGkuqVyWL}0+l zb~>U=3Sk3X%036gEDDqB7x#!pR=`^>U#zLA8FF6;^y6rafO~~J_s(rCAp6sSxyUOH&3A3Z%9^FC72M|$s ztF@(by=LN&K_FrMhU1x z-NSt#fomdyK#)i-`En+jmmeg$JWS%#O)U&EvMw5g*Z3G5ml)WAsFTtSAnxr?$H73? ztulMp!+5SJEfyB=AXlToQH3_cp67&mDFjZSBf1|nuU}*wmX}>y+uIqBm_ddxpI#Xg zlrs7vMd}oj#Si41rY`kc{LpD9-kXxJA$<0kKJd|2y*76RWJTfJ?uOi{OU1OT>4S`ld6sa!(7t;jvP2pl@&iYe|O2fQoCZyUpZL$EKH>4h~O>%MPhKKE2$z=5WwL0N(9BvVzQ; zr%RYG{=RQHYl98Ecd?r+<(rDso;&AAHQuXF+nyaf9lskSdv7eCnZs-?>U5lMLmT3+ z*<-JSdWw}yJ6{Y2qX_$W`~DZXjV&u&NRtJ{!zw#EJ~*5$AKeLinEwafrne$6T5hrX zDld^=qoroiV}#hb35WK9K~}(&?)T7a&j8gLJ@I<1@53B~eh`Cqb+P4FgbRfKKP={R z8@bNo4n~toSu4SSB>s9K zQAodhz|-m`2sNMfom*#qVC=ecHpUWN1{GKwoSd9)kLOORm%A|AZjL(2#`eG2 zF6%z`r|}2(z>Z&rh0#-eLLbL{ZIt>KBI%#$-@u9_`wyy=$zYA!Nrnh0g zXCFL=^DI5WdAaM5?;E@GNSd89 zdP3y7T}Kfn&c&&_{^|Qv?lQe$%D(^yc!SaD1Di6Gnk_bGrE}OZF)_6ld5WYoK2+C= zb#lRp(5X~Q#IUq0EYqmjSAmS9Ylqh5#=kH< zUbGtOE-qiZW%@@|_{B8?4(lg)x;|EqQBhuti#Nu^$UAk=sSxYP)0}1U>K{&$TQ6jc zI$Oj>n5%bwEO(ms?QB&)%`lh1MB*&YY;;QArz;kKSwS`}hgHKdN_KjK0xo#s~jyiL>b`agfmm101pJD`8@cc*&fWesQbio27=;-v?425KQQ~-~lEHZs0J+Uni z00&iwpe^mb^m8jznNhkiRS=Lfhv^;1r0t`<(Dato3midyp<+5J=S+wYIUPP$k4gIR z{h;M;I{U6G#hY95(VS*dY>;G7sEv!&jjq4USVhhD;~mnDQ{lpz%4#@ntq2qERl$VWN=nY%w8Mx z%fas*Q*$O^@V253SZgLe9n63|&}qwaY~{!uwu<#CeMh`8EU-R;*k$TE)EWQTWbD4_ zO(h}!JpS|+x6&|I)yH}Uen9ZmO+07w$Tn}>jK#S|*(qkjX;#fah^OXcj9htzZ5T}o)r+(l)js)CkxCsp1rh1g4Ws1cTlV7D)_n=j1aD{=- zpe?hNLPCeN=ALwO&gI#qr$an;+7n#Bd*RMbJm!=YL3)VEVyS~NCQj|>>{X=s@#*To z))QcZm6Aw(u)h!P!MwF4QjI+Nm26;pmw@X=RN5~Zc_Ei;Vl{xSamc-T76Gx5 zf%yN1H08F9ixf@9r4^YP>6baMV_11ti_2N;J+F%twNLU7=-i0`vIM^dDQrC{Cywd? z%hD@uFW)F>ZCu)w*{7I(-DnpgP0p)rNmi{6N)17lwP{zv_KM>NxsKZt-T7iSoN7z;Lyxor4-nlc$ARBjM!{uzcELbVUl8xt=WRkOqRh+|Gao9Z% zr7O(0kA|(33}(C+W(JI~K(QLwDu*GT)(4e|e(b_`bPDk{nZ+uJAsv`&(PbEB9p1cw z()!p$yVPl;wWXf3x0o0q@fa&t39H#bd&Ah3mo(hnhu7<%U5|jbxg3#>+MUzNaC_eN zg^Pi9#bLSBAWl-4&a}(%V%LpF5`2tT%~{pTTKvWb`i(bh%>jJyK98sCekfr{@i6Bo zsm_bhysyf*UcIOFH&f=XaQdXaU8I*6dYElFKGt^2bt_C5fSbUM@m6@8iJrU^R%mh1 zmx3DS3K>WP`y?ZEnp}=oN?8M+jA9}^wO#+}d@&Sbb(9Rpa`re`a+TtKe}2q&;mrsC z!)glBd5s$-VxYvte?BaqIfzeR?Ndq&P`m7;wl5gW-9}Ndm)0HfCqEuL{(Ns~$L3)_%Kgd-LIY+^(L@7on^kzAI#&r+*k6`Hp zUP0sG5M!D+yMLPYN1nR{m}(Fm6^iqacA;hx;=Vupy=Nf;V`JyZF?Hkg^n8bCq^9f| zp)~pZCWN+vLgF>byIZJLTs-@1d|Lv*+K!=$Gy0e9j35h`f){z)Uy z-q5pmpQAX^0KvDLjHX7?J1fLH{uLXz;&6tKvf9>0UN#(^+4-`ytb+%zXVY84;DK}h z(+W$I!TOlLUqhwC^Z3QfTw;SeZ1=*eL>$vo>k%{Q%|?hFb+Sf+b##C4)Uncu`5k$5 z{l=y$^|M7Z@>&X&f8 z)JNE`K0YBfyUlBet;45*##AZ5t;}Ze)*?r%P#Hodf~mkcXvC0x$0XU-SI&BWFv2{M z_z~gpxQrwY;-9_;xA5hcmYNC)`GGx9+3rWfttU}Tn28l=fN}pB zH@EOv$%V-kOlGp)!Y$?-=`ZI@<~XxG!C87gQC88I_!?0o9g@0QKBVI{*L~C0aQ2$| zvTX6_B=Q345y9`gDIiewUTjF`z!awEaPiV1p}8w`rHe;(&VUtaO>#ChBr4DVFe^m} zqUnhpDQCze{=S{P+3xp&O zR>pz19e;xGKo3(n7lP^;1Rw)ltBoL3k$ok_Lr0DSN==#5DFgQLRsj*0YvSg}$INDd zJ>I#LflVIRZA?$gW?E&}MR`NvJoUvG{A_f6CT0_-j0pzciF3{6K1HUp=~7q6{H@r7 za*&C1j}R<)38YCH(iRO2v#E5LLkcckr8moKjQ$^J0zK#jBQ@#?#Nyy7pCJN(a^=!lKQS{sjGc|F-i?+&+rR#o3(x{?@7pKAV~a2;2BBm<*hD#$Q#%v1 z{aXPPZx1pCR~LGHd&95nBjM+2@Gy5#T`)ks!3I%YbJeNeyA(VcN!fb1G@7K68)1zD z7i3PML>|sC#&O>`s@V)xN?5TLJxTveMp?n@mfX?%VS%lG|382jyjAq_)#NX*Uds0) zf%8C9SUbk8Nt~=`Ku|Gy#brT}Ha;}lys(FJqGv7tVkqB6=>C!177$Eb{I1R16U}yB z*jqu5N~JS~6s_CLd>nnM+C~NG3Kdufw->GYSofuSzLZ4TuA}x#c;o#iwOhwRh zb5C3^6(jOPrZleN)2T{NA>d-4ojS8b(zFO7iLtD!CqUOc|C#pB;eiGc?}b5)_M`DC zu-9D?lMNv&2xv6~o!}E=rTX&wu$pnFJ!5OGE{FL}ybMz*nGqskSeFUr@#zT$3MP(P zqd~y`b9Z-lJf%v7W-azj?&>TiXRsLqa-v5&- z{4W*lA4@%#ka$MtK*oX8x#))NZ^c#M31ZDg%mw|*_##i|>JaXdcw4=zq#|z46g9{2 z-wsrS*qcrjUw&*-cGePB>_wC>CfMOxiP}NTxJEOM^~|=DwiUGu1Hy^eo^HMyaqvKJ zauWvK=E}`S&=ELiEF3RsCEtS2>MZ+3cgG{7+$bbt9fdoC5v$chi+-M|cFgqCQ6o=S zkvS9Ah;T%xyQ2p#H{#^|V}N6!-M=@(f!!M!2lWL>`njp_;chepY^O4v1oD z(`VUA;Ua&mc8jM*_U%fcy6Pt%&i9tb7aPr{eZ1xN!bEcEvrJS|*BYTJGzWY~NWX=b znJ{7ffYDZOu#{$o-^5cUg=X{rrQn$jcsm4-^*1u=J4}F>IM+5@-z&53|8STBp&8kqBqZ%D z*UY6$6qK|Yv&5|m=ciBtL7;paN5_xHok(|gcOW2#q>spFXH-qb==1v4BubC?+kyyqy6@6-Wp za}@h6l)~%72a5w53c}JlgXtq0x7flRpVm(mtY-be4o2I9oYy{0>p3)WJec8q|0~Lf`Q8A7IIp;3v*lbT>NK zEhD+=J)a(r2IsBA5n`c-m!_7EYn@nF+1k!Dx3;!6H?2di(#E-9mWzosKMbX#m+s@&h^rs;7eb+pOb^om^YtWQN&j*52Q^5+RW{* z{=5dw3<&c}mIGh4>Ub>32<_4GFFngK@EsMPx-K#mAoB0qj1mJ3a0(B&T92rxsKr-H%{0|sPox>@o9!(Z`S4vh+wG8B|h@+r8mkYV* z6evzLmtLNt%cBCwVhY_24B_%A8XFG(ilgvD1ecNo!^GtIaRztE;~oF8h?icEUcWPp zx+()HfdoBngx=^~{*p_~rsAb{SB4G^U++8W-@-4we>!L}i$4GKM8n158Ws&YAy%!R z!mR&w-6Hs~5AIaHHJO1-50T|>**n;2M(Jx7nCtd;A@cOiMeH~G3cg14e_YUwK+1)q zO4CI7@-{dcg04ru=K>j`e2rOAkEh9uXcyk4q$Na}rI|6;9Z^J7fGh|=c9NxNScEgL zt699Pz_$IibK>#6#SUTQ4r-vVKwVg_lojpWXu!!q7DvA?lSZ=`oP2m&m_1}Tx3Pdg zra-f}kcIkSri#dMA*(11`3s}QYO83{9v$7mXDw`~b^UA|1AyniJQEj&6u;jPU1Tv3_7bj~DoW{#`+(+KMm8!pcDTZM*LcZvH7e>%##*a9o6z5BK813r zFFBI5e@}Qo{8*r^MBr~td$-foeA$nEpgcidNXOeKdEH>~zUozw^aR&v0O!=AoXJ4K z*>gBUd~`KKv|b~qPo)5jYPrl+x`+S}h{y2<0aZ9B2UA@PC#g&AI!%n9g(D8Fgr`yp z!@xO^Z~qeQz|v;yOX+L|`7^OXv(@Fs#p&&N>zja~m!L@(?vmoAVw{%&?J3%i z(tS;!6+42`Vau(+2OlkUgvV;fSr~55`^0+lfUsP<=c}!Q;gZ^-mIFT@A!HBb=ahmR z^3QrYWAZnp$qU5as;QVHdgLV-XLQh+8SC42%iG)(Mm18B5+xa>x-}p^VHIV0wT_&F z3m3hF1*g&sKPFi-Q0T^+e02V^nfE@Q%>sQ5Z==purpBIuF zM`gOA?#5K}T1^ON ze6k}DL0oT7ms2FAtZ5^|HX5QaaAMwioix`5L8Ma_F>J_ks&RQ@b;-qgxjx@wv}`V+ zl!FsK_ZWqPL5`itYIkpm%Q@NqFn=bj!RkdcLQ+v;F1mX?GwL z-u=mFV!t05dhOf%7uW=93Y^ZDUi`>e`d4S83(NZh{_a`xhrZ&~s+QI5^~lj>yiRMU z8|<}s{}`kigvHRbo*+ zjlxL=Z;QnO{It#3&*oUU5#6xJni`NgD?&SCIJtj-x6cIrnYs;E6zSu85hy$qdqT-D ztj$)D-z|6d*}bgF`bzT$%1y(|f<) zT%MlR;B=&mg}9u8kx`%kMPzcIVlp5STs~61BJt+wsgi?u@0Ih?ZLQ~m_D53Jqw<-G-{1)BXvIe>9 z&h4LlATQ)=tj{->QGl{<1rqZpk>_JWbGh z-s*IQQ?jWYZDO{hvK7V8xq1MPsZw>C7O8R`zEv3a<->A(j;w{KgN!L7E|TKaK?d(Z zcBkk@P>dA#%TG~+^!fCV2D6CQ$q$i!Ql_w0+-55k6t{@4N{5wxyEcrzT{9QaJwFw)@P(McMTX*jEc7|YIO#g^+=N|<&FOS zk)>>W9#jTSX=CQ!Y|r^QiWO=TE$*yz>8CbQviw8eWdRS_cD`_54&6)PsbReX)VlCa*$*5<3%;#Hu;^gF1Wn}P?@37+SvYv~0mdXw zxUSc;;}dr{AD<4fg(5IoPZK`^sVy4T&s(%GBKBx;`T5#4klgG-@i@%s*A3knE;RHVEbJ9$eP zVFDX6tH}RQ$!}~#eI{`H$Vu=+6cC|y#LSuPAbYkQX#&5VHk=M{19~}+O=2X*he}}2 z+04>20`v;m9?X{tWh6(7m}{iOME38u!NO>DaK4slgnZ@zOLO-|UM#+%a`)u{va70P zaz4EWQVq}?m^cteT(Xuq0^A(0IAXMu8xA-EKl0gZoXJ;0B1{YlX{FI@sYZXKFre*q zY(fR#HKNT_LPD6QFPVvfRLeCMHtpBMmwe#s+*8C;%W8%pEH<(<;CG5EsL|4*S;yO` zd%TLBY+d>j8*sC+OxT&?jb9_e8? zF8BWai1eFae}Cs>{vQoaS~#EG26#fn;)c%=xLH9_8F38A(tpL zb{9D&Wii#46_cI%a&r)F!cxEG1tnW%vMagsaS~>yS(qg>A2tgIxDD)_{0Cj?d9=VH{=lX$H3gV8u{Sd_%U92bIhxG2&3&L^mrZJAC!_f7k`SH} zp}s?uXlMhNbs0VFJigLbb2e;9HMsY5S0ME&Eq1No%nkIBk&!w8?pnYHOJTHeh8}o= z4uiM@E7qqVmA(V{x0lH}0yt@OVA~S3Y$6`Mf;eS>{#sgPfSq-6|pc<7fox zS7b2yreu)o8i~l!&DL`KZtz>7BYVo#%pn~=DoQ6spuCF_4N||Gr9q1HGWWM2F`n3m zshcstNjCS-GPintNE=UWCTpb$s*L5&JjROSP-8rA7B;sfegsM*&Z&`~Dt<_ZfG)>2 zi^=UZHFr-8<+2@|@(H7G`(5^+2gXKYP{n8`Em*4M;a3Gp8PFwWJ4 znsg^GNe5|n#tcB-gSup3aK!8g`J}YeX%1!3j)FW4NZ%*KVfhFKwBp3ej<{lar4io#}*L-%Oj~Yz27Oc>wOa8s3-U3Ht-Wo5w$r&u5 z2?cw`@W8VzHWQkv0JK;Yrh2BIpvUEWL$d%u0A(=oO8 zaSl54`Mtp!9ZW zeRMPSph|jJDA-V)omGq-QUr&mzy&X7wc@AAQJS%l9)xJqO8aQLq6}f-Zx5b4-uh?F z^B~Q@4d7<>td7WP8Bdne9Sgc=jkqoA4##~+!ScmRP9~u^C&;3P(X&@N#ld z!zl`dN}F#`%eWUPfB(G3!E%8i_X>J5BtiCFnO08njD)@A)T?`QIi;%k1YE{iK>b|pHXP1!x8i6DDEAe`)M$FOkSLj9C)ID1Bb+);y_3weqMap;5+K`zfL=3 zpT6s>C?~giyUh(Xfs5;`wL0oFTCBy&@EnbLs-baPwHNUrD(?TiwXYN%6}rgv{VO=e z?Y({wVqkxP1J`Ya2H-mjtxt7;|8}9zRA`>&n{;-UPMw!$(2i4}bLpl>;Zh3t5Ha`e zR+#6y*L@oamJ1Hjenh~p3>$^?`e)=oY0v{;2l#suMi5F(*&V1{2H=g|?UXv_y%C#6 zb9uGOSL(-h+P&X53cul^Sa7xKPvL!4n~V~sSUo5y7vno2Jj7?csaAUX%+em66yi^! zRZx(J*0FlH>ysVawOYdf>GiZ(SW4&ck~KaCPs{Ob78S4-KHJRd2Vc=(=D%bp#k1A( zleX$Yt$y=#kKvig@&3}-T~#P6;yZxgZ_!i$4<{OT13Il!wylCP9r|a$P6haEJ^%3N zGJ|k8T;4t2?N8>ve0DqBdhRCd{)T6a_&oUI8#ap>3f3~+ZFIml0lZHhY`fW6&v(br z^W_>J=MxgKBfe^SdLX!O-`*}fKd>=Whg^{+fePUEY82s-p1t=RUnWq@Ov)i4T=mZ~ zQZZ14;0P(+YGx|voEIW!?g;%3e@w^56xt&|*>V5;NirZ@#6)=T$3Pgs)#V5Oe<=Iw zpg6wp+ZP_3KyVB09^Bm_5Zv9}-Q7LG-GjRaw-B7c-Q67q=be1d?^K;rx8ACIyXKFc zE|{6F>Dj&aTAyb^uT@KtYdV)_<3J0O#sqy zYv(J!VasBv*JF3h6JckGuQw+f3F#1e%OvO-9IX zgK@S!Ft~^&@Wh90?BmBGk=F0a zuxRB`PBAm1C6f};=4&To4~x0Dq~Mj2pb_w=LPXP7a+Uy^a=D-S67bg!Nk5zX)hx&% zJAi9kTqJbg#Nd^VcjZ?V!J}cr&sWIV^;8kb1N(j&tkZ5i@Nj1ErstXav7csOJDANT zM5d&!rBbc#aWvH@7cHLA(YG@gV{`YT1_IIoyrz(o-hdMU3_+|ZfeDu@NKt>)8a z5%k+0WP5qXPsCU?TBXyP{m$wX1mCSbxP#m3eqwwH=SY=np>#CIuPv9T`8qkygW-xr z6n`B>@Y5O(tA^eRl}ma-?YYa46Oj@HWpbP)C23q$rKO_M=|Gf?x~|>%V*1~E)97sa zU83-NyoP2ACK!)ys@1bUkVdGqPNH`tpg^PJlwNQ$^~<%kcBr_KO-s7l$0Yo zNw{U|R?m?m#89C{z{MQk6<=ubxX0ei^G}(kYz@!Z?ux;Q2Gcg+d|JzqWJ6DC^ zV@B3MsJ}hiKDZmO>3;fSvcH^}o3`Y^J4MsxVM%9a_BjuaR|y93U82MN%a4_zu}Wkq z|K~sU^zGV;r4&=mmaUl&_Wpyo)|twXy;$y<%5fJ7EqX(nB3AZ6Kij>E?x!utPRE$^ zQND2Wz(fWw#SktsYEj5gN|VVbtJ8b%1flL^+xv*+nP*jhr9tgwE+Ov{`zts6eC#9u zZ5eyfjylPx!Lgcby^5)ybDDsp<8vn~jHT7E6p4`Q2LSjW?<`t$ZKA2`7x%;*+`Hv+Mfz_>1*gYKa6FsI3p_C3P&c2{P+P6y>71r1_oF+a8`jN^aOZaUnA%e4u=ulEtRP@{ti|3xS+{p)+ zx$dmM7XuoA9kzGz$ix+S*U2JHhy!YbKH@a6aZGBW?uQnS=)FuMHvkO}z2~dj^p#{p znnFx$)+ZA0vj#J^2)IV>4)e8A4Ppnsih%xtHkgP!-Rr-FL92osth%FTX~xtwkf?+` zj`N2_kd=Ru;GPj@>Ov#H>j#M zq3b%4fhLO?nOK0CIDD-tk{m1iUllcEiZ~n!46Ty*5)~pV6TIPNg(XtAbdwSLk6AfVP<6LAdp@`Tl2A`?Z#ql_ znR1mlSVg10r}Amb(WBXm?dp<$oPQvj9`;bkr@SVgm7OJ|5exrVWR`;qPd3(zKNnwB zRE7J3OGQP|{T?N{Ja3-{qg)afh(}+T$0P5=eB|#AAh7)j|L!fR!>%9?J&N0ZVLNJe z1m#rBJn;s>Kv*Y?`e*H$cws6fnb52s`f;g;y z@KfHp9h&L8)qASo`LCn)r+^Wms_z?0nyM@zRNz{1eKN@25bnqsi2jfpbQmRW8qYvD z&#*-5M8`2Fk3MVOx(%##p!o>5-9aBaQR}r`{?n*fK=)$n$o~4Jd%*qTrTm`$D9`-v z-jNiw9R^?{v5U;=$Ux5{Z<&7%aOwazV+#p*Y>87CW7)U3_`7Jrl~>6cvU|MG)TPdS znx*0MjJ-n)A3=6o+gq-%iO$4SYkfQmAk(cO=l7UsR?G|^O?j?RomGc2Kg_`}Dq}Y{ z5#&_eXS;_vfC1e{O6pxLrT&*^WBXkohkmptInO}Vly;WDgG1=Ux{U#as{cA}lc-a1!q&r{ zW)#?yX>gt4Ks(ArN0+QnGrmdfHTxG-+S75}f#jisnh}5r18=Q0n&c(ubKHu5TZ^4s zE%r}Llin&bEFz=62CFDh$np(36w{=ikd?M5rsXN&QlROiFMMeA9)8!KDBFHId3=Hp z3_@9)ws!Pg4X*RpJl8cCvphk0am4Q4@Z3P=mi+>HTkTq1V6h%!9}aJ}OK$Xd+i?>* z1;C3AcEbxRCbu_@Jyx@se+)VA|HxM1&Py;tv+-%)b7o4*+~7oj8EcToa4RoZDHls) z=%UINR;oRl&e1&VWe&Ps1jisJPN%EhW~3 zp`iGTu!xf<`PA9Ezs-#d2wgk>{*doOzr0x_`7N=@_jrft09dZut=Cm(D<>KmA+ukg zT=Ati+6WV&IrF~V-kpFaMPutq`lFJD3#2@_zz{I*H9f$@T;}Ac_$EwTWYM#W?HF)D zaI|R_C-A>nfN}>^f;p0@p{0v4IwZgc^V&#IE>Sx|@%n4w>eNjwA-@1}yO8`vY2Uzu zUip`X67LD~N!%?ZA?`Afx*ztvuZb!KzpX^Gyn{sUp`cEVI|$n}^a(~jXphjFyzcCmG{T*og2Bt#99y65joiGx2sd&v-%&65U|;RUoLLc1J(um zj1t6Sw(4X$Q)C7U6~BUIvIYqE1dqr|N%zLiDHOs7*jA9aCO zLkKw*Ju1zuGaJZDB?brjZRt9W$7d)?@SC0wqs43VI3Dq?LW{+ckc~zL#Ilvv>apz- z84y{Sj`v45Bbz{e2e)*@8U5Gyd$}P7fINej{n2ZwJSO+J`q1EbZKbzX$`h!;UG-Eh z;9abBw4X^ZjiOwhPzZo1nARmoM1q;$lv)g3)arla(iMIeAUR-7p+u(>A-qS>IjloD zLd9K`Xo)ol{&thVs;_prX%aMj3OAio_Iv?_Xt6$E>u&`V_x)I2*eiH+j`Rbm*5TzR zoB0I=pK=nZuD_T6o|PVx&!R2!T1+#U4iGkRi^|@|Z!&#tfcPTVX^_6~3I7O3_*c}8*Lka@Rm(h*@WpTGaUi*1K1mA1@|?@ zmwO^vg9mIEDa*@R>aA>1S%k=5g<@`)vQA^r3+Z{ynLf90RN|+IQa9D0CM$4(sTn5l zz}qX%CHJ$4Xfc>dE^9u3`*;6e$+#>*T_bYR&jZY#ixg=JR1dIbr0`EvwGBQ1dAx3} zu?s_{^(phE4AiZY08T0ehy5W)!)E_#A_t8h+X%J)q&Wn`rl1KOfpPeN*Z^0GI-Z#! za;JUiiysbf-P{4QiD_=R>+zbsde1!dIT4eyMFW-eHIM+ti|5}VW1g=!ecvGiU2HbL z>DHO8&)M^WBPB4p1w5R;D=47kln!O<$y<0|Z2fx?B3>Y8W&9o#05qhtZm`kh)IB+C zGI>3dehj|*vwvyQ4uIO)JvW)di-m7D+uCZcyvVG#~t{I zp3#{G?YN`3*86B>f@#Njq4VA>9uTP-lHYW~C)J=oCz$qPL`lgAd9MY7Ey&W+mp zfp7-F^?$$seItsanFOp!8~w$%xR5k%z#8!;vhVd+7rw<2zkqA*Tg#gj1Yo;=Mq~Bg z^Yabv!~mOsd@kzF6z`L&MpdxWV;SmOM2xIYZpAPv1Y1I z$kt5g=hlT3HB9BufilVPkZQ~TVN&T()=moU3e>;NN~;v^wzpCB1vb-GuXCXX9T0)c zNW4H#Ytv1tZUMn}v%xEndOZFb>;tiA$48dh~Nj07aVf#2Nb(B1AJe>;xLDb3B`X z50&xLy zQ>tChI+q>8M_f4bGw{=AcKTSZ3V*jZDM3 zbM-r*FU=1xyz5xyae20r(&iZd_HV7AqrZ1L#Ie*v&Jis@I0xMJlU`H*$4j$?VX0gZ zY`neFN{pkW^k%bOE9U$2FUp>}*9o-8nGZj%g5!V<2PbfT&~qfEAJ7jQAzyxR(V`VT z@{>N)R?5AW-YX!67DaP~rMLKz|KsU+kZC?m?c@a>1Gf0}y}#qf`{6w$%VwI5`jw zrc9J#^3D|@EU`Xmw42(tGH$UYRm<-6p*#2wSv-d&t}Nm1iZ+vfu~mAQNz>QBi%Z+C zyYMiKFVzcf6A?(8?X9vQ^twn3#7Vl$YyIGAL}AZUa*?qHw2_hu6pfeu?krz=u&>r@ z#QxkAbLP2s#WXoT9G}zGgta>xg9)o30aXN7N#?IT2!j$fFOR>d_HyziODrqLVz+V7 znMedVe=zQ_;pfLo>nYH~tKQ*FDtANsXZ>*ut=LOz9<%Y_ATSqHxr_1$4f|rHrD+IP z;{Tz)$s6cs1UwX;i)Y$+Q@b4kEzO+p26{8Btj3>dwzJUV2j;*5Ufep{4hJB9K&F=J zgxBNHxQH~mnpG`4sp=N4a#`=1pZI^kwQVft3R7U!e(KMG@z4T*n z;oAADV49qW{a6du!-YOBt(IzcCx|!vS_l>085veP{ffwid^>3Qq)>#n#>D%Ki0s+W zofN3Q^x$#bv>jlz`#m1V_z0D67B3GSHBjEtAL5S|=cUSXFWZbf>+`+*cA{e`3_S_YwSY>A4kqpYf(W^V7fQ|6 zlwY1A#d3WltBuY(9g}#`)ilR_>vObi69=iZ&JqVtv}sym2D2@lGp);V(4XM}THt z{UuZzrH!2?Yb+W6GnZVK2E9{t?-ff#+4_qbPm!czRt)94%!T1~+Kp4^C5ZKAqJv{qCxc0H!je$ZW$jkqkMwg?vabJo$^RIi1 zHL*S(Pf1wcY+L0@^R}c3G62ZGXfYKiNZ!qRXQLhU-3bRs=j_-%z%d9DJO*jtUK2C8 zu8Tutsl;O%w+~8q4pdM^n-?gFa;d8S90&K68+4i)e(XXXa=*%`+H?kwY;jNGuqYg7 zHmf4N>*4pL3p6swVBPqeiF-N=NDs8n0q1Ao&tQHNOjLUdNq*AkbtzlCU1!Q23Vf8- z0otem9O@xY8bG-NJh?Muy*#!WtZ6!R5DK6Zwz7cD!z5(lXTL25wsybw<<23#CYMy) z+0Bmi2r`$;LPxwv8>K4s2#V>f#RLj-kpI~9Tqiko&6{`O)^L4 zu9s9iI1n%P$L! z$cm2ZxbG?e8OSenKlnL`mONHge$5wEYlpp@esSc{=>hkx+vVk)))UN9SEN1rUQDuN z`=VdF{X$&z9A2$0utM>t=kIPhWMGp}147$(AN`Z`P#TUvR>(%eTwJf4I3@)xfF@Xb zhXJBkD~C-36R&Tz4gU-uW}Rlc=#9F$T>lVaXUO%n>04BQI;=^Kd8W}_naS6gNi+af z5!9Esj1S3gYUyG6FL~$!dYQlGgYKd6-$&soCO6F?45ft-KF3(A&JLtJape=4XS^x&K z5hzIut5$~BkoGF&OCCbmJ%1gt`JF6OlDTvQTe2f`-=(mVuvrc$aREf$@IJM8CJy zUaxd40@9b*R~}&j;(o54r(+Y6vKRNZmp_4M@1yA=)SDMgO*$ez_ecWTNNbLTmJopZ z_O6cssoD?fxpINKmAuvhtPq__^kPf=E>pQ(!^JC#=cdp^LycDIy*=)p@8_@M zaW7?i{)V~fsVt!V@VNV0@FzV?bMJJ$JsntGeOb4<>|x~7H%Vv%kvuJ$ zwi;%@;YpTjwz|9d`o6AXiyy={dS35{i0!`DUx+KcZkHOgwdahRN1;|wd5pwh{p zN>t2yM+Vp*e~e?Kg!F1g-|!H{N?OolAoOb?FmMLVKUs~XJM$n8S!#JanDiNM_tq5~ zIAbF=Y5$AMtZLB~`3gPR|EbJ;f7B5haVfe#1xs^lbi%DIiX=6$jS)LWvB19>zl~H> zsas3Y>g3DliA4YWcdx0ZxpEOc)(`)G|2*H;&l4jdjKtW8VlkP{%rbJGo-+Ox%^#-) zhLR5CMJS~ULK6c~cktjy^D$*03qzG53Zfn3v_lMF*uGS9G^Bhru}u-Wifwt_`_^Kr zreif@s>W>FT-iQwzF`Ja>!wNk-QFM?R-RNvZS!P|Hb9Biv>_$!E6@9nxik_3>C9=X%nL@Z+L(3}LOk%kGo zVN8iM+3_Y~GuSR$F#pMxtR4g<*dyB&z=W>6l^DcY>^WL#TgDZJMUcJs^8caHGd9^R zE?#Ccw~BsS@0?zF&KQm`{b+-W&D@0K2Y%d)F|`<{O()P)R+Xz)^0^+7=n!8LHsL)5 zkp4%&WtIE+|8X1PYj-;~WcS?s6+h@&@Nvt;+l=-9Nm18`meUsdO|BPgY+;r~w*Fgm z88jHT_fJtT(+!=U9Wyv#^{;l}Ia^-`(+w|N5@N5s1XzK zf@6Z8T(XZH6;oqDkBp6#<)ERXTWNDCy&XA=WuS`Q5knD}>-O^juM0XDa>n1p&fiMe zfEE^SZln$OMG1Cf_RdO~F*VnafJjIs)?`t1o?N=fM6|O1aMb+7qpboG%7VbJ%uJ&7a`MH|lB=%ZWRO zwU8ZPXM3Jsnw#t*x6X-Aa!pU#vqrA^p9wAbm*r;*GGr5$T5}FH&+ze>nAIxsfF8Rb zVfN4B$1$kmKk6!(g@^;Efwl7i?O`ppBNYOs)!LFJl8yw2$H%z%_%@Bp&>~x28{iOJ zZ0z^(?Ub}-UpBru6@ z?Za85nc^MNJF?^D~8s>}!cPVmXAN8Q}{QRv_&(_fFDbRYFbz$;Mu$fq*5AdVSdwqD#iN>;ixxszmthu%m+wojG z?O>vV-GRvQd}T#LUx&}ey?$BrGDyRl^keCUBZA%_OV`NA-@m&p6Q>&dJBK6{FHlsJ zff311MhC|s-#k3nFV^U}ySEH%|6YaM@E?DAYI{1!QbpxuFW8Hs05nB2>Q)BN`xhuHM~TfZBVWPd%ue znf9|!oNmB#P&*u9&+iY>zl;Lh*8R+H6`^c<2){Lcf+p#<+nsfmeah&#zF(R+jQ-wU z>6soI@qX8#9=EzP-Df^Yrra^7iHx;=lvf z8W?G*SF5vqR-vkcDq;g4$YJaSJmUGq@)k{7nzl8LnS?WX2)<4-5_7mJ;e|HVvd2Ir zlCzu6-LMDpb^0dGo)NOydvU@6EEZ$&IUEKGl|sSB=;r_5`fdfXG+O9^ z53c+WY*{7bQnhBRMkyB`^9pMfOE+o!l;OX0uF(=B^cQKvhQ5czPCxeV(9q_lK`rU5 zhv_CVnyINhHUFh^KDZ=2@lSAYC2!8dcm^9NO=jXeou~)|Lb+KSl2s^wwa?0GpednL zvhpToxSaxSu;>+oP!MjE2FE9B!sYEavo^g?835AK(h?F9tqP9;T&)aCo(E57#hdoy zKqi`w1m!5ttHfTVK1m7r9lJzJ48m;F)^CMk=mdqm(uFxP$aG)^*M3?G7hlKf^9--s zDs71Bh0LW#6#g3gg<3b8&0A7qffL-k5_ASp{xkn{ ztx~E=?&ePU(@T=v6`;rxfqQ;;zKv^y(g{ux?iLxII_h~CPNY#;Fo9fo2H8tO9jgVM zc{{OnL@O@+qfmhc5iC5MGKk1VPW|C*tusk3DzFr1(wSGWXXj2#!a=dSLrk`-ELQ_4 z&aA8pT~{*&3Wr3`t{3e%`lBPmUmmyNa9YlXx&2?mgW9Rci8zXp<3kk%W9Q&=kuSZyzqdj~{|cY}zOBKNR+9siJ^ZbW zQtmkR@-tn+s#Rs7N6LS+iAV*nIFp8h5GfP=CE(?jUUf^Y55t_HvQFXK586r@uA5-FaZo*>fsJTA^LJ~rcmgBNO4Ez6__wpg5?UZH$P)skq=G|E-K za(_*@R#Ehn#rjq9DWxPRFa;3on#2a?AnW5BcLr(Z9ECABVsdm->AEx zcKKiUr}FG-IBFr-wWXU%!I80>Z=EY0>!wL%1ef$db)$qm9&5g~ILZI1%3$f^4M&R4 zIZhrrE~uXF;W+&&5CAc}!O~GYb|YXN zkRnDj^#p^b1yJ0^!#moep<@LhkD`AGUk2S?esDQVTsMu6c@0u4SiHUJJa}Y*Zukwn zYR{4-7(Rh1(mX*HmZF7ph;-m2(MczMI1wAUijQ;2Dl1(ay^uNl-i617yd;Cr zXMm{tNVn-+;Tt3%eKGcg&EXd8E^^yXY&T8Jej*LMTTZZYzi6;bRta^AxP{3##!1<7 zpUA>x@sRzEJk{*)V|17N!$Zwe1O8&I>jlHEaLksc!;Odx`vGYY;_so5ZX|6CaO337 z7(DmErIgL#ZO;4%dm$R!BqrhVK8+AuwE6a-kEbq1sokCV|AM{_)o~q#D)r|vpx8Up zdHmB+8az)DD7lM>na&*)X!oJIcKplC;wwqr>*KuU9r0AUTaSGh+o?fJZ2es`!G>ACX^(JhOEeiY~tueAxy1-?pvSxFj{ z^1zGK6i`oU`x&iBLPYx|r;?zJLEi7OpA*ZFo~KU&F)s=|zU=fCuIbm__M-*-M1gc= z0~G`q#a=FcI0|p?vMF888MlAq@bJV|WbXvpoqzH#iXY?#E05lGl3WR$y{D*E0<$}& zUXIINZAv1DypN`8OL=M%1#>!hC^(I-F23e|&=!zC5VRwZfDR=vH15ZD%B#1MB=JHY zGT0d)(WF;zWr;aV#(v-)*ds^Fr01Fyl@u-f9^TI&$Ui~t85OtcD`<zwxOEqkBX z^tstD%VwIFbtZ_aD%KBeYl?hHA6vEdr!ns z;%DE=3uYtD2EZ-RM&!j=LGUug%9s)WFR#T+cHg7^!B_7f|5bnPse|bfs_#zUzUjHt ztCik;Os zv48d|(b1^h7`s3PfOtRs$GlUClqbW}q`+T;XRcTI0JX?J#{po*6_-y*)mnVk+N5uR zwK8sV!{DdppL$q^ka81UozuZuR-{J9*i@J)zng{c4%*;VkhR{ki00Ztml>Y!wsqZm z`UK1XL$-P)OlYehb`u__abx)mnx%ne+Ujh7kkMF&!PuJA+$;8fuC@(3UMaGk*+6Jy zq310xz|}~BN`j*0S}W}67ue2r2LRHiYFvC!{GXM*4qPtw z5jTYah?JLkGZ2DREFW9WyPquiXK~A)Z7ZO%n4bNNj7o4)SW>U>qsOhVTLeO-FRu<| zbTWAt(3&Mzy{)-@31@kH(i3!{GTs9CBpmk+M8W~YJ^6@Zg0}#^4yL#_Vc^l06>L z8hfYQmZ(}IOlj%84U>T~E9f&_3Yb2*?OwXFcu0XIy=P@@&|u8v_nE9PDaXY_`SIsd zUX{VM$nrB@HMNX|^|kwZyvr9T;W$cRut%7{b?)543RDxNf~Dh1ME6@HWE z2sLWjSQ(wyWNL9GFIupkpO2y)x9rN6W6`dy0ETGmNL9N<(YhEY-+ojnmw!e^ZdpB7 zTh7gSu#zcHOH0ezi?lt(%v3gSK8B-y{3V+8x6I_K4|;K-cad}2lWpio6VN62ZM!tx zu2ZJe<(TiE+nsFXm{i%f^@;Y?vQe&d7NWliCOF_zG-RldA+9`EM zHF45XgF>GCE(VG(KWJup6T(rV1pF*&!hh>9W^WbX%(VkSR2+h5Yx&~&8N4)V zN(t$ou;@`(3YjFr-D218DboJahhu8f^Qe^#Il;P%y&G1~G9=pN+be!E46K6I?NZD=6SX8I znKx-*|5+nd-qm&z&Jw6f+wtKBt_#vPr0&q$Y5zi$?*ZC7k3Mt0%Y_8GQA>DX`doM> z(mzKn0;i2ouL^$lYPtR>A+c*~|3VHo9g$w{dLAacwT9*)>66K>w{H?IG0|wLUuGS( z6^M@TXMpW3m(-Mlc&#ujD#=nb1UEM_9`@%h8o`g zUE2p!#MWMaP~VP^!Wlk)T(O_rca$CS!_bx23-xjn8UnAy`u<8~y~oRD=9bNZA9SDQ zrG*1{jNq58TH|t%^L{M9K+AkNX+?9hV7{S1&kRe=j@*wQT` zs5zO0Ky6X#Z`u&>hMo}lvs5ppOfAWHVuYt!LrZh=1234XJ_QiJ+D!we^| z=V3fDQU?a`rNKw-d*JyOF2s5z)6t(rB`N!VKSTXP((%!;_QpL}L1oALN1>K?@MLV{ z;jx71_0$a@XO++*?7wR#3p0`)3YtW zxKGfIPs1~Rpk49i=oKTHDE-LL6Cuv77xO`^vnAW@y%)G6(n$E$01|KQzia6_xv~xp zm*5|7{1+DEleuy*ci(091_zxOaQ>WQ^L8@-{r{?TK#6l8e&-|6hm^{caiiHlsS9h*Cf>d0P@wq)K$pkG zd=m&KmUq1Du%^kB)8b8w4%2A!XSc*{oHIpIgXK<-lDiR?mk=?1!dx!J!RkM7ych3n z55%3}69Enz$>#TB<>Xx0c7zXRzKm(Mm|+q`SH4uG-==~=l7AlBa>N-$4jz<2jTil1&_TJ01kjiKCq_BnR) zh`K{|Y^@Ot@Pf^)Y4R5>y9XN>iObH9{m4FnTHR6mx!(!lY8q7xrriY&zn7ZPyWYnG z^cLOsgG5uSmFKG!GmLCl+%?yOMp)-|V&pbDwN+0Z2v%OqwZH zOoz3cKR@SS9v;A#XK`uk2w^-anrToL99ee*;tJwLh;G|Hepb)2f=DovJ+2yhB4Wok zf0dP4DvbU>fPvVG4I@D?HdIv18d@3I6=H2gD_JOMyC31pJ(}sWyy})Fj5!wlI5co| zCtZqCj;dQAgqakf6pa*XST0YLDTELE<1LNPdFJ$KAjg}uZ1(}djw8>_-axeYZj>YR zrP@aEEMj?)e0|S+`{8d~)8)9mfe5(KLguyVP+O@k>uVd6i2SK@9;r^L*##|4+4{vW zZ-)2H(7J@iEyS0T$7WA5&R-It?Xb6KW~Qcq-bp9#>cu1l_r_)0V3I3-ht^d@1cb?K z86>Nzsnsiw`DnOQm|GzquklI`ooJuPl~u6jZ7}?NYHWHc1%|}e_9%h6u5ma3;r~B~ zIAsB&(LY4||Dk!WR_cE<&|`8w-N@!Jn$Lh3`yb8w9Y=bd;Fodtx3R?#zDd8E)!P?u z%Raqs+v(wh@fYMLVmg;gVUcR=u>+uBN1dO~+%BO`LNAfEZd)Fi6PW=GEJ&qQvT6k zt}DE-y+f;p|7fs~@b3nOc$}L+)Um@3+d>;I@c& zJFEdqm|-XcfDi~+vBzEr6LVn0#agq|Btgfz)4*;XAJ5dRm_|WUmcboJV%z_G>)2^( z=e;8j7G>3A@Zf=OYy=C8%N0|vU(%Ah;B0%PL8XAjObTpF-Fuc3w#m0`NA8Oj%T~0D zp^Wtt7&s2(hhrWWh5a?AH2>!Y3qF)0U}H~On-tSUrqLaWH36RC+57ci)_$kE(f`fM z9!|XV*-5pL7o?b;xbEa(GGidNmPXbB@Z#nrjrhH_*X?Q;e{WxrZ6_B}!LwUUl0d8jh zy#F}M@zTW5z=;TeN-{-9f5;DXGte>?YQFg1SFDUPXRKGQ%%E5)5u-L;QN2LdqCUM4 zy`Wc)Xct!Td%HWoTHQ$u1_o1U;b*96V#c^{05r2Lf~Ahmtsp2UW29|N*4bh*+vk$! zZPR*rJ1$W}xZ=J&;)fRexA{wQZH2s4=Ugd6zHGAL=(Qzc(}JGWp+D`{J8vl{Pt+% z9TFaQVqI9$8dvuQ#)bSaI`ti6PGvT(CB$%AzK!ynMF~;2yJ}Cf*{E~1wE^fY+3lu( zP`|Yb@+A9=4}8Sj;~;F@8@I%j9bUUxxQVxxE;bxQT=K-bxTivCzP(i}yL^o=gXoQ} zrN=^$=}4jz?uB_^AFuf z);Lr0Uzz@Zmhq4#+5#uYTHD++JL8E)>EB8Aur4)_S<{-_gm& z6hX9;n)*ql$Yu>wAuRK!XR!U8m#xXwNGr`MAzTSFs0v@{P9&A0c9 zTh_w?q^Jly!MpI}7G|cJ3yRVDwOkV0###$tNCG<8IaluZdyqJ-9h3>vzNp8hkmX|$ zUIlS8I_K^?+Q;?~vD(x0{1K@*WvV`1l^bD-qJg#y>i0^(%JsVg8$>;ju~#(1v}N_kYm$efs$Uo zFNg$a^^ix=c^eC-71bKLOmXtkhSZJzHVzP!8@b&_nmeA=am@B^-jyV24DBB0ki^#CipT4(?= z(0nmDkoe*Jt+Pjw3T<-5Yx}udf))I#pSYbhOhy}wWPCEjX->J{K)Tpvni7;pMMC1< zerzKu2;V-qOw?*6=rQQi%M4BzYJVtnV?n8;E_7acTVr+qk$X1WQ>8c7yXEUSdFkq7ISs53`3S)HA}p z$AGQ`mM?LzHkHQY3aWZBPc@~(O?_VwWbwZizyZjG>jt$0(UTEk07%~hNwolm4P)7zx_E>o`68Px?ecC)}M?dj$)90)MD-b zDkIVdYqZgB`_tCVB}m~$bm9n#P>AR%YCK$A?i-w)Z+~@zdP@(8C}1FoAK@$5kpu}x zrARAyb+Vjvz;g*zUbP*_Fk=zpAbB-K#jAq;0y-`4S=4^6XKSR>-2cfXtwk`JsZe-3a2=iqow)!jWC^mdUv+# zYp>-Dmn?C{vCs2H!S%z`yZ=peDh%K-KFJ>E%N&Y=$(xjqaz)Otli%AT3S#%0*NWjG zq^e1Gi{UnL$e~xbk!C7Sx@Qo2l>Nr!9q|$ym%;stO|4#MvgmBe-SJr$kwXBxae#Hf z$#Cc-x0fJ_@I#xMi$|xQnAx!3qnitY9Na|aE)2M(&c>M5N;KVONCT+l>}7flGlloi z*XbL`&ciD3jN8biWx?^|Pb+@O*B(izKq_kgzgJHaX}=7jvOfG2L6bUXHKxDbnOXhq z*N_4QSUbGZA7ezTNv&ksFZVRtjj5|YSJDQTsz_hXo&@=LsU7{@kNEM$4Xra-K# z3Nn*iNPh4Njp2J5kvdHU_qpy@W8rbG_mhMUiCt)KFb{w{0Y9j%SN z6ED7fJq{~f5k(CZra_e!H^v{8q)Pbqhm(^NJ?hV$##ii^LF4E`aWXXNM65e2EJJFK zgb^K-FT7aa#sZvMi+(UNu;{;piwl`L`R}7{hDphJaPm@?RA0_S00NW6rtLljlSD4F zq-g?d|IP@{LXc5BCriI?Kcy=-x@=M2C#@hd*;#-8%#-=D=P#|y3I_*=OPRFFBVu}K zxI&rGKub|4?xsEj{VZvqRyr6CGq|l;7EB^qGXr>GHg}h%oaM|Zgb*ggXEn95wS^aH z(({g*-|y8&zW9qWJtHdCX#>6?RyY z(-z%w(R*Cm@~HUs`#9D*+@wsrD0Don>RMVj@!|mBp6fas4vLy(&Tc7}LY^z?R7zIS z1~!@sMf2*z&RkYPb)K(TNYXO}FRPb3cmQtpGk|zEe&^90)HmrsSKBT4A#Z1k@?`Ng zB3G_s?!b^!9KZMb_MF}jU&3##@wq!mI*V`M;HSV51*i+s*Q=oV+76EMnMK5|c>CNn z)s3qFLT?DjI$Wu4s6F@br2@J~7Kuih`ub?Wk$ zcJ0%KS2#MQ#Shk|)E>?OLJY5e5=klGl`Zw*O##B+1mGqw?0BfIpEgQ%o`QdsH5ZH}T5TD1`W&*{b5da)x$qEWk>VSTY6!V z*j`fcMa_GsD?iuh8W(UwJTyVjUAH(mw@d8JEaBy3a|@`01Z~-A@dK$PNL_CnPNF%4 zs&Q*EDWq3;#)#KDk7vpX^vij>Y}<_YI-(OUbM;$vYgOCWtsjpL3S30SWwi+>9mUkGx3^DB5`~zPb;oxmujto)WxnnTjFc=2 zat0;=EA3+v&j4=+6za-0*wNKCih_4+@;jIiC21UZO3cvxr3t+xottv_qDJ50c5EpV zgYAD^g{O}-%-gYP2fokecMB?K#BC^^WBerXv`I)+t6x|kfXF?B7ahLkhk)hp)xrIA z1wf&vw^3HmEHE}HYw0<-^mG1c&2nh!pPpE9R!ngq7cSlHf3;8uVrK`p1ikyPb$D<^ znn+ZpH5)x*@xT0(oGRPAuB>brGUD{K%h9At2eYKLS*IMW{3pYIXMcsnj^**sZdE6L zW`jqna*DR)c8~D+p#nyz=2y-qL+^G92_^7Ai_2VVvFj!5xOY*d0Go7H%&K+C$N;?j z5hWL3h!|*Ob`HxRe6$i8OBBNT)=ElRis2~z|D)`!gW`(1cF)EM9^4_p-Q5Z965QS0 z-GjRYcbCRpLxQ`z1b25Drt^N^t+{t<=FZHi{^QiCU0v0ucJIB{`aREDFybof>+Y<5 zcDB&wn+&r-uBU%X)_Q4p1rCV;KSWkn{DiM!u5$(bt$2;9!?R&DE+48Bt#GRm`2M$KiHH*;C6_=qQ}SBQ^Dmksx4D< zIWTQJ|2$f5@(IMC|1ow#8U`tTx!LQ7zUe-kaIs@lmM(5)@P<)x`uS7N`&~w3NROTb zLLNs}FidTZv>Ggro<7*FwGgxg08lu=B1E~;7k^I|!JvxK@&I)&r9mO*{OVW*+ z23AE--j6G6FGZ3GI3395t8#F?rjcRi5*V!(bGbID)u_eZdt+&&XnR`icx|q(zQjHd zBaN8}j=Q)xNxkfr_7BV2{YGh-9gNkb8y?GY18lxJTXgop##`Khpapv2^2fVM-0$!S zu5)(8#yi&H1xdF59{orb$Ff@kWV-tk;JTL`RS9ma_gS;kv%d4gj}vk=WoL&tTiy_|__ZPyS*@thwzz~qF|{>~cfqCQ^TM^L*6diG zb+mMzKP7nYH?D8Hc{?61hRi)IvVd;O$by(phlGiX2KHG9lb|NQBec$}4cSM>#626~ zy|wmg6~gkRPUbNx+s$hf!Ng4fr37B?k4pn9o7zSxVI%nx?tE?<(=vZ5duuGDEA%n5 zDYE`MEr0(C06>|rwk~UQ;TddT9xeN_@cY6(xk~hGves!5K~FDt*4Xs=3r%F6Z+1O* zW`Q?d>_so_W$;})m&5y9^-3-1h2z2gb^IFB>a=G^pG9DuoLH8aDf`UsMLt2^hmpwD z&5&%Q{C-KFpu_U8%!9WR-VA-HkB=?6he!evQn_8!R$kl-S$`Sh8^I?ts6`I^V}aHs zxOA%s!aNloL}4*){Y?5UT{P%|@7T}x=V#lbF3xof)U=yVbNw-J?UR!z5^-6$>`lS^ zE3SK~pe+k}pQ_tmLW6eMk&pt2ra78tJKzY2a6lnWpH&4yDQ8nBCQPt&KXTtY;k1w7 zwKr#`wH_QJt?=5*7wFt0Ttp71q3`6A*vDS+?hw?8heYW~8$RHWzS2v@HawS?)PUon zj<~nT+IeZZ-POmjoV*K%Q|grVCfS@$kHsu|0I|V3yUA$j5IaD3i*S4Uzy+OZ)7q4d zpivyEuX!tVgH6(NWt2P)<6^uQedl&O+RDP>@i~|YLTvoKS|9W>l@cIcj@w&&fO&e? z$M$11HrwrQ#n|h~MYTtp$co&unsY;2eztgd0VYK|`*@$uZ^81oGOI3~}dtDTTP}+J5)T#-s&3 z^dKcjG?p*<;oH7V(wBCNZh&nPqSyCefP>z}H|{nT@6=yhrl*5OJ#hkjUv~bkzjG*C zC&yFbC|En$xf$Z3fqS-7c@Wak!U7teuj;Q1-gUMYXHZV62!6%IZuHc;9vf9Ks#RX) z>GdG1Vn{q%x(L3&Dt*vYVk1s#;{zr{<$9c}&_AJlO>{h(uee@Z+?oLE3U!ve?N$M8 zFLUk57L%EO+rJZiO?=rBJU43GP|q`%R$#&#)!}a5D+f10LKZ3c=H(FJ)W%$BON|QP zry>-zP~TRhfZ@#c7UrvWrM_%TtxhS_7rMd>=$?IKdQ0zm)_%GqO&`-rgPFp@rp@AX zpO~bvKBAnOP(^@QY}zFKticZ5<_iCI{0k1i2)sZX5=Os5S}!JUmiX3~(nO9Mb(*zv z5*%-tfC=;Sk#xJ6i>gWugM(dGMI{P)+96M-q~J@cilLA}zluu2Wx5+hBjXuQMH6A= z&MN^@k%qNq%AM-ejoNpZ`v)AH#jk#7{+{06g2W@gvK-} zi&GmvBb=9PEz3E667fxC?OBy zdgHVC`Y4ke5LZQ9oT6fk^}0?yF5oTsyAS!-d@00m;@3HhP5U#P?W88EV%4xkb)_2t zSUHtYWDiW}XE8B(wcikc@>-F^qmAUBTn~lTr`ro7h;LYNzi|PApF0DHH;|N~vxT$L z%K@aPB<%oy|KA8PIlO9#gxHwpjTX8iTIrJA{tcbdb(mxu!+cE6MCab*C78WVbQprF`OIO9_sTY)^i>T20Eo?f` zzj>e`gh2*v4@5#}=Lq%+Kd+>pQpVt2G1GM$?NS<7CherlXYJ0Ke;ZK%)&!u?9n+_F zB8#i>2^9uAuGrgotH^g&;HkWxd?QnbqH%MqHOtld>|(7o5TUf<5DE(nhXm8ijCuiWtXu$XD3l7r= z<8_75(OFY2k^sTjeKBLzI)?oesIY?NEtiP7^b!dz4ViC>vY(=xM4JaZ+rF*&L`S!n zeKYtIe^J>Cih&;nGE|AW+Gd#(5t}~6(7}O(*;kB+H7R9&rFpT%2oXqcN`!5)5JfN| zxzH{->TY%;NQ|)6+aiOAZ9QPH0h0??`OKYaEs7;m6V~w+OGh+Tv(B(TI1EQ_V~K1L z&Fvx)1;GQb&4Z>MKu!W-G*iaVCD%3nja^MUf}smi^T0>5?n+dNHZ>fDh;?Fut!9H2 zKNcCE9lRzbo4pPFLJWPA1<`ys8Mo`}{M6Y-(u4rSy!eJgS z7A#RMr2R1`S@-LADGvzAjA2}oS&r%23w6;3isTqn>9zF6mF2?M6ijH~XqA&O)%&gf zqJu}xT_l*T)ou5^ax}7M1i-bw-M7AQ+N`Bj{_z$AzYhRFehxjd*yD1OHz&?a>xa>u zx1W*GPF}$KN~Idz>nKYM{d`P$d3jx3T|fsG(`UE5(Kfz!;k;Zu!n5<-uSLohC?wB4 z(t1Ysq0JopYi?#%P*b0wjkaCAH!}}oBs85;kZ}ln&ZHGyMvGwuOyt*y$rb}17xGKB zf>bwUalg;!Q^pqAkl79nV31KAVYpPzmO0oHZ_xP~goWJ3naip3J2=dfOLE-*Iq#~Y zMW}ocJ1U+q7)LPh8z8%R7*QIV08fw)B>pGkW=i+xsHUxl`?E#0o#Rj2*ArQMLN9GA z`4A9urK`imA5Ah7`cWHdZ-aHjv6bE#7FPK4Ld~1=!C|A|$r#oBr=i-agnP)z-Q9g6 zlS5WPAx(<>Lx8TCmrDbAR9^pln^Lw)BvohhSEY-~d~vjnJZK*T_VU~wOt`qX5D5A{ zxwJe8gnSY#^0?JdL!@T}|Mt}L1umYKx6f@F+-w&$h!>nsm zYLu;;!mQPTWGb2{J#V}I^o<)ZZFSzij&ivxTy5ksp}9)NXL2f%9>o!hikweHpX`Wy zs(dToA8z)TWxX&n1F??HnW(?zR9Ev^;fdrvsC}B_+iWCgdG4g=Y4HV7!uAxI-k47`) z`y*oOb0ev;21S9pyRl(o?v0qvW^p;-BYjZBAKwLq^|XM6CyXsUi1F%ioA+0iO%6Ju zqz}E8i=AvJ^q9*XZJm4wzUk)kq}a*YHMtx%*ntrd@FgnGfAK#q2czIl(g3)4@8i$1 zr>!5pulf?Htb~$*)Z2IB5)#NoqvaY-O;L5Tniw)g3KK58xeGyaF0elW({{%=Bw&_# z$Lz9o9`KkywP^^a`-$c0V$pjvB=fBxKbx9xMhh**5#QW@g58GL$l2(AD{6osZgcT9 zVWQ$|Pu@tc*T4<5xCA1cTaV)Q9A`@lzW%*<%s$&waCa`-rprva{TuX)Zq0`$Rxo2I zt$8RjX?107O-Y4{Pg3c@y;Kjq)uhzF?U)z!YWj_k*KrPcqWejU8(j&tEvYn+Fu?;FO)$dTH$(~g2WxLe%Jey;wFNfL@7G2wGvSp^Fe7loNdz;%T? z=+*VwGWOK%?Sj5Sw83!4ED%nG$zXClz;HeZ*r1~75&KGN<@J5`rd)4Va9Bp3sClny z9Q1FD|4nqssx1RGHMLU3EQVjcloXQ^7A7Vks(X2*Bc~aL2vWQDz}3%`p~+~j?%xZ( z<$>k1l?rL~*BPIAuu}Omzze$KH#G3FiWw=!nlU~yQZKzLK_49^>pwm^*_-YjUTX81 zy@mg-^h>D2-2%?a;vw1N5oE6yLy{Ulu;WM&__$Q&Ob5>#EW!4bOMQ55*jw>*~sbksye@e~@Vg zLKu-&Ba`A@Aq|Dpv0fPhU=6FQ@q$hIZx6ieAk>r#4&K|#Jv2<#b>!tX7rg?*UBb8b z;KX? zob87g{I!#~yUW6tPCYfRj)#O_(`M<>UutB8PUZi?Wc&9*zQMi zN0@}b%j4zTCV#Q#XiutAHQoUO6rlv8R*094YVN&1i_gQ^yvo5;p22{_j!^tUG%YoF zeILy6alSfgvX03@lqcmu!@^;lE|46cJW5GV0WzUAD+!to^pZBHSvmLo3eot zL%Fkl@ebH{V;D*FH+S(a=OoIsAlmA-U&7M?(9@~iNk*upB1vbog@dwURPLr+nH>>U=cU^4bVjxP-R%RiQ+ z)Y6!#WR$XA^%fz8I|4tZ1ANli>4h3=7+qg~v0L3UHH|v6>kL8_qv2{y?5O%1UwJABI>hHqmH80t|P`P0n8Xil8t47~HJ( zMv&5)c)@Z0La*sLbHzW!j5Njyhry)ub!K8M;~mQ9;Ghbh-7>*-2UcEVwv1$u>w<`v zk|oC|F5LZ3eK9`(bxLe%os%?Y#|>ty1+8c$VFeLWNsN52yvOQW>ZJ(k?uO3~M!BWy z%IMYnNpQnQ;b{ubtf)i8q{77?jIyN=!XR$O@c{cVhXxf4>}uROt@?gO4l2Lh<+co= zExPbVS6dgRti@8*t(>u&0~4{^xG)&sWdfaKZRP^6JFa23QMd2x4YuLP^cf{8Jdv z4q$=Ns*J;4BvtGeC8Tk_6qa_sV`n~-5hqN8jQMhl>uM4Un63;q0&hU*Dc=kkZ|(Xr z6(5Yl$FdsAG=LBWGMTO^$s+#XV6ar6baLI(u&%5Kt~PCvq88UV2dxt_K(|BT(Y?=H1mJjD8E{_6^@B_mR3m%pdjDETtP98^DC4)=wb!bZ`O3j07ZwK|ULfh{+h$;Os7idS^ zp3kq>m8c)`*DHvSyRjpOGVNDZHj3J)P!1{3`119-Do_D1UO1?_si&R0MS_v_-iHks z5S*fQN5p>rTwPNG4o(BJv)|Mw2uwGp+}x7EB&GxOpGKcOskUs}Gc;@5CpCd%Zo%)>3l;YKCjvK))Hpq=a5% z%Z##bY^{v?9iXhjIhP9vL)<{fi!Xoo60gtqlpa;Lmsg2MxQg=q2H={&=&K(qaH_|v zG1-;tFWQotMh^lngCM;x*NHSh__ZzQBdHzY0zm$2Rmh%PR2Jy(PfMHZ*4IDjzOCcX zV!IeoicC0^g(KA`MSx3I1k;Bn@69If(A5Hd^keCCtO`*?mT3kvV1OsEYuj0VNJ_s>i_A^ z(FtHxr=atK4cgw$3saEBEf1;*?{mSgWw$efdRq2{`rTfc#Pd`dXd7U#~vS`)p z^|bs#Ow-N&3$hBOhbI=12smJ6N*C(zQf09Y{SQI$YQ3@oC@|^NYE7s zb!CeOo^<}ukPzaL>hEYiT)R%mgS8bEcsfgydL71VC41lNm2f$C*EV!|SkrN2DX4us z=!rZEwBr}eye>6+=M{I*Kc~Mh7)stkWZVcyA;u8#TBjfmKts#bZi$xm;M-Nf>(#yP zIff-eYRHLt_ig@QZ=M?Y4jra)%3K8V7LMdMH6%U;-PK#%Q|*hDA{#z(o0-zX!UoQb z0lw;x3(RMtNQ(s~pR+k&L+a>|n`P;zz@UFNr1MG>?J@on1?~g*vjq+r|LzZt0e@AJ zM)09_yp%SE;0B*RA>nd)fls}H!`?FjE1}Kyy-bn*pL*-b@*QrlNaBk6fSbWW2~VqL zM#@EkVeH7WXmS{T{B{&j5LoRP3TMj?H-7rR5skeO z25&ipHUE_|!Ii?p*NwXIwULV)w^k^A#e0%QJ-w~VSzsbva7PF43WpU|u4o7*q&Jbn z7RABn6pHMoSHK)es^a?HDgBz=%p+7hC|P^n#UN>p?f2Z>=LMrXNcv+Y4}_k=FIz7M zXX9s)4B!)aY=?eU%YIcLB|oVvGo32HGdO(S)3lmD_t?u zF38>PWdiD;xx(Vnf5ci!w$i7P0UAC?Y4|gtBrXpf*+9b&l{@e5enUg8G&8ND8EQ0m zco(>@cO`vP{RgkaO+fz1`P2u_irYn!=iofIhncVMuz;~{wsAR4$ za~6{=r%UO+rJzWNB*iTnQ?|HTTOqdgPcQ)ENVWuEu~y*80SUO@w4WNXaQ9=UQVe(x z&V0oAPrh~F>Y%0WKT|-lP-GgwiD#Q@~m7uNF z)oZMU3bboYRX7JHfyylDF-Sqi|CRg2NY2wu#!j9HR}f#HL0aSdH(;qvpW@JimFv=d zv!u!9oD#|uBw9up4oZ=LI;k4_7BB9*s0a)GzZ>8Y88kcv!Bo+~8s=N6a@lP#VU84p zgZF6A*o~5y?-_{RMnXv`LAyplR(5P;AFoTYi4f^)>%jVmBagiSlxU z1Xxg_Len?-mYEs_(D!=0bL%~lzkf#GxsSh*PAcY*Noz`10ie!yPXXhJZ7iiqFqe5` zwPZ%Wt&*`H&UhkEsHo61$Zi5`1#jN2db?4Dt$Exwmu8!s$S+PD5bym3Ek(1 zFA!0|1Wa8Ch?7{c(^FT>yY`ptKJe4%u2QleLic?;;k(@liI>6Wwn34V7Af4T9^?4N zYcD&)eGBCVLT3QDwR?wR6)F`R;IV zIJJu8aG6tdx(k&Th4npLcpECOLyow>7jvOa&yvmFroWS(hBDxz3>ry1uwt z2In(4j{D2tKO*_9%SNTF`p@#7X{j}8Ii$#bV~ZUJJ&#RLYgYBu38iG%R>mi}fL0Bg zqcA{b@4NRv>+1)*&BO4Y=*^8TMk)b}K-t|Np=s|{i)TL^9v$9aPNxW!6TR-Dl|q|6 z)?xD^hAX0=0Dy*-Eai6-?@su)CGyKpTIe{}alg_4fV_ykJSZt)rOg&w8(Ntil4Fd6 zLs4NC_Y+O9M_#jdI$NL$~dcfay-;4r~%Hn#R5UfW)h$^;pH9Q$aE}V$wEk8W2NZ?^4E4XnI z-9p|ASb$PjYad&1X=}S|rYHKc@-W+hWw^5t*3`1vO-ISi-FBdLb8}NFpH;d5mU90r zb^rOENm5L0{m)M}Sz@DeEZg(<;aid#iO-lbs+`O9+$KFz#vZd@{fQ+No}cS6T(^Zi z)HX(!`P$=`M-9|S>X)Z!T?6!dRbyUx?}WPEDb4G)HN&|ucTTQ97 zmUJ6dn))ejklce@bGllU8*2uV;evGw>OzGs?ZAGbU`FW&QH#E zbDuO>`QLY+9kJyvSi^E0mzgs#jhBdw5Lr8Ym@b5cu@mlb#2!K#?)(aKIT){R@HVn% zct4-tcvG$Rdyugwv&iwRgfE{NW}tDdb}=cZEV?L#lVKQb3hRaWk0giYAWiyTmHB~x zIx>wq#WhIrQAoGJec+oqDR*uAioD9EnRA+bRn|op(ByD=q$mWe%CQkTU*Dq>AYA?y zJ(wSmL|_ZzOwkl$|zq?_annyVP|^K~jX*@}CgT#srR>F!Ja? zxE`*wJ-!`1qcX~kh8u6W&Eltt_nqO;+mI7m_|}>~i<>l}$HC-rTeC2`W{}TSOLfhr z{h`K-d+yuX5#1NX?ukZ8oOppB5wT3#8Sfgxfpv+}lH=Kliyt*(aHwUvy(oPmj3n2f zQSCtjDl;_!d78#DR_TQ+Jo!<%u^Qn~+LJ?U`Zt^Zd+x){S0p}$Z7lO$Ia5B%e$Cfz zByQ>=3#{BN8{PO(Sa~ji6)IhcB2ZDfF^`n-?Y`i1RZz8GZoA9jVnfmgcfk2XeaIz$ zT;lu<|<;%gD^k%o#~KrR}O5gWOEHl;O?pC#G4lAjnlZs*v_* zj@3|qYVbC2dw4@D4~cR`)~o@GkY;!lSvzpL`4gT1tl5jhH&F$u?IeV#;^j;>62ts?{_mkzHqevJ}(-nJ7)do}8HQJQ;ms)w?4%zb(=h9`T#3 zXl(?dTsEA6=6}+f%*~Z8R+^Nppct^+8~1C(TCa_MAV9;{OYN;($EE>$?VV#K{{f}) zdP+MmexZsGE6mQ$me1nMaIdL`4<<$OZaMup(d%&?TwEM%?#V7Eq)fMc=vKHl3(7Pi zb@6EIlG661WEwZnPvsud`}j4>py~N#z6Wt$DX*oW0UaSM^-xig5^MbEJFiH)Txa#K z#Nf4~bCWDdiC2L(h>vrJH11$m+8iN0WByv_6>icB*N^lzDCu6RInai+^*MFwTsmVO z3qi7R6M%xcLJRNz{d{Z(P_oHzM@aO%GcYw3OI*3s z%j95=-|&EGYLB|8FaTB9?4n{EDVZ$n{}-MgX>jU)woKk!s|FY25#oIS!9Z+wtcN=~ zn%vQbISenx4)_xJxQqV!(+;vRwv!gj)a9=D)4UL5B#fzK&%(Fj`=t5A^ugeGY6*A0 zfNV50Xm6nLvPa`5PObJd#klpO;!}}N6Ay_WRJlQpA1|5z=1;o_*?THP7ZPem3?G5HL>3DIwVqX(A>HRzWGXI-0 zFJf+$y?y?EE@h<1r&Sh@L;d#v2D-_|xW2p1D6~%qPgqRXI)E#w#(3rF>F#&=U^iAY zM4ym!v*cIEs3ymwdLeX^EK63G8M@f+cMX~ws;)H<+(JOF3 z1^sQHBl#fUDsmZgdt@HivF_{!k^ldMi?fPGC!w~tx=e}0=fxL>&h_1S`))_gCDocPqfF*y;O$_lwpihG)qvk-sg{Tc_ik!l z&&2b}yZZ}B`vy$2N4sQ~MD25P5fBusw}Yo9Y%&LM<`_7YX7A zq+9{OGuJ|E(e!wmdvbHLN2}2she;1x_CJh}63htetGcxLP-Ja{r6(NzRD++$kLua% zFacExP#-^1_5^&FZKm8z3{%^~=zmWxaO5tS9-f#ww>J$U$FAL;rXvb@xVaGVRu`sU z<3y{qCoDEgckY4>mskRN5=E1~7JIMy=iZ*pr;DqNon?iu)5^QB$V425(?>xeP_TCd zPc2)4tuJ>0RR%&IMt*AIc#1bCKso0Y7nTzJ{$7ehkvuH!{qCW`Ob(#>FZ1J_kwgpy zq1v0GtSrgS6pjjZzx3+rTNq#G)TAQa?4lG7!Nj|*uev9lK27!qGhLf)4sn*boe*hv zv!Wa%Wh#2rtI~~OAB2=+cR)IIOH`uVF7{cUdHChEfz3^y`G^r&vgUA~*UG?5#XsFBMroQ&q%<1V+I#`H%gE+MX4aSG`|1&=1 z;ax7>>@j1;eLpVk7Cs`2e(m6Nc32s9>icVwYSL>;V!)MOG~MrXlxN=k`o1HM!g#@u zwcv8pd*+{Gk~NDe5gOxrM_8bI+}S%!p0tGD&SkYnO;CU4Ua~ls5e~b|+hTigVZHV! zb)X8hmQtu*bvTs+W%#~6l`@LsXyc2Z?iM$b?ap*Nbl$0u^E!~v#ZM8}sGVW(GadW^ z(vNG<-Xh%IqyxG(ecd-&uw z=M#9(H+d}v+aGC-?QF z59(M0XiCD%Zat!*RZ-D7=$FvMPiy5hU+Y9-T2dOPeWUhJ@C`hM|G8hKW=X);_rplU zeY8LK>YZcX>0w~#5mmn08IaZ8EKd2UO~1$jP1ws;&}X3tpD%g1s*3y{|^w zp57*U_|8m+F(f%7on+tEB5r9rQMLyEx8ZCbWuN%=>cbcm2HE^@jq3iH*dVV$-0!SL z8GYx64LcwqIQK{`C;#T6xpUOwXtlU{zaR0~x<&+a^%k-96)e)ye7_B+(?+%JxlYoy z;l?@_Y`TB+;;`J#BXyNql=^?C z%7>%>p~^h6IXZX$sIpEumw=e3u!r>m9OdoR^c8Zv=KJ5(nQy&3Mk=(&e4U$w4Szp- z0xE{Mx{hrR|Jt@59gfj^)@5w@Eia@vy&N=BK1zxx-xThIc~bTt7!o6-8AOSbGI;%hJ=- z&dN#RoVEE@2+!9vpa;|}g6l^U=Zk|PI6}d!gQetQsRvWUE=^Z&t?$X3-CzeB^lw|M z+0Lb7GvzML`EH%1z29PsN(Y6ZDXV9a5pJ(yz*7FDO47zCj7Q*!+1tH$yLwV|{M`N6MhRfh|X8 z8NLkDS+@>fRLF*@pACouE&2ceXCph1*%pL{4Pfsqg?_7ZxI6@fu|_&BP9iQnG9-aJ zFi7_$cH*n1A*-&Ak%R4b$GwLQ!hdLKMMywjW>2%Eb5(?2dhx2f8MHGrcl36e?LjY3 zO{Z4wdk;aEJNF<%CYo)ux@{kNU5yoHT@~+x`novL3^8s)G2!&MIiSsvz+BfOq!E!_ z=g(TjPho4NO(e~4G0z)+CnueBYK6#}NN65UPWE8|4|W|7zZb@b_N{x}Oh0?WJo`X+ z`pw_vMsPcxt}uz_P5w;v75I~4KJ{z^HLWS|f!p37b?fq0uyGBCm|BUz3f=#0$`Klo znG`9s83GzAcgGV=9hMlW4-k{e@y(IGFYB-w<~wc4fr!d{XBA6r07hbk1SDzp7QD2- zQc7}W#KfF`r`~#{%NCpL*LNlK!0X?wB>5hXFQm3kw65|Oqc&C+?hFwK$El8rsPMco zIv!lWqlf-shMldA{7?M6`JSgx&y~N|P>HwNTJmYc0giR4b@3=ocOYuR%TeOV;8Ci{ z6wZMZ*OMj!+Qp`v08mOM2j@eU;2adOYCun7PdSVk|BF}Fv=FbJ)KsqzkDyD`mIWL! zKulz^2S!BpA6BO-=cr>PcZ=6xVDAU!G(To?Q!2{>0ca6twG+qW$xR==ry15^ z^qNoM+g`awxM^l6l=}H%g;}j^Ah?I|361WDRT~_pl4(~8KVBc;&>BhXa-McMFKYpt zLhck)f}j1yIyl9ygy&4+zmY9EC(?M}*?&6M{pg(5QaJjUf7Z?L>d($4UNXsJKsf8S zriV|;r?8w|!?7-Oeg1=HOrBCtUg0ff=QfK;x)+`6<2C;xr*&CxL<(eN`nKLi0Prz& zzh%D03Df>Io8r1PQt$dlK^sq968Gbsu?f+ z-jsN&cBr^pB{9HuN1xk#VBE46m@Xu*gPZ^;ozhP7zFK%0eH*cQWWBTyLh-doSbvsY zb_Cl(z6{J%V?hAAzyrXlI|aA&(qj|F&Qk7h4D$+@7J6yZ?rZ7J{4Yo#`i0^Wlq&EFekkPKfLg) z@r!N37hV4<60qH}0+{J%1BBqA<%t*iiG}?%0Fa628Dv%A;SNY^sjTgdE_O`8)0kJm zu8tm|A<^qvv@kvnANb>Z+_m*7p-mc38Uio2iZ2blB&=u;HgC*fYykP=bm4_Z+nU$i z^a-a&R*0dp@Wi>dhm6-yj^w!FNgJg#b?txnK6b^g+gAU_`U;Grs||U&%Gt<2SDeD5 zH8o5z*c8WCWOB9vgcJR5TO1jH4H%wcQHI@1vR+R`HilhF<)n5o2QlTu=R8ywRv}60 zewRVp^}HKl9xyYaRi~u$zvZz&j_R@*>;LfBPU+X6Kf7DDQji;4{x~jo0786sz@`t^ zPwgjZM-nDL95UgKrs9R|&9>=c$OSPU%J%k)I8H(@hGj1Bn=05G*YQnf$!xC#%1{pV z$p>D@*YNDr+49AE=V^2zIZI{Q?FgnD3}h2819M+{vjcJ!B8MFGj&9VZJsu}xBEq7f z0Z}fxa15Co^F)EMbr0TpCHx+b3|Y4>nbENow?TlYBGAmU9)p{vBCgqN-b3^;%i z3v4My0=M{CjO z(L5I;0N$zF>BH;nP>vh*#qAid=oP#jiv-ZrIgagGX>f!5)7SM4FL^D! zCj?J6uIOpBSVAD$0>n+XJ(0aK4MnQE6-hkfv_B}gLgV>5R7+vBM+if?>s+B<+1_4n z6<@)|MT~oPd=ykw;ublApb_|g@_+B~hG4B^K>7c~|Mwhz{(s{CZ%f6`6!QX@RSt*o z^`0+Y5SsM!*!n2orgAQ6|9dVwsbzn2eS_2`R{9as)7R9WS*X(h(3EE(rB#g<4;*Ay zKl*Q98)Ht?q5ZRM=;iM50R(H6rGR)+tv*z`|6JAWU=f`JdsRWQ6gXCf{eMBVEFSx% z&4}ase^fq=ZpvjOkq9nWo7!h;oRvEKaCb%B%6WMPNZzK#?E55O;|f?l!CR!^vAU{s zAFxg|yVVj2Wj2DAnH{Krv%)R^U@bI2Wjg}ht_0k~{Uk6bBs}JVW~pHS5@$X+4H)cf zg+n;gRvr0|)r#`z4l~xT%7_IP{fE_N5KUS%0zM@ee>SB0vNLNxY!NF{(@RgdL8HO| zLnvEmlF_ghRjF&VY3zid`+BQR3DW+C063oY(iW2q(sb1FJ(PPz74+VSGlI4!7w$lP zH+{jlZRndRw%^zUmz+XV5Mb}pKUNn*5bMKAttd$8!$wO~>s`yb1y!c9u&l|gIrIt` zPOd*sjjLFk^bpr0!SSv2dBDXJ3H~hnon614DH_Z*3p+S$$)hlY-;}Lv!;akuOJp(c zB*8Fs%&k7=!agKXtyP;$357*xxI2=d)3 zJocj@-ZqL>4UgY2_o4>o#X$1w7C$nP!2TLSI{Dj&xen+nx+ZXdsNxzju<){UZsb71 z?H(=inLe3^(!5dl0LIsGbYgNT=&Q1379VZ%1i}Lpc{~2fC1Ud%Zp;U8AG{^x??K$( z|BO(Dc-NCnBTmZ!Ry}9lZ|lHX9R{1j5<4FCH9={3@K@SmreWX#E5irjumj zur8($V9=_&LKjAWiQ4Q|%;S+gy4x5SxS+_5AOh*19X*2Yj);jRj_$yaR_*RW9wF}@ z(t>6OE_~a4vPfG=-Y~<_LYwd77txd->q5r7?fKQE8c?B0Y?_8p zns%U7`ZLv%hInTMqQVP;*izFAKuMXf9W?r@;f(Q&o{jJJ)kK76Uuw>I6L<*I*f_;M ztRS;@~ z^K`i>=Zq>8y53ec$Vd{`lY6KiPWEhO0LtC+tAT6IZ*O0zz~xcKvU4@Kgnf1Tds*>^ zQ{jTz&1!pof4>Fm#wN2HKGeU9>OG#V)8O=p(K`YH*Z!?S^(hW<18oyZvUUST$^tc; zmby}R<2L67O4$l#@_e;>dU8ot6*&xV_!MtV8NUD^zWK~PkUm^B8LOBXPT ztukNg_K59PpIfe*%W$+i#vr_aBaMu`t%pnq%m(kq2O~VUK4U@avT!{w2f`zN;b4)} zpaWZ!-0!>1E-Tvj1unqjhHQVvJ(jg53SVqiH<@m6p8Ia>lUG==pi@~etok3{WTbvG z=s}|T0*GwjQBu+@{7$gL@Be&3Hiqz{`NI1R7Ai2sr^)JYtwF6S?Lt95&ta`0)q!A3 z-5EXb?fG^8^`*sXUj%YI7K(_{Pr$-J%7s-(ql`@nX%wExYQYCZ;UaDV;CSB2glgy{ zw3X?=w!8V$kTaw9Beh^|UoID2Hw)3g;eF9tY&PiXa?xpV-YHj}A0e7L&5Ul($nH<} zf?*@R*5L2eae5nbJ9CsUdY#|c1a@+X6B6|;Uw^bXaz;<6>po~wkbWhiJ%iwGSNss) zV6JRVKD}a?inVOqTWC$DLAgOmK5T{f1#6Xa5uN^aE{2LzmL{-?vf{;(U+^vZBDupj zcJU9*(W#AyVA*Tznw9+OneH#b+*P5G1 z#GnQe9ax2j=jZb@WP+N}W8yQD51F^wpYe4Kz^btn)5d|SyzCqg3ujpzDh(iG`qoOz z8wXP$22VOo=-&1KL|nHZ(!k)7t{%Q`^1-o-nf`E#&_$lxifKnWqT!ot?i829!Cc2m z99=0@P3-#`2I`b51cc{vv)kpI#nM}y#6(takDW`|%9kAT@GkIO(ZPhr1ggvB+|U@% zE*6URW--Xcx2VHs*jIg1hj(D=y_ziVvff*1R9JE4$bpdyuf=xi)hb6<93kWOsmUuc z519(0piTG7Ls{#($JHz`?g5Po(()P4sDsfIO*(Z%4xQR3mwBZUQA!o+Zfs6HCx4kC zNk<+}Phuiy5nLn~5F}s4LKLiZNl(7xX)T#nt1Ba;HNludE_=18|IM?qba>CO_N{eU z3AmCZFRC{k)Vg5%uOYSK1fKA0{6^;#?1ZkjK?M5yRwhOIrI2+veV)6Obz!D3xnd>W z%Ql(j6P{)`_2!gFSik#2sjXxPk+q5P<k6OdV;fTbX`6}s5!yC7eSEtfMXu#m2I;i{iwvXi9mGf!ePe7 zfES~J+q%W%fT}jrhLLP-OaKK&ByAkFn$ct@ilAMxcgL&YKH-4&Uo+M<5BPulx!U7qdbd~%uD{>?I&VejhcHo$=cCp7~XBd;;topzK=@qQ%%_`6&CT-1? zTqx8KhHo`1Bz?s)O9P(wab&-k#m7r=f6r2-$M(2b*P^cW(u_JJ***q);lAWXXSH$# z`czbuO=j1a@Z${H=95=Oc@U1uC6+v5{a{r^(z+g0GgHR8Y*iDh|;^|6pU-;_1w)4nxAW4U(#mTz!#!;2pF&?KwdE}OHNIh?2W zAe|Ajy-)6N?Ul3T@LgW{B9mSmBKz^CGyNM#k`L83xJR)_F3f ztk5TpLEtjlS_EBJ1yt+S+g@}j1qoj*|Au^@^#1Kc z2CGy4H=KG7ps8TUITNN{5cu!y!w2thqtyighEji99{?sr3{Bcsr%Whhp}3PD)a6S+ zSN@_|c^)mk2?N9u3i|#iC^R$yy3aZHrK9Myp@~&`ME~AvQ^C?Hm;K9ZJ-E@g3naSu zqb<+~T6A8hl441-am3OAhD1WMr-(i(!Zw-Fry7(`fS$;*P zui)}lm^~ak<-^7ka|D7AL$3J&9k2v@9 z?)S?R+VxSNys4?3)&7H3Q>yf=xqtBRk9ob>KS8Dk@obeg(FmM}>jp}q(f~PKjqk@% z^{%*0D*#%T*B8GEGX*|YG{cwYV1$ts;AF)<^DXJ%O3x_=n8hWJJ=go>20(&MXXM78 z2xRNf0?l!C>d*UIp^cU*VIYGv=_w;rU?ODjXcr_jsAUOi6*EiTvmliZS7rF@n4LGO zB8n|}1dXdXlns>gI7>p^=4z!F6Z?O%N2C6FN)ZlBi1<^(+x66Cpwnr?pF|$^btf5x zZF1liC`OKLvDJ-J|4i^I85BqgU${K#dgaFBagm~Od~~pQ-LLl|Xxhl(4f^FvCjV_` zr+=*#;Cw{6JE7){H~^1D%=m^?0sXAmP0)o~7hy)Exo944rWLo(9cRLmR%b&5DN2gA zOjLtWw_t#)^5S7P&d=Zc0}XBQ*WWHa^R!*fGz!9q24FBnvM@Y&Bs_F5oQHMfBT9EJ zgfxBt!Cwv^`-8|@8Ri7_3OP0nvan4dN*({ZD)55;+hXeZd#iP}k4#glUUtUUAC?+O z5uB9B>Vcz^oC}Lg)Kfw*5Tf8hAYz474DhH^y#%Q;SnS580x0AZ&Nv?W_0&)_%2xcI zK;s1w=Xe(Zb*S`?iFg0%UsqS(r3F?A!3pU^C3=kXjRB`@ki$w2xpZ2+ZvsLyKA@O3 zKWJ5}MhO6L<7oI`6}$Xd4ycuYWon#UzAkm_cq9jC)3CVNIRE~QefTxqHM0pa@PkjM zwf5%`P5(mqij7NW%ZJJDrr(aBcEPo+Xk0(bn#|(A>War44pe}T3IY%R&u7Z}VBsd& z++Pqz5uEJp?QIDHDysYju)i0pJtc2!asYhYMtpf@5zDp6_I3pXlbW(-2$O;#Q>_G4 zd7aS*U8+nKt~5QWo@vb1r!zp{R}*bk@sK;jXuXDtrT3%x-FN+yvw=&G%oNNltFxWb zkA~iKjR-a(mY5er!NqBhdYqJ>VF+pM=; zk1_R*$A4V$ixLC<@cUBtJR2{TLGjM=`SC6I4)px|ioq`{WhE*VdU^hy3Xx(eMS^FGha@G|Ti-aknb~n5qK<-!Ciy9y9IZ5 zcX!vI3GS}JgKOjN?(XjHx}E>bH@iEvvpd_>RorU2nl7O4``&Y&^EbBaK|T1V$6yw-pCkrv8v7tv~JF4nA$Hx zxALSz!=Bt1018j8gkh4HRfq2CxA6A~VG!yT%$NGD^t;7Dd@XL%jg}BwdR8ad$93sn za8OuZ@x?{y-uLDyN(}MTy_(V}#Uw+g7^Zk!#1gKs`EE4OQqwsx_ zi1Hi%>vZv^d}SR5wu@Jpoc!sHEjOPn9cy-Yn&V4X z*wg#o${@9j>~Qki>_?yW0tGchPPW8fZ{Sy0(B~9XK{#yk(D@KmyZX@CP%A$x=p?Mg zpMVbR=xy68LIuQ*=mhXW^aJ86MT)+M{U}HUq$1g*hC1%Hl__e-SilOxvM4UqlTY z_2q(ie9W&?$tY4`nGCbybw~{8)VjEAP8iVT6Gm2*y(Y}#IRb=&78WJl3QSg`EYk1o z+LsYrnf4{b7?H~^yA6t;x3-(>K;Oj$+m?oDH(YkFo?OFx7(^Tv2M18ED8%a{?v>SL zN7chIi-|{W4N=)1<4Fu0y<8=_QcP6LmUzCOe}6yKw9dVI@poB%=PKb_7W)fDxybQh zpV@7&(ORRLrQu=8Qk9j@6^;?RRgNDdic!wOX#Bpy4Lm%Y2<`kGtta@llB}&}Rl&%T z7yHzBIB`4J^~~I?vSnnj!dxVDte(CKuG42|E5v1Q)00U=UiMbpay(VD1qf(;U#J(C zZ6r@R`o3;J3UOLfgygI&X9Fqup&SHX3Z*%a@Cn+Tp3m>@+P@W%Req7z!R>JGNnAZX z&R3`JbUbnZJqLLuq0c)^uWB*w2-G3+-#Y?uqta?Vram%DIY2ej-;~R4u|!Zrl&##H ztr(X7trVLld;`B|Do<391d?p_IHPCn@iF;Kdec@^L1$8VL6l$#GSrBE_>ezB5Qjy2 z*@!`fG@Tv36qjCNIHL2l>MEh(cv6r*3V5Y7KM7iz$loynK& z)n#elW<~$P$qj%J`{u^^7Ia5^_JkI(^RufY=9n}XVoAS|6@^Y%HlQEjz`hp?5)w=# zptNiz=DVG|)5cCQYWXu>DV>IWoaR3u(8VyQ9}3fI(r|&ikAFB+6y&rrA1S$E*Pc;4$_RSBFLS8uSjh-`aPq@3&yp zYHHf|vjSWpL`$cye)#vy{_N)?-$WFX&GrjHs>sN|||2x`Q0`#X`eq zNd92z&g(8xfpCRd89F>rDTc|aL5nUAv=B$e)Mw;?zJhk?V9u_f^_WPDhCGl|8E~Rw zlDeLW&&b0Z0Ul7MSQoT-83X(M7wBVNx(Zr|oB9E{J8Cfu!`OInx>@JpcSjrR@?d}y zx%IcW#D3fo&ujubDPqZ+xwMF!@|c#yct?)ntDB@TmQHhDLg)CRGOW?j@CXZO6v%0} zqp5&^Ey`~I(C>726%;T;*=0zLtr0L$V%;gWgd^b$0ZkqZIGcUw{k=8h4CpdRB9Mj@ z&ol#cp`r7-_{zv=0EAHb&PtrAn56$r%*zWqC*_q<`%$eMynN__s8ACwr7*ZqH5EE} zr3?svKwy7i&~h&CX$>@g1a&03Uoq4jo^;<&+2LIj1LpG8?E3!5s#|+?!Xh9@GniiQ z^f$brf84%R97V9F^LStMB$r&yRGO=%{cQM3bXVTcC6-~pvQjRV%!~?N2Vq#PDT8Od zjfJ2=qb>7|a%btaC)O!RsxW?3Hxpn^kt9_K8XJ#FeZIPF?`zFLUwrOm{?bTeP#NNu zjfCe@Sab5Os}4AMt0cFhr{=(%ze4V47X=esaW}lQ58vPy-(N7!|2eV&q`X0b2#|X6 zv67tN(!NyV=@MeMS(#}Ck&blfZ}+=zm80@VHY2Oo9=R&i;xPn#jyrvD^9G+*JAJ=N z#Uf)DN7%Sa6=3GSD&8|}c=%w?k_W{OiW5qtX}Idj4~KUkMICck3eObF3|`aN(Qlhf)Y z@&I;jw!>M)jpZ;A9$Bf#an_mSu{_CyHen;IfPWh&W)d1kro%omws6qKDcl0!7Q=*B zEZ1ut>dWxjO!6d*tOOB#lTsAy;?gP zigS$OyUekQ-9LxE?ob9uotJE~jfn?Md&`SFvdhw{X9Y=lvSJpxQnZ|+YFl2Fg--NE zYr`{Qr1j)MsV;HoO}bar)r-9IH?VK}=xC{(FQtDui43cz%v$;cG8cAQ5b z*p?8ZeK#ewQdZ@02jd|p?Pk4jHB0vf7=3eIoh$T^?#J%D@KDVl(m0@}xug{px%o}$ zg&7j8XTNZ3PdfuwsT0|H4EZzF~9ddoB1!NH+=+2-HeMlCjbpWUK~brI(y3E?nIE!^=CJ-sio zA)@dhMUWoxT{J=BM%m~Ab&JwnOWg?tWe0Mnr!Za3k`SyGM}KQF7)S1M zBbPh?Fr>+3B=!_j%!`3$1X;dxVI-u?&Xo|kmV)3q;zy;s-&U;+PVz+Kx55l zQ)`B^_lKRCE_4Ss`yG-LMsp;;<2uepZ(}YZ!cL$0Kmq|B{RLz-(v9Dmj7OrmYa%_b z{Rf9Jm#@cSji`Xz>M+O>fdfPx{!2lzU2fg41Ox=xErRg{Qu)mp>3{M0W~>;$mus%N zPS^n8tQWMth^bE=#!r6ynX!^RH{k zSzu%3c78T6w@woQdDA2YYt_^Fx|ZCO7Gk{^@XAubN<6m19m=HjU+N`l&1=D_#b@Y2 zY{}R7*U_P45`&>BL;I&zjA@}y?PUeU4*1`v5iA&NbgH2ihCyP0J}ELY%w_lCK0yf6 zC=P@?rQdx#Zuk35cdag~QwXlbp%%Gq0%%xK(D&{meTu;6{A2vODA zeS>NQ$glu1hF?c$6TU*2LFa-I7E2++InS(q;ak)f19quvfiHyXr;s}KCg!wOAYAMz z)p>w6?7a6OXmG2Ka59|E$<-RI<8aLc-cFyO!A3EjyIyC*cFw}E5p3II%MZTb!#L;i zpG|{UjMx!vgCwk85(rAgv&T25?OhRJhc#V}nL$Cl()d27f59Q{$gOsA z9dAJdxaqO5T5N*WtBMriUt_ld5P9~{uJ(e5qkNI^rr0>s;4+(4S)o&!er&SfnXH!a!zLp`Lqo&Eo~IQ+D`)me@O%9jk51Tz1gE#tpuuP? zvSbMxT5Wb@FkDrc)gzMR2F8BT@`@od8k2Ck^6{RPaL$DuW>Gw8M_N&IbRHC$qz2xn zA%`X>_FlnF-gni@m=6!RF~_YwC38W2!D+lchWi{3a+^_fmcee9vkZ5}o%;jSSF5^k zsPqr+RzeSBBL!>G?Hs_->*)-2R_XTHTay1+mcZ2YFhj=ftg#g6vKR_-s!g}`@a1ux zO`u%y_MpmsbWv!!3o*j*6=qZZC7W@Xy0$#xuqodiwLytxv$= z%}|ob5dd%}#ghsyP(dz&5a_0(EjVL3Lrr^PsGqG-3FC=45%~rAc={I+tZ>PiSO3nr zz&Ifd&etE8U(^RJcX_`2X3aBFM@@c4i1k%Bu~U(;CL@ClROrAkE&VsMZrWYc<*55W zDNw;`HutSTnRnb;8-_ zb8bU7Ni;Flp;}%JniJz8V2rjGP6DviRU4e2$e(Qhi&xXUcC9i~JwWIa`>YJ}8c2V# zQp=CuTLoC((B1PUduV3xPhG)is`G4n49uCfA78fp#vAPe%Hg!k0;bN_6XGJ;R3+Bg zkLY#>Da;xhFgf$CVd|LuPl%eEiHGbZ!MAR`95Mt*9z5|o(H$LCjA!G=uveT0Y@BZf z4k3^}eDtBSKk*8JdOO+`m5b$kX9BNy-Pmnc?h-$zbe=uv?Lge|MPX4kw{v6kwGNhY zhp3ii9F6Ipp&8LiMAO=-9xYlYQe>4cPi$lC0FLXP6n$@fH`uqD4 zd&@tq*C3qQ9^{C0{Duz72`P!D zWs54JN&GJO`y2g%|2y64ey)NZLJ+5q0!y&W8s^XQL(c9Ce?i%9Sdch0^vfuEw3>B;wUBXV#@e8MYSlL` z&T2@`XmZ%EgO0(zQ?cJ-AvptfA;AlKyzW#SFBdy1OSS$9>eQb7VZmu6`;Xe?X+{#w zZ3kh&|E2Y(Y3&_8+Y58UdicIzZyzrfcMswoZhIE2Ef#}0;F+_gN6;?twu6F^91N)} z*Be>o7hdormNab!^b$k(KSqkgCB_ben-aq(O=(P4Zphk&5`wY-hRpNE@BpS>VM z6@{q4$T1_Dp}}Tx;sPgzOfpYm2&7E&-V4%V9PaJ?5EEMwfQJNKIP|L(jUw2k&}S-A z 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 A%K!iX literal 0 HcmV?d00001 diff --git a/attachments/2424836.png b/attachments/2424836.png new file mode 100644 index 0000000000000000000000000000000000000000..5ab828fc342649870c50bfac051b66bc0e2ed096 GIT binary patch literal 51920 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 WJVt7Y93lb0^i=t|QiY=BoBsi+r}wS^ literal 0 HcmV?d00001 diff --git a/attachments/2424839.png b/attachments/2424839.png new file mode 100644 index 0000000000000000000000000000000000000000..7340124e379df059d7bd8c0855daa9d6bc8212aa GIT binary patch literal 34180 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

DB(oXM1bEDsVC_?o@d<| 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

;liSD#i|Sb6GE~{d%HuLq9q|g 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

f6l{dsn1A!ji;sx8`Q-6? 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 z

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 Oj#E=TrGi7Azwv*2N~ItG literal 0 HcmV?d00001 diff --git a/attachments/2424841.png b/attachments/2424841.png new file mode 100644 index 0000000000000000000000000000000000000000..647c5bca01d58bdaf801b7f9bdd58a89cbb1150d GIT binary patch literal 85057 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 literal 0 HcmV?d00001 diff --git a/attachments/2424843.c b/attachments/2424843.c new file mode 100644 index 0000000000..a1f0808be9 --- /dev/null +++ b/attachments/2424843.c @@ -0,0 +1,99 @@ +#include +#include + +typedef struct _CustomData { + gboolean is_live; + GstElement *pipeline; + GMainLoop *loop; +} CustomData; + +static void cb_message (GstBus *bus, GstMessage *msg, CustomData *data) { + + switch (GST_MESSAGE_TYPE (msg)) { + case GST_MESSAGE_ERROR: { + GError *err; + gchar *debug; + + gst_message_parse_error (msg, &err, &debug); + g_print ("Error: %s\n", err->message); + g_error_free (err); + g_free (debug); + + gst_element_set_state (data->pipeline, GST_STATE_READY); + g_main_loop_quit (data->loop); + break; + } + case GST_MESSAGE_EOS: + /* end-of-stream */ + gst_element_set_state (data->pipeline, GST_STATE_READY); + g_main_loop_quit (data->loop); + break; + case GST_MESSAGE_BUFFERING: { + gint percent = 0; + + /* If the stream is live, we do not care about buffering. */ + if (data->is_live) break; + + gst_message_parse_buffering (msg, &percent); + g_print ("Buffering (%3d%%)\r", percent); + /* Wait until buffering is complete before start/resume playing */ + if (percent < 100) + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); + else + gst_element_set_state (data->pipeline, GST_STATE_PLAYING); + break; + } + case GST_MESSAGE_CLOCK_LOST: + /* Get a new clock */ + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); + gst_element_set_state (data->pipeline, GST_STATE_PLAYING); + break; + default: + /* Unhandled message */ + break; + } +} + +int main(int argc, char *argv[]) { + GstElement *pipeline; + GstBus *bus; + GstStateChangeReturn ret; + GMainLoop *main_loop; + CustomData data; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Initialize our data structure */ + memset (&data, 0, sizeof (data)); + + /* Build the pipeline */ + pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + bus = gst_element_get_bus (pipeline); + + /* Start playing */ + ret = gst_element_set_state (pipeline, GST_STATE_PLAYING); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (pipeline); + return -1; + } else if (ret == GST_STATE_CHANGE_NO_PREROLL) { + data.is_live = TRUE; + } + + main_loop = g_main_loop_new (NULL, FALSE); + data.loop = main_loop; + data.pipeline = pipeline; + + gst_bus_add_signal_watch (bus); + g_signal_connect (bus, "message", G_CALLBACK (cb_message), &data); + + g_main_loop_run (main_loop); + + /* Free resources */ + g_main_loop_unref (main_loop); + gst_object_unref (bus); + gst_element_set_state (pipeline, GST_STATE_NULL); + gst_object_unref (pipeline); + return 0; +} \ No newline at end of file diff --git a/attachments/2424844.zip b/attachments/2424844.zip new file mode 100644 index 0000000000000000000000000000000000000000..fb6a43aef0cce28d7b6b733a5dfc080ff9a2547d GIT binary patch literal 1889 zcmWIWW@h1H0D<1L(+*$;lwb$aWyMAYh6efpa7F!SiX;(=k`jwElXXi`r`!6{N{L6b(uh7f( zm%-KI{Pv*cDTlk~%wUeUn=oOiY(nYn+_LQ_ettUr=YjtxeTym6mfouJx_V?rjNS(0 z-)GKjKL3U<-mZ3=+`8JZ$i@j%*mEC;?M)0(DA?)V?0UQ7%AT_86&dk+lWc|mnC@8h z=)fEopWe=hhDo`P16^jOha8(@{8Opb^40-`f(AbCrH6hm)4Z$t!{u7-D=xjCF;`>X z&6Zo!@KK=U<>{MjCv(iCbeWmMw63jW+OJ%k}2B=3G+ zGxhR;)QRl5hZ`fe{P-}5ZEe~v=I<$U-rhKFWZZr0yQFf~xz_yS3e#rR`9Gdr$@#~t z==I~pn^r0w$@hIDBO$;!{lm11sR`>!nj(HMzMPuG?`z#!r+lL%e|qUo`5-o{hgG#r z^~Opoqk|_tY7z?DeRa)lx1(p=kN!~PD4m$uYWLXq(3T(b4;+ow+oOAUc8{)c?5R&T z`d6gye{WKKd~M$6xV2Yz74I%9S$}nf?XJgLvd&IUTYY`+ZJSr6es)pI?rm?Kd%if-GJ`b@$!au=WP4EdskTAnku6}~;zomaHkMmejpxM85Y6~v>urJ=9S+`SR9g`tbsy+XT)3zn&*F2k0?s3;s_|M)`&o$1= zPyJVPQZj*;JLI%M$d%>qldiOEQu@qzX6n?r(`MhBlX>i3l;eg#E4R=e1zyUXd!I+| zusoZ;g{3FIrg*~3T#@;SckW!(t;mz~*k%E2eZ^>T zb+&aZ?+$N?u49T_OV)YB6<+##@yDL)mapgfyPuo<@@Ij?ynVZ>Yl@XV>LhNOG&${Y zSn{D4K7L|BoCzn)_sc>nl|nAzHC zsc$Meuxrhync1}qR=ONJ+HiE1_Pju|^cuGh8Qy!ZM)fjF?Kx=a)xh7Vq*JM}FY@o% z_o<0re$?)^sVTEK!q~=Ec*U9H!s93R-e?`TyRNdou|i?X$v=&6RRtOCLYN~MH$VQb zd-_iNm31?ZUtc)sjKF!L@6(N6E{KSkFo`>M&6fCicDbhVK6CFae*TyJ^1BZ&Gb~=% z?xa97}SjZ}`_q`#6& zPOM?Hy7%o5N3lZ7f#w5udn~T!Kat+BuEtsJQCZTif)xzmg$oOd&r0n*ux6$A%tQT= zfzyIl=gmyo8>hEt)1`B-zV@tfR}^{uRfX%$SudHY!`#az%GAyC%(vm4vY>HE-m7VS zzbxD4zv)~4-=|z9{QlFo7rD*0yOvixD>Op*|a+5ghO~os_AxMne-Hht;i~y^wKhON>Yo8efxHE9Wsz;Ek9V!adY;T ztBy;iFKjL;7EqsV_BUJE^WP-zk9TEiRN@a-F+bFK{^4Vx-1h3QxUEXU5$YG8m?Rpi zCa{!Uno}%QBcGcQsUv>#-Xqo)b#|AhefD*KAEh@JTFUN`-#*9Mupv+8a!^FcjcT=k z&wOeD7EMoYZFOALx4dxAqRlfWtogQ}TO>a1i&x>0s#nxs1^{KuvH8Y)gVo(Kn$%* zFiLk|H32dPcSQj)Mgd60;4=opU|6+*Y(BQgMwtHtSUur%CQkEVQ6J#V$_6rv1qfXj J85r2XJOFs&7nJ}2 literal 0 HcmV?d00001 diff --git a/attachments/2424846.c b/attachments/2424846.c new file mode 100644 index 0000000000..a5829d6eeb --- /dev/null +++ b/attachments/2424846.c @@ -0,0 +1,172 @@ +#include +#include + +#define GRAPH_LENGTH 80 + +/* playbin2 flags */ +typedef enum { + GST_PLAY_FLAG_DOWNLOAD = (1 << 7) /* Enable progressive download (on selected formats) */ +} GstPlayFlags; + +typedef struct _CustomData { + gboolean is_live; + GstElement *pipeline; + GMainLoop *loop; + gint buffering_level; +} CustomData; + +static void got_location (GstObject *gstobject, GstObject *prop_object, GParamSpec *prop, gpointer data) { + gchar *location; + g_object_get (G_OBJECT (prop_object), "temp-location", &location, NULL); + g_print ("Temporary file: %s\n", location); + /* Uncomment this line to keep the temporary file after the program exits */ + /* g_object_set (G_OBJECT (prop_object), "temp-remove", FALSE, NULL); */ +} + +static void cb_message (GstBus *bus, GstMessage *msg, CustomData *data) { + + switch (GST_MESSAGE_TYPE (msg)) { + case GST_MESSAGE_ERROR: { + GError *err; + gchar *debug; + + gst_message_parse_error (msg, &err, &debug); + g_print ("Error: %s\n", err->message); + g_error_free (err); + g_free (debug); + + gst_element_set_state (data->pipeline, GST_STATE_READY); + g_main_loop_quit (data->loop); + break; + } + case GST_MESSAGE_EOS: + /* end-of-stream */ + gst_element_set_state (data->pipeline, GST_STATE_READY); + g_main_loop_quit (data->loop); + break; + case GST_MESSAGE_BUFFERING: + /* If the stream is live, we do not care about buffering. */ + if (data->is_live) break; + + gst_message_parse_buffering (msg, &data->buffering_level); + + /* Wait until buffering is complete before start/resume playing */ + if (data->buffering_level < 100) + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); + else + gst_element_set_state (data->pipeline, GST_STATE_PLAYING); + break; + case GST_MESSAGE_CLOCK_LOST: + /* Get a new clock */ + gst_element_set_state (data->pipeline, GST_STATE_PAUSED); + gst_element_set_state (data->pipeline, GST_STATE_PLAYING); + break; + default: + /* Unhandled message */ + break; + } +} + +static gboolean refresh_ui (CustomData *data) { + GstQuery *query; + gboolean result; + + query = gst_query_new_buffering (GST_FORMAT_PERCENT); + result = gst_element_query (data->pipeline, query); + if (result) { + gint n_ranges, range, i; + gchar graph[GRAPH_LENGTH + 1]; + GstFormat format = GST_FORMAT_TIME; + gint64 position = 0, duration = 0; + + memset (graph, ' ', GRAPH_LENGTH); + graph[GRAPH_LENGTH] = '\0'; + + n_ranges = gst_query_get_n_buffering_ranges (query); + for (range = 0; range < n_ranges; range++) { + gint64 start, stop; + gst_query_parse_nth_buffering_range (query, range, &start, &stop); + start = start * GRAPH_LENGTH / 100; + stop = stop * GRAPH_LENGTH / 100; + for (i = (gint)start; i < stop; i++) + graph [i] = '-'; + } + if (gst_element_query_position (data->pipeline, &format, &position) && + GST_CLOCK_TIME_IS_VALID (position) && + gst_element_query_duration (data->pipeline, &format, &duration) && + GST_CLOCK_TIME_IS_VALID (duration)) { + i = (gint)(GRAPH_LENGTH * (double)position / (double)(duration + 1)); + graph [i] = data->buffering_level < 100 ? 'X' : '>'; + } + g_print ("[%s]", graph); + if (data->buffering_level < 100) { + g_print (" Buffering: %3d%%", data->buffering_level); + } else { + g_print (" "); + } + g_print ("\r"); + } + + return TRUE; + +} + +int main(int argc, char *argv[]) { + GstElement *pipeline; + GstBus *bus; + GstStateChangeReturn ret; + GMainLoop *main_loop; + CustomData data; + guint flags; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Initialize our data structure */ + memset (&data, 0, sizeof (data)); + data.buffering_level = 100; + + /* Build the pipeline */ + pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + bus = gst_element_get_bus (pipeline); + + /* Set the download flag */ + g_object_get (pipeline, "flags", &flags, NULL); + flags |= GST_PLAY_FLAG_DOWNLOAD; + g_object_set (pipeline, "flags", flags, NULL); + + /* Uncomment this line to limit the amount of downloaded data */ + /* g_object_set (pipeline, "ring-buffer-max-size", (guint64)4000000, NULL); */ + + /* Start playing */ + ret = gst_element_set_state (pipeline, GST_STATE_PLAYING); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (pipeline); + return -1; + } else if (ret == GST_STATE_CHANGE_NO_PREROLL) { + data.is_live = TRUE; + } + + main_loop = g_main_loop_new (NULL, FALSE); + data.loop = main_loop; + data.pipeline = pipeline; + + gst_bus_add_signal_watch (bus); + g_signal_connect (bus, "message", G_CALLBACK (cb_message), &data); + g_signal_connect (pipeline, "deep-notify::temp-location", G_CALLBACK (got_location), NULL); + + /* Register a function that GLib will call every second */ + g_timeout_add_seconds (1, (GSourceFunc)refresh_ui, &data); + + g_main_loop_run (main_loop); + + /* Free resources */ + g_main_loop_unref (main_loop); + gst_object_unref (bus); + gst_element_set_state (pipeline, GST_STATE_NULL); + gst_object_unref (pipeline); + + g_print ("\n"); + return 0; +} \ No newline at end of file diff --git a/attachments/2424847.zip b/attachments/2424847.zip new file mode 100644 index 0000000000000000000000000000000000000000..accfa452ddbe45a562bd835e6cbc2f737a75cbef GIT binary patch literal 1850 zcmWIWW@Zs#0Dmc6 z`5BiToY}>jGg%lI?1dQ^%ZtX1^6DG$gEIcZgFnjCuTd~V8%=?_O_l5FTQLBHdYHE!vp{ul9C*GJjcYgl9 znX>=?K9BG9_n!S!&e7x4++}4!I+>OQK6!!Z_paEOYG2vvf9(5x(>#{{qCQh!ALyy@ z>Ft=&JjwU%oyBJ^6)B&a`A2B>%3o<0HZ*f_FTFFrBz6|}hEAPZS43hy&D5H8=bCN> z%duF2UAoKnsqT%@3NgoEma|(lb5T z$(3RzTlswU{=8oOD&*8h-aV6p%$Vl3&9n0<$(IN;*2_^gxO8Fi{fYIq+6}c$(brbJ z=jHX4G1(BE;GnXnDSFA*s)}}ZJ-!dBZ_4=c{l7?69lF4K=vevfHD`0D8%40k==6O& zpPFK-`pns}vWwd*VquiY);aTX#gz|;1+ES;{vt77Xxp;?=@EaAwTdRaIezED}PY-D8GJCoGt0CA&7pAZp#|6_S7MB?Kw- zy}Rql@#g!>5CKO=DX$8Tz0aR-T+AwXBt)TYL63F&qZeOi{`yj)UGe*=?AC+(r~l-6 z`7`L%ckXix#WR$n+14#G`)ixCPGHm8N6ZS_)!$w!;nrV1Yvb;a2S0q=*K^H3w?cR0 zs>rwb$v`XN?t!7w-IA5_bNw!-k`}&sRAgO%w9>5w#8J-dy#FZ(4{} z<&^s7xqk`|t+q4gbiP#5p|mlJCob*6-iI%?-QM-;o?qMC^OJ8MOfdPmG|pPidyQ(3 z{L>vVR+_z%b5DJY(PFfSaakB*qq%p+A?vljIQLqoMcd7KoVvHH!Qt|&+0 z=PzNlGPHcz;kd20kAIk5G3}wkGxjb%;g816`bBzw#av52W!Jd=xwP;7+P;S`gP${+ zYciTybZvOC@P>`;m+GBotH11f`{v&LR|Sm={T`HVS1@Dn5Iglk!Gr6}hcmwyuCB))yKC1p35@UFHGNaGSR|AOnAwYq`7NM-s!K` ze!AInd3D`&>)Bh_uOD{YU;XW4M)$u$ftqDYIk;+tyBFBKc4)g-vSSj*&c+p9F{)C( zera5M)yT|IzGGpG)jx&GUClY7>TFSA5%!0y9yBFCJidAVqZ*r2VhM54c_|S*=F3F= zJY?8na&Fb?`9+@JA?rL{L9{L_XTqnqIkne}Bx~+ASL81#>zWasVp)=C9j|Y5{EI)+ zbvr!?w~#+RfkhuL1vWi8mwqhkKL_GU?6{JQ zej2)&Pc>ShJj04(@zmuGzcoZ8Z#r;$@a-{4oNi)PG~>DQy_u5Qt2okLYVIt5+s3MQ z!lL(p)@lROfFi|hu`<`L$F4mW=`(T9Izwshqci_hJlVfu!u`{m)dRd4nM4?HR|de4 z0RjOCg}-Wm8HBxZ0GYtZpa3K-ff!F6gQu!MIF^F}TO0xnhT8EBSS^uf2P{Sdyjj^m P<}m}IBqIX@H<$+i12qzJ literal 0 HcmV?d00001 diff --git a/attachments/2424848.c b/attachments/2424848.c new file mode 100644 index 0000000000..de6d40fdf5 --- /dev/null +++ b/attachments/2424848.c @@ -0,0 +1,152 @@ +#include +#include + +#define CHUNK_SIZE 1024 /* Amount of bytes we are sending in each buffer */ +#define SAMPLE_RATE 44100 /* Samples per second we are sending */ +#define AUDIO_CAPS "audio/x-raw-int,channels=1,rate=%d,signed=(boolean)true,width=16,depth=16,endianness=BYTE_ORDER" + +/* Structure to contain all our information, so we can pass it to callbacks */ +typedef struct _CustomData { + GstElement *pipeline; + GstElement *app_source; + + guint64 num_samples; /* Number of samples generated so far (for timestamp generation) */ + gfloat a, b, c, d; /* For waveform generation */ + + guint sourceid; /* To control the GSource */ + + GMainLoop *main_loop; /* GLib's Main Loop */ +} CustomData; + +/* This method is called by the idle GSource in the mainloop, to feed CHUNK_SIZE bytes into appsrc. + * The ide handler is added to the mainloop when appsrc requests us to start sending data (need-data signal) + * and is removed when appsrc has enough data (enough-data signal). + */ +static gboolean push_data (CustomData *data) { + GstBuffer *buffer; + GstFlowReturn ret; + int i; + gint16 *raw; + gint num_samples = CHUNK_SIZE / 2; /* Because each sample is 16 bits */ + gfloat freq; + + /* Create a new empty buffer */ + buffer = gst_buffer_new_and_alloc (CHUNK_SIZE); + + /* Set its timestamp and duration */ + GST_BUFFER_TIMESTAMP (buffer) = gst_util_uint64_scale (data->num_samples, GST_SECOND, SAMPLE_RATE); + GST_BUFFER_DURATION (buffer) = gst_util_uint64_scale (CHUNK_SIZE, GST_SECOND, SAMPLE_RATE); + + /* Generate some psychodelic waveforms */ + raw = (gint16 *)GST_BUFFER_DATA (buffer); + data->c += data->d; + data->d -= data->c / 1000; + freq = 1100 + 1000 * data->d; + for (i = 0; i < num_samples; i++) { + data->a += data->b; + data->b -= data->a / freq; + raw[i] = (gint16)(500 * data->a); + } + data->num_samples += num_samples; + + /* Push the buffer into the appsrc */ + g_signal_emit_by_name (data->app_source, "push-buffer", buffer, &ret); + + /* Free the buffer now that we are done with it */ + gst_buffer_unref (buffer); + + if (ret != GST_FLOW_OK) { + /* We got some error, stop sending data */ + return FALSE; + } + + return TRUE; +} + +/* This signal callback triggers when appsrc needs data. Here, we add an idle handler + * to the mainloop to start pushing data into the appsrc */ +static void start_feed (GstElement *source, guint size, CustomData *data) { + if (data->sourceid == 0) { + g_print ("Start feeding\n"); + data->sourceid = g_idle_add ((GSourceFunc) push_data, data); + } +} + +/* This callback triggers when appsrc has enough data and we can stop sending. + * We remove the idle handler from the mainloop */ +static void stop_feed (GstElement *source, CustomData *data) { + if (data->sourceid != 0) { + g_print ("Stop feeding\n"); + g_source_remove (data->sourceid); + data->sourceid = 0; + } +} + +/* This function is called when an error message is posted on the bus */ +static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + GError *err; + gchar *debug_info; + + /* Print error details on the screen */ + gst_message_parse_error (msg, &err, &debug_info); + g_printerr ("Error received from element %s: %s\n", GST_OBJECT_NAME (msg->src), err->message); + g_printerr ("Debugging information: %s\n", debug_info ? debug_info : "none"); + g_clear_error (&err); + g_free (debug_info); + + g_main_loop_quit (data->main_loop); +} + +/* This function is called when playbin2 has created the appsrc element, so we have + * a chance to configure it. */ +static void source_setup (GstElement *pipeline, GstElement *source, CustomData *data) { + gchar *audio_caps_text; + GstCaps *audio_caps; + + g_print ("Source has been created. Configuring.\n"); + data->app_source = source; + + /* Configure appsrc */ + audio_caps_text = g_strdup_printf (AUDIO_CAPS, SAMPLE_RATE); + audio_caps = gst_caps_from_string (audio_caps_text); + g_object_set (source, "caps", audio_caps, NULL); + g_signal_connect (source, "need-data", G_CALLBACK (start_feed), data); + g_signal_connect (source, "enough-data", G_CALLBACK (stop_feed), data); + gst_caps_unref (audio_caps); + g_free (audio_caps_text); +} + +int main(int argc, char *argv[]) { + CustomData data; + GstBus *bus; + + /* Initialize cumstom data structure */ + memset (&data, 0, sizeof (data)); + data.b = 1; /* For waveform generation */ + data.d = 1; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Create the playbin2 element */ + data.pipeline = gst_parse_launch ("playbin2 uri=appsrc://", NULL); + g_signal_connect (data.pipeline, "source-setup", G_CALLBACK (source_setup), &data); + + /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ + bus = gst_element_get_bus (data.pipeline); + gst_bus_add_signal_watch (bus); + g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, &data); + gst_object_unref (bus); + + /* Start playing the pipeline */ + gst_element_set_state (data.pipeline, GST_STATE_PLAYING); + + /* Create a GLib Main Loop and set it to run */ + data.main_loop = g_main_loop_new (NULL, FALSE); + g_main_loop_run (data.main_loop); + + /* Free resources */ + gst_element_set_state (data.pipeline, GST_STATE_NULL); + gst_object_unref (data.pipeline); + return 0; +} diff --git a/attachments/2424849.zip b/attachments/2424849.zip new file mode 100644 index 0000000000000000000000000000000000000000..75289b51fc45676b6eeab3187258f77f3ab7889c GIT binary patch literal 1849 zcmWIWW@Zs#00FiB%MM@$l#m9}WyMAYh6eftIf<1?iOJczC8Z_#MVW~?y2kneP>mc6 z%jzyW7)vbuo58}sU@y$TV1{2K7Q^()k}C>|^0S_X-_BEV7pU!@Qtz-hHc>8NgRenX zVwlM_@r*=8Yl?G9n`&4WxMCFvN-z>p)%|C?dnyfwuvv;5+CpOz4m0Ax8xdTy{X53 zJU7}jOX%~$6*fm%Ro7HR8Eu_2FIQaofLP$_5aSZb`9j;4{TGk;d#qJ7>CN$&>yHCajh-L=gB zq^q~lLG50Cu~Un*W;p-kcVD?l^i!{!UB=QqVvlD8d0g5h=8M`lvjnv-sjIZE@l-x5~9$ypvSuX(TlG$e|;&@uK4{_cI(0Y(|_{3 z{2BD>JNG$;;u*@(Z0i=8{S`9{=eQa6k#WN9$z_?lTBiq}y%DEXP_t}tc&mTq{qc`BZioN3+!P;Iid-?scvlm&`gx|pjYrdpuP#b5?o?mqCAaEmq-`O)x7Jjf zQ~MA4?VIpn)p6fL6HIg$d90CYo-SEZZm}yj{>$y{lM`Q`eo|&2;aj&dlsma|Ys<&Q zGV`bOpH6mLUSu=fi-Au(P-lAIY5ip%{8raFz3;m@t^Zj?2I&>zqftv-QUr&dIncG_q-E3!p3mYNm7=@vr%$h)vqs4 z{#r|Zb6jlj^ckbF} z=e1?m1BOGgc^ct;_8#-zDMTObY~{MJbspKv&){zv+teb9`hh;*E4pJe6csqUGIB7$2lt>z7$Cy7;}SdW&p*lnMLaYe!ccp1IY{ z+I=F6AJG9~F$H(ILC37@>8oHTJ zHCmxO!-`|^)a4GpHAEzDI&gdN?J-H5Zemt6O?_1;CI20s#nx zzh;0LguQM6nZU@P032 literal 0 HcmV?d00001 diff --git a/attachments/2424850.c b/attachments/2424850.c new file mode 100644 index 0000000000..de6d40fdf5 --- /dev/null +++ b/attachments/2424850.c @@ -0,0 +1,152 @@ +#include +#include + +#define CHUNK_SIZE 1024 /* Amount of bytes we are sending in each buffer */ +#define SAMPLE_RATE 44100 /* Samples per second we are sending */ +#define AUDIO_CAPS "audio/x-raw-int,channels=1,rate=%d,signed=(boolean)true,width=16,depth=16,endianness=BYTE_ORDER" + +/* Structure to contain all our information, so we can pass it to callbacks */ +typedef struct _CustomData { + GstElement *pipeline; + GstElement *app_source; + + guint64 num_samples; /* Number of samples generated so far (for timestamp generation) */ + gfloat a, b, c, d; /* For waveform generation */ + + guint sourceid; /* To control the GSource */ + + GMainLoop *main_loop; /* GLib's Main Loop */ +} CustomData; + +/* This method is called by the idle GSource in the mainloop, to feed CHUNK_SIZE bytes into appsrc. + * The ide handler is added to the mainloop when appsrc requests us to start sending data (need-data signal) + * and is removed when appsrc has enough data (enough-data signal). + */ +static gboolean push_data (CustomData *data) { + GstBuffer *buffer; + GstFlowReturn ret; + int i; + gint16 *raw; + gint num_samples = CHUNK_SIZE / 2; /* Because each sample is 16 bits */ + gfloat freq; + + /* Create a new empty buffer */ + buffer = gst_buffer_new_and_alloc (CHUNK_SIZE); + + /* Set its timestamp and duration */ + GST_BUFFER_TIMESTAMP (buffer) = gst_util_uint64_scale (data->num_samples, GST_SECOND, SAMPLE_RATE); + GST_BUFFER_DURATION (buffer) = gst_util_uint64_scale (CHUNK_SIZE, GST_SECOND, SAMPLE_RATE); + + /* Generate some psychodelic waveforms */ + raw = (gint16 *)GST_BUFFER_DATA (buffer); + data->c += data->d; + data->d -= data->c / 1000; + freq = 1100 + 1000 * data->d; + for (i = 0; i < num_samples; i++) { + data->a += data->b; + data->b -= data->a / freq; + raw[i] = (gint16)(500 * data->a); + } + data->num_samples += num_samples; + + /* Push the buffer into the appsrc */ + g_signal_emit_by_name (data->app_source, "push-buffer", buffer, &ret); + + /* Free the buffer now that we are done with it */ + gst_buffer_unref (buffer); + + if (ret != GST_FLOW_OK) { + /* We got some error, stop sending data */ + return FALSE; + } + + return TRUE; +} + +/* This signal callback triggers when appsrc needs data. Here, we add an idle handler + * to the mainloop to start pushing data into the appsrc */ +static void start_feed (GstElement *source, guint size, CustomData *data) { + if (data->sourceid == 0) { + g_print ("Start feeding\n"); + data->sourceid = g_idle_add ((GSourceFunc) push_data, data); + } +} + +/* This callback triggers when appsrc has enough data and we can stop sending. + * We remove the idle handler from the mainloop */ +static void stop_feed (GstElement *source, CustomData *data) { + if (data->sourceid != 0) { + g_print ("Stop feeding\n"); + g_source_remove (data->sourceid); + data->sourceid = 0; + } +} + +/* This function is called when an error message is posted on the bus */ +static void error_cb (GstBus *bus, GstMessage *msg, CustomData *data) { + GError *err; + gchar *debug_info; + + /* Print error details on the screen */ + gst_message_parse_error (msg, &err, &debug_info); + g_printerr ("Error received from element %s: %s\n", GST_OBJECT_NAME (msg->src), err->message); + g_printerr ("Debugging information: %s\n", debug_info ? debug_info : "none"); + g_clear_error (&err); + g_free (debug_info); + + g_main_loop_quit (data->main_loop); +} + +/* This function is called when playbin2 has created the appsrc element, so we have + * a chance to configure it. */ +static void source_setup (GstElement *pipeline, GstElement *source, CustomData *data) { + gchar *audio_caps_text; + GstCaps *audio_caps; + + g_print ("Source has been created. Configuring.\n"); + data->app_source = source; + + /* Configure appsrc */ + audio_caps_text = g_strdup_printf (AUDIO_CAPS, SAMPLE_RATE); + audio_caps = gst_caps_from_string (audio_caps_text); + g_object_set (source, "caps", audio_caps, NULL); + g_signal_connect (source, "need-data", G_CALLBACK (start_feed), data); + g_signal_connect (source, "enough-data", G_CALLBACK (stop_feed), data); + gst_caps_unref (audio_caps); + g_free (audio_caps_text); +} + +int main(int argc, char *argv[]) { + CustomData data; + GstBus *bus; + + /* Initialize cumstom data structure */ + memset (&data, 0, sizeof (data)); + data.b = 1; /* For waveform generation */ + data.d = 1; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Create the playbin2 element */ + data.pipeline = gst_parse_launch ("playbin2 uri=appsrc://", NULL); + g_signal_connect (data.pipeline, "source-setup", G_CALLBACK (source_setup), &data); + + /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ + bus = gst_element_get_bus (data.pipeline); + gst_bus_add_signal_watch (bus); + g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, &data); + gst_object_unref (bus); + + /* Start playing the pipeline */ + gst_element_set_state (data.pipeline, GST_STATE_PLAYING); + + /* Create a GLib Main Loop and set it to run */ + data.main_loop = g_main_loop_new (NULL, FALSE); + g_main_loop_run (data.main_loop); + + /* Free resources */ + gst_element_set_state (data.pipeline, GST_STATE_NULL); + gst_object_unref (data.pipeline); + return 0; +} diff --git a/attachments/2424851.png b/attachments/2424851.png new file mode 100644 index 0000000000000000000000000000000000000000..3198ec673f57589615eb3843ea934421c3d71d50 GIT binary patch literal 8691 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 literal 0 HcmV?d00001 diff --git a/attachments/2424852.png b/attachments/2424852.png new file mode 100644 index 0000000000000000000000000000000000000000..81d998370f05bae7920865d21a47a0be7a4500db GIT binary patch literal 12676 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 KRHa}O`M&@%#110> literal 0 HcmV?d00001 diff --git a/attachments/2424853.png b/attachments/2424853.png new file mode 100644 index 0000000000000000000000000000000000000000..3be730d995b4fc2b2fab4cfc51f7b26bdd3ba840 GIT binary patch literal 13454 zcmeHuWmH?;wsvrrQoIF%I|(6JaCa##Ef#_lCpZ-MqNR9|3R);`rNIh?;xu2XnzWeWFjFn`s`AmD(oNJH0cM_+otwKUbPY3`2NYqpn_0XRg=qZf((pz~5P@zQs*^YXR!L;&P$-E0s*H5Y4pgdW1$*5BhJLJ|NV?Q}FS@iNiU zgu&fh1gw8y1pHjw(b@ojq>P`tHQWi|1++ofJGx4-9JaQz03B_mSd4|Wz*_DK2nR>i z08fN|fVKfVzzHsH%OWF9DCq}78*o8*Sp)rCoL!MHKPi^qc46r6zotPfz~2xrCn=Uc zf-=$41uD3CB7jfE`{ML|MfenByqAOt2T2K@8I zB25UC^t82u=_xAz=?;A)#p2-Q=Ay`)%J&~o74a&dA0%eX7@PrlI1f&8r9 zL4pEc&_9B0;eTP>y*-_OhhYl`A)FB|2v;v88ZY=C@a_(7UT#PSxBrcczr_FK2+g;a z)?dE<%eY)z{(~!|my!=UwLfY4FEx+`{_Y5n9s=p+?FmOH`Jh8){m1OQ9PR#2^nbAM zOY-*^(ZRtKJQ3DjZk`5iZq9#ObKSos3slgD0*xJAZQXp4zwQ5}fKasdLP)Vdz=9Bd zun0c{Y#=BE6B2|$gn7Xb7#RE)TFcGW(a!&$(NGvz6ebA$&uDZF+FE;A|G(gE;V?Tl zPZw)6SJv+C&W>>FU)2Hfakc$(?f+Vo-@*KK1XFNxcJoBXg^pk7KZ(>76m&h^>>QoZ zGNhi0JWx$ZK}1ko1f8LP;NNo6(t@eEBE76#;RrQFDHb#*0*;QhFfln{C|FQbToEiU zrz9vSD5tClQ4*7bfFa6YWl`n7C_$?$y1~7F)!ETLx1lyK*`_T3R87NqC3L>*XHx*_M?yR_~Yo0-N@PTw+IOQ-K#Kb z_#b4!f3*_A_IIXe%|C>W|J_pg%Yv^10=*Ld*lPdWJb!_af1Xq1?9q$+e{N{dp9z9~ zZK!|CP!jY{97z5K{KF26*85`)y|bfFDxkm4Dt~f>4(5OI^(XiLlP-Y3e>?e?`29Cs z|EB9-V&Go_|GT>WP1nD~z`q3kcXj=Lql@tG*QE$o^u?$z`l{25nuHbrV27(I${G00 z?maM1oB!Y~otT}6TB>4E^6YucHVajH5R~Skmccp~xBpZ>yzIU1fSs z;ucZ)1P|ro9!5oaHxPKzOtQX1Ue}bdl#jIhlU&^4+;;Z+;!ba_Fm_obN!?o=Q$>1Y zCfp4Mw7g5+g|)P$s^kU^giaGVL>2ptP*~wcE0MwEIe54@oKS0}k%(*Dw0ZqlP$qFX zWV>fCK#KN(1EE4;ZFnKe_a^KoDdKF}%c9j^WR-SI#+%9ubnpS&f=0$+>Y*PkZ=0C6 zG65#X$DgK_Ju^)6eQ@kUXz=c9d&FIBqg@9pe*P*kW*iE;(hjrj=p$NQQbn^*@p#Yh zfFTNBQHtUj7Zt^Gi&#dxCJ)0Gu(2n6TV_~q6?)P+IXMjkhLjl)pZgd07`z<;+HDfn zWDs%rUq-6g3>Cs2fPH_&DcU_;4lA!$-T;D9ej zDIbAB7ZxaI93R5xaaa>|C=sojPE zwQe308*&v?EtEuZbc-Ci)wK7TaEI{}R)x#5#J7DCnk0=B_PH2T;t~u@>JF;N_z30W z5Hb<GvDLge7P#y=KySk4qkRm++7A1> zrPb*J2-a#+QqmW4il10GF;{{eb7*ZjLO-%BNo0IM^#Dd;fcx1_6-68AFj<7!O0=J@ z^?TY3QiJbO_VMiFr;@ zfh_qG!^$ijY2;R^dk9RLdb0aQymE-BF2b<@9)cn`V+Mf%EN_AvC{(QSxZ}S9%vWsY00)IS%71-99yzE9#TO9fyG8Vd zI+~?|Pj(|P)ab!VWPohci|d_<*KwhS(p;AodXpS-W4bUQ-<@&peCfn?3@0rs&I?rF zYe^0oh%ZlFwxVR@(5o@?JzT3ev2-jRUY49UaPHU4y4I~;+Z65GYM~7aZ^p)M0nP7A zb^;D1s2j`@vroO-OVzNO6Ij|JI?{FU3{GF&ejQqV7-KWPlPJ2lJj+c``t@CZ-ZCA} zt&^1%>*+;8tYGA4I+yO_Q?*D(sP}29-L3EkvWqozxjjKUg-=vC(>7%r-oD+*mLlc_ zW@Th%-o{Wrqn0SIPsOfgRY~edOm+o75~jtZc?cS}GJC`x_IQ>uzKErL_&ekMde{I? z<~yw*dsAB#Dq)F|2$ovG^iOPsX}#s!iCQ>;^z~_S@@J!4jT;`q_1#V{0 zq8f%P_I*bTo&zaipSoIC4b7j=U1w)zqQ=HjyANLqXb{N8H3(fe%+l%>9msTgVr-7} zG}sHRPB59={XHW zi2d`?-fT;NI-hoW7d&+=fRvEN;ELXX<-`n?UZXZB`tU90H*()}dyB!7aj4}wEnxt% zc{zn|FT8WgkJ%iDhq9iPl{Fj7$)>A-5)Ox_9N2|{b=Zk^KLU&-o7`iQn1Z#r^0tLwFB$Ub--vq6(s@t}vO?*YV zTUI5o`OG3MmaAqw8aKu&Hg3CYyD++=8Y|w2vK}9rO8uFu^y{&`oxM3`#n{-r9t}QE zk(_7G@crXU3l0`h1HlRc0G`hK%^!f}B7;ERyyom$zbmf5P;Y=b1vnk6WFO9FW5s{F z1L)7Ru)fY_xjrJBVtqkmA#02Aj=NN4RaRI+bW2c`mwu-_l*?X6Cja>8i17RZysTC> z6jopBnH(XH$5nH-i4zZ?sa-e_XcZaUr3#oj$p;j!!xfh)XDe%<&Irt8Qd^H7ayvKH z#mUiBiQOm;ToLF?2cv;KyXTHQcVY(x#f2v*9tz_rY{RbT@~yo;bT_L#dk>G#aRpToxw z$3kN2J$$6^YqsX+Sg}p4-LA03oXq}Q(v@C7!g9%ojLi=|BB)+Fdh;Zwn=&Vz-Mnn> zc3ANMF9}Gp9+0ca$>N@pswkT7mq>)`^pbi!KUw<1Vf|DmRCGVW?d|Y~%UK>P;rB*r za&!CpscFd_*O%w0oMSZ%cG=SnkklRj{h_Hi`g5nx565GqdIsEtqhFuQl;^Rke{#i7 zLT*WuFfBB%0MtWy>=tCefRRTV1KLIkgAtV)sl~;YsmnL77Agj(E<)$gs)ry)yWg4;@S0Z_>k5U*K(fH+6<95MMU|HbCe#ad>g1B1~a+;GC}EGOuxUBnAqqu%I8`O-QyC^E2C%BkJk)*b_^Q( zS>TYTWbDFwIou~yegT7Drn#mYc%0oN9u?wnOrqjQ%?f?tN#S|$IqI6KKa50VDBfZSO+VDBen555eZI+O?~oy|P1aO`!ABoO zO3`Wa*3VWVbi(Dv%Z%d_+kG)e)bm5l=X*%~o-Np*h|rwCGG zk&l6?F?rQ4JSjdrgsCKZ0jgiTb+;K>X2wh>pDL~MO0X%y<|9Y6NWAjyv0Ymr=E2~D z`ihl`cAK~kjT=CzW;*zW`-M zv;`%F?R^E?at`4vcv{8vdjO>#yo0`upyM=tc39V0EXSZwBzo^KgaR9z4|!we*H1?RS5J0P9xKeDynJ*sv7vgr zx(pW-@0$2b62$nTA5Xk0+vB6ATt!8M^|*E=PiqC_Pbrmr4JV_u4-v>DlVlj*B45)g zQImsX>vvnw|Fo!K3i*5^mkla?Pbg+=#k^DlD-uX#zoRf4*1?lLFjB{PiE|hAcx#(- zQ8eonKJ;FQavv@3i__j%n?bAjsGbpOzD9Fw+&9u~`1;v)`_cK_lr(wVTZFeq{Z>2x z9kL-|agHTC>U$)~FAFFK3m4ygGVz`BTBLn54N4!IKMo^_z^}cL-jB`ECKY2l*diVl ze)cuL2*8(1YtFFs-`hR`F8n<>}F+lR(pF3&Yd|4u((J+ zhLMeqPvWdrmfWn5P!@J6d$EMZ2BGsF`G)X3IyH^5vnZtfDd_FP*k`R+l>k9ffDj|9XKK-n{IFm`EKb}@AYXbCL`REWj%C- z_UfAQ*+<^6*?s#8Shnh9SN4eUm%u2V*dTZD%e@ZiabRw1Ah>66t!wb9P_kyrvl_Zr zB-wJ0M=Ym%OXvlxLZ7l zhw@X=jgqCb<#sFB7s?fL^@bA}O^R3t*bpay20hQpjhwP`Ii3dMM>4^e|_KDXk) z&sCZePUp#OnKPagS(e6{QK-`gk7%xA+(wy&Efvz$&l3n7yV4a(TX6K@kp?s6j||^P z<7uRd(}q8Y#mL*F_{ zvB=0fdrVX(gVtvQa?9g&v)n38W-lGiklg`)&l**p!JSxlYdG*@u;%nPaAzsh^T1gr*kU zr$2d5rQ7UwlyqE+rI^UQ`WQ9^#!Vs!9sX?oirp@GZ$9+uqTO9qE!y797g zy4+b}t05B$c0zDB;aSxPv7O=8^~BQ6fvCN<)KOR0ymLw-W(|MA1m+$U`I(PH!S_J8 zJ)qj02D*dho*ASgT zB%S`nEXxVCN9RGdE{LXFcqsph*gzu$>k-pWDLksDe846m((jkkORdE26OPqHA(-hu z+EsDy<_MTOhMn%ay~A&B_ak_-&`iJ-;)ypLa=|C*v-xy}_o)e=gTPP%`{2uG#eBx; zFQ4aD#BbAfH0!*GAfxCrhHUfe4mo3@*pry~&%SPVJVR!iLBWI4@NzZXrW-1dZn4#q#NxVOYNbzs$o*#Cl=dzyey;e8Q+-({ z<;AiBNEeJLm<=1<<^MXZ3jgrpBttv5=L^5vBFhSayop;w?J4RU-dFik;G&T5`0mtC z0>X)@=ddedE3$k|f!R8W!=ulMb=*M*Wt__=teneW%9b~WMEU5x`&>8^5Al{>W=ED}2@+Z(@yC;yvjbl{|q zK9^+K7KR-s)`^UdhM4-kfq5L#hrcfT7^ML6XvFlYz_s0pRAAs}d@)mP$ObRlivlr* zoIs!5mmKz>46bf zu8?m6@04gY-=H8Pt|`5^7kkSx6JlkfG}4!plAf!y?|R<#o+fJfU7!Ap>gl=dzWzla zrOuO?ylfLf>xv)n$P88F7wu`)g-tuMB;=Q-c4E|^7nZjmH9a%42IyKcK^&B1ajxrCjapJxxqk1kC6S@nCeT&#$Q4}da!ENoUC z3VrU*k!7Ns?k1@WWcz52zaC3}rjofA|8iUf~X6aN*PiKB?d}}W;AkUrL|Kiq&bNLgiP8_67ro1pL6%onpR3=#{ctj+ zG;Jrke^fL87L~z65)p+-axt$)ai0w4;1iLHD_ViQVWs$oq)@{gaePkCv*!E2Y z)NyJ2#$)6gBm7OnrBk*0I(~wdCbs4aXPfI*s!8*=qv45plL;=Qv~$b4^(d4SZZRR= zy-(5Fc#x5kaqN&pXXyLMm2BsTQ*QdVRW%9eQl%7ihISr&=|#4(YBCx97aHQ5f}2u| zf#11qpNE7tGtgLb0j1szwaJQ=rt4GbeT!;PVsQ3aJ9{&4=**V z+>PNI9O?kW8EhE`2RnozPbBrq%bqr5Z@9pn(?DYYi153>g+pFhfJR=rkk`Kf1I_!Ac0K#`+ph6mr~(m25B zgUkV~Fdcn3z;xC19+hmpqq=q&uCxpcVfOhg0N(?FI#99XG)zzgca2!_y+Q=Ia}xgr zCRT>3V8+zyrk;3`TEs_R#UywtAn3{_9qLR`=j`zSruH@}$C~QFN^*tD@w(OvL2iwx z`Ygpm3<-g3orJ)Z<#-QVD2sOxN_9+8~p&FG{xS*hC5H(a0xW{QjbfCSnum#7DU;= zu96MLjZDi@4}Ho(=qz%l_hCBvkw`|y0|y|LXrEr=QzrH;Q*NiJLA^v={mwgQ%?`0H zT%+q1MF@;jVM8@io9GE;q0DDQn_-+Q&GI0ZoZ=UCwS%qYX*H|z_=zhDvI$n5iEyJS>)6-hhkclfD;SQgdT9 zUD|YMim}I7teU20-33vU>W8kIVO9Q#$YDZasG~IlXrKa*&6>1-i4yar5$1MRc@`N# zpgkQE-BDhYQFeE9lw{)c?U1^7SFj1Hiin8l>Z-bRpihtc@%b4B5oMxMIxxT0sB?{E z`;!CY@YuPavRaSWaKY+j9M~_;0E>{GLOq_QZ1|%>;$-wEuT`}^)$iu$Cx3-{Wqv3k zP|&H;p>OS~@3Ug=5kXfZ~7GNG4p(PZhY#-sLS9)Bb6)lKWN_vM)M+*oN@2!L_ z1h7o0KLJT|$eGoyN))gRCX0@ardUdl@I7=mHGC;I<0EoyMHoT%n25QLTX+RdS;sAt z*zHU)alnWlC4%_O>8*zqIc1uys8wq1@0iWW6aTi5Yt%R+b7i@(yXmpq9rP{Suj^?# z-{5CwXLRrPJHGUliu5mORUjCRRfm@EDd2OEhr50)y9y>y)nlm3=x(&Fhf>W!{9Ht3 zZfKQNR8Z}rlT*v{Ey%kL!gFJ0S;g0N1=qyr=elbQt?%ApvX-cvgzme3C-z8haXdb`QoDcITR8!sI&(P?*T0k`nvn?{RC-;g$j0?0y@WRUJ+3 z#|$^30WtR~CN}7K+a#1H&C1JOsgIeL-#QJ;CQavTN7eAhQXWCI=k@VayRcb!(+BXr zexK=Wa6UiL*LnZ74?N!-ywIxcz!Nc5_{ciqDXMEdOuKx@D|XkCc!^7Ktr zpDiBw0fWgRsQi9(3{!9xS*m{W?VoMmPOIMUR<%>}?7qsdE0+mvm=o_P=N+X3dk2uu zMh`pcHe^IMutb#Lf>L?%-axzUR!RyUw(5>gaZJ7l3n};AX9GPU&k7&k9W2sH#~Z;i zh)7V{Pt>;I11pXTC!~iKjrXC9hsc2Q?CUtXFHJR=^d9OvKaS3JdgdRnI&0c;cmAz6 zQGAh2>_T_byQ6;4O3PNkIcDi1v}*`rq=NDIla_FU(tc7ZR^Aw2kx*G}j6#GUcaD+s z>z)NELS1S`v*lE;IUh-xadRe%OE5m=`BEzl=m@y;>-j=O&Dhv_g5ma{XZTz9_vbS| zmTaqn$tUvCoPkPTSHDnTDRm09=X0ttH&P{e`Wt@NJ2)8I&>|rvK5`7rBOsaHGN-Pn zsyYU6*}<$B2yVH4?*Rp4=*S$Ka(v~zG9i{Yp}Oco@NP7^iMQkI!VPB*O-H^F3YmmF zZGx1Khg8tOG6?JwZ70 zhL)ZvpF6~^$8iq7cd9}SV-XlNFwENZ_ry9*8 z5X^)t^TWR6#;~BZeYLG|zMXFR>*4GNv8O6+lXS(p^)ioEh(L837xBv1IKADtXNd*S4OODEBZG06&i_R)P6P?3lLNny3#{`tj7 z+w~Fa4%sMG*Uxifi%S8CJz)dnA}X*=2AM8`zg zZ|KD&Z+~FxZ`T^1AtVkW*~4pZt~`C^%;RY(Y8s3bE+#eMsx{b`{L!22!o zL&(i1*(?-k1-pV|6AvaKy)a>X$AyTYT zdQ9p@j7`#z75$Qx^;GeqS3XZm$t>@OI2f$STkLN+YxpLw-gA)i=`(A~7A=6m$dGC9 zuLq~*)eXiKI^+7>;^JLwBJ^|po>{>YA95^23ZAL2*PWZicXUM~$%40qk~G?t;Ee3E+4y!l9-+mjc!O5b( z6V_C<5cw$o3?mh1b~N{ihFdGb8Fj_CwMkLr=Xv38E}yvOHK844KZiBOjCe5wm40X2h$u*o+=n;!vmqmm85rxDa)@5wEV4JIe}!SntTJ zgsSb3Jh#cRiO57Ic{Z*tAWy=dxGm_$qi>5Zv9!dsj7|TRs3|}+A7ce0qK-@mVX`}p zqnADAtm3gB<3b`@eP(};;B6TRR>A^^y~@-Shq${=JoL_)lJN9W15EDh0y}ea%$u;?Lp<3anJCxq0NH(_XL{ z!*Re1ZJ3z2{K6cZ$v?s=elx^7wGv^jL6Z*)48SCc_|7nbeMuCOIB3+j0gPGxXo{N4 zf1YnM;Ffat{)-egm1E~6ue$?Of!+jdA>XHdnp8|al(E|iNxddMv+z8g-@bi#a&Q{) ySrznf-pRB+zjC{Qu{xjxBM0qDu&N5EKWlSWh(A$JND+fbda-{P2sQe1Gp2 zhk$=TJe?IGzXyfVH2|yPJg{IXF}N696a$ly1WQYbNlL?I;8G%BI1DBy4wDs^go#SX zAtc}k2|4i32XYYzR`9U1M;NJT{2Y$bQiM2qdg2k{;@;lgV&0NsI1dML33+*WaTr`2 z4i}{$LSC>+BD6yT4|x@8LwLd9=&_+RgV> zfS`Dxgz$qjMab{T{pd%1Uso<(-^o;j$WjU%1{0U~{`({UACRm6J>*Y>iJKE;ir{}* z>ruwMfmL&Iz!JVIq-8|l(y|nhqlml+WnU42%Sus%(kCY+A}tA{hy>-E(k~||0+*K& zk%UQzNJ_|2L|#N1P7z5srH|rA7Df>YR`z>anxdzOq?9E5f{eN>45qBA0fS4cYsksS zYe-4UOQ@f1N5nIidvf|M~pn{{M3bF!=95{t~}` z)Acu9e~E#=1pa$<{Y}?jV&E@<|6X1HXLJGoyq99#D3?)h%B|CribRAbnljR7 zbUE#&3(w1dmqAZzUdqPBo!tiOYTdZjecMjG8ZE^7$$(!l4q zJfV~Vx>0JUfkR9UejFV9rhx8tmLX4_^3nXqR`TxGgn>p{)%;f<+g;@>JnlQUv8s8x zGrRi2&6<}1JxY&D6Iias+|rlDTmS4S@hY&as3#zm>hd zu1}xNuB@zdreU9$(K9euKNg$glj&H}m<4i0Xs7WCgJK#20s@%e%gJW>L56^Ri$}Iv zy?Cr=!8xtPv5Lk#|q-_xAK$ng!B~^-tC<+d9&Xw*cCY<6kq z9`Y8Wkn!<=@Qet-E^Kh0ACEJgR2^T&U1Y%(U@pT-5gud@%v+nSRJE~bdiG3}Tyx8? zm@~^S)5Ignt)J0cQuVwn8#00;gARINT_H%Lm$tm?#Z5duY*vZ1YtEG2)!wrx#va3!VOD8yhVEu4@zE%}0 z4j9dB9r*OA!s+Jc0BjxgN6%4ER))mA3aHMGt1w%})sX(-8Y<$evNxPpuG1I9n*!2m zTx(FILN2(f-PfYBcLa#rKtXheCBA%RxR$3RG&kMi>n3;2WGpXg;i*!PfeFaDvzT)c zE}Gs(%^v5U%>TFALt%_+uyd-kSYdPVOyQ~T^|1Mu2$2@(Zuc(@Ll=cwA zT_siE8{I{*iqm1}UG8@y!tnA^t0uJLo{GM|HXAfopFkkU6yT$?EXAHEhf^D?k5^wS z-E@!aDd!co9ld$h1&Z9}RA&JsKtdNY{Iv8+Wdb&+lk7r)WBvViS)mHA-f#A;YGw#m zwizdGN4?a*C%CP;_lD&v6Q{?9P+cjX6L~W3-ZDTBP*q&Y)la#;5#Ax-;ubFtutzFj zPPT5H%*4ME*DEb&OOj4qJ(+U~&G$`3%V5SSv!2Rz#dYQ-ifxs=0F0d$>{x&-b;rx| zqoW(jouz6!rL$2c1@TG+Ii#2zWodbNt#EDcNYi*1^_y%7)k-PQH-jv}DUZs9?x*^- z^+tteUulI< zaUG!AUT0JY%Y{Is=ctY-w>hrim7(vR?jYOOo_UdJzfPl)M+& zbT*(d&j1S<*5r}y#N-S?Q%<~AYo>~r!3kp~t^(9;CXqN2(ehA*?skr~^}tc~X8xEk zZBjnfL-RmLn6TRE%xeJVwIFx*H;O~S^&t*DPbKqtEJFh=s9wcK6f_CgeJBa>zYl0Q z2ZTm}pq)y{k@og>p3K%wl}uYxh?=JK`mMCBfPE7g=j9g}*2P_*8<)hRLc7SH5+3J< z<_B0mqp!2aFQ=geQ6=J-mJpsuX0EdbUtu&VcA?@L$Gzase>zCOZh4}Z|16XrLYD1TZt0@dXt zf9+P?rN_M(CbAa@`a09YRbL%vtS)JpGB9S2CbsI!VRj?mi)dp>lE|84@~A+7>Q?jQ zG0SAIwH<8jRPmB5vLF})eWpFLr>F=D7FaIbG6njqCT?v}BSpsfjx^uSpbai+yaKa? zA1SyEo3V%1ssre=VHU4B9->^=pR=L@9(rht1b+_EHZGR)c2y&IvpF%9;ZGRzn|2g0 zsZo<-Psw`s%{ertrFS}i_-y+9XX+#ft%?cm9>`&{z}kAI-#U^T*LjiZL+_3Q zKtI=rDY{LiVJssQQHDDGoCA<_hSAK_G=r}v%&)GM&VKlWeLX)z9o59d#Ot(=G9ZV? zr(U=@Xqdn(Ii4pZoC4B76}&ues60mva%a!D&7_gMZ(j% z3*$k~8NJR?y|9e_rh%~m8dhvE{wlJQYwlDgUz>%-y$-`F{}61^h+4Q>8o$h>dM;O z1;un7>EiuT)JTuKQy+%3lpb-+mwYV`Eb%zP;=L9cvSa9|h5g(@CnlSkBSXe=X{I4# z%uFXY;{}ZC#!qiI-x+FAVY_Oref~b}BRBIxBd;_cSnyr*P)p?0lS*4WwR?B6XuO0V zIk$6ox_{6aFTabhd=$u=!%2F6_G52`N$}R5E(eP7#QO;6%svK$2D-rc`1s`JQ5WQU zg`Vw;LUR|N6-=nYx#GUy zc+F~z3XR|JnjGyXg&x8Zy*S{)NAN_(22BvD-DP&(hJXAdFX!j3G}ncT ziHw<sz9EcYjYHg5!scIQ8eutXQ5jZEaKHlFXYeU9j^;SSF*_cxFKWKYX?!CX#MKTu!h}ql!=}GDpExo8hSPRtoP6O+_Kb~AUn@VIVsNt%{hb?Y z`xl2e@m~NjW{Z4AW*vx>PqHXv`IuSIR+cxDl~dKs`bjNG^(t{eLe%;q|&73||4M!nLE3p{pXazp6zq&Qp4 z@&RZT;f?d>UgbW3xftfNK5#7^vn=MEp52PUyDiGsnk(?}6kC3IxHb|+7R}ujI&GeS z6`OrurD%Fl>DlEpUc&W}Yoc#Ui1EGZ(zR!VX-P zoga;1KCUe_Dc^Hmj~w$K@w^|)Sybxar<8#|_Zv$)wHoEB6)bGS14V&I0G9Aj8o z_WHqC5O|9R57O5mSrlC0^upCjrMfS^5^|As4A;(K^X6TcFgF1=WF^y9@ zC%bz+6MRV^R|_%&VuOa1)kBy*eU=$itZ}Phd|K+xfJnc;5`;WhTCO~icD!w1IPGYn z$o2~TMBs}8<>rb*qKC8?$ReuXvDS%GktfXZx!D)e?@8uI^FiKC9 z_b!=LqTG8^92iqp;p!b3q~h+p*=V|Q&n%sz!fO1bYPJQnDOEvq%rTYf00$g3IYo+P z@Z(Y>QF-V?VFay6`cD6|ph9UXPIRMR=8S1*6b-6tG#psd#xa!QX|eNWeW;7fl)=G^ zYEL_LVPn?UHuLx`ZurLp!u#o=ZkuBjLF2fO0bw>QQT*zRSE7Ws0LS~TDthk_T6exa zo+*>{oUoO%6>@1x)CgUwlS~iG)i&(7=-%8|cQf6<1b89bi9}|t-xI27-BxNktXQB| zM=HESv>b7j8}wXEuT?pIf$;9x;?~3R+Qn>$Wk&xkTcM4MPLD_){6Rc{o`>S$yi1WX z{?aL=RJF%hPu_l#Q}{+c!#sAl8XK7cdEUn>Vq`N@$*DF1P&hJ#*jqT`#IMXAu|!>S zGob5%@$~ARC0bS3w1+uTDQH*ARe{&gU}jL|iH$|!i5A8zbJ-Y&8Ham^S34xIW0$LH zq2xR@rewjwI{-`Zv~L$A460&V1#sVv1fC81Qd^B)V9y0JtjhKQjkoKYx7&x#!elm| z##gqgrlxbTCFL)P!Wzvbb5%@htsBmF#)IK19GG91KT$+5+gh-%qxf5Gkw zyE1v>RdaTxB6rJkR*li8AsT*`6MW2;N&%5g=ICMXZ+r2hW^Em;do(ea{WL*n?zS>K z_J-d9|Kj%x}eD7y&ZI(>w0eagrFE7 zo0-`MB;xkIxa(u1!FJ+;>n_emp^{)wZ-t+6gW;csn7E@NQe(T;8F&28VYJc;kB#?h z2V1<$Fl{b1-M|y2M$?cwQDxV2=RhAmrZLDj%o3QP1~vAi1V6FNx=S_A?>QH49_!=h5*s%F-j)GKYOC7kUyIf^{PW>2qwiLQc#E+vO9cFh-o zGenB$01EX143sm{R<6^4ALXLXI-1QkSy(B2I1@!(TJ1@13KcRy*4ow0I-e5#XzG~s z%%pbIR)^c_GIUi8rdWYf#iI!NtTwTt41VXw*US+Kq@r2R4Gt=k%Hb-ajE*=#chLeXu@a z<+_CQPKn4|otT}-m^JL>#9araa>tx>7Mis@kK6xjWfPhNqTM8{#DDB*U4MGfQMabH z_BGpxR4vF45ji+g%&a|6tx&$*3_NVi1J%KPm%dFZyg#g#O#8I1Y@b`%j^ zgVsCne_6I&9oPJF?SSC3J$vjm83>b-qkVe?2qf^|hh9{$O=7e%&a$M_=1!qUcOGaX>P)Jkv_nO)s7*WF``lItQ@*^`|*XQ z9K}l;4>QsH{Dgkl7N(*`1IWW2|aI@yXc#i+l z<>Li%p0QwX`=?wK!cvc95@d1H)j}Ww|Fut1-|>0Z*Mt6q^&*=l5{XRTvBT05oTsNr z1ZLDfjQlt&H~z4pptXuNJFJQM%-b!qQCsTYl-s7MuMS0<-CKBc`CCd#*NUOT%PpYg z(m3M2ba#QRNOlNOepJy^jAfWuc;Dxmkn3 zN7LK+63N^9xQ9nr>H?a(iUG4kOIzB5Z?#BL&`B=G^)fvWnc4fVm52<}3lUZbra~H|1MRz~^gm6@M zOdL{jkL;2zHG09Y8UpI(?66qKGs>E;61u;eX^E!Wu50DK0umdZiep&~zC(T#5fVMB zcV`xep-axzIhPBTd)_uCy%3FA53>p6)w4PP^oY;9rpK`?ziv;Rta-=$x{n4fp44fb zNe#56wgTUqo~Yzgnbu>Tj%rZ|E(?BShHomDVxGDX$ap6`DA_51We7L*4K(s(MgIj& z8!*YD-1??2a5|RDcYQTkZfG$2XtM>V)1;2^^#&5A!2P9(cVFSky>{?K%C$W`I_>qZ zHeaPJU!{lWE3NOop6ox%BA8WCu0pq3Y7p+e@+R)216_C#v}C#bJ{2LPqF#Y{YH#Xt zMlsYBvC<$y@K|oTbeG-##;)i%Z@HAlvBNBoJRz+3nbLeIP`O4iykC0cQR z4^y5+(tpZ7zyENGTZx+HL2tSDR(H#w78Mdrx76AKq2J`{aKT@t_DfOm^@^?JB$nFc zw>M>Pj|$|6DHVIpHaJW-_BQ34I5GflfpA|f>XflMp%IDs>}2N(Ap@yHZB9Qe;)q*J z{8CoH0v-Gy(n8Xb^vgG<2q0wd)N4@ae8lcvR3Vtd?&5=asA)jV<68rkzKldruZylr$qtvza?0neaf1}YWz3tW|= z=U=5XUAw6CwV@)#N9JjZoH9rr<%Q?eo-fRLop3AX6xHX;+u0?_^rkjo?Ru-y(0{t<%qcik|8)ehqP;HXJHz zH`!%7ER@uwrNdB1=UkD9$-l;G$_pVDqx6D*8|RA=enBoH^{j5&6mE09ODl5OpIEm@ zWh=WQ-!TgW-6Lcu=Nv6HrZx>8>868`qJ{cO4bmsmeQ8ghmS_1|GTF{HK3Ju{ZyhtZ zBAl0X2o^lrCXt-Au<0YM%XK3-`AT(3*$vuif#Rs%M<3Q6c$>!Bq7tT`hn(a!Ez1LL^3~+YIfu;d)=F$;zhM znvSU`rE>+KszPRxBJ!4NP#2-;PnFr&VmLrOT0?ui5-Ro$hMIgZtWBBD>Ha+3w3{^Z zdE>So-Nw=+=}Ezzh{SM-mg~ejj1LA_FCWIe{DRrJXnu-6@VZ_(3VECUfiX)v;k6Kv zx57SvWZ@S5B!db|jH3OmH*(*W(tvMl>pXccdg$Ie2p)Y2s$%S(j(p72Ew8bqgfN`fm;m&QG z`Tnk;)l547aFfuAq8Eba1d4PWUFR=ScSILEa%`o{H|ImB_cj&m?Y?uO0C^-rHT9-* zXiJ-dY^rj&K!AWiJ{#%D5z;{4+-d2=uWD(JYN*??lc`FoND(h)Q{6O09@7@T;3((N jY1S5zaM%w5&{K^#EHJt5j4XfuZntsQSPqeRm5RC7aUwPvF&tWk> z;4g@u2aNBJq!9W>Ky{1{3MeTG6@`j8LZl^tQWByPQc!8ABp3*VKxD-rGGY=C5ph|0 zaj3kwEbz~RPl*Po=;P!pZ=#{~XE@>$jL+52&s$zhEHE%oG*ChmRFuw{x`b zpL`LS6AMCmi;0Uu#QquVS3UA`TUSNQ*!raB&HF32}L-lrRJ;4}ttf>tmeUoP+-rEh!I?kr$Wz&uHQrbVB+e z|6lMi4}^9|5cN|zPt|F*AIzyMCoY2_=uc{y16;Y%c@FA zLd0d{G$3lKn&RT(s#+RQO<7ea1gZtmlF|B23DH~w>FC=E9klWLyDDFIcG)|7!jRMoX0P$^9< zS!p>fNhvvTbu|fTh>VQ7l$7MJod&4*t6Sx-y7>}2BKYU#^XK+sin{T~(;vH$r`s+H2E|uRN0$owWnfT{c``70A4fg%>oucYOoZSC& zLyP@cpxDn1^{)yQ#r}l@#b1Db+JT97e~b}#cH&D#?Dt#cPmYMm{7)W#a{oUW0tozf zkiW(6zv=onU4M&#zXksH>iRcbe~W>?1^)Ny`u|23%|E_NQE1}FXdv;c(~pIYjf8~D zUq?d~9yGR|W$n#59Q?j92KaF9dY)i>o~v=HXUD6Br1vTOQm>!gyI$2Z!X?mixkt|d zmzE|;Sa?;_E!!iTrX%mhDWoGYp!Dg^G&Jkpq`a6;G6Fp@R>7Fhj1=upt+^2vO#?y#V*wRZ7#BXF>4(B#+_M$NLz=^VRf4!DT@O z5Ni=ISmjD`;ib98@KAkhn_3E9#SDDm9%|I{bwb=}z@q~5(+py~enGepog^7x%GtR~ z*UX|w1v)%Nc2^B&T<{7C7xK{yeaXzs>@VqnUICm*(aPyZ6tq9jb$5d(DcM%F$Ri?h z`l;b#QJ`xRB98#H*h9z9fX;X&AGe;yimnNu9FcCD1HAm}l;3dP^v`$6K4l!w`wo=b`u zm-HRjq)5HNo*5UR0k&L4Z&gyF7g{P%UA<1uiiIfx3;nVEx$6Aa!fh zV(d=7eR@Q&F%ptPJW?aM$I_=PuzyjNnUp|7q9;IuzYx`FqF-u0n3aQ1Jy+y)o)(u8 z9Zp%+BY8b}k4-9Gq~dkQ2p=X{_#@wdFfHh;krM|O7XbibWnpcL>4Rh}(m%0%p-G)? z(e!ZY?ll2&JUqWFqohz3MTlRm)48a>I@U~^AZcxAoQ!>^u9a5aJpEXJ?4BS?Xk&Ky zL{0^KKzJ2LJvcuPXHUK$k%U@j%*aryYngvsuhJm;rd!(ZVGVe1&Avtj7q4PsivQs= zbt~RrKeO!)mo6{O7(G|W?G}I1Oj72Uu#*U~)^L!J5zal*JtAU?ELkpTIQvN!-5EZf zoSI#}6jE!_)szG}P+LoW=nD|Gt<>eB^=l8R(oNo#~@AVxTFAE zydb>!Py<9$Ajyn}&lsii+`@LYd!`I$W@O(Ha4fgf@nv7*@3f@1?Am54I=ZMydebaQ zGq?X*!T#)910x(L`6$iz_|X4KU0T-#&koYi*mze^q8up|5UhE1_Kx_ce6<)|W|frw z?!!lHAQnM_SX&r33W zK})Nav%F?cWjZ~z%BjM@*W^lH|F+X-9NNRZ{~+va6XP%6wW=dr$DMveBFBM&5F^>rdfOV_IQ%JYAJI$6}vxPttLr< z?S+be^aMxI46e3(iC7{r<8MzMUk{TWqfuo2bi62Lv2|hQp=xSS*|h?bA3#{MSEqZp zP~~ubRN99(b#>>&8ulG5<2{YcbU6y~9K9|}j&!RH@NS)YCzuAQO^b;}yEl$JM%On= zmsx#bS3U2zKHz&13En+EYKX8bsmyZ;!3XqfQ@qk;OVeg5?aRJb!^qKT-0b*a;-u_-n>Zz)|@j# z)=clw=T#L?qDKYDe%dL!en*fdTbr~>&b-a7FFT)v(P+WpZEa_L*hrhF-_f&h@5#tR$AT9+0p!`+E7)qIg0EbV9$Rt;XTVjq z#*kh7`A*BbZ=YcTCW9_LA8?~J%Fr&zBlB=|ZQn+o`kWJuywPVx6iZ*_emH-HCSZLWN7_~+1zTY4?vt?K)Q z0KRM0+*y2LI@I7kAqV^xWN#Ii+T)TI#iQ*eTo2$+4$Ji~Y=I*bpR%1ST^x!&V0bAb;|VRk#(h(AA; zk@xZVYp=UQ^eD>?N3oA)gt=aXDjvX1E-NmF#5b=jJ>5HrYJaB{ng^@4f_L;#3Bg}c zoKNRE?68K~GfCC*su1$bW8ZlFNJv-XSJNCD8elE})r2{FaYcqT4Nv1}G>^i}f97qB$G6d1au_5Pka;gx_c%yQ4I9iIV zZ7k=jQaV`ME+2>EXHh6JBeYO|ZD>_!dDJD6B9ag(xiY)@)vuK;_X&cNr`kUqa56c*Glkn9TJC4|&6c6V=mOD1=p) z2x^@0;-|(6PGUTD4khzAeiHCF=M7nBqd_X{xph^qYwp$>aaZ3E9MT;pq$2VnyH*tQf4C*y5@3p_1B+zXnXxUzmU;Dc&|AR2coT$J zp1k~#5I}7LSZ?SM<$3d{Y@%r#c^RKVqHyit=9i3DF3U1@{32zJPl^N+o`$DnO7Byl%1* zJ*X+)VIQ8IG0iKZS}^r?{&_CkvtgSCF}GnvtKGwtkC5Q*?ck2BFDs2Y!0S0+@i)6V z=-1di=tg;HQ*LAnJ75XX;L27b-_+N!P5mm?=Z%o91D4y;%T>i~Q^+}haKbiLT&vLm zt2!b^X#FUU=pYrMFY6vl!O|VBaPgIS@O$uc7s+N6$RIqPwR&AyvoG#hY@@1|40&sO zy?n@Z#~o`+wZ&WH(MErXvg-rz*lN`(JERDp(o&|{5LnH!4#|2h!>pZ><<)kF4sFI3 zv2Iozq%c9tYbRJ3%QT9)(s=XR+jOp{mjijOFvCvhWqK=}4x1h0Vhu_K%N{b0nR)ez zUAPV?^L8*qra$`Lxr=ED9d&7_EB$g@MsSol5SKKsa4GQx`+iMoF1J%w%TZ9BkDBm7;3@bJx}k$4Fb18;uY@;nYrUBgwaE;8gOoGB!(cGs%)-RF-n7PE6dZZ?&8 z9U)!k{MkO7v&@#r?s(|N_}XhdPJhGNKEmx`6XEk^OUcLkwz&ndfI)BO+FS)SMGK8b z_3CcgI?$tuw~Z=mvF7C5+@RO@4H#NJO)$QaB+RsmotYB;lpA8s^u1wv>ghRfW4(g1 zbo=*-7SC^(vizNd%K9h4ELVI=)p8$4tpo>-NQ|BpOug6jjq85HM9vutpWA9e#_X+1 zUs$|?P7aJV`dTeA#d^*Y4wZsCnYu+pRSM@%=GBbjJVmjAM_5X|2b);!Tq{5FK+PQU z7w$GD=-r1_sz=y;rVsIWgFu$V7MJ}EH_!WtZQ+n zb!+k4z!U|kDMQv($-7kG$)mVRirt!;z6uK_&%~Il4KAv&ox#DhEdD5%U8Zk1jOy|U zzd7Ub0HxVOucm?b3|+!og+>wVXWh}> znr>L*Z}etabKN5{&w(ojN>?qYWEa0F^+!zCbwV8TccW`x#e!^JJv>?D#2_A>_hR%q zyYzn0sC=1H@*rR)L4mBQInX&frlYN@exBoGGyXjT0|OO(Djj2e*t|sO^tORy++InI zHIi|O59gh`FsqppM4J$Lrh56y=NM@$`f=ek!Zua%fqBQb=i}2lgICRRDnwpZoJpx? zEXmI1{>-v$PW9_Uba>W*t7WHI>7{{!In^d zcz-GN0XYONSeF-LmjnMq)A%`QT^J&JxL|4pR6C1WYP10leo-*I~;R2!t0)A zN{-BJ%`^I*$Fmwd{>oTpCCZJXVGg~XV|8<+(|zHEu6ZJUuXB9!aat7sQIk8g-Q4f+ zBQ88QdN!u#Mqb*RXBIbh6~fM#wbwCeTR%z4imr2rxdaC+Po)RH1B=N+gzWle3)vDTz+!ICxc6VWvTZQ~p6R}ua^d8xRcPfN$8Dt`8Mbgq81JTK zG%&?wWpyE@smKU#CAw8~%l?ZKGQLJBq2z^m>Gf0YdD=>MU_AfE{`8~-l$jj?;#Cq% zeCYFV{IZlx%=-o317uM6+!=AGH&7%#uID66z)&*%6o~qa7cpvtC%j?@W+|^!J`-%NBsv=I>T+ zz5KX(qB03h`LetSN8Yt`3CGhZRj(Be5E>TzjNEY-=WC`eU4Ji<<47vik=Ekxj;&Od zpm}s@RH84@J+6fAD5vo_!Y5QO#|U{e*uDqU?xL;Zvvf?=$9wO#!k)%ur(ziy5G0FI z`vpB6(RF=H;rCtp9NEtr>pigvqm2kT7)Z2z8ZELBnv?%#dL$%y$7SZeUcS9)E6K(B z*(ZHNeVo*Agzf&uuBlomGvMmM#Ngm72K3avH}GlwcdU@#CiyCpo*x@$=|e8R_^d1D zIH)rAv~J&cq<#Z9F|`Mj#91T5zVk)7Gg@)Vv=rCxB|Y`0%08HU%0V(j19)wBE+VQ@ z$%S@)Sg!7vHYz;A?hc_WF=lZw74QC0__n+y-z6ym#a;^Ip|M+wJ}ZC?e&n+H2vN#Unv%0FtXN=w6cabC4=^c~M9Kc){8 z8v6E4GE@1~c~`UFZRAbhQ%iIrWl%oXKtxEmj#;VRTPlSN&e^eUO2G@XETi^j4mFSC zx?3(64Qy{cDbJr-)aQA)Byy&}w*LF|$~t>v{_9ngfl3~;Jtv!n)u)q0BR%rU%F4x8 zUe*spFmle|$(nPsfRg8h!!6s?VDSA`hlr_Ew|%He19fcP0&VNo++b;NEKO+Sl9oY= zUFq|2cvq%wQ-Rq5i{U_DZ3F9f%z?(tw5t9rSBm@ICaiC2%9fz9Ikb(U2n*mq>Vrum zQ*Hcd>+NrTye23Sa$Ze^1fXieqAH(}f zOtbZ8WfQ7Gc!hJ(hF4&7Lk|zlg2EOh3;xr|aTO;_{e3@Hu$y+%#Tn{uzp}at$k#+; zU`~{0WfN8CFFNCSWY106n`unUdi*{I2YQ{Z^$};@UM@>v;Dt%8 zgpI9dpCNZ83Cnq>GodF`976=*FDB(ykLktiU}r1!)aSnBZ*R?gGDHgcYPn**?dsw1 zBB^Xrt)4NugX0kv6-_3Eon05MWz?wkniSoMA>;79<>JvAP#xZN>APqH|0y**#&W4q zEW#k85@K5Kz2cDoOyBW(UBI~zqpqODy!t@+)sACLOb~K$n_8!*Ugx|kcRqe{g(XI= z`dC7Xb;{PT-)r}>@l1pK4m7jz5e`j@PfDKtoT5 zTTcx<%j*~zH@@Eg$TOPl*pRy5@8{ty@E|a;tRa8xWRN`dRn_um5EE!?q?1luZRjyt zK=r^lFwrk~CgNnWl%5HJ-_14X39HV=r%>UGJMf;`=JP z?N!YDnbcUMU2UqB`*v<4@8*R(EJ;j$x7gdt@FDzS$+bo>MIlWh;4%%{6usv$#M7-F z0y*2MXeMmeKdWu2m0OJGPw`Z+&P1LzvNisu#XRtC4!&2Fr0k`~|LXEGg>&N1IN5 z=4A>UlI%iv{+A11S7UbZZ!lq!+Z¨oWo~!(WOmq=FNvc^@|MzA8!F0lXQfIhA@b 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 P4`D|7rh4VNj?w=Hd%t{9 literal 0 HcmV?d00001 diff --git a/attachments/2424858.png b/attachments/2424858.png new file mode 100644 index 0000000000000000000000000000000000000000..3198ec673f57589615eb3843ea934421c3d71d50 GIT binary patch literal 8691 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 literal 0 HcmV?d00001 diff --git a/attachments/2424859.png b/attachments/2424859.png new file mode 100644 index 0000000000000000000000000000000000000000..81d998370f05bae7920865d21a47a0be7a4500db GIT binary patch literal 12676 zcmeHuby!sG);AqPNH++m#85LdBOoaaLw7U4AkEMqOs-%ZG zreP$9hyb(C&C+{>IWQuWO%VDXjtGBSZy1)mgNGfAUCqtb38n|LbqMr&4U@*gBJYJ8 zm>^8FG$HmLZi2SIFoFSYo)~K^Ea`gzp0@T6UxAj4@arUlaS zRD?OhRfD`?`a#+T_CXKqr5rf#$pWMUAQ%U3FoZ38fSaqk4KAX=~@e9taN~XOI6) z7k{b$sUr;ET3Ubg^h0kOcg5&@^i&ks)sz**!BXOw3{uywbGsVT{DVmJ|m!yO=! z@?xSOu!NKnNI_m13~H1{|C+guHyl&* zwyyteH@{{91mgu0!f(=KIR8lQce}~2dFAT+i%c0#2~2^5KtkYO```KhhM4}}A%900 zy2CL;B>Z=4ZA_njFeSJX%;%RvOq^d>Oadd47?I+~tSkJ&5~3Kvv`LEci-~|R0>+$U z+9gH!g{8##ML=MF5wIjir1-^zF(M+2X~X!D0AU1!mH2fnhS6h0L{vohuDG%U2qdp~ zA0#ZMd|y&r>b|I$6j)I~L>wd`p(rLM`g^5em;PO?5LLJjrXm7=Ek1uPKl(7QKd$~* zja=csRqX7)YZYQ^{|8z2ze)+_@Hh8c-}EVX|wp1;68f8JB% zoiKy@e=caDKNA%CwV?hjLusLZ;z0U0;2&0CjNKn?n3WxKQxW>>uJR{Gm|*@Vw?Dc6 zpX`F2{okGZOZ@(uu7A_@FEQ{hf&V?b{!Q1v#K6A<{`c(q|3(+!@6V+$cg(}6Kjx_u zK}W`bg~e&ArX+6=Fu#>+p1@)nIMl7bC?oTQ@yXDK+D?hxJK}WdV(t9&KWdhEI26MB zWRq(ibEd^8$34O`qI$}0W6chrh*TnqP<5q=Q~n%rheBC5*_Dm+spW8x@}s?_49jYn zquD(3MqAcD^!Xf4^q?CCN6*5@@{|H zO@~9fw{IgJ_q;lTh%y}#bFMGUF-y41c9r+)q3oLFSa1%5SRuJ@@lp=9_1o$A8G$Nt zgBP?0e6&{q${)4OHj-P;d-PD8IKY_Ga_thnp81?*u$=vhr%lV_F9fuk?Rnfpv{A%k zZG@@x1hq4piNvf?jYvyex|qixbSx>Yd5cS{=gel~S5)$HSX7A_*DVHnqBIg(TWE?% zXvVbp=j@}##+hEMx;d>C)pWwb7V6w^vG-7votvxc$@l|NCXk2-HSt?Hb!E95Pw`m2 z;7h3mv_n*7;oaUJ?k?Iq#{Ox_!p|HV>rM?Oq7^HnU%v(mxN=PRd7dC%F#}_&U)s63 z69h+=KX@Q59e90#D@b>h(d>Mc$vAy+t9S7F?*7%jz23<|vkuJzA}Bm4T+l#Cnl2g@ zAu}M^IC2)i^!!bsnYZ)7@;oolh{YUT2#O_K{WiuN@u4@*77LBHA}D68bd#&GfRX(t zHnYz?BbH$F#UcA`X;CVYSXDolqH|`BSxvb(x8if^8sSGk(r1iihliexDzJK-i1`ZD zYi+%KrLpSD2mvfJJgAiki*ZkmZsdp>F|FXX-`#_@!}~Hevx(oBRXw}$;(r{<)pze7 zD=yGR-86~$A$Aj3w0aNYB zZzym+?9$zlr;E9fTE9G_udD#W0;C(27mbnG9?2lWeLz2i8Sc-<;yXO$Cc%oPC@p5Q zWnQ6C_L_whX(5y64gd_~u{A3c6pm9IZk@tIy);-?V}ptkK^U!v)NOXd|u_A!3@d#1v!_lGsDGzc?5KO@ew^6ar1IQmk9c`Um8WUx{d zzgnbbX(wygZWTPG)j*EuD3bQuzeXhtJkqjs*D#cTb%4Ki7J8!H7rbmZ43_gwYA7^A zm?nvn*w8IPL?jmo=*r}_pUM{mh1v4_Jo~<4O1~6P1N_l{#&>dgVpJh_2Mb znaDBvsO60CgT58jMjq;$hb^x@5+-!Y*G6NfKVvp{l&@7^K({VsHaLk5yGAO>4~{1< zebn^YBK(f+NSvYF`9k4KY>(k6A<(LbA{sbZ*nVuu*nG|DzSO};Vx+&$NIt1ZDidRN zgeQ;?R=~}0n9(pct1-=Rx-EL3T?LgQMyaC>X05_54^3*!s7$;|J-Kk-DedO#m1b|` z@=w1pYHeDWxZA2gn|*?aJf?o=DY~65WSxW`Z~V+<#N*Y2bdi5d|K zjpLh~N~LM%m}o*(E1>tD2Qi~t#$6h1#<#X6f}^ZHPtQN0e66AE#!Z(;;{4t3cJByI znPjR0tZxHpCf`tZ72E;0ZN-)g)ttTyElzN$7vipyU zuOnFxGCUUB;_@T;2+mk^B3$=%P32)_aW{E;cxt0aM9GHDh$b@Jr0+(>Prx!P3XA7t= zB)tuoc~GwxVd&VPf(;Dmwx6PUbbs+-imy2ZB|wBUuC#kwE;Aaj8RZvzt!T$EU*Wo6 z|BSMMsr`v#PIGHNy^NmGK*uCSJ%0s2YxPv;SsTz!?;0dQv%H za~d{XXjIIB&zh5UEW{1&45bhi`hesm(X?D{ebfXM5ESfdX`Tha)|(Rm;#4RK(l0tT z1iYt`uGhXLB_*ev<;-Oak~ro@hVUHrl)DPVjUUjW}YifCTFBZ z+#I&gY^&4d0I65H-W)RGp*hhMZr@P1CMFHt^07;}Xj-d9y!@IHE`J2w-njpHO<&CH zNz0d1Thqj67d~_2p~--!#0GQy%3EEV{2JA{2l)c$6e?T>t7o{HFU|Il&DnG0?HLxDvG1g9;z9-T|!<%w3`YoFEQOUiEVnd5Cs;_l2gP@gw9QP-eX7#2`j714;v z^f3q9c@;dgwJTzouloJUU}crp%@ERbl4hk-vEbL8%6;;8rDA$$r2@*@$do(xp`9q6 z_e28+qEHSf8XAzjrM#G}9#gm0w6b<_mOU2UmirknH0_2O-W^ZRS&2jij!xfYQE%%t z$;lTbC9f5b2xdXwwDc%qp9vWHbin!3sb%kosbs;hxs|iS9yOrIbJncyGsrSqM;arQ zvoD4ioUa0*%Vy-{ioTK#1kXBb9R2hyc7L#a^>*vtqwQ%ci3CnWOAx@)%idxPwl7s5ig?p;J43cgbT684gs zS$+%zCh*G{KV&a@TAr*$Fj{^FR4I(*c!`JH;3?OaM z+gX3~ZkzVowBSdVAJg(&a%A7jUntnf)uBTq&{kJhq9I_-kB91=B*reR0Y{GYHw4O< zamhFoXSH|vdKF_v7MOGi-gZ1u?|x4M56~8Bnz8;4bi@H|wbM0+J$* zDy~CDtRI&%;%;k^Hb@9){#aNzqVbQlgOPFpr`D`Lj(gRYAD%InYR}`8 z90XQJIE_4#VKgjEEQ9Kj#V(yc=cYqlE-uY(^e|V{?>*xa^Ur2j2w7W!6J(JvE_MAJ zK3I;CTA%2jKRYw^^O0>F8sQ;HlndQF3@R>-N`_1nd^yw<6e~3pGOI)*mRH@D{I>mX z#mE5_@85Cm@MYvGlTKF$y$)9&C)=qXxbjbN3yU~f=3EH)@xElK)**X-&ZwqNHOp?7 zJmPF8)sc%rH;QrBnmR}IjH5>wDd$3s10Pn=oiTpR=t)JIXuJ9tXOw{JFpXeZGcY9g z=({q#WI)8CU}f01MS6tIDmB1o&(=zCqurQkU7wH%m*v{3{>X4d5#`CH_#U^I?&{+) zhqZE4*9ei}vhT|R9Q*+agk=4Qso!-)^LSVH)f^;vi?ZqR^Xwr2{4sQO#tc&6+^4ZH zuSHz;DKS9yji5DcC@%y^oQgH-#jfhoQN4eBh)Qu^6)fp^xwVOySm_o-esg5aN_~Z+ zUrU`CMJx8sm`=`iRwDh~<*JdeRujnbz%BDg~b%;ZC0kBXwd?06br3k-md)1BRUx<-J1`Rw*$heYVeQ8IycHc zWnOk4eCn})lK|b0?EoKKVr*Oe9^He&$NDswxkKdgLoa2~mG1H-OIB?MnL2{GkRRD9 zu2W=#hAw=>^Dd`4@-{EBt9qje0&QE3akLVCjR9(D$WhK#?J~YQOUjJAsXULhbj4tdD~pP+C3#a*3g4OAl5gZPRjn6N7YjMc&E+ zWubA^5a^79eRaN zy+uXs<4HMoE2aWr=h+7^eq8xftB#AK?Nyyf=_ExNT%9|)8p&n_Z4CruFpz>}Xt%*) z_Kakm1ln<~A64C|8&#PKyjU^6(PtfcA^NekJ7=rRp&y6ukP(!rSd_vaua{A9sHabI zJ6T%uc{O0sI4%;(tJxi;!THlrKI5RPtaZ*twhXY_>PFYKSK<-X%$D1TTpxh;_EFR2 zh44nT@u>gQ1-_xkIJwh^`F2+XLb0TBcx{aJS25Pb9U6WX^4)Nw+b`RD+b^=09u~s1 z6nq>qSx<6z<=XQbCB**RPi0Y(-y_Npycbie1k#;3wwBXPnicY5raqVFdqX6p z&uV0Z6#04g;&EChk0-E z73OGWuH{_2w4|cF8*?vgJk;|%gm>x_>w|M|?09S>ab0!Y>S$9eAmZwKsF9_(0y|uc z2aJ@X!gbgxHE+n@e6CZhY66%lZ7wi$>pS1cisHWKed8neUMgHr-6h~-erp5bI8LAY zVZA8G1c%1}U0*Xs7Oe1{zV3N(L`W(a4-iAEYsa!d@EN}lA@)7O*N2ysoXWn|vU&ko zef5@gkFex;C`=tv(;XzAadKb-F3=__V7pn&%!$t(`t&(hNY1N!`DRy%Q1L|}p%-Qz z#bb-_YN|KD1@nzuh%DBEil2`NZt4u_Jm}H7Qpa`rTpmlOLWwT$mSQvzb5>6voBduc zAGfo1bLYDn$9VZ(Px%8%;Ec{-Zd(y}M^ZIGwrt8-v3YLw6H=euV&)UNpZX37Ud~$g$x#pu4SSTbrOmR zr8UDo&~+m)D0%;xgTjynrO?>N_O;rG*~rqwo*_YJAVhNnmP?B}dDF>i({7q0xdhld z+bTPmi9?>zZH{aEn@Sq$9Ejx<3saiEokmvbwKL^YOF%8SvOq+@0t%%De=pPQU&7_ zBwVFT+_fqJUHbZM>$35r&WC_11H)qSF8jd{1ak^o4#2dP>i!=aUOq?+LpfR z&R%?{-_XIm7n?&H&BU(%)=E5}!o9s8j?MO5)9699f zlS#~_3zUJmaA@%+tX6<#r@ow`#~{-T(Ah6PL!O0gB99qbme9TgBHIQ6CWUqIV>t+) zyH0E#$I>-OzuX5>o>k@=?T@1E=g3$3(G!BrmLo(UO$=lNW)U(ijX!LXF@O6)M^sB> zAwm?uE9%JfgT|hzcJaBptb3F!j$bkp*PM z?xN>&N9-fUjO-*l#@DT#G(9R~}!^W&a=xn05okBjNXwHlWMWdd1`DOl1>XmVG zL3NqF>e|&QyARcI9c!(wJvf(eE3cA=r8O%JQvr7fPhH4QF6bW!I!Lx|c6YSlYo}yR z>v0er`kewH1=W2cxCAt3=*msnhh2FOM$h56V$-LNi+$EBbsxXqSEPMuRJQLI)cv^? zNJ%~(I}vlA)w3eGl&0+c5QsEul6-Jlt_Uiy@L?^TGShcvoB7%|^_+6cm!|k}2(R`R zy~s&T-q0$kl-h=|V{N(v7F4rqsD01&F}N%`bD=;c_+ z!-jpc=v}O1xUZmGv;Sd^su%}!4Ll7F|LPf2$|D_d$P&C&s@d~YCauxsb;-B69HnjrF}9UN68Li@r`MD zrDj`Y*ltc;up^6eYBSt)4hjz@vMdxf+joXZjU-p8qIb)ln9D~ySwFZhAv^GKIlF%Sb$gQm$X z8bb1ZUN#FU?8mr+*&Y@9B9CDK(l=(h?{p0bGx`s;3rKQ&VPkuhBAsSpRd!4Oh=^D~ zS!-~sH;Tp?u&R1_=34P!_adTR7(L{oda7rANP3RGdM$A@%hgxkT?agHj5u-hee(G5 zu6w%?gbY7YNkUo>-Dby$E0R_u>1Ak1Pt}vYO{E`(N=JqiP(ILCv_rwgIev-9H+<(L zJceCHaRw88?LzN$pz@`;ddynw3(^jj9R-byRW-1ts_$10~W|DRW|`6JRtdWRf>LarYE=ngac(Pwokb6B}6i?2BYX837g6 z26czM-m`BGKRbSeX_~UP2TV(z#hic{FU%_%tJ8VIsxy8M89>>@avj7=c+9GjfKY>) z%Kp*_(6aYgA>&}nS0-36oC>eySj=TLR?m?UBt!}skT|Ux#{qYjun5N@?K1mpB>AJm z^$g3G9|cGE-NRp*R76Hyi+2IXDKZ#MQaE(in)P~+>GypG(ub)5==+w^vXTy*LCD1d zGfM0f7OFU`u^VC9pGK)y8ZS2ImE`f&uM&B_S+3P`_OZMBPg@xFSO*s1ho*gGlZ7@M z8;Z6sSy$PtE1+KYFt70^hLZ>#34$orfjr+K# z{&Ut=;MX8N^5=yXZP4%JKY2XijwDv@5SVhZJuH>ou>bC*IN{UHVLv9Q5r?F_LRrg61CH_z|a3XWw^&s4q^R z8cqF&-mRT57+mjtlc{Nz+bW3Migs;ctq9MQkSjj4n6!6i034BmUtYxBEjjHd{@4=) zK+48rV}?96-21g>Aa^^&j*S;P6QV4pJFY7JVND5D%a6M9Ul8F+G_yhi_Wj zALHPXuY*S4Lsv7J=jmz?V&-bgfDHfjVOcMg%<;Yi*r?JpGFVZpYv?n3N>_wGO^x$) z7a?OxwFMKFhA~i10nTsTsIUU1CRpv0eNpY|S-A9~3Z)miKFzjM{!~GE{b&@P_6hMZ zE5r!c^4!f@wv+JcyWLFgfmTk?cxT#cdtJ50h85@zCBcnwt(6DEE#;^D+&SzsYqhtF z9!m~Ur=Dw+I0hiM(F&C1fKl|C86<(g$b)Tl0o;h zCSMMBt8RZ^{GyT5LUOw~M5~{|rXhd)g@JaGdNRJviXQkG<^y0k9Jw;*}qr71Adn_3-#eK(CRqG zx0g82_Q*q)q-XDKzgcVaM zAwaR4$6VB?Axn;l&R_wMwneC*W}r5xiPFW_CfKUAhe-w(;OTU^ws1z5u1MOEHt?tDy2q#8K`u^TVLhH~#0J&Y zu6`}Y!rI!OFUhJm^tHv%^*sYTMm;@mRzNF_Xi84Jji?w6cYL1jF^>184ifQ9n!5N3 zt=dRCaTvb&Jv>=v$&bGpl9>NdvQ;i8H!x$E=vnl@`PIDu2LRiWH7S{`Y56pff|x-K zqU+5juO0}Uj*}A>LW|#jgk6l)vaEFblRev3NqO#9dTI8#hgPD?L|6U%uD1-nQ%>QC zsXui2+M^e0?4Uz=5Dr%?#2b8VI>cHCBU?FJce%^zz{~trV`Z%CXHS=cWCMH}tjkdN zGSD~qGrEIPOf+ly4FQPS0ZnBk&+@I?lTC;;)l`dN?XA?xiI2_+Z7wCfvpUW+x_nwS z@=lnp*)A=12Knt<4%kEhX`QcP9%mYJ>81L1Z)rcSjXW-NCz-h?e}LC!B$pVWp2%;K zvP3c(&SYZlO1tFW#n9Rk7Um)Qgki021&*RvK(0KO41Qs z9GiO5L-s15LGr{dRd zndZ&%-C!4RZYL^S#5c-$!E2j*I|13wnn!HHJL5JvDZxGH^Pby!A;|;R`sL(V5Yij- z{r20}l1`t6vz7jsqZ=;ZoabQ|rLT{>?H5G)0m#|BoRI6g`jvH%rqUiey;i)P85EbB zQ=`x4S#qsf3PIACC)%SINzO!5FF$8EPU>a)4-S7Zl=$&DJ0Nix`5MgBJ`rPl7!)lp zmMn+~mL_TjSbE!67CY9KawCXW38^BazzN7p!{Sm2C@k@RkSzy4N%rKYT{ KRHa}O`M&@%#110> literal 0 HcmV?d00001 diff --git a/attachments/2424860.png b/attachments/2424860.png new file mode 100644 index 0000000000000000000000000000000000000000..3be730d995b4fc2b2fab4cfc51f7b26bdd3ba840 GIT binary patch literal 13454 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¨oWo~!(WOmq=FNvc^@|MzA8!F0lXQfIhA@b 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 P4`D|7rh4VNj?w=Hd%t{9 literal 0 HcmV?d00001 diff --git a/attachments/2424865.png b/attachments/2424865.png new file mode 100644 index 0000000000000000000000000000000000000000..3198ec673f57589615eb3843ea934421c3d71d50 GIT binary patch literal 8691 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 literal 0 HcmV?d00001 diff --git a/attachments/2424866.png b/attachments/2424866.png new file mode 100644 index 0000000000000000000000000000000000000000..23f059ff7a8c61aba697f500202937a66ccc6cff GIT binary patch literal 9853 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 P4`D|7rh4VNj?w=Hd%t{9 literal 0 HcmV?d00001 diff --git a/attachments/2424867.png b/attachments/2424867.png new file mode 100644 index 0000000000000000000000000000000000000000..3be730d995b4fc2b2fab4cfc51f7b26bdd3ba840 GIT binary patch literal 13454 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¨oWo~!(WOmq=FNvc^@|MzA8!F0lXQfIhA@b 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 literal 0 HcmV?d00001 diff --git a/attachments/2424872.png b/attachments/2424872.png new file mode 100644 index 0000000000000000000000000000000000000000..81d998370f05bae7920865d21a47a0be7a4500db GIT binary patch literal 12676 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 KRHa}O`M&@%#110> literal 0 HcmV?d00001 diff --git a/attachments/2424873.png b/attachments/2424873.png new file mode 100644 index 0000000000000000000000000000000000000000..5dd51a57a21ebf4046b6d6006e84ca35d6d493cd GIT binary patch literal 10960 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 literal 0 HcmV?d00001 diff --git a/attachments/2424874.c b/attachments/2424874.c new file mode 100644 index 0000000000..a09f6ab089 --- /dev/null +++ b/attachments/2424874.c @@ -0,0 +1,145 @@ +#include +#include +#include + +typedef struct _CustomData { + GstElement *pipeline; + GMainLoop *loop; +} CustomData; + +/* Process a color balance command */ +static void update_color_channel (const gchar *channel_name, gboolean increase, GstColorBalance *cb) { + gdouble step; + gint value; + GstColorBalanceChannel *channel = NULL; + const GList *channels, *l; + + /* Retrieve the list of channels and locate the requested one */ + channels = gst_color_balance_list_channels (cb); + for (l = channels; l != NULL; l = l->next) { + GstColorBalanceChannel *tmp = (GstColorBalanceChannel *)l->data; + + if (g_strrstr (tmp->label, channel_name)) { + channel = tmp; + break; + } + } + if (!channel) + return; + + /* Change the channel's value */ + step = 0.1 * (channel->max_value - channel->min_value); + value = gst_color_balance_get_value (cb, channel); + if (increase) { + value = (gint)(value + step); + if (value > channel->max_value) + value = channel->max_value; + } else { + value = (gint)(value - step); + if (value < channel->min_value) + value = channel->min_value; + } + gst_color_balance_set_value (cb, channel, value); +} + +/* Output the current values of all Color Balance channels */ +static void print_current_values (GstElement *pipeline) { + const GList *channels, *l; + + /* Output Color Balance values */ + channels = gst_color_balance_list_channels (GST_COLOR_BALANCE (pipeline)); + for (l = channels; l != NULL; l = l->next) { + GstColorBalanceChannel *channel = (GstColorBalanceChannel *)l->data; + gint value = gst_color_balance_get_value (GST_COLOR_BALANCE (pipeline), channel); + g_print ("%s: %3d%% ", channel->label, + 100 * (value - channel->min_value) / (channel->max_value - channel->min_value)); + } + g_print ("\n"); +} + +/* Process keyboard input */ +static gboolean handle_keyboard (GIOChannel *source, GIOCondition cond, CustomData *data) { + gchar *str = NULL; + + if (g_io_channel_read_line (source, &str, NULL, NULL, NULL) != G_IO_STATUS_NORMAL) { + return TRUE; + } + + switch (g_ascii_tolower (str[0])) { + case 'c': + update_color_channel ("CONTRAST", g_ascii_isupper (str[0]), GST_COLOR_BALANCE (data->pipeline)); + break; + case 'b': + update_color_channel ("BRIGHTNESS", g_ascii_isupper (str[0]), GST_COLOR_BALANCE (data->pipeline)); + break; + case 'h': + update_color_channel ("HUE", g_ascii_isupper (str[0]), GST_COLOR_BALANCE (data->pipeline)); + break; + case 's': + update_color_channel ("SATURATION", g_ascii_isupper (str[0]), GST_COLOR_BALANCE (data->pipeline)); + break; + case 'q': + g_main_loop_quit (data->loop); + break; + default: + break; + } + + g_free (str); + + print_current_values (data->pipeline); + + return TRUE; +} + +int main(int argc, char *argv[]) { + CustomData data; + GstStateChangeReturn ret; + GIOChannel *io_stdin; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Initialize our data structure */ + memset (&data, 0, sizeof (data)); + + /* Print usage map */ + g_print ( + "USAGE: Choose one of the following options, then press enter:\n" + " 'C' to increase contrast, 'c' to decrease contrast\n" + " 'B' to increase brightness, 'b' to decrease brightness\n" + " 'H' to increase hue, 'h' to decrease hue\n" + " 'S' to increase saturation, 's' to decrease saturation\n" + " 'Q' to quit\n"); + + /* Build the pipeline */ + data.pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + + /* Add a keyboard watch so we get notified of keystrokes */ +#ifdef _WIN32 + io_stdin = g_io_channel_win32_new_fd (fileno (stdin)); +#else + io_stdin = g_io_channel_unix_new (fileno (stdin)); +#endif + g_io_add_watch (io_stdin, G_IO_IN, (GIOFunc)handle_keyboard, &data); + + /* Start playing */ + ret = gst_element_set_state (data.pipeline, GST_STATE_PLAYING); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (data.pipeline); + return -1; + } + print_current_values (data.pipeline); + + /* Create a GLib Main Loop and set it to run */ + data.loop = g_main_loop_new (NULL, FALSE); + g_main_loop_run (data.loop); + + /* Free resources */ + g_main_loop_unref (data.loop); + g_io_channel_unref (io_stdin); + gst_element_set_state (data.pipeline, GST_STATE_NULL); + gst_object_unref (data.pipeline); + return 0; +} diff --git a/attachments/2424875.zip b/attachments/2424875.zip new file mode 100644 index 0000000000000000000000000000000000000000..f92f1f3b9383e0e1a78241336f8607c98c473943 GIT binary patch literal 1875 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 + +/* playbin2 flags */ +typedef enum { + GST_PLAY_FLAG_VIS = (1 << 3) /* Enable rendering of visualizations when there is no video stream. */ +} GstPlayFlags; + +/* Return TRUE if this is a Visualization element */ +static gboolean filter_vis_features (GstPluginFeature *feature, gpointer data) { + GstElementFactory *factory; + + if (!GST_IS_ELEMENT_FACTORY (feature)) + return FALSE; + factory = GST_ELEMENT_FACTORY (feature); + if (!g_strrstr (gst_element_factory_get_klass (factory), "Visualization")) + return FALSE; + + return TRUE; +} + +int main(int argc, char *argv[]) { + GstElement *pipeline, *vis_plugin; + GstBus *bus; + GstMessage *msg; + GList *list, *walk; + GstElementFactory *selected_factory = NULL; + guint flags; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Get a list of all visualization plugins */ + list = gst_registry_feature_filter (gst_registry_get_default (), filter_vis_features, FALSE, NULL); + + /* Print their names */ + g_print("Available visualization plugins:\n"); + for (walk = list; walk != NULL; walk = g_list_next (walk)) { + const gchar *name; + GstElementFactory *factory; + + factory = GST_ELEMENT_FACTORY (walk->data); + name = gst_element_factory_get_longname (factory); + g_print(" %s\n", name); + + if (selected_factory == NULL || g_str_has_prefix (name, "GOOM")) { + selected_factory = factory; + } + } + + /* Don't use the factory if it's still empty */ + /* e.g. no visualization plugins found */ + if (!selected_factory) { + g_print ("No visualization plugins found!\n"); + return -1; + } + + /* We have now selected a factory for the visualization element */ + g_print ("Selected '%s'\n", gst_element_factory_get_longname (selected_factory)); + vis_plugin = gst_element_factory_create (selected_factory, NULL); + if (!vis_plugin) + return -1; + + /* Build the pipeline */ + pipeline = gst_parse_launch ("playbin2 uri=http://radio.hbr1.com:19800/ambient.ogg", NULL); + + /* Set the visualization flag */ + g_object_get (pipeline, "flags", &flags, NULL); + flags |= GST_PLAY_FLAG_VIS; + g_object_set (pipeline, "flags", flags, NULL); + + /* set vis plugin for playbin2 */ + g_object_set (pipeline, "vis-plugin", vis_plugin, NULL); + + /* Start playing */ + gst_element_set_state (pipeline, GST_STATE_PLAYING); + + /* Wait until error or EOS */ + bus = gst_element_get_bus (pipeline); + msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, GST_MESSAGE_ERROR | GST_MESSAGE_EOS); + + /* Free resources */ + if (msg != NULL) + gst_message_unref (msg); + gst_plugin_feature_list_free (list); + gst_object_unref (bus); + gst_element_set_state (pipeline, GST_STATE_NULL); + gst_object_unref (pipeline); + return 0; +} diff --git a/attachments/2424880.png b/attachments/2424880.png new file mode 100644 index 0000000000000000000000000000000000000000..5ca55dcf44de61d6ec42b92d17a9e04b48860d33 GIT binary patch literal 8532 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 EUz^0+4gdfE literal 0 HcmV?d00001 diff --git a/attachments/2424881.c b/attachments/2424881.c new file mode 100644 index 0000000000..2ccd06940e --- /dev/null +++ b/attachments/2424881.c @@ -0,0 +1,55 @@ +#include + +int main(int argc, char *argv[]) { + GstElement *pipeline, *bin, *equalizer, *convert, *sink; + GstPad *pad, *ghost_pad; + GstBus *bus; + GstMessage *msg; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Build the pipeline */ + pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + + /* Create the elements inside the sink bin */ + equalizer = gst_element_factory_make ("equalizer-3bands", "equalizer"); + convert = gst_element_factory_make ("audioconvert", "convert"); + sink = gst_element_factory_make ("autoaudiosink", "audio_sink"); + if (!equalizer || !convert || !sink) { + g_printerr ("Not all elements could be created.\n"); + return -1; + } + + /* Create the sink bin, add the elements and link them */ + bin = gst_bin_new ("audio_sink_bin"); + gst_bin_add_many (GST_BIN (bin), equalizer, convert, sink, NULL); + gst_element_link_many (equalizer, convert, sink, NULL); + pad = gst_element_get_static_pad (equalizer, "sink"); + ghost_pad = gst_ghost_pad_new ("sink", pad); + gst_pad_set_active (ghost_pad, TRUE); + gst_element_add_pad (bin, ghost_pad); + gst_object_unref (pad); + + /* Configure the equalizer */ + g_object_set (G_OBJECT (equalizer), "band1", (gdouble)-24.0, NULL); + g_object_set (G_OBJECT (equalizer), "band2", (gdouble)-24.0, NULL); + + /* Set playbin2's audio sink to be our sink bin */ + g_object_set (GST_OBJECT (pipeline), "audio-sink", bin, NULL); + + /* Start playing */ + gst_element_set_state (pipeline, GST_STATE_PLAYING); + + /* Wait until error or EOS */ + bus = gst_element_get_bus (pipeline); + msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, GST_MESSAGE_ERROR | GST_MESSAGE_EOS); + + /* Free resources */ + if (msg != NULL) + gst_message_unref (msg); + gst_object_unref (bus); + gst_element_set_state (pipeline, GST_STATE_NULL); + gst_object_unref (pipeline); + return 0; +} \ No newline at end of file diff --git a/attachments/2424882.zip b/attachments/2424882.zip new file mode 100644 index 0000000000000000000000000000000000000000..d122152c6f8ef1a17bd43a9ee89bc0bdfebfd8ef GIT binary patch literal 1849 zcmWIWW@Zs#0D*-aw;jL?C?O4`%ZiN*3=Q-PauO?(5|guaOG-=fi!u{)bj|expc*+C zp7-8z*!%u}Mg|K5gS{{VgBgB}SPauEORgv=%FlWlemC!xo4~&HSIQl(SvJKqD4sm& z&uphOTFRy7 z({cVvLx-lu%?syhPvxvNcrfSW`p%h$5AaBp1tu<=@_q6;?`$@{iK6XMP2P5aqTSZJ zc>53RV0S8iVzFV#`|#E5QdT-5ucmX&>3gs*{KX{04Q*n_FFbnJ;#cb^Vl{c9(W>X3 z+|$<`t&x_R#hG0H>+QTAtI&a?t33 zS87MSoN~9}M!8d`!eassojNY+t^ML>nITh-;MNl+&g~x!6TN@cHy+K8xgmJW@l2_$ z+<4b96uYs5LWOtsKj|&%aZJgcqZQ+-#qUWbcFG{OEyt*WAi_Ll= z|M^|*(^9&^#pHFS_=Z}vcgcIr-1Jsdx;N>Dm#gkU!^IO8&9s!&u`!r6@AwMQfBO$D z36QzJd$Pc-_m?&*G&Pw_`7p8S{CQz_W2KIz4qqH4%k_?4ls5SK@@3SAZKtjCn(OsH zb6)zq^ve76IgHN?T(^C(ah3g5eI-UPCHttgL!S4o)R$th=S-5T*B#)U(HAFbH@7f4 zNnOA6dYs>**XJ4jW^1?lJPV9CykTc|=GuA78xy*t&rS6_nkD4#6Iv7Ey{YOE-?I>{ zNUePb{R;J;hE9)eQOxvNGgZxcB{ta-gnvW zEMc*Dpmpd`d(zjE>+hdhz5n=o+s5Ass}Hlb?OJ&KY*PfILafH)W&_O)i;RD#E0}dG z^{96&^Ka?q4>kY6V0`F4b4}5Fxn-+n9>2b1QqRS>*z=W>7Z*&>5%V~C)F?9ZPJEpF zoB6$GzWt1So^$0@?Dy)s-)B~&& zDtyd(VQ=lk)7Lz| z-L*Lx_UBGsYxu;B#j18@llLE9e*efZd(^Tk}`hT8EJSSyid2P{Sdyjj^m<}m}I LBqIX@7nlbCg@Yhy literal 0 HcmV?d00001 diff --git a/attachments/2424883.c b/attachments/2424883.c new file mode 100644 index 0000000000..86732a2a61 --- /dev/null +++ b/attachments/2424883.c @@ -0,0 +1,147 @@ +#include +#include + +typedef struct _CustomData { + GstElement *pipeline; + GstElement *video_sink; + GMainLoop *loop; + + gboolean playing; /* Playing or Paused */ + gdouble rate; /* Current playback rate (can be negative) */ +} CustomData; + +/* Send seek event to change rate */ +static void send_seek_event (CustomData *data) { + gint64 position; + GstFormat format = GST_FORMAT_TIME; + GstEvent *seek_event; + + /* Obtain the current position, needed for the seek event */ + if (!gst_element_query_position (data->pipeline, &format, &position)) { + g_printerr ("Unable to retrieve current position.\n"); + return; + } + + /* Create the seek event */ + if (data->rate > 0) { + seek_event = gst_event_new_seek (data->rate, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_ACCURATE, + GST_SEEK_TYPE_SET, position, GST_SEEK_TYPE_NONE, 0); + } else { + seek_event = gst_event_new_seek (data->rate, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_ACCURATE, + GST_SEEK_TYPE_SET, 0, GST_SEEK_TYPE_SET, position); + } + + if (data->video_sink == NULL) { + /* If we have not done so, obtain the sink through which we will send the seek events */ + g_object_get (data->pipeline, "video-sink", &data->video_sink, NULL); + } + + /* Send the event */ + gst_element_send_event (data->video_sink, seek_event); + + g_print ("Current rate: %g\n", data->rate); +} + +/* Process keyboard input */ +static gboolean handle_keyboard (GIOChannel *source, GIOCondition cond, CustomData *data) { + gchar *str = NULL; + + if (g_io_channel_read_line (source, &str, NULL, NULL, NULL) != G_IO_STATUS_NORMAL) { + return TRUE; + } + + switch (g_ascii_tolower (str[0])) { + case 'p': + data->playing = !data->playing; + gst_element_set_state (data->pipeline, data->playing ? GST_STATE_PLAYING : GST_STATE_PAUSED); + g_print ("Setting state to %s\n", data->playing ? "PLAYING" : "PAUSE"); + break; + case 's': + if (g_ascii_isupper (str[0])) { + data->rate *= 2.0; + } else { + data->rate /= 2.0; + } + send_seek_event (data); + break; + case 'd': + data->rate *= -1.0; + send_seek_event (data); + break; + case 'n': + if (data->video_sink == NULL) { + /* If we have not done so, obtain the sink through which we will send the step events */ + g_object_get (data->pipeline, "video-sink", &data->video_sink, NULL); + } + + gst_element_send_event (data->pipeline, + gst_event_new_step (GST_FORMAT_BUFFERS, 1, data->rate, TRUE, FALSE)); + g_print ("Stepping one frame\n"); + break; + case 'q': + g_main_loop_quit (data->loop); + break; + default: + break; + } + + g_free (str); + + return TRUE; +} + +int main(int argc, char *argv[]) { + CustomData data; + GstStateChangeReturn ret; + GIOChannel *io_stdin; + + /* Initialize GStreamer */ + gst_init (&argc, &argv); + + /* Initialize our data structure */ + memset (&data, 0, sizeof (data)); + + /* Print usage map */ + g_print ( + "USAGE: Choose one of the following options, then press enter:\n" + " 'P' to toggle between PAUSE and PLAY\n" + " 'S' to increase playback speed, 's' to decrease playback speed\n" + " 'D' to toggle playback direction\n" + " 'N' to move to next frame (in the current direction, better in PAUSE)\n" + " 'Q' to quit\n"); + + /* Build the pipeline */ +// data.pipeline = gst_parse_launch ("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL); + data.pipeline = gst_parse_launch ("playbin2 uri=file:///f:/media/sintel/sintel_trailer-480p.webm", NULL); + + /* Add a keyboard watch so we get notified of keystrokes */ +#ifdef _WIN32 + io_stdin = g_io_channel_win32_new_fd (fileno (stdin)); +#else + io_stdin = g_io_channel_unix_new (fileno (stdin)); +#endif + g_io_add_watch (io_stdin, G_IO_IN, (GIOFunc)handle_keyboard, &data); + + /* Start playing */ + ret = gst_element_set_state (data.pipeline, GST_STATE_PLAYING); + if (ret == GST_STATE_CHANGE_FAILURE) { + g_printerr ("Unable to set the pipeline to the playing state.\n"); + gst_object_unref (data.pipeline); + return -1; + } + data.playing = TRUE; + data.rate = 1.0; + + /* Create a GLib Main Loop and set it to run */ + data.loop = g_main_loop_new (NULL, FALSE); + g_main_loop_run (data.loop); + + /* Free resources */ + g_main_loop_unref (data.loop); + g_io_channel_unref (io_stdin); + gst_element_set_state (data.pipeline, GST_STATE_NULL); + if (data.video_sink != NULL) + gst_object_unref (data.video_sink); + gst_object_unref (data.pipeline); + return 0; +} diff --git a/attachments/2424884.zip b/attachments/2424884.zip new file mode 100644 index 0000000000000000000000000000000000000000..deb1b61528ce6e7e1ae2e5e3b728d61c50694a52 GIT binary patch literal 1826 zcmbW2X;cze6vrVlO$+x(!;zX4(^SkQS6nJHB||NgJlU9;l8Fnbxis!uCSzHWr6TTF zj%gycj8-l!ntN`!lDLB~S}q9<&eZ9{ROigxckaFKeYn5#&U@$l|7bhVMmfNG?DLth z_X0k%e zkH-E5(hByt=pX2Jp5^T8$F!CbxY0fVu_3!w0IE*{j)0IrRXt;wJPR#;RNS`kD0bN& zJse||ODmrIc1m|$J5NJL$H)dMCzz{Y@xVnOLANH%_I@E{!U}0XEkO!p>>?xfHFhGCY(C% zqR!&y&UT)RIdHb0nlXB|{5mV+s!~ z`^NF)pa<_9HqAygvo;G}Clz3htX!6`b(t=}R9D61_{sA3*9ut&e;6?SsmhVe!V*v$vgU z(|CTrc#f))$-L1h+I-eY-k!>Ql#l8lrIcZGE)?WtjNWvx>1fF!DVre%a-NsS3x-D> z)JXF~N5t5YQz$7*OGVpdo5z!r$@wbM4URDD+$$zz=IGXotBXX9iyv7^`=8d4SD@1? zjx$SktpI`x%rzk=56ss;UnW*r#st9_aCRjzMa%0}1;cT46Y6lexN>WaW<`4MLsxA$ zFEt}dKu@(&?NYnz-Z$7-g=y=uxYwvT`KsWIZZf>+6|z(XYZf4?p?c1-4b2eze&>|P>G&==u)rkOof^WHPFk{l?UOvF~SUzFe z9FWEZ9ZF1I&U^|nB40{j8jI-H?y|&vhE5uaw}!9IFWXK zf~Qa0ty|UGO&A_mgYHfdaSW`m$0#n5d+9SP-E%>l)yXanH%t$@*gB%@+hGolZKKN_ zp!%JW?(tH3@q&{2lZq7{Rx0D1TvUs+rLT@|c&6m5M#dv-ayT&8Mp|^W(wpB9vZnsN zYeX<6Yw7UHh8CaZRA@>^(_)gWOd=3+JD8H9+e5&^+Y4=Mrq}SCKk2Exyf0eBa$3Y7U<>M+tC|4|D z8vifZ(mIE`K=ceG93?#xe}>o|AM!Lrtp9dZk7WUw8cQTd!N~@EpP!EiuG#U1pb@)I zKMezo?VaTE0)AqIW8CPwWL@AL<9hBoD!*(D?#v=6MkxDwWA{S(hnXUAaM6P-lKHQE zrdMo$kovsy-}*Np^fR9$G@<{_|MH7yJCRN6ERb+X L0s#QN$olCofYl?^ literal 0 HcmV?d00001 diff --git a/attachments/2654239.png b/attachments/2654239.png new file mode 100644 index 0000000000000000000000000000000000000000..6eb5fd689d83ecbf915b457b908b487b46fc9bc4 GIT binary patch literal 5145 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

{FHa9)sZR7ZvZRbE_j>UC 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 literal 0 HcmV?d00001 diff --git a/attachments/2654325.png b/attachments/2654325.png new file mode 100644 index 0000000000000000000000000000000000000000..5c408883264053900db94cf39a7eafec8da632d4 GIT binary patch literal 32274 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

{FHa9)sZR7ZvZRbE_j>UC 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 literal 0 HcmV?d00001 diff --git a/attachments/2654326.png b/attachments/2654326.png new file mode 100644 index 0000000000000000000000000000000000000000..9bb94b2e7a6d625ab7dab5ce743baf617ac5ece7 GIT binary patch literal 35440 zcmb?@2UJsQx;E-jP^t}(dJqxmNbel!geJWS0qN3v2Ma}%D!oeyNC~}{L_t8hgiatx zC-f3}`#xvD(zEvj31czDE$3Njjac-MZ% z!@G`0a20&Q?U2O_{=4QXrKm+fK!Bc6`-O-1JD#GLqaZP$(F%6@Z3 zLdDmAM9c1LlMQ?rVcpPL#S}tqhaEmVw@22DR5$LUOYN&`s#A54a0A0pRvoQBev6S6 z(7&6ocJe5B9pf4hNYox36#Yv!ZhEzVl+Jvyr{2op<>I>VQa}kASi^t5UQ07Y;lSIk z`H}ZDZe<0NOIb7IMoST}RFO;3ze?1g%8O3_6gFZY4Bmyx-@8JHhldNkr$GP@Hl<9^ zO-bPE^^Z}oh10AHO_ax{-{~4pj6F_@$YluHvREQXlIXbG2?^!raATd&Lhe+{n5C0R zS-X#6Momp=5hbuVDS|UBQ3f8~FKG>`gi#_Zy%=^ioeVCk&$s)yrIQmRpQvcEb%a%; z*VTt7lI*^y@DGjI_j=gILLQTfWLX@)%NymYBDqII#l7(Tk8hvdFn0{v3iqovCki!L z7+|sCqTBmXbLkE9PS@F6xo;5?!s4{GwQKC@^K$U;UbiaVVu72CB|_Ke`C6c2lY&lV z$;nn;XD9Fl_n!viiuvV_)f)v7p1ywlH8Oj2jd1-h8Hpq?)5Y-2+bpzfab~g=O%H^n zQs~93e0W`Vq9msx1r!JE#%mA(y&4wzBulC8nvz#_qIfklx^Rp;@9x5@6EsMu1=c<( zaoX6~`OStgQ&CY(Qgh?s9VSs4L%+BwTjSg=KF?%KW}msln-Z`D$7v{VRQ)ut=7{5I z3dk{e&m8FFG;iLR#fq@!qC1JjZpLm8yzJs|k4$+*;%vOue_x>}os-*vHPrZp6~ z+b0@1N7J``4M?aZQ8$i%4)^oDqK@jDDt3lkGL59XDzTPwZPu&_L+yv0aU4XgTi3%) zzHc4o+OTwxN7{RxVctlKd%wHd+WuQD+}`J8!OOy%G&Dwvibq^KFW6~6bCm~nFC<1{ z$JD~>tc6?a;Yc^)X)6Vp)EAjzF4}z-6Gaw$5*n|gg~ZyL8j0iOocQ>7jV^^p8X6ir z9&2OY-r-xBn|n1IGX&YA2dt}VYQTr(VKOhB4~>)r=34Gg z!oNS~X;^#XXfr%#yoW3Cu%Y7V-rV-%4zpmJ`lKKn=}NHO1?97wCp~|hJ9!wwb$0C-SG!YFPZ8=-kN&&3RPi|lN>O~wO} zu>I4@5-Pu`DMa?CDbnfjf#EH5K;~0_RlAdrLZtZbxjmx0O7BYQ#f8?!DlYVYD)svt zJq(x2actfj87nul>PdR)Jp28R-%a#&cqVPM{+OA<9!vZE@-=gu= zY>k=XI1-P+Vr1L3)hv(DJ33xA(Afqftjo;mX@9(kWsSclC3w12;EXg(3EW6zyV$(a zSpQ5RS@?)Ic~C73aWFEnX;c!=5mfAZ6y}VC3jC_1*gPAI(v0B8UumLGokUMeWDi(B zd-hCDPVV@2jv=cX4Rf-xj~HDmcW&H+2M?Gtys}4*$E`9g=m_y%tKEgaIzQ7ZwDh#= zCt+i&{Wa@&{2`Q(CEi}Ne8j(6Zt#j6Vb);cHyegr$1Q@3=-ZtiDi-gT4mBTA1a6lt zhumi!M~^VUgDrl%nR(s89XAq5&V@kM79)mvh~Zku$7MZ#)Xm#U+Mydpwhqsv<<<_; z;!ryTuqrb`hL$-?0vj#K-7-k~V1JQJvCR>3cQIf9D%MmDQzv*pC2AyGP{)t}63we{;8c76zhL0EJr^d;iIg41@4*Sjuh zs)<*-uj-&{26qhukQa4xk*VCKZ!KusQw%|7axcg`KCV4qXJdWfv>1<>o$0EnwpVJ6 z)>turQO%e8iY<1yQM3BKs#3FRdvF}8D#*Ubyo=ZA$LoG0a!P?b)3$6cBMUBh#l#>| zub!6h*ER~777oP@6IxSg^xN`&I>!|ah^YEyrCPmY;e`v=UHq6YbKE?9E<3pwXraUI zTBX4|Qhd#OJ9(v4wQ~qRCpqs&6p_>D-UP)Gofg%~3SHJSmso5vRP*6D|=9 z6xbd?EoeK!j-1X6Fz-&_2)sC%Ug}A9T`9;|wk zo}M0?!92K8V@-X1Jy+;8JiJT-4OY?kFPPXucEJ!jHV!4`yPYdWVO{AS(h-pFaj}q1 zLLTMrtsBK@ew$yj5O0`J6hA#!^&17%wM#yAzPs@VF8gzJ+tAY9a8iB3F*#A0hBZj9 zDaXfOd-|ie;>9nsoxX;O#Z2VK&G8Xw_E?RSyhD?-UWbBOLn;x$SUSg%9^SN?gu@d1 z6HewK$R;w;$UtYmr=At)&tIBL8msyBgUrJY`ar)&cd%o&@tK*DeurDLv$JQ%6~zUb z`3Z4xM3mg0%@C~OQQBHs_rhch3=H&`e#85vDQ#!h%oDuXs`aC0E_;)_bkeR(pyE;C9Wq%+r$oL)c@!lMZ??6pg z-8xYhk-xJ`L7a=C{@%u-0IWLB-_VH{o+Wq@HT43zz1;8f-p!!a-gs}ryS0J#R9ZH% zSMX}q4wQXa4^9|k6rhpU@$e+n-B`zK&cyHAR!coVWSi@>2iQZ^Jh1DKBjddq~5a{W@vQDyNNp7(f<0X?&K2lFBsWwc^^cybIoZ<6VubjF)jp8U+mDr$yDC#-av)9O`S zH;?nkiLD`zGRNy|9hDkwen@N}d8A{$jZRHfcqs0QUSL;M@{4YeZK-|13G>fnV=BY88F9iVotFIMpSvF_<-})R+66ZwEgxR^lQ7 z&FL}W6UjDF?#^l>I4an*uQkkzBqpIx6n0nT^53@!(QQCom&3bL|+znDMd-(-6LpJfefrFpFdfB>!*I(KsnFXF$Cg!(ac*pDX9ot$m z+3w>G4Q!G+CeP)eGe6f4UJN2~YW-JfCj^=}IO`aMUiuAw&?OnlQ@dij)R(TJq5=Yk zxMeXXx=ch9a+86Tl{JCGkbHAVi~*=Scc81_=m0t=Dv)bHCEcM)tRluT{Cuvnt1|Uf z3dTpG!N++uk~lQFBS5v1>Xfy>ETxY#&OGmV>ca$MZDva8>Fdx)W>m!KiI$>3J%nX#ey zwXmoNU16c5qoZ?hrmX>iSFd>3X5q}^=Y&9E9wm8xc(RG?H_E(%Cv;0_9UifoK%C|) zJCa72ZjQ2X6u5SKaFtgKv$Ayl#V3LmKR1}c!j*lmRHbpQ#%!P0R2bgN-!FkWx^0sL z9HuGx>F0eYQi*@qe``4)ST2~%+X@=*+fK0xJu}?XL~b~1ty`qJE*ZyoZtyqKH^Fma zPhHQI2yPo8vlB0CvbLAyZ67H}DY;D!w`S;~^39^Lv>WAm?9Iq7K9$nZRL-BjgjAK3 zl=St-KQSrQI8055zqta^G!skkh)NMCKZ$PA@DAMV8!@PMG#N*JmgK2CtcT*%B?BrpU>zQkexV*~CfGU#!AZ6t1^%IXJ&g!gw0Unv zh~NcNRiW?Ec2gxHE^t2{bLINpg|`8f<@va7h@47Ti9V`fn-QNKHZ%e^r1!@S2)iy4 z(MyOKIb}6BHy0EX6c^jAj=+b9hc&wTt|+k#PhPdsNFfQo8B+Ll44$w%#MHgMj% z>D<)plW&b+)3$O`_8J-IG};lrA#Udn#li~<3X(3}7b)l6U%C96yEO-@m8cTM@~d++ zJ9~HgIh&SOk9JGCML?G+mH$aQ@MQV}^1SIl5RGIJ%Ir@}O-)TsW`Wr`I5^nZg}1$& zeb=n>@}h`v&=;eqi-$)OpW8uAC&9q8UpE4`%}&+9YGqH0C+Q3qqR2)1gAt70_sWc^Ki=#sQAi&Es8H2A?>6nM78Sf}-VOi9ip0 z&RH3W!y}QpWePEcJa`I!nQ3MH6-tFmI6MoMP)q2z5y3C)iEeK`=Bb2+@_kB9#-_A*Y8_4?g^cggv;}eg+s0|0`$rPjs zr3s`7S*i+Xr4u{mHuG)F4>6H+l z$h{|9KJP+IAE1^g?V_%9leG-B+?)6rnYEHWWUI}gwq|E+G)kxPH2E^QNt}`BNfS1O zwuvnAbBHY&RXIm?^+i|?ZyA#zTBkKF8j2oBNz;8s?G zXew+E93N1**hOwmIFBo4WuONp(wtsUasttQ!}*eqBz?mSv|(P`oSqNo?Mw_Y^qVDX z+&gKG<#|_$FVimjR@x829)%r7{nU8H5_I?;%i3%9LtPkQ+is;>HSV}!Q>oAT8y;RL z6nQOS?tO9eHY}Ehuq6ZE_|=$JOxa2OVFLCk^U`msG||pds$S94srEj88W0WukJQH& ziSQB&GfW45TMq9f4l5K$)D-}lZ&>yG3R#K`kM{11bFztC3ad@YG`??d=Sf2K;xz9m z>tLWpz+uqj)>!x-c{WGYd_ks9vW91-tT&&|D@wnOvd0b8pkHVa;Ng+fO0y4|DBQ+T z4Tju!eE)h$M)DcT*S@>9cHO2T^`)v9j20G5md7BS5VKwhd6=OnoTcxbHSpj~nJENF`Bh!E| z1SjyE$s+SRNb;jQe%wsT%)JdlX3pS+yr6G_hF?qJ2v}*3Ci2=yzDQn~5Rit%4V}Q& zPwUnv3Y&Q%e6*h9M?;I!cz9dbpPS-(zSJ7TaLnZErC2h}Dl$db-AITc6YexPRX~DI^tr2o!w$d3t+p%6{AIhL0M}eVji#bxIYP)M`*p z3XPSgSUu}RO#{r`-|!?uhP9yjjuhck{rl66B(GAI{nF-MeZ!sy-rsgZtkSrJk|-D~ z!Ba=6A>YY+tE}uDOf0H=jI*R}H%0g52LF^|j(33M?myBfGMq@@=PwOwD~c`9lK;$; z%NIn}ju_{NCoz+{$x-zsY`lN{mA=lPKrN5ULS2uu?0GAn767(5k7>(3)r{3K@9m`Q zcU$^Yh%L@g#@=aQT8OJ{6Rc($sg{|JXcy=(y9tl)=XUiwkM6kTt&Fs}Ar@i*iDJ=! z)aOG0?4Q*R5{H*w`4-+fUzC8e)-`6+>h_cyRPA(0MGAV$1xb`19y3ANDAV zqy*FCmKfA+kpk_;IhpnS57xH&X03TE`(2iBH(Lk?t0TXPGpg)0nSnwf|0QC#`uu7F z>g62f`@4@+91Lo7x4X(DP+|$>4`J?RV%0F=eIIEzZ6!l}G5w{n0_DW{DD$|9?FkHp;2w64w!+Ad5lmXI|QV?l~ z^eqOUSO!_OD@rLLWy&@X24ahe0j;_A75j@9Mzy988W_p^$qCd=~@V{;K>&S;1?@G(}c|}u^Y9X#epkR zT80_~rc@}~u4l<3#h-rRW}n-HFn8EqCmPHr#u8+i^AwmV4$xE<8LZPrl)LYh^Y@k) z2H6v?Q=*7`Pg^T*^l_J^F_)$WR#EW`SIhuT+Sx)BEZ&`EweOJgNcc$6nWk- zx+*>w&O1^HE!BcriG~tA*lDMB%!SsOw%+IvR*0)*FZz7>GCA0o0@pnK3d*AVY2UIn zFBHYLO2e#Bher*f?kQ$+;|Z;%kD-x^y#G%5aPKpv#ovmRGaqmhvjqKo=ungpG#KqP zVF#;vE~Qk8?c6ycY#qP5>zX$o8fuZm5EU(D1B*i$G}e(CQOSM#p2gUoF`_eyGN!oS z9FWwT%)2Byebo0o>@G1tI9|a)$#hxEWnP>v0ld$MisJtLDG#*$Qf44xbX7%A^>J*! z#K{`1=cKxkQE&cYeqc9;WyufnrokMep6GE*)8+)(3x>7v{+%)0z_tAaV&vH-O$I%Nlx7ywUf>rw6xv902Q(V&_f6@H7D|P zr?8L}7H3M?8bW-s?ieTvz;61pWqIiNPGZi0b;I@-^&HFo3?nGCAHR@ncFZg)o!?f+ z-F=TCGh!e|zCS~}F+013n~36C0$Fx>xjKP!Qov)!2JGX^{`_hW8mp-W_w-nDykAdt zZ#ytB1`E!!r3eTWx&2X919Mk%9n1)+NwI!NRXbOs1Mwp2cJ!`1{nqqZQgXSQ`1rU8 zan1xc(IB6qt_}T}9SvgFTW>DF!eXJr^>@6lw?{W$Gg;)nTGpVX<4vO2UpTB(!oT3EP;<*+K0&0h9h{y;3mAN{;O?MlJsxZ>EG*n*hK=|vbj2IiIuM7pdV70^ zn7(iy*5p1vmr*fHE{CfbhjI)&L0j{sBqn;c z5)1ZZh>P9{v%@qUy}_r`YxJ;Bv|-5X_iVebo94Zk{0^TqQZA=R2kvt?6I$yyjd_{` zu8whPC0&q?P|V_$ooN3Sc)uGy(xRC z)2DK_{%3omo=x9@Ks?4RT$lQ2#k`zY<0qyv|3!r!@~oXMi1~Eg!+1dGF%w;e#ixS^o zOm)2T2@endWmo`4Tu!)Rwd2D*RCGwkmO%j9yt)Bf2lxk%_dunN(5@4}t3}c@bqq*% z7W-Mm5Db`#-2JJzwT94k>RUlOJVAU7i7uI9-XCmIL_Igy+1PX;p2Exv3yq6C!fkvJ z6%{VyxFPLb%hpiRz}c{lP-1G!6iY)xLvBhM5J9|wtpQWKShJF>wwEVR z*U}Pm#58^Q@BxenEBhtT73|#=L1dcws_6pu6Ckr3g-VL?_~5J=f^1T9vu{X^B=#yy%X(gk7i)nUF`kX_L7hyKOk(M zUqrUeR$BG~`IcDdr~B4zx2I~b7!t&!rk)(mMX9Cm4OA4@)Cgqu3pz~J^#`8sk^&bz zKnBWph(a=t8X6j&KXIFKAN3Z?*jp7OU}&BBakP}VxqC$C_3O=4TG#{BRXY z&&I*QPn0wF2^t?%T|oN54^pNzoKA|B=) zFU#{Y116l)R!bT;3_lXS1=N85-~vn=BxPn!*ZcD%D?g6KM(tku@LgtApZ#$w+79pS zHi~@ZWH1S>OGrp?Q)=Y~dgE+Z&c>(rTMnVVj9Dl9UT23Lk|G;*SOBU~7<C>keMtLLWw);8q^rEhd+x=p@;c+{znJ1GVxLcuX`XvJ~%L5%5z8m$a z0`|8;TWc}L_NAj}=eU!Nlkx42{^BoR>gGQwwMS)go3;1Iek2cWodKzki-u%Vv{r*E zME%7JKk#IdJ3r`4kmn(d8x6eU>jt4myN+~%4yWB*NIUdCFilbWiK@uTn2oHHnnx@! zn-topz}-|q)g1?mi}MqJ?v0ihd0vV~IY|hJ zhdC3V0QF8YZ*McoDIDDn>&nG?Y!M;=b;3XBp z7ern-rNbhB2Hbnp2am9PvN05=p54h{yf&Ir^i?xRMvUfZ*>AB~Nw ztkn~*5(7vVys+^Vdh9yt>f;Ly!h?Ji?0Q?XAGw4hV=?Ea$^Cwo8V6u;3jfuI70mRZB}tIk|RVe2Crj&0>RU)~U4wLkIEos==Mz zT`-!e1dE7#&j@S6=A{AvG0~yMkhX+O5HvK39B(WIxe8_(oPvAg;JR^2ud-Tr=8P4djGbac=e z6GR5w`nh6fbWuseO5=3%`t-%Qr+k%4)PCx8lk-5fEY^A7Yuuzm5wVb9I8v-{hW0Qs zn>#%cyexyhd|954Rl_uS^AZN*z1{#VGJAL2$nCRf2M!_|bG;ZTC}vw&v!CjC{5|ud zU}XxQFuG-yuZF5nQ<@V?r9J4bYRr5|)QJ?Tq+I2$maB9JQP`yfS zHto)C9}cQX`h(;%Iy8iHCX1Y7H$L@Q8sc}v90ec)_g466KSmj>f_UVINcqn;7w$^)%pubWv986YiUcMiE+zs*&pIYTMBg;PjHf zbHhP6$YM+pirk&BEp;FF9R3(}=)bbF14tjEt9vCcj`}{_XA>p2*DM$U<;yB?Jiq0i zSs)eYHy!Rp>Iz5hf=rx$!e?j&nvwi8mk(nXj{r?$V^Uv7Pfzc8^mMoF6}$_{ODL@E zljpXnv2hzYE=&(AFp8la!Z|M@9yf zc}@v7M99^&1@d|%o%l*+ruh10m;vq3Wst)T=0m*~v<++Qux8iaa6U5y7M^EAPEO)? zI5X|GVS0MF9b!7a7?5;?>Zfz<*?MZ$ZfRwepZFD(we?wd3?ydSfNg!Esd_ICJ6#Op;vpNCbC5a21N!z8x40)&9YQ1 zRQr<-VKEdWL<`g{KMmOA0T8b}suM*i0qS#@R+I3E2F8Sh=r`Agd831g0fVl*3DwX! zNB>pB87CPCcFzZ-fzWr~Ob&)VL4bP=6>4vm7&kATpKNA6ovVYM&QgFB<^?LSe$maQ zjkf8Nhiq(05PdBzEj_)lqiq~>!}R8+m-)&N%K_%(9WG-dlJvwaZ0j8z%uJxjwSD<8 zdoJD5!UDoVNJt3cdk+TR^*c-u1qQbsH}xO|U0q$k*Voq8q?bL8aWM|V6i(-PulJ4-g8P7HU)h-L7Skj^APlir< zl~E@VG#%cn@P*n*mu}G7JvD7P?2KhbZnsm1J|`24QFsNv*sn#Nt>_{*jF-izBJy;r z5z3@7(n4PmEEJfp`;W&&h);fu5xRzyqxz5y+!n#~M3t$z)|4c;NO&sB(r_ zXS(w>yhu3!H-;tX?H!AA_)@vb&HIbF>KWY3hjSnrIgX88-CUJW(?Y!5-aX4tKaw{e zqm;NDKod4vGL@gk!)!$UjK!jsnMz=^s;Wk-l)d!HxWsahy0jV%bzkS&0vU+FIuK%7 z0}TU%22c*Uv92^lH9Bqu|`HS7C34HFbK_7~U_(Q_-!1<9^d-BHH?t5wg< z!x`A9-#R|>d~SBn_h2m9<(D<1>t_@wlSnu2!?nA@1go@5rh`X#LTo^y9!sv~E) z{Rwa8k+Pgz$cAErzM^87DJ39j6qS~$g(|__g=pwRs=l|~SyD=1*M6G^&JpPX!)F}!+uv%i1Z5vrSbhq4*BHDUYF9xbsqq=`>7wuuVj@|z))$mB{^ zMx5=V&uE>%J>p!(D=a|Dqh%Jp6GlX9&~k$v?+-4Lg;=2x8uaN}L)Wlxl?c0N3am=| z;RsH3VgJHEu)8^R|FpW;-Kdr=*pkm3wa6xq*69Q$!?}#l$PWElEmrq~se?y%ItNun*Fheq zxD_mtQNh024MjXoZ+KbmzpDtGUs+Rg5R~NrKtljJM`Ztm3Ab0jxTj&l@X$~dVA@4u zivW=jzW3{!^zj{kfYTI!oE9D)9!yB#7UytBiU_bA^HLpFymIsMFJ(Iwe$$gB+~PK8 zCTD9QYEa$5nq94AxQZ$Mpj&&>ag5jGrF9RVW2casTn4w;$;MFZxj8R@P*L1O@t@9f zHLywq)!N)*2TGD!n;f>#T}WX-l#?BE@&v*^FmSJlO={dG~m= zRPtcbHIdV30*qi|V|f7(H9PxqknduN0_kOYot|2X+M|M2ki$1 z`-{U+dAj=Jm7>djdmrs68tK~e{`O#=>fXtjQbNz0H0C{n?dD$`mTnXbfx3{-C zYGq*+MK9=p2BZ=}J4!(hJ8sIjsqW_e!-$pgM{D?{aCp(#VuYXs?$^6Zq(@Bzn_G+V zQDWhLIsd~(Gym8R0aHpW(W}?+lz{m^;ch%#ujK-`7D(mddpJ$sgSDfTQAC2mqY1Nh zQpwY;x50!<{h5+Wahf%bXdN-@pH&5#P~Y`xxBC4)@lw6|9ZoPc&9pkilF>3?X_>*z4zGGn z&%UWp?&wjtd-|;5YQi0?HXE<6$>I`%CdEe%*V};}J?{t;5LWcQ^lXjaNEmNL~;^4_j>V z(-R{7YV5g;n+`V`H;o$|jFzT!FSB`CtQrEe=2or$2u904k5m8W-(}^gTI1 zc&-6VS3XLh;RV*?OXlol_9%M(S3~mY-ya%W`Kk`_IHQzE`dM~+q6W?8 zLAc;`n(;PFma(5!(n&+T?Dv<4D)4xeK>_K8>=%h93RC&}&tWvo7U*sBY+>>u+b9Re zSCeBy75p=~SLJfQ3R-_~{GrEY`x$p!Eg;kI*1GmJQ!rVG@-$ASXsBoMaB3-%*hd*Q z6zhn*2u+t`k7iS8b+ENI+u&{{N)`qZjSD-#R z0OIhJ89=E(e_-YG3Gy}j-2?H|T$`7|e3 zfIbuPi@aPCZ_07gs^rd+1 zg-Ofm9trysN`S@MqeVS708s>7F&&C_UTj>`79?WyFV-FS6xw83db^CMG>f<(SOdZ$KVG248Uv|*{0ZJEV`gY5TjlPk>89&y>&<$fG*w>~ zkv)KUHs>eXL7DNIT%!n=8%J({V>0QbBx_tvdrEs{Rn0<&JqfTh^+G=I%TD_hE<{|o zro58L%r_LVe0+R|;uxa`8J}j!bX#g}TKP=;Vt%8X#7*EhAkMfie^uJOTo5d~blS6d zdvV@^Ms$G4V#9lJVEJUVD*eN7?S^p^{FQ}w9XDe%#m&X*XV>0ll#Ol~hK&A%jE89z zipPgPp4}_=()6uhNdV)&SqU|a6SVW`Ov``{hD^=!O_iSkWc@v&<1?vER-Ec|pBl@Q zcSaYHMW|JV#pt?&;n646{XI@jTC?TBBdo6({G|Cw?%p#W3F~VV^}fZ|(jyS`u*6;L z{`09dVmzm+)dM>A^|6qSRNgZgUa~@;?M;!(pB2s>*L$NqM7uVj)#T zt$bA@6Y8BKxgK#4R_wN+@Vl$9yOkkoWjm1KA9$_QLoGk02$-AStUP~w6NgaI+j$3( zO&5tl#fm-=o9j7Di1(PnNGm#m>F3!10Q##Fq*@JVb88k+*f*#>%7*J{4F z#5o1Ux@nvgK3Fpp9+aXyk9Pc3X3{zKwagjurqx0SjSEF7y}>RZqmq29$Rp>Tv?}Pn zTAoOb!=RiIsBPAXFSBv)FG(S~7o`s;<*AG_k=9PeBd>dI@}fO9?a(z@{-cpHy~d5z zvP^TJX)B#32=e!qMZ7gdv}9qfwCU(%m9euZGks^^yiWI?9KzC}SbAswc}6#pg?DJU zVuHO^n8)LCKwvR-|8Yf$fFaj3IZNRy{mvq}MYy;sOoKI9i^Y)Xu7Q%Nfku)+iUE~I zij)EjReSHARFSmdEip29HNYRDAuRd%QbZb58QB{BUrh^ArZ(uP@bEr=jJj909|QI; z%<#fGtPa7p5n)Kal7=w0g4iJU;$CQ7+sdyhk2n{atT>V9{@%QCHjDFwES-RM^{dQ< z(PZzJ$zI-M9vBLB+EsVYpSsN>)-(p$l?3qoVf{Cc=hq`CN?mVq>ZY@kw@Tr zPNG2%*jXgJ59+2IZzvrU#0gwJ9BT9R!lS#a@gg+RSVnl7X2_8h3CRb4eoVZMWr$6Z zhH&JFK@?XXO|(^>xfbO^qw|@wB*%!@7?aKW;8uD#Q4^*@wzY&CM$i3n$tSAP*-7*U zZ>eO(j~K9I#XXPIeX{TbR^3PJQ+Wzml@SSGfu$H4^u{@V?%f0yvcYqF@^)lB6@5Tg z4#77NR#l3)3y<%LF}S%vuwdOmF4Ej+1Y0#xgy(t$Rlr<`;4;}p%y-|yE-5AD%Lha{ zZs_)}(Wcid14qjILe2g#$}N(xMtfvO6nsz#Gb+-&Pi@d-RU6(pY>@95o+I(Odc%wR zjDjJEoW~TMviA&J#TiWKA^iM&B>|0}?F_%T;TV)(@1>7Gn9V$FKN?kXsMm;;do~Z2 z>9WaN@8wILZj>WWpAlq{8pIkw7#X?TPKCeS?V||!w(t%}*zD&;syN&I(n-zA!=u@? z7iu~fK;=+nTC>hELNb?I`8V0YjSNff4D=n;UV>BW2u{uRgIr92B016CJo$q+KV~Sw z{-Qsu@=S5Q%tg^ zyT@MNzC9ay1UXT&F}=OcmcGcE4x#y7sS|O=re*kXP{Z*z#=>T%a(|A4hnGGx%%JTu zDxz*^w7Z!f%J8=5caA&y&b}gVXboExM>qVR&QJ_ zKwwib3|K`p4k$j-Z3nQe#J~PpWnMNaJQtCQpln?@CEFj<@ujr@+n0X@_^`s z5Z@|1`OX7DMj`WDW;Qj2oW$3#Pup73MooEQ+S=skN`C#u?nr^cee!gO^+K5!;LSx| z1wH)3Oc|YI77Di`XL*myw4d5SEz+je6*HuY%Xn7QNp9&$ULlP zRy%|>e*yc{Qod)JQVN(dLQ)bgUss0W`EsK}_=p&Y8APWlp4(W~i5YUY#E#ld|e*KkZ_|l?RWKJO}3m=7}!7_l;XdWsVU>L>0Bfif0 zfLppxhkZ&DJvic$8ww8obVOCveE|FXzN(xd1~2y<`p5&aGM>|e%k6t#EfR83Prw(8 zlD_?y4}W6^=Oy00T*C{w|9bYndO%-_?mw1l^snA0nd!*_3Gf0|%RgI{zMV6Wof8G` zU$~ZxCO~d=;jaN<@fXika`1@V|3Sk1KMwTVnPdZ(`KsOXXBVjatr7GBcrV(B{_(5+ z^XvHQHJHvbo9T3P@ z_27S1BKr4S{>&Rba$K6t#-EzaUn9f+w5R_cGRTJha_zf+s?LAV(=-S;f|juf!Uk&x zc2T`J{3th@5tzl2Wjgu*Q|y|#gO^Uza=3Seihklyw06znG~I9?Q>^3|DsaBR3_l@g zJLm8nI`Kp*bsIOV1YDJ+N34~HZb0cG^S{3_+~+A&n|dAf>&x+2C&Q{A&NzU*?MjOK zMeoSbX7dH-3dZz6aBN_W@%&iCy0Y)Wl+NvRs$-;d+f%ZietT3mQR0N>9FyuUY)#)m zN^|D{L2wj~5=bqQmHm?M_)i6v%3MOGSP(I`82&VN{T*xkQ}O@lfrMyzAHb5ulc)Gs z?_+rrQh(`(AO5G+CC6jlz$C{$3?Ff2qtA;udmE~-<*^&R4Y-l*wKpm5d>fO+O5N8Y zfHtlXD|;SSBIhKZJ2polPo6a%u2gfI?u#?mk|G(&QTFl?ZqppM0&*jH+A&@PB_8d2sM6NYi1kyKBgJ*^i}v% zkK!@Heac3~HKteD)>_4G*ZEjYve>kPL^tXhr>5x{SG`q!s!0X-K}+#7mnPAv6{58# zi2k0wKTNI?;{DG3<~kl(5-2wal))W;dkhl&)w>{6y}8Mb_xkH^AB! zK4AQx-z;;Bb4n7$`$IwQU%K=^xPrf&hJ6AlUbVo((<`L}h1Gw5AV5wBwF*HO!9Vs) z|Gpdltt88;27#c1EPneN;j^!k0eP2&{}Vb$h4^ZdmIY>w{BLHh zBu~-;?EJs2;eU5#o25%9=>7+72BqFoAop+8?VrUQC1$EaInEDvh%X#_(K*K(`UmF` zYTOq{cgLue)V&lnm#DTXW-!>%?%Qq2*7bMjc(Q_oK8c_F6UpdrAJo<`Of%Hjf`V&UOf$D9%xW$bZ;gC z27kYi;L6{Pdu6x=W4v=gcu`d6(#U|{o4wXRTy;0$JzIwLaNbj{a{j9ql}&$?ldpju z{J#VoC3HR!9$CWee1#|cnM}>5o+_H{k0oz*-sMTeLC8@;8lu^ns*t0 zQ37U^4GqVlOBt&9bD4$3#W+u@X9Vn5DSrl{r9)`bRP&it({P8eYT7zFBMq%>tz7J^ zuQYUY1ZKO6z*O7T|KLX}>FTIssyWZm;a#-|YDtOI-jd--!dtg)@g{4r#w!S6e*}(@ zph>5!Hk(iOr?SDAW>{OBkeoA(51Y=M;dh*4Ge{MvwldW?IulCQ&?{i**yN0U!C4EK zR-Li=V#kMb^nP1ef|VE1fL2xZjuhitD&FY6ZV=6)x7GG`6ino}0{yMOy}fQL6b!)o zUV*79qs9m@oU2hm3)rKpY{1TB@Lpm$x)tpF9Xa$nm~f5Sm}1?MR+2h%|XqGUv z+aAT=v_<81`hpSAVT}Cn@m<$S6+wU84AO$$2%}}`ph88{-SOxw6yQS^VTht`aPhgvn9)NXLJoCC(``a z>nqo>@HS&{C(xCthUWsieZGzuI8xKn#|w6(>L$L12D z&K9z5g%{^k@M#e@>%b0ptsUaXa@{jgBm9dx?FqZ-Vs?ij%r zqk#A6rP-;*{2|*a!+#@fw+~Fbi}o1BecT#nCTs<#syxr-XSZw2dAw))1GbN;9R<^AQ0;Vp2OBCi9&r7@Y4m&z6V|AJWvkk`GEZNQ!*(d!~ON$MEs3QwMdgny3EKX zo-$)7MLgD=E}A_ZQ3aYj$!P-i$AkT1C*wWISglvPy#nI6Xj8aBwaD=ode60=GjW<~ z9Bf76V&2#`3R<4EUs|ly)&sL08D1~j!=r$=2%_x)pb93jHGiiov?9rO4;&4l) zz44d3p%?p!%8z$zL+KE>9X1_!VLFtrq^xYKKd>Q3x1Ub^UWCs!i~@SBdjvT4_SFjm zlEQ`hm3e~3fm2UA=mfXZJxAv~IUJT(>;w#r(mTy{HsQ8*2ytJxsO;so#B=_YwnQMC z+Hs$voPg6Du$y4Y>&#vL{P0Tw=mOJs!Jur{z7{i?m;2~Lw&1kS>VmEu*NeI`-TsUY zdQUsRLf)TtoCcdzpw7em{DHYDik;$~XZ2I<)bi@MNy&5J*IH+MptLv3vaW`L&(W?sqpx>JAVmwl_w| zQyuAQM}dtyoG#y@0)(ztG=+EcMA8w9g=`}3Ye~wFH=8%lQyrWA0l^O#WQ;;MkO}g1 zeP*?^xnWwsaI@^}=Q|QHK)R(XEj)f4?=cpzEaAHu4}m>y-rZoy&p^0gQHRz^fz78~ z(xl=pz1q4&G(sk$Mjn@5o$0+_f10r%^Kg6poui&8^VteTv+rJb_HtoS>Cs^3W@O-l zi=&n=R+%SDPcjwXTKY#?sZ;lzB`x}wf^;0tMD81LL%}| zKLFv0aaTKCJ?&qD9-i>_i|_xC4h~LclYbHL^;@Xll3%~%!P*Gi00i&by2g7;jT>Q( zew@ckb6{7{+Mt?%?a12UTx3LT>!D$R*2+pziS=}e5!lS~z$#;}r?P*6dLt{8-rmo6 zD|2q|BR3!ulOY`(n)h`04_JV+o}Zn7{Sk+aK+5kA?l0O`TTFY^4%BVmJ&iw-Tz(Bg zRSguW#kv<2C=oc!KgywBVLn_4=Be7?2c`fS6VPA9=Xxq3-8y-LShJ`j#b?Kcft9pg zU(Z!i_``5B@;~rg0gYqJ~5cOJf}QMONK-^!w9o`ve33Uv1wV*Yw%-ZELHwR=HJ_ z78$LBAxn`ZE4M{(u%r}0rpS^lGpr(X)U7LVdWh=fS!2>Di5!c^A zdC7FEdGF@mbo%6N9ydFxB%^p7OrH(?j2{&!>h|HH<+LG}D2aPXptFE*0mNDz&{&K! z+KjO3i)B$Qat-?Ac!{N!W2=g z2mb11t412&S`!SD4*{=;F@RxDL@D6U_=Z6=FCQtV=pFV_b6Ki2QNXMDP3PSg8v@!S zJYx#%Wkl-maFw53aKKti(rI_O>4KUCk-`-a=|C@EKzrtOidJ>3s45pnB3z~^g|5#* z-awR!v_%E@kKFCotJ@q0e-2q3-yOB|`|OeHXFSBwW;zOcu(VYmkfgy$pl(fDd8;a7 z$H!BFvUxHxm1_638RP2aWS8-Tf@PUoJb@19S^wDn0gny*PBA60;JvqXzZMVMw7)v= z0X#lq;Cj@v+sfDe&I=M4jZ)ya!`FJ;JUP0!BN}(|6i>afVLDlIe?+{DIaY$pEa~uj&q?j8~ekmF`5Qeki(@C-fp{l_q|J!EB4=fb9yku3%z~3YTxiUiYD)IP z)3_nz?PzYv0n9ql?vRksamZ|Ev$z}C1ccwf)X^&id8i*v$zW&d3%}fjq;&l3n>Ryy zgdx3^iqs?f6LB=WB>Lp;FFOgF10*9&`cJUDn|>SgkU9o;OXw>?&|v9ov`g;}Im@-V z9+^iMKmkFZw&Ez4(`wlta^vI8=zrJOjN07jEH1W|PrQ_&;x(kg>$T|0ub|MuJ?loC zd+ro27SaT{EkrcD_I2;&K=30Fm3xPlDyPbaz^vns%FCQM5i;JK#bveEA1x#lptb^G z0%2+1+C3A6X&2Uf96ES>SEH)?;2LCMrKaMTm27>5n%dsOnE5ODZ3x=)AW3KT1U+zN z48%{&@Djx4a{V)bwx+`c;B^HMtbS9VC#@eeFZHI#V|b@YniK5Z_Yw3-Q_;Z+!WhfF zVqr*o();mOd zfKcmw|EkKvYxEY^bMT1>sykK{ zk~RiLtpEZ`=pJ1)W56sp8mggU z(lnJ#&l@PA;=vA;56^?5Mcc9eY?6U9ef+pLo)dWF(pNJCXn%X6!zTCX8a{iDe6xIC z7(QeG3L4LjRHk#X*E0hNAy@%OXiWs=EGnhY#F*3@@0=1L!lP&XtKlmQZ_|fA?;0{Oo=1kXN#S1Qo+&PBxqFk2pucqXsM7`)bS!Yj|OeZ^FeO6jI9$ z1zeU>{>9hrJ# zW1(t~mXMrf>CXfUkgJYtg)yg!y_XU$pecR4b0gv&Ala$)*wexw3P&+G6n~cYkV0gt zS?(3XB$h4rqBrcPpzbPycZ9&NVj3EBVRx*O1yUvOoO?(;G(d2ltxj7xlrL6*i7X6N zkg{;Cc`)Q?z&9;LEA-g@2vu@eu7?xT%A0^{zrE9=d>~WK%In7~R}zR*<=_RxmY%J( z)hJU;?u&+vzNp^|vI>XBn63H&s=P%J1RdZC<`z~0s}?zo#G%Ac3-nVCjjF{Oqksbp z*>Am=^=H{B5PZqZdV+PiY-B1h@}nyk9z*oCuUXsy0%*JdV&z6afJ$WQ-Mzy+h*;7s zj^tqEia0k2L|cA0Pp*5LuY4J*DM&xWov8A@yJ|p^x7-HL7;MM={V2fBD1o(vhCPxmqG&F z8QmJ zxg`RlK*I1@tvahLN}*0RxfSw~hV?TGquUw74i*0DTEQQlbQvL5qdwp5JK%97Npqpy zo|=N{y?@x_=D_iK_|7kji{tlbJ!my2h@#hfRzNpWUGs%Qm30C6Qs~U1^D&w$%ZBO! z!;q3J)ldsydnVTVD0#soOGE&L0|7rVyu3fGgrFT{2Re8e5CZu$nB|_3amQvBdsDOl z4brC8?v^kNaWQk60%gMlZLh}WYk+W`7)Ufe5M>N?wejsuP#2OLihuq3-5q<>W?pX> z!;ELsCnSG#DKQZg^;<9Gx>V^hK#f{vw?&O>1aso zu}mY^h1Q*%YoPGP79eqxii89^q$|2_5i(n_fHzx9K;3e|qR4T^S_i$&A&D5iirGY+ zRp%tf8RvXsflyyrKDrm71WEwz`(y&QHJhH!C#u&3Pwv(DDmt-b+G|ZJvV72u$XrDr zpaOxq#^S2kRd>@o>3GXD^L4$LaTc1ZvufB-KNcYsxj$SyuxVpRpmoZZp|zZNZ#RMa z(ic?N6Rz*Y9l6c182|nk_0|5fFxcyg*_9YkjU~vXa3}4@En}RIkJD8)zZ01>Itd)~ z^=5~1^4$Ey@XkFV7MCyoO}7J*Fmp4rX!K$<7?i)dsK9I^!yxkq6G6kLYSO$fLEojl zUO|wC%11^IBwE)Ms-nTI7(8g~etGF6ANA=Xp|E z;HwVFT7PY9Pakif+MEoV?aavj(T!5ah!n6nA$5VbB7~5Ul?5KC1_$W^s{gF1se=bW zj4rDHs8OR>$Yuw?eTJb7GMq#=(IPfzoKr%%%fYMEMEEiPQ5G1_5a$!)<01Bfz)%tw z!h!@rPEHPZsW7@^$_7c%Sg&Ig4|otf%OeHMB3$_U11TL)WQA<~>1+~$R0w2fJCiF{ zpqdlVntXVFuUREUZK?xTj~p4(B`P5Q{i7F<}gDMl}4#+5y2s zhd_^(;z#}*PDG@5%W?gLy@buq$Vf9V%ci4y3vIDE0E+Ndh)#C07B@%MRj0#yVej;; zg99{cf@qF%Q9=r5Xm_H<0S9?mTDo>;w?Yif4z_I#Qd$;`^e*6_ZU>5i*d&M2sJ>M} zzsQi$_SFIH9Gk-6z@*?~z{Vc-4BakIZ!lRxhaUIBPCS*L8 zRmE>4Y;hj#sSS%2BVk*fs+8bHPX%D_M}^xxG?2idHmV+}jyxwAbK^c)R3UGU5wwB^ zvk71zer9F?g1Sj}?!3_1K?&`{Z487O<1S1QNGj(~(u`8}6HKNM7t|b=`T1i`j@#Ni z-+JpdSo2^z0D*}r9z)j+h0N#w&^!s{ri5|QWAXG^3T6n(QV0$hZG_v#!Wm`W8XGWQ z=hl??R%bW~?M=A1kaypJ;B(|r&_)#of>xq(7Jr&Z1ORZauIpaBc#(Y{Do;<9*>34a z7r=!gAWOFM%X{f@UGZMO+$&8+ReX%gegr*czvAU+_ITIo#zt9rng)zft>jkcL+^j-1ppC zk0RwS!{%T$kY24*c?AVA2wmKTV|&%F@zw?focU|)RkK*!C|1+M>H~PHY$FdwGKB9G z32LfiXcgrY7Xu{W-X||9f?2rB7~#C1NyMzq+Z_}V!o-^KmGmI~5EwtLJ=y2}`WBbj z>fBZ#u>F~~!+S9BRH;F)_SfuazNZV+L5gVlXORe-snb{()$z6XD{^MK;mB157+Szw zDRd(%LKP1q49m8vv<~@dM_S=qO!ItW~4gMFsloc|M=O2p?Oii#gQ8Gi}P3Dyf&+FcCM3a zY49ku%!DDxctFM0V;(azSVqJIkG+xq{*JVa%+_*REI&Qq)&V}u1x#tA*%Y$WN5m<3 zJq7NdTwL98^fea%hqz`adQO9r=FtS)#GJb;jB%TW)nHbPk-+>i@sn2A=+u|#=>hp& zTHU2kJ?4{FH;qP+X{N?Jl;Wc%T@%e8ik&FhKDj+x1Frx)Bt27xt%j*jceHr;~t{C2XeeAK>`=d%z9En7i>dK{Hl7~pK-+`hgxvF>kIup zJ+gWzV4nOJ7a$o^>>UAU(G)?y^=V9jls=$nFI!xq z=nL2J^otO^p=_9i^ff9`*0s-T;@pu_0L-pFS{pp<{nauET=ErXxAC<@FfAcd9m~1 zXq8sZCgv8VnO}ZLhV~N@03YbSkiiQ;UX#lhSMFb0cbl|$J?F7L7mVVhCq5~SA*ey> z7B1#{b7abzlP=W9mL206LJv(qb2CvYa(ttX6Qd!HS$nauIB0{Kn&KzND?@!cVbqak zT-toxGJ*fI1-JZVp>6Q;xyrbfzO?5F1bVIZcjtaIkLe_LimEvj_yp5eH{A$iLm;mnWPmr>kf?iu1!f^^PjQu}gWzI^$DR9a|J zhi}l;RrcmFc8V{BzAj?(xR4w3^S)>i;z8n+Z%S>0_X|v?Mq0(X}{dv3q7!@ zZ?bqB0vJuk&b|G4W6p7XP*X#;-JWYs0{pMl**xDep7)atOj7Ngvsfq#L9ZCIAbBX1 zD&%EH%7x z(_ByQSfll2n>Ny(nUud5>*vX6*fV4ITl}QtGp+&gR9DxeFhwh_`Nt!Vo`Q*#x>Bs| z!LMaP-AKi%2M)Ut<;)ALlP(+sNtZjem70s78bkV*#9l!-j!SdN$+=& zod@ky&vm7S(Axdivyll3yb}v!3QT&@s>0V?fVY*E=rrWgyMr=#?OnP)U94C?x86Kg z&6Dj-A#&E0C%L_Voc^%70bQ4pa0s})Y@g;SUnmZUiG^ysw^2L3nxSMngpVL8a*=H| z6T7+cJiqr3MElxP(uP_Ax|cDk23%2IP4cdi@T2qTMmTzV8XaM|T#9yXb{&QGImborX(pZb^Xnb7<*^ zV>)V(q|GP*^RDDsnmuiXIH)^<-82!*w=~R?mqZ4ARG+>4geX?iCWD;(xaGUQFPP(sJOs$4Ww;Y z%mdGIaV0h=e1cuAIL2y%v_<(GD3Tw zr~`<|n>+XH&Cl@MlX1F+%zF{4S$d^IK@$!!+~!l~dFkh4mjc9bPPxe4D&FKHn2Efk z65lFofQsg@qwhV3^h`=2$)JDN33wKMb!iew###%jYcUb}*Y^D&pBNRM1}=Fp->MHf z9$;`itOpz@?+S8q=6dU_!eqlnc8^ev2cWg}9fjth1v>K&&bet)gHBZJJYLUE394Ei z_uU8ve^k3$LfgSnP*;Oi>QLOaP(EDjo%~n@a4+^x7vE6sLPPFr1?s~$Lntb@tSnx< zVZgHwJ8x7A)uZR7OZy|>VvPfi`@Qr7_b!+xk(eOZ&k}nrzhcXK2jo)&)EhR+ryq8s1 zKv)(1eeH9N#Y&wz0ir-&fwU?7eK&;|C&|5WG*h$tQijhlZKnVb3Scj*#oa*)z4VF&^D=JI#Ub+VKx_ipaltrnO{DaY?S5JHjm6o*^jZN19JXz>Ttz$|Ldcd z-R<$rM1=0zoRx%eil!&)!RG!@=w;|2=(lYx)b&Ao_6lP!JR(s+XKLawSJ4samychb)E-w zm4x{CI(1f$B>_oc(vs~;S-qusdH!oNeUN24&*wutF!!rzb?lTBL3*I^(IltAHCOuO zE?|UsbY-UZB4ZISSoRxGui_}z#87OywMz1ZW6-XsC`0cy(&SbGwF5dX(4n!+&%l8|7O!d|x{!Pc%k36byd1+0lb6$oo&hZ*UC?AtW% zZDFk45}=_>Y6@qj9usA}t)uDsu>YzY{h}csC;sL3_7$qKXmEX*oa&%dA`xb89c7B@ zsXnN!N=-eIWMGSF?Fn7LTd~hCgKw}6Y;L%_(;NB*w&)8@u$EQhJuLd%cQ~Wlr#v)kl4;Ob#8E04&0y+{)I(rgYn*hitLzZ!4{gc@~ zYotz?7&BMT8V@DIJKdgg!{mL5HtPN}qu^rZa?=`7TSuP}pc8qgVA< zbsUU)+E~PsE8>l^cJBT9=4#X7jebQyDg^g4aSZh18Vn z-AqD~Mvzg|p$vWMkXKceL*w2mYd&;DBB>@B#8fVHn%fGSx#MNb3)o#)B#>{)-FoJ3 zhth=A{V%|*mJ{)AU73@QqvVHu!WYw|SWr{D*`ih;Ptn>;Bjr`w^gK(MA9+@1z>CO>GZ8cW2%kgHipLFexiA)Me>=G;jd)L6)kYA4FAzzgD8 zZo$wr28exvxJy7(Q4Rm;HJvE>+)STWB|WptNGk(LBQq$W##gVp3hDyVOyBBN?z7>| zxffy%+@aO_y;+XBZ+8H~^rXLgsI>WBr>aHoJ6d!ygSqfmmG=fAZ(` zxS*A6$fJ1Zu&O!-!j0~>)3Wa%d~204yxC@0zmIZy>~e5@9`LMrk;keVm} z#AzTqdWSuhU}>ubrZ;rLjQ|^rOob>H8n8A4*mpL}w(7I-GvoRa!GHiA5({hp1husW zuwhO>XWnIU*!*H{VI8;DkK3P_KG~amzQDF^8fYRxXDWugY9c7y8;h1nrzR#=<-bNV zGlZZ}!B0&;g6SOq2M%7V-(%YB2*`|mcNBnucC8T=uBO0PYJ}sy-5ANGH{$rsAAJQe z+aEevnU7T8t&YG5%ZcU~;LljD%1OJ{HA`SqrE-)h8cVe$o^_h&w{|14@5ZUVA{X=XMy9Pmf;p1*Vy*6pL%FI4)h zlfO$Oj__XJJui-Y3tS&F8$O%KGO<)%R<^~t1c(PLW+7TM_Dln^0Dizc;FbB^qP0A7 z3%A5>C^SNQ&utBO1VCZr+VqQ`WFjGwDz7Z)pDI>u*HywYJy27zg=y^@SkXH`P41oF~+ z+roF_4N=}z>l5s-r2X|}_ml88aSBdYcgog6D13Emn2sl(=-vT*kVCC$QUJJxG2_i+)mi=X zUX`zwKCz(Msf7(!?t7Y|{lY$pcOVD9B){{%(sv_x{NvtrU?;pA3h z3_bU-x!v{SiA4TRibJC(US?wC5rFO5&|JoG#?!aNgKk2a1V9ZR*ELja6>#qEZ*e23 zVlJRY!WA)yf{8Wo$$p8>WxO0=HUbVB+Y=@QB6NU6pG^`4+DlzOhhlz>ZK$G~m z3xci52p)tPHRcmjeSPAbP1Acxc&3Rxgt4xO$&|3US)7O;8&)6Cf^nvviIO*$9i>pU zFllO(A5ccSKW%05YHoN{fz4DfesSRoXTTf1iT|Rh;FzM<|!`v6M$DkHH(E~H=j6^k5JS}U(8X}=LD{E6-3U)G0 zbb@HW7P>hy0BkIO^&YQ@Kv9jr3t79TfdK>!P#D@0V&{1v;+#6x3;0)5Lly80mZd=* z555rx{C3*7G%m5(al9j@x*icNYj7ey64}{fb1TRY{AEwJ1AjU&sw|8NXAh>x5G~yY z9|kqUh-jGNpR9nlIO)k+dlox47yimDD+U`G1rYaDP1N98j-EL4{`CG>^YxjId?(@+ zK$Q!j0EQXE{NOO*O=5~K)HX{Tt{76oUXrug=mDmT^_B8sfc+m)Q-PHT1F7x8UR`_N zDBk$S#Nug0>N)wu{H=&K_4%P{)5e(AXUZJ#zR)w3vntP9x|?K_1&*0qay}M99l(JY zxW>(W^VZI8Aj3fK%Wbe!4c(cD+L}y4Sm$1mgTb-ZPo=GkZjMPR8|l(XXMNE4i*rB@#0Yape-*BY{7vAT2Fzca=+*6z>~8@FmabBg6fV z`Q(E(dT^Hjuy(rsMi0H6B)s~RF9P-N%-y9&QUyZ@(`;5T}yS*b@BeMAtB*#4ey#F5uj}=zHD(-`581VCTkq-LSkV8qJl{W*ceyr#!uYpRr+;^O|FL4f zK5Bx|xjzv~{HnE)U6kGPACTvCnt(FspWk5hv2#n?ww?WtiGzy#1&;&Gf7`Y^^9TQg zZtT~6{Z*1Qd+xf8!l&C_vl{+X7^Hvx(W=t6Z9h5wjxOu>KK6IE>QCQhp$;eK4<%Q> zo}5mTNln{eNOle@S@r&z#ghS|)I<@2YKgY`e7{`7bGnib`cb zH~p8-->j5xj>)!L4}Z^?IzMVB|Eg^4fB*9TvP=1$wMqy~fye%*w3B~og&+NjEcWO9 z^C91W*OSrvYr@rk>oGEp3LOOn*bBpU$lpBYe>1Rk-e64y?qwTVV6?<}hqE5> z?BCD0p1q`W!X&v|tm~c1`|?b~uJj0VLtY+Pb=Jvv_PflT2Zqkcdw7_Aw(s28sb8KS z-1oKfM#G>hd4cnuwZv(85Kf}rxp}s?Zfy!^M9BL8&Io_{NK@S_m$|L;p@#JL}5{kCljDtP%Z8vNrWp_i{;P5APo?)iVd zxN1Q}vd{j1=m< z+m9X{R`qIWZ3X_+!Kj8yIEmMU@2=4WBT}0l`)k;;Ui2>07s_fq0a&M4oY%x?-Rr%DT$eSn>%GVdrw$jql^dGXne{os% zkhoTe(y3EEz$gQfYIJNY&{^N_d{mlp#zc^>@oIW>6xaso+c_{I`|jPl+TT4nTiq%7 zI!Y!owYRr7R-1JLNU|_Qa%GA*F){#4UsZ~PfWMPDE95@2NZg!)ByAf^ofPxs*<#{w9HJ2Bm=HiKoDHd z!sT+|(Ex6}{%WR;1q^9lWo6~#>YHFY##nWrW5Ha~)e;v{h`@ytf*#KD#7Z5ixFnEr@;NhFq)YQPOC3SUmnVFf;QHMrqVco{y z=H_O5dpodpXz)cUD{ss#XP3d1RJFC%kw?#)C?OCuR94GpvLEDx z1PUz-m}sYsg^d|*2k3`j3@85@Cs;k0VPWCwni?vVDk&)$e*Zqq zg%_@`kW$GpfP zSZcVE#M0C>?ovi%!*z8mdTqu8-s|m6gXdzi!>kEx1i`f7`Y9ZVy2|7)nvs!hZ4ezs z_z!@<6}BccBm|Cxiq~*InarKbEtHp+N5j1yFws|l#R`I+P-b`3XS@UwwXe6Ay=Z#& z(?e5n1`-usBP`$;mX($Yet8dw%rM3uxF+$}^I$i?Jer%E-@JJa6Vu^ zQZ$2$Gc%pxjn}SSyK&>CVB#Pk&fcGs`}-?liNFb@Xrowg>zR$E<(Jxrcv2}}pAh`= zz<~p>D)jrir%a>-fxMNKmDSkTxXKKx71cbbq^jCCG-Q>kQVC24xc=^4Z2nIl_7_Qk zz$YGPYv8rTz^{7wiGBTbW$>!=@SOw8h&Jdo5vPQOh55Hwfo^SjdYXS-RCKfrKCJ3F z5_ug>eK-C&3c*?Hf1q-j^HbZs4m)BRIK%e3blF?y~W#kxysvSFazyi(B&B3R9D8DRnODN%%u9IL?1E6=Xv?158A4w#N zf~o=L9D{dybNWiyYbKNV{R`kV%O2VO%U7Sto^bZ`%m+6Okxb<9;i%LZn1T<{;SEvW zM@J7fyH?G*Lb>+FctIij!>Xz?$(yDs&xW(pgG|O?y!OP~P6%`QuT+0f$1W`_7y#X| zq~y5pr$Nu))-w($?LiNJ`t<37ZBN2)>E6o+ZmEI6lci01eK3SxzT8(r0s_07;vJz@ z=u3e?oIo9_wfIan#mYpmp)42J^uJ_h18vIn+BLAhoiG(IL*g3U0~|aAIv@&PtR987 zI9xUd=N6m^Z17NT?;%F0O_guPxfKbU9()q4jNR`cPnCug;j5ohUzU}vg9^aI%`N0H&N$--aCtDGA(7Z1@HIZ{BSZ@4F^iLW z2SO{*(*s9e-;R8cLYx{7ktwi{g)0Cta2LaImcBv855__9w|+QK6r=)rS_m-^wlR6v z8gf6M$WIj#5`qi?1<{VcWx3nipRLY$!dKl&;O-~ey|`S|<&p8u_Jx3{0*6huwVQReZh!r_~LSV zps5ecCx9Q8EO&^-s$OhAaRg}7`9+Rh8h@I&{n1~Jx~|yee0lGr?-7NI{P$ecH9A-D I{k1#)2hpycssI20 literal 0 HcmV?d00001 diff --git a/attachments/2654411.png b/attachments/2654411.png new file mode 100644 index 0000000000000000000000000000000000000000..9bb94b2e7a6d625ab7dab5ce743baf617ac5ece7 GIT binary patch literal 35440 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 I{k1#)2hpycssI20 literal 0 HcmV?d00001 diff --git a/attachments/2654412.png b/attachments/2654412.png new file mode 100644 index 0000000000000000000000000000000000000000..5c408883264053900db94cf39a7eafec8da632d4 GIT binary patch literal 32274 zcmce;1yo#ZvMx-#iJ&16G!R?^1h+38+=Dv=4c53@5}H7Q1$PMUjk^U15Zv9}T^eZQ zfBEK|^WQUfX70?Ib8ly@kZksTt*V}?da8DRm6sKJ@{sT$8XDRY32|WsG_*S}(9rIo zL2iR9uVBgS;Kv<1sDu&(0-2nbn?pl;fhHmRM#(vTYud&A>GI`+y;T=uQq_O*6>EtTf^q%SP|8ZggUK>SGGv8t zEYZ-4E7RQYMLs_c&%(z@!y*alN7zlV@uWg0hUT`eudT2fy~|J&$Ss^4N!sC;?h?H|LNc`jHDJ{P{-;Tw#3W6-~POz#*flcNg7r1!)R)b&S}~ z%@=n^DO{yIDwFAzl%Gwg5+Wuu@72P|TsOY6(ZQA|O<=d?tGDdqv~1v#4`#xoS#2c3 zdI#L|l|m;Z{o^?EmtuLp>yC(fK-7GRLsG&;b(0_PYCzu5b+@-y9SulnYG};3ZsxD7 z7%vh&1}hQ5GG?2!^PN1TQ5$$bho0zdi)R2=fYMPZVZDLBfMWH;v^RyaN2EQT{LZRj zXZb-_U9Zj6>x`51G4aOju0(eJ`nAWB5CQ9^ATA?chH~p~bMf*yo3*B!gtiO!82wv9 zJu?3@iGif2_sM8y046O9JXI>hFkaZj)!0<0C` zV7CGFliGe;Ew%_FC@p!oI8Fp!in-R4Lq{P@U&tuLpv%IDlSZ*iDYOcKt!+TSHcg6~-u za?xxl|4a$bNK5OAFKpwPY9NL;g_akpBoz6{S+4)E-z__i>GCogC1#xxy$sW(h zX-a6kbx%Y#{xn4mE`&U`qUvN?h|_&fwb6|bx}p3N2l|?eD=IuZ-uP|SJNx`GfxbB^hDytB0)3x*Cn|c;@|BioY*_T{Nk6F)k?fS8$_OCJa84i84 zZ|M4!GomRtA_NR?Nq(hvE}wMSKCM;DmB1p0sH^wydD^6tYTr+hqwTI=G7 z7XBg}r=u&NiaMU2B1B#}+iOuZkgPt3(xg>ZU^YBFB2?q^a5@UZx zR>|Cn3DxavOw(#<)7jg1(|6k0Nt$V}T;VYyQW~&@vr)MD$yVhyBSI8{-F@w0^-EWU zy1N>&lGJNDV+=LzidNL8j^CK9b{#EPK}TRiiG^3NCZeThc2tKWP zaQjwLZ&ZBzmTgr^K_M(#e)L$JGKKb`L4d-BZI!IxnIZYF2W0LaZ5RQlE`FUmPO3+Y z>^|9++TZ2sb8|i%bmHK~BTdnyig}AY_v3ydx}}TM*bXsV zgB9o*;C9L8aI7{z33zdJ3(LMZ?YSW41I6 zS+MLjdn=O$E0~baui*G9?k6uv74v~GI7?E}_#!4s)9wpbfi|I8-ugU!Kh=ExxA2W( z$$(fRQ#b9+AYQA`!G+hI{cRhrv&Ox0yO9P9^w-FqJ0V$%Y(s*EU29&j-pZX@^zHEP zBg0ACmCFGcM!QaelEo9~#bFn09*l-WOqbOJC*!VYn+elQiGeFB2JTe{2Zznk0;Ds)i;K(B&!P9y(p{(fi(FPS zTgR?$c06Fur|*7*o10a_k~9?Ci+$gzKMS!=gUMB9Xqh8c=UooKnrLbg8Kd6AomgnwrXp4-Oh^sRp&DhacLr;S%JIbo6&w2C~-4&v|`E9 z7#u#x5<-m7#_Za387NV`#lXYEBOs7qPj4(IB~`N$Yo0RbgKEG_hhqT;85ucpmfS?^ z-?CuO>t@IFr;xDCDCNr|9$Xer8=Wjw%JJ$-NDqF#`g!8eG)XY+|DB#1Rk&X)AZnid zXiIDMd{|$A;6uU8bfEN&+6kCDI@p+CwQcuE(I3!D!LfSwGewdp!YyUTpLaIDNfvRY zq~)0o?QUUoq@toRZhEeya64jlUp~u96`Q}um~{24)f2I2RV|h4#2e_aX#5wM*~T`*)Z;bLZo7I$Tce@bc2M=vRO1g)I0$ zK01Fye>Apz!n~h_B2eyi7u40%)Z7hz0AP&_zj3l2HBzx-my!$L44pRW>@lG(nIZjA ztlvq%Sfl@S4*sqDSgLNa9=m!bbHQHHueIg-ujtoN+xaqhEgbo_x?hah5FQ_6yWFnr z$&$BFUXbKa>7duKEqN#84W4naOjJnilm{3js&E84M~X{aY*d|U&8gAk4{X*&<0I=H z9U1H|P;%{2zHj3-Yqh^VAm>_mR^y{0BRRRaQqdj(r^=nN`Q+L|*S3|nEvdiWBj0M; zq%lWQfcSftN?A@9hjF#T@3lYnbIyCO#t-RNeSi5B{yz8>aB5UzE;y^4DxQZ-ZVX@h z%D0Hqk@h*NVdr4v_b4X>fv?L)rO>eZJt*M*EG$-*mNMev+=i_i3SWkwuf}63XlvJ*4d=*{wcXg*T$`wM-PIr$ zw5B54lIi6A;+D@K2#8w}vdTs(5Ldq|Y^uDF<(_E_P;`9Co|M<8O-VaB#vWQ#+L-rG z>W<`B15?nAKv2S1gKIW(l{%tOfYQK3j(5e8It0Zk93yEoM%^cl1zL+?uKdOa<5Wm3 ztelC<%T5(Oa^a)OL;Hf;Dh37y5)xl0w|8`OMd5^t0_BiF5G1%f}d_#~v^W!{;#O-Y? z^D*oDbx*6y2L+CvK5TTrM8pxNU#>4iEG_x>Hr_l6#DU`U*6_}6F~rq7*X+~@krXR$ zx6J`PSmkXjoO5!9eRmE_VEg~lO^gNsx|6apB*gk@9%@iR^e%SYDoV>q~0rn z{DM%*c0)E1{11H&b@}=EDJl9b-|%W2w>J`h0y~Hf5$XJf>C@*!IL>ojJLGRA5$opdb|4M)lYd!eb)9@3XySTR>_POIJ+2!a9i5ex zHC&-!baG$-=kfjaPZ|uidxJjxu}*0Wz{GKJl%<2-q{iRFy{zFpbF{!RtL!!TZrB@x z-xkOt@qw3TYU3_cULAIIvKh-Vv+7ZG*9a&1=m!TrZF&GYx%le}dCBo)vbmQ~VkHUD z=Mjc2cw&%#_in90*O|)LBMvA(O1pA3C52ci(luQVXH&!XmkJO5z>(rOvV1S8~(*@w*P*kgqnl*3i z=s9N!l}?Z95GgcIgp|L(3mzvR5E}T{0x1$_6pb8^&Ipm66t7{Lg%Me>*WkqrtT_&R zmWR?NOJj*ba6!tAp76Cp{)314+@jg;msY*E;=}TdH@gwayEI*HYo;!87U_8%_ei_k z2E(m>I@W@1oFMGE5lNtc;ZJ?I_-Aq9SIO)%X}O(dlQZ;4n1uy0o1p6^VJDMKx})M) zOh-IlmLFSW&KFH9!`8{8B9%O-vsM^rKQ_Q*%$}@0IqLsWgz63Do2SVN^>s`~$k3JR zaJRU(yrRWm4RgNaWWO2f9F_wJ68uN&_f)vdr~JC~qtf|nT=F_O2TaL~xlA_&~A9QygeTb$9XZ!Kf z=<3Jx&0m%#LJ7~pw&W8v2WnG!^Nwu}m_$Qbf2qp_IVC(@6|acar)rU=!wZK%D_N^@ z*uVC_lZbqDpv@Q8Tz1Rbg!4w&)th!dzpda#Y4dvJz2uU0F)u@2KBWSfxmFDn}9H6kRS;>0CNvLx9q z(ouX`V`#1?qpqi$J3=`0Hm9%Z1zbE}!swZKWJ!F-8aFCj*sZ>ELl0*$+!pE}X}{Q( zi_y0DoyM7QnJJ_iEoT}mPEW7hBhN-Ci#kyuMcm#w$H+Qw`TVPmL%v3x>fr+)1a^v| zPZ)uSWO4MuQ}uai9Jr0-u|WwvoT7hCNfy!BHO{hRgT zzDc?>GV;yZGlz%e-H}7oS}G+R3;qEL=Pn4$;`2^ss{a}Ehnupvd4K7v)c}RuUkhCW zFMP9K_3+Y-3(~6CNOb*XyP-2a>a5vaoR+_S&D~;uARl-3fbIhh9E-e(*J}89ij!_D~)uFkzv zFYv75c;!^f&J|g7i@^j3JV&8b`eoSTy@P?Ko^q~};wvTmcf&z{w9p#CvC6&d{l%II z=7q7|Y#UbhhKc=jHz2fmQ8A3%u^B#s#<%kO}Lzgw=SKlZfX1}+R zHxI^obC|a zU^8MVtdxiSI0{m=jVy59*gIPFy4}x%fOfrNrG`{a90)sk7d0<$w`>1c^r0{JBGbcd zk)JrcrWo0po1b-u-9}x!YbKgK1ATd-6t;J=6Vr+$f*5Ja*qWk$#A7v~(|mSs_~OoT z`&p_q1zRf4VyKgo;{I#{VqA@UXwmMI(rNOTMY%*6HEZigzUJ!T8HOu=nV3p$SyomS z8QEQ6Ov=ER))@TR{B4n*B{ipYR>Ob5u_##0LO-|$@Kbeil6NO=DlAABM@SeqX30V_ zL;N73eq33@=VjAOjZ89)GBbLXYJ+}#&m)Mx8GYyTG}CBW6IRTN5f7JdLdS<%H-6>L z`AGH72YsZn%g8up2x$g{g|-Ha+%R!tYvmKw&Ic! zbn@lpWo2dM(>r(2tQXepoSt?;ED41vW2u~%<*(>q7NIZOsK)U?{2Xt`41ZOK zk-!$I6)mt-yZ@=R{6v&&eczZ9Fdc5Ybrpq$-&sXL2<%)pBjW!|;INBbr=X&w4ZW7dP_>GkKtFYkdoVPEjYZd~5;ncl|kv;^gh?CB!zfu+36;e}DIyzkp4kloQ zhEhTytM1zqWlmEzZ9CI7Zb_>*0e?a7OSPBG#C#Tx?^l+ztYkJ%ye#Q8t5c1f6e+O; zZ7EZPi+@u`wS<1K!w8fj4qN!`&(Rk1RoK4A2dkev_ruSHrb2ASuN^oMFZ1Vz<*qYV zCZ{!MZ7c83*!2n=uJ%@Fa!W6^TV0Wf&HOb4<$jGRT$?odnY%oJcvq-;%>}v0U zvNCFDo+i<4rz$fmYps)|!F}EbziHlDsHae`@pG7*pv!o%QLoVT1-7sMIVCeQ2y912 zMl#71Ra8dKk2htg2kA27iybycnmN{w2IaiA%SN{x-Aql_qjWvn3HWwv4{>mCHa0hV zxfcUEIwZa8fz=bcU24t8vk``o@~v#73>7_J){Pv3Wj`D$_0jMS`9p0jA>|oWsJaR< zwOv3R2X3FLx5XJ$|i3&9|G$7=6_Du#XIImZ@8j3XXr6L)tmLoMMCMF={z5It=G)e9Y z`_71lt8?AU4ON0)x6!!Y6Sq8L3y{~CMlpk;`?{&4!TV7(4(5!OIUBB012`sfzOFq zt8&j9Q;>TzuLPK_zrTNKg;{GfrG&WZJF!`!JEKW=@R4mnBykA|-2^q)S12MPqE!5x zygYZ*c7;{L<%#KF#^ujAx7%nxKW^ClOeq~STMK_BQcT6$WfM6zb-JV%OQ=xhm*d01 zT=@h3JG?!BKHxW0o&r863`r&m%jK3Rp=MA@2J{n@e;}jWzj-!o3ms88r6h@IvyYBT zotBx23)OL1ju2n^!6Qum3t!iLAMnq7#6d$tL!dxI4xii(nwbV=Bfi;CAFR!h{K+!& zsOEWbX=%d%ZI9#OFlw1^g8G~`3pbC3*m;5^*tdDUKUGZE>+%=?l$^lvP_4@$bLHG^ zk#{RS37be1I=OMlS#c+GoPb+-+u}azl8Dp7c{xH=Qc|*-^5fXpSkl!|CcAOho-==l zxZ!F~f){FXb|g7a^M9b*m2*fTIIBwnKDxQZNaH)(}D*clNA;H(z`lY_`X?+rA`SLU4Qh= z(6H)kFm!fiV)eyACrjOtf<&lscP!rH`+P~OtwdJDLY@}@9VjK}>FHg8LECEwpR}e) zgn6EnB#BUj0JAJPJemR=uh-RKk{CsZ&m;W%-i=^X)2*>0TpHQ5aM>8P#ufGGyWaZau^Bt+1RtIo~V*QW*7+Gzg^x zwFh2e3@1T$^0cxtj)|?ABv7dJyf7SSn>MJFt(j4wO%7o5i81uIP_4w$8m+?8f-oO_ zkcnWn2g-E+u{uw5{?7;@@_K7=3&iA73jE<4I9B!CjJ2lAW<3)VRrhK9F=6;F zPM8;P#7JvaJi~>eCj<9-!yLSNUzZO&o5rp2k|fuS_1Wty37J83a#Fd8sVckN+*~_5yI#Ise)UKrb!vD3 z5f|*@bRSdTXixY0+|1KckX$%4?c(BMP)_Lb8w29>d=rmE^{c!8E|M6J%G1Rdp>(#>*|n2``xw+={cZJ^*&l7S=A=S#dQ*Ft}Q(RW;@z&)eW4b(~B{Ot61#@haqs5 zER}Oms9#P_0ww{c1wndgUf!1VO^CJlE{R5+;!`0hufin@$;UXK7se^^k*|*TS&tz-%bv5pD0KR<=m%!mZ=X11p)9Cl%@(DSdb!FfA1~~9_ocA;0V4kP*mmE3` zm)p3&Mziws>-L%+i3QTfzs_C*p;*bdMZ@*wZoZ0nn~x{5W_EdH@Hui52f6K>rMDYyRCXxJU3wlYr2tn5aLIn@_q#A^JSOexp?Pcm z;~_;5b9l{y;iUkDzZ5E^<8fTTHRC+^GMInLi19lXo7YvsOVNOft&-l?GN?Ik%+_GC z*?yvacHyLazO_uzY)T1|f?3DO?Nm`b&!c{^_`~aqRUsdr)JG3R@815jRwE~PRs*nm zbZAJ+ww)?fESQdw(S5Jcm%v~Y;Q2j#Ei9SH1WmW~^eDmW3o@(9`BvcbX=6icdiez} zj|Qu%s^Yk;cu-q0U;EXZyzF=V~Kpwir+bJv84E1EDrzf~>WQPwp&3a(o zQv+FZsGuCSZ6lA+{hBj$iZs9QmzkKsB>ItE3uxMdK3L%jl3Bu(?5WiB!E(eQ@1;B( zMjLXDB7@>-e!q7j4_Nt1N=m$Gdx#6=KVLJ*&dvsqq6MO?CtOp7?q>(-QVnX=_NGzy z2sHpDuc?{JZq%q(SY4gbX=fKo$)r{|7bX|ER?Q3tY7(v}8^dFlK`BuI8WcJra$n1s zo0(OEXd{Y6m(zZ&Z+$S6MZH*f^f)@2AgZ&>Ty?z;IaBk#`ODgSu$SKFCh;NR;jcl2 z3<`fiesAgO7K8YJspAM(0Pq6-2(a6~J34rgQ-_?E6KR{Sii(4GF!=#`_*2UJ;eBe-Wa^Y75dD+>PR#rj-a#wvOekUd}GBRy)+e^R%KoBBLot`=iA!n&S)mKqj z0bt~D4T#wD^-Pj}&WVXhSdGW}KzhF;Dch{Q{Q(ePo#`O8%pi!uR(c!kHioiEgH6tl z)`3&yk1fuhy*l|?Sy{Q<83j(|?xri?L&VRC3k}s%4vJ!aL*Tb3ky{qMk8HkH+?%Mq zD)&Rcu3!uXLt)=z*JJ}6sqA$`zj4jF z=a!bfcBMHvb63@NI6hlVY5>7A_REJWT`}x#CtLEgM^~s_p@ZM4$H&KYwYnSC_3md; z35uft!a=RIH875sn#>0)FfdTF++yFEUok`a>f*51K^y5>XOiT>Np5)E@g5E#zy0YC z;HRKasI9HSY6wA(%S}W-9vd55ZZ&H&AfX6^rKC}v`|^FBc8$uYL#rALCaXLwC^Kl% z9h*+uvC^$sf9YuOx&uNES~EbT;SSCdA5Z2SH^< z!`e$>)8}R8qYly&IXUNTLRY3UwJzi1NM zI2F(C0y`21@|2a`m@g5t-^{N_wCmyVZ1B3e;6o9bVxD7>MHpw?KF>tW&bmBZi1r&;Wz;B zWl_ai!+H7zgM?l}!OW~fisiEE@Hyz}XeW>oKNUO_nI++O?%SKc2RwB@UEv2>{smk| z8JWQN!`9Z;o|jxCo08nbJ!?;QLE{H)IvrhmLH)Vp>PuftGFdtqY3VICF~`Tg@4*6C zTfg~NI6n6WVX}p}Ie_Q0vt|%QN;qk^ofn8Eft|}r zgnFKJx`7?By5B>y{(Qqu440poPx`HCpbPfVCWor$Ai3%*SFG~$nciyyzEpkhJK})@ z=}_zhktC;=YH^uiqeBG^4J9@-FVy8byJf1?D7MsDssVd(p1tQjqGrdIJ3d??to;ZC zkK-2QJK0nk$|dicD?s?*3Uq=-CiWCy^UCt_jfW{Q>D{S6b+f9RhDm0(ElSA92xL8= zO%K;#j0{q34J1OHE;a;>*gH*aQAuoc2R0bI&OJ=1TjU~{9oh~`4hPB8jqnAyR-*l% z4JfOQ+M}z*9|ENXTgWOB|Cx-t}^k%8#!h%6^^WS$DY`jSjvrm55bdP)~ z)iN+MFoE+jeEnMr)*Iq324A%a2km+MP_x&G@$t1F8Wy@f>!qTa6`{z%S{OG;B4IbSzn*wbMs}SkbV$AK%$& z_8+CvUdn9)s05C@tEb0!>xWR3N-oEFv`N&xEZ4z81u&cq8C@_Hxh zOf}uWf@{JYP zrjv)&_Jl)?)9y3ql*4FK55rSpSmoE)K3{0~5)ZV&gnlp~cRl04P-_>BpsJ&-Y zx1jI!HgME7Ray)3DZT)zSzA@|HHL?Vo@(1kLFTQwL8ARwYr(zcTSWXJ$e(!Xj>ZGdOe(8NTh(!G%Rk*VpqY{>*G~-67&j zAk|zq_XbUPwCTAj`DTEASu@NWj7dlsZn&LyQpr z)tgUfOrgXkY3`0fj8t}ObK}S{hmqGQVricQHIubxg|tmHCA8P+I@0~sQ!V5;;!(7E zE!TC{VBcF!<9Na{ZMW-RGpD*A#ZT+ z-=}fQ-&0{ZIe?upn73XEVDE9B`=mR*eG*h*s9wKQZJwIVKrkhgSn9mL00<_~qm-HC zNzcTTzo-L{lhkeNoq8k)ia^;lAHCW(;eR5#b`P~BjP$?u+?^$QLVWqXZ|j7(UR zgA}(WmAh+kAEY>z-%@G;cw9nW_h-HV^O8O3hJT-$ngSuIfClO4sBAq*l3A*jLiJub zUmkM-;^KrQ5fCOeZ+1psCw&-uS92Cv7RhZc?MNIFP#N{8kwbg$M6ayieR{+G=7hZV z$7o_n_hgS#XT=dnON4kd6cl>i(vb&|$}timKHFb@1I5J)mXo4SpN?5@PIy#} zzPhk<6TzlJjI4ZtQZ zEi6YhP{Bh(qU6MB#f>wr1eK`Zq$3np;)RWq<*7yQWhmvbv4->|NjC*8^Fm`;S}1X- zA2CCO_Q)>6zaw5g2nUVi5q_QkhoAcJEfN;DXOu8yH8>YYf=@*W*aF{M77t4Fxb9Ts5 zy_Uk>!~K#sI@xsMV7U`Gk^XMYa(hI*My>OH!1^Fd%~mm87!9D~fb{^C*(ub9{tBg% z0>Sg)Pj5`w7=D-2z4`vpiruk&5MYW7;*lG+bVN8YtL?453{C@#H$SPe@~qeOC2FVP z`jhUZnVKi~2yPyvX?hv#wUK$bH~QcUo{Smbf;^McLhYyp=n;qx*PqOKP6oe^1}PCT zjZP6!y^+%{A_8_(kJ<%|GE{K>{mI#fvR?!WQ?2g1^P@Q4* zx_XN#xVG;MdiGKhYWEN|q%KP#?_P=l!nqXbtp=;$cZ69o|o>SsbQLNzRS``S6Y#_Q5WaVoH~g>h5Ya z!c2n}=j6V3;C6lSNaS|DWldAHnNg3S-MN~b@uw}>WNLq`04(~HI091QLhv?0|DBg= z0k0&pe%q~c1^bgl=%)&2#a57fHFd2NenC>~!G<&qwv8FU%4RcRsOw=7D= zr=|uJG&KQjs;s;%Sc;|H*r;E$WN1<|y`%R^O-E<5yj_83Kn4{EOeaMKwE?BX2&_xZiI%=ZG3;?K;F#dc4fcAr-F7#iD5 zhCUR?HW*wyz+sed3~Tlp|@qL@+*fmR7_oa$y;RPTVBexM@2D zb&1t*!({z==8T4%tH9I%Yh+(sWgp6$F5QFV;A>*7uN=uf+MVZa`OU|oy9EPpy$ENN z?)2UVrpCnKuR& zhI)J`EH-|=u!B)!=4!W$ui=rpX>FYPc2J64S!>-V2PxsSikeFM(qz@kL6o=8+9Bn4 zEHUmwY|K~Ri$;01td6ee1&%WNWjGEjKxZ zke>K}#KGK!U6Hb#lGW#34C_~Pa(K_nE5AOTVCx*UrAm8qSh8CmEf1@dV=H@@3>Gzn z-1VsFS`ZWGH#}HEujD{m!cpB?8?wKgk&qOQayI*9Sd7yV4!3Vhvx8D?mbT{9XL5nc z^2d6Ryrn?pp?JRRj$MXQlE#}W95T6r$nB|=d+u7R!ZfbJs>lN4La!BRtR_ZBJINrX z+@G=RP4R4gy!urB0=#$x30Ip=JIQd&AaWrl`%IpQ4-u+1ZRlv zQ`jq0AycDGZ$%N!AS*!Y)1FPDm5C*mXFo@`wNzTWhs8qv*^^*Rp_% zrX-rOqyE}4blS3mm^6E=r+NFPl7;s1*6{8}5eRvBd+4-j*_aGEscNGzB8MMmKBx8N zdve+kLrKavRBxWA?&N1B=p5E=5^Je!r&ur0_lQCPz7;uo>t4-~u)f+zes`zX%QB)>4V9K3vj z=1Jgzp*CM_mY=UqnMvaPiGqB9*lSCRS&FK(Tnc0osswZ z_d*CNB$}t4?Hs!m}u2A&10#+BnF!11B)Z>8&G=5|f^{ z9H@;bukdGaKPqt_q{u*@nAbncH`R64waL;i8If;qu3x+2td>0I=97>(hHd+EMK@Em zrN7Fxd-3PXUVSmY)RM%K;h?48EW6!8rcnON5`d|-R3pMF5t`BtYyO4q^cFqLeM9o{vtRYRaqwh%&m>Lca zzmiTKDh@ruZ>}{S7Ys4?DvR>ijt|;FX$Sr0HYM?Ou(xFO8CDBpCD!>>jy-lhhmbQ1 z6!C}x-iMB_^+D^==}=^B-%M!VOhU-SbZo^N%+iP29Bjac5s-&lPoJ{iyk2NOa1AUu zIY5Hbmx`mA!#&UL7p3M3R!f37?IyY2zPPw0?D4Q_P8nXKM-9ajx7WIltgLX&)T~Lu zZVuo2HfS!n0Rn}N=<%*R3@QDb@h}64?$<4DhN{FI>RE;hX2O`hW#t*-b_Quh)B}Zb zmf52dgd&u`h9UhNtbZ&jgHh1he!qK=C!3iPfYU*10B3{pS*p|C1&03SE=|1uuGGR! zE1>Kj_wR$(aX?81j`iH!>ZWOmK&nS$Z>k7(vyY$XB93xAD7A`ttgJNRP3oIFkHVyl z2LJQdJ{mZR!45X^=|%4@c2J^P$8gB0EGKjPhl0_Tz&lI<2~?0@73LZ{ZVRM*Sxr! zL9F!~A%9uQzcHxc=k%$6Vi#fW7BFrW%oy-Lwn?@|otu|y(7rVN!(FuBRo?k0Zu`G= z_|ekA4mW^=Ci{w@@xRIcKMtK5_v!mT<^J&HKN2`Ku2R*FG7|jb+x`u`_%|M-#`hrXSRRt;@RKcMLX?Z^!4xj`d^U|HSXuK zKT#q8{y&Cw($wKtZy-EFkvyM?k9Np0aUbZc+p0yqRvOHDnfA#{P zq5VrffLifRr1YQqy8Hg$*M@&Zk=o&;fAMqiYOg;3pB&Mi7x=b=Xf30JwSBvsoSJGr z)a`L;C=^oc{T&VaHu{UoF76(Zdr_NNj0^Pvy;D^^$Gps`>^qYIs%_6nu&`}LZ5{{{ z8=>F&d{=xR;mPlj@tT_I>fDVfp@$Qk)9AN6C1|==50AVhj?!Sn_9dMzoK5KEG~U6*LB@_5XVH{9)eK*L1bZ>+g@%lFHhQ-7MJGWbebu z+h)!MYbv_WId>YyNi}yYFWfAuDn1!qUZIrQ8Y=3x-7fBs+0O}v2~D#-x9CNk4NILI zSbM`FFV+d}dk8+}AFK0t@_?ju=Bj%4)AnN3ewR?h<$C}2>I=+}cO<-bW-2TSGv(RF zO3ddPK7T@uBj4^8UDpW^h1FSbuE{mk32dV_4+`%-PT_oc! z&pZk<@#5s`Tl9S^#;d=ymP`uhfWn2RixfsRS4CO;6wX^mi?a^oT0Ld7VQtlf9~f0zTUj=X)}RXXfHya--zySNb`T_ z65c>E=`FOMuMF=04TYgB>mvDou!K-bk_}c6)G-+Um#+TT?o`C{fv}|NFxJ;aFe|bpNAkkofy+z*ETm8+h|~cJo(Q_0Qi01o;n^fb+MOaE}4# znf_nl;6Fd(-&pG3TZD=@V-rBze?fcI8Xdr){gaCW(`uVN{eNJg19k2cQla*{UfW)7 zY-5pkDrS)ws4L#R6T?E^8BoMyO%!k>D7&tEawhA}n2E|dSV@U;u2ZpoZnHATcYDk<>g0ScIKidV{&K@HhuJ6oDULg->53aVb<_g1P z`E5Jog8>Yy*?a>y_~)TVT0Lhq%W6X-*0}i!f(x78=~`2}G8LkYqOGX?#kK^S^Yt1h zCwnI+GQZ1A)7Z}C0im+s?M)&Rbtc)LL~{IgfE?9Tnfq9%Dv zv_vM+U{ZnIfI*Y4=y$owlM^Z|>b6enKZky@JIyrtu(<3~S-EWTO;o^0Zstlg?r|R+ zR`u9gOqwb(X!~(?@R-D937aO-8hWkCTT?wTp<)FpV}09le8=J7`xB;4Ca-4BOXmLHC6|`OQJ3Cy-*QzqRd>MQ+%?)bsXNNt}tOlZG8m8u&9;2Z(sMWrGr6{bK^owf$Ojl+2vZ>h|q!frISvwJoj>VScS!SvFGJW)S+gfJZ-$|2Hj0@ zuEuft7TM){1h`_;x(=FHw7{FfgO36XR=Qjkl~wKS?N#XOBtp}wrha3;w5^&FK+Yi7 zd)*OQ%*ffws;YIXnadt%^4{EA%(4or?dxg&%{+G9g9ZEiKfe5!0==GrKNU%%r}aJlCzRBgOHaem(}m}jMfVMd-l zf<8j>TCCv^L4_%J)R(6&rtPr2oUV{vQNbk<3XXZ{@GM`m;%XDWq4c8B*YFwf-P`_e zo(!Y=%%9nLf!-J^w@uBFJnh45IWI(N>Pv}GP=2i4-MvPlW{@*Z*WI%_Gj)6t;JXnb zD;kcwD=yAQ%p0x(&C1TxP@p-(vu$$5wG;GL4;N@JBA4sSN=s{(WmK;>GU5@4z;}o$H#{&mfHlc+LiP3%O;Ze zg=h5yQB^Ec*S-&m89SG42Qy^r&I47ik{YgOuTMj~JoU~F=27uHKZI(&Y~lyrp@^c) z#w5EV_@(1J+3Bq_?&EMpBEpBW=Oa$Myu9XRc`BWpR

{FHa9)sZR7ZvZRbE_j>UC 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 literal 0 HcmV?d00001 diff --git a/attachments/2654413.png b/attachments/2654413.png new file mode 100644 index 0000000000000000000000000000000000000000..3b4244734aed52cd4390dda5151b9e2c4aa0d1c6 GIT binary patch literal 145365 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 gwr#i5(;bKvTy=1lp3jFWEriKi2HJ^gBgBvlSG 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 z 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 gwr#i5(;bKvTy=1lp3jFWEriKi2HJ^gBgBvlSG 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 z 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 gwr#i5(;bKvTy=1lp3jFWEriKi2HJ^gBgBvlSG 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 z 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 I{k1#)2hpycssI20 literal 0 HcmV?d00001 diff --git a/attachments/2654417.png b/attachments/2654417.png new file mode 100644 index 0000000000000000000000000000000000000000..5c408883264053900db94cf39a7eafec8da632d4 GIT binary patch literal 32274 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

{FHa9)sZR7ZvZRbE_j>UC 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 literal 0 HcmV?d00001 diff --git a/attachments/2654418.png b/attachments/2654418.png new file mode 100644 index 0000000000000000000000000000000000000000..3b4244734aed52cd4390dda5151b9e2c4aa0d1c6 GIT binary patch literal 145365 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 gwr#i5(;bKvTy=1lp3jFWEriKi2HJ^gBgBvlSG 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 z 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%0Av8iZp_m1!@`s5mK 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

vbM zYVy*N4q)lQG!ZimDX|2(NtuL2QX1TS81uJZfBqN0`i3#rdK^X~=W1u$$I~?uOiBcl_CYC}iYv@N2hddH6CT-}_Vre<53W*4$0F~5TEvodW4z}Oz@0(Ft;=4kX#(v zN|a5>u~Z#n$!|J9#!<#6AaWOH0SiH)P|l1JC0PV^N@Q-;Yh-~GHtP&vkRgw}-R4-7 zMUzby4h2JUCKlu@FclJK8pk1xX}9CNArpC~gVr+FM4VG%PLgsmHDM$M335uRbAOhKN|8M8dE(Sys<{aa5xTcLF-F1>t1g!(L}|XA~Ile|Y!)haZ0Y{x5&^^DjPo^XkPH&#!;^?Jxe~oK};qJqS}`@?d<$iU_2wm%zn$MI%&^Mm#5?AlI>zw~9Ghi1ERORt*)KDBz(M zdo1>VjDv2*)MHB}a)*V}+KO|lP9OFU-@mO7hrwvG+3l{Mr<`gnu9mVu5^5>Mv>KcZ zR*F769HyxNNNFIEd9J1~g{M?%E$S)dVc1qfnU2T(@pzmP$!5E~eSWjq?5blr+K2nQ zH}Brv-|y$DN~~r^L7wTmc7yZ44QKQ|J3&s;nvSqAOJWA4L^(;$t)7^O@-S@jkeJ4t ze)+Sn{_b!8({7u!9tR=!3fCB>-oEcAVQ)G?HFe%(!t_$HMa8)=*3x< zaA$e&K$9CfRn7MI#-~pw4__o^H8Y^67SQV6o4WVAi!e)FSU_tqi5>pv?v_du?(1ZE z2Sw%F`AV>u;r(7B8gM5wTQ{1xSmzhdBf=tcjlw+!SOjK~E(CR&BQeM%jc)E%Sdvrg zf5Zs@imJM%lp>!AW;Yl)_q9UiaJH%dm=l@1n}EQ4hC7n0xtc~7a!N#zDHD#O>}ZHW zM49OJ#kFuA$L%K-*VniAcl+&jLxOZj3I~&!r7Yu^b7m$XV@`>M)5v+?%{H-EEor*S zMpwg-N}VKU5iX?)Q5q;GPMK<?%_jHi)`TI*++D5KT1%~JYEG)*az!@Umn>o5 zc*1bEJtGuQxz)H>d#UkIV#3pA7@u8TU5%TOlakixHokVyi4-nT+vsTNP;*c?crb;* zBYzl)%UH~x)d$R+gGZE;w6xC5`{6bL#M;L-+u3t53()lhe_W*91dmv z_T|lI|I^6SQ)K9#*+|K-zlF^SiRV%&7FV3nEpo{C#QLJG4!ZH z=<(6w_>*K(aOBXVt>BvikK9f4qEqsP3377F_?-If)M~Wd+?EpBPHD1}4Srl>X%V(w zNHJgBdw{U34|U+Bk?nN()KhNO;<}x{gG;c%PaM0R;y~BDYh;UfW%+92r7H`e<75D! zz1ee=>^VFLk>-um;@z~Y?ymh3jT)#yYt)>hT5 z(8FnVZsQ*hsO^nmL)hIx?olx3pt?WazkPSOyO-*tjv$1!*(xw%5byj5Z2=_3Kq+4LtnmamW2Zt%(2j#jpN z1reay1whU$ zq5Kd%r%0huKV3@gNKCA0Hb6L7XCP`)0%kPNRc9k-GB>RzNI4~rYM=^n2PCm*B4Q#L zW4j_sDUajGOlcUhBqG_QO|3Shaoh})sZz~{2QcSx%MM9&z1a%5><=Ith5;}q1y!OU zB~C-SzTV_SJ?*wgMC*Kw9S~EW2qN z^VRR`d{$?tJzmTIVMnV5IM0o(FX;k*x-_6zVeyUP?Eoamab4pgg02{~kA#Rz(0l53 zNB+(;F#i#H`)LIAOJ~3K~w=SYqf_;w&{oUO|DaxG2F%84UjgHgt{@wli{q*kc@Nhg7HHZXZ zEBMJ_QE`Hld`X&-x9pNc03Cc)!XT0*iAW*=IT2D$W6DC5bH3W`{^oD~;+rpCxgS-J z!nI6CNr-~C0BiKjPT;hE#M5aBEje9AKN5gav^??&KIS2{80b;70f1aDK(C9pu|p$8 zjHdIpP9UB&KnP7NB9N;)$Qr~-k!5QzZ1AH_l@zs=BHIeJ3R#!+nbET_K^JKKBAC42 z@`c|9v+#bFzUM@gn8EGL)?&NM0XdCBa4x}aU^WJ++N|pC!!W=Z&Lm7Eh1|i;Fl8auxk+P)s+vu@tRf~{7qRlQbKt)*zGwUkmzscNNC?VVJCrmMTe z-_)qDjq!cD%_u326r>q5XHHNh=I76z-8_4~Ny+A!5cP?Tc1Y|35fSE;+>I&ctO^d| zg*C-Xcds!s9U(4c4&vB%-JDq(PsAey&)w;PvBfHk_};W_NJhk*38pZ^>~}wuySw`j z@7_M#zu$lR#e6vKANF6~UcdhQTX25+yWf`mhmkU4b}s;|%ko*H9m5oyh;V7U9yP&@ z$IW=k`aQY8|Gk|sBF0CGnAXR~E@FMD-Ks}krS~Fy{D#LTcSkQsTwZLdG~8q`yW85U z{!~wa{^OXl$4Vz>_wp^~Efj6aUQhZ=X1;=OR?gOW#D13Rh_$nN=F0~?aM|S&KZ0~F zzj!CDxAXTNW!^bhr}8XSCy?3VkOc%Eiju@`Yi&q%FlqEa4Ij>olDOMaH_))X4q8#5 zS%|LNwp6+Vau5%$aeI2^u?cl_lnaR7?=UlV7sIrlKD>K>*zbjC$iwsNXWMa8OPS|6 zjY)=tB)XqVEw#Ftx!F9I=~&DlEI?yll{pC0NlQ_~Kw{v-VS0c6us_a5V!Tz0Ktzd-GKLjEEbLrXh(b+I4a7?F<+Z1T^L$XSsd8 z`>S7l^S6KV%k7r6JPeuKG_u}R6|E`DPc87D=4&PZT1@FrFW@+c&T!r3MF5VvXcpL0 z*l!bYP=k@5xDVQ7?oO8*yj>7AZ;+OPRal@|!U^!!-l2<&ti(NWFS_g zG;Tz49ya4Rq;cy)B-y}VQ72PRIm>1PSCoRy2z2nK9^n;A&}zqWe}B)WhldBy?Bl~m_iHM0O!9Uw?@N({$1 z<{CNB(Mr)!!GUTx)xID=Z*QC|U;+Q#TfL=)^0`}Y^S;c?fbPw#R#k&46y#>!z#($5 zk#iQI5n5fX)>3O>2UiZ@?bPsuK-4N8V%Ca;m(wPXxrdbl0B39c4O>#Os=1n(Y1LY5 znYGOGJk?sPs>RPzy(j{5L*LlCUxff+#X!u=sg@#%wAS$OvPcAgBJ7Uq?bYqG=ex}Y zsv}EcRx=K91$Qz`HoJP}RO?KJoRg}S5-}^~&6|I9_5B{lvOmrr9*z&sZ$8<*xc{P~g zri#9hx)zh}m)Xn(xQ)oX2kK`I(AmZIEazjyt0(1vRq>WtloLHFT|yh8b`4AQ}MgONY|NHqE1dR5K&aawgw4RA;A}R7IqCynNXKwM>MWxZu_Qn zek917n}C+X?ct>pI>Uf_#uMsQRdQzHGSAc90~H-5?S^5O$HU?9@Zm0v>3Xw4W=#8O zDsCj4+_ltNiO+9HCQ`?c|8BBSz<&@nB;Oyxtu{!6g8|=2o8NwhyE0QA*Fy*4pj}zwU z`puhq|Ni}(ACC|B38Yp_RR@DT+VHulS*dDPtGYW>-8l+@*+HaWcxlXoo{6HiXPBwB zQG#&-2_rH)9?7`SN-!297V~1L=Eki`*a(T(HUn2iXz&%B za(}Q@mECKp6&1`vtx!d{Ycg@KGhj#S8xsyz4=cLzp~V-eyE{xx)vKBnE5%CD`8XX8 z^EB0Yp6AI*u~JQg#2>A_X_dg~&1K0A1UIi%QqEe7tBC-ra7xUzsyRM+`SO#OuSOPj zWJ#GUi;B+>$*27UTVG$3AtXqnmflM9FS?l|(TTL!F z)53FK@Y;UD&iFo!c1+QB=3ea-j?(E{mgu-`QpfnHrQq4lvb3f-P|C6T9ZO=JNyv8$HoFus7|R@I|X zXS|#$fOTW_{eFM<=0{Sy8a61JB|+_Y*qha1*bKW7N#^~-G)->7@(pFG4&FJrQ7tx2 zrA!q-RV}6NwpRe(-QVBuj}A`5Mky6gsd}t-U&_NYKg{!?D3~~91Ds{ymbGVn&QLP9 zCC~@~?PxO+oo5>%kaLQT=8i$qHVs4Kn`hg<`KzCO@##&XVqOTU^?+s!gi|c$-FCOT zy?yrl=Jl7~Y_D{(n#bY#*|TbTx4+Bq+ub&&>`G)Ku0KmJUcVatuz&l*{rk75=47fR zOC~|}5^PrnqR76wy1R+En~{jKhRq^_yQ!{~Vi+x&GBudBjt|aiK!qyEt6M1S5wW$Z zL=HC?%&uNRo`x(2RTQ__k_Q42q>^V=cw*n~1{`W)XK`d^j_0UB1B~JBy~@IRog&MI zV6~}e1YZR&5muV`;X+BJKKFnp-Y0@%lDPA4s5!yOHZmuu^ zFEK{s=PVTXD$>Yv4TXjlF$l;Un=ya&#plm9SBDSxnPg~au{A%K955k}VIT$%g`9=BvPb{s((xjNJ$r_$8y!C)QzNGc|pVY8%nF4kP5w{!*8FvAQk3GAX*~?$qn-qU+ zY!3BCVhd_V1FDyg^TOw&p0kU|W==#=v%U=FlGs^x4QCJS>?sZCPvZy+xLeL4;zxrI98w7aoq2x`H*woUG1>R&~n%x zN{O*xGu2unQD|hfR;@nG({X>8<{H80n8uXH<6-{s?fYped2=;xcZXuN)T8R%bi6wp z-|Y|k<8&w;o(IF3z}k8E?WrzLpIR|b-?6bMkjH2fIdhKoW#mfCLrR+=Kfl`j^5_NNbAS`Ei1%R|mV<+4U_tSo%@S_|b` z@5CKuPkM$;ysA%74t?rqj}Vi3$+vSqr-i%;Ihg^{?xZO?db`;r#y6vI!XncQZx`m; zATA~aU>b{o-HDAt0xHsotWn1=Lc}RC#s8SmvxFgL89s%n5eZ2Oa9U`D3?MP$`}_S5 zKfax7De6>pBbjqzPS?JzrOsvk@Zs&<{xHw;JWZ0vtDD=`pMUxKi?3gP_SyCG=hMTa zgi8MYIDPls+pDXq?J!!Yc0Ar}vL5aE?PvSR4Flt#ld_;P0hSmnpd?IgfPj?@7W!L} zszUf2X6AKyfQUk6ZxwUy?ylkvT!xi|E0uUDW znm9#$MHafbzJBrS`FuE%d1{ef1+$TPr)w-0D|Ti9DSE{0j!;?);rgJGxG$PLfs+SK zCp>{g8wSl`bs&nhl!>T`>9%OQ*%M*~h+(cUl7yVZf&JZG(c-n#>3~mebsEbwfAiw{ z*{jdWJaakVIM-UGtw$`39B&;Y0i4=~1cKP!*{#-M%O6|3vyJ=_>y&z_-9=#8>=r%p z@E;u)ZbbZ(*Q)0$!0bs^?>x>OI8Kwpw^!TYdI$G%*iX~s#zf-os;Jd#bye3|M4;7=hk2SyEhdTb zuzhy@j3D>-_tUYAo854=QKzg(k=Bn2FoQ*F~U=m$`a=JQi5! ztMzi`hfG6x+>7vI2R)U24E@=Tt=j6%O{yfE7&Ju5-CfT?ENY5Y{j&;*dFa}b%dvB4 zz!)6OFFWJUwbjI+LdiR!%BWq8w^Bp~g%$_^s2Licr?Z0{PNWp{dTrWTMMQ=%4dWmw zrJRH%=R73gM3i~CcmxVkYn(ea`N~=i>Lfx!VqWWP=28u%>SnXq(pFfiT5C|~tktbn zHQVnF4-fZ;!{PnA_aE*b-v9Przx&PahTZ@9i@*Bo|M~C#{^je>H@l4wc^dS?{oR|l zhk1U_1eE$V@qGXO^A|Vc_J%yy$!WYcn@Y?cH#S2poiAv#sG1SEdsKr(_DWUJx!z_T zQeo10*{ViHEvR#Hiy#i%A$+aH#Tks~u+j-quF^`)2t(pToQ23yW6NV^@-a)@tsb+3iUL*-S3MLg*33-d$3fD(+@iCX2hs++PYYPGrATy;Oq$EiFV zr~RzQNsq-!^;+W*MBEA2Q|k^Qx5ZbC-h8pVMMC|An5??i%HUV8Zc|Rr#%(6vA0~pi z8i`O65@JnK>dfoi7a~lRdO>pZokJ*(QMgfNfD?heD*`l$vLN&a2}F%($-255HFX{e z@|ZU@xmG@IkqK#2Mu@`7C}$9v&i3w)znA%#^xNahPiIGge7>cZ&u{TgwO5)`^!zbn z0@3M-6NMkX${_QZybDp=r~XW^YEeeG1nm1iACqAp^LzU1;oZvm1Fk1Jtvz}(aG4_f zn2&Y3{$6wdTuM@eAGW+`?)=ziS`e&eoSU&-WqnV_c}t$A5@hDwC^X^poLq;K;-Igj z(z}=Tv{!b1cgtJoTqrfJ28%6PD4S0nE7WkUhrb@ z3lo`JwdwyQ?p=E&$+GLPwf8v@k$LZ}cXd^D_jJ$nyhxElilSt|7|{R*!0CMX3zE7#!jpH=c+;2{|Cq?zk%kwW@z1kJunO{UmS*-w71k$xNF)FeJHx9yb zegRq7+>n}N)ufukP+I}OYgLs#>vr4UJKH{g@%Y={`R4mCo+K^weNNQ?vPxS`S|u_N z2;}Ct)g#bn#&xD5=a({osUqFH_wOFU6$V;=!5pF92o^+^EB!DZiIZkG7_7+otY-m2 z6b`47H!`6j(t57}@sf&!51cd~Z&8tEwGa*Znr$gWo3~bIjM@sCnk2?pCc92ux7ln@ zHz%9zX4v*8rzbje(sfWlbUdYF?oS7E)QVcGTh!76aQEsSu0_SoY!ARFZZM`sle8hD z(`zgT3Pjn_KsUeK8~QgFSFbLvuil*h)gS(w*Pngy>p%F-@BGHE zZ|~nrKv((l_4!Xf{S?k2rw6Cola#La-koer3;L4;y?XN{OX)i*icxYcNhGzY?O==V zFnX&74YQ+&A(x;$raUFw-Q2_^Iu}`G_#!8WN8fqUEUH1hrpCqt0IZs3RdLUXB%<1u zpRDSFPF00jWf(daZ(*w{y69l)4P$W*_(+H==93aGqhW#-=CS7PMhme3gRpDXqz?1& z8J*=&7R`@i{;?*2 zE+8e0)6HPjOSQ53)xPegay8c7XuIN5;oiVNPz=!^D3rN9o5$Q52ZsXjc0?3eMJeIw zZqE0fJ^r2F{oTtquczH^b8_6;%QbR}VD|FbxQ&?>$En-Q z)?AtS)l==FvpzC0SbO^&rwDFuVTNeIgdN05^F|tf^9~SZv9Qkw!`Bn@^8VE~H%2&O z6uUWHL;d)%(fYZ0HR9&l3xaN5e1+T%5}U1v^og_D*aK3iD%`iHDx zpd6#CwzS)^MdG~n1xAXMRzj4jhi)a&yQW!G(shbmg1$>X)2|7tqco7nE|?pXiCE{4Bb#_*Ehz@^Ur_z z^3BC0sF1zE1k7PVo9W4+vn__qp;6f19IlXy?~s%LXpVn3$Kvr3Ko&p)SYu6JS8W-7g}0uJ zim(+29RJazx4j4f-#vQo@yUaGr}ysZX)nWotVpS$G&fX3t<6l_>QoCn3eY0`Eaq-j z&AfPZ^XeeIh9Nt}jV>B1y%6s1MtbuCqFI!Zkxiju)m2kZo}`Rn=#j^by}sQ2{NMlk zmp}jXm!JLo*M9Ri`+N6x=Do)=?gsZ7@gIt@6dNmdqg_wsa+;=sUBOgQDsrD4kVwT1TR{Rd~6d6rMB zZ5}Yz@q_r)wkkOL$`SS`?Rc)E=Gnya9Wwc4CvT#t=6-eK&2sC(an;maxbW!7_AuSv zC59~E4lo)MAD8u_c``K|LQx6Q6KIUrdYcIAg9QREMNryo7MC}#H7jMvu>PtL@7d2yktN!3(0Lw9=b z6n%&BYPZ_~-gUj0)LN%$nx;~#Er?k{CKC#pl)A1VN4#nsgpzx?8hmtXGO zJ@+-KB#|L&QuV51E|a=wyXDDQs==k0Y{6Jzh>;SaJ%_Y3l_sIIvKw|eUh{G$TdK z1;!e8n&i}V+@5Y8J$d}-@k2S;VACN3IYR^*Rr`AwVTMYS3X9xXTd~cfA8k`m^hc3w7H~)27dtV;%Rqsdno7A^En; zweN<6Y)qigR6~&M3sco#mb)P;L=HTbd$3i9i_94gFwzQT+I&QyRdWeNMK!K}Rf0-` zRuW##b3%k5NK`72QfE@KN*F3N;;L1e3PhSmLy&Ib2oF#?Kro!#0W($)4LJaDi3G9* zedt1$x_B{=WH=-^sq|33E(M3m))@?|LnL&gCZ$WtB2}0(v_b_kjn#{}g$CAh=InIo zhYlgmN-t(sy;izoEH)Ouo@`g@RCHf_Z&3|^Qfu(xE@~hm%OhA44nS1YQZz$Nv$*+g zx7&0nZo^?19z1#vlJ>i4b25zMr6#6qq6rX)!$dXZoYGX2YF1=Lr7N{dd9+G;mgGXC zM|l*NoS;akkCuf{L*zsa|Jham03ZNKL_t)wWm<5wYRZr}iin`8yxJdYHF3+&#?eku zH4>qYB!@w@vZ%?``Q_)Ie+gCh2lqBfJ9X{v=bGKK6=(J6+~NwPm{e}rTFUxCSf0j@ z;-MaGDJojYSqKp^9&ritjS=#*xJCnGL8ANB;cFY!BqGaZ11kjCaJy~BEG>^YJ36x_GbUA}3`iZVx_4cc+*4$7PGn7KSIgz~^)Ft&{NmNcuGW5guc+?Fv5F3x zEm6vKtbI{nX$^_T#G9KCk1paaWHM2qswgC(B?prtsYp)qNpUJt*PY(G_w@ZI-}v^6 z=N~iWa)Hv8T>J8RSUcL+7P-&iyz%&Qk-65aZ8Cd)&K^8|`1JXc{PZEVTZH>=8390Qv#*SfD^VO_(IW(I<`j2_(=A41 z%uuaHj*o6NI4z6TCh+Q&pi?N-Dyxf&Q7lX@4KA=65XWIH8Kt7|F)+0NS=nWt^qq3^ z<>lr7^Cy2o^4EUw1NNJp;mcRAhGBDce(~9-Ki7n3kDq?|dSA=_Wau}i535gZMcHjq zw;$`|<0hp(X;y{N;2P@XxvGvX*0O@lVW~Ca3xGu>x%g+qOf+*sLA(pltY1Zd1Q=B* zlqBx(Nd7vlTGFIhv!;X)b44k)Xi`C%!|CvsYEm7}D;L9eK?2j#AyLRO<2-AkKXVH# z9O!C}OPisn2k>%KhnrQ0H(O&+5@|~xL(a-ox>*zkL~9vMA@~twNK(^U%f!O!0H(le z^G1Ny=hcloL=tEB_nULm6|1iVCz4Um{ebk_nAkuX7s z9!;?--aWG{u&n(lL5CgbJJ-}gL`@4VL7F*=*^m-|Qp@X?uPRts9zQtcNr%ml)8-@- z0E!u0JcaMIwVn${oXs-vFcv~a5oDw?m%P<{t&1G*WZ0V>_I&MwwZI`BPSPDUYkHTq zRd2+xt3z@8=N)?mpt+gASCB7OZdt!QpziH2T8%qszoY$}f7#o{9T9)S9)X^LW1sdL zuG!&M80>!g^sVoj_iznv z&TiNukvWZ{y)ak~0S{Ulvi*Tu2Ymh81rf%gRcq5*8q`9kE)o??09CRhg{VWQDs`69 zTUfUMZtPO-AX6#V=Wl$PPP)O$=(P+(m%3EFq)kejT%{yqbu$pEtPF!b!ooaKO(7*h z^GXv*smrLH{Nb2j%DXKOuM zl+l_gbJp$)5=4o#L~SBSqN3)7lDm}poVI71$Il*q^vxIVfAnZ`FS$;HCwPi_1RThn z2F}I5x*+A|xEbYy50=@j4c&Q1tz}Zu(Er_Jbq(8&XonZm&3c2!QZNeKX=&+OvzjSd zNs&haQDvq)Nf+1S8CmDX0p9w%vk|jqhU)6MOWkI8^zh#E_uqf~{xdv!fXx7Pu%eEj zK_WzUn9(hSUFJ@6m{m71(2OqPK|8sbMSied0_I+=wzO3HGc;M|LbFO|sFhtvuMRU- zdRX0<2W1;@ZWf`NI7>_i)d5IOy4h|XbvVDe`lEmSFF*VI7ys;^|MTY`f9tP*_S66H zlb@b#o_zM%&&K^k%EPn!m-{kK{`~R7O@At7)4`Cm)GHQxsYS5uGzmqS(1ZzeHqpTR ze?yd4#DNVW#Yh@7`ZPFgj`h{&lwxCX#dGvlme{Z$Nftn$Xx~XE!-zq{nMIL^NTExD zrdD&*CSz~42_RU}coP>l&MCq$Poy4eGfz=yxRq5_FIo)7QrlEj` zesQ_}gY61#rbc8dFlX4q3dE_BpxK3J<;&(I*S^j+L*Wi39LPu0iC_m#zFXf-$F zG@z-$=ZwS5kT=M~nL<~HD9sFl?J#`!;fJ-9-G1u({=xnGSJzji6wO_Ap(IF>lw4Fb z@RPc#r&Oj|j4mpgC;$^_FhtQ%m{x%ELP9Q$D$-(5GJ}TXvmwRInye=of4lLeG_~~_ zW*r`oZd3uy_hsjJCCO2Dg^%v*eZeN*M?RGH6Po(|tBH@=ZGbJ?1;#T?b< zrbq^@rCLx;H)_6u9gip18YykW$swb3z)DTE8ZI*X5YF4X^)tC#PVv{<_Qcx$Kty>L@3*Ms*e(SEcj)bYm9ai+ zcOL$u8i2?o9Ib;PVrkEYBhcNHWf+)oMp5D1+gP8*5r$y_3`|J@cr{28#qR3*&8ydE zDRo_*rlKOl<|K8x+m+MJ=`ajJlv1oj36Wc+jiXsjsZ-6>AyNR;QX^-Ox-LO;mqk)_ zPE)zOx_tHK;_~vU6w4`heLso#gl;qB&GzEzdbitGBNJ*SNzAEL0R^tkE>4OqGSDmv z4Wk;Nh$JB-I#)2~)Flz&W}6?~KY9B2?Bj2|_ui9xSzS>fC4qpag~jDTq^s~GaF zC-^NdW&pLa-a6%PxtzF^w#*msQrU6*eeeeT0dKMFA+TE}s8-JhCZX5pn|3r?NK+d$ zd6uo>F2YSBX`&h-4qP-i5qEVLS4l2jy$;*{!Q+STy?FlO8z0EC$GCR}7`(y?rafTL z@Ue8D86iPjLKYRRNzCEyW~_iqWCH=1c`H&2hO3xcWu;jYFx6Vz-An>?nUfV(8_!wk zba6q5x#p$IX`#H1l$@wYH7{ivhHXk(-C))wJw4r2x6gm})8GI7|K+#-{y*H+a&>W4 zYkmIg*`NODpVw+bzy0R7K2g+Lkq8bC z!N!mhXg>Z7XHs}`v5-afp=b)JHo+tjpA;yymg-*3=F_~8F|=B%qncUuu{PGK8mc3t z0e9ZKb9QM}nhq=xTvE-N@11V`>3{!EA3S*Qzx}WO`R^nzxU?N ztI(opR&%(hL!C~6YqbAN3XQf4F78n%(<*HskTf@34_wa< z7;?^}VaCMKFSQnfY8OR&jw!noF*ib0`(aRuf?BQaCcC=cy*|IZy0|cB*L6^3>Zejt z&YP2yD*0+Rj@3h?H5axoXNTe@3Z;|OSbQQCp(4tha>}{s2nZ2IvuD7EO@Dg2dHVeE zx4-@IhaWsUJ?SzE-BbXvR@xb}_v%33Jn~-!v+l%LVKgedb)k!h=+Q;-hw|$+l

lUq(i~Qsek#zFx2p=~tV_vSEZ#QL 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%0Dey?G|muk!Y|@9cs7 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 byu78c{`hi2*&lcC`z_yv7-?fP9iRLk=hv*6 literal 0 HcmV?d00001 diff --git a/attachments/2654436.png b/attachments/2654436.png new file mode 100644 index 0000000000000000000000000000000000000000..8fbd561508b069efa48a6d730b6a149973118372 GIT binary patch literal 426183 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

QKNTKvr0Rp`msmRZQgH_7%%O9J!6 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/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

haYVUwrW|zyJN?oAV$4 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 V3F!KYX$bgSI%j89_2*xI{~vdX$G`vp literal 0 HcmV?d00001 diff --git a/attachments/2654437.png b/attachments/2654437.png new file mode 100644 index 0000000000000000000000000000000000000000..bb26f2b5802b2e20af36bcd2de176617b25c9c55 GIT binary patch literal 358 zcmV-s0h#`ZP)Px#32;bRa{vGf5&!@T5&_cPe*6Fc0Sie)K~y-))srzx13?gl-%R%IHbxdwS)>tS zna0j0U>yWIi!}Z#e}X^3#z4RnHiC`m#6Fd9#$XG4tllF5Teo z!`N4VsL|$Ih_9^ST6tK@yA=xV=Bo+-3LOlz2wI34pKI;~kYqGUBmhXw@cMZ9SppCN z1%QHZG``4k4z{XKHx@bRJqbqvfTcaehW-(?@Orjk zjkOTw*ZbvJ%%l+K(>Yvp3fAX`kB*4`woQU!F?q{evQpJ1>MfvD%^u6clxyc<)Lh*z ztTO<(yhGUvfYiUc`oX0B1vU*U95ku}jYnOte$Rf^7x^4mt+An|MF0Q*07*qoM6N<$ Ef*|IWM*si- literal 0 HcmV?d00001 diff --git a/attachments/2654438.png b/attachments/2654438.png new file mode 100644 index 0000000000000000000000000000000000000000..bb26f2b5802b2e20af36bcd2de176617b25c9c55 GIT binary patch literal 358 zcmV-s0h#`ZP)Px#32;bRa{vGf5&!@T5&_cPe*6Fc0Sie)K~y-))srzx13?gl-%R%IHbxdwS)>tS zna0j0U>yWIi!}Z#e}X^3#z4RnHiC`m#6Fd9#$XG4tllF5Teo z!`N4VsL|$Ih_9^ST6tK@yA=xV=Bo+-3LOlz2wI34pKI;~kYqGUBmhXw@cMZ9SppCN z1%QHZG``4k4z{XKHx@bRJqbqvfTcaehW-(?@Orjk zjkOTw*ZbvJ%%l+K(>Yvp3fAX`kB*4`woQU!F?q{evQpJ1>MfvD%^u6clxyc<)Lh*z ztTO<(yhGUvfYiUc`oX0B1vU*U95ku}jYnOte$Rf^7x^4mt+An|MF0Q*07*qoM6N<$ Ef*|IWM*si- literal 0 HcmV?d00001 diff --git a/attachments/3113601.png b/attachments/3113601.png new file mode 100644 index 0000000000000000000000000000000000000000..778ac892c9416a66f64c8b2438b2fc81203786d4 GIT binary patch literal 21919 zcmeI4c~p|=-~VwbGbgQVaxAwtm)ufw!3`%XGsk7BNy)8Jw83Hv}q6!wnMw3l#-XL4@aa>iawAcb;>ebDsa6Kl}?0hx@*^&-MPiuj_i< z_iZl^mmS;pZ3lrsJ6zA4JO={F0bk`o+hlg{&3T##R~n zecB#sJ9ux1CFWCocyzo#&!ONWs8l<@ar$)|B2=kQ9W@QNLt{ z+A}_~cSI$2)%yoL#p~ADttF3mYukwzx;E~bD&ga_?S!j6kdz*~i5UCD0kfW9rjVK{ zsk#l^^AOE3hegz0pK<9q-`QF{E=}zOTBWtp(xW1oRFTX$rtrM1dPCYE^h>hx%EeBS z+^FQyQOBuWIjhrpkb4j|Cr~P?eB?_P4G9ItQAkpd7XMEb^o(=h>Pxj+L>VVMDX)-U zpMy54Q_M*fGw2JyTL-V{L4egZ z(b5;-9#+i+^3N`sMc&WFNm*fjht_EF6`rZ0LFBdXc)PJJCow(6=a*Q8#Oc4^HIxf# z4&zWQsDG3KqKDfi1dqKtuGjDjZi$PFkox-;xz+N&>&*x$2&UPzX}8&G$B#}1B;u^m_X-~s9l?r={G z|4SZ|4a5V~as9I=?phI!Iq7v#binEI?i=DPHdUAvg$j~{@LfZezKjfa#;1^#x|D$K zH)@}ct0RfTbL>AOvy1Hc_o(9c)s98PbtV6q6JS`O^8p|T_&vVDGde<@Sd#AqoDFJt z;-4BB-%#?@dV)X}y`6&>52)_;;~7M>pLr_h6)*`;V|Q@TQ32_|Pwe}%nP5+%kR0W> zToN=1jxAhd54(es_$BnxSBPr6aRU`55qz;Q-5NRH?nMXjz5#<~|cGB7?y*#59Ui2iG38utk8?mcGXgW&BT?1wh zYN((75*H5-8kypB5kD9Zvn|Fsp-^3?$y}werH9t;o$9F!H_+LNK6*IMy%pP1z|`QK zIn(iUf73>o(_~tNUAh6gId* zNau%qQ|1x4dy{D!uH>h8p3pRbFA z44;JZKZ7m`!?6>lIgzqn#l1KFiVjW}TaTuWg9?rL{Wbw>CUKA4m}e5RAFsdZgVZ6( zVZ5-5Atm9tWK6vAP8~0!XJMdzv+_mr!b1~`?~QvR8(@z0M&l%bLr@9oRqNyy(?10& z$X;i>uBmQNiMWbA+-`2-S?`qg;)3jOJIj*q(kfrkF3{VZsg*7F!qr}QrXV6RI(>gI z+Cv^Dq)}7i1NOobkA&hTq>>dj3Yvmu8U_;TAj|eJ@vPxe=3Zj!hhYg$06uB1H7-d| zbQ0EJhAY&FtFPTawxcu(=2gL=3yjx>dIUVF8nXVm#D9zvu+k6048f0wpTv~O%>1L0 z5^Zv4V6fl{d?wjcMt?tB$Jax@^Rs(Y{|{CW=skI>?B`KQOmA8Fe);$vPC}Hq@)Ya! zr*7-c#oDsIFj6I;M~jN)rhm|M>vq!|)t0m7TtM)f$=(iziUT^&6rBjOTvgoas~MlE zA0?%TyUy9%kSk+)dFjqj%8s2hT{A{xLYr^)TF3#lgAg{D+SgC=W0^xI#@2JIGjSU6 z`|RifV&M3fFex>}Rk0K8D4I5S5f8PM5dd0A>^*+Bw>6ntO0xVC>%R*A9d$_9Vi&=y9Q6 zRKc0t;oo{3=3|ga6dUG?e$f=s9>%72zI>BJYHymgkLE+%>*TzWa%;7dXX}x0S+B^! z-V?TFR+{WNcv95(XFp<@n;MpXm9XE?v+o$5Oaa9XHI!S*C4YDlP^1jIoUGzR8!aeb zdJxwZgd8rivu^kukhh~i+YU8mwn2E%BXx>|LOspi#qt^r4&pl-PS2?u$fpCRZU`-_ zC;94TN(7YoXec^B0ns-tid(2qennB-Y2yX7uit}`qPf|tV_R_y zL#RhmKj(tSTNv2vS_c*-b-BnYyx3a4e-gpIo8-I1if0$gZhgV=*LAwrcqzpDw+WbufR({QxN4A z&1pwY9X>H@UstAb3aLN5jivt+rNUvkKBuG4Ju*MYjBqyTSKBrFI0#8A9tzwh+$?}} z8r0uN1KU|$a_912r`sjuIr|F#uxfJ6LHu-0V{OC|#Eh4QgLl8Xv9;oOnQAn{yaHWz zdz9u7wr!`)N7)ikp&EV>dad1Px++@ZB~+mz)*!S8ek?J(0DE`rsJZAKpTSVF;KMv>J>^EE%!F$=v*;@Un-)wa-IwSs6 z+KYd7_P(7Z`Om`{zYTXTO+I!pxQl-N1B=eWA)_P7y|N=PLbRE=2s`CV54j zHF>5}xG(_Z(vUp_(v=RFvK)KQ$B_NR-T$+h`)`J?qQNP0h*~z+qnR)! zkDt_(_po1lRfihCNm|j*VvV8eFSfdUEB=o( zQ1HHQwscNjz9RmJ_2sWcI)Tg;z7}vJURKttEr0*9uNGDZbWiT9m36X{k@?%dZ^xfs z+qyGt;G4;&7F;W@wF;IGn6-*u{jz*0B#1A{N~*F zSHm`yN@r7WH}l437T+`@fdAU`RI-~6_g{m)Y1DUat~dV83Y*KOw9Q5A=30DnOJQ?^ z2Usy~?o(~s+;01KKXG&O(`j=L_y5FJ^bKd-h3ZsMHDs*;vW9@HAljBE)lwJL_%qz~ z3GN(fsfCeEauy0V{!^ASA4aB2=IAT~;`%7Dqi#nHeVdrV6;syeQc1O=;E@VyQjWNi zOk64BqC%&wN5fOr>!hMOZDF1^a`A4U_)Ui6lB;LZyZ!XlZn~IE9}8y;vt)a;Q^kF$ zosczc>7q8-;5+G??c1C(hKO;T9u3666+Nl=A8qkJTc=E=JkuU$?@nHkwF+~%xt(du zcuSYA)9J#Q&LQy&6|qx!-00{;eBgd@l%EtQ72<#kr0`;5o_HPj-v-HYqg}# zgQ2b66ah#=0)gZo*@4EWK*S5&)oku610rFN8{W-{OJm=;mIxeD9X|c0Iw4tZrUQ6I z2h%u82tXpjAni4ub1!e46N{-*)WekxYy<6JmTI~|YeXfqjgIrnS5V`?88U|`;jE3o z8ze;O8WAG?q@uT-KDD>`jA~Bet3!^9w>`s~pebaRVy>u`+bRK0>pK9PKt?6esk_ns z_}&y&XiCUWyK$$j%u|f_?o7M$kL8Nx4Go!nb?M;e3yqC>rp!|a`$DM%XseL*w*7I) z`fJmaMY3pJDoQm6In4d)sq{J_btQqDI;*fW<0+Z;OyOInBI1*~0q|rL7)G3MAhh$# zFLg;`hIT3d4A>g-`4tKd`cWTC(31W-albkx`gi-JDnow*Pvl_9#8N5So^1m3+AbFj zvx~JkT1T4EFqaHX%!4+XXIJ1xrwcC)w+?}zl4QY?!1Xlc=x*ad9nVw%I%s=x#WAWB z7zW>E+^yij=8n0Dw#fDXA=5M!9Onm#F-je6MsHM#__TR|_h)WN7B@P>E?AF*k$rRG z%BOE(k<8fuWcZf|{Pi^ec}W<;NtUXqsR^B@16k(SK2iG)?VUK#bG2HH#FjU=O!iE? zDl5I^2VuTa^+b`w0tzyCd_1-zeBBGvEV7>ga6(K2puD_W zqhlldv`#-Tu*BNtv0=FKgN~IBt^=?45WmJ>&g;Zn z;s*Y+mLr+Tkt}&imo~_n;K3U4qynU+ZaiDC!N@d>?lJp7ee`4l#@PTLD6tPMV9a!F z@uUDj7qhHGVek(dz)NYnq=YCe5x*@1#);A&JOgu+xpx0q^tCPW70w)bhadxpDP+um zS-R!PiEI3jTtNS&Td%x2HjBa08k=)73qRX zTOl$z8hb@~#X_(*%I6GKJ^e4Q4Dhgn?RVWE36vxp$R+AwNw_Op&!=NK@#iSMgSimdaw!g4MRdC|m0(%@Lx z>nzm3QI|H*IP=z+?8%MU^RBtnqu(=L5SqFiTGGiJt{at-&)+QATX6J5Owkj+BP7U@ zGvs-A1J==Wzo`=8oL+SYzH39WNd4p!Bkmn|vS`)IWUaSY!{eji`h)hKzzyh*WmyNF zFhZ2-xTNFJDO$_VGOE~pp1&U9_CP7Z3gYTr;+c^C166@*je)+G=#`$WD}~keN4AhZ z1X*`{c5lGNJ?ow5Tzzf&um}i5^t}r}B!_DA|Lh5F(5PR{qOWGXz4!y-w?i(0@ITCk z(@Zse_L|?(c+eMj%)0&44#X?NE*kP+lr#t$Uv$gQL^ZoU$dfow1EM%M2*nKWr~A9BKu@*@kq-?d*2Nhblv($E09 z0VbiYhUTYHX8pLKY%Uy1l=O}Im`wOpBy6qNNDst?Tc-Bq=B;_mjakLH>&(Aerf=1x z&fN=j>;Y5i3GZW3XFaCC!vu<@m6nve-`6A?dP&_7u|0~9Az&q@a_UMD!Ffnyq&~^n zC}+N&TB6AsPH1On(mW3%ehXn&u0ablz_$Fj9G_sl4NlL>!E>rl6!Yol>*yOwewV{@ zEi5bFI*5Yz8e<8Whpm?jzzwmIDpT~Y7j?_C4f`vMn z1t<&8S{T^+(&tb{z#!zVYsp-6b;scay`s4ImQ<_~}3G7yquz?%y9VPxqMbQ<$%TzWXJ+ zvXo!S9w=S|k|;sXo~un1_!0#(E)d(W-M^y49Mxl)1W2ZerE!MEzXRweB#2KEpT9aS$8m@8N z<@L*aw`z;ZA)_G1pE*CXqoR?mTVw?Q4ADW@>vTchYD<`NvB@G8|n+yBe+=fuR z0^C3)c=(tW*^t{}E@Eg)SA7cHA`86n?vWhLu08!$>hZ+$SL2 z#T_fDw63HpZ2!y2Tz(QH2>jzwP0HF3>;8ib)D&GD-kGjLA>GH%9)=)Y2HGxD^q+D; z`;sRF`zm(r%Rf7u;KCi(8x}r%D`?dH)$kUH)?7oiG_3r*D-9olPBNtX7g`Ekb$q(Z zW6iULu*o1;d42@o%n%W9*^@(|&q#;_O%iVgpL=1w=%R{Ucxb=tL2VV7A8C0l@S`_q zU-O>XVtDtFKyXlt)FH>EU^!nI;l&rTA*muv=+mJ2Rn=bgFL}S6X7lOdADOYAM5g*Z z&$~r}{*KreR`MRcGBPvI1<#x1_Vzj$AT0;nk04)D3wnHi&K}6oWOgM`U`9xN?Y4%P z6n~0RW|theoydP3i}Imjd0GAuvR=xdU~htN@*qRQ;*9bSYT20)yI)$3X8K^#EJdX* zJx@|=&-h0n>ypO}-KVGS3;N%F@@urcINu@Vlo^ripy8m|4O&x#zyJ1$MuD3r zrY-k0sCDL)sjZf#)O~ti2RT`sgzoIqlgCy|M~|a*;+k zhT*)i-=3D`WUo~_ir(hTqpl5Gu5EW>m^5f8j0kHga~y4-vh`;v8S%C1LetS4+;8`p zU0u6}Z|2@z4gl~Wz2+)5gCY(miq*5nSvj`WwzJ_c_sJFkv0K&D6u+xC<8zFco}MOe z!A2KX03|&{I+K;IIYL9oE%y3-A;{xV;mG54lgR2ZaVA3@e96KpK%oK!*EF3X{h~`! z#@;GT?Xv>w;ZxXJIVPS|_4@h{`3myu2aFGp>H!Qo6ja{HNt+vN*x72~bgEYX90*{d2E0THSuqc+aUb{^$uB@#{!Aih}Pn z3mxLkDZ2VI_F-c$tET0DkC_O$(gJHByWU$|0vN8wAVv&j>HE6G*C7v&H0Ff$V(wl# z4I0UWjZgUmcx;&$_v17~`_{&OdR%4)9hx-+F;D*Tdy`{WyZsUDH2Z#5H*Y57!0>)% z(sF4arDlI99MK6M>)hEqs|Nuq5x~c7lp9%5D8Da`%j!4{{gGLEo%|iZ+g*(&&mBBA z5z_5V%CsI9C@j`cl{l-l6^qJc`-3qZ(=(zz)Altn6@KrfEhua72r?a-ec0H}Z!g?6 zJifRR$P|K?HgE9lU0I;#)A#F{+nm5X%_&p5pt-LRSOSW5LI=d-jWSmr`?{&(Vx_$sbVW4{!*>sgQkX8_kb@j+<@Xu0uDxoJMXRP+(Vsp8MuhM* z4s^+6X@Y&hcU;|C_DzV99U4xZ{ODU~l_MFaua75QW1BrCV@P#Cbb+n0{#DmW7}AOC zW#)YVFs~&QJD5z@M27Rn#&%+>57#nV!c)ePr3R;{B5|gtO^}rE$8~UBN6+4f)04;5 zcBXkC&e_>tzA*;QAMP3Zr`+%WK34_H;X{d{C&c0+#_~vvE8OEZ_pW{-(NyLdcRdh* z(kJ9ArLAY-9Fgx(yI(O;ZW^h|td6V(#lWHddox)?$jJJhrS zdY*tAtBZxZcfxIsVVi)3u=W|Pe&z>;(q{{%FGWgpgunmQ#dmkM$Yz`bEY{)KeGa!?*hJ=y6(DvXcZ?$& zS*ts7L0shVpMwbR4koL6(t;nJpIv`KtdV;IR}Mq3t$#e$TtDp_oga>gh?hM1sZ#Ir z0DQ-*N6JpgT&Z_Y%pGZz>>C+@aF3m>5XEWQ>*xxPlu3zJ|x#;b|pPQVZJ zP5{b=u1)&z@y9sX;qQRex->4~8J3HX$``vbQU-FQiB52#QtJJliL^926Mm@Bra zlj++DgYx6lmcLKq72T)((phnZ9kIZ`SwmCP-#;vh$@qs76+{gojGDBOp>G!pWB4H^ zM@ME45VN_K4$B{duo>qb3KCR}IL15w-m^39Xk%kzo0BX#(NoiUwgzI5tv4Nbi0T$G zU*De^h35Fyt>k-us2QMAsBdWI3Krc5MD{SvG#+PlXoM_$q@nl&UArK;p@D1@SZdtHW-d(~SnL?GfQfV0eD zgmU(eVRoFx4-9)`TOLwj=JR3c^||L0e?6kmx}2gP)}TP#ZF5Fe_RWts8%O0-f3SX> zsn%acf8E}>9?aimp?y6HVCkoC3$M2cZZ|x@)C_nFOtDx1_3sSP-9H^!BVejA^8aXG z&zZ*3?5Cx`}d)%1#6f3?&ylk#0S_iydLAXFb^GXW97vVCcis0npm*XBFai>_}cw zmukEcwVcSNGQVJsm*EBvgR%*CY`|5xS{i~bi06^T#+#|PswtVFUlou)j3p*vfT zCFHOl7Yh>HnFCQ23sxvCyy00LsF2)EWETZwMPYl3{o3t2PooHKmuHPbRR&Mi^0bH{ z`7Wj_m9W_$@+x=L`xAUOl0Y%A(?DDXzrAN%(9unNSugSKf|r^zd#RM5CmdZPRe(R1 zee=)WCaHsBrePWXTpLG|KyXb&Id}q(Sae($jbZ~(Ym&Tj(+fu_MmfG~+4HjTvoV!+q^p0EdLSPMq{%Dg%(o~n3i=4+mpHMt z+85SYHZ0u;aKb}}4X39^c0c94@`LAb^Pv#K>L@sIC5ehe^g}eCfv+rP$yXe2#!Bjv z8;#iR2}tWpl=HLoRFX%$$+Q*@MITRk52bv1-cHxEVXeAP=vvF@+x6`q?JeZ!{cbG{ z_&|x`lZf4x%Ca!V;^`LLn`dgc(z$&-;M1I6t#8;g2eYqF6-SO|wXazMZE^)S*m-B%7%pOpm4rX!)>#IoZvCNbz(Ikb`Vt?b`;Ha+7<9ZwyppQ~?47pD+eVLUn=Ui(HetVe zi+V#Jo;%alRLEGkeU^}+&u)r$_eNgyxWV)thnILx^sXS-;@UMjqyPN4v|W*D6ku}c zQf;r6aS8)Xxsu*Ho!M>HqfxM5vXUD1@!Ih+*YDv^U6nsG+X#p(p=kEg?+1BcQj<8W zxWvVpIR94fXM>)bxnCMi=IC^Y}HmvMLzM%DLSA>U@`hb@K161f0U-j-?I=J znMsfsK_y0U;E)c8d|t`n+w+fi0KojG+%N2b zDQw^PM)fO;UU9|=boA!XcVF@HV>xM{+i?t`(NwfcniMfoB;vJ9aaC zHYdrZ6l_XC+W#h#tOWi=27$i6wDB&0&8#B7nXYeanvzZHwR2MnHl+ZxDFsfOQm`on zvYS${DFr&4Qm}1P3O1!6ZBq(1r2yEl-drGTx`It9*p!0*8&VMcaj{1m;u-ay^D&+1 zXIplsD6dVa5fk6J>S@kmW^vzM$8_xW3oJlRc4gas`CHY)=1RWu=dIsf;WT+!X^d%- z0G?gwQb~P#Hz0QEww~5(_y4;zx_3*qqiE((jy><0SR>}uF0gX!Y<-Vb!dOg3yRYqk r-g9b0-U1)@q@b7|sb?Tk?aOXkkr{)m*T9QcL9VAfPS&2deDl8mhNYHK literal 0 HcmV?d00001 diff --git a/attachments/3113602.png b/attachments/3113602.png new file mode 100644 index 0000000000000000000000000000000000000000..778ac892c9416a66f64c8b2438b2fc81203786d4 GIT binary patch literal 21919 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 literal 0 HcmV?d00001 diff --git a/attachments/3113603.png b/attachments/3113603.png new file mode 100644 index 0000000000000000000000000000000000000000..778ac892c9416a66f64c8b2438b2fc81203786d4 GIT binary patch literal 21919 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 literal 0 HcmV?d00001 diff --git a/attachments/3538953.png b/attachments/3538953.png new file mode 100644 index 0000000000000000000000000000000000000000..35bde5c8e6ece96445b0a3052e2f683ab273cf4c GIT binary patch literal 20614 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 R_zQv@&N!bYp7g)-e*n2Mfo=c* literal 0 HcmV?d00001 diff --git a/attachments/3538954.png b/attachments/3538954.png new file mode 100644 index 0000000000000000000000000000000000000000..35bde5c8e6ece96445b0a3052e2f683ab273cf4c GIT binary patch literal 20614 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 R_zQv@&N!bYp7g)-e*n2Mfo=c* literal 0 HcmV?d00001 diff --git a/attachments/3538955.png b/attachments/3538955.png new file mode 100644 index 0000000000000000000000000000000000000000..f11871a53df302c535f46f7934a489ca8aceba59 GIT binary patch literal 118212 zcmeGEWl)>Z8a4`t;85Hhio08|0L9%MN^vdjPN7IC0gAgj6fX`%i(8;L6o=yOU%K~s zznSy%oH;-DOlBgJJh!Z8t##ekeXT^RtIA=Zk)iDg^NV_<>LFGC-hb9Q=IEZq!_*S*$qytn0K;YZg2V zp=q!lH|+2^cNold-d9^K|9r)AetxcN5_sjOse+{Hy)Zc(0G$uST~L5Br6o4L>A-bQ}CY zXoZfJyM)L76nN0@YMV%4%v0PVSRdt*uX=n_28I%0}e6X-m~| z*SdpW$((;k8XWy!qskX1J3E}3J8nh?2HxOKrRX_zPj?Hh2WTmIfB|u2f~vvIcC)ga zwfx!6lbM2QElrX4)A2z?^m;8#DO1m+S}i*A<-{|&51mEhQf=IxhuW*P!G;u`e}7Lu zx$xYcnc-5y#bew4{+>^0^AFUuD;gFcv+D_Ehj5G zyP97%8|2wot(PekbeXxHRO$Jy*1YpBnJNWpZz5}8hU30&(-}lxk3!VPn?%mCy4zmes-7jnmA*Mc?h&rOT zEAH`>Gr>*O@?;;cW(IKC9<(IOerWKer>D!@60OdI^k{AQ;*32cS`=4G4?d>a^9drtp4WI4E8_?VRt`7}qx~}Jq9-MgJ_WTUW*eS)8eK;Q(H;y!^~|cx#M`FZJda9LGGET)gW0abv6ch@(>Y1CSW^^| z7!WZ{n$6LuJB#M|j}~fcjar;F;EF1w@Me~0FLkja8*wwJa@A8@}4u%2Gk9|}xc@mzbgVQLa>@FtG zu(>a!oR|p7k_>*?W|WwAde)p<8mt;< zEFy}X%!S=wYcx|`f&T0jaBxK>X7r)yosXy8W?1EarZIU|?|QL<@*bOLnlQ`tYIAlM@xc#T4s=c$^DOeO9?QR$H=AI?EXAm<45&74y|`X56I9dl&0EUz zK3%gI`U=Hx&-o;Pd2qu!DO%{NZEagvdsBE2iTO_8v8(BD>UboXm1tZVY+>7=HT^u$ z3_lGdBb7{+uCsl8Ai)Md7|G!s30uoHF;>dN5+uGPqvbt(@`4)PPzHz{G$lMxk` z5D=zeY-x)3u{39sq)|g@A;sQgZmsJTJR3Xv_?SzJ^Qy;W6b|iJ?n6SML{po~g_jRI zE_LV>Dn1^Vv-2u3sF9A2&KAw^sp+Z0avGC!l?(ZH|C8%#(9`))tf^FYf;Mg$Wa{R< zn2CSZ6)O`rH#fGN8uPtg3NZ_*R(p@4z{(TrVgXRzJrImjChi z%AFlTvpRLY45AgA;w)*XyTb3p5YyHK6c-ik#~pmZ8i%au?*rwvGP%s9rjIg~i%-}{ z;{0L5;7AV}20OL3c{5Oz9BW*`f)0I=meiO5O+7^W#Erb|U>g?@etLA;;Jl$%;>qDrLHz5VQw&O+&W6x`8RB;fsNPR>WHuXM_pD$;862>rH*7GoeCSe-QbAVPkbPEq2sM@sJ z8~Khvv)A6;kJ&GCPAU~efSK%)eeTZ@dh&pSRy5bCJjn-{vf#FS2~WmXSRBUxZYMiv z$#uxY)Erv>6R%NoEN0mJMWyQ)XMs{(4!=$Gp_Cp*mJZ#Dh zAV9o)?CPMXXCQq!nK9Pdj)I-r5!Twd(7=kf+EQs|;xdfRM{)_2Gu&Yh>_uX>60i4@ zP4xQ9AI8#)7|d08JG$Rvm8Ah@%B)SS(WswEXXouMD>D2|e7;*6E;SZ6ER6|eSUl(O zE_W#sfI+Kf78z*euz}>Prf^xRsR_2a?oS@0yoD_rzg7M%8``9yXrts$dfI>kWU~$1 z_kC4(o)b}ng5HM}G`q&g?H@xAk^rcm`#3_W&8o#K-8-ssdSjsBQmS{7R@COF2 z>=Njlr}6e*m)2xf446rTYAfN7PtK}IP?RxAtxq+?FyKx!PiW3cDzGGvfD9fRu4YxX z%EDM#zv?`Wi?p!tmq^35X-VM2uQHvOnk-#6F+Qx_6oa>LxJtO8huEDq0Xj)CapJ4pYJ0oMNuO!mK@{4WFl%fSCK@V^ZFF9ZL}!2dGvzYP3; zo`HS=xUv^jBoR(npeUxaguai*O6i++p?LF4UFNlWkLw2Y8QauEI_M5R@lxG^!Vjb04K1$> zA3LbK9H|w9VLYv|WngXPp_TN)ekWT|T&KChrDR3lE!lYZjXb(MhI|2$GW8|)C_>6; zkH4iS`!A&wt*%tby2`f!0eeFsj_=W21l1Q3S(;bgHRnH5oj2s`e+$jV2L~;nX{5i- zZI!PIc#ugrbc|4AxKm}cS3ftGVS|Tg$fz5r;i)k!7OyVWI>GNtE!k3Nuzs!F)W-pb zhd@7D3?$x{fxPI&8Ogf@=3&RORu=&HVk?}y+V@Sl49Lt{=41Az_@P5ryg`HHj<7a zTc7GvhxVFv9b&V6HS zd!y0Kxzc64SQd@PrOaLOy{HoCd6!|*VH9DDVH`UdYO-e{a879U4>Gf3?CCPn-8#>v zZLh_%I%d;l>>l!slno~VT?(P3Z zXLvRKe%wsTU1DxVm_eQ)Pb6)yP7^#K3|*Z$bWLAUZC*%Sp<_OC(1N`7gV}cP*v^o+ zaDL#~+9vm-=1ef!iXmGdn;Vb?d;=UyTtu5NN#wSM2_kZuQZh6clo?-RBjQx#maU!l zeU&D{pt%1dk1@-rw!UK3AhG_}9g+>Pg1AD+R_en#oX2p5-r9lQ?5kbOQvJH%6IO)7 zkNw$S?mvNS4LsN(^JYD~km}EsoUvb-J^GVJ!m4>C`F0tx5J4v_@}1-k6E<8&1R&IF zd3l_QU!q&Fiv$f9ePSs4cA4yzVcS$5mrmR|j{D;ZJMdo9szg~nl^l(_6c&)_kT6`) z;hwZdR=fu7`5(_aK5GPs06IIKG72dYx*@V7qhLV@_<7|aJOv{|*t~?q^!WAgh2im; zA>>Ai5G*SRlEhu%`PAX;2pg9e8L>ZiVj_$ojmLX3U;aj7c%DyMW_=-n^N@uw5|y?h zqE;e27xo-p5&{ttC+MIfmC(PJ*4D&z@B7jj(@a2#6DPa@Xs{A`LTGY-=|}M=NG*Y{p?S@IGASZnX!qO zH70$9C&cOcSo}+5CNM+!fQjniwDU5TE-INk7kClk+0!%S&@2Cekouh1J|MItiMtcd zL-~uE{fqusX`4m6occP73gYa}pG!YAuD>&?m+Gyr^VnrU7iQHv$~nj!R6ibapd~hS z;n$dyYGOegrhBHoPZ36#t;m|_iDSr0z^^#NDLI{1)vpza`U$WQC!KnzLi53qy!_4_ zhqXN+sA=V+lqFI|BBEx{A!ke|#qx*VH?(E3kKQnwOPuICt_ zv8^EKYK={{<`8`inNU)vShWc6D-l7BHyL5Vd25m7D z=oMRv7v1rK+S3EL5I%|U{gOP`R>eYVYr z%jxb7_8wrsG76l`q_oLNN!FVldj9d=Wojzj!Ll-6UMO?Q!Gx27z|xQKvO}$olZF#~ zQrOK^0k%O2U=tLjjlW7>s7Wa+VuxHpF?16cJ=k_jt| z)}Jplb%a&m@L53vhmULkOrS_exmWxPGk8XFPRr(0>)Z#)LmxF$Up|j6v}y47A!cg3 zD(ele34~nBYmiZV0FC1w{Rl9f$Gcst!M-Q=I3oHO2L4*4mPo?v76u%)hq-$|fv5|_ z0-A&xHrpo_${R)dQ}w%>)YZ)oSOJtsB~EDIOrCA8cY@bdln8KdW~53)Ql`{QJuHs;GkY z&laTy!>|N+V7`KeEg(4%Pz{T$Ts6<>95--iyTWtkh}*Zm)N&y~8Xvr=5c*rxftCx+ z7GVzX$B_U`HtmVOEBI57--Qixk2yr1ng_T}#>!3TURV;VwN6MIIq~nxkxv>?e*S@^ zZiN=I2}Cgzz=%W_?V9vyyFZ zr3|+%oV3l4XD1ot@%8yL{Zq*};R@w7aQKS3q-#g-jedd|{klJpiRi+6*m3x{#z=9L z_q$rgWQyxyO8&}}nl3v8$5(UtLX@l5*zU~xpaAQSmv1I;7- zXmGp&hNs(!8THz)`~P4GDPO{xfoMva%>@xxRRFFH_I zF8XJFFjqjqT~@!*`nDKLDAkUe^Ox@owp2cT_%G}d;3R16gDlX@(sWYucUbVVX5c|t zmzMcuN)FKYNFzrI-Yk;DNJ0@~MSdY$SmyYC*jOjv*$CmQvK1iirh{!m-4(dVm&aLv z5xL~`t<9q|JDserax{q8s6wh>xs{_TX%pYxH^J~4yZmlwJT#N#g+0J$ZKfg?}FJjb0U0D2R-cE zbY`icQ6ooudgUl~pzOk8LpXuAUwU{B#@FkPpFrn+67Mj^lOq@OH?6pFLLBdBl?D6v z=P++Z|K*U>if=jjl+Zb7CJ?j{fo$4!x^sNooU1H+kp9+nK8;KQb7r;FqJZ5jptjO6 zgC(9bp;x9)WX8mQv7<^rG_8fR_#FMBC-A~eWHIM0W9J>tmIUmc5MIMj79128Z1msE zUA5(>ND|o$j}+>O2rhdSmEJJwUBk^8u1E0xoX;g16eEDh|6EYs3_ngHvZtOcor42j z!YoQ(H2)HP@<)=^&^d*T2+Y5eIe(#0;>b+up_=sdkX?}Xi~6@71%(%>4Cik(7FJ*7 zQW0Y)g*Qt@rkiucdOqZ-4Tz_)nmSZ;$BNmu5=%e0thKLJrFZcoc#(-8E|XXkCy8=6 zuw;lGTnm2r33H%WKzsj-bM|ae zAV{Xq+0OIo&&U!%Ao>T^pf2rnX1p2tq1db^IV&;fBU;+$AcK=jNlBlR3ZlD`jEGQXJCh&bk4%Lo=i!`$y_3k0juc}QwUok#&psfMD<0gf@zDNzVQjzQwA|) z2x_Ko+yaVI3J~=Uw`rqZByr< z)|5KnMbXggCsRm)T&unZBR)7GO*V%N9f1SIBkD@e&9#>WgC$ZHy~4mutlhpA7Y(mQ z+|M)VS%ot2VLEu_4hu_kL2CUT-CYB4pc&IdSDPN-9EnrEVbVGdB^rs{2?q|pUEFxI zRE5ul`v|ucn$q0tktGYAbU8Nq5h!Zi)KBRZnh-LH8o;j4wD13`Rlo5b|ER8O=&x%- z6NP-=1LcwD^FFMaXs`Gju=US-?JBdXaK~&0t(bdie>2d~-IMPz$y_tHNnU-Y<17hm z8n!;o-WL2+6NDhM0g(VsZ&FVMGKxg!Oh4tre=oog*Mz+{{iRDW)UU8%hM+nsLy;T! zU%Oh}BqlFw#kWgqqz~1HE${ooI+lEE(5Tn%&@aCNG>_Ia#MySkmG>sQDdNNzq(1J? zxN0o%mZ3A3gS5ptSaUu&Sq9BuiBD8=+y)^028yE4E!)p|wC>T$FNcjGpBwY2YQnZy zK3uNA7${zm?E1!j5wAjFE>$PJdo1QxujSMVtfvTHIY6@g(nm;qZnBvzEd<1-)nb)@ z6uBQ;?qpGcsZ_kZq)HWwCShgb-$e*#@#U9UbTbD5E_YgKQa7#!cHH136wAVh ziV_bixyQV(^tXp3r)1m*D$k%-5;NlUgK$-g-8ciGfX$o~f8)T_zzxo^E#N+>a6n6k zxIsx}s;;LIVPHMOl}G{LBFVarul6V|r`A5CB3ChA_re?+a5OFL-&L{s4ferQLXmm# z&j$IPSp?z zrKKy*n~bYf`UN7t$b4RzJ&V>&65pcQ4zJF?F<6V{)t$vl$SgmH4A=lEz~?W*X8c*@ zolGIdym%9$?@f2s5gIA>A@4ueS$-hO)Q*b%WqN;{%zo26<&~Fu68sCQU=9~-ZbVJ0 zD|zx++jG!9#h<_oh1v;O(?;LP>hpnFRc@7^!imH&N#u@HGu_V?w;fZvI>m=oPEMWV z*&CKj?9u9YXarV$jYX~v@Zhzk&gn5qB>qR=4{JuA-S>alf4{>41MA*x1Qt>-NxQ^R zbM#kCa!wyoRy%T|;y&Y(%1*2FF)l zl89w^dGPl(Jq_}eT#*VlN(cCGp@v(eUo6^@G65No7Vuithv>W1T(ssThr(aS`9=>w zY9R0AtvGEb*hoq!l)JFO13V;W%q4|k9P;#>J&l}LW(u^~c%_9uJ&nKJydjj{yqbit zgJ^Z5dd#Vp)g?MZE6K|sOd%hjhyH!|ptG3N;AkcyFhz?Oxroi*#9k$@rnQ~8(k=p? zA!5SSC2@ZezmXRLaETf>#oJEFwm`=6{PlV&3(BNQ51Ejm?O!>G)msHwx}pQ(4lI^X z5@AcANT^(B378b39t5Ru4U~m@2Zw)&P+$x&Ie#X&c0W2w+fRPhlQlNi*JKRDnno=2 zRQ3qw)c^2`Mm<}aHWBBi$Uyn+!8F9qj1rB0v&^{KL0W=6evRoh4}fN%eaHMq_k9|@ zr*dmFxm?B9K+|w>+Vc-iWutT-=ieM-UrTflfm)Yj zdZSO`!))?c^61{Bk=3b`hu#GZ9cF5nZH~IJ{JfuTcs0--Mk_&SzpfZcswFFMCwvS2 zr!mF0QF{*=H8x8-K#UzukNa)5IO2cY+PtDZB=bbI;ppexd-9cSGTuXV;*#!v`K z|0e*;e1^-Be~UH7C@5fj^RzNJIDZE5_S+Q6@Fhf9p47N$5mXnDW_hmxAQ*Lr|CLS0 z>#><-TwY6~W}ki0QvgpmQnkZ#MrmN8bdk8DUFYw8Vl(WOjU!F>9pjFc3x61;eCBK3 z;8NsGaQ|fF2Mr`IO+W&83@=IsZq70|362#>6t+8^u0G_bV#nrzqQAGzL{vzGjPdRc zwlq#D>++SC;egBCIx-!JIUBT*?53K&HY+^F%$&JBWhd6@NACN{A6sR*$CUm?eix;i zJuStMrzEkCRJP2yJS5IJu(5nr)Ap9o(h=b3-2YsZ26ua|MuAc7VE*x2 zO}JILLkmH@iB10of-0Rpq|TvX}7yB;69||eH-p<@Or`ttb)Mbr%6S0aH*Uqq`?zH7~@?E@;LO5S@ryq zE{>?qG&A%iDJqQ0;(+C9IZXL;xan0;hj#MTtP>|e9cu`Tec~6LQYZQX<18K+t0i1v z)h7DlQ9<|jq{OEPKB!kj9na9Sm35Uv-gHS`$wkD0qVg;B-Wl{K6Uc;rOw6V_jFf{D zjyDX)AWR#G2JyhY_R2ff7M+-ukl|Nn`6}4ANAbPM@(xbml@g0e%4E6P1$C>CC_DD^ zoTSmTaZ}&T!?22!|O|5zRL)T9WAoE}uZsbXcksjg>+-I86{j&zc z3VM!J5gjg0k(JOwF&$Tj03Jej)BfQ^NuyD5a4BAy^JH?k7y@iy_kW;B$L=1g-5tb# z7sZeZ&prq+efAqrLvTk3M{q(w-C6u9f27P=8hqU4aB2`3-wf|`QojhrJ*n^JG7*;> z`puCfxuoe99zY%#p9LJwupzAvwdt=%DO;`uzUSoXO()DFFH-yY1wSjwYPsCPuTifO z?IJeP|GOa(;#maFLUOz3bqV3`N^hLcmvv7}wC&y$FTt|k4W~v&+xj;i|Z1{NU z3nl!wLGW#2(L)bgP=?=B=_oGOS`u!Ao27X$p0qchSH9O%@;GAlx}rT@Bc9|RFDmAI z6X{IWrSv=jz3qcJH_Z}aIBaUd>{_DC6~4AhQ@$k!SENLqj^PQ~lhEmMZ_A5x+$E`F z1CoVmM2_B)f{pKzeTSRy5g{WHFZ!)OcyYOgg3a7Af81Y~qG7|Fu5ig+1IcFj)4(rN zO>dY&e!k6flHf#ZLp?-GT!oV7w6%SWu1VHAdN5g#;6E=9zs8C*ZhH4(nyTFUUvDaY zF;o0mRTdZQE4;Xp*p`(*%i~Qfau7X9JYpQty3W2e*G$pbd$~Zd{r|HWECwgX%XqXv zc{#o#?9-fK4*s#9cVf17RF*@U6S9+Q`eZ5h-q0Fhq_QjYgEAYFCoMTKhh;StU zONKh?y4T8QA`Fvl7`j=)Eq+iB^xZ3{hzjPPEHni9fM+&176!+8MhQ%#kYE%HCS1Mm-Zxu$gz zb}C^|<&SgQCS{%`!y~He$GhadZ{FaLtR&98A?W`(m>oasSrq_|l6P?0DHCUZUjp7UKu(G< z<`Wv^ASI)}_wm15X1y78^U>q!-^yx!nCp|wrmD#&nrClW&&^1Rubp$y07Tr7=Hl5_ zPD)DF;LM{U8QM!0KzU3%II-@~XQ4R3p|R+<#ZrG*?I~#Eb7>C_RiqZQzU~eMl#9~+ zN}s-XBK#%#){cekZRs8u4Ii9C0J5?gLxj5`sevxeS#YTlh0HHX=Nn+2vgCZYuMM?; zaTpj{*6$OMI%l(Q9<^9?z6rG^0n2_ns1HtBggN%&_tMe6A+R*AIJ4+2lkteBJR|ZV zz5rQ*iinCL;gOnt)58eA1CI*Ti(caN7WK$e9Kq*$0)I5gAWcAWF|TO*IwD*nr5Mut z2+*tMwH7MT2p2(@hUmb>ItsG(b3oh@Bcxyxzk*=tRBc?LTI;ZhDI}&7$?8e;eHj(S zNzw-dlVh%ug~xKp-6afSUt)U_)ry01Lio@=pg4i>wSe*iZedwajhX-8d`BsJr~3Z{ zP0#Cv??a`JvVuIv2CZ0Z=AGx3k;w?~d(c(*696^g;sO<@l;R9FkW`3Hnh=6DhQPodz8gSL%AD zdLIf46IB)Y?&Vyd{6#7uv&ba_HJqvSxXH!UIYz9)2>UcO4$qVP%iojvZW}=s=Ct-X zS_y~SRT~1mp z<)C^8PfddH$n>0b$H;^O_D$2oM=^0`Wj)t9&o5r`M%kk!g{|5C;2jcwN=}9MtXyLX z%K?IrrX?;N{gqePu!Z$6 zu4}r(fgy|KQ9V6OF*Jl z82RBeBQ=^G-euaa#=*Tdc5E%#vp?gy z5*j9}16U?}9-C(okC}gO!SqsamX#@YdVioh@8s@X%GhSOryq->@lwC!Icfls86{Rk zgC<-an@EWN6rInTbMtc3PzcK?M<7?!@?e+QR3cR(=Cw=x58WSsv0{nO91yNSX zxis}Yg&xq&L2DRRA}Z2EIgKr(zffu2GBqgYz4zoWG7$W*6C}9v>9wX4{f_sHYie4- z;(!y*0|WEO@g^jegX(_I?IInih9C*Zw9)5Kl4nayXS;3ddDL{cp77+cvgGj&$xd5LcykFILg6#Tt>CF^tIlzYK%MZ^MQIM#>{bh z>?n^f>rq=|Q_Y{U6Ae#>?g^^~G4B^V8s}a8)F4U#AD{+>mXzy(zA=J+w0cdhLCcdG)`;>N6vKdJB#=|D z>~>sdrnbAParFo2jE&VTnsxi}A<^Lhv)$B7j2;h5F|ZajPfJrpPP$TPwuv0(%kku} z3am@xU;~#<@07OcFUk>8@#m`P?ypye73i2WR=CYHVO9Alrwh~Z6*mq_^MrSIt#T*f z-@Ygcca--&wl2+FAkasr-*M3jm~rYL9yEVLA37>8!E%pqi*wTJyQoaz5&%na zPE}k-zJ5{HqDrYraNl?<5!tT~JtcB3@rd%q(f)GpB^d+M$;^fTRV|3|D1Kz2;vJ5> z6f~Lj|E*sNkHP4&Y{Qk=M7{0gz6O&KPZT_4ZvMlI@$$yxsdMo~an0~?5X2_>$>+~F z)2pBQ*i70XtR2H8)ny|=j4>4(UvXld!QT$&qk9Csb)!^ZzHJfewcp2 zT%c=O zR~ztkqL0{QM*X-g$@0mcy;e+X*|cI3A(o@{L=)N6+g*c-lcXzHL7Eely7V~$M)@h_ z9fRR52WBt!{oNcw=^~2@s)K8pLssTQ=xYLd)FqnYJaZ{bN_|9@;s!67g%UpTx>CBl zKrxqdhiv~7x#v>x;U19XUhkVwy8AzS2vdH&AxbsvbD?^PAxA>~H8LYgz+t;!bJ&3Z z(4iYZhwc@0uZ=9@Ym@#CEf4o?|2Tzk4;}S@0V#^DngWKE<=fyxps(7^EBunyhqn7jiATb&hwnEvUTv2!uR6ZGWUl;;;GUMF zbBcH~75!dtblrYLP(Yki&@WK-pYcD+hvAFfJCL{OO=%q`KPjU|d;_y=1aVviC zGaO?lgo9YjgdzBCHHCU^FXv{~sla*^wl`0OMXm($Jn=+#g-#=r9Ob%T%eR0sDva|lp#&v4N@zG~hpZ+vEevQ+Md($+POPNYjxKzQ-+1V!#Ko$!igu1ONsrf-o;N1lv7}T z8g%MH>g+ck%LT+)OP|#ieOS$Hzi6udt5Yn~5BQZ|19cwScVu&bQNUp@xH&3T&!+s4 zTMqYd@s607H2G$%f){1wA8=F)QaQ~vi?r&01@uJ_<4sRmlmdPDc_M{}e7nTGRb}sp zWSX>~9(*1x7^^u{&rjv{rGJBRrR2>nT~O-bct|y?@mZZ#wLF(zzwNE#QsBY35#?I* zhuWId=b9DkBU&a_S2SupgehNGyBGcp!9|O1kn^Xz(;-l)565JB$YZtmb>gQFMHZR4 zuCJd05Qe=gU)X+5h5E>dmE0>n*gAXC_qA~No@UVQZ{GVYgOc=h1IdpcXWeIPlrvo4 z?z}?*7H>Z~59QR-pwk4>kU&_S240)yOqu!~M;u7%FBR`oIJH8+$crGAlCp43Cu9&~ zvQr@10B$M3O$I;!IJ^r)m_nVp#xiLz7C@yoS+YSZNv~Wms&6_bh+ClITAWjj4ZjW$wb6}bwhGOZV@1UcB}Be1P0%=Fj-SnKl>V1 z94DlJsQt3WbQ#OxE+;WeqUCIc9Yi2Ci4z zxq|xNU=FBnc$)oJ{6W5ADH}BBRcQ3>M{u)e^{@hu^pFxo66sgraeWSWPu+~0A^K5f zqiwbx%8HeXL%a)-o2xhS&MyM6Sg!s!%Q%pO6 ziDI^2)0gGMI*7Uj%H6^ zVmNsCq1>tTvZQ?@XKz+`9(c%-Su(N}oZNn+G@E$!_jiL1=uHxvQBK6?rYKf}<^Oh7 z`2xDz9e@7B2B-hNctgo;;*I!HjK!IWuU2R2T?qA1o`+(R{Q=`n{CK*-A2nu{FcTzn z)$KMR1)-9)`S@f%o{c9#wf2K{ky*0 z7jtlM*b|C?|54-gzN}1wQWC9+)t1_h+USm)m%nP$xxwALR3XT?dkDvC0}SR`UL3{fWdZKf#-a3SAiW?tUh8l2l*|SvpU3x|0@g&^J24sYON?)jl|V z2^?lKyoW4en-DVLG~buaG{0Bvhssn0>_DGn!;kJZ2M7Ug zLp)@EBMm1(ULXtt@oJOb_F(L$37ye%; z{p{yOI!fY<$@NHp>3Om@keyO3*iA>rmfup~)A(z8H-7%0dNNMGYsO0Or zu{?C*AcyQz0oZOx9jqDhyS_ zUV@XKSelpmZKM4+(O-@{TFdO&N3GO`X@IYY@19zZqE1@y^jun0=w*?+^Ooo z@w5zwtXidfeZ%VXZ(Y~t8~bc|VGU;?onu)07CqSmzxv}^Ke{Us-{g|L&dI6_uH=7K zYSy#A6OtZ^PoDszW=Mo)Xdm%!)E^PlF}YCXQSq6bAz*Cap8CC( z@h$1Y3vRbVECnT3;nLo9`38SqZfe_A2Kzqkckhm<%NfQUOT}dhCuDZAA~AmYzSE%l zb_yr&JNa3z$`srwD2`d^6T-}57ZgV#g)ApQ?qS4XVU#2L(S(K{yCH#WG!<(YopUs> zt!zd?f%y@yB#SiS9~6QwnV(T)jT%0?$OqDK48%X0>nQy#hdci0MiKMSq|dT%b9bqk zYU%{*V%s`Amb;ftr1@H`bsn1>_pp%MG_JT;4RSB!BJghDhVnw-Ay_m?G}V30^}T9y z!YZH&@8qj?GgH|5k_P1?XmjnqCVIRYKxxTmZCIv|fETq*F-%BX6~Blr7kzhfq5Q<|604V-!UQG|p8 zvZ5#e)Jp>b|BJhOuHi>(w58^dHK7=||*neh`0Sv&rUKr6i8$OcZ0@Sb%Coh1M?=`o!Y zcMyXggl)Fq|ThvGq7Er3*y~62l!fds5Y%2F+gc(kA zPgWic)?CVsFYMUFM7}O;yaomj+~R}jusPt!5Y_YP$dfBQo%Tz2rpb1w@WBLc)m2o> z?X~yHCr9_SG+|2wrh%4o#$G6AC`J!nkIGG8B$rh;o={vx?&ea9%cIZOjIdeFL2WE~ zJW4YtP@4L>9`a_+|7URQJ|L(c6@+WvLhH#{W5TTXq=MB<>$3zDOOj_bJJ%tI9;qD zIv4T_97_UAgdzb%$igQ*e&JQk8(XRm`!6sZk<^0V&fwTT-Fpz*;#dPO!i9!RcIQXQ z-Ebcc62{f3;kLGT4xVrR%=>7cTOKuT`*UL#baVZXkJ6nh{Hl+d0yf-OC~?2%hSXq- z;UzjJ0Sr0dPZOX`besmNzAEN-^b)XO3IQy7^Pea~fx{T#&cP8j`2sUJoKBA<;lAm= z6H%aVC-zK>C((L~lqCOycRBf&yDts4^f8XlG6bwL4od8&r({HUy+CS7dSAqVH!uZF zmjRnJWn$~G)pEC)w*;Za?FD&THy2vo)U`@0H;mEX+V83eSt$H`6QI+_tRs<}mo%9@ z+4=R3gk8QB-(w}7)4z+9!nWv8?y*%_P^T@?+*~UElFxVGH|_gcz|8biY4M@#0Z2bZ z6A&Rs?eUM!*cr)~qE!d9nom8e!yWlafVKh=kzn#rvhxI`G;yL1jx?4Zi=7`E&R7~_ zZFI!-TCZ#7;dS2-r|>I>Pkao1K3SO5*04e3D3dqki$vYeNMD4Y4#F4;0sfpN+q7r> zyS@>3i(mKAPw|*6Shz3%3nM3f)+UEpvUzM`v%_Mtja6jaz>qMj2$DrJM7Kv`Zq5-a zLMMCiIf&Q0HnQ^jt4US-TJ<>To(y#m{3n)F*bv>uerK{h5&64`iw{wKyPzM22DA>t zKEY&wD)$T*4#|m9jl&u0CtGw7ct<2kq(hJap)Y$p-dRX4CxxAdI!9Y-F3a#)RTpX^ z_w47?nyo5U63U9o=Ao_0ti@Oy;1cHCatUGH|Lyn&(?AyzGneQ#A}}B2vu$+Yp-ukg zgEnK2UVOsLIF?k=$#TdT3#^O zOIigme5DHJS|GDNz0a8b9@nqc$^5gLn!=pdqsdnpDpOdigzh_0J%9&o29@Akf}jnc zxsXFvw48LIAMD!%)6b*>QEJEJ#to+5I!m=;{o@_}{PWMD@cp;VmBvWwiFg8~SD2RM zjXsQl$l-gH><|7z4zl_ZxdtGKi@D2%RR<;z#r2WoL#Ck6FF#b)iUAjRq3WN)U$@8+ zngQ-1l-!#8zL_+*!#}x9j=%q4Lp$G&DzN)c7ZF>O=Etx2w$j6ciiIGr&T|a3zasV@~5}-rhPkBjs%}o(Y>2vmbP|7yjvgYT2x!pnw{;zc|5ZJ}DBFkhK z;HJ0UFqSvt7|tvgmi>HFLoklQs=lqG!PlMZHe>`X6y$ly&pVlm_oAn&vOK$k*DOLYEA*!pLmm9 zCk#MK81H)P$!+CDmBc*e8oNM6s60{47O}82SKfdYjqj7>Ps=W5QC%H^c_uABIj~)%z zVFweu54V2yVJ*Umj40iG>tPt)g0xesuoD5PMlmLbX#;nfj;!=L@E>YFwKKh2X=@Zj zjD@zs($GKk*h}Xuxl8L)!tMp@CTlrKd`7tZf?2B^inRXt&vWwYzn@cAOGyXj9fM(q zyAlywm)+osk~VJ@V|8XugM7;?vPu9KaB!8yk)<=N01x03=6e>1xkLGfKa`9v|GHb_ zs+MEDzm2~CVixl;&Rbhu_@|v{y-xW5arKn}Rd!3;_uiD0NK1E@NcRR5>F$(nkZ#zh zAR(}&L0Y66>6Gr01|_6hkgo6MIq!SkbG|?PVy~DrYv!73X4Y*!<>9ec?dvrvH=4cA z1j)po1;gP^R?+S>!Qih>44d8NdXF#az+^=6MB${CSfMNgWj9WOBGJsk6qChZH z&-1Jhx7AhtiU4Eekv699rO`R^vC2ac7YA}J*$8*h)5jgGdiLKurDOxH1B-t3#*-Ob>3_<0@&%@iJzOA^XvanWEP9e~(iUAQrYaR)B6 z0b$vb6ZVt3a2g}a+;vKL`!rc}?g60Cl(PYCGxE3_OLoI6g@2jh74LmF-TytdHMI}I2oa9B0>=jF6IPwWBu16N zF9HJ+%y3bqc8#~)J432~kl6u6VP(fO$G`eDQL?LdtuZEAz8JChqoW||mi|^m$_`~D zVvVSDOKG+HkM+2zt4p0K8W!_Nj;b1&Omougb@Mli{tVh8c6DMPJ=RM zO`Caif-^M^ts%X_!Z{K~VHY}n+d*(6yZnDWo%!)uhqwMHY6=7}0@(OVm`F#4fT(${ zq&v(V;U$qKJ!rWsR@Ioe1~Od5KWas*D^s&PQad$R0#MnZJx|3|@o#OKQ#Sk19i*=% zR;{HgnUO@&@nEgzCxp3q`9K8c36&4}i62G?0*Cs9x|4>3BMA^;Ft5b&k=>|Gas(Tg z7?xS)%#5t2k&xj36uJg-Fs|3m#7A)t#{!CS0gkKT8NB9 zOlk`30R1Ac)*Y;uvH58|5}(9T&jC-TLza} z&ezzk@}7yKCnGb%9b$trRHlVNor-6M)7D)V!g#Ve*Ru%`8*}<6g6a~ls`<9QocyZU zWOGHP$<6wbfkQg-D<9*z)F)iEC;2DW=`|EK|67pnl_4L7?615WV6N7M)yIbrw2wM- zvOTR=bYxoCRd9+W@cu?ak74)q$m#q4EI;IR(_rDZ$$&jU>fPgKg!OaPP}v#Lv?v#( z3aM9OB76s%VXs48e_OVa96lPzIvgqTs`wSud`q?S^z^jJL_*_b{)G2g)axEuY69qd z=5=i)Bcd^^&Rcj^P44>hqNs@scC6(N6AtrZj)N#}-)3rcK;krUX z%5xec*JjH*x^k483@LQX&0UJ3Kyl;^B)Z^Tb{71~_&z?E%Il7=N3=(_;dL~`x>nz? zJdnP{u-^>yM7yOE!b~u<(JArWiRmv}C?Crgbw_r8$0oQ>mQ8k(%IIEpnYovMRV z;P4YoXu1dSlhU|5t}dH~uXIXIjebB}B6Mi3!+&Bxg$Q8W`J?i>f+mM!wN!iycAs}$ zZ#yH%u=h`VNiS~HFPPp`buDDQKY<&yzsL&g<}xk!an}YM2|nWS;!Qs33ZbFC36z&I z?U;I1?o`z#S3UaKcB`&vY2c2nv_jh0uQaVcCWj2LC6d}g8}FMxJE6@bvp`-mGOK$F zdyMh~MHM}6GoRwJU6J}{3hCge&Uo<9{>L*)$7A&OmGH7mf`QCB!OT~SNjA-ppBe4t z&K>u2Y*kreCi7?2l1J~C8QUVCVxBDhtDM#Pe2BlZ_H3cG@G^?fs(*ByeYVLPxr!p^ zBxdND_*%_Hsx?`1 zE1a3deK0RNKiIhh?5|*~j~b+5BI@zZqubvqUu5yOKDKga_of#Sh`AIK5{?KqVC zN~z*_qW1ZpHqn7^EL5J8;-r{iuWV@-uvT&gN0YO$b7gF5X$f;a9lrhcR`cEDd-vve zS!zBv>4gZQr%t1n1X47JP9o}BAjIrml&sevR4D%WrUSVVL6dNnc>pSs^UEWGmTn;` zEh{rAVOR3X+VSn}pRSi4|0;7GD9yAF1(DJ=^EPwB^A$of$6U1(GogzdbVf-T=~|d8 z7f$cT>>n$ZA`zqN@;uZWSPZE)`(K3Ux^YZa5(tDPY>Fq5k&s9gGkZB1 zGmZTC5p}=|bQuA?2<|44qjG-CO0OylOaJdSPep9&!)A=Tm$|${VloomYp6RW{M}`l z)6RGFu`*};{-`7?Us(*J`Cpw^iT*X_fumC}>(_!u&)?9mGHnt<-2XE-(8##5&e*e> z`3mI_lL+G=GMx{H&2TtL&CT=Yq{q&04UZ!K@h1!7-D$Y6uj1`xh(bi0>zzNz=}RK| z>W{%(`ZydC#Hu=+R6)ttRycPRH=SbeJTi3ljAbJS z#Lz!VX*#LPUrGP83aHEnSk>TkEH}pD0#XWFDL?9lZ<8{!=X)2eG*<6;op1G}w;yw)?HPG3Q|Gpn)~mBQpKiU>FgX;r3ilgnGdH(-+6K zNNAtGhCAMzX5aK+r*hv)vWdQLY4+m;mDF{q<$!HbWh?8x5&N|_U<0VUblBm}kfDB>>SgaaXwE*D+`-KJ3lH5K8xqM zk?T-qot-uoFHr{k!`L>)evq_^A{Q=Aas8NDlvLX)WI6+`p_k8|8zzLlQ7> z%fDo7n#Z5{6E;~d1X`g#XVKeZd}i?n5oIKhn$Zot-&wn4_7FU51Xxdf_`$m4E!wC{ znMW5CY+B4O&Xpa>$o>nE);ruO1fZDN<=2Fcw@iYSb9zA@lOC8yZk--8I@%J%Gst6J zvOnJ&+`%((I;vzYie|+Y&cKG3@QB9W)6wReANj;0QSJh2?u*st+1HdH?u5C-YyAp$ zeTr@7;~ee-jUpJ-pVu;zVr%Ak8$pbv%Dr12-N*<~k(D)Rmg`<`rUJrYSB)Dh*cbIg z$3?IidiT7-3}_!Z#J&4m$0k2{TaW$dFbsw6f$OxUtghDilLt)Lp6E!Y8oJ6^T~W9d zBnu6;Eq(^0pjh?FLZbow&Mg@`v|x^Q@~l@4&h8E`p56Lm^J$Aro(Aq+xG4ea)B$)_ zxy$eACN{q<^L#gW`{!*UKOu~fEDiRdlp;?lh3E};EsyzTolf8`w*rZA%c>GYbI&$8 zu$Q;kY8Lg9k#+gQai2Rqf-_>aQ*Oa7xrZ+OP21R9zHs+mCa}T=0UYkYEYuozP!X(uWX`*yDy*M<~sfli#6Dd ztB1UA_`{O0?hz#ceRbK<l z-&SO9mLk~AGj7fin0H;qY6hR2u|CMxZ9^>kpLslyfvk}Rs}7~t{Z<81YK=Gj^;S38 z;`8_40#{fwoE>A_$w}cH;i^e{wc2g-CpEIqdXjGvp4K)jhbQ9q&8B3>bt~SR#pSCQ z&)BCo>eZZTRdBeZAGJY`nb)+#y2}I{tEPKqvml6knxbE3T{Rpi2uJ6*^&07?=%Ho@ z%@iM?eFRAVY}Xdt?(`S1M5-WE1I*K|yd8$xw2YrHd>E&d3KEGk1%Pqlk%Gf=8It>za6xVcaK}MOxl3d`pzlp>+3LkX6p5WsZ z_8{61nlHOF90ZGzmD#Tx0*|aQeLv`Ac_*49)t^y#g>pHUuN%FRYxFZ-IF#cU zvydq&7;zuGMel<>zOV5S+NX19^>XQ8d1D0U6$`xN^n~yxrD?-03R;l!Qe@|MZ+c9z zTY)l|Z@Asl7>a>1qfb1^xto|WF9|tXar;Vp}n64QyZ%e z3oDy!7r)(oTfUxziF~y8q&0us^Xsh=|G9rUF*(s5!4U2u-YJyU&Z#0r2i>FVcKm>{v&_ZQ`U+1G1f%3^8COQS`Hg@E3Mw_oN{}#X2Lqz zq9*pIt?T5@H;z#UUdE@3i#`_xXWb>pl)N%`(-FFIvktoZMWOpg4_g!AfRE6wU@r>c zs{9NWm|Slf9^Eck#{T}|dpgwPa)h*>3OVAEfCqfaAyYKKEos;@L3Gf#3%{r9_$6Yc z=ZU#Qt9zbGWu{c3baS~Nn;n~bL85S&5h@8t z0^?8+4aFzdEaf?PBfF3~k&=zeY8X9>I3 zD+0EUT+OQe*KW1d9}no;#yC<`D9B6kB$I3=7~@VdX41dg1wVhD>Bt_cdECSCkWaS} zd4ht#M1K2O1cxfh5-bzVEMFc48xlgK>?8^8FY}8x@h7da!EW5`C);46%s=VMh(wzM zOWNiKOCT}q55fu2OIX3E?K`m){}}PSzTxC(T$cz|dv%F%H^c&GhTlk1 zZ!3arwfZxMjdz9NDikF_V<(JrhhP}u+Ke~Rrz>!2H2UMQv@96v0Vo2|(Ueh2kTp2C z8kKP&h&y?q@R<+x)yJ;Lnm;wenen|*;KL@!bSO2Q7l>t+U-SrF#O(dlU1TWd^OkU1 zd&E_ugwEW%$XDe8jR^3yfXl@ZcerBHnuy}dcaO8O4{Kd9(3;u}uM04o4n+NVK{g#J zu=TBk+a~guIB#Z@i`PndX+;z1Bv)anNy0U9HHsIyJ~~L;&kWFUIdVYKS(m^rq=Q3u zftK(>=SxB)?X7ld1CzW8ycrhFpbtZ#iw7rlDmv&BB*!gWC@pjpPc59cJ?H~!fy9VkN>z3M4e>>v@VDzk_FO?PRG3~bQLuo z`ExQT1hq^N89j_)fvn|bmRDum@Gr--tD>SDoxtDdbRxYsw%1jnP+qA{Y$SS9a4sv7rN@Cg^8lY2$KkACSvCj`D= zLLOW-l>XuT9^V@$8T&6plSI&x_GiO`gx^Y>uv7manFovUIG56W%dSy&E_Vgqmf@1> zWE_b6??X+^{!4=k3yu;gt0;#VCQ`=mMKoJ9x$qor;wTy%m~rUV+i~M%a!;j1^UT9q z|H9`QjJXQYZW~Kp4AaM0Xac?&qKzot$TpahD6AiDX|LB_F#Tg|!LAl#0jt0oqRDT~ zZ@496@W;T;C=;+(DoeSdYHxL4J|zf9ZO0!1p3vIaUagHo~m4B-FQLv^scmB}ud*SpVKZOsPxcOU;5 z-;$T;X+4?+LRtN@tv6crX=}QQDDLy8Rj5@st0*I;x=0vV%(3hG(B{|rY{_UCSs2i2 zM&HDr(5*)k+OOMfM1y$lwDFe&Px+J~1X?EUrn;wK6I|V|Dc|-8NOjNX)mBdoNN(`B zB+!)pxt|juJ}M}3JG@7yK_^DxedHPihsVEunN`WmjK=3$sV;PM$`%j%N@+h{P^dmQ zuKxE0>8Hdq?-I=qZ+p>RR=RReN4(X#09GEcQila2K}jiL4ey^U-?vnwg&H#U@1@k7 zSy~NOQ_jv+pU>O3?H=E47}>XQ$>8#!bM?&uh}xp)Y^p}rNYeE!8%{YW?0Hj?Okif( zW`VnXfG$h`NO)$Cf%*AQ7~Pf|>UY9vyqjIUiZ(W*QPD|zy!!1!ftIUI9hKZn#F1&4 z8A2D{6`<@TrO3z_q!l!=) zDO)MZ-FqG*!IWj&F^i_GNMe!UPE5qH_X>gb8se#(IP^roekHW+9F+^gvqM=rTqj2x z%-EZ1*m$n)LhyGeeU#jOHRrc@xDnS1ohRNXt^j=wNbkeQaqsdYAp(M`9vsSKcXEZr2ayaye7A0%Ya87}J3eEMP84Z_i8i zBC=tP`B=W{>oKI&H53(YNJ`6zcJiIUbAq=bQ{n4W8F4DP^MtuV%;M^z-eontO=vOj zm#=cV3aP(i1xsmXy2YXU@#H&11HInST3H%fjIRvF~^vfY2nlPr`_~Km-m|qg3B&VA4#fE9QfQ0HZoI>3pO$rtBx87Bws~( zy;GvtGE1cz2buu~q}muh?2!Fr`$PTgA3K3&c}tr_ui8YfP7O?OUSco&aEjSONF?|U zU{kV=Z~FC!T@@~J+&twP0uTc8%Ils4oi4};o8uaUYx1t4gdeMmarznMYdEzN4P8ka z;t4Wm%7Wy{fvnM4N6y}*?)+|uJL%w;c+HZe0Mrqb!>Yym-0m?;QBQ@U_0B8Fif7aG z6BT4`N{iN9C5JBf?Ua;p2`!l=bDyhvhslT|NclakCM~6tC>&VqU#C;~;Zee?0{&SG zg!)yDTS^T>5z|~U0Z%yQZv-9AzQy=x;4!k#fEwggpl&!4@R!J$ygLN%Mqw)-V)?Fd zdOiS?9EBee64>Q$ro!TT=&ScVfa`+g?E#XRLN9v^P-_u5a7?Xw{+mcIGQywzmkePP zDU~yM1ZkpP>g8^4U`z22P6IP_cNe)F12`xX_Sbps{)=^;zr8I=H@mB$u$LBz#_I(( zT@i%{yt&`L&od1b2L^rDG*$tCkjKmW4R!?2L{gtgXXpNs4qBDPHLLy7o$j-=uCe1B zzQWCqe{+HcWRCjf*RcpMh$Edo6e&hAy?W0umET4TrG2Q7u!eOU_XtKz-GFIZfn z)`NRujwADik}g?|lOfbg_nug1jxhyu%n_fC0Qz9Y40-`w9uwn=+xI(N0KzM9)6i~s zvBjL@bu6D^_BYf;l#DkRR9|$qKD3u^Vvuk;0^~$d&;QQzvE*x5e7MmfD;vm6xW9v+ ze@S{9!KU)W%qMngZ1t^*D2tyGf6>72a&J>qI9?8ej3gyx1HBrAImAKQDlV@7T$I+n z`00oK{X`+w7>ArrVYgJ4>sc%OYHPP+56Qastnn{zQ@j_U^!6Vtw-uLUZIPJ)8XoPD zNAkTI{O{Td|JYTbn-IC=7pUjzpEOua@tL8;QXF5;?}?VNoXH_DUcJm1YTKg9K? zBk_q(7oo6&Yw;T;aVtx64YEBR&g@fYTN1C+PfIyX!0yE_MRCbixq~7DwrnxPpUpG%O>r^i?R8; zXrTCbMtG?2;GCAoqOyx6it~G$MbVarDu1A#qoyq|5Xh-FE{Yzn$6<};mPA#DpN0`y zI~<8@;o>WOsHK{K`oq>be_JCz$tqF43kz)@b`ln>4X@~Oi_op^2*Bl16xG_WB~_3| z@S%hZzsZ#!EM{SHW28ji8c!E?lkGC03%8oTuRQ+VSr zTTw#Z=0daHEk8dpt!S68GHgtuq+!!wAf{-Roqi#4cl5ivq1%t^=dPw>cw@TKN2RR< z*h=d8%jRcDu+*c`LWf;dIOX*KfaoNQ1?Q-xO3@)ju074Y?>tL9NJ`f*(GwX;S1-(< z<}m$%lyyNg@5C@C5#*@)FSUL6q;mJs~?{r>XcUQo+m39l*qr8Yv-8AHaj zuuJ9dSM8?=Yft!GGO|ZwD&h24!rAkbx8oFXp&_Co3+%Q*Dt6y-mr6HxaV=zq7ixu#hqEyWy` zx5luhdb}=sxO*VPWL8#czSO)N?Ub)6b0o4?RKH2ot z3>BUOJIENfed_si+7UEo+O)h^y4U+GgTCi1-fc`eI$v0i=kf+{B^PyZ1$7g}*mK@bH$VbJ^F>Eez&SgA}V43dK*U2b*x!;vtoE}B2t%w!# zrNS8B_~-hkS%Vn7U5+5x^$gp;zWH?600}VQCTVWBXM8LyCybI<5Ae1}tegs{F3#FG z2s64VK(mw0?osZF38kffKhmp{ioPg)IC~8E^U~MU_cG0j(2w5iefZ`BZGYbkPo|0}A19Wa^zh>61gdi4hS-YLC;b(j&VG76^ zN|?O*CCy3g<*T)d3eQ2#8f^cx*`Xu%q!^{2xO32BiY|~&2OeXP%_BUM{mkfcfCa#N z>>Zu_;xCg$aXj1M&XF|ADJm`we)$s-L+6n9pl7ZXDKAv4GrP0O1_-=JOeQ5Em~+8KUJ zXW_|J#D?91im1w>Oju_-QLEM~&s`<{5G6WoUC%6yR0hLWUuH02&MQ6sLyf4#^QJ2C z5+g&Faj=g83NxuZHH@a}4$(ROk|?@`Do_BW);m9u9z3h=IdgoxZJ<0YAL#Z7dR+2h>sf3cHm%T_ZrSA$OFOPSi%5`~0i@vxgi>Y|tGlPFRWc~$> z?{{L$qxrD$gs3rNERYvh!z9=XXLOwgWn3!z*mO?IOtv#6)c1H= z(?Y_cSl(x+e^dHcqW_PDCq?Nfj)_P0uT@+7^QJeU0urR=WtZgeGSr|z&R8AXi^t5k zgIe~Sai)8CNAArPdrEV^H=?e8bKPC6Oi}GP^FokdS0RR_U$vjuhvkQ(zrazlTLKV7 z7bkhF;yOjdvgq*n_YRt+-Ix2LWToC^W@C6)pWf{Ly0Q7#u;B)f+Doc1$0psdMW$O` zmj3Q6@i8m?XP$q-T+uh{?ZiE;S#9IUSim;1>u@OZC%LZXy0AVF7=&nkOP+em(LI<6 z=W~n)8X1!eS1lzCEPvEb4`c$9Sj`yZNOvTQ89?c?ag%H?){-yvaY1g~iyRC*+stga z_(D8$t{3zz<-KY_;fsVcIVm7E0rn-l?MZQ%y5rlZJWmVkM9%WX9%$}Y9X|s$GQhPe z5DU=SHA{NyrB|CdTFQJ-_PBH$tF1pUDj!m?J)UPIen{(?H5X@n*rM6tZCg|dJJy4D zpinUgWCvb0k>5&ZbK(sq^j{d=w(<*+z_D_(fC|e-K|Ie2wIq<|@u&b?}DM zCC0C#(GXxJ5MU*5Dc+F8RCssr7iQbp&5t&&kkv&D#7nT5EJ73V6Ec;@iF@tREzu%0 zgf0%wT)O1hV6%l=WKk1reEJ~wKT0q9Ik-wwleax3xB9@=?&GiNVNeO9HOH9Ng5u6& zZ}EuX9WGz!opc=K62~x#8&>nxwgpR?iEck-;{ePxv>sy-k~knVWUFhd`cmC0sNIha zTP1LL&YgMD_4ObZ7w-Ax7Wxr4Y3yA^j!-K%kSha?-kM3KG6R^c#^)OUXt@&11vjfU zxL=s#;AL2rQeAW%uOdb2Dz`gI@x0(lpz#RnFmF+Bz6Amql<^!p|5PLs{P;IK;Lux*<#YaQdSrL1%Ih9-fPE z3N+zNGFy)V2nA`gpGbL^+Fz0V0oaO*fs_S1n8Z%hY7P3jSc}UOPKJ&iIWE{w6l$ov zsM7pW_5wHjNse3xZuQh7ShhU7vqnGxF3%P~qeh!BaJ_sfZQ;)%q(Od@8-bOL}GPU3w&Hbb=rT8qciFuyQPb zM6*Z%%59^7<~&}I+$kNB@vb$O;1?GaOHmigkDOzWEWjmYe_8}SY9LP0+W(K=)lqU$iPUQj$PNGM?5Jji{S^nr%9;D;>etY}}Djam7 zQL^L*EvRq;T$LKhUjPC^Ehev|;#WHDe|xrRu*_T${!#*)oKni%&#+SiyPL&qRK;(k zIcQ@%@73uyLL}J37*i||73i3nD^dgehGcFk6DhC?X^e&cCSJ_sw`1GdVc9Bb8;hpc zRbQskT&D*Ux2gn+2~v>lOUGjSG6{ag@c^CT3GFW?q_;_#ca~Fp#qvA~S^^^BV+|ks zm{9TecP5bS&F43raJX&ObtG(DSh7R-V&o31` zGU~Icso`_ZRPh8@t>-as{>XCfeCObZvZinr(8i%t{+U_~Ql;eRXMlllx%uxPv#apG z(M`f<1`EztliO71>Xf}Zyfl)%{JP}NU?0TK-ej3V-3 zo;U1;3Xg@r<@;D#UuG&+eOOnYyIxu9{7a_V`l#_E$xHS=vvB8x;zqUcu^1@&quo8p zvH1Ej^(&y6*nvzUtUg29nA+JR8oXfh#GAg!?_JRY4p3=p_wdXx#uYy(f~o@?*UMAD z?jml;8aRfCGbEk?7H`1VNDyeXb3ATD!paw|knj%Py}%0s8LjPh6gCwk*!&B!pe8Rd zG?kqVJP8B%ao2CxB-6NpGQ6tWXhNF}tPGh!Q&d8ED&V|05X@#N zGFuobysFDkjk3i!$o&^Rr-P+OfQb5@T8Bb^yro9O*8rMkl3`YL1G zmY`&!M3(%0Ciqlwri-e~dcoPKt-qRSluG12&iG+89w3~{;ScI1du1p>Yvq(zgpl|t zsGkH$Pyz7I#oiJ*XnMQax7uev3&uQI7$tx6WOhnEy~J{ar7SKY4{CU^9|DH&R1G$3 z#dW)3<_SZ!a zjE{YLa$;yoXo(xrg^OKPI(IJr7osXOVf=mnH}|=n|15^dbtn(Pbnbi!x!N~R(De0{ zb(uBYvALEJqTR_?Sq=x1kCHrGk3EHD$0Nv_`UEFPd4)e2<2ZFWHoTQ_TEDVV1{aS` zs`T-nmri=&5LiC=If(Qm^CMo-2^{;lO2#Svx>?@*jV5`}h*rOsp0oc{?F|U`C1zF+ zYAPSL|2(V7qLY|d4Hj{8ZpITt3dB5+uJF-RRtXN6jCQ^oP$C0DSW8}HT6UbMPJQ?F z3dadTj1hR#FS4Z}+#cxAa7dOn!*WgsWZ2o^2P8o2HnfSYHRK(_s|Dw&j#f9 zefUZobLB%%!0^ph*##?IhL_>sn-x;cSqdH+yJHWOpnRW+H%k!8>q)ix3W!Be=zKEo zlZac`Z>><6vHx@;d^T*}{wC%VObdOlB9VU-jX@0O?vXQ_}ye)GyeY{U;jO!lFq z2LsGPN!hV4koS%q2}aY9!tzX|M&TUegj=vleX%TfnW4YXb-%TSAHd@htRe~I(g$HE~8mT>ekc;2z8p7^c>PXq)j6FB!@Vy z;rR+Z_2=fUn3LUQRg;(~CqiR@IY|3%`oMsJcXm7e2kBpTcpv%#UhHvJxh2{}EFR5&j)u?lFv&Xvxd8rwB6rF{nPj1`7C zWP)-2&Ba5~O*zhn7jc5$EQ?=`fRGxw;5M$G1z9>h?2>8D z+}oCPrv@@MIIUcu5bMq3@4U)lhU1c4gdZ{E{}3q1XMqQU%z$A@lJ$fF~84U#^Z4PXM(~hFAP@^ z>;ohLJ#NmjA4S(n8>Z+M2^NIPETR*NP(9{?4*8U)fP6J0gcyIJWNOT=o2>!Gy@`xj za+-jEzw^`6si68#4Ew=Q%cAF)91(gxO=YRsl|VX0GB&_6t*W(Jz1^bt$fXk+&%*`i%m{Pw7LN6OnJ5Z%|-`7Q#Mk4T|53MN&hE zK>KzKe6e}j^KJ*`AR#63pF zyHB)EaIdysDbsEuGNFYM=<+W>$y}^=0yTJ ziTIL5{IW}Lo0pv+bmo1;CzZ&$ZrD-6!tT&RhZ=yV28BFh5;aUlB4$7k_Zg&D>r()Z z^aphFxWnO-Yt!$0pz$TARFXoCKJs79rf+`F>B2{f{E%SbePX6!_COy+r;5^qIyUS& z>}!|18T0saJ;K+rL*VtRx%-)${%DjRAdqAxRW6LLeh@ZaO^whOLue6Xi)*wqL#xz3?)l|Dz*iI>ZMeQ9DJg-eRLyjmJ^)-3~y33}FW2`KQl) zb88+&Yt9}0NB{r>ngh(0z}B;R3PY@oU?t5c9>&ZIhSz{>weT>=)`W1+fMb_c zUWjO6Q*0lgBf<37gJS*T{KJ}4_H4kPwlg$42#vgpDb>w4Z)b}d?YuzK4H0?@Oq3{t z7Kf;!Vs4F{XHsm1H22mFvR{_gXn^ zxTa^%hENZeJ|EPD$CfQL6-3dA%@YHYq4AH7q$Cvj-hKMjQN0OTSX&CY&;@M3M-%e_ z(P}C|8Hse81E$Oy!T*j|8lje8Qs~EsL9aMi1#dp;+wc<#Y@l1Dz^+P}1Srb8)4I21 zhZQjt6*4go)jEZ2U(|sMY_({2>1X!If@BGyg$Q+F2@xQvbAY@y@|IqYMeQp#CEU+&KTK0Q>VTH-%g_ zk$p4R3@{rO z>$M_f{oGOwWBFNG!|*sSTXg$~!O(-7%4VwWj7I>lFtOr407D=XNqW+)Nzjf01q;?c zdqyct1ix0eriug}F*^EZ1o&RL=tcbrAYoqB;;IS_$M*0!%>#p;&!$pY{Z(scy-YLOjmRG2tH z=1*$?q`+s2`aQqm1Mb}$Y#qmj{lUCajg&TMawZfRQ@Oi}>**zX zwHEqbsE`y+&v;`j^~{}!yPd>we=0v0pCUZ4%YF6t#b*Xnps!eqg7WdV9fRu>GN6i! zhs+C9D(;f*`@t~-A=%|~yd$I|;|fP_3spaa54A?(_Q%fxPW@pFsXMQo7g~aDx~ar&Vx2d)y5>-SGJx6=cpc6#_feO_5B zajp8+qQd{OX@UH!<(}^=3_@6OYfWYYg!=kcQ2Rkc1DnnagLE6q*uQke+$hgmC=w5GBO8b+gwL@h^RR_gVFp_vG=#TzJd{p zJXkfv!#ZoCGX4lQ+-A$^rhb02l7V7Qw72)|2T4Q8Zk^NF+FaF0;|x=asNhVv8P_B1bNFlP#1ma-URK+h)KUL3{_VzuG>!+wcV4}9kyK7Yq^HsMT z8D;ZNKvn6q{7NyS66o&3r`&tyLEImD=Dw;9n#ivXKpzR=UU|L^GPPa|do)IfY+6!Z z?O@$-b5LGAY3vwD_%}W<>uR@HSV)5nY$v%W6*jrb{I`fU2`kStlam4W`pcD=vK!g6 z9uz=6VSDcD!#GyY+Z;^BHo1ay@z$6}o_K-x;{3KhPn-enwE zMg(AVU;18^<#%tI`sg=+t{q^u>nD?dnP%}3Wu=BCWLf{W@FMgn=)+<%ZGP!s0wJsZ za<93vGkLH_UT8d~n0X3B=odZA$H2V)o~?Ex_}{0e#|;GZ*B%~U=?zhR?t+#l^6>?e(R0J3ADdeXb6}-a61GtyXe^J8zwe)Yi#++-{H7@d z`lI~o$q;GQQ|tKVF=>Yc$^Vq48K6I$hIX;0wK$e&!oS9X1PhF7S3i2JnzsI}iqGbS zTjeWY%YDFh4v&jQ$9jE~^ym(5BY*J6{(%K5Vu4hnGRv4%XN&O}`=&0wa-y}4oAFt# zb1`b;zK(@Nb&Ms~m;tO0Jo2B<)8)l>6y8aBqN&}n;)Y8ZO+WMw+VSm!UI0UC#fKWo z`QPSd82vOrm5f_zIuJ{;G}<1Hbc_7JMN)QVY1BXbUrJTx9_~$9q_!~McSV26c=^PK zXKoxoVE4~8O#+B(QoSu}Xy!fF-9p>(x*}yk?w53~&%S^iSpG8X{OhJmTBX_Nd7uQ6gFr)f!4|+g0 z61cyFp+Kd%*Rl>0;jWm7y+E#qu$WaSUz_i|yTH;EC}<_+1_-o4Tm#ZyW?-m93Pdmy ztuql0&H<{ESLe-V+M#Dk&@ez4)5 zH!|y#ZBw-R(L8vc3ncl{HA|9fZr+RDBMm%UjV*usia{7iVKnXS4Kz-i_CPf=XTfo? zib3lnZKXSVKxsou`gx8NsA8#j%B90@Z4N2QHQoKewOIg08{c9hz-K>~%zy&%O3?cj zn>}p7OtZ4`XPz#1<`2FaoDZkis2&@y*@YcLsZWGoe^?W;S#i*9U79X{ z0QE5#*5ypFYkmF#$vP2ZLH*P18(H~ZGTrChc@dZa$?9`e3()@035ucSShUgZk^e1L z*_wzbjy6|UaiO=(X%1zUH^t@W3qA!8r|}HL7lre_sq=)3H_SmNkhUPMpru4V^FGO+ z9FX;ltRDkEdPb-oOrc|vv&iDj8?h?YbH-EgK0q~q_W6TPwykF}oT`LG?ldXueNrVx zTv|Abu&*vZ@(sLs1|t7GP=+=^DeM$|2|ieVH&Zda=|jmUf8wb=hGDDl#mg3$6Mg)& zwM*vbEV^VnNhn+^3QCGe;Qz!^q{cXM6Vbnd3ST8K+plBGfL@C@U(uK-ZH8-V*OxBu zko^){Dq4K9Ec%8z8I>O^=C}exYos;HSVP(2YcLh$*ygbC*G6N# zeA^$akhCibnzBCrh{CL=JMeE`Q}Prp^+Wz&=~+%L>p$frJ*Tme6wE3Ow8Ua!`=4yt zP)ldWeR>N+^A~;lt3Focyv-?zWnbso(gugr{H;8kI>ZAWn`|*-83(w?8abJMpNBBg zj7tKvKRc$o6Z#Md%BM9Z=ZXtMx!uP^XT)9-ZxQ5w(&Ijyv#z-s%dii;M&(4r^LCB>Jr(srDWFaB=MBja$g0RVVHLbzaC6bd|RM zh4t0~$X#0BgTLFoE@?YS5&2AEn;1wdwyqe_G?{a>{U1V<$xxjgOYi?bNrGP6r}^j( zpAV|~-$@Y*sR0tby{#(gMasLgr67?bu|KZyHgq7Ixz(}*amh!q37(q<3Ml5+z&| zULNsNV?Xkh@9SrJNBS(cE55Ft=FjxDSkTnI3e^kgeg>wCK*Kh{WgcQgn^E$gI5JJ` z`TNe-F7dl(W74{}lV&ScbA8xclOG5G$&;q9YthbdjxWwQd5Y z&p#CqtbS&SANVn#lAjiB;u#xm!65R>ax|&LclrvW%(@H$(pUIhyIo_cseCCTywvL9 zSY~*YjCWRY$YJEx$PYINVeaxsk@tc%hd(2$IIOe$@%uD@`cE%i@M<@o8*_{6HQOqa zaG=sjwQMufxx!cw^P2RtWt2tgE3CqjY;B+ zQHf1!0-S8sRewwV=9YdU`rOXkV@qY~p)fBy(>{Fq1%7#s+zUBoiMb4K#6>(}KY}*# z;<}*{@M)F&Phk~4onEDS+LHVZAB!Z;_-AdWR@ySCJwk zk)~{RarIA2Z-=nKI_s1ukq4GXci4v*OmA~JT*R&uUK9F3&+HH?PYv=mq>G)F17>P}B8h5Vs3|hYEL4X#cm-0T~7UZo838AQR$N z67`yd^H}mQswK1WkOkcWm%Cr5Dt5kmwc%nbuQzqzpf-Cjv{m%V(qn&07v73SU5JplnUD+2(ps7yT?7yTDRcFm07AHXrQ5c|`&Sv%5J?v6`JQ z)xgMqp?ItXe&?t0|1tH=(Rp;y-cPJ1X>2q$8rx19n~iPTY^=s=Y#WVjTTRl~#y5TM zUF&}TX5~3EXXc!J_Wogy1}_$o&s~`M$E$!JzuW6NAV}XW{af~c3xZd-01(1o5Y+!) zDU(|k#^t9f+QQCFY&wjKLVls zdCLI&&_eqi-w^ocbSQjrxeNT|`P??f2PjZT#neAIE?=8O`i7D6Fp+e4Y~-NKx!EDO z#F|@JHMu`|iiU|ONkhw~2mRuQN)Z_Vjh!6Q8G&6>y_}r9O5a(%rs04h^+R3u?IYJk z8HjI2HXSTRq(h+rvptEOPdHg<5NMx02&Cvh57C_0p)Pk{PsU+v+^;Y|NY!i=H<}=o=#RB z+Mgz^MkTEml_uvuC9IXiav|Xte=^2Upk(P+uB6r#|3OAbNyZeFK#ZMNOPtGtUH0#B zLHqY=puGVE351}FjNm#r0m#jtrRPFT8S6k^oeV&z@IZ(S;Q41{NT|gp=h&`YK^*&%)4tpYLqT^OH+p=r0L z`M#rQ7SK)iqw*M|71}a`_Mc4uz%Gh@e1;I58KcRjRUHM2Oj6?f@7^(%*c_mJj7Ok$ zUJKXkr|-v*B7y;!`$H))G|*6i7~6We60-zb$553TkbG8bZcQMCWX@)3YhN4Sj-jPP z8`?2+VT_G!S8kIVD9ee&jWpT9{mPcM@on*F=Q}(1I_?5EvU01ylkg7X1+N8BAP?5W z3xp1jpp=0Sypm*m_EH^vV#=uA&Q0s^L&tL6XV|jzbV(Ou@#LZ1k=y3I#M)k1ND6(L z!+~qyUH;n4>9$Hbmx84IY_i6#b!`^RD6>fw?Vkr%@H5{76-hL!k>HT=q)fS*|Xq&nsJ=9}%}`#kko@OS_1m zkaD0T0ThuMXg-Vl;JM=a3XYhqnd@k8c%FOG^o~eOjA7+I<$o6}QXq{>8G8hR1i)YX zC;kVu4gk=IUg{8ubn07qG|ODzg*Tf03;dL<^_T+{5=4b@sR`3=lL z4tsnqOkJ-JKPPwxzV&&j16=?D04ZcRV!}+@gj*Yay~>70u&151+&~gHT~!+G&JsGfvMe*#nAW2PE_Bvb;haQm63EjxI0& zD50wRiGX^So=v5oow9+-6o83oRR06+xj`YSeOteYwDOdcNn>aZexbts%KRopD}U0} z=%pwWuLDAn{cl&DmTCM`Foh{|V^6t}qsT)VA_S&p+RkbJs;AD&aks zG!eIKW&=$Ny&fzVH@WOTmI&IvDR3$vvFANkREDju8WT?Ee!zqjE86>YXDAg}k3qW! zz4Y+X-W*fN3Ov`Y01rIH=J!6k*cjVMhODF}>thbhi><$H~&hd^<3-RBb ztj=y=4UuZ~8!ak>e+skC(X1KnBMqVU@m)#hLI<{Z?OHj~KjCvlqRR(u5`Ii!PQ`-$ za zf~V!6+(pdIqd28FHBNchlpict2($K#0y)vl(u344Ta6A_EXT{jcRwqd8R;P<0yWi+ zA)6p4c8}cs(nkd=5&gm2n$5iQ!0yRKVbeXu0J#LU`P+h|*j!Hb{CFfreUYgzgLYaa zn%BaoYu&o_#OsPmg-8JRms|?>tSa?j`%vhp5muOWwl5hF?81RyL#(_qvjU=_Byc=Y ztUj)FCUVUe;py^K17*D$QJtEU>4|3o%Sb`h=)`&7zv4Vj9ZYP^Zlhk87M<}FmZ}up z`x81(+&@JE5LC5Efz(m1;r;l@6$qnCv})t&U{t^E{z+uRNv{>}J`Xth#zOe@N!ab+ z>9&w+DhhH~x(j?HZhy5>oi?b+>V_7HO={XH4doL!^H{TLemhU?UbA0-MpPwaQZ_J! zr_HN@O_>bjCIi4pubUDo!609rp zLtGt=KPb=ZQqy$J?J}S;36Oi^6z0}H_)+&GFh4M%0(Bv}G&2tI(oo5BeiickHN#^k zB25(85I?W4Td<^BdLYf_k{_%>3)scQjZ_B;YxDPZDQVycBa5Io=${Ie@Qp4((idHL zN#Qt7lZ9{wW{gyV7pX#cAOd1N@^cDkE&k^YMmPd;e8JbqN4#1&?P40>Y{__HbCUuV z&kKq_cl_Ll(lwb!Tgt=rs>Q!GuL1|&5MBH2^N-cuDF~QAoWq3EM7vy(?k8?}xc7x4 z;{t#-m8H%kLCRfF^T)WAZU+=50g469C*pJ!8ED>e6xVk?QHJrD< z_e=C<`9!L8kuK>U3kisSq`*&lRty4?uYU^}++0!_BMGCL*H=fMzM?*(z)Zt1Ds?>% z!3~^xETjVAnBxEkW-ugOYX-s$2xSwX`S6bA$n7iQCjr8^@2q0~1=slb?qi~xbnW_3 z^+(JksoFEOXGm{Y>x-VpgK7z5yU}bw`8L(=t(UH;H6uw9SzZae^;vvCeuo3%W(+XD z{k69QL>bGWgjJ_8Qgt4N+GWBLvB@>}C)rIu(yimk%4q5tR2Aes3Xv_DTzqdReB=W) zxe-F;ii@_cfDZpAB<0*6a=amEWG!VRl=T%kAO>nO2}%xfqOp##KhbdDC< zUPMU0MDTU%fTdPpKiKrY^Rr~Ir3~k^ob5*Ief%aC%DlPJsgh?ULALyliy^ur4ojp) z+&}{Mg}OFwVuk?OP9m~H=_aWAE9!UILBga5a& zQy*z?y&E0)rvxyG0TbzrHo5N#i?INZ%hAlf{%wJz`K-g5((&Jj+Wl1da9?icfV0jI ztmG3;_fRL_m4y+$yqH+W@zz)qj@jtJ|LII_oP-^Fz@6A1j@fC);6usfD(?GiJR%3Vv@9%c|a{F0W&}V43Foge)_5SlQy^Y zB!LtE`Q6o0W!GZvuS6Vw$8gF@5V1aLG3#)X=|AZ|(Q=g>d7Ecf{}hNd5IuWYme5`` zw26=biXD?!VsJ3MppXkK8S*~R53-sEOOp;=zaqBLkbA>JPw~CKLvZsrb73{z;46ee z)ntu6%9<^3W2MYfR2QafEDeQ}S#2%Axbx8+3-D1_0m{3PA6x)C4=6=#;D&p18@Jb; z;s=Dk489}0sx#Fe)Eu<400{#QB9Qr`RbI4dPJjE13c zGQsgt^yG4(>o!GnuE}H?5PDQBEMOI37Qqvq&3#)Nc7qOR7-UHfKId?=J$nn$kq}Zq zYo8Wo_W;=h1V~i_!Q3^DW%%ORi5HNKa`!=pEgMqu@C`+9ToOPCii6{l*+cU}o?rLcXYduDgFKQ3f^4 z3Ris-l_3$6xM2n*eFC935trtqJHQtw5cu~xGMJuU8uUXHhZ5i98YlS&r~CCsGHu~l zA0eQQ(oLM!cTGLE?g84^*{i{!J7?rCWh5jrVHEe?**J^5DiMT$6n3bAksTmMLBm+1 z^PuS!%depQsQcp^VP6~icubyYDyBZ5SOjWRfv;!re}Yo&F4{UtR1eB5=Sr_K|NGs| zuVY&`L_BR?k8OPf1-ol%M`Y?9if=wuwo_YV*IRq{m={t8~X(z7V&hX3uiwLy(pjsln=JDbWn+}q9C|J6~i zgyNf?nItZ(*A=bp5k&(B4shqxaM&PtWP|)iEG;KNj?WWsMM?R_!>bHdb^~v5t=(?n zeSm^)3TJ`BB`5o#$#n65gwzl#ojJB=`yXtrV{5`Gvljp45XJM|^&*|wwrDvOpFkm2 zCVURXjcD47;8vQ^C*MnsMR<*%d{f!B%`(q0fc>!Jih?rJQJKL;b8xAUcS9URM=aAp zZ%n-*KtC1TH&QiPxC0yyP`=;{kPwZ<9=UYI7&%^(NErtXmSo!yAWQeM@7402(OR6A z2X8C_&*u`Wt1H|jQ+91s`GIvVb+pVs9ucqPZ2~LX3oRjYA%(6!5%Fz3!n%0={s5?0;f?@TmbnnU0gCh3z z!!jB3D_k8&(}k6&fxH?>LVfF%fPVA_xOJGlK`oDr>14nxAeqS@wU+~=F*Zj|{>#GS zq~c^bP*kxRm2x#R4O-El1|*-G&rItD8sM9YBfiZbHnRE==6yQHf@U%L!Z~ok_LcXG zj=ymH&IntQhY?yr)ag6qRaW_6#13B)5o5qEYGy^Y@$BoztB?*Hq}GxXQr)+}e-Zif z6Tb&Ng3U~T;`S=1L2+BSSOV#J&W>vTT{|(>2pWu-~B zm{i^Wr@cB>u6OP7iyEh_{<6l!5o!5X5EaJ=w>2;cwmRG86FqICSprAG#>k*0)VVx@ z!p|^UNV5RIqaXF2&L}iVvZ4>$B z7fwX{Pp(kP$!M~fI7l8|!-)V!IA!(G+8)Gd-t=b6ZU;xUg-g5yCJ7$fAuUVxj8=&V zDuqnqe9`M{mMF&E=#<`@|8YK3V)?FV{KcbR*JAO(d8eL4DYDG5B&E}U<7&LQhMa3)0XmrQ?D(cgeZI~ zEvhm8Cbx)jR@d9D|A$%Xs61`3pS-`Zf3BZ-0=0_z<`O5(jh3X2HR266{cNBxirEky zvu!c`ZXvIoYpEEi^Rg3+n9@oJ0YqSWgMrVQ_z=6>8?*i=bXNsR(9qxrc@v5s+16oC zY#r~g52EW3sRLFJP+T5+{2z+Krk*h!ODE{j?-;VKmPm20*HpLQ*C8gb`z|rgWZNjy z3A+7K^)CPF&3j;K1n`yvsP;;YgU^6$r&gLF<)r~MjZ>7waz>TG-^cUfP>DyHOan?l zqKYcW(D+s;cG1RhoGy`*>W>9hGFSCYSl~tbLI7Z^RQi-`LP7&RU;bPc?Lk#b#OSQa{Z0Kla|9W+R3-Y+; zwqV~J4rOXhL7a@K)e#Y+_$1-CueyznD?frCPclD3Gij2?~f2f0(5?i7l3G%#bnbQ|_ zQlXAOH8g{m&P{*$X2>tj*B6Y2zK-4&5Y@^Pv0EKq9JvqnZ^uT`vJ-C{z9F5+d3flwv5J=tcxC`PQ5Q*s8lL-u?Z5czaV&IZ&zYIA z>Imx|jFtGqBlRACH~S%S?Y)}`4P@>LPL#Hhh$#n?_*u*Mj6&Yj@JBS|e5m~vj~`%o z1&7;+(w?MI*W_`pj11#3Zbc5>^S`54F3m#;W(53YZpy8fyU70TfpAcv*O{(ZluXOz z@s+W29;ASd8m=nG?UCaIa=xXKmaehY-M>957@iD`lqam=#%1#w!0^6RtkTBfN=~{w zQv8DfaO>g|!?7*&J#CT}%*4qnkfcl`{ynDF{2;i&UoH)eSsor*)8Nd8%r8~SX>}a6 z6Z}QPme zb$G2FFT*by2$vC)mdqy=OQ7zUN{{m7DjNs4D1GJKLyqJNtcfDozt9@ej|Y81a`3sn zz7BjuyDRSC#CNn5Igc%47^3SWM*m?Ur;G8 z#eTWs(_i^HhJ^abJI?>;X>stR`R1RIt2Tx@m#3$g?2+sofQ)%D>k2+yQ79ak`^1U6l~A zYbz1T#VqwnI3}ygo-1kdbMcKX zD8FsrEitoRkC}m6cDWL(H40Q(Xo8*?@e5RXEMwF9OgrxCSJ8mW<&+ zgsr_*?7b1wprv#kG{&oXoH^oRX1^3nZvTh`enlZ%>oK#{SuyJ8kJc$^)t&yRr($?IK( zfiPGN_HFU4VDx0G?UUdZ>!H`u74kz(NsqMA1I8T<<}*&r4%QBd+{8C}(Ag#dD-s5J zrd;#ZIGG9e7eb;+~F^_4E zD|UC(C2B1YNJ^`=J;wND46ae~O=ltEOoGX3nz+FxswiH+3v9Yq_(4Gg6WbG-^T4IQ z)JwY01hhKGKg`$3QFr1>OTRjQcMsE^D?{-WZ$z{uJ5~$C4Rj6m88};;Dmu*GL*xJy zS`tQ<-Rg2b%KE};EtKtvy#BDdF^I>C?+tot*;cl0!j9LuN}Mb5p5--`$oEI_R+WqwTSLkD&U}kg1M4%`8`$66=FLyE)cD5UVKwjQ6zcSK zf=^PL$E!!>n=2~JWndeiDL~b#Hh=9jos5T)kwuPKtj$6mf68_gYPWc;LOnQQ9*Rpk z4LRM)SbM+fpcr?{>gnC88k~#{M&r4iEZPjmePJ=1T(2{c*(h)w-x@{AkRbeSYn$vm z!DdZ)U6mn*wzu{Z>To;S(on@_EmX6fN#{p$^6d6+p}yFkRatM&AZQJ=TRU1i<4P^X zqQOw)*f{Z+Uzc6mepy7Cf@D=;Dcb+wl(dxJ>mtAdxCAkESSDZy(!R`r%k)#q45fKgr)E z&uw390#Uh6x&N4}em_-=IswNlu`W@e9>rgm|FnkCQjO@=T%C~J#(2cZTDCe5C#b2Z z84?mA5!3RS$8k@5(@o#rN9@mh5h7!YKO*iU;g5ZceX)I){WB&L_&$pr;q%o$s_$^n zij0w8B@fMVgbtdDWJ?nUW7Yo*PD59z_ z(`f~n>tkJ?)K}zmtiWJ35~LW-#>N&<$%0{`p&5*$`7@A4%2H4*j`PtXh`o=g!g4M1 zD+J5tKzsg60iK&pXX_LL=B;LU$oHq=@ziBs{0gFs*tTcO*Vn_}JK_gRS@8|8HQFto zp`coJpoizRy@{AhBU*2&%6x>|hJ_7MA-YG7{Q#sR^`|%;Ir@-t;+xJcsqFx_s?u_r5tFW}x*)M@$EC|94l;2oJ%E z?|N^`pxoxo-V()YOI4*r3iElYt{LI04Ql^a&={oe*|Pau2}%Ylm;PQ}S#{wi8~C(E zQKo?>H4D*RH4hgWo@zy4H>2v{xF-*vo;z-HD{LOLN2=0ykEtt-`9T_#xW-HF3t*6%#IMV;bdY}5-0Xt6Yc@Trtaebwr5A5GV&y(Kmtab8m>waZeXslL@^ z<@fro)9==70j_(AvB9R%)CID$>B-X3=zFfpX=zykzu)@C5e;-N3nWN#N-;dzzq=5Z zYXrf|H2EHzAI}8C5rpmhf(4Ajaaf@J-dURLVzr@XRNbktckKKS97f8XNRi!dbs)>J zz#M3N=64jSv4O^EBsm(^VtCOGKOXDow>tS9>6#8H6?*p@Ba8pNcCq<~!b0!A0QSFN+=AQE6zclStx+fYMSR2rW)Jy0Yz$DaB&TAarH^W^y`0=S!ovA zf>4#49{Kt4GRr^yE)YCaecNI}sE3AB&-FSXWzUN_T1I~BPrV&_f#Zv}e3U#lKa%o2Q#7Ox>+&4{RdRjB?r!7XhKei&NPaX@8vb|afrAR|e&GJ!vdDGkrAv7CFqy~?h#lG+S+ zqwO;tXvEg_X@DHD+A*Dju?1=&Cx?}}03s^DX3^68g0)n&PQKD+?Nt9Ye**BKs-(C+ zYOpU#x%5|rjiph{%t_c^{aL3d&ode>`KxG}Jde9|%n=JMBB(O=P=}@KYUI&W8f+M; zYO`VXrxPy2xboJb1%a0n*@8*(ND?05J*o zJ6x>73CV!=S_S87XbZWmh%s8--dm@6x~2!W$=-8lc}taDFss+s>L{8Fb3)a>xM|MI zbx@w@@;3()?XG9shW+7!#P+Al%whD1iu|@Wrtb$F3r5i4k3+!ZCuwA+WJpw;e%}{zT>xu6#%sfB>UEl?a+!??@RwI6f zTKQh5*RFJQ=)tRhcGmB9pWLF9L&U|l!I~Kr*T$KV%5!I5L&yStmWAMX?ZS=D|Fq^%TOm0XL5H)sFV|OPlqxaUy?HK()d+(v z)E?4P)08DcGv3v%*5ah$^Giui#z;;!Ss;9-;1zwk-3GpOx*a@3a-XDuCu$sF96Tk* zv9q8)C83n)GFV$!XwoV`rHv{gS$g5ubs1r4jnuD)+gx=!hc~zf-MtOe)*Qe{v9~Dd9^Kz)JaH`v4l4@3lP6&lY$? z5d13T%*=59V>0>AGlBOZ9PiHWWn9`?M^p+`hBACN!7v1eJmi-m&I)^`N%ckwd?XDj zLM#^Jso-Y*U5VWUC!w2uedSYXp7xU;IJ(V#n=W1!OJ^8nK{g@6whK>o#aY%KanwkR z(JYv`lKqN`C_1S1Mng{;MmxDi&q!oV0kYf!_wilmJRmMFJFZK3Cc+ln%`Gz27i^4} z<$5^I{fc1Hrr zGWj(*v|-JmJ$MwgCW?OGa|RuHPWkx|U+7R*F;i|j>i3n2U%Ktv`FlDMh6yL;nbnpc z6(!W$BO1I5v^%tfoBff`Ft!Vu8})vGg&>-f*EQ9-G~9A3h*BPc$Nx_c>*IVR;ld-i zYc8Q$KOxZPY5}5g4-z!eWR`}L79Oz+uAvq!+Q-bSf5Xu?Tspv0-5-4C0V=$ z!{o+gemqSX9OYYHoUaG~h2bX?L)w^67=*@IZBZ)LAvelw!yfE8ytJb78~OIz+A9cZ zuz*R!p@Qt?JDYD^oN9P4sl6dvfwe?}0m81W#@@>#*-3cqNN-*X386b5zj|gu>L32P zCEanbdKV|r8uyQfLq3g@-dvFoKC#`Z!C_Qhol*U|dOzKa3WgIwbHgkEvC zgp`e?31;MQAYCh{NPTeY2XO)@x~WIpFl|aO$&{;6Pg1xx5BjP*p>3#WB@RvX1bc$&YjDFt}1u6{8R@8^lyI+&6S z4A(Lbu5>rhufBtKyCYwWz?;C~V%+dEYI8t;j>FEpN3c4VB!>I-D_0KB*i6LLu=^p~ zDm15tKc#VMSDlrXHbB(6GjeGkAJhF7hTCo5#Ml@e9X%;2>1gTY0M3k@`0VSq&ZAdA zo1K~3%FCRK=g-gs1$eM|2W48Q9AJ&3j10S$K??a6E7+UGilpn_EZOehc3ly=?SP4v zxVOaiDm}B{F#9qYFepc5{n}{Dm)r9=+6o|wG*csHE7Lo?i0X}Zr2%Qi;sc$SJ2-#~ z^kR_L{#G|~83#Ii40`RtG4 zJazJ%pCGcBJTs$vjUQ~Z0jTABq7Up}ZvZhl(35y!=XcOK#B`UBP}ruhz;4fVepJ2} zjDXG`Hm}=hk}t z*AJuIQUgSlB<)Wvi7DT;3n4duqq8lted2@)8`YZ@)a>uQjhmZw{{2aOol0oZC|uFR z>bm@T03d!mI5sX!uHE#(qwxx~IV4X*6oMJ62XeHUkvt+6klwHlX-P2PNTReaTb-Ca zS$|hF^78O_^@pQ49gMGZ`}r9%hZb*%m(AeZmA+Dwk3b4i3z``)UBcEZ7SbgC z#J+&|io+plu@xJa*8hpfAB?%bq->nE32+^Wm4pWKF0`=?#v->Z!-+j!YrU5CLl6rL zK1IR`0zAgL5fb5#D%~$ayh*+c-LKcLudf`N?nXeiI223t!1|R;ZRZzmazO+O4h04% z#A^-sC`n>XxM+#JiQFwWrwMgDwyGG_YD5-{Lk&1almFoPKt@d|2r6s3lw7NbVqo{# zK1%u)!XcL~pmVhu`J5)z`K(b$fMF=6RbWk3ZY(m4?~1wJompIJ97n*fpWAVS+^mou z9IHBESG{y~?DPTUSG*k_;RW^@?w z11pJa4qd}t)Ed?p#8-LrOJbvh=f4Znprv&WRu5R!(*sN9$|4hUYZ{ekkC~UkHMgc^ zBH)5NEL>EOrVzlNGoe&69<{ya2Jacp8|e*Yw;{qDk-4QP72 zB;$0{#~u&lx=Nc>fZlLle8?2PibME;seu(vF6KIc&^;GE84vF#J%%=ou`=uEhki|S zPE1RfE|}vM>FU$u_bCA4Gtr2lS*VQr7bqV?oP(|Mc z(%FO#CmF=qD~lwoUgj=9WLL+2uSRrQ!Svd^JBp?3TtnXfbviS1vDw%rukwF~)d}0a zxGR!kZwS+O3&zMZWU=olEpx#2@0X}|r`Gu~uvT-%gfwKZ6!D(om^3x?ih}LH#b6h6 z@SQpXqFM&%CpEU2+2vFI%V952yVFq3eR7@Z#sNTZw$^vElwMgTvZGH#H>lo?O-=8QW{lQb9Ar}Hq(plzpLwKQ7AJ7B-|oX3 zzj!k+{az)hYSDcrYq#yG^j{9(w=W~if+mhoh>t#H#wN`UU^g_nWku^tF1D9$3Zm}; zUkPCJn)aTBmSqmm>kM>|JsdAhc)#bcUORB{@!kgM`Czzh5$KfCXB59aqCCfYh}RlK z)XHJLafVV%@=B5D4dj49K))WVcR#Ofy*Jscu~+vAlcdO(&DDpa znfwNi87NU&zfU$fH14RmQ~Qjn8BU+ggiGZWMD=x4>>QOY0?f*=r4W0dFVAYs3jM;8 zAwmnhZiM!KX#?+4PZv+j7_D%2M(b(fBUlNw)UX7=eKv7Zcv&D+Quh@d14>TEli$O` zqg=iEn`p!35RX))_y|sRC*WUByy|s@K%fJf5pJK7#RKi@NNaMOFxb|si74dYaea+* z)LEa$t(G29{Ed4RDT2;hDUbFf62`qFKE$ix)KonHPCv-lkggDnSb)~Q-o)*z-ZI=a z?Kax>7r~yfRzT2rXndAR8F6+P!&74j)%A)h5&NtJ11Kl^%YWHV4Ms0_@%?;%@Vh!| z?n3uvjRS=3;=m2se4Y1LYyh4OV3hk+J&XSXOAQ)bb8IS0Ik~RK1-GcOCz4?KOO%V@ z&*jK>%!nUXu!K0lLRmAKm|wUa5)P#9q>0hBY0yWk`onY2%szbefr7NQ@HpA<2bN^` zBEL_dFOt3|+)(U`(&>z#{2#z2{6DjB4yNMjt53xN!AF~Z8$@sd^ViB#6}Zg^k3gtZ zz`qxjXJOWP`o9#FoR+|F9`k^m0O)y=0xxzAFtFB}r|NPQEKNyBzhQ1Vo-KK=VN)29 zaeZlMfTNnx?4J+WQPDYLKG$r7Vl=SR`YbpB5nZYsr%Q{YV{;X+8~IU9yMqaE`rIb$ z7Alb7hRbhZ*9@N1x7TWCFA!{ybB3M{R#TYV6pNt7B{vzm$62H*v|V%=D4dUW&-i#& z%vJxWD?_>9r`OKLdS9-691=hkdYoy%xl*vdB3YFj{!xp-L^#I4+naOrz$QaMKDld1G2RHw8*%#^NIqZ5JiR!ThMNeDZ;n?l_ zHp%y}{&La%u@@^))wuP|mMRX4cOjoV0~g6!4|Xf~QWQ1}K#uS8-_w=)!>Js7V!LcsWng|K!2C$67pL)V7mm9_*%md7inCm~D+CMu zJ|H;Otd~;gy+R@SaTQG4UWyu`Fx`0JTY&b9`k^7$TnQMdt(m z$LkFm<+s-hAUw}2%fFr3`FULpU=_=zU5`-abllF$$P2tRRHO2ivCYpPKu&>_XyG|U3JnV|VbE6)4n%PGH5 zv+Pn%JuiCicaI31rd-f`g(k~>eJ?z%RC*Ip> zk>+JXgd>O_nfe}olHE2v4hvKDJXbA>r5?D>TlOZoPb#dcJMR~@?f8JH`#p{6>jCM_ z2e8rJ-ygbjoF=(m&YHI{)OEhgn5*m$eh~@fy#P|!hmvoPEvOXkhJ?pa3%eWA3xo{lfl8V)yegZO*PqT?p_%KW4&S9iDIh0`E$UV z7R#eiT+QD+@11&EA5>6A6U%!&97g1;Q2?V9Bt2I=<*^eY#j*8z951n1|NczsG%HU7 ziD3)3bDlXA^+mRHf-&z3%si;(x8C<^70GCXJxc`E#!9>P=9j*=!(gW-gf)!#CHc^V zTK|av*OfvN1I3}e1exA3Mvk}(;5ll!ZP@R}W3(jtNWR?dPF+jhTCm&cok$R!+25}a z#0qpp?wJXkESIYf#Sp*=lvmVA|0436aywhac(ZQV3Ej^*Yg#)m7I^!6HALh$D@B>* zI7)q(K?~lN0mCNF8ggz%J zO&9}zhmRM{;3zDP%Q2)kzDvAIHxH}I+l=+q3wu7C3|c+Of-?_yNS)PiOUsz%dOs=6TAPfO%b!2s zKDfB?ZM1V!@=WTdb1#IV66N?$Ho)62^sX$GytYhYR_Zh8eIV_IZbL6$$-++CaZ&uW z8ekWjInLbNO=Qo$Yfg6^1*mx@O%%&naTxZGc6$2Io~wL(>=WJAZ+f2GovtWrO~vq> zn=_}<5qSrN^>={a;SR6I7>gmK;7Cwx>P9HatGn7VzwGb7dTqUAClNEv7t0gj&hCT} z@q6BymkI#Ei!gd9!97A~SHJt??E(cO<@r$HjGn!XLN zL3Mu61K@(}VG)dx&3ZmsKhB5~q%VYBmwf%B36AVms3eUK3*f@HCKaXHGH`ti>31844ZH%dDi zd&c#zM1-#z?|z)>qJFpM+hDB&2Sv(GhbvT2s%qGa7FkZoDwov)p~$SEqZi#kYTqNxK=1h zN| zmUG*m=NMYBPq^iFZAJR)z>GV*xMo-t2-xXEui4;RMn!6|WaKkP?fLKs^lNY!BWe(Ap* ztCLE^IHO=|a*9i}oz{)TMRTt%9n=mH%DnuRcMLU_M~luywFVdIejH$Q7Q*+uTTqw5 zlE!u14<-s2@H%gmxSY|~FRj=s`kW0HfRyCpjoqNB9pp+v zFS?;G1x>B$J|^Dw$&`q>pp{PXd|(HMJ{~uW7poM*p_Sq2B^xnJM!8aYo>WHCm!&zU z6|79>(Km0fSM87fx>oTlVtXoJ!aR>ZHVDD`13mo-pHl%6ly%y1Gx;?jhU)-ZlLsUg z|A(|RP0MLNULqgIaO(Z#BGy1*QvdxL>+dYKYQ4_;O)tAGX{LN=Far3*bz(RXa2o?jH=4L`)|VLxqNm~(^K|(`$3nA-bk)Ko zs>G;%!Y{pPEN1XngDNyBez!9cPqvzBi+`SY=#pLHz^ahJFinVJ8Q}xb>2HmZEA&7m zGN}wyc(Gfls>b;<(_K#o8R8%0K6eWhsrv8E<3BlKICrxdbQwlH(^ur#FPubOJYYE( z-x5KiL0FYNAKziEo)Ot>r9dSPXIuTAQ+iJw6=OPu60zUf&)a%`!yIz1BI7My4`7vl z`2h_gj^KZ}Agb!-?^iE2;ivx4yH?0#O&luWf1z70XOEss$QgoRHk>SGrANzB2&&zAfPs%xy0d$a!b$TYK@XG4_GZC7i7 zaayyP5O{BiG@AWoI#&d> zk{T;O2>nUpI-S0Hy_c4ax~$ZCC*y&o!5W9Ala~HwmX-3Png|*hN$+nQj4JvXz1jf; zfs^KajsA?o5LEedIZYC;Uz+;Ma9L%|Z)m)5V-!a!?gXMoMF-kpaAk8A`=MvX56OS2 zkeo%!%XxdNw*B>GA2Ltzoc~V(*JUs<%@YQbFxW2xhvB3#_6}!_OPFejO7v-MZWo*R z*1!w%{S*wBA5o!ccz_vRKy6G47A_#H?k+?3=>bIWBzRp-E;kqE9M-lSUwukrY!TDz zC#7h!O%`prp$0~);AxyU-P!eeEz=uZVSg(ELM!yRnc%p}hZ!11XT!~ii;;D0)$#pW zdK@DVx*bvw%izO{*ZXTXDhdPIpN#WGcb4f-F17CpI}_bCV(Gzz_T_0kk*>qQON>xfa~gCafJRdua*V=w{?tf@H;)9T`P~5xq=Zz%nz~Dwg&1dDtpz2LXGTTIb>nc zuA^)gE*ZuqvJt2BP^z%8p>6Tmt1e2(&p0}uj*$duAI>{_djig;c&a0fj;7UOd1uFM zMJ_tkk`8rBbVn#j*hp-U2O4=cVxDTu$%b zVs(e*))|VlvEM_&V4uH>@5{gk%NnD`h?<^sz`}ulXXcS;kzR*~K*57${~8=F@+}U& zcIZ9KIagyS((Q$RF0#K;bch{*Tt9#h*JBPcBXHV}_rpESXw}%oSzd=3U_MD4!2ds* zzQV7`_lYBS)tQh{R|_S_A}yZNTVG5k^ReBBcT%(%qmUqEgb*((23i z{k`u$@O(bc_1w>O-}gD^I)?-5|0T*I(!@(ENR9%e-Kw85)^#rS6a>d2oiCew|9j@P6QszaLa0ngtzIK(pTh6T_L%`l({q!7g6SKNB)9GGl3-x_>64{4)*M+hh3;aVj&nqpB zJnEI77ie6lE`8VYg}a!ghvgPWbzFmySItMums)kFWq+bwH0=QLI)xo|$PVnkUt`u;tx#R{=JLV7KzQO`A0}L@_(1Ft>aM=#O^3bdq6`2R2FU{+ zkcHp5JpjI$>i_bBS1<{KB=;6JMNIA$8^Zu6+kDTv+z{bf#_pdm5IgTkHi_d{I z3*sJX!v{)KIG>}PZ}KsIL3vptw#3g<6$ppK;8~6m2_8)PnROBvSb){vl67PSkp5#p6ygW|He3}vW zXKF$smb3DTa9zk&Q%@|3eY&{bo4LTn!21f{S{{6^7he-2PyMN6 zS?kPF^y{Vrh2IX>_WN#Y#+t4;_T%wC%PVP*{c+~WUtfgEZ(mvJ1DcMx_h{viY)L~g zDO}brJM?S72txXpd$$-;nw6T8`1O3xAfxj1W`Y(LrQ{qa3h&w1I9m+H$fRrjRRZuF zWQ4mxheeav$h~dEjMHe7Kq_jqx3uBLhx!)cM#GEH=R9Fs9J;jSN@2g?+}}uJkrGp@ z^itg1!a7GbFI(PX(V@U#-I8ya%d&NE2hzFH?Z^1vH4y(IiHLxm$mX5tm*)@LZ|-GZ z@^=>-Nb?7@%uz8U2`)r*QH$h$?rtVaz5BL!HIatw@88-YK!*4gc-@i0<-A!=ApD*=%D}4!lmN9kHS`^O}7~Q zRQzgi;=`9$8be6gi^$gtK8{&mysMw8{Mpnu;&}h)p?&apTGZ7WmHm$X{pBS8Rr^!f z&eGAp(b)o!+E1T?b0hR*FO|1z9QGsVm$fv*{}|P#0dy=HM(*mREis)5$75m{zD&{O z#dWQeKTN?WpgU#xi9dBQ7%2C#87O!4Z;MCY<|9v|;S)0~AB5gD*i39wEggQ-ZSg!3i>q z1w(KhrN<8|x0hQVT@5ai2AJI<3#~q?cB2QNIDHW8rYoS z^zf^rN~x`;fG?*mkH}Y5aa3iu5*jSe8uWfR3_g6!N!2D2-Ahc&SyM6`&kQ)G}CzM#dD}*6PU2 zr#h&MQQShkNQ$@_XwIwUWmW;-RuA2^P3}R-xA4fs&v|blYvNpk;#w+r)yZn6vnzjZ z#)Wi;2OsEgY*U$*6PJ}j5kWCRJ~59+5FfI2<;CBG%ph|m0D zZgEo42vahe&HEr0UT7s?V%Npb6erF2LNAQ|PK&fjXxZh^)1KNSc26a*D&sySuHjgvCGKO*GH~J_TTuit8E91smprG(>rm$MK(Q0V_kmS3+B*#r&@dv zDskDZM+*2EHun4URt3@22;2RZ6^*M9wXI5a{ddWdeiysV{Zxo-!P_0yeJf%!rmqL7 zRB;ne$*-(muKkwV3g4`jh$u;6U&Nx$jkb7uAas1^v?|~Q0RP|DdL^`{N4Ht@jUHN< z)R2cByqYm_C?h4!Bki2>IQOs{UXkgeNWsL4?UwHVSYMgk(ro^mRD|O<`nd%=)*-j4Gdu zsV{Bv2%#HFettA!e_<8Nw6B!iBNnAkN4=mO+moEMH4mff#2a}qq570E=9=-_RHbyl z>5w5!2Q_kpF*tQ~kr>tsgHjb@a{Q+e0G4-9%$+EsJEUIN7noW?Vo0jk<)-qv?}3v$OYS zKXM-5sorQYob<8#yjql3@z$qJ+xF4dhJTwrO9F3C=|8BiYnDw;m$`qP>iBuoq)NUc zmG#M%Fb%8`n87_|{+hyhck8vygMX`8pG)1pV{P)Y6@R=KG8+-~x|LDN1K^>XgG9C3 z&S1cBN2?L4&N7~W0XN3-v=FXg6+V&$B9*dk+xt47mmh}P%*V#IE^j_WrhJ+rs|BRoFoTuz_RE(SN zJslJ^olEQwzpfz5HLSu^i3uiAw$~InG6?QH_}0U_>+Tpo&Jbg^o%>HJ_tVQej|i6i z>N&eB!WlmsGFzEjV`HF`Si&Cy*CVhFWgCxd*hlwZE ze{T_X6vYhHGh^SaZGJt&TU2m*fsC!{gcJCbgIlu<77&;C-`-d z){EVJ_&+!9SerZX{|)I|aXpFJ-aV<^@<~5TsP@0GxGcZF6T#l{>-gIn4wlQ*8XA8e zj8fZ9@wLnO@GqAgWZ6|(nTdSt2aHlmB`xeA-xqnBQcF6xcGvS~iMlH11MAbBVX~m_ z5o<%Re8-}2YWurp6H2_h9l>6+RgKZNACSP={-Gpd8Ti;I3e8GB_C zDq@&lR8T?iI3iv?q6-@}^1~?)v8K!tbX4Bs{=^(_Lr{_rkGZq1SA6kmd7ssMY@w2W z2^*0&F2gk#zD!=p5A#@t9`u0AmE8nsrQ6d!-Qat$@Lq8V))J4h6i#GrtP8v#R~QuF zr{nERMRs2Iu`T>d=TJz?y5nU=_q@U84RsMm+e(Q*dCS=K(kmU;+TAU9O+0L&q7@d9 zQjA%QdpumPfjcJ#dk)*-AQl9di0a&rl>FU z<;;cP@1)2dq`EuPSmsce+Rw^FYb6W_Z;dS3&4*Epx!H{=r7rHver!n4{mqOrubNS< zCc7HEK}_yK1wFW;t{l~T<~|$;yyuTH`hP!Roz2D#+rmUP@P)AXEdMCnyELQWpTf$M z&q0q(BRyAg9#)Bkc_J^LhP)nh+Bf;Pc6~xD`04j%vj@< zUz`dZNu=qC+7#ow0Q$7Cs$7HfO|gseA)DrpKW^cjBrVP)_yXY{_4IOXM(BM;-V(22bYz$~cR`|GUN%zwMl;-0N%IUFJ z3AfNn`MK2x7Q44vk$bIXvN*b zDz&udS#lw@pU7~n_W}R%)o5XQ@tx(3FRG7ZF*W}yC*v_nQKe}iJC(x1`+ zV-*@P@=gmlVU?`EFC>k+P&y3&3zn2?uNYl)tV6t@o=34cB2imcs_x1y zMEdI5mrKQE!P81qru&ub)n5AfnBwyciC~q{+nFi7Jd87%M3$*U~ZYRe! z0)j6pMo>ob!Wx*s0y^$S5y#9!@ixPAv&=y$3n^Aeyvhh$ER7dC@aJW^%Jz) z2QI6F-3}6MFS^^|wjMxN@_ZG>2<$pCC)-X_jDg@B%W$Fo5@Vp~%jaIStZvUR~ywL_S zLq2tZ7PS}3i2HdEy)L|roetK?y>GrJVKAr$Dl_AGn)g8y?~V_9H8f}G0ysED zMZdv>Zn#(_UC@jYgE<&WNKwcHhtM2b7JC`4%DmwH&drG+N*QByjNyaU*qxQLKwMfa zaBczaT|MfXqf$LN7(9q8hgaiNH+pC(NGAD%>oyZ`M6>~beYS@b<=U;Z1OPk; z4?Cb#+znlzPV9$yO~wAJnu7ibOJuG|QoTI5Bu4y=Mb<<2pr}kY1fwE#bBM`xfa-kt z2;P{K&ce`~_IVczj{b{ONR`loa|ZjFo80AAU;4&H{tC2lc3LcUn$OA_2gZ~GO_{QU)n{Sh;F&8illX$ zRi1S`!^HY<&&=I}ip?r)hKA zZT76%-$wv?1igE4e?vS^=U!$BhBPeXd(I@RVp;Mc2&Ge*2<+QAZQ(ibkQ(r)2^$KL${1de z{q^pfZqBNnNHS?T8S`2as&GWFM)*MsA{fL)Lvp~vNY-atm2xVT3T5b!4J*n^Y~}3d zlUDtaWZVc~pbsI+jJQ46uv(K+%yBYm4v?>TC}m-MaWvTX!TbwIZK*Q@SNZJwh& zB8IXVRm`V>Q(umI3!8faUnSf(rFvNxz4L%yG2>dAnq2M{00X+e(88VSX2>}poO=g< zXH!t~BvFKRv75i?KF;|Cq4dMXCH|CTc;`wcW1OG472reHoGn~CYnkRLE{Qa4$qPuirUFfv1Los-bOfpV&`LlevVd5f`3aKFdMxc6 zSMbMU(^Cw=U#l&UCNWBH4HaU z#;gsq8=m@`P__cZN~cH^`g1&Epp-83vS`VHYHHznH!{v3-knB9SmoW}hXLAB*^vin?3TyyFIQO?ZcJd``@qsU3<=?uo&GpDCWjCsWggC zay(4YJQ{jLrRtmFny&8W`1nu651Gb!fY4RqWKn+SrW0dhLpc#a2=eq)_k5V6>@3se z*L@6A692O)7@m#f4yp$@r-rtqkiU4eRjOyYW%p((x+q{w^jP%Z9R6ZhM)xi!*`Tm3 z?~raR0prXtG0zx41nP@|ip$&$vwINcgeKz9jh22ETZ0H%O7x~C2x6f7MwC2tUWIRv zCEdU^mdc+=aHcOrbS}bvcdU)lPXtTnXn9EH%wzjN&2W5X7gf!gBOUo1fYOUd;bM+8 zj_40_)>oHef7fZHp@W;FXR_@a?dWXl4zc8fJD7z^^W2g4U#3zvT z7^NwiS!br%MsxCZ7EXG*M%|UH4hmIsD$y;x7dW1RZW5>;#KAWHC4xY{$+Nfnio7M!%^w3RQI3Y8f!31U)F;#n|9C_Y`Zp<1#odn0gdWc2`$2j zLgRJ7*dakRY0%PKBPfU4)m&c57av3IFbG_czg8hDoARR1Tw-L3i&pa2xFeCaS9zqA zuTII}%n}cv#JKASA0TbY?jG*=b(6K*6pp6%x8+6oT-*^_h*QJf4M-eO>g_tgWXzQb zvJ`Ap&}7R4(7C4fl~X+;pD+FX-L3$jZ?sOGTTAlgJJ1=5)t?h?j@RK6-RR@)z&vP) ze}v|ta!Xvv4#jKhCBxkniI_f_4`Q8f^`wV$n^qAe$8(V1DHAH#to7FKl=V(18`C9U z?}u|{eDUrca<`%#>*5(Yb~VlYIQ`~VhLu@V-#e{Q`iP*h%Tz@Tvu6XRdr_~~HWls@ zf1Z6+UI6r(xIQs?Re9DX{(gBVq?$bG7D+jAcy57W+{-rxtR8H-dpXo`0Vx^sX9)4#)-RzhG=ivoGrmXvBdVIgNYE zM%MaCnkr+dbe1ZIH9w^$Yg>3JJ<@`#FC7JvLZAv|>^?~f-}vouq<#I7Moi1!UP~(J z9>b3jG$3NRSft3kBqn{L9@{?d?c~4_4L!aX3db%gsFvUKyRWpwjkpPJ;+(rusir3M z6@A~H0lC`Z7~B8^ov=}d6n!QXmE1XRycF{)*s-3C?Ud)EdDJdb46e9O$JgKNn87Wx zf@@lC(-m`oLT5+2WVgjIhG+%QB{lWF{QVCT*iN%BtK^osv`d>&all2S*En)ep!I^r zqzMq1W7G|3P8P$k(H zf3TK;ru=fIXj0lZMSj6K3!|Es)b-&}Zp0C|M=7!}R|#(3&x7V)$|L}M(p;Dggm9fv%m#I&oF-6U&6KmJ`+Ss@wu@c99 zZNc%BH5dN`IEcBu);(l3z~f=~kI=dqX9<~>t0za5negWSsDKOVAuL+*!c=#=*xi_a zHPbz**_AM)E18vf<7^Ns^*dE3FFg%qvmgj>q$?`h1HgNz0a}`G67n?qH4g7`Imbax z>SUgHIi)uih^ZSi$1mG4#}DevqG2xbAwSFKONrlqWdx9ZT^7mx=2cWuWX9`as|`wv zPN;2Cp##`+0{VBdDiWw4SLvsZGLIn1e7+oYfc|PFvBb#ag`a;r`TMZ)D}}@e|6$=X zm*K0P?cQXM*DM?&b3+pHH&H+LJRZL72zK)*d`Ry&miwFCC&K=QU%2G>gK}JE8WvHL zKrF9cxbonp7%j`_ER=*uu7&=Yygy*vNTOD9{%)Tp&bJcM=5|Cng4C@fR{{5&5hv*C?W68f>d}BO0>k@H8YmPGMN);_4KB>9eC<{qxE4IFd zj<12}t%`jU{|EQm zKQ5tjF!VY0wTN$m?_uFVWj21TW9uHn(nEOlQGHTscdkA zRG}UqVMG9v?ImUZ<||D~Jkpe=#D5xKT*g>PB@fxrAsu{Qj}6FrJmFltXIY zw$)3|bLUo;7OU&^Qbw8jSi8Y-xNVB>;Ia}Hpm2-6F8w)?F($EfkVi~>9*7FmA}i0c zaK8yMN@^K6!uaWJwv%KE*T;ynG8ehrF-!O(ti2B5kEQ*Tl4>;Y?Geh5|TTZ_JX$G$=O$2#Kq12CLa zj)AtmNT(Yclo5vc&igp73vqAxv$vKx)&|)V3s;kq3d+>$*$2VV=`GxCNVH0aC?$m=~67tOtQTBtHmXtxVhW z2WD@snwvP3SxA)t>Pp17hercV+hR4kIF_d~hPV;>=_`JCq+Ua?FHm^XHUkx9XsPvWTjz}8_wl5r;3U+d zZCZ|!jW#K~@U=7m4#P$OCRP#R0an})7VKo$N;`=1qrN{18dKEtSS!qjljog5VNYgN zOmrl9zZ8p)j(t;6K|c7WV2(&##eL<#XiJV z$q@vlrc61Y6v})-WL`e6P0Q_zh!vVQ4_ri5XC@dyx=9!q06IQAt_Nq9!2p^X5W;@; zHEgcWa-c$zHGb@#-}k#dWM|GzP(0dF!cf+i}bNM`YaES22uNwMw>a8Lm$nl(3&+n4Ut zQYt&3?3JzK6DjD9RMTKmy_ya7;j}WRJRno%pLFHO_Q5*IKHrb<4b2<*5j zyF-!l2lf(Fa!=V{r}o$JiH?^h0~N~@TD?vFjmQUGO*d-C((1LYW{LC@LpLjg% za*gjTWUnLmy7TJ0M_h;NxV+>cUE_6Dg%LDHhPW*_GUCVAnWvJ54}}&23dS~p>9=2` z?zcvGHERiBO`Lpo1hOwpK7ukbPqVo$bvVn@Q1}}gPDTWLY8CtxPA&0;OWA_+>Er-H zBB-4iv!N$A4f52utC9KgGuup~Q02jMDHdWnQZ2QC z7aYA6d(6tZeU&E?wjSP3DA3m~X;5P00`j#PjVu}|o{*YN;j#9Zy zk%OCpD7miJwku_kN{M2!k~yJ<*DH>p;?kW*3Sw~)(r+b2%nJ@jhc>-&1=c2sertcw zt7lKFt^>FESoJ8DP`~Ob6TOiEomi1IhB3;QGmOauHp2}YjX?+&#r)#6rmnhI(F!+c z%zr{83eM}kl1Ja0jz*X~yqeYppFt6aQ7(g;1$)6JjoS!-P`Hz=)$fDhjv#x&9)PdB zkLx%;MnE7ZV7cjjB;9Q&BODO!45`o2uXaJ%uJ2E0v3sU~7;0E?Tq=}-y1eso0X;iJ zth91>7|LOI`a;A#Yx;=zd3p$*cOw@`QN1Th$MB29){Ev3fEMab!P=+S1uZROaS?tx z@GG36%j?#Vgj7FIFsWjeKO9fm4$-~oKy1pLwPmK2u+Xj>dpvDA zDbU%_ZsQktOh)wDPcJaH{IK%?wPY8G7FzUFI=a_YVxY1Unn&wlEFRqtI*2QFJ*XK? zDVS&mR4CA3QbI+v)EaM&uxnQ4mhtqeSYa6?=3!{E&rw?8#e%lJDh-GLh`#tu<-$33K`^*Nzn2>(TKYI?DY7T`l%lY*m*S4WVR!H z?3Wy#3>&xOiB2A4ghl}e4@^a{!6sl{fsnspz6AGgIB6mXTnQjp7`r8F5 zPxQ660dT+Xj5*r3Fd9WO`SfC-W{R#~I^-|6FabPN{5{XyKiA5K2++VibVj>{Jjx#S zllmZ;i{eb;W5152MY@x*g4xXxpO*|wAV#$90Ct-xjhh=WFNyjADoW5#uBTwul~%Q= zJ93+s+O^m1y!Wk+B+Bhza}c_WCvBoe(aBVBx>N|=gsAr_IE!I=!Ed0NmXS5?B}SpZ zn=Wp&7}Xz=R6UT=HP<0U(|+VFRYlNGh4b|eAeQLzwouV6UtL=yPWeY{IstAb*}wjt zew{?O<$JT~ZU!cYqR3%l#d2FaOitH)|F7x=A43y3w?DL#=5|J%eG`_eEPraB790L} z@15052!Wo{_~H9X+y7Slyo{er+my99+|%JSebFZl&iO@f`L znBLG&ZLU^VwJ;$VeMm*P-8BT_kYY`;-$mv}pdfu4EB<&6I@||!=c-U-vdFhH?=UZl zb)gc>VIv|4wxwwjr~`-U<896FDQR0V#|7?&dO3EbZP~IxWuPg&w*<*1LsBFYZGJ+<#r(|k|^FRs{iZLd`Un* z!T4;Cm+y5>jnTyNOSZ$hbJNEAZ-1Bm_z-Bxn^vjOF41@v_i|cMsr{5nw4Twv#rt`h zRN?J#`vm!xBG{ z^-OEcwY5yqwvegefMTCi6KKi|XU*0Va(= z`ok;&s9m*NK9EYnB854B>fOVu(<7FYhG3pH@=NXB0il+;XVMZ2a>R3541i6t8E}qI z(!QW{|JRc`Jb?@{O&Oe&q)b{Y>;oOF-9iESr|F5zfIq~CeHexuEP0#ct4(g!VT1KD|>?>jDgNwx}>%rLrqE}(Q*QfnE%Z<$?rrtU5PiWn=9?gdF~BEmtpYLcNk z_@)Afkz{(EXC|q$(VOg3$SYRsDGCdcMvE9g-i}`aM^NHayk-v+0hoY;jHUTf;nYma zkS1wn>|AU8@A9dZ0!&oj^9D!=BG!EP{16s)L-^(G@N$s6rL9XTCP21?5T;$(1EfYi zKH%<~m)Ha!-hd+o`Uvje5`(ku`_h*lmYEuqwsU5&?p4?tikU>^c1&srL*Td=h2H1A zICR0}s)s0Gqc8#i3jJSg0V3J!hO1F7hy5;|6J&ql6K*}i!Cq=Nuba&C3RsD9k3 zjYtor&|{+OielBApwH?J2MoQRj|;=z?ob?m-%iZ3;3)*v-9aP7``)d^tSWDGMai*j)lj;yVm>e_~e96W8RY2LW-01#laxRvI`nVqY1#hnxcEAAD@~$6f=OOATTne*y%J>w^Q^I8`*{B1V&O}-{$5{sX@}^AJ)7Qo}n@s z`el(@maxUz)n=h;%_A+znl5yQ0<_IaWH%Z2Y`5QAgH>#)Qcdqt|9c{?1rW&fA{ zor}!#^ufLb!i|a$R^Un&ELZ|Gse03!aqXoo@B1|Cu^R7NHU&CEfDn)X%0?E--Dce< zPX>fc^aNbaNqM2q4}ZIS<5IX)T`*Q>EQYv3YD%9er}sNGVNj4t=-({zHDPYhTXA+G zteE-6b5hdnDO{MB5LS?ebTf19p1W!lP_&YDSp-BB+89$@jtEylg6conVerRU0~zApFJ zlbeTRGqixBOT)ita06YV<-oUAN^T5+#|vdeG)bE@NsdyKh6s^0uJ86jB+?m~V$aKW z4mQ;k)mGYGyHYH6u(?C~TN#^{KO<9$PWUJ-6PuDVojD@XKYJ0_iQno&=^!n8IzP$rFW461K9Nd&tDCzc?N?RwSo8$33vw|EuUDMxl`^HbMGn0RvDE zyT%fu%QaJR;X{cof@G3%Xqk13DQkljdW_t(7+D&-Y@QeRVQo6DfHtGzq3GNjDgh%(NK{W}hSIwng;p3C|t z`S9^KBJTg+%8ml2{57ccHJPZ|{0|#{6O#G}m3%NET5aq{yEnh@?{Amjpo|!*MeYj(f17>- zf`cXo2QUnk_P{FoGA@E>0}y>2t;EfQ6qYtx8E% zj585&bB_BUB@~Ef$dPeT1ZwiB>>7F2X~|uwd%TI6N^gQ7;ZUu_*WC=`JdCo>6t*VZ zzUV-7YT(?TPA9C-y#iI~b-N9)(8-)su%C?Zw+VW1lK|Sco>?4^(3?ghCGA0Z$w04!l{avn`9(XaKeD1po}pw(9O z3-p0qIe#3g+GbrWY15 zIhkImsvFH04=^Mg{Q`=MnvRFw)^Fye)jFMG3}Wwj#bjUw5iv_S$o3l5=M=?9`j#1Y zHWlH-h?>NY#W8HRQM_=y4@$((xwHjgi(CQRqZ}9l-e5w(`@Bj8D ze!%7LI+qXAE_JKDtWhHiuLQCsY02j}VqR#jKxs)|O(N;;dWoMWq?YMZhWs#3P`E9JSuN`-pvCyt}ZvK z!j2i6Q{V$YtYJ}ZgxZ?8gFgW}@iL5qZJAK5t%-w0KWli367F~|Fn`OLX$bwhaOa$K zXGysz^-h6ldW)RN#iuYh6lFOsoTPqA<(kwM}uC8Qt&}+tj zL)*E>2>n*=|6diGRCdpP;9|{i;#8uv)CCmHFaCoFc&^RmaVRBUmew3<8PX4UXDP5d zrUaQsIDtMWgVpFTEt`jhxLl(;MqL%*bqFJ*e*AIJ|z|`^XPQ9?LT7(Me6*pyZN_^ zMTm*eO3}*NIpSZnlBmh3%30d+hxj|($}>>fWSG`1OL}8yf{T)D59}!UYm4`)gy=AY zgw!77BH*5@)Bv!=j~fSa+Ua7eQbcSghfMVMat0b%8wVAps;DDstU`pVcp*rh-~{t3 ze@B(_=t7MkP-H#SaAaphA{2QNgX>zv4}|C_f_zxz+=bUDRuT)8rlwyd+^7kND>dw( zKf5@7y|b{Pr%S5Yz9`aIn_(D`A^)fREDH;{F&K!KoxI+NI(vVs-2eG=r?Zk4M_KX? zP5G#A$y=rA250Z9@IRPrNU_B4xlZ3poUk^W+dh8Vu(II(%OiW3sT6|V3ywV0eH~cu zE*j7X3!Nr9*NoIQTABs|A^3{a=*)C5<)#iK5(_x@jkcd5eX;CdpgIRRA_6zU#*`zv zRMg(TlS6^E7(YcOs>D)sa=9F=coAtO@^9hAz-?Xh5G@f3GvlMOGaCOI;dqA6I5u%) zUxeK4IYs6~eMc{q$A2UFbVy`~``@8nQ-A2|*p!y>We|gW2*7fB>n;Ik<~#H!UJ;uV zf_cQ^K;4DN6*?!oHy(+wpc$&^(VUn16^lBxVrU!%Ta|23fCnx=pJACAoH`%4EnD#VNl(Jxz#DEDGOBK z#DhxK`6DHKXu$YTtzSJ&g7J^OZ;TaTBFR6)^-`$Uh3Y)wl^QBg_TTDah5~3~QONJPWhl}fX#jpyFhMDCquj`i+K+Q{$ZdvpT6cH2 z$G?e0EXL&1Mz*C+PNXOuiF-<4SLD640kerr369xviz5Gz7PCik%Emctm6+m`Vya4n zC=cwBOb)uKkJ+RVyUUMNRKUPk(v2YoU$~ya`FgUXxMVLsSt0yu=6+$E$dY7KX;?mr z0ob+elr>oX~RzBF;4mZc3Ju1iX?(j)TwOn=<@{?bWQg3Di zLhlWi(v!~(fcTF)8w~jv{)Mg0c5gSF(@B?#KA?V?&9Jq?9V^3;$efybW8oY6{5_fo z&DY(G;oQsfK455|wepVRj{qTmg;O z5{V$sgFk$*Uo_kS*qHn~VGd#3_aR1Q5+94r#Tssp(SXbfNcC(-DS2zG282!6*qPrj z)9)fk>t{uzX!6RxxG}jB#93bY^IvvJuI8}w3fqq17jSH1-v+_v)OUt{3(PlQ*$e~- z;M?5{p&9wTVnIp$qbnt!Yam5aMz&&|FSYu}o;5xZ9?B*5MBiEosX=kH>cN80Ev((Q z%&|QT38^0|#qV+9V%5Y(y>#S-Dx{b;<(%Wu;b^*6Y2mjO#?1Oh(zHaxh_E?hJ4by0 zR0PNxI#rukkY-oMYe$wc)2Ku7%&aYcDdNum`FxObQ+PnoTA3%{}sw7kF+{3_dNf0CrG{#K`Cx- zctd5<#XBrM4%vL8?e!(}aJs|Y>(h$@HCLIuDu3V=*E%J_nsTn^I4}&Y$0M_-%&(1u z@|zn@0fv#gi9^V+4A*3ebN`Yj)eOdE5`8Une{Gjb41`g-muYOex7^mwE49sS02wM1 z-N5#80)pmg(%&iXAx%CSJOR>2q_0!u8(<9V0e9+hD|qLSh(BcsIQSX)p}R&H#7JJL z&DN;I6p@|D+g07?P+aiup5D-abL(StdZIJOB7r$&&f9tetR+p0PrR5OAOjm~qfcX}( zB)lvdW9T5NT4q)B)4cNp7#&qukDfX8=G24v?6Qz?F=>QHvBjWFJ~RMfDF3NqApAsV zDm(YM*V zGiH`I>aSO5Sa&*Iy=H5--YvSt_uq`t@?H(DC(y+ljs9JxeYOO(r=>pMtx20AW!TG3 zL6$A6dTR|41)yL+5;es=q%6p`L63&a81>|5o9ht84}wq`*GHOoy&=wm#1!uL@l2nq z*hn?WJX502A9eFSMN0}+k_SOE^)@LVw{9i@yJVI{vQj_|VfUcu;?7$R-9qKA2Sb7! z{OhEo$3O-OPiH+gZR>b4P*_wiZ%qRc2j0g$OsPxoxs-4c!wM}uSdO?Vib%?rhYZYj z+DfZ{v zsPXZe7ON#Cn*NAu*XcCw9x6;@*BzIU`Z#79W#!6)?Y4DJ4*kjEJ>Fd5uX~?#kNM5( zFa(*acWj9pSxHlAxQMb0%xl&IwK2hT|IL?DiPojsbd4gLXSa?kS4L z`=V3@R%^&Wy5CxcGU=m%L4`4-;~6k9Bu_o+>K2zmZEr1>xMi8F1TNl6Ua^V)-g`$> zPSB{F@Abinn#zw9@e{3!7^c59R&6tWf*H>6M!}5bbavSZe7DRPP)A5n4+LkJxbtLF zzhJC-*ZY7kdFWF3Hr@cCBSOch^T9*J7kmYX4OT^w1LhdM(YD~ATV{H319E;X zaAILJv?ey&TJM1~h6R}LsUXu19jJP*mFc7l*&O-`MnUw^d&=Qt$MNb?D2H1oE(twP zb(}aJ%e|#ql=LuGDjqE{n?J5irln?6!@_1-&c;G_k0#8SGR-BD9;ZJiGbVV>|7z&2 z#$lcvK!bvB|7$R^cZ{b2YVb$!=3-(9^ZFV(R9mfa)G0sy-^s$0JZJt!fv&GrUn(!i zex5(I!<6jAuSa?0cd;&B)X8P)F~0;O{IQkbJK}HP>9D-t6#R_L%Q;p4Qw*fTBZq7% z(Tz5vdzx$(0GUTB01!18NqyOl2RbwwS)=-z*Y&Rsz&cA={F1>l?1GQ?%fn!}mB496 zu>i@kxaI^TyLbo>!098FE z-;8>S@;k#%L0;?QwCq9|<6S8yJmD&B#MpKAtC7;wlLw7;ghLWsGO@=|fJ;aLFtEQIC!jso#zQ0IH9fgHx)Awg z9nSqOIb?uvuiq8O5S9=L(g2iITkt!3#?*LHsbSAa?_trg$gLd(o;)6 zBy-#%9$HvcNBKXj1Sqs8*UmwVjVPEHn=H$!OJmtfYJz-&xmJ#ckP|Zgrq+3mYlqz5@5X=VPsE#ViX=j0bPeO zGmCBsRJVNzvFvz(fsPYe&JuY*nN!2l_{fzdd{_qcnTVhk-aS-s z`uz;#^N}`eOCXw&8US}9lN>)c0Y--<|a8 zoLHs3$w34OwGNWXl8AnQF1jd`t|ezk0I4zcKNirh5{N5TtM+S2@Q^C6MyArZ${t>e z3yEf?_l8M0o=8gn&LD8ZU+(#}#|$l>axtoG_r{Uje~NY?*Xa&=cuf1r+WL7ZPRjT2 zzN=sQB+QXd%B;PnMlE2fQ*9+`WHw&{=7v1Y&D66Zh0_*)St1@E6wg*`KYfqNtd1Bq z8Jw}UqnT>eUX_|>L+5x4iMpG(ah=%wg-JQVKHy9POxuw_WJ2Jzwyv(AQSK4x)By6s z4L=z@Q*@B_a`1Al^X`D-kb(gH|DyZA0WAlF1jp0m(@l$5*TmDyMEX=d+$BX5vI13a zrF)5f9KXXPCGEV|7Flf~v1uV=V#KeXy2}gHB90X|CfFG793`3x8h{`*_a=MWb7d`- ztD!5RK;ieDOn7)&*uZRINo**q?Rd&Z*jp9RbB>LseG~CW9JqO-hjYL~2*$ZP*aqDt zCtWbMijW~3_c);r7?j(BSUOC;R~!#?Vkq(_;VQ|b&toE|oxWOf&|9j7(^P;u9pH;W zG}SsR-bn$+d9p8$?C@)Fttme^?De=9R$&Qns{VcGy|^sU5t0 z!0X=5j95YcG0P6Ij4;W5QZfdrzY?YlOWw`;_HFg&j@-|Pcfq&eCOkg=%zcg|&X|mK z`Q#T5`01dTxx;G!iUlex@}<28zbwBM91p{7@K9EuoKWZ9;6N6zSDrv?r7V@J=zN{K z*&#A0tg2G)6MXz^qA7(?<({hvaCoJ#GVlM}qc2->@KFGofc01T$DPpUXH-nxmh`m_ zoTVhZsiHI#i=$E)<^iKyj(7 z3BKuU5)AT&SyZST5)Xii7_e@@y%jE{qB$Vh7fgtSz9A!XG>V`fK;;nmiG|VS#ETg{ z>dy{x)}E9Z{TqMI6#rm3)-_$HkH(Lkr!7#>c(Z!LQj_PDo^(I?sl-DYRRmNzpISG+ zD4uafU4u?z*kzP$mk?=HjB$-8&Vpt)N0WbwJ0`xJ(*x^bQkzzjHJ`gf*9i`3{yl%5 zTa!y@-O2cVxAKi8*}r9HySBncLIGwV*Ztn)e-*iX*9m8i&M>xz|73f2o1Mx&j<5gEE9{AwFrTJR~F5u{R5V| zeM`NDU6ZOBPaJj5d|6G9pQxnAuaTCXS{WY@M1HwOXi~kMY&KDy0_E70gzm*rtrCk! z0&6=op5SHn>+1hRN$6`|K$&SQ;}cO-mTT8Na>jOB(TeujIYePatGo{Ix%hLop3S!`E$pFiUGfyJ!6TZCwR!!8 zcRy@ZtdH5xFx3k11c)>{w!c>yhWw0}D12=9zykvN3qSdC|NnWQFZ){E74^oPFD3Tb zR&ntFE$kUz-e8NJ&8=HoRR;LGf_#UUMc}`p1wnVxVFgOpe?~s1mbdDcQ1y+?E4Qlt zSX8xNh8h&g@vDTgPA(g!7A|9*&d~)-m$@wFypKBJWHcFP6^L>juz~inRAvc1>27uw zoUQB|bf?bq!&e@pJ&n_|dvm<>B}eY3u(nV`+Tp<1t8~zNpNh{(oL@A_t`}>1B1PUZ zyWcaU*Z)2s{EQ8&QEuEMAtW`#z#fUx^{Ps5O0w+B_>0lBD;xA>d`a=Yua@x`jwv1& zGpds$v@*R02x2gt5*dRjvKwR_M9;{?g;Un<{KZ!wgT9g66h*fN;z7-oUDG5_a z@U(!mf2mQ3SU`F#-5=s02>p}sIY&F4+!T6VOR=zzIo%1)C>9K~yLR-2!*L@zQp;85 zQ}LfC^od^OXZ-h#&6eE@6_xU6(BY06-QUN$++(MLxO=_wH%fctZjoexB_@}!@~?da z?)$t#i(X5#|J$n`{p5J84ngAid%>Xpq9>+C-rF}mIZB<0x9;F`H>{fO&Ang$WE-Q_ zclr1BTwYBHijr~2WP@Z2`(^p11F{2iQ)12nCrl#DFfnl2bf8hU_BfD+=5GP@c4AEf z#94coy%7M6x=t+wylfCRxO9Lr{H^>ALdyH++g%3tN%13o0b%VC&y~iCp~QJqTO{B0 z?EN|A#H?S^vLN2|!?n2bQb>3Aoy8IxMA7*1Xxnl2x;Qr*X~1Vs10$5A>rye#Ik4D< z<}QUn%Q}!Q4GsQM?80M_4r4M#^;=DM8532N2!?}Ql2^p|n4Dw)E-*}LH=)j+%iDRH zNjwF=c}exoesZq~VZl1WpK(lxeZDY`R@(l3;Cs0fII)yUA=a9HZUIUE*il6HpmgKkC z?QB!SnDSSK0RS5IXq*F{pyELv^*)>ADS-KSj9Ds6H*)RKGl7|rV6Jt!?|K5UMi>II z;{lroAAZ@yMb$4jL*R}jkGG#)S(idIn>G7ja{Vm1pe+@HCI&^FCN3M?+p>2DlC&b&?;RLTC#Y;ixfU^YWbcSo<-vgXf$>GZ6 zy_bd7oIKkc%*J`v&JClG^^^zjgq|{yhxGMZ{*!rW9WeaFT(N2r6|3HatssIf2a@@9 zR-Eb&s#}%FE{a^G%xuZ~m*&)PnDtOwKj+`F&SpN-2yO3FWgTmZqi2SP`!UwRXu5G` zkdrg6t$-IRlM+!@U-$60S%$0R_SLn5!=sSjo_)j^^kOvBYd6FijZuf-Tj*ojMZ@-Undi*h4` z*$w3L0AC6^NrN7;u5-OtA!<*bQuk$dl^#$`QI>+7(t5o><^Oz>70Wz4N4x^Et~PP5 zF|KAfB`XUHkz{T8k*gr|<_qs9tW=30sRzMtJa_;LbM22-%GdW`TI$;h&xqK%BiQE& z-8$6yaW*yBQUh@%hljDb{aiD)t;y`4^|?mz=1}t>3+dc(`lUyV8Cy}00|Ds@#EA^XxYw^jTWPk%hr!LCaE{DT@#!j^LmLq zW%uq@C(!Jp;Krx*zp7>V`TO05eY<0K;O+2Hu0{tkPFYI+ZS?bv13I)Pb3jfhBo{+g zlr_}t_@E!>P$41i9B=29t_tS8MZaGe^ScfeS9`c z4(ONEOCCUHH(OoE za=#>jAG8;=1gX6nl#UPsRWQCzd;5FAa(aHiPtUPm(JJey7-T8^!Pjx|HNpG404y|r zHEIF<=kt!KxqIWP#O^RZe;D}38INQ$-)f(-PsjeO<*d*`IvAiMME0S~ye(@3bMZ=s zqVJ7U+A7PPL2f?QYl7F(f^j;)Z8U_KlVhDx%Ih)Y< zedhN9S$RqSgsuMXd6FKiQa8p6Ng~Zt=}-y@sajWnPb1E~PY5fOV<8$pN`U5rHyGyL9+#W4Bgr;50)q&b zbH1Z$h)dhV`bxz6{*9YV?}{XX&fbWE`)Bt=9;0)xKU zrR$MHAU~|1W8aP7NrIeGAe6q7oTo+Y;loqIx!o}a*7_OA`$)Egq0Clb>mElfO+hfZ z$Exs&x=~`y2*6-LsOc(-0gQu(Gq#vbE8 zWns6u2c*RbkW9(bt>Xo&c$3-CyZF_=AA0R~{JuI;~kxwO@k4rlR@rIx>Y zb^NM`?t{-^_RS#WNAf4pEzCU_?;V?aap6-8d1ROlX}&l9xOAR-Sg3H}7QV06NaU6jerF*WB+)2%pUN-I>-FM;|cY#10M7@ zmKz(rI*C=`y?sKa?mzmzBEzK?clsip1el1>jw*|%wzKKr214u&R5vQ0eKLr5L*g^H zxmHEd1SANozHI4!Jd^t8c;+qj=!UDOJgh%(s~MR}Of<*+`}_NV1@&VhL5L}bk*Cx< zNTdTgQ*ZcCPyfq5W;9Q3>P=|)|jO|PnnTv z3!Bz}&$&huVk)7-1MwFJ#~5GFjA zSQ)^@OSkCw)M0Ga$9U}0YQn>nt}T5+yp9c(`@geacrj1dB`#~;dC&;RkF z6dteT?eE`wH=tyCb4ec-8nHQ5R8zD7;naCkdhwAh>~n5thUz0ZeoC| zg3FonXExu)^#3ROce_v+&XSR9bjR28vSJASt=2ncBg4#_t^L&27i3Kzv}OACgj1Ad zZAHjN{=~4^G#OYh;eQ4xdGz?eH$eFh3xr%Gp!`nT`+|W`Xqn&-HXU}q9?0H!m z+$S19yI9cu9)yQMGXIL5f5rUj$vRlM;GW@yX^B`CS1O1I{Sahz<}q!gc(S28RG8%9 z{*kh9#{Gkj_e$W6{uG0bjqLU|64$OFI5_ivM-9}Rys-ykZE4Op^1yP8>tCg4kE2ul~DFrp<0i#b2WY&<^HlD z-MNjaRo!G`b0B;4E(fbxgl$1Fg&KEpZ45V*c;w58u@JdfLNbG=7kZD0kMZdE)|;8$ zUwJWDw*e9ZfizlHrMYsP3=F1isGdERAx~zJ(z*rbJ=HPn4@+O)=MjP&SsOO3s`;rM z)T9~%V%A7E_$aUBu$X8vGdGk3P(l$|nnsiaTy%G=5;cYufu6mxXWm&!!3{7{avUfe z8+?&08wAcD?*j4=iFBixGRVbq^eY$hvPBjzqNXXS|7>sO04l z!}^==mER6igQk8@7Q`27YBjUn=q%rDjQFyp9l;-eb3gTI=RnnVZ@wO<`^o#Ez zC@rwibL|ik{QU0x8L%!SSZurC&X7tIH|)6~8bRhY_l_Rcr1dO|Z*+4lt;Lf5wRocz zTdAYn5Wbz51UR)MpF<Uv-y_P|^PE9c7n$j|p4_FwxzfMQ%a;_Vgc z>R+(hm*%bCM<)Ff`s(9x@4H~RcJ^ZZQkw3=v%?1WfC{c79swYreV6^G=1Y<*-mLMW zuN3MD4J=VTX4`*RvcPH>)a8pyQyw8E=YmchXz_SUFX$EzvoDF&4^y?gO@2^?kDuYsnEkUryjdW@)Zs1 z+*Ud^!?3l`eeDGrOMGQwT}fK%2^#*iGa46EMid8GG~){lM>nVa7yy^(PjZI>i1FAu z1D$9k+gMP=@JTT`Iw)C)vdT^xZ%2*&ODZjKetdvNox>J_Uz}|Lz~PY0Gt85lM^Ch* zwm<&!iBRuH+RMtm8=}M5_3bMKNlv+d zcNzsX;3Xm8=j)G6H5$EVqfAwXmGTn)vnhm(%fP%o1N(EEh#TYmU!0#I!`?6_#}NUa+y{}I~XNVXKke;>cyp{C3VE?B=q zPO}J9f9axd9GefX}CW4+zZO;$<_qwp#9gmVDiU_1g!>jBBoP^a#y45 z2*gl$w5b@l4Km-PAEJiKj#pKoI#ptK{Q7ZApQkJ^z#un}$K9>!^-`XD`D^#1&ToI3 z2fl|!AAONH(U%}d=SA}(-ZGNcC#}9^Prjr64p8eF$k=_!|G%{XvdCXmr#4^5{!*6X zId#*?On5fJy;AY%m8RLLm^+O17TRAA*fsF%P0_CavQHvI!J)bkxnYh zs9@U2S~NrVlGzk z&J%GNpMb5DiEQ|v%WG6z?)@HZ4R9VGWWHJ?xXBn6lRe$T>nkqWcNV0<5V|myVHUz%vYEK+0vi*4SaCfgh@*CxK^*gRY;Q(R}uI~x? z;7`fubyz_``mdJ{dA<=kj{^GR3a zX~fmG;Iu4$Zw30*UkMgj0rJxO;oBWD_(?t5@b6X0#<+IpcQ2uTDpu|viO8ny<_xe@ z07khWj|&{{A%_77Z1X;>Z4BXvh(^=HfOq(?uFp7QMFNa62!%3@G?=T7D>{z9CcPjo zMbH~t70nw@KGmeaVkd{GL|5hxDg2g)AAvuj3^*y}Cef`mg(*&v?V@A{Q1|0PVp&A> z0Lf#_aDojrfojAF3F#R4toT~P89glQtj;WzsMt&5B)Oq~X`9x+%qmR8up?ki&AtU8 z>ZD&#QlU_{7aid6v^XaFQDd$+jjk}nBI?bioHE&Q@>MKg-cgf-=Ttlp#~y>b~c z5-mSQW>IiYQh&y>O|Pd|Jx;i0u|w%maGUe5!4Gj{^*yV0h!4A7GTtu{d|_$N1G&6@ zk_o*M$JakQlx#^gADHXn1-H4dvY;#bNXvc>o8`j%CsBWCVZC@L46nIOD%?TxD~D*0 ziHtL&6)`D6O)nk|xdh;+I3R;5bdImyM#(wR*Dqpcgzod7uIufS>t`TVn{448rDtn5 z`}H;n|xqts4L3Au%)Sz`<~i+6)S z0WiWmW1V!m1733gmH>;7o6`4)mf)b4FDSAy8=q28EPSpy98A?+T(PPlaSy{kCeO;v#7yohEr5{&rML_~J`=Lx9 zJd*K@*8}-1ek(8LbYJo!VSgS3H<|n=iq(ZD2hcNU(A&VadCSr!_}Rzwyur>4Iq2cG zweaQgCchzcznM&;J(WIJ>cd)==n{j~;n`L+6i2|2T>dEzT)%H+agVlp=Q^-B4A`to z5%w!XV)z@{r2FyYjAxzOkQ}T9BBYQepOVKBiRR2a#6ZDm(}^r<&O8%dgI$^Ngh4Uf z*s4Cv@wlT{n$a#N$-{*F9Iq|&rB!ie!{3dKXNG8M_Vj-&> zb_!VN&qz?MS|X00NIZ+6iOU9*b3G<~i1AO~Y*QtE_LfT!nN`~J(0;jl>?&Ql$HXgM z-|Ol9=`x_O5Gj}O1&NPmH-1wQkMB;yWbw-+M18eOqkZLe4$ekfwjK|K;DdhF_WT+6 zFLmhS^7)kO3ANkR#gyHI8gA^HI}<9AlI>gX%{RVRB5ELoQZFcgqsk>KY=}lK$pDpb zhe(G}X$@XUDxS?-gc__&s?JqRL?_=#I;hx!w~v{MrPomYDl|RB*2F@aN#8L}gQ5QH z6ez{kxQ$#Fz`f%=i+35Kp&GXNva=`qA3-7{t7+w>XY|mNkCS8mQR->=fa;A|(U~CN z9x7gAazwH{wu@B(WINb!P(e^C#ddxfzX!qx84x5nepa~RX3==oOO04HuI1SCNCLx% z)&VP4H39rRq9pKt&5SR8uXdlPa+r`XB-F>SlI8a6onm4L)ez3tmef&U8-_KUN*;rC zpR!?@(8S?MDl(uLM^WI9hQ|`^BpPbG5Rxk^^IcREz~~Yi^K6iFEST`+)>674nsaH8 zyDj6(HBjcY^Hp&vk3&>rUWa@+cxz6>8#oesPj@ktv+0Mj9n3SyDs`%j1%yOpl z4`JR!L!@91gw~}O=kN{0Ub{D3=}#ry`#YdpO&Be5NR+CTZUwx4LzyUv#Zyz+1Pk4T z^eD*^b(F|LgH*;BecpS?xMLyS1B?C4$FcIinQRPDgkbwHCBXQMN1qUmr!3$%Kf9(9 zF23+be2p{BX`}n?`s@Q&zH%<>Z|M%x3%I`vA2|C*gni5D8c|H;&ak>8f{N@Ym(f<} z>#gwuZM1}`qtSqBdBkp}gmJOPxolfYP;7IoE-KA}Eo=?15sZ@2OCIwx5i(%v$Vs9W zCAS+cDm|h>S!of=SL+RFXV&7$91m~+lSjo<;oJ3xR-L6>h#KK$)%HLrOU^1)sz$VJS-h=_lWjwnpY=h^PvV=QJ z->P9I7yywrsy^wxMM4M8Vgru-;wr`xY zyo+aMImFBec?NaPwy;>=cn3eQ^HAWYSIxsAr;CcywAQ-y8S3d1N(I3{HTd!Q34pEw zXA2|~l(YdFK`h_#aFHjKq)p+WpEygjOfbe~J43$`$J~u z;%xR;v%(!&<|b1(h2tL`a^U5c&CGQv_`iS8MQ_#a_cqt0$XUkO3LaUKz@;uqSY@S# zw;ZvJQFmdSAPXJSwPA(=Wo!uj{L2JozyH_IKVD|LI~irJuZYh1yP{q?g_r#Ym?l1I zT&5J$=W?(@BMu0rMxB58@qUQnW@k)M%6(_r{_gs7+N+k@a8SW?zi!#5yN`7(3dPrd zjuJW<0i8E@?a~!C>B}GNj}4NvuV+=iU)P+D-0Xt@D`%T|3fii)YDKB9Zu|&6*cE=G zzu7@@!4c)7#o%0cyul+0r*Z_qkz zY7ghgmK-f0)>$^(Fv6Mh)r5RAZ{vAKBL?d#idfn+jI2HjNq)x@kP2v>eO;=6aTHXG zOR>t1!K^XEoo=9rb=ni5HO69xl@fIy~-BbQWt z^+8qkE>Bf4YDw5x2a@VZ>1j$Tfg8FpO`KV8j(1P28LsZsP7yKDC1m5eWDrs?T-vg~ zCLvkVI)W4@5HQ#}F8YoS>($;`c}Mu?Kuw%Qnvieue{Z3k+GDMsFY@Rvf!gr>d6H68 zd+tU_+%IZ|J=(1*`(+Y3kui@NKHlkV>q1x@5^Jv%^ni-@idTFfoKtzjmE3+^%RCVj&>#i*L-$;}gFHOuF|g>7JPx9e}E8Lu+=kp`N#={(@)+)?wcbPFtBBLmqBDCK=Fu#boUei*Vw0K)QLsuEB|wt z6FketYq$Z>ysOT7_^Xudb}dD*x;C7OcDA4Mspsf3&y9@7e|w$X7%QYfoy7DNA))?f z`5S8~oiV;w@4mb-pk(~^=0tNl?IJEZOzG>*2HS`TN=0N*5r|5bBu`|S)KHwsi&`SB zcx0(8^@|_dQaP{0%@oR&6LO&Y6HZJtIMK-I#bQ9V;}_4tuRJJT1ppuc+G@(CwCrSG zH)sn1qy(j{2&XE+bQDXx`S!ST6dUExP&8e;{+EH&K&?)CTrn%zq%BHuJ!ioNV=~07 zR$8yVIaKM`PfQEOd(ewV$WjWg8A0yM(t+)h;z>t!D>2N}1LRROYuuFmnOmBk(}#NI z056S*H7YQ@9so|x3Z}AN7n+zu!H4vy;)h)Zxfy>cqubtSXYWig11(=#Gipvk1)Ml4 zyUnR9^Itwau^ko+05J_pbewJQzpL;o*cL_j<#tsj<6o2Ej>{$e8 z<6`jE-1oNZEbmrGS?IOct;9zYt=%vDst-n2Xf8N9C!6uHXz zf8fP-JlR?~r)g7n?m&EldcOt`)j>jE{+R5JBJB;QVHc-Xn#tth@*Y#go{eV_Zl|;X zh>#s(3^)QRKKc{4wOEw8K!#h>;|_w)k_x&!5J%S(H9lPLc9*0h{9Eqs@gP!k4#R^m zEJKj?lsEeAIR=`a1u*(qpOsfD{f`Hv(bQNlzA6*t(k-6_jKwg*$%6UNr zqd;1>T#hskxh0j3%f7$SXIR2f31PPCWl+0ig`w$uZH_){| z*Q8t{rwNhMrHI@*0iwO3wIO_^{727!n`oL;AURDD{Uf876NzXMJ>m#GBkc$Fc;Go* z%v#F4U-7J`)I^e^DNGg(zFSt-I~u?X5|I9+JJJ@Lx9>0c`DM5=f&d^RV+TmC8lDza z*7+Dh1=^hSTPB@^17KSDZvl9R*q9KWo-StqJ`^TtMyPS$}SR5%97N zG7-&1T_RQ$ln`zDLX8-%MsLnQsX_5a&~pu}-u6_l-d2@WBM0^)*87aIKt|&i>XFQl zOW25-d{)LM*yrx^VtmeLKtbvbSm`Ujvfwuy%Y-{vjkJWSX_c@~Pf8j^KI^c)mv$%& zcZ9d4DBt#L$*)bMzc);G9f^zRO}mwrk^T2W8x$pW);4B$xAO5@^pB?BOFg{2Z_3fI zag;Ckt*6fhK8wFP2xC5pv?s!JZ?fDqXa_rge%(&T{d>QhRf5a=g(JY|2`%FNV10GP zSr#Ie5@fhwBOfYWp#h-DJd02ROj8L1@s`+$TXpG(kOXupB$ldt;Fr95EceQKhdj;X z{+|Fgqm+ZBs(VNX0)&*kQrn<19XNK7#RxAC{}e4eR%>6}esR~bj461=Z_51Y#2YI+ z*lXl7q~TOI-lJ$vXOMVT1sQi@fl6l5-o*USF&pBcUloK8?e#G<4~CV{Sz zhl`r>-8ck0k`TLvky$~u4@(cS<+@#GtBAsfz$WVfczgB%!*F!>u-Wy+`&Ad!UBBV8 zKO(vwWb-J4|3Z=V>#Y^EZPomRs;1^v)@LoPgoiZTLgtO74&_-H1k@heE{6T&H#2gK zDwH7FRu4Rw(L6Y{Jys*>Nz}t5j<$({yk2)C6)6Pm3h*NPm%$cua<%)t_tTNtPN4)& zoFUA^@%pB0KKq4d%kNLDyIoX7XOE>D4Dlg1Nf-0?!5&u_l^~XKD)1{g=~9_t^6C7K zTyEW^Myt&}|4-Y2N|gZeH9)tYOfq-E5L+XV?V?xbr4{L~us7~7C3fD8gB*hP$EM+z zME!)i>rB9p(x<%2+vI*~D8izV5bFQJ{3+*X!L<&@5K|Jyco#YfI=n!L15 zJ8@UCl>8A5!OyhRI<>u`xkIy9(uUYDQjj!4C0vrkN0jtpKpA%TWSZVe{K-+T z=}=N|R?-&L`U?|wvYfEmyEWuT99~~P@QNlePgbvV5V9j`f1WjoiN^=_sDMmT%eSnO z`jW?A4Q>vo&DZZgtapBG8Q`J8QDmktRZQ{hBDWJKi^P*O_qd^$hIPyE;eb7H!Zgu?n zZc_n}{N7j%fjoAiBtl;(NawSHa>Tw&SQ|aAPNQMj#-Nwir|ReS1pfRXpq2ezq3E(0 zLan7Nf|oj3N<~S?-FBekk$851Gjpj-xo7ideV66UQ!8CoWmcIoMj1H`+1-MQ-es%2 z!UKb>dzhoVGoAj!KiL7WQ% zWMLqt5#A!V!rea(1_ieZI`Z7Jhq%79X^Wq?ha?lYi@pNDka&R@7{H3})s752PrHu} zU$9$8k-@ll0z01QaOMkR9bh&nATsukv*DI{4N2L2+wNkpIgv82w`pNpFf>hww$i8G zDhc1fJQ#6l7{B4aZ-FryuY7*BxQb)A{_EmbxQ@C${OP%>E(HH~w{-c!@O>5#a+LJE z`f$6l#pnB3Ci)QX)b?Ylnp8sAFEG2B(y!P$I~k3Wgt|`#2KeE1F7X+s?BG@8!vTU< zC<9eItigLI)k@77a#$F`6xo)Xx0tdgY3k@{WOFb}v>|{bXL=5n`m#+jzbrK% zBSKDSw<6n1D*Y&OYq&Uv1Zw=*i16oUCAWaSUQKUW+>l=`oBJfCd4Eo8f5le3y|o^5 zomQQmxPuG0s95kUhnbJ+{kQT7gWvKR`6Ro}I{nq`wX=*;8}0OSgX}7WWLu~8PS~>Z zlZ+11k2t3|A7;MSU601p)DY2Q+vdl=95j0k^U2@aDttEyb%3G#zAUzXQx= z8X9@PX)vJ;E_QxBPvfo0vf&FhV9lNm*Qf3K`Sd6NS1e|)_{Ws#bIjd1=hLax?7YXb z$SIe8x&p(SaK;$_|Bv}9e9ZEn)x7UlBu8UkHM-T>QeY-dpZ0QKCQr6meKhk$Zzt&H z8U(q`k8lk<^#pgVa;QwD3DKtQ{MMLc1%m)_cVOUNRbRU{!pBBsN5MkX9|*!OVF*BC z{KpW8;~S6o!hgeIeoD}nC_%~P9oNP>9m3imtno8~IEkR=?m)ei72fj~Y6-J@zeZI+ z1^^^>#4&6sPL5}n{v=ek0Z%BBP!P(4`0ge$4EVJm6CIVJd4Pw<#w7#*&-j*R}Z-xA}w6%?OA zJz_@PfQw*0Y$AV=yD2{}gQ6*Z{VSG;U_UYu!}_T8n>gSB2o=S-fkzaz7z*s+^!~Ma zJAxD9{41NCFAnI$J@b2ZPZ0V0&>j!jHSR~a!Kr9j?Lt#@aASGY94t)e$T{k$0>}3{ zkPUY(!I_HhM|CL6*lx%5y;=<)R>FiU{-9Rpm^?!~5zp0Xc(vsOnEb{hVs;(rb zs3^`+qBW^jfdz0pzc?+C-xCNfbKf(jH|y*$nzx@sdhz9vK@ zGsM%?a*~PY;W$m9>^w0J)?A_r-IkIA$h_zQy{}ASli9~~tH(|qF1Fo4jeKby&xA@S zwn^6a^(h%~9onnVAA80t#!}4Cf;Jm$phnJxYVZGkRlwpAXPL~2h7zRERoWdBES?=B zB8Z>;uf{iQ^X_abv@bSN{tI7KC|`)?hk19%9>O>zrRg(n5E?Mw@i zAXZslD3HN32*LGH>-XqD)q00OmTcE(U{YMtFbTGz8Ji!(h>$5c7bx9hczi5GT(4zX zvn)?zi>Gy!j*h1y({II}ZB>UP-X|r=XFzDA4=$?(JBpV~kf+S%;O+q>sidFxwx0cs zV%)gk)`;}=Nwu zFLB@E2FELDQZbBwpew{{SU;;7V*NX7!GgkpN?d%A1lZW={2F^Hv{hYG-bgru1#OB!`3q|~s-UIGWx_@8r z)x=tQb(AlCinN^zLp_gC7=p`r*(i)5mk0OeOk>`wJwc~6E#)s;++;g0%C6h_xvmk4sHxH)Xu7>*yK)p^U=*N-#>*-nFiSt$ zO8SW@Q!ZiivNKrfaX`i?UOmMq-;Pu94?xogxj$8JRxX5IjpMttaqu)CK>G*!Zd>1( z2a*)I$&JBOd4vuTzhJ8*%y`f1bMA z&hwZTd5-?pYFjQQFyfMl;(bnon^!nP2L$Ylc_BiAeu`-#ksq}k-4QVbSaA3|1;}r! zA(Xg}??yBF2Fil|)!DE28T%zZ1kHuLjHB-FLNoegnLuAVCz3d^e6qA?+^vk94a6Ee zp>48Jr$}M0LaEG0mIa%Z%5bOJPz3lRxK)V(bGkY$-to`-iEM)cR{8X^7E$9-5Ks&- zX{7ma4K83D$mvHP&hrLA#D?<~+}`qtAnreX`8KPit*eP>wOeBLn;)5rT647oq~5Dk)SF+EFbv6WWH**Tmh2rFoJKdx>4*s#! zWZn6)sVU>Xfjg&a?R@Vw$}E}0?>y|;vyxA1#OOMCiRQp-NaIS)*BlK~jSr=gM>}I% zJ%%dTlb!9F+hN8|&Nf%0oZRw~oI*Rz48IcS?2uf?Q~r()Mo&6Iep*irUwiRTI%wJ&B3zhAX%k-C|0AIX2Y z^6nZfiSD>)>6-^Kp?|zl`!mG5NCYns`9?YL>x$(l^`Sf^H*dg*Ej&KtCz3=yKAN71 zfKn2X>hC}Jw=GgtJFW130+re{$nHSditLY{Pv(ZO7q;bDP?{EUQM*k}$_yaZ@9mFs zDW7-jR?b z_=KcoLt`ae$pVpbhX_DXnkElR`qM*-x1!Vht2=rtu-uNcF=XX(jgUbH?;DwkMzLmT z{GhSGfxA^iiAf4komrGfW2z4%!0l=WgSw~mw5T*tEFMY(R z-Hl|yh*M@rVBExt9M(N~SPqCFOLF5H<6i^WqQNVW;)K?F9e8w)zxni>8J<|T8sk%; zQ+h3~D%_H18`_qVXM=z#Yns&ih5I^tVj=soZ0kfJizcQZp)kfL+lmR;F_9a!!B0v9 zWgM5oDwM~2y4Yn*%cT;0ROT3BAQlp9<}z1g@&0^Y_|T)A9?r#si%!w35gzNeS0c^! zAKI*9-{@{Of61=2D`d54-DVpO-<|IGes(tT_|wPAm4M@yN%Qae@<969Y?sk*!+&+< z{jgZ9YE6zJwO6m}(+z)lJi&k}1tY8M&B{-LPS&gFlKwqv`xyPV>P>*qudt)@qo~Cv zcFtp&+*^~>)07)(u3*~mnvi}Kt9y0B2_W;>J4|Sm6o5y!$FUjTz=?nJbWw4W4Uf`Upvf%!?Jf05Ov0uLEn8KdSiy@^zSWT5Zy^kcFtBHlX4ZBCdiwK9sm9V_ zrSX;@Q$K$Fw9{YhR_%)!K#L2axm(Wre>9!-Ki&WT|BrKyJ~+BLM>EZI9Njex)7@=4 zj_&Sm6Jr>LVY;SkjG1P` zK&(%--0Gfq&fvvm(F1d6O$vX`gld-d>+$X(OA2&A{IF<@#lm==8gHhHa{K<39aQvT z`sPqM@plIJ&a&Rq?`@?`;1F+GrxB6u=XB+MGP=RyGSem8S20s{u-S7TLzf*abRelKOqYVtWpF82g{C*X-NZpr# zQIxy+_}gdl_qt}2xqg_}eUZ;M>pBMAcfD#;%iAWr;3_Y(5;jn_5f z*8klbT$bXB>)~o7dh9qJX?$e(l2=6x45)1rx{ECuC68YLCgo$n>1`{FqD0UJU|2A? z5WPq)nga!}EC_DqGi6RhQ7Ch&!n(DG*s5~n5LBLkXl0Hx+A0+HkyNFrDk z)3`*iO*Lw;*;5>4$*N-}Tdj80>De2*M6=0e4>Z$&_*p zwN%T8fONrqrjNSIZYM$deDL+7VK=%1G$l;o)qb>)W~}=bV$oj-O4w~H#j_k5Fk}Rg z-q*Ttf{3wFq)ZwXpSEhfdnsqSZ+4^**2e_iMa^#<)blz8^~P-0+J2C=oa6KbIjEAq z+B}qkdw{Lrs!LpmwWZ9&&39g#9D(g}>2TQoqf>z1;3A5b{(;r^j6v2AL&gGU49gqp zg7#j0N;wp4alb*bf_3BduBZtat;d^rYi2^Jg1}ZaXsM$KrXWFB;AV}|x4On1+YRxz zwxCpg=`>&x4n@)=QB~wiC=QVk4-I4Z=yJcjAT57?)#sGg(L#>Gy2TG-Ao0Es9wCrQ zBMyaUqkIav23hnL*ZH0lk4m$G%IZR#yNG^<^*0R-2o}*q{BVrl872>EH#rhM;A}X_ z=Z|XjSp8C_DI^nC@X_1QBuBCT;1}MmdIOAl9p&2K2e_u+j{?)ozf1g_^jV>8KZ9}q zs~o^JxK`+_9W3GpoKkfPI;Gx>(Q|3u`!-&-e=jFRhkY#hR`qSjbQVk+e4C`{_M=7X z=XUX&1P3*>Mukmef&|Ia>PfFv+ULY86A-FHnLc*zE~@g53G-2Icc`Ro-1E@Y{~OOiC_vt zDXwYW6LN=X3G8PMoJ$>-95YtutS7)vBPNK65~$YmR{rSun+5P55gP}_X|@M8yMzwX zTf~`LiAj(u*&Z(MeenIw_Z+qCP zv}L4hTOSNV*(V*x&w|V83)KWW@G2u-EeZe~ow2&wamQrPsc`D?BRE{X?Z3Spo@Fij zuBtFoRTE4oAe?S>}yZLG@1Xs_?wTTs1+9S-t>U$g#9upQiTP4ft5(HxF! zklp(I&bukzh!JE6J3-Ls^74=XUyA7a@&o|UA?0$t0n2wx^ak71Bs<66ywEwq_(?*3 z0CXXm$;v!ymkp16=RI4CjNFC49#IBcWI;Pg%XC>P$yyTUESWNEYa^T~4ujKB%8rAs z2a85j_;QOmittN)gy&a7nGF`?U^$;|SOxL)sOzmQ&VrR#=bTMroW!{3BJQ^WcK+Sf z0F`roP@zX*k4p4>udqp?n@pAdf%Ud%Q+9cIo<6S;rHA}1@O);??K7Z_8qHy@jGeXE z=UcXc)MKJKr~ltOeJ<|0VsFx7|ffVA!1 zKY#NIUMSen)gqzq>Ak(uBCo`+WxHSfvzzi~dnoqL9;@cJPOx()t$ze39|g*IPwhnP zJ2WRye*(h>gUh3pqtig-cA(OseD0Qixk8y*Dd_m;cXXHzOSCx9AP&uvI!5CNi%7^d z;-HSj=rs-HsIuRhb5P(II>4yEyAvc<^2}?Li|M)zD4eA`DgV$C=91Nh2SwrEs+V!od6sjpS!d~fHuJ9|vhTL!>Lll^z!&a=LU8!+++`mJK6UYe@0 z`Ym|*B?T!r&ZGi@m4x7YGa@x2s%R?pLb)(K2LRD<_`wz-BOqkX2omGa<6|T6EY#C?SuC$3Op-}H z(gM1yr_pjW4KlMSJzg79Fcr~#G=WfHN#xVML}=30i3_7+$x52V6{PQBP3U_JSBmd4 z$QH$>oz#b;n=p%~HJ2%Q@2w#yt;-Qt%L4T1q+Kf$FhKW(nhmx-l8aadj zu0B6LagLCUQUgDoA*U4+cRibW((l-E{f2WZhN2!q~X^oieNc z;bb}O`(1;C8#Ui656~`{Oxs-Sjj#2)2CkNpIWAQdnK~YQMmrMJWe;?(H0b(; zxu_X12P4YBc3`7-@|2$kM|2j^Fkn0V45n5JcE)#MsNMph_&VK*ua!j(p( z+1GGw3mE&m=4Taz)-Gs+SiJjovTQkbvX=XzmbiIF3V%(RT@<4=J%}h%II;yq)fEMC zq813+yxwGgO$#iA$92m%3eCprB^Ftu-GXNm`QM2F>V)CgzKKP7t?*kzq#SFJkb>f; zp=#sBy;e5%pXLUC_c+kRm$?ykxZZif4xnp_f{_URdD0?Tp?$k`;>m%;8!2P?)x&3G z8e?WIPpcSv%rJ+V!1tY+nRw5*)sAp31KIm3UwpVHkD;m+X~b2PQ|Qi+T*Op&AkslI zM{5X(pFHWovnZkr0KwqJLo$z401jy)U_meQ);lIO+&m0*(+?0tFB&4aEK{rRR|M{_ zuB(|hUq1ZwLjg&Uioxu(&!2_dk3EOf|3euYd_MQI`M9QHm6e*GB=&^et9NgeT=yL> z9`j59mW(ND`TtvBs0Kyq^yhDG+n1dkQz*8 zok7^RRF|6{BJl*Trh7XuP!uBt z$_Ifwlq34Vgx?Z!#H~c&>A}A_?E|w{BQYlN-cNlqoT)pTAMh0u4#6T_+{+bVYoQ?= zO$`x3YIP{!k}s7cRj*A~5+7R77L_}(9LCAFvEV=Nskhgp4n|Y-sM!7o)8R%L-eg>Q(T`}Tga%&#v9*8WOuTDj^h@N5(cHJh7&ZEOX}5^*?E?ikhWcK zVr;_goFe$rS8w)Qp~fZ25mnWuatoUfJ4>7l7w$`*7M&BhZqv5^)d+-9beMCC8qef& ze;s7d{!>dCRihh;4>zQVLw$KMxqp+pc|-oDTz}kuDzXd|4ACD+{AVt9z98u1ibxTxi6&r zx__&DL+Fvn&X+KqWt55_UI>Kc8)5eas{_{55ecIM3|MTniyZ0b$9=MLPl&wE)_ew< zw<|&8N4|UnJ%;NPvDonr)W#jW;v+Ud=l8c1Yub-Emlb4U;wVg)lx5JTki;5tqaaFw zUdS$m?9(iV)C27vVLUFyJA^1^~HZa>A_P%FnFCSWsPr!D!sqhHm`||NIBL zk#zXUhYKSPXo5#$6Kr5RY~zF^+kBcmY8gtiVz|Go$6`=FqAX1d!}T=2!%2DmnyW&^ z=(#(D(_!*H%lrJNGq4C$rB2UYkW$23+MN3V44RTxAGq5}!XCSjZBg~IOF5DQrc=5eaYvo4caK#8?=fisNr~U7t zJjs2$m9uU$$g_vLVe66aQ{0i3q4G1zO&H^EXPPG zcM^)=rBG(+wO1%ZBf}j+(v9WN{+t1wmzN65&DOFsj5gW}4cz{P>$Co550bft9?5B_ zh*&IuP6cUB4KB(DIIIBC(+GaauW%a?#faQ%O29BFY}NrJEyHb9_d?ESq)ZqP&N`{l zCTKjtPNfh_IG6k|7zG>3gAm*aF}mewCJkl~#?PzpXAL})APAHWee@sU2``5NSmDV2 z;PPxYIM88>Ais4oOEl&oBAEu0;j%0$mJ|sb!$iAvZ&}54N}gedyqJMOeLPG-P}_OC%6zXe^j0^JV%c&AQ2p(AsRnP2fHwZ_Mrb& z=V*ls*bTpxRonTJ8opLkS*lY2W1KGCJIbXJO`k4M1x4vEAW4jF@^*_WO29b96ii~f zA;1{KTSZqchw`K&Y|0|!&Xs8=FpcvN+bZda5i#EpNF!j0c&Wwl_Z91E<{?Y`K&`II z4B7XDq?}MLe=q(3Zeg*;Fo`!ER%S6TKZ7s_=RWPwk_>SRp@Xn)NEaiBBh|1vLXSR7 zSjoIcNb@RiJf@Hi@;YRV(#VJFWD773$zXa9pjoID6;WiI(JT&w75Q-IC$Ymmf1w7# zJPSCNkXROkt^FE=isd*(KcoSA2iBRbnne>*1Be=3_rFmwgOTJf7c*4an>;YykCpkS zKUnQF?K2JFzq#e(_^$vM;ojy2eMgXxyusP@VP7-A_+9g?}fsHZR|oO74Cv zH*SWm6yR%r@fX})@R=z#ePYU2k^CF{=~f|S|9Byjr%g-Y(bxEk=+rwQ80gNg&#X&L zc`eSLSnX|pjHPlJnYe&NJQwG+aeCb7x?!ZLgEaPG0IydZ&471JYwo+(Ex3lXuK%9? z*q4F@=4Hun19q8jH&RJ?iE9TbkH+@Rs^8AVGFKvqxfAiXajypqA#e+sNbDZikEVBG zdplbcz9bH{!cMC5gn(!0q1f>oM2^f9*OB2^jhgZdcK8~%c%5Uv$dqF>Q2=tw&RFa*e_f+xE9FSS zae`F+sm+qYR0V7b7ihyo`V4v!66E4$Qj#;ECfb*XlrqO~L0m;d;&_>+y+y3h^CcJX z1LdP-tCVe3AKByq{>m(;*BNQ&)^GdJ7gD*T47H{0YzkNs$+PdsI1MeZnREdWhrf77 zlbSG~PQ5xPKfWz%MPv5EQcmID6 z?&pPLpYAk1>$}xsA$+k=e$`WQiSAqByC$DMXH?d;ZC*U7ZOb^(r9ETg#BiMB1nU^>m^74y{&a%%EO9f=z?Y**^`)!#P$MX6LU8$xN3kzSd(Ajx^$dkQ$pUmD>PPj%X?@fxO#b*3WcpL`W=|Jb}-6OwpCQo6n9w zQg5TH;+2{VwVSMFdEM2`0b6ns^`W=R6SvsQMl85h^ml$;MTR6;4)LD#kfS+4KIq1L zsv7KVKbSpKlQeMDa)BZA$)e67M~>+n3pknd8e2Ql<2z?rm|b>@h=*#$|E__Uh~Kj7 z!|}qKe%~Ko>Mn8s=Vlz%jX$MxhaHiAQhNEfKSQmvzPgVj3O%j2&g*gmE%$73-iw1%x6z&X?| zCqC&|M0vtw`?J_KR497U=1BY)qLxbc`AmJokXPHLrE0a zrrr>{8J!ma^H2MIY1TiT#4EWaNQZPGH(J~G$b@9b=C*7^2DQ^EcY!1&nc*&`2?xF* z8kYFT*2%ZIRYoY3YT@$;`P$F=R+);6!b*RNlj$U1RWH0M6bB6Q>C6eXrP)jcM^94; zl2h1_^#}%on2ls$ki#EiG=!<_;~W_Jhc6j(@Ev z*e({k{9lJ}wGRgonleQ2B{wYf?XLHF1HJ1p$@5oN=--cb6Y-9{@5ZOwA9|?RPsQ6L zFR@W}hC^ooz`R#!&z+=yv_0beeCjlJRZ4`HZSV_LgSlAuZ7tt8B~?Wwb{Yo@?Albe zoixKZIgz@8)W0*~_!J|DK^{XLeBk;0w{xP}#s+5-S4OW1Z~S(I6$h)$2Y7tp1=Y8?Ca*cCSI4(F4DWCj-nJAo71l%gV`$?C z-wm`H^dq`&{ZQgz%$RYew^*|3^s&GP_rj&n#l>bGREqjHq{vI|^ka$n?{2H}hR0IJ z{etyAs!MTm6MBA?oKD~#PH`GDb@)6%gk=#_FZphpQHm6dS)whz5UqzGFl~D_qBdg* zfr_#~127mMboQ;76hcX4Ul>3O&M-~TT4haDv0{cg8{%s@27*uv06mU-s|bhW-wkM* z^5yVC-zRXDd%v#slG6b;>%1yOB6bl+G_vJlUMUlENvr-8aj`9EXyN$LEdLbIyk$oM z_^nfR;+f=i)TNcVeR;MiNFsugfHHaNO+*k;^2n~rXF(r|T_)}J=7q>Nb_o?bO=O|* zJ_G0hyto#PFL`_$v^{JVGTrie6rb7V!DlvI*9%8L~ z%xr_gMK2IT%MAvF5&IU-7u~ns3}0BM7Le`3Vv7$l6l8w(1^+Bi`crRFxOGYw3gi9o zt2ftlO;$Qd>VGN5OJh^_M^&n?vsKrrpI$rwM^mJ=R(csfJk{KUtT>C^X%KwOZc+Oa z$Zh_5;;DUPGDpk%zs1y`clToLVnj%9PEwW0B!F37XE`!TH}HIbt84>-lE)ReJMi55 zg$R`-V$$WF*YUIVPyEzS9w$tlv1DhjxX3?ZtKSMM1IxNe<4`jSW|w^(2H|EUn<&3` zMA7>Zx&tdD>QNW2jqbFQS1@@E}zOJ6ciUo7yD& z&_?O$akdlUCIZn|Kf7s6BG&1ei-TkRtQZ}acL!#9@AxxGE*x!;-_U8HM4WL|qQoxw z79Mn4LwF`o?fqbttx1v6_DBwY(|(0CF<}M{FJel!eoF4)T+Kx;7pE`swOS_Ct4!7y zBbGIeSf4pGXY;wwQ%I}4?*!Xe4=SieLc*I@$wRk=a8JGB92rxx#Mn$~WqSZta^fwxRm?43YhmAA8u*5kSuN*80?=jn-mEqppoI$;J zHMTx|>HSr~n9{kEBoG=EDgK1~e#~<_5+7Tt_B~AEPNRu$@jkcpp6KU?;1F?C!7eaA z`yPzPf7dX0dy$Y&ioa+llnA8n1NyMv=%q zxMXRX7rj~Z)|cf~(ZD!b++dnu%B$djRP2o4GK=>e(_dEcDf22%R2Uc0(K?5hk{IZo zt{nHqg3~kKdinV@(d#biL!$6MYq0P|l?3pLk#Jn8xFc2EdJ{CQ$Y@~cg?&nDE-gi8 z@kM#XyD&qlV!Hwl?Jm_)J15)UJRf|;f*{V5Ij$Bq8gTMYb0-mu#V4|hHc59SDk9Fd zYX)gwhxgYef0}d*l={&Uks|Xhj{a9SKpAh*-#t__NeG=~?sDH*xMRw_Y+cXUc;Ytk zeXFlDD8Y@sIMc=Z-MyLj`P^Gp&-llq+S+{E`UN$j~fq$EGxoH70(jSa1!5SjWH z{<4_x)3y}(ZAbyYPO_|&{ zmwt^$5kP^G{#pm!HX8SYEC{T|vOCW;gFL4T>P!DIrx#UkXC7j!PSH^?u>Uy}eNhE=M> z0UqOJ2&=BpkxYB$mt3{DwyR0&yr+$*GrGssBG*q2 zFaJ3TXh{i*_ud^-B2jgGZ_c6l!sin2J=ZnZFbthaMquhe4ngI$CN*yup!WvQ(xT6b-k zHv+OJ{PS>XWS=bNq|(xaM758#1lo{UimnlU?5G5+2}72^l6uuGg6OEp(~+qY-X9E1 zKkC_#ul5=)_ta*(DR5Bb+8&5Y_(xbZB4rt??La)teSk#*D^SXP-&uj~6!iu8Sv@wi z5I@jEe`(&t%7D09iJ~*X6dVce?<&9Wav+Pj$%uhpN9xdk8UE^3UA>WF-l+8VnTh6C zdKNKs0*#=Wx6#MQb2XgP=f?glFC-z;1SG4H*4Sp{PDiQZTU(%`MetbMUyEXm%xQc4{ zq0kd_j}c>==Kdq81O&gkI z$~Z-R?_@F~f6INX728psRals`qt0s0Zt1|nz(jORSS&KY^5#BQ$y#J8ynj`XhJ4-4 zLHchZ1}*@nM*uw+mbZF2xQzswp;H0|4ZhTlq4jli2#FHrJ;ER+zz3f=gJDJv2xc}6 zIMe^4H5NYgCDiqN8@&ANeGLCgnM~rsI0H8nwUI%&j8>p|*{jyWbrTUxQ>ieeoQOB1 z%NOOw6@Jpi_>FCxK=g;v>P*|5=HlBpLaxk4wZR;l^#x|U`!an{*WBb}W6;AqS6n)G zrdMllw~o2a>>!#HD(_USWl8-NoGlfN**Z|I-?37}B|3mO|3c7^-`;CPLEcSiV3Bgt z9FGRtp83zlQr29IfnVhHc=1KO@aAgWEy$@)Rpou*yPTHAo2m5$K7)NO7JYAa4kglT ztXl!KgvDRnn;`+7bL=CVl^pUCzqQK=P^Nn`C$sT4!@S=DoE9OvV`Rjdkmr{J#d?g? zTD4U0H@}>i@i{JP(=G8;i3?2;khAbOqSrzQ!P$u_f{VXP*gR20#Ck`F-8x3U0qj5) zFA{QYim$}?36863C35tAal{m&9rOWBnAs$#Fx%@99cbf1k|HCXOduLwhefx;wrg5I zN32uvH(4r@NGTUc6Qr8;lwu^hdzm*m^9LWGl`uhb2=}QlZc{xoL5bH+rfS;Mu2$Tt z`MnYZ_;LqLu%wbtgbi>2RpnI@-Lo5+YZ{@KAeezZVaQ!V8r3&^s>a(>;xN@aqrQVg zY!DxQI+zU_-^QQkQbU06@<?E72^@*kG6YOS`_#NkVl{D$|PhFGBgqProm7c8^p! z04?m^w6bGC7KMkFhHFWg(MVSNpIVN@Jtg*He5tFD)q3n>KO6HKZVBs-lz7*J zvAAko{wUMJMk#Yyl#^z|0@fX74Vv51$A@OJ^tJLh$!TsKBLQD0h!b$AqOB*=gu|Q! zH?i+8;zXf<_R1%c85vvJ$w}F=6~WcU7q0;fv2ErQ=h4+Rg^8!)E~E?2e+b~IToZ%1 zvDlK(R|B!Q6~+&yc~Dr=AGy5ep;~$=ovQLw^d6qU_FI?Jc(1mJyy3GK&)y{A6pJhx znhkV8+drJkgC3!d59Q@NLXJ=Ck z>SEhcETV%icJYSz`UJ~+T#eI-*Nd}c^iQ@I1OzL8i~aRamA*Bs`AdT^ zAX`tjqKyVt>VAJ;M3xmRM>pR=P8TJzD;RtVRPVM@f`SX)7^Bk1{q>&KB&9J-#4c2I zeIW61*6KY4cIpu+0suH<>y1WAiNguH?-fP zXBd|q*c2CH(a!+cX|3v3AyGn8uVOhFo)V!60Xri8R^T1diHkQ)-~%0(O_U>4>lyld zo?tUU^^Y+sIM?T&T*J%6Ld}_q@;i3iy>Mj}kl3a&%jaJUsXd|^Rznq$&6^OhrBC33 zI@0f!LyG*L?53%R!Np=zfGjiz>g%jhTR?q=ok2y8UN&sGC%AXpvXpJ}KK<(_(5CL= zA7Q=pu#GFyk0tY3ay|65GK~3Pkc2&tw08ko|^t|-l+tCx6aKe2%2V5|x`ZRcY zd?~8jcu_d5+!iBCIj)+pQ7M3o&Tq^qP`WdDMh4q6`?bv!#SHZjgO$06!|&JCa)Li- zSaAt(72#7yn-VKjI@{JmeEm$5>qD)r(?z2;UfQqHYT?kl?KuL-?_qth3n{@wS|N98 zv-z(QWuu$_p9RqFJkVlllqLq!ZUD@oLct+Jc&YDC|WQCvX5rHlF@pHE|NRERg^guQ| zrh6CrtsK4#fMpI2f3rgs$M<|mq2~haHZFz^tLGd`qJ}VjwQ6KywEffArX^;tQ!Y`K zVy;E}E=}rEnZ~E-az3JQhX-SP#Qj2M_ zwy&T3O7tJM=SPsLZhx==38u40sO<3->Vv6pXUm+SSlbL_-x1pag)Qj#;;!AmHxGjX zCz!1^wOKec`QzEJ+u&b&Eu!)d0^(tWT$8c2CnuH!tCb+6A!nP>E>Sq7A`bf;r^Dio zV#IOv^NPXAAi=6SyFfTD{;qdtl&+NkPC0Y_c+yc0wK(P^04wm!Ymk$o34@q{6B6Tr2+PPh)iM2wi;1k9ydkAK)eEn%Ti&LkFJmv4~k*S+#o15 zDa`OzSgA-3B?{x0?aLR_F|zW+)2knm5d<`Keg394Z07z`zT=0y^;PG_0o@ES7bYf4 zqV%n?VR+>(i|f}^q4RKdT~D2haA*<$g~&45c)3Po%?W0o z6^S9X_FY9sA;{3#qnNxdf~@8}3%lvaHCSud^Bia+0}#nTW{SbEm{2!HXPX zUMv`7sQ(lEC>F=P1^ahBYadwp+jPd|97{y6*e9`qjk|Y`)snM&BU^mQFcwvAB6< zJNI^7=Ze}%tpkwd)NCQ!3eQlMR@4Hh0~g34h#SWH3$|2;rLHRD zzaA&EavZ*4lz8*g-b|Y)N+t@y%*i0l1~s$5Z-D6p_S+8-hm){GYryTgqTf|wMou!p zBA+K!BR(Lhz5NQ7=RdispD<4d`ei@2BP}5=d2N3V6M8@Q>FOd%Z7!qTBMNta-irzndsNrp{khwc<+Vr*VD{%BWWi!l}AylHsph) zEj55j!k;&jnrWw}sX5h*N8z!1VN@R?KCP*D? z)Tg-^n_p+6ZzjisN^JtWUo%vF&SoUO0zrh~6)!W86Q78KgODW7mFvLV*zQ|(ur<$u zTm_wkkVRIZp>R1eShea0vPX>mSs2J93e8jjv;-+5t9=%VU`Nt204K4u_It5B6}o1s zPR|JaX2Fd3eok(bOTNz;z-pwCLIU*e6UCv+>emicSD#dmW}@T4CiTUVD_T+Z-xRHJ ze88`5Ph2x&EC2cv+z1uojMRP!y~kRQR{l(l{p68qh}_iK8R!elw7)Q9v|c_f;x0K- zUGUdCeT7lB0xY{XV9+S?uhe=zeNg)Kol$X^-|3%iC9^b){bGbZpO9BkvF+ALGWwT8 z^OA3unPz97s{I!qI1(k>`^!@g3PW8~UG)akray<$7J5&VXk8)DXlj+x6sZ)y{1A-B zV6(|{kRc0H{N#FhUW5$}u}CY-#OA7u77GNbDvRKkb?OmQLX{6QgGXS-Hn+k;=}-wj zM^7J#iyz-}?ERXFWp@YT(#&db_gSVOq_gQ!z5PNMj#ka|Yr+7>-{PNqWWSyIg!2>; zT{x6LP2rwAQ@F3#)kK>(n3N@*Yf=HIxW_HCj~JCe(#DP`?bn6G@TE6LE$1{}3cLEn zS@7@yd~vGoeX{ZHmRJBAlUMl91s9qQqW$~vcr)xD(MVvp@=(B|7q%~-2Bme-5t%DE z8wgx24`5)rA?>gj{2`y|>*xvpJ|5_4ZbN5wu0vs9=j60OZf(SWj>i9%XRFy6lfx(^ zpo4ggDn7q%w+uDH4Smuv!~LF!xparmh$WfbVP>gO`y#*b;*t^Y;b1LiW|_D=&vuyw z?!cyS!jLPEt2EbL$$S=-$1mtZvngYFanjt9+oJ{M5!h@>YcjnupWAzUhb}P30B8#~ z?LN*IeA@K6eC_y;vJ09cpnU-ec5}Q4rzcY??%ikY#s90#cQE}|tGQd_e~_zADbIH= z<>)3z>u!D&b=gjF#5UQX(EVA~F zX@%N_dt0Q&+3n(=4X7Srg7Fq_n5PyCg&x<-iZ-Gm8e zZGGmIXGU}KahVOy!q;$vcrP%Wr}iM2pJyx?{Wl_YW|szZN6g=v_?G=}HY*&fWK@j1 zWf*JOkC^vVUH3yP=E(4FGGSuG%j!X&su4l7ie&=|Qt8iQByUL^)-5ybMGvP2o)f+r z^PLX6&Aj?VHibw8%zfs0^P76H{`Zeo%*FEWZ#!>aAK>imKCy!SJ$|HmTK%Q_PvxB? z=F8krdAG&Xk9E{XPhe?F+=}Y9fxL^TpJ~1k!f+ImEG=A8ovErl8 zLzLvXDMl%51{CqdF!7GoN`qnRNpGX|@~G6WHB!H>&_BHT@r*uttjclf_=fT7&Y;dQWK=SS6X%MlR?mQ^F`2KK;V&Yop+z#1nG2`O_ znF4xvLiw$z8m83bYB%9WV;-9XTSPD%_47wjb6rP8?qd~o*4jU9DxaZQFP(TN@xdH?G9y~0`==;XMF zYYEKz-GCxp@&ooEdR!n>m`m!y@Iv@~;vX~92m7(qcds{{m0y>$;+UC~I$Thb<9UYo z$kw{NfXhk=>*C)xmVwws(6%B63116BlZ&iros^c9Idxd~+A`G!ERdWfwU_7CTR=*d zSHqBtqnt{)Z>KDtx~buDVstM=8bHt-E0%3gu?PNeKYDqVe_SU69g$mV$HQk5?aAqh zT3i*1l$8ofeF{?g;s@QSmeaB~RkydCa7dMQPSJq2X;myPkH!_qz?bQNStpj7EhN)H3<#XE4}#Xz$|BosXh zAP8Z}JlOHL7*(7!6G4%{Z;d=FkyIgeYG4@_cD@Qaej~)%ApooNLPCF61QpFVfjvdaUoSMY z(Hm-OprF6RrhZX9<@92hwpdJDZ&KQHixs9v+T)^RaEvA{y*S)iGPb^>U5Lk8#VZB8I>j&56BI2i3;M(Jh?JP?C7UUO8Tz$Axmp$3og{ z)kNW#_#rAcJbJ=6UMJTF(=gd9t8L{h8!7`1^?Ws(U$6<3oRgy>F~uahlL zb%TL4v4RGZYaF0G!`O*6>YJIF0xVSkNc6j~iMjVdlGk&x(j=eExatF@XR|bV_%u2N zle?Rp=n%R-!USI*C>{P#n_Z}x(f)qdvl-shgdvRkDJQ&uI*T98AO?8yz`UW z;iG*V4Iu;k1nnlZRR@Oe$=r+IDi&9;mpQy$S#=Y{K|`Jt%a3!r~b2&wYmVu7XU&D}*MH_DoPklo7pr|;w`Om?rc0)I4N zmP8W#Y@q+mm~k?%R;4G$6c`DNS#*%FeAyMranS+5k&=wcSpIECe$bT|DY$*}VXN zuW?DccWo%%n_qd(OI$Pi-z+jlv8|h39j>|({byG&m_=gD^w;Sdt$rIFCi6gMOxPeJB}UoInx!{uu^djLZxVl1u5zjh4{B7TRg_H9|9fUL3(Wlz?g?&B z4a3xW`;_)j7E(Ve9c|p}FMSkyyohf?^_!KQLC1+^Z$Oc(^b9+D`c41HH#3{nF;AH6 zt|%rFSs=?C7nv6K?Cx;w_IAd44jb)#@raUd2IM&f_Kdvr6vhjs!uVR&EFu*PSQyc3 z)w8SKtKYY4w1l@&g`0BTe$)|%W;n<(oej-l zr^SA}a`o0sOqe|jgrzK=Z;v0Zs!WwH+$L?Ac^Kgn53I280NHqITg?+($A|2DsIolQ z+wSagUR993SAx?urbo6E;;c_#w_aoU*#Jz-5qUtV{>;!l8L8q_A6KHmVTb?*BuhTQ zD?0MGHHo8)9YYpPJU^Si7yb>frgzIk7k*0 za)O26;$6Eo3r^(6p&0(?sBkeMfBO_M6xDg*TK9W_%5s0VQcGXY@Ei> zk5C$)AebFu^`{yYFSmDt%89moi5i94RcQXMqta0V*pxI@1dslMB`}duzyX(aJ%iQ& z;Vj6gCHp2e5Y_92#AM1m#0&ps?!85xII^L&H*4vc34#$P`p1uRu`H}~mQY!SWyLz- zrpQAM6IBJf@|q!KUc$doEMAy+^{Z9+#R1qze-Q9?U#tE^D-&o|(9p@!wqY{@qb}Ie z-@(A68g3pi{&msuOf=MsW-2|PV#brtPnjep>O|Cygb98)rx9aqpRF{9U3mKpLZ@Cv ztcOOjMQga-7O#|(XWXoElV>j$A46oL-^7U)PF_D>o?W^R4C8KtzQn`s;+vEql_L%} zTA?+vf(-*Q%95DRk6@zUtaZ5XFq5!mw1s^m$bLQ;aSv|a z*e`qk8UKXXaU3K7a<&JKylRyG?}mI?A;ngClMmrK)(5~3JSN~1C!Xfv2Gmr!hcYcf zbXt8`I`#%5sw|`;w3&DLpHLa31!9mzwpDYGFMhE9j@g^G;_=zG2ylQQaTWmR$xZVT#r}>`{43f+bsjLK1fM7R_E4%$VRG11YRO^o2M-GhA{!(F$=@ z%U;@%Z+IcLfSuK!*P{8DZK}RQKx{$&?WdqF)=lIq&zMLReL)v29DZLXE^k>i<({F? z2UL*@NNZhX^fd(yNy)ny)|;eCXl-I8p7@Au{!FG1`u;NKnk3;Qc(0j!6Wa0MW@T{%o>+GFTV zv%-`6@Kh7tH8^d57tkJVEL2UwpFh*R)o6qiMepH!VznQ)^idw0uVDA|GhPTa+tbv~ z;Vw!9NYS4s)ISi(YMp)+h?J=N_?_K!nvSUGl&}f8sz};>j$7*r2^zXiVBz_hcm$7t z`HQlc0xV!*ko$L}oS002Bk_QCn>K&JXR68Yqg8&HY20yg^=QUnSa1XMSp#f@KJ0mt zvP}v!4VQ+{Y$>0U1vmARWCC&L+$%n2ERgG$r)p|(6a=W7Jp@!teBZ0ye?BXp5DMKU z+WVr9A2oyN+_%Wv%MhNR_*#)6pIBRg; z9+uB07(<#R@0awwK#-jNtBe{`0v4Oi-86=GPoC(>+rAZ;K}X4pk2Ej`pn81_|HaHz zo#Y=8%3!H&x=!T4Rk7JZ)5{>lac_MafhAtvRabKYoF1FV{qXwzMy|J%4@s3ylOTH1h+np2881`xB!c-5(#i_*DVg;)X%PRs}_`4;*3x( zJy51K6vO6-`=2`31jL#>m|O<+*|-1Jlqx;3+=w4Zy^V`{BX4&&Oh|kF?NiELr0RSJ z*>mbgG=Ii-J6|b?ah~r+IwG3pJ0uvl^w}~j#ZA3hsd;)%Z-@KCMnKj*Zqx<;tRQa3q^E3RA%X=7IB5G zckfNZ0zwQf@i6i+`h%F-eo?+)+AmF6x+x^|a}%Z=v;NG+iaBC@@^m)Ri8eAb^PnzO zErZSVSAsz!?*d8eVz&k!jA080e_q-ow~sK9Cc>0q9dlc2Ts=gCMdqb%I7jh4e6^j} zdv)UG5m=&Kzd3Bp$?$@LfV)QS}7tz7360Vkoh6$fylL5)>mB79n?lA113#ZP7`}{$3Kf> zIGr>u-$`;kc3-v7>5wDm#&%y;#h*p?YN|eL%90!TYojwXGv2r|6_o}|o~#n;1cBjv z9Llqpy<7)YHB54pyTK|f4W+r7+ z_|e6oi|^*CD-*k4U zV-0lVG?LB=>Z*7a3|%?n{h8^~orLo77>N(`yVUP%(;%R{Pv#m85o&RydddT?DW*Tr zIS8%tVpT}^gVQeNMb_85l4IQFjCADyV*Zkh;r%Tv-HR?-7^|8#-9=7PxV+^z21odUT({rct9v_HE z%l6(wV|VIr^R3~Y`_kRB%+0F0Y2J?dq=XGJ#z{$iDEH7Oxv<5$^8}homxt%RH;%~_ zzm=YG>pKeGDvM)C2jZiCn%nv5IGe26XN@(qSAV7S2$->`I~Vvd znH4yi0yvOUZ%#CJ-P#WqZm352$R=Q!!K1QNEng~~cJgox0N6fyav_epJwkh=<*7`w zm!%PB$4L`W*=M5`sJK~`S{?@kCO^3kU0)M@d<{7YPaO;5Pgr1~=2|j0o;zu2%Gb}k zVn)(a{%%pnEr+34A1zTtNenL?iNFRXB~%KKamC~8=&caA&ru9)vkQQ|=be(i4X?wv zdPBHo;t!Vr4)nA2vvu7KW=zdPl;tAeBUzU5Au_VVUlb(o#+C(1{QR{>c3)CXFg~}g zK4?X?dQtr=7Nk+&nH)67WvY*)WR!s-j*_pRNF9r;L`~JaE&r`EVBin~*N#gjC2%cf zcbw^^lF+)ibE(HeIY5LqjFKz5B*P<7q3P3{LeaWrk;w4Ca_rKN9_DT(+gp#<1fQSu z^PkCp6UldZqaSdk$!R+3nTnfxc!Ftw6NT!P8n(oogAAa}PUaU?BL?{?%{^gSKGV)& z7M2VkY<4HxnTYjl$Zc@j*)zXhLsxaOq?@eE{30YRq>S@1{7wy|BWfxgW9ftCqq%qR z4~r%cpTm(VuZ|sioSL&)dyZoVZ*JFkeBv9|{koQ8A0a!b{CIJeIilYr^--cr4R*zR zp&6s3_{z5BFRWC&c67($oIcR9;$ljFNWi%lUvIP4dp)Ga!S}6oC|}TgPr&OrUCf2W ziszbqSYLzV<2R%^nK^Iec{}`#`#s?`qvJ_=1stqrFS+##nJ9-Yz(yuYhIQZ9D966d&l(pOt*K+z-$OF9-lhSPK|FD?&jCxx8w_hx-$ zV5P{Eeen%dOGL}WaMZ%wh0K@lPKk>t;sV(FZ3Ig!G`UpJri(tBvGwk^!don4nH7p6 zwn7vvMG$8e1*x2KED@pN>)%WkWepq&(l525>B63b(U&mmP?jK5v|@cfWi(Szu)ro} zJ|p6krE>oI;-J%$0Sz=1)FiG~MH%WkZS&fS->RD^DJ%E@5UclLwguJEORViGEi36*>!=6kM~lbU6FUfh?zOc$Nptb0QYKN zd+kpC>qvlvT=aJoHROY@6B4t?=y@r*k2NctDpGiz@Vj>M$CC}72LmG@kEc)9p2tE- zZtfDVU}X{4EWL+UfZYq7pELD4Tji3~=tHbg$ZW1|RjXcxbG)KAB^~dKMxH3WF7}jC zdj2?E9d4!}jNZ22C(-daPINM!%~_xbH4GJADV&?0LmCJGnp1v@jZ3D{B2ixb{P}yp z*gAd4d7WJl(Y@cs-FkEPgJUkWjgri+LqpY0?T6IUj}0Z z3r1#?(JP^vpLU&IOn`sRU$@B*rm19Cr|B9-5%H7Ijm;*7!18g}{1vn$-vw>m_M7l~ z)eYPnEk>3a=}AWt(xA~k#Y((V2P9#B!5@C}FhI@}FRT3qi&0q{g1xa9Aj%MDEL3Ie9!kq=7 z+$ASXOW3=c!8Z5p*q4EI8u`12Bqx{F_2<+dfEoe7)K(LQc298v{Uj6yd+&7Z!(+rOKSXSq=}i&osmNSz2h4)iCLS)vQKk!pbklTG9J zzNIInP%0N8a^nIbcmBvodFWewa6KVEm=twBblU-~LO;Rj}@6cI#6Fc_3l z#ID9GFBPkn4b785FCzHuxa>sPtiF}5$Bye!OzQ5Wxlj&iIjSpaIPkU`D6gJ>HI{Rf z`>amxawCTwUcU0<`=%rXSH)RNq{2&KK5_RxUrK+L)CQ(4LDvrV7P!UbpsIs$G zZ+gSW;_jU{N5|x(ct+Sv=V-!>WFYT_>>Fd{X-VW^2Z^2{)e+tWcfRnWW$OL%bf(zt z*wm~D^O$C3?E#p|)qOvMBUPm40<)NnV9bcfCHhDvcRiN2YxvN1M~sQIi`|IAx{wid z4B2lsbgpOi%+`Dg;$1JI!hb0^wER9$Pj*dyy)szyF2yZT4h0d(M*mYg6$-_ta9SA<*i! z`+9H%xzTwdjQruc?XJ^%ZSvI*q~soaj?IajRdC>NW7YB?u2bEowc|-lT>C@T#SZ^p z@zeo;a0g2IA^l&K^&d5l`0S*tXuoxOnDv7Q$>!08sGCg`xa=4|08Y)y-DC$E3K`5Y z8tT)>>I&#gj~cms(vHTg*_>xvl_p7om1l@jFtxL#jehNK1-yKS5iMo!eq>g`c2wXc)6XHwq*%;Ae}~L8rdUP& z7gHGxET0M7l7owMcRy$2u&Bq%)~W$1F^AheaYTqralLlxGcV$KqivjYHIQ%rtKV~S zVKBcJ4Zxe#;%zp@6fwmh7eT_Uu1LKuo>onbSFKuO(!lIbQ8JQCbK>YxJRwWPX0anv z(jRrL6`E8>vJLvc`^`5yS#y?_9a%wfOb^E8>NxSxALxjKS)BD&7Z2Lb$6b132`#V4 z7i)|s;ZzwZSSrKw>^tSOe$CisgItNq6V1m7??%t7FhRGPLWp2*R+U0n)j#Mut?(?)x5`F@`iya|puHV0~+RnINixZw6D zTfKA*>zyldV!V}q#Q^ZKQ`j5i($KF8&b!yq`K-IH~zUo(6|h+d3TcyFyj08nq^171ip+@Ycj%HK8l^zQtJuo6HbN@Bk^N z5NSW=qB}sz(nVsLC00g+;71`PamP$_X`wwc-}opNH-#b{aDi2pp-drmge=-Z7Hdm7 zc93Ck)8n}tMHg0vbGl~U#tt15OoBi16NOC5&)=W7 z#93L((uQ7)GPJ|cq1c;G81^lL46+Ig?Z=Wzadzf*w49?To`GRPZj2g=Gwt=~X4Yk7 z*wQ*cBzI^gz007uxI!%`>~?5ATzCN39s#*${!hvrXNJQv~= z|E-NLK8ltU@-Qj7PqS=E;;a=q7r3w(%pKsWK9<7fIP#RNh*_ZXz@lB&)OEZ+p#!YiVdu3=ft|F3o zh@lN(@Yu%r_XQk>FDzd<8(K2o@{MhiIbRYHw|-${Ee&c31MIT6yoSVS)YmbgiZTP| zQjJg84!q~LS#P8_zv;)Q71r8lzBmo!=<%kD{$#OqdD6qK(L6__k}Kl;Ac`)om5;}ZlUuhlClS+fP83g=JE9ijT*-h-MKYsG zPSD)sPCvscbSICBf;iDV5cvbe3ptm}0v`RPc6pRk%vTqE*v$bjRxiP3Lt|->HDc3p zk(YSQBV6I76%RD)D6I9v1)qMZdCDvEY1bnq}6WH@T!1x^fW} zpJ;k@Aq^{5bmaK=vjY6FXl!7PP5N;6p3$UhOaBEM+0uqlAK9;dbe?9Z_`7K9+{IMC z@7@}a#4JOMOrr~SpO#xTGF=i;Lm8r!0VbUEL!&XO=sc?#p^ep96)r2wt+7gnx_lC| zbI)S#*-~p=LrRih{{g?40h3;hwpxLwk-sgOqs4UqV!+Dmxc((A!-f-})%g_rJ_c5A zZtOj-^bApCG1K>VM!xEj=|);VI^<6SbY>g8Gw1wRcvbW&6>xehT7ZQN6lucx4z%bL zC7T2M(+lGE?bj>fU=?*BVQmL3_x_=gkxG`Uab>bK8g1)TFuI!M^Jz6ADp_XIw~&GW z2la|R_V+ihx~&FTdAV9j_XYc@+I=>{5WRl*KB*PdvY3kznhm|nPeR(c9&g1^R&w7? zq%RWQvehPsmvjWgS2Xs-I=N3)HLuTi2Uef=vpfCVWyEfVB=%UMH2YojIzK%03RQdD zEO+OUX$Aj|8@m)tq7AUcJr5g?kbFY})cPes9vOxOekEHkB0|mcw zpm0#NTE1m&%FG#8Jt89`H*uhp$`DUMQ!WxC%2AHRLd9#2_+TY+S23$QAWN1)F?-6! zUER(8DyFYwUwt(}CK>kyn8cwL z*k_eth!B<4;1F!O^U0OkFy1Wt+(wW+U0k!`6n;{y$%SoT<)z-2kCs2Ej>m^|__j*+ z?I$@hOlh9&i4&&w7>6Ue8{0%H-YC3`pSmupZC+}8&Tsipp;yCV>ul!}GIL~^9raDC zvt-Uu!4>k(Ut=n~wp71(7&C_`a&aF~)_!XY9jYkY*-nlCVwE9d=r*;y8IoKudOBCh zl+aO%9FSkQdo|@hV%VFk%47{ z^ZJ|mi|5#$7V!Aa5%PkTD_p0p({~a?Ey|m|!g?)NJk_1ulODUo09fxEz61HDn2c|f zYikR8>QZt2NCT$#?8j;LRSF-S#+#P5-#bdhNpI>3MV=)U173ZsGarSiv-XThyo@{Q zCjpOj?V0i{Tff-z)4U8Hb%k@(@0aQuE%X$@D^%(sx@fcpB`;O(i-WBBzVp4Whb=7! ziDjqKzW8u&)1IQ2t1d+OW~SW&G-k%&-2}#aZY{ALz3x%Y;YSt28E-NDGdB6fmGIu- z1t^a^dxE<)x`+`xkPqx^Bd3U z_Fo2ilb=Mf99NtguG}N;=I?z)0Plgi&nyG(Ck|xd0|j~aZ5$RH&&pGft2tJGQ2y|& z^i~`tJ8nAY%AjDfBuM}7<$oCbj|cw?ga1jv|CI25O8EbV66#2W zcyRq=YL69LZEbqCb4lhuB3Q|ZbouTdE@Wm)Biq#bjf!uf5h*Z)pb@bnU5Y34#LH~n zOa?tZK!V^w_k%$l8xLTw?Z{_=5X54v`bC>ReY_t4xPH6P%niTQhK~IBN_QJB++kL9 zD+${S&E>79@!3hV&JDN^u;!q<=Ahe>ptb>_YM0g3^(%vo+l8s+ zAVjym75kc4rEH(QbgvE|Elou zf;>E~!Xyd)Fxm8-xaIAp zC68aa9tfSs``2&Ak)?b|z9xsdezNCpW-CUk*zrY)eV_TP&eEZZQp!M3BrG7*K5{wT1gCh)SN z8!F!Ic5JZWdoO}Ag#ff^*~)qmouO0JAUW*4)WZe!`f0dV7c{#hwu&X8=lP#GVm4V3 zw`gr9yussZ?Sel*a!C^dU&i8*@ zcXv`hnc8*1N{#3?@g;-^=gK9YvJxUuiwlI?wr66Yaisk>rvH zG;IXlHFxZC0kyX_hgAd51Md*~27}I@Jtt@fHLVIFeyn|iltimM#%z?U+5ZaBArjAJ zc#NU@G>oU^dr98;e$eCo5xu5~$>VuycJ%A#bqAJ zN?do$W`lP=6%nFR<8ljYks}AeuY*i}y@~LdE1=uuPdrwmeu4lg3uXlI)%lSyFnK>V z3ApaMrlsZbUFSuj^_WwCzqMo$pMB+?asO~|kv-A6pCjJcFpb1w_;}6(KSw;(H2H_C z%q8y!<5D=uf+eBplN3A1PibmP8v~UYLQ+WCk*X@Kt5|El^f1%kD158X16c=MS;Kct z9(Qe3{Z>vuZ1sy?fOywv1Aw_5;!(z{mi5bO;lQj;w5xKRP9=Nr3@uM<>>@5VqC3E* z?#)Gs6c^`7=k+>J{#%1GuWKafmPL8?{k+LTN*cfCUA@#@eOb6!92~Uq2zn|7`(;dp zY=ck<`t|^X8VH0Z#sW+nkihYjJj(|~)6-c$T+^76QM2O;UgAg_XRvDAsW)aEX%Eu4 z#T3Y~({!p%PN@GnDLWM*HvQ; zM}ADdGKB2#@U(6lXm#tm*uF00n5zCqdSU7!YKQ4f?RdNV%NGTt%R`2bz2sd}!E5b~ zqZrbEGDGoNN8uBo{AJoIVDIIu=ix^seYf!2N%;Nb%$R#}ZPBkAWQ9a!<#d@e3#rR8 zRZ)398#`-#z9(MnoP@Evi-Dj;tr9t8hm$_}IoOG{6k=mDrY1`!-bOOgM{5oxcenb) zl_dokjT4)XXbkAjf7y8YTvnJ!c@q3RP+D-~E zUTS?mp!hd0bud8oxQj-!v23o9^vB0xBo?tHv+48Hpqtd_+p97M7qj7b63nMyeZC7j5|s>+SjFJ+4ri8j5PTS z*b{Xd3yOn{2ge$E0_O%uwlMRq%i=kgjsnqD7%}aWE55F@ue~3cQb0NOS543K# zkwCcZEy8U~F+xc_KT#0GT=SP0b8jABQtkZxv~1wk0ZHR7z4PWx2*PnYw-I`tFV7Ts zXH#dD-}u~&nm9Ed62l}d_p0qoTCBhBq9jm-zX7c9Q@Kb*wGBC-+YBQWnt#k<))$?6 zmL|xgt(z;Lg+Vk)!Z0BM#E~DzmzMbvXH}sh8M#-=+CAqIh@@fb7CM(-L#jr68@mCE zbqP%*DA=_|C{U>RD`!ML`MI{({pcZ;<9|NvnN~S~2Yg@bvV4Yx#^5u-6TVt&CGPmg zpf?DEsLC7Dd+^cTVx>IM`TPi#g3o^BX@vD8mU)#6#;B&OR^PfJG}W6pT4XQeOv-K+y7g(L`n*2?ZiqLwdEke<=v&d$({bHcA>us zt2O=k=ac&DuCwLfwQ+$sSI6nW1AsQDBFC`3!8?9#(omU3?-LqB>i%3T85fWfAArho zp3@eXxZ`gYf*mJGChV8(GL3P^hrmY(fsaN~<2QuE!6q*&(!~e2>rK17tnc~I28RTT zC3rBAyO^gPg`L(&(Y2WGjWFo(giBV&lMf$>+GDY$_w>V9rJ|_Vre#gGg>iQgIUpi} z*Ygf>Wr3{;^0q~Qp-uRQ z{A<~}2^n&f!6amx?+W@F$TNvH+jdBGR_ia3gfEnJ zX6L@GpT&8V@^blPLgz9_g_FmO+cE-dhdprHR=wIpc9&eHt%tL%h2u2c@}^8pXWt zxL}l;Wr%bh5IiCU&TQq!^>jd#*|jSu*xa(sf0i6{Gs#6o(He*d`Av=n{VwC5Xyo9KjZ?$9I29lt2Hy zM{sAkb2n4F2lA2lKZT2~hUpfk$%9<{--V2VX+5HtNrC@8f@wW5JCdWP^Nkhhsrd3= zpZQM0jzk(vq+nXtLusAUxC-_I*k?LI+*7%#Pl4P9fVDb`(Q@`>qJ&c!bfb2JN}T z%?}k^1!lb{s#3X$N+dmei1O&<=(Ep72)h7+45JSvLE{}Y*$OB+%F<rzMiW zWKEOv?OBt{q}1*!EUEWF{l_#FgetTyb9~o9J)sl+vzhzxc16D3C`Oa?x;1PGJuAez zu$k2E1!e?96e!}5pLdL3>3oi&jjy&-yL{2OaS9xlng@151Tcj@KenSuH5Yaaz@w&h6G8mlmbG(M|6MSKD9 z&)lwt_H*18Tp!(o;<6zf)9d@qQv36AET;x#1HC@mk)d1G>a>K|IFlRp+9uk7uuT zZyN&&{tfNe{>1Sge&U1#ZP=z3#7k@)PKvp-4z_t5cU|oA(BI4zcrDrP%S(B}OC+GJ zqoCF;PlQ=H8|~GDuD`;_B`qE>Bn-M8pl!H*SxpWN|1vfA{$k(nPq@6 zV7dyT^Y8fFXK-3`L#~xpy5VVDyp5CvL{_p>YiYW%be)Z`qaB#_q-=^6g zlYj1vw3>)O8fHye0d;?)C;!8`I}~p*dVd+I!LYl@`QLtqU;c={{wv5nTzA1O=-`Ee zVEE21ohFuE!})woz{9w8H?-#&eIp>G$=<&UdcR&m*X{BPJ>IYP2i1i`z)GOyza#1q zerxmh%-k}A{4TnlLK-(15i@JxtMcD(-v~Hf-3U0)j5h)&*tY*4&=O|^j}dmN&^osK zoc@;tbnFMvAO6Mgc4vJ^_R;@bw&Wi{wi@lQUeh{s3`nNZ&J1;x`rdUb4V?C7ldd+h3;REmof>RZX zcXI9j(!K%V?vlU5rlo%Yf7K#4o4yWW_X^z5zW~kFsk#0yJ8_-;t^fAxWzO}wZS&wO zhxoxN7*NVH=p-A`HU58#Yld(~)!#pG9ZcJ_VH=O2Z7ylhs{<*zy0t6(bV!F%r?b+( z6vFtjt^RM(5uNngT3B`J26FqAWmImy2{l;vyCZ%t=GXS4{lv(Z!C( zlV>y+$yMOHO^}!GZ@l)C##wNDXA*v_joqjtec`fB_v6XU1n24<{`|ipbJpZ+;6F}e zIb9Lh2<%nlxs6}D0(iE6b@0dq)tp)!-$@SDUAMyH#6hq_ITG)!;FFE{kP?=MbO$xH2jz4aRLR?B?u zVQw9~k~~#nVGY?7iUje)YKSsj>c@o-PbdQ{8kY=W$7Zg!ogGegC#v#`N?5 E2W2)a*Z=?k literal 0 HcmV?d00001 diff --git a/attachments/3539044.png b/attachments/3539044.png new file mode 100644 index 0000000000000000000000000000000000000000..5cfc0817bc90b0ef81e4b4725567b57465dbacd8 GIT binary patch literal 409037 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

      A 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 TrM){6;|m`sfY+P9Z<6iah-8tUlgXKT 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 - - - - - - - -

      This section is intended for advanced users.

      - -#### Build requirements +## Build requirements The GStreamer SDK build system provides bootstrapping facilities for all platforms, but it still needs a minimum base to bootstrap: @@ -20,61 +12,46 @@ platforms, but it still needs a minimum base to bootstrap: included in python2.7. - git - - - - - - - -
      Windows users
      +> ![Information](images/icons/emoticons/information.png) +> **Windows users** +> +> Cerbero can be used on Windows using the Msys/MinGW shell (a Unix-like shell for Windows). There is a bit of setup that you need to do before Cerbero can take control. +> +> You need to install the following programs: +> - [Python 2.7](http://www.python.org/getit/releases/2.7/) +> - [Git](http://code.google.com/p/msysgit/downloads/list?q=full+installer+official+git) (Select the install option "Checkout as-is, Commit as-is" and install it in a path without spaces, eg: c:\Git) +> - [Msys/MinGW](https://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/) (Install it with all the options enabled) +> - [CMake](http://www.cmake.org/cmake/resources/software.htm) (Select the option "Add CMake in system path for the current user") +> - [Yasm](http://yasm.tortall.net/Download.html) (Download the win32 or win64 version for your platform, name it yasm.exe, and place it in your MinGW bin directory, typically, C:\MinGW\bin) +> - [WiX 3.5](http://wix.codeplex.com/releases/view/60102) +> - [Microsoft SDK 7.1](http://www.microsoft.com/en-us/download/details.aspx?id=8279) (Install the SDK samples and the Visual C++ Compilers, required to build the DirectShow base classes. Might need installing the .NET 4 Framework first if the SDK installer doesn't find it) +> - [Windows Driver Kit 7.1.0](http://msdn.microsoft.com/en-us/windows/hardware/hh852365) +> +> Your user ID can't have spaces (eg: John Smith). Paths with spaces are not correctly handled in the build system and msys uses the user ID for the home folder. +> +>Cerbero must be run in the MinGW shell, which is accessible from the main menu once MinGW is installed. +> +>The last step is making `python` and `git` available from the shell, for which you will need to create a `.profile` file. Issue this command from within the MinGW shell: +> +> `echo "export PATH=\"\$PATH:/c/Python27:/c/Git/bin\"" >> ~/.profile` +> +> Using the appropriate paths to where you installed `python` and `git` +> +> (Note that inside the shell, / is mapped to c:\Mingw\msys\1.0\ ) -

      Cerbero can be used on Windows using the Msys/MinGW shell (a Unix-like shell for Windows). There is a bit of setup that you need to do before Cerbero can take control.

      -

      You need to install the following programs:

      -
        -
      • Python 2.7
      • -
      • Git (Select the install option "Checkout as-is, Commit as-is" and install it in a path without spaces, eg: c:\Git)
      • -
      • Msys/MinGW (Install it with all the options enabled)
      • -
      • CMake (Select the option "Add CMake in system path for the current user")
      • -
      • Yasm (Download the win32 or win64 version for your platform, name it yasm.exe, and place it in your MinGW bin directory, typically, C:\MinGW\bin)

      • -
      • WiX 3.5 
      • -
      • Microsoft SDK 7.1 (Install the SDK samples and the Visual C++ Compilers, required to build the DirectShow base classes. Might need installing the .NET 4 Framework first if the SDK installer doesn't find it)
      • -
      • Windows Driver Kit 7.1.0
      • -
      -

      Your user ID can't have spaces (eg: John Smith). Paths with spaces are not correctly handled in the build system and msys uses the user ID for the home folder.

      -

      Cerbero must be run in the MinGW shell, which is accessible from the main menu once MinGW is installed.

      -

      The last step is making python and git available from the shell, for which you will need to create a .profile file. Issue this command from within the MinGW shell:

      -
      -
      -
      echo "export PATH=\"\$PATH:/c/Python27:/c/Git/bin\"" >> ~/.profile
      -
      -
      -

      Using the appropriate paths to where you installed python and git.

      -

      (Note that inside the shell, / is mapped to c:\Mingw\msys\1.0\ )

      - - - - - - - -
      OS X users
      +> ![Information](images/icons/emoticons/information.png) +> **OS X users** +> +>To use cerbero on OS X you need to install the "Command Line Tools" from XCode. They are available from the "Preferences" dialog under "Downloads". -

      To use cerbero on OS X you need to install the "Command Line Tools" from XCode. They are available from the "Preferences" dialog under "Downloads".

      - - - - - - - -
      iOS developers
      +> ![Information](images/icons/emoticons/information.png) +> **iOS developers** +> +>If you want to build the GStreamer-SDK for iOS, you also need the iOS SDK. The minimum required iOS SDK version is 6.0 and is included in [XCode](https://developer.apple.com/devcenter/ios/index.action#downloads) since version 4. -

      If you want to build the GStreamer-SDK for iOS, you also need the iOS SDK. The minimum required iOS SDK version is 6.0 and is included in Xcode since version 4.

      - -Download the sources +## Download the sources To build the GStreamer SDK, you first need to download **Cerbero**. Cerbero is a multi-platform build system for Open Source projects that @@ -83,8 +60,8 @@ architectures and distributions. Get a copy of Cerbero by cloning the git repository: -``` theme: Default; brush: plain; gutter: false -git clone git://anongit.freedesktop.org/gstreamer-sdk/cerbero +``` +git clone git://anongit.freedesktop.org/gstreamer/cerbero ``` Cerbero can be run uninstalled and for convenience you can create an @@ -92,11 +69,11 @@ alias in your `.bashrc` file*. *If you prefer to skip this step, remember that you need to replace the calls to `cerbero` with `./cerbero-uninstalled` in the next steps. -``` theme: Default; brush: plain; gutter: false +``` echo "alias cerbero='~/git/cerbero/cerbero-uninstalled'" >> ~/.bashrc ``` -#### Setup environment +## Setup environment After Cerbero and the base requirements are in place, you need to setup the build environment. @@ -116,8 +93,8 @@ An example configuration file with detailed comments can be found To fire up the bootstrapping process, go to the directory where you cloned/unpacked Cerbero and type: -``` theme: Default; brush: plain; gutter: false -cerbero bootstrap  +``` +cerbero bootstrap ``` Enter the superuser/root password when prompted. @@ -125,12 +102,12 @@ Enter the superuser/root password when prompted. The bootstrap process will then install all packages required to build the GStreamer SDK. -#### Build the SDK +## Build the SDK To generate the SDK, use the following command: -``` theme: Default; brush: plain; gutter: false -cerbero package gstreamer-sdk +``` +cerbero package gstreamer-1.0 ``` This should build all required SDK components and create packages for @@ -138,7 +115,7 @@ your distribution at the Cerbero source directory. A list of supported packages to build can be retrieved using: -``` theme: Default; brush: plain; gutter: false +``` cerbero list-packages ``` @@ -146,26 +123,26 @@ Packages are composed of 0 (in case of a meta package) or more components that can be built separately if desired. The components are defined as individual recipes and can be listed with: -``` theme: Default; brush: plain; gutter: false +``` cerbero list ``` To build an individual recipe and its dependencies, do the following: -``` theme: Default; brush: plain; gutter: false +``` cerbero build ``` Or to build or force a rebuild of a recipe without building its dependencies use: -``` theme: Default; brush: plain; gutter: false +``` cerbero buildone ``` To wipe everything and start from scratch: -``` theme: Default; brush: plain; gutter: false +``` cerbero wipe ``` @@ -173,39 +150,39 @@ Once built, the output of the recipes will be installed at the prefix defined in the Cerbero configuration file `$HOME/.cerbero/cerbero.cbc` or at `$HOME/cerbero/dist` if no prefix is defined. -#### Build a single project with the SDK +### Build a single project with the SDK Rebuilding the whole SDK is relatively fast on Linux and OS X, but it can be very slow on Windows, so if you only need to rebuild a single project (eg: gst-plugins-good to patch qtdemux) there is a much faster -way of doing it. You will need  to follow the steps detailed in this -page, but skipping the step "**Build the SDK**", and installing the -SDK's development files as explained in [Installing the -SDK](Installing%2Bthe%2BSDK.html). +way of doing it. You will need to follow the steps detailed in this +page, but skipping the step "**Build the SDK**", and installing the +SDK's development files as explained in [Installing the +SDK](Installing+the+SDK.markdown). By default, Cerbero uses as prefix a folder in the user directory with the following schema ~/cerbero/dist/$platform\_$arch, but for the SDK we must change this prefix to use its installation directory. This can be done with a custom configuration file named *custom.cbc*: -``` theme: Default; brush: plain; gutter: false +``` # For Windows x86 -prefix='/c/gstreamer-sdk/0.10/x86/' -  +prefix='/c/gstreamer/1.0/x86/' + # For Windows x86_64 -#prefix='/c/gstreamer-sdk/0.10/x86_64' -  +#prefix='/c/gstreamer/1.0/x86_64' + # For Linux -#prefix='/opt/gstreamer-sdk' -  +#prefix='/opt/gstreamer' + # For OS X -#prefix='/Library/Frameworks/GStreamer.framework/Versions/0.10' +#prefix='/Library/Frameworks/GStreamer.framework/Versions/1.0' ``` The prefix path might not be writable by your current user. Make sure you fix it before, for instance with: -``` theme: Default; brush: plain; gutter: false +``` $ sudo chown -R /Library/Frameworks/GStreamer.framework/ ``` @@ -214,41 +191,39 @@ environment set up to target the SDK. You can start a new shell using the installation prefix defined in *custom.cbc *with the following command: -``` theme: Default; brush: plain; gutter: false +``` $ cerbero -c custom.cbc shell ``` Once you are in Cerbero's shell you can compile new -projects targeting the SDK using the regular build +projects targeting the SDK using the regular build process: -``` theme: Default; brush: plain; gutter: false +``` $ git clone -b sdk-0.10.31 git://anongit.freedesktop.org/gstreamer-sdk/gst-plugins-good; cd gst-plugins-good $ sh autogen.sh --disable-gtk-doc --prefix= $ make -C gst/isomp4 ``` -  - -#### Cross-compilation of the SDK +### Cross-compilation of the SDK Cerbero can be used to cross-compile the SDK to other platforms like Android or Windows. You only need to use a configuration file that sets the target platform, but we also provide a set of of pre-defined configuration files for the supported platforms (you will find them in -the `config` folder with the `.cbc` extension +the `config` folder with the `.cbc` extension -##### Android +#### Android You can cross-compile the SDK for Android from a Linux host using the configuration file `config/cross-android.cbc`. Replace all the previous commands with: -``` theme: Default; brush: plain; gutter: false +``` cerbero -c config/cross-android.cbc ``` -##### Windows +#### Windows The SDK can also be cross-compiled to Windows from Linux, but you should only use it for testing purpose. The DirectShow plugins cannot be @@ -257,24 +232,21 @@ only be created from Windows. Replace all the above commands for Windows 32bits with: -``` theme: Default; brush: plain; gutter: false +``` cerbero -c config/cross-win32.cbc ``` Or with using the following for Windows 64bits: -``` theme: Default; brush: plain; gutter: false +``` cerbero -c config/cross-win64.cbc ``` -##### iOS +#### iOS To cross compile for iOS from OS X, use the configuration file `config/cross-ios-universal.cbc`. Replace all previous commands with: -``` theme: Default; brush: cpp; gutter: false +``` cerbero -c config/cross-ios-universal.cbc ``` - -Document generated by Confluence on Oct 08, 2015 10:27 - diff --git a/Home.markdown b/Home.markdown index 503a0b134e..d3fdb88c62 100644 --- a/Home.markdown +++ b/Home.markdown @@ -59,8 +59,7 @@ Commercial support, bug reporting... ## Attachments: -![](images/icons/bullet_blue.gif) -[download.png](attachments/327688/2424858.png) (image/png) +[download.png](attachments/2424858.png) ![](images/icons/bullet_blue.gif) [tutorials.png](attachments/327688/2424859.png) (image/png) ![](images/icons/bullet_blue.gif) diff --git a/Installing+for+Android+development.markdown b/Installing+for+Android+development.markdown index 079579e4e9..98a6ecd24f 100644 --- a/Installing+for+Android+development.markdown +++ b/Installing+for+Android+development.markdown @@ -1,8 +1,6 @@ -# GStreamer SDK documentation : Installing for Android development +# Installing for Android development -This page last changed on May 24, 2013 by xartigas. - -# Prerequisites +## Prerequisites The development machine is where you will develop your Android application, which then you will deploy on the target machine, which @@ -20,17 +18,10 @@ needs to have installed: you have at least one Android SDK platform installed with API version 9 or higher. -Optionally, you can use the [Eclipse -IDE](http://www.eclipse.org/eclipse/). As stated in the Android -documentation, *developing in Eclipse with ADT is highly recommended and -is the fastest way to get started*. If you plan to use the Eclipse IDE: +Optionally, you can use the [Android Studio] (FIX LINK). As stated in the Android +documentation, *developing in Android Studio is highly recommended and +is the fastest way to get started*. - - Install the [Android ADT - plugin](http://developer.android.com/sdk/installing/installing-adt.html) for - Eclipse - - Install the [Android NDK - plugin](http://tools.android.com/recent/usingthendkplugin) for - Eclipse Before continuing, make sure you can compile and run the samples included in the Android NDK, and that you understand how the integration @@ -41,9 +32,9 @@ NDK](http://developer.android.com/tools/sdk/ndk/index.html) documentation, you can find some useful [Android JNI tips here](http://developer.android.com/guide/practices/jni.html). -# Download and install the SDK +## Download and install the SDK -The SDK has two variants: **Debug** and **Release**. The Debug variant +The SDK has two variants: **Debug** and **Release**. The Debug variant produces lots of debug output and is useful while developing your application. The Release variant is what you will use to produce the final version of your application, since GStreamer code runs slightly @@ -53,46 +44,15 @@ Get the compressed file below and just unzip it into any folder of your choice (Choose your preferred file format; both files have exactly the same content) - --- - - - - - - - - - - - - - - - - -
      Debug variant
      Release variant
      +### Debug variant - - - - - - - -

      Due to the size of these files, usage of a Download Manager is highly recommended. Take a look at this list if you do not have one installed. If, after downloading, the installer reports itself as corrupt, chances are that the connection ended before the file was complete. A Download Manager will typically re-start the process and fetch the missing parts.

      + FIXME: Link to download files If you intend to build the tutorials in this same folder, make sure you have writing permissions. + FIXME: Is this all TRUE ? + In the process of building GStreamer-enabled Android applications, some tools will need to know where you installed the SDK. You must define an environment variable called `GSTREAMER_SDK_ROOT_ANDROID` and point it to @@ -105,16 +65,9 @@ Windows). - Point `GSTREAMER_SDK_ROOT_ANDROID` to the folder where you unzipped the SDK. - - - - - - - -

      If you plan to use Eclipse and do not want to define this environment variable globally, you can set it inside Eclipse. Go to Window → Preferences → C/C++ → Build → Build Variables and define GSTREAMER_SDK_ROOT_ANDROID there.

      +> ![](images/icons/emoticons/information.png) If you plan to use Eclipse and do not want to define this environment variable globally, you can set it inside Eclipse. Go to Window → Preferences → C/C++ → Build → Build Variables and define `GSTREAMER_SDK_ROOT_ANDROID` there. -# Configure your development environment +## Configure your development environment There are two routes to use GStreamer in an Android application: Either writing your GStreamer code in Java or in C. @@ -143,7 +96,7 @@ Android NDK projects, so the instructions at the [Android NDK](http://developer.android.com/tools/sdk/ndk/index.html) home can be followed: -![](images/icons/grey_arrow_down.gif)Using Eclipse (Click to expand) +#### Using Eclipse Make sure you have installed the ADT and NDK plugins listed in the prerequisites section, and that they are both aware of the location of @@ -154,13 +107,12 @@ File → New → Project… → Android Project from Existing Code, and select the folder called `android-tutorial-1`. After reading in the project and generating some extra files and -folders, Eclipse might complain about missing files. **This is normal**, +folders, Eclipse might complain about missing files. **This is normal**, we are not finished yet. Provide native development support by activating the NDK plugin: Right-click on the project in the Project Explorer (this should be the -top-most folder, -called `com.gst_sdk_tutorials.tutorial_1.Tutorial1`) → Android +top-most folder, called `com.gst_sdk_tutorials.tutorial_1.Tutorial1`) → Android tools → Add Native Support… Here the NDK plugin asks for a library name. This is irrelevant and any valid file name will do. Accept. @@ -179,21 +131,13 @@ tutorial in an Android Virtual Device (AVD), make sure to create the device with support for audio playback and GPU Emulation (to enable OpenGL ES). -![](images/icons/grey_arrow_down.gif)Using the command line (Click to -expand) +#### Using the command line - - - - - - - -

      Note that, on Windows, this procedure requires a working Cygwin shell, as explained in the Android NDK System Requirements.

      +> ![](images/icons/emoticons/warning.png) Note that, on Windows, this procedure requires a working Cygwin shell, as explained in the [Android NDK System Requirements](http://developer.android.com/tools/sdk/ndk/index.html#Reqs) For each tutorial, move to its folder and run: -``` theme: Default; brush: plain; gutter: false +``` android update project -p . -s --target X ``` @@ -204,7 +148,7 @@ API level 9. To get a list of all available targets in your system issue this command: -``` theme: Default; brush: plain; gutter: false +``` android list ``` @@ -213,7 +157,7 @@ the build system. You only need to perform this action once per project. To build the C part, just call: -``` theme: Default; brush: plain; gutter: false +``` ndk-build ``` @@ -224,13 +168,13 @@ methods. Finally, compile the Java code with: -``` theme: Default; brush: plain; gutter: false +``` ant debug ``` And install on the device with: -``` theme: Default; brush: plain; gutter: false +``` adb install -r bin/Tutorial1-debug.apk ``` @@ -244,17 +188,12 @@ tutorial in an Android Virtual Device (AVD), make sure to create the device with support for audio playback and GPU Emulation (to enable OpenGL ES). - - - - - - - -
      Windows linkage problems
      -

      Due to problems related to the standard linker, Google’s Gold Linker is used to build GStreamer applications.  Unfortunately, the Android NDK toolchain for Windows does not include the gold linker and the standard one has to be used.

      -

      If you observe linkage problems, you can replace the linker in your Android NDK with the gold one from this project. Download the android-ndk-r8b-ma-windows.7z file, extract \android-ndk-r8b\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\arm-linux-androideabi\bin\ld.exe (only this file is needed) and overwrite the one in the same folder in your Android NDK installation. You might need the free 7-Zip archiving utility.

      +> ![](images/icons/emoticons/warning.png) Windows linkage problems +> +> Due to problems related to the standard linker, Google’s
      Gold Linker is used to build GStreamer applications.  Unfortunately, the Android NDK toolchain for Windows does not include the gold linker and the standard one has to be used. +> +> If you observe linkage problems, you can replace the linker in your Android NDK with the gold one from [this project](http://code.google.com/p/mingw-and-ndk/downloads/detail?name=android-ndk-r8b-ma-windows.7z&can=2&q=). Download the `android-ndk-r8b-ma-windows.7z` file, extract `\android-ndk-r8b\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\arm-linux-androideabi\bin\ld.exe` (only this file is needed) and overwrite the one in the same folder in your Android NDK installation. You might need the free [7-Zip archiving utility](http://www.7-zip.org/) ### Creating new projects @@ -271,7 +210,7 @@ project, and its barebones structure (as auto-generated by Eclipse) is: **Android.mk** -``` theme: Default; brush: plain; gutter: true +``` LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) @@ -290,7 +229,7 @@ Adding GStreamer support only requires adding these lines: **Android.mk with GStreamer support** -``` theme: Default; brush: plain; gutter: true +``` LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) @@ -336,59 +275,54 @@ Listing all desired plugins can be cumbersome, so they have been grouped into categories, which can be used by including the `plugins.mk` file, and used as follows: -``` theme: Default; brush: plain; gutter: false +``` include $(GSTREAMER_NDK_BUILD_PATH)/plugins.mk GSTREAMER_PLUGINS := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_CODECS) playbin souphttpsrc ``` -![](images/icons/grey_arrow_down.gif)List of categories and included -plugins (Click to expand) +#### List of categories and included plugins - + - + - + - + - + - + - + - + - + - + - + - + - + - +
      Category Included plugins
      GSTREAMER_PLUGINS_COREcoreelements coreindexers adder app audioconvert audiorate audioresample audiotestsrc ffmpegcolorspace gdp gio pango typefindfunctions videorate videoscale videotestsrc volume autodetect videofiltercoreelements coreindexers adder app audioconvert audiorate audioresample audiotestsrc ffmpegcolorspace gdp gio pango typefindfunctions videorate videoscale videotestsrc volume autodetect videofilter
      GSTREAMER_PLUGINS_PLAYBACKdecodebin2 playbindecodebin playbin
      GSTREAMER_PLUGINS_CODECSsubparse ogg theora vorbis alaw annodex apetag audioparsers auparse avi flac flv flxdec icydemux id3demux isomp4 jpeg matroska mulaw multipart png speex taglib wavenc wavpack wavparse y4menc adpcmdec adpcmenc aiff cdxaparse dtmf dvbsuboverlay dvdspu fragmented hdvparse id3tag ivfparse jp2k kate mve mxf nsf nuvdemux opus pcapparse pnm schro siren subenc tta videoparsersbad vmnc vp8 y4mdecsubparse ogg theora vorbis alaw annodex apetag audioparsers auparse avi flac flv flxdec icydemux id3demux isomp4 jpeg matroska mulaw multipart png speex taglib wavenc wavpack wavparse y4menc adpcmdec adpcmenc aiff cdxaparse dtmf dvbsuboverlay dvdspu fragmented hdvparse id3tag ivfparse jp2k kate mve mxf nsf nuvdemux opus pcapparse pnm schro siren subenc tta videoparsersbad vmnc vp8 y4mdec
      GSTREAMER_PLUGINS_VISlibvisual goom goom2k1 audiovisualizerslibvisual goom goom2k1 audiovisualizers
      GSTREAMER_PLUGINS_EFFECTSalpha alphacolor audiofx cutter debug deinterlace effectv equalizer gdkpixbuf imagefreeze interleave level multifile replaygain shapewipe smpte spectrum videobox videocrop videomixer autoconvert bayer coloreffects faceoverlay fieldanalysis freeverb frei0r gaudieffects geometrictransform interlace jp2kdecimator liveadder rawparse removesilence scaletempoplugin segmentclip smooth speed stereo videofiltersbad videomeasure videosignalalpha alphacolor audiofx cutter debug deinterlace effectv equalizer gdkpixbuf imagefreeze interleave level multifile replaygain shapewipe smpte spectrum videobox videocrop videomixer autoconvert bayer coloreffects faceoverlay fieldanalysis freeverb frei0r gaudieffects geometrictransform interlace jp2kdecimator liveadder rawparse removesilence scaletempoplugin segmentclip smooth speed stereo videofiltersbad videomeasure videosignal
      GSTREAMER_PLUGINS_NETrtsp rtp rtpmanager souphttpsrc udp dataurisrc rtpmux rtpvp8 sdpelemrtsp rtp rtpmanager souphttpsrc udp dataurisrc rtpmux rtpvp8 sdpelem
      GSTREAMER_PLUGINS_CODECS_GPLassrenderassrender
      GSTREAMER_PLUGINS_SYSeglglessink opensles amceglglessink opensles amc
      -Build and run your application as explained in the **Building the -tutorials** section. - -Document generated by Confluence on Oct 08, 2015 10:27 - +Build and run your application as explained in the **Building the tutorials** section. diff --git a/Installing+for+iOS+development.markdown b/Installing+for+iOS+development.markdown index 51aa0cd5ca..fd40e4c20c 100644 --- a/Installing+for+iOS+development.markdown +++ b/Installing+for+iOS+development.markdown @@ -1,8 +1,6 @@ -# GStreamer SDK documentation : Installing for iOS development +# Installing for iOS development -This page last changed on Jun 12, 2013 by xartigas. - -# Prerequisites +## Prerequisites For iOS development you need to download Xcode and the iOS SDK. Xcode can be found at the App Store or @@ -15,39 +13,15 @@ Xcode is 4, but 4.5 is recommended. In case you are not familiar with iOS, Objective-C or Xcode, we recommend taking a look at the available documentation at Apple's website. -[This](http://developer.apple.com/library/ios/#DOCUMENTATION/iPhone/Conceptual/iPhone101/Articles/00_Introduction.html) -can be a good starting point. +[This](http://developer.apple.com/library/ios/#DOCUMENTATION/iPhone/Conceptual/iPhone101/Articles/00_Introduction.html) can be a good starting point. # Download and install the SDK The GStreamer SDK installer can be found at: - --- - - - - - - - - - - -
      Universal
      +**FIXME: Add links** - - - - - - - -

      Due to the size of these files, usage of a Download Manager is highly recommended. Take a look at this list if you do not have one installed. If, after downloading, the installer reports itself as corrupt, chances are that the connection ended before the file was complete. A Download Manager will typically re-start the process and fetch the missing parts.

      +> ![Warning](images/icons/emoticons/warning.png) Due to the size of these files, usage of a [Download Manager](http://en.wikipedia.org/wiki/Download_manager) is **highly recommended**. Take a look at [this list](http://en.wikipedia.org/wiki/Comparison_of_download_managers) if you do not have one installed. If, after downloading, the installer reports itself as corrupt, chances are that the connection ended before the file was complete. A Download Manager will typically re-start the process and fetch the missing parts. Double click the package file and follow the instructions presented by the install wizard. In case the system complains about the package not @@ -66,7 +40,7 @@ Xcode application templates for GStreamer development. Those templates are also copied to `~/Library/Developer/Xcode/Templates` during installation so that Xcode can find them. -# Configure your development environment +## Configure your development environment GStreamer is written in C, and the iOS API uses mostly Objective-C (and C for some parts), but this should cause no problems as those languages @@ -76,8 +50,8 @@ example. ### Building the tutorials The GStreamer SDK ships a few tutorials in the `xcode iOS` folder inside -the `.dmg` file. Copy them out of the package and into a more suitable -place.** **We recommend that you open the project in Xcode, take a look +the `.dmg` file. Copy them out of the package and into a more suitable +place. We recommend that you open the project in Xcode, take a look at the sources and build them. This should confirm that the installation works and give some insight on how simple it is to mix Objective-C and C code. @@ -95,13 +69,13 @@ to find, use and link GStreamer just like in traditional linux development. For example, if you don't use the templates, you'll have to use: -``` theme: Default; brush: cpp; gutter: false -#include   +``` +#include ``` instead of the usual: -``` theme: Default; brush: cpp; gutter: false +``` #include ``` @@ -111,7 +85,5 @@ keep development consistent across all the platforms the SDK supports. Once a project has been created using a GStreamer SDK Template, it is ready to build and run. All necessary infrastructure is already in place. To understand what files have been created and how they interact, -take a look at the [iOS tutorials](iOS%2Btutorials.html). - -Document generated by Confluence on Oct 08, 2015 10:27 +take a look at the [iOS tutorials](iOS+tutorials.markdown). diff --git a/Installing+on+Mac+OS+X.markdown b/Installing+on+Mac+OS+X.markdown index 5d298e8f71..3fd088c3ca 100644 --- a/Installing+on+Mac+OS+X.markdown +++ b/Installing+on+Mac+OS+X.markdown @@ -1,8 +1,8 @@ -# GStreamer SDK documentation : Installing on Mac OS X +# Installing on Mac OS X -This page last changed on Jun 12, 2013 by xartigas. +## Prerequisites -# Prerequisites +**FIXME: Those all need updating** To develop applications using the GStreamer SDK for OS X you will need OS X Snow Leopard (10.6) or later and @@ -10,65 +10,37 @@ OS X Snow Leopard (10.6) or later and later. The recommended system is [Mac OS X -Lion](http://www.apple.com/macosx/) with +Lion](http://www.apple.com/macosx/) with [XCode 4](https://developer.apple.com/xcode/) Installing the SDK for 32-bits platforms requires approximately 145MB of free disk space for the runtime and 193MB for the development files. -Installing the SDK for 64-bits platforms requires approximately 152MB of -free disk space for the runtime and 223MB for the development files. +Installing the SDK for 64-bits platforms requires approximately 152MB of +free disk space for the runtime and 223MB for the development files. -# Download and install the SDK +## Download and install the SDK There are 3 sets of files in the SDK: - The runtime files are needed to run GStreamer applications. You probably want to distribute these files with your application (or the installer below). - - The development files are **additional** files you need to create + - The development files are **additional** files you need to create GStreamer applications. - Mac OS X packages that you can use - with [PackageMaker](https://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/PackageMakerUserGuide/Introduction/Introduction.html) + with [PackageMaker](https://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/PackageMakerUserGuide/Introduction/Introduction.html) to deploy GStreamer with your application -Get **both the runtime and the development installers** from here: +Get **both the runtime and the development installers** from here: - --- - - - - - - - - -
      Universal
      +** FIXME: Update links ** - - - - - - - -

      On Mac OS X 10.6 (Snow Leopard) you have to install Python 2.7 manually. It is included in later versions of OS X already. You can get it from here.

      +> ![Warning](images/icons/emoticons/warning.png) +> On Mac OS X 10.6 (Snow Leopard) you have to install Python 2.7 manually. It is included in later versions of OS X already. You can get it from [here](http://www.python.org/getit). - - - - - - - -

      Due to the size of these files, usage of a Download Manager is highly recommended. Take a look at this list if you do not have one installed. If, after downloading, the installer reports itself as corrupt, chances are that the connection ended before the file was complete. A Download Manager will typically re-start the process and fetch the missing parts.

      +> ![Warning](images/icons/emoticons/warning.png) +> Due to the size of these files, usage of a [Download Manager](http://en.wikipedia.org/wiki/Download_manager) is **highly recommended**. Take a look at [this list](http://en.wikipedia.org/wiki/Comparison_of_download_managers) if you do not have one installed. If, after downloading, the installer reports itself as corrupt, chances are that the connection ended before the file was complete. A Download Manager will typically re-start the process and fetch the missing parts. The downloads are [Apple Disk Images (.dmg)](http://en.wikipedia.org/wiki/Apple_Disk_Image) containing an @@ -79,7 +51,7 @@ click in the installer to start the installation process. These are some paths of the GStreamer framework that you might find useful: - - /Library/Frameworks/GStreamer.framework/: Framework's root path  + - /Library/Frameworks/GStreamer.framework/: Framework's root path - /Library/Frameworks/GStreamer.framework/Versions: path with all the versions of the framework - /Library/Frameworks/GStreamer.framework/Versions/Current: link to @@ -91,52 +63,38 @@ useful: gst-launch-0.10 For more information on OS X Frameworks anatomy, you can consult the -following [link](https://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPFrameworks/Concepts/FrameworkAnatomy.html) +following [link](https://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPFrameworks/Concepts/FrameworkAnatomy.html) -# Configure your development environment +## Configure your development environment ### Building the tutorials The tutorial's code, along with project files and a solution file for them all are included in the SDK. The source code and the XCode project files are located -in `/Library/Frameworks/GStreamer.framework/Current/share/gst-sdk/tutorials.` +in `/Library/Frameworks/GStreamer.framework/Current/share/gst-sdk/tutorials.` To start building the tutorials, create a new folder in your Documents directory and copy the -folder `/Library/Frameworks/GStreamer.framework/Current/share/gst-sdk/tutorials`. +folder `/Library/Frameworks/GStreamer.framework/Current/share/gst-sdk/tutorials`. -You can fire up XCode and load the project file. +You can fire up XCode and load the project file. -Press the **Run **button to build and run the first tutorial. You can -switch the tutorial to build selecting one of the available schemes.  +Press the **Run **button to build and run the first tutorial. You can +switch the tutorial to build selecting one of the available schemes. ### Creating new projects The GStreamer SDK provides a [framework](https://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPFrameworks/Tasks/IncludingFrameworks.html) that you can drag and drop to XCode to start using it, or using the -linker option ***-framework GStreamer****.* +linker option ***-framework GStreamer****.* There is a small exception to the regular use of frameworks, and you will need to manually include the headers search -path  `/Library/Frameworks/GStreamer.framework/Headers` +path `/Library/Frameworks/GStreamer.framework/Headers` - XCode: Add the headers path to **Search Paths-\> Header Search Paths** - GCC: Using the compiler - option** -I/Library/Frameworks/GStreamer.framework/Headers** - -## Attachments: - -![](images/icons/bullet_blue.gif) -[Configurations.png](attachments/327710/2424835.png) (image/png) -![](images/icons/bullet_blue.gif) -[Schemes.png](attachments/327710/2424836.png) (image/png) -![](images/icons/bullet_blue.gif) [Add -files.png](attachments/327710/2424837.png) (image/png) -![](images/icons/bullet_blue.gif) [Project -Files.png](attachments/327710/2424838.png) (image/png) - -Document generated by Confluence on Oct 08, 2015 10:27 - + option** -I/Library/Frameworks/GStreamer.framework/Headers** \ No newline at end of file diff --git a/Installing+on+Windows.markdown b/Installing+on+Windows.markdown index 389cefdcde..bb80a3b4cf 100644 --- a/Installing+on+Windows.markdown +++ b/Installing+on+Windows.markdown @@ -1,8 +1,6 @@ -# GStreamer SDK documentation : Installing on Windows +# Installing on Windows -This page last changed on Jun 12, 2013 by xartigas. - -# Prerequisites +## Prerequisites To develop applications using the GStreamer SDK for Windows you will need [Windows @@ -30,9 +28,9 @@ Installing the SDK for 32-bits platforms requires approximately 286MB of free disk space for the runtime and 207MB for the development files. Installing the SDK for 64-bits platforms requires approximately 340MB of -free disk space for the runtime and 216MB for the development files. +free disk space for the runtime and 216MB for the development files. -# Download and install the SDK +## Download and install the SDK There are 3 sets of files in the SDK: @@ -43,193 +41,139 @@ There are 3 sets of files in the SDK: GStreamer applications. - The [Merge Modules](http://msdn.microsoft.com/en-us/library/windows/desktop/aa369820%28v=vs.85%29.aspx) - files are **additional** files you can use to deploy the GStreamer + files are **additional** files you can use to deploy the GStreamer SDK alongside your application (see [Windows deployment](Windows%2Bdeployment.html)). Get **the Runtime and Development files** installers appropriate for your architecture from here: - --- - - - - - - - - - - - - - - -
      32 bits
      64 bits
      - - - - - - - -

      Due to the size of these files, usage of a Download Manager is highly recommended. Take a look at this list if you do not have one installed. If, after downloading, the installer reports itself as corrupt, chances are that the connection ended before the file was complete. A Download Manager will typically re-start the process and fetch the missing parts.

      +**FIXME: Add links ** + +> ![Warning](images/icons/emoticons/warning.png) +> Due to the size of these files, usage of a [Download Manager](http://en.wikipedia.org/wiki/Download_manager) is **highly recommended**. Take a look at [this list](http://en.wikipedia.org/wiki/Comparison_of_download_managers) if you do not have one installed. If, after downloading, the installer reports itself as corrupt, chances are that the connection ended before the file was complete. A Download Manager will typically re-start the process and fetch the missing parts. Execute the installers and choose an installation folder. The suggested default is usually OK. - - - - - - - -

      If you plan to use Visual Studio, close it before installing the GStreamer SDK. The installer will define new environment variables which will not be picked up by Visual Studio if it is open.

      +> ![Warning](images/icons/emoticons/warning.png) +>`If you plan to use Visual Studio, **close it before installing the GStreamer SDK**. The installer will define new environment variables which will not be picked up by Visual Studio if it is open. - - - - - - - -

      On Windows 8, it might be necessary to log out and log back in to your account after the installation for the newly defined environment variables to be picked up by Visual Studio.

      + +> On **Windows 8** and **Windows 10**, it might be necessary to log out and log back in to your account after the installation for the newly defined environment variables to be picked up by Visual Studio. It is the application's responsibility to ensure that, at runtime, GStreamer can access its libraries and plugins. It can be done by adding -`%GSTREAMER_SDK_ROOT_X86%\bin` to the `%PATH%` environment variable, or +`%GSTREAMER_SDK_ROOT_X86%\bin` to the `%PATH%` environment variable, or by running the application from this same folder. At runtime, GStreamer will look for its plugins in the following folders: - - `%HOMEDRIVE%%HOMEFOLDER%/.gstreamer-0.10/plugins` - - `C:\gstreamer-sdk\0.10\x86\lib\gstreamer-0.10` - - `\..\lib\gstreamer-0.10` + - `%HOMEDRIVE%%HOMEFOLDER%/.gstreamer-1.0/plugins` + - `C:\gstreamer\1.0\x86\lib\gstreamer-1.0` + - `\..\lib\gstreamer-1.0` - `%GST_PLUGIN_PATH%` -So, typically, if your application can find `libgstreamer-0.10-0.dll`, +So, typically, if your application can find `libgstreamer-1.0-0.dll`, it will find the GStreamer plugins, as long as the installation folder structure is unmodified. If you do change this structure in your -application, then you can use the `%GST_PLUGIN_PATH%` environment +application, then you can use the `%GST_PLUGIN_PATH%` environment variable to point GStreamer to its plugins. The plugins are initially -found at `%GSTREAMER_SDK_ROOT_X86%\lib\gstreamer-0.10`. +found at `%GSTREAMER_SDK_ROOT_X86%\lib\gstreamer-1.0`. Additionally, if you want to prevent GStreamer from looking in all the default folders listed above, you can set the -`%GST_PLUGIN_SYSTEM_PATH%` environment variable to point where the +`%GST_PLUGIN_SYSTEM_PATH%` environment variable to point where the plugins are located. -# Configure your development environment +## Configure your development environment ### Building the tutorials The tutorial's code, along with project files and a solution file for Visual Studio 2010 are all included in the SDK, in -the `%GSTREAMER_SDK_ROOT_X86%``\share\gst-sdk\tutorials` folder. +the `%GSTREAMER_SDK_ROOT_X86%``\share\gst-sdk\tutorials` folder. -`%GSTREAMER_SDK_ROOT_X86%` is an environment variable that the installer +`%GSTREAMER_SDK_ROOT_X86%` is an environment variable that the installer defined for you, and points to the installation folder of the SDK. In order to prevent accidental modification of the original code, and to make sure Visual Studio has the necessary permissions to write the -output files, copy the entire `tutorials` folder to a place of your +output files, copy the entire `tutorials` folder to a place of your liking, and work from there. - - - - - - - -
      64-bit Users
      - -

      Use %GSTREAMER_SDK_ROOT_X86_64% if you have installed the SDK for 64-bit platforms. Both SDKs (32 and 64-bit) can be installed simultaneously, and hence the separate environment variables.

      -

      Make sure you select the Solution Configuration that matches the GStreamer SDK that you have installed: Win32 for 32 bits or x64 for 64 bits.

      +> ![Information](images/icons/emoticons/information.png) +> **64-bit Users** +> +>Use `%GSTREAMER_SDK_ROOT_X86_64%` if you have installed the SDK for 64-bit platforms. Both SDKs (32 and 64-bit) can be installed simultaneously, and hence the separate environment variables. +> +>Make sure you select the Solution Configuration that matches the GStreamer SDK that you have installed: `Win32` for 32 bits or `x64` for 64 bits. +> +> ![Windows Install Configuration](attachments/WindowsInstall-Configuration.png) You can fire up Visual Studio 2010 and load your copy of the -`tutorials.sln` solution file (Click on the screen shots to enlarge -them).![](attachments/thumbnails/327707/1540147) -![](attachments/thumbnails/327707/1540146) +`tutorials.sln` solution file (Click on the screen shots to enlarge +them). + +![](attachments/WindowsInstall2.png) + +![](attachments/WindowsInstall1.png) + Hit **F7**, press the Build Solution button -![](attachments/327707/1540148.png) or go to Build → Build Solution. All -projects should build without problems. +![](attachments/WindowsInstall-BuildSolution.png) or go to Build → +Build Solution. All projects should build without problems. ### Running the tutorials In order to run the tutorials, we will set the current working directory -to `%GSTREAMER_SDK_ROOT_X86%``\``bin` in the Debugging section of the +to `%GSTREAMER_SDK_ROOT_X86%`\\`bin` in the Debugging section of the project properties. **This property is not stored in the project files, so you will need to manually add it to every tutorial you want to run -from within Visual Studio**. Right click on a project in the Solution +from within Visual Studio**. Right click on a project in the Solution Explorer, Properties → Debugging → Working Directory, and type -`$(GSTREAMER_SDK_ROOT_X86)``\``bin` +`$(GSTREAMER_SDK_ROOT_X86)`\\`bin` -` `(The `$(...)` notation is required to access environment variables -from within Visual Studio. You use the `%...%` notation from Windows +(The `$(...)` notation is required to access environment variables +from within Visual Studio. You use the `%...%` notation from Windows Explorer) You should now be able to run the tutorials. - -  + ### Creating new projects manually **If you want to create 64-bit applications, remember also to create x64 Solution and Project configurations as -explained [here](http://msdn.microsoft.com/en-us/library/9yb4317s\(v=vs.100\).aspx).** +explained [here](http://msdn.microsoft.com/en-us/library/9yb4317s\(v=vs.100\).aspx).** #### Include the necessary SDK Property Sheet The included property sheets make creating new projects extremely easy. In Visual Studio 2010 create a new project (Normally a `Win32 -Console` or `Win32 Application`). Then go to the Property Manager +Console` or `Win32 Application`). Then go to the Property Manager (View→Property Manager), right-click on your project and select “Add Existing Property Sheet...”. Navigate to -`%GSTREAMER_SDK_ROOT_X86%``\``share\vs\2010\libs` and -load `gstreamer-0.10.props ` +`%GSTREAMER_SDK_ROOT_X86%`\\`share\vs\2010\libs` and +load `gstreamer-1.0.props ` This property sheet contains the directories where the headers and libraries are located, and the necessary options for the compiler and linker, so you do not need to change anything else in your project. - -** -** - -  - -  - + If you cannot find the Property Manager, you might need to enable Expert Settings. Go to Tools → Settings → Expert Settings. Upon first installation of Visual Studio, Expert Settings are disabled by -default.![](attachments/thumbnails/327707/1540154) +default. -  +![](attachments/WindowsInstall10.png) - - - - - - - -

      Depending on the GStreamer libraries you need to use, you will have to add more property pages, besides gstreamer-0.10 (each property page corresponds to one GStreamer library).

      -

      The tutorial's project files already contain all necessary property pages. When developing your own applications, the GStreamer documentation will tell you what library a function belongs to, and therefore, what property pages you need to add.

      + +> ![Warning](images/icons/emoticons/warning.png) +> **Depending on the GStreamer libraries you need to use, you will have to add more property pages, besides `gstreamer-1.0`** (each property page corresponds to one GStreamer library). +> +> The tutorial's project files already contain all necessary property pages. When developing your own applications, the GStreamer documentation will tell you what library a function belongs to, and therefore, what property pages you need to add. #### Remove the dependency with the Visual Studio runtime @@ -252,107 +196,33 @@ Runtime, problems are bound to crop out. In order to avoid these issues you must instruct your application to use the system's C Runtime. First install the [Windows Device Driver Kit -Version 7.1.0](http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=11800) (DDK). +Version 7.1.0](http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=11800) (DDK). When the installer asks about the features, select only “Build Environments”. Accept the suggested location for the installation, which -is usually `C:\WinDDK\7600.16385.1`. This download is an ISO file, you +is usually `C:\WinDDK\7600.16385.1`. This download is an ISO file, you can either burn a DVD with it (as recommended in the Microsoft site. You will need DVD burning software), mount the file in a virtual DVD device (you will need DVD virtualization software) or unpack the file as if it was a regular compressed file (you will need decompression software that understands the ISO format). -Then, add the `x86.props` or `x86_64.props` (for 32 or 64 bits) property -sheet found in `%GSTREAMER_SDK_ROOT_X86%``\``share\vs\2010\msvc` to your +Then, add the `x86.props` or `x86_64.props` (for 32 or 64 bits) property +sheet found in `%GSTREAMER_SDK_ROOT_X86%``\``share\vs\2010\msvc` to your project. This will make your application use the ubiquitous -`MSVCRT.DLL` saving you some troubles in the future. +`MSVCRT.DLL` saving you some troubles in the future. - - - - - - - -

      If you did not install the WinDDK to the standard path C:\WinDDK\7600.16385.1, you will need to tell Visual Studio where it is. Unfortunately, there is no automated way to do this. Once you have added the x86.props or x86_64.props to your project, go to the Property Manager, expand your project and its subfolders until you find the property sheet called config. Double click to edit it, and select the section called “User Macros” in the list on the left. You should see a macro called WINDOWS_DRIVER_KIT. Double click to edit it, and set its value to the root folder where you installed the DDK. This is the folder containing a file called samples.txt

      -

      That's it. Accept the changes, right click on the config property sheet and select “Save”. The path to the DDK is now stored in config.props and you do not need to perform this operation anymore.

      +> ![Information](images/icons/emoticons/information.png) +> If you did not install the WinDDK to the standard path `C:\WinDDK\7600.16385.1`, you will need to tell Visual Studio where it is. Unfortunately, there is no automated way to do this. Once you have added the `x86.props` or `x86_64.props` to your project, go to the Property Manager, expand your project and its subfolders until you find the property sheet called `config`. Double click to edit it, and select the section called “User Macros” in the list on the left. You should see a macro called `WINDOWS_DRIVER_KIT`. Double click to edit it, and set its value to the root folder where you installed the DDK. This is the folder containing a file called `samples.txt`. +> +>That's it. Accept the changes, right click on the `config` property sheet and select “Save”. The path to the DDK is now stored in `config.props` and you do not need to perform this operation anymore. ### Creating new projects using the wizard -Go to File → New → Project… and you should find a template -named **GStreamer SDK Project**. It takes no parameters, and sets all +Go to File → New → Project… and you should find a template +named **GStreamer SDK Project**. It takes no parameters, and sets all necessary project settings, both for 32 and 64 bits architectures. The generated project file includes the two required Property Sheets described in the previous section, so, in order to link to the correct `MSVCRT.DLL`, **you still need to install the Windows Device Driver -Kit** and change the appropriate property sheets. - - - - - - - - -

      GStreamer SDK versions prior to Congo did not automatically deploy the required Visual Studio Wizard files. We recommend that you upgrade to the latest available GStreamer SDK version.

      -
      -
      -Click here to see the manual installation instructions... -
      -
      -

      1. The three files in the %GSTREAMER_SDK_ROOT_X86%\share\vs\2010\wizard folder need to be copied to the following location, depending on your version of Visual Studio:

      -
        -
      • Visual Studio 2010: -
          -
        • C:\Program Files\Microsoft Visual Studio 10.0\VC\vcprojects
        • -
      • -
      • Visual Studio 2010 Express: -
          -
        • C:\Program Files\Microsoft Visual Studio 10.0\VC\Express\VCProjects
        • -
      • -
      -

      2. The entire %GSTREAMER_SDK_ROOT_X86%\share\vs\2010\gst-sdk-template folder (including the gst-sdk-template folder) needs to be copied to:

      -
        -
      • C:\Program Files\Microsoft Visual Studio 10.0\VC\VCWizards
      • -
      -
      -

      To clarify: you must end up with three additional files in the VCProjects folder and a new folder named gst-sdk-template inside the VCWizards folder.

      -

      Use the right path for your Visual Studio folder.

      -
      -
      -
      - -## Attachments: - -![](images/icons/bullet_blue.gif) -[WindowsInstall1.png](attachments/327707/1540146.png) (image/png) -![](images/icons/bullet_blue.gif) -[WindowsInstall2.png](attachments/327707/1540147.png) (image/png) -![](images/icons/bullet_blue.gif) -[WindowsInstall-BuildSolution.png](attachments/327707/1540148.png) -(image/png) -![](images/icons/bullet_blue.gif) -[WindowsInstall3.png](attachments/327707/1540149.png) (image/png) -![](images/icons/bullet_blue.gif) -[WindowsInstall4.png](attachments/327707/1540150.png) (image/png) -![](images/icons/bullet_blue.gif) -[WindowsInstall5.png](attachments/327707/1540151.png) (image/png) -![](images/icons/bullet_blue.gif) -[WindowsInstall6.png](attachments/327707/1540152.png) (image/png) -![](images/icons/bullet_blue.gif) -[WindowsInstall7.png](attachments/327707/1540153.png) (image/png) -![](images/icons/bullet_blue.gif) -[WindowsInstall8.png](attachments/327707/1540154.png) (image/png) -![](images/icons/bullet_blue.gif) -[WindowsInstall9.png](attachments/327707/1540155.png) (image/png) -![](images/icons/bullet_blue.gif) -[WindowsInstall10.png](attachments/327707/1540156.png) (image/png) -![](images/icons/bullet_blue.gif) -[WindowsInstall11.png](attachments/327707/1540157.png) (image/png) -![](images/icons/bullet_blue.gif) -[WindowsInstall-Configuration.png](attachments/327707/1540165.png) -(image/png) - -Document generated by Confluence on Oct 08, 2015 10:27 - +Kit** and change the appropriate property sheets. \ No newline at end of file diff --git a/Installing+the+SDK.markdown b/Installing+the+SDK.markdown index b78de1f5e6..826359ff2d 100644 --- a/Installing+the+SDK.markdown +++ b/Installing+the+SDK.markdown @@ -1,6 +1,4 @@ -# GStreamer SDK documentation : Installing the SDK - -This page last changed on Jun 12, 2013 by xartigas. +# Installing the SDK ### Choose your platform @@ -12,7 +10,7 @@ This page last changed on Jun 12, 2013 by xartigas. -

      +

      Linux

      • Ubuntu 12.04 (Precise Pangolin)
      • @@ -23,7 +21,7 @@ This page last changed on Jun 12, 2013 by xartigas.
      • Fedora 17

      ______________________________________

      -

      +

      Mac OS X

      • 10.6 (Snow Leopard)
      • @@ -31,7 +29,7 @@ This page last changed on Jun 12, 2013 by xartigas.
      • 10.8 (Mountain Lion)

      ______________________________________

      -

      +

      Microsoft Windows

      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ⅆ8a<_UGR-3A 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 literal 0 HcmV?d00001 diff --git a/attachments/3539071.png b/attachments/3539071.png new file mode 100644 index 0000000000000000000000000000000000000000..0bb29b8f7707cdfd78ad47f78a3d3c73f0a16354 GIT binary patch literal 195954 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⩔qxF=%LNL&o{BJ= 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 literal 0 HcmV?d00001 diff --git a/attachments/3539150.jpeg b/attachments/3539150.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..48873882c7541111580b66ae5be53c6dac020c4c GIT binary patch literal 6259 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 AkN^Mx literal 0 HcmV?d00001 diff --git a/gst-inspect.markdown b/gst-inspect.markdown new file mode 100644 index 0000000000..728860344c --- /dev/null +++ b/gst-inspect.markdown @@ -0,0 +1,213 @@ +# GStreamer SDK documentation : gst-inspect + +This page last changed on May 30, 2012 by xartigas. + + + + + + + + +

      This is the Linux man page for the gst-inspect tool. As such, it is very Linux-centric regarding path specification and plugin names. Please be patient while it is rewritten to be more generic.

      + +## Name + +gst-inspect - print info about a GStreamer plugin or element + +## Synopsis + +**gst-inspect \[OPTION...\] \[PLUGIN|ELEMENT\]** + +## Description + +*gst-inspect* is a tool that prints out information on +available *GStreamer* plugins, information about a particular plugin, +or information about a particular element. When executed with no PLUGIN +or ELEMENT argument, *gst-inspect* will print a list of all plugins and +elements together with a sumary. When executed with a PLUGIN or ELEMENT +argument, *gst-inspect* will print information about that plug-in or +element. + +## Options + +*gst-inspect* accepts the following arguments and options: + +**PLUGIN** + +Name of a plugin. This is a file name +like `%GSTREAMER_SDK_ROOT_X86%\lib\gstreamer-0.10\libgstaudiotestsrc.dll` +for example. + +**ELEMENT** + +Name of an element. This is the name of an element, like +`audiotestsrc` for example + +**--help** + +Print help synopsis and available FLAGS + +**--gst-info-mask=FLAGS** + +*GStreamer* info flags to set (list with --help) + + **-a, --print-all** + +Print all plugins and elements + + **--print-plugin-auto-install-info** + +Print a machine-parsable list of features the specified plugin provides. +Useful in connection with external automatic plugin installation +mechanisms. + + **--gst-debug-mask=FLAGS** + +*GStreamer* debugging flags to set (list with --help) + + **--gst-mask=FLAGS** + +*GStreamer* info and debugging flags to set (list with --help) + + **--gst-plugin-spew** + +*GStreamer* info flags to set Enable printout of errors while +loading *GStreamer* plugins + + **--gst-plugin-path=PATH** + +Add directories separated with ':' to the plugin search path + +## Example + +``` theme: Default; brush: plain; gutter: false +gst-inspect-0.10 audiotestsrc +``` + +should produce: + +``` theme: Default; brush: plain; gutter: false +Factory Details: + Long name: Audio test source + Class: Source/Audio + Description: Creates audio test signals of given frequency and volume + Author(s): Stefan Kost + Rank: none (0) +Plugin Details: + Name: audiotestsrc + Description: Creates audio test signals of given frequency and volume + Filename: I:\gstreamer-sdk\2012.5\x86\lib\gstreamer-0.10\libgstaudiotestsrc.dll + Version: 0.10.36 + License: LGPL + Source module: gst-plugins-base + Source release date: 2012-02-20 + Binary package: GStreamer Base Plug-ins source release + Origin URL: Unknown package origin +GObject + +----GstObject + +----GstElement + +----GstBaseSrc + +----GstAudioTestSrc +Pad Templates: + SRC template: 'src' + Availability: Always + Capabilities: + audio/x-raw-int + endianness: 1234 + signed: true + width: 16 + depth: 16 + rate: [ 1, 2147483647 ] + channels: [ 1, 2 ] + audio/x-raw-int + endianness: 1234 + signed: true + width: 32 + depth: 32 + rate: [ 1, 2147483647 ] + channels: [ 1, 2 ] + audio/x-raw-float + endianness: 1234 + width: { 32, 64 } + rate: [ 1, 2147483647 ] + channels: [ 1, 2 ] + +Element Flags: + no flags set +Element Implementation: + Has change_state() function: gst_base_src_change_state + Has custom save_thyself() function: gst_element_save_thyself + Has custom restore_thyself() function: gst_element_restore_thyself +Element has no clocking capabilities. +Element has no indexing capabilities. +Element has no URI handling capabilities. +Pads: + SRC: 'src' + Implementation: + Has getrangefunc(): gst_base_src_pad_get_range + Has custom eventfunc(): gst_base_src_event_handler + Has custom queryfunc(): gst_base_src_query + Has custom iterintlinkfunc(): gst_pad_iterate_internal_links_default + Has getcapsfunc(): gst_base_src_getcaps + Has setcapsfunc(): gst_base_src_setcaps + Has acceptcapsfunc(): gst_pad_acceptcaps_default + Has fixatecapsfunc(): 62B82E10 + Pad Template: 'src' +Element Properties: + name : The name of the object + flags: readable, writable + String. Default: "audiotestsrc0" + blocksize : Size in bytes to read per buffer (-1 = default) + flags: readable, writable + Unsigned Long. Range: 0 - 4294967295 Default: 4294967295 + num-buffers : Number of buffers to output before sending EOS (-1 = unlimited) + flags: readable, writable + Integer. Range: -1 - 2147483647 Default: -1 + typefind : Run typefind before negotiating + flags: readable, writable + Boolean. Default: false + do-timestamp : Apply current stream time to buffers + flags: readable, writable + Boolean. Default: false + samplesperbuffer : Number of samples in each outgoing buffer + flags: readable, writable + Integer. Range: 1 - 2147483647 Default: 1024 + wave : Oscillator waveform + flags: readable, writable, controllable + Enum "GstAudioTestSrcWave" Default: 0, "sine" + (0): sine - Sine + (1): square - Square + (2): saw - Saw + (3): triangle - Triangle + (4): silence - Silence + (5): white-noise - White uniform noise + (6): pink-noise - Pink noise + (7): sine-table - Sine table + (8): ticks - Periodic Ticks + (9): gaussian-noise - White Gaussian noise + (10): red-noise - Red (brownian) noise + (11): blue-noise - Blue noise + (12): violet-noise - Violet noise + freq : Frequency of test signal + flags: readable, writable, controllable + Double. Range: 0 - 20000 Default: 440 + volume : Volume of test signal + flags: readable, writable, controllable + Double. Range: 0 - 1 Default: 0.8 + is-live : Whether to act as a live source + flags: readable, writable + Boolean. Default: false + timestamp-offset : An offset added to timestamps set on buffers (in ns) + flags: readable, writable + Integer64. Range: -9223372036854775808 - 9223372036854775807 Default: 0 + can-activate-push : Can activate in push mode + flags: readable, writable + Boolean. Default: true + can-activate-pull : Can activate in pull mode + flags: readable, writable + Boolean. Default: false +``` + +Document generated by Confluence on Oct 08, 2015 10:28 + diff --git a/gst-launch.markdown b/gst-launch.markdown new file mode 100644 index 0000000000..2b22e30d37 --- /dev/null +++ b/gst-launch.markdown @@ -0,0 +1,406 @@ +# GStreamer SDK documentation : gst-launch + +This page last changed on May 30, 2012 by xartigas. + + + + + + + + +

      This is the Linux man page for the gst-launch tool. As such, it is very Linux-centric regarding path specification and plugin names. Please be patient while it is rewritten to be more generic.

      + +## Name + +gst-launch - build and run a GStreamer pipeline + +## Synopsis + +**gst-launch** *\[OPTION...\]* PIPELINE-DESCRIPTION + +## Description + +*gst-launch* is a tool that builds and runs basic *GStreamer* pipelines. + +In simple form, a PIPELINE-DESCRIPTION is a list of elements separated +by exclamation marks (\!). Properties may be appended to elements, in +the form*property=value*. + +For a complete description of possible PIPELINE-DESCRIPTIONS see the +section*pipeline description* below or consult the GStreamer +documentation. + +Please note that *gst-launch* is primarily a debugging tool for +developers and users. You should not build applications on top of it. +For applications, use the gst\_parse\_launch() function of the GStreamer +API as an easy way to construct pipelines from pipeline descriptions. + +## Options + +*gst-launch* accepts the following options: + +**--help** + +Print help synopsis and available FLAGS + +**-v, --verbose** + +Output status information and property notifications + +**-q, --quiet** + +Do not print any progress information + +**-m, --messages** + +Output messages posted on the pipeline's bus + +**-t, --tags** + +Output tags (also known as metadata) + +**-o FILE, --output=FILE** + +Save XML representation of pipeline to FILE and exit + +**-f, --no\_fault** + +Do not install a fault handler + +**-T, --trace** + +Print memory allocation traces. The feature must be enabled at compile +time to work. + +  + +## Gstreamer Options + +*gst-launch* also accepts the following options that are common to all +GStreamer applications: + +## Pipeline Description + +A pipeline consists *elements* and *links*. *Elements* can be put +into *bins* of different sorts. *Elements*, *links* and *bins* can be +specified in a pipeline description in any order. + +**Elements** + +ELEMENTTYPE *\[PROPERTY1 ...\]* + +Creates an element of type ELEMENTTYPE and sets the PROPERTIES. + +**Properties** + +PROPERTY=VALUE ... + +Sets the property to the specified value. You can use **gst-inspect**(1) +to find out about properties and allowed values of different elements. +Enumeration properties can be set by name, nick or value. + +**Bins** + +*\[BINTYPE.\]* ( *\[PROPERTY1 ...\]* PIPELINE-DESCRIPTION ) + +Specifies that a bin of type BINTYPE is created and the given properties +are set. Every element between the braces is put into the bin. Please +note the dot that has to be used after the BINTYPE. You will almost +never need this functionality, it is only really useful for applications +using the gst\_launch\_parse() API with 'bin' as bintype. That way it is +possible to build partial pipelines instead of a full-fledged top-level +pipeline. + +**Links** + +*\[\[SRCELEMENT\].\[PAD1,...\]\]* \! *\[\[SINKELEMENT\].\[PAD1,...\]\] +\[\[SRCELEMENT\].\[PAD1,...\]\]* \! CAPS +\! *\[\[SINKELEMENT\].\[PAD1,...\]\]* + +Links the element with name SRCELEMENT to the element with name +SINKELEMENT, using the caps specified in CAPS as a filter. Names can be +set on elements with the name property. If the name is omitted, the +element that was specified directly in front of or after the link is +used. This works across bins. If a padname is given, the link is done +with these pads. If no pad names are given all possibilities are tried +and a matching pad is used. If multiple padnames are given, both sides +must have the same number of pads specified and multiple links are done +in the given order. +So the simplest link is a simple exclamation mark, that links the +element to the left of it to the element right of it. + +**Caps** + +MIMETYPE *\[, PROPERTY\[, PROPERTY ...\]\]\] \[; CAPS\[; CAPS ...\]\]* + +Creates a capability with the given mimetype and optionally with given +properties. The mimetype can be escaped using " or '. If you want to +chain caps, you can add more caps in the same format afterwards. + +**Properties** + +NAME=*\[(TYPE)\]*VALUE +in lists and ranges: *\[(TYPE)\]*VALUE + +Sets the requested property in capabilities. The name is an alphanumeric +value and the type can have the following case-insensitive values: +\- **i** or **int** for integer values or ranges +\- **f** or **float** for float values or ranges +\- **4** or **fourcc** for FOURCC values +\- **b**, **bool** or **boolean** for boolean values +\- **s**, **str** or **string** for strings +\- **fraction** for fractions (framerate, pixel-aspect-ratio) +\- **l** or **list** for lists +If no type was given, the following order is tried: integer, float, +boolean, string. +Integer values must be parsable by **strtol()**, floats by **strtod()**. +FOURCC values may either be integers or strings. Boolean values are +(case insensitive) *yes*, *no*, *true* or *false* and may like strings +be escaped with " or '. +Ranges are in this format: \[ VALUE, VALUE \] +Lists use this format: ( VALUE *\[, VALUE ...\]* ) + +## Pipeline Control + +A pipeline can be controlled by signals. SIGUSR2 will stop the pipeline +(GST\_STATE\_NULL); SIGUSR1 will put it back to play +(GST\_STATE\_PLAYING). By default, the pipeline will start in the +playing state. +There are currently no signals defined to go into the ready or pause +(GST\_STATE\_READY and GST\_STATE\_PAUSED) state explicitely. + +## Pipeline Examples + +The examples below assume that you have the correct plug-ins available. +In general, "osssink" can be substituted with another audio output +plug-in such as "directsoundsink", "esdsink", "alsasink", +"osxaudiosink", or "artsdsink". Likewise, "xvimagesink" can be +substituted with "d3dvideosink", "ximagesink", "sdlvideosink", +"osxvideosink", or "aasink". Keep in mind though that different sinks +might accept different formats and even the same sink might accept +different formats on different machines, so you might need to add +converter elements like audioconvert and audioresample (for audio) or +ffmpegcolorspace (for video) in front of the sink to make things work. + +**Audio playback** + +**gst-launch filesrc location=music.mp3 \! mad \! audioconvert \! +audioresample \! osssink** +Play the mp3 music file "music.mp3" using a libmad-based plug-in and +output to an OSS device + +**gst-launch filesrc location=music.ogg \! oggdemux \! vorbisdec \! +audioconvert \! audioresample \! osssink** +Play an Ogg Vorbis format file + +**gst-launch gnomevfssrc location=music.mp3 \! mad \! osssink +gst-launch gnomevfssrc location= \! mad \! +audioconvert \! audioresample \! osssink** +Play an mp3 file or an http stream using GNOME-VFS + +**gst-launch gnomevfssrc location= \! mad \! +audioconvert \! audioresample \! osssink** +Use GNOME-VFS to play an mp3 file located on an SMB server + +**Format conversion** + +**gst-launch filesrc location=music.mp3 \! mad \! audioconvert \! +vorbisenc \! oggmux \! filesink location=music.ogg** +Convert an mp3 music file to an Ogg Vorbis file + +**gst-launch filesrc location=music.mp3 \! mad \! audioconvert \! +flacenc \! filesink location=test.flac** +Convert to the FLAC format + +**Other** + +**gst-launch filesrc location=music.wav \! wavparse \! audioconvert \! +audioresample \! osssink** +Plays a .WAV file that contains raw audio data (PCM). + +**gst-launch filesrc location=music.wav \! wavparse \! audioconvert \! +vorbisenc \! oggmux \! filesink location=music.ogg +gst-launch filesrc location=music.wav \! wavparse \! audioconvert \! +lame \! filesink location=music.mp3** +Convert a .WAV file containing raw audio data into an Ogg Vorbis or mp3 +file + +**gst-launch cdparanoiasrc mode=continuous \! audioconvert \! lame \! +id3v2mux \! filesink location=cd.mp3** +rips all tracks from compact disc and convert them into a single mp3 +file + +**gst-launch cdparanoiasrc track=5 \! audioconvert \! lame \! id3v2mux +\! filesink location=track5.mp3** +rips track 5 from the CD and converts it into a single mp3 file + +Using **gst-inspect**(1), it is possible to discover settings like the +above for cdparanoiasrc that will tell it to rip the entire cd or only +tracks of it. Alternatively, you can use an URI and gst-launch-0.10 will +find an element (such as cdparanoia) that supports that protocol for +you, e.g.: **gst-launch [cdda://5]() \! lame vbr=new vbr-quality=6 \! +filesink location=track5.mp3** + +**gst-launch osssrc \! audioconvert \! vorbisenc \! oggmux \! filesink +location=input.ogg** +records sound from your audio input and encodes it into an ogg file + +**Video** + +**gst-launch filesrc location=JB\_FF9\_TheGravityOfLove.mpg \! dvddemux +\! mpeg2dec \! xvimagesink** +Display only the video portion of an MPEG-1 video file, outputting to an +X display window + +**gst-launch filesrc location=/flflfj.vob \! dvddemux \! mpeg2dec \! +sdlvideosink** +Display the video portion of a .vob file (used on DVDs), outputting to +an SDL window + +**gst-launch filesrc location=movie.mpg \! dvddemux name=demuxer +demuxer. \! queue \! mpeg2dec \! sdlvideosink demuxer. \! queue \! mad +\! audioconvert \! audioresample \! osssink** +Play both video and audio portions of an MPEG movie + +**gst-launch filesrc location=movie.mpg \! mpegdemux name=demuxer +demuxer. \! queue \! mpeg2dec \! ffmpegcolorspace \! sdlvideosink +demuxer. \! queue \! mad \! audioconvert \! audioresample \! osssink** +Play an AVI movie with an external text subtitle stream + +This example also shows how to refer to specific pads by name if an +element (here: textoverlay) has multiple sink or source pads. + +**gst-launch textoverlay name=overlay \! ffmpegcolorspace \! videoscale +\! autovideosink filesrc location=movie.avi \! decodebin2 \! +ffmpegcolorspace \! overlay.video\_sink filesrc location=movie.srt \! +subparse \! overlay.text\_sink** + +Play an AVI movie with an external text subtitle stream using playbin2 + +**gst-launch playbin2 uri= +suburi=** + +**Network streaming** + +Stream video using RTP and network elements. + +**gst-launch v4l2src \! +video/x-raw-yuv,width=128,height=96,format='(fourcc)'UYVY \! +ffmpegcolorspace \! ffenc\_h263 \! video/x-h263 \! rtph263ppay pt=96 \! +udpsink host=192.168.1.1 port=5000 sync=false** +Use this command on the receiver + +**gst-launch udpsrc port=5000 \! application/x-rtp, +clock-rate=90000,payload=96 \! rtph263pdepay queue-delay=0 \! +ffdec\_h263 \! xvimagesink** +This command would be run on the transmitter + +**Diagnostic** + +**gst-launch -v fakesrc num-buffers=16 \! fakesink** +Generate a null stream and ignore it (and print out details). + +**gst-launch audiotestsrc \! audioconvert \! audioresample \! +osssink** +Generate a pure sine tone to test the audio output + +**gst-launch videotestsrc \! xvimagesink +gst-launch videotestsrc \! ximagesink** +Generate a familiar test pattern to test the video output + +**Automatic linking** + +You can use the decodebin element to automatically select the right +elements to get a working pipeline. + +**gst-launch filesrc location=musicfile \! decodebin \! audioconvert \! +audioresample \! osssink** +Play any supported audio format + +**gst-launch filesrc location=videofile \! decodebin name=decoder +decoder. \! queue \! audioconvert \! audioresample \! osssink decoder. +\! ffmpegcolorspace \! xvimagesink** +Play any supported video format with video and audio output. Threads are +used automatically. To make this even easier, you can use the playbin +element: + +**gst-launch playbin uri=** + +**Filtered connections** + +These examples show you how to use filtered caps. + +**gst-launch videotestsrc \! +'video/x-raw-yuv,format=(fourcc)YUY2;video/x-raw-yuv,format=(fourcc)YV12' +\! xvimagesink** +Show a test image and use the YUY2 or YV12 video format for this. + +**gst-launch osssrc \! +'audio/x-raw-int,rate=\[32000,64000\],width=\[16,32\],depth={16,24,32},signed=(boolean)true' +\! wavenc \! filesink location=recording.wav** +record audio and write it to a .wav file. Force usage of signed 16 to 32 +bit samples and a sample rate between 32kHz and 64KHz. + +## Environment Variables + +**GST\_DEBUG** + +Comma-separated list of debug categories and levels, e.g. GST\_DEBUG= +totem:4,typefind:5 + +**GST\_DEBUG\_NO\_COLOR**[](http://totem:4,typefind:5) + +When this environment variable is set, coloured debug output is +disabled. + +**GST\_DEBUG\_DUMP\_DOT\_DIR** + +When set to a filesystem path, store dot files of pipeline graphs there. + +**GST\_REGISTRY** + +Path of the plugin registry file. Default is +~/.gstreamer-0.10/registry-CPU.xml where CPU is the machine/cpu type +GStreamer was compiled for, e.g. 'i486', 'i686', 'x86-64', 'ppc', etc. +(check the output of "uname -i" and "uname -m" for details). + +**GST\_REGISTRY\_UPDATE** + +Set to "no" to force GStreamer to assume that no plugins have changed, +been added or been removed. This will make GStreamer skip the initial +check whether a rebuild of the registry cache is required or not. This +may be useful in embedded environments where the installed plugins never +change. Do not use this option in any other setup. + +**GST\_PLUGIN\_PATH** + +Specifies a list of directories to scan for additional plugins. These +take precedence over the system plugins. + +**GST\_PLUGIN\_SYSTEM\_PATH** + +Specifies a list of plugins that are always loaded by default. If not +set, this defaults to the system-installed path, and the plugins +installed in the user's home directory + +**OIL\_CPU\_FLAGS** + +Useful liboil environment variable. Set OIL\_CPU\_FLAGS=0 when valgrind +or other debugging tools trip over liboil's CPU detection (quite a few +important GStreamer plugins like videotestsrc, audioconvert or +audioresample use liboil). + +**G\_DEBUG** + +Useful GLib environment variable. Set G\_DEBUG=fatal\_warnings to make +GStreamer programs abort when a critical warning such as an assertion +failure occurs. This is useful if you want to find out which part of the +code caused that warning to be triggered and under what circumstances. +Simply set G\_DEBUG as mentioned above and run the program in gdb (or +let it core dump). Then get a stack trace in the usual way + + + +Document generated by Confluence on Oct 08, 2015 10:28 + diff --git a/hotdoc.json b/hotdoc.json new file mode 100644 index 0000000000..383effb601 --- /dev/null +++ b/hotdoc.json @@ -0,0 +1,7 @@ +{ + "index": "index.markdown", + "add_anchors": true, + "output": "built_doc", + "project_name": "gstdotcom", + "sitemap": "sitemap.txt" +} diff --git a/iOS+tutorial+1%3A+Link+against+GStreamer.markdown b/iOS+tutorial+1%3A+Link+against+GStreamer.markdown new file mode 100644 index 0000000000..546fdcfcae --- /dev/null +++ b/iOS+tutorial+1%3A+Link+against+GStreamer.markdown @@ -0,0 +1,147 @@ +# GStreamer SDK documentation : iOS tutorial 1: Link against GStreamer + +This page last changed on May 06, 2013 by xartigas. + +# Goal![](attachments/thumbnails/3014792/3113601) + +The first iOS tutorial is simple. The objective is to get the GStreamer +version and display it on screen. It exemplifies how to link against the +GStreamer library from Xcode using objective-C. + +# Hello GStreamer\! + +The code for this project can be found in the tutorials folder of your +GStreamer SDK iOS installation. It was created using the GStreamer +Single View Application template. The view contains only a +`UILabel` that will be used to display the GStreamer's version to the +user. + +# The User Interface + +The UI uses storyboards and contains a single `View` with a centered +`UILabel`. The `ViewController` for the `View` links its +`label` variable to this `UILabel` as an `IBOutlet`. + +**ViewController.h** + +``` theme: Default; brush: plain; gutter: true +#import +  +@interface ViewController : UIViewController { + IBOutlet UILabel *label; +} + +@property (retain,nonatomic) UILabel *label; + +@end +``` + +# The GStreamer backend + +All GStreamer-handling code is kept in a single Objective-C class called +`GStreamerBackend`. In successive tutorials it will get expanded, but, +for now, it only contains a method to retrieve the GStreamer version. + +The `GStreamerBackend` is made in Objective-C so it can take care of the +few C-to-Objective-C conversions that might be necessary (like `char +*` to `NSString *`, for example). This eases the usage of this class by +the UI code, which is typically made in pure Objective-C. +`GStreamerBackend` serves exactly the same purpose as the JNI code in +the [Android tutorials](Android%2Btutorials.html). + +**GStreamerBackend.m** + +``` theme: Default; brush: plain; gutter: true +#import "GStreamerBackend.h" + +#include + +@implementation GStreamerBackend + +-(NSString*) getGStreamerVersion +{ + char *version_utf8 = gst_version_string(); + NSString *version_string = [NSString stringWithUTF8String:version_utf8]; + g_free(version_utf8); + return version_string; +} + +@end +``` + +The `getGStreamerVersion()` method simply calls +`gst_version_string()` to obtain a string describing this version of +GStreamer. This [Modified +UTF8](http://en.wikipedia.org/wiki/UTF-8#Modified_UTF-8) string is then +converted to a `NSString *` by ` NSString:stringWithUTF8String `and +returned. Objective-C will take care of freeing the memory used by the +new `NSString *`, but we need to free the `char *` returned +by `gst_version_string()`. + +# The View Controller + +The view controller instantiates the GStremerBackend and asks it for the +GStreamer version to display at the label. That's it\! + +**ViewController.m** + +``` theme: Default; brush: plain; gutter: true +#import "ViewController.h" +#import "GStreamerBackend.h" + +@interface ViewController () { + GStreamerBackend *gst_backend; +} + +@end + +@implementation ViewController + +@synthesize label; + +- (void)viewDidLoad +{ + [super viewDidLoad]; + // Do any additional setup after loading the view, typically from a nib. + gst_backend = [[GStreamerBackend alloc] init]; + + label.text = [NSString stringWithFormat:@"Welcome to %@!", [gst_backend getGStreamerVersion]]; +} + +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +@end +``` + +# Conclusion + +This ends the first iOS tutorial. It has shown that, due to the +compatibility of C and Objective-C, adding GStreamer support to an iOS +app is as easy as it is on a Desktop application. An extra Objective-C +wrapper has been added (the `GStreamerBackend` class) for clarity, but +calls to the GStreamer framework are valid from any part of the +application code. + +The following tutorials detail the few places in which care has to be +taken when developing specifically for the iOS platform. + +It has been a pleasure having you here, and see you soon\! + +## Attachments: + +![](images/icons/bullet_blue.gif) +[ios-tutorial1-screenshot.png](attachments/3014792/3113602.png) +(image/png) +![](images/icons/bullet_blue.gif) +[ios-tutorial1-screenshot.png](attachments/3014792/3113603.png) +(image/png) +![](images/icons/bullet_blue.gif) +[ios-tutorial1-screenshot.png](attachments/3014792/3113601.png) +(image/png) + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/iOS+tutorial+2%3A+A+running+pipeline.markdown b/iOS+tutorial+2%3A+A+running+pipeline.markdown new file mode 100644 index 0000000000..7139c038c8 --- /dev/null +++ b/iOS+tutorial+2%3A+A+running+pipeline.markdown @@ -0,0 +1,668 @@ +# GStreamer SDK documentation : iOS tutorial 2: A running pipeline + +This page last changed on May 13, 2013 by xartigas. + +# Goal![](attachments/3571718/3538953.png) + +As seen in the [Basic](Basic%2Btutorials.html) and +[Playback](Playback%2Btutorials.html) tutorials, GStreamer integrates +nicely with GLib’s main loops, so pipeline operation and user interface +can be monitored simultaneously in a very simple way. However, platforms +like iOS or Android do not use GLib and therefore extra care must be +taken to keep track of the pipeline progress without blocking the user +interface (UI). + +This tutorial shows: + + - How to move the GStreamer-handling code to a separate Dispatch Queue + whereas UI managing still happens from the Main Dispatch Queue + - How to communicate between the Objective-C UI code and the C + GStreamer code + +# Introduction + +When using a Graphical User Interface (UI), if the application waits for +GStreamer calls to complete the user experience will suffer. The usual +approach, with the [GTK+ toolkit](http://www.gtk.org/) for example, is +to relinquish control to a GLib `GMainLoop` and let it control the +events coming from the UI or GStreamer. + +Other graphical toolkits that are not based on GLib, like the [Cocoa +Touch](https://developer.apple.com/technologies/ios/cocoa-touch.html) +framework used on iOS devices, cannot use this option, though. The +solution used in this tutorial uses a GLib `GMainLoop` for its +simplicity, but moves it to a separate thread (a [Dispatch +Queue](http://developer.apple.com/library/ios/#documentation/General/Conceptual/ConcurrencyProgrammingGuide/OperationQueues/OperationQueues.html) +different than the main one) so it does not block the user interface +operation. + +Additionally, this tutorial shows a few places where caution has to be +taken when calling from Objective-C to C and vice versa. + +The code below builds a pipeline with an `audiotestsrc` and +an `autoaudiosink` (it plays an audible tone). Two buttons in the UI +allow setting the pipeline to PLAYING or PAUSED. A Label in the UI shows +messages sent from the C code (for errors and state changes). + +# The User Interface + +A toolbar at the bottom of the screen contains a Play and a Pause +button. Over the toolbar there is a Label used to display messages from +GStreamer. This tutorial does not require more elements, but the +following lessons will build their User Interfaces on top of this one, +adding more components. + +# The View Controller + +The `ViewController` class manages the UI, instantiates +the `GStreamerBackend` and also performs some UI-related tasks on its +behalf: + +**ViewController.m** + +``` theme: Default; brush: plain; gutter: true +#import "ViewController.h" +#import "GStreamerBackend.h" +#import + +@interface ViewController () { + GStreamerBackend *gst_backend; +} + +@end + +@implementation ViewController + +/* + * Methods from UIViewController + */ + +- (void)viewDidLoad +{ + [super viewDidLoad]; + + play_button.enabled = FALSE; + pause_button.enabled = FALSE; + + gst_backend = [[GStreamerBackend alloc] init:self]; +} + +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +/* Called when the Play button is pressed */ +-(IBAction) play:(id)sender +{ + [gst_backend play]; +} + +/* Called when the Pause button is pressed */ +-(IBAction) pause:(id)sender +{ + [gst_backend pause]; +} + +/* + * Methods from GstreamerBackendDelegate + */ + +-(void) gstreamerInitialized +{ + dispatch_async(dispatch_get_main_queue(), ^{ + play_button.enabled = TRUE; + pause_button.enabled = TRUE; + message_label.text = @"Ready"; + }); +} + +-(void) gstreamerSetUIMessage:(NSString *)message +{ + dispatch_async(dispatch_get_main_queue(), ^{ + message_label.text = message; + }); +} + +@end +``` + +An instance of the `GStreamerBackend` in stored inside the class: + +``` first-line: 5; theme: Default; brush: plain; gutter: true +@interface ViewController () { + GStreamerBackend *gst_backend; +} +``` + +This instance is created in the `viewDidLoad` function through a custom +`init:` method in the `GStreamerBackend`: + +``` first-line: 17; theme: Default; brush: plain; gutter: true +- (void)viewDidLoad +{ + [super viewDidLoad]; + + play_button.enabled = FALSE; + pause_button.enabled = FALSE; + + gst_backend = [[GStreamerBackend alloc] init:self]; +} +``` + +This custom method is required to pass the object that has to be used as +the UI delegate (in this case, ourselves, the `ViewController`). + +The Play and Pause buttons are also disabled in the +`viewDidLoad` function, and they are not re-enabled until the +`GStreamerBackend` reports that it is initialized and ready. + +``` first-line: 33; theme: Default; brush: plain; gutter: true +/* Called when the Play button is pressed */ +-(IBAction) play:(id)sender +{ + [gst_backend play]; +} + +/* Called when the Pause button is pressed */ +-(IBAction) pause:(id)sender +{ + [gst_backend pause]; +} +``` + +These two methods are called when the user presses the Play or Pause +buttons, and simply forward the call to the appropriate method in the +`GStreamerBackend`. + +``` first-line: 49; theme: Default; brush: plain; gutter: true +-(void) gstreamerInitialized +{ + dispatch_async(dispatch_get_main_queue(), ^{ + play_button.enabled = TRUE; + pause_button.enabled = TRUE; + message_label.text = @"Ready"; + }); +} +``` + +The `gstreamerInitialized` method is defined in the +`GStreamerBackendDelegate` protocol and indicates that the backend is +ready to accept commands. In this case, the Play and Pause buttons are +re-enabled and the Label text is set to “Ready”. This method is called +from a Dispatch Queue other than the Main one; therefore the need for +the +[dispatch\_async()](https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man3/dispatch_async.3.html) call +wrapping all UI code. + +``` first-line: 58; theme: Default; brush: plain; gutter: true +-(void) gstreamerSetUIMessage:(NSString *)message +{ + dispatch_async(dispatch_get_main_queue(), ^{ + message_label.text = message; + }); +} +``` + +The `gstreamerSetUIMessage:` method also belongs to the +`GStreamerBackendDelegate` protocol. It is called when the backend wants +to report some message to the user. In this case, the message is copied +onto the Label in the UI, again, from within a +[dispatch\_async()](https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man3/dispatch_async.3.html) call. + +# The GStreamer Backend + +The `GStreamerBackend` class performs all GStreamer-related tasks and +offers a simplified interface to the application, which does not need to +deal with all the GStreamer details. When it needs to perform any UI +action, it does so through a delegate, which is expected to adhere to +the `GStreamerBackendDelegate` protocol: + +**GStreamerBackend.m** + +``` theme: Default; brush: plain; gutter: true +#import "GStreamerBackend.h" + +#include + +GST_DEBUG_CATEGORY_STATIC (debug_category); +#define GST_CAT_DEFAULT debug_category + +@interface GStreamerBackend() +-(void)setUIMessage:(gchar*) message; +-(void)app_function; +-(void)check_initialization_complete; +@end + +@implementation GStreamerBackend { + id ui_delegate; /* Class that we use to interact with the user interface */ + GstElement *pipeline; /* The running pipeline */ + GMainContext *context; /* GLib context used to run the main loop */ + GMainLoop *main_loop; /* GLib main loop */ + gboolean initialized; /* To avoid informing the UI multiple times about the initialization */ +} + +/* + * Interface methods + */ + +-(id) init:(id) uiDelegate +{ + if (self = [super init]) + { + self->ui_delegate = uiDelegate; + + GST_DEBUG_CATEGORY_INIT (debug_category, "tutorial-2", 0, "iOS tutorial 2"); + gst_debug_set_threshold_for_name("tutorial-2", GST_LEVEL_DEBUG); + + /* Start the bus monitoring task */ + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + [self app_function]; + }); + } + + return self; +} + +-(void) dealloc +{ + if (pipeline) { + GST_DEBUG("Setting the pipeline to NULL"); + gst_element_set_state(pipeline, GST_STATE_NULL); + gst_object_unref(pipeline); + pipeline = NULL; + } +} + +-(void) play +{ + if(gst_element_set_state(pipeline, GST_STATE_PLAYING) == GST_STATE_CHANGE_FAILURE) { + [self setUIMessage:"Failed to set pipeline to playing"]; + } +} + +-(void) pause +{ + if(gst_element_set_state(pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_FAILURE) { + [self setUIMessage:"Failed to set pipeline to paused"]; + } +} + +/* + * Private methods + */ + +/* Change the message on the UI through the UI delegate */ +-(void)setUIMessage:(gchar*) message +{ + NSString *string = [NSString stringWithUTF8String:message]; + if(ui_delegate && [ui_delegate respondsToSelector:@selector(gstreamerSetUIMessage:)]) + { + [ui_delegate gstreamerSetUIMessage:string]; + } +} + +/* Retrieve errors from the bus and show them on the UI */ +static void error_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) +{ + GError *err; + gchar *debug_info; + gchar *message_string; + + gst_message_parse_error (msg, &err, &debug_info); + message_string = g_strdup_printf ("Error received from element %s: %s", GST_OBJECT_NAME (msg->src), err->message); + g_clear_error (&err); + g_free (debug_info); + [self setUIMessage:message_string]; + g_free (message_string); + gst_element_set_state (self->pipeline, GST_STATE_NULL); +} + +/* Notify UI about pipeline state changes */ +static void state_changed_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) +{ + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + /* Only pay attention to messages coming from the pipeline, not its children */ + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (self->pipeline)) { + gchar *message = g_strdup_printf("State changed to %s", gst_element_state_get_name(new_state)); + [self setUIMessage:message]; + g_free (message); + } +} + +/* Check if all conditions are met to report GStreamer as initialized. + * These conditions will change depending on the application */ +-(void) check_initialization_complete +{ + if (!initialized && main_loop) { + GST_DEBUG ("Initialization complete, notifying application."); + if (ui_delegate && [ui_delegate respondsToSelector:@selector(gstreamerInitialized)]) + { + [ui_delegate gstreamerInitialized]; + } + initialized = TRUE; + } +} + +/* Main method for the bus monitoring code */ +-(void) app_function +{ + GstBus *bus; + GSource *bus_source; + GError *error = NULL; + + GST_DEBUG ("Creating pipeline"); + + /* Create our own GLib Main Context and make it the default one */ + context = g_main_context_new (); + g_main_context_push_thread_default(context); + + /* Build pipeline */ + pipeline = gst_parse_launch("audiotestsrc ! audioconvert ! audioresample ! autoaudiosink", &error); + if (error) { + gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message); + g_clear_error (&error); + [self setUIMessage:message]; + g_free (message); + return; + } + + /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ + bus = gst_element_get_bus (pipeline); + bus_source = gst_bus_create_watch (bus); + g_source_set_callback (bus_source, (GSourceFunc) gst_bus_async_signal_func, NULL, NULL); + g_source_attach (bus_source, context); + g_source_unref (bus_source); + g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, (__bridge void *)self); + g_signal_connect (G_OBJECT (bus), "message::state-changed", (GCallback)state_changed_cb, (__bridge void *)self); + gst_object_unref (bus); + + /* Create a GLib Main Loop and set it to run */ + GST_DEBUG ("Entering main loop..."); + main_loop = g_main_loop_new (context, FALSE); + [self check_initialization_complete]; + g_main_loop_run (main_loop); + GST_DEBUG ("Exited main loop"); + g_main_loop_unref (main_loop); + main_loop = NULL; + + /* Free resources */ + g_main_context_pop_thread_default(context); + g_main_context_unref (context); + gst_element_set_state (pipeline, GST_STATE_NULL); + gst_object_unref (pipeline); + + return; +} + +@end +``` + +  + +#### Interface methods: + +``` first-line: 26; theme: Default; brush: plain; gutter: true +-(id) init:(id) uiDelegate +{ + if (self = [super init]) + { + self->ui_delegate = uiDelegate; + + GST_DEBUG_CATEGORY_INIT (debug_category, "tutorial-2", 0, "iOS tutorial 2"); + gst_debug_set_threshold_for_name("tutorial-2", GST_LEVEL_DEBUG); + + /* Start the bus monitoring task */ + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + [self app_function]; + }); + } + + return self; +} +``` + +The `init:` method creates the instance by calling `[super init]`, +stores the delegate object that will handle the UI interaction and +launches the `app_function`, from a separate, concurrent, Dispatch +Queue. The `app_function` monitors the GStreamer bus for messages and +warns the application when interesting things happen. + +`init:` also registers a new GStreamer debug category and sets its +threshold, so we can see the debug output from within Xcode and keep +track of our application progress. + +``` first-line: 44; theme: Default; brush: plain; gutter: true +-(void) dealloc +{ + if (pipeline) { + GST_DEBUG("Setting the pipeline to NULL"); + gst_element_set_state(pipeline, GST_STATE_NULL); + gst_object_unref(pipeline); + pipeline = NULL; + } +} +``` + +The `dealloc` method takes care of bringing the pipeline to the NULL +state and releasing it. + +``` first-line: 54; theme: Default; brush: plain; gutter: true +-(void) play +{ + if(gst_element_set_state(pipeline, GST_STATE_PLAYING) == GST_STATE_CHANGE_FAILURE) { + [self setUIMessage:"Failed to set pipeline to playing"]; + } +} + +-(void) pause +{ + if(gst_element_set_state(pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_FAILURE) { + [self setUIMessage:"Failed to set pipeline to paused"]; + } +} +``` + +The `play` and `pause` methods simply try to set the pipeline to the +desired state and warn the application if something fails. + +#### Private methods: + +``` first-line: 72; theme: Default; brush: plain; gutter: true +/* Change the message on the UI through the UI delegate */ +-(void)setUIMessage:(gchar*) message +{ + NSString *string = [NSString stringWithUTF8String:message]; + if(ui_delegate && [ui_delegate respondsToSelector:@selector(gstreamerSetUIMessage:)]) + { + [ui_delegate gstreamerSetUIMessage:string]; + } +} +``` + +`setUIMessage:` turns the C strings that GStreamer uses (UTF8 `char *`) +into `NSString *` and displays them through the +`gstreamerSetUIMessage` method of the `GStreamerBackendDelegate`. The +implementation of this method is marked as `@optional`, and hence the +check for its existence in the delegate with `respondsToSelector:` + +``` first-line: 82; theme: Default; brush: plain; gutter: true +/* Retrieve errors from the bus and show them on the UI */ +static void error_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) +{ + GError *err; + gchar *debug_info; + gchar *message_string; + + gst_message_parse_error (msg, &err, &debug_info); + message_string = g_strdup_printf ("Error received from element %s: %s", GST_OBJECT_NAME (msg->src), err->message); + g_clear_error (&err); + g_free (debug_info); + [self setUIMessage:message_string]; + g_free (message_string); + gst_element_set_state (self->pipeline, GST_STATE_NULL); +} + +/* Notify UI about pipeline state changes */ +static void state_changed_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) +{ + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + /* Only pay attention to messages coming from the pipeline, not its children */ + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (self->pipeline)) { + gchar *message = g_strdup_printf("State changed to %s", gst_element_state_get_name(new_state)); + [self setUIMessage:message]; + g_free (message); + } +} +``` + +The `error_cb()` and `state_changed_cb()` are callbacks registered to +the `error` and `state-changed` events in GStreamer, and their goal is +to inform the user about these events. These callbacks have been widely +used in the [Basic tutorials](Basic%2Btutorials.html) and their +implementation is very similar, except for two points: + +Firstly, the messages are conveyed to the user through the +`setUIMessage:` private method discussed above. + +Secondly, they require an instance of a `GStreamerBackend` object in +order to call its instance method `setUIMessage:`, which is passed +through the `userdata` pointer of the callbacks (the `self` pointer in +these implementations). This is discussed below when registering the +callbacks in the `app_function`. + +``` first-line: 111; theme: Default; brush: plain; gutter: true +/* Check if all conditions are met to report GStreamer as initialized. + * These conditions will change depending on the application */ +-(void) check_initialization_complete +{ + if (!initialized && main_loop) { + GST_DEBUG ("Initialization complete, notifying application."); + if (ui_delegate && [ui_delegate respondsToSelector:@selector(gstreamerInitialized)]) + { + [ui_delegate gstreamerInitialized]; + } + initialized = TRUE; + } +} +``` + +`check_initialization_complete()` verifies that all conditions are met +to consider the backend ready to accept commands and tell the +application if so. In this simple tutorial the only conditions are that +the main loop exists and that we have not already told the application +about this fact. Later (more complex) tutorials include additional +conditions. + +Finally, most of the GStreamer work is performed in the app\_function. +It exists with almost identical content in the Android tutorial, which +exemplifies how the same code can run on both platforms with little +change. + +``` first-line: 134; theme: Default; brush: plain; gutter: true + /* Create our own GLib Main Context and make it the default one */ + context = g_main_context_new (); + g_main_context_push_thread_default(context); +``` + +It first creates a GLib context so all `GSource`s are kept in the same +place. This also helps cleaning after GSources created by other +libraries which might not have been properly disposed of. A new context +is created with `g_main_context_new()` and then it is made the default +one for the thread with `g_main_context_push_thread_default()`. + +``` first-line: 138; theme: Default; brush: plain; gutter: true + /* Build pipeline */ + pipeline = gst_parse_launch("audiotestsrc ! audioconvert ! audioresample ! autoaudiosink", &error); + if (error) { + gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message); + g_clear_error (&error); + [self setUIMessage:message]; + g_free (message); + return; + } +``` + +It then creates a pipeline the easy way, with `gst_parse_launch()`. In +this case, it is simply an  `audiotestsrc` (which produces a continuous +tone) and an `autoaudiosink`, with accompanying adapter +elements. + +``` first-line: 148; theme: Default; brush: plain; gutter: true + /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ + bus = gst_element_get_bus (pipeline); + bus_source = gst_bus_create_watch (bus); + g_source_set_callback (bus_source, (GSourceFunc) gst_bus_async_signal_func, NULL, NULL); + g_source_attach (bus_source, context); + g_source_unref (bus_source); + g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, (__bridge void *)self); + g_signal_connect (G_OBJECT (bus), "message::state-changed", (GCallback)state_changed_cb, (__bridge void *)self); + gst_object_unref (bus); +``` + +These lines create a bus signal watch and connect to some interesting +signals, just like we have been doing in the [Basic +tutorials](Basic%2Btutorials.html). The creation of the watch is done +step by step instead of using `gst_bus_add_signal_watch()` to exemplify +how to use a custom GLib context. The interesting bit here is the usage +of a +[\_\_bridge](http://clang.llvm.org/docs/AutomaticReferenceCounting.html#bridged-casts) +cast to convert an Objective-C object into a plain C pointer. In this +case we do not worry much about transferal of ownership of the object, +because it travels through C-land untouched. It re-emerges at the +different callbacks through the userdata pointer and cast again to a +`GStreamerBackend *`. + +``` first-line: 158; theme: Default; brush: plain; gutter: true + /* Create a GLib Main Loop and set it to run */ + GST_DEBUG ("Entering main loop..."); + main_loop = g_main_loop_new (context, FALSE); + [self check_initialization_complete]; + g_main_loop_run (main_loop); + GST_DEBUG ("Exited main loop"); + g_main_loop_unref (main_loop); + main_loop = NULL; +``` + +Finally, the main loop is created and set to run. Before entering the +main loop, though, `check_initialization_complete()` is called. Upon +exit, the main loop is disposed of. + +And this is it\! This has been a rather long tutorial, but we covered a +lot of territory. Building on top of this one, the following ones are +shorter and focus only on the new topics. + +# Conclusion + +This tutorial has shown: + + - How to handle GStreamer code from a separate thread using a + [Dispatch + Queue](http://developer.apple.com/library/ios/#documentation/General/Conceptual/ConcurrencyProgrammingGuide/OperationQueues/OperationQueues.html) other + than the Main one. + - How to pass objects between the Objective-C UI code and the C + GStreamer code. + +Most of the methods introduced in this tutorial, +like `check_initialization_complete()`and `app_function()`, and the +interface methods `init:`, `play:`, `pause:`, +`gstreamerInitialized:` and `setUIMessage:` will continue to be used in +the following tutorials with minimal modifications, so better get used +to them\! + +It has been a pleasure having you here, and see you soon\! + +## Attachments: + +![](images/icons/bullet_blue.gif) +[ios-tutorial2-screenshot.png](attachments/3571718/3538954.png) +(image/png) +![](images/icons/bullet_blue.gif) +[ios-tutorial2-screenshot.png](attachments/3571718/3538953.png) +(image/png) + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/iOS+tutorial+3%3A+Video.markdown b/iOS+tutorial+3%3A+Video.markdown new file mode 100644 index 0000000000..70c18e90fd --- /dev/null +++ b/iOS+tutorial+3%3A+Video.markdown @@ -0,0 +1,589 @@ +# GStreamer SDK documentation : iOS tutorial 3: Video + +This page last changed on May 13, 2013 by xartigas. + +# Goal![](attachments/3571736/3538955.png) + +Except for [Basic tutorial 5: GUI toolkit +integration](Basic%2Btutorial%2B5%253A%2BGUI%2Btoolkit%2Bintegration.html), +which embedded a video window on a GTK application, all tutorials so far +relied on GStreamer video sinks to create a window to display their +contents. The video sink on iOS is not capable of creating its own +window, so a drawing surface always needs to be provided. This tutorial +shows: + + - How to allocate a drawing surface on the Xcode Interface Builder and + pass it to GStreamer + +# Introduction + +Since iOS does not provide a windowing system, a GStreamer video sink +cannot create pop-up windows as it would do on a Desktop platform. +Fortunately, the `XOverlay` interface allows providing video sinks with +an already created window onto which they can draw, as we have seen +in [Basic tutorial 5: GUI toolkit +integration](Basic%2Btutorial%2B5%253A%2BGUI%2Btoolkit%2Bintegration.html). + +In this tutorial, a `UIView` widget (actually, a subclass of it) is +placed on the main storyboard. In the `viewDidLoad` method of the +`ViewController`, we pass a pointer to this `UIView `to the instance of +the `GStreamerBackend`, so it can tell the video sink where to draw. + +# The User Interface + +The storyboard from the previous tutorial is expanded: A `UIView `is +added over the toolbar and pinned to all sides so it takes up all +available space (`video_container_view` outlet). Inside it, another +`UIView `is added (`video_view` outlet) which contains the actual video, +centered to its parent, and with a size that adapts to the media size +(through the `video_width_constraint` and `video_height_constraint` +outlets): + +**ViewController.h** + +``` theme: Default; brush: plain; gutter: true +#import +#import "GStreamerBackendDelegate.h" + +@interface ViewController : UIViewController { + IBOutlet UILabel *message_label; + IBOutlet UIBarButtonItem *play_button; + IBOutlet UIBarButtonItem *pause_button; + IBOutlet UIView *video_view; + IBOutlet UIView *video_container_view; + IBOutlet NSLayoutConstraint *video_width_constraint; + IBOutlet NSLayoutConstraint *video_height_constraint; +} + +-(IBAction) play:(id)sender; +-(IBAction) pause:(id)sender; + +/* From GStreamerBackendDelegate */ +-(void) gstreamerInitialized; +-(void) gstreamerSetUIMessage:(NSString *)message; + +@end +``` + +# The View Controller + +The `ViewController `class manages the UI, instantiates +the `GStreamerBackend` and also performs some UI-related tasks on its +behalf: + +**ViewController.m** + +``` theme: Default; brush: plain; gutter: true +#import "ViewController.h" +#import "GStreamerBackend.h" +#import + +@interface ViewController () { + GStreamerBackend *gst_backend; + int media_width; + int media_height; +} + +@end + +@implementation ViewController + +/* + * Methods from UIViewController + */ + +- (void)viewDidLoad +{ + [super viewDidLoad]; + + play_button.enabled = FALSE; + pause_button.enabled = FALSE; + + /* Make these constant for now, later tutorials will change them */ + media_width = 320; + media_height = 240; + + gst_backend = [[GStreamerBackend alloc] init:self videoView:video_view]; +} + +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +/* Called when the Play button is pressed */ +-(IBAction) play:(id)sender +{ + [gst_backend play]; +} + +/* Called when the Pause button is pressed */ +-(IBAction) pause:(id)sender +{ + [gst_backend pause]; +} + +- (void)viewDidLayoutSubviews +{ + CGFloat view_width = video_container_view.bounds.size.width; + CGFloat view_height = video_container_view.bounds.size.height; + + CGFloat correct_height = view_width * media_height / media_width; + CGFloat correct_width = view_height * media_width / media_height; + + if (correct_height < view_height) { + video_height_constraint.constant = correct_height; + video_width_constraint.constant = view_width; + } else { + video_width_constraint.constant = correct_width; + video_height_constraint.constant = view_height; + } +} + +/* + * Methods from GstreamerBackendDelegate + */ + +-(void) gstreamerInitialized +{ + dispatch_async(dispatch_get_main_queue(), ^{ + play_button.enabled = TRUE; + pause_button.enabled = TRUE; + message_label.text = @"Ready"; + }); +} + +-(void) gstreamerSetUIMessage:(NSString *)message +{ + dispatch_async(dispatch_get_main_queue(), ^{ + message_label.text = message; + }); +} + +@end +``` + +We expand the class to remember the width and height of the media we are +currently playing: + +``` first-line: 5; theme: Default; brush: plain; gutter: true +@interface ViewController () { + GStreamerBackend *gst_backend; + int media_width; + int media_height; +} +``` + +In later tutorials this data is retrieved from the GStreamer pipeline, +but in this tutorial, for simplicity’s sake, the width and height of the +media is constant and initialized in `viewDidLoad`: + +``` first-line: 19; theme: Default; brush: plain; gutter: true +- (void)viewDidLoad +{ + [super viewDidLoad]; + + play_button.enabled = FALSE; + pause_button.enabled = FALSE; + + /* Make these constant for now, later tutorials will change them */ + media_width = 320; + media_height = 240; + + gst_backend = [[GStreamerBackend alloc] init:self videoView:video_view]; +} +``` + +As shown below, the `GStreamerBackend` constructor has also been +expanded to accept another parameter: the `UIView *` where the video +sink should draw. + +The rest of the `ViewController `code is the same as the previous +tutorial, except for the code that adapts the `video_view` size to the +media size, respecting its aspect ratio: + +``` first-line: 51; theme: Default; brush: plain; gutter: true +- (void)viewDidLayoutSubviews +{ + CGFloat view_width = video_container_view.bounds.size.width; + CGFloat view_height = video_container_view.bounds.size.height; + + CGFloat correct_height = view_width * media_height / media_width; + CGFloat correct_width = view_height * media_width / media_height; + + if (correct_height < view_height) { + video_height_constraint.constant = correct_height; + video_width_constraint.constant = view_width; + } else { + video_width_constraint.constant = correct_width; + video_height_constraint.constant = view_height; + } +} +``` + +The `viewDidLayoutSubviews` method is called every time the main view +size has changed (for example, due to a device orientation change) and +the entire layout has been recalculated. At this point, we can access +the `bounds` property of the `video_container_view` to retrieve its new +size and change the `video_view` size accordingly. + +The simple algorithm above maximizes either the width or the height of +the `video_view`, while changing the other axis so the aspect ratio of +the media is preserved. The goal is to provide the GStreamer video sink +with a surface of the correct proportions, so it does not need to add +black borders (*letterboxing*), which is a waste of processing power. + +The final size is reported to the layout engine by changing the +`constant` field in the width and height `Constraints` of the +`video_view`. These constraints have been created in the storyboard and +are accessible to the `ViewController `through IBOutlets, as is usually +done with other widgets. + +# The GStreamer Backend + +The `GStreamerBackend` class performs all GStreamer-related tasks and +offers a simplified interface to the application, which does not need to +deal with all the GStreamer details. When it needs to perform any UI +action, it does so through a delegate, which is expected to adhere to +the `GStreamerBackendDelegate` protocol: + +**GStreamerBackend.m** + +``` theme: Default; brush: plain; gutter: true +#import "GStreamerBackend.h" + +#include +#include + +GST_DEBUG_CATEGORY_STATIC (debug_category); +#define GST_CAT_DEFAULT debug_category + +@interface GStreamerBackend() +-(void)setUIMessage:(gchar*) message; +-(void)app_function; +-(void)check_initialization_complete; +@end + +@implementation GStreamerBackend { + id ui_delegate; /* Class that we use to interact with the user interface */ + GstElement *pipeline; /* The running pipeline */ + GstElement *video_sink;/* The video sink element which receives XOverlay commands */ + GMainContext *context; /* GLib context used to run the main loop */ + GMainLoop *main_loop; /* GLib main loop */ + gboolean initialized; /* To avoid informing the UI multiple times about the initialization */ + UIView *ui_video_view; /* UIView that holds the video */ +} + +/* + * Interface methods + */ + +-(id) init:(id) uiDelegate videoView:(UIView *)video_view +{ + if (self = [super init]) + { + self->ui_delegate = uiDelegate; + self->ui_video_view = video_view; + + GST_DEBUG_CATEGORY_INIT (debug_category, "tutorial-3", 0, "iOS tutorial 3"); + gst_debug_set_threshold_for_name("tutorial-3", GST_LEVEL_DEBUG); + + /* Start the bus monitoring task */ + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + [self app_function]; + }); + } + + return self; +} + +-(void) dealloc +{ + if (pipeline) { + GST_DEBUG("Setting the pipeline to NULL"); + gst_element_set_state(pipeline, GST_STATE_NULL); + gst_object_unref(pipeline); + pipeline = NULL; + } +} + +-(void) play +{ + if(gst_element_set_state(pipeline, GST_STATE_PLAYING) == GST_STATE_CHANGE_FAILURE) { + [self setUIMessage:"Failed to set pipeline to playing"]; + } +} + +-(void) pause +{ + if(gst_element_set_state(pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_FAILURE) { + [self setUIMessage:"Failed to set pipeline to paused"]; + } +} + +/* + * Private methods + */ + +/* Change the message on the UI through the UI delegate */ +-(void)setUIMessage:(gchar*) message +{ + NSString *string = [NSString stringWithUTF8String:message]; + if(ui_delegate && [ui_delegate respondsToSelector:@selector(gstreamerSetUIMessage:)]) + { + [ui_delegate gstreamerSetUIMessage:string]; + } +} + +/* Retrieve errors from the bus and show them on the UI */ +static void error_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) +{ + GError *err; + gchar *debug_info; + gchar *message_string; + + gst_message_parse_error (msg, &err, &debug_info); + message_string = g_strdup_printf ("Error received from element %s: %s", GST_OBJECT_NAME (msg->src), err->message); + g_clear_error (&err); + g_free (debug_info); + [self setUIMessage:message_string]; + g_free (message_string); + gst_element_set_state (self->pipeline, GST_STATE_NULL); +} + +/* Notify UI about pipeline state changes */ +static void state_changed_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) +{ + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + /* Only pay attention to messages coming from the pipeline, not its children */ + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (self->pipeline)) { + gchar *message = g_strdup_printf("State changed to %s", gst_element_state_get_name(new_state)); + [self setUIMessage:message]; + g_free (message); + } +} + +/* Check if all conditions are met to report GStreamer as initialized. + * These conditions will change depending on the application */ +-(void) check_initialization_complete +{ + if (!initialized && main_loop) { + GST_DEBUG ("Initialization complete, notifying application."); + if (ui_delegate && [ui_delegate respondsToSelector:@selector(gstreamerInitialized)]) + { + [ui_delegate gstreamerInitialized]; + } + initialized = TRUE; + } +} + +/* Main method for the bus monitoring code */ +-(void) app_function +{ + GstBus *bus; + GSource *bus_source; + GError *error = NULL; + + GST_DEBUG ("Creating pipeline"); + + /* Create our own GLib Main Context and make it the default one */ + context = g_main_context_new (); + g_main_context_push_thread_default(context); + + /* Build pipeline */ + pipeline = gst_parse_launch("videotestsrc ! warptv ! ffmpegcolorspace ! autovideosink", &error); + if (error) { + gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message); + g_clear_error (&error); + [self setUIMessage:message]; + g_free (message); + return; + } + + /* Set the pipeline to READY, so it can already accept a window handle */ + gst_element_set_state(pipeline, GST_STATE_READY); + + video_sink = gst_bin_get_by_interface(GST_BIN(pipeline), GST_TYPE_X_OVERLAY); + if (!video_sink) { + GST_ERROR ("Could not retrieve video sink"); + return; + } + gst_x_overlay_set_window_handle(GST_X_OVERLAY(video_sink), (guintptr) (id) ui_video_view); + + /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ + bus = gst_element_get_bus (pipeline); + bus_source = gst_bus_create_watch (bus); + g_source_set_callback (bus_source, (GSourceFunc) gst_bus_async_signal_func, NULL, NULL); + g_source_attach (bus_source, context); + g_source_unref (bus_source); + g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, (__bridge void *)self); + g_signal_connect (G_OBJECT (bus), "message::state-changed", (GCallback)state_changed_cb, (__bridge void *)self); + gst_object_unref (bus); + + /* Create a GLib Main Loop and set it to run */ + GST_DEBUG ("Entering main loop..."); + main_loop = g_main_loop_new (context, FALSE); + [self check_initialization_complete]; + g_main_loop_run (main_loop); + GST_DEBUG ("Exited main loop"); + g_main_loop_unref (main_loop); + main_loop = NULL; + + /* Free resources */ + g_main_context_pop_thread_default(context); + g_main_context_unref (context); + gst_element_set_state (pipeline, GST_STATE_NULL); + gst_object_unref (pipeline); + + return; +} + +@end +``` + +The main differences with the previous tutorial are related to the +handling of the `XOverlay` interface: + +``` first-line: 15; theme: Default; brush: plain; gutter: true +@implementation GStreamerBackend { + id ui_delegate; /* Class that we use to interact with the user interface */ + GstElement *pipeline; /* The running pipeline */ + GstElement *video_sink;/* The video sink element which receives XOverlay commands */ + GMainContext *context; /* GLib context used to run the main loop */ + GMainLoop *main_loop; /* GLib main loop */ + gboolean initialized; /* To avoid informing the UI multiple times about the initialization */ + UIView *ui_video_view; /* UIView that holds the video */ +} +``` + +The class is expanded to keep track of the video sink element in the +pipeline and the `UIView *` onto which rendering is to occur. + +``` first-line: 29; theme: Default; brush: plain; gutter: true +-(id) init:(id) uiDelegate videoView:(UIView *)video_view +{ + if (self = [super init]) + { + self->ui_delegate = uiDelegate; + self->ui_video_view = video_view; + + GST_DEBUG_CATEGORY_INIT (debug_category, "tutorial-3", 0, "iOS tutorial 3"); + gst_debug_set_threshold_for_name("tutorial-3", GST_LEVEL_DEBUG); + + /* Start the bus monitoring task */ + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + [self app_function]; + }); + } + + return self; +} +``` + +The constructor accepts the `UIView *` as a new parameter, which, at +this point, is simply remembered in `ui_video_view`. + +``` first-line: 142; theme: Default; brush: plain; gutter: true +/* Build pipeline */ +pipeline = gst_parse_launch("videotestsrc ! warptv ! ffmpegcolorspace ! autovideosink", &error); +``` + +Then, in the `app_function`, the pipeline is constructed. This time we +build a video pipeline using a simple `videotestsrc` element with a +`warptv` to add some spice. The video sink is `autovideosink`, which +choses the appropriate sink for the platform (currently, +`eglglessink` is the only option for +iOS). + +``` first-line: 152; theme: Default; brush: plain; gutter: true +/* Set the pipeline to READY, so it can already accept a window handle */ +gst_element_set_state(pipeline, GST_STATE_READY); + +video_sink = gst_bin_get_by_interface(GST_BIN(pipeline), GST_TYPE_X_OVERLAY); +if (!video_sink) { + GST_ERROR ("Could not retrieve video sink"); + return; +} +gst_x_overlay_set_window_handle(GST_X_OVERLAY(video_sink), (guintptr) (id) ui_video_view); +``` + +Once the pipeline is built, we set it to READY. In this state, dataflow +has not started yet, but the caps of adjacent elements have been +verified to be compatible and their pads have been linked. Also, the +`autovideosink` has already instantiated the actual video sink so we can +ask for it immediately. + +The `gst_bin_get_by_interface()` method will examine the whole pipeline +and return a pointer to an element which supports the requested +interface. We are asking for the `XOverlay` interface, explained in +[Basic tutorial 5: GUI toolkit +integration](Basic%2Btutorial%2B5%253A%2BGUI%2Btoolkit%2Bintegration.html), +which controls how to perform rendering into foreign (non-GStreamer) +windows. The internal video sink instantiated by `autovideosink` is the +only element in this pipeline implementing it, so it will be returned. + +Once we have the video sink, we inform it of the `UIView` to use for +rendering, through the `gst_x_overlay_set_window_handle()` method. + +# EaglUIView + +One last detail remains. In order for `eglglessink` to be able to draw +on the +[`UIView`](http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIView_Class/UIView/UIView.html), +the +[`Layer`](http://developer.apple.com/library/ios/#documentation/GraphicsImaging/Reference/CALayer_class/Introduction/Introduction.html#//apple_ref/occ/cl/CALayer) associated +with this view must be of the +[`CAEAGLLayer`](http://developer.apple.com/library/ios/#documentation/QuartzCore/Reference/CAEAGLLayer_Class/CAEGLLayer/CAEGLLayer.html#//apple_ref/occ/cl/CAEAGLLayer) class. +To this avail, we create the `EaglUIView` class, derived from +`UIView `and overriding the `layerClass` method: + +**EaglUIView.m** + +``` theme: Default; brush: plain; gutter: true +#import "EaglUIVIew.h" + +#import + +@implementation EaglUIView + + ++ (Class) layerClass +{ + return [CAEAGLLayer class]; +} + +@end +``` + +When creating storyboards, bear in mind that the `UIView `which should +contain the video must have `EaglUIView` as its custom class. This is +easy to setup from the Xcode interface builder. Take a look at the +tutorial storyboard to see how to achieve this. + +And this is it, using GStreamer to output video onto an iOS application +is as simple as it seems. + +# Conclusion + +This tutorial has shown: + + - How to display video on iOS using a `UIView `and + the `XOverlay` interface. + - How to report the media size to the iOS layout engine through + runtime manipulation of width and height constraints. + +The following tutorial plays an actual clip and adds a few more controls +to this tutorial in order to build a simple media player. + +It has been a pleasure having you here, and see you soon\! + +## Attachments: + +![](images/icons/bullet_blue.gif) +[ios-tutorial3-screenshot.png](attachments/3571736/3538955.png) +(image/png) + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/iOS+tutorial+4%3A+A+basic+media+player.markdown b/iOS+tutorial+4%3A+A+basic+media+player.markdown new file mode 100644 index 0000000000..4d56347803 --- /dev/null +++ b/iOS+tutorial+4%3A+A+basic+media+player.markdown @@ -0,0 +1,1242 @@ +# GStreamer SDK documentation : iOS tutorial 4: A basic media player + +This page last changed on May 21, 2013 by xartigas. + +# Goal![](attachments/3571758/3539044.png) + +Enough testing with synthetic images and audio tones\! This tutorial +finally plays actual media, streamed directly from the Internet, in your +iOS device. It shows: + + - How to keep the User Interface regularly updated with the current + playback position and duration + - How to implement a [Time + Slider](http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UISlider_Class/Reference/Reference.html) + - How to report the media size to adapt the display surface + +It also uses the knowledge gathered in the [Basic +tutorials](Basic%2Btutorials.html) regarding: + + - How to use `playbin2` to play any kind of media + - How to handle network resilience problems + +# Introduction + +From the previous tutorials, we already have almost all necessary pieces +to build a media player. The most complex part is assembling a pipeline +which retrieves, decodes and displays the media, but we already know +that the `playbin2` element can take care of all that for us. We only +need to replace the manual pipeline we used in [iOS tutorial 3: +Video](iOS%2Btutorial%2B3%253A%2BVideo.html) with a +single-element `playbin2` pipeline and we are good to go\! + +However, we can do better than. We will add a [Time +Slider](http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UISlider_Class/Reference/Reference.html), +with a moving thumb that will advance as our current position in the +media advances. We will also allow the user to drag the thumb, to jump +(or *seek*) to a different position. + +And finally, we will make the video surface adapt to the media size, so +the video sink is not forced to draw black borders around the clip. + This also allows the iOS layout to adapt more nicely to the actual +media content. You can still force the video surface to have a specific +size if you really want to. + +# The User Interface + +The User Interface from the previous tutorial is expanded again. A +`UISlider` has been added to the toolbar, to keep track of the current +position in the clip, and allow the user to change it. Also, a +(read-only) `UITextField` is added to show the exact clip position and +duration. + +**VideoViewController.h** + +``` theme: Default; brush: plain; gutter: true +#import +#import "GStreamerBackendDelegate.h" + +@interface VideoViewController : UIViewController { + IBOutlet UILabel *message_label; + IBOutlet UIBarButtonItem *play_button; + IBOutlet UIBarButtonItem *pause_button; + IBOutlet UIView *video_view; + IBOutlet UIView *video_container_view; + IBOutlet NSLayoutConstraint *video_width_constraint; + IBOutlet NSLayoutConstraint *video_height_constraint; + IBOutlet UIToolbar *toolbar; + IBOutlet UITextField *time_label; + IBOutlet UISlider *time_slider; +} + +@property (retain,nonatomic) NSString *uri; + +-(IBAction) play:(id)sender; +-(IBAction) pause:(id)sender; +-(IBAction) sliderValueChanged:(id)sender; +-(IBAction) sliderTouchDown:(id)sender; +-(IBAction) sliderTouchUp:(id)sender; + +/* From GStreamerBackendDelegate */ +-(void) gstreamerInitialized; +-(void) gstreamerSetUIMessage:(NSString *)message; + +@end +``` + +Note how we register callbacks for some of the Actions the +[UISlider](http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UISlider_Class/Reference/Reference.html) generates. +Also note that the class has been renamed from `ViewController` to +`VideoViewController`, since the next tutorial adds another +`ViewController` and we will need to differentiate. + +# The Video View Controller + +The `ViewController `class manages the UI, instantiates +the `GStreamerBackend` and also performs some UI-related tasks on its +behalf: + +![](images/icons/grey_arrow_down.gif)Due to the extension of this code, +this view is collapsed by default. Click here to expand… + +**VideoViewController.m** + +``` theme: Default; brush: plain; gutter: true +#import "VideoViewController.h" +#import "GStreamerBackend.h" +#import + +@interface VideoViewController () { + GStreamerBackend *gst_backend; + int media_width; /* Width of the clip */ + int media_height; /* height of the clip */ + Boolean dragging_slider; /* Whether the time slider is being dragged or not */ + Boolean is_local_media; /* Whether this clip is stored locally or is being streamed */ + Boolean is_playing_desired; /* Whether the user asked to go to PLAYING */ +} + +@end + +@implementation VideoViewController + +@synthesize uri; + +/* + * Private methods + */ + +/* The text widget acts as an slave for the seek bar, so it reflects what the seek bar shows, whether + * it is an actual pipeline position or the position the user is currently dragging to. */ +- (void) updateTimeWidget +{ + NSInteger position = time_slider.value / 1000; + NSInteger duration = time_slider.maximumValue / 1000; + NSString *position_txt = @" -- "; + NSString *duration_txt = @" -- "; + + if (duration > 0) { + NSUInteger hours = duration / (60 * 60); + NSUInteger minutes = (duration / 60) % 60; + NSUInteger seconds = duration % 60; + + duration_txt = [NSString stringWithFormat:@"%02u:%02u:%02u", hours, minutes, seconds]; + } + if (position > 0) { + NSUInteger hours = position / (60 * 60); + NSUInteger minutes = (position / 60) % 60; + NSUInteger seconds = position % 60; + + position_txt = [NSString stringWithFormat:@"%02u:%02u:%02u", hours, minutes, seconds]; + } + + NSString *text = [NSString stringWithFormat:@"%@ / %@", + position_txt, duration_txt]; + + time_label.text = text; +} + +/* + * Methods from UIViewController + */ + +- (void)viewDidLoad +{ + [super viewDidLoad]; + + play_button.enabled = FALSE; + pause_button.enabled = FALSE; + + /* As soon as the GStreamer backend knows the real values, these ones will be replaced */ + media_width = 320; + media_height = 240; + + uri = @"http://docs.gstreamer.com/media/sintel_trailer-368p.ogv"; + + gst_backend = [[GStreamerBackend alloc] init:self videoView:video_view]; +} + +- (void)viewDidDisappear:(BOOL)animated +{ + if (gst_backend) + { + [gst_backend deinit]; + } +} + +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +/* Called when the Play button is pressed */ +-(IBAction) play:(id)sender +{ + [gst_backend play]; + is_playing_desired = YES; +} + +/* Called when the Pause button is pressed */ +-(IBAction) pause:(id)sender +{ + [gst_backend pause]; + is_playing_desired = NO; +} + +/* Called when the time slider position has changed, either because the user dragged it or + * we programmatically changed its position. dragging_slider tells us which one happened */ +- (IBAction)sliderValueChanged:(id)sender { + if (!dragging_slider) return; + // If this is a local file, allow scrub seeking, this is, seek as soon as the slider is moved. + if (is_local_media) + [gst_backend setPosition:time_slider.value]; + [self updateTimeWidget]; +} + +/* Called when the user starts to drag the time slider */ +- (IBAction)sliderTouchDown:(id)sender { + [gst_backend pause]; + dragging_slider = YES; +} + +/* Called when the user stops dragging the time slider */ +- (IBAction)sliderTouchUp:(id)sender { + dragging_slider = NO; + // If this is a remote file, scrub seeking is probably not going to work smoothly enough. + // Therefore, perform only the seek when the slider is released. + if (!is_local_media) + [gst_backend setPosition:time_slider.value]; + if (is_playing_desired) + [gst_backend play]; +} + +/* Called when the size of the main view has changed, so we can + * resize the sub-views in ways not allowed by storyboarding. */ +- (void)viewDidLayoutSubviews +{ + CGFloat view_width = video_container_view.bounds.size.width; + CGFloat view_height = video_container_view.bounds.size.height; + + CGFloat correct_height = view_width * media_height / media_width; + CGFloat correct_width = view_height * media_width / media_height; + + if (correct_height < view_height) { + video_height_constraint.constant = correct_height; + video_width_constraint.constant = view_width; + } else { + video_width_constraint.constant = correct_width; + video_height_constraint.constant = view_height; + } + + time_slider.frame = CGRectMake(time_slider.frame.origin.x, time_slider.frame.origin.y, toolbar.frame.size.width - time_slider.frame.origin.x - 8, time_slider.frame.size.height); +} + +/* + * Methods from GstreamerBackendDelegate + */ + +-(void) gstreamerInitialized +{ + dispatch_async(dispatch_get_main_queue(), ^{ + play_button.enabled = TRUE; + pause_button.enabled = TRUE; + message_label.text = @"Ready"; + [gst_backend setUri:uri]; + is_local_media = [uri hasPrefix:@"file://"]; + is_playing_desired = NO; + }); +} + +-(void) gstreamerSetUIMessage:(NSString *)message +{ + dispatch_async(dispatch_get_main_queue(), ^{ + message_label.text = message; + }); +} + +-(void) mediaSizeChanged:(NSInteger)width height:(NSInteger)height +{ + media_width = width; + media_height = height; + dispatch_async(dispatch_get_main_queue(), ^{ + [self viewDidLayoutSubviews]; + [video_view setNeedsLayout]; + [video_view layoutIfNeeded]; + }); +} + +-(void) setCurrentPosition:(NSInteger)position duration:(NSInteger)duration +{ + /* Ignore messages from the pipeline if the time sliders is being dragged */ + if (dragging_slider) return; + + dispatch_async(dispatch_get_main_queue(), ^{ + time_slider.maximumValue = duration; + time_slider.value = position; + [self updateTimeWidget]; + }); +} + +@end +``` + +Supporting arbitrary media URIs + +The `GStreamerBackend`  provides the `setUri()` method so we can +indicate the URI of the media to play. Since `playbin2` will be taking +care of retrieving the media, we can use local or remote URIs +indistinctly (`file://` or `http://`, for example). From the UI code, +though, we want to keep track of whether the file is local or remote, +because we will not offer the same functionalities. We keep track of +this in the `is_local_media` variable, which is set when the URI is set, +in the `gstreamerInitialized` method: + +``` first-line: 154; theme: Default; brush: plain; gutter: true +-(void) gstreamerInitialized +{ + dispatch_async(dispatch_get_main_queue(), ^{ + play_button.enabled = TRUE; + pause_button.enabled = TRUE; + message_label.text = @"Ready"; + [gst_backend setUri:uri]; + is_local_media = [uri hasPrefix:@"file://"]; + is_playing_desired = NO; + }); +} +``` + +Reporting media size + +Every time the size of the media changes (which could happen mid-stream, +for some kind of streams), or when it is first detected, +`GStreamerBackend`  calls our `mediaSizeChanged()` callback: + +``` first-line: 173; theme: Default; brush: plain; gutter: true +-(void) mediaSizeChanged:(NSInteger)width height:(NSInteger)height +{ + media_width = width; + media_height = height; + dispatch_async(dispatch_get_main_queue(), ^{ + [self viewDidLayoutSubviews]; + [video_view setNeedsLayout]; + [video_view layoutIfNeeded]; + }); +} +``` + +Here we simply store the new size and ask the layout to be recalculated. +As we have already seen in [iOS tutorial 2: A running +pipeline](iOS%2Btutorial%2B2%253A%2BA%2Brunning%2Bpipeline.html), +methods which change the UI must be called from the main thread, and we +are now in a callback from some GStreamer internal thread. Hence, the +usage +of `dispatch_async()`[.](http://developer.android.com/reference/android/app/Activity.html#runOnUiThread\(java.lang.Runnable\)) + +### Refreshing the Time Slider + +[Basic tutorial 5: GUI toolkit +integration](Basic%2Btutorial%2B5%253A%2BGUI%2Btoolkit%2Bintegration.html) has +already shown how to implement a Seek Bar (or [Time +Slider](http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UISlider_Class/Reference/Reference.html) +in this tutorial) using the GTK+ toolkit. The implementation on iOS is +very similar. + +The Seek Bar accomplishes to functions: First, it moves on its own to +reflect the current playback position in the media. Second, it can be +dragged by the user to seek to a different position. + +To realize the first function, `GStreamerBackend`  will periodically +call our `setCurrentPosition` method so we can update the position of +the thumb in the Seek Bar. Again we do so from the UI thread, using +`dispatch_async()`. + +``` first-line: 184; theme: Default; brush: plain; gutter: true +-(void) setCurrentPosition:(NSInteger)position duration:(NSInteger)duration +{ + /* Ignore messages from the pipeline if the time sliders is being dragged */ + if (dragging_slider) return; + + dispatch_async(dispatch_get_main_queue(), ^{ + time_slider.maximumValue = duration; + time_slider.value = position; + [self updateTimeWidget]; + }); +} +``` + +Also note that if the user is currently dragging the slider (the +`dragging_slider` variable is explained below) we ignore +`setCurrentPosition` calls from `GStreamerBackend`, as they would +interfere with the user’s actions. + +To the left of the Seek Bar (refer to the screenshot at the top of this +page), there is +a [TextField](https://developer.apple.com/library/ios/#documentation/UIKit/Reference/UITextField_Class/Reference/UITextField.html) widget +which we will use to display the current position and duration in +"`HH:mm:ss / HH:mm:ss"` textual format. The `updateTimeWidget` method +takes care of it, and must be called every time the Seek Bar is +updated: + +``` first-line: 24; theme: Default; brush: plain; gutter: true +/* The text widget acts as an slave for the seek bar, so it reflects what the seek bar shows, whether + * it is an actual pipeline position or the position the user is currently dragging to. */ +- (void) updateTimeWidget +{ + NSInteger position = time_slider.value / 1000; + NSInteger duration = time_slider.maximumValue / 1000; + NSString *position_txt = @" -- "; + NSString *duration_txt = @" -- "; + + if (duration > 0) { + NSUInteger hours = duration / (60 * 60); + NSUInteger minutes = (duration / 60) % 60; + NSUInteger seconds = duration % 60; + + duration_txt = [NSString stringWithFormat:@"%02u:%02u:%02u", hours, minutes, seconds]; + } + if (position > 0) { + NSUInteger hours = position / (60 * 60); + NSUInteger minutes = (position / 60) % 60; + NSUInteger seconds = position % 60; + + position_txt = [NSString stringWithFormat:@"%02u:%02u:%02u", hours, minutes, seconds]; + } + + NSString *text = [NSString stringWithFormat:@"%@ / %@", + position_txt, duration_txt]; + + time_label.text = text; +} +``` + +Seeking with the Seek Bar + +To perform the second function of the Seek Bar (allowing the user to +seek by dragging the thumb), we register some callbacks through IBAction +outlets. Refer to the storyboard in this tutorial’s project to see which +outlets are connected. We will be notified when the user starts dragging +the Slider, when the Slider position changes and when the users releases +the Slider. + +``` first-line: 112; theme: Default; brush: plain; gutter: true +/* Called when the user starts to drag the time slider */ +- (IBAction)sliderTouchDown:(id)sender { + [gst_backend pause]; + dragging_slider = YES; +} +``` + +`sliderTouchDown` is called when the user starts dragging. Here we pause +the pipeline because if the user is searching for a particular scene, we +do not want it to keep moving. We also mark that a drag operation is in +progress in the +`dragging_slider` variable. + +``` first-line: 102; theme: Default; brush: plain; gutter: true +/* Called when the time slider position has changed, either because the user dragged it or + * we programmatically changed its position. dragging_slider tells us which one happened */ +- (IBAction)sliderValueChanged:(id)sender { + if (!dragging_slider) return; + // If this is a local file, allow scrub seeking, this is, seek as soon as the slider is moved. + if (is_local_media) + [gst_backend setPosition:time_slider.value]; + [self updateTimeWidget]; +} +``` + +`sliderValueChanged` is called every time the Slider’s thumb moves, be +it because the user dragged it, or because we changed its value form the +program. We discard the latter case using the +`dragging_slider` variable. + +As the comment says, if this is a local media, we allow scrub seeking, +this is, we jump to the indicated position as soon as the thumb moves. +Otherwise, the seek operation will be performed when the thumb is +released, and the only thing we do here is update the textual time +widget. + +``` first-line: 118; theme: Default; brush: plain; gutter: true +/* Called when the user stops dragging the time slider */ +- (IBAction)sliderTouchUp:(id)sender { + dragging_slider = NO; + // If this is a remote file, scrub seeking is probably not going to work smoothly enough. + // Therefore, perform only the seek when the slider is released. + if (!is_local_media) + [gst_backend setPosition:time_slider.value]; + if (is_playing_desired) + [gst_backend play]; +} +``` + +Finally, `sliderTouchUp` is called when the thumb is released. We +perform the seek operation if the file was non-local, restore the +pipeline to the desired playing state and end the dragging operation by +setting `dragging_slider` to NO. + +This concludes the User interface part of this tutorial. Let’s review +now the `GStreamerBackend`  class that allows this to work. + +# The GStreamer Backend + +The `GStreamerBackend` class performs all GStreamer-related tasks and +offers a simplified interface to the application, which does not need to +deal with all the GStreamer details. When it needs to perform any UI +action, it does so through a delegate, which is expected to adhere to +the `GStreamerBackendDelegate` protocol. + +![](images/icons/grey_arrow_down.gif)Due to the extension of this code, +this view is collapsed by default. Click here to expand… + +**GStreamerBackend.m** + +``` theme: Default; brush: plain; gutter: true +#import "GStreamerBackend.h" + +#include +#include +#include + +GST_DEBUG_CATEGORY_STATIC (debug_category); +#define GST_CAT_DEFAULT debug_category + +/* Do not allow seeks to be performed closer than this distance. It is visually useless, and will probably + * confuse some demuxers. */ +#define SEEK_MIN_DELAY (500 * GST_MSECOND) + +@interface GStreamerBackend() +-(void)setUIMessage:(gchar*) message; +-(void)app_function; +-(void)check_initialization_complete; +@end + +@implementation GStreamerBackend { + id ui_delegate; /* Class that we use to interact with the user interface */ + GstElement *pipeline; /* The running pipeline */ + GstElement *video_sink; /* The video sink element which receives XOverlay commands */ + GMainContext *context; /* GLib context used to run the main loop */ + GMainLoop *main_loop; /* GLib main loop */ + gboolean initialized; /* To avoid informing the UI multiple times about the initialization */ + UIView *ui_video_view; /* UIView that holds the video */ + GstState state; /* Current pipeline state */ + GstState target_state; /* Desired pipeline state, to be set once buffering is complete */ + gint64 duration; /* Cached clip duration */ + gint64 desired_position; /* Position to seek to, once the pipeline is running */ + GstClockTime last_seek_time; /* For seeking overflow prevention (throttling) */ + gboolean is_live; /* Live streams do not use buffering */ +} + +/* + * Interface methods + */ + +-(id) init:(id) uiDelegate videoView:(UIView *)video_view +{ + if (self = [super init]) + { + self->ui_delegate = uiDelegate; + self->ui_video_view = video_view; + self->duration = GST_CLOCK_TIME_NONE; + + GST_DEBUG_CATEGORY_INIT (debug_category, "tutorial-4", 0, "iOS tutorial 4"); + gst_debug_set_threshold_for_name("tutorial-4", GST_LEVEL_DEBUG); + + /* Start the bus monitoring task */ + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + [self app_function]; + }); + } + + return self; +} + +-(void) deinit +{ + if (main_loop) { + g_main_loop_quit(main_loop); + } +} + +-(void) play +{ + target_state = GST_STATE_PLAYING; + is_live = (gst_element_set_state (pipeline, GST_STATE_PLAYING) == GST_STATE_CHANGE_NO_PREROLL); +} + +-(void) pause +{ + target_state = GST_STATE_PAUSED; + is_live = (gst_element_set_state (pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_NO_PREROLL); +} + +-(void) setUri:(NSString*)uri +{ + const char *char_uri = [uri UTF8String]; + g_object_set(pipeline, "uri", char_uri, NULL); + GST_DEBUG ("URI set to %s", char_uri); +} + +-(void) setPosition:(NSInteger)milliseconds +{ + gint64 position = (gint64)(milliseconds * GST_MSECOND); + if (state >= GST_STATE_PAUSED) { + execute_seek(position, self); + } else { + GST_DEBUG ("Scheduling seek to %" GST_TIME_FORMAT " for later", GST_TIME_ARGS (position)); + self->desired_position = position; + } +} + +/* + * Private methods + */ + +/* Change the message on the UI through the UI delegate */ +-(void)setUIMessage:(gchar*) message +{ + NSString *string = [NSString stringWithUTF8String:message]; + if(ui_delegate && [ui_delegate respondsToSelector:@selector(gstreamerSetUIMessage:)]) + { + [ui_delegate gstreamerSetUIMessage:string]; + } +} + +/* Tell the application what is the current position and clip duration */ +-(void) setCurrentUIPosition:(gint)pos duration:(gint)dur +{ + if(ui_delegate && [ui_delegate respondsToSelector:@selector(setCurrentPosition:duration:)]) + { + [ui_delegate setCurrentPosition:pos duration:dur]; + } +} + +/* If we have pipeline and it is running, query the current position and clip duration and inform + * the application */ +static gboolean refresh_ui (GStreamerBackend *self) { + GstFormat fmt = GST_FORMAT_TIME; + gint64 position; + + /* We do not want to update anything unless we have a working pipeline in the PAUSED or PLAYING state */ + if (!self || !self->pipeline || self->state < GST_STATE_PAUSED) + return TRUE; + + /* If we didn't know it yet, query the stream duration */ + if (!GST_CLOCK_TIME_IS_VALID (self->duration)) { + gst_element_query_duration (self->pipeline, &fmt, &self->duration); + } + + if (gst_element_query_position (self->pipeline, &fmt, &position)) { + /* The UI expects these values in milliseconds, and GStreamer provides nanoseconds */ + [self setCurrentUIPosition:position / GST_MSECOND duration:self->duration / GST_MSECOND]; + } + return TRUE; +} + +/* Forward declaration for the delayed seek callback */ +static gboolean delayed_seek_cb (GStreamerBackend *self); + +/* Perform seek, if we are not too close to the previous seek. Otherwise, schedule the seek for + * some time in the future. */ +static void execute_seek (gint64 position, GStreamerBackend *self) { + gint64 diff; + + if (position == GST_CLOCK_TIME_NONE) + return; + + diff = gst_util_get_timestamp () - self->last_seek_time; + + if (GST_CLOCK_TIME_IS_VALID (self->last_seek_time) && diff < SEEK_MIN_DELAY) { + /* The previous seek was too close, delay this one */ + GSource *timeout_source; + + if (self->desired_position == GST_CLOCK_TIME_NONE) { + /* There was no previous seek scheduled. Setup a timer for some time in the future */ + timeout_source = g_timeout_source_new ((SEEK_MIN_DELAY - diff) / GST_MSECOND); + g_source_set_callback (timeout_source, (GSourceFunc)delayed_seek_cb, (__bridge void *)self, NULL); + g_source_attach (timeout_source, self->context); + g_source_unref (timeout_source); + } + /* Update the desired seek position. If multiple requests are received before it is time + * to perform a seek, only the last one is remembered. */ + self->desired_position = position; + GST_DEBUG ("Throttling seek to %" GST_TIME_FORMAT ", will be in %" GST_TIME_FORMAT, + GST_TIME_ARGS (position), GST_TIME_ARGS (SEEK_MIN_DELAY - diff)); + } else { + /* Perform the seek now */ + GST_DEBUG ("Seeking to %" GST_TIME_FORMAT, GST_TIME_ARGS (position)); + self->last_seek_time = gst_util_get_timestamp (); + gst_element_seek_simple (self->pipeline, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, position); + self->desired_position = GST_CLOCK_TIME_NONE; + } +} + +/* Delayed seek callback. This gets called by the timer setup in the above function. */ +static gboolean delayed_seek_cb (GStreamerBackend *self) { + GST_DEBUG ("Doing delayed seek to %" GST_TIME_FORMAT, GST_TIME_ARGS (self->desired_position)); + execute_seek (self->desired_position, self); + return FALSE; +} + +/* Retrieve errors from the bus and show them on the UI */ +static void error_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) +{ + GError *err; + gchar *debug_info; + gchar *message_string; + + gst_message_parse_error (msg, &err, &debug_info); + message_string = g_strdup_printf ("Error received from element %s: %s", GST_OBJECT_NAME (msg->src), err->message); + g_clear_error (&err); + g_free (debug_info); + [self setUIMessage:message_string]; + g_free (message_string); + gst_element_set_state (self->pipeline, GST_STATE_NULL); +} + +/* Called when the End Of the Stream is reached. Just move to the beginning of the media and pause. */ +static void eos_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) { + self->target_state = GST_STATE_PAUSED; + self->is_live = (gst_element_set_state (self->pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_NO_PREROLL); + execute_seek (0, self); +} + +/* Called when the duration of the media changes. Just mark it as unknown, so we re-query it in the next UI refresh. */ +static void duration_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) { + self->duration = GST_CLOCK_TIME_NONE; +} + +/* Called when buffering messages are received. We inform the UI about the current buffering level and + * keep the pipeline paused until 100% buffering is reached. At that point, set the desired state. */ +static void buffering_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) { + gint percent; + + if (self->is_live) + return; + + gst_message_parse_buffering (msg, &percent); + if (percent < 100 && self->target_state >= GST_STATE_PAUSED) { + gchar * message_string = g_strdup_printf ("Buffering %d%%", percent); + gst_element_set_state (self->pipeline, GST_STATE_PAUSED); + [self setUIMessage:message_string]; + g_free (message_string); + } else if (self->target_state >= GST_STATE_PLAYING) { + gst_element_set_state (self->pipeline, GST_STATE_PLAYING); + } else if (self->target_state >= GST_STATE_PAUSED) { + [self setUIMessage:"Buffering complete"]; + } +} + +/* Called when the clock is lost */ +static void clock_lost_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) { + if (self->target_state >= GST_STATE_PLAYING) { + gst_element_set_state (self->pipeline, GST_STATE_PAUSED); + gst_element_set_state (self->pipeline, GST_STATE_PLAYING); + } +} + +/* Retrieve the video sink's Caps and tell the application about the media size */ +static void check_media_size (GStreamerBackend *self) { + GstElement *video_sink; + GstPad *video_sink_pad; + GstCaps *caps; + GstVideoFormat fmt; + int width; + int height; + + /* Retrieve the Caps at the entrance of the video sink */ + g_object_get (self->pipeline, "video-sink", &video_sink, NULL); + + /* Do nothing if there is no video sink (this might be an audio-only clip */ + if (!video_sink) return; + + video_sink_pad = gst_element_get_static_pad (video_sink, "sink"); + caps = gst_pad_get_negotiated_caps (video_sink_pad); + + if (gst_video_format_parse_caps(caps, &fmt, &width, &height)) { + int par_n, par_d; + if (gst_video_parse_caps_pixel_aspect_ratio (caps, &par_n, &par_d)) { + width = width * par_n / par_d; + } + GST_DEBUG ("Media size is %dx%d, notifying application", width, height); + + if (self->ui_delegate && [self->ui_delegate respondsToSelector:@selector(mediaSizeChanged:height:)]) + { + [self->ui_delegate mediaSizeChanged:width height:height]; + } + } + + gst_caps_unref(caps); + gst_object_unref (video_sink_pad); + gst_object_unref(video_sink); +} + +/* Notify UI about pipeline state changes */ +static void state_changed_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) +{ + GstState old_state, new_state, pending_state; + gst_message_parse_state_changed (msg, &old_state, &new_state, &pending_state); + /* Only pay attention to messages coming from the pipeline, not its children */ + if (GST_MESSAGE_SRC (msg) == GST_OBJECT (self->pipeline)) { + self->state = new_state; + gchar *message = g_strdup_printf("State changed to %s", gst_element_state_get_name(new_state)); + [self setUIMessage:message]; + g_free (message); + + if (old_state == GST_STATE_READY && new_state == GST_STATE_PAUSED) + { + check_media_size(self); + + /* If there was a scheduled seek, perform it now that we have moved to the Paused state */ + if (GST_CLOCK_TIME_IS_VALID (self->desired_position)) + execute_seek (self->desired_position, self); + } + } +} + +/* Check if all conditions are met to report GStreamer as initialized. + * These conditions will change depending on the application */ +-(void) check_initialization_complete +{ + if (!initialized && main_loop) { + GST_DEBUG ("Initialization complete, notifying application."); + if (ui_delegate && [ui_delegate respondsToSelector:@selector(gstreamerInitialized)]) + { + [ui_delegate gstreamerInitialized]; + } + initialized = TRUE; + } +} + +/* Main method for the bus monitoring code */ +-(void) app_function +{ + GstBus *bus; + GSource *timeout_source; + GSource *bus_source; + GError *error = NULL; + + GST_DEBUG ("Creating pipeline"); + + /* Create our own GLib Main Context and make it the default one */ + context = g_main_context_new (); + g_main_context_push_thread_default(context); + + /* Build pipeline */ + pipeline = gst_parse_launch("playbin2", &error); + if (error) { + gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message); + g_clear_error (&error); + [self setUIMessage:message]; + g_free (message); + return; + } + + /* Set the pipeline to READY, so it can already accept a window handle */ + gst_element_set_state(pipeline, GST_STATE_READY); + + video_sink = gst_bin_get_by_interface(GST_BIN(pipeline), GST_TYPE_X_OVERLAY); + if (!video_sink) { + GST_ERROR ("Could not retrieve video sink"); + return; + } + gst_x_overlay_set_window_handle(GST_X_OVERLAY(video_sink), (guintptr) (id) ui_video_view); + + /* Instruct the bus to emit signals for each received message, and connect to the interesting signals */ + bus = gst_element_get_bus (pipeline); + bus_source = gst_bus_create_watch (bus); + g_source_set_callback (bus_source, (GSourceFunc) gst_bus_async_signal_func, NULL, NULL); + g_source_attach (bus_source, context); + g_source_unref (bus_source); + g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, (__bridge void *)self); + g_signal_connect (G_OBJECT (bus), "message::eos", (GCallback)eos_cb, (__bridge void *)self); + g_signal_connect (G_OBJECT (bus), "message::state-changed", (GCallback)state_changed_cb, (__bridge void *)self); + g_signal_connect (G_OBJECT (bus), "message::duration", (GCallback)duration_cb, (__bridge void *)self); + g_signal_connect (G_OBJECT (bus), "message::buffering", (GCallback)buffering_cb, (__bridge void *)self); + g_signal_connect (G_OBJECT (bus), "message::clock-lost", (GCallback)clock_lost_cb, (__bridge void *)self); + gst_object_unref (bus); + + /* Register a function that GLib will call 4 times per second */ + timeout_source = g_timeout_source_new (250); + g_source_set_callback (timeout_source, (GSourceFunc)refresh_ui, (__bridge void *)self, NULL); + g_source_attach (timeout_source, context); + g_source_unref (timeout_source); + + /* Create a GLib Main Loop and set it to run */ + GST_DEBUG ("Entering main loop..."); + main_loop = g_main_loop_new (context, FALSE); + [self check_initialization_complete]; + g_main_loop_run (main_loop); + GST_DEBUG ("Exited main loop"); + g_main_loop_unref (main_loop); + main_loop = NULL; + + /* Free resources */ + g_main_context_pop_thread_default(context); + g_main_context_unref (context); + gst_element_set_state (pipeline, GST_STATE_NULL); + gst_object_unref (pipeline); + pipeline = NULL; + + ui_delegate = NULL; + ui_video_view = NULL; + + return; +} + +@end +``` + +Supporting arbitrary media URIs + +The UI code will call `setUri` whenever it wants to change the playing +URI (in this tutorial the URI never changes, but it does in the next +one): + +``` first-line: 79; theme: Default; brush: plain; gutter: true +-(void) setUri:(NSString*)uri +{ + const char *char_uri = [uri UTF8String]; + g_object_set(pipeline, "uri", char_uri, NULL); + GST_DEBUG ("URI set to %s", char_uri); +} +``` + +We first need to obtain a plain `char *` from within the `NSString *` we +get, using the `UTF8String` method. + +`playbin2`’s URI is exposed as a common GObject property, so we simply +set it with `g_object_set()`. + +### Reporting media size + +Some codecs allow the media size (width and height of the video) to +change during playback. For simplicity, this tutorial assumes that they +do not. Therefore, in the READY to PAUSED state change, once the Caps of +the decoded media are known, we inspect them +in `check_media_size()`: + +``` first-line: 244; theme: Default; brush: plain; gutter: true +/* Retrieve the video sink's Caps and tell the application about the media size */ +static void check_media_size (GStreamerBackend *self) { + GstElement *video_sink; + GstPad *video_sink_pad; + GstCaps *caps; + GstVideoFormat fmt; + int width; + int height; + + /* Retrieve the Caps at the entrance of the video sink */ + g_object_get (self->pipeline, "video-sink", &video_sink, NULL); + + /* Do nothing if there is no video sink (this might be an audio-only clip */ + if (!video_sink) return; + + video_sink_pad = gst_element_get_static_pad (video_sink, "sink"); + caps = gst_pad_get_negotiated_caps (video_sink_pad); + + if (gst_video_format_parse_caps(caps, &fmt, &width, &height)) { + int par_n, par_d; + if (gst_video_parse_caps_pixel_aspect_ratio (caps, &par_n, &par_d)) { + width = width * par_n / par_d; + } + GST_DEBUG ("Media size is %dx%d, notifying application", width, height); + + if (self->ui_delegate && [self->ui_delegate respondsToSelector:@selector(mediaSizeChanged:height:)]) + { + [self->ui_delegate mediaSizeChanged:width height:height]; + } + } + + gst_caps_unref(caps); + gst_object_unref (video_sink_pad); + gst_object_unref(video_sink); +} +``` + +We first retrieve the video sink element from the pipeline, using +the `video-sink` property of `playbin2`, and then its sink Pad. The +negotiated Caps of this Pad, which we recover using +`gst_pad_get_negotiated_caps()`,  are the Caps of the decoded media. + +The helper functions `gst_video_format_parse_caps()` and +`gst_video_parse_caps_pixel_aspect_ratio()` turn the Caps into +manageable integers, which we pass to the application through +its `mediaSizeChanged` callback. + +### Refreshing the Seek Bar + +To keep the UI updated, a GLib timer is installed in +the `app_function` that fires 4 times per second (or every 250ms), +right before entering the main loop: + +``` first-line: 365; theme: Default; brush: plain; gutter: true + /* Register a function that GLib will call 4 times per second */ + timeout_source = g_timeout_source_new (250); + g_source_set_callback (timeout_source, (GSourceFunc)refresh_ui, (__bridge void *)self, NULL); + g_source_attach (timeout_source, context); + g_source_unref (timeout_source); +``` + +Then, in the refresh\_ui +method: + +``` first-line: 120; theme: Default; brush: plain; gutter: true +/* If we have pipeline and it is running, query the current position and clip duration and inform + * the application */ +static gboolean refresh_ui (GStreamerBackend *self) { + GstFormat fmt = GST_FORMAT_TIME; + gint64 position; + + /* We do not want to update anything unless we have a working pipeline in the PAUSED or PLAYING state */ + if (!self || !self->pipeline || self->state < GST_STATE_PAUSED) + return TRUE; + + /* If we didn't know it yet, query the stream duration */ + if (!GST_CLOCK_TIME_IS_VALID (self->duration)) { + gst_element_query_duration (self->pipeline, &fmt, &self->duration); + } + + if (gst_element_query_position (self->pipeline, &fmt, &position)) { + /* The UI expects these values in milliseconds, and GStreamer provides nanoseconds */ + [self setCurrentUIPosition:position / GST_MSECOND duration:self->duration / GST_MSECOND]; + } + return TRUE; +} +``` + +If it is unknown, the clip duration is retrieved, as explained in [Basic +tutorial 4: Time +management](Basic%2Btutorial%2B4%253A%2BTime%2Bmanagement.html). The +current position is retrieved next, and the UI is informed of both +through its `setCurrentUIPosition` callback. + +Bear in mind that all time-related measures returned by GStreamer are in +nanoseconds, whereas, for simplicity, we decided to make the UI code +work in milliseconds.  + +### Seeking with the Seek Bar + +The UI code already takes care of most of the complexity of seeking by +dragging the thumb of the Seek Bar. From the `GStreamerBackend`, we just +need to honor the calls to `setPosition` and instruct the pipeline to +jump to the indicated position. + +There are, though, a couple of caveats. Firstly, seeks are only possible +when the pipeline is in the PAUSED or PLAYING state, and we might +receive seek requests before that happens. Secondly, dragging the Seek +Bar can generate a very high number of seek requests in a short period +of time, which is visually useless and will impair responsiveness. Let’s +see how to overcome these problems. + +#### Delayed seeks + +In `setPosition`: + +``` first-line: 86; theme: Default; brush: plain; gutter: true +-(void) setPosition:(NSInteger)milliseconds +{ + gint64 position = (gint64)(milliseconds * GST_MSECOND); + if (state >= GST_STATE_PAUSED) { + execute_seek(position, self); + } else { + GST_DEBUG ("Scheduling seek to %" GST_TIME_FORMAT " for later", GST_TIME_ARGS (position)); + self->desired_position = position; + } +} +``` + +If we are already in the correct state for seeking, execute it right +away; otherwise, store the desired position in +the `desired_position` variable. Then, in +the `state_changed_cb()` callback: + +``` first-line: 292; theme: Default; brush: plain; gutter: true + if (old_state == GST_STATE_READY && new_state == GST_STATE_PAUSED) + { + check_media_size(self); + + /* If there was a scheduled seek, perform it now that we have moved to the Paused state */ + if (GST_CLOCK_TIME_IS_VALID (self->desired_position)) + execute_seek (self->desired_position, self); + } +``` + +Once the pipeline moves from the READY to the PAUSED state, we check if +there is a pending seek operation and execute it. +The `desired_position` variable is reset inside `execute_seek()`. + +#### Seek throttling + +A seek is potentially a lengthy operation. The demuxer (the element +typically in charge of seeking) needs to estimate the appropriate byte +offset inside the media file that corresponds to the time position to +jump to. Then, it needs to start decoding from that point until the +desired position is reached. If the initial estimate is accurate, this +will not take long, but, on some container formats, or when indexing +information is missing, it can take up to several seconds. + +If a demuxer is in the process of performing a seek and receives a +second one, it is up to it to finish the first one, start the second one +or abort both, which is a bad thing. A simple method to avoid this issue +is *throttling*, which means that we will only allow one seek every half +a second (for example): after performing a seek, only the last seek +request received during the next 500ms is stored, and will be honored +once this period elapses. + +To achieve this, all seek requests are routed through +the `execute_seek()` method: + +``` first-line: 145; theme: Default; brush: plain; gutter: true +/* Perform seek, if we are not too close to the previous seek. Otherwise, schedule the seek for + * some time in the future. */ +static void execute_seek (gint64 position, GStreamerBackend *self) { + gint64 diff; + + if (position == GST_CLOCK_TIME_NONE) + return; + + diff = gst_util_get_timestamp () - self->last_seek_time; + + if (GST_CLOCK_TIME_IS_VALID (self->last_seek_time) && diff < SEEK_MIN_DELAY) { + /* The previous seek was too close, delay this one */ + GSource *timeout_source; + + if (self->desired_position == GST_CLOCK_TIME_NONE) { + /* There was no previous seek scheduled. Setup a timer for some time in the future */ + timeout_source = g_timeout_source_new ((SEEK_MIN_DELAY - diff) / GST_MSECOND); + g_source_set_callback (timeout_source, (GSourceFunc)delayed_seek_cb, (__bridge void *)self, NULL); + g_source_attach (timeout_source, self->context); + g_source_unref (timeout_source); + } + /* Update the desired seek position. If multiple requests are received before it is time + * to perform a seek, only the last one is remembered. */ + self->desired_position = position; + GST_DEBUG ("Throttling seek to %" GST_TIME_FORMAT ", will be in %" GST_TIME_FORMAT, + GST_TIME_ARGS (position), GST_TIME_ARGS (SEEK_MIN_DELAY - diff)); + } else { + /* Perform the seek now */ + GST_DEBUG ("Seeking to %" GST_TIME_FORMAT, GST_TIME_ARGS (position)); + self->last_seek_time = gst_util_get_timestamp (); + gst_element_seek_simple (self->pipeline, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, position); + self->desired_position = GST_CLOCK_TIME_NONE; + } +} +``` + +The time at which the last seek was performed is stored in +the `last_seek_time` variable. This is wall clock time, not to be +confused with the stream time carried in the media time stamps, and is +obtained with `gst_util_get_timestamp()`. + +If enough time has passed since the last seek operation, the new one is +directly executed and `last_seek_time` is updated. Otherwise, the new +seek is scheduled for later. If there is no previously scheduled seek, a +one-shot timer is setup to trigger 500ms after the last seek operation. +If another seek was already scheduled, its desired position is simply +updated with the new one. + +The one-shot timer calls `delayed_seek_cb()`, which simply +calls `execute_seek()` again. + + + + + + + + +

      Ideally, execute_seek() will now find that enough time has indeed passed since the last seek and the scheduled one will proceed. It might happen, though, that after 500ms of the previous seek, and before the timer wakes up, yet another seek comes through and is executed. delayed_seek_cb() needs to check for this condition to avoid performing two very close seeks, and therefore calls execute_seek() instead of performing the seek itself.

      +

      This is not a complete solution: the scheduled seek will still be executed, even though a more-recent seek has already been executed that should have cancelled it. However, it is a good tradeoff between functionality and simplicity.

      + +Network resilience + +[Basic tutorial 12: +Streaming](Basic%2Btutorial%2B12%253A%2BStreaming.html) has already +shown how to adapt to the variable nature of the network bandwidth by +using buffering. The same procedure is used here, by listening to the +buffering +messages: + +``` first-line: 361; theme: Default; brush: plain; gutter: true +g_signal_connect (G_OBJECT (bus), "message::buffering", (GCallback)buffering_cb, (__bridge void *)self); +``` + +And pausing the pipeline until buffering is complete (unless this is a +live +source): + +  + +``` first-line: 215; theme: Default; brush: plain; gutter: true +/* Called when buffering messages are received. We inform the UI about the current buffering level and + * keep the pipeline paused until 100% buffering is reached. At that point, set the desired state. */ +static void buffering_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *self) { + gint percent; + + if (self->is_live) + return; + + gst_message_parse_buffering (msg, &percent); + if (percent < 100 && self->target_state >= GST_STATE_PAUSED) { + gchar * message_string = g_strdup_printf ("Buffering %d%%", percent); + gst_element_set_state (self->pipeline, GST_STATE_PAUSED); + [self setUIMessage:message_string]; + g_free (message_string); + } else if (self->target_state >= GST_STATE_PLAYING) { + gst_element_set_state (self->pipeline, GST_STATE_PLAYING); + } else if (self->target_state >= GST_STATE_PAUSED) { + [self setUIMessage:"Buffering complete"]; + } +} +``` + +`target_state` is the state in which we have been instructed to set the +pipeline, which might be different to the current state, because +buffering forces us to go to PAUSED. Once buffering is complete we set +the pipeline to the `target_state`. + +### Conclusion + +This tutorial has shown how to embed a `playbin2` pipeline into an iOS +application. This, effectively, turns such application into a basic +media player, capable of streaming and decoding all the formats +GStreamer understands. More particularly, it has shown: + + - How to keep the User Interface regularly updated by using a timer, + querying the pipeline position and calling a UI code method. + - How to implement a Seek Bar which follows the current position and + transforms thumb motion into reliable seek events. + - How to report the media size to adapt the display surface, by + reading the sink Caps at the appropriate moment and telling the UI + about it. + +The next tutorial adds the missing bits to turn the application built +here into an acceptable iOS media player. + +## Attachments: + +![](images/icons/bullet_blue.gif) +[ios-tutorial4-screenshot.png](attachments/3571758/3539044.png) +(image/png) + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/iOS+tutorial+5%3A+A+Complete+media+player.markdown b/iOS+tutorial+5%3A+A+Complete+media+player.markdown new file mode 100644 index 0000000000..1dfb4c9fb6 --- /dev/null +++ b/iOS+tutorial+5%3A+A+Complete+media+player.markdown @@ -0,0 +1,78 @@ +# GStreamer SDK documentation : iOS tutorial 5: A Complete media player + +This page last changed on May 22, 2013 by +xartigas. + +# Goal![](attachments/3571769/3539046.png)![](attachments/3571769/3539045.png) + +This tutorial wants to be the “demo application” that showcases what can +be done with GStreamer on the iOS platform. + +It is intended to be built and run, rather than analyzed for its +pedagogical value, since it adds very little GStreamer knowledge over +what has already been shown in [iOS tutorial 4: A basic media +player](iOS%2Btutorial%2B4%253A%2BA%2Bbasic%2Bmedia%2Bplayer.html). + +It demonstrates the main functionality that a conventional media player +has, but it is not a complete application yet, therefore it has not been +uploaded to the AppStore. + +# Introduction + +The previous tutorial already implemented a basic media player. This one +simply adds a few finishing touches. In particular, it adds the +capability to choose the media to play, and disables the screensaver +during media playback. + +These are not features directly related to GStreamer, and are therefore +outside the scope of these tutorials. Only a few implementation pointers +are given here. + +# Selecting the media to play + +A new `UIView` has been added, derived from `UITableViewController` +which shows a list of clips. When one is selected, the +`VideoViewController` from [Tutorial +4](iOS%2Btutorial%2B4%253A%2BA%2Bbasic%2Bmedia%2Bplayer.html) appears +and its URI property is set to the URI of the selected clip. + +The list of clips is populated from three sources: Media from the +device’s Photo library, Media from the application’s Documents folder +(accessible through iTunes file sharing) and a list of hardcoded +Internet addresses, selected to showcase different container and codec +formats, and a couple of bogus ones, to illustrate error reporting. + +# Preventing the screen from turning off + +While watching a movie, there is typically no user activity. After a +short period of such inactivity, iOS will dim the screen, and then turn +it off completely. To prevent this, the `idleTimerDisabled` property of +the `UIApplication` class is used. The application sets it to YES +(screen locking disabled) when the Play button is pressed, so the screen +is never turned off, and sets it back to NO when the Pause button is +pressed. + +# Conclusion + +This finishes the series of iOS tutorials. Each one of the preceding +tutorials has evolved on top of the previous one, showing how to +implement a particular set of features, and concluding in this Tutorial +5. The goal of Tutorial 5 is to build a complete media player which can +already be used to showcase the integration of GStreamer and iOS. + +It has been a pleasure having you here, and see you soon\! + +## Attachments: + +![](images/icons/bullet_blue.gif) +[ios-tutorial5-screenshot0.png](attachments/3571769/3539071.png) +(image/png) +![](images/icons/bullet_blue.gif) +[ios-tutorial5-screenshot1.png](attachments/3571769/3539046.png) +(image/png) +![](images/icons/bullet_blue.gif) +[ios-tutorial5-screenshot0.png](attachments/3571769/3539045.png) +(image/png) + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/iOS+tutorials.markdown b/iOS+tutorials.markdown new file mode 100644 index 0000000000..3b3c44606e --- /dev/null +++ b/iOS+tutorials.markdown @@ -0,0 +1,39 @@ +# GStreamer SDK documentation : iOS tutorials + +This page last changed on May 07, 2013 by xartigas. + +# Welcome to the GStreamer SDK iOS tutorials + +These tutorials describe iOS-specific topics. General GStreamer concepts +will not be explained in these tutorials, so the [Basic +tutorials](http://docs.gstreamer.com/display/GstSDK/Basic+tutorials) should +be reviewed first. The reader should also be familiar with basic iOS +programming techniques. + +The iOS tutorials have the same structure as the [Android +tutorials](Android%2Btutorials.html): Each one builds on top of the +previous one and adds progressively more functionality, until a working +media player application is obtained in [iOS tutorial 5: A Complete +media +player](http://docs.gstreamer.com/display/GstSDK/iOS+tutorial+5%3A+A+Complete+media+player). + +Make sure to have read the instructions in [Installing for iOS +development](Installing%2Bfor%2BiOS%2Bdevelopment.html) before jumping +into the iOS tutorials. + +All iOS tutorials are split into the following classes: + + - The `GStreamerBackend` class performs all GStreamer-related tasks + and offers a simplified interface to the application, which does not + need to deal with all the GStreamer details. When it needs to + perform any UI action, it does so through a delegate, which is + expected to adhere to the `GStreamerBackendDelegate` protocol. + - The `ViewController` class manages the UI, instantiates the + `GStreamerBackend` and also performs some UI-related tasks on its + behalf. + - The `GStreamerBackendDelegate` protocol defines which methods a + class can implement in order to serve as a UI delegate for the + `GStreamerBackend`. + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/index.markdown b/index.markdown new file mode 100644 index 0000000000..6551706e58 --- /dev/null +++ b/index.markdown @@ -0,0 +1,164 @@ + + + +## Available Pages: + + - [Tutorials](Tutorials.html) + - [Basic tutorials](Basic%2Btutorials.html) + - [Basic tutorial 1: Hello + world\!](Basic%2Btutorial%2B1%253A%2BHello%2Bworld%2521.html) + + - [Basic tutorial 2: GStreamer + concepts](Basic%2Btutorial%2B2%253A%2BGStreamer%2Bconcepts.html) + + - [Basic tutorial 3: Dynamic + pipelines](Basic%2Btutorial%2B3%253A%2BDynamic%2Bpipelines.html) + + - [Basic tutorial 4: Time + management](Basic%2Btutorial%2B4%253A%2BTime%2Bmanagement.html) + + - [Basic tutorial 5: GUI toolkit + integration](Basic%2Btutorial%2B5%253A%2BGUI%2Btoolkit%2Bintegration.html) + + - [Basic tutorial 6: Media formats and Pad + Capabilities](Basic%2Btutorial%2B6%253A%2BMedia%2Bformats%2Band%2BPad%2BCapabilities.html) + + - [Basic tutorial 7: Multithreading and Pad + Availability](Basic%2Btutorial%2B7%253A%2BMultithreading%2Band%2BPad%2BAvailability.html) + + - [Basic tutorial 8: Short-cutting the + pipeline](Basic%2Btutorial%2B8%253A%2BShort-cutting%2Bthe%2Bpipeline.html) + + - [Basic tutorial 9: Media information + gathering](Basic%2Btutorial%2B9%253A%2BMedia%2Binformation%2Bgathering.html) + + - [Basic tutorial 10: GStreamer + tools](Basic%2Btutorial%2B10%253A%2BGStreamer%2Btools.html) + + - [Basic tutorial 11: Debugging + tools](Basic%2Btutorial%2B11%253A%2BDebugging%2Btools.html) + + - [Basic tutorial 12: + Streaming](Basic%2Btutorial%2B12%253A%2BStreaming.html) + + - [Basic tutorial 13: Playback + speed](Basic%2Btutorial%2B13%253A%2BPlayback%2Bspeed.html) + + - [Basic tutorial 14: Handy + elements](Basic%2Btutorial%2B14%253A%2BHandy%2Belements.html) + + - [Basic tutorial 15: Clutter + integration](Basic%2Btutorial%2B15%253A%2BClutter%2Bintegration.html) + + - [Basic tutorial 16: Platform-specific + elements](Basic%2Btutorial%2B16%253A%2BPlatform-specific%2Belements.html) + + - [Playback tutorials](Playback%2Btutorials.html) + - [Playback tutorial 1: Playbin2 + usage](Playback%2Btutorial%2B1%253A%2BPlaybin2%2Busage.html) + + - [Playback tutorial 2: Subtitle + management](Playback%2Btutorial%2B2%253A%2BSubtitle%2Bmanagement.html) + + - [Playback tutorial 3: Short-cutting the + pipeline](Playback%2Btutorial%2B3%253A%2BShort-cutting%2Bthe%2Bpipeline.html) + + - [Playback tutorial 4: Progressive + streaming](Playback%2Btutorial%2B4%253A%2BProgressive%2Bstreaming.html) + + - [Playback tutorial 5: Color + Balance](Playback%2Btutorial%2B5%253A%2BColor%2BBalance.html) + + - [Playback tutorial 6: Audio + visualization](Playback%2Btutorial%2B6%253A%2BAudio%2Bvisualization.html) + + - [Playback tutorial 7: Custom playbin2 + sinks](Playback%2Btutorial%2B7%253A%2BCustom%2Bplaybin2%2Bsinks.html) + + - [Playback tutorial 8: Hardware-accelerated video + decoding](Playback%2Btutorial%2B8%253A%2BHardware-accelerated%2Bvideo%2Bdecoding.html) + + - [Playback tutorial 9: Digital audio + pass-through](Playback%2Btutorial%2B9%253A%2BDigital%2Baudio%2Bpass-through.html) + + - [Android tutorials](Android%2Btutorials.html) + - [Android tutorial 1: Link against + GStreamer](Android%2Btutorial%2B1%253A%2BLink%2Bagainst%2BGStreamer.html) + + - [Android tutorial 2: A running + pipeline](Android%2Btutorial%2B2%253A%2BA%2Brunning%2Bpipeline.html) + + - [Android tutorial 3: + Video](Android%2Btutorial%2B3%253A%2BVideo.html) + + - [Android tutorial 4: A basic media + player](Android%2Btutorial%2B4%253A%2BA%2Bbasic%2Bmedia%2Bplayer.html) + + - [Android tutorial 5: A Complete media + player](Android%2Btutorial%2B5%253A%2BA%2BComplete%2Bmedia%2Bplayer.html) + + - [iOS tutorials](iOS%2Btutorials.html) + - [iOS tutorial 1: Link against + GStreamer](iOS%2Btutorial%2B1%253A%2BLink%2Bagainst%2BGStreamer.html) + + - [iOS tutorial 2: A running + pipeline](iOS%2Btutorial%2B2%253A%2BA%2Brunning%2Bpipeline.html) + + - [iOS tutorial 3: + Video](iOS%2Btutorial%2B3%253A%2BVideo.html) + + - [iOS tutorial 4: A basic media + player](iOS%2Btutorial%2B4%253A%2BA%2Bbasic%2Bmedia%2Bplayer.html) + + - [iOS tutorial 5: A Complete media + player](iOS%2Btutorial%2B5%253A%2BA%2BComplete%2Bmedia%2Bplayer.html) + + - [Qt tutorials](Qt%2Btutorials.html) + - [Basic Media Player](Basic%2BMedia%2BPlayer.html) + + - [QtGStreamer vs C + GStreamer](QtGStreamer%2Bvs%2BC%2BGStreamer.html) + + - [Using appsink/appsrc in + Qt](Using%2Bappsink%252Fappsrc%2Bin%2BQt.html) + + - [Table of Concepts](Table%2Bof%2BConcepts.html) + + - [Upcoming tutorials](Upcoming%2Btutorials.html) + + - [Deploying your + application](Deploying%2Byour%2Bapplication.html) + - [Mac OS X deployment](Mac%2BOS%2BX%2Bdeployment.html) + + - [Windows deployment](Windows%2Bdeployment.html) + + - [Multiplatform deployment using + Cerbero](Multiplatform%2Bdeployment%2Busing%2BCerbero.html) + + - [Releases](Releases.html) + - [2013.6 Congo](2013.6%2BCongo.html) + + - [2012.11 Brahmaputra](2012.11%2BBrahmaputra.html) + + - [2012.9 Amazon (Bugfix Release + 2)](2012.9%2BAmazon%2B%2528Bugfix%2BRelease%2B2%2529.html) + + - [2012.7 Amazon (Bugfix Release + 1)](2012.7%2BAmazon%2B%2528Bugfix%2BRelease%2B1%2529.html) + + - [2012.5 Amazon](2012.5%2BAmazon.html) + + - [GStreamer reference](GStreamer%2Breference.html) + - [gst-inspect](gst-inspect.html) + + - [gst-launch](gst-launch.html) + + - [Legal information](Legal%2Binformation.html) + + - [Frequently Asked + Questions](Frequently%2BAsked%2BQuestions.html) + + - [Contact](Contact.html) + +Document generated by Confluence on Oct 08, 2015 10:27 + diff --git a/sitemap.txt b/sitemap.txt new file mode 100644 index 0000000000..b2f971ba01 --- /dev/null +++ b/sitemap.txt @@ -0,0 +1,64 @@ +Home.markdown + Installing+the+SDK.markdown + Installing+for+Android+development.markdown + Installing+for+iOS+development.markdown + Installing+on+Linux.markdown + Installing+on+Mac+OS+X.markdown + Installing+on+Windows.markdown + Building+from+source+using+Cerbero.markdown + Tutorials.markdown + Basic+tutorials.markdown + Basic+tutorial+1%3A+Hello+world%21.markdown + Basic+tutorial+2%3A+GStreamer+concepts.markdown + Basic+tutorial+3%3A+Dynamic+pipelines.markdown + Basic+tutorial+4%3A+Time+management.markdown + Basic+tutorial+5%3A+GUI+toolkit+integration.markdown + Basic+tutorial+6%3A+Media+formats+and+Pad+Capabilities.markdown + Basic+tutorial+7%3A+Multithreading+and+Pad+Availability.markdown + Basic+tutorial+8%3A+Short-cutting+the+pipeline.markdown + Basic+tutorial+9%3A+Media+information+gathering.markdown + Basic+tutorial+10%3A+GStreamer+tools.markdown + Basic+tutorial+11%3A+Debugging+tools.markdown + Basic+tutorial+12%3A+Streaming.markdown + Basic+tutorial+13%3A+Playback+speed.markdown + Basic+tutorial+14%3A+Handy+elements.markdown + Basic+tutorial+15%3A+Clutter+integration.markdown + Basic+tutorial+16%3A+Platform-specific+elements.markdown + Playback+tutorials.markdown + Playback+tutorial+1%3A+Playbin2+usage.markdown + Playback+tutorial+2%3A+Subtitle+management.markdown + Playback+tutorial+3%3A+Short-cutting+the+pipeline.markdown + Playback+tutorial+4%3A+Progressive+streaming.markdown + Playback+tutorial+5%3A+Color+Balance.markdown + Playback+tutorial+6%3A+Audio+visualization.markdown + Playback+tutorial+7%3A+Custom+playbin2+sinks.markdown + Playback+tutorial+8%3A+Hardware-accelerated+video+decoding.markdown + Playback+tutorial+9%3A+Digital+audio+pass-through.markdown + Android+tutorials.markdown + Android+tutorial+1%3A+Link+against+GStreamer.markdown + Android+tutorial+2%3A+A+running+pipeline.markdown + Android+tutorial+3%3A+Video.markdown + Android+tutorial+4%3A+A+basic+media+player.markdown + Android+tutorial+5%3A+A+Complete+media+player.markdown + iOS+tutorials.markdown + iOS+tutorial+1%3A+Link+against+GStreamer.markdown + iOS+tutorial+2%3A+A+running+pipeline.markdown + iOS+tutorial+3%3A+Video.markdown + iOS+tutorial+4%3A+A+basic+media+player.markdown + iOS+tutorial+5%3A+A+Complete+media+player.markdown + Qt+tutorials.markdown + Basic+Media+Player.markdown + QtGStreamer+vs+C+GStreamer.markdown + Using+appsink%2Fappsrc+in+Qt.markdown + Table+of+Concepts.markdown + Upcoming+tutorials.markdown + Deploying+your+application.markdown + Mac+OS+X+deployment.markdown + Windows+deployment.markdown + Multiplatform+deployment+using+Cerbero.markdown + GStreamer+reference.markdown + gst-inspect.markdown + gst-launch.markdown + Legal+information.markdown + Frequently+Asked+Questions.markdown + Contact.markdown From 3e540917bda2123044121548a3c102f586567567 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Olivier=20Cr=C3=AAte?= Date: Mon, 16 May 2016 17:32:33 +0300 Subject: [PATCH 326/979] Remove generated index --- hotdoc.json | 2 +- index.markdown | 164 ------------------------------------------------- 2 files changed, 1 insertion(+), 165 deletions(-) delete mode 100644 index.markdown diff --git a/hotdoc.json b/hotdoc.json index 383effb601..1b7748f416 100644 --- a/hotdoc.json +++ b/hotdoc.json @@ -1,5 +1,5 @@ { - "index": "index.markdown", + "index": "Home.markdown", "add_anchors": true, "output": "built_doc", "project_name": "gstdotcom", diff --git a/index.markdown b/index.markdown deleted file mode 100644 index 6551706e58..0000000000 --- a/index.markdown +++ /dev/null @@ -1,164 +0,0 @@ - - - -## Available Pages: - - - [Tutorials](Tutorials.html) - - [Basic tutorials](Basic%2Btutorials.html) - - [Basic tutorial 1: Hello - world\!](Basic%2Btutorial%2B1%253A%2BHello%2Bworld%2521.html) - - - [Basic tutorial 2: GStreamer - concepts](Basic%2Btutorial%2B2%253A%2BGStreamer%2Bconcepts.html) - - - [Basic tutorial 3: Dynamic - pipelines](Basic%2Btutorial%2B3%253A%2BDynamic%2Bpipelines.html) - - - [Basic tutorial 4: Time - management](Basic%2Btutorial%2B4%253A%2BTime%2Bmanagement.html) - - - [Basic tutorial 5: GUI toolkit - integration](Basic%2Btutorial%2B5%253A%2BGUI%2Btoolkit%2Bintegration.html) - - - [Basic tutorial 6: Media formats and Pad - Capabilities](Basic%2Btutorial%2B6%253A%2BMedia%2Bformats%2Band%2BPad%2BCapabilities.html) - - - [Basic tutorial 7: Multithreading and Pad - Availability](Basic%2Btutorial%2B7%253A%2BMultithreading%2Band%2BPad%2BAvailability.html) - - - [Basic tutorial 8: Short-cutting the - pipeline](Basic%2Btutorial%2B8%253A%2BShort-cutting%2Bthe%2Bpipeline.html) - - - [Basic tutorial 9: Media information - gathering](Basic%2Btutorial%2B9%253A%2BMedia%2Binformation%2Bgathering.html) - - - [Basic tutorial 10: GStreamer - tools](Basic%2Btutorial%2B10%253A%2BGStreamer%2Btools.html) - - - [Basic tutorial 11: Debugging - tools](Basic%2Btutorial%2B11%253A%2BDebugging%2Btools.html) - - - [Basic tutorial 12: - Streaming](Basic%2Btutorial%2B12%253A%2BStreaming.html) - - - [Basic tutorial 13: Playback - speed](Basic%2Btutorial%2B13%253A%2BPlayback%2Bspeed.html) - - - [Basic tutorial 14: Handy - elements](Basic%2Btutorial%2B14%253A%2BHandy%2Belements.html) - - - [Basic tutorial 15: Clutter - integration](Basic%2Btutorial%2B15%253A%2BClutter%2Bintegration.html) - - - [Basic tutorial 16: Platform-specific - elements](Basic%2Btutorial%2B16%253A%2BPlatform-specific%2Belements.html) - - - [Playback tutorials](Playback%2Btutorials.html) - - [Playback tutorial 1: Playbin2 - usage](Playback%2Btutorial%2B1%253A%2BPlaybin2%2Busage.html) - - - [Playback tutorial 2: Subtitle - management](Playback%2Btutorial%2B2%253A%2BSubtitle%2Bmanagement.html) - - - [Playback tutorial 3: Short-cutting the - pipeline](Playback%2Btutorial%2B3%253A%2BShort-cutting%2Bthe%2Bpipeline.html) - - - [Playback tutorial 4: Progressive - streaming](Playback%2Btutorial%2B4%253A%2BProgressive%2Bstreaming.html) - - - [Playback tutorial 5: Color - Balance](Playback%2Btutorial%2B5%253A%2BColor%2BBalance.html) - - - [Playback tutorial 6: Audio - visualization](Playback%2Btutorial%2B6%253A%2BAudio%2Bvisualization.html) - - - [Playback tutorial 7: Custom playbin2 - sinks](Playback%2Btutorial%2B7%253A%2BCustom%2Bplaybin2%2Bsinks.html) - - - [Playback tutorial 8: Hardware-accelerated video - decoding](Playback%2Btutorial%2B8%253A%2BHardware-accelerated%2Bvideo%2Bdecoding.html) - - - [Playback tutorial 9: Digital audio - pass-through](Playback%2Btutorial%2B9%253A%2BDigital%2Baudio%2Bpass-through.html) - - - [Android tutorials](Android%2Btutorials.html) - - [Android tutorial 1: Link against - GStreamer](Android%2Btutorial%2B1%253A%2BLink%2Bagainst%2BGStreamer.html) - - - [Android tutorial 2: A running - pipeline](Android%2Btutorial%2B2%253A%2BA%2Brunning%2Bpipeline.html) - - - [Android tutorial 3: - Video](Android%2Btutorial%2B3%253A%2BVideo.html) - - - [Android tutorial 4: A basic media - player](Android%2Btutorial%2B4%253A%2BA%2Bbasic%2Bmedia%2Bplayer.html) - - - [Android tutorial 5: A Complete media - player](Android%2Btutorial%2B5%253A%2BA%2BComplete%2Bmedia%2Bplayer.html) - - - [iOS tutorials](iOS%2Btutorials.html) - - [iOS tutorial 1: Link against - GStreamer](iOS%2Btutorial%2B1%253A%2BLink%2Bagainst%2BGStreamer.html) - - - [iOS tutorial 2: A running - pipeline](iOS%2Btutorial%2B2%253A%2BA%2Brunning%2Bpipeline.html) - - - [iOS tutorial 3: - Video](iOS%2Btutorial%2B3%253A%2BVideo.html) - - - [iOS tutorial 4: A basic media - player](iOS%2Btutorial%2B4%253A%2BA%2Bbasic%2Bmedia%2Bplayer.html) - - - [iOS tutorial 5: A Complete media - player](iOS%2Btutorial%2B5%253A%2BA%2BComplete%2Bmedia%2Bplayer.html) - - - [Qt tutorials](Qt%2Btutorials.html) - - [Basic Media Player](Basic%2BMedia%2BPlayer.html) - - - [QtGStreamer vs C - GStreamer](QtGStreamer%2Bvs%2BC%2BGStreamer.html) - - - [Using appsink/appsrc in - Qt](Using%2Bappsink%252Fappsrc%2Bin%2BQt.html) - - - [Table of Concepts](Table%2Bof%2BConcepts.html) - - - [Upcoming tutorials](Upcoming%2Btutorials.html) - - - [Deploying your - application](Deploying%2Byour%2Bapplication.html) - - [Mac OS X deployment](Mac%2BOS%2BX%2Bdeployment.html) - - - [Windows deployment](Windows%2Bdeployment.html) - - - [Multiplatform deployment using - Cerbero](Multiplatform%2Bdeployment%2Busing%2BCerbero.html) - - - [Releases](Releases.html) - - [2013.6 Congo](2013.6%2BCongo.html) - - - [2012.11 Brahmaputra](2012.11%2BBrahmaputra.html) - - - [2012.9 Amazon (Bugfix Release - 2)](2012.9%2BAmazon%2B%2528Bugfix%2BRelease%2B2%2529.html) - - - [2012.7 Amazon (Bugfix Release - 1)](2012.7%2BAmazon%2B%2528Bugfix%2BRelease%2B1%2529.html) - - - [2012.5 Amazon](2012.5%2BAmazon.html) - - - [GStreamer reference](GStreamer%2Breference.html) - - [gst-inspect](gst-inspect.html) - - - [gst-launch](gst-launch.html) - - - [Legal information](Legal%2Binformation.html) - - - [Frequently Asked - Questions](Frequently%2BAsked%2BQuestions.html) - - - [Contact](Contact.html) - -Document generated by Confluence on Oct 08, 2015 10:27 - From 055fc95e040395ec02fedc4c7aefa9f95e980196 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Olivier=20Cr=C3=AAte?= Date: Mon, 16 May 2016 19:23:12 +0300 Subject: [PATCH 327/979] Ported Cerbero/Install/build section to markdown --- Building+from+source+using+Cerbero.markdown | 186 +++++------- Home.markdown | 3 +- Installing+for+Android+development.markdown | 160 +++------- Installing+for+iOS+development.markdown | 52 +--- Installing+on+Mac+OS+X.markdown | 94 ++---- Installing+on+Windows.markdown | 274 +++++------------- Installing+the+SDK.markdown | 32 +- Tutorials.markdown | 9 +- ...8.png => WindowsInstall-BuildSolution.png} | Bin ...5.png => WindowsInstall-Configuration.png} | Bin .../{1540146.png => WindowsInstall1.png} | Bin .../{1540156.png => WindowsInstall10.png} | Bin .../{1540157.png => WindowsInstall11.png} | Bin .../{1540147.png => WindowsInstall2.png} | Bin .../{1540149.png => WindowsInstall3.png} | Bin .../{1540150.png => WindowsInstall4.png} | Bin .../{1540151.png => WindowsInstall5.png} | Bin .../{1540152.png => WindowsInstall6.png} | Bin .../{1540153.png => WindowsInstall7.png} | Bin .../{1540154.png => WindowsInstall8.png} | Bin .../{1540155.png => WindowsInstall9.png} | Bin sitemap.txt | 1 - 22 files changed, 246 insertions(+), 565 deletions(-) rename attachments/{1540148.png => WindowsInstall-BuildSolution.png} (100%) rename attachments/{1540165.png => WindowsInstall-Configuration.png} (100%) rename attachments/{1540146.png => WindowsInstall1.png} (100%) rename attachments/{1540156.png => WindowsInstall10.png} (100%) rename attachments/{1540157.png => WindowsInstall11.png} (100%) rename attachments/{1540147.png => WindowsInstall2.png} (100%) rename attachments/{1540149.png => WindowsInstall3.png} (100%) rename attachments/{1540150.png => WindowsInstall4.png} (100%) rename attachments/{1540151.png => WindowsInstall5.png} (100%) rename attachments/{1540152.png => WindowsInstall6.png} (100%) rename attachments/{1540153.png => WindowsInstall7.png} (100%) rename attachments/{1540154.png => WindowsInstall8.png} (100%) rename attachments/{1540155.png => WindowsInstall9.png} (100%) diff --git a/Building+from+source+using+Cerbero.markdown b/Building+from+source+using+Cerbero.markdown index c5c2f5d162..43ab41d1b8 100644 --- a/Building+from+source+using+Cerbero.markdown +++ b/Building+from+source+using+Cerbero.markdown @@ -1,17 +1,9 @@ -# GStreamer SDK documentation : Building from source using Cerbero +# Building from source using Cerbero -This page last changed on Jul 15, 2013 by ylatuya. +> ![Warning](images/icons/emoticons/warning.png) +> This section is intended for advanced users.

    _ArHH4RDt2BM&rAriUG%po9`ZVuj`{ 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 UQihF05Wts=q=H1Ln4$mw2S(4bRsaA1 literal 0 HcmV?d00001 diff --git a/attachments/3539045.png b/attachments/3539045.png new file mode 100644 index 0000000000000000000000000000000000000000..0bb29b8f7707cdfd78ad47f78a3d3c73f0a16354 GIT binary patch literal 195954 zcmbrmWmr{T{s(#p3F%JhlJ1T}x1fS_HNCu}=U16!=eQ030OvF)vo20ssI3(qh6&&Jc&G zun9Qg6E8R4MtF8p>_+xEc2hPB0yCh+F~w0)KMDii2*b-L0i&UXA>heqNMNF)zw6Fi z2%J3MJPV!rH9CsC7{?nq#g({R-&ra+IXGO^H5C;VxfvH0K7NBHgph1Uv-$t@AQ4+@ zIq^8DYrQHd^Lje4_IgO+|`~Cd3btG#k!%GeDo=q*_m^W87oL(lXahpGZn^qGCUid@p^j$I8ydy9c~jbS{3%W=rSipVi=3F}yr2Bx z=0u2Pmkb`Vzw*MZn0yWHkOdmI|KYG|blxOgK(7G5uOI&lX!q(O6wrSuYPuzF;5|0&l z_bGntGI`w%Ud`$VIiIeDFty^o1a1gjB#vsjY{%BEdh*?`KdipAlC_=sF;$z6Z#-U% zzAWtu<|m+do_^PAw0GGgST$Y3jOs2U=gA9|i>; zZ`xi`Z!r}3(eU+EnZ7-QS-WSC{N8xO0~rn!hW31UST$Hh#AOBvo5P^OAl1!rG3(i5 z^lp1c0oM`?!b#7$+U}6_4#U8Pmc&t2HgW1CI~{^I4T%*ziHdRwg8 zNZOK1g-8s|tb#=96AMPy{sbUQ;$H_j+ABzQ8|bG7SZp$fw3wtHTw zMT7Rd%qC`$8V2b9?xRqY_`*t|cUCSeu@>L+#+4KJ%)N+At2?Zm@h8VQhZ+E>&BNnhLu%Zn}i-Ph|-}d!H@Y*I8r)h{8dQ;QdWg z+fomA+t6Q5%6|wqMGk2OwFg!shC(2+B?dh|G=mp&I5B2AJJkY|3_Ch?K)D+-&lYNG zUd#kL6%jbxdVeB~WCqQh>K|SJ_yZi6_5D$ZM}7s=AVq-m#C1h%d~tkEJ1nuqDa>F~ z-c?_W@SQldJ-lnh{UEI&Kk%t)klPR%9R?M1!iW{bojiO-5*vKk?94n2Ig71O69f}< z20w5UYX&&07mBHjEc^=i$WCCx3lmd^5sy7;0G7P20(m4S$bN^#7C^%eLWLiM!HH6W zb%n7c=Q#spLI?FJ4?$t@ey`6jT6=s|dSf^WM3UNQ?zLjuVHy8TM*R>zNy+;;I2ltI zdLjW*WXi5|2Q)@Kiy+0cqS8hg{-P_{(nx9fPVQWu7~g`J_{1mr5eL!lZ{j6CYn&Cj zTiV(QhJ(lz+u%;C;}Zp`;3Y;?+U}=$$Ed$#!M-XcHd=eZcjZXubkY&D754c&%-k8#ZEP_cL9M_o%{dyqg@*WC_7poxW>_OKYRI~bV#>MbPb$^Y;?G-e7Mx9 zDp@uH8}hHB=iUEWwp}}--6+0p)e7pU>BN(%`Sx5}N24s`zqcl$o9=O4lH`1o6R-Uo zK)&%`qk-hYfX#gK!MKvJoLX&pup0l9hXKJqyuFEd`ENqUexlky^&biS=Q~q-xO#}G zy`<)kc(>YWf8TqblQSPY^DwB_2=2^n-UywpEkE*|u8FSOT(b0~u4Ziysa26XI6?Iz zk^E<(pIp#Ztqm_MeQ7oy7Y9p^#vl9zpPVjE@{+Cnpo$kXzuk@Z5w7Ns4!dwh5&*Ae zwp`>l&i*ZeS29*d%}i3JvsKdd$WQPE94E9e@{V^_=Ynq9A-*s-w>qu%=q%c8{XEO=lP|q$i^`_9Z@IolP_G^-R>86szWgt$!TAG` zw_Orvo6%``lmQjyBY~i~=BfrP4u${W%%Xp)omJJ4tFpjLr|kb(rrKptSoDO@wQtVH zs}70SW5DQWQD;6D7)Ad*AS^5Jb=b}0{~dPdg8+-va8aw5jqr^0j>qw!))EQ^*=l7Y zE7^)jiDh;zGnxHkXLK<}fY@QR<+8(gR#)#za$*N|Q54Z%6y#81q1uCuq%-GMfAd04* z{>Yw-euKfFExBr|rkms0^9|&;2X!y)dcSJcG9@wD4o7S)7j?vMI~`SM;Y}P8#Mi%; zo>aLWQNgjYWlb?QRVLF^M0Ug8e~GtXdOH6wYcW@?9QFK~C~b?aZB33eHa^HNyIu}F z61YDwTcqM>J4bQxg{(DdKc#tGH@rb%=xF+pNcj%TWrs5LCeM(68v{tC@>lsthEQu914!*a7`KVZfA)+yTYbBC#)cKP4_ovIohs9TpQ~o zmB=a%#9U?z%b!okGZN-6h=L6Xd0d9*T zD93f&odfGb60GSsxdJMW-L<<>!&Y!<(X7={<<)%2D1QW2R{t^AWq|RDPfue@#_%=< zmBQ-zCEF-}-^B$1wL-GPv;)_9-{+fTPV2>bmqjg%6EsSl>mWnT%FCcgp_pbIF%}Bj zgI5768bgN*oLwTTXsuR!9UW=|t1lju>23dbVu2W^*^Fx&6bj$oSoS$wAlO!*3%>}| zto++nY<9Jr21D1hieA}T^%dc8y(a>VXY(00#!sc}`~yi;iE52RRJ@i85{um~(*%R0 z7pH~${lGNez>MWwr(Gd`!CAXc57^=EbD8357-Si;F-AurF=2Zt*4Ec|Z4RdURvOG6 zG*CuU46L=iZdDyRT=02nkWXi}RrY46O-1_-7G?}2EXsIbZ3`%NmF;Aug@ngK6=hh*wOn~Icm5rLm^3<|*3cc1@LT>kz4|$HlUBFRLMB~Q z)y}c|CyUdumkCs%!*JVQAullTqn!cqD@}tb_#BSkD9EMx<@1_7U=drs&Q3mvMQ{BP z^fzc^p`DzNMJG$Qp6Ns{u*!6`c68XyW2KH*%_MO|_rux9Qb?l$;}W%^Fr(l_rVSMM zxBszm9&?}K;6=$$X^Qz0fx4@9A4;(gP1fO+HlFjQRB{apQL~qavRgy*d?+#~gx>Om*E+`EDdQ^up z*RAo`e^|NhbnM<(__;34!wN6@w#i_KV$a2^C^WeNg?_{F_vM4b;0ZWj?lNief>o7I zyX8p?*~>|x6(#Ax_=ulI;Pg65FX)I*2Ub3$R;4^y;<5Qowsf!Z;yrWtM@iP;f%+z= zw1gQ^6Mi&o)|+y0suhFnEgH^UI!&ok+gkm3Wfin2DR}dUu=oVjs0&MGK3g~zxFc_8 zh@udVj8{3sj8c0l42Y-yM=$5nVus?onV5*bKl^)r$Mkwx@>}}QXp(2eWHI|**h@VA zfXHn_+B9!?&gH}2%%X%ZW~L_8kO=#O&Fi1MS;Ki&}R zty4w>3<(^99cQliT1HpIS6kb@ILor3hc5octJ)~Kbj`4aAN7G0@IHTn;LvXs2IpJb z7rQ^f&AWXp$^b(`&Ux`+M|kX_s2{Hi$Hwg@2Cs2j=^Tj*Wv7CE`CPk_I!>s@W*lQo zuElAWCsP9^0!~)*{#Hi&gw&ND*RhgF`|+pMqEoBmbEo75m~UMn@eU`;I+xAvfs2t1 z0k2toH5{Sy9?Pzdea{<9-tLzLr{nN!r|HjMpU-|5J%YPG{mzWJpTvx>ipJ>wk#1kS zK##$17cVdgumWvl&ZcJ=ON=h|epbX9*O<~pvli~BnYm!Q-&S*~j<{uVHEb}AE78P= zgM&~Q*=$&^2`Ea_>|-k`o)a60%77(yWoOD}!DDgV&CCt@d|V}k0?z4y188$Ekp@Xx zbFFvcDu)e1!Tr#g=EskckE5>{vbVaV?#g%BvwQyXwegJ5_HYijrSewWZ?X}{^tX$sz?eZBt2 zsNjuH$m!FP(@STwjB;3$Ti*YaC5k$5a;+xELp&(MZl`D~Bsz3nl{! zA#MN-P(%MIpYY#7DqAuh9RClQ?6lB@d2-3?|K}yxQWE}$BygqmQ~hqr^{+j?t{hBK zzA@mieMd)T^KLQ*HU(YgQ=jF>iu%GDg0$=ZsZH>)AdT2TGsUYLUM_GkP%;p z-F@Q!YPHjlzWy!)_akKMKc%1>2Ba0>4*9i^W?O4EbF zVN#hKMgF_s8NGer#3Xcv7%>VFy00(j^Aa_+MZO^{Ap%4|Xgeh9 zr!emuB&xzxkn8hP8`V_RFRri!%nD~1#R6VM_&)7|)Az~DE81t+?@0w2qrql;NDBSS z6wt$=M6R$b`lRbL7gs3mm`|2A`&S=yBghmB?>fO7=0_PLI!YaJFO$qrdi&GYH2y6y zPA}SAGAhlYGgCI~PYc`z{{OJ5`~fcJR~p?bw?MzBhK_IA)OQtW1I=3;N5;T2i$J?K z2bkt`<#y&+62tln!^hh{rMEk z?Q2?6Fg@>)b>HPTLR9C5qup%$Q3%rvxEM=L@w88*|Jp?Bn=h^JQled&$y@qhRB-jTzdX4saouM$k<8;id)y!*SGUPdBq%Y2jiD zTVzZCv2RoH;i}B9{3YW{cFJH}LJZ%pqtcQ&rjEy;rdI|jnOJ_z$*A=H&M)3=Rm~3G zV;<8#dwiv66zSyy_r=B_-)gn)83vi)(b6D_K&eYxhrxtPNO${g8s5c8 zdR;x7t&j0k{XY6(K~1t$qroBja;avE_o8UHrRUoCZWt~bN7Pp*tAqNG?vTaQ;KR&j zTWi zpicLA9|aW<{&~cKp4zEF&!SCGcEiCm-b?}-lS+320n_55tvhv+2&tYyZ3aGuDD#rQhZMElG z3%BF>T^;_7ZfsSC)Y5&)VQ|YI=kR2>6cnvhl^Y>smcid(Y%to|HPV`~sn?et(X=-~ zXRTWQ_2KYdP;}IEf#^$LitERRqWdAQy^r6-_rmhQ{oK8@2cr7Z%Hv0Y8mou!1jLMw zn|aG~UWPy7QlD3vMeEX_;!D))*iN?8N*1&h?-n$6gdXQ&m+xzux9~USWtv>tf9_Z| zRt`IPCKtIau^V1LQo3B0`-wJv;0grkgfi%(0^Mw|Paq_La8ud$vN&3u64D6!EdD_E zn|$q0^0lnczu$QKE1Tja4H(j-LKsH-LAZcE@D`PbGwReFk8O_jneQ(c0HRnyHfU&e zYaiwBwohWHj?y%nf~J(ea;8mg$cPi!4_ynqe?}Hs_rbFxBD-3OOXbNE9fFYL5ZJ2U z5$oNThk1jpq3a}HukffMaJ9-%Zr}u$=j=IZ;rIpydp=;9CsAXl=7*DW`G{Z}RMfl1 zYph&){>~};j;ubm{l1l!s(Kz2`Z#_Zo$(*^@%DQIQ(3q#4$z1YT-=DkLqPbm_sLR; z_0uYb^X&?YQzi!g(jPgsrkn+LN+XvfMQ?0Y^opPFsRsFOLrkU z?)%#Z*7#XdY8Tj1t_Md34sNsEZZBsMDmeU)duF@Z5^|F>snSooUtfOntsz_4wu3uH zFY}dG4cs0goxZUBBLKY(;Cqy@DC(M&o3-e$x7+>;#=U#{snw))?zmJ1Ywu# zsh90u=w6($-pF9%0lx=Ce7>fPD2Z8Sw%l>oujZI}*wO2CzlI7Cw>c?(BSwXo5q#Mj z07Qc_-H1_(%awm1!dyO|_!<-i(Vh0rI1vr8#f~*u9~~uqM!3&nHLc0=);H4gDI8-a ziT^mgPO3X3uCzXHR=0E66?p>furX0f?i_3%dB2dFVzfrn<3;eMV-vN*sOYc+w=wb% zyOs=T#ECsU2of!bq{tP+^i-*nGD-1(hZrsQZ7*9V#AVMHx$!S&Lv~C)c_eWVzS-h+ zw+@CFa*OK_<_m=gbtOzKBMS!o{Y~PL`w)dv*6whaETFl&N_s-eyuFdxOL7UAF}*$= zU95(aXFqgAJIlLY9N;r!@xR$Ykt-(LOA zM4KXj^Hj`}DNQ;x>g$SsEVn(fD*d6l2%%Hp?%rZnw3X>Z0Q@u1_dSc(@x??=l2E|BM|eS^X7wl_n;q@as3JvINY zsDCIAr^Eq=lZ6L#8B2zs@bQH;UG`^?Oqu!=2Tkp5FPE_ResVXMXfQ~FGnuiuxUcz* zEZszaKIR$VowNPtgml}L>wu#>zU%4`PRn^13^q{c`tr?TwX-vJDC|;(5_Zex_#Vbg zZ?vS7)t&H?bzevnI<(v6j4zX@Zp4iJiLSQ4F)N-7T*1K3YyLggghrDJOM`K|%nq`- zDAsPO7$~J)uR!Of;=fvHSWNQ}?qSfVxSygrGBhuTSB?_ItPF%;KOB+vvi9`5y#Ory zD4NZ_(bI@UoqGQRekR;IpgktOm_*-NS%`;{M)v zbH_y6?MMgQJ$*Rc=wtDROTL1FxGZ}*(BT(qJ4)Q;v|2e%4w?+f_jJLOHQL9nZHx`N zNPn?t+k`KheZI1mS*>PJT&c@fWcI!v;j4@qPQaFzds+D7*75$fj+<*#jK`cRvQs z+-F%o;67r8fO)C@-YGZlN%YPY&%V!$^}<`>1k8K|yTHD7q$b)A*-B~a8vsQb=>)oQ zZ|B^r1o#^w51Frs87!M8@;S%*i;CsZzBl%Y zF6-*2cY|wxPUQ`N85AKYilLu6h~Dn3%R$RbYa?xn2j=<|TXddIfQ!T>*TJ>%ud~)K z_p0;Vb}s+U`@PZ0)`&8WOl-kbxG4pkVd=ncu1cl;Std-REPHU?!xjrpr>Vk01VF2& z{~XK#vqixXYGXJ|20_)>f@OjwJah|8^q}BthKj#9kvzv$hzs@~|L6?@q z^L1pdV)MB9VkFA*zZU;44k}22_vkI22Or4PxGwMDyM4VD>qW-{7Jac!a2>7wm@P4y z!1MJiS~8AF=PX9&k5>L6a!eOZmsaPze4Yqkd;+uWeG8k7OH9WpjUQ~Folv%9gj$vH5g15x z>stRf^0)qZ9dZo=%?z3;)ethj-0O=MQadCl)wuhq7*ax@NZaWy4SngjxrK zcZPNDC*s4wj0q#)@|W9y&L8DW`BnP`#rDrD(2k9N}<C-Xm;_Xrn#%Y`Xl|Zo0Zn)u%b`hqe29|VC=^r9J)802jSb>lyAS@2UT_&D+_Zi+y5|?2*r(} z;k|I2uQYlUN9=YmU8&TVVV(pt>3dQ==VaZ|MQ3vLI5}y04($VHZSc9>#m?}n@I(`_ zJi7>1P<=4W0?8zRX!t*9tIVUQ6kmB4OwPzk6f#vLWmmO^c4+OkxCob#blh|z2xWK! zMenOSsGbW`d|mym)LSZy2O;8nY$t&BJ1Qdd)O-+tFX(<7ipO@`u$%TFmDl6+ zJFy{dcG7%r)-TgLr{>Lf-R^s$#Q2;RxU}f(J0qzft3FbU7iZ<|%5rs9%QK}~i)~(B z38-EAvSR{|r(IPhquP~*(nQhIte^xQB|?0Y$J;Y{lLqk`2F-fZ=P9Xz-Bc%{btq(R zU>&Yqj<&1p7ld(*w>v=Ge^J^}xbxIW;kUHI+HN%!geMIQRT^aiX2UQspz@oGv zj-$nHxxg+*yj52FqzWYZf1+ptK=}(6yX28H8t}LU0m>k^_whR1S zW)&o^y2T$+38b6U>pe%<}1 zx4%`|3Y9oXwjy-{!V^T1d3EmSKKi&W9IPD9&uP1(2! zGYBMG7$mRpeSOr|*_rr^oFLp<% zPjp`HRjfL~3^oaQc4bl+qvx&(@*`wB;c0(u%+{M_hJK^==hUj$%p#WQ42D5fJGBIn zcIG2xNSPC2U_=0D^xVl6?h(VHdI&x$5B{jqFCnjChM?EA!cyzSRsebP+ir-ti}-FL zee8y#c{P(}c*p$Y9!X998mSgqPA<4Qi}`55E@nx1)C`1=R&#{6R+iEQDbrp`khe6h$4S#5?Fz8bTEYL5mL_@mI? z!|~IYX$pF*9YFvR4V&`87~%*)9!pH>A)r!8&Iogz0>qa8+4jR4Q9DXEgNZyYb20sJ z&B#oU{H}|N zcr^(Ex}T()@97!O!h*D6P?1rVji0j`xNqgqCxUsB-o?YS=wiuaorZC(&zBw|dp>SzQvZ@lDmOeP@J zLUHAxxZBSPfJ1ugM_` z=glzCg+xL!-~Gr4vE^rpJvte(qOJhA<$$Yh!_eGAAU1W>G`Qh zv#dj_jRPj4Bv`+Fql}?u2fNG^9#un`9?F$;!0Nz=(uBoOXEMi22V( zj+a|HdY{wtFH7j(%=wGzjhk<@3p4&z`mSK8*)K9_0RFmS^nJG5#_CE6iN)}1=2SUz zHqk_xVe0(D1kD(%%rcsw+IL-)`>&TA5;o&2o1rIO8D0pt$omV7nco1%0y*4NRTH9` z1Uc!AFx>cV?)+epEHu^FJ{oBFbnI2;XH;{kR>s@L z;q}huQLa771fM0IjnmwiKL?eVXJi*`BKd$ql&owUW#`X}JnZ1)M6}&AGW(c5fA7Hn z2Ox_#6zadMc88O3j43ote(`)PT{R|C#D@C0f&w4~ibDkslY|eNDV0+JIqX>DHP}Gh z8?F=5)Moo6te(R;fjJACLNtBdxeWgG5Zx6rR8qa=3*4-|HuSbBJ|VjzA2(*G`^m~A z_IB2{MfvMGbHm!0rSZ0TB{p%1--tj3k}LW^mib4Sl~~ZJhm0bW`)_7o8DoT-Y98>4 z3-4$3(Hd#1ymvOTU!eMdMc{buIbV&xo?-&nSEBDptfMCbh2xw4z>F&2wI`HWwD~ks zd+ZCO!XKO&de14MgZ4I+Xxlk}G6U+kAPxk`T!KZS zQZ(gg7R%hX>8OZCoTJVLy&*!V!7$~{9Q*p#7&~?J2x)Rfe5jwK7T)ubYi2kx_@=)H z-s1s>e43vVLe7FF^bS4Ff213pu8H+f5-A)_7sbP9?3p5I&{+Y_xW89!K2zclOgGka zG1lS+5SQmOMDCUzy6U+0pUSs|VCD~vtV)9jE_9gnP>>^3 zbS&lFc%*8xGYd%npg%R^2%b<%rlzXhb;?I-r3piUW7;etT*vLGh8v1Iy+auK7b{d? z+!u{=dfa2w0wqp+C3ZFeXl_~ikT%I~aYT}|##w)^GzwOIalJa*wV>?yjW|w_RsA|l zcX^9VY>%}m;EWd2Oydw{-lX+h7 zv_qh?E~eENc1AAM*SyphMS;n%BiYCrUH?VuDhz=n0$GyvYDHBevyxom8UhN2gow{c zYPiJGds|=+2b}$6HDgLz=g@!mDYX5nvVd7mfuQ?zVd~^uu&ZmcsTP{wNf90-6NS;a z;-M>^4;3X*OcP`)JKOkLsI_a0`pHIH%DcX6B2|YQ52zW(d-X)Bk>yn>^;4?irgDY< zwujeZ_toR)G!(>N{RUqkDaY>oAWk{4+ra(qr!utRf{#hQ0xUq0o}Q;&?BqSDeMQME z0+iSkuY?DjAYJMm1x&|(lPH(?rk9+RnCPECS@abulWp)6xwDW}RS&DKo%<}KqMJ3f z?y72TIuoN8>Nk3bFam<9;%afvl_|>a2xSZY*tB0&2KwP0nE`|Kv7>QHZY*?k&Z+Cu z1p;`K{J4~TFly}FSnZ~M_yJ9A%0-p1iwz3&kB9clUGcJ&+MNK-|>!{aFYT?-gR zAGW$`CLb)ccA_4A2y;lAg^$;GqAF|x{0vwz6lu2sZMOH^nD!!93dN4d0wgGY8y6eB&T7TEU`645;HUf6zq+egp}x_#6+o&f!U9o`SgAO6ebei8Pa7L zhC~vle^?br+Lqv|%MI(~{z0Thly7CtI>Z~8fAHGimSlCe$%!vCtKAfx$o(A*qEW=e7a zRe(+Jjh^pA_SX{`eA-rKSb=Vu9Nr*jj8-q#KHKRX&Svw0BzD8R0Wd{OGn|yi_C&m} z5;9ds5vi_6)?mJOmB@x_DQV^p?vRE7^~A+KiSb{;IA{Zq9m-NJeCO#lE4;alRiFrd z(i3H{)@RbXf~Fi2M%4U3&c+IzSiX)1{s!EMP`xyp1(7T%x+95Aa?fJtxcS&Dy_1lL z7RX`c?j4h9sxt)g9e`XLM_8*j`yr8f?5Fk6!8LHUNic@Kv~-2`=KL`1?a+pE3UcIC zd?}mT>a^mz4rkb6OIpT_YP1l@{Z%R=v>zUr1(`Ip?jupc5TeZ{sdEax+lb2*Qi{G~ z*RR>q6X>d?vW{B!)!fibIxD#G|2YTEar{T+INZs+gNKKIzd<5gMHMEH)yw)hX-@iy zSGxMWl{zwfJH>|rrQ3Kl9-IP^0kb{y!!V^;7}^lnpWusjlqax^X@6VoU^vYjYCFuv zp+$`a$qhjHK|?pJM8(D9pEmb7IcQV?2DOb4v2ah32|OMVHtMaFcWfI*z3;zU$Y4Yi z=reYTL_9?I#UPSbu-v*@7%(mTrvoekEpm_#E?UJMTj|}*_<>04pK<+@{sQ&? zbe6&Q+Saz^n&*CG3r*K}MlOv4ENeFN|^n7nkTOX)v3Ba&;Bv8(`~E8>jPsqTzF``W1)^zerzF<* zC=1K^thANSpV^ch?iT3F*g6#$HLS|P<1$WIRzMlc)N?-L-m(#mvrN@0$l%(F&j-E+ zJD7~uK7r4oFZS~M)-zqZIxn!vKi6&VU3YD24(e}fwP5dVh09wjq)3_u)4=J zGL=oOIrs; z&gCeCo95%`2a;8=t>1|mYd6WMB`J~AhRoKexIdAT05SxJjq%`5kv|DW20-XVxl05) zseDp{o*d+HNhdm`VoaK=RMkCRYJeNy@VLLMPT8;QhYP)q65bRgQP9nXu$$>)$AgN~ z(T>R)MF=LrU>Oe>mRI#)9bXrpY;v-u3kQIJ*u6?cD9k`yG57O`w1I~tr1a+FUkET} zth~5>>goA2@OKVHOml|UHqbC~_XMckz`1~~MkPcQB@%dK_qI?{prMHI)SIgftq_S( z6RtfrC1@4cwq|Or)njHz6eS!8iLZDo!gF(@0G0|C5CSI=ROrfRinlp%*IcB;04ng? zxFR|?B2KYLO+WgYZc@gt@i)`@pHdPAu$;+Hl0V=An|)I8LJ*#MG-wo4{SkG@J6b!w zbbT^J`qdcb6uZDKf#~wFK1W}A3?im`$eb7-p{Epli!wbx$U8(0X%UjZk7=yKJILF| z`Ju{~?*qbw$sRwAV$8|o-NjuoeI)BVP_8EmZ_~KL=Z&E+F64$0KrgQ-FUC(m7)?$# z2NIufY}0)+RFlSZCEx>pEeY92$wTo_TKmSmbr=&wxIDa2=35ZV<+?bct`9uFO9Uso zoCE4s?3-C`-)LUmX{|U1%(pYiPaOCa}*GC<+q4|S)WkU^e|NdV9vC+$i z)XaL_EKkhylS}5dJG7OHe(xnbCTriJlM$s$u3dC-t-7;)R&S=~1_8d1EQ!eYy=P=7 zj~Z9i?WF79R~iDB0u~5}R`NwIfe?JP^av5B(P|2|bFg~+dTe}qFS;UwtYry^)4!n* z84=|fPlfpf>*&9@EXN`bYSgZT`V>lU)d@3+A#|XwCPQiwm8ShO7bm67lJw*#m$Cz~pIq;;C zA;T4sJ+!O?iq7DB!JFkinfOGQRI=i`HJrv!Gk;`Sd0}^B3OfSYh=za@{$%`(xU*jK zXw72R@it6hr`@jQFTQU#W)Vr)`I1!F-d={na%X!e&P+gt;^l~ZW$PW&+}aL7jp<}Z z%w@1uBsNuL&rX4mQ~81oY0BFEYn)YFTF&!2j19qrH9!y}V5mQMtv!qu<- z7l%f6#yQlwO^h-XHO@X>ZpuCrMoCjeq&N9Uw}lk{KrtW73^L`DB?F9L%7c3SP}J$= zdWb=vemM9&USb=fLR<%YnF#bf%an?F7fYGu|I-wpN7t^1x6di3bZ$7dRQOJsl^BAU z3-C?-Bn!>RGgD!_p|UVD|H|73gqYE7AFi8}9+{|}pLIw1$+DYWVpNIWNUz&;Sf&lB zO+;a|;-i6_&5tp5D$+6As3aBatD3Ur@o?j^u@^PzNy@+=0-!4V6eJ<|o@iZlIExsJ zf9ya6gB1GraSG~o8VMp?|0rKG*TBRCtO$!Gb2vIGEo{qx$Cw08&^dIi$Ucf;wZ@yh zEWihD6c&G|1(K-2^9hI8-i-gm zwr94gSW`=+uwbP{XomOq)FAYpzy(q|V}@ZRn=SG~e?%&##|taQ!lhL`P@E9Py9ia5 zdy7f)j+Y6&?acv}9BSal3{!SvwHXCOiW%N=O7cN{?u>=Kc{$t!DtNsifCv+Ff6b$Q zlHQ7bL0?SJj3`=$xwtes?>qkl98(M>0zJ$|Q{4|?ihg?>JL1(P!y)UT;^>`H=n{hL z>hY@F5iUnQ-vLt}4FszgA_MNyf`~(4yTX|SS>sJ4I^SlLv#JeOh39J}-~y0#GTt6$ zwUEwJ;M%EI5YXMW1m?%^SIj!=B3vSei zkKu9bkeDpSNOeDrlRp~bWpJ5ke$Eq{a4{4BXsME4o7$`cQ_KM40T7X7%<`QBFlO7J zOgkT})PT30!N-znW0R}6kaBE8+JH327hu;^=cU9;$42HPD<0}VtQxk1H_v2*sVQ6r z0v8+!5dAHd@I4NKKfDB0{jhmtlpl5`PSo=4BrrpaxQoot#@pS8lsqXsDR2v0gL+HU zcIj7DtV&!0GZ!^t2ETWg$i8>Nh+e24dEj^e9^cRS(@zq;aQ76U)G4Ndml~!3_N-87XHR8A8(}5!g>&)H++5RgbRxzBM^%IRg6qtgP z6G(eRm#~fUXm9lSu>x^{)$gK7uwtadvnkH+kF5SQeTZ5VzSx7CJ}kYV`hy(ybtz=f z7Kwfbp9YVIq%OG&i3QC$XF6z{I@cLd*eVzd$KPb~Dl#T=m}>WOc8wyEXd;m5va{l4 zJc*mhDo@qN!2ffEzhzHI*wQ)e9&Ro6c3nW4L3KtQ@I?*&0AyxdZFTfPDa*@4|f6 z{YLAQ;VS!MFC$1zbqf3nGg+z?gmqE619V=b@J>wELdPA2YaZl)&Au1ar@J0fHJ5Tq#g)2q-Gau0djE z``tV%L4w?FhG|A6`4?>4JN41X8dR+R6`3^+$Rq$2$Ht?c5k{>#HC5Wz{v^CiIn~Q{ zCBr6O#U5nS2BvbAr4X-eLs95d>-~1_gmMoh8F8b>8i2CFU#>1E-Qxp01YPiT+;2q7ih1a|W#! zL}|!jIGXOA2a2g~={3`?AMesA%nJnww&FL{}*_=9dJ-DyDMDd292iqiKpT zo{0>6Fu;Y^3(4IfF~UQ_z+s_i9F~q8pT*?ai)zx7ojj<9SFg;rN=5Tcf|sbv2F5_W z95@sLJLGrhMv^s~TSR11W#ZhyH`hO z9))MIj)|^g8CYSkUc5r`1G#a=vD6Iv{#YCyO+u~V5>s0zg8^A<8b>z?k#~@>=nr*L zo4uB`ZbUJIJw~dOZblggFQx)oAPJF95s${hj*hKD@*XXDW|r^VP{8}~XfErdp7(?d zPPB92#FgVq!qye7W^C}m(UFN7wbZE5tROf%&0$T-sUAd%sZ-Xi!!{Dyz9nkILoAD5 zk^B&kvlE?=H$f3PNM=6=H3t~o3bPmRAnPIjlHCF)!?&l}&x})`>-c_3v~-vSQORHh zJC3UCl5FYMUb2#n?qGo!CAT7qma4H?3i1+*v{*}4MtO|h3RS|nQgycgwj1ER{>gk> z@Ez(`w2^6pY-Mm`rzvBM(OUN~mC_-(uM7^LLgH*LVU@igK@^;NTs_f_6aK8Dxp&Nsh$Y?b!%Gd2{Z4c@Bjm>=(N0RP_F!jkLj4( zN%IGmAvjS)(XQwQSS>BwFvfLE+TwzGOIAqmVoxq+PD9?Zn>ej|gzyc7xy`SLFgE`4 z6uZK=DyxO>afnCgJ+z1zYjao~Pb$#3k+}F?MLd}AJKYB(K_X0op-^5vbKbF1nDmGl zV_sEO7`V9@kNg9kMX^?a0hOzA*kemhad_@&Z4&|+7vlUTO+Sf z>5hU*gd~-7Gbq^>s5p6DM4Z`kCFy|B%h;`(IZ59&r!r*sT{>sQR!#HvL3^WiF?ArR z&Z`-~zDi%QqfcNiy`ZduQ&H_$urj;gCwO$;+f;%u-5z|*GF?2_7YuULW}A1#I^9s${>NQb0|cy+s85NY-u z6F$d2VkNaHKEIXQ{q`lah;RRq$=|TrT(HO?uG^cQBvyhCb7JLa*uw_p{v85+#2e=$ zjYl|W9QxMGtsq2GEO`#L;G!LFB&A=J$uSKanC}Ub9r77~!POWcz{(GfO+_S3+=q1& z1x{P+oBnHOT*wg7BAb~JJTyx|oEnac@CDOIhh*u5)LW|)8Ad$5Q_gu9Xp#7|`x60! zxDFYvsq$@$d-B#Fb6#}EuE4*9m=J?y+1G*i1^{0Av~dtwhK}gqR|gVi!n`W1du`o_ z?PGD>hIrDchkI!Vr=rksRnD>0{RWAWE97=uDKlx*-{truq_eyqs{vx@8eD=C>(Su; zDG{}8B(6=iItlF4rVX+43&4NHz=kPsVUl#F_k>!t!r)v!3~2G$Vs=VK=#iJNE%c+( z7Acol*BO{`?zcJZW$jtkVWK)1X>@KeLa*>9plJ-noVYX>gkR~sns%O@;Fd(E^#xCW2eGSxsTvV4rZc65Lx}0o2EWC{0xrbKuje?>c zEuuJ6BvyyR4U5fBRvts(Nl7>-L^4-Iw6s`bzo-$TQiRxvnimZ_7MBg0CQSJubAWp_ z+QK^27x5csXstK62-j>5!t-S=_G&<_noK z3?7u$I#r^Znq;uD;xhm{L7es2d!@}XrBh5%q(lXnqiG(!9TJpU?g?YYh~JB zIZCVYD zE`1Vv0w8hm9oR0fwgW8TES*DZ;bb;(lZRqDu}?PoR|G%gOW_4W($| z`|5AcLOWIKV~Pp7ILdMQW4%OH9L~HJiQAaM1^{;UK0IhE)0NHJP$W9RC4zgxq zg>bOZU=YHUtyVJqLbQ89a+v22yL<2%>^Uvswn~|z6qYn56=XXGFcEwu+%o}LTf)4$ zoaibRuI$O-*NOfT_#aKw7iLdvy3s+hgXpPXyPzyzN4(iilgAk)Abd`Uh^FW(B3~Bz zQ)0bSgGgu~&#K6gQ&ntm5A~OV5YjJMu&7CHya{2ZS~Tf-V;7n>Ghx)a>em9EoQNvM z!hrmGOAbq#?ielfEdB-?dTgM=fb2t`8Gx#387uJF7E(^pLV=CA~iu|9b=tza!8;r@( zz-EH7#H737Hlg@V=`=G!lTM^eDIG&H*f`iiE4t2JGSNI8<97Mc^7bqmT%lwcxyzKq z1!|xqCb`Wq703Er*YBc%{VL4z=C)WB1M!Ur(4_+3p%BGB8M;ZuOjYz%r+JLJF?*tk z<13A##xFB(T&BQ+c%ejWU0+fe!9oJ1CLZ{yJUnB`vxrS_N7&A&m}zavrX7;ubA2tP zHjLk@(%EZ*1(Py|L4U48*7ey9YM!I%{fseKs8*NP*q)&-Qh5sKXS08khzOLC+L0Du zI)~`W>klex7V&%>zh|zUAHV~2zSEt?akFt5$vI8_UelGW3;#EA4Fa+S+rbwdAt*GQ zzg(XQz8k%u;|u-=wnj16KLc|10MXBL|Ghnsm3fH`+t1vf3p2dDx_D1PK>2r)|6jfskT;@ZTW@58brM4wq3}~I zs$YD&Zx#pt4OcsM0tLC{fTHpE@hb;NgSk)H5H>?svjx?zc6N0AU4nQM=@ir9Sb6>D zj`wN7PWT1Be=qyz7L8s%fX7!IK1cpH3{N8jJnG%z$y2l;C5VUlZeMVaZ_4D$!H<#M zSmjqf$w&iKo#=@OrWMzls9!*!!BhHdTUW;4^u5Qsukxj=(3p$*ODPQlxI)#S6T^SryCpNUw=h${>9wWSU9WHXXv z+k&(YzIab6Y9)UFNZ~txKb*{cm#%im;IQM{i^Faw$kS^i3^fljIlbqb?|q+u>10;s zFw6QmU{9PeoOz=(+y_gR_8L{z``h|$Gc{YS=*2#M0F{Kq7V)Q4BA8|1e(Albu?uj| zF+KWfMR2av>(v^B9;0ncAGlX2JPy#+w1knNd8tKsepxz0{$Gia16;~EoO=8M{7fjE z*Y2h%XE!Fv33-`qh=JHdgvn_%qGRO#+W@-CI9=CyU6A;-^ABBRx=TP73DNAuG9^QQ zA290RGkp;Bxf(O*06w`0uZlp*%AmV({_3zO^aFQVuo&K)Z>M8q>+! zXCFp~%-Y=D?B0dT{A@@xO@U}wm(g+2z?JC(SlVSSE48U7RT!i{nM}XA9&@;oYB{ra zmM(T(sL7@X$!YS(2nGO%J+g9)Y`8`Sda7-r^g@gds1e9*yHm>evm^e-^7btAqboY4 zKY$WISwItE-XeqgqoW|oYv=}N={`#p}5mH_e3;eSg`(D6G0v|nP4XD2S zj%701lObY4U~=pv{RAzU#)1;a=>`lgL02c#LiRv)kdpUpZZu`QZMk+KQqQ}2aj+UD; zc}!D8>7DICc|m8x*prHN(f}}T$YI5yP|7eHs1z|9iUYT&O`ox%{~G)fK#ilCYYyxu zUgJER4>u!s2raF!ptAItZg!f5z3|EPoVF3>u=1#^P%lr-6*BBw&s8v5feOh8Q}@luWsA6#Nyq zQ@YM-&LbQddQ6y_j+Zx^R3BBwOdayVyT#^kitl)Qf1y1e0##8+f4ptsevAbyh28## zFK{@nwjtR$q!ECRQ(`d# z0kWNCtw8pbd;2ye3(o|48?}ZEkjViNY0q+EiLT*j*f!38b>C;Xj=)daCtpmYV8aAP zBWx!HzC^v2@U42s7@$%I%iyl`U$<*5!@+G#zumo07!|8eEfV=2PGzNnKls+J9)KcZ zY_lj;0p$Ek*5i_kSxlXQO4fv3#zMvlPJQnlT6Cdw3K`zCnz|_Jzp`tOW zt|1Lo_d^Na#&u~<76iQ+1M^|4_!*yp>KbjIoTk*Np^kgm0yF>n+a$m?`!&@SusA1@^Kl?Q)gMvWRQ9ARs2zQM4>RT4@n{pdqEWKjrv$nNUr+HUdNh^K zIka|6W!AeqGdBHCK4Lr&u-f()8aOo60hPozyLKjqUur%(@?Y~Gz^j62eVmrR5>egy z(WBImmBDLXMK%2e9r}XYtrFey@#h0_h-H@8Q}w3u8tBgz276?M`Htmz_wks%VK~O1 zO}~_;$|t;0*3R|PGVprPq{T~}eN1ps*}SuEI| z8@U3lHP+BUzw7~9baXL}?i}*~EJE6fk|~fJ^thxzvYyK%ee(g?2YiN3{*LkAimO}W z0-g)@3w6Pl+#@2jk;@?hpDw>Y`)DrJFuAmy>?+~ihtQ&-giu~oJTIlRgP@KUlQJ7k zs+_4m#WAtn4AkiEzhg3bYf)JrFkO&rjPjRyX*1Xf3&%C_erl&jX*b&A5K~4Jg)$Dl@savx2WMf1*iEDi-6iXPF_(eJ|#HHraWGba)I&< zHOGX}vPb8s5}3)@v}eM!q%Ulf!c}23#dOI3 zH=b|-xHmSjk^NG78o!N|4FPU?TQOR-im>d78mE7nhJ}4(V>CH5o%MW zVzT5TRVI8a0u&04RJ-A>F_L@JY0pVL_GpZcR-ai$zv`edoc?t{5b13N zlD#c}j!nNcG`@oCB=@agaS6M3G-$zD`=m}?L0b`d760Aj@KfTV_z-I zF?Eg)0{R?&;Jw4D2&88Se5}78&7L2%sQexHXv8|xNAjX@Q^@`PW}`K!soSP z-7>u=R*26)58hT??ZlH5^hglM7SF_Wm<{w__w4Z8CvJ9QIM7I!{>a9?!1Gu**o!Ss z@|jWT9*%!~^APi3LeS|7q&?h(q-w#BBMgl!W@9KeE9`-T+Q{$uN-N>6(wwhaL0Mj^ zTtgY9yt`&;x*vUPA<>ysb~JDjd?7_r8P@~VGbuFe2PAE3{?ivDdg$7(!htm!xl+Z! zK;Z|C$^!n041s}+h81#cinn!csRf8WdDV~H4*%Lc_nM)Vg z%8n6}AE^a8wg~C{l2p4Nv2jm?IGHMc@{rmJdO0mJxP!cM5{DB*jJ>SaO*XH9h@W>+ zK&_}yMzb}+s+0ziR8;?eY3Uz|n*XDv<@hK`9A9vvaU_er$QAvxx5qlR-6B})Fv{7m zDIS1>I!u6aikQD4Db6O9jP{geTe)0ZU~jLV@fjL^WHBae#~Cq+Qa@peCY(%(rAktP z{eJmnMbX^)QV^N57{l@$!5TOAS~9i?DL#5C5~mw<=E{n~Im;Sg3lJnIz>aWAhKke= z>_<73s<+txidT;07+A?vU4*Nk$E;@$_3qS2<;Bf58!+(=Wgv-WOZv<9$9Y~wCuV8sZW8VB?VLruR15it%?1o41bFAn7FSB19%CDyr!L!wA1OX z2Z?s1wt=tu?7p-*&#TeF9VkpBNQaBjV(e0-3)?=PrPo2tf8Q{D%WT4;)Ml^&g{$s+ zzSzHRW_hluVTxaHbMsr##9a|>=tdwB2c|xabFr0%&(Mrh_jm{KMbHgqEpt7rJ@f4} zsPPlYKR~sT${rnor0EyXCN(muYsKI!V@3G<~`kj5hlx<5~K@IR<3^&53wPY%QjR9@*| zeyB(1Rtr!ZPM9g~8OU()U5-f%E?sWG=^gr~n=)h3Ol5>n+7pE~*1TZG)FF{tma#te z8fMK@2{zhw71N`94|S?k&=2EH+j)<~M0`>UxOC}_j8FgmI+-w))4ZpPq*8EGF-Nsm z`9J0H08;ANk%;s=@=-$ccAmyi8DPw;LHW262#b+%`PZ8^e7*+zc6tGam57t?xp>3_ ziY!DDb|V@r64}MCM~3)gLUDSdfGt~G7HzWp;G6x+(p}A!8BCMVrw~TL_uH!9F?B>* zyT!B%f;;_B5ukyEY0^}uX!9fX(#9;xFM$`Y{=-@O+9oEPpCM@RkCd852}Olaj!pu* zrZCFydhf-q4TV=8LNYEp2EHv4Vc6K#x!z(_Saul~cc-kyw(R0-;vy$*-3_Yhvx<y5J6@y6^R!*GJt4nSM@W!{|DkVop3s_&-~jhb)G61e zTuv)~g(?pCKnCy3r!xsZDUZ%g4CRKC!pVX+m36*QVL)$Krum@8>d2tEdXS&clJ^nA zth>zncnS4xM+B#$_h(5SyN%>&dNAIk=?JKikLEF&!IQvz=Zx##0=p>z0s(cSMN9OS=X%SPPZintg9Fva+8lXI=C2F8x9wZ#+Y-Aib5p^AB_*^ReJF*G6WL3S@bh{Q^OR8=!vy|D9Ub9jf#NTnwD;5gZnTa&$>95n005Xm9K-S1Iy(3^X z7}ZQ5!=uO>abX<}Q1j=#he^-emg;+Uvce3$gbJZ^EjC-_#6iETJY5kmEAfuDYa|y4 zZTO1yCRF1nnR+2~Fl?1iGsaP)Vfz$7l0nr<1LyRd1K++jzM@fUeB$;ZCeC|Skf|?n zNNyt9lcW{uCa54*10Sto|JJHeKXN|_V-qX!m{&Y@<6h_rz|@hII#z`Y=852Xr<*LXjC`&hBrk978)R1Nu#UEnJc43^!BXHCTx_1PE?D&*PJ%9>=-5bs2D=zZIJc*aDOSiIvTCv^(6A+lPFR`W;j_kPDCTLXrc{~?6`!QmbKt?&w; zt-%6LuHufA{z zUgUW}+*~LoahebIv9@ZkD|rXG6|K9AE2ts3x0)y7H{w7S10smx5DqTgg-XrSn)H|t zq9HRx^$$13fw;YYJ%&?S%}hn?Fq(T=VvJDFI9p`0ZAd4rFg0t+{d8 z4ck`Tt)UkIIE6RISJXOoa$IUCPvIo3oh9gu1KDmCg#IgJ&Vy33ASRK}!tHT9mNHeB zuYizEEWd`V_ea|a3z)u3N&vTUzMZ&`{Lc)+3<9?D^tENQWDT|KZn}T@{nIs2N}pX4OWX>#;mv} z(zm_h?)!F_nM;DQ9Q>0HRhSzllJCK6#;j}`vAGZVlW8Re$xHCpxiujK29!iP@&YJF zUwaWFc82_AG*2N|MHU`4+73!!#GlJ94xHt!!WVLZ%x~UDbKmx>9a~SBb`tCeOLOXDuGtak#jBJ8&iI^9S-$h|nxUbBp|4#)%8?uRQjppUo zYW7ISR0@8Hya?Ow02_2xiE-|FM|@ww9q)XAK+VuZCXNv$QIbc9Y3hG8?f#U)w zdHAjoM>oXM;}(wJ>&H6egD2Lx`^r~!4NuO06=_1Z*Ju81xIB|%$bA-k87XDMv6_Ny z^11ZdM1!Ew#0rv@VoH+YpGo17{Vm)#0G;v87|ikH6#VvtA~QSfIfr0KYklc)@8&yJ znYc=Ku~3^(3Kg}8O;b|ZqgMC&)jJt$$PaslFuv)~_rvWAP0aZ$8a^L2Rv`py$=jou zi$}aqTKInF+o~jP-^$IO-Kju-f$n~BUtC^6rFb14W>zk#PhI_w=Kh=n(A;%~wOMVg z*wC<`x38Za_rdTNDgP#E)6iN$#XQzJlgcRjx<^I1naG4XFqgs~dDODFQq^`>rv`Yv z-jW5&c8fmrISo*}f!fZOY!mo)nr9evk&jk?zl>40LgilBHSb-QEo}{_@_I<1vXLpo z>zq0=^mcXQTNG|KT)iiE{LjC#6`h?0?|F1x+gstXGk!D8a=gC4;vd}3%a(e98>z!$ z#jWi1b6!YYj=9N#Ir>i@|BvIT#qWD#9L4>mKX6Q}F!nssRIDh2;GZ631oV`pYn`92 zbO5nXG?6!)DqE#Ur({^lKG;1d^q%>q_&Ov0@=s7T359G#|A29Pyf~AtB+DGE!G8@Q zis;9dQ3z+D>C8yO-m+2Qb>y@P$G3K;9t|#Q)9ctKgKgi4QvN7S9?$kVUt0t;)F$E9KNd&rlSd8ZHG`ZWv zutwzk9Z6RcH{xKOn$wN54g0}!u{JYZFP?W>0Dhd(Ksff4O|S9BobkJ=WRDPmhC*UI zKea*LRT^Y`D?p6Bt@;P_#{NIhyC6$PVgta-25OlEoFV?__SlWU2JIZ{NDf|l7+v>~ z`_PF9=?)YeeT5Z3&|6p7d5gJ{-X=qG^=Xp^LwZ z1G4FO^JknS*YY&!vSmono|BM)Z9pNz!+c%Z(VIKROBsuhg0K(0+)ew})=^20FR$S6 zYOvTK0F2{V545XjP$Em5VC7M=+tl1;st6b!EIn(j8#f{&2OCCm=E|EIvnhfmkSG|r zOre#OhAl01Y%6A0;tTWJhYo2+&*gPShaNp5lRv;%fmV82?ucj{k`b;++A7fk~0oN7>J7i!5K1t0g20jUS=6> zt^UzNG&X$O*IFvi=09hj=cK#a(nWwAr^qTKr5|ohKY*i0M6sZSM-0k^r+f#$>}}i_ z8ZxoA@RS|S?Uyxt^JydFsC%dlpp!M;t7{E1;}7>*<4C5@7pX85e&MnQD2(Q_1kA4* z+GUagcFpTxaIY}2qmFWLGNos4k4Zz#AbcHD=TZuO5v)XB6}C8p=Kv(44ZiYRQp6gYrx50DqN(CIg(hl8;DcxU5`=+zKoxn^yiY~FkK zTlY2CgkP>^u<;}z0d74rSX3lpFik-m)%7tI9|=4KwqW6RU7-nGhpX>Jb22+yZ^*H3 z0lq8xhj)mOqP)hpUaSE-YMgp0MeX4Zx!^!N!6=ZM;&d1Z4o0oY4k?$q6oD=f&0FTI z3m)b^=5ZN}VNT~H^9}*g;pn#b>|_vX=#xg-6=p`5X5sXTr|a!aViSoKlE}Z zC)W3}Vaba}K7$s+^l6k{?Fgxtst-8~@`SHt%EGxUGyTY^4{iCjaCW)uFwwugflw7 zWbS6fKQhv{SKf5;iMILZXevj z`b)5AzOvE857muHA&&ExU<6M+3J39=EUJ{0PDKvJ_!TNuJVStZU1i9_ebpNa9IRtc zS&p4)X9D9|3vldc%Et4J!nP3CD)f*47DI za7I=hx;1V664nc42ESUzws$o}HN+#wPNgkEex!$QC;pmE{_b%z$&>l4!r`OGuZvrs zXKpR|zyVs$^Hqk`3pa~ZfxmW+z(`u$`91ZxGa3?WJXD^c`g|;j=#LlmhcGWS2aGwP4Zdzi1F9Jt_%=di;gE=eJD}g~_m{$WI z{mRC>^-w$o$cn1lK?^8q<&cMpFb(=^fO3}jW#YRK9aiyE(Gq8x1x4^#8WTxfG$sL* zyovdmL49O>#NwO-FH6ep<)U51fSgkVX*istC?CWyH+Hv&AJ0Uc8Vae$tkthmx@{bQ z?dY4l56mPQe_E}R=QL5-#M_@D=o0jO4$O?e&1&tS1T}k`vKG2IjOAs1Vl@JI)Y-r9yFt1-Ke7s8ZA zHdZj1+X8cI&*+wdSZKR>o2k9PCstOOMAq6^4E*QU$b@B`)95dhprWJ}#eu>DDrp;d zi{MB6Std}CI&Lv7sASYvwqd`k^l{~khC7HIxBJr_SAJD&sZQ}@-oSN4e3@Wp6y%gO zjDbLY=!Zqj221^Ot2i_i_U`p?VSJ9t96{bisjn68WlChfCQR9UQ}|zxDd80rEvjGh#sFJVw1Zxt)h?t3YQKPV-=gT^(>*sr3mgP`7jZq5-LC zFljgsXs8e8?9w-w*0d}0K=K1*vi%*6#pwt5geq${u#q2=DF1kWE~AR(AF&bej`f7P z(^rdSCt@^VeDXYwD=L7^tf(e1#~K{snqv_vSGFnvfw=~I*W9e&5O?_vD*Ms$zQIoyr9SnJQIbZnxRLQwxD15Ohy8SEv zmB59!hpIX^#jISNiGZc-)pksp2UzEd<(Pcv-L9)^OT{x-{QB!9)PXmsq%+1>@oSnw zhC|1@zmIm8ORN{f=+@&b7u@7yV;Hr^fbI*lt0C5qj!^1BsaSJ4m%mIsb5W{u{AAg8VfxW@ zZRn7S!jJZVK<8y%5x&Us=vnGtJEh%LHn~7iFkCFrW+P>6A+6`5QEwb=O&PxU`Xl6^ z2TMIaNr65FDEkfh>gF0xcnAa)HB%A;E($Px%4@GDs~<~J$NipOgkVmP?1+x9K}!enQ3*(rMJ$xFG@-usq#Y@T8ffng|-Xlw>?x)geN_L z28CTbIf_FPhA8^YZQfqA5N3+a0;0M;@2wd;HPR&6U;cMEpX2;w(d5mx;J2zQ1w52z^&&6Bw_()uu#YX1FM28;p1Wl#jGzf);VoYk zV-wo8I=ZKy(JoF0NN@Xh+T!xNwFBE;b~iXf8dRVqlOnw_Bw*etx0L@3tj^YS4Vpw^T-X`ls`h4N%%O*qPmCp-0xncMzt-G zxeGMzkYFR9jY+ZoELciwXywUvY`}2CT}SUK#G#N==k2pwX0S{(ke_?N)f=GXH$GII zj)QC=vrL~g`y(uHt(e+g5v{Z$YfpD6q@f^6^b@3w2GZ=81WkbnWt*s)J6nx4boFE5 zmA;z1O9P#P?JN9zc-A1Z-JQ+#S#)EN_qlrNNO*2U0ZY^50uCC9!aNpW{3ai9evcCrKK zA&};)@3#qgd7UNI17iz#Rj6<+#XK zt|JNMYLJX6p#}r)3$hk`Tz{M8RVL72PELB724A>uNtHI~NeBe$a*iQq@$@3omd^yv zu8!jT3Skf*Y<^TeH&cA{q^*A+r`5ZXFhE7WHvvmfgKT|ZmsP=L-K>7}56$=1_L5t{ znkWNvFGAFXVq7W$J!!rZ=1eIkuCl1NH@c9OajAo+03(hdGUI*4@K6Ed#iHVrtbOew z0k2B-4xVOzc=m&+T7;!($}fy$(CVoVC87)##Q>$a98!Q4Hg;#BG3ZC&7%Dwm0XG^I zRvUz$*05eBL#vWfN6ue7>q>v43DfGF4@`vd-ybPdbY>^D>Bo5V!k*84}( z=pa_C2gj~GZgA4ib~6#yxmL_w9FYTKdA%g5DvoN0F1FyzBzbrW25oE~4WB(Jp?nSA z?*@Su^f4|NVeX6R7(rT=za&^5>r-~9C@r}VLeSaV5#k7{b_3rLYcR1hVFyL2hG(Qr z8iJzGiq!`VR%yrC0-WL}_&;ES5Qn}Ga~QR82OX5FU)c{$=~J`NZ0lGI<^eziuJwcL9jQ!}}W-KMjUmokKkkR1mF<=TGP%*&Dwo+5x_3A;jCVnrL zz&!nDg;83W%~>k=4{d`nhG+x_F4{_AV7NifkFBd(EETB97Tf2u)aGl16^r*cnvK;% zvgO)?jBhuk6y3>7su}`EIpa*;|eO%$WK z_VPQ(QC@76fyh64k2?dxZ1k82q@W}f;qSJZes_>fli=lAuVF|y@EjR)?JWAUUb*d8 zTgDZ-Mk^jl#i%SELD>k1Gsd2!Xv`w7CC_Pu3OXZd3@^C(Y&GwgLb~;LLaCC9Va(cS z=BfE94p;o|=Mbo3wKpw9FJpj-!!!kET2bz2O8E=15XyrAo*c9w(DNLfa|9c1!=jJb z^_WujPW$T`TLV$)rR3(6fSD@J!(ri}Hy{Rejaf80i)^kcgJA>X0sJj;am?qcgI1vf zZ_pU%&B#KOD@UonshK?_D}7V47{!`&1jl%ZFf*>O) zsWnxW+!V|Px*dQNuMw9?Mrhi}6$yCL&v)T4AhLo7rj8!}oGvJU`y9|b`4&2X4%#TR zOrQcGxR*_RebLotFr*zcEnky>O4=<1e)+3x6lALd=jG%mPOD^=% zb$NYJ+wdK3e-jgre2ob_Z@2+~ZIDv^)x&_!*@3eMhg&oh9FrwMN)pqFX(-QvI z1z@ExW|Ny*gj<&=o`<5bkE$zm;{1qR!i|3>>{y$wdFj3TYo#ReW)~8Jn`=z-~Y^4UEdUf-=6T+ON*l^(0-%&-{(O|#g19m*MI2V z?LYtgz3Vr{(qHPu|Nmd98Nk?e7);9PYg8cNKe(=wOlhz37(@QO)D`m2e?n{+X=zPVR5fFxxqbnR-OQaYckAjv4NZD z-_N{4n4BFAAgem?)B{b=hgg+5_Xb53Km_FH*@7OmweCKN1O65 zYp#{$`$`~~?z`nGelbPz7aQyY~$^hmq&AF6iuI3zx$m-GTXE+(Ys|U*2-!9wR@mJV`sHyRCYcwHI3?ACC^I!C^;PSB*_8 zrFQ}f^*^;9FInrRhnGE~-@O{_CP4E6>-f@th#Cz|n8D+dz9Np<} zeOPf8#v=E2ZJ+JYj^fzyzJ8=9M%vev+%{XV)CDT=!tSWk_za$+`gk>P@ACb6H7I(I z*gXO2y~y&rm$&+RRG^gW5#z2#v)3R7`|n)F?JfQnUAIQxemv>LtBpo>a1Amq zq`XcHz9^2H6W@JZ%qwoB#rWqHAe{%2HNM~f-q|HZj2KA6=sH63$I3YUw(`Ea`t+D^ z+4#eO;fC_XfZC|&8^vetFAmMw&w&=4Hyq9+R@bP`q@CZK7Ezou+Yh#Z5f|!~0u^@D+R#$M0 z`BW13RR(krTcmw_FRi{o*gm|OiiFSKWB5+Oq#Tb=XEM9enA(@HrN@EePo}Z(pYbup zrz`srq6kkfrg+l7)pSKwpC*GZ=AJiJtM8B~2D6_uFTtMtarR@JH?D2(zZqFD&Wg7@ zbU9LD8VGoKbTe~^SN{0fqqF57M-v`I?TYm+zJbTA-&PTK-*gT zbMgG^?b>Yq&t~)01Ec$ll_wWPRLfy%ma!>jjd+6m?%Z>7JyLa)U(Yhy`qN$>yF5vy zE=ZjsRQ?{Np{4~&TFsuTf@{Ux0X^+FQcMkTyQ ztQP&W<*VJrqFtx)?seXIhyD920yu3U*f1pSqQ^tfrQ&q?&o~DudG7m4H5;Cy{it_D zTZ6Ll{(OVJ2cYDb*pGt-0y4}I!4MSTuYXGI^+o9pM%0&|Og$fSSC8x;VO?%!v~?nH zo0m+^qh8EAtFo>F2cq`69+^F{6(z-KyKB%d3(A8=^@l1K#w+*g#oXAiCF9SO1Tyw+ySQ+y1{7n~;)D>Fy3`knV1zOF+82B_*W0yBm@2?nWe}LusY| zi~Bt1+`s4A*99*Y?7d*F5p&GX_>KibAxUyQql0BB?Qf}g3)pV?@Tw0xG{Oizje3Vo z;hEkaOddd`bb9I#hGReR)vU5t0-I1|$7QV;l@yW~Pf)oh5j@l6`{0eWfAQLPXbIk` zzR@1H6u#F{!sjX0G$wGi)920K8IEtQTr&`D!Pn1$J(UXyDW%NNpP?{}?Y+fx`{q(SG32@7({Ma5upS=L_d68~wHT7!+m zrF{U0xIckH$%>Ybup&ux+>3y+VN;|c)&DgwykD_d5dNYiTt)w1A9oryRQWL7v-0`1#9USVs)}rnGGNwG>1>sJ-NZssO`uf#9zUxrCpN)s@FuM^WOkQ~{d z9Z6dh_2Fs4ZRhu59uuAPtE?6G5G+m_Lg4vUDCvQ#KmN~u&XstHzC%b2ls!|HAQ^?CIPTSUj_nVt=PzbWllt;d zdTp2NmHB@7$DyLTszIPN)$te(h9{+F3eG)xZYOPdgb-IB4E$bq>-7igq?}ZMv@hkf zD@G+LrMo^T10L%^=1P#u^z7hFj1ci6&#llF zlqHKpu=tqYe(E|SflKE=x?r85=#~G`H*{sWsdLbdGN|KenXXpN%XjN)e^OHDK5L!V z2Orj0|L4l@jH?ZiE#f?=E`+qcAtDAJ`eRpExTCm@zP6k(PW^EtC+T_?x*e zK%?YYV`7v|8=SvX+3cWbt#HGy&gq~SJZM-#c-fq+hED|;neXpg?7eV5*Q0DDf48uHX|;0yZcUy>t{Ndf z8)MBR%V>7V|9`yPVXXe&4Z4mP2hlwBwnE+ic)Da9>_=I%zqLKGOZ1a!dG3~wzq5)G0J^u5*pl<#|E$PWx0%sfLlDJ| zx)V>DNB~HcvNp?P2Fh3wPjs!6_N}%E*f8QfwHEzLZxcRZm5ZokP>yzDLCf$2nTi%W zAO$c=L4=+*QJ->QMSA7RmfMc90NQiVFD{d^lib3S@X~a79M4 z^!%(CghrtD(XfccrU%9C*195VKG7S8?uRSM?k%0kH2PPdvaAZq!w)%aYwo5ZASt3jKDR?W2v8b#0jT#tjV)ntzjedxZmZAFRDA~cPTD7U0 z0Z05+b1v$$>)yyp$_^GmZG55RlpUAc1Zbtg83^1U%ATwCysY_i3C@x6MQ^WhPk3r zYE2wfVG?+FKXvRrG|Hm_E&yPLIvn3}K=R%m>Xfl+4I(nx(YZs#g7Bck))h+0r*!-~ zLc3!m>2>HSAbl`Am^@}^Pi?0XxdtIkGhho6Y0MmuPCiUXsBws0zF^A3(we(uq>I*{1b(VF{^%i)W zVZ9L)*5G9Sj9vD$8ppN88b^(+tR9*rP-Z7LTzvy^2g)&i006ppvsV6q3;fxD__6=IITL1YB^?7sGHCKM1B5g18Rph?g z0X=)=fs1b5_DGIL&o&ucHHwf{?j&c@N(94 zPis1SkHoIGW%SO&knazs&MR6Ptt^o!T(RQo##f-9?V$UFNg#Mf^_QjOL7ag(zqyWp z?aO6mQR@g+>ci?NZ+1zTh0Flg(BYL*DrXgW$kBR;XNybpn$3##WiHvmQ?m60Rk8_@ z`7y)zVD&YZ8&dq!auKdx;Zh{kAx6v^XaK!54Exh^l!6%E8Hhk}JMN9_g=Pc<2+Tne_6ftzfaN^aX!H}S?n;or5W zzexp-6FpGloH106yY9brQ7CKE$nBrVb}M=6N(Ee&yk_r6DtT_qZ25eKjEzc@ycr-p z$$|^8&(dw$_rS1@$`P4l=R$9XSawlc)2`tT|7zNdGY^|!2PSn_a$c335dx3rB+qPq zk!jQCpyBvC5poQ@uSd^bEM6Yu5UFc$`~EYIelk;E6y~@|P?X25Y*^NVmsNdkr3GSB z$h3)^Lw~(b^Qqf5kIJ%}#qZT5mDZ2=OR(G!19Orztl8S!ec|pI0mu9POP4|gY!MM# zsG64R=w|bs9m%MzzB8a6yV|d)Qg}wr!?nnb)Vb<(H^)mO^O>D#|%)h3{pNf>{v>s zm@Nu?Fl>_5Oj^$Wh^MXopPda3`D5K0^MBG~q#T|@cenks1#u5>#+U6bbb~IXIFvX{ z!`ZZ~+o^5K?guCilgHrac5|^nFJJRV1a0qZc7WDdVe8Z~fbWNIeZ9nuIKErq&2tdT z3hj@uloM&II*PqbA){C|Xn=Pk?$&7i_ZX1e%==cPBn?4?EDG8j#l=!V@vFY@29c$n*HM zA%4ow(j6s782&X1$HB*M`0+Eb5v*$UAE8qetYe3J_$Y0RT5f;NAu{jnh&`!8LcOwF zPPhy5s>yEN7TVyjN)&oL> zCWfEXQv+2Fl4)bs#Gpx!>G_4o4siG8a3cWH&%fFUcM&WQ(f28ro0^khbp`@e;ef16 z#Ea^fOg;7Pnl7j0l!VArdm!%9^wOgj%wUq$<@`+kjf7N;{6e0Q(pH08&nwB6 z-)yoh+z`@G_ejw+F6%S3du}NHyjwXwjZr0alI!6*nmQT(CS2;42gUC@g`h>#M5-5jU+kNGsI)H0-` z^^uwnGLp2<5`1>`dYFq*Uk50L8ylKgp>i0L-UDIXA|On0x0Lg^7XQ5F2}cV(C969T z_cxzdTa8`sdp6yc*?6J+b6IaO%=Y92(`?G25?cdWnsR5N9oPOz3S$MQ#KE0$-kRPGDMQZhmI^-)e6} zQb4Od5NEjd{SyAM@M{#*G!Hb^UoK!;oOkf_-yfqRg9>BFq(ucTEXNcpf0=oUgD3gq z{aLewu%BT5eJR$%pal9kw7x~p6@(Z23_mTSxia(p-?wp;?f%Aq`sQ9HiUPt(E;3Z+ zU2ymB)fwqr3E|GTR`dM|y!8zD>E}m7k)2W$@mP4}vH@vig#W%yx?tLkMxr>09(if+ zW|}%8fX_^|!L;dbWjw+{7!Wk*dL}V{zp^rR*J1hEBQn}_xXu;(EhIa8XVOF`s!(5R zEdsfJ$CY%*I zYSljcK{O>lUs=~Nwe$RfQKUllo%n_v*jtpGl$yw^65JFzBBQr;>k!R!<1X6e?;XC# zkrlN?xhPq5wzwz?oZEgV7U-pob#yA5+I!^9GM!<9p9>O;Oq-mcQ-CTh9$Cc`6z+6Wa5%ALK{v zQ7K8IoZrFq_9y0^z$O*y;|6+9ISG}RpX}tg|L|mjPJNgYew-T(^lmQ@WgAOG^*aj| zs^3G}x}L9CYj<7@qwt|yWH`I5maB=s?r5M_Lm;UrXX(}4qs$BVs;`v>2RCDlK=5gb zCHbQ6tNI^5Zh@Dnm_N>NI%I_c53>G9QG|=Kr)kwZr#yq21FIE8E4e!yi=9tfk6#V) z4r^4g<%HUIADx6c_o$MY&IPWSuP4XIIvVQk$Q`#raf>zm>MUL8!%Q8#UxpC+Kiv}J zPYYb=bLdw`b$7%$Z%af(IW}&y8evn5P zOFfzcWqT~UFHr!q%XLtV#N28$5lX<5{_(vKII+=V$PrtQutq3>5hH$<1cTx>e5?YZ z_ru3oUGEaNgL%}st_x1RQwAC>$M0qH*CbD8m+sED0a-fVa>0KWbl51-%4--mrG22!Z&V&r;NA_sIV8~Q| z)(Vrcj>asvIp{zps_+aJxHl3-|K_K{J6fEf`!P)?ao@yWL4G)i9q;`tHTf_CUH|7q z88ag3EO}-RX}_*(2_h5#vZ?EdWA^r*Hg)g7tisjS-L060+qTYUPk;Wp|4rt=-sJeW zFO&%AJ=t4KY5B`V&~M>B^jW83XnB%6n3$w`bIg5*4;_#v!8VC_I*5H5M&ybKTX!7e z7{GCkL@uS)<|7HJrjD$Dh-AKcmFZdC{yVK;oSgNpxcY(+yPC0*NmHJNx3XNbo&EiY zuE67f;R9^O0In{CJv~~wDKt>q*{$EJ?Ly({ZcwKPH=?5cKSaj6&l%CsAc&I-^_TP& z$(tS0zDpB}Oc<6)hkcu~lg?Zu?<(ek_m4@WB7K}AGm+p)Le$6X`k)2afaqMG&f2O9 zydJoX1Nf%0q_+i`-LX*RQ_dGuUQ8R|Com%F@ITURVl)rL#y⩔qxF=%LNL&o{BJ= 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 literal 0 HcmV?d00001 diff --git a/attachments/3539046.png b/attachments/3539046.png new file mode 100644 index 0000000000000000000000000000000000000000..c4c06d6933adaa37177282c598b713bdd2a34bd3 GIT binary patch literal 395981 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

-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 z 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�TOlnAI5yil^K(t#g)7u znKJH^silnhn~J-(yOUTIU25eO_E`Y;>|2wd@nW%0aO>hVC;6K@Ca;0S)2+Y>6Kgz* zT&pUoF6iKd3wLE>NbCH~mdgQ>zsjm|_4Q)#8+u3o;O4I%(8doiGE3o!R#_Wc z`>$Y1gy^?TqaHssIxTIaXPu;&JSt6?jAhy|UK?f~-KQ*tP0XIzjpXxj0V=8ALi$q7 z#4#!CFN;lXq{+vxSHqdGR9Ym@2(P+=)jY4ZCsA4*v?*N&iqN#So&s?frsE@%N-gN) zI6D_I`n7yK*Vj-Bf*L161>TUuO@LJSXBZaJIsmKlC5@vtX4XKsJV0N5-I9Ej50QmW zm{rc`An3FMM53BH9tX*nNwl+qD<<~q>B%KT3NR_lnS##4$XVV&I*9l|PaS&UN*Fu> z6T0PuWeras9zJ}{k)frLh*9!i@x)mF+`R-r$O?cBn@G?93B|G-Da3}4-_ zhT#12aNV+YHG0!C^R5vJj)IixI-Jr{)BC+p!zUAZsW+e@HxwR?f|@zjfoVme?!WUG zF~E8C)n+xB;fCN(38QM&GfvBa=-sF4nPj}ols{qy6&$Df?$3&X(_zlk_|Z?PC>~h& z$s-0Tl}$5Gp3}4QHhesfAKb66S_En6Dc9+{kAGmKQ^-h9Ll0rNmGjt3<>H};(hqfw z&hS@EP{prt5@H~Fx35KEPV&Bj<75(LRXcar0vXM@sooaOP#aC&G86*4)-!Gie zsH8>Td^T`9)9mX;h^XF+U7qE`1~(r>AMkc*!k2W78Xu2UXGaad?f{eUFmQY7d(&%n zBv<87tNp@IN3ZN*^~}3jU=bHK&}w@RZF(3)29l~mysDyi8AJO&gNxtKN&?yg^j|oM zx{GCtz53(}YQKEAiXwDrq@m->(b)CX2fG^o{&`MN)zGGDXvyxwH^se{h1kAdZjN<;!cLQCB3gRvx+R{o#lG(nNWKzJN%h3Zqtf^ZF7`;E>J{Pa7}?! z#&qb{zC25Cpcy=TN+p#b&M$>i5X6qFiTX&|{c{p3lqg@?vPCFDQhu-#`^6;A z>}29waI0b1FS)rny(Mack3pRe=u9)_^Q6iaLPfdq=}d;-^4ks;JL{&SbTHq`?1mWi*HCAr z<)XwXXj^U*YF{vp2H8U6bHCi2D(evtn(0I{Ox5LaesFQ6Cqb!ASt;PNgtT;M} zd~~X@0&k`v{^TE2&ab|+^rYY*+iv+p+o$^__Tt#^SNjaDW8g|Ie&>&zqbE5BL4==6 zlSD_CF7ATZC2zN(69@G&HRFfVwvriVPbaN{{0fd)vQV@;aZG|_2JeI| zN?L?TVoH&N>k;uF1*{IY(+5Dh?;8Ry1#jH@f?t?T*r#av`Ol?T0xbc1rS}@q1?Ja1 zx9Zt`$8dUMlKuWWdNa!t!6%$b#w12}oDG4Y@|HIFZdO%|VU6UHU1leLvL@+D0rU_N zz%!~53*tGQyt`EX_Ko@X87qaTBpcjMc45HvHtK;~$yH(oVq*JMJ}c38w%0A%(D{&Y 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%0DOFnDw+_E2L6S^QzOj@pi+PR+ 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 z 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 z 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 z≪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�cBmQnB*@&CygCc3dYb^DF$PJ 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