summaryrefslogtreecommitdiff
path: root/ext/voaacenc
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2011-05-27 10:32:26 +0200
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2011-05-27 10:32:26 +0200
commitb87ff1a1df4d26e5723e9e03209b0007ab551da4 (patch)
treea3b1e8a84a8377e82654b67ef0211bbb06d3e505 /ext/voaacenc
parente3eabb6e6a52bc362d955a9bfc80d9f95583d554 (diff)
downloadgstreamer-plugins-bad-b87ff1a1df4d26e5723e9e03209b0007ab551da4.tar.gz
voaacenc: The encoder library currently only supports 1 or 2 channels
Diffstat (limited to 'ext/voaacenc')
-rw-r--r--ext/voaacenc/gstvoaacenc.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/ext/voaacenc/gstvoaacenc.c b/ext/voaacenc/gstvoaacenc.c
index 4e5519032..0a19522c8 100644
--- a/ext/voaacenc/gstvoaacenc.c
+++ b/ext/voaacenc/gstvoaacenc.c
@@ -62,7 +62,7 @@ static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink",
"depth = (int) 16, "
"signed = (boolean) TRUE, "
"endianness = (int) BYTE_ORDER, "
- "rate = (int) [8000, 96000], " "channels = (int) [1, 6]")
+ "rate = (int) [8000, 96000], " "channels = (int) [1, 2]")
);
static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
@@ -71,7 +71,7 @@ static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
GST_STATIC_CAPS ("audio/mpeg, "
"mpegversion = (int) 4, "
"rate = (int) [8000, 96000], "
- "channels = (int) [1, 6], "
+ "channels = (int) [1, 2], "
"stream-format = (string) { adts, raw }, " "base-profile = (string) lc")
);
@@ -614,6 +614,8 @@ static gboolean
voaacenc_core_set_parameter (GstVoAacEnc * voaacenc)
{
AACENC_PARAM params = { 0 };
+ guint32 ret;
+
params.sampleRate = voaacenc->rate;
params.bitRate = voaacenc->bitrate;
params.nChannels = voaacenc->channels;
@@ -622,8 +624,12 @@ voaacenc_core_set_parameter (GstVoAacEnc * voaacenc)
} else {
params.adtsUsed = 0;
}
- if (voaacenc->codec_api.SetParam (voaacenc->handle, VO_PID_AAC_ENCPARAM,
- &params) != VO_ERR_NONE) {
+
+ ret =
+ voaacenc->codec_api.SetParam (voaacenc->handle, VO_PID_AAC_ENCPARAM,
+ &params);
+ if (ret != VO_ERR_NONE) {
+ GST_ERROR_OBJECT (voaacenc, "Failed to set encoder parameters");
return FALSE;
}
return TRUE;