GNOME Bugzilla – Bug 615461
dv1394src clock continues to be broken
Last modified: 2010-06-10 15:03:07 UTC
the dv1394 src was broken last september by: commit 3dc2c2472c0b70a05b09c2248e9c332fdb08b98d Author: David Schleef <ds@schleef.org> Date: Wed Sep 9 17:51:19 2009 -0700 dv1394src: Add a clock based on isochronous cycle counter This caused the clock (as reported by progressreport) to zoom forward and backward and generally rendered dv1394src unusable. Since then there's been a new patch that fixed the 'back and forth' problem: commit 63624f966e4f24145bc6c1b1e6a441c119eb6976 Author: Andoni Morales Alastruey <ylatuya@gmail.com> Date: Thu Mar 4 22:12:35 2010 +0100 dv1394src: Fix internal clock Fixes #593910. ...but the clock is still not usable. As of current head, the dv1394src will run, but output occurs with bursts of frames having approximately the same timestamp, so video consists of bursts of 5-15 frames, then no frames for an extended period, then another burst of frames, etc.
Sorry, I should have mentioned: the same equipment works smoothly with gst-plugins-good and dv1394src built from git of Sept 8 2009.
Created attachment 162761 [details] [review] Fix the internal clock Indeed the clock is still broken. To read the cycleCount register we need to shift 12 bits (the length of the cycleOffset register) and not 13 (the lenght of the cycleCounter): http://www.dennedy.org/libraw1394/API-raw1394-read-cycle-timer.html Attached patch.
Not that dvdemux has a bug too, and it doesn't set the duration properly on outgoing buffers (https://bugzilla.gnome.org/show_bug.cgi?id=601293)
Review of attachment 162761 [details] [review]: looks good
Commit: 2061fc0ccbd0c5f42d910133214ebd3d5f3dce42 URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=2061fc0ccbd0c5f42d910133214ebd3d5f3dce42 Author: Andoni Morales Alastruey <amorales@flumotion.com> Date: Thu Jun 10 11:04:38 2010 +0100 dv1394: Fix the internal clock even more The cycleCount register is 13 bits long and the cycleOffset one is 12 bits long. To read the cycleCount register we need to shift 12 bits and not 13. Fixes #615461