From 1a140c99a6d529d5ba397fe092995c3255b19ced Mon Sep 17 00:00:00 2001 From: Stefan Kost Date: Fri, 20 Jul 2007 07:26:39 +0000 Subject: [PATCH] docs/random/ensonic/: Save my thoughts. 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 | 10 ++++++++++ docs/random/ensonic/audiobaseclasses.txt | 3 +++ docs/random/ensonic/dynlink.txt | 25 ++++++++++++------------ docs/random/ensonic/profiling.txt | 21 +++++++------------- docs/random/moving-plugins | 4 +++- 5 files changed, 36 insertions(+), 27 deletions(-) diff --git a/ChangeLog b/ChangeLog index 984920241b..7993475987 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2007-07-20 Stefan Kost + + * 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 * configure.ac: diff --git a/docs/random/ensonic/audiobaseclasses.txt b/docs/random/ensonic/audiobaseclasses.txt index 103b7463fc..e31047fbde 100644 --- a/docs/random/ensonic/audiobaseclasses.txt +++ b/docs/random/ensonic/audiobaseclasses.txt @@ -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 = diff --git a/docs/random/ensonic/dynlink.txt b/docs/random/ensonic/dynlink.txt index d08b0fcc1a..1c36d285a6 100644 --- a/docs/random/ensonic/dynlink.txt +++ b/docs/random/ensonic/dynlink.txt @@ -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 diff --git a/docs/random/ensonic/profiling.txt b/docs/random/ensonic/profiling.txt index 486d36cfed..d6acbb4c52 100644 --- a/docs/random/ensonic/profiling.txt +++ b/docs/random/ensonic/profiling.txt @@ -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,' tuples + = core profiling = diff --git a/docs/random/moving-plugins b/docs/random/moving-plugins index 3dcba13f5d..bd48dbfe80 100644 --- a/docs/random/moving-plugins +++ b/docs/random/moving-plugins @@ -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