diff --git a/ChangeLog b/ChangeLog index 0e55fedab3..d26fe86d84 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2005-07-01 Ronald S. Bultje + + * gst/schedulers/gstoptimalscheduler.c: + (gst_opt_scheduler_get_wrapper): + Need to ref/unref explicitely here to not crash when playing DVD + menus. + 2005-06-30 Torsten Schoenfeld Reviewed by: Ronald S. Bultje diff --git a/common b/common index 2826306411..4ca96aedcf 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit 2826306411790bf8aa9298922aa59b126897431f +Subproject commit 4ca96aedcf2be0b3dcf31fce732aed1da21b8850 diff --git a/gst/schedulers/gstoptimalscheduler.c b/gst/schedulers/gstoptimalscheduler.c index e683ed131c..9dea48d240 100644 --- a/gst/schedulers/gstoptimalscheduler.c +++ b/gst/schedulers/gstoptimalscheduler.c @@ -1556,6 +1556,7 @@ gst_opt_scheduler_get_wrapper (GstPad * srcpad) data = NULL; disabled = FALSE; + gst_object_ref (GST_OBJECT (srcpad)); GST_OPT_LOCK (osched); do { GST_LOG ("scheduling upstream group %p to fill datapen", group); @@ -1616,6 +1617,7 @@ done: GST_LOG ("get handler, returning data %p, queue length %d", data, g_list_length (GST_PAD_DATALIST (srcpad))); + gst_object_unref (GST_OBJECT (srcpad)); return data; }