GstElement *src;
gchar *location;
GstBus *bus;
+ GstPad *pad;
src = setup_filesrc ();
bus = gst_bus_new ();
gst_element_set_bus (src, bus);
+ g_object_set (G_OBJECT (src), "location", NULL, NULL);
+ g_object_get (G_OBJECT (src), "location", &location, NULL);
+ fail_unless (location == NULL);
+
g_object_set (G_OBJECT (src), "location", "/i/do/not/exist", NULL);
g_object_get (G_OBJECT (src), "location", &location, NULL);
fail_unless_equals_string (location, "/i/do/not/exist");
fail_if (gst_uri_handler_set_uri (GST_URI_HANDLER (src),
"file://hostname/foo/foo", NULL));
+ g_object_set (G_OBJECT (src), "location", TESTFILE, NULL);
+
+ pad = gst_element_get_static_pad (src, "src");
+ fail_unless (pad != NULL);
+ fail_unless (gst_pad_activate_mode (pad, GST_PAD_MODE_PULL, TRUE));
+ gst_object_unref (pad);
+
+ fail_unless (gst_element_set_state (src,
+ GST_STATE_PLAYING) == GST_STATE_CHANGE_SUCCESS,
+ "could not set to playing");
+
+ ASSERT_WARNING (g_object_set (G_OBJECT (src), "location", "/wrong", NULL));
+ g_object_get (G_OBJECT (src), "location", &location, NULL);
+ fail_unless_equals_string (location, TESTFILE);
+ g_free (location);
+
+ fail_unless (gst_element_set_state (src,
+ GST_STATE_NULL) == GST_STATE_CHANGE_SUCCESS, "could not set to null");
+
/* cleanup */
gst_element_set_bus (src, NULL);
gst_object_unref (GST_OBJECT (bus));