[gst-devel] meeting notes of code review
Thomas Vander Stichele
thomas at urgent.rug.ac.be
Fri Apr 12 02:57:03 CEST 2002
Here's what I typed during the code review for future reference.
Feel free to comment on stuff ;)
Thomas
GStreamer Code Review - April 7th, 2002
Present : Erik, Wim, Ronald, Mike (MAS), Leon (MAS), Thomas, Steve, Christian
Goals :
* Explanation of the more difficult core concepts
* HOWTO fix plugins
* Code Review code comments are marked CR1:
* GObject should be made threadsafe, let's write a sample app to show the
community that it crashes
* gstobject.c : two ref/unref functions
Get atomic locking to glib
Then uncomment the atomic stuff
use the bottom copies
* Wim says to remove the gstobject unref functions and redo them
* Thomas says to take out old snippets of code and put them in a different dir
so the code ends up cleaner
* gst_object_sink
we want to keep the GTK-based style of refcounting
sinking an objec
FLOATING means : I don't have a parent, but I want to live, please take
ownership of me
ASK: Why isn't float in gobject ?
* TODO's
testsuite/refcount/ :
- fix identity
- use identity
- check the leaks
check the glib object stuff and see if it's sufficient
check how gtk 2 does the stuff we want to do
do it the same
gst-launch: fix syntax to set the name on the object without a property
remove checks for NULL and similar by doing a call graph and doing the checks
in only one place; put these in an ifdef
create a macro (_REDUNDANT) which we can turn on if something's fishy
DEBUG/ERROR problems (see gstobject.c around 392)
gst_object_real_restore_thyself:
move the signal emit to the bottom of restore thyself and get rid of it
write a document with sample caps and data types
gstcaps.h :
check data type of id, quarks are not guint16's !
rename gst_caps_copy_1 to gst_caps_copy_first
gstpad.h :
gtk-document the macros
FEATURES :
we need to determine whether the namespace of a specific plugin feature is
for all plugin features or separate for each type of plugin
It should probably be separate for each type.
ANSWER: There is a separate namespace for each plugin feature type
BUFFERS
writing in place should check if you can write and copy if necessary
if refcount != 1, you must copy
while copying you drop a reference
tee, two outputs : first peer wants to write, unrefs, gets a copy
second peer has now exclusive ownership and can
write to that buffer so doesn't need a copy
let's figure out how child buffers' properties like copy on write translate
to the parent buffers and vice versa
PRIORITIES
mad could have a better internal resampler that's better/faster and
might be preferable. Priorities should deal with that.
Also, it would be nice to have some sort of app that configures these
priorities by actual measurement on your computer.
CODE FAQ
GstData is not a GObject because that has too much overhead
guidelines for writing modules; eg. where to put queues
OPTIMIZATIONS
* glib
Does GLib check if there's a listener when a signal gets emitted ?
Check the speed of this
*
--
The Dave/Dina Project : future TV today ! - http://davedina.apestaart.org/
<-*- -*->
Kiss me please kiss me
Kiss me out of desire baby not consolation
Oh you know it makes me so angry cause I know that in time
I'll only make you cry
<-*- thomas at apestaart.org -*->
URGent, the best radio on the Internet - 24/7 ! - http://urgent.rug.ac.be/
More information about the gstreamer-devel
mailing list