docs/random/ensonic/: Save my thoughts.
authorStefan Kost <ensonic@users.sourceforge.net>
Fri, 20 Jul 2007 07:26:39 +0000 (07:26 +0000)
committerStefan Kost <ensonic@users.sourceforge.net>
Fri, 20 Jul 2007 07:26:39 +0000 (07:26 +0000)
Original commit message from CVS:
* docs/random/ensonic/audiobaseclasses.txt:
* docs/random/ensonic/dynlink.txt:
* docs/random/ensonic/profiling.txt:
Save my thoughts.
* docs/random/moving-plugins:
Add note to use g_assert type macros.

ChangeLog
docs/random/ensonic/audiobaseclasses.txt
docs/random/ensonic/dynlink.txt
docs/random/ensonic/profiling.txt
docs/random/moving-plugins

index 9849202..7993475 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
 
+       * docs/random/ensonic/audiobaseclasses.txt:
+       * docs/random/ensonic/dynlink.txt:
+       * docs/random/ensonic/profiling.txt:
+         Save my thoughts.
+
+       * docs/random/moving-plugins:
+         Add note to use g_assert type macros.
+
+2007-07-20  Stefan Kost  <ensonic@users.sf.net>
+
        * configure.ac:
        * libs/gst/check/Makefile.am:
          Add libm check as we use in for plugins.
index 103b746..e31047f 100644 (file)
@@ -4,6 +4,9 @@ $Id$
 We have gst-plugins-base/gst-libs/gst/audio with some audio helper and base
 classes.
 
+audiofilter: for src_caps=sink_caps
+basetransform: *
+
 = new stuff =
 
 
index d08b0fc..1c36d28 100644 (file)
@@ -25,8 +25,8 @@ gst_element_insert_linked(e1, e2, e3, e4); // e2 == e3 allowed
 gst_pads_insert_link (e1.src, e2.sink, e3.src, e4.sink);
   disconnect e1.src, e1.src.peer
   disconnect e4.sink, e4.sink.peer
-  connect e1.src e2.sink
-  connect e3.src e4.sink
+  connect e1.src, e2.sink
+  connect e3.src, e4.sink
 
 == removing an element ==
 
@@ -36,21 +36,22 @@ gst_pads_insert_link (e1.src, e2.sink, e3.src, e4.sink);
 gst_element_remove_linked(e2);
 gst_pads_remove_link (e1.src, e3.sink);
   disconnect e1.src, e1.src.peer
-  disconnect e3.sink, e3.sink..peer
-  connect e1.src e3.sink
+  disconnect e3.sink, e3.sink.peer
+  connect e1.src, e3.sink
 
 == swapping out an elelment ==
 
-* we have: e1 ! e2 ! e5
-* we want: e1 ! e3 ! e4 ! e5
-* we want: e1 ! e3      ! e5
+ * we have: e1 ! e2 ! e6
+ * we have: e1 ! e2 ! e3 ! e6
+ * we want: e1 ! e4 ! e5 ! e6
+ * we want: e1 ! e3      ! e6
 
-gst_element_swap_linked(e1, e3, e4, e5);
-gst_pads_insert_link (e1.src, e3.sink, e4.src, e5.sink);
+gst_element_swap_linked(e1, e4, e5, e6);
+gst_pads_insert_link (e1.src, e4.sink, e5.src, e6.sink);
   disconnect e1.src, e1.src.peer (=e2.sink)
-  disconnect e5.sink, e5.sink.peer
-  connect e1.src e3.sink
-  connect e4.src e5.sink
+  disconnect e6.sink, e6.sink.peer
+  connect e1.src, e4.sink
+  connect e5.src, e6.sink
 
 
 
index 486d36c..d6acbb4 100644 (file)
@@ -17,17 +17,12 @@ $Id$
   * (streamtime,propotion) pairs from sinks
     draw a graph with gnuplot or similar
   * number of frames in total
-  * number of frames dropped from each element that support QOS
-    elements that don't support QOS wont have this information anyway
-  * needs to be media type specific:
-    * video: full frames
-    * audio: partial buffers can be dropped in the sink, count number of dropped
-      audio frames
+  * number of audio/video frames dropped from each element that support QOS
+  * could be expressed as percent in relation to total-frames
 
-* idea2: query data (e.g. via. gst-launch)
+* query data (e.g. via. gst-launch)
   * add -r, --report option to gst-launch
-  * send duration to get total number of frames (GST_FORMAT_DEFAULT for video is frames)
-  * during playing we need to capture QOS-events to record 'streamtime,proportion' pairs
+  * during playing we capture QOS-events to record 'streamtime,proportion' pairs
     gst_pad_add_event_probe(video_sink->sink_pad,handler,data)
   * during playback we like to know when an elemnt drops frames
     what about elements sending a qos_action message?
@@ -37,11 +32,9 @@ $Id$
       number of frames dropped
     * print a nice table with the results
       * QOS stats first
-      * list of 'streamtime,proportion' pairs
-    
-  + robust
-  + also available to application
-  - changes in core
+    * writes a gnuplot data file
+      * list of 'streamtime,proportion,<drop>' tuples
+
 
 = core profiling =
 
index 3dcba13..bd48dbf 100644 (file)
@@ -53,6 +53,8 @@ CHECKLIST
   - use correct value, name, nick for enums
   - use underscores in macros/function names/structs
     e.g.: GST_BASE_SINK, GstBaseSink, gst_base_sink_
+  - use g_assert(), g_return_if_fail(), g_return_val_if_fail() for pre/post
+    condition checks
 
 - The plug-in's build:
   - should be correctly integrated with configure.ac
@@ -121,7 +123,7 @@ CHECKLIST
   and following practice outlined in
   http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstGError.html
   - this includes:
-    - message strings need to be marked for translation 
+    - message strings need to be marked for translation
     - should be short, well-written, clear
     - in particular, should *not* contain debug info, strerror, errno, ...
       No, really ! NO STRERROR, NO ERRNO.  If you are too lazy to provide