[brasero/gnome-2-32] Make sure that the size is displayed correctly when burning tracks internally copied with cdda2wav



commit 6ddf46d1477bb6e2a3e86afa699c52b643bfcef7
Author: Philippe Rouquier <bonfire-app wanadoo fr>
Date:   Wed Nov 24 16:29:32 2010 +0100

    Make sure that the size is displayed correctly when burning tracks internally copied with cdda2wav

 libbrasero-burn/brasero-track-stream.c |    2 +-
 plugins/cdrtools/burn-cdda2wav.c       |   10 ++++++----
 2 files changed, 7 insertions(+), 5 deletions(-)
---
diff --git a/libbrasero-burn/brasero-track-stream.c b/libbrasero-burn/brasero-track-stream.c
index f041676..e3ee6df 100644
--- a/libbrasero-burn/brasero-track-stream.c
+++ b/libbrasero-burn/brasero-track-stream.c
@@ -243,6 +243,7 @@ brasero_track_stream_set_boundaries (BraseroTrackStream *track,
  * This function returns the path or the URI (if @uri is TRUE)
  * of the stream (song or video file).
  *
+ * Note: this function resets any length previously set to 0.
  * Return value: a #gchar.
  **/
 
@@ -347,7 +348,6 @@ brasero_track_stream_get_length (BraseroTrackStream *track,
 		return BRASERO_BURN_ERR;
 
 	*length = BRASERO_STREAM_LENGTH (priv->start, priv->end + priv->gap);
-
 	return BRASERO_BURN_OK;
 }
 
diff --git a/plugins/cdrtools/burn-cdda2wav.c b/plugins/cdrtools/burn-cdda2wav.c
index 16343bd..797b3f9 100644
--- a/plugins/cdrtools/burn-cdda2wav.c
+++ b/plugins/cdrtools/burn-cdda2wav.c
@@ -108,10 +108,6 @@ brasero_cdda2wav_post (BraseroJob *job)
 
 		brasero_medium_get_track_space (medium, i + 1, NULL, &block_num);
 		track_stream = brasero_track_stream_new ();
-		brasero_track_stream_set_boundaries (track_stream,
-		                                     0,
-		                                     BRASERO_BYTES_TO_DURATION (block_num * 2352),
-		                                     0);
 
 		brasero_track_stream_set_format (track_stream,
 		                                 BRASERO_AUDIO_FORMAT_RAW|
@@ -147,6 +143,12 @@ brasero_cdda2wav_post (BraseroJob *job)
 			g_free (filename);
 		}
 
+		/* Always set the boundaries after the source as
+		 * brasero_track_stream_set_source () resets the length */
+		brasero_track_stream_set_boundaries (track_stream,
+		                                     0,
+		                                     BRASERO_BYTES_TO_DURATION (block_num * 2352),
+		                                     0);
 		brasero_job_add_track (job, BRASERO_TRACK (track_stream));
 		g_object_unref (track_stream);
 	}



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]