コード例 #1
0
ファイル: gstswitchptz.c プロジェクト: jhenstridge/gst-switch
static gboolean
gst_switch_ptz_prepare (GstSwitchPTZ * ptz)
{
  GstWorker *worker = GST_WORKER (ptz);
  GstElement *sink = gst_worker_get_element_unlocked (worker, "sink");
  gulong handle = GDK_WINDOW_XID (gtk_widget_get_window (ptz->video_view));
  g_return_val_if_fail (GST_IS_ELEMENT (sink), FALSE);
  gst_video_overlay_set_window_handle (GST_VIDEO_OVERLAY (sink), handle);
  gst_object_unref (sink);
  return TRUE;
}
コード例 #2
0
ファイル: gstvideodisp.c プロジェクト: bossjones/gst-switch
/**
 * @brief
 * @param disp The GstVideoDisp instance.
 * @memberof GstVideoDisp
 */
static gboolean
gst_video_disp_prepare (GstVideoDisp * disp)
{
  GstWorker *worker = GST_WORKER (disp);
  GstElement *sink = gst_worker_get_element_unlocked (worker, "sink");

  g_return_val_if_fail (GST_IS_ELEMENT (sink), FALSE);

  gst_video_overlay_set_window_handle (GST_VIDEO_OVERLAY (sink), disp->handle);

  gst_object_unref (sink);

  //INFO ("prepared display video on %ld", disp->handle);
  return TRUE;
}
コード例 #3
0
/**
 * gst_switch_server_prepare_output:
 *
 * Preparing the composite output worker.
 */
static void
gst_switch_server_prepare_output (GstWorker * worker, GstSwitchServer * srv)
{
  GstElement *sink = NULL;
  sink = gst_worker_get_element_unlocked (worker, "sink");

  g_return_if_fail (GST_IS_ELEMENT (sink));

  g_signal_connect (sink, "client-added",
      G_CALLBACK (gst_switch_server_output_client_socket_added), srv);

  g_signal_connect (sink, "client-socket-removed",
      G_CALLBACK (gst_switch_server_output_client_socket_removed), srv);

  gst_object_unref (sink);
}
コード例 #4
0
ファイル: gstrecorder.c プロジェクト: jhenstridge/gst-switch
/**
 * @param rec The GstRecorder instance.
 * @memberof GstRecorder
 * @return TRUE indicating the recorder is prepared, FALSE otherwise.
 *
 * Invoked when the GstWorker is preparing the pipeline.
 */
static gboolean
gst_recorder_prepare (GstRecorder * rec)
{
  GstElement *tcp_sink = NULL;

  g_return_val_if_fail (GST_IS_RECORDER (rec), FALSE);

  tcp_sink = gst_worker_get_element_unlocked (GST_WORKER (rec), "tcp_sink");

  g_return_val_if_fail (GST_IS_ELEMENT (tcp_sink), FALSE);

  g_signal_connect (tcp_sink, "client-added",
      G_CALLBACK (gst_recorder_client_socket_added), rec);

  g_signal_connect (tcp_sink, "client-socket-removed",
      G_CALLBACK (gst_recorder_client_socket_removed), rec);

  gst_object_unref (tcp_sink);
  return TRUE;
}