rhythmbox r5543 - in trunk: . backends/gstreamer
- From: jmatthew svn gnome org
- To: svn-commits-list gnome org
- Subject: rhythmbox r5543 - in trunk: . backends/gstreamer
- Date: Sun, 13 Jan 2008 08:02:26 +0000 (GMT)
Author: jmatthew
Date: Sun Jan 13 08:02:26 2008
New Revision: 5543
URL: http://svn.gnome.org/viewvc/rhythmbox?rev=5543&view=rev
Log:
2008-01-13 Jonathan Matthew <jonathan d14n org>
* backends/gstreamer/rb-player-gst-xfade.c: (create_stream):
For audio CD playback, try to disable paranoia mode and reduce read
speed, and extract the device path from the URI fragment. Fixes
#507538.
Modified:
trunk/ChangeLog
trunk/backends/gstreamer/rb-player-gst-xfade.c
Modified: trunk/backends/gstreamer/rb-player-gst-xfade.c
==============================================================================
--- trunk/backends/gstreamer/rb-player-gst-xfade.c (original)
+++ trunk/backends/gstreamer/rb-player-gst-xfade.c Sun Jan 13 08:02:26 2008
@@ -1931,6 +1931,27 @@
g_object_set (stream->source, "iradio-mode", TRUE, NULL);
}
+ /* for audio CD playback, try to reduce read speed and disable error correction,
+ * and handle our cdda://1#/dev/cdrom hack for specifying the device.
+ */
+ if (g_str_has_prefix (uri, "cdda://")) {
+ GObjectClass *klass = G_OBJECT_GET_CLASS (stream->source);
+ if (g_object_class_find_property (klass, "paranoia-mode")) {
+ g_object_set (stream->source, "paranoia-mode", 0, NULL);
+ }
+ if (g_object_class_find_property (klass, "read-speed")) {
+ g_object_set (stream->source, "read-speed", 1, NULL);
+ }
+ if (g_object_class_find_property (klass, "device")) {
+ char *device;
+
+ device = g_utf8_strchr (uri, -1, '#');
+ if (device != NULL) {
+ g_object_set (stream->source, "device", device+1, NULL);
+ }
+ }
+ }
+
if (g_getenv ("USE_DECODEBIN2") != NULL) {
stream->decoder = gst_element_factory_make ("decodebin2", NULL);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]