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.
Original commit message from CVS:
Patch by: Laurent Glayal <spglegle at yahoo dot fr>
* gst/udp/gstdynudpsink.c: (gst_dynudpsink_class_init),
(gst_dynudpsink_init), (gst_dynudpsink_set_property),
(gst_dynudpsink_get_property), (gst_dynudpsink_init_send),
(gst_dynudpsink_close):
* gst/udp/gstdynudpsink.h:
* gst/udp/gstudpsrc.c: (gst_udpsrc_class_init), (gst_udpsrc_init),
(gst_udpsrc_create), (gst_udpsrc_set_property),
(gst_udpsrc_get_property), (gst_udpsrc_start), (gst_udpsrc_stop):
* gst/udp/gstudpsrc.h:
Rework the socket allocation a bit based on the sockfd argument so that
it becomes usable.
Add a closefd property to instruct the udp elements to close the custom
file descriptors when going to READY. Fixes#423304.
API:GstUDPSrc::closefd property
API:GstDynUDPSink::closefd property
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.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_prepare_current_sample),
(gst_qtdemux_chain), (qtdemux_parse_samples):
* gst/qtdemux/qtdemux_dump.c: (qtdemux_dump_ctts):
* gst/qtdemux/qtdemux_dump.h:
* gst/qtdemux/qtdemux_fourcc.h:
* gst/qtdemux/qtdemux_types.c:
Process 'ctts' atoms, which are present in AVC ISO files (.mov files
with h264 video).
Use the offset present in 'ctts' to calculate the PTS for each packet
and set the PTS on outgoing buffers.
Fixes#423283
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (find_stream_by_setup),
(gst_rtspsrc_create_stream), (gst_rtspsrc_stream_free),
(get_default_rate_for_pt), (gst_rtspsrc_parse_rtpmap),
(gst_rtspsrc_media_to_caps),
(gst_rtspsrc_stream_configure_transport),
(gst_rtspsrc_stream_configure_caps),
(gst_rtspsrc_activate_streams), (gst_rtspsrc_parse_rtpinfo):
* gst/rtsp/gstrtspsrc.h:
Handle default clock-rates for static payload types, rearrange stuff so
that the rtpmap field in the sdp can override the defaults.
Parse RTP-Info field to get the seqnum and timebase fields that should
go in the caps.
Delay configuring caps after we got the RTP-Info from the PLAY reply from
the server.
Original commit message from CVS:
* gst/interleave/deinterleave.c: (gst_deinterleave_sink_setcaps):
Remove 'channel-positions' field when munging input caps into
1-channel output caps (I guess technically we should set the
position for each channel on the output caps if it's non-NONE,
but I'll save that as a task for another day).
Original commit message from CVS:
* gst/interleave/deinterleave.c: (gst_deinterleave_add_new_pads),
(gst_deinterleave_remove_pads), (gst_deinterleave_process),
(gst_deinterleave_chain):
Don't leak input buffer in chain function; maintain our own list of
source pads - there are no guarantees about the order of the list
in the GstElement struct, and we want a very specific order; lastly,
some more debugging.
Original commit message from CVS:
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_plugin_init):
Revert last commit, preventing infinite plugging loops with ranks
is no clean solution and in general there's no reason why one wants
to parse framed wavpack data again.
Original commit message from CVS:
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_push_block):
Send the new segment event in time format instead of bytes. This
allows "wavpackenc ! wavpackdec ! someaudiosink" pipelines.
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_plugin_init):
Accept framed and non-framed input, wavpackparse doesn't care. To
prevent "wavpackparse ! wavpackparse ! ..." pipelines lower the
rank of wavpackparse by one. This allows "wavpackenc ! wavpackparse !
..." pipelines.
Original commit message from CVS:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_chain):
Revert to use gst_pad_alloc_buffer() here. We can and should use it.
Thanks to Jan and Mike for noticing my mistake.
Original commit message from CVS:
Patch by: Christophe Dehais <christophe dot dehais at gmail dot com>
* ext/gconf/gconf.c: (gst_gconf_render_bin_with_default):
Accept complex pipeline descriptions as an audio profile instead of just
a single element. Fixes#420658.
Original commit message from CVS:
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_class_init),
(gst_wavpack_enc_init), (gst_wavpack_enc_chain),
(gst_wavpack_enc_rewrite_first_block):
* ext/wavpack/gstwavpackenc.h:
Put the write helpers into the GstWavpackEnc struct directly and not
as a pointer to save two small, but useless mallocs. This also makes
it possible to drop the finalize method.
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_push_buffer):
For consistency reasons also set GST_BUFFER_OFFSET_END on the outgoing
buffers the same way wavpackenc does it.
Original commit message from CVS:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_chain):
Don't use gst_pad_alloc_buffer() as we might clip the buffer later and
BaseTransform-based elements will likely break because of wrong
unit-size. Also plug a possible memleak that happens when decoding
fails for some reason.
Original commit message from CVS:
* gst/apetag/gsttagdemux.c: (gst_tag_demux_get_type):
Rename registered type in preparation of GstTagDemux moving to
-base at some point in the future.
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.
Original commit message from CVS:
* REQUIREMENTS: Change the format to key/value, add a bunch of
information, remove a bunch of requirements that are for
other GStreamer packages.
Original commit message from CVS:
* sys/osxvideo/osxvideosink.m:
Emit 'have-ns-view' message when working in embedded mode. The message
will contain a pointer to the newly created NSView.
Original commit message from CVS:
* gst/equalizer/gstiirequalizer10bands.c:
(gst_iir_equalizer_10bands_init):
A 10 band EQ should be initialized to 1 bands and not to 3.
Original commit message from CVS:
* gst/rtp/gstrtppcmapay.c:
* gst/rtp/gstrtppcmapay.h:
* gst/rtp/gstrtppcmupay.c:
* gst/rtp/gstrtppcmupay.h:
Ported mulaw and alaw payloaders to use new base class
Original commit message from CVS:
* sys/osxvideo/cocoawindow.h:
* sys/osxvideo/cocoawindow.m:
* sys/osxvideo/osxvideosink.h:
* sys/osxvideo/osxvideosink.m:
Fix leaks when running a NSApp.
Accept any kind of resolutions.
Works in fullscreen. Can maximize.
Only thing left before being able to move this to -good is documentation
and embedded window support.
Original commit message from CVS:
* gst/apetag/gsttagdemux.c: (gst_tag_demux_srcpad_event):
Fix handling of -1 values for start and stop values when seeking,
and SEEK_CUR+SEEK_END here as well.
Original commit message from CVS:
* gst/id3demux/gstid3demux.c: (gst_id3demux_srcpad_event):
Fix handling of -1 values for start and stop values when seeking,
and SEEK_CUR+SEEK_END.
Original commit message from CVS:
* gst/id3demux/id3v2frames.c: (parse_picture_frame):
Fix parsing of ID3 v2.2.0 PIC frames. Only in version >= 2.3.0 is
the image format a variable-length NUL-terminated string; in
versions before that the image format is a fixed-length string of
3 characters (see #348644 for a sample tag).
Also make supplied mime type lower-case and fix up 'jpg' to 'jpeg'.
Original commit message from CVS:
* sys/directdraw/gstdirectdrawsink.c:
* sys/directdraw/gstdirectdrawsink.h:
Handle display mode changes during playback.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_subindex),
(gst_avi_demux_parse_index):
* sys/v4l2/v4l2_calls.c: (gst_v4l2_fill_lists):
* sys/v4l2/v4l2src_calls.c: (gst_v4l2src_grab_frame):
Printf format fixes; also add some missing quotes in translated
strings. Fixes#416728 and #416727.
Original commit message from CVS:
* gst/autodetect/gstautoaudiosink.c: (gst_auto_audio_sink_find_best):
Tim and I can't think of any reason the child audio sink needs to
be set back to NULL after successfully determining that it can
reach READY - it gets immediately set back to READY by the caller
anyway, causing an unnecessary close/open of any audio devices
involved.
Original commit message from CVS:
* sys/sunaudio/gstsunaudio.c: (plugin_init):
* sys/sunaudio/gstsunaudiomixertrack.c:
(gst_sunaudiomixer_track_new):
Actually translate sunaudio mixer track labels instead of just
marking the strings as translatable (#377306); clean up weird
label string mapping code that serves no apparent purpose. Also
set the 'untranslated-label' property when creating mixer tracks
if the GstMixerTrack base class supports this.
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/sunaudio.c: (GST_START_TEST),
(sunaudio_suite):
Very minimalistic unit test for sunaudiomixer element (compiles, but not
actually tested on a system where sunaudiomixer is available).
Original commit message from CVS:
* ext/dv/gstdvdec.c: (gst_dvdec_init), (gst_dvdec_sink_setcaps),
(gst_dvdec_src_negotiate), (gst_dvdec_chain),
(gst_dvdec_change_state):
* ext/dv/gstdvdec.h:
Infer pixel-aspect-ratio from the video frame format if it isn't
provided by the container, as happens when playing DV from AVI
or Quicktime containers.
Patch by: Wim Taymans <wim@fluendo.com>
Fixes#380944
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_activate_streams):
When activated, remove the udpsrc timeout, we have dataflow and timeouts
will later be handled by the jitterbuffer.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream),
(gst_avi_demux_push_event), (gst_avi_demux_do_seek),
(gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data),
(gst_avi_demux_chain):
Fix stream position reporting after a seek. Fixes#416445.
Original commit message from CVS:
* gst/equalizer/Makefile.am:
* gst/equalizer/gstiirequalizer.c: (_do_init),
(gst_iir_equalizer_band_set_property),
(gst_iir_equalizer_band_get_property),
(gst_iir_equalizer_band_class_init),
(gst_iir_equalizer_band_get_type),
(gst_iir_equalizer_child_proxy_get_child_by_index),
(gst_iir_equalizer_child_proxy_get_children_count),
(gst_iir_equalizer_child_proxy_interface_init),
(gst_iir_equalizer_base_init), (gst_iir_equalizer_class_init),
(gst_iir_equalizer_finalize), (setup_filter),
(gst_iir_equalizer_compute_frequencies),
(gst_iir_equalizer_set_property), (gst_iir_equalizer_get_property),
(gst_iir_equalizer_setup), (plugin_init):
* gst/equalizer/gstiirequalizer.h:
* gst/equalizer/gstiirequalizernbands.c:
(gst_iir_equalizer_nbands_base_init),
(gst_iir_equalizer_nbands_class_init),
(gst_iir_equalizer_nbands_init),
(gst_iir_equalizer_nbands_set_property),
(gst_iir_equalizer_nbands_get_property):
* gst/equalizer/gstiirequalizernbands.h:
Refactor plugin into a base class and a first subclass (nband eq). The
nband eq uses GstChildProxy and is controlable. More subclasses will
follow.
Original commit message from CVS:
Patch by: René Stadler <mail at renestadler dot de>
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream),
(gst_avi_demux_push_event), (gst_avi_demux_process_next_entry),
(gst_avi_demux_stream_data), (gst_avi_demux_chain):
Make avidemux accept optional header chunks in any order.
Fixes#415446.
Original commit message from CVS:
reviewed by: Stefan Kost <ensonic@users.sf.net>
* gst/audiofx/Makefile.am:
* gst/audiofx/audiodynamic.c:
(gst_audio_dynamic_characteristics_get_type),
(gst_audio_dynamic_mode_get_type),
(gst_audio_dynamic_set_process_function),
(gst_audio_dynamic_base_init), (gst_audio_dynamic_class_init),
(gst_audio_dynamic_init), (gst_audio_dynamic_set_property),
(gst_audio_dynamic_get_property), (gst_audio_dynamic_setup),
(gst_audio_dynamic_transform_hard_knee_compressor_int),
(gst_audio_dynamic_transform_hard_knee_compressor_float),
(gst_audio_dynamic_transform_soft_knee_compressor_int),
(gst_audio_dynamic_transform_soft_knee_compressor_float),
(gst_audio_dynamic_transform_hard_knee_expander_int),
(gst_audio_dynamic_transform_hard_knee_expander_float),
(gst_audio_dynamic_transform_soft_knee_expander_int),
(gst_audio_dynamic_transform_soft_knee_expander_float),
(gst_audio_dynamic_transform_ip):
* gst/audiofx/audiodynamic.h:
* gst/audiofx/audiofx.c: (plugin_init):
Add new audiodynamic element which can act as a compressor or
expander. Supported are hard-knee and soft-knee operation modes with
user-specified ratio and threshold.
Attack and release parameters are not yet implemented but will follow.
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-good-plugins-docs.sgml:
* docs/plugins/gst-plugins-good-plugins-sections.txt:
* docs/plugins/gst-plugins-good-plugins.args:
* docs/plugins/inspect/plugin-audiofx.xml:
Integrate audiodynamic into the docs.
* tests/check/Makefile.am:
* tests/check/elements/audiodynamic.c: (setup_dynamic),
(cleanup_dynamic), (GST_START_TEST), (dynamic_suite), (main):
Add unit test for audiodynamic.