summaryrefslogtreecommitdiffstats
path: root/sys/oss/gstosssink.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/oss/gstosssink.c')
-rw-r--r--sys/oss/gstosssink.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/sys/oss/gstosssink.c b/sys/oss/gstosssink.c
index efef1ba0..a98efab1 100644
--- a/sys/oss/gstosssink.c
+++ b/sys/oss/gstosssink.c
@@ -162,27 +162,22 @@ gst_oss_sink_init (GstOssSink * osssink)
{
GST_DEBUG ("initializing osssink");
- osssink->element = g_object_new (GST_TYPE_OSSELEMENT, NULL);
+ osssink->fd = -1;
}
static GstCaps *
gst_oss_sink_getcaps (GstBaseSink * bsink)
{
GstOssSink *osssink;
- GstOssElement *element;
GstCaps *caps;
osssink = GST_OSSSINK (bsink);
- element = osssink->element;
- gst_osselement_probe_caps (element);
-
- if (element->probed_caps == NULL) {
- caps =
- gst_caps_copy (gst_pad_get_pad_template_caps (GST_BASE_SINK_PAD
+ if (osssink->fd == -1) {
+ caps = gst_caps_copy (gst_pad_get_pad_template_caps (GST_BASE_SINK_PAD
(bsink)));
} else {
- caps = gst_caps_ref (element->probed_caps);
+ caps = gst_oss_helper_probe_caps (osssink->fd);
}
return caps;