From: <tp...@ke...> - 2007-01-23 17:49:50
|
CVS Root: /cvs/gstreamer Module: gst-plugins-base Changes by: tpm Date: Tue Jan 23 2007 17:49:41 UTC Log message: * gst/playback/gstdecodebin2.c: (gst_decode_bin_finalize): Don't leak mutex. * tests/check/elements/playbin.c: (test_sink_usage_video_only_stream), (test_suburi_error_unknowntype), (test_suburi_error_invalidfile), (test_suburi_error_wrongproto), (test_missing_urisource_handler), (test_missing_suburisource_handler), (test_missing_primary_decoder), (playbin_suite): Run all tests once with decodebin and once with decodebin2. One test does not pass yet with decodebin2. Modified files: . : ChangeLog gst/playback : gstdecodebin2.c tests/check/elements: playbin.c Links: http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-base/ChangeLog.diff?r1=1.3103&r2=1.3104 http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-base/gst/playback/gstdecodebin2.c.diff?r1=1.5&r2=1.6 http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-base/tests/check/elements/playbin.c.diff?r1=1.4&r2=1.5 ====Begin Diffs==== Index: ChangeLog =================================================================== RCS file: /cvs/gstreamer/gst-plugins-base/ChangeLog,v retrieving revision 1.3103 retrieving revision 1.3104 diff -u -d -r1.3103 -r1.3104 --- ChangeLog 23 Jan 2007 14:30:28 -0000 1.3103 +++ ChangeLog 23 Jan 2007 17:49:29 -0000 1.3104 @@ -1,3 +1,17 @@ +2007-01-23 Tim-Philipp Müller <tim at centricular dot net> + + * gst/playback/gstdecodebin2.c: (gst_decode_bin_finalize): + Don't leak mutex. + * tests/check/elements/playbin.c: + (test_sink_usage_video_only_stream), + (test_suburi_error_unknowntype), (test_suburi_error_invalidfile), + (test_suburi_error_wrongproto), (test_missing_urisource_handler), + (test_missing_suburisource_handler), + (test_missing_primary_decoder), (playbin_suite): + Run all tests once with decodebin and once with decodebin2. + One test does not pass yet with decodebin2. 2007-01-23 Edward Hervey <ed...@fl...> * ext/ogg/gstoggmux.c: (all_pads_eos), (gst_ogg_mux_collected): Index: gstdecodebin2.c RCS file: /cvs/gstreamer/gst-plugins-base/gst/playback/gstdecodebin2.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- gstdecodebin2.c 22 Jan 2007 17:37:38 -0000 1.5 +++ gstdecodebin2.c 23 Jan 2007 17:49:29 -0000 1.6 @@ -492,8 +492,11 @@ static void gst_decode_bin_finalize (GObject * object) { + GstDecodeBin *decode_bin; - /* FILLME */ + decode_bin = GST_DECODE_BIN (object); + g_mutex_free (decode_bin->lock); G_OBJECT_CLASS (parent_class)->finalize (object); } Index: playbin.c RCS file: /cvs/gstreamer/gst-plugins-base/tests/check/elements/playbin.c,v retrieving revision 1.4 diff -u -d -r1.4 -r1.5 --- playbin.c 19 Jan 2007 19:09:05 -0000 1.4 +++ playbin.c 23 Jan 2007 17:49:29 -0000 1.5 @@ -28,8 +28,21 @@ #ifndef GST_DISABLE_LOADSAVE_REGISTRY +#define DEFINE_TEST(func) \ + static void func (void); \ + \ + GST_START_TEST(func ## _decodebin1) \ + { g_unsetenv("USE_DECODEBIN2"); func(); } \ + GST_END_TEST; \ + GST_START_TEST(func ## _decodebin2) \ + { g_setenv("USE_DECODEBIN2", "1", TRUE); func(); } \ + GST_END_TEST; +DEFINE_TEST (test_sink_usage_video_only_stream) /* make sure the audio sink is not touched for video-only streams */ -GST_START_TEST (test_sink_usage_video_only_stream) + static void test_sink_usage_video_only_stream (void) GstElement *playbin, *fakevideosink, *fakeaudiosink; GstState cur_state, pending_state; @@ -67,10 +80,10 @@ gst_object_unref (playbin); -GST_END_TEST; - /* this tests async error handling when setting up the subbin */ -GST_START_TEST (test_suburi_error_unknowntype) +DEFINE_TEST (test_suburi_error_unknowntype) + static void test_suburi_error_unknowntype (void) GstElement *playbin, *fakesink; @@ -99,9 +112,9 @@ +DEFINE_TEST (test_suburi_error_invalidfile) -GST_START_TEST (test_suburi_error_invalidfile) + static void test_suburi_error_invalidfile (void) @@ -129,9 +142,9 @@ +DEFINE_TEST (test_suburi_error_wrongproto) -GST_START_TEST (test_suburi_error_wrongproto) + static void test_suburi_error_wrongproto (void) @@ -159,8 +172,6 @@ static GstElement * create_playbin (const gchar * uri) @@ -187,7 +198,9 @@ return playbin; -GST_START_TEST (test_missing_urisource_handler) +DEFINE_TEST (test_missing_urisource_handler) + static void test_missing_urisource_handler (void) GstStructure *s; GstMessage *msg; @@ -236,9 +249,9 @@ +DEFINE_TEST (test_missing_suburisource_handler) -GST_START_TEST (test_missing_suburisource_handler) + static void test_missing_suburisource_handler (void) @@ -288,9 +301,8 @@ -GST_START_TEST (test_missing_primary_decoder) +DEFINE_TEST (test_missing_primary_decoder) + static void test_missing_primary_decoder (void) @@ -337,8 +349,6 @@ /*** redvideo:// source ***/ static guint @@ -574,6 +584,7 @@ #endif /* GST_DISABLE_LOADSAVE_REGISTRY */ static Suite * playbin_suite (void) @@ -583,13 +594,26 @@ suite_add_tcase (s, tc_chain); - tcase_add_test (tc_chain, test_sink_usage_video_only_stream); - tcase_add_test (tc_chain, test_suburi_error_wrongproto); - tcase_add_test (tc_chain, test_suburi_error_invalidfile); - tcase_add_test (tc_chain, test_suburi_error_unknowntype); - tcase_add_test (tc_chain, test_missing_urisource_handler); - tcase_add_test (tc_chain, test_missing_suburisource_handler); - tcase_add_test (tc_chain, test_missing_primary_decoder); + /* with the old decodebin */ + tcase_add_test (tc_chain, test_sink_usage_video_only_stream_decodebin1); + tcase_add_test (tc_chain, test_suburi_error_wrongproto_decodebin1); + tcase_add_test (tc_chain, test_suburi_error_invalidfile_decodebin1); + tcase_add_test (tc_chain, test_suburi_error_unknowntype_decodebin1); + tcase_add_test (tc_chain, test_missing_urisource_handler_decodebin1); + tcase_add_test (tc_chain, test_missing_suburisource_handler_decodebin1); + tcase_add_test (tc_chain, test_missing_primary_decoder_decodebin1); + /* and again with decodebin2 */ + if (0) { + /* THIS TEST DOES NOT PASS WITH DECODEBIN2 */ + tcase_add_test (tc_chain, test_missing_primary_decoder_decodebin2); + } + tcase_add_test (tc_chain, test_sink_usage_video_only_stream_decodebin2); + tcase_add_test (tc_chain, test_suburi_error_wrongproto_decodebin2); + tcase_add_test (tc_chain, test_suburi_error_invalidfile_decodebin2); + tcase_add_test (tc_chain, test_suburi_error_unknowntype_decodebin2); + tcase_add_test (tc_chain, test_missing_urisource_handler_decodebin2); + tcase_add_test (tc_chain, test_missing_suburisource_handler_decodebin2); /* one day we might also want to have the following checks: * tcase_add_test (tc_chain, test_missing_secondary_decoder_one_fatal); |