GST_END_TEST;
+GST_START_TEST (test_ffmpeg_update_reg)
+{
+ GstElement *encoder, *muxer, *decoder;
+
+ /* Ask for elements the first time */
+ encoder = gst_element_factory_make ("ffenc_mpeg2video", "sink");
+ GST_DEBUG ("Creating element ffenc_mpeg2video %p", encoder);
+ fail_unless (encoder != NULL);
+
+ decoder = gst_element_factory_make ("ffdec_mpeg2video", "sink");
+ GST_DEBUG ("Creating element ffdec_mpeg2video %p", decoder);
+ fail_unless (decoder != NULL);
+
+ muxer = gst_element_factory_make ("ffmux_dvd", "sink");
+ GST_DEBUG ("Creating element ffmux_dvd %p", muxer);
+ fail_unless (muxer != NULL);
+
+ gst_object_unref (encoder);
+ gst_object_unref (decoder);
+ gst_object_unref (muxer);
+
+ GST_DEBUG ("calls gst_update_registry");
+ gst_update_registry ();
+
+ /* Ask for elements the second time */
+
+ encoder = gst_element_factory_make ("ffenc_mpeg2video", "sink");
+ GST_DEBUG ("Creating element ffenc_mpeg2video %p", encoder);
+ fail_unless (encoder != NULL);
+
+ decoder = gst_element_factory_make ("ffdec_mpeg2video", "sink");
+ GST_DEBUG ("Creating element ffdec_mpeg2video %p", decoder);
+ fail_unless (decoder != NULL);
+
+ muxer = gst_element_factory_make ("ffmux_dvd", "sink");
+ GST_DEBUG ("Creating element ffmux_dvd %p", muxer);
+ fail_unless (muxer != NULL);
+
+ gst_object_unref (encoder);
+ gst_object_unref (decoder);
+ gst_object_unref (muxer);
+}
+
+GST_END_TEST;
+
Suite *
plugin_test_suite (void)
{
suite_add_tcase (s, tc_chain);
tcase_add_test (tc_chain, test_ffmpeg_plugin);
+ tcase_add_test (tc_chain, test_ffmpeg_update_reg);
return s;
}