i would like 2 know exactly how the syncing is done.
i didn't understand some things when i went thru the basesink,baseaudiosink files. why, in the baseaudiosink ,the gettimes func returns the the null values for the start & end time for the buffer, whereas in the basesink it returns the the actual values. i got a little confused when i went thru them.so does that mean that for audio, the buffer nevers go  thru the wait call . i would also like to know how the  xvimagesink uses  the clock  provided by the the baseaudiosink which increments the time based on the the sampling rate(samples processed). how does that clock become global automatically?,meaning how the other elemnets in the pipeline refer to that clock.
if the sink uses gstsystemclock (provide-clock=false), will all the elements basetime be set to current system time ? i would also didn't understand the paramaters internal & external in  gst_clock_set_calibration.