Commit graph

168 commits

Author SHA1 Message Date
Tim-Philipp Müller
7417ad6d5f 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
26cd4ee3a0 various: canonicalize property names 2010-10-19 12:24:13 +03:00
Stefan Kost
3bb4b5069e various (ext): add a missing G_PARAM_STATIC_STRINGS flags 2010-10-19 10:06:33 +03:00
Tristan Matthews
c60638ab56 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
c88c88de0d build: Add all kinds of compiler warning flags and fix the resulting warnings 2010-03-24 11:27:40 +01:00
Benjamin Otte
9850bd814f gst_element_class_set_details => gst_element_class_set_details_simple 2010-03-18 15:53:14 +01:00
Thiago Santos
82ab87032d 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
c286272792 lamemp3enc: Improve debugging a bit 2009-05-14 12:32:54 +02:00
Tim-Philipp Müller
0594c5633d lamemp3enc: add Since tag to gtk-doc chunk 2009-05-13 02:00:08 +01:00
Sebastian Dröge
87fbf6f4ff lamemp3enc: Don't write a Xing header 2009-05-10 16:53:07 +02:00
Christian Schaller
b8a116982b Add ranks to mp3 encoders 2009-05-07 17:59:52 +01:00
Sebastian Dröge
50dd597ff1 lamemp3enc: Fixup the bitrate only for CBR
Additionally clarify some property descriptions.
2009-05-07 10:10:58 +02:00
Alessandro Decina
bfbddbed8b lame: fix format string in debug statement 2009-05-06 21:47:17 +02:00
Tim-Philipp Müller
95ddda57e2 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
54d7c0d563 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
3511ecbf5d lame: Implement preset interface 2009-05-04 12:48:43 +02:00
Sebastian Dröge
1dcdac7629 lamemp3enc: Remove fast-vbr property and rename vbr-quality to quality 2009-05-04 11:18:15 +02:00
Sebastian Dröge
699f1707c3 lame/lamemp3enc: Fix memory leak on FLUSH_STOP 2009-05-04 11:18:15 +02:00
Sebastian Dröge
bd6eb05e95 lame: Deprecate the lame element 2009-05-04 11:18:15 +02:00
Sebastian Dröge
78e2da1dfd lame: Update example pipelines with the new properties 2009-05-04 11:18:14 +02:00
Sebastian Dröge
389a6ea0ec 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
3cc5090e96 lame: Remove unneeded variable, it's assigned a value never read. 2009-04-19 14:02:03 +02:00
Stefan Kost
793cdeb880 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
dddfa0d890 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
69b2bd42d9 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
28cb14f6ae 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
3a7b7a34d1 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
d2d56eb183 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
59aed0789c 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
c49cf83ee3 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
81e36c292e 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
ec18a61d72 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
cfcd418583 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
eb9865f6f8 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
471651b465 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
96205bedb5 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
6370d24f99 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
7d1a8026d4 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
7681d6ac4b 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
df470fa7f8 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
925d6a3712 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
552273cdcc 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
151206dec5 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
0d4e832887 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
9847c13491 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
Roland Kay
bcc7663ebe ext/lame/gstlame.*: Fix leak (by calling lame_init_params() before lame_close()); handle
Original commit message from CVS:
Based on patch by: Roland Kay  <roland.kay at ox compsoc net>
* ext/lame/gstlame.c: (gst_lame_init), (gst_lame_chain),
(gst_lame_setup):
* ext/lame/gstlame.h:
Fix leak (by calling lame_init_params() before lame_close()); handle
NULL return from lame_init() more gracefully. Fixes #385311.
2006-12-14 10:15:24 +00:00
Wim Taymans
9fd95df00e ext/lame/gstlame.*: Make lame timestamp flushed eos buffer by some additional timestamp accounting. Fixes #374760.
Original commit message from CVS:
* ext/lame/gstlame.c: (gst_lame_sink_event), (gst_lame_chain),
(gst_lame_change_state):
* ext/lame/gstlame.h:
Make lame timestamp flushed eos buffer by some additional timestamp
accounting. Fixes #374760.
2006-11-14 10:29:37 +00:00
Tim-Philipp Müller
71735842de ext/lame/gstlame.c: Round up not allowed bitrates to the next higher allowed one (Closes: #361140).
Original commit message from CVS:
* ext/lame/gstlame.c: (gst_lame_set_property):
Round up not allowed bitrates to the next higher allowed one
(Closes: #361140).
2006-10-13 14:45:11 +00:00
Tim-Philipp Müller
25f02025a4 Add docs for lame and lame to docs. Specify allowed bitrates in the properties description (#361140). Canonicalise ob...
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
* docs/plugins/gst-plugins-ugly-plugins-sections.txt:
* ext/lame/gstlame.c: (gst_lame_class_init):
* ext/lame/gstlame.h:
Add docs for lame and lame to docs. Specify allowed bitrates
in the properties description (#361140). Canonicalise object
property names (ie. use hyphen instead of underscore).
* docs/plugins/inspect/plugin-a52dec.xml:
* docs/plugins/inspect/plugin-amrnb.xml:
* docs/plugins/inspect/plugin-asf.xml:
* docs/plugins/inspect/plugin-dvdlpcmdec.xml:
* docs/plugins/inspect/plugin-dvdread.xml:
* docs/plugins/inspect/plugin-dvdsub.xml:
* docs/plugins/inspect/plugin-iec958.xml:
* docs/plugins/inspect/plugin-lame.xml:
* docs/plugins/inspect/plugin-mad.xml:
* docs/plugins/inspect/plugin-mpeg2dec.xml:
* docs/plugins/inspect/plugin-mpegaudioparse.xml:
* docs/plugins/inspect/plugin-mpegstream.xml:
* docs/plugins/inspect/plugin-siddec.xml:
Update version to CVS.
2006-10-13 14:19:24 +00:00
Tim-Philipp Müller
5fed8f44e1 Add i18n magic to lame plugin. Throw decent error message when we fail to setup the encoder (#361140, 361151); misc. ...
Original commit message from CVS:
* ext/lame/gstlame.c: (gst_lame_sink_setcaps),
(gst_lame_set_property), (gst_lame_get_property), (gst_lame_chain),
(plugin_init):
* po/POTFILES.in:
Add i18n magic to lame plugin. Throw decent error message when we
fail to setup the encoder (#361140, 361151); misc. minor clean-ups.
2006-10-13 10:00:27 +00:00