summaryrefslogtreecommitdiff
path: root/multimedia/gstreamer1-plugins-good/files/patch-sys_oss_gstosshelper.c
diff options
context:
space:
mode:
authorThomas Zander <riggs@FreeBSD.org>2014-09-11 07:45:08 +0000
committerThomas Zander <riggs@FreeBSD.org>2014-09-11 07:45:08 +0000
commit581492d2c7e5a92ada08b652c66a4cbf0d8bbf3a (patch)
tree593a58756e7360d726fb17599da6b627d199480f /multimedia/gstreamer1-plugins-good/files/patch-sys_oss_gstosshelper.c
parent- Update to 1.0.2 (corresponds to the version in Tcl 8.6.2) (diff)
- Add 24 and 32 bit sample formats to the oss plugin
- Bump PORTREVISION PR: 181655 Submitted by: jbeich@vfemail.net
Notes
Notes: svn path=/head/; revision=367908
Diffstat (limited to 'multimedia/gstreamer1-plugins-good/files/patch-sys_oss_gstosshelper.c')
-rw-r--r--multimedia/gstreamer1-plugins-good/files/patch-sys_oss_gstosshelper.c76
1 files changed, 71 insertions, 5 deletions
diff --git a/multimedia/gstreamer1-plugins-good/files/patch-sys_oss_gstosshelper.c b/multimedia/gstreamer1-plugins-good/files/patch-sys_oss_gstosshelper.c
index 34fdd31191a2..6fae8849cfef 100644
--- a/multimedia/gstreamer1-plugins-good/files/patch-sys_oss_gstosshelper.c
+++ b/multimedia/gstreamer1-plugins-good/files/patch-sys_oss_gstosshelper.c
@@ -1,6 +1,72 @@
---- sys/oss/gstosshelper.c.orig Sun Apr 2 03:23:53 2006
-+++ sys/oss/gstosshelper.c Sun Apr 2 03:25:44 2006
-@@ -343,13 +344,17 @@ gst_oss_helper_rate_check_rate (GstOssPr
+--- sys/oss/gstosshelper.c.orig 2014-01-14 13:03:14.000000000 +0100
++++ sys/oss/gstosshelper.c 2014-09-11 09:10:55.115013111 +0200
+@@ -95,9 +95,13 @@
+ format_mask = AFMT_U8 | AFMT_S8;
+
+ if (G_BYTE_ORDER == G_LITTLE_ENDIAN)
+- format_mask |= AFMT_S16_LE | AFMT_U16_LE;
++ format_mask |= AFMT_S16_LE | AFMT_U16_LE
++ | AFMT_S24_LE | AFMT_U24_LE
++ | AFMT_S32_LE | AFMT_U32_LE;
+ else
+- format_mask |= AFMT_S16_BE | AFMT_U16_BE;
++ format_mask |= AFMT_S16_BE | AFMT_U16_BE
++ | AFMT_S24_BE | AFMT_U24_BE
++ | AFMT_S32_BE | AFMT_U32_BE;
+
+ caps = gst_caps_new_empty ();
+
+@@ -169,6 +173,9 @@
+ const gchar *format;
+
+ switch (format_bit) {
++ case AFMT_S8:
++ format = "S8";
++ break;
+ case AFMT_U8:
+ format = "U8";
+ break;
+@@ -178,15 +185,36 @@
+ case AFMT_S16_BE:
+ format = "S16BE";
+ break;
+- case AFMT_S8:
+- format = "S8";
+- break;
+ case AFMT_U16_LE:
+ format = "U16LE";
+ break;
+ case AFMT_U16_BE:
+ format = "U16BE";
+ break;
++ case AFMT_S24_LE:
++ format = "S24LE";
++ break;
++ case AFMT_S24_BE:
++ format = "S24BE";
++ break;
++ case AFMT_U24_LE:
++ format = "U24LE";
++ break;
++ case AFMT_U24_BE:
++ format = "U24BE";
++ break;
++ case AFMT_S32_LE:
++ format = "S32LE";
++ break;
++ case AFMT_S32_BE:
++ format = "S32BE";
++ break;
++ case AFMT_U32_LE:
++ format = "U32LE";
++ break;
++ case AFMT_U32_BE:
++ format = "U32BE";
++ break;
+ default:
+ g_assert_not_reached ();
+ return NULL;
+@@ -324,13 +352,17 @@
int format;
int n_channels;
int ret;
@@ -16,5 +82,5 @@
+ /* Reset rate to lowest supported rate. */
+ ioctl (probe->fd, SNDCTL_DSP_SPEED, &rst);
ret = ioctl (probe->fd, SNDCTL_DSP_SETFMT, &format);
- if (ret < 0)
- return -1;
+ if (ret < 0 || format != probe->format) {
+ GST_DEBUG ("unsupported format: %d (%d)", probe->format, format);