mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-29 05:01:23 +00:00
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.
This commit is contained in:
parent
e99d464ea9
commit
1a140c99a6
5 changed files with 36 additions and 27 deletions
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
||||||
|
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>
|
2007-07-20 Stefan Kost <ensonic@users.sf.net>
|
||||||
|
|
||||||
* configure.ac:
|
* configure.ac:
|
||||||
|
|
|
@ -4,6 +4,9 @@ $Id$
|
||||||
We have gst-plugins-base/gst-libs/gst/audio with some audio helper and base
|
We have gst-plugins-base/gst-libs/gst/audio with some audio helper and base
|
||||||
classes.
|
classes.
|
||||||
|
|
||||||
|
audiofilter: for src_caps=sink_caps
|
||||||
|
basetransform: *
|
||||||
|
|
||||||
= new stuff =
|
= new stuff =
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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);
|
gst_pads_insert_link (e1.src, e2.sink, e3.src, e4.sink);
|
||||||
disconnect e1.src, e1.src.peer
|
disconnect e1.src, e1.src.peer
|
||||||
disconnect e4.sink, e4.sink.peer
|
disconnect e4.sink, e4.sink.peer
|
||||||
connect e1.src e2.sink
|
connect e1.src, e2.sink
|
||||||
connect e3.src e4.sink
|
connect e3.src, e4.sink
|
||||||
|
|
||||||
== removing an element ==
|
== 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_element_remove_linked(e2);
|
||||||
gst_pads_remove_link (e1.src, e3.sink);
|
gst_pads_remove_link (e1.src, e3.sink);
|
||||||
disconnect e1.src, e1.src.peer
|
disconnect e1.src, e1.src.peer
|
||||||
disconnect e3.sink, e3.sink..peer
|
disconnect e3.sink, e3.sink.peer
|
||||||
connect e1.src e3.sink
|
connect e1.src, e3.sink
|
||||||
|
|
||||||
== swapping out an elelment ==
|
== swapping out an elelment ==
|
||||||
|
|
||||||
* we have: e1 ! e2 ! e5
|
* we have: e1 ! e2 ! e6
|
||||||
* we want: e1 ! e3 ! e4 ! e5
|
* we have: e1 ! e2 ! e3 ! e6
|
||||||
* we want: e1 ! e3 ! e5
|
* we want: e1 ! e4 ! e5 ! e6
|
||||||
|
* we want: e1 ! e3 ! e6
|
||||||
|
|
||||||
gst_element_swap_linked(e1, e3, e4, e5);
|
gst_element_swap_linked(e1, e4, e5, e6);
|
||||||
gst_pads_insert_link (e1.src, e3.sink, e4.src, e5.sink);
|
gst_pads_insert_link (e1.src, e4.sink, e5.src, e6.sink);
|
||||||
disconnect e1.src, e1.src.peer (=e2.sink)
|
disconnect e1.src, e1.src.peer (=e2.sink)
|
||||||
disconnect e5.sink, e5.sink.peer
|
disconnect e6.sink, e6.sink.peer
|
||||||
connect e1.src e3.sink
|
connect e1.src, e4.sink
|
||||||
connect e4.src e5.sink
|
connect e5.src, e6.sink
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -17,17 +17,12 @@ $Id$
|
||||||
* (streamtime,propotion) pairs from sinks
|
* (streamtime,propotion) pairs from sinks
|
||||||
draw a graph with gnuplot or similar
|
draw a graph with gnuplot or similar
|
||||||
* number of frames in total
|
* number of frames in total
|
||||||
* number of frames dropped from each element that support QOS
|
* number of audio/video frames dropped from each element that support QOS
|
||||||
elements that don't support QOS wont have this information anyway
|
* could be expressed as percent in relation to total-frames
|
||||||
* needs to be media type specific:
|
|
||||||
* video: full frames
|
|
||||||
* audio: partial buffers can be dropped in the sink, count number of dropped
|
|
||||||
audio frames
|
|
||||||
|
|
||||||
* idea2: query data (e.g. via. gst-launch)
|
* query data (e.g. via. gst-launch)
|
||||||
* add -r, --report option to 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 capture QOS-events to record 'streamtime,proportion' pairs
|
||||||
* during playing we need to capture QOS-events to record 'streamtime,proportion' pairs
|
|
||||||
gst_pad_add_event_probe(video_sink->sink_pad,handler,data)
|
gst_pad_add_event_probe(video_sink->sink_pad,handler,data)
|
||||||
* during playback we like to know when an elemnt drops frames
|
* during playback we like to know when an elemnt drops frames
|
||||||
what about elements sending a qos_action message?
|
what about elements sending a qos_action message?
|
||||||
|
@ -37,11 +32,9 @@ $Id$
|
||||||
number of frames dropped
|
number of frames dropped
|
||||||
* print a nice table with the results
|
* print a nice table with the results
|
||||||
* QOS stats first
|
* QOS stats first
|
||||||
* list of 'streamtime,proportion' pairs
|
* writes a gnuplot data file
|
||||||
|
* list of 'streamtime,proportion,<drop>' tuples
|
||||||
+ robust
|
|
||||||
+ also available to application
|
|
||||||
- changes in core
|
|
||||||
|
|
||||||
= core profiling =
|
= core profiling =
|
||||||
|
|
||||||
|
|
|
@ -53,6 +53,8 @@ CHECKLIST
|
||||||
- use correct value, name, nick for enums
|
- use correct value, name, nick for enums
|
||||||
- use underscores in macros/function names/structs
|
- use underscores in macros/function names/structs
|
||||||
e.g.: GST_BASE_SINK, GstBaseSink, gst_base_sink_
|
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:
|
- The plug-in's build:
|
||||||
- should be correctly integrated with configure.ac
|
- should be correctly integrated with configure.ac
|
||||||
|
@ -121,7 +123,7 @@ CHECKLIST
|
||||||
and following practice outlined in
|
and following practice outlined in
|
||||||
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstGError.html
|
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstGError.html
|
||||||
- this includes:
|
- this includes:
|
||||||
- message strings need to be marked for translation
|
- message strings need to be marked for translation
|
||||||
- should be short, well-written, clear
|
- should be short, well-written, clear
|
||||||
- in particular, should *not* contain debug info, strerror, errno, ...
|
- in particular, should *not* contain debug info, strerror, errno, ...
|
||||||
No, really ! NO STRERROR, NO ERRNO. If you are too lazy to provide
|
No, really ! NO STRERROR, NO ERRNO. If you are too lazy to provide
|
||||||
|
|
Loading…
Reference in a new issue