Comment 18 for bug 656297

Revision history for this message
Thomas Schmitt (scdbackup) wrote :

Hi,

since the problem will soon be old enough to go to school,
i propose to fix a bug in the libburn plugin of Brasero
which is to see at

  https://git.gnome.org/browse/brasero/tree/plugins/libburnia/burn-libburn.c#n558

This line obviously gets a number out of brasero's state:

    brasero_job_get_rate (BRASERO_JOB (self), &rate);

This line hands over the number to libburn as read speed,
and orders maximum write speed by value 0:

    burn_drive_set_speed (priv->ctx->drive, rate, 0);

It should obviously be

    burn_drive_set_speed (priv->ctx->drive, 0, rate);

Quoting my predecessors and myself from
  http://libburnia-project.org/browser/libburn/trunk/libburn/libburn.h

  /** Sets drive read and write speed
      Note: "k" is 1000, not 1024. 1xCD = 176.4 k/s, 1xDVD = 1385 k/s.
            Fractional speeds should be rounded up. Like 4xCD = 706.
      @param d The drive to set speed for
      @param read Read speed in k/s (0 is max, -1 is min).
      @param write Write speed in k/s (0 is max, -1 is min).
  */
  void burn_drive_set_speed(struct burn_drive *d, int read, int write);

As we are at it, how about a log line like this one ?

  BRASERO_JOB_LOG (BRASERO_JOB (self), "Setting libburn write speed to %d", rate);

Now: Arise ye users from your slumber, and get some Ubuntu maintainer
to verify my findings, to install a patch and to report upstream.

Have a nice day :)

Thomas