All pastes #126407 Raw Edit

James Livingston

public text v1 · immutable
·published 2006-08-11 13:13 UTC
rendered paste body
diff -u -p -r1.17 rb-encoder-gst.c
--- backends/gstreamer/rb-encoder-gst.c	27 Jul 2006 07:45:07 -0000	1.17
+++ backends/gstreamer/rb-encoder-gst.c	11 Aug 2006 13:12:40 -0000
@@ -764,6 +764,17 @@ copy_track (RBEncoderGst *encoder,
 	return TRUE;
 }
 
+static void
+transport_error_cb (GstElement *elem, gint sector, RBEncoderGst *encoder)
+{
+	rb_debug ("transport error on sector %d", sector);
+}
+static void
+uncorrected_error_cb (GstElement *elem, gint sector, RBEncoderGst *encoder)
+{
+	rb_debug ("uncorrected read error (skip) on sector %d", sector);
+}
+
 static gboolean
 extract_track (RBEncoderGst *encoder,
 	       RhythmDBEntry *entry,
@@ -807,6 +818,18 @@ extract_track (RBEncoderGst *encoder,
 
 		paranoia_mode = 255; /* TODO: make configurable */
 		g_object_set (G_OBJECT (src), "paranoia-mode", paranoia_mode, NULL);
+	}
+	if (g_object_class_find_property (G_OBJECT_GET_CLASS (src), "search-overlap")) {
+		int search_overlap;
+
+		search_overlap = 75; /* TODO: make configurable */
+		g_object_set (G_OBJECT (src), "search-overlap", search_overlap, NULL);
+	}
+	if (g_signal_lookup ("transport-error", G_OBJECT_TYPE (src))) {
+		g_signal_connect_object (src, "transport-error", (GCallback)transport_error_cb, encoder, 0);
+	}
+	if (g_signal_lookup ("uncorrected-error", G_OBJECT_TYPE (src))) {
+		g_signal_connect_object (src, "uncorrected-error", (GCallback)uncorrected_error_cb, encoder, 0);
 	}
 	g_free (uri);