summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorAndoni Morales Alastruey <ylatuya@gmail.com>2012-05-29 11:37:59 +0000
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2012-07-04 19:54:55 +0200
commit1c6d1bd29a548eb10008406db3854da754bc6c05 (patch)
tree1ae4280aad4f83c52fc90d5f4de68d73c6898285 /sys
parented8ad7bffe6109aacc93fe855c2f2a92bb130fb6 (diff)
directsoundsink: fix acceptcaps check
Diffstat (limited to 'sys')
-rw-r--r--sys/directsound/gstdirectsoundsink.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/sys/directsound/gstdirectsoundsink.c b/sys/directsound/gstdirectsoundsink.c
index e9499933b..2a2a44776 100644
--- a/sys/directsound/gstdirectsoundsink.c
+++ b/sys/directsound/gstdirectsoundsink.c
@@ -311,9 +311,9 @@ gst_directsound_sink_acceptcaps (GstBaseSink * sink, GstQuery * query)
pad_caps = gst_pad_query_caps (pad, NULL);
if (pad_caps) {
- ret = gst_caps_can_intersect (pad_caps, caps);
+ gboolean cret = gst_caps_can_intersect (pad_caps, caps);
gst_caps_unref (pad_caps);
- if (!ret)
+ if (!cret)
goto done;
}
@@ -326,7 +326,10 @@ gst_directsound_sink_acceptcaps (GstBaseSink * sink, GstQuery * query)
goto done;
/* Make sure input is framed (one frame per buffer) and can be payloaded */
- if (gst_directsound_sink_is_spdif_format (dsink))
+ switch (spec.type)
+ {
+ case GST_AUDIO_RING_BUFFER_FORMAT_TYPE_AC3:
+ case GST_AUDIO_RING_BUFFER_FORMAT_TYPE_DTS:
{
gboolean framed = FALSE, parsed = FALSE;
st = gst_caps_get_structure (caps, 0);
@@ -336,6 +339,9 @@ gst_directsound_sink_acceptcaps (GstBaseSink * sink, GstQuery * query)
if ((!framed && !parsed) || gst_audio_iec61937_frame_size (&spec) <= 0)
goto done;
}
+ default:
+ break;
+ }
ret = TRUE;
done: