mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-05 22:12:34 +00:00
twolame: hook up to build system
https://bugzilla.gnome.org/show_bug.cgi?id=774252
This commit is contained in:
parent
f3f9e13c12
commit
02af0e857b
13 changed files with 234 additions and 1 deletions
|
@ -164,6 +164,12 @@ DebianPackage: libtag1-dev
|
|||
Plugins: taglib (id3v2mux)
|
||||
URL: http://taglib.github.io/
|
||||
|
||||
Package: twolame
|
||||
Version: >= 0.3.13
|
||||
DebianPackage: libtwolame-dev
|
||||
Plugins: twolame (twolamemp2enc)
|
||||
URL: http://www.twolame.org
|
||||
|
||||
Package: zlib
|
||||
DebianPackage: zlib1g-dev
|
||||
Plugins: isomp4 (qtdemux), matroska (matroskademux)
|
||||
|
|
14
configure.ac
14
configure.ac
|
@ -810,6 +810,18 @@ AG_GST_CHECK_FEATURE(TAGLIB, [taglib tagging library], taglib, [
|
|||
fi
|
||||
])
|
||||
|
||||
dnl *** twolame ***
|
||||
translit(dnm, m, l) AM_CONDITIONAL(USE_TWOLAME, true)
|
||||
AG_GST_CHECK_FEATURE(TWOLAME, [twolame], twolame, [
|
||||
PKG_CHECK_MODULES(TWOLAME, twolame >= 0.3.10, [
|
||||
HAVE_TWOLAME="yes"], [
|
||||
HAVE_TWOLAME="no"
|
||||
])
|
||||
AC_SUBST(TWOLAME_CFLAGS)
|
||||
AC_SUBST(TWOLAME_LIBS)
|
||||
])
|
||||
|
||||
|
||||
dnl *** vpx ***
|
||||
translit(dnm, m, l) AM_CONDITIONAL(USE_VPX, vpx)
|
||||
AG_GST_CHECK_FEATURE(VPX, [VPX decoder], vpx, [
|
||||
|
@ -913,6 +925,7 @@ AM_CONDITIONAL(USE_SHOUT2, false)
|
|||
AM_CONDITIONAL(USE_SOUP, false)
|
||||
AM_CONDITIONAL(USE_SPEEX, false)
|
||||
AM_CONDITIONAL(USE_TAGLIB, false)
|
||||
AM_CONDITIONAL(USE_TWOLAME, false)
|
||||
AM_CONDITIONAL(USE_VPX, false)
|
||||
AM_CONDITIONAL(USE_WAVEFORM, false)
|
||||
AM_CONDITIONAL(USE_WAVPACK, false)
|
||||
|
@ -1052,6 +1065,7 @@ ext/shout2/Makefile
|
|||
ext/soup/Makefile
|
||||
ext/speex/Makefile
|
||||
ext/taglib/Makefile
|
||||
ext/twolame/Makefile
|
||||
ext/vpx/Makefile
|
||||
ext/wavpack/Makefile
|
||||
sys/Makefile
|
||||
|
|
|
@ -74,6 +74,7 @@ EXTRA_HFILES = \
|
|||
$(top_srcdir)/ext/soup/gstsouphttpsrc.h \
|
||||
$(top_srcdir)/ext/taglib/gstapev2mux.h \
|
||||
$(top_srcdir)/ext/taglib/gstid3v2mux.h \
|
||||
$(top_srcdir)/ext/twolame/gsttwolamemp2enc.h \
|
||||
$(top_srcdir)/ext/pulse/pulsesink.h \
|
||||
$(top_srcdir)/ext/pulse/pulsesrc.h \
|
||||
$(top_srcdir)/ext/speex/gstspeexenc.h \
|
||||
|
|
|
@ -263,6 +263,7 @@
|
|||
<xi:include href="xml/element-streaktv.xml" />
|
||||
<xi:include href="xml/element-taginject.xml" />
|
||||
<xi:include href="xml/element-testsink.xml" />
|
||||
<xi:include href="xml/element-twolamemp2enc.xml" />
|
||||
<xi:include href="xml/element-udpsink.xml" />
|
||||
<xi:include href="xml/element-udpsrc.xml" />
|
||||
<xi:include href="xml/element-v4l2radio.xml" />
|
||||
|
@ -353,6 +354,7 @@
|
|||
<xi:include href="xml/plugin-spectrum.xml" />
|
||||
<xi:include href="xml/plugin-speex.xml" />
|
||||
<xi:include href="xml/plugin-taglib.xml" />
|
||||
<xi:include href="xml/plugin-twolame.xml" />
|
||||
<xi:include href="xml/plugin-udp.xml" />
|
||||
<xi:include href="xml/plugin-video4linux2.xml" />
|
||||
<xi:include href="xml/plugin-videobox.xml" />
|
||||
|
|
|
@ -3874,6 +3874,20 @@ GST_TYPE_TEST
|
|||
gst_test_get_type
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>element-twolamemp2enc</FILE>
|
||||
<TITLE>twolame</TITLE>
|
||||
GstTwoLame
|
||||
<SUBSECTION Standard>
|
||||
GstTwoLameClass
|
||||
GST_TWO_LAME
|
||||
GST_TWO_LAME_CLASS
|
||||
GST_IS_TWO_LAME
|
||||
GST_IS_TWO_LAME_CLASS
|
||||
GST_TYPE_TWO_LAME
|
||||
gst_two_lame_get_type
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>element-udpsink</FILE>
|
||||
<TITLE>udpsink</TITLE>
|
||||
|
|
|
@ -24348,3 +24348,153 @@
|
|||
<DEFAULT>Quality</DEFAULT>
|
||||
</ARG>
|
||||
|
||||
<ARG>
|
||||
<NAME>GstTwoLame::ath-level</NAME>
|
||||
<TYPE>gfloat</TYPE>
|
||||
<RANGE></RANGE>
|
||||
<FLAGS>rw</FLAGS>
|
||||
<NICK>ATH Level</NICK>
|
||||
<BLURB>ATH Level in dB.</BLURB>
|
||||
<DEFAULT>0</DEFAULT>
|
||||
</ARG>
|
||||
|
||||
<ARG>
|
||||
<NAME>GstTwoLame::bitrate</NAME>
|
||||
<TYPE>gint</TYPE>
|
||||
<RANGE>[8,384]</RANGE>
|
||||
<FLAGS>rw</FLAGS>
|
||||
<NICK>Bitrate (kb/s)</NICK>
|
||||
<BLURB>Bitrate in kbit/sec (8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, 192, 224, 256, 320, 384).</BLURB>
|
||||
<DEFAULT>192</DEFAULT>
|
||||
</ARG>
|
||||
|
||||
<ARG>
|
||||
<NAME>GstTwoLame::copyright</NAME>
|
||||
<TYPE>gboolean</TYPE>
|
||||
<RANGE></RANGE>
|
||||
<FLAGS>rw</FLAGS>
|
||||
<NICK>Copyright</NICK>
|
||||
<BLURB>Mark as copyright.</BLURB>
|
||||
<DEFAULT>FALSE</DEFAULT>
|
||||
</ARG>
|
||||
|
||||
<ARG>
|
||||
<NAME>GstTwoLame::emphasis</NAME>
|
||||
<TYPE>GstTwoLameEmphasis</TYPE>
|
||||
<RANGE></RANGE>
|
||||
<FLAGS>rw</FLAGS>
|
||||
<NICK>Emphasis</NICK>
|
||||
<BLURB>Pre-emphasis to apply to the decoded audio.</BLURB>
|
||||
<DEFAULT>No emphasis</DEFAULT>
|
||||
</ARG>
|
||||
|
||||
<ARG>
|
||||
<NAME>GstTwoLame::energy-level-extension</NAME>
|
||||
<TYPE>gboolean</TYPE>
|
||||
<RANGE></RANGE>
|
||||
<FLAGS>rw</FLAGS>
|
||||
<NICK>Energy Level Extension</NICK>
|
||||
<BLURB>Write peak PCM level to each frame.</BLURB>
|
||||
<DEFAULT>FALSE</DEFAULT>
|
||||
</ARG>
|
||||
|
||||
<ARG>
|
||||
<NAME>GstTwoLame::error-protection</NAME>
|
||||
<TYPE>gboolean</TYPE>
|
||||
<RANGE></RANGE>
|
||||
<FLAGS>rw</FLAGS>
|
||||
<NICK>Error protection</NICK>
|
||||
<BLURB>Adds checksum to every frame.</BLURB>
|
||||
<DEFAULT>FALSE</DEFAULT>
|
||||
</ARG>
|
||||
|
||||
<ARG>
|
||||
<NAME>GstTwoLame::mode</NAME>
|
||||
<TYPE>GstTwoLameMode</TYPE>
|
||||
<RANGE></RANGE>
|
||||
<FLAGS>rw</FLAGS>
|
||||
<NICK>Mode</NICK>
|
||||
<BLURB>Encoding mode.</BLURB>
|
||||
<DEFAULT>Joint Stereo</DEFAULT>
|
||||
</ARG>
|
||||
|
||||
<ARG>
|
||||
<NAME>GstTwoLame::original</NAME>
|
||||
<TYPE>gboolean</TYPE>
|
||||
<RANGE></RANGE>
|
||||
<FLAGS>rw</FLAGS>
|
||||
<NICK>Original</NICK>
|
||||
<BLURB>Mark as original.</BLURB>
|
||||
<DEFAULT>TRUE</DEFAULT>
|
||||
</ARG>
|
||||
|
||||
<ARG>
|
||||
<NAME>GstTwoLame::padding</NAME>
|
||||
<TYPE>GstTwoLamePadding</TYPE>
|
||||
<RANGE></RANGE>
|
||||
<FLAGS>rw</FLAGS>
|
||||
<NICK>Padding</NICK>
|
||||
<BLURB>Padding type.</BLURB>
|
||||
<DEFAULT>No Padding</DEFAULT>
|
||||
</ARG>
|
||||
|
||||
<ARG>
|
||||
<NAME>GstTwoLame::psymodel</NAME>
|
||||
<TYPE>gint</TYPE>
|
||||
<RANGE>[G_MAXULONG,4]</RANGE>
|
||||
<FLAGS>rw</FLAGS>
|
||||
<NICK>Psychoacoustic Model</NICK>
|
||||
<BLURB>Psychoacoustic model used to encode the audio.</BLURB>
|
||||
<DEFAULT>3</DEFAULT>
|
||||
</ARG>
|
||||
|
||||
<ARG>
|
||||
<NAME>GstTwoLame::quick-mode</NAME>
|
||||
<TYPE>gboolean</TYPE>
|
||||
<RANGE></RANGE>
|
||||
<FLAGS>rw</FLAGS>
|
||||
<NICK>Quick mode</NICK>
|
||||
<BLURB>Calculate Psymodel every frames.</BLURB>
|
||||
<DEFAULT>FALSE</DEFAULT>
|
||||
</ARG>
|
||||
|
||||
<ARG>
|
||||
<NAME>GstTwoLame::quick-mode-count</NAME>
|
||||
<TYPE>gint</TYPE>
|
||||
<RANGE>>= 0</RANGE>
|
||||
<FLAGS>rw</FLAGS>
|
||||
<NICK>Quick mode count</NICK>
|
||||
<BLURB>Calculate Psymodel every n frames.</BLURB>
|
||||
<DEFAULT>10</DEFAULT>
|
||||
</ARG>
|
||||
|
||||
<ARG>
|
||||
<NAME>GstTwoLame::vbr</NAME>
|
||||
<TYPE>gboolean</TYPE>
|
||||
<RANGE></RANGE>
|
||||
<FLAGS>rw</FLAGS>
|
||||
<NICK>VBR</NICK>
|
||||
<BLURB>Enable variable bitrate mode.</BLURB>
|
||||
<DEFAULT>FALSE</DEFAULT>
|
||||
</ARG>
|
||||
|
||||
<ARG>
|
||||
<NAME>GstTwoLame::vbr-level</NAME>
|
||||
<TYPE>gfloat</TYPE>
|
||||
<RANGE>[-10,10]</RANGE>
|
||||
<FLAGS>rw</FLAGS>
|
||||
<NICK>VBR Level</NICK>
|
||||
<BLURB>VBR Level.</BLURB>
|
||||
<DEFAULT>5</DEFAULT>
|
||||
</ARG>
|
||||
|
||||
<ARG>
|
||||
<NAME>GstTwoLame::vbr-max-bitrate</NAME>
|
||||
<TYPE>gint</TYPE>
|
||||
<RANGE>[0,384]</RANGE>
|
||||
<FLAGS>rw</FLAGS>
|
||||
<NICK>VBR max bitrate</NICK>
|
||||
<BLURB>Specify maximum VBR bitrate (0=off, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, 192, 224, 256, 320, 384).</BLURB>
|
||||
<DEFAULT>0</DEFAULT>
|
||||
</ARG>
|
||||
|
||||
|
|
|
@ -36,6 +36,7 @@ GObject
|
|||
GstLameMP3Enc
|
||||
GstMuLawEnc
|
||||
GstSpeexEnc
|
||||
GstTwoLame
|
||||
GstWavpackEnc
|
||||
GstAudioVisualizer
|
||||
GstGoom
|
||||
|
|
|
@ -88,6 +88,7 @@ GstSwitchSink GstChildProxy
|
|||
GstSwitchSrc GstChildProxy
|
||||
GstTagLibMux GstTagSetter
|
||||
GstTagMux GstTagSetter
|
||||
GstTwoLame GstPreset
|
||||
GstUDPSink GstURIHandler
|
||||
GstUDPSrc GstURIHandler
|
||||
GstV4l2Radio GstURIHandler GstImplementsInterface GstTuner GstPropertyProbe
|
||||
|
|
34
docs/plugins/inspect/plugin-twolame.xml
Normal file
34
docs/plugins/inspect/plugin-twolame.xml
Normal file
|
@ -0,0 +1,34 @@
|
|||
<plugin>
|
||||
<name>twolame</name>
|
||||
<description>Encode MP2s with TwoLAME</description>
|
||||
<filename>../../ext/twolame/.libs/libgsttwolame.so</filename>
|
||||
<basename>libgsttwolame.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>twolamemp2enc</name>
|
||||
<longname>TwoLAME mp2 encoder</longname>
|
||||
<class>Codec/Encoder/Audio</class>
|
||||
<description>High-quality free MP2 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){ F32LE, S16LE }, layout=(string)interleaved, rate=(int){ 16000, 22050, 24000, 32000, 44100, 48000 }, channels=(int)1; audio/x-raw, format=(string){ F32LE, S16LE }, layout=(string)interleaved, rate=(int){ 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)2, rate=(int){ 16000, 22050, 24000, 32000, 44100, 48000 }, channels=(int)[ 1, 2 ]</details>
|
||||
</caps>
|
||||
</pads>
|
||||
</element>
|
||||
</elements>
|
||||
</plugin>
|
|
@ -101,6 +101,12 @@ else
|
|||
TAGLIB_DIR =
|
||||
endif
|
||||
|
||||
if USE_TWOLAME
|
||||
TWOLAME_DIR = twolame
|
||||
else
|
||||
TWOLAME_DIR =
|
||||
endif
|
||||
|
||||
if USE_VPX
|
||||
VPX_DIR=vpx
|
||||
else
|
||||
|
@ -132,6 +138,7 @@ SUBDIRS = \
|
|||
$(SOUP_DIR) \
|
||||
$(SPEEX_DIR) \
|
||||
$(TAGLIB_DIR) \
|
||||
$(TWOLAME_DIR) \
|
||||
$(VPX_DIR) \
|
||||
$(WAVPACK_DIR)
|
||||
|
||||
|
@ -153,6 +160,7 @@ DIST_SUBDIRS = \
|
|||
soup \
|
||||
speex \
|
||||
taglib \
|
||||
twolame \
|
||||
vpx \
|
||||
wavpack
|
||||
|
||||
|
|
|
@ -23,5 +23,6 @@ if cc.get_id() == 'msvc'
|
|||
else
|
||||
subdir('taglib')
|
||||
endif
|
||||
subdir('twolame')
|
||||
subdir('vpx')
|
||||
subdir('wavpack')
|
||||
|
|
|
@ -3,7 +3,7 @@ twolame_dep = dependency('twolame', version : '>= 0.3.10', required : false)
|
|||
if twolame_dep.found()
|
||||
twolame = library('gsttwolame',
|
||||
['gsttwolamemp2enc.c'],
|
||||
c_args : ugly_args,
|
||||
c_args : gst_plugins_good_args,
|
||||
include_directories : [configinc, libsinc],
|
||||
dependencies : [gstaudio_dep, twolame_dep],
|
||||
install : true,
|
||||
|
|
|
@ -7,6 +7,7 @@ ext/libpng/gstpngdec.c
|
|||
ext/pulse/pulsesink.c
|
||||
ext/shout2/gstshout2.c
|
||||
ext/soup/gstsouphttpsrc.c
|
||||
ext/twolame/gsttwolamemp2enc.c
|
||||
gst/audioparsers/gstwavpackparse.c
|
||||
gst/avi/gstavidemux.c
|
||||
gst/avi/gstavimux.c
|
||||
|
|
Loading…
Reference in a new issue