Plugins: dv (dvdec)
URL: http://libdv.sourceforge.net/
+Package: liblame
+Version: >= 3.98
+DebianPackage: libmp3lame-dev
+Plugins: lame (lamemp3enc)
+URL: http://www.mp3dev.org/mp3/
+
Package: libmpg123
Version: >= 1.3
DebianPackage: libpng12-dev
AC_SUBST(JPEG_LIBS)
])
+dnl *** lame ***
+translit(dnm, m, l) AM_CONDITIONAL(USE_LAME, true)
+AG_GST_CHECK_FEATURE(LAME, [lame mp3 encoder library], lame, [
+ AG_GST_CHECK_LIBHEADER(LAME, mp3lame, lame_init, $LIBM, lame/lame.h,
+ [
+ HAVE_LAME="yes"
+ LAME_LIBS="-lmp3lame $LIBM"
+ dnl is lame presets available
+ LAME_CFLAGS=""
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <lame/lame.h>]], [[ int preset = MEDIUM ]])],[LAME_CFLAGS="-DGSTLAME_PRESET"],[LAME_CFLAGS=""
+ ])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <lame/lame.h>]], [[
+ void *ptr = &lame_set_VBR_quality
+ ]])],[LAME_CFLAGS="$LAME_CFLAGS -DHAVE_LAME_SET_VBR_QUALITY"],[LAME_CFLAGS="$LAME_CFLAGS"
+ ])
+ AC_SUBST(LAME_CFLAGS)
+ AC_SUBST(LAME_LIBS)
+ ])
+])
+
dnl *** libcaca ***
translit(dnm, m, l) AM_CONDITIONAL(USE_LIBCACA, true)
AG_GST_CHECK_FEATURE(LIBCACA, [libcaca coloured ASCII art], cacasink, [
AM_CONDITIONAL(USE_GDK_PIXBUF, false)
AM_CONDITIONAL(USE_JACK, false)
AM_CONDITIONAL(USE_JPEG, false)
+AM_CONDITIONAL(USE_LAME, false)
AM_CONDITIONAL(USE_LIBCACA, false)
AM_CONDITIONAL(USE_LIBDV, false)
AM_CONDITIONAL(USE_LIBIEC61883, false)
ext/gdk_pixbuf/Makefile
ext/jack/Makefile
ext/jpeg/Makefile
+ext/lame/Makefile
ext/libcaca/Makefile
ext/libpng/Makefile
ext/mpg123/Makefile
$(top_srcdir)/ext/jack/gstjackaudiosink.h \
$(top_srcdir)/ext/jpeg/gstjpegdec.h \
$(top_srcdir)/ext/jpeg/gstjpegenc.h \
+ $(top_srcdir)/ext/lame/gstlamemp3enc.h \
$(top_srcdir)/ext/libcaca/gstcacasink.h \
$(top_srcdir)/ext/libpng/gstpngdec.h \
$(top_srcdir)/ext/libpng/gstpngenc.h \
<xi:include href="xml/element-jackaudiosrc.xml" />
<xi:include href="xml/element-jpegdec.xml" />
<xi:include href="xml/element-jpegenc.xml" />
+ <xi:include href="xml/element-lamemp3enc.xml" />
<xi:include href="xml/element-level-example.xml" />
<xi:include href="xml/element-level.xml" />
<xi:include href="xml/element-matroskademux.xml" />
<xi:include href="xml/plugin-isomp4.xml" />
<xi:include href="xml/plugin-jack.xml" />
<xi:include href="xml/plugin-jpeg.xml" />
+ <xi:include href="xml/plugin-lame.xml" />
<xi:include href="xml/plugin-level.xml" />
<xi:include href="xml/plugin-matroska.xml" />
<xi:include href="xml/plugin-monoscope.xml" />
</SECTION>
<SECTION>
+<FILE>element-lamemp3enc</FILE>
+<TITLE>lamemp3enc</TITLE>
+GstLameMP3Enc
+<SUBSECTION Standard>
+GstLameMP3EncClass
+GST_LAMEMP3ENC
+GST_LAMEMP3ENC_CLASS
+GST_IS_LAMEMP3ENC
+GST_IS_LAMEMP3ENC_CLASS
+GST_TYPE_LAMEMP3ENC
+gst_lamemp3enc_get_type
+gst_lamemp3enc_register
+</SECTION>
+
+<SECTION>
<FILE>element-level</FILE>
<TITLE>level</TITLE>
GstLevel
<DEFAULT>NULL</DEFAULT>
</ARG>
+<ARG>
+<NAME>GstLameMP3Enc::bitrate</NAME>
+<TYPE>gint</TYPE>
+<RANGE>[8,320]</RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Bitrate (kb/s)</NICK>
+<BLURB>Bitrate in kbit/sec (Only valid if target is bitrate, for CBR one of 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256 or 320).</BLURB>
+<DEFAULT>128</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstLameMP3Enc::cbr</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>CBR</NICK>
+<BLURB>Enforce constant bitrate encoding (Only valid if target is bitrate).</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstLameMP3Enc::encoding-engine-quality</NAME>
+<TYPE>GstLameMP3EncEncodingEngineQuality</TYPE>
+<RANGE></RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Encoding Engine Quality</NICK>
+<BLURB>Quality/speed of the encoding engine, this does not affect the bitrate!.</BLURB>
+<DEFAULT>Standard</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstLameMP3Enc::mono</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Mono</NICK>
+<BLURB>Enforce mono encoding.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstLameMP3Enc::quality</NAME>
+<TYPE>gfloat</TYPE>
+<RANGE>[0,9.999]</RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Quality</NICK>
+<BLURB>VBR Quality from 0 to 10, 0 being the best (Only valid if target is quality).</BLURB>
+<DEFAULT>4</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstLameMP3Enc::target</NAME>
+<TYPE>GstLameMP3EncTarget</TYPE>
+<RANGE></RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Target</NICK>
+<BLURB>Optimize for quality or bitrate.</BLURB>
+<DEFAULT>Quality</DEFAULT>
+</ARG>
+
GstAudioEncoder
GstALawEnc
GstFlacEnc
+ GstLameMP3Enc
GstMuLawEnc
GstSpeexEnc
GstWavpackEnc
GstIirEqualizerNBands GstChildProxy
GstIirEqualizerNBands GstChildProxy GstPreset
GstJpegEnc GstPreset
+GstLameMP3Enc GstPreset
GstMJ2Mux GstTagSetter GstTagXmpWriter
GstMJ2Mux GstTagSetter GstTagXmpWriter GstPreset
GstMP4Mux GstTagSetter GstTagXmpWriter
--- /dev/null
+<plugin>
+ <name>lame</name>
+ <description>Encode MP3s with LAME</description>
+ <filename>../../ext/lame/.libs/libgstlame.so</filename>
+ <basename>libgstlame.so</basename>
+ <version>1.13.0.1</version>
+ <license>LGPL</license>
+ <source>gst-plugins-good</source>
+ <package>GStreamer Good Plug-ins git</package>
+ <origin>Unknown package origin</origin>
+ <elements>
+ <element>
+ <name>lamemp3enc</name>
+ <longname>L.A.M.E. mp3 encoder</longname>
+ <class>Codec/Encoder/Audio</class>
+ <description>High-quality free MP3 encoder</description>
+ <author>Sebastian Dröge <sebastian.droege@collabora.co.uk></author>
+ <pads>
+ <caps>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int){ 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000 }, channels=(int)1; audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int){ 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000 }, channels=(int)2, channel-mask=(bitmask)0x0000000000000003</details>
+ </caps>
+ <caps>
+ <name>src</name>
+ <direction>source</direction>
+ <presence>always</presence>
+ <details>audio/mpeg, mpegversion=(int)1, layer=(int)3, rate=(int){ 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000 }, channels=(int)[ 1, 2 ]</details>
+ </caps>
+ </pads>
+ </element>
+ </elements>
+</plugin>
\ No newline at end of file
JPEG_DIR =
endif
+if USE_LAME
+LAME_DIR = lame
+else
+LAME_DIR =
+endif
+
if USE_LIBCACA
LIBCACA_DIR = libcaca
else
$(GDK_PIXBUF_DIR) \
$(JACK_DIR) \
$(JPEG_DIR) \
+ $(LAME_DIR) \
$(LIBCACA_DIR) \
$(LIBDV_DIR) \
$(LIBMNG_DIR) \
gdk_pixbuf \
jack \
jpeg \
+ lame \
libcaca \
libpng \
mpg123 \
libgstlame_la_SOURCES = gstlamemp3enc.c plugin.c
libgstlame_la_CFLAGS = \
$(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS) $(LAME_CFLAGS)
-libgstlame_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) -lgstaudio-$(GST_API_VERSION) \
+libgstlame_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_API_VERSION) \
$(GST_BASE_LIBS) $(GST_LIBS) $(LAME_LIBS)
libgstlame_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
endif
lame = library('gstlame',
['gstlamemp3enc.c', 'plugin.c'],
- c_args : ugly_args + lame_extra_c_args,
+ c_args : gst_plugins_good_args + lame_extra_c_args,
include_directories : [configinc, libsinc],
dependencies : [gstaudio_dep, lame_dep],
install : true,
subdir('gdk_pixbuf')
subdir('jack')
subdir('jpeg')
+subdir('lame')
subdir('libcaca')
# FIXME: dv plugin fails to link with msvc, wants pthread.lib
if cc.get_id() != 'msvc'
ext/jack/gstjackaudiosink.c
ext/jack/gstjackaudiosrc.c
ext/jpeg/gstjpegdec.c
+ext/lame/gstlamemp3enc.c
ext/libpng/gstpngdec.c
ext/pulse/pulsesink.c
ext/shout2/gstshout2.c
check_jpeg =
endif
+if USE_LAME
+check_lame = pipelines/lame
+else
+check_lame =
+endif
+
if USE_PLUGIN_LEVEL
check_level = elements/level
else
$(check_imagefreeze) \
$(check_interleave) \
$(check_jpeg) \
+ $(check_lame) \
$(check_law) \
$(check_level) \
$(check_matroska) \
fun:gst_value_deserialize_double
}
+## lame
+
+{
+ <lame Conditional jump or move depends on uninitialised values>
+ Memcheck:Cond
+ fun:L3psycho_anal_vbr
+ fun:lame_encode_mp3_frame
+ ...
+ fun:lame_encode_flush
+ fun:gst_lamemp3enc_sink_event
+}
+
[ 'elements/vp8enc', not vpx_dep.found() or not have_vp8_encoder ],
[ 'elements/vp8dec', not vpx_dep.found() or not have_vp8_decoder ],
[ 'elements/vp9enc', not vpx_dep.found() or not have_vp9_encoder ],
+ [ 'pipelines/lame', not lame_dep.found() ],
[ 'pipelines/wavenc' ],
[ 'elements/wavpackdec', not wavpack_dep.found() ],
[ 'elements/wavpackenc', not wavpack_dep.found() ],