wtay gst-plugins-base: gst-plugins-base/ gst-plugins-base/gst/audiotestsrc/

[email protected] Mon, 5 Jan 2009 02:59:49 -0800 (PST)
Newsgroups gmane.comp.video.gstreamer.cvs
Message-ID <[email protected]>
CVS Root:       /cvs/gstreamer
Module:         gst-plugins-base
Changes by:     wtay
Date:           Mon Jan 05 2009  10:59:49 UTC

Log message:
* gst/audiotestsrc/gstaudiotestsrc.c:
(gst_audio_test_src_class_init), (gst_audio_test_src_init),
(gst_audio_test_src_check_get_range),
(gst_audio_test_src_set_property),
(gst_audio_test_src_get_property):
* gst/audiotestsrc/gstaudiotestsrc.h:
Add property to control pull/push based scheduling.

Modified files:
    .               : ChangeLog
    gst/audiotestsrc: gstaudiotestsrc.c gstaudiotestsrc.h

Links:
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-base/ChangeLog.diff?r1=1.4268&r2=1.4269
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-base/gst/audiotestsrc/gstaudiotestsrc.c.diff?r1=1.36&r2=1.37
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-base/gst/audiotestsrc/gstaudiotestsrc.h.diff?r1=1.13&r2=1.14

====Begin Diffs====
Index: ChangeLog
===================================================================
RCS file: /cvs/gstreamer/gst-plugins-base/ChangeLog,v
retrieving revision 1.4268
retrieving revision 1.4269
diff -u -d -r1.4268 -r1.4269
--- ChangeLog	2 Jan 2009 15:04:11 -0000	1.4268
+++ ChangeLog	5 Jan 2009 10:59:33 -0000	1.4269
@@ -1,3 +1,13 @@
+2009-01-05  Wim Taymans  <[email protected]>
+
+	* gst/audiotestsrc/gstaudiotestsrc.c:
+	(gst_audio_test_src_class_init), (gst_audio_test_src_init),
+	(gst_audio_test_src_check_get_range),
+	(gst_audio_test_src_set_property),
+	(gst_audio_test_src_get_property):
+	* gst/audiotestsrc/gstaudiotestsrc.h:
+	Add property to control pull/push based scheduling.
 2009-01-02  Alessandro Decina  <[email protected]>
 
 	* configure.ac:
Index: gstaudiotestsrc.c
RCS file: /cvs/gstreamer/gst-plugins-base/gst/audiotestsrc/gstaudiotestsrc.c,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -d -r1.36 -r1.37
--- gstaudiotestsrc.c	16 Oct 2008 13:50:00 -0000	1.36
+++ gstaudiotestsrc.c	5 Jan 2009 10:59:35 -0000	1.37
@@ -73,6 +73,7 @@
 #define DEFAULT_VOLUME               0.8
 #define DEFAULT_IS_LIVE              FALSE
 #define DEFAULT_TIMESTAMP_OFFSET     G_GINT64_CONSTANT (0)
+#define DEFAULT_CAN_ACTIVATE_PUSH    TRUE
 #define DEFAULT_CAN_ACTIVATE_PULL    FALSE
 enum
@@ -84,6 +85,8 @@
   PROP_VOLUME,
   PROP_IS_LIVE,
   PROP_TIMESTAMP_OFFSET,
+  PROP_CAN_ACTIVATE_PUSH,
+  PROP_CAN_ACTIVATE_PULL,
   PROP_LAST
 };
@@ -216,6 +219,14 @@
           "An offset added to timestamps set on buffers (in ns)", G_MININT64,
           G_MAXINT64, DEFAULT_TIMESTAMP_OFFSET,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+  g_object_class_install_property (gobject_class, PROP_CAN_ACTIVATE_PUSH,
+      g_param_spec_boolean ("can-activate-push", "Can activate push",
+          "Can activate in push mode", DEFAULT_CAN_ACTIVATE_PUSH,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+  g_object_class_install_property (gobject_class, PROP_CAN_ACTIVATE_PULL,
+      g_param_spec_boolean ("can-activate-pull", "Can activate pull",
+          "Can activate in pull mode", DEFAULT_CAN_ACTIVATE_PULL,
   gstbasesrc_class->set_caps = GST_DEBUG_FUNCPTR (gst_audio_test_src_setcaps);
   gstbasesrc_class->is_seekable =
@@ -251,6 +262,7 @@
   src->samples_per_buffer = DEFAULT_SAMPLES_PER_BUFFER;
   src->generate_samples_per_buffer = src->samples_per_buffer;
   src->timestamp_offset = DEFAULT_TIMESTAMP_OFFSET;
+  src->can_activate_pull = DEFAULT_CAN_ACTIVATE_PULL;
   src->wave = DEFAULT_WAVE;
   gst_base_src_set_blocksize (GST_BASE_SRC (src), -1);
@@ -893,8 +905,12 @@
 static gboolean
 gst_audio_test_src_check_get_range (GstBaseSrc * basesrc)
 {
+  GstAudioTestSrc *src;
+  src = GST_AUDIO_TEST_SRC (basesrc);
   /* if we can operate in pull mode */
-  return DEFAULT_CAN_ACTIVATE_PULL;
+  return src->can_activate_pull;
 }
 static GstFlowReturn
@@ -1034,6 +1050,12 @@
     case PROP_TIMESTAMP_OFFSET:
       src->timestamp_offset = g_value_get_int64 (value);
       break;
+    case PROP_CAN_ACTIVATE_PUSH:
+      GST_BASE_SRC (src)->can_activate_push = g_value_get_boolean (value);
+      break;
+    case PROP_CAN_ACTIVATE_PULL:
+      src->can_activate_pull = g_value_get_boolean (value);
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -1065,6 +1087,12 @@
       g_value_set_int64 (value, src->timestamp_offset);
+      g_value_set_boolean (value, GST_BASE_SRC (src)->can_activate_push);
+      g_value_set_boolean (value, src->can_activate_pull);
Index: gstaudiotestsrc.h
RCS file: /cvs/gstreamer/gst-plugins-base/gst/audiotestsrc/gstaudiotestsrc.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- gstaudiotestsrc.h	10 Oct 2008 15:45:15 -0000	1.13
+++ gstaudiotestsrc.h	5 Jan 2009 10:59:35 -0000	1.14
@@ -120,6 +120,7 @@
   gboolean check_seek_stop;
   gboolean eos_reached;
   gint generate_samples_per_buffer;	/* used to generate a partial buffer */
+  gboolean can_activate_pull;
   
   /* waveform specific context data */
   gdouble accumulator;			/* phase angle */

------------------------------------------------------------------------------