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:
* 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:
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:
* 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:
* 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:
* 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/equalizer/gstiirequalizer.c: (gst_iir_equalizer_class_init),
(gst_iir_equalizer_set_property), (gst_iir_equalizer_get_property),
(gst_iir_equalizer_filter_inplace):
Rename "values" property to "band-values" and change type into a
GValueArray, so it's more easily bindable and the range of the
values passed in is defined and checked etc.; also do some
locking.
Original commit message from CVS:
* gst/videocrop/gstvideocrop.c:
(gst_video_crop_get_image_details_from_caps),
(gst_video_crop_transform_packed_complex):
Fix cropping for packed 4:2:2 formats YUYV/YUY2 and UYVY.
* tests/icles/videocrop-test.c: (check_bus_for_errors),
(test_with_caps), (main):
Block streaming thread before changing filter caps while the
pipeline is running so that we don't get random not-negotiated
errors just because GStreamer can't handle that yet.
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/multifile/gstmultifilesink.c:
(gst_multi_file_sink_class_init):
* gst/multifile/gstmultifilesrc.c: (gst_multi_file_src_class_init):
* gst/mve/gstmvedemux.c: (gst_mve_video_create_buffer),
(gst_mve_video_palette), (gst_mve_video_code_map),
(gst_mve_audio_init), (gst_mve_audio_data), (gst_mve_timer_create),
(gst_mve_demux_chain):
* gst/mve/gstmvemux.c: (gst_mve_mux_push_chunk):
* gst/mve/mveaudioenc.c: (mve_compress_audio):
* gst/mve/mvevideodec16.c: (ipvideo_copy_block):
* gst/mve/mvevideodec8.c: (ipvideo_copy_block):
* gst/mve/mvevideoenc16.c: (mve_encode_frame16):
* gst/mve/mvevideoenc8.c: (mve_encode_frame8):
Use proper print statements.
Fixes build on mac os x.
<wingo> oo look at me my name is edward i'm hacking on macos wooo
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:
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:
2007-01-13 Andy Wingo <wingo@pobox.com>
* gst/interleave/deinterleave.c (gst_deinterleave_add_new_pads):
Use fixed caps on src pads.
(gst_deinterleave_remove_pads): Remove src pads, not sink pads. I
seem to have reverse midas disease!
(gst_deinterleave_process): Proxy timestamps, offsets, durations,
and set caps on outgoing buffers. Fixes#395597, I think.
Original commit message from CVS:
2007-01-13 Andy Wingo <wingo@pobox.com>
* gst/interleave/interleave.c (gst_interleave_init): Init the
activation mode properly.
(gst_interleave_src_setcaps, gst_interleave_src_getcaps)
(gst_interleave_init): Set a setcaps and getcaps function on the
src pad, so that we can implement pull-mode negotiation.
(gst_interleave_sink_setcaps): Renamed from
gst_interleave_setcaps, as it only does the sink logic now.
Implement both for pull-mode and push-mode.
(gst_interleave_process): Set caps on our outgoing buffer.
(gst_interleave_src_activate_pull): Fix some more bogus casts.
What is up with this.
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:
2007-01-07 Andy Wingo <wingo@pobox.com>
* configure.ac:
* gst/interleave/Makefile.am:
* gst/interleave/plugin.h:
* gst/interleave/plugin.c:
* gst/interleave/interleave.c:
* gst/interleave/deinterleave.c: New elements interleave and
deinterleave, implement channel interleaving and deinterleaving.
The interleaver can operate in pull or push mode but the
deinterleaver is more like a demuxer and can only operate in push
mode.
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:
* configure.ac:
* gst/qtdemux/Makefile.am:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_moov):
Check for zlib and if available pass it explicitly to the linker
when linking qtdemux. If not available (or --disable-external has
been specified!), disable the bits in qtdemux that use it. Fixes
build on MingW (#392856).
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:
* 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:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_post_progress),
(gst_qtdemux_chain):
Don't post BUFFERING messages in streaming mode if the stream
headers are behind the movie data; instead, post "progress" element
messages as a temporary solution. Apps might get confused and do
silly things to the pipeline state if they see buffering messages
from different sources and don't realize they come from different
sources (#387160).
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_chain),
(gst_qtdemux_add_stream):
Don't output g_warning for an unsupported format, just send a
GST_ELEMENT_WARNING and don't add the pad.
Fix the case where it doesn't check for a NULL pad in streaming mode.
Fixes#387137
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):
Fix crash dereferencing NULL pointer if there's no stco atom.
Fixes#387122.
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:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_get_src_query_types),
(gst_qtdemux_handle_src_query), (gst_qtdemux_handle_src_event):
We don't support seeking in streaming mode, so don't even try.
Implement seeking query so apps can query seekability properly
(see #365414). Fix duration query.
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/qtdemux/qtdemux.c: (gst_qtdemux_get_duration),
(gst_qtdemux_handle_src_query), (qtdemux_parse_trak),
(qtdemux_audio_caps):
Add AMR-WB to the list of supported formats.
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:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_tree):
Fix non-working redirects from inetfilm.com (handle 'alis' reference
data type as well). Fixes#378613.
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:
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:
Patch by: René Stadler <mail at renestadler de>
* gst/qtdemux/qtdemux.c: (gst_qtdemux_get_duration),
(gst_qtdemux_handle_src_query), (qtdemux_parse_trak),
(qtdemux_audio_caps):
Fix caps for 24 bit raw PCM audio (2).
Fixes#383471.
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:
* 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:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_get_duration),
(gst_qtdemux_handle_src_query), (qtdemux_parse_trak),
(qtdemux_video_caps):
Handle more H263 variants.
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:
* 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:
Patch by: René Stadler <mail at renestadler de>
* gst/replaygain/gstrganalysis.c: (gst_rg_analysis_event):
Call the base class handler. Fixes#380610.
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:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_get_duration),
(gst_qtdemux_handle_src_query), (qtdemux_parse_trak):
Remove some asserts and replace them with a proper error
message. Fixes#379261.
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:
* 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/qtdemux/qtdemux.c: (gst_qtdemux_get_duration),
(gst_qtdemux_handle_src_query), (qtdemux_parse_trak):
Don't parse extra sample params for raw pcm. Fixes#374914.
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:
* 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:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_get_duration),
(gst_qtdemux_handle_src_query), (qtdemux_parse_tree),
(qtdemux_parse_trak):
Handle unbounded length streams a bit better. Fixes#367696.
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: Josep Torra Valles <josep at fluendo com>
* gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_sink_event),
(next_entry_size), (qtdemux_inflate), (qtdemux_parse_moov),
(qtdemux_parse_tree), (qtdemux_parse_trak), (qtdemux_tag_add_str),
(qtdemux_tag_add_num), (qtdemux_tag_add_date),
(qtdemux_tag_add_gnre):
Make compile with Forte compiler, mostly don't do pointer arithmetic
with void pointers (#362626).
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/qtdemux/qtdemux.c: (extract_initial_length_and_fourcc),
(gst_qtdemux_loop_state_header):
Printf format fixes.
* sys/dvb/gstdvbsrc.c:
Use "_stdint.h".
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_setcaps), (gst_faad_chain),
(gst_faad_close_decoder):
Some cleanups.
Added some more debugging.
Don't ever ignore unlinked, we're not a demuxer.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_add_stream):
Activate pad before adding it to the element.
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.