Commit graph

102 commits

Author SHA1 Message Date
Sebastian Dröge
acde15adc3 a52dec: Use new audio encoder/decoder base class API for srcpad caps 2012-02-01 16:27:49 +01:00
Sebastian Dröge
74de5954af Merge branch 'master' into 0.11
Conflicts:
	ext/a52dec/gsta52dec.c
2012-01-25 13:03:33 +01:00
Wim Taymans
56a07a14b5 port to new memory API 2012-01-25 11:57:07 +01:00
Vincent Penquerc'h
1651493ae0 a52dec: fix read buffer overflow upon syncing
The wrong size was being decremented, leading to a runaway
read loop.
2012-01-19 15:27:22 +00:00
Mark Nauwelaerts
2e7b2d8bdf a52dec: plug buffer leak 2012-01-12 13:26:31 +01:00
Mark Nauwelaerts
8cd2408f09 a52dec: plug buffer leak 2012-01-12 13:20:26 +01:00
Sebastian Dröge
69acbc53e9 a52dec: Fix some merge mistakes 2012-01-10 15:25:12 +01:00
Sebastian Dröge
31063f0098 Merge branch 'master' into 0.11
Conflicts:
	ext/a52dec/gsta52dec.c
	ext/a52dec/gsta52dec.h
	ext/lame/gstlame.c
	ext/lame/gstlame.h
	ext/lame/gstlamemp3enc.c
	ext/mad/gstmad.c
	ext/mad/gstmad.h
	gst/mpegaudioparse/gstmpegaudioparse.c
	gst/mpegstream/gstdvddemux.c
	gst/realmedia/rdtdepay.c
	po/es.po
	po/lv.po
	po/sr.po
2012-01-10 15:17:11 +01:00
Sebastian Dröge
882aaf0de2 a52dec: Update for the new raw audio caps 2012-01-05 10:37:04 +01:00
Julien Isorce
24fca6cde5 a52dec: check that a52_init returns a valid a52 state 2011-12-20 12:45:52 +01:00
Mark Nauwelaerts
d55d4054bd a52dec: port to audiodecoder 2011-12-14 17:37:50 +01:00
Sebastian Dröge
220b88fcc1 a52dec: Don't claim to support upstream renegotiation
and use fixed caps on the srcpad. To correctly support
upstream renegotiation a52dec would need to check if the
caps of the downstream allocated buffer are the requested
caps or if the size is different.

Fixes bug #665989.
2011-12-13 14:54:18 +01:00
Julien Isorce
cdf8d0f6b2 a52dec: Check that the a52_state is correctly initialized 2011-12-13 14:52:26 +01:00
Vincent Penquerc'h
213ce049ad various: fix pad template ref leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:10:01 +00:00
Wim Taymans
2679b9432a add parent to pad functions 2011-11-17 15:25:58 +01:00
Wim Taymans
e59ba7ca05 tags: update for tag API removal 2011-11-02 12:09:45 +01:00
Tim-Philipp Müller
1905e95cea ext, gst: update for taglist API changes 2011-10-30 11:51:58 +00:00
Wim Taymans
5737f8cc82 port a52dec to 0.11 2011-09-26 19:03:13 +02:00
Stefan Kost
3bb4b5069e various (ext): add a missing G_PARAM_STATIC_STRINGS flags 2010-10-19 10:06:33 +03:00
Sebastian Dröge
e0cd55c805 a52dec: Call orc_init() before trying to get target flags 2010-06-14 15:33:14 +02:00
Sebastian Dröge
21d90d5539 a52dec: Remove debug printf... 2010-06-14 14:34:56 +02:00
Sebastian Dröge
359260bd5b a52dec: Use orc for CPU feature detection and don't check for liboil 2010-06-14 14:34:25 +02:00
Benjamin Otte
9850bd814f gst_element_class_set_details => gst_element_class_set_details_simple 2010-03-18 15:53:14 +01:00
Jan Schmidt
0cdfa3dcd2 a52dec: Fix debug statement: Pass pos variable instead of time() function 2009-11-04 15:52:09 +00:00
Jan Schmidt
3e81d5f2c8 a52dec: Fix reference leak on all input buffers in 'dvd mode'
https://bugzilla.gnome.org/show_bug.cgi?id=598272
2009-10-13 14:28:48 +01:00
Jan Schmidt
020cf2c0f9 a52dec: Add some debugging for new segment events 2009-10-12 11:26:30 +01:00
Sebastian Dröge
f5f10797ff a52dec: Only add the MM_ACCEL_DJBFFT flag if it's defined
It's not defined for older liba52 versions.
2009-08-23 13:35:46 +02:00
Mart Raudsepp
ebfe6c0746 a52dec: Allow liba52 to use djbfft based IMDCT transform
liba52 in a52dec-0.7.4 does not have any MMX, MMXEXT or 3DNOW based
IMDCT transform acceleration. It does however have a software based
acceleration using the djbfft library (D.J. Bernstein's library for
fourier transforms - Extremely fast library for floating-point
convolution). So allow liba52 to use it through the MM_ACCEL_DJBFFT
flag.
The liba52 copy in MPlayer sources does have SSE, 3dnowext, 3dnow
and AltiVec implementations, but those are checked for first, and
djbfft is chosen only if none of those is available - good in the
case of some distributions including a port of the MPlayer changes
in their system a52dec library.

The down and upmix code in liba52 doesn't seem to be disturbed by
this additional MM_ACCEL flag and will still use MMX, SSE or 3DNOW
versions if passed from oil_cpu_get_flags (SSE currently is not).

Fixes bug #592787.
2009-08-23 13:34:32 +02:00
Jan Schmidt
dc7f71fb53 a52dec: Reconcile code with dtsdec
Perform some cleanups based on the dtsdec code such as using the boilerplate
macro and static pad template functions.

Add some documentation. Don't register a change in flags until we synch on
another frame successfully.
2009-05-20 11:25:01 +01:00
Thijs Vermeir
4e7129f1d6 ext/a52dec/gsta52dec.*: Fix channel re-negotiation on a change of the incoming stream.
Original commit message from CVS:
* ext/a52dec/gsta52dec.c:
* ext/a52dec/gsta52dec.h:
Fix channel re-negotiation on a change of the incoming stream.
Patch By: Thijs Vermeir <thijsvermeir@gmail.com>
Fixes: #551660
2008-09-27 00:20:48 +00:00
Jan Schmidt
1ed8b1a8e6 ext/a52dec/gsta52dec.c: Set up a default time segment for output when receiving an incoming byte segment (as for raw ...
Original commit message from CVS:
* ext/a52dec/gsta52dec.c:
Set up a default time segment for output when receiving
an incoming byte segment (as for raw AC3 files).
Fixes: #548194
2008-08-26 15:35:43 +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
Wim Taymans
e29dfee55c ext/a52dec/gsta52dec.c: Drain queued buffers before forwarding the segment event.
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (gst_a52dec_sink_event):
Drain queued buffers before forwarding the segment event.
2008-06-02 15:44:57 +00:00
Wim Taymans
8a0500bf3b ext/a52dec/gsta52dec.*: Add segment handling, buffer clipping and basic reverse playback.
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (clear_queued), (flush_queued),
(gst_a52dec_drain), (gst_a52dec_push), (gst_a52dec_sink_event),
(gst_a52dec_chain), (gst_a52dec_change_state):
* ext/a52dec/gsta52dec.h:
Add segment handling, buffer clipping and basic reverse playback.
2008-06-02 11:59:07 +00:00
Stefan Kost
c2e3aede74 Random doc of the day. Also print human readable format of newsegment in log message if we complain about it.
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:
* docs/plugins/gst-plugins-ugly-plugins.args:
* docs/plugins/gst-plugins-ugly-plugins.hierarchy:
* docs/plugins/gst-plugins-ugly-plugins.interfaces:
* 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-realmedia.xml:
* docs/plugins/inspect/plugin-siddec.xml:
* docs/plugins/inspect/plugin-synaesthesia.xml:
* ext/a52dec/gsta52dec.c:
Random doc of the day. Also print human readable format of newsegment
in log message if we complain about it.
2008-05-28 11:43:01 +00:00
Wim Taymans
dd9c29938b ext/a52dec/gsta52dec.*: Mark discont on outgoing buffers after receiving a DISCONT buffer or when we have a decoding ...
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (gst_a52dec_init), (gst_a52dec_push),
(gst_a52dec_sink_event), (gst_a52dec_handle_frame),
(gst_a52dec_chain), (gst_a52dec_change_state):
* ext/a52dec/gsta52dec.h:
Mark discont on outgoing buffers after receiving a DISCONT buffer or
when we have a decoding error.
We don't need to clear the cache when we receive a NEWSEGMENT event.
Clear buffer cache in DISCONT.
Add beginnings of GstSegment handling.
2008-05-26 09:06:54 +00:00
from Michal Benes
ce372a2337 ext/a52dec/gsta52dec.*: Add two things to a52dec: configure the exact output format for ac3 decoding through properti...
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (gst_a52dec_mode_get_type),
(gst_a52dec_class_init), (gst_a52dec_init), (gst_a52dec_channels),
(gst_a52dec_handle_frame), (gst_a52dec_change_state),
(gst_a52dec_set_property), (gst_a52dec_get_property):
* ext/a52dec/gsta52dec.h:
Patch from from Michal Benes <michal.benes@itonis.tv>:

Add two things to a52dec: configure the exact output format for ac3
decoding through properties, if desired.
By default, configure an output format preferred by downstream. Now
that audioconvert lists caps by preference, this means that a52dec
can do downmixing (iff required) rather than audioconvert, so it can
use the ac3 downmix levels from the bitstream.
2006-09-01 16:21:43 +00:00
Wim Taymans
2af6229117 ext/a52dec/gsta52dec.c: Instead of forwarding the event in the wrong format, unref it and set a boolean that we still...
Original commit message from CVS:
Patch by: Wim Taymans <wim at fluendo dot com>
* ext/a52dec/gsta52dec.c: (gst_a52dec_sink_event):
Instead of forwarding the event in the wrong format, unref it and set
a boolean that we still need to send it in the streaming thread.
Fixes #350554
2006-08-14 10:19:41 +00:00
Jan Schmidt
eb186eaaa0 ext/a52dec/gsta52dec.c: When the first_access is 1 or 0, we should copy the timestamp from the incoming buffer if the...
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (gst_a52dec_chain):
When the first_access is 1 or 0, we should copy the timestamp from
the incoming buffer if there is one.
2006-08-07 16:18:33 +00:00
Tim-Philipp Müller
6733054117 ext/a52dec/gsta52dec.c: Use GST_ELEMENT_ERROR for error reporting; post errors in some more places; remove superfluou...
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (gst_a52dec_channels), (gst_a52dec_push),
(gst_a52dec_reneg), (gst_a52dec_handle_frame), (gst_a52dec_chain):
Use GST_ELEMENT_ERROR for error reporting; post errors in some
more places; remove superfluous newlines from debug statements.
2006-08-07 14:01:33 +00:00
Jan Schmidt
ebed866b09 ext/a52dec/gsta52dec.c: Call the channel positions get_type() method in plugin_init to ensure that it isn't simultane...
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (plugin_init):
Call the channel positions get_type() method in plugin_init
to ensure that it isn't simultaneously called later from
multiple threads.
2006-06-23 16:29:41 +00:00
Jan Schmidt
d13b1e7003 ext/a52dec/gsta52dec.c: Treat dual-mono as stereo. It should really be output on 2 separate pads, but isn't for now.
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (gst_a52dec_channels), (plugin_init):
Treat dual-mono as stereo. It should really be output on 2 separate
pads, but isn't for now.
2006-06-23 09:28:28 +00:00
Jan Schmidt
2f68d625c1 ext/a52dec/gsta52dec.c: Add more debug
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (gst_a52dec_chain):
Add more debug
* gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcm_reset),
(gst_dvdlpcmdec_init), (update_timestamps),
(gst_dvdlpcmdec_chain_dvd), (gst_dvdlpcmdec_chain_raw),
(dvdlpcmdec_sink_event):
* gst/dvdlpcmdec/gstdvdlpcmdec.h:
If we have a first_access offset but no current timestamp (might
happen after a seek), then calculate a start time for the first
portion so that it will align with the timestamp given for the
first_access portion.
If a new-segment arrives with format time, store the start
time as a failsafe timestamp in case we never get any further
timestamp info (unlikely)
Mask out the 'frame number' section of the incoming header so
that we don't consider it to be changing on every buffer and
reset the caps constantly.
Use gst_util_uint64_scale for duration calculation
2006-05-11 16:17:44 +00:00
Thomas Vander Stichele
23f496bebc configure.ac: rework similarly to other modules
Original commit message from CVS:

* configure.ac:
rework similarly to other modules
* ext/a52dec/gsta52dec.c:
* ext/amrnb/amrnb.c:
* ext/dvdnav/dvdnavsrc.c:
* ext/dvdread/dvdreadsrc.c:
* ext/lame/gstlame.c:
* ext/mad/gstid3tag.c:
* ext/mpeg2dec/gstmpeg2dec.c:
* ext/sidplay/gstsiddec.cc:
* gst/asfdemux/gstasf.c:
* gst/dvdlpcmdec/gstdvdlpcmdec.c:
* gst/dvdsub/gstdvdsubdec.c:
* gst/iec958/ac3iec.c:
* gst/mpegaudioparse/gstmpegaudioparse.c:
* gst/mpegstream/gstmpegstream.c:
* gst/realmedia/rmdemux.c: (plugin_init):
use the correct defines
2006-04-01 09:54:39 +00:00
Michael Smith
c2a98834b6 ext/a52dec/gsta52dec.*: Fix #334550: failure to play raw AC3 files due to segment problems.
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (gst_a52dec_sink_event),
(gst_a52dec_chain_raw), (gst_a52dec_change_state):
* ext/a52dec/gsta52dec.h:
Fix #334550: failure to play raw AC3 files due to segment problems.
2006-03-15 22:01:40 +00:00
Andy Wingo
be0fdf972b Update for alloc_buffer changes.
Original commit message from CVS:
2005-12-05  Andy Wingo  <wingo@pobox.com>

* ext/a52dec/gsta52dec.c: (gst_a52dec_push):
* ext/mad/gstmad.c: (gst_mad_chain):
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_alloc_buffer):
* gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_chain_raw):
* gst/iec958/ac3iec.c: (ac3iec_chain_raw):
* gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream),
(gst_rmdemux_parse_packet): Update for alloc_buffer changes.
2005-12-05 13:03:40 +00:00
Michael Smith
19a1c51069 ext/a52dec/gsta52dec.*: Accept AC3 in audio/x-private1-ac3 format, which includes
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (gst_a52dec_init),
(gst_a52dec_sink_setcaps), (gst_a52dec_chain),
(gst_a52dec_chain_raw):
* ext/a52dec/gsta52dec.h:
Accept AC3 in audio/x-private1-ac3 format, which includes
DVD-specific headers, as well as raw AC3, for compatibility with
some demuxers.
2005-11-25 14:50:19 +00:00
Andy Wingo
d731d22791 ext/a52dec/gsta52dec.c (gst_a52dec_sink_event) ext/mad/gstid3tag.c (gst_id3_tag_sink_event) ext/mad/gstmad.c (gst_mad...
Original commit message from CVS:
2005-11-22  Andy Wingo  <wingo@pobox.com>

* ext/a52dec/gsta52dec.c (gst_a52dec_sink_event)
* ext/mad/gstid3tag.c (gst_id3_tag_sink_event)
* ext/mad/gstmad.c (gst_mad_chain)
* gst/mpegaudioparse/gstmpegaudioparse.c
(gst_mp3parse_sink_event)
* gst/mpegstream/gstdvddemux.c (gst_dvd_demux_handle_dvd_event)
* gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_handle_discont)
(gst_mpeg_parse_send_discont, gst_mpeg_parse_pad_added)
* gst/realmedia/rmdemux.c (gst_rmdemux_perform_seek)
(gst_rmdemux_chain, gst_rmdemux_add_stream): Run update-funcnames.
2005-11-22 11:55:32 +00:00
Andy Wingo
aa5c8d66bd ext/: Don't take the stream lock.
Original commit message from CVS:
2005-11-21  Andy Wingo  <wingo@pobox.com>

* ext/sidplay/gstsiddec.cc (gst_siddec_sink_event):
* ext/mpeg2dec/gstmpeg2dec.c (gst_mpeg2dec_sink_event):
* ext/mad/gstmad.c (gst_mad_sink_event):
* ext/a52dec/gsta52dec.c (gst_a52dec_sink_event): Don't take the
stream lock.

* gst/realmedia/rmdemux.c (gst_rmdemux_perform_seek): Update for
stream lock changes.
2005-11-21 17:34:30 +00:00
Andy Wingo
d779ee9077 *.*: Ran scripts/update-macros. Oh yes.
Original commit message from CVS:
2005-11-21  Andy Wingo  <wingo@pobox.com>

* *.h:
* *.c: Ran scripts/update-macros. Oh yes.
2005-11-21 16:36:44 +00:00