Commit graph

230 commits

Author SHA1 Message Date
Sebastian Dröge 348afe1669 wavparse: Use scale_ceil() functions from core instead of custom ones 2011-12-24 10:57:42 +01:00
Vincent Penquerc'h ecec3859d8 wavparse: avoid using floating point unnecessarily
https://bugzilla.gnome.org/show_bug.cgi?id=665911
2011-12-13 13:01:03 +00:00
Vincent Penquerc'h b612550379 wavparse: fix format specifier signedness
Use unsigned specifiers for all unsigned values.
A lot of the values used here are unsigned, and some can take
high enough values that their signed counterpart will be negative.

https://bugzilla.gnome.org/show_bug.cgi?id=665911
2011-12-13 13:01:03 +00:00
Vincent Penquerc'h 734e352b73 wavparse: add a ignore-length property
This allows playing broken streams which write an incorrect
length in their data chunks (such as, at least, one streaming
camera).

https://bugzilla.gnome.org/show_bug.cgi?id=665911
2011-12-13 13:01:03 +00:00
Tim-Philipp Müller b8b8454bcb Suppress deprecation warnings in selected files, for g_static_rec_mutex_* mostly
GStaticRecMutex is part of our API/ABI, not much we can do here
in 0.10 for most of these.
2011-12-12 09:46:27 +00:00
Vincent Penquerc'h c0e101e93f various: fix pad template leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:30:27 +00:00
Vincent Penquerc'h b33da78f72 wavparse: skip id32 tags
This allows decoding at least one sample where something has
stuffed some ID3 tag before the (supposedly initial) FMT\ .

https://bugzilla.gnome.org/show_bug.cgi?id=660249
2011-11-24 17:07:23 +00:00
Thibault Saunier b541208b77 android: Make it ready for androgenizer
Remove the android/ top dir
Fixe the Makefile.am to be androgenized

To build gstreamer for android we are now using androgenizer which generates the needed Android.mk files.
Androgenizer can be found here: http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 01:20:11 +02:00
Mark Nauwelaerts b69c605c2c wavparse: tune output max buffer size to material
... to avoid ending up with tons of short time buffers for e.g. high sample
rate audio.
2011-03-04 18:43:29 +01:00
Tim-Philipp Müller bd87d8d1dd wavparse: detect DTS advertised as PCM correctly in some more cases
The DTS typefinder may return a lower probability for frames that start
at non-zero offsets and where there's no second frame sync in the first
buffer. It's fairly unlikely that we'll acidentally identify PCM data
as DTS, so we don't do additional checks for now.

https://bugzilla.gnome.org/show_bug.cgi?id=636234
2010-12-03 10:18:43 +00:00
Sebastian Dröge 55a52262d3 wavparse: Don't use GST_FLOW_IS_FATAL() 2010-09-04 14:52:10 +02:00
Sebastian Dröge 95f5b494fa wavparse: Post an error message if EOS happens before valid input is found
Fixes bug #627341.
2010-09-04 14:52:06 +02:00
Tim-Philipp Müller c66c3d354c wavparse: fix unportable printf format specifiers in commented out code
To avoid false positives when grepping for unportable specifiers.
2010-06-29 20:14:53 +01:00
Mark Nauwelaerts 0a2d9a2269 wavparse: proper closing segment construction
Fixes #618982.
2010-06-22 15:37:46 +02:00
Sebastian Dröge 715eb33d24 wavparse: Initialize uninitialized variable 2010-06-15 20:00:28 +02:00
Tim-Philipp Müller 754f3a315b wavparse: use typefind functions to check if PCM data contains dts stream
Use new dts audio typefinder from -base to check if the PCM data
contains a dts stream. This way we recognise more varieties more
reliably and also detect the dts stream if there isn't a frame
sync right at the start of the data.

Fixes #413942.
2010-06-11 20:50:23 +01:00
Tim-Philipp Müller 12ec2c3d6d wavparse: set buffer offsets before using the buffer for the first time
gst_type_find_helper_for_buffer() will need the correct offset
set on the buffer (ie. 0) and not the byte offset we started
pulling the data from.
2010-06-11 20:47:22 +01:00
Mark Nauwelaerts 3462eed7e0 wavparse: handle truncated input data at EOS in pull mode
Fixes #617733.
2010-05-26 12:01:26 +01:00
Tim-Philipp Müller 073201b329 build: Makefile.am cleanups
Mostly add $(GST_BASE_CFLAGS) where it was missing, but also fix up
order of flags and libs if needed (see docs/random/moving-plugins).
2010-03-18 21:34:24 +00:00
Benjamin Otte cccfeaa59c gst_element_class_set_details => gst_element_class_set_details_simple 2010-03-18 14:32:00 +01:00
Stefan Kost ef343d8ad9 avi,wav: also handle JUNQ chunk in addition to JUNK 2010-02-12 15:35:30 +02:00
Michael Smith b0b54d9324 Add dependencies of gstriff to things that link to gstriff, needed on Win32. 2009-10-23 18:09:43 -07:00
Jan Schmidt cdb0b68e21 avi/wav: Fix some compiler warnings about incompatible pointers. 2009-10-08 10:20:09 +01:00
Michael Smith 3257374310 wavparse: treat a zero-sized data chunk as extending to the end of the file.
This fixes playback of some files that don't have a valid data chunk length,
apparently some program creates these.
2009-09-11 13:34:01 -07:00
Mark Nauwelaerts 0f900afe1f wavparse: reflow exit, and fix some leaks 2009-08-31 16:50:00 +02:00
Mark Nauwelaerts efb5d1b545 wavparse: push mode; add pad if needed so downstream gets EOS 2009-08-31 16:50:00 +02:00
Mark Nauwelaerts 79f69bbf72 wavparse: push mode; fix/improve chunk handling
Handle large, invalid or otherwise unusual chunk sizes.
Verify some chunk sizes to be at least the size they are
expected to be and round up some sizes to even number for
e.g. offset administration, which must also be properly
tracked in push mode.
2009-08-31 16:50:00 +02:00
Tim-Philipp Müller 4cf513da9b wavparse: clean up adapter properly
Reflow code so we don't try to clear or re-use an already-freed adapter.
2009-08-31 13:40:14 +01:00
Tim-Philipp Müller d875e72b02 flactag, wavparse: GstAdapter is not a GstObject 2009-08-31 13:07:53 +01:00
Wim Taymans fb25aced92 wavparse: handle LIST INFO of 0 size
Handle LIST INFO chunks of 0 size instead of causing errors.

Fixes #584981
2009-06-07 13:37:04 +02:00
Wim Taymans 7a0c94121f Revert "wavparse: Remove dead assignments, move variable to where it's needed."
Reverts commit 44256a78f8 and use the result in
error reporting so that we can see what's going on.
2009-06-07 13:34:37 +02:00
Edward Hervey 5c52506d07 wavparse: Remove dead assignment.
res isn't read after this.
2009-04-18 18:51:28 +02:00
Edward Hervey 44256a78f8 wavparse: Remove dead assignments, move variable to where it's needed.
The header_read_error label will return GST_FLOW_ERROR
2009-04-18 18:51:28 +02:00
Edward Hervey 0cb5b42d54 Remove trivial unused variables detected by CLang static analyzer. 2009-04-18 18:51:28 +02:00
Stefan Kost 1095e624ec wavparse: don't leak pad-template
gst_element_class_add_pad_template() does not take ownership.
2009-04-07 22:36:39 +03:00
Mark Nauwelaerts 3310a540e3 wavparse: Fix SEEK event handling in push mode, and SEEKABLY query handling
Standard pull mode loop based SEEK handling fails in push mode,
so convert the SEEK event appropriately and dispatch to upstream.
Also cater for NEWSEGMENT event handling, and properly inform
downstream and application of SEEKABLE capabilities, depending
on scheduling mode and upstream.
2009-02-27 14:52:31 +01:00
Stefan Kost a99d3f8769 Update and add documentation for plugins with no deps (gst).
Link to properties. Correct titles for examples. Document a few trivial cases. Keep lists in section file and docs/plugins/Makefile.am alphabetically ordered.
2009-01-28 12:32:59 +02:00
Edward Hervey 5ad613d9b9 Switch to using GstStaticPadTemplate.
Original commit message from CVS:
* ext/flac/gstflacdec.c: (gst_flac_dec_base_init),
(gst_flac_dec_init):
* gst/law/alaw-decode.c: (gst_alaw_dec_base_init),
(gst_alaw_dec_init):
* gst/law/alaw-encode.c: (gst_alaw_enc_base_init),
(gst_alaw_enc_init):
* gst/law/alaw.c: (plugin_init):
* gst/law/mulaw-decode.c: (gst_mulawdec_base_init),
(gst_mulawdec_init):
* gst/law/mulaw-encode.c: (gst_mulawenc_base_init),
(gst_mulawenc_init):
* gst/law/mulaw.c: (plugin_init):
Switch to using GstStaticPadTemplate.
* gst/udp/gstudpnetutils.c: (gst_udp_get_addr):
Don't forget to free the addrinfo structure.
* gst/wavparse/gstwavparse.c: (gst_wavparse_reset),
(gst_wavparse_sink_activate):
Don't forget to unref the GstAdapter.
2008-12-13 15:34:01 +00:00
Wim Taymans 380b64d670 gst/wavparse/gstwavparse.c: Fix the scaling code.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (uint64_ceiling_scale_int),
(uint64_ceiling_scale), (gst_wavparse_calculate_duration),
(gst_wavparse_stream_headers):
Fix the scaling code.
Fix parsing of the INFO chunks, we were reading the wrong number of
bytes.  Fixes #561580.
2008-11-20 20:07:26 +00:00
Stefan Kost 084812bffd Don't install static libs for plugins. Fixes #550851 for -good.
Original commit message from CVS:
* ext/aalib/Makefile.am:
* ext/annodex/Makefile.am:
* ext/cairo/Makefile.am:
* ext/dv/Makefile.am:
* ext/esd/Makefile.am:
* ext/flac/Makefile.am:
* ext/gconf/Makefile.am:
* ext/gdk_pixbuf/Makefile.am:
* ext/hal/Makefile.am:
* ext/jpeg/Makefile.am:
* ext/ladspa/Makefile.am:
* ext/libcaca/Makefile.am:
* ext/libmng/Makefile.am:
* ext/libpng/Makefile.am:
* ext/mikmod/Makefile.am:
* ext/pulse/Makefile.am:
* ext/raw1394/Makefile.am:
* ext/shout2/Makefile.am:
* ext/soup/Makefile.am:
* ext/speex/Makefile.am:
* ext/taglib/Makefile.am:
* ext/wavpack/Makefile.am:
* gst/alpha/Makefile.am:
* gst/apetag/Makefile.am:
* gst/audiofx/Makefile.am:
* gst/auparse/Makefile.am:
* gst/autodetect/Makefile.am:
* gst/avi/Makefile.am:
* gst/cutter/Makefile.am:
* gst/debug/Makefile.am:
* gst/effectv/Makefile.am:
* gst/equalizer/Makefile.am:
* gst/flx/Makefile.am:
* gst/goom/Makefile.am:
* gst/goom2k1/Makefile.am:
* gst/icydemux/Makefile.am:
* gst/id3demux/Makefile.am:
* gst/interleave/Makefile.am:
* gst/law/Makefile.am:
* gst/level/Makefile.am:
* gst/matroska/Makefile.am:
* gst/median/Makefile.am:
* gst/monoscope/Makefile.am:
* gst/multifile/Makefile.am:
* gst/multipart/Makefile.am:
* gst/oldcore/Makefile.am:
* gst/qtdemux/Makefile.am:
* gst/replaygain/Makefile.am:
* gst/rtp/Makefile.am:
* gst/rtsp/Makefile.am:
* gst/smpte/Makefile.am:
* gst/spectrum/Makefile.am:
* gst/udp/Makefile.am:
* gst/videobox/Makefile.am:
* gst/videocrop/Makefile.am:
* gst/videofilter/Makefile.am:
* gst/videomixer/Makefile.am:
* gst/wavenc/Makefile.am:
* gst/wavparse/Makefile.am:
* sys/directdraw/Makefile.am:
* sys/directsound/Makefile.am:
* sys/oss/Makefile.am:
* sys/osxaudio/Makefile.am:
* sys/osxvideo/Makefile.am:
* sys/sunaudio/Makefile.am:
* sys/v4l2/Makefile.am:
* sys/waveform/Makefile.am:
* sys/ximage/Makefile.am:
Don't install static libs for plugins. Fixes #550851 for -good.
2008-11-04 12:28:34 +00:00
Stefan Kost 1a9699c487 gst/wavparse/gstwavparse.c: Handle the list chunk and use gst_riff_parse_info() to parse the info sub-chunk.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c:
Handle the list chunk and use gst_riff_parse_info() to parse the info
sub-chunk.
2008-08-05 15:05:44 +00:00
Stefan Kost 8e98d264cd gst/wavparse/gstwavparse.c: Handle the acid chunk and send tempo as part of tags. Other fields are interesting too, b...
Original commit message from CVS:
* gst/wavparse/gstwavparse.c:
Handle the acid chunk and send tempo as part of tags. Other fields are
interesting too, but need more tag-definitions. Fixes #545433.
2008-08-05 14:22:12 +00:00
Stefan Kost 6d0e3ac396 gst/wavparse/gstwavparse.c: Refactor wavparse. Call _reset() from dispose() and move old code from dispose into reset...
Original commit message from CVS:
* gst/wavparse/gstwavparse.c:
Refactor wavparse. Call _reset() from dispose() and move old code from
dispose into reset. This way we don't leak taglists when we abort
parsing. Fix some comments. Move code for skipping a chunk into extra
function. Replace chunk sizes with a const to ease readability.
2008-08-05 14:16:32 +00:00
Sebastian Dröge a3b9fddd77 gst/wavparse/gstwavparse.c: Set variable to NULL after freeing it to prevent double frees or make failures by another...
Original commit message from CVS:
Based on a patch by:
Victor STINNER <victor dot stinner at haypocalc dot com>
* gst/wavparse/gstwavparse.c: (gst_wavparse_stream_headers):
Set variable to NULL after freeing it to prevent double frees
or make failures by another use of it afterwards more obvious
and fix use of it after the freeing.
2008-01-19 14:53:58 +00:00
Tim-Philipp Müller bcdeaa639b Fix 'xyz may be used uninitialized' compiler warnings caused by broken g_assert_not_reached() macro in GLib-2.15.x (i...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_loop):
* gst/wavparse/gstwavparse.c: (gst_wavparse_chain):
* sys/ximage/gstximagesrc.c: (composite_pixel):
Fix 'xyz may be used uninitialized' compiler warnings caused
by broken g_assert_not_reached() macro in GLib-2.15.x (it's
not really nice to abort in any case). Fixes #505745.
2007-12-26 16:03:57 +00:00
Tim-Philipp Müller 919e906055 gst/wavparse/gstwavparse.c: Fix seeking in .wav files again (#501775). Some people seem to think they don't need to ...
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_srcpad_event):
Fix seeking in .wav files again (#501775).  Some people seem to think
they don't need to test their changes when they're just 'reflowing'
some code.
2007-12-06 11:46:22 +00:00
Stefan Kost 561bfe0457 gst/: Return the result in _activate_pull(). Don't ref element there.
Original commit message from CVS:
* gst/avi/gstavidemux.c:
* gst/wavparse/gstwavparse.c:
Return the result in _activate_pull(). Don't ref element there.
2007-11-13 06:55:28 +00:00
Stefan Kost 34c221a52f gst/wavparse/gstwavparse.c: Ref the element when we should, but not when we its not needed. Reflow the event_handling...
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_stream_headers),
(gst_wavparse_pad_convert), (gst_wavparse_pad_query),
(gst_wavparse_srcpad_event):
Ref the element when we should, but not when we its not needed. Reflow
the event_handling to not leak the event.
2007-11-13 06:23:51 +00:00
Stefan Kost 55fe83f022 gst/wavparse/gstwavparse.c: Return FALSE if we can't handle a query instead of changing the format. Ignore fact when ...
Original commit message from CVS:
* gst/wavparse/gstwavparse.c:
Return FALSE if we can't handle a query instead of changing the
format. Ignore fact when dealing with mpeg audio.
2007-11-08 15:00:40 +00:00
Sebastian Dröge 233644df33 gst/wavparse/gstwavparse.c: Don't push EOS from the chain function, the element driving the pipeline is responsible f...
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_loop),
(gst_wavparse_chain):
Don't push EOS from the chain function, the element
driving the pipeline is responsible for this. The bug
this was meant to fix seems to be queue not forwarding
EOS in all cases (see #476514).
2007-09-14 09:40:49 +00:00