Commit graph

173 commits

Author SHA1 Message Date
Mark Nauwelaerts
e15c5ae76e lame: port to audioencoder 2011-09-26 15:17:04 +02:00
Mark Nauwelaerts
5c322ede2b lamemp3enc: use some more boilerplate 2011-09-26 15:17:02 +02:00
Mark Nauwelaerts
256176802b lamemp3enc: really report bitrate rather kbitrate 2011-09-26 15:16:59 +02:00
Mark Nauwelaerts
5f6ab8a5c7 lamemp3enc: port to audioencoder 2011-09-26 15:16:57 +02:00
Sebastian Dröge
7b131f816a lamemp3enc: Post CODEC and BITRATE tags
Also filter any CODEC/AUDIO_CODEC tags from incoming
tag events.

Fixes bug #391543.
2011-05-18 15:17:20 +02:00
Tim-Philipp Müller
817779ca35 lamemp3enc: implement sinkpad get_caps() function to proxy rate and channels restrictions from downstream
The element downstream of mp3enc might only accept certain sample rates or channels,
make sure we relay any restrictions that do exist to upstream when it does a
get_caps() on the sink pad. That way upstream elements like audioresample or
audioconvert can pick a sample rate / channel configuration that will be accepted,
instead of just negotiating to the highest, which might then be rejected.

https://bugzilla.gnome.org/show_bug.cgi?id=641151
2011-02-03 18:27:05 +00:00
Stefan Kost
601b97fcdf various: canonicalize property names 2010-10-19 12:24:13 +03:00
Stefan Kost
fcd740b5de various (ext): add a missing G_PARAM_STATIC_STRINGS flags 2010-10-19 10:06:33 +03:00
Tristan Matthews
ec7c300853 lamemp3enc: implement latency query
The encoder's latency is deduced from the framesize. Fixes #618896.
2010-06-01 11:28:55 +02:00
Sebastian Dröge
9a08857c1f build: Add all kinds of compiler warning flags and fix the resulting warnings 2010-03-24 11:27:40 +01:00
Benjamin Otte
1a8aac1c16 gst_element_class_set_details => gst_element_class_set_details_simple 2010-03-18 15:53:14 +01:00
Thiago Santos
4f7d1a2ed5 lame: Avoid crash when seeking before negotiating
lame's 'lgv' variable is only initialized when the caps
is negotiated, whenever a seek happens before that, it would
attempt to call a function on an empty pointer, causing the crash.

Fixes #603515
2009-12-02 11:34:34 -03:00
Sebastian Dröge
98acc9703b lamemp3enc: Improve debugging a bit 2009-05-14 12:32:54 +02:00
Tim-Philipp Müller
f631890166 lamemp3enc: add Since tag to gtk-doc chunk 2009-05-13 02:00:08 +01:00
Sebastian Dröge
9e0e559a48 lamemp3enc: Don't write a Xing header 2009-05-10 16:53:07 +02:00
Christian Schaller
19096a66c4 Add ranks to mp3 encoders 2009-05-07 17:59:52 +01:00
Sebastian Dröge
efaf0a5199 lamemp3enc: Fixup the bitrate only for CBR
Additionally clarify some property descriptions.
2009-05-07 10:10:58 +02:00
Alessandro Decina
15897072d0 lame: fix format string in debug statement 2009-05-06 21:47:17 +02:00
Tim-Philipp Müller
8da711f16c lame: fix compilation with LAME versions < 3.98
lame_set_VBR_quality(), which takes a floating point value for the
quality, has been added only in v3.98. Use lame_set_VBR_q(), which
takes quality as an integer, for older LAME versions.

Fixes #581341.
2009-05-05 16:38:19 +01:00
Sebastian Dröge
d1845b62f0 lamemp3enc: Add a note to the encoding-engine-quality property
that says, that this does not affect the bitrate at all.
2009-05-04 12:51:29 +02:00
Sebastian Dröge
a085d92489 lame: Implement preset interface 2009-05-04 12:48:43 +02:00
Sebastian Dröge
423a6b01aa lamemp3enc: Remove fast-vbr property and rename vbr-quality to quality 2009-05-04 11:18:15 +02:00
Sebastian Dröge
6a85784c7c lame/lamemp3enc: Fix memory leak on FLUSH_STOP 2009-05-04 11:18:15 +02:00
Sebastian Dröge
7fbb8780c1 lame: Deprecate the lame element 2009-05-04 11:18:15 +02:00
Sebastian Dröge
9931635e13 lame: Update example pipelines with the new properties 2009-05-04 11:18:14 +02:00
Sebastian Dröge
27c557c988 lame: Add lamemp3enc element with much simplified interface
This deprecates the lame element and fixes bug #494528.
2009-05-04 11:18:14 +02:00
Edward Hervey
c02f6b9092 lame: Remove unneeded variable, it's assigned a value never read. 2009-04-19 14:02:03 +02:00
Stefan Kost
d081a77016 Don't install static libs for plugins. Fixes #550851 for ugly.
Original commit message from CVS:
* ext/a52dec/Makefile.am:
* ext/amrnb/Makefile.am:
* ext/cdio/Makefile.am:
* ext/dvdnav/Makefile.am:
* ext/dvdread/Makefile.am:
* ext/lame/Makefile.am:
* ext/mad/Makefile.am:
* ext/mpeg2dec/Makefile.am:
* ext/sidplay/Makefile.am:
* gst/ac3parse/Makefile.am:
* gst/asfdemux/Makefile.am:
* gst/dvdlpcmdec/Makefile.am:
* gst/dvdsub/Makefile.am:
* gst/iec958/Makefile.am:
* gst/mpegaudioparse/Makefile.am:
* gst/mpegstream/Makefile.am:
* gst/realmedia/Makefile.am:
* gst/synaesthesia/Makefile.am:
Don't install static libs for plugins. Fixes #550851 for ugly.
2008-10-13 18:10:25 +00:00
Frederic Crozat
03141f0ff6 Make sure gettext returns translations in UTF-8 encoding rather than in the current locale encoding (#546822).
Original commit message from CVS:
Patch by: Frederic Crozat <fcrozat@mandriva.org>
* ext/dvdread/dvdreadsrc.c: (plugin_init):
* ext/lame/gstlame.c: (plugin_init):
* gst/asfdemux/gstasf.c: (plugin_init):
Make sure gettext returns translations in UTF-8 encoding rather
than in the current locale encoding (#546822).
2008-08-07 16:14:42 +00:00
Sebastian Dröge
ee74e87e50 ext/lame/gstlame.c: Use the default for the strict-iso property too.
Original commit message from CVS:
* ext/lame/gstlame.c: (gst_lame_class_init),
(gst_lame_get_default_settings):
Use the default for the strict-iso property too.
Allow a bitrate setting of 0, which lets lame choose the default value
and which makes it possible to set the compression-ratio property.
2008-07-31 14:24:27 +00:00
Sebastian Dröge
252e387a89 ext/lame/gstlame.*: Get the defaults settings of LAME in the plugin initialization function and return FALSE here if ...
Original commit message from CVS:
* ext/lame/gstlame.c: (gst_lame_class_init), (gst_lame_init),
(gst_lame_chain), (gst_lame_get_default_settings), (plugin_init):
* ext/lame/gstlame.h:
Get the defaults settings of LAME in the plugin initialization
function and return FALSE here if something goes wrong. This removes
the hacky failing instance init function.
Use LAMEs default value for all settings instead of overwriting some
of them. Overwriting some of them gives unexpected results if one only
sets a preset. Fixes bug #498004.
2008-07-29 16:57:16 +00:00
Sebastian Dröge
82c528d3ca ext/lame/gstlame.c: Use LAME's default for the min/max/mean VBR bitrate. Setting our own defaults will restrict the b...
Original commit message from CVS:
* ext/lame/gstlame.c: (gst_lame_init):
Use LAME's default for the min/max/mean VBR bitrate. Setting our own
defaults will restrict the bitrate when using the presets in a bad way.
Fixes bug #498004.
2008-07-27 15:56:27 +00:00
Sebastian Dröge
adc231d2de Put the MPEG audio version into the caps as "mpegaudioversion".
Original commit message from CVS:
* ext/lame/gstlame.c: (gst_lame_sink_setcaps):
* gst/mpegaudioparse/gstmpegaudioparse.c:
(mp3_type_frame_length_from_header), (mp3_caps_create),
(gst_mp3parse_chain):
Put the MPEG audio version into the caps as "mpegaudioversion".
This is different from "mpegversion".
2008-07-27 11:01:12 +00:00
Sebastian Dröge
0dd879921c ext/lame/gstlame.*: Fix build with lame >= 3.97. The padding type and cwlimit settings are deprecated now and the fun...
Original commit message from CVS:
* ext/lame/gstlame.c: (gst_lame_class_init), (gst_lame_init),
(gst_lame_set_property), (gst_lame_get_property), (gst_lame_setup):
* ext/lame/gstlame.h:
Fix build with lame >= 3.97. The padding type and cwlimit settings
are deprecated now and the function declarations are hidden in the
headers so deprecate the GObject properties for them and remove them
in 0.11. Fixes bug #544039.
2008-07-22 18:25:08 +00:00
Stefan Kost
2c7dbc3ba7 Add missing elements to docs. Restore alphabetical order in section file. Document mad (it was included in docs alrea...
Original commit message from CVS:
* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
* docs/plugins/gst-plugins-ugly-plugins-sections.txt:
* ext/a52dec/gsta52dec.c:
* ext/amrnb/amrnbdec.c:
* ext/amrnb/amrnbenc.c:
* ext/amrnb/amrnbparse.c:
* ext/lame/gstlame.c:
* ext/mad/gstmad.c:
* ext/sidplay/gstsiddec.cc:
* gst/asfdemux/gstrtspwms.c:
* gst/mpegaudioparse/gstxingmux.c:
* gst/realmedia/rademux.c:
* gst/realmedia/rdtmanager.c:
* gst/realmedia/rtspreal.c:
* gst/synaesthesia/gstsynaesthesia.c:
Add missing elements to docs. Restore alphabetical order in section
file. Document mad (it was included in docs already).
Fix doc-markup: use convinience syntax for examples
(produces valid docbook), add several refsec2 when we have several
titles. Fix some types.
2008-06-13 06:57:21 +00:00
Stefan Kost
48d3413591 Do not use short_description in section docs for elements. We extract them from element details and there will be war...
Original commit message from CVS:
* ext/lame/gstlame.c:
* ext/sidplay/gstsiddec.cc:
* gst/mpegaudioparse/gstxingmux.c:
Do not use short_description in section docs for elements. We extract
them from element details and there will be warnings if they differ.
2008-06-13 05:52:17 +00:00
Tim-Philipp Müller
f1a4df75f6 ext/lame/gstlame.c: Fix broken GST_ELEMENT_ERROR macro, fixes compile with the Sun
Original commit message from CVS:
* ext/lame/gstlame.c: (gst_lame_sink_setcaps):
Fix broken GST_ELEMENT_ERROR macro, fixes compile with the Sun
Workshop 12 compiler, but probably also crashes (#517985).
2008-02-22 14:55:57 +00:00
Sebastian Dröge
64b5df4dba ext/lame/gstlame.c: Don't leak the allowed caps.
Original commit message from CVS:
* ext/lame/gstlame.c: (gst_lame_setup):
Don't leak the allowed caps.
* tests/check/pipelines/lame.c: (GST_START_TEST):
Stop leaking all buffers. Fixes bug #515575.
2008-02-11 09:13:33 +00:00
Zaheer Abbas Merali
b1a031b960 ext/lame/gstlame.*: Fix the case where you initially have stereo input, and so lame's mode is not set to mono, and th...
Original commit message from CVS:
* ext/lame/gstlame.c:
* ext/lame/gstlame.h:
Fix the case where you initially have stereo input, and so lame's
mode is not set to mono, and then you get input with mono audio and
soon after you get stereo input again. What happened before this
commit is that it would keep the encoding mode as mono. It should
change it back to the one requested by the app (or the default one)
if not requested.
2008-01-17 17:26:48 +00:00
Sebastian Dröge
9d87e1468b ext/lame/gstlame.c: Use gst_util_uint64_scale instead of gst_util_uint64_scale_int as 8 * GST_SECOND is too large for...
Original commit message from CVS:
* ext/lame/gstlame.c: (gst_lame_sink_event):
Use gst_util_uint64_scale instead of gst_util_uint64_scale_int
as 8 * GST_SECOND is too large for int.
2008-01-14 11:24:57 +00:00
Mark Nauwelaerts
0e62059993 ext/lame/gstlame.c: Correctly set number of channels when using mono-encoding mode and fix the duration calculation o...
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at syknet dot be>
* ext/lame/gstlame.c: (gst_lame_sink_setcaps),
(gst_lame_sink_event):
Correctly set number of channels when using mono-encoding mode
and fix the duration calculation of the EOS buffer.
2008-01-14 09:17:47 +00:00
Tim-Philipp Müller
ead8e9facf ext/lame/gstlame.c: Fix up case where there is no peer, in which case _get_allowed_caps() will return NULL.
Original commit message from CVS:
* ext/lame/gstlame.c:
Fix up case where there is no peer, in which case
_get_allowed_caps() will return NULL.
2007-09-26 13:40:35 +00:00
Tim-Philipp Müller
8d9b031015 ext/lame/gstlame.c: Use GST_PTR_FORMAT to print caps in debug statement.
Original commit message from CVS:
* ext/lame/gstlame.c:
Use GST_PTR_FORMAT to print caps in debug statement.
2007-09-25 13:20:27 +00:00
Thomas Vander Stichele
74508a9f75 ext/lame/gstlame.c: Allow fixing the sample rate lame converts to by negotiating fixed sample rate on the src pad caps.
Original commit message from CVS:
* ext/lame/gstlame.c:
Allow fixing the sample rate lame converts to by negotiating fixed
sample rate on the src pad caps.
Add docs for it.
* tests/check/Makefile.am:
* tests/check/pipelines/lame.c:
Add a check for it.
2007-09-24 10:26:21 +00:00
Jan Schmidt
c39c53197c ext/lame/gstlame.c: Disable the bitrate checking when the user has requested
Original commit message from CVS:
* ext/lame/gstlame.c: (gst_lame_setup):
Disable the bitrate checking when the user has requested
Free Format mode, as all bitrates less than the maximum
are valid then.
2007-03-21 12:53:57 +00:00
Jan Schmidt
0e3f19744e ext/lame/gstlame.c: Display sensible defaults and limits for the vbr-min/max/mean properties. Fix the 'hard-limit' VB...
Original commit message from CVS:
* ext/lame/gstlame.c: (gst_lame_class_init), (gst_lame_init),
(gst_lame_setup):
Display sensible defaults and limits for the
vbr-min/max/mean properties. Fix the 'hard-limit' VBR min
property - it's supposed to be a boolean 0/1 value.
2007-02-28 18:41:38 +00:00
Jan Schmidt
8974080b09 ext/lame/gstlame.c: Initialise the variables so gcc doesn't complain about possibly uninitialised uses, even though t...
Original commit message from CVS:
* ext/lame/gstlame.c:
Initialise the variables so gcc doesn't complain about possibly
uninitialised uses, even though they can't actually happen.
2007-02-28 16:01:08 +00:00
Thomas Vander Stichele
d092f55b65 ext/lame/gstlame.c: Fix up bitrate checking macro. Make it give us a
Original commit message from CVS:
* ext/lame/gstlame.c: (gst_lame_sink_setcaps),
(gst_lame_set_property), (gst_lame_setup):
Fix up bitrate checking macro.  Make it give us a
GST_ELEMENT_WARNING message so the application has a chance of
reporting this to the user.  Move the checking to _setup, so we
are sure it runs in the READY state, when we hope to have a pipeline
and a bus that is not flushing.
This fixes e.g. using 96 kbit/sec as a bitrate.
2007-02-21 16:02:33 +00:00
Tim-Philipp Müller
16c774ff13 ext/lame/gstlame.*: On receiving EOS, we try to push a last buffer with the remaining samples. Don't do that if we go...
Original commit message from CVS:
* ext/lame/gstlame.c: (gst_lame_sink_event), (gst_lame_chain),
(gst_lame_change_state):
* ext/lame/gstlame.h:
On receiving EOS, we try to push a last buffer with the remaining
samples. Don't do that if we got an unclean flow return on the last
gst_pad_push(), downstream might not handle this very gracefully
(see #403168).
* gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_chain):
Pass flow returns upstream (helps #403168).
2007-02-09 16:24:45 +00:00
Thomas Vander Stichele
26ee17bc28 ext/lame/gstlame.c: warn when outgoing sample rate is different from incoming
Original commit message from CVS:
* ext/lame/gstlame.c: (gst_lame_sink_setcaps), (gst_lame_chain):
warn when outgoing sample rate is different from incoming
2006-12-30 20:01:35 +00:00