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:
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
Original commit message from CVS:
* tests/check/Makefile.am:
Disable cacasink from the states check too - it also calls exit(1)
on us when it can't find a terminal to talk to.
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:
* gst/rtsp/gstrtspsrc.c: (find_stream_by_channel),
(find_stream_by_udpsrc), (gst_rtspsrc_handle_message):
Errors from the udp sources are not fatal unless all of them are in
error.
Original commit message from CVS:
* tests/check/Makefile.am:
Disable aasink in the states test. I suspect this is the element that
is calling exit(1) when it can't proceed.
Original commit message from CVS:
* tests/check/Makefile.am:
Draw plugins in from the build tree sys/ dir, rather than picking
up the already installed versions.
Original commit message from CVS:
2007-03-01 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* sys/ximage/gstximagesrc.c: (gst_ximage_src_open_display):
Error out correctly when getting xcontext fails.
Original commit message from CVS:
* gst/rtsp/gstrtpdec.c: (gst_rtpdec_change_state):
Make state change to PAUSED NO_PREROLL because that's what it will be in
the future and rtspsrc relies on it.
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_stream_configure_transport),
(gst_rtspsrc_change_state):
Don't error out when we don't get an error from the state change
function.
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:
* gst/rtsp/URLS:
Add another interesting test url.
* gst/rtsp/rtspmessage.c: (rtsp_message_get_header):
Don't allow getting header fields from data packets.
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:
* gst/rtsp/Makefile.am:
* gst/rtsp/rtspconnection.c: (append_auth_header),
(rtsp_connection_send), (rtsp_connection_set_auth):
g_base64_encode is a GLib 2.12 function. Use an equivalent taken
from icecast to replace it. Relicensed from GPL courtesy of Mike
Smith.
Original commit message from CVS:
* gst/level/gstlevel.c: (gst_level_init), (gst_level_set_caps),
(gst_level_transform_ip):
* gst/level/gstlevel.h:
Use function pointer for process function and add process functions
for float audio.
Original commit message from CVS:
* sys/v4l2/v4l2src_calls.c: (gst_v4l2src_fill_format_list),
(gst_v4l2src_grab_frame), (gst_v4l2src_set_capture),
(gst_v4l2src_capture_init):
Readd GST_ELEMENT_ERROR if we can't reenque buffers after EIO,
fixes#407369
Original commit message from CVS:
* gst/rtsp/URLS:
Add example H264 rtsp url.
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_media_to_caps),
(gst_rtspsrc_handle_message), (gst_rtspsrc_change_state):
Don't convert values to lowercase or we might mess up base64 encoded
properties.
Original commit message from CVS:
* gst/rtp/README:
Fix case of string params.
* gst/rtp/gstrtph264depay.c: (gst_rtp_h264_depay_class_init),
(gst_rtp_h264_depay_setcaps), (gst_rtp_h264_depay_process):
Fix depayloader, support more packet types.
Add sync codes to make sure the packetizer can do its job.
* gst/rtp/gstrtpmp4gdepay.c:
* gst/rtp/gstrtpmp4gpay.c:
* gst/rtp/gstrtpmpvdepay.c: (gst_rtp_mpv_depay_process):
Fix caps case again.
Original commit message from CVS:
* gst/rtsp/sdpmessage.c: (sdp_parse_line):
As spotted by: Peter Kjellerstedt <pkj at axis com>:
Clear stack allocated SDPMedia struct before calling _init() on it.
Clarify this in the docs as well.
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:
Patch by: jp.liu <jp_liu at astrocom dot cn>
* gst/rtsp/rtspurl.c: (rtsp_url_parse):
Fix parsing of password field in url. Fixes#407797.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_class_init),
(gst_wavparse_reset), (gst_wavparse_init),
(gst_wavparse_destroy_sourcepad), (gst_wavparse_fmt),
(gst_wavparse_parse_file_header), (gst_wavparse_stream_init),
(gst_wavparse_perform_seek), (gst_wavparse_peek_chunk_info),
(gst_wavparse_stream_headers), (gst_wavparse_parse_stream_init),
(gst_wavparse_add_src_pad), (gst_wavparse_stream_data),
(gst_wavparse_loop), (gst_wavparse_chain),
(gst_wavparse_pad_convert), (gst_wavparse_pad_query),
(gst_wavparse_srcpad_event), (gst_wavparse_change_state),
(plugin_init):
* gst/wavparse/gstwavparse.h:
Update docs.
Use boilerplate.
Various code cleanups.
When the bitrate is not known (bps == 0 or compressed formats) let
downstream element guestimate the duration and position and don't
generate timestamps or durations. Fixes#405213.
Fix EOS and ERROR conditions in chain mode, we just need to forward the
error flowreturn upstream.
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:
* gst/monoscope/Makefile.am:
* gst/monoscope/gstmonoscope.c:
Fix copy'n'paste-o in docs chunk. Also add some missing CFLAGS
(but no LIBS, since we only use defines from the headers).
Original commit message from CVS:
Based on patch by: Jonathan Matthew <jonathan at kaolin wh9 net>
* gst/wavparse/gstwavparse.c: (gst_wavparse_parse_stream_init),
(gst_wavparse_stream_data):
Fix massive memory leak when operating in streaming mode due to
GST_BUFFER_MALLOCDATA() not being set on newly-created buffers.
Fixes#407057.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_class_init),
(gst_avi_demux_reset), (gst_avi_demux_index_entry_for_time),
(gst_avi_demux_handle_src_query), (gst_avi_demux_parse_superindex),
(gst_avi_demux_parse_subindex), (gst_avi_demux_parse_stream),
(gst_avi_demux_parse_index), (gst_avi_demux_stream_index),
(gst_avi_demux_sync), (gst_avi_demux_next_data_buffer),
(gst_avi_demux_stream_scan), (gst_avi_demux_massage_index),
(gst_avi_demux_calculate_durations_from_index),
(gst_avi_demux_push_event), (gst_avi_demux_stream_header_pull),
(gst_avi_demux_do_seek), (gst_avi_demux_process_next_entry),
(gst_avi_demux_stream_data), (gst_avi_demux_loop):
* gst/avi/gstavidemux.h:
Save some memory (8%) by repacking the index entry structure (more to
come). Add more FIXMEs to questionable parts.
Original commit message from CVS:
* gst/debug/Makefile.am:
* gst/debug/gstdebug.c: (plugin_init):
* gst/debug/gstpushfilesrc.c:
* gst/debug/gstpushfilesrc.h:
Add code for a pushfilesrc element that implements a pushfile:// URI
handler, to make debugging push-mode operation of demuxer/decoders
that support both easier in connection with seek/playbin/etc.
The element isn't registered at the moment.
Original commit message from CVS:
* gst/avi/gstavimux.c:
Comment a #if 0 in caps template definition as VS6 seems to
do not support it.
* gst/rtsp/gstrtspsrc.c:(gst_rtspsrc_loop_udp):
Use gst_guint64_to_gdouble for conversion.
* gst/rtsp/rtspconnection.c:(rtsp_connection_send):
Move variables declaration before the first instruction.
* gst/rtsp/rtspdefs.c:(rtsp_strresult):
Don't use hstrerror for error log on G_OS_WIN32 build as it's not supported.
And don't include netdb.h for G_OS_WIN32
* gst/rtsp/sdpmessage.c:(sdp_parse_line):
This initialization SDPMedia nmedia = {.media = NULL }; is not supported
by VS6 then use an other way to initialize SDPMedia structure.
* gst/udp/gstdynudpsink.h:
* gst/udp/gstdynudpnetutils.h:
Do not include <sys/time.h> for G_OS_WIN32
* gst/udp/gstudpsrc.c:
Define socklen_t as int for G_OS_WIN32
* win/common/config.h.in:
Undef HAVE_NETINET_IN_H
* win32/vs6/gst_plugins_good.dsw:
* win32/vs6/libgstrtp.dsp:
* win32/vs6/libgstrtsp.dsp:
* win32/vs6/libgstautogen.dsp:
* win32/vs6/libgstaudiofx.dsp:
* win32/vs6/libgstudp.dsp:
Add and update project files.
* win32/common/gstudp-enumtypes.c:
* win32/common/gstudp-enumtypes.h:
Add a copy of udp enumtypes to win32/common as in core
and base.
Original commit message from CVS:
* configure.ac:
Activate monoscope when building with --enable-experimental. Fix
--enable-external configure switch description.
* sys/sunaudio/gstsunaudiomixer.c: (gst_sunaudiomixer_base_init):
* sys/sunaudio/gstsunaudiosrc.c: (gst_sunaudiosrc_dispose):
Help gst-indent.
Original commit message from CVS:
* gst/avi/gstavimux.c: (gst_avi_mux_riff_get_avi_header):
Explicitly cast result of pointer arithmetic to integer in order to
avoid compiler warnings on some 64-bit systems. Should fix#406018.
Original commit message from CVS:
* docs/plugins/inspect/plugin-rtp.xml:
Update for new elements.
* gst/debug/progressreport.h:
Commit newly-created header file as well.
Original commit message from CVS:
* 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.hierarchy:
* gst/debug/Makefile.am:
* gst/debug/progressreport.c: (gst_progress_report_post_progress),
(gst_progress_report_do_query), (gst_progress_report_report):
Make progressreport element post messages with the current progress
on the bus. Also add some basic docs for it.
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:
* gst/smpte/gstsmpte.c: (gst_smpte_transition_type_get_type):
Add cast to avoid compiler warnings with older GLib versions
where the nick/name members in GEnumValue are not declared as
constant strings.
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:
* gst/audiofx/audioamplify.c: (gst_audio_amplify_base_init),
(gst_audio_amplify_class_init), (gst_audio_amplify_init),
(gst_audio_amplify_set_process_function),
(gst_audio_amplify_setup):
* gst/audiofx/audioamplify.h:
* gst/audiofx/audioinvert.c: (gst_audio_invert_base_init),
(gst_audio_invert_class_init), (gst_audio_invert_setup):
* gst/audiofx/audioinvert.h:
Some small cleanups and port both elements to the new GstAudioFilter
base class to save a few lines of common code.
* gst/audiofx/Makefile.am:
Link against libgstaudio for the above changes
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_media_to_caps),
(gst_rtspsrc_activate_streams):
Convert SDP fields to upper/lowercase following the rules in the SDP to
caps document.
Original commit message from CVS:
* gst/rtp/README:
* gst/rtp/gstrtpilbcdepay.c:
* gst/rtp/gstrtpilbcpay.c:
* gst/rtp/gstrtpmp4gdepay.c:
* gst/rtp/gstrtpmp4gpay.c:
* gst/rtp/gstrtpspeexdepay.c:
* gst/rtp/gstrtpspeexpay.c:
* gst/rtp/gstrtpsv3vdepay.c:
* gst/rtp/gstrtptheoradepay.c:
* gst/rtp/gstrtptheorapay.c:
* gst/rtp/gstrtpvorbisdepay.c:
* gst/rtp/gstrtpvorbispay.c:
Fix case of encoding-name and key/value pairs to match the document.
This is to make interoperation with SDP case-insensitive as required by
the relevant RFCs.
Original commit message from CVS:
* gst/rtp/gstrtpL16pay.c: (gst_rtp_L16_pay_setcaps),
(gst_rtp_L16_pay_flush), (gst_rtp_L16_pay_handle_buffer):
* gst/rtp/gstrtpL16pay.h:
Fill up to MTU using adapter.
Timestamp rtp packets.
Original commit message from CVS:
* gst/multipart/multipartmux.c: (gst_multipart_mux_collected):
* sys/ximage/ximageutil.c: (ximageutil_check_xshm_calls):
Use G_GSIZE_FORMAT in print statements for portability.
Fixes build on macosx.
Original commit message from CVS:
* gst/rtp/Makefile.am:
* gst/rtp/gstrtp.c: (plugin_init):
* gst/rtp/gstrtpL16depay.c: (gst_rtp_L16_depay_base_init),
(gst_rtp_L16_depay_class_init), (gst_rtp_L16_depay_init),
(gst_rtp_L16_depay_parse_int), (gst_rtp_L16_depay_setcaps),
(gst_rtp_L16_depay_process), (gst_rtp_L16_depay_set_property),
(gst_rtp_L16_depay_get_property), (gst_rtp_L16_depay_change_state),
(gst_rtp_L16_depay_plugin_init):
* gst/rtp/gstrtpL16depay.h:
* gst/rtp/gstrtpL16pay.c: (gst_rtp_L16_pay_get_type),
(gst_rtp_L16_pay_base_init), (gst_rtp_L16_pay_class_init),
(gst_rtp_L16_pay_init), (gst_rtp_L16_pay_finalize),
(gst_rtp_L16_pay_setcaps), (gst_rtp_L16_pay_handle_buffer),
(gst_rtp_L16_pay_plugin_init):
* gst/rtp/gstrtpL16pay.h:
Port and enable raw audio payloader/depayloader. Needs a bit more work
on the payloader side.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (pad_blocked),
(gst_rtspsrc_stream_configure_transport),
(gst_rtspsrc_activate_streams), (gst_rtspsrc_loop_udp):
* gst/rtsp/gstrtspsrc.h:
Only unblock the udp pads when we linked and activated them all.
Fixes#395688.
Original commit message from CVS:
reviewed by: Stefan Kost <ensonic@users.sf.net>
* gst/audiofx/Makefile.am:
* gst/audiofx/audioamplify.c:
(gst_audio_amplify_clipping_method_get_type),
(gst_audio_amplify_base_init), (gst_audio_amplify_class_init),
(gst_audio_amplify_init), (gst_audio_amplify_set_process_function),
(gst_audio_amplify_set_property), (gst_audio_amplify_get_property),
(gst_audio_amplify_set_caps),
(gst_audio_amplify_transform_int_clip),
(gst_audio_amplify_transform_int_wrap_negative),
(gst_audio_amplify_transform_int_wrap_positive),
(gst_audio_amplify_transform_float_clip),
(gst_audio_amplify_transform_float_wrap_negative),
(gst_audio_amplify_transform_float_wrap_positive),
(gst_audio_amplify_transform_ip):
* gst/audiofx/audioamplify.h:
* gst/audiofx/audiofx.c: (plugin_init):
Add new element "audioamplify". This allows scaling of raw audio
samples, similar to the "volume" element, but provides different modes
for clipping and allows unlimited amplification. It's mainly targeted
for creative sound design and not as a replacement of the "volume"
element. Fixes#397162
* 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:
Add docs for audioamplify and integrate them into the build system
* tests/check/Makefile.am:
* tests/check/elements/audioamplify.c: (setup_amplify),
(cleanup_amplify), (GST_START_TEST), (amplify_suite), (main):
Add fairly extensive unit test suite for audioamplify
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (pad_unblocked), (pad_blocked):
Unblock pads after adding the pads to the element so that autopluggers
get a change to link something. Possibly fixes#395688.
Original commit message from CVS:
reviewed by: Stefan Kost <ensonic@users.sf.net>
* gst/audiofx/Makefile.am:
* gst/audiofx/audiofx.c: (plugin_init):
* gst/audiofx/audioinvert.c: (gst_audio_invert_base_init),
(gst_audio_invert_class_init), (gst_audio_invert_init),
(gst_audio_invert_set_property), (gst_audio_invert_get_property),
(gst_audio_invert_set_caps), (gst_audio_invert_transform_int),
(gst_audio_invert_transform_float),
(gst_audio_invert_transform_ip):
* gst/audiofx/audioinvert.h:
Add new audiofx element "audioinvert". This element swaps the upper
and lower half of samples and can be used for example for a
wide-stereo effect. Fixes#396057
* 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:
Add docs for the audioinvert element and add them to the build system.
* tests/check/Makefile.am:
* tests/check/elements/audioinvert.c: (setup_invert),
(cleanup_invert), (GST_START_TEST), (invert_suite), (main):
Add unit test suite for the audioinvert element.
Original commit message from CVS:
* gst/rtp/gstrtpmp4gdepay.c: (gst_rtp_mp4g_depay_parse_int),
(gst_rtp_mp4g_depay_setcaps), (gst_rtp_mp4g_depay_process):
Parse config params as string and int.
Parse and use AU header length
Original commit message from CVS:
* gst/smpte/barboxwipes.c: (gst_wipe_boxes_draw),
(gst_wipe_triangles_clock_draw), (gst_wipe_triangles_draw):
* gst/smpte/gstmask.c: (_gst_mask_register):
* gst/smpte/gstmask.h:
* gst/smpte/gstsmpte.c: (gst_smpte_update_mask):
* gst/smpte/paint.c: (gst_smpte_paint_hbox), (draw_bresenham_line),
(gst_smpte_paint_triangle_clock):
constify some static structs.
Don't update the mask if nothing changed to the params.
Make sure we never draw outside of the picture. Fixes#398325.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_header_pull):
Error out properly when pull_range fails while we're reading the
headers, instead of just pausing the task silently. Fixes#399338.
Original commit message from CVS:
* gst/smpte/gstsmpte.c: (gst_smpte_collected):
Some more sanity checks to make sure the input formats match and the
input pads are actually negotiated, in case someone tries to feed
buffers from fakesrc or filesrc. Fixes#398299.
Also const-ify an array, just because we can.
Original commit message from CVS:
* gst/smpte/gstsmpte.c: (fill_i420), (gst_smpte_collected):
Ignore previous commit, that was only valid for widths and heights
that are multiples of 4.
Copy over size/stride macros from jpegdec. This allows the element
to work with any width,height...
... but puts in evidence that the actual transformations only work
with width/height that are multiples of 4.
Original commit message from CVS:
* gst/smpte/gstsmpte.c: (gst_smpte_collected):
Allocate buffers of the right size.
The proper size of a I420 buffer in bytes is:
width * height * 3
------------------
2
Original commit message from CVS:
* gst/smpte/gstsmpte.c: (gst_smpte_init):
Proxy getcaps on sink pads too, so that we either end up with the
same dimensions on all pads or error out if that's not possible
(seems to work even!). Fixes#398086, I think.
Original commit message from CVS:
* sys/v4l2/gstv4l2object.c:
(gst_v4l2_object_install_properties_helper),
(gst_v4l2_object_set_property_helper),
(gst_v4l2_object_get_property_helper), (gst_v4l2_set_defaults):
* sys/v4l2/gstv4l2object.h:
* sys/v4l2/gstv4l2src.c: (gst_v4l2src_class_init),
(gst_v4l2src_init), (gst_v4l2src_set_property),
(gst_v4l2src_get_property), (gst_v4l2src_set_caps):
* sys/v4l2/v4l2src_calls.c: (gst_v4l2src_fill_format_list),
(gst_v4l2src_grab_frame), (gst_v4l2src_set_capture),
(gst_v4l2src_capture_init), (gst_v4l2src_capture_start),
(gst_v4l2src_capture_deinit):
Fix EIO handing when capturing. Add new property to specify the number of
buffers to enque (and remove the borked num-buffers usage).
Original commit message from CVS:
Patch by: Sebastian Dröge <slomo circular-chaos org>
* gst/audiofx/audiopanorama.c: (gst_audio_panorama_class_init),
(gst_audio_panorama_set_process_function):
Use a function array for process methods, add more docs and define the
startindex of enums.
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet be>
* gst/avi/gstavimux.c: (gst_avi_mux_finalize),
(gst_avi_mux_pad_reset), (gst_avi_mux_reset), (gst_avi_mux_init),
(gst_avi_mux_vidsink_set_caps), (gst_avi_mux_audsink_set_caps),
(gst_avi_mux_request_new_pad), (gst_avi_mux_release_pad),
(gst_avi_mux_riff_get_avi_header),
(gst_avi_mux_riff_get_avix_header), (gst_avi_mux_riff_get_header),
(gst_avi_mux_write_avix_index), (gst_avi_mux_add_index),
(gst_avi_mux_bigfile), (gst_avi_mux_start_file),
(gst_avi_mux_stop_file), (gst_avi_mux_handle_event),
(gst_avi_mux_do_buffer), (gst_avi_mux_do_one_buffer),
(gst_avi_mux_change_state):
* gst/avi/gstavimux.h:
* tests/check/elements/avimux.c: (teardown_src_pad):
Add support for more than one audio stream; write better AVIX
header; refactor code a bit; don't announce vorbis caps on our audio
sink pads since we don't support it anyway. Closes#379298.
Original commit message from CVS:
* gst/apetag/gsttagdemux.c: (gst_tag_demux_read_range):
* gst/id3demux/gstid3demux.c: (gst_id3demux_read_range):
Set correct caps on outgoing pulled buffers, or things blow up
after recent core changes.
Original commit message from CVS:
Patch by: Lutz Mueller <lutz at topfrose dot de>
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_activate_streams):
Check for stream pad before activating.
Original commit message from CVS:
Patch by: Peter Kjellerstedt <pkj at axis com>
* gst/rtsp/COPYING.MIT:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_create_stream),
(gst_rtspsrc_stream_free), (gst_rtspsrc_cleanup),
(gst_rtspsrc_alloc_udp_ports), (pad_unblocked), (pad_blocked),
(gst_rtspsrc_stream_configure_transport),
(gst_rtspsrc_activate_streams), (gst_rtspsrc_loop_interleaved),
(gst_rtspsrc_loop_udp), (gst_rtspsrc_send),
(gst_rtspsrc_parse_methods),
(gst_rtspsrc_create_transports_string),
(gst_rtspsrc_prepare_transports), (gst_rtspsrc_setup_streams),
(gst_rtspsrc_open), (gst_rtspsrc_close):
* gst/rtsp/gstrtspsrc.h:
* gst/rtsp/rtspconnection.c: (rtsp_connection_create),
(rtsp_connection_connect), (rtsp_connection_send), (read_line),
(parse_request_line), (parse_line), (rtsp_connection_read),
(rtsp_connection_close):
* gst/rtsp/rtspdefs.c: (rtsp_init_status), (rtsp_strresult),
(rtsp_method_as_text), (rtsp_header_as_text),
(rtsp_status_as_text), (rtsp_find_header_field),
(rtsp_find_method):
* gst/rtsp/rtspdefs.h:
* gst/rtsp/rtspextwms.c: (rtsp_ext_wms_after_send),
(rtsp_ext_wms_configure_stream):
* gst/rtsp/rtspmessage.c: (rtsp_message_new), (rtsp_message_init),
(rtsp_message_new_request), (rtsp_message_init_request),
(rtsp_message_new_response), (rtsp_message_init_response),
(rtsp_message_init_data), (rtsp_message_unset),
(rtsp_message_free), (rtsp_message_add_header),
(rtsp_message_get_header), (rtsp_message_set_body),
(rtsp_message_get_body), (dump_mem), (rtsp_message_dump):
* gst/rtsp/rtspmessage.h:
* gst/rtsp/sdpmessage.c: (sdp_message_get_attribute_val_n),
(sdp_media_get_attribute_val_n), (read_string), (read_string_del),
(sdp_parse_line), (sdp_message_parse_buffer), (print_media),
(sdp_message_dump):
Allow url to be NULL to be able to use it for server connections.
Can now send responses as well as requests.
No longer hangs in an endless loop if EOF is received.
Can now convert a status code to a text string.
Return RTSP_HDR_INVALID for unknown headers.
Return RTSP_INVALID for unknown methods.
Copy CSeq and Session headers from the request.
Only free memory corresponding to the currently set message type.
Added const to function arguments as appropriate.
Avoid a compiler warning when initializing nmedia.
Use guint rather than gint to avoid compiler warnings.
Fix crasher in wms extension.
Factor out stream setup from open_connection.
Delay activation of streams when actual data is received from the
server, this prepares us to do proper protocol switching.
Added new license.
Fixes#380895.
Original commit message from CVS:
Patch by: Sebastian Dröge <slomo ubuntu com>
* docs/plugins/Makefile.am:
* gst/audiofx/audiopanorama.c:
Some small docs fixes (#394851).
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:
* gst/cutter/gstcutter.c: (gst_cutter_chain):
Use gst_guint64_to_gdouble for conversion.
* win32/vs6/libgstmatroska.dsp:
Add zlib to the link.
* win32/vs6/libgstvideobox.dsp:
Update liboil library name (project is linked to liboil-0.3-0.lib now).
Original commit message from CVS:
* gst/matroska/Makefile.am:
If zlib is available and used, we must link it explicitly for
things to work on MingW (fixes#392855).
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:
* gst/matroska/matroska-mux.c:
(gst_matroska_mux_audio_pad_setcaps):
The "signed" field in audio caps is of boolean type, trying to use
gst_structure_get_int() to extract it will fail. Fixing this makes
matroskamux accept raw audio input (#387121) (use at your own risk
though, due to the matroska spec being not entirely useful in this
respect).
Also fix up raw audio structures in template caps so that they
represent what our setcaps function will actually accept, so that
converters know what to convert to.
Finally, don't fail if there isn't an "endianness" field in 8-bit
PCM caps.
Original commit message from CVS:
=== release 0.10.5 ===
2006-12-21 Jan Schmidt <thaytan@mad.scientist.com>
* configure.ac:
releasing 0.10.5, "The Path of Thorns"
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:
ChangeLog surgery on one of Stefan's commits from August:
* ext/Makefile.am:
Quietly (accidentally) enable LADSPA for building by default,
despite the fact that it doesn't meet the plugin checklist.
-- Added by Jan Schmidt 18 Dec 2006
Original commit message from CVS:
* sys/osxvideo/osxvideosink.h:
* sys/osxvideo/osxvideosink.m:
Decent effort at porting to 0.10. Needs cleanup on OS/X.
Original commit message from CVS:
Patch by: Sjoerd Simons <sjoerd at luon dot net>
* gst/videomixer/videomixer.c: (gst_videomixer_pad_set_property),
(gst_videomixer_set_master_geometry),
(gst_videomixer_pad_sink_setcaps), (gst_videomixer_collect_free),
(gst_videomixer_reset), (gst_videomixer_init),
(gst_videomixer_finalize), (gst_videomixer_request_new_pad),
(gst_videomixer_release_pad), (gst_videomixer_collected),
(gst_videomixer_change_state):
Introduce some locking around the videomixer state so that it does not
crash when adding/removing pads. Fixes#383043.
Original commit message from CVS:
* configure.ac:
Make sure libcaca can actually be used instead of just checking for
/usr/bin/caca-config, so we don't wrongly try to build cacasink when
cross-compiling (fixes#384587).
Original commit message from CVS:
* configure.ac:
libflac-1.1.3 changed API again, but we can't build against it yet,
so make sure our check doesn't use libflac-1.1.3 and add a comment
to this effect.
Original commit message from CVS:
* gst/effectv/gstquark.c: (gst_quarktv_transform),
(gst_quarktv_planetable_clear):
Add some NULL pointer checks (possibly related to #385623).
Original commit message from CVS:
* gst/apetag/gsttagdemux.c: (gst_tag_demux_chain_parse_tag),
(gst_tag_demux_chain):
* gst/id3demux/gstid3demux.c: (gst_id3demux_chain):
In streaming mode, if the first buffer we get doesn't have an
offset, fix it up to be 0, otherwise trimming won't work later on
and we'll be typefinding application/x-id3, which may result in
decodebin plugging an endless number of id3demux elements as a
consequence. Fixes#385031.
Original commit message from CVS:
* sys/sunaudio/gstsunaudiosink.c: (gst_sunaudiosink_prepare):
Ignore the buffer_time the sound device reports. Turns out it is
sometimes completely bogus and we're better off without it.
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream),
(gst_matroska_demux_video_caps):
* gst/matroska/matroska-ids.c:
(gst_matroska_track_init_video_context):
* gst/matroska/matroska-ids.h:
Try harder to extract the framerate for video tracks correctly and
save it directly instead of converting it back and forth a few
times. Mostly makes a difference for very small framerates (<1).
Fixes#380199.
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:
Patch by: Sebastian Dröge <mail at slomosnail de>
* gst/apetag/gstapedemux.c: (ape_demux_parse_tags):
We need to be able to read and parse any possible floating point string
format ("1,234" or "1.234") irrespective of the current locale. g_strod()
will parse the former only in certain locales though, so we really need
to canonicalise the separator to '.' and then use g_ascii_strtod() to
make sure we can parse either version at all times.
Fixes#382982 for real.
Original commit message from CVS:
* sys/sunaudio/gstsunaudiomixerctrl.c:
* sys/sunaudio/gstsunaudiosrc.c:
Use the sunaudio debug category.
* sys/sunaudio/gstsunaudiosink.c: (gst_sunaudiosink_finalize),
(gst_sunaudiosink_class_init), (gst_sunaudiosink_init),
(gst_sunaudiosink_set_property), (gst_sunaudiosink_get_property),
(gst_sunaudiosink_open), (gst_sunaudiosink_close),
(gst_sunaudiosink_prepare), (gst_sunaudio_sink_do_delay),
(gst_sunaudiosink_write), (gst_sunaudiosink_delay),
(gst_sunaudiosink_reset):
* sys/sunaudio/gstsunaudiosink.h:
Uses the sunaudio debug category for all debug output
Implements the _delay() callback to synchronise video playback better
Change the segtotal and segsize values back to the parent class
defaults (taken from buffer_time and latency_times of 200ms and 10ms
respectively)
Measure the samples written to the device vs. played.
Keep track of segments in the device by writing empty eof frames, and
sleep using a GCond when we get too far ahead and risk overrunning the
sink's ringbuffer.
Fixes: #360673
Original commit message from CVS:
Patch by: Sebastian Dröge <mail at slomosnail de >
* gst/audiofx/audiopanorama.c: (gst_audio_panorama_init),
(gst_audio_panorama_set_caps), (gst_audio_panorama_transform):
* gst/audiofx/audiopanorama.h:
Fix audiopanorame with float samples. Fixes#383726.
Original commit message from CVS:
* sys/sunaudio/gstsunaudiosink.c: (gst_sunaudiosink_reset):
* sys/sunaudio/gstsunaudiosrc.c: (gst_sunaudiosrc_open),
(gst_sunaudiosrc_reset):
Implement reset functions to unblock the src/sink more quickly on
state change requests.
Patch by: Padraig O'Briain <padraig dot obriain at sun dot com>
Original commit message from CVS:
* sys/sunaudio/gstsunaudiomixer.c:
(gst_sunaudiomixer_change_state):
Construct the correct mixer device name when the AUDIODEV env var
is set.
Patch by: Jerry Tan <jerry.tan at sun dot com>
Fixes: #383596
Original commit message from CVS:
* sys/sunaudio/gstsunaudiosrc.c: (gst_sunaudiosrc_open):
Apply patch to open the mixer control and set the MULTIPLE_OPEN
ioctl. On solaris, the mixer device doesn't need opening non-blocking
- it can be opened by multiple processes by default, but needs the ioctl for multiple opens within 1 process.
Patch by: Jerry Tan <jerry.tan at sun dot com>
Fixes: #349015
Original commit message from CVS:
* gst/smpte/gstmask.h:
* gst/smpte/gstsmpte.c: (gst_smpte_class_init),
(gst_smpte_setcaps), (gst_smpte_init), (gst_smpte_reset),
(gst_smpte_collected), (gst_smpte_set_property),
(gst_smpte_get_property), (gst_smpte_change_state), (plugin_init):
* gst/smpte/gstsmpte.h:
Port to 0.10 some more.
Added duration property to specify the duration of the transition.
Make framerate a fraction.
Deprecate fps property, we only use negotiated fps.
Added docs.
Fix collectpad usage.
Reset state in READY.
Send NEWSEGMENT event.
Fix racy updates of object properties.
Added debug category.
Fixes#383323.
Original commit message from CVS:
Patch by: Sjoerd Simons <sjoerd at luon dot net>
* gst/videomixer/videomixer.c:
(gst_videomixer_set_master_geometry),
(gst_videomixer_pad_sink_setcaps), (gst_videomixer_collect_free):
Don't reset xpos and ypos in the setcaps function because causes
unexpected behaviour.
Fixes#382179.
Original commit message from CVS:
* gst/multipart/multipartmux.c: (gst_multipart_mux_compare_pads),
(gst_multipart_mux_queue_pads), (gst_multipart_mux_collected):
Keep track of the buffer timestamp in the collectdata member instead
of modifying the buffer without making the metadata writable first.
Fixes#382277.
Original commit message from CVS:
Patch by: Rob Taylor <robtaylor at floopily dot org>
* gst/udp/gstudpsrc.c: (gst_udpsrc_start):
If using multicast in udpsrc, bind to the multicast address rather than
IN_ADDR_ANY.
This allows the simultanous use of multiple udpsrcs listening on
different multicat addresses. Without this all udpsrcs will receive all
packets from all subscribed multicast addresses.
Fixes#383001.
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:
* gst/apetag/gstapedemux.c: (ape_demux_parse_tags):
Use g_strtod() instead of sscanf to parse doubles, so that it will
try parsing in the C locale if the current locale fails.
Fixes: #382982
Patch by: Sebastian Dröge <mail at slomosnail de >
Original commit message from CVS:
* sys/v4l2/v4l2src_calls.c: (gst_v4l2src_fill_format_list),
(gst_v4l2src_queue_frame), (gst_v4l2src_grab_frame),
(gst_v4l2src_get_capture), (gst_v4l2src_set_capture),
(gst_v4l2src_capture_init), (gst_v4l2src_buffer_finalize):
cleanup the error message a bit more
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:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_open):
* gst/rtsp/gstrtspsrc.h:
* gst/rtsp/rtspext.h:
* gst/rtsp/rtspextwms.c: (rtsp_ext_wms_configure_stream),
(rtsp_ext_wms_get_context):
Add method so that extensions can choose to disable the setup of
a stream.
Make the WMS extension skip setup of x-wms-rtx streams. Fixes#377792.
Original commit message from CVS:
Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
* gst/multipart/multipartmux.c: (gst_multipart_mux_collected):
Push header in a separate buffer instead of memcpy:ing all data
Change LF => CRLF in headers
Move trailing LF to header
Original commit message from CVS:
* po/POTFILES.in:
Add v4l2 source files to list of files with translations, so the
strings are actually extracted (however bad they still may be).
Original commit message from CVS:
* gst/videobox/gstvideobox.c: (gst_video_box_class_init):
Minor clean-ups: const-ify static array, remove trailing comma from
last enum (gcc-2.9x trips over that), use GST_DEBUG_FUNCPTR.
Original commit message from CVS:
* gst/id3demux/id3v2frames.c: (id3demux_id3v2_parse_frame):
Make sure that g_free always gets called on the same pointer that was
returned by g_malloc. Fixes#376594.
Do not leak memory if decompressed size is wrong.
Remove unneeded check of return value of g_malloc.
Patch by: René Stadler <mail@renestadler.de>
Original commit message from CVS:
* gst/matroska/matroska-mux.c: (gst_matroska_mux_class_init),
(gst_matroska_mux_request_new_pad):
Use GST_DEBUG_FUNCPTR; activate request pad before returning it.
* tests/check/elements/matroskamux.c: (setup_src_pad),
(setup_sink_pad), (GST_START_TEST):
Activate pads before using them.
Original commit message from CVS:
Patch by: Ville Syrjala <ville.syrjala@movial.fi>
* gst/rtp/gstrtph263pay.c:
* gst/rtp/gstrtph263pdepay.c:
* gst/rtp/gstrtph263ppay.c:
Specify H.263 variant and version in the caps (fixes#361637)
Original commit message from CVS:
* gst/rtsp/rtspconnection.c: (read_body):
Don't set a data pointer to NULL and a size > 0 when we deal
with empty packets.
* gst/rtsp/rtspmessage.c: (rtsp_message_new_response),
(rtsp_message_init_response), (rtsp_message_init_data),
(rtsp_message_unset), (rtsp_message_free),
(rtsp_message_take_body):
Check that we can't create invalid empty packets.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_massage_index):
Disable init_frames delay timestamp adjustment, it does not
seem to be needed at all. Fixes#369621.
Original commit message from CVS:
* gst/flx/gstflxdec.c: (gst_flxdec_class_init):
fix categorisation, make short desc more explicit, remove unused code
Fixes#372021
Original commit message from CVS:
* gst/rtp/gstrtpvorbisdepay.c:
* gst/rtp/gstrtpvorbispay.c: (gst_rtp_vorbis_pay_handle_buffer):
Fix description.
Small cleanup in the payloader.
Original commit message from CVS:
* gst/rtp/Makefile.am:
We depend on gsttag to generate the vorbis comments.
* gst/rtp/gstrtpvorbisdepay.c:
(gst_rtp_vorbis_depay_parse_configuration),
(gst_rtp_vorbis_depay_setcaps),
(gst_rtp_vorbis_depay_switch_codebook),
(gst_rtp_vorbis_depay_process):
* gst/rtp/gstrtpvorbisdepay.h:
Parse configuration string in the depayloader.
Implement selecting and switching to a new codebook.
Receiving vorbis over RTP now works.
* gst/rtp/gstrtpvorbispay.c: (gst_rtp_vorbis_pay_reset_packet),
(gst_rtp_vorbis_pay_init_packet),
(gst_rtp_vorbis_pay_finish_headers),
(gst_rtp_vorbis_pay_handle_buffer):
* gst/rtp/gstrtpvorbispay.h:
Set timestamps on outgoing buffers and RTP packets.
Fix configuration string, prepend number of Packet headers.
Fix encoding of ident string.
Add delivery-method to caps.
Streaming vorbis over RTP now works.
Original commit message from CVS:
* gst/rtp/gstrtpvorbispay.c: (gst_rtp_vorbis_pay_setcaps),
(gst_rtp_vorbis_pay_finish_headers), (gst_rtp_vorbis_pay_parse_id),
(gst_rtp_vorbis_pay_handle_buffer):
* gst/rtp/gstrtpvorbispay.h:
Generate a valid configuration string in the caps based on the
vorbis headers.
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:
Patch by: Michal Benes <michal dot benes at itonis tv>
* gst/matroska/matroska-demux.c: (gst_matroska_demux_encoding_cmp),
(gst_matroska_demux_read_track_encodings),
(gst_matroska_decode_buffer):
Fix several issues with encoded/compressed/encrypted/signed tracks;
also, remove superfluous newline characters from some debug
statements. (#366155)
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet be>
* gst/videomixer/videomixer.c: (gst_videomixer_update_queues):
Fix videomixer so that it can handle any combination of framerates.
Fixes#367221.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query),
(gst_avi_demux_parse_file_header),
(gst_avi_demux_stream_init_push), (gst_avi_demux_parse_stream),
(gst_avi_demux_stream_header_push), (gst_avi_demux_stream_data),
(gst_avi_demux_chain):
Fix position query for audio. also fixes timestamps in streaming
mode and bug #364958.
Small cleanups.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_perform_seek),
(gst_wavparse_stream_data):
Fix seeking some more, mostly for speed changes.
Original commit message from CVS:
Patch by: Fredrik Persson <frepe at broadband net>
* sys/v4l2/gstv4l2tuner.c:
* sys/v4l2/gstv4l2tuner.h:
Fix _set_channel(): remove useless g_object_notify() for "channel"
property that doesn't exist any longer and therefore now also
useless redirect (#338818).
Original commit message from CVS:
* sys/oss/gstosssink.c: (gst_oss_sink_prepare):
Some drivers do not support unsetting the non-blocking flag once the
device is opened. In those cases, close/open the device in
non-blocking mode. Fixes#362673.
Original commit message from CVS:
* sys/v4l2/v4l2_calls.c: (gst_v4l2_fill_lists):
* sys/v4l2/v4l2src_calls.c: (gst_v4l2src_set_fps),
(gst_v4l2src_get_fps):
dear stefan, framespersecond is not frameperiod, reverting but adding
comment
Original commit message from CVS:
* sys/v4l2/v4l2_calls.c: (gst_v4l2_fill_lists):
* sys/v4l2/v4l2src_calls.c: (gst_v4l2src_set_fps),
(gst_v4l2src_get_fps):
Numerator is numerator and denominator is denominator. Say that aloud
5 times and retry after next beer.
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:
* gst/rtsp/URLS:
Added some other URL.
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_loop_udp),
(gst_rtspsrc_handle_request), (gst_rtspsrc_send),
(gst_rtspsrc_open), (gst_rtspsrc_play),
(gst_rtspsrc_handle_message), (gst_rtspsrc_change_state):
* gst/rtsp/gstrtspsrc.h:
Work on fallback to TCP connection when the UDP socket times out.
Handler server requests, just reply with OK for now.
* gst/rtsp/rtspdefs.c: (rtsp_strresult):
* gst/rtsp/rtspdefs.h:
Added some more Real extension headers.
* gst/rtsp/rtspurl.c: (rtsp_url_parse):
Fix parsing of urls with a ':' that is not part of the hostname:port
part of the url.
Original commit message from CVS:
* gst/apetag/gsttagdemux.c: (gst_tag_demux_add_srcpad):
* gst/icydemux/gsticydemux.c: (gst_icydemux_add_srcpad):
* gst/id3demux/gstid3demux.c: (gst_id3demux_add_srcpad):
Activate pad before adding it to the already-running element.
* tests/check/elements/icydemux.c: (icydemux_found_pad):
Activate newly-created pad too.
Original commit message from CVS:
Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
* gst/udp/gstudpsrc.c: (gst_udpsrc_class_init),
(gst_udpsrc_finalize), (gst_udpsrc_create), (gst_udpsrc_set_uri),
(gst_udpsrc_start):
Fix some leaks in caps and uris. Fixes#361252.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtsp_proto_get_type),
(gst_rtspsrc_class_init), (gst_rtspsrc_init),
(gst_rtspsrc_create_stream), (gst_rtspsrc_media_to_caps),
(gst_rtspsrc_alloc_udp_ports),
(gst_rtspsrc_stream_configure_transport), (find_stream_by_channel),
(gst_rtspsrc_push_event), (gst_rtspsrc_loop_interleaved),
(gst_rtspsrc_create_transports_string),
(gst_rtspsrc_configure_transports), (gst_rtspsrc_open),
(gst_rtspsrc_handle_message), (gst_rtspsrc_change_state):
* gst/rtsp/gstrtspsrc.h:
Rework how the transport string is constructed, try to share channels
and udp ports.
Make most of the stuff less dependant on RTP as we are also going to use
it for RDT.
Add support for transport specific session managers.
* gst/rtsp/rtspconnection.c: (rtsp_connection_flush):
Implement _flush().
* gst/rtsp/rtspdefs.c: (rtsp_strresult):
* gst/rtsp/rtspdefs.h:
Add generic error return code.
* gst/rtsp/rtspext.h:
Add support for pluggable tranport strings.
* gst/rtsp/rtspextwms.c: (rtsp_ext_wms_before_send),
(rtsp_ext_wms_after_send), (rtsp_ext_wms_parse_sdp),
(rtsp_ext_wms_get_context):
Detect WMServer and activate the extension.
* gst/rtsp/rtsptransport.c: (rtsp_transport_get_mime),
(rtsp_transport_get_manager), (rtsp_transport_parse):
* gst/rtsp/rtsptransport.h:
Added methods to get mime/manager for certain transports.
Original commit message from CVS:
* gst/rtsp/Makefile.am:
* gst/rtsp/gstrtpdec.c: (gst_rtpdec_getcaps),
(gst_rtpdec_chain_rtp), (gst_rtpdec_chain_rtcp):
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_init),
(gst_rtspsrc_finalize), (gst_rtspsrc_create_stream),
(gst_rtspsrc_parse_rtpmap),
(gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_send),
(gst_rtspsrc_parse_methods), (gst_rtspsrc_open),
(gst_rtspsrc_play), (gst_rtspsrc_handle_message):
* gst/rtsp/gstrtspsrc.h:
* gst/rtsp/rtspdefs.c: (rtsp_strresult):
* gst/rtsp/rtspdefs.h:
* gst/rtsp/rtspext.h:
* gst/rtsp/rtspextwms.c: (rtsp_ext_wms_parse_sdp),
(rtsp_ext_wms_get_context):
* gst/rtsp/rtspextwms.h:
* gst/rtsp/rtsptransport.c: (rtsp_transport_init), (parse_mode),
(rtsp_transport_parse):
* gst/rtsp/rtsptransport.h:
Factor out extension in separate module.
Fix getcaps to filter against the padtemplate.
Use Content-Base if the server gives one.
Rework the transport parsing a bit for future extensions.
Added some Real Header field definitions.
Original commit message from CVS:
* gst/apetag/gstapedemux.c: (ape_demux_parse_tags):
Extract disc/album/medium number and count and try harder
to extract track number/count.
Original commit message from CVS:
* configure.ac:
* sys/Makefile.am:
add build stuff for v4l2, needs --enable-experimental until
the last bits are resolved
Original commit message from CVS:
* tests/check/Makefile.am:
Disable autodetect test temporarily, so that the build bots
update -bad and the ranks of unreliable video sinks in there.
* tests/check/elements/autodetect.c: (GST_START_TEST):
Skip test if no usable videosink is found.
Original commit message from CVS:
* gst/rtsp/URLS:
Add some more URLs.
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_class_init),
(gst_rtspsrc_init), (gst_rtspsrc_finalize),
(gst_rtspsrc_set_property), (gst_rtspsrc_get_property),
(gst_rtspsrc_stream_setup_rtp), (gst_rtspsrc_loop_interleaved),
(gst_rtspsrc_loop_udp), (gst_rtspsrc_loop_send_cmd),
(gst_rtspsrc_loop), (gst_rtspsrc_send),
(gst_rtspsrc_parse_methods), (gst_rtspsrc_open),
(gst_rtspsrc_close), (gst_rtspsrc_play), (gst_rtspsrc_pause),
(gst_rtspsrc_handle_message), (gst_rtspsrc_change_state):
* gst/rtsp/gstrtspsrc.h:
Add timeout property to control UDP timeouts.
Fix error messages.
Also start a loop function when operating in UDP mode so that we can
do some more stuff async.
Handle element messages from udpsrc to detect timeouts. If a timeout
happens we currently generate an error.
API: rtspsrc::timeout property.
* gst/udp/gstudpsrc.c: (gst_udpsrc_class_init),
(gst_udpsrc_create):
Really implement the timeout in microseconds and not milliseconds.
Original commit message from CVS:
* gst/udp/gstudpsrc.c: (gst_udpsrc_class_init), (gst_udpsrc_init),
(gst_udpsrc_create), (gst_udpsrc_set_property),
(gst_udpsrc_get_property), (gst_udpsrc_unlock), (gst_udpsrc_stop):
* gst/udp/gstudpsrc.h:
Added property to post a message on timeout.
Updated docs.
When restarting the select, initialize the fdsets again.
Init control sockets so we don't accidentally close a random socket.
API: GstUDPSrc::timeout property
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtsp_proto_get_type):
Fix flag registration.
* gst/rtsp/rtspconnection.c: (rtsp_connection_read):
Reading 0 also means 'no more commands'
Original commit message from CVS:
Patch by: Antoine Tremblay <hexa00 at gmail dot com>
* gst/udp/gstudpsrc.c: (gst_udpsrc_create):
Fix possible infinite loop when shutting down, a read can also return
0 to indicate no more messages are available. Fixes#358156.
Original commit message from CVS:
* gst/autodetect/gstautoaudiosink.c:
(gst_auto_audio_sink_base_init), (gst_auto_audio_sink_class_init),
(gst_auto_audio_sink_find_best):
* gst/autodetect/gstautovideosink.c: (gst_auto_video_sink_detect):
Small cleanups.
don't try to set "sync" property when it is not available.
Original commit message from CVS:
Patch by: Peter Kjellerstedt <pkj at axis com>
* gst/alpha/gstalpha.c:
* gst/rtp/gstrtpamrdepay.c:
* gst/rtsp/gstrtspsrc.c:
* gst/udp/gstudpsrc.c:
* gst/videomixer/videomixer.c:
Include stdlib.h in some more places, makes things compile
with uClibc and -Werror (#357592).
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:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_index):
Don't check for a tag that is never there and check if we read the
correct tag. Fixes seeking again.
We must post an error when all pads are unlinked.
Original commit message from CVS:
* gst/rtp/Makefile.am:
* gst/rtp/gstrtp.c: (plugin_init):
* gst/rtp/gstrtpvorbisdepay.c: (gst_rtp_vorbis_depay_process):
* gst/rtp/gstrtpvorbispay.c: (gst_rtp_vorbis_pay_setcaps),
(gst_rtp_vorbis_pay_reset_packet),
(gst_rtp_vorbis_pay_init_packet),
(gst_rtp_vorbis_pay_flush_packet), (gst_rtp_vorbis_pay_parse_id),
(gst_rtp_vorbis_pay_handle_buffer):
More fixage, set endoder-params correctly in the payloader.
Original commit message from CVS:
* gst/autodetect/gstautoaudiosink.c:
(gst_auto_audio_sink_base_init):
* gst/autodetect/gstautovideosink.c:
(gst_auto_video_sink_base_init):
Make static pad templates static to appease valgrind's leak
detector.
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/autodetect.c: (GST_START_TEST),
(autodetect_suite):
Add simple test for the ghostpad lockup on shutdown fixed in core
CVS (audio bit disabled because it would need dozens of alsa
suppressions and I'm too lazy to add those now).
Original commit message from CVS:
* gst/rtp/README:
Update README with some examples.
* gst/rtp/gstrtpmp4gpay.c: (gst_rtp_mp4g_pay_init),
(gst_rtp_mp4g_pay_finalize), (gst_rtp_mp4g_pay_parse_audio_config),
(gst_rtp_mp4g_pay_parse_video_config), (gst_rtp_mp4g_pay_new_caps),
(gst_rtp_mp4g_pay_setcaps):
* gst/rtp/gstrtpmp4gpay.h:
Make optional RTP parameters of type STRING, as required by the
application/x-rtp caps specification.
Original commit message from CVS:
* gst/rtp/gstrtph263pdepay.c:
* gst/rtp/gstrtph263ppay.c:
Correctly calculate size of each H263+ RTP buffer taking into account MTU and
RTP header.
Original commit message from CVS:
* gst/rtsp/URLS:
Added some test URLS.
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_create_stream),
(gst_rtspsrc_loop), (gst_rtspsrc_open):
* gst/rtsp/gstrtspsrc.h:
When creating streams, give access to the complete SDP.
Fix some leaks.
Collect and merge global stream properties in stream caps.
Preliminary support for WMServer.
* gst/rtsp/rtspconnection.c: (rtsp_connection_create),
(rtsp_connection_connect), (rtsp_connection_read), (read_body),
(rtsp_connection_receive):
* gst/rtsp/rtspconnection.h:
Make connection interruptable.
Refactor to make it reconnectable.
Don't fail on short reads when reading data packets.
* gst/rtsp/rtspurl.c: (rtsp_url_parse), (rtsp_url_set_port),
(rtsp_url_get_port):
* gst/rtsp/rtspurl.h:
Add methods for getting/setting the port.
* gst/rtsp/sdpmessage.c: (sdp_message_get_attribute_val_n),
(sdp_message_get_attribute_val), (sdp_media_get_attribute),
(sdp_media_get_attribute_val_n), (sdp_media_get_attribute_val),
(sdp_media_get_format), (sdp_parse_line),
(sdp_message_parse_buffer):
Fix headers.
Add methods for getting multiple attributes with the same name.
Increase buffer size when parsing.
Fix parsing of a=foo fields.
* gst/rtsp/test.c: (main):
Update to new connection API.
* gst/rtsp/rtspmessage.c: (rtsp_message_new_response),
(rtsp_message_init_response), (rtsp_message_init_data),
(rtsp_message_unset), (rtsp_message_free), (rtsp_message_dump):
* gst/rtsp/rtspmessage.h:
* gst/rtsp/rtsptransport.c: (rtsp_transport_free):
* gst/rtsp/rtsptransport.h:
* gst/rtsp/sdp.h:
* gst/rtsp/sdpmessage.h:
* gst/rtsp/gstrtsp.c:
* gst/rtsp/gstrtsp.h:
* gst/rtsp/gstrtpdec.c:
* gst/rtsp/gstrtpdec.h:
* gst/rtsp/rtsp.h:
* gst/rtsp/rtspdefs.c:
* gst/rtsp/rtspdefs.h:
Dual licensed under MIT and LGPL now.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (find_stream_by_pt),
(gst_rtspsrc_create_stream), (gst_rtspsrc_free_stream),
(gst_rtspsrc_media_to_caps), (gst_rtspsrc_stream_setup_rtp),
(gst_rtspsrc_stream_configure_transport), (find_stream_by_channel),
(gst_rtspsrc_push_event), (gst_rtspsrc_loop), (gst_rtspsrc_send),
(gst_rtspsrc_parse_methods), (gst_rtspsrc_open),
(gst_rtspsrc_parse_rtpinfo), (gst_rtspsrc_play):
* gst/rtsp/gstrtspsrc.h:
Reorganize stream parsing and creation.
Detect container formats in interleaved mode.
Keep more state about the streams.
Assume a server also supports PLAY if it does not say.
Add unicast and interleaved properties to TCP transport requests to make
some servers happy (WMServer).
* gst/rtsp/sdpmessage.h:
Add some defines for the standard Bandwidth types.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_base_init),
(gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_push_event),
(gst_rtspsrc_loop), (gst_rtspsrc_uri_set_uri):
* gst/rtsp/gstrtspsrc.h:
Export sometimes source pad with correct caps on the template, create
the ghostpad from the template.
Remove RTCP template as we never expose RTCP.
Protect against invalid body size.
Avoid memcpy when creating the output buffer.
Properly post an error and send EOS when the loop function is shut down.
Original commit message from CVS:
Based on patch by: Lutz Mueller <lutz at topfrose dot de>
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_class_init),
(gst_rtspsrc_init), (gst_rtspsrc_set_property), (gst_rtspsrc_open),
(gst_rtspsrc_uri_get_uri), (gst_rtspsrc_uri_set_uri):
* gst/rtsp/gstrtspsrc.h:
Make sure we can never set an invalid location.
* gst/rtsp/rtspmessage.c: (rtsp_message_steal_body):
* gst/rtsp/rtspmessage.h:
Added _steal_body method for future use.
* gst/rtsp/rtspurl.c: (rtsp_url_parse), (rtsp_url_free):
Make freeing of NULL url return immediatly.
Original commit message from CVS:
Based on patch by: Lutz Mueller <lutz at topfrose dot de>
* gst/rtsp/gstrtspsrc.c: (_do_init), (gst_rtspsrc_class_init),
(gst_rtspsrc_init), (gst_rtspsrc_stream_setup_rtp),
(gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_play),
(gst_rtspsrc_change_state):
* gst/rtsp/gstrtspsrc.h:
Use boilerplate.
Make rtspsrc subclass GstBin to make state changes easier.
Add Range header field on the PLAY request.
Original commit message from CVS:
Based on patch by: Thijs Vermeir <thijs dot vermeir at barco dot com>
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_set_state),
(gst_rtspsrc_media_to_caps), (gst_rtspsrc_stream_setup_rtp),
(gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_open),
(gst_rtspsrc_close), (gst_rtspsrc_play), (gst_rtspsrc_pause):
* gst/rtsp/rtspconnection.c: (inet_aton):
Small cleanups.
when multicast is selected as the transport, create UDP sources and
connect to the multicast group.
Move parsing and setting of caps to a common place.
Fixes#349894.
Original commit message from CVS:
Patch by: Yves Lefebvre <ivanohe at abacom dot com>
* gst/avi/gstavimux.c: (gst_avi_mux_stop_file):
Correctly set the dwLength in strh.
With this patch, the file duration is now displayed correctly in window
media player and the AVI plays completely. Fixes#356147
Original commit message from CVS:
Patch by: Darren Kenny <darren dot kenny at sun dot com>
* sys/sunaudio/gstsunaudiomixerctrl.c:
(gst_sunaudiomixer_ctrl_build_list):
Set the output track as the MASTER so that the gnome-settings-daemon
keybindings for changing the volume using the keyboard works.
Fixes#356142.
Original commit message from CVS:
* gst/multipart/multipartdemux.c: (gst_multipart_demux_chain):
Fix documentation, it is not possible to control the framerate of jpegdec
using filtered caps yet. Fixes#355210.
Return the downstream GstFlowReturn instead of GST_FLOW_OK so that we
stop when there is an error.
Original commit message from CVS:
* gst/apetag/gsttagdemux.c: (gst_tag_demux_chain_parse_tag):
* gst/id3demux/gstid3demux.c: (gst_id3demux_chain):
Don't interpret a first buffer with an offset of NONE as
'from the middle of the stream', but only a first buffer
that has a valid buffer offset that's non-zero (see #345449).
Original commit message from CVS:
* gst/icydemux/gsticydemux.c: (gst_icydemux_reset),
(gst_icydemux_typefind_or_forward):
* gst/icydemux/gsticydemux.h:
When we merge/collect multiple incoming buffers for typefinding
purposes, keep an initial 0 offset on the first outgoing buffer
as well (otherwise id3demux won't work right). Fixes#345449.
Also Make buffer metadata writable before setting buffer caps.
* tests/check/elements/icydemux.c: (typefind_succeed),
(cleanup_icydemux), (push_data), (GST_START_TEST),
(icydemux_suite):
Small test case for the above.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_peek_chunk),
(gst_avi_demux_stream_index), (gst_avi_demux_sync),
(gst_avi_demux_stream_header_push),
(gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data),
(gst_avi_demux_loop):
More code reuse and better logging in _peek_chunk(). Reintroduce check
for chunk sizes before reading them (avoid oom). Better handling for
invalid chunksizes when streaming.
Original commit message from CVS:
* gst/level/gstlevel.c: (gst_level_set_property):
* gst/level/gstlevel.h:
Fix type mixup in level->interval (gdouble<->guint64). Spotted by
René Stadler
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_read_subindexes_pull),
(gst_avi_demux_sync), (gst_avi_demux_stream_header_push),
(gst_avi_demux_stream_data):
Revert one change to fix streaming avi (adapter size != data size).
Original commit message from CVS:
Patch by: Frédéric Riss <frederic.riss at gmail dot com>
* gst/matroska/matroska-demux.c: (gst_matroska_track_free),
(gst_matroska_demux_reset),
(gst_matroska_demux_read_track_encodings),
(gst_matroska_demux_add_stream), (gst_matroska_decode_buffer),
(gst_matroska_demux_parse_blockgroup_or_simpleblock),
(gst_matroska_demux_subtitle_caps):
* gst/matroska/matroska-ids.h:
Add support for VOBSUB subtitle tracks and zlib-compressed
tracks. Make sure we start on a keyframe after a seek. (#343348)
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_push_hdr_buf),
(gst_matroska_demux_push_flac_codec_priv_data),
(gst_matroska_demux_push_xiph_codec_priv_data),
(gst_matroska_demux_parse_blockgroup_or_simpleblock),
(gst_matroska_demux_video_caps), (gst_matroska_demux_audio_caps):
* gst/matroska/matroska-ids.h:
Add basic FLAC support (#311586), not perfect yet though, needs some
tweaking in flacdec; also, seeking could be better.
Do better bounds checking when deserialising vorbis stream headers
to make sure we don't read beyond the end of the buffer on bad input.
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:
* gst/avi/gstavidemux.c: (gst_avi_demux_class_init),
(gst_avi_demux_init), (gst_avi_demux_finalize),
(gst_avi_demux_reset), (gst_avi_demux_index_last),
(gst_avi_demux_index_next), (gst_avi_demux_index_entry_for_time),
(gst_avi_demux_parse_subindex), (gst_avi_demux_parse_index),
(gst_avi_demux_stream_index), (gst_avi_demux_peek_tag),
(gst_avi_demux_next_data_buffer), (gst_avi_demux_stream_scan),
(gst_avi_demux_massage_index),
(gst_avi_demux_calculate_durations_from_index),
(gst_avi_demux_stream_header_pull), (gst_avi_demux_do_seek),
(gst_avi_demux_process_next_entry), (gst_avi_demux_loop),
(gst_avi_demux_chain), (gst_avi_demux_sink_activate),
(gst_avi_demux_change_state):
* gst/avi/gstavidemux.h:
More attempts to turn this into readable code.
Don't leak adapters.
Calculate duration according to index more efficiently.
Don't try to act like we drive the pipeline in chain mode.
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:
* gst/audiofxgood/audiopanorama.c: (gst_audio_panorama_class_init),
(gst_audio_panorama_set_property),
(gst_audio_panorama_get_property),
(gst_audio_panorama_transform_m2s_int),
(gst_audio_panorama_transform_s2s_int),
(gst_audio_panorama_transform_m2s_float),
(gst_audio_panorama_transform_s2s_float):
* gst/audiofxgood/audiopanorama.h:
* tests/check/elements/audiopanorama.c: (GST_START_TEST):
Make also the pan-property float (saves scaling and yields better
resolution)
Original commit message from CVS:
* gst/audiofxgood/audiopanorama.c: (gst_audio_panorama_set_caps),
(gst_audio_panorama_transform_m2s_float),
(gst_audio_panorama_transform_s2s_float):
ChangeLog surgery to add cymax's real name
Original commit message from CVS:
* gst/audiofxgood/audiopanorama.c:
(gst_audio_panorama_transform_m2s):
Fix docs & debug category. Add Fixme for volume pan levels.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_read_subindexes_pull),
(gst_avi_demux_sync), (gst_avi_demux_stream_header_push),
(gst_avi_demux_stream_header_pull),
(gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data),
(gst_avi_demux_chain):
unbreak AVI index handling, some more debug, remove an obsolete
adapter_flush that caused streaming to wander off in the wild
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query),
(gst_avi_demux_parse_superindex), (gst_avi_demux_parse_subindex),
(gst_avi_demux_parse_stream), (gst_avi_demux_parse_odml),
(gst_avi_demux_parse_index), (gst_avi_demux_stream_index),
(gst_avi_demux_calculate_durations_from_index),
(gst_avi_demux_stream_header_push),
(gst_avi_demux_stream_header_pull):
* gst/avi/gstavidemux.h:
Some more cleanups.
Fix totalFrames parsing in ODML.
Disable use of index for length calculation in case of ODML as this is
broken now.
Original commit message from CVS:
* docs/plugins/gst-plugins-good-plugins-docs.sgml:
There is no taglibmux element ...
* gst/rtsp/gstrtspsrc.c:
Use '%' rather than '&perc;' in gtk-doc blurb, docs build
was complaining about unknown entity here.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream),
(gst_avi_demux_do_seek), (gst_avi_demux_handle_seek),
(gst_avi_demux_process_next_entry):
* gst/avi/gstavidemux.h:
Mark DISCONT.
Remove old unused fields and reorder the struct a bit.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_reset),
(gst_avi_demux_index_entry_for_time),
(gst_avi_demux_handle_src_query), (gst_avi_demux_handle_src_event),
(gst_avi_demux_stream_init), (gst_avi_demux_parse_stream),
(gst_avi_demux_stream_index), (gst_avi_demux_peek_tag),
(gst_avi_demux_next_data_buffer),
(gst_avi_demux_calculate_durations_from_index),
(gst_avi_demux_stream_header), (gst_avi_demux_do_seek),
(gst_avi_demux_handle_seek), (gst_avi_demux_aggregated_flow),
(gst_avi_demux_process_next_entry), (gst_avi_demux_loop),
(gst_avi_demux_sink_activate_pull), (gst_avi_demux_change_state):
* gst/avi/gstavidemux.h:
Precalc most of the duration query for each stream.
Make seeking more correct.
Use GstSegment to track position and duration.
Code cleanups and leak fixes.
Calculate correct total duration based on index length.
Original commit message from CVS:
* gst/id3demux/id3v2frames.c: (parse_text_identification_frame),
(parse_insert_string_field):
If strings in text fields are marked ISO8859-1, but contain
valid UTF-8 already, then handle them as UTF-8 and ignore
the encoding. (#351794)
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:
* gst/monoscope/gstmonoscope.c: (gst_monoscope_chain):
Don't unref buffers of which we've already given away
ownership to the adapter.
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:
* gst/audiopanorama/.cvsignore:
* gst/audiopanorama/Makefile.am:
* gst/audiopanorama/audiofx.c:
* gst/audiopanorama/audiopanorama.c:
* gst/audiopanorama/audiopanorama.h:
die! die! die! you should never have been there
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:
* 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:
Patch by: Sjoerd Simons <sjoerd at luon dot net>
* gst/multipart/multipartdemux.c: (multipart_parse_header):
Accept leading whitespace before the boundary
This patch makes the demuxer allow some whitespace before the actual
boundary. This makes the demuxer work with the ``old'' gstreamer
multipartmuxer again (which placed an extra \n before the start
of the stream) Fixes#349068.
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:
* tests/check/Makefile.am:
Don't try to run annodex unit tests if the annodex
plugin has not been built (Fixes#351116).
Original commit message from CVS:
* gst/autodetect/gstautoaudiosink.c:
(gst_auto_audio_sink_find_best):
When we can't find a usable audiosink, don't error out,
but use a fake sink instead and post a warning message
on the bus (#341278).
Original commit message from CVS:
* gst/rtp/gstrtpamrdepay.c:
* gst/rtp/gstrtpmp4gdepay.c:
Caps extra properties must be defined as strings for
depayloaders because they are generated from an SDP.
* gst/rtp/Makefile.am:
* gst/rtp/gstrtp.c: (plugin_init):
* gst/rtp/gstrtph264depay.c: (gst_rtp_h264_depay_base_init),
(gst_rtp_h264_depay_class_init), (gst_rtp_h264_depay_init),
(gst_rtp_h264_depay_finalize), (decode_base64),
(gst_rtp_h264_depay_setcaps), (gst_rtp_h264_depay_process),
(gst_rtp_h264_depay_set_property),
(gst_rtp_h264_depay_get_property),
(gst_rtp_h264_depay_change_state),
(gst_rtp_h264_depay_plugin_init):
* gst/rtp/gstrtph264depay.h:
Added basic, not completely functional RFC 3984 H264 depayloader.
Original commit message from CVS:
Patch by: Jens Granseuer <jensgr at gmx net>
* gconf/Makefile.am:
Make --disable-schemas work right (they still need
to be copied to the installation directory, just not
applied). Fixes#351347 (also #344100).
Original commit message from CVS:
Patch by: Edward Hervey <edward@fluendo.com>
* configure.ac:
* gst/wavparse/gstwavparse.c: (gst_wavparse_perform_seek),
(gst_wavparse_stream_data):
Send the newsegment event in the streaming thread.
Fixes#347529
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 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* sys/ximage/ximageutil.c: (ximageutil_xcontext_get):
Fix rgb masks when recording in < 24bpp.
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:
Patch by: Sjoerd Simons <sjoerd at luon dot net>
* gst/multipart/multipartdemux.c: (gst_multipart_demux_base_init),
(gst_multipart_demux_class_init), (gst_multipart_demux_init),
(gst_multipart_demux_finalize), (get_line_end),
(multipart_parse_header), (multipart_find_boundary),
(gst_multipart_demux_chain), (gst_multipart_demux_change_state),
(gst_multipart_set_property), (gst_multipart_get_property):
Uses GstAdapter instead of own buffering.
Actually parses the mime-type correctly (In tests the mime-type was
always "" with the old version).
Uses the Content-length header if available to speed up things.
Reliably autoscans the boundary name by default.
Fixes#349068.
* gst/multipart/multipartmux.c: (gst_multipart_mux_collected):
Don't start the stream with a \n.
Original commit message from CVS:
Patch by: Brian Cameron <brian dot cameron at sun com>
* sys/sunaudio/gstsunaudiosrc.c: (gst_sunaudiosrc_open):
Open source with O_NONBLOCK (#349015).
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_index),
(gst_avi_demux_massage_index):
* gst/avi/gstavidemux.h:
Whitespace fixes and more debug
Original commit message from CVS:
* gst/autodetect/gstautoaudiosink.c:
(gst_auto_audio_sink_create_element_with_pretty_name),
(gst_auto_audio_sink_find_best),
(gst_auto_audio_sink_change_state):
Get rid of old and unused magic sound-server properties stuff.
Add suffix to child sink's name that makes it easy to see from
the name alone which type it actually is (alsa, oss, esd, etc.).
Original commit message from CVS:
* gst/udp/gstudpsrc.c: (gst_udpsrc_class_init), (gst_udpsrc_init),
(gst_udpsrc_set_property), (gst_udpsrc_get_property),
(gst_udpsrc_start):
* gst/udp/gstudpsrc.h:
Rename "buffer" to "buffer-size" to make clear it is a size we set and
not some sort of feature we enable.
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:
* gst/wavparse/gstwavparse.c:
#define 'fact' RIFF chunk if we are not compiling against
-base CVS (we don't want to depend on -base CVS for this
one define only, and also not for release order reasons).
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:
* sys/ximage/gstximagesrc.c: (gst_ximage_src_class_init):
Document newly-added properties properly, so that there is a
'Since: 0.10.4' in the plugin docs. Convert some property
names into canonical GObject style (GObject will do that
internally anyway).
Original commit message from CVS:
* gst/id3demux/id3tags.c:
(id3demux_add_id3v2_frame_blob_to_taglist):
Extract frames for ID3v2 versions prior to ID3v2.3.0 properly as
well, and add the version to the blob's buffer caps, since that
information will be needed for deserialisation later on (#348644).
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_read_subindexes),
(gst_avi_demux_parse_stream):
Moved win32 variant of GST_DEBUG_CATEGORY_EXTERN to gstinfo.h. Fixed
indentation and spacing.
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:
* gst/wavparse/gstwavparse.c: (gst_wavparse_reset),
(gst_wavparse_other), (gst_wavparse_perform_seek),
(gst_wavparse_get_upstream_size), (gst_wavparse_stream_headers),
(gst_wavparse_add_src_pad), (gst_wavparse_stream_data),
(gst_wavparse_pad_query):
* gst/wavparse/gstwavparse.h:
Use information from 'fact' chunk for length calculation of compressed
samples. Calculate bps if bogus value is found in wav header (embeded
mp2/mp3).
Original commit message from CVS:
* gst/id3demux/gstid3demux.c: (plugin_init):
* gst/id3demux/id3tags.c:
(id3demux_add_id3v2_frame_blob_to_taglist):
* gst/id3demux/id3tags.h:
On second thought, it might be wiser and more efficient
not to do tag registration from a streaming thread.
Original commit message from CVS:
* gst/id3demux/id3tags.c:
(id3demux_add_id3v2_frame_blob_to_taglist),
(id3demux_id3v2_frames_to_tag_list):
Put ID3v2 frames we can't parse as binary blobs into private
tags, so that they are not lost when retagging, at least once
id3v2mux has been taught to re-inject those frames again.
See bug #334375.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream),
(gst_avi_demux_process_next_entry):
Fix some leaks.
* gst/id3demux/id3tags.c: (id3demux_id3v2_frames_to_tag_list):
Don't use \n in debug lines.
Original commit message from CVS:
* docs/plugins/gst-plugins-good-plugins-docs.sgml:
* docs/plugins/gst-plugins-good-plugins-sections.txt:
Add annodex and icydemux, cleanup the sections a bit
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:
* gst/avi/gstavimux.c: (gst_avi_mux_vidsink_set_caps):
Respect mpegversion for "video/mpeg" and give message in case of
unhandled versions.
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:
2006-07-14 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* sys/ximage/gstximagesrc.c: (gst_ximage_src_ximage_get),
(gst_ximage_src_get_caps), (gst_ximage_src_class_init):
Fix segfault when moving mouse pointer to the bottom right corner.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_reset),
(gst_avi_demux_stream_header), (push_tag_lists):
* gst/avi/gstavidemux.h:
Don't push tag events found by gst_riff_parse_info() before outputting
GST_EVENT_NEWSEGMENT.
Original commit message from CVS:
* gst/rtsp/Makefile.am:
* gst/rtsp/rtspconnection.c: (rtsp_connection_send),
(rtsp_connection_close):
* gst/rtsp/rtspdefs.h:
replaced closesocket and close in code with one CLOSE_SOCKET.
Some more cleanups. Fixes#345301.
Original commit message from CVS:
Patch by: Rob Taylor <robtaylor at floopily dot org>
* gst/udp/gstmultiudpsink.c: (join_multicast),
(gst_multiudpsink_init_send), (gst_multiudpsink_add):
If a destination is added before the stream is set to PAUSED, the
multicast group is not joined as the socket is not created yet.
Also TTL and LOOP should also be set. Fixes#346921.
Original commit message from CVS:
2006-07-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* sys/ximage/gstximagesrc.c: (gst_ximage_src_ximage_get),
(gst_ximage_src_set_property), (gst_ximage_src_get_property),
(gst_ximage_src_get_caps), (gst_ximage_src_class_init),
(gst_ximage_src_init):
* sys/ximage/gstximagesrc.h:
Fix use-damage property to actually work :)
Add startx, starty, endx, endy properties so screencasts other than full
screen ones can work.
Original commit message from CVS:
2006-07-08 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* sys/ximage/gstximagesrc.c: (gst_ximage_src_ximage_get),
(gst_ximage_src_set_property), (gst_ximage_src_get_property),
(gst_ximage_src_class_init), (gst_ximage_src_init):
* sys/ximage/gstximagesrc.h:
Add use_damage property to offer ability to choose whether to use
XDamage or not.
Original commit message from CVS:
* gst/apetag/gsttagdemux.c: (gst_tag_demux_trim_buffer),
(gst_tag_demux_read_range):
* gst/id3demux/gstid3demux.c: (gst_id3demux_trim_buffer),
(gst_id3demux_read_range):
Don't return FLOW_UNEXPECTED when a buffer is before
the start of the stream (which might happen with
large ID3v2 tags if the tag reading was done pullrange
based and we then switched to push mode later on).
Fixes regression introduced by commit from June 29th.
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.
Original commit message from CVS:
* gst/apetag/gsttagdemux.c: (gst_tag_demux_chain):
* gst/id3demux/gstid3demux.c: (gst_id3demux_chain):
Return FLOW_UNEXPECTED when at the end of the file, not
FLOW_ERROR. Fixes 'internal stream error' errors that
would sometimes occur in totem when scrubbing to the
end of an ID3v1 tagged mp3 file.
Original commit message from CVS:
* ext/libpng/gstpngdec.c: (gst_pngdec_init), (user_info_callback),
(buffer_clip), (user_end_callback), (gst_pngdec_chain),
(gst_pngdec_sink_event), (gst_pngdec_change_state):
* ext/libpng/gstpngdec.h:
Implement buffer clipping/dropping using GstSegment.
This provides accurate seeking.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_reset),
(gst_avi_demux_read_subindexes), (gst_avi_demux_parse_stream),
(gst_avi_demux_handle_seek), (gst_avi_demux_aggregated_flow),
(gst_avi_demux_process_next_entry), (push_tag_lists),
(gst_avi_demux_stream_data), (gst_avi_demux_loop):
* gst/avi/gstavidemux.h:
Proper aggregation of each stream's GstFlowReturn in order to figure out
whether the task should stop or not.
Don't send inline events before pushing out a NEW_SEGMENT, more
specifically for GST_TAG_EVENT.
Change a GST_ERROR to a GST_WARNING for a non-fatal situation in reading
sub-indexes.
Original commit message from CVS:
Patch by: Brian Cameron <brian dot cameron at sun dot com>
* sys/sunaudio/gstsunaudiomixerctrl.c:
(gst_sunaudiomixer_ctrl_build_list):
Move "Monitor" slider to input tab so it works more like
sdtaudiocontrol, which is what people on Solaris are used
to using for their mixer program (#346259).
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream),
(gst_matroska_demux_send_event),
(gst_matroska_demux_loop_stream_parse_id):
* gst/matroska/matroska-ids.h:
Send tag event after newsegment event.
Original commit message from CVS:
* gst/id3demux/gstid3demux.c: (gst_id3demux_trim_buffer),
(gst_id3demux_read_range):
Make sure we don't return GST_FLOW_OK with a NULL buffer in
certain cases where a read beyond the end of the file is
requested. Fixes#345930.
* gst/apetag/gsttagdemux.c: (gst_tag_demux_trim_buffer),
(gst_tag_demux_read_range):
Fix same issue here as well.
Original commit message from CVS:
2006-06-29 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* sys/ximage/gstximagesrc.c: (gst_ximage_src_ximage_get):
Fix hypothetical crash.
Original commit message from CVS:
Patch by: Brian Cameron <brian dot cameron at sun dot com>
* sys/sunaudio/gstsunaudiosink.c: (gst_sunaudiosink_prepare):
Do not modify the ports value. If the user has turned off the
built-in speakers, then we should not reset it in the prepare
function, since this causes the built-in speakers to turn
back on anytime the user changes a track in totem, rhythmbox,
etc. (#346066).
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_check_subtitle_buffer),
(gst_matroska_demux_parse_blockgroup_or_simpleblock),
(gst_matroska_demux_subtitle_caps):
* gst/matroska/matroska-ids.c:
(gst_matroska_track_init_subtitle_context):
* gst/matroska/matroska-ids.h:
Try to fix up broken matroska files containing subtitle
streams with non-UTF8 character encodings (courtesy of
mkvmerge) using either the encoding specified in the
GST_SUBTITLE_ENCODING environment variable or the
current locale's character set if it is non-UTF8.
Fixes#337076.
Original commit message from CVS:
* gst/id3demux/id3v2frames.c: (parse_picture_frame):
Set image type from APIC frame as "image-type" field
of GST_TAG_IMAGE buffer caps (#344605).
Original commit message from CVS:
* gst/rtsp/rtspconnection.c: (inet_aton), (rtsp_connection_send),
(rtsp_connection_close), (rtsp_connection_free):
Use better G_OS_* macros. Fixes#345301 some more.
Original commit message from CVS:
Patch by: Brian Cameron <brian dot cameron at sun dot com>
* sys/sunaudio/Makefile.am:
* sys/sunaudio/gstsunaudio.c: (plugin_init):
* sys/sunaudio/gstsunaudiomixerctrl.c:
(gst_sunaudiomixer_ctrl_build_list), (gst_sunaudiomixer_ctrl_new),
(gst_sunaudiomixer_ctrl_list_tracks),
(gst_sunaudiomixer_ctrl_get_volume),
(gst_sunaudiomixer_ctrl_set_volume),
(gst_sunaudiomixer_ctrl_set_mute),
(gst_sunaudiomixer_ctrl_set_record):
* sys/sunaudio/gstsunaudiomixerctrl.h:
* sys/sunaudio/gstsunaudiomixertrack.c:
(gst_sunaudiomixer_track_init), (gst_sunaudiomixer_track_new):
* sys/sunaudio/gstsunaudiomixertrack.h:
* sys/sunaudio/gstsunaudiosrc.c: (gst_sunaudiosrc_dispose),
(gst_sunaudiosrc_base_init), (gst_sunaudiosrc_class_init),
(gst_sunaudiosrc_init), (gst_sunaudiosrc_set_property),
(gst_sunaudiosrc_get_property), (gst_sunaudiosrc_getcaps),
(gst_sunaudiosrc_open), (gst_sunaudiosrc_close),
(gst_sunaudiosrc_prepare), (gst_sunaudiosrc_unprepare),
(gst_sunaudiosrc_read), (gst_sunaudiosrc_delay),
(gst_sunaudiosrc_reset):
* sys/sunaudio/gstsunaudiosrc.h:
Add a SunAudio source plugin.
Support stereo and right/left channel gain in the mixer plugin.
Support the RECORD flag so that you can switch between line-input and
microphone in gnome-volume-control.
Code cleanups like using an enumerator for track number instead of an
integer. Fixes#344923.
Original commit message from CVS:
Patch by: Joni Valtanen <joni dot valtanen at movial dot fi>
* gst/rtsp/rtspconnection.c: (inet_aton), (rtsp_connection_send),
(rtsp_connection_close):
Make RTSP plugin compile on windows. Fixes#345301.
Some changes to original patch to catch errors better.
use ifdef WIN32 instead of ifndef.
Original commit message from CVS:
2006-06-19 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* configure.ac:
If we have libraw1394 >= 1.2.1, then we need libiec61883.
Original commit message from CVS:
* ext/jpeg/gstjpegdec.c: (gst_jpeg_dec_chain):
After a failed buffer alloc, we need to abort the jpeg decoding (it
started when parsing headers to figure out how many bytes we need
to request downstream).
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet be>
* gst/wavparse/gstwavparse.c: (gst_wavparse_perform_seek):
Make sure we don't read beyond the end of the file (#345232).
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream):
No language specified means the implied language is English
according to the matroska spec (partially fixes#344708);
add some more debug output.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_peek_chunk_info),
(gst_wavparse_peek_chunk), (gst_wavparse_stream_headers),
(gst_wavparse_chain):
When operating chain-based, don't make any assumptions about the
chunking of the incoming data and make streaming work on days other
than the second Thursday after a full moon. Also fix up debug
messages here and there and make use of the most excellent new
gst_pad_query_peer_duration() utility function.
Skip any 'bext' chunks in front of the 'fmt ' chunk. Fixes#343837.
* gst/wavparse/gstwavparse.h:
Remove trailing comma after last enum value, some compilers don't
like that.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_seek):
Prevent out of bounds array access when scrubbing towards
the end of the file between the last index entry and the
end. Fixes occasional 'start <= stop' newsegment event
assertions when scrubbing in MJPEG files.
Original commit message from CVS:
* gst/id3demux/id3v2frames.c: (id3demux_id3v2_parse_frame),
(scan_encoded_string), (parse_picture_frame):
Extract images from ID3v2 tags (APIC frames). Fixes#339704.
* configure.ac:
Require core >= 0.10.8 (for GST_TAG_IMAGE and
GST_TAG_PPEVIEW_IMAGE used in the patch above).
Original commit message from CVS:
* gst/apetag/gsttagdemux.c: (gst_tag_demux_get_upstream_size):
* gst/id3demux/gstid3demux.c: (id3demux_get_upstream_size):
Use gst_pad_query_peer_duration() utility function here.
Original commit message from CVS:
* tests/examples/level/Makefile.am:
Add -lm to LIBS for pow() function, don't assume one of our
dependencies (such as libxml-2.0) drags it in automatically
(#343603).
Original commit message from CVS:
Patch by: Peter Kjellerstedt <pkj at axis dot com>
* configure.ac:
We should use $SED and not $(SED) in configure.ac (#343678).
Original commit message from CVS:
Patch by: Brian Cameron <brian dot cameron at sun dot com>
* sys/sunaudio/gstsunaudiomixerctrl.c:
(gst_sunaudiomixer_ctrl_open), (gst_sunaudiomixer_ctrl_build_list),
(gst_sunaudiomixer_ctrl_new), (gst_sunaudiomixer_ctrl_set_volume),
(gst_sunaudiomixer_ctrl_set_mute):
* sys/sunaudio/gstsunaudiosink.c: (gst_sunaudiosink_class_init),
(gst_sunaudiosink_init), (gst_sunaudiosink_prepare),
(gst_sunaudiosink_write):
Attached find a patch that fixes a number of bugs with the SunAudio mixer
plugin and fixes#344101:
1. The gst_sunaudiomixer_ctrl_build_list kept appending the same 3 tracks onto
the tracklist causing gnome-volume-control's preferences dialog to be messed
up and would core dump if you checked/unchecked any item.
2. We weren't previously setting the MUTE flag properly. Fixing this makes
gnome-volume-control work better.
3. Now we properly define the input track to be GST_MIXER_TRACK_INPUT and
the monitor to be GST_MIXER_TRACK_OUTPUT, so that makes gnome-volume-control
look better.
Also some minor cleanup in gstsunaudiosink.c.
Original commit message from CVS:
2006-06-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* configure.ac:
We now require libraw1394 >= 1.1.0 and that version onwards all
have .pc files.
Original commit message from CVS:
2006-05-31 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* ext/raw1394/gstdv1394src.c: (gst_dv1394src_bus_reset):
Fix bus reset when using libiec61883
Original commit message from CVS:
* gst/avi/gstavidemux.c:
add an explicit dll imported declaration for GST_CAT_EVENT+WIN32
* win32/MANIFEST:
sort file listing
* win32/vs6/libgstavi.dsp:
add gstavimux.c to the project
* win32/vs6/libgstid3demux.dsp:
add link to zlib library
* win32/vs6/libgstmatroska.dsp:
add matroska-ids.c to the project
Original commit message from CVS:
* gst/alpha/gstalphacolor.c: (gst_alpha_color_transform_caps):
* gst/debug/negotiation.c: (gst_negotiation_update_caps):
* gst/rtp/gstrtpilbcdepay.c: (gst_rtp_ilbc_depay_setcaps):
GST_PTR_FORMAT should be used to print caps in debug statements.
Original commit message from CVS:
Patch by: Sebastian Dröge <slomo at ubuntu dot com>
* gst/apetag/gstapedemux.c: (ape_demux_get_gst_tag_from_tag),
(ape_demux_parse_tags):
Some clean-ups and additions: map APE 'file' tag to
GST_TAG_LOCATION (#343123); add support for extracting
the track count and clean up parsing a bit (#343127).
Original commit message from CVS:
* ext/jpeg/gstjpegdec.c: (gst_jpeg_dec_finalize),
(gst_jpeg_dec_init), (gst_jpeg_dec_chain),
(gst_jpeg_dec_sink_event), (gst_jpeg_dec_change_state):
* ext/jpeg/gstjpegdec.h:
Clip outgoing buffers according to currently configured segment.
Original commit message from CVS:
* ext/taglib/gstid3v2mux.cc:
Handle writing of track-count or album-volume-count without
track-number or albume-volume-number (in this case the number
will just be set to 0).
* tests/check/elements/id3v2mux.c: (test_taglib_id3mux_check_tags):
It would be nice if we actually checked the values received for
track/album-volume number/count in _check_tags(), rather than
setting them again ...
Original commit message from CVS:
* gst/id3demux/id3v2frames.c: (id3v2_tag_to_taglist):
A track/volume number or count of 0 does not make sense,
just ignore it along with negative numbers (a tag might
only contain a track count without a track number).
Original commit message from CVS:
* ext/jpeg/gstjpegdec.c: (gst_jpeg_dec_init),
(gst_jpeg_dec_sink_event):
Abort decompression when receiving FLUSH_STOP. This should avoid
issues when interrupting decoding with flushes.
Original commit message from CVS:
* README:
Replace current README (containing the release notes from
some 0.9.x version) with a proper README taken from the core.
Original commit message from CVS:
* ext/dv/gstdvdemux.c: (gst_dvdemux_loop):
Implement EOS correctly by either posting
SEGMENT_DONE or pushing an EOS message depending
on the seek type. Fixes#342592
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet be>
* gst/matroska/matroska-mux.c: (gst_matroska_mux_change_state):
gst_collect_pads_stop() needs to be called before chaining up
to the parent class (#342734).
Original commit message from CVS:
* ext/flac/Makefile.am:
* ext/flac/flac_compat.h:
* ext/flac/gstflac.c:
* ext/flac/gstflacdec.c: (gst_flac_dec_init):
* ext/flac/gstflacenc.c:
Remove backwards compatibility cruft for dealing with FLAC API
changes in the 1.0.x series - we require 1.1.1 or newer these days.
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream),
(gst_matroska_demux_push_xiph_codec_priv_data),
(gst_matroska_demux_parse_blockgroup_or_simpleblock),
(gst_matroska_demux_video_caps), (gst_matroska_demux_audio_caps):
* gst/matroska/matroska-ids.h:
* gst/matroska/matroska-mux.c: (gst_matroska_mux_base_init),
(gst_matroska_mux_video_pad_setcaps),
(xiph3_streamheader_to_codecdata),
(vorbis_streamheader_to_codecdata),
(theora_streamheader_to_codecdata),
(gst_matroska_mux_audio_pad_setcaps),
(gst_matroska_mux_write_data):
Add support for muxing/demuxing theora video (#342448; too bad
none of the usual linux players can actually play this). Playback
in GStreamer will require additional changes to theoradec in -base.
Refactor streamheaders <=> CodecPrivateData code a bit; some small
cleanups.
Original commit message from CVS:
* ext/jpeg/gstjpegdec.c: (hresamplecpy1),
(gst_jpeg_dec_decode_indirect), (gst_jpeg_dec_chain):
Fix crashes when the horizontal subsampling is 1.
Fixes#342097.
Original commit message from CVS:
* gst/id3demux/id3v2frames.c: (id3v2_tag_to_taglist):
Don't output any tag when we encounter a negative track number - the
tag type is uint, so we end up outputting huge positive numbers
instead. (Fixes: #342029)
Original commit message from CVS:
2006-05-18 Philippe Kalaf <philippe.kalaf at collabora.co.uk>
* rtp/gst/gstrtph263pay.c:
Properly set static caps for H263 at 34.
Original commit message from CVS:
Patch by: James "Doc" Livingston <doclivingston gmail com>
* ext/taglib/gsttaglibmux.c: (gst_tag_lib_mux_render_tag):
Merge event tags and tag setter tags correctly (#339918). Also,
don't leak taglist in case of an error.
Original commit message from CVS:
* gst/law/mulaw-decode.c: (mulawdec_getcaps):
We can only do caps intersection if the othercaps are non-empty and not
ANY. Else we return the pad template (base_caps).
Original commit message from CVS:
* ext/jpeg/gstjpegdec.c: (gst_jpeg_dec_chain):
Fix crash when outputting debugging information for certain
pictures (always good to use the right struct member for
the number of records in an array).
Original commit message from CVS:
* ext/libpng/gstpngenc.c: (gst_pngenc_chain):
In snapshot mode, we always return GST_FLOW_UNEXPECTED whatever the
return value of gst_pad_push_event().
Original commit message from CVS:
* gst/autodetect/gstautoaudiosink.c:
(gst_auto_audio_sink_find_best):
* gst/autodetect/gstautovideosink.c:
(gst_auto_video_sink_find_best):
Make the name of the child element be based on the name of the
parent, so that debug output is more useful.
* gst/id3demux/id3v2frames.c: (find_utf16_bom),
(parse_insert_string_field), (parse_split_strings):
Rework string parsing to always walk over BOM markers in UTF16
strings, using the endianness indicated by the innermost one,
then trying the opposite endianness if that fails to convert
to valid UTF-8. Fixes#341774
Original commit message from CVS:
* ext/taglib/gstid3v2mux.cc:
Add support for writing images (APIC frames) into ID3v2
tags (picture type always set to 'other' for now though).
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_fmt),
(gst_wavparse_perform_seek), (gst_wavparse_stream_headers):
Fix use of uninitialised values if we're NOT seeking in ready.
Fix typos.