(bind-func eos
(lambda (sink:GstAppSink* data:gpointer)
(let ((quad (tref (cast data userdata*) 0))
(playz (tref (cast data userdata*) 1)))
(cond ((= quad 1) (set! vplay1 #f) (set! sampledata1dirty #f))
((= quad 2) (set! vplay2 #f) (set! sampledata2dirty #f))
((= quad 3) (set! vplay3 #f) (set! sampledata3dirty #f))
((= quad 4) (set! vplay4 #f) (set! sampledata4dirty #f)))
(printf "Finished Decoding[%d]!\n" quad)
void)))