summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Barbato <lu_zero@gentoo.org>2003-01-10 06:51:37 +0000
committerLuca Barbato <lu_zero@gentoo.org>2003-01-10 06:51:37 +0000
commit4619b8cbd8205576e2d4effaf428f8497c4fff47 (patch)
tree61495bf847f11aeb6cbe2f4df3a52d2e3c802de6 /media-libs/gst-plugins
parentnew ebuild (diff)
downloadgentoo-2-4619b8cbd8205576e2d4effaf428f8497c4fff47.tar.gz
gentoo-2-4619b8cbd8205576e2d4effaf428f8497c4fff47.tar.bz2
gentoo-2-4619b8cbd8205576e2d4effaf428f8497c4fff47.zip
New version
Diffstat (limited to 'media-libs/gst-plugins')
-rw-r--r--media-libs/gst-plugins/files/digest-gst-plugins-0.5.11
-rw-r--r--media-libs/gst-plugins/files/gst-plugins-0.5.1-never-return-on-oss-busy.patch42
2 files changed, 43 insertions, 0 deletions
diff --git a/media-libs/gst-plugins/files/digest-gst-plugins-0.5.1 b/media-libs/gst-plugins/files/digest-gst-plugins-0.5.1
new file mode 100644
index 000000000000..7b15d641eb53
--- /dev/null
+++ b/media-libs/gst-plugins/files/digest-gst-plugins-0.5.1
@@ -0,0 +1 @@
+MD5 1e41a9836681326798db2333d631fd38 gst-plugins-0.5.1.tar.gz 2664365
diff --git a/media-libs/gst-plugins/files/gst-plugins-0.5.1-never-return-on-oss-busy.patch b/media-libs/gst-plugins/files/gst-plugins-0.5.1-never-return-on-oss-busy.patch
new file mode 100644
index 000000000000..9ec6a5545651
--- /dev/null
+++ b/media-libs/gst-plugins/files/gst-plugins-0.5.1-never-return-on-oss-busy.patch
@@ -0,0 +1,42 @@
+--- gst-plugins-0.5.0/sys/oss/gstosscommon.c.orig 2002-12-27 08:58:32.000000000 +0200
++++ gst-plugins-0.5.0/sys/oss/gstosscommon.c 2002-12-27 09:01:44.000000000 +0200
+@@ -279,9 +279,23 @@
+ GST_INFO (GST_CAT_PLUGIN_INFO, "common: attempting to open sound device");
+
+ /* first try to open the sound card */
+- /* FIXME: this code is dubious, why do we need to open and close this ?*/
++ /* FIXME: This code is dubious, why do we need to open and close this ?
++ * For linux at least this causes the second open to never return
++ * if the device was already in use .. */
++#ifndef __linux__
+ if (mode == GST_OSSCOMMON_WRITE) {
++#endif
+ common->fd = open (common->device, O_WRONLY | O_NONBLOCK);
++#ifdef __linux__
++ if (common->fd >= 0) {
++ /* remove the non-blocking flag */
++ if(fcntl (common->fd, F_SETFL, 0) < 0) {
++ *error = g_strdup_printf ("osscommon: Can't make filedescriptor blocking for %s",
++ common->device);
++ return FALSE;
++ }
++ }
++#else
+ if (errno == EBUSY) {
+ g_warning ("osscommon: unable to open the sound device (in use ?)\n");
+ }
+@@ -295,9 +309,14 @@
+ else {
+ common->fd = open (common->device, O_RDONLY);
+ }
++#endif
+
+ if (common->fd < 0) {
+ switch (errno) {
++ case EBUSY:
++ *error = g_strdup_printf ("osscommon: Unable to open %s (in use ?)",
++ common->device);
++ break;
+ case EISDIR:
+ *error = g_strdup_printf ("osscommon: Device %s is a directory",
+ common->device);