mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-11 08:52:39 +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)
|
Plugins: taglib (id3v2mux)
|
||||||
URL: http://taglib.github.io/
|
URL: http://taglib.github.io/
|
||||||
|
|
||||||
|
Package: twolame
|
||||||
|
Version: >= 0.3.13
|
||||||
|
DebianPackage: libtwolame-dev
|
||||||
|
Plugins: twolame (twolamemp2enc)
|
||||||
|
URL: http://www.twolame.org
|
||||||
|
|
||||||
Package: zlib
|
Package: zlib
|
||||||
DebianPackage: zlib1g-dev
|
DebianPackage: zlib1g-dev
|
||||||
Plugins: isomp4 (qtdemux), matroska (matroskademux)
|
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
|
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 ***
|
dnl *** vpx ***
|
||||||
translit(dnm, m, l) AM_CONDITIONAL(USE_VPX, vpx)
|
translit(dnm, m, l) AM_CONDITIONAL(USE_VPX, vpx)
|
||||||
AG_GST_CHECK_FEATURE(VPX, [VPX decoder], 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_SOUP, false)
|
||||||
AM_CONDITIONAL(USE_SPEEX, false)
|
AM_CONDITIONAL(USE_SPEEX, false)
|
||||||
AM_CONDITIONAL(USE_TAGLIB, false)
|
AM_CONDITIONAL(USE_TAGLIB, false)
|
||||||
|
AM_CONDITIONAL(USE_TWOLAME, false)
|
||||||
AM_CONDITIONAL(USE_VPX, false)
|
AM_CONDITIONAL(USE_VPX, false)
|
||||||
AM_CONDITIONAL(USE_WAVEFORM, false)
|
AM_CONDITIONAL(USE_WAVEFORM, false)
|
||||||
AM_CONDITIONAL(USE_WAVPACK, false)
|
AM_CONDITIONAL(USE_WAVPACK, false)
|
||||||
|
@ -1052,6 +1065,7 @@ ext/shout2/Makefile
|
||||||
ext/soup/Makefile
|
ext/soup/Makefile
|
||||||
ext/speex/Makefile
|
ext/speex/Makefile
|
||||||
ext/taglib/Makefile
|
ext/taglib/Makefile
|
||||||
|
ext/twolame/Makefile
|
||||||
ext/vpx/Makefile
|
ext/vpx/Makefile
|
||||||
ext/wavpack/Makefile
|
ext/wavpack/Makefile
|
||||||
sys/Makefile
|
sys/Makefile
|
||||||
|
|
|
@ -74,6 +74,7 @@ EXTRA_HFILES = \
|
||||||
$(top_srcdir)/ext/soup/gstsouphttpsrc.h \
|
$(top_srcdir)/ext/soup/gstsouphttpsrc.h \
|
||||||
$(top_srcdir)/ext/taglib/gstapev2mux.h \
|
$(top_srcdir)/ext/taglib/gstapev2mux.h \
|
||||||
$(top_srcdir)/ext/taglib/gstid3v2mux.h \
|
$(top_srcdir)/ext/taglib/gstid3v2mux.h \
|
||||||
|
$(top_srcdir)/ext/twolame/gsttwolamemp2enc.h \
|
||||||
$(top_srcdir)/ext/pulse/pulsesink.h \
|
$(top_srcdir)/ext/pulse/pulsesink.h \
|
||||||
$(top_srcdir)/ext/pulse/pulsesrc.h \
|
$(top_srcdir)/ext/pulse/pulsesrc.h \
|
||||||
$(top_srcdir)/ext/speex/gstspeexenc.h \
|
$(top_srcdir)/ext/speex/gstspeexenc.h \
|
||||||
|
|
|
@ -263,6 +263,7 @@
|
||||||
<xi:include href="xml/element-streaktv.xml" />
|
<xi:include href="xml/element-streaktv.xml" />
|
||||||
<xi:include href="xml/element-taginject.xml" />
|
<xi:include href="xml/element-taginject.xml" />
|
||||||
<xi:include href="xml/element-testsink.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-udpsink.xml" />
|
||||||
<xi:include href="xml/element-udpsrc.xml" />
|
<xi:include href="xml/element-udpsrc.xml" />
|
||||||
<xi:include href="xml/element-v4l2radio.xml" />
|
<xi:include href="xml/element-v4l2radio.xml" />
|
||||||
|
@ -353,6 +354,7 @@
|
||||||
<xi:include href="xml/plugin-spectrum.xml" />
|
<xi:include href="xml/plugin-spectrum.xml" />
|
||||||
<xi:include href="xml/plugin-speex.xml" />
|
<xi:include href="xml/plugin-speex.xml" />
|
||||||
<xi:include href="xml/plugin-taglib.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-udp.xml" />
|
||||||
<xi:include href="xml/plugin-video4linux2.xml" />
|
<xi:include href="xml/plugin-video4linux2.xml" />
|
||||||
<xi:include href="xml/plugin-videobox.xml" />
|
<xi:include href="xml/plugin-videobox.xml" />
|
||||||
|
|
|
@ -3874,6 +3874,20 @@ GST_TYPE_TEST
|
||||||
gst_test_get_type
|
gst_test_get_type
|
||||||
</SECTION>
|
</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>
|
<SECTION>
|
||||||
<FILE>element-udpsink</FILE>
|
<FILE>element-udpsink</FILE>
|
||||||
<TITLE>udpsink</TITLE>
|
<TITLE>udpsink</TITLE>
|
||||||
|
|
|
@ -24348,3 +24348,153 @@
|
||||||
<DEFAULT>Quality</DEFAULT>
|
<DEFAULT>Quality</DEFAULT>
|
||||||
</ARG>
|
</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
|
GstLameMP3Enc
|
||||||
GstMuLawEnc
|
GstMuLawEnc
|
||||||
GstSpeexEnc
|
GstSpeexEnc
|
||||||
|
GstTwoLame
|
||||||
GstWavpackEnc
|
GstWavpackEnc
|
||||||
GstAudioVisualizer
|
GstAudioVisualizer
|
||||||
GstGoom
|
GstGoom
|
||||||
|
|
|
@ -88,6 +88,7 @@ GstSwitchSink GstChildProxy
|
||||||
GstSwitchSrc GstChildProxy
|
GstSwitchSrc GstChildProxy
|
||||||
GstTagLibMux GstTagSetter
|
GstTagLibMux GstTagSetter
|
||||||
GstTagMux GstTagSetter
|
GstTagMux GstTagSetter
|
||||||
|
GstTwoLame GstPreset
|
||||||
GstUDPSink GstURIHandler
|
GstUDPSink GstURIHandler
|
||||||
GstUDPSrc GstURIHandler
|
GstUDPSrc GstURIHandler
|
||||||
GstV4l2Radio GstURIHandler GstImplementsInterface GstTuner GstPropertyProbe
|
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 =
|
TAGLIB_DIR =
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if USE_TWOLAME
|
||||||
|
TWOLAME_DIR = twolame
|
||||||
|
else
|
||||||
|
TWOLAME_DIR =
|
||||||
|
endif
|
||||||
|
|
||||||
if USE_VPX
|
if USE_VPX
|
||||||
VPX_DIR=vpx
|
VPX_DIR=vpx
|
||||||
else
|
else
|
||||||
|
@ -132,6 +138,7 @@ SUBDIRS = \
|
||||||
$(SOUP_DIR) \
|
$(SOUP_DIR) \
|
||||||
$(SPEEX_DIR) \
|
$(SPEEX_DIR) \
|
||||||
$(TAGLIB_DIR) \
|
$(TAGLIB_DIR) \
|
||||||
|
$(TWOLAME_DIR) \
|
||||||
$(VPX_DIR) \
|
$(VPX_DIR) \
|
||||||
$(WAVPACK_DIR)
|
$(WAVPACK_DIR)
|
||||||
|
|
||||||
|
@ -153,6 +160,7 @@ DIST_SUBDIRS = \
|
||||||
soup \
|
soup \
|
||||||
speex \
|
speex \
|
||||||
taglib \
|
taglib \
|
||||||
|
twolame \
|
||||||
vpx \
|
vpx \
|
||||||
wavpack
|
wavpack
|
||||||
|
|
||||||
|
|
|
@ -23,5 +23,6 @@ if cc.get_id() == 'msvc'
|
||||||
else
|
else
|
||||||
subdir('taglib')
|
subdir('taglib')
|
||||||
endif
|
endif
|
||||||
|
subdir('twolame')
|
||||||
subdir('vpx')
|
subdir('vpx')
|
||||||
subdir('wavpack')
|
subdir('wavpack')
|
||||||
|
|
|
@ -3,7 +3,7 @@ twolame_dep = dependency('twolame', version : '>= 0.3.10', required : false)
|
||||||
if twolame_dep.found()
|
if twolame_dep.found()
|
||||||
twolame = library('gsttwolame',
|
twolame = library('gsttwolame',
|
||||||
['gsttwolamemp2enc.c'],
|
['gsttwolamemp2enc.c'],
|
||||||
c_args : ugly_args,
|
c_args : gst_plugins_good_args,
|
||||||
include_directories : [configinc, libsinc],
|
include_directories : [configinc, libsinc],
|
||||||
dependencies : [gstaudio_dep, twolame_dep],
|
dependencies : [gstaudio_dep, twolame_dep],
|
||||||
install : true,
|
install : true,
|
||||||
|
|
|
@ -7,6 +7,7 @@ ext/libpng/gstpngdec.c
|
||||||
ext/pulse/pulsesink.c
|
ext/pulse/pulsesink.c
|
||||||
ext/shout2/gstshout2.c
|
ext/shout2/gstshout2.c
|
||||||
ext/soup/gstsouphttpsrc.c
|
ext/soup/gstsouphttpsrc.c
|
||||||
|
ext/twolame/gsttwolamemp2enc.c
|
||||||
gst/audioparsers/gstwavpackparse.c
|
gst/audioparsers/gstwavpackparse.c
|
||||||
gst/avi/gstavidemux.c
|
gst/avi/gstavidemux.c
|
||||||
gst/avi/gstavimux.c
|
gst/avi/gstavimux.c
|
||||||
|
|
Loading…
Reference in a new issue