Bug#619723: cdrdao extits with ".cue:14: Timecode out of range"

Tanguy Ortolo tanguy+debian at ortolo.eu
Thu Nov 10 22:53:11 UTC 2011


package brasero
tag 619723 + patch
thanks

Tanguy Ortolo, 2011-11-10 18:04 UTC+0100:
> So now, frame contain the nano-frame number, between 0 included and 75e9
> excluded. L. 20, it is divided by a billion to get the frame number and
> it is added one if it was an exact frame. The result is thus between 0
> and 75 *included*, equal to 75 in the cases where (len % 1e9) * 75 ==
> 74e9.

My mistake: it is incremented by one if it was *not* an exact frame. In
practice, I imagine this would almost always be the case.

So the result is equal to 75 in all the cases where
74e9 < (len % 1e9) * 75 < 75e9.

The attached C program allows to demonstrate it:
    $ ./test 999999999   # this is one second minus one nanosecond
    0 0:0:75

I imagine that the conditional increment is meant to include the last
incomplete frame in the case where a track does not exactly end on a
frame. The current implementation is wrong, and it could be corrected by
conditionally incrementing len *before* we start computing anything from
it; however, given that a frame is only one 75th a second, I think it
would be better to simply remove the conditional increment: part of a
frame could be lost on the very last track of the disk but I do not
think it would matter to anyone.

For instance, if you replace l. 22 from my program by the commented one
just above:
    $ ./test 999999999
    0 0:0:75

If you agree with this solution, here is a quilt patch that implements
it.

Regards,

-- 
 ,--.
: /` )   Tanguy Ortolo <xmpp:tanguy at ortolo.eu> <irc://irc.oftc.net/Elessar>
| `-'    Debian Maintainer
 \_
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-gnome-maintainers/attachments/20111110/110cc887/attachment.pgp>


More information about the pkg-gnome-maintainers mailing list