Fix some clocking issue in OSS. The issue is that if we seek forward (note: specifica...
authorRonald S. Bultje <rbultje@ronald.bitfreak.net>
Tue, 16 Dec 2003 21:47:40 +0000 (21:47 +0000)
committerRonald S. Bultje <rbultje@ronald.bitfreak.net>
Tue, 16 Dec 2003 21:47:40 +0000 (21:47 +0000)
commit36d1d0b44f7f02fc5ad3c9f57530841c0dc0c263
tree9e387ea89fc074f31d9fcc6b158e285ba7b80b65
parenta36185d92047329feb572299b78aa5457422c6a0
Fix some clocking issue in OSS. The issue is that if we seek forward (note: specifically forward-only), then we call ...

Original commit message from CVS:
Fix some clocking issue in OSS. The issue is that if we seek forward (note: specifically forward-only), then we call handle_discont() before re-setting the clock to active. However, gstclock.c tells us that handle_discont only succeeds if allow_discont=TRUE, which is set in... set_active(TRUE). So, we first need to re-activate the clock and *then* call handle_discont(). More importantly, though, we should **NEVER EVER EVER EVER EVER** **NEVER EVER EVER EVER EVER** call clock_wait() after a forward discont without first having called handle_discont(). I don't know who added that code, but it's beyond fundamentally broken. clock_wait() **WAITS** until we're at the new given buftime, so if we do that on a forward-seek buffer, we... yes! we wait the amount of time that we seeked forward. Anyway, Apparently this code has been in here for quite a long time so I don't get how this can ever have worked...
sys/oss/gstosssink.c