diff options
author | Andoni Morales Alastruey <ylatuya@gmail.com> | 2012-05-29 11:37:59 +0000 |
---|---|---|
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2012-07-04 19:54:55 +0200 |
commit | 1c6d1bd29a548eb10008406db3854da754bc6c05 (patch) | |
tree | 1ae4280aad4f83c52fc90d5f4de68d73c6898285 /sys | |
parent | ed8ad7bffe6109aacc93fe855c2f2a92bb130fb6 (diff) | |
download | gstreamer-plugins-good-1c6d1bd29a548eb10008406db3854da754bc6c05.tar.gz |
directsoundsink: fix acceptcaps check
Diffstat (limited to 'sys')
-rw-r--r-- | sys/directsound/gstdirectsoundsink.c | 12 |
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: |