title: In Gstreamer while playing the pipeline in iOS 8, and after entering background and returning foreground pipeline doesnt work :(?
body: <p>-Actually i downloaded the sample tutorial for gstreamer from the link,</p>
  
  <p><a href="http://cgit.freedesktop.org/~slomo/gst-sdk-tutorials/" rel="nofollow">http://cgit.freedesktop.org/~slomo/gst-sdk-tutorials/</a></p>
  
  <p>git://people.freedesktop.org/~slomo/gst-sdk-tutorials</p>
  
  <ul>
  <li><p>Now i had modified the following code in the tutorial 3,</p>
  
  <pre><code>-(void) app_function
   {
  GstBus *bus;
  GSource *bus_source;
  GError *error = NULL;
  
  GST_DEBUG ("Creating pipeline");
  
  pipeline = gst_pipeline_new ("e-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 ! videoconvert ! autovideosink", &amp;error);
  
  
  source = gst_element_factory_make("udpsrc", "source");
  
  g_object_set( G_OBJECT ( source),   "port", 8001, NULL );
  
  GstCaps *caps;
  
  caps = gst_caps_new_simple ("application/x-rtp",
                              "encoding-name", G_TYPE_STRING, "H264",
                              "payload", G_TYPE_INT, 96,
                              "clock-rate", G_TYPE_INT, 90000,
                              NULL);
  
  g_object_set (source, "caps", caps, NULL);
  
  
  
  
  rtp264depay = gst_element_factory_make ("rtph264depay", "rtph264depay");
  h264parse = gst_element_factory_make ("h264parse", "h264parse");
  vtdec = gst_element_factory_make ("vtdec", "vtdec");
  glimagesink  = gst_element_factory_make ("glimagesink", "glimagesink");
  
  gst_bin_add_many (GST_BIN(pipeline), source,  rtp264depay, h264parse, vtdec, glimagesink, NULL);
  
  
  
  
  if (error) {
      gchar *message = g_strdup_printf("Unable to build pipeline: %s", error-&gt;message);
      g_clear_error (&amp;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_VIDEO_OVERLAY);
  if (!video_sink) {
      GST_ERROR ("Could not retrieve video sink");
      return;
  }
  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);
  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;
  </code></pre>
  
  <p>}</p></li>
  </ul>
  
  <p>-Now am running the application in the ipad,and Application starts playing.</p>
  
  <ul>
  <li>Now am entering background and returning to foreground the 
  Gstreamer streaming updates are not visible in the UI,but in the xcode's network usage I could see the packets receiving....:(</li>
  </ul>
  
  <p>Thanks in advance....iOS GEEKS....</p>