gst/base/gstbasesrc.c: Allow subclasses to implement their own negotiation.
authorWim Taymans <wim.taymans@gmail.com>
Thu, 7 Jul 2005 08:16:54 +0000 (08:16 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Thu, 7 Jul 2005 08:16:54 +0000 (08:16 +0000)
Original commit message from CVS:
* gst/base/gstbasesrc.c: (gst_base_src_get_range),
(gst_base_src_default_negotiate), (gst_base_src_negotiate):
Allow subclasses to implement their own negotiation.

ChangeLog
gst/base/gstbasesrc.c
libs/gst/base/gstbasesrc.c

index 688abc1..9e2fa51 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2005-07-07  Wim Taymans  <wim@fluendo.com>
+
+       * gst/base/gstbasesrc.c: (gst_base_src_get_range),
+       (gst_base_src_default_negotiate), (gst_base_src_negotiate):
+       Allow subclasses to implement their own negotiation.
+
 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
 
        * docs/design/part-gstbin.txt:
index 9ebb8db..4d8358f 100644 (file)
@@ -531,6 +531,8 @@ gst_base_src_get_range (GstPad * pad, guint64 offset, guint length,
   GST_LIVE_LOCK (src);
   if (src->is_live) {
     while (!src->live_running) {
+      GST_DEBUG ("live source signal waiting");
+      GST_LIVE_SIGNAL (src);
       GST_DEBUG ("live source waiting for running state");
       GST_LIVE_WAIT (src);
       GST_DEBUG ("live source unlocked");
@@ -759,7 +761,7 @@ static gboolean
 gst_base_src_negotiate (GstBaseSrc * basesrc)
 {
   GstBaseSrcClass *bclass;
-  gboolean result = FALSE;
+  gboolean result = TRUE;
 
   bclass = GST_BASE_SRC_GET_CLASS (basesrc);
 
index 9ebb8db..4d8358f 100644 (file)
@@ -531,6 +531,8 @@ gst_base_src_get_range (GstPad * pad, guint64 offset, guint length,
   GST_LIVE_LOCK (src);
   if (src->is_live) {
     while (!src->live_running) {
+      GST_DEBUG ("live source signal waiting");
+      GST_LIVE_SIGNAL (src);
       GST_DEBUG ("live source waiting for running state");
       GST_LIVE_WAIT (src);
       GST_DEBUG ("live source unlocked");
@@ -759,7 +761,7 @@ static gboolean
 gst_base_src_negotiate (GstBaseSrc * basesrc)
 {
   GstBaseSrcClass *bclass;
-  gboolean result = FALSE;
+  gboolean result = TRUE;
 
   bclass = GST_BASE_SRC_GET_CLASS (basesrc);