summaryrefslogtreecommitdiffstats
path: root/ext/flac/gstflacenc.c
diff options
context:
space:
mode:
authorIain Holmes <iain@prettypeople.org>2004-08-17 12:38:33 +0000
committerIain Holmes <iain@prettypeople.org>2004-08-17 12:38:33 +0000
commitbe4c8f8df20c96f96f2ebb845ab66becab9d44b5 (patch)
tree2d49a09ab9592b7f0afdcb710c669a12b053dcb6 /ext/flac/gstflacenc.c
parent8b999a970b29208266a161aa34a613028ba6f623 (diff)
Make flacenc work with mono streams by only setting the mid_side and loose_mid_side when its a stereo stream
Original commit message from CVS: Make flacenc work with mono streams by only setting the mid_side and loose_mid_side when its a stereo stream
Diffstat (limited to 'ext/flac/gstflacenc.c')
-rw-r--r--ext/flac/gstflacenc.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/ext/flac/gstflacenc.c b/ext/flac/gstflacenc.c
index 1d8ac35d..df02799c 100644
--- a/ext/flac/gstflacenc.c
+++ b/ext/flac/gstflacenc.c
@@ -364,6 +364,7 @@ gst_flacenc_sinkconnect (GstPad * pad, const GstCaps * caps)
caps = gst_caps_new_simple ("audio/x-flac",
"channels", G_TYPE_INT, flacenc->channels,
"rate", G_TYPE_INT, flacenc->sample_rate, NULL);
+
ret = gst_pad_try_set_caps (flacenc->srcpad, caps);
if (ret <= 0) {
return ret;
@@ -398,8 +399,11 @@ gst_flacenc_update_quality (FlacEnc * flacenc, gint quality)
g_object_freeze_notify (G_OBJECT (flacenc));
- DO_UPDATE (do_mid_side_stereo, mid_side, "mid_side_stereo");
- DO_UPDATE (loose_mid_side_stereo, loose_mid_side, "loose_mid_side");
+ if (flacenc->channels == 2) {
+ DO_UPDATE (do_mid_side_stereo, mid_side, "mid_side_stereo");
+ DO_UPDATE (loose_mid_side_stereo, loose_mid_side, "loose_mid_side");
+ }
+
DO_UPDATE (blocksize, blocksize, "blocksize");
DO_UPDATE (max_lpc_order, max_lpc_order, "max_lpc_order");
DO_UPDATE (qlp_coeff_precision, qlp_coeff_precision, "qlp_coeff_precision");