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; }
/** * @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; }
/** * 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); }
/** * @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; }