static void gst_validate_pipeline_monitor_create_scenarios (GstValidateBinMonitor * monitor) { /* scenarios currently only make sense for pipelines */ const gchar *scenario_name; if ((scenario_name = g_getenv ("GST_VALIDATE_SCENARIO"))) { gchar **scenario_v = g_strsplit (scenario_name, "->", 2); if (scenario_v[1] && GST_VALIDATE_MONITOR_GET_OBJECT (monitor)) { if (!g_pattern_match_simple (scenario_v[1], GST_OBJECT_NAME (GST_VALIDATE_MONITOR_GET_OBJECT (monitor)))) { GST_INFO_OBJECT (monitor, "Not attaching to pipeline %" GST_PTR_FORMAT " as not matching pattern %s", GST_VALIDATE_MONITOR_GET_OBJECT (monitor), scenario_v[1]); g_strfreev (scenario_v); return; } } monitor->scenario = gst_validate_scenario_factory_create (GST_VALIDATE_MONITOR_GET_RUNNER (monitor), GST_ELEMENT_CAST (GST_VALIDATE_MONITOR_GET_OBJECT (monitor)), scenario_v[0]); g_strfreev (scenario_v); } }
static void gst_validate_bin_monitor_wrap_element (GstValidateBinMonitor * monitor, GstElement * element) { GstValidateElementMonitor *element_monitor; GST_DEBUG_OBJECT (monitor, "Wrapping element %s", GST_ELEMENT_NAME (element)); element_monitor = GST_VALIDATE_ELEMENT_MONITOR_CAST (gst_validate_monitor_factory_create (GST_OBJECT_CAST (element), GST_VALIDATE_MONITOR_GET_RUNNER (monitor), GST_VALIDATE_MONITOR_CAST (monitor))); g_return_if_fail (element_monitor != NULL); GST_VALIDATE_MONITOR_LOCK (monitor); monitor->element_monitors = g_list_prepend (monitor->element_monitors, element_monitor); GST_VALIDATE_MONITOR_UNLOCK (monitor); }