summaryrefslogtreecommitdiffstats
path: root/gst/wavparse
Commit message (Collapse)AuthorAgeFilesLines
* avi/wav: Fix some compiler warnings about incompatible pointers.Jan Schmidt2009-10-081-1/+1
|
* wavparse: treat a zero-sized data chunk as extending to the end of the file.Michael Smith2009-09-111-2/+7
| | | | | This fixes playback of some files that don't have a valid data chunk length, apparently some program creates these.
* wavparse: reflow exit, and fix some leaksMark Nauwelaerts2009-08-311-34/+46
|
* wavparse: push mode; add pad if needed so downstream gets EOSMark Nauwelaerts2009-08-311-2/+8
|
* wavparse: push mode; fix/improve chunk handlingMark Nauwelaerts2009-08-312-27/+81
| | | | | | | | 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.
* wavparse: clean up adapter properlyTim-Philipp Müller2009-08-311-8/+5
| | | | Reflow code so we don't try to clear or re-use an already-freed adapter.
* flactag, wavparse: GstAdapter is not a GstObjectTim-Philipp Müller2009-08-311-1/+1
|
* wavparse: handle LIST INFO of 0 sizeWim Taymans2009-06-071-21/+28
| | | | | | Handle LIST INFO chunks of 0 size instead of causing errors. Fixes #584981
* Revert "wavparse: Remove dead assignments, move variable to where it's needed."Wim Taymans2009-06-071-11/+16
| | | | | Reverts commit 44256a78f8dd79a91f3bb2ab7c3aa623c097bb8a and use the result in error reporting so that we can see what's going on.
* wavparse: Remove dead assignment.Edward Hervey2009-04-181-1/+0
| | | | res isn't read after this.
* wavparse: Remove dead assignments, move variable to where it's needed.Edward Hervey2009-04-181-16/+11
| | | | The header_read_error label will return GST_FLOW_ERROR
* Remove trivial unused variables detected by CLang static analyzer.Edward Hervey2009-04-181-3/+0
|
* wavparse: don't leak pad-templateStefan Kost2009-04-071-0/+1
| | | | gst_element_class_add_pad_template() does not take ownership.
* wavparse: Fix SEEK event handling in push mode, and SEEKABLY query handlingMark Nauwelaerts2009-02-271-28/+258
| | | | | | | | 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.
* Update and add documentation for plugins with no deps (gst).Stefan Kost2009-01-281-15/+7
| | | | Link to properties. Correct titles for examples. Document a few trivial cases. Keep lists in section file and docs/plugins/Makefile.am alphabetically ordered.
* Switch to using GstStaticPadTemplate.Edward Hervey2008-12-131-1/+7
| | | | | | | | | | | | | | | | | | | | | | 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.
* gst/wavparse/gstwavparse.c: Fix the scaling code.Wim Taymans2008-11-201-3/+4
| | | | | | | | | | 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.
* Don't install static libs for plugins. Fixes #550851 for -good.Stefan Kost2008-11-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* gst/wavparse/gstwavparse.c: Handle the list chunk and use ↵Stefan Kost2008-08-051-1/+66
| | | | | | | | | 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.
* gst/wavparse/gstwavparse.c: Handle the acid chunk and send tempo as part of ↵Stefan Kost2008-08-051-0/+34
| | | | | | | | | 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.
* gst/wavparse/gstwavparse.c: Refactor wavparse. Call _reset() from dispose() ↵Stefan Kost2008-08-051-54/+71
| | | | | | | | | | | 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.
* gst/wavparse/gstwavparse.c: Set variable to NULL after freeing it to prevent ↵Sebastian Dröge2008-01-191-2/+2
| | | | | | | | | | | | 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.
* Fix 'xyz may be used uninitialized' compiler warnings caused by broken ↵Tim-Philipp Müller2007-12-261-1/+1
| | | | | | | | | | | | 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.
* gst/wavparse/gstwavparse.c: Fix seeking in .wav files again (#501775). Some ↵Tim-Philipp Müller2007-12-061-3/+2
| | | | | | | | | | 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.
* gst/: Return the result in _activate_pull(). Don't ref element there.Stefan Kost2007-11-131-9/+8
| | | | | | | Original commit message from CVS: * gst/avi/gstavidemux.c: * gst/wavparse/gstwavparse.c: Return the result in _activate_pull(). Don't ref element there.
* gst/wavparse/gstwavparse.c: Ref the element when we should, but not when we ↵Stefan Kost2007-11-131-13/+10
| | | | | | | | | | | 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.
* gst/wavparse/gstwavparse.c: Return FALSE if we can't handle a query instead ↵Stefan Kost2007-11-081-34/+35
| | | | | | | | | 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.
* gst/wavparse/gstwavparse.c: Don't push EOS from the chain function, the ↵Sebastian Dröge2007-09-141-42/+32
| | | | | | | | | | | | 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).
* gst/wavparse/gstwavparse.c: Add EOS logic for the push-based mode too. Fixes ↵Sebastian Dröge2007-09-131-32/+42
| | | | | | | | | #476514. Original commit message from CVS: * gst/wavparse/gstwavparse.c: (gst_wavparse_perform_eos), (gst_wavparse_loop), (gst_wavparse_chain): Add EOS logic for the push-based mode too. Fixes #476514.
* gst/wavparse/gstwavparse.c: More code cleanups. Add some more comment and ↵Stefan Kost2007-09-041-18/+33
| | | | | | | | improve debugs logs. Original commit message from CVS: * gst/wavparse/gstwavparse.c: More code cleanups. Add some more comment and improve debugs logs.
* gst/wavparse/gstwavparse.*: Implement seek-query. Refactor duration ↵Stefan Kost2007-09-042-70/+151
| | | | | | | | | | | calculations. Appropriate use of uint64_scale_int... Original commit message from CVS: * gst/wavparse/gstwavparse.c: * gst/wavparse/gstwavparse.h: Implement seek-query. Refactor duration calculations. Appropriate use of uint64_scale_int and uint64_scale. Move repeadedly calculated stuff out of loops.
* gst/wavparse/Makefile.am: Add '-lm' to LIBS for ceil(), don't assume one of ↵Tim-Philipp Müller2007-05-251-1/+2
| | | | | | | | | our dependencies drags it in. Original commit message from CVS: * gst/wavparse/Makefile.am: Add '-lm' to LIBS for ceil(), don't assume one of our dependencies drags it in.
* gst/wavparse/gstwavparse.c: Skip LIST chunks before the fmt chunk (fixes ↵Tim-Philipp Müller2007-05-111-5/+1
| | | | | | | | | | #437499). Also fix streaming mode regression... Original commit message from CVS: * gst/wavparse/gstwavparse.c: (gst_wavparse_stream_headers): Skip LIST chunks before the fmt chunk (fixes #437499). Also fix streaming mode regression for file from #343837 with 'bext' chunk before the 'fmt' chunk.
* gst/wavparse/gstwavparse.c: Only set DISCONT when there actually is a ↵Wim Taymans2007-05-021-2/+15
| | | | | | | | | | discont or when we just started. Original commit message from CVS: * gst/wavparse/gstwavparse.c: (gst_wavparse_perform_seek), (gst_wavparse_stream_headers), (gst_wavparse_stream_data): Only set DISCONT when there actually is a discont or when we just started.
* gst/wavparse/gstwavparse.*: Be a bit more clever when dealing with VBR files ↵Wim Taymans2007-05-022-21/+36
| | | | | | | | | | | | | | with FACT tags, we don't want to timesta... Original commit message from CVS: * gst/wavparse/gstwavparse.c: (gst_wavparse_perform_seek), (gst_wavparse_stream_headers), (gst_wavparse_add_src_pad), (gst_wavparse_stream_data): * gst/wavparse/gstwavparse.h: Be a bit more clever when dealing with VBR files with FACT tags, we don't want to timestamp buffers in that case but the estimated BPS can be used for seeking. Only send close segment in the streaming thread.
* gst/wavparse/gstwavparse.*: Apply DISCONT to buffers.Wim Taymans2007-04-262-3/+25
| | | | | | | | | | Original commit message from CVS: * gst/wavparse/gstwavparse.c: (gst_wavparse_perform_seek), (gst_wavparse_stream_headers), (gst_wavparse_stream_data): * gst/wavparse/gstwavparse.h: Apply DISCONT to buffers. Only apply timestamp to the first sample after a DISCONT, too many VBR files cause random jitter in the timestamps. Fixes #433119.
* gst/wavparse/gstwavparse.c: Make header field check conditional. Fixes #433135Stefan Kost2007-04-251-5/+4
| | | | | | Original commit message from CVS: * gst/wavparse/gstwavparse.c: (gst_wavparse_stream_headers): Make header field check conditional. Fixes #433135
* gst/wavparse/gstwavparse.c: Use correct format strings for integer types.Vincent Torri2007-04-171-1/+1
| | | | | | | Original commit message from CVS: Patch by: Vincent Torri <vtorri at univ-evry dot fr> * gst/wavparse/gstwavparse.c: (gst_wavparse_stream_headers): Use correct format strings for integer types.
* gst/wavparse/gstwavparse.c: Use gst_riff_create_audio_template_caps () ↵Sebastian Dröge2007-04-171-66/+12
| | | | | | | | | | | instead of the local caps. Original commit message from CVS: * gst/wavparse/gstwavparse.c: (gst_wavparse_base_init), (gst_wavparse_create_sourcepad): Use gst_riff_create_audio_template_caps () instead of the local caps. This makes updates of the local caps unecessary whenever libgstriff gets support for new formats.
* gst/wavparse/gstwavparse.c: Relax the audio/mpeg caps again and add FIXME: ↵Stefan Kost2007-04-131-2/+4
| | | | | | | | | | comment. Original commit message from CVS: * gst/wavparse/gstwavparse.c: (uint64_ceiling_scale_int), (gst_wavparse_perform_seek), (gst_wavparse_stream_headers), (gst_wavparse_stream_data): Relax the audio/mpeg caps again and add FIXME: comment.
* gst/wavparse/gstwavparse.*: More sanity check for the header fields. Fix ↵Stefan Kost2007-04-132-8/+47
| | | | | | | | | | | | type for 'rate' header field. Original commit message from CVS: * gst/wavparse/gstwavparse.c: (uint64_ceiling_scale_int), (gst_wavparse_perform_seek), (gst_wavparse_stream_headers), (gst_wavparse_stream_data): * gst/wavparse/gstwavparse.h: More sanity check for the header fields. Fix type for 'rate' header field.
* gst/auparse/gstauparse.c: limit caps to the formats we announce in the templateStefan Kost2007-04-101-23/+34
| | | | | | | | | | Original commit message from CVS: * gst/auparse/gstauparse.c: (gst_au_parse_parse_header): limit caps to the formats we announce in the template * gst/wavparse/gstwavparse.c: (uint64_ceiling_scale_int), (gst_wavparse_perform_seek), (gst_wavparse_stream_headers), (gst_wavparse_add_src_pad), (gst_wavparse_stream_data): fix some crashers/asserts when dealing with broken files
* gst/wavparse/gstwavparse.c: Support audio/x-raw-float in wav files. This ↵Sebastian Dröge2007-03-301-0/+5
| | | | | | | | | | only works with plugins-base CVS, using an o... Original commit message from CVS: * gst/wavparse/gstwavparse.c: Support audio/x-raw-float in wav files. This only works with plugins-base CVS, using an older version doesn't have any disadvantages though.
* gst/wavenc/gstwavenc.c: Correctly handle width!=depth input.Sebastian Dröge2007-03-291-2/+9
| | | | | | | | | | Original commit message from CVS: * gst/wavenc/gstwavenc.c: (gst_wavenc_create_header_buf), (gst_wavenc_sink_setcaps): Correctly handle width!=depth input. * gst/wavparse/gstwavparse.c: Already export in the caps that width==8 uses unsigned samples and everything else uses signed samples.
* gst/wavparse/gstwavparse.c: Actually support depths from 1 to 32, not only 8 ↵Sebastian Dröge2007-03-281-1/+1
| | | | | | | | to 32. Original commit message from CVS: * gst/wavparse/gstwavparse.c: Actually support depths from 1 to 32, not only 8 to 32.
* gst/wavparse/gstwavparse.c: Add support for wav files containing ↵Sebastian Dröge2007-03-281-1/+1
| | | | | | | | | audio/x-raw-int with random depths between 1 and 32 ... Original commit message from CVS: * gst/wavparse/gstwavparse.c: Add support for wav files containing audio/x-raw-int with random depths between 1 and 32 bits.
* gst/wavparse/gstwavparse.c: Streaming mode fixes: don't unref buffer we ↵Tim-Philipp Müller2007-03-191-6/+1
| | | | | | | | | don't own any longer; remove bogus adapter fl... Original commit message from CVS: * gst/wavparse/gstwavparse.c: (gst_wavparse_stream_headers): Streaming mode fixes: don't unref buffer we don't own any longer; remove bogus adapter flush. Fixes #419338.
* Fix a bunch of leaks shown by the newly-added states test.Jan Schmidt2007-03-041-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * ext/flac/gstflacenc.c: (gst_flac_enc_finalize): * ext/gconf/gstgconfaudiosink.c: (gst_gconf_audio_sink_class_init), (gst_gconf_audio_sink_dispose), (gst_gconf_audio_sink_finalize): * ext/gconf/gstgconfaudiosrc.c: (gst_gconf_audio_src_base_init), (gst_gconf_audio_src_class_init), (gst_gconf_audio_src_dispose), (gst_gconf_audio_src_finalize), (do_toggle_element): * ext/gconf/gstgconfvideosink.c: (gst_gconf_video_sink_base_init), (gst_gconf_video_sink_class_init), (gst_gconf_video_sink_finalize), (do_toggle_element): * ext/gconf/gstgconfvideosrc.c: (gst_gconf_video_src_base_init), (gst_gconf_video_src_class_init), (gst_gconf_video_src_dispose), (gst_gconf_video_src_finalize), (do_toggle_element): * ext/gconf/gstswitchsink.c: (gst_switch_sink_class_init), (gst_switch_sink_reset), (gst_switch_sink_set_child): * ext/hal/gsthalaudiosink.c: (gst_hal_audio_sink_base_init): * ext/hal/gsthalaudiosrc.c: (gst_hal_audio_src_base_init): * ext/shout2/gstshout2.c: (gst_shout2send_class_init), (gst_shout2send_init), (gst_shout2send_finalize): * gst/debug/testplugin.c: (gst_test_class_init), (gst_test_finalize): * gst/flx/gstflxdec.c: (gst_flxdec_class_init), (gst_flxdec_dispose): * gst/multipart/multipartmux.c: (gst_multipart_mux_finalize): * gst/rtp/gstrtpmp4gpay.c: (gst_rtp_mp4g_pay_finalize): * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_init), (gst_rtspsrc_finalize): * gst/rtsp/rtspextwms.c: (rtsp_ext_wms_free_context): * gst/rtsp/rtspextwms.h: * gst/smpte/gstsmpte.c: (gst_smpte_class_init), (gst_smpte_finalize): * gst/udp/gstmultiudpsink.c: (gst_multiudpsink_finalize): * gst/udp/gstudpsink.c: (gst_udpsink_class_init), (gst_udpsink_finalize): * gst/wavparse/gstwavparse.c: (gst_wavparse_dispose), (gst_wavparse_sink_activate): * sys/oss/gstosssink.c: (gst_oss_sink_finalise): * sys/oss/gstosssrc.c: (gst_oss_src_class_init), (gst_oss_src_finalize): * sys/v4l2/gstv4l2object.c: (gst_v4l2_object_destroy): * sys/v4l2/gstv4l2object.h: * sys/v4l2/gstv4l2src.c: (gst_v4l2src_class_init), (gst_v4l2src_finalize): * sys/ximage/gstximagesrc.c: (gst_ximage_src_ximage_get): Fix a bunch of leaks shown by the newly-added states test.
* gst/wavparse/gstwavparse.c: Unbreak my previous commit (swapped nominator & ↵Stefan Kost2007-03-021-3/+3
| | | | | | | | | | denominator). Tim, thanks for spotting. Original commit message from CVS: * gst/wavparse/gstwavparse.c: (gst_wavparse_stream_headers), (gst_wavparse_stream_data): Unbreak my previous commit (swapped nominator & denominator). Tim, thanks for spotting.
* gst/wavparse/gstwavparse.c: Handle rounding better to not drop last sample ↵René Stadler2007-03-021-5/+22
| | | | | | | | | | | frame. Fixes #356692 Original commit message from CVS: Patch by: René Stadler <mail@renestadler.de> * gst/wavparse/gstwavparse.c: (uint64_ceiling_scale_int), (gst_wavparse_perform_seek), (gst_wavparse_stream_headers), (gst_wavparse_stream_data): Handle rounding better to not drop last sample frame. Fixes #356692