Original commit message from CVS:
* ext/taglib/gstapev2mux.cc:
* ext/taglib/gstid3v2mux.cc:
* gst/apetag/gstapedemux.c:
Add support for the new GST_TAG_COMPOSER (#459809).
Original commit message from CVS:
* ext/cairo/gsttextoverlay.c:
Add info about static leak.
* tests/check/Makefile.am:
* tests/check/generic/states.c:
Improved state change unit test.
Original commit message from CVS:
* ext/taglib/gstapev2mux.cc:
* ext/taglib/gstid3v2mux.cc:
Work around compiler warnings with g++-4.2 when assigning a
string constant to a gchar * (partially fixes#478092).
Original commit message from CVS:
* ext/taglib/gstapev2mux.cc:
* ext/taglib/gstapev2mux.h:
* ext/taglib/gsttaglibmux.c:
* tests/check/elements/apev2mux.c:
Update my mail address.
Original commit message from CVS:
* ext/gconf/gstgconfaudiosink.c:
Fix warning when building without debug.
* sys/oss/gstossmixertrack.c:
Use const like in alsamixertrack.c (fixes warnings).
Original commit message from CVS:
* ext/gconf/gstswitchsink.c:
If the new kid element fails to change state for some reason
(e.g. esdsink not being able to connect to the sound server),
forward the error message it posted on the bus instead of just
posting a generic 'Internal state change error: please file a
bug' error message. Fixes#471364.
Original commit message from CVS:
* ext/gconf/gconf.c: (gst_gconf_render_bin_with_default):
Handle a NULL gconf key gracefully by rendering the default element.
Original commit message from CVS:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_chain):
Don't unref the outgoing buffer twice when dropping it because it's
outside of the segment.
Original commit message from CVS:
* configure.ac:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_reset),
(gst_wavpack_dec_chain), (gst_wavpack_dec_sink_event):
Use the new buffer clipping function from gstaudio here and
require gst-plugins-base CVS.
* tests/check/elements/wavpackdec.c: (GST_START_TEST):
For framed Wavpack buffers we require a valid timestamp.
Original commit message from CVS:
* ext/wavpack/gstwavpackdec.c:
(gst_wavpack_dec_clip_outgoing_buffer):
Fix buffer clipping to correctly clip to the segment stop.
Original commit message from CVS:
* ext/libpng/gstpngdec.c: (gst_pngdec_caps_create_and_set):
Remove endianness-flipping hack that seems to have been required
only because of a bug in ffmpegcolorspace.
Partially Fixes: #451908
Original commit message from CVS:
* ext/wavpack/gstwavpackparse.c:
(gst_wavpack_parse_index_get_last_entry),
(gst_wavpack_parse_index_get_entry_from_sample),
(gst_wavpack_parse_index_append_entry), (gst_wavpack_parse_reset),
(gst_wavpack_parse_scan_to_find_sample):
* ext/wavpack/gstwavpackparse.h:
Use a GSList for the GArray that is used like a list anyway.
Original commit message from CVS:
* ext/gdk_pixbuf/gstgdkpixbuf.c: (gst_gdk_pixbuf_sink_setcaps),
(gst_gdk_pixbuf_class_init), (gst_gdk_pixbuf_flush),
(gst_gdk_pixbuf_sink_event), (gst_gdk_pixbuf_change_state):
Add state change function where we set 0/1 as default framerate in
case our setcaps function isn't called, like it might not in a
filesrc ! gdkpixbufdec scenario. Fixes assertion triggered by
gdkpixbufdec trying to create caps with a 0/0 framerate.
Also post an error message on the bus if gst_pad_push() fails when
called from our sink event handler (+1 for flow returns for event
functions in 0.11) instead of failing silently.
Original commit message from CVS:
* ext/gconf/gconf.h:
Make the prototype of gst_gconf_get_key_for_sink_profile
match the implementation.
Patch by: Damien Carbery <damien dot carbery at sun dot com>
Fixes: #449747
Original commit message from CVS:
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_sink_set_caps):
Remove workaround for bug #421543. This is fixed in core 0.10.13 and
not necessary anymore as we need at least that core version.
Original commit message from CVS:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_reset),
(gst_wavpack_dec_chain):
* ext/wavpack/gstwavpackdec.h:
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_reset),
(gst_wavpack_parse_push_buffer):
* ext/wavpack/gstwavpackparse.h:
Improve discont handling by checking if the next Wavpack block has
the expected, following block index.
Original commit message from CVS:
* ext/dv/gstdvdemux.c: (gst_dvdemux_loop):
* ext/libpng/gstpngdec.c: (user_read_data), (gst_pngdec_task):
When operating in pull mode, error out correct on not-linked.
Original commit message from CVS:
* ext/speex/gstspeexdec.c: (speex_dec_chain_parse_data):
Use different variables for nested for loops so that the outer loop
functions properly and speex files with multiple frames per buffer work
properly.
Fixes#441408.
Original commit message from CVS:
* ext/flac/gstflacenc.c: (gst_flac_enc_init),
(notgst_value_array_append_buffer),
(gst_flac_enc_process_stream_headers),
(gst_flac_enc_write_callback), (gst_flac_enc_chain),
(gst_flac_enc_change_state):
* ext/flac/gstflacenc.h:
Collect headers, add "streamheader" field to output caps and set
BUFFER_IN_CAPS flag on pushed header buffers. That way oggmux
produces output according to the official FLAC-to-Ogg mapping
instead of completely broken files. Fixes#426044.
Original commit message from CVS:
* ext/flac/gstflacenc.c: (gst_flac_enc_sink_setcaps),
(gst_flac_enc_chain):
Don't crash in chain function if setcaps hasn't been called.
Original commit message from CVS:
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_class_init),
(gst_wavpack_enc_set_property), (gst_wavpack_enc_get_property):
Specify and use properties as unsigned int that are an unsigned int.
Original commit message from CVS:
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_class_init),
(gst_wavpack_enc_init), (gst_wavpack_enc_set_wp_config),
(gst_wavpack_enc_set_property), (gst_wavpack_enc_get_property):
* ext/wavpack/gstwavpackenc.h:
Fixup docs, make the bitrate property an int as it should be and
allow to set the different extra processing modes instead of only
allowing none and the default one.
Original commit message from CVS:
* ext/wavpack/gstwavpackenc.c:
Add missing audioconverts in the example pipelines of wavpackenc. As
the wavpack stuff now needs input with 32 bit width (and random depth)
this is needed now. The example pipelines for the parser and decoder
are still fine.
Original commit message from CVS:
* ext/raw1394/gstdv1394src.c: (gst_dv1394src_uri_set_uri):
Replace direct comparison of a string with the string literal "" with
a comparison of the first character with '\0'. Fixes#438926.
Original commit message from CVS:
* ext/wavpack/gstwavpack.c: (plugin_init):
Call bindtextdomain() to get localized strings.
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_chain):
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_reset),
(gst_wavpack_parse_handle_seek_event),
(gst_wavpack_parse_push_buffer), (gst_wavpack_parse_chain):
* ext/wavpack/gstwavpackparse.h:
Handle DISCONT buffers by correctly setting the DISCONT flag
on outgoing buffers when necessary.
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_handle_seek_event)
Send newsegment from the streaming thread.
Original commit message from CVS:
* ext/flac/gstflacdec.c: (gst_flac_dec_loop):
Correctly post an error on the bus if something went wrong in the loop
function. This fixes a few cases where the task was paused and nothing
happened anymore.
Original commit message from CVS:
* ext/wavpack/gstwavpackparse.c:
(gst_wavpack_parse_handle_seek_event):
Remove old workaround that was needed when seeking after the last
sample. With the fixed error handling this works now as expected
without pushing the last sample although it wasn't requested.
Original commit message from CVS:
* ext/wavpack/gstwavpackparse.c:
(gst_wavpack_parse_handle_seek_event):
Handle segment seeks in the seek event handler, correctly work with
stop position == -1 and instead of stopping the task on seek just
pause it.
Original commit message from CVS:
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_pull_buffer),
(gst_wavpack_parse_create_src_pad),
(gst_wavpack_parse_resync_loop), (gst_wavpack_parse_loop),
(gst_wavpack_parse_chain):
Correctly handle errors, especially in the loop function. Before it
was easy to get the task paused but no error being posted on the bus.
Original commit message from CVS:
* ext/libpng/gstpngdec.c: (gst_pngdec_task):
If we get a fatal flow return in the loop function, first post the
error message and only then send the EOS event downstream, otherwise
applications might get an eos message before the error message and
think everything was ok (related to #429319).
Original commit message from CVS:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_reset),
(gst_wavpack_dec_init), (gst_wavpack_dec_sink_set_caps),
(gst_wavpack_dec_clip_outgoing_buffer),
(gst_wavpack_dec_post_tags), (gst_wavpack_dec_chain):
* ext/wavpack/gstwavpackdec.h:
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_reset),
(gst_wavpack_enc_sink_set_caps), (gst_wavpack_enc_set_wp_config),
(gst_wavpack_enc_chain):
* ext/wavpack/gstwavpackenc.h:
* ext/wavpack/gstwavpackparse.c:
Don't play audioconvert. As wavpack wants/outputs all samples with
width==32 and depth=[1,32] accept this and let audioconvert convert
to accepted formats instead of doing it in the element for n*8 depths.
This also adds support for non-n*8 depths and prevents some useless
memory allocations. Fixes#421598
Also add a workaround for bug #421542 in wavpackenc for now...
* tests/check/elements/wavpackdec.c: (GST_START_TEST):
* tests/check/elements/wavpackenc.c: (GST_START_TEST):
* tests/check/elements/wavpackparse.c: (GST_START_TEST):
Consider the change above in the unit tests and test if the correct
caps are accepted and set. Also check for GST_BUFFER_OFFSET_END in
the wavpackparse unit test.
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_init),
(gst_wavpack_dec_sink_set_caps):
Set caps on the src pad as soon as possible.
* ext/wavpack/gstwavpackdec.h:
* ext/wavpack/gstwavpackcommon.h:
* ext/wavpack/gstwavpackenc.h:
* ext/wavpack/gstwavpackparse.h:
Fix indention. gst-indent is now called by cicl.
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:
* 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:
* ext/raw1394/gstdv1394src.c: (gst_dv1394src_start):
Free handles that we allocated when exiting via the error paths.
Original commit message from CVS:
* ext/wavpack/gstwavpack.c: (plugin_init):
* ext/wavpack/gstwavpackcommon.c:
Use a general wavpack debug category for common code.
* ext/wavpack/gstwavpackstreamreader.c:
(gst_wavpack_stream_reader_set_pos_abs),
(gst_wavpack_stream_reader_set_pos_rel),
(gst_wavpack_stream_reader_write_bytes):
Use the general wavpack debug category here too and add debug
output to the functions that should not be called at all by
the wavpack library.
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_plugin_init):
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_plugin_init):
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_plugin_init):
Change debugging category names to conform to the conventions.
Original commit message from CVS:
* ext/gconf/gstswitchsink.c: (gst_switch_sink_dispose),
(gst_switch_commit_new_kid):
Fix up the dispose logic so it doesn't leak, and fix setting of
the child state so that we don't set a child to our current state
just as we are changing it to something else.
Original commit message from CVS:
* ext/gconf/gstswitchsink.c: (gst_switch_sink_dispose),
(gst_switch_commit_new_kid):
Fix up the reference counting of the child elements.
Original commit message from CVS:
* ext/gconf/gstswitchsink.c: (gst_switch_sink_reset),
(gst_switch_commit_new_kid), (gst_switch_sink_set_child):
Install fakesink in NULL by fixing some broken logic. This obviates
the need to manually set _IS_SINK.
Add some comments and remove a little cruft while I'm at it.
Original commit message from CVS:
* ext/gconf/gstswitchsink.c: (gst_switch_sink_reset):
Mark us as a sink when we have no fakesink in NULL. Fixes#414887.
Original commit message from CVS:
* ext/cdio/gstcdiocddasrc.c: (gst_cdio_cdda_src_open),
(gst_cdio_cdda_src_finalize):
Make sure we always destroy our libcdio handle.
Original commit message from CVS:
* ext/dv/gstdvdec.c: (gst_dvdec_init):
Use gst_pad_new_from_static_template instead of
static_pad_template_get+pad_new.
Original commit message from CVS:
Patch by: Loïc Minier <lool+gnome at via ecp fr>
* ext/libcaca/Makefile.am:
* gst/debug/Makefile.am:
Don't mix tabs and spaces (#414168).
Original commit message from CVS:
* ext/cdio/gstcdiocddasrc.c: (gst_cdio_cdda_src_probe_devices),
(gst_cdio_cdda_src_read_sector), (gst_cdio_cdda_src_open),
(gst_cdio_cdda_src_finalize):
Small code cleanups.
Don't use pad_alloc as the base class cannot deal with the error codes.
Original commit message from CVS:
* ext/hal/gsthalaudiosink.c: (do_toggle_element):
* ext/hal/gsthalaudiosrc.c: (do_toggle_element):
Having NULL as UDI previously selected the default sink/src. Change
this back but mention it in the debug output.
* ext/hal/hal.c: (gst_hal_get_alsa_element),
(gst_hal_get_oss_element), (gst_hal_get_string),
(gst_hal_render_bin_from_udi), (gst_hal_get_audio_sink),
(gst_hal_get_audio_src):
* ext/hal/hal.h:
Refactor a bit, check all error conditions, greatly improve debugging
and fix some possible memory leaks. Also implement OSS support
and allow specifying an UDI that points to a real device. For this the
child device which supports ALSA (preferred) or OSS is used.
As a side effect this makes it impossible now to get a alsasink in
halaudiosrc and a alsasrc in halaudiosink.
Original commit message from CVS:
* ext/hal/gsthalaudiosink.c: (do_toggle_element):
* ext/hal/gsthalaudiosrc.c: (do_toggle_element):
Check if the device UDI is set before trying to query HAL
about it and give a useful error message if it wasn't set.
* ext/hal/hal.c: (gst_hal_get_string):
Don't query HAL for NULL UDIs. Passing NULL as UDI to HAL
gives an assertion failure in D-Bus when running with
DBUS_FATAL_WARNINGS=1.
Original commit message from CVS:
* ext/shout2/gstshout2.c: (gst_shout2send_class_init),
(gst_shout2send_init), (gst_shout2send_start),
(gst_shout2send_set_property), (gst_shout2send_get_property):
* ext/shout2/gstshout2.h:
Add a property for username.
Original commit message from CVS:
* ext/gconf/gstgconfaudiosink.c: (gst_gconf_audio_sink_reset),
(do_change_child):
Don't reset the profile when going switching states, as it makes
the element non-reusable.
Original commit message from CVS:
* ext/gconf/Makefile.am:
* ext/gconf/gconf.c: (gst_gconf_get_string),
(gst_gconf_get_key_for_sink_profile), (gst_gconf_set_string),
(gst_gconf_render_bin_with_default):
* ext/gconf/gconf.h:
* ext/gconf/gstgconfaudiosink.c: (gst_gconf_audio_sink_base_init),
(gst_gconf_audio_sink_reset), (gst_gconf_audio_sink_init),
(gst_gconf_audio_sink_dispose), (do_change_child),
(gst_gconf_switch_profile), (gst_gconf_audio_sink_set_property),
(cb_change_child), (gst_gconf_audio_sink_change_state):
* ext/gconf/gstgconfaudiosink.h:
* ext/gconf/gstswitchsink.c: (gst_switch_sink_base_init),
(gst_switch_sink_class_init), (gst_switch_sink_reset),
(gst_switch_sink_init), (gst_switch_sink_dispose),
(gst_switch_commit_new_kid), (gst_switch_sink_set_child),
(gst_switch_sink_set_property), (gst_switch_sink_handle_event),
(gst_switch_sink_get_property), (gst_switch_sink_change_state):
* ext/gconf/gstswitchsink.h:
* gst/autodetect/gstautoaudiosink.c:
(gst_auto_audio_sink_class_init), (gst_auto_audio_sink_dispose),
(gst_auto_audio_sink_clear_kid), (gst_auto_audio_sink_reset),
(gst_auto_audio_sink_detect):
* gst/autodetect/gstautovideosink.c:
(gst_auto_video_sink_class_init), (gst_auto_video_sink_dispose),
(gst_auto_video_sink_clear_kid), (gst_auto_video_sink_reset),
(gst_auto_video_sink_detect):
Re-factor the gconfaudiosink into a "GstSwitchSink" base class
and a child that implements the GConf key monitoring. The end goal of
this is an audio sink that can be changed on the fly, but at the
moment it still only changes on the next READY transition.
Original commit message from CVS:
* ext/hal/hal.c: (gst_hal_get_string):
* ext/hal/hal.h:
Some small cleanups; deal with errors when parsing the HAL ALSA
capabilities a bit better.
Original commit message from CVS:
* ext/gconf/gconf.c: (gst_gconf_get_key_for_sink_profile),
(gst_gconf_render_bin_from_key),
(gst_gconf_get_default_audio_sink):
* ext/gconf/gconf.h:
* ext/gconf/gstgconfaudiosink.c: (get_gconf_key_for_profile),
(do_toggle_element), (gst_gconf_audio_sink_set_property),
(gst_gconf_audio_sink_get_property):
In gconfaudiosink, get the right key as the old key in do_toggle
(ie. one dependent on the profile selected). Log some more stuff so
we can see what's actually going on.
Original commit message from CVS:
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_src_query),
(gst_wavpack_parse_handle_seek_event),
(gst_wavpack_parse_create_src_pad):
Fix a off by one that leads to the duration reported as one
sample less than it is
Original commit message from CVS:
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_src_query):
Fix the SEEKING query. We can seek if we are in pull mode, not the
other way around. Also set the correct format in the seeking query and
handle the case where the headers are not read yet and we can't say
anything about our seeking capabilities.
Original commit message from CVS:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_base_init):
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_base_init):
Fix spelling in 2 places: It's called Wavpack, not WavePack.
Original commit message from CVS:
Patch by: Sebastian Dröge <slomo@circular-chaos.org>
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_mode_get_type),
(gst_wavpack_enc_correction_mode_get_type),
(gst_wavpack_enc_joint_stereo_mode_get_type):
Minor clean-up: use enum values instead of hardcoded constants (#395536).
Original commit message from CVS:
Patch by: Vincent Torri <vtorri at univ-evry fr>
* ext/jpeg/gstjpegdec.c:
* ext/jpeg/gstjpegenc.c:
* ext/jpeg/smokecodec.c:
These libjpeg callbacks should return a 'boolean' (unsigned char
apparently) and not a 'gboolean' (which maps to gint). Fixes
warnings when compiling with MingW (#393427).
* gst/rtsp/rtspconnection.c: (rtsp_connection_read):
Use ioctlsocket on win32.
* gst/udp/gstudpsrc.c: (gst_udpsrc_create):
Some printf format fixes for win32.
Original commit message from CVS:
* ext/esd/esdsink.c: (gst_esdsink_delay):
Don't return bogus values when esd_get_delay() fails for some
reason (#392189).
Original commit message from CVS:
* ext/ladspa/gstsignalprocessor.c: (gst_signal_processor_setcaps),
(gst_signal_processor_event):
Reset flow_state back to _OK after a flush stop so that we exit our
error state after the flush. Fixes#374213
Original commit message from CVS:
* ext/wavpack/gstwavpackenc.h:
Use local copy of md5.h, as it disappeared in recent wavpack
installs.
Patch by: Sebastian Dröge <slomo at ubuntu dot com>
Fixes: #387076
Original commit message from CVS:
* ext/gconf/gstgconfaudiosrc.c: (gst_gconf_audio_src_init),
(gst_gconf_audio_src_dispose), (do_toggle_element):
* ext/gconf/gstgconfaudiosrc.h:
Remove gconf notify hook when the gconfaudiosrc element is
destroyed, otherwise the callback may be called on an
already-destroyed instance and bad things happen. Should fix
#378184.
Also ignore gconf key changes when the source is already running.
Original commit message from CVS:
* ext/taglib/gstid3v2mux.cc:
Don't attempt to write a NULL frame into the ID3 tag set when the
createFrame method returned NULL.
Fixes: #381857
Patch by: Jonathan Matthew <jonathan at 0kaolin wh9 net >
Original commit message from CVS:
* ext/libcaca/gstcacasink.c: (gst_cacasink_class_init):
Fix width and height properties.
* ext/libcaca/gstcacasink.h:
Fix compilation on newer libcaca that require us to include a new
header. Fixes#379918.
Original commit message from CVS:
Patch by: Sebastian Dröge <slomo@circular-chaos.org>
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_reset),
(gst_wavpack_dec_init), (gst_wavpack_dec_change_state):
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_base_init),
(gst_wavpack_enc_class_init), (gst_wavpack_enc_reset),
(gst_wavpack_enc_init), (gst_wavpack_enc_set_wp_config),
(gst_wavpack_enc_change_state):
* ext/wavpack/gstwavpackparse.c:
Some small clean-ups: use enums instead of hard-coded numbers,
const-ify element details, re-factor some code into _reset()
functions (#352605).
Original commit message from CVS:
Patch by: Sebastian Dröge <slomo at circular-chaos.org>
* configure.ac:
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_mode_get_type),
(gst_wavpack_enc_correction_mode_get_type),
(gst_wavpack_enc_joint_stereo_mode_get_type),
(gst_wavpack_enc_init), (gst_wavpack_enc_set_wp_config):
Fix enum nicks; only emit no-more-pads once; add support for very
fast encoding mode in upcoming 4.40.0 release (#369539).
Original commit message from CVS:
* ext/cdio/gstcdio.c: (gst_cdio_get_cdtext):
* ext/cdio/gstcdio.h:
* ext/cdio/gstcdiocddasrc.c: (gst_cdio_cdda_src_open):
Move CD-TEXT utility function into common file so it can also be
used by a future cdioparanoiasrc.
Original commit message from CVS:
* gst/id3demux/id3v2frames.c: (parse_picture_frame):
We require a -base more recent than 0.10.9, so it's safe to use
GST_TYPE_TAG_IMAGE_TYPE unconditionally now.
* ext/dv/gstdvdec.c: (gst_dvdec_sink_event):
* ext/jpeg/gstjpegdec.c: (gst_jpeg_dec_sink_event):
Use _newsegment_full() now that we depend on a recent enough core.
* gst/wavparse/gstwavparse.c:
Remove cruft that we don't need any longer now that we depend on
a recent enough -base.
Original commit message from CVS:
* ext/speex/gstspeexdec.c: (speex_dec_convert),
(speex_dec_sink_event), (speex_dec_chain_parse_header):
Some small cleanups, use _scale.
Original commit message from CVS:
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_set_wp_config):
* ext/wavpack/gstwavpackparse.c:
(gst_wavpack_parse_create_src_pad):
* gst/nuvdemux/gstnuvdemux.c: (gst_nuv_demux_create_pads):
* tests/check/elements/wavpackparse.c: (wavpackparse_found_pad):
Activate pads before adding them to running element.
Original commit message from CVS:
* ext/speex/gstspeexenc.c: (gst_speexenc_finalize),
(gst_speexenc_set_last_msg), (gst_speexenc_setup),
(gst_speexenc_set_header_on_caps):
Fix some mem leaks.
Original commit message from CVS:
* ext/jpeg/gstjpegdec.c:
Set minimum height to 8 (from 16), our code should handle
that fine. Some of the buttons on the apple trailer site
are apparently only 15 pixels high (see #357470).
Original commit message from CVS:
Patch by: Alessandro Decina <alessandro at nnva dot org>
* ext/annodex/gstcmmldec.c: (gst_cmml_dec_chain):
Seeking back in a file containing a CMML stream errors out if the seek
goes back up to the CMML headers. This is because after the seek the xml
processing instruction <?xml ...?> is submitted to the xml parser again,
which results in an error. The attached patch fixes the problem.
Fixes#353908.
* ext/annodex/gstcmmlenc.h:
Fix authors name.
Original commit message from CVS:
2006-08-28 Andy Wingo <wingo@pobox.com>
* ext/raw1394/gstdv1394src.c (gst_dv1394src_from_raw1394handle):
New helper function to lessen the ifdefs.
(GST_INFO_OBJECT):
(gst_dv1394src_iso_receive): Use it.
(gst_dv1394src_create): Also use the control sockets in iec61883
mode.
(gst_dv1394src_start, gst_dv1394src_stop): Always use a separate
handle for AVC operations; fixes#348233.
Original commit message from CVS:
Patch by: Alessandro Decina <alessandro at nnva dot org>
* ext/annodex/gstannodex.c: (gst_annodex_granule_to_time):
Do some extra sanity checks.
Fixes#350340.
* ext/annodex/gstcmmlenc.c: (gst_cmml_enc_change_state),
(gst_cmml_enc_parse_tag_head), (gst_cmml_enc_parse_tag_clip),
(gst_cmml_enc_push_clip), (gst_cmml_enc_push):
Check if clip->start_time is valid before adding the clip to the
track list.
Reset enc->preamble going from PAUSED to READY.
Don't use GST_FLOW_UNEXPECTED for wrong usage of the element, it is
only used for EOS.
Only post an error message if we were the one that created the fatal
GstFlowReturn value.
* ext/annodex/gstcmmlutils.c: (gst_cmml_clock_time_from_npt),
(gst_cmml_clock_time_to_granule), (gst_cmml_track_list_has_clip):
Parse the seconds field of the npt-sec time format using %llu rather than
%d and check that the value scaled by GST_SECOND doesn't overflow.
Use guint64(s) to represent the keyindex and keyoffset fields of a granulepos.
Lookup a clip's track with clip->track rather than clip->id which
makes no sense.
Identify a clip by its track and start time and not its xml id.
do some more input checking and make sure we don't do undefined shifts.
* tests/check/elements/cmmldec.c: (setup_cmmldec),
(teardown_cmmldec), (check_output_buffer_is_equal), (push_data),
(cmml_tag_message_pop), (check_headers), (push_clip_full),
(push_clip), (push_empty_clip), (check_output_clip),
(GST_START_TEST), (cmmldec_suite):
* tests/check/elements/cmmlenc.c: (setup_cmmlenc),
(teardown_cmmlenc), (check_output_buffer_is_equal), (push_data),
(check_headers), (push_clip), (check_clip_times), (check_clip),
(check_empty_clip), (GST_START_TEST), (cmmlenc_suite):
Added some more checks.
Original commit message from CVS:
Patch by: Sebastian Dröge <slomo at circular-chaos.org>
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_post_tags),
(gst_wavpack_dec_chain):
Post audio codec and average bitrate tags on bus (#344472).
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_base_init),
(gst_wavpack_parse_src_query):
Forward queries in other formats (BYTE format in particular)
upstream; add Sebastian to authors.
Original commit message from CVS:
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_push_block):
Fix mem leak, send newsegment event on correction pad
as well (#352476).
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_base_init):
Restore original author (on Sebastian's request).
* tests/check/Makefile.am:
* tests/check/gst-plugins-bad.supp:
Add (so far empty) suppression file for -bad. Remove
wavpackenc test from VALGRIND_TO_FIX now that the leak
is fixed.
Original commit message from CVS:
* ext/flac/gstflacdec.c: (gst_flac_dec_scan_got_frame),
(gst_flac_dec_write), (gst_flac_dec_loop),
(gst_flac_dec_sink_event), (gst_flac_dec_chain),
(gst_flac_dec_src_query):
* ext/flac/gstflacdec.h:
Make flac-in-ogg work (#352100).
Original commit message from CVS:
* ext/speex/gstspeexdec.c: (speex_dec_chain_parse_comments):
Make metadata extraction actually work.
* ext/speex/gstspeexenc.c: (gst_speexenc_base_init),
(gst_speexenc_init), (gst_speexenc_create_metadata_buffer),
(gst_speexenc_chain):
Fix metadata writing: replace old code which wrote completely
broken tags with libgsttag-based code. Plus miscellaneous
code cleanups (use static pad templates etc.) and a bunch
of leak fixes.
Original commit message from CVS:
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_init),
(gst_wavpack_enc_finalize), (gst_wavpack_enc_sink_set_caps),
(gst_wavpack_enc_set_wp_config), (gst_wavpack_enc_format_samples),
(gst_wavpack_enc_push_block), (gst_wavpack_enc_chain),
(gst_wavpack_enc_rewrite_first_block),
(gst_wavpack_enc_sink_event), (gst_wavpack_enc_change_state),
(gst_wavpack_enc_set_property), (gst_wavpack_enc_get_property):
* ext/wavpack/gstwavpackenc.h:
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_reset),
(gst_wavpack_parse_src_query), (gst_wavpack_parse_src_event),
(gst_wavpack_parse_init), (gst_wavpack_parse_get_upstream_length),
(gst_wavpack_parse_loop):
More clean-ups: use shorter variable names to make code easier to
read; prefix structures we define with 'Gst' to make it clearer
where they come from.
Original commit message from CVS:
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_init),
(gst_wavpack_enc_set_wp_config), (gst_wavpack_enc_push_block),
(gst_wavpack_enc_chain), (gst_wavpack_enc_rewrite_first_block),
(gst_wavpack_enc_sink_event):
Fix caps set on buffers and template caps (output is framed)
and make them match (#351663); use GST_WARNING_OBJECT instead of
GST_ELEMENT_WARNING; simplify push_block(); do some small
clean-ups here and there; fix memleak (#351663).
Original commit message from CVS:
* ext/gdk_pixbuf/pixbufscale.c: (gst_pixbufscale_get_unit_size):
* gst/videobox/gstvideobox.c: (gst_video_box_get_unit_size):
use g_assert in _get_unit_size
Original commit message from CVS:
* docs/plugins/gst-plugins-good-plugins-docs.sgml:
* docs/plugins/gst-plugins-good-plugins-sections.txt:
* docs/plugins/inspect/plugin-audiofxgood.xml:
cleanup -unused.txt to make it useful, add previously missing docs
* ext/Makefile.am:
* ext/esd/esdmon.c:
* ext/esd/esdsink.c:
* ext/esd/gstesd.c: (plugin_init):
reflow to get rid of two external symbols
* gst/audiofxgood/audiofx.c: (plugin_init):
re-add
Original commit message from CVS:
Based on patch by: Sebastian Dröge <slomo at circular-chaos.org>
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_sink_event),
(gst_wavpack_parse_get_upstream_length),
(gst_wavpack_parse_find_marker), (gst_wavpack_parse_resync_loop),
(gst_wavpack_parse_loop), (gst_wavpack_parse_resync_adapter):
Fix resyncing in push mode not stopping re-syncing at embedded
zeroes; skip garbage between frames in pull mode as well if
necessary; use gst_pad_query_peer_duration(); push EOS and
NEWSEGMENT event in right direction (#351659).
Original commit message from CVS:
* ext/dv/gstdvdemux.c: (gst_dvdemux_handle_pull_seek),
(gst_dvdemux_loop), (gst_dvdemux_change_state):
* ext/dv/gstdvdemux.h:
When handling seek requests, don't send the newsegment event from the
calling thread. Instead save it so it can be sent from the streaming
thread.
Original commit message from CVS:
* ext/ladspa/gstladspa.c: (gst_ladspa_base_init):
Convert ' ' into '_'. Try to keep as many characters in the padtemplate
names as possible.
Original commit message from CVS:
* ext/ladspa/gstsignalprocessor.c: (gst_signal_processor_flush),
(gst_signal_processor_do_pushes):
A push() gives away our refcount so we should not use the buffer on the
pen anymore.
Original commit message from CVS:
* configure.ac:
Require CVS of GStreamer core and -base (for
GST_TAG_EXTENDED_COMMENT and gst_tag_parse_extended_comment()).
* ext/taglib/gstid3v2mux.cc:
Write extended comment tags properly (#348762).
* gst/id3demux/id3v2frames.c: (id3demux_id3v2_parse_frame),
(parse_comment_frame):
Extract COMM frames into extended comments, which makes it
easier to properly retain the description bit of the tag
and maintain this information when re-tagging (#348762).
Original commit message from CVS:
Patch by: Sebastian Dröge <slomo at circular-chaos.org>
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_class_init):
* ext/wavpack/gstwavpackparse.c:
(gst_wavpack_parse_resync_adapter), (gst_wavpack_parse_chain):
In push mode, re-sync to next wavpack header if sync is lost
(#351557). Also use hyphens instead of underscores in
GObject property names.
Original commit message from CVS:
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_class_init),
(gst_wavpack_parse_reset), (gst_wavpack_parse_get_src_query_types),
(gst_wavpack_parse_src_query),
(gst_wavpack_parse_handle_seek_event),
(gst_wavpack_parse_sink_event), (gst_wavpack_parse_init),
(gst_wavpack_parse_create_src_pad),
(gst_wavpack_parse_push_buffer), (gst_wavpack_parse_loop),
(gst_wavpack_parse_chain), (gst_wavpack_parse_sink_activate),
(gst_wavpack_parse_sink_activate_pull):
* ext/wavpack/gstwavpackparse.h:
Patch by: Sebastian Dröge <slomo at circular-chaos.org>
Make wavpackparse also work in push-mode (not seekable yet though);
some small clean-ups along the way; add support for SEEKING query
and query types function. (#351495).
Original commit message from CVS:
* ext/jpeg/gstsmokedec.c: (gst_smokedec_chain):
* ext/jpeg/gstsmokeenc.c: (gst_smokeenc_setcaps),
(gst_smokeenc_resync), (gst_smokeenc_chain):
Refuse sink caps in the encoder if width or height is not a
multiple of 16, the encoder does not support that yet; along the
same lines, check the return value of the encoder setup function;
also remove some debug log clutter.
Original commit message from CVS:
2006-08-04 Andy Wingo <wingo@pobox.com>
* ext/ladspa/gstsignalprocessor.h: Add infrastructure for storing
whether a processor can work in place or not, and for keeping
track of its state. Change the FlowReturn instance variable from
"state" to "flow_state", all callers changed.
* ext/ladspa/gstsignalprocessor.c (gst_signal_processor_setup)
(gst_signal_processor_start, gst_signal_processor_stop)
(gst_signal_processor_cleanup): New functions to manage the
processor's state.
(gst_signal_processor_setcaps): start() as well as setup() here.
(gst_signal_processor_prepare): Respect CAN_PROCESS_IN_PLACE.
(gst_signal_processor_change_state): Stop and cleanup the
processor as we go to NULL.
* ext/ladspa/gstladspa.c (gst_ladspa_base_init): Reuse buffers if
INPLACE_BROKEN is not set.
* ext/ladspa/gstsignalprocessor.c (gst_signal_processor_prepare):
Do the alloc_buffer in bytes, not frames.
Original commit message from CVS:
2006-08-04 Andy Wingo <wingo@pobox.com>
* ext/ladspa/gstsignalprocessor.c (gst_signal_processor_setcaps)
(gst_signal_processor_prepare)
(gst_signal_processor_update_inputs)
(gst_signal_processor_process, gst_signal_processor_pen_buffer)
(gst_signal_processor_flush)
(gst_signal_processor_sink_activate_push)
(gst_signal_processor_src_activate_pull)
(gst_signal_processor_change_state): Remove the last of the code
that assumes that we process whole buffers at a time. Fix some
debugging. Seems to work now in some cases.
Original commit message from CVS:
2006-08-01 Andy Wingo <wingo@pobox.com>
* ext/ladspa/gstsignalprocessor.c (gst_signal_processor_process):
Fix nframes-choosing.
(gst_signal_processor_init): Init pending_in and pending_out.
Original commit message from CVS:
2006-08-01 Andy Wingo <wingo@pobox.com>
* ext/ladspa/gstsignalprocessor.c (gst_signal_processor_init): No
more default sample rate, although we never check that the sample
rate actually gets set. Something for the future.
(gst_signal_processor_setcaps): Some refcount fixes, flow fixes.
(gst_signal_processor_event): Refcount fixen.
(gst_signal_processor_process): Pull the number of frames to
process from the sizes of the buffers in the input pens.
(gst_signal_processor_pen_buffer): Remove an incorrect FIXME :)
(gst_signal_processor_do_pulls): Add an nframes argument, and use
it instead of buffer_frames.
(gst_signal_processor_getrange): Refcount fixen, pass nframes on
to do_pulls.
(gst_signal_processor_chain)
(gst_signal_processor_sink_activate_push)
(gst_signal_processor_src_activate_pull): Refcount fixen.
* ext/ladspa/gstsignalprocessor.h: No more buffer_frames, yay.
Original commit message from CVS:
* ext/ladspa/gstsignalprocessor.c: (gst_signal_processor_setcaps),
(gst_signal_processor_process):
don't query buffer-frames from caps, add lots of debug-log,
try fix for assert (#349189)
Original commit message from CVS:
2006-07-29 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* ext/jpeg/gstsmokeenc.c: (gst_smokeenc_getcaps),
(gst_smokeenc_setcaps), (gst_smokeenc_chain):
Set caps on buffer correctly. Fixes bug #349155.
Original commit message from CVS:
* ext/taglib/gstid3v2mux.cc:
Fix writing of comment frames (should be COMM not TCOM),
is still sub-optimal though, since we don't retain or
extract the comment descriptions properly (#334375,
also see #334375).
Original commit message from CVS:
* ext/taglib/gstid3v2mux.cc:
Handle multiple tags of the same type properly. Re-inject
unparsed ID3v2 frames that we get as binary blobs from
id3demux into the tag again so we don't lose information
when retagging (#334375).
Original commit message from CVS:
* ext/esd/esdsink.c: (gst_esdsink_open),
(gst_esdsink_factory_init):
Prevent libesd from auto-spawning a sound daemon if it
is not already running. Now that we don't do evil stuff
like that any longer we can give esdsink a rank so that
autoaudiosink will try it as well if all other audio
sinks fail (#343051).
Original commit message from CVS:
* ext/esd/README:
Remove, it contains nothing useful anyway.
* ext/esd/esdsink.c: (gst_esdsink_init), (gst_esdsink_prepare),
(gst_esdsink_delay):
Some small clean-ups; use GST_BOILERPLATE etc.
Original commit message from CVS:
Patch by: Alex Lancaster <alexl at users sourceforge net>
* ext/taglib/gstid3v2mux.cc:
Write GST_TAG_ENCODER and GST_TAG_ENCODER_VERSION as
ID3v2 TSSE frames (#347898).
Original commit message from CVS:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_chain):
Fix caps after previous change to byte order endianness.
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_reset),
(gst_wavpack_parse_sink_event), (gst_wavpack_parse_init),
(gst_wavpack_parse_loop):
* ext/wavpack/gstwavpackparse.h:
Queue incoming events if there's no source pad yet and
send them downstream later when the pad is there.
Original commit message from CVS:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_init),
(gst_wavpack_dec_format_samples),
(gst_wavpack_dec_clip_outgoing_buffer), (gst_wavpack_dec_chain),
(gst_wavpack_dec_change_state):
* ext/wavpack/gstwavpackdec.h:
Output audio in native byte order (which is also how we get
samples from wavpack); output samples with 21-24 bit depth
with 32 bit width (makes things easier for us).
Original commit message from CVS:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_base_init),
(gst_wavpack_dec_class_init), (gst_wavpack_dec_init),
(gst_wavpack_dec_finalize), (gst_wavpack_dec_format_samples),
(gst_wavpack_dec_clip_outgoing_buffer), (gst_wavpack_dec_chain),
(gst_wavpack_dec_sink_event), (gst_wavpack_dec_change_state):
* ext/wavpack/gstwavpackdec.h:
More clean-ups: remove most of the disfunctional correction
pad stuff for now, if it ever gets implemented a lot of stuff
will have to be rewritten anyway; redo chain function, move
errors to end, error out instead of g_assert()ing. Also rename
overly long variable 'wavpackdec' to just 'dec'; miscellaneous
other small stuff.
Original commit message from CVS:
Patch by: Sebastian Dröge <slomo at circular-chaos.org>
* configure.ac:
Check for wavpack version and define WAVPACK_OLD_API if
necessary.
* ext/wavpack/Makefile.am:
* ext/wavpack/gstwavpackcommon.c: (gst_wavpack_read_header),
(gst_wavpack_read_metadata):
* ext/wavpack/gstwavpackcommon.h:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_base_init),
(gst_wavpack_dec_class_init), (gst_wavpack_dec_init),
(gst_wavpack_dec_finalize), (gst_wavpack_dec_format_samples),
(gst_wavpack_dec_clip_outgoing_buffer), (gst_wavpack_dec_chain),
(gst_wavpack_dec_sink_event), (gst_wavpack_dec_change_state),
(gst_wavpack_dec_request_new_pad), (gst_wavpack_dec_plugin_init):
* ext/wavpack/gstwavpackdec.h:
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_class_init),
(gst_wavpack_enc_init), (gst_wavpack_enc_finalize),
(gst_wavpack_enc_set_wp_config):
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_base_init),
(gst_wavpack_parse_finalize), (gst_wavpack_parse_class_init),
(gst_wavpack_parse_index_get_entry_from_sample),
(gst_wavpack_parse_scan_to_find_sample),
(gst_wavpack_parse_handle_seek_event),
(gst_wavpack_parse_create_src_pad):
* ext/wavpack/gstwavpackstreamreader.c:
* ext/wavpack/gstwavpackstreamreader.h:
Port to new/official wavpack API, don't use API that was exported
in wavpack header files and in the lib but meant to be private, at
least not for recent wavpack versions; misc. 'cleanups' (#347443).
Original commit message from CVS:
* ext/libpng/gstpngdec.c: (gst_pngdec_init), (buffer_clip),
(gst_pngdec_caps_create_and_set), (gst_pngdec_task),
(gst_pngdec_chain), (gst_pngdec_sink_event),
(gst_pngdec_libpng_init), (gst_pngdec_change_state),
(gst_pngdec_sink_activate_push):
* ext/libpng/gstpngdec.h:
Use statically allocated segment instead of leaking.
Various cleanups.
Fix flush and seek handling.
Original commit message from CVS:
* ext/taglib/gstid3v2mux.cc:
Make UTF-8 the default encoding when writing string
tags (before, our UTF-8 strings would automatically
be converted to ISO-8859-1 by taglib and written as
ISO-8859-1 fields if that was possible).
* tests/check/elements/id3v2mux.c: (utf8_string_in_buf),
(test_taglib_id3mux_check_tag_buffer), (identity_cb),
(test_taglib_id3mux_with_tags):
Add test case that makes sure our UTF-8 strings have
actually been written into the tag as UTF-8.