Fix enum nicks; only emit no-more-pads once; add support for very fast encoding mode in upcoming 4.40.0 release (#369...

Original commit message from CVS:
Patch by: Sebastian Dröge <slomo at circular-chaos.org>
* configure.ac:
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_mode_get_type),
(gst_wavpack_enc_correction_mode_get_type),
(gst_wavpack_enc_joint_stereo_mode_get_type),
(gst_wavpack_enc_init), (gst_wavpack_enc_set_wp_config):
Fix enum nicks; only emit no-more-pads once; add support for very
fast encoding mode in upcoming 4.40.0 release (#369539).
This commit is contained in:
Sebastian Dröge 2006-11-02 20:13:26 +00:00 committed by Tim-Philipp Müller
parent 017a8c8527
commit b261441c06
3 changed files with 48 additions and 18 deletions

View file

@ -1,3 +1,15 @@
2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
Patch by: Sebastian Dröge <slomo at circular-chaos.org>
* configure.ac:
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_mode_get_type),
(gst_wavpack_enc_correction_mode_get_type),
(gst_wavpack_enc_joint_stereo_mode_get_type),
(gst_wavpack_enc_init), (gst_wavpack_enc_set_wp_config):
Fix enum nicks; only emit no-more-pads once; add support for very
fast encoding mode in upcoming 4.40.0 release (#369539).
2006-11-01 Tim-Philipp Müller <tim at centricular dot net> 2006-11-01 Tim-Philipp Müller <tim at centricular dot net>
Patch by: Sergey Scobich <sergey dot scobich at gmail com> Patch by: Sergey Scobich <sergey dot scobich at gmail com>

View file

@ -691,7 +691,7 @@ int main () { return 0; }
dnl *** wavpack *** dnl *** wavpack ***
translit(dnm, m, l) AM_CONDITIONAL(USE_WAVPACK, true) translit(dnm, m, l) AM_CONDITIONAL(USE_WAVPACK, true)
GST_CHECK_FEATURE(WAVPACK, [wavpack plug-in], wavpack, [ GST_CHECK_FEATURE(WAVPACK, [wavpack plug-in], wavpack, [
PKG_CHECK_MODULES(WAVPACK, wavpack >= 4.33, HAVE_WAVPACK=yes, [ PKG_CHECK_MODULES(WAVPACK, wavpack >= 4.40.0, HAVE_WAVPACK=yes, [
PKG_CHECK_MODULES(WAVPACK, wavpack >= 4.20, [ PKG_CHECK_MODULES(WAVPACK, wavpack >= 4.20, [
HAVE_WAVPACK=yes HAVE_WAVPACK=yes
AC_DEFINE(WAVPACK_OLD_API, 1, [old wavpack API]) AC_DEFINE(WAVPACK_OLD_API, 1, [old wavpack API])

View file

@ -148,7 +148,7 @@ static GstStaticPadTemplate wvcsrc_factory = GST_STATIC_PAD_TEMPLATE ("wvcsrc",
GST_STATIC_CAPS ("audio/x-wavpack-correction, " "framed = (boolean) TRUE") GST_STATIC_CAPS ("audio/x-wavpack-correction, " "framed = (boolean) TRUE")
); );
#define DEFAULT_MODE 1 #define DEFAULT_MODE 2
#define GST_TYPE_WAVPACK_ENC_MODE (gst_wavpack_enc_mode_get_type ()) #define GST_TYPE_WAVPACK_ENC_MODE (gst_wavpack_enc_mode_get_type ())
static GType static GType
gst_wavpack_enc_mode_get_type (void) gst_wavpack_enc_mode_get_type (void)
@ -157,9 +157,17 @@ gst_wavpack_enc_mode_get_type (void)
if (qtype == 0) { if (qtype == 0) {
static const GEnumValue values[] = { static const GEnumValue values[] = {
{0, "Fast Compression", "0"}, #if 0
{1, "Default", "1"}, /* Very Fast Compression is not supported yet, but will be supported
{2, "High Compression", "2"}, * in future wavpack versions */
{0, "Very Fast Compression", "veryfast"},
#endif
{1, "Fast Compression", "fast"},
{2, "Normal Compression", "normal"},
{3, "High Compression", "high"},
#ifndef WAVPACK_OLD_API
{4, "Very High Compression", "veryhigh"},
#endif
{0, NULL, NULL} {0, NULL, NULL}
}; };
@ -177,9 +185,9 @@ gst_wavpack_enc_correction_mode_get_type (void)
if (qtype == 0) { if (qtype == 0) {
static const GEnumValue values[] = { static const GEnumValue values[] = {
{0, "Create no correction file (default)", "0"}, {0, "Create no correction file", "off"},
{1, "Create correction file", "1"}, {1, "Create correction file", "on"},
{2, "Create optimized correction file", "2"}, {2, "Create optimized correction file", "optimized"},
{0, NULL, NULL} {0, NULL, NULL}
}; };
@ -197,9 +205,9 @@ gst_wavpack_enc_joint_stereo_mode_get_type (void)
if (qtype == 0) { if (qtype == 0) {
static const GEnumValue values[] = { static const GEnumValue values[] = {
{0, "auto (default)", "0"}, {0, "auto", "auto"},
{1, "left/right", "1"}, {1, "left/right", "leftright"},
{2, "mid/side", "2"}, {2, "mid/side", "midside"},
{0, NULL, NULL} {0, NULL, NULL}
}; };
@ -320,12 +328,12 @@ gst_wavpack_enc_init (GstWavpackEnc * enc, GstWavpackEncClass * gclass)
enc->wvc_id->wavpack_enc = enc; enc->wvc_id->wavpack_enc = enc;
/* set default values of params */ /* set default values of params */
enc->mode = 1; enc->mode = DEFAULT_MODE;
enc->bitrate = 0.0; enc->bitrate = 0.0;
enc->correction_mode = 0; enc->correction_mode = DEFAULT_CORRECTION_MODE;
enc->md5 = FALSE; enc->md5 = FALSE;
enc->extra_processing = FALSE; enc->extra_processing = FALSE;
enc->joint_stereo_mode = 0; enc->joint_stereo_mode = DEFAULT_JS_MODE;
} }
static void static void
@ -402,14 +410,26 @@ gst_wavpack_enc_set_wp_config (GstWavpackEnc * enc)
/* Encoding mode */ /* Encoding mode */
switch (enc->mode) { switch (enc->mode) {
#if 0
case 0: case 0:
enc->wp_config->flags |= CONFIG_VERY_FAST_FLAG;
enc->wp_config->flags |= CONFIG_FAST_FLAG; enc->wp_config->flags |= CONFIG_FAST_FLAG;
break; break;
case 1: /* default */ #endif
case 1:
enc->wp_config->flags |= CONFIG_FAST_FLAG;
break; break;
case 2: case 2: /* default */
break;
case 3:
enc->wp_config->flags |= CONFIG_HIGH_FLAG; enc->wp_config->flags |= CONFIG_HIGH_FLAG;
break; break;
#ifndef WAVPACK_OLD_API
case 4:
enc->wp_config->flags |= CONFIG_HIGH_FLAG;
enc->wp_config->flags |= CONFIG_VERY_HIGH_FLAG;
break;
#endif
} }
/* Bitrate, enables lossy mode */ /* Bitrate, enables lossy mode */
@ -433,8 +453,6 @@ gst_wavpack_enc_set_wp_config (GstWavpackEnc * enc)
GstCaps *caps = gst_caps_new_simple ("audio/x-wavpack-correction", GstCaps *caps = gst_caps_new_simple ("audio/x-wavpack-correction",
"framed", G_TYPE_BOOLEAN, TRUE, NULL); "framed", G_TYPE_BOOLEAN, TRUE, NULL);
gst_element_no_more_pads (GST_ELEMENT (enc));
GST_DEBUG_OBJECT (enc, "Adding correction pad with caps %" GST_DEBUG_OBJECT (enc, "Adding correction pad with caps %"
GST_PTR_FORMAT, caps); GST_PTR_FORMAT, caps);
if (!gst_pad_set_caps (enc->wvcsrcpad, caps)) { if (!gst_pad_set_caps (enc->wvcsrcpad, caps)) {