Original commit message from CVS:
* gst/udp/gstudpsrc.c: (gst_udpsrc_create):
Handle the case where there are exactly 0 bytes to read and the ioctl
did not report an error. Fixes#433530.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_perform_seek),
(gst_wavparse_stream_headers), (gst_wavparse_stream_data):
* gst/wavparse/gstwavparse.h:
Apply DISCONT to buffers.
Only apply timestamp to the first sample after a DISCONT, too many VBR
files cause random jitter in the timestamps. Fixes#433119.
Original commit message from CVS:
* gst/rtsp/gstrtpdec.c: (gst_rtp_dec_class_init),
(gst_rtp_dec_init), (gst_rtp_dec_set_property),
(gst_rtp_dec_get_property):
* gst/rtsp/gstrtpdec.h:
Add dummy latency property to be backwards compat with rtpbin.
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_class_init),
(gst_rtspsrc_set_property), (gst_rtspsrc_get_property),
(gst_rtspsrc_stream_configure_transport),
(gst_rtspsrc_parse_rtpinfo):
* gst/rtsp/gstrtspsrc.h:
Add latency property and configure in the session manager.
Don't set invalid clock-base and seqnum-base on caps, some servers
sometimes don't send them.
Original commit message from CVS:
* gst/alpha/gstalphacolor.c: (gst_alpha_color_base_init),
(gst_alpha_color_transform_caps), (gst_alpha_color_set_caps):
Double-check that RGB input caps are really RGBA caps (apparently
the core doesn't always catch it if those caps aren't a subset of
our template caps, also see #421543). Fixes#429319 in a way.
Also, don't leak the pad template in the transform_caps function.
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/alphacolor.c: (setup_alphacolor),
(cleanup_alphacolor), (create_caps_rgb24), (create_caps_rgba32),
(create_buffer_rgb24_3x4), (create_buffer_rgba32_3x4),
(GST_START_TEST), (alphacolor_suite):
Add some basic unit tests for alphacolor.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_finalize),
(gst_rtspsrc_stream_free), (request_pt_map),
(gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_open):
* gst/rtsp/gstrtspsrc.h:
Parse server address from SDP.
Hook up a udpsink to send RTCP back to the server.
* docs/plugins/gst-plugins-good-plugins-sections.txt:
* gst/rtsp/rtsptransport.h:
Add some docs.
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/inspect/plugin-alphacolor.xml:
* gst/alpha/Makefile.am:
* gst/alpha/gstalphacolor.c:
* gst/alpha/gstalphacolor.h:
Add minimal docs blurb to alphacolor; split out headers into
separate header file for gtk-doc.
Original commit message from CVS:
* gst/debug/progressreport.c: (gst_progress_report_report):
Don't try to post NULL message (in case we can't query upstream
position or duration).
Original commit message from CVS:
* gst/cutter/gstcutter.c: (gst_cutter_init), (gst_cutter_chain),
(gst_cutter_get_caps):
* gst/cutter/gstcutter.h:
Fix some of the most obvious bugs in cutter. Now doesn't leak
everything if input is silent.
Original commit message from CVS:
* gst/wavenc/gstwavenc.c: (gst_wavenc_create_header_buf),
(gst_wavenc_sink_setcaps), (gst_wavenc_change_state):
* gst/wavenc/gstwavenc.h:
Wav apparently only supports width==GST_ROUND_UP(depth), everything
else results in a invalid block align and invalid files.
Original commit message from CVS:
Patch by: Vincent Torri <vtorri at univ-evry dot fr>
* gst/wavparse/gstwavparse.c: (gst_wavparse_stream_headers):
Use correct format strings for integer types.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_base_init),
(gst_wavparse_create_sourcepad):
Use gst_riff_create_audio_template_caps () instead of the local caps.
This makes updates of the local caps unecessary whenever libgstriff
gets support for new formats.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (uint64_ceiling_scale_int),
(gst_wavparse_perform_seek), (gst_wavparse_stream_headers),
(gst_wavparse_stream_data):
Relax the audio/mpeg caps again and add FIXME: comment.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (uint64_ceiling_scale_int),
(gst_wavparse_perform_seek), (gst_wavparse_stream_headers),
(gst_wavparse_stream_data):
* gst/wavparse/gstwavparse.h:
More sanity check for the header fields. Fix type for 'rate' header
field.
Original commit message from CVS:
* gst/icydemux/gsticydemux.c: (notgst_tag_freeform_string_to_utf8),
(gst_icydemux_unicodify):
If the metadata strings we get in the stream are not UTF-8, try to
interpret them according to the character encodings specified in the
GST_ICY_TAG_ENCODING and GST_TAG_ENCODING environment variables, and
only fall back to locale/ISO-8859-1 if those aren't set or don't
work. Should fix#428901.
Original commit message from CVS:
* gst/rtp/Makefile.am:
* gst/rtp/fnv1hash.c (MASK_24, FNV1_HASH_32_INIT, FNV1_HASH_32_PRIME,
fnv1_hash_32_new, fnv1_hash_32_update, fnv1_hash_32_to_24):
* gst/rtp/fnv1hash.h (__GST_FNV1_HASH_H__):
Add a simple hashing implementation that we can use to generate
a 24-bit ident value based on the codebooks for vorbis and theora.
* gst/rtp/gstrtptheorapay.c (gst_rtp_theora_pay_finish_headers,
gst_rtp_theora_pay_handle_buffer):
* gst/rtp/gstrtpvorbisdepay.c
(gst_rtp_vorbis_depay_parse_configuration,
gst_rtp_vorbis_depay_switch_codebook, gst_rtp_vorbis_depay_process):
* gst/rtp/gstrtpvorbispay.c (gst_rtp_vorbis_pay_reset_packet,
gst_rtp_vorbis_pay_init_packet, gst_rtp_vorbis_pay_flush_packet,
gst_rtp_vorbis_pay_finish_headers, gst_rtp_vorbis_pay_handle_buffer):
Use the hashing function, ensuring that the same codebooks result
in the same ident and thus the same SDP description.
Various log fixes/changes.
Original commit message from CVS:
* gst/rtsp/gstrtpdec.c: (gst_rtp_dec_marshal_BOXED__UINT_UINT),
(gst_rtp_dec_class_init), (gst_rtp_dec_chain_rtp):
* gst/rtsp/gstrtpdec.h:
Make backward compat with rtpbin by adding the request-pt-map signals.
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_create_stream),
(new_session_pad), (request_pt_map),
(gst_rtspsrc_stream_configure_transport),
(gst_rtspsrc_stream_configure_caps),
(gst_rtspsrc_activate_streams):
* gst/rtsp/gstrtspsrc.h:
Implement request-pt-map signals instead of setting caps on the buffers
for the session manager.
Original commit message from CVS:
* gst/udp/gstudp.c: (plugin_init):
Register GstNetBuffer in plugin_init so that the type can be used from
multiple threads without races.
Original commit message from CVS:
* gst/rtp/gstrtpamrdepay.c: (gst_rtp_amr_depay_setcaps),
(gst_rtp_amr_depay_process):
Fix depayloader clock_rate and some cleanups.
* gst/rtp/gstrtph264depay.c: (gst_rtp_h264_depay_finalize),
(gst_rtp_h264_depay_setcaps), (gst_rtp_h264_depay_process):
* gst/rtp/gstrtph264depay.h:
Don't push codec_data in the adapter because it might get flushed when
we get a discont.
* gst/rtp/gstrtpmp4gdepay.c: (gst_rtp_mp4g_depay_process):
Handle multiple AU per packet.
* gst/rtp/gstrtpsv3vdepay.c: (gst_rtp_sv3v_depay_process),
(gst_rtp_sv3v_depay_plugin_init):
Disable rank, this one does not work.
Remove timestamping, base class does that.
Original commit message from CVS:
* gst/auparse/gstauparse.c: (gst_au_parse_parse_header):
limit caps to the formats we announce in the template
* gst/wavparse/gstwavparse.c: (uint64_ceiling_scale_int),
(gst_wavparse_perform_seek), (gst_wavparse_stream_headers),
(gst_wavparse_add_src_pad), (gst_wavparse_stream_data):
fix some crashers/asserts when dealing with broken files
Original commit message from CVS:
* gst/qtdemux/gstrtpxqtdepay.c: (gst_rtp_xqt_depay_process),
(gst_rtp_xqt_depay_change_state):
* gst/qtdemux/gstrtpxqtdepay.h:
Try to recover from packet loss a little better.
Original commit message from CVS:
* gst/rtp/gstrtpmp4adepay.c: (gst_rtp_mp4a_depay_class_init),
(gst_rtp_mp4a_depay_setcaps), (gst_rtp_mp4a_depay_plugin_init):
This element is ready to be autoplugged.
Original commit message from CVS:
2007-04-05 Julien MOUTTE <julien@moutte.net>
* gst/avi/gstavidemux.c: (gst_avi_demux_process_next_entry):
Don't leave the offsets defined by upstream element on the
compressed data buffer we are pushing downstream. Make them
GST_BUFFER_OFFSET_NONE.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c:
Support audio/x-raw-float in wav files. This only works with
plugins-base CVS, using an older version doesn't have any
disadvantages though.
Original commit message from CVS:
* configure.ac:
* gst/auparse/gstauparse.c: (gst_au_parse_reset),
(gst_au_parse_parse_header), (gst_au_parse_chain):
* gst/auparse/gstauparse.h:
Revert last change as we don't want plugins-good to depend on
plugins-base CVS now.
Original commit message from CVS:
* configure.ac:
Require gst-plugins-base CVS for audioconvert with non-native
float support and width/depth fix in libgstriff.
Patch by: René Stadler <mail at renestadler dot de>
* gst/auparse/gstauparse.c: (gst_au_parse_reset),
(gst_au_parse_parse_header), (gst_au_parse_chain):
* gst/auparse/gstauparse.h:
Don't swap the floats ourself if they're not in native endianness.
Instead let audioconvert handle this. Fixes#339838.
Original commit message from CVS:
* gst/wavenc/gstwavenc.c: (gst_wavenc_create_header_buf),
(gst_wavenc_sink_setcaps):
Correctly handle width!=depth input.
* gst/wavparse/gstwavparse.c:
Already export in the caps that width==8 uses unsigned samples and
everything else uses signed samples.
Original commit message from CVS:
Patch by: Laurent Glayal <spglegle at yahoo dot fr>
* gst/udp/gstdynudpsink.c: (gst_dynudpsink_class_init),
(gst_dynudpsink_init), (gst_dynudpsink_set_property),
(gst_dynudpsink_get_property), (gst_dynudpsink_init_send),
(gst_dynudpsink_close):
* gst/udp/gstdynudpsink.h:
* gst/udp/gstudpsrc.c: (gst_udpsrc_class_init), (gst_udpsrc_init),
(gst_udpsrc_create), (gst_udpsrc_set_property),
(gst_udpsrc_get_property), (gst_udpsrc_start), (gst_udpsrc_stop):
* gst/udp/gstudpsrc.h:
Rework the socket allocation a bit based on the sockfd argument so that
it becomes usable.
Add a closefd property to instruct the udp elements to close the custom
file descriptors when going to READY. Fixes#423304.
API:GstUDPSrc::closefd property
API:GstDynUDPSink::closefd property
Original commit message from CVS:
* gst/wavparse/gstwavparse.c:
Add support for wav files containing audio/x-raw-int with random
depths between 1 and 32 bits.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_prepare_current_sample),
(gst_qtdemux_chain), (qtdemux_parse_samples):
* gst/qtdemux/qtdemux_dump.c: (qtdemux_dump_ctts):
* gst/qtdemux/qtdemux_dump.h:
* gst/qtdemux/qtdemux_fourcc.h:
* gst/qtdemux/qtdemux_types.c:
Process 'ctts' atoms, which are present in AVC ISO files (.mov files
with h264 video).
Use the offset present in 'ctts' to calculate the PTS for each packet
and set the PTS on outgoing buffers.
Fixes#423283
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (find_stream_by_setup),
(gst_rtspsrc_create_stream), (gst_rtspsrc_stream_free),
(get_default_rate_for_pt), (gst_rtspsrc_parse_rtpmap),
(gst_rtspsrc_media_to_caps),
(gst_rtspsrc_stream_configure_transport),
(gst_rtspsrc_stream_configure_caps),
(gst_rtspsrc_activate_streams), (gst_rtspsrc_parse_rtpinfo):
* gst/rtsp/gstrtspsrc.h:
Handle default clock-rates for static payload types, rearrange stuff so
that the rtpmap field in the sdp can override the defaults.
Parse RTP-Info field to get the seqnum and timebase fields that should
go in the caps.
Delay configuring caps after we got the RTP-Info from the PLAY reply from
the server.
Original commit message from CVS:
* gst/interleave/deinterleave.c: (gst_deinterleave_sink_setcaps):
Remove 'channel-positions' field when munging input caps into
1-channel output caps (I guess technically we should set the
position for each channel on the output caps if it's non-NONE,
but I'll save that as a task for another day).
Original commit message from CVS:
* gst/interleave/deinterleave.c: (gst_deinterleave_add_new_pads),
(gst_deinterleave_remove_pads), (gst_deinterleave_process),
(gst_deinterleave_chain):
Don't leak input buffer in chain function; maintain our own list of
source pads - there are no guarantees about the order of the list
in the GstElement struct, and we want a very specific order; lastly,
some more debugging.
Original commit message from CVS:
* gst/apetag/gsttagdemux.c: (gst_tag_demux_get_type):
Rename registered type in preparation of GstTagDemux moving to
-base at some point in the future.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_stream_headers):
Streaming mode fixes: don't unref buffer we don't own any longer;
remove bogus adapter flush. Fixes#419338.
Original commit message from CVS:
* gst/equalizer/gstiirequalizer10bands.c:
(gst_iir_equalizer_10bands_init):
A 10 band EQ should be initialized to 1 bands and not to 3.
Original commit message from CVS:
* gst/rtp/gstrtppcmapay.c:
* gst/rtp/gstrtppcmapay.h:
* gst/rtp/gstrtppcmupay.c:
* gst/rtp/gstrtppcmupay.h:
Ported mulaw and alaw payloaders to use new base class
Original commit message from CVS:
* gst/apetag/gsttagdemux.c: (gst_tag_demux_srcpad_event):
Fix handling of -1 values for start and stop values when seeking,
and SEEK_CUR+SEEK_END here as well.
Original commit message from CVS:
* gst/id3demux/gstid3demux.c: (gst_id3demux_srcpad_event):
Fix handling of -1 values for start and stop values when seeking,
and SEEK_CUR+SEEK_END.
Original commit message from CVS:
* gst/id3demux/id3v2frames.c: (parse_picture_frame):
Fix parsing of ID3 v2.2.0 PIC frames. Only in version >= 2.3.0 is
the image format a variable-length NUL-terminated string; in
versions before that the image format is a fixed-length string of
3 characters (see #348644 for a sample tag).
Also make supplied mime type lower-case and fix up 'jpg' to 'jpeg'.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_subindex),
(gst_avi_demux_parse_index):
* sys/v4l2/v4l2_calls.c: (gst_v4l2_fill_lists):
* sys/v4l2/v4l2src_calls.c: (gst_v4l2src_grab_frame):
Printf format fixes; also add some missing quotes in translated
strings. Fixes#416728 and #416727.
Original commit message from CVS:
* gst/autodetect/gstautoaudiosink.c: (gst_auto_audio_sink_find_best):
Tim and I can't think of any reason the child audio sink needs to
be set back to NULL after successfully determining that it can
reach READY - it gets immediately set back to READY by the caller
anyway, causing an unnecessary close/open of any audio devices
involved.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_activate_streams):
When activated, remove the udpsrc timeout, we have dataflow and timeouts
will later be handled by the jitterbuffer.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream),
(gst_avi_demux_push_event), (gst_avi_demux_do_seek),
(gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data),
(gst_avi_demux_chain):
Fix stream position reporting after a seek. Fixes#416445.
Original commit message from CVS:
* gst/equalizer/Makefile.am:
* gst/equalizer/gstiirequalizer.c: (_do_init),
(gst_iir_equalizer_band_set_property),
(gst_iir_equalizer_band_get_property),
(gst_iir_equalizer_band_class_init),
(gst_iir_equalizer_band_get_type),
(gst_iir_equalizer_child_proxy_get_child_by_index),
(gst_iir_equalizer_child_proxy_get_children_count),
(gst_iir_equalizer_child_proxy_interface_init),
(gst_iir_equalizer_base_init), (gst_iir_equalizer_class_init),
(gst_iir_equalizer_finalize), (setup_filter),
(gst_iir_equalizer_compute_frequencies),
(gst_iir_equalizer_set_property), (gst_iir_equalizer_get_property),
(gst_iir_equalizer_setup), (plugin_init):
* gst/equalizer/gstiirequalizer.h:
* gst/equalizer/gstiirequalizernbands.c:
(gst_iir_equalizer_nbands_base_init),
(gst_iir_equalizer_nbands_class_init),
(gst_iir_equalizer_nbands_init),
(gst_iir_equalizer_nbands_set_property),
(gst_iir_equalizer_nbands_get_property):
* gst/equalizer/gstiirequalizernbands.h:
Refactor plugin into a base class and a first subclass (nband eq). The
nband eq uses GstChildProxy and is controlable. More subclasses will
follow.
Original commit message from CVS:
Patch by: René Stadler <mail at renestadler dot de>
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream),
(gst_avi_demux_push_event), (gst_avi_demux_process_next_entry),
(gst_avi_demux_stream_data), (gst_avi_demux_chain):
Make avidemux accept optional header chunks in any order.
Fixes#415446.
Original commit message from CVS:
reviewed by: Stefan Kost <ensonic@users.sf.net>
* gst/audiofx/Makefile.am:
* gst/audiofx/audiodynamic.c:
(gst_audio_dynamic_characteristics_get_type),
(gst_audio_dynamic_mode_get_type),
(gst_audio_dynamic_set_process_function),
(gst_audio_dynamic_base_init), (gst_audio_dynamic_class_init),
(gst_audio_dynamic_init), (gst_audio_dynamic_set_property),
(gst_audio_dynamic_get_property), (gst_audio_dynamic_setup),
(gst_audio_dynamic_transform_hard_knee_compressor_int),
(gst_audio_dynamic_transform_hard_knee_compressor_float),
(gst_audio_dynamic_transform_soft_knee_compressor_int),
(gst_audio_dynamic_transform_soft_knee_compressor_float),
(gst_audio_dynamic_transform_hard_knee_expander_int),
(gst_audio_dynamic_transform_hard_knee_expander_float),
(gst_audio_dynamic_transform_soft_knee_expander_int),
(gst_audio_dynamic_transform_soft_knee_expander_float),
(gst_audio_dynamic_transform_ip):
* gst/audiofx/audiodynamic.h:
* gst/audiofx/audiofx.c: (plugin_init):
Add new audiodynamic element which can act as a compressor or
expander. Supported are hard-knee and soft-knee operation modes with
user-specified ratio and threshold.
Attack and release parameters are not yet implemented but will follow.
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-good-plugins-docs.sgml:
* docs/plugins/gst-plugins-good-plugins-sections.txt:
* docs/plugins/gst-plugins-good-plugins.args:
* docs/plugins/inspect/plugin-audiofx.xml:
Integrate audiodynamic into the docs.
* tests/check/Makefile.am:
* tests/check/elements/audiodynamic.c: (setup_dynamic),
(cleanup_dynamic), (GST_START_TEST), (dynamic_suite), (main):
Add unit test for audiodynamic.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c:
* gst/qtdemux/qtdemux.h:
Share qtdemux debug category across all files, otherwise all debugging
in files other than qtdemux.c would end up in the default category.
Original commit message from CVS:
* gst/spectrum/gstspectrum.c: (gst_spectrum_start),
(gst_spectrum_event), (gst_spectrum_transform_ip):
* gst/spectrum/gstspectrum.h:
One FIXME less, by resolving message timestamps against the playback
segment.
Original commit message from CVS:
* gst/id3demux/gstid3demux.c: (gst_id3demux_add_srcpad),
(gst_id3demux_sink_activate):
Don't leak caps: make gst_id3demux_add_srcpad() not take ownership of the
caps passed to it (previouslly one code path assumes it takes ownership
while another one assumes it doesn't).
* configure.ac:
* tests/files/Makefile.am:
* tests/files/id3-407349-1.tag:
* tests/files/id3-407349-2.tag:
Add directory where data for unit tests can be stored.
* tests/Makefile.am:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/id3demux.c: (pad_added_cb), (error_cb),
(read_tags_from_file), (run_check_for_file),
(check_date_1977_06_23), (GST_START_TEST), (id3demux_suite):
Add unit test for id3demux, and in particular for bug #407349. Only
testing pull-mode for now; push mode doesn't work yet because the test
files are smaller than ID3_TYPE_FIND_MIN_SIZE.
Original commit message from CVS:
* gst/id3demux/id3tags.c: (id3demux_id3v2_frames_to_tag_list):
* gst/id3demux/id3tags.h:
* gst/id3demux/id3v2frames.c: (id3demux_id3v2_parse_frame),
(parse_obsolete_tdat_frame):
Do not convert obsolete TDA/TDAT frames to TDRC frames, otherwise
the four-digit number will be interpreted as a year, whereas it is
month and day in DDMM format. Instead, parse TDAT frames and fix up
the date in the GST_TAG_DATE tag later if we also extracted a year.
Fixes#407349.
Original commit message from CVS:
* gst/spectrum/gstspectrum.c: (gst_spectrum_class_init),
(gst_spectrum_init), (gst_spectrum_set_property),
(gst_spectrum_transform_ip):
Fix and cleanup default property values.
Add FIXMEs for stuff that looks rather wrong.
Original commit message from CVS:
* gst/multipart/multipartdemux.c: (gst_multipart_demux_init),
(gst_multipart_find_pad_by_mime):
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:
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:
* 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:
* 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:
* 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:
* 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.
Original commit message from CVS:
* gst/spectrum/gstspectrum.c: (gst_spectrum_init),
(gst_spectrum_transform_ip):
Removed cruft code that was just commented out. Removed some obsolete
debug logs statements.
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:
* 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:
* 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:
* 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/spectrum/gstspectrum.c: (gst_spectrum_class_init),
(gst_spectrum_start), (gst_spectrum_stop), (gst_spectrum_event):
Implements stop() to clear the adapter and event() to clear the
adapter on FLUSH_STOP and EOS.
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/spectrum/gstspectrum.c: (gst_spectrum_init),
(gst_spectrum_set_property):
* gst/spectrum/gstspectrum.h:
Fix type mixup in spectrum->interval (gdouble<->guint64). Spotted by
René Stadler
Original commit message from CVS:
* gst/spectrum/demo-osssrc.c: (draw_spectrum), (main):
Use more defines
* gst/spectrum/gstspectrum.c: (gst_spectrum_init),
(gst_spectrum_dispose), (gst_spectrum_set_caps),
(gst_spectrum_transform_ip):
* gst/spectrum/gstspectrum.h:
Apply some of the spectrum cleanup changes suggested in #348085.
Original commit message from CVS:
* configure.ac:
Bump requirements of -base (videocrop test case needs this).
* gst/videocrop/gstvideocrop.c:
Document sloppy handling of subsampled chroma planes if
left/top cropping is an odd number.
* tests/check/elements/videocrop.c: (handoff_cb),
(videocrop_test_cropping_init_context),
(videocrop_test_cropping_deinit_context),
(videocrop_test_cropping), (check_1x1_buffer), (GST_START_TEST),
(videocrop_suite), (main):
Add another unit test that crops the input to 1x1 (and checks
that that pixel has the expected values in a number of formats).
Original commit message from CVS:
* gst/videocrop/Makefile.am:
* gst/videocrop/gstvideocrop.c: (gst_video_crop_class_init),
(gst_video_crop_transform_packed),
(gst_video_crop_transform_planar):
Some quick tests indicate that it doesn't make a great deal
of sense to use liboil here, at least not for the memcpy()s
we do, so remove liboil usage until there is clear evidence
it actually makes a positive difference somewhere.
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:
* configure.ac:
* gst/videocrop/Makefile.am:
* gst/videocrop/gstvideocrop.c: (gst_video_crop_base_init),
(gst_video_crop_class_init), (gst_video_crop_init),
(gst_video_crop_get_image_details_from_caps),
(gst_video_crop_get_unit_size), (gst_video_crop_transform_packed),
(gst_video_crop_transform_planar), (gst_video_crop_transform),
(gst_video_crop_transform_dimension),
(gst_video_crop_transform_dimension_value),
(gst_video_crop_transform_caps), (gst_video_crop_set_caps),
(gst_video_crop_set_property), (gst_video_crop_get_property),
(plugin_init):
Port/rewrite videocrop from scratch for GStreamer-0.10, and make
it support all formats videoscale supports (#345653).
Original commit message from CVS:
* gst/qtdemux/qtdemux.c:
(gst_qtdemux_do_seek):
Reset each streams last_flow to GST_FLOW_OK.
(gst_qtdemux_activate_segment):
Removing mystic modifications for good.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_activate_segment),
(qtdemux_parse_tree):
put back 'segment start<=stop' change that was mystically reverted by
the last commit
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_activate_segment),
(gst_qtdemux_add_stream), (qtdemux_parse_trak),
(qtdemux_video_caps):
Make sure segment start<=stop in weird quicktime files.
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:
* 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:
* 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:
* 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:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_add_stream), (qtdemux_parse),
(qtdemux_node_dump_foreach), (qtdemux_parse_trak),
(qtdemux_video_caps), (qtdemux_audio_caps):
Some more constification.
Fix some paletted data formats again.
Fix ulaw/alaw in qt.
Set correct caps for raw RGB.
Add support for yuv2, which is like Yuv2.
Add support for raw audio with the NONE fourcc, which is like raw.
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:
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:
* 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:
* 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:
* gst/qtdemux/qtdemux.c: (qtdemux_redirects_sort_func),
(qtdemux_process_redirects), (qtdemux_parse_tree):
Extract all references/redirections if there is more
than one and sort them; also extract minimum required
bitrate information if available. (#350399)
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:
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:
* 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:
* 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:
* 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:
* 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:
* 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:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_perform_seek),
(gst_qtdemux_prepare_current_sample),
(gst_qtdemux_loop_state_movie):
Store duration in uint64 too instead of clipping.
When we do a keyframe seek and the requested time is at the
keyframe, don't seek back to the beginning of the keyframe.
Fixes#347439.
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:
* 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:
* 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:
* 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:
* 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:
* 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: 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:
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/spectrum/demo-audiotest.c: (on_window_destroy),
(draw_spectrum), (message_handler), (main):
* gst/spectrum/demo-osssrc.c: (on_window_destroy), (draw_spectrum),
(message_handler), (main):
port to use message to get results, cleanly exit when closing the window
* gst/spectrum/gstspectrum.c: (gst_spectrum_class_init),
(gst_spectrum_init), (gst_spectrum_dispose),
(gst_spectrum_set_property), (gst_spectrum_get_property),
(gst_spectrum_set_caps), (gst_spectrum_start),
(gst_spectrum_message_new), (gst_spectrum_transform_ip):
* gst/spectrum/gstspectrum.h:
port to derive from basetransform and send results via messages
(like level element)
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_perform_seek),
(gst_qtdemux_combine_flows), (gst_qtdemux_loop_state_movie),
(gst_qtdemux_loop), (gst_qtdemux_chain), (qtdemux_parse_trak):
Combine return values from src pad pushes.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_state_header),
(gst_qtdemux_prepare_current_sample), (gst_qtdemux_advance_sample),
(gst_qtdemux_add_stream):
Don't crash on files with 0 samples, EOS immediatly instead.
Fixes#344944.
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:
* 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:
* 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:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_activate_segment):
Clip the outputed NEWSEGMENT stop time to the configured segment stop
time.
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:
* 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:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak), (plugin_init):
po/POTFILES.in:
Throw an error when the file is encrypted. Move plugin_init stuff
to the end of the file, add stuff for i18n, make debug category
static.
Original commit message from CVS:
* gst/spectrum/gstspectrum.c: (gst_spectrum_class_init),
(gst_spectrum_init), (gst_spectrum_set_sink_caps),
(gst_spectrum_get_sink_caps), (gst_spectrum_chain):
Use boilerplate macro, fix strings to match plugin-moval-requirements
Original commit message from CVS:
* gst/spectrum/Makefile.am:
Link to base libraries
* gst/spectrum/demo-osssrc.c: (main):
use new threshhold property
* gst/spectrum/gstspectrum.c: (gst_spectrum_class_init),
(gst_spectrum_init), (gst_spectrum_dispose),
(gst_spectrum_set_property), (gst_spectrum_set_sink_caps),
(gst_spectrum_get_sink_caps), (gst_spectrum_chain),
(gst_spectrum_change_state):
* gst/spectrum/gstspectrum.h:
Use gst_adapter, support multiple-channels, add threshold property for
result, add docs, fix resulting spectrum range (was including mirrored
results)
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:
* 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:
* 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:
* 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.
Original commit message from CVS:
* gst/id3demux/id3v2frames.c: (parse_insert_string_field):
Some more debug info. No need to check whether the string
returned by g_convert() is really UTF-8 - either it is or
we get NULL returned.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse), (qtdemux_parse_trak),
(gst_qtdemux_handle_esds):
Figure out the real audio type in mp4a boxes by parsing the
optional descriptors in the optional esds box. Promote the
default AAC to mp3 when indicated. Fixes#330632.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse), (qtdemux_dump_unknown),
(qtdemux_parse_trak), (gst_qtdemux_handle_esds):
Parse version 2 sample descriptions.
Don't #define gst_util_dump_mem(), use something more
specific instead to avoid confusion.
Original commit message from CVS:
* gst/id3demux/id3v2frames.c: (id3v2_genre_fields_to_taglist):
Fix parsing of numeric genre strings some more, by ensuring that
we only try and parse strings that a) Start with '(' and b) Consist
only of digits.
Also, when finding an escaping '((' sequence, bust it back to '(' by
swallowing the first parenthesis
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet bet>
* gst/avi/gstavimux.c: (gst_avi_mux_do_audio_buffer),
(gst_avi_mux_do_video_buffer):
Work around gst_buffer_make_metadata_writable() bug that
results in avimux marking all frames in the index as
keyframes (#340859).
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_src_query),
(qtdemux_dump_mvhd):
Don't cause side effects in a debugging function.
Also report duration in push mode since we can.
Original commit message from CVS:
Patch by: Michal Benes <michal dot benes at xeris dot cz>
* gst/matroska/matroska-demux.c: (gst_matroska_demux_reset):
Don't leak caps when freeing the stream context (#340623).
Original commit message from CVS:
* gst/matroska/matroska-mux.c:
(gst_matroska_mux_stream_is_vorbis_header),
(gst_matroska_mux_write_data):
Don't strcmp() NULL strings.
Only start new clusters on video keyframes, not on any
random audio buffer that doesn't have the DELTA_UNIT
flag set (fixes 'make check' again).
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet be>
* gst/matroska/matroska-mux.c: (gst_matroska_mux_best_pad),
(gst_matroska_mux_stream_is_vorbis_header),
(gst_matroska_mux_write_data):
Don't misinterpret GST_CLOCK_TIME_NONE as very high timestamp
value and then dead-lock when muxing vorbis audio streams
(the three vorbis header buffers carry no timestamp, and it
would try to mux these after all video buffers). Fixes#340346.
Improve clustering: start a new cluster also whenever we get
a keyframe.
Original commit message from CVS:
* gst/id3demux/gstid3demux.c: (gst_id3demux_chain),
(gst_id3demux_sink_activate):
Let core insert default error message for TYPE_NOT_FOUND
errors, it's just as good as our own and has the added
bonus of being translated.
Original commit message from CVS:
* gst/apetag/gsttagdemux.c: (gst_tag_demux_init),
(gst_tag_demux_sink_event):
* gst/id3demux/gstid3demux.c: (gst_id3demux_init),
(gst_id3demux_sink_event):
Post an error message when we get an EOS event and were not
able to find out the type of stream.
* tests/check/elements/id3v2mux.c: (fill_mp3_buffer), (got_buffer),
(test_taglib_id3mux_with_tags):
Decrease num-buffers to 16 per iteration again, otherwise the
many memcpy()s and reallocations in the test will hammer slow
CPUs completely and make the test timeout.
Original commit message from CVS:
* gst/id3demux/id3v2frames.c: (has_utf16_bom),
(parse_split_strings):
Recognise and skip any byte order marker (BOM) in
UTF-16 strings.
Original commit message from CVS:
* gst/auparse/gstauparse.c: (gst_au_parse_base_init),
(gst_au_parse_class_init), (gst_au_parse_init),
(gst_au_parse_reset), (gst_au_parse_add_srcpad),
(gst_au_parse_remove_srcpad), (gst_au_parse_parse_header),
(gst_au_parse_chain), (gst_au_parse_src_convert),
(gst_au_parse_src_query), (gst_au_parse_handle_seek),
(gst_au_parse_sink_event), (gst_au_parse_src_event),
(gst_au_parse_change_state):
* gst/auparse/gstauparse.h:
Rewrite auparse to suck a little bit less: make source pad
dynamic, so decodebin/playbin work with non-raw formats
like alaw/mulaw; add query function for duration/position
queries; check whether we have enough data before attempting
to parse the header (instead of crashing when that is not the
case); work around audioconvert sucking by swapping endianness
to the native endianness ourselves for float formats; send
initial newsegment event. Fixes#161712.
Original commit message from CVS:
* gst/matroska/Makefile.am:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream),
(gst_matroska_demux_handle_src_event):
* gst/matroska/matroska-ids.c:
(gst_matroska_track_init_video_context),
(gst_matroska_track_init_audio_context),
(gst_matroska_track_init_subtitle_context),
(gst_matroska_track_init_complex_context):
* gst/matroska/matroska-ids.h:
Handle case where the TrackType ebml chunk does not come before the
TrackInfoAudio or TrackInfoVideo ebml chunk (#339446). Ignore QoS
events.
Original commit message from CVS:
* gst/rtp/gstrtpmp4gpay.c: (gst_rtp_mp4g_pay_setcaps):
* gst/rtp/gstrtpmp4vpay.c: (gst_rtp_mp4v_pay_setcaps):
It's codec_data, not codec_info.
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet dot be>
* gst/matroska/matroska-demux.c: (gst_matroska_demux_video_caps):
Handle codec_data for VfW compatibility codec IDs (#339451)
* gst/matroska/matroska-mux.c:
(gst_matroska_mux_video_pad_setcaps):
Same here, handle codec_data and add additional caps we can handle
now to the pad template (huffyuv, dv and h263 video) (#339451)
Original commit message from CVS:
Patch by: Josef Zlomek <josef dot zlomek at itonis dot tv>
* gst/matroska/matroska-mux.c:
(gst_matroska_mux_create_buffer_header),
(gst_matroska_mux_write_data):
Fix timestamping of B-frames, use signed integers, do
some rounding (#339678).
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroskademux_do_index_seek):
Fix a bad conversion using gst_guint64_to_gdouble.
fabs ((gdouble) demux->index[entry].time - (gdouble) seek_pos) can not be
replaced by fabs (gst_guint64_to_gdouble (demux->index[entry].time - seek_pos)) as the
difference could be negative. fabs (gst_guint64_to_gdouble (demux->index[entry].time) -
gst_guint64_to_gdouble (seek_pos)) is the good solution. Thanks to Tim who has seen my
mistake.
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroskademux_do_index_seek):
Use gst_guint64_to_gdouble for conversions
* win32/vs6/gst_plugins_good.dsw:
* win32/vs6/libgsticydemux.dsp:
Add a project file for icydemux
Original commit message from CVS:
Patch by: Fabrizio Gennari <fabrizio dot ge at tiscali dot it>
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream),
(gst_avi_demux_parse_index), (gst_avi_demux_massage_index):
When splitting audio chunks, the block alignment is not taken in
consideration, so the smaller chunks could be of size which is
not a multiple of the block alignment. Fixes#336904
Original commit message from CVS:
* gst/debug/progressreport.c: (gst_progress_report_finalize),
(gst_progress_report_class_init), (gst_progress_report_init),
(gst_progress_report_do_query), (gst_progress_report_report),
(gst_progress_report_set_property),
(gst_progress_report_get_property):
Add 'format' property to force querying to a particular format.
Original commit message from CVS:
Patch by: Fabrizio Gennari <fabrizio dot ge at tiscali dot it>
* gst/avi/gstavidemux.c: (gst_avi_demux_peek_tag),
(gst_avi_demux_next_data_buffer), (gst_avi_demux_stream_scan):
Fix index creation when we have to scan the file to create
an index. There may be other types of RIFF 'LIST' chunks than
'movi' and we need to skip them properly as well or we'll end up
reading garbage (#336889). Some other cosmetic changes.
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream),
(gst_matroskademux_do_index_seek),
(gst_matroska_demux_handle_seek_event),
(gst_matroska_demux_parse_blockgroup_or_simpleblock):
* gst/matroska/matroska-ids.h:
Set DISCONT flag on first buffer after a discontinuity.
Fix newsegment events sent when seeking and honour KEY_UNIT
seek flag. Create pad with bogus caps if we don't recognise
the stream codec id.
* gst/matroska/matroska-demux.h:
Fix GObject macros.
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet dot be>
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_handle_seek_event), (gst_matroska_demux_loop):
Handle end of segment properly when set; don't dead-lock when
posting start of segment message when doing a segment seek.
Fixes#338810.
Original commit message from CVS:
Patch by: j^ <j at bootlab dot org>
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak),
(qtdemux_video_caps):
Never treat video streams as an audio stream.
Add qtdrw mime type.
Fixes#339041
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_audio_caps),
(gst_matroska_demux_plugin_init):
Make mpeg2 aac audio work: create artificial private codec data
chunk which faad2 seems to require, just as we do for mpeg4 aac.
Also call gst_riff_init(). Partially fixes#338767.
Original commit message from CVS:
* gst/wavenc/gstwavenc.c: (gst_wavenc_base_init),
(gst_wavenc_class_init), (gst_wavenc_init),
(gst_wavenc_create_header_buf), (gst_wavenc_push_header),
(gst_wavenc_sink_setcaps), (get_id_from_name), (gst_wavenc_event),
(gst_wavenc_chain), (gst_wavenc_change_state):
* gst/wavenc/gstwavenc.h:
Set caps on first outgoing buffer, so that it doesn't error out
immediately with a non-negotiated error (#338716). Rewrite and
clean up a bit; fix setcaps function to parse things properly;
fix sink caps (8bit audio is unsigned and doesn't have depth);
use boilerplate macros; remove unused properties stuff.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):
For VBR audio, don't try to calculate the samples_per_frame.
Fixes#338935.
Original commit message from CVS:
2006-04-12 Philippe Kalaf <philippe.kalaf@collabora.co.uk>
* gst/rtp/gstrtppcmapay.c:
* gst/rtp/gstrtppcmapay.h:
* gst/rtp/gstrtppcmupay.c:
* gst/rtp/gstrtppcmupay.h:
Ported mulaw and alaw payloaders to use new base class
* gst/rtp/Makefile.am:
* gst/rtp/gstrtp.c:
* gst/rtp/gstrtpilbcpay.c:
* gst/rtp/gstrtpilbcpay.h:
* gst/rtp/gstrtpilbcdepay.c:
* gst/rtp/gstrtpilbcdepay.h:
Added new iLBC payloader/depayloader. Payloader uses new audio payload base
class.
Original commit message from CVS:
* gst/rtp/gstrtpmp4vdepay.c: (gst_rtp_mp4v_depay_process):
Don't leak memory allocated by gst_buffer_new_and_alloc() by
overwriting GST_BUFFER_MALLOCDATA.
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_base_init),
(gst_matroska_demux_handle_seek_event),
(gst_matroska_demux_video_caps), (gst_matroska_demux_audio_caps),
(gst_matroska_demux_subtitle_caps),
(gst_matroska_demux_plugin_init):
Use static pad templates with ANY caps for audio and video
source pads and get rid of a lot of unnecessary (and partially
broken) code for the template caps. Clean up caps finding
functions. Fixes playback of audio files/streams that do not
contain the sample rate and/or number of channels in the audio
context (happens a lot with vorbis/mp3 .mka files it seems).
Fixes#337183.
Also add myself to copyright holders.
Original commit message from CVS:
Patch by: Ryan Lortie (desrt) <desrt at destr dot ca>
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_superindex),
(gst_avi_demux_parse_stream), (gst_avi_demux_parse_index),
(gst_avi_demux_stream_header):
Fix some crashers with empty chunks. (Fixes#337749)
Original commit message from CVS:
* gst/level/gstlevel.c: (gst_level_set_caps),(gst_level_transform_ip):
use G_GINT64_CONSTANT for INT64 constants
* gst/videofilter/gstvideobalance.c:
define rint for WIN32 #define rint(x) (floor((x)+0.5))
* win32/vs6/libgstavi.dsp:
add missing libraries for the link and remove avimux.c from
the project as it isn't ported to 0.10 yet
Original commit message from CVS:
* gst/matroska/ebml-read.c: (gst_ebml_read_sint):
Even better would be if we actually did the right thing
here (also, G_GUINT64_CONSTANT only exists since GLib-2.10).
Original commit message from CVS:
* gst/matroska/ebml-read.c: (gst_ebml_read_sint):
Can't just replace 1LL with 1L here just because MSVC doesn't
support it, as it might lead to incorrect results when doing the
bitshifting here. Using GLib's G_GUINT64_CONSTANT() macro to
force a 64-bit constant in a way that all compilers are happy with.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_prepare_current_sample),
(gst_qtdemux_chain), (gst_qtdemux_add_stream), (qtdemux_dump_stsz),
(qtdemux_dump_stco), (qtdemux_parse_trak):
Don't make rounding errors in timestamp/duration calculations.
Fix timestamps for AMR and IMA4. Fixes (#337436).
Create a dummy segment even when there is no edit list.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream):
Don't unref the GstPadTemplate returned by
gst_element_class_get_pad_template().
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_perform_seek),
(gst_qtdemux_do_seek), (gst_qtdemux_loop_state_movie),
(gst_qtdemux_loop):
Use duration as segment stop position if none is
explicitly configured.
Also perform EOS when we run past the segment stop.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_go_back),
(gst_qtdemux_perform_seek), (gst_qtdemux_do_seek),
(gst_qtdemux_loop_state_movie), (gst_qtdemux_loop),
(gst_qtdemux_chain), (qtdemux_parse_tree), (qtdemux_parse_trak):
More cleanups, added comments.
Mark discontinuities on outgoing buffers.
Post better errors when something goes wrong.
Handle EOS and segment end properly.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_init),
(gst_qtdemux_push_event), (gst_qtdemux_go_back),
(gst_qtdemux_perform_seek), (gst_qtdemux_do_seek),
(gst_qtdemux_handle_src_event), (plugin_init),
(gst_qtdemux_change_state), (gst_qtdemux_loop_state_movie),
(gst_qtdemux_loop), (gst_qtdemux_chain),
(qtdemux_sink_activate_pull), (gst_qtdemux_add_stream),
(qtdemux_parse), (qtdemux_parse_tree), (qtdemux_parse_trak),
(qtdemux_parse_udta), (qtdemux_tag_add_str), (qtdemux_tag_add_num),
(qtdemux_tag_add_gnre), (gst_qtdemux_handle_esds):
* gst/qtdemux/qtdemux.h:
Handle stss boxes so we can mark and find keyframes.
Implement correct accurate and keyframe seeking.
Use _DEBUG_OBJECT when possible.
Original commit message from CVS:
* ext\jpeg\smokecodec.c:
use of GST_DEBUG instead of DEBUG(a...) for WIN32
* ext\speex\gstspeexenc.c: (gst_speexenc_set_header_on_caps):
move first instruction after all variables declarations
* gst\alpha\gstalpha.c:
* gst\effectv\gstshagadelic.c:
* gst\smpte\paint.c:
* gst\videofilter\gstvideobalance.c:
define M_PI if it's not defined (it's not defined on WIN32)
* gst\cutter\gstcutter.c: (gst_cutter_chain):
* gst\id3demux\id3v2frames.c: (parse_relative_volume_adjustment_two):
* gst\level\gstlevel.c: (gst_level_set_property), (gst_level_transform_ip):
* gst\matroska\matroska-demux.c: (gst_matroska_demux_parse_info),
(gst_matroska_demux_video_caps):
* gst\matroska\matroska-mux.c: (gst_matroska_mux_start), (gst_matroska_mux_finish):
* gst\wavparse\gstwavparse.c: (gst_wavparse_stream_data):
use gst_guint64_to_gdouble for conversions
* gst\goom\filters.c: (setPixelRGB_):
fix a debug which was using undefined variable
* gst\level\gstlevel.c: (gst_level_set_caps), (gst_level_transform_ip):
* gst\matroska\ebml-read.c: (gst_ebml_read_sint):
replace LL suffix with L suffix (LL isn't supported by MSVC6.0)
* win32/vs6:
add vs6 projects files for most of plugins-good
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_index),
(gst_avi_demux_stream_index), (gst_avi_demux_stream_scan),
(gst_avi_demux_massage_index), (gst_avi_demux_handle_seek):
this patch combines the global init_frames with the stream
init_frames. Rationale being that the global delay should
be subtracted from any stream delay.
Fixes#335858.
Original commit message from CVS:
* ext/speex/gstspeexdec.c: (speex_dec_change_state):
* gst/interleave/deinterleave.c: (deinterleave_change_state):
* gst/interleave/interleave.c: (interleave_change_state):
* gst/wavenc/gstwavenc.c: (gst_wavenc_change_state):
More state change function fixes.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_get_upstream_size),
(gst_wavparse_stream_headers), (gst_wavparse_stream_data):
Don't try to read beyond the end of the file just because
the header claims a bigger size (like with truncated files).
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_perform_seek),
(gst_wavparse_stream_headers), (gst_wavparse_add_src_pad),
(gst_wavparse_stream_data), (gst_wavparse_loop):
* gst/wavparse/gstwavparse.h:
Delay source pad creation until we have the first chunk of
media data, so the we can examine the data and adjust the
caps accordingly if required. This makes playback of .wav
files with DTS-declared-as-PCM content work (#313266).
Original commit message from CVS:
* gst/apetag/gsttagdemux.c: (gst_tag_demux_chain):
* gst/id3demux/gstid3demux.c: (gst_id3demux_chain):
Don't attempt typefinding on too-short buffers that have been
completely trimmed away.
* gst/id3demux/id3tags.c: (id3demux_read_id3v2_tag):
Improve the debug output
Original commit message from CVS:
Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
* gst/wavparse/gstwavparse.c: (gst_wavparse_perform_seek):
Fix block alignment calculation. Alignment should be done before
adding the byte offset where the data starts (#335231).
Original commit message from CVS:
* gst/matroska/ebml-write.c: (gst_ebml_write_element_push):
Ensure that we set correct caps on buffers that are transferred
direct from the input.
Original commit message from CVS:
* gst/goom/filters.c: (zoomFilterDestroy):
* gst/goom/goom_core.c: (goom_close):
Free filter data when cleaning up. (Fixes: #334995)
Original commit message from CVS:
* gst/id3demux/id3v2frames.c:
(parse_relative_volume_adjustment_two):
We only care about gain and peak data for the master volume.
Original commit message from CVS:
* gst/apetag/gsttagdemux.c: (gst_tag_demux_chain):
Ensure that we set caps on the buffers we pass.
* gst/id3demux/gstid3demux.c: (gst_id3demux_chain),
(gst_id3demux_sink_activate):
Ensure that we set caps on the buffers we pass.
Use STREAM, TYPE_NOT_FOUND as the error class when
typefinding fails.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_class_init),
(gst_qtdemux_init), (gst_qtdemux_dispose),
(gst_qtdemux_add_stream), (qtdemux_parse_trak):
Series of memleak fixes:
- Unref the GstAdapter in finalize.
- Use gst_pad_new_from_static_template(), shorter and safer.
- Free unused QtDemuxStream when not used.
Original commit message from CVS:
* configure.ac:
Bump -base requirement to 0.10.5 for gst_tag_from_id3_user_tag(),
used by id3demux.
* gst/id3demux/gstid3demux.c: (plugin_init):
* gst/id3demux/id3v2frames.c: (id3demux_id3v2_parse_frame),
(parse_user_text_identification_frame),
(parse_unique_file_identifier):
Add support for UFID and TXXX frames and extract musicbrainz tags.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_process_next_entry):
Catch short reads, like they might happen with truncated
files (see #305279); remove unnecessary indentation.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_reset),
(gst_wavparse_change_state):
Implement seek in READY (re-fixes #327658)
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_udta):
Extract disc number and count from files that use
'disk' instead of 'disc' as node identifier for that
(fixes#332066).
Original commit message from CVS:
* gst/id3demux/Makefile.am:
* gst/id3demux/gstid3demux.c: (gst_id3demux_add_srcpad),
(gst_id3demux_chain), (gst_id3demux_sink_activate):
Use new typefind helper functions here as well, and
do typefinding in pull-mode if upstream supports that.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query),
(gst_avi_demux_handle_src_event), (gst_avi_demux_parse_stream),
(gst_avi_demux_calculate_durations_from_index),
(gst_avi_demux_stream_header):
* gst/avi/gstavidemux.h:
If we have an index, use a duration based on the index instead
of blindly trusting the information in the stream headers
(fixes#331817).
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse), (qtdemux_parse_trak):
Use GST_WARNING instead of GST_ERROR for all the too short/long atoms
when parsing.
Also let's be a bit less vulgar in our warning messages :)
Original commit message from CVS:
* configure.ac:
Bump requirements to current core and -base CVS
(core for new typefind helper API, and -base for the
WAVFORMATEX support that was added to libgstriff and
is needed by wavparse).
* gst/apetag/Makefile.am:
* gst/apetag/gsttagdemux.c: (gst_tag_demux_chain),
(gst_tag_demux_sink_activate):
Use new typefind helpers for typefinding instead of our
home-grown stuff; also, do typefinding in pull-mode if
upstream supports that.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):
Can't divide through zero (suppress warning in case of
stream with one single still picture) (see #327083)
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_perform_seek),
(gst_wavparse_stream_headers), (gst_wavparse_stream_data),
(gst_wavparse_pad_convert), (gst_wavparse_srcpad_event),
(gst_wavparse_sink_activate), (gst_wavparse_sink_activate_pull):
Use DEBUG_OBJECT more.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_add_stream),
(qtdemux_parse_trak), (qtdemux_video_caps):
Add support for palettised Apple SMC videos (#327075, based on
patch by: Fabrizio Gennari <fabrizio dot ge at tiscali dot it>).
Original commit message from CVS:
* ext/cdio/Makefile.am:
Add GST_BASE_CFLAGS and GST_BASE_LIBS (seems to be
required for Cygwin, see #317048)
* gst/rtp/gstasteriskh263.c:
Cygwin has includes for both the unix network socket API
and the windows API, but only one can be included, so fix
includes to only use one or the other, prefering the unxi
one (#317048).
Original commit message from CVS:
2006-02-23 Philippe Kalaf <philippe.kalaf at collabora.co.uk>
* rtp/gst/gstrtppcmadepay.c:
* rtp/gst/gstrtppcmadepay.h:
* rtp/gst/gstgstrtppcmapay.c:
* rtp/gst/gstgstrtppcmapay.h:
* rtp/gst/gstrtppcmudepay.c:
* rtp/gst/gstrtppcmudepay.h:
* rtp/gst/gstrtppcmupay.c:
* rtp/gst/gstrtppcmupay.h:
* rtp/gst/Makefile.am:
* rtp/gst/gstrtp.c:
* rtp/gst/README:
Separated the G711 payloaders/depayloaders into separate elements for
mulaw/alaw. Also removed the old g711 payloaders/depayloaders.
Original commit message from CVS:
Reviewed by : Edward Hervey <edward@fluendo.com>
* gst/qtdemux/qtdemux.c: (qtdemux_video_caps):
Add 'dvsd' and 'dv25' to list of possible fourcc values for DV Video.
Add image/png for fourcc 'png '
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_src_convert),
(gst_avi_demux_handle_src_query), (gst_avi_demux_handle_src_event),
(gst_avi_demux_parse_file_header), (gst_avi_demux_stream_init),
(gst_avi_demux_parse_avih), (gst_avi_demux_parse_superindex),
(gst_avi_demux_parse_subindex), (gst_avi_demux_parse_stream),
(gst_avi_demux_stream_header), (gst_avi_demux_change_state):
Use scaling code for added precission and more correct stop
position in case scale==0.
Original commit message from CVS:
* gst/flx/flx_color.h:
* gst/flx/flx_fmt.h:
* gst/flx/gstflxdec.c: (gst_flxdec_init),
(gst_flxdec_src_query_handler), (flx_decode_color),
(gst_flxdec_chain):
* gst/flx/gstflxdec.h:
Set MALLOCDATA for the temp buffers so we don't leak.
Some debug cleanups.
Consume all data in the adapter before leaving the chain
function. Fixes#330678.
Original commit message from CVS:
* gst/id3demux/id3tags.c: (id3demux_id3v2_frames_to_tag_list):
* gst/id3demux/id3v2frames.c: (id3v2_genre_fields_to_taglist):
Handle 0 data size in otherwise valid frames.
Handle numeric strings in 2.4.0 even when not in parentheses
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_subtitle_caps),
(gst_matroska_demux_plugin_init):
* gst/matroska/matroska-ids.h:
Recognise SSA/ASS and USF subtitle formats and
set proper caps when they are found.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_state_movie):
Don't GST_LOG timestamps from nonexistent index
entries (#331582).
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_state_header):
Check that the size of the returned buffer is of the correct size
because the parser assumes that.
Fixes#331543.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_stream_headers):
Pass extra_data to gst_riff_create_audio_caps(), so that
WAVEFORMATEX stuff works. Post audio codec name and post
it as taglist on the bus. Allow up to 8 channesl for raw
PCM in the source pad template caps.
Original commit message from CVS:
* gst/multipart/multipartdemux.c: (gst_multipart_demux_base_init),
(gst_multipart_demux_class_init), (gst_multipart_demux_init),
(gst_multipart_demux_finalize), (gst_multipart_find_pad_by_mime),
(gst_multipart_demux_chain), (gst_multipart_demux_change_state),
(gst_multipart_set_property), (gst_multipart_get_property):
Applied #318663. Gives quite a few false positives in
autoscan mode, but it's better than nothing. Not closing yet.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_src_event),
(gst_qtdemux_loop), (qtdemux_sink_activate_pull):
Don't stop the task if the pad isn't linked.
Original commit message from CVS:
* gst/id3demux/id3tags.c: (id3demux_id3v2_frames_to_tag_list):
ID3 2.3.0 used synch-safe integers for the tag size, but not for the
frame size. (Fixes#331368)
Original commit message from CVS:
* gst/rtsp/README:
Updated README.
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_get_type),
(gst_rtspsrc_class_init), (gst_rtspsrc_set_property),
(gst_rtspsrc_get_property), (gst_rtspsrc_stream_setup_rtp):
* gst/rtsp/gstrtspsrc.h:
Make sure the RTP port is an even port an try to allocate
another if not.
Added retry property to control max retries for port allocation.
Make sure RTCP port is RTP port+1.
Cleanup when port allocation fails.
Fixes#319183.
Original commit message from CVS:
* gst/alpha/gstalpha.c: (gst_alpha_change_state):
Don't ignore return value of the parent class's state
change function (#331385, patch by: Wouter Paesen).
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_event):
Add comment in a fultile attempt to stop the copy-and-paste
paradigm leading to duplication of bad code.
* gst/rtsp/rtsptransport.c: (rtsp_transport_parse):
Mime parameters have to be checked case insensitive
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_post_buffering),
(gst_qtdemux_chain):
When buffering MDAT data, show the user something is
happening by posting 'buffering' messages on the bus.
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_sync_streams):
Advance stream time for lagging subtitle streams by sending
newsegment events with the update flag set.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_init),
(gst_qtdemux_handle_src_query), (gst_qtdemux_change_state),
(next_entry_size), (gst_qtdemux_chain):
* gst/qtdemux/qtdemux.h:
Make push-based work if mdat atom is before moov atom.
Don't answer duration query. This should be transformed into replying
FALSE to seek events.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_header):
There can be bogus data before the hdrl LIST tag in the RIFF header.
It's hard to say if it's not respecting the AVI specifications or not,
but since Google Video is producing AVIs like that and the other player
don't seem to complain, I guess we should do the same.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (next_entry_size), (gst_qtdemux_chain):
Handle the case where data atoms are before moov atoms in push-based mode.
Errors out gracefully.
Original commit message from CVS:
* gst/qtdemux/Makefile.am:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_init),
(gst_qtdemux_handle_sink_event), (gst_qtdemux_change_state),
(extract_initial_length_and_fourcc),
(gst_qtdemux_loop_state_header), (gst_qtdemux_loop_state_movie),
(gst_qtdemux_loop_header), (next_entry_size), (gst_qtdemux_chain),
(qtdemux_sink_activate), (qtdemux_sink_activate_pull),
(qtdemux_sink_activate_push), (qtdemux_parse_trak):
* gst/qtdemux/qtdemux.h:
QtDemux can now work push-based.
It still needs some love for seeking.
Original commit message from CVS:
* gst/id3demux/id3v2frames.c: (parse_insert_string_field),
(parse_split_strings):
Add more validation to ensure that a char encoding conversion
produced a valid UTF-8 string.
Original commit message from CVS:
Reviewed by: Edward Hervey <edward@fluendo.com>
* gst/avi/gstavidemux.c: (gst_avi_demux_process_next_entry):
Properly handle end of segment. Closes#330885.
Original commit message from CVS:
* gst/rtp/gstrtpmp4gpay.c: (gst_rtp_mp4g_pay_class_init),
(gst_rtp_mp4g_pay_init), (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_mp4g_pay_flush):
* gst/rtp/gstrtpmp4gpay.h:
Make more things work.
Handle ACC config strings.
Original commit message from CVS:
* gst/apetag/gsttagdemux.c: (gst_tag_demux_get_upstream_size),
(gst_tag_demux_do_typefind):
... and fix the very same leaks in GstTagDemux.
Original commit message from CVS:
* gst/id3demux/gstid3demux.c: (id3demux_get_upstream_size),
(gst_id3demux_do_typefind):
Fix a couple of mem leaks. (Patch by Jonathan Matthew
<jonathan at kaolin dot wh9 dot net>)
Original commit message from CVS:
* gst/rtp/gstrtpmp4vpay.c: (gst_rtp_mp4v_pay_setcaps):
First set options, then set caps or else the baseclass
will not know about the options, duh.
Original commit message from CVS:
* gst/rtp/gstrtpmp4vpay.c: (gst_rtp_mp4v_pay_class_init),
(gst_rtp_mp4v_pay_setcaps):
Don't waste time looking for a config string if we have codec_info
on the incomming caps.
Original commit message from CVS:
* gst/rtp/gstrtpamrdepay.c: (gst_rtp_amr_depay_chain):
Added more meaningfull warnings when something goes wrong.
Clear F bit on outgoing AMR packets.
* gst/rtp/gstrtpamrpay.c: (gst_rtp_amr_pay_class_init),
(gst_rtp_amr_pay_handle_buffer):
Added debugging category
Support payloading of multiple AMR frames.
* gst/rtp/gstrtpmp4vpay.c: (gst_rtp_mp4v_pay_depay_data):
Added some debugging.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(qtdemux_parse_trak):
use the correct variable to check if we can calculate
the last chunk. Looks like an obvious bug, and makes
the dump of offsets comparable to other tools
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(qtdemux_parse_trak):
clean up some debugging, using _OBJECT, moving recurring
messages to LOG level
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_src_query),
(gst_qtdemux_handle_src_event), (gst_qtdemux_loop_header),
(qtdemux_inflate), (qtdemux_parse), (qtdemux_parse_trak),
(qtdemux_parse_udta), (qtdemux_tag_add_str), (qtdemux_tag_add_num),
(qtdemux_tag_add_gnre), (gst_qtdemux_handle_esds),
(qtdemux_video_caps), (qtdemux_audio_caps):
* gst/qtdemux/qtdemux.h:
Some QT demux loving.
Handle seeking in a less broken way.
Fix AMR caps to match the AMR decoder.
Set first timestamp on AMR samples to 0 for now.
Remove some \n in DEBUG strings.
Use _scale_int for maximum precision.
Original commit message from CVS:
* gst/matroska/ebml-write.c: (gst_ebml_write_reset),
(gst_ebml_write_flush_cache), (gst_ebml_write_element_push),
(gst_ebml_write_seek):
* gst/matroska/ebml-write.h:
Make sure we send a newsegment event in BYTES format
before sending buffers (#328531).
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream),
(gst_avi_demux_all_source_pads_unlinked),
(gst_avi_demux_process_next_entry):
* gst/avi/gstavidemux.h:
Third attempt, use gst_pad_is_linked() this time.
Original commit message from CVS:
* gst/id3demux/id3v2frames.c: (id3demux_id3v2_parse_frame),
(parse_split_strings):
Adjust for data length indicators when parsing (Fixes#329810)
Fix stupid bug parsing UTF-8 tag text.
Output tag strings with multiple fields as multiple tags, so the
app gets all the data.
Original commit message from CVS:
* gst/id3demux/id3v2frames.c: (parse_text_identification_frame),
(id3v2_tag_to_taglist), (id3v2_genre_string_to_taglist),
(id3v2_genre_fields_to_taglist):
Never output a tag with a null contents string.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_all_source_pads_unlinked):
Only pause if all pads are unlinked AND we've tried to send data
on all of them at least once.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_all_source_pads_unlinked),
(gst_avi_demux_process_next_entry), (gst_avi_demux_loop):
Make loop function/task pause itself when all source pads are
unlinked.
Original commit message from CVS:
* gst/auparse/gstauparse.c: (gst_au_parse_chain):
Don't push buffers into the adapter that we are going to
push downstream again without framing anyway. Also, the
adaptor takes ownership of buffers put into it (fixes
auparse pushing invalid buffers for .au files with
ADPCM contents). Finally, set caps on all outgoing buffers.
Original commit message from CVS:
* gst/id3demux/gstid3demux.c: (gst_id3demux_chain),
(gst_id3demux_read_id3v1), (gst_id3demux_sink_activate),
(gst_id3demux_send_tag_event):
* gst/id3demux/id3tags.c: (id3demux_read_id3v1_tag):
Someone should kick my butt. Remove ID3v1 tags from the end of the
file.
Improve error messages. Send the TAG message as soon as we complete
typefinding, instead of waiting until we send the first buffer.
Downstream tag event is still sent before the first buffer.
Original commit message from CVS:
* gst/id3demux/gstid3demux.c: (gst_id3demux_remove_srcpad):
Don't put function calls in g_return_if_fail() statements,
or they'll be replaced with NOOPs if someone compiles with
G_DISABLE_CHECKS defined.
Original commit message from CVS:
* gst/id3demux/id3v2frames.c: (id3demux_id3v2_parse_frame):
Never trust ANY information encoded in a media file, especially
when it's giving you sizes. (Fixes#328452)
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(gst_qtdemux_add_stream), (qtdemux_parse_trak):
More coherent framerate setting on caps.
If sample_size is available, use that for the samples' duration in
the index. This enables single frame streams to work (and I imagine
fixes some other cases).
Tested on testsuite, no regression.
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_video_caps),
(gst_matroska_demux_audio_caps), (gst_matroska_demux_plugin_init):
* gst/matroska/matroska-ids.h:
Added recognition of Real Audio and Video streams in matroska demuxer.
Original commit message from CVS:
* gst/id3demux/id3v2frames.c: (id3v2_tag_to_taglist):
Remove errant break statement, and fix compilation with
older GCC.
Original commit message from CVS:
* gst/id3demux/id3tags.c: (id3demux_read_id3v2_tag):
* gst/id3demux/id3tags.h:
* gst/id3demux/id3v2frames.c: (id3demux_id3v2_parse_frame),
(parse_comment_frame), (parse_text_identification_frame),
(id3v2_tag_to_taglist), (id3v2_are_digits),
(id3v2_genre_string_to_taglist), (id3v2_genre_fields_to_taglist),
(parse_split_strings), (free_tag_strings):
Rewrite parsing of text tags to handle multiple NULL terminated
strings. Parse numeric genre strings and ID3v2 type
"(3)(6)Alternative" style genre strings.
Parse dates that are only YYYY or YYYY-mm format.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak),
(qtdemux_audio_caps):
'twos' and 'sowt' fourcc can be 16bit or 8bit audio.
Fix 8bit case (#327133, based on patch by: Fabrizio
Gennari <fabrizio dot ge at tiscali dot it>).
Also, "G_LITTLE_ENDIAN" and "G_BIG_ENDIAN" are not
valid literals for endianness in caps strings,
only "LITTLE_ENDIAN" and "BIG_ENDIAN" are valid.
Original commit message from CVS:
* gst/videobox/gstvideobox.c: (gst_video_box_class_init):
Don't forget to initialize liboil, otherwise our oil functions
will crash (fixes#327871; patch by: Christoph Burghardt
<hawkes at web dot de>).
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_pad_convert):
Fix conversion from TIME to BYTES format (fixes#326864;
patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>)
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_init),
(gst_qtdemux_send_event), (gst_qtdemux_handle_src_event),
(gst_qtdemux_change_state), (gst_qtdemux_loop_header):
* gst/qtdemux/qtdemux.h:
Fix seeking for quicktime files. Could still use some more
love and sophistication.
Original commit message from CVS:
* gst/id3demux/id3v2frames.c: (id3demux_id3v2_parse_frame):
Fix compilation of id3demux when zlib is not present.
(Fixes#326602; patch by: Sergey Scobich)
Original commit message from CVS:
2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
patch by: Mike Smith
* gst/level/gstlevel.c: (gst_level_message_new),
(gst_level_message_append_channel):
Fix memleak. Fixes#326612
Original commit message from CVS:
reviewed by: Edward Hervey <edward@fluendo.com>
* gst/qtdemux/qtdemux.c: (qtdemux_video_caps):
Add support for Indeo3 video in Quicktime files.
Closes#326524
Original commit message from CVS:
2005-01-07 Philippe Khalaf <philippe.kalaf@collabora.co.uk>
* gst-plugins-good/gst/udp/gstdynudpsink.c:
* gst-plugins-good/gst/udp/gstudpsrc.c:
Allow udpsrc and dynudpsink to take a sockfd as a parameter. For udpsrc,
overrides the port or multicast parameters. Fixes bugs #323021.
Original commit message from CVS:
* gst/id3demux/gstid3demux.c: (gst_id3demux_add_srcpad):
Add gst_element_no_more_pads() for proper decodebin behaviour.
* gst/id3demux/id3v2frames.c: (parse_comment_frame),
(parse_text_identification_frame), (parse_split_strings):
Failure to decode some tags is not a GST_ERROR() but a
GST_WARNING()
When iterating over a chunk of text, check that we haven't gone too
far.
Original commit message from CVS:
* gst/udp/gstmultiudpsink.c: (gst_multiudpsink_render),
(gst_multiudpsink_remove), (gst_multiudpsink_get_stats):
* gst/udp/gstmultiudpsink.h:
Track packets sent per client in addition to bytes sent; provide
this info through get-stats signal
Original commit message from CVS:
* gst/id3demux/id3tags.c: (id3demux_read_id3v2_tag):
If a broken tag has 0 bytes payload, at least still skip
the 10 byte header
Original commit message from CVS:
2005-12-22 Philippe Khalaf <burger@speedy.org>
* gst-plugins-good/gst/rtp/gstrtph263pdepay.h:
* gst-plugins-good/gst/rtp/gstrtph263pdepay.c:
* gst-plugins-good/gst/rtp/gstrtpmp4vdepay.h:
* gst-plugins-good/gst/rtp/gstrtpmp4vdepay.c:
Making these depayloaders (H263+ and mpeg4 video) inherit from
RtpBaseDepayloaderClass. Fixes bugs #323922 and #323908.
Original commit message from CVS:
2005-12-21 Jan Schmidt <thaytan@mad.scientist.com>
* 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:
* gst/id3demux/gstid3demux.c: (gst_id3demux_get_type),
(gst_id3demux_base_init), (gst_id3demux_class_init),
(gst_id3demux_chain):
* gst/id3demux/gstid3demux.h:
Add documentation for id3demux.
Don't fail if the first buffer is not at offset 0, just
attempt to typefind and do pass through
Rename the gst_type function from gst_gst_id3demux..
Original commit message from CVS:
* gst/udp/gstmultiudpsink.c: (gst_multiudpsink_render),
(gst_multiudpsink_add), (gst_multiudpsink_remove),
(gst_multiudpsink_get_stats):
* gst/udp/gstmultiudpsink.h:
Collect statistics; return them from get_stats.
Original commit message from CVS:
* ext/swfdec/gstswfdec.c: (gst_swfdec_class_init),
(gst_swfdec_chain), (gst_swfdec_render):
Add debugging category and return GstFlowReturn in the right places
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_link):
Get something from the peer pad once we've checked if there is a peer pad.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(qtdemux_tree_get_child_by_type), (qtdemux_parse_trak),
(qtdemux_video_caps):
Couple of fixes
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_reset),
(gst_avi_demux_handle_src_event), (gst_avi_demux_parse_stream),
(gst_avi_demux_parse_odml), (gst_avi_demux_peek_tag),
(gst_avi_demux_next_data_buffer), (gst_avi_demux_stream_scan),
(gst_avi_demux_stream_header), (gst_avi_demux_loop):
Construct index for indexless files.
Make sure pad/buffers are correctly reset to NULL once we don't need
them anymore, else we get lovely segfaults/assertions.
* gst/wavparse/gstwavparse.c:
Yes, you can have 96KHz audio and wma in wav :(
Original commit message from CVS:
* ext/esd/esdmon.c: (gst_esdmon_open_audio):
* ext/esd/esdsink.c: (gst_esdsink_prepare):
* gst/multipart/multipartdemux.c:
change some char* into char[]
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_reset),
(gst_wavparse_other), (gst_wavparse_perform_seek),
(gst_wavparse_stream_headers), (gst_wavparse_stream_data),
(gst_wavparse_loop), (gst_wavparse_pad_convert),
(gst_wavparse_srcpad_event), (gst_wavparse_sink_activate_pull):
* gst/wavparse/gstwavparse.h:
Use GstSegment to implement more seeking features.
Original commit message from CVS:
* gst/rtsp/rtspconnection.c:
Add <netinet/in.h> include and move <arpa/inet.h> include
to make things work on OpenBSD as well (fixes#323717;
patch by: Benjamin Pineau)
Original commit message from CVS:
2005-12-14 Philippe Khalaf <burger@speedy.org>
* gst-plugins-good/gst/rtp/gstasteriskh263.c:
* gst-plugins-good/gst/rtp/gstrtpamrdepay.c:
* gst-plugins-good/gst/rtp/gstrtpamrpay.c:
* gst-plugins-good/gst/rtp/gstrtpg711depay.c:
* gst-plugins-good/gst/rtp/gstrtpg711depay.c:
* gst-plugins-good/gst/rtp/gstrtpgsmdepay.c:
* gst-plugins-good/gst/rtp/gstrtph263pay.c:
* gst-plugins-good/gst/rtp/gstrtph263pdepay.c:
* gst-plugins-good/gst/rtp/gstrtph263ppay.c:
* gst-plugins-good/gst/rtp/gstrtpmp4vdepay.c:
* gst-plugins-good/gst/rtp/gstrtpmp4vpay.c:
* gst-plugins-good/gst/rtp/gstrtpmpadepay.c:
* gst-plugins-good/gst/rtp/gstrtpmpapay.c:
* gst-plugins-good/gst/rtp/README:
Fixed payload range in payloder caps. Removed payload range completly from
depayloaders as they don't require payload type in their caps. In effect,
there isn't any specific payload type for any given codec, only suggestions.
Fixes bug #324011.
Original commit message from CVS:
2005-12-13 Julien MOUTTE <julien@moutte.net>
* gst/videomixer/videomixer.c: (gst_videomixer_init),
(gst_videomixer_fill_queues), (gst_videomixer_blend_buffers),
(gst_videomixer_collected): Code cleanup and re-enabling
queued time validity check for correct EOS handling.
Original commit message from CVS:
* gst/flx/gstflxdec.c: (gst_flxdec_chain):
If the speed of the file is null in the header, set the frame_time to the default
setting of GST_SECOND / 70. Which is the default frame_delay for .fli files as
stated in this document : http://www.compuphase.com/flic.htm
Would be nice to have the time conversion done properly too
(duration = flxh->frames * flxdec->frame_time)
Original commit message from CVS:
2005-12-12 Julien MOUTTE <julien@moutte.net>
* 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/videomixer/videomixer.c:
(gst_videomixer_pad_sink_setcaps),
(gst_videomixer_getcaps), (gst_videomixer_fill_queues),
(gst_videomixer_update_queues), (gst_videomixer_collected):
Adding
documentation for videomixer on my way with a funny sample
pipeline.
Original commit message from CVS:
* gst/auparse/gstauparse.c: (gst_au_parse_base_init),
(gst_au_parse_class_init), (gst_au_parse_init),
(gst_au_parse_dispose), (gst_au_parse_chain),
(gst_au_parse_change_state), (plugin_init):
* gst/auparse/gstauparse.h:
Use gst_object_unref() for GstObjects instead of
g_object_unref() and fix a mem leak in a debug
statement; while we're at it, also borgify, use
boilerplate macros and clean up a little bit.
Original commit message from CVS:
* gst/goom/gstgoom.c:
* gst/level/level-example.c: (main):
* gst/smoothwave/demo-osssrc.c: (main):
Use audiotestsrc instead of sinesrc (#323798).
Original commit message from CVS:
* gst/debug/efence.c: (gst_efence_init), (gst_efence_chain),
(gst_fenced_buffer_copy):
Make sure GST_BUFFER_DATA is set on fenced copied buffers; fix
GST_DEBUG crasher where GST_TIME_FORMAT was not used in
conjunction with GST_TIME_ARGS. Also, don't leak pad templates
and use GST_DEBUG_FUNCPTR for pad functions.
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_chanpos_to_gst),
(gst_faad_update_caps):
Assume that an unknown channel mapping with 2 channels
is stereo and play it that way instead of erroring.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(gst_qtdemux_add_stream), (qtdemux_parse_trak):
Handle e.g. jpeg streams with 0 duration frames as having 0 framerate.
Debug fixes. Some 64 bit variable fixes
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(gst_qtdemux_add_stream):
Memleak fixes.
Send out EOS for valid reasons (couldn't pull_range() from upstream
for example).
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_process_next_entry):
Useless check now we're setting the current entry correctly.
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_srcgetcaps):
Handle gracefully the consequence of "Maximum number of scalefactor
bands exceeded", which results in 0 channels with samplerates of 0.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state):
Do upward transitions, then call parent state_change, then do
downward transitions.
Original commit message from CVS:
* gst/matroska/matroska-mux.c:
(gst_matroska_mux_video_pad_setcaps):
Look for pixel-aspect-ratio in caps, not pixel_width and
pixel_height (Fixes: #322645)
Original commit message from CVS:
* gst/matroska/matroska-mux.c:
(gst_matroska_mux_video_pad_setcaps):
From Michal Benes:
frame duration should be GST_SECOND / framerate, not
GST_SECOND * framerate. (Fixes: #322643)
Original commit message from CVS:
* configure.ac:
fix up GST_PLUGIN_LDFLAGS
* gst/rtsp/rtspconnection.c:
fix includes (see #317043)
* gst/videofilter/Makefile.am:
stop installing this library
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:
* gst/autodetect/gstautoaudiosink.c:
(gst_auto_audio_sink_base_init):
* gst/autodetect/gstautovideosink.c:
(gst_auto_video_sink_base_init),
(gst_auto_video_sink_factory_filter):
documenting auto*sink
using strstr for the video sink lookup, class field is not ordered
update other plugins
Original commit message from CVS:
2005-11-24 Julien MOUTTE <julien@moutte.net>
* gst/effectv/gstquark.c: (gst_quarktv_set_caps),
(gst_quarktv_get_unit_size), (gst_quarktv_transform),
(gst_quarktv_planetable_clear), (gst_quarktv_change_state),
(gst_quarktv_base_init), (gst_quarktv_class_init),
(gst_quarktv_init): Flush the planes list on reverse caps
negotiation. This was crashing because of differently sized
buffers.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(gst_qtdemux_add_stream), (qtdemux_dump_mvhd),
(qtdemux_parse_trak):
Convert to fractional framerates
Original commit message from CVS:
Fix for #321430: unresolved symbols due to incorrect linkage on inline functions
in goom.
Does not, however, fix the general crackheadedness of goom (global variables,
oh my!); this should be moved to -bad.
Original commit message from CVS:
* gst/autodetect/gstautoaudiosink.c:
(gst_auto_audio_sink_find_best), (gst_auto_audio_sink_detect):
* gst/autodetect/gstautovideosink.c:
(gst_auto_video_sink_find_best), (gst_auto_video_sink_detect):
Use gst_plugin_feature_list_free() to free feature list and
in the case of autovideosink free the list at all. Also
miscellaneous cosmetic fixes.
Original commit message from CVS:
* gst/cutter/gstcutter.c: (gst_cutter_chain),
(gst_cutter_set_property), (gst_cutter_get_caps):
copy calculation code from level; remove use of some audio
functions
Original commit message from CVS:
* ext/raw1394/gstdv1394src.c: (gst_dv1394src_class_init),
(gst_dv1394src_init), (gst_dv1394src_dispose),
(gst_dv1394src_set_property), (gst_dv1394src_discover_avc_node),
(gst_dv1394src_uri_set_uri):
* gst/udp/gstudpsrc.c: (gst_udpsrc_class_init),
(gst_udpsrc_update_uri), (gst_udpsrc_set_uri),
(gst_udpsrc_set_property), (gst_udpsrc_uri_get_uri):
URIHandler interface and element properties are now properly
synchronized for DV1394src and UDPSrc
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_init),
(gst_wavparse_create_sourcepad), (gst_wavparse_sink_activate):
Use GST_DEBUG_FUNCPTR; add debug message in pad activate function.
Original commit message from CVS:
* gst/auparse/Makefile.am:
* gst/auparse/gstauparse.c: (gst_auparse_class_init),
(gst_auparse_init), (gst_auparse_dispose), (gst_auparse_chain),
(gst_auparse_change_state):
* gst/auparse/gstauparse.h:
Partially fix#161712. playbin still doesn't work on these files,
(on the bug report, Andy says we aren't typefinding it for some
reason?) but at least auparse isn't totally busted like it was before.
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_sync_streams):
Filler events are gone for now, comment out section generating
them.
Original commit message from CVS:
2005-11-20 Julien MOUTTE <julien@moutte.net>
* gst/matroska/matroska-mux.c: (gst_matroska_mux_start): Replace
GST_PAD_IS_USABLE by something approaching it.
Original commit message from CVS:
2005-11-20 Julien MOUTTE <julien@moutte.net>
* gst/matroska/matroska-mux.c: (gst_matroska_mux_start): Fix for
API changes.
* gst/wavenc/gstwavenc.c: (gst_wavenc_chain): Fix for API
changes,
but also fix the code that was not checking return values from
pad_push neither using pad_alloc_buffer.
Original commit message from CVS:
Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
* gst/matroska/matroska-demux.c: (gst_matroskademux_do_index_seek):
When seeking, seek to closest index entry at or before the requested
seek position, not just the closest one (#321001).
Original commit message from CVS:
* gst/avi/gstavidemux.c: (swap_line), (gst_avi_demux_invert),
(gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data):
Invert DIB images again (see #132341).
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_reset),
(gst_avi_demux_src_convert), (gst_avi_demux_handle_src_event),
(gst_avi_demux_stream_header), (gst_avi_demux_handle_seek),
(gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data),
(gst_avi_demux_loop):
* gst/avi/gstavidemux.h:
Yeah, implement proper seeking. Exact seeking and segment seeking.
Still need to do some checks for segment_stop.
Original commit message from CVS:
Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
* gst/qtdemux/qtdemux.c: (qtdemux_parse_udta):
Add support for custom genre tags.
Original commit message from CVS:
Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
* gst/matroska/matroska-mux.c: (gst_matroska_mux_write_data):
Don't try to ready buffer duration from buffer that we don't
own any longer and that might already have been unreffed.
(#321136)
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream),
(gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data),
(gst_avi_demux_loop):
No need to take the STREAM_LOCK in the loop function. Improve
some debug messages. Don't leak pad names in debug messages.
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_push_vorbis_codec_priv_data),
(gst_matroska_demux_add_wvpk_header):
Don't error out when the source pad isn't linked.
Original commit message from CVS:
* gst/wavenc/gstwavenc.c: (gst_wavenc_stop_file),
(gst_wavenc_init), (gst_wavenc_event), (gst_wavenc_chain):
Added proper event handlind,
made downstream newsegment event use GST_FORMAT_BYTES (otherwise it's
ignored),
and don't set a duration of 0 for buffers otherwise they are discarded
by GstBaseSink.
GstWavEnc needs some serious loving, after going through the code I'm
really wondering how this can stay in -good ...
Original commit message from CVS:
Patch by: Michal Benes <michal.benes@xeris.cz>
* check/Makefile.am:
* gst/matroska/ebml-write.c: (gst_ebml_write_seek):
* gst/matroska/matroska-mux.c: (gst_matroska_mux_handle_src_event),
(gst_matroska_mux_audio_pad_setcaps), (gst_matroska_mux_start):
add a unit test for matroskamux
fix the bugs that the unit test exposed
Original commit message from CVS:
* gst/autodetect/gstautoaudiosink.c:
(gst_auto_audio_sink_class_init),
(gst_auto_audio_sink_change_state):
* gst/autodetect/gstautovideosink.c:
(gst_auto_video_sink_class_init),
(gst_auto_video_sink_change_state):
Fix state change function and use GST_DEBUG_FUNCPTR in
class_init.
Original commit message from CVS:
Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
* gst/matroska/ebml-write.c: (gst_ebml_write_new),
(gst_ebml_write_reset), (gst_ebml_write_element_new):
* gst/matroska/ebml-write.h:
* gst/matroska/matroska-mux.c: (gst_matroska_mux_write_data):
Set timestamps on outgoing ebml headers as well, so that the
element after matroskamux can get the timestamp already when
reading the first ebml element and doesn't have to wait for
the actual data buffer for that (#320308).
Original commit message from CVS:
Payloader now sets some default caps on the srcpad if caps on the sinkpad are never set. This is important for the g711 to work with burger's rtpbin element.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_class_init),
(qtdemux_parse_tree):
Remove 'got-redirect' signal and post element message
on the bus instead.
Original commit message from CVS:
2005-10-27 Julien MOUTTE <julien@moutte.net>
* gst/videobox/gstvideobox.c: (gst_video_box_class_init),
(gst_video_box_transform_caps), (gst_video_box_set_caps),
(gst_video_box_get_unit_size), (gst_video_box_copy_plane_i420),
(gst_video_box_i420), (gst_video_box_ayuv): Use liboil for
I420 rendering as well, doesn't bring much for my platform.
Might help on some other platforms.
Original commit message from CVS:
2005-10-26 Julien MOUTTE <julien@moutte.net>
* gst/videobox/Makefile.am: Use liboil.
* gst/videobox/gstvideobox.c: (gst_video_box_class_init),
(gst_video_box_set_property), (gst_video_box_transform_caps),
(gst_video_box_set_caps), (gst_video_box_get_unit_size),
(gst_video_box_ayuv): Lot of optimization in AYUV rendering
using liboil. Will dot the same to I420 border generation
tomorrow.
Original commit message from CVS:
2005-10-26 Julien MOUTTE <julien@moutte.net>
* gst/videobox/gstvideobox.c: (gst_video_box_class_init),
(gst_video_box_transform_caps), (gst_video_box_get_unit_size),
(gst_video_box_ayuv): Fix the stride issue when boxing to AYUV.
Original commit message from CVS:
2005-10-26 Julien MOUTTE <julien@moutte.net>
* gst/videomixer/videomixer.c:
(gst_videomixer_pad_set_property),
(gst_videomixer_pad_sink_setcaps), (gst_videomixer_getcaps):
Use gst_pad_get_parent and drop the ref that was added through
that call.
Original commit message from CVS:
2005-10-24 Julien MOUTTE <julien@moutte.net>
* gst/videomixer/videomixer.c: Don't restrict video geometry
from 16 to 4096.
Original commit message from CVS:
* ext/speex/gstspeexenc.c: (gst_speexenc_get_query_types),
(gst_speexenc_src_query):
Add position and duration query, fix query type function.
* gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream),
(gst_matroska_demux_video_caps), (gst_matroska_demux_audio_caps):
Let's not set non-fixed caps on source pads.
Original commit message from CVS:
* ext/dv/gstdvdemux.c: (gst_dvdemux_demux_frame):
* gst/avi/gstavidemux.c: (gst_avi_demux_get_src_query_types),
(gst_avi_demux_handle_seek):
Set correct stream_time in newsegment event.
avi can also handle a duration query now.
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_handle_src_query),
(gst_matroska_demux_handle_seek_event),
(gst_matroska_demux_loop_stream_parse_id):
Fix duration query; fix basetime in newsegment event after
seek; fix duration in initial newsegment event.
* gst/matroska/matroska-mux.c:
(gst_matroska_mux_audio_pad_setcaps), (gst_matroska_mux_start):
Extract number of channels and samplerate from vorbis headers;
add some debug messages when querying the durations of the
input streams.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_handle_seek),
(gst_wavparse_stream_headers), (gst_wavparse_stream_data),
(gst_wavparse_pad_convert), (gst_wavparse_srcpad_event):
Set stream time correctly in newsegment.
Original commit message from CVS:
* gst/goom/filters.c:
* gst/goom/graphic.h:
* gst/goom/lines.c:
Make inline functions either 'static inline' or 'extern inline',
otherwise the Forte compiler apparently won't inline them (#317300).
Original commit message from CVS:
2005-10-19 Julien MOUTTE <julien@moutte.net>
* ext/libpng/gstpngdec.c: (gst_pngdec_class_init),
(gst_pngdec_init), (user_error_fn), (user_warning_fn),
(user_info_callback), (user_endrow_callback),
(user_end_callback),
(user_read_data), (gst_pngdec_caps_create_and_set),
(gst_pngdec_task), (gst_pngdec_chain), (gst_pngdec_sink_event),
(gst_pngdec_libpng_clear), (gst_pngdec_libpng_init),
(gst_pngdec_change_state), (gst_pngdec_sink_activate_push),
(gst_pngdec_sink_activate_pull), (gst_pngdec_sink_activate):
* ext/libpng/gstpngdec.h: Complete rewrite of pngdec. It's now
very nice and handle push/pull based model. if you have filesrc
connected to it, it will do random access to load the png file.
If you have a network source that can't do _getrange, it does
progressive loading through the chain function.
* gst/alpha/gstalphacolor.c: (gst_alpha_color_transform_caps),
(transform_rgb), (transform_bgr): Fix caps negotiation correctly
thanks to Master Wim Taymans ;-)
Original commit message from CVS:
Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
* gst/matroska/matroska-mux.c:
(gst_matroska_mux_video_pad_setcaps),
(gst_matroska_mux_audio_pad_setcaps):
Fix mpeg4 input handling (#318847); also, while we're at it,
fix media type for Motion-JPEG: should be image/jpeg.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_handle_seek),
(gst_wavparse_stream_headers), (gst_wavparse_stream_data),
(gst_wavparse_pad_convert), (gst_wavparse_srcpad_event):
Fix for segment-start/stop API change.
Original commit message from CVS:
2005-10-17 Julien MOUTTE <julien@moutte.net>
* gst/videobox/gstvideobox.c: (gst_video_box_transform_caps),
(gst_video_box_get_unit_size): Fix caps nego some more to get
AYUV
output declared in transform_caps.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header):
* gst/tta/gstttaparse.c: (gst_tta_parse_src_event),
(gst_tta_parse_parse_header):
newsegment API update.
Original commit message from CVS:
* gst/autodetect/gstautoaudiosink.c: (gst_auto_audio_sink_reset),
(gst_auto_audio_sink_find_best), (gst_auto_audio_sink_detect):
* gst/autodetect/gstautovideosink.c: (gst_auto_video_sink_reset),
(gst_auto_video_sink_find_best), (gst_auto_video_sink_detect):
Set state of elements to NULL before removing from bins.
Set state of test element to NULL if we failed to move it to READY
Original commit message from CVS:
* gst/rtp/gstrtpamrenc.c: (gst_rtpamrenc_setcaps):
* gst/rtp/gstrtpgsmparse.c:
* gst/rtp/gstrtph263penc.c:
* gst/rtp/gstrtpmp4venc.c: (gst_rtpmp4venc_class_init),
(gst_rtpmp4venc_parse_data), (gst_rtpmp4venc_handle_buffer),
(gst_rtpmp4venc_set_property):
* gst/rtp/gstrtpmpaenc.c: (gst_rtpmpaenc_handle_buffer):
Various class and caps fixes from Andre Magalhaes (andrunko)
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_base_init),
(gst_avi_demux_class_init), (gst_avi_demux_parse_stream),
(gst_avi_demux_change_state):
Don't crash when encountering a stream with an unknown fourcc or
codec id. Instead, create a pad of type video/x-avi-unknown or
audio/x-avi-unknown, which as a side-effect also results in less
confusing error messages in players ('no decoder' vs. 'no streams');
minor fixes to state change function and class_init function.
Original commit message from CVS:
* gst/autodetect/gstautoaudiosink.c: (gst_auto_audio_sink_init):
* gst/autodetect/gstautovideosink.c: (gst_auto_video_sink_init):
These are sinks.
Original commit message from CVS:
* check/elements/level.c: (GST_START_TEST):
fix test for new GstClockTime use
* gst/level/gstlevel.c: (gst_level_init), (gst_level_set_caps),
(gst_level_transform_ip):
* gst/level/gstlevel.h:
fix up the decay peak, ensuring the decay peak is never lower
than the peak for that interval
Original commit message from CVS:
* gst/rtp/TODO:
* gst/rtp/gstrtpdec.c: (gst_rtpdec_getcaps):
* gst/rtp/gstrtpmp4venc.c: (gst_rtpmp4venc_class_init),
(gst_rtpmp4venc_parse_data), (gst_rtpmp4venc_handle_buffer),
(gst_rtpmp4venc_set_property):
* gst/rtp/gstrtpmp4venc.h:
* gst/rtp/gstrtpmpaenc.c: (gst_rtpmpaenc_handle_buffer):
* gst/rtp/gstrtpmpaenc.h:
Use is_filled to both check MTU and max-ptime of base class.
Original commit message from CVS:
* gst/rtp/gstrtpmp4venc.c: (gst_rtpmp4venc_class_init),
(gst_rtpmp4venc_parse_data), (gst_rtpmp4venc_handle_buffer),
(gst_rtpmp4venc_set_property):
Don't fragment packets with multiple frames.
Original commit message from CVS:
* gst/rtp/TODO:
* gst/rtp/gstrtpmp4vdec.c: (gst_rtpmp4vdec_setcaps):
* gst/rtp/gstrtpmp4venc.c: (gst_rtpmp4venc_class_init),
(gst_rtpmp4venc_init), (gst_rtpmp4venc_parse_data),
(gst_rtpmp4venc_handle_buffer), (gst_rtpmp4venc_set_property),
(gst_rtpmp4venc_get_property):
* gst/rtp/gstrtpmp4venc.h:
Remove g_print.
Update TODO
Make payload encoder a bit smarter and more correct with
timestamps.
Added option in payloader to include config string in-band.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_parse_rtpmap),
(gst_rtspsrc_media_to_caps), (gst_rtspsrc_stream_setup_rtp),
(gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_send),
(gst_rtspsrc_change_state):
More SDP parsing and caps setting.
Do NO_PREROLL differently.
add pads only after negotiated.
* gst/udp/gstudpsrc.c: (gst_udpsrc_class_init),
(gst_udpsrc_getcaps):
Implement the getcaps function.
Original commit message from CVS:
* gst/rtp/README:
Update README
* gst/rtp/gstrtpamrdec.c: (gst_rtpamrdec_sink_setcaps):
Make extra params as strings.
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_set_state),
(gst_rtspsrc_parse_rtpmap), (gst_rtspsrc_media_to_caps),
(gst_rtspsrc_stream_setup_rtp), (gst_rtspsrc_send):
Make state change return NO_PREROLL as this is a live
source.
* gst/udp/gstudpsrc.c: (gst_udpsrc_set_property):
Don't unref old caps when NULL.
Original commit message from CVS:
* gst/level/level-example.c: (main):
Fix for new bus API.
* gst/udp/gstudpsrc.c: (gst_udpsrc_set_property):
Set caps on pads.
Original commit message from CVS:
Updates to payloader/depayloaders, make payloaders use
the base classes.
Updated README with suggested RTP caps and how to convert
to/from SDP.
Added config descriptor in mp4v payloader.
Original commit message from CVS:
2005-09-15 Andy Wingo <wingo@pobox.com>
* gst/autodetect/gstautoaudiosink.c (gst_auto_audio_sink_find_best):
* gst/autodetect/gstautovideosink.c
(gst_auto_video_sink_find_best): Update for new registry API.
Original commit message from CVS:
* common/c-to-xml.py:
* common/gtk-doc-plugins.mak:
a simple py script to generate valid xml from a C example
probably also need to strip an MIT license when we decide
* docs/plugins/Makefile.am:
* gst/level/Makefile.am:
* gst/level/gstlevel.c: (gst_level_init):
* gst/level/level-example.c: (message_handler), (main):
add an example to level that will show up in the docs
* gst/rtp/TODO:
add a note for the future
Original commit message from CVS:
* gst/wavenc/gstwavenc.c: (gst_wavenc_class_init):
Actually define the debug object being used in wavenc. Fixes#316205
Original commit message from CVS:
Link smpte plugin against GST_BASE_LIBS, to get libgstbase; needed to
build on win32 as this plugin uses collectpads (bug 316204)
Original commit message from CVS:
* gst-plugins-good.spec.in:
spec file fixes
* gst/udp/gstmultiudpsink.c: (gst_multiudpsink_class_init),
(gst_multiudpsink_render), (gst_multiudpsink_add),
(gst_multiudpsink_clear):
it actually helps to actually stream if we hook up the
add signal to an actual implementation
* gst/udp/gstudpsrc.c: (gst_udpsrc_start):
some debugging
Original commit message from CVS:
Andrewio Patrickoforus Wingonymus - 5 additional tests for your sins
Add a regression test for level and fix a casting bug that made the additional
channels turn out wrong
Original commit message from CVS:
2005-08-28 Andy Wingo <wingo@pobox.com>
* Updates for two-arg init from GST_BOILERPLATE.
* ext/ladspa/gstsignalprocessor.c (gst_signal_processor_init): Use
the second arg for the class, because G_OBJECT_GET_CLASS (self)
returns the wrong thing.
(gst_signal_processor_add_pad_from_template): Make pads of the
right type.
* ext/ladspa/gstladspa.c (gst_ladspa_class_get_param_spec): Make
writable param specs G_PARAM_CONSTRUCT so default values work.
(gst_ladspa_init): Use the second arg for the class.
Original commit message from CVS:
* gst/rtp/gstrtph263penc.c: (gst_rtph263penc_class_init),
(gst_rtph263penc_flush), (gst_rtph263penc_chain),
(gst_rtph263penc_set_property), (gst_rtph263penc_get_property):
* gst/rtp/gstrtph263penc.h:
Added configurable pt and ssrc, to be merged in the caps or
a base class...
Original commit message from CVS:
* gst/rtp/gstrtph263pdec.c: (gst_rtph263pdec_init),
(gst_rtph263pdec_chain):
* gst/rtp/gstrtph263penc.c: (gst_rtph263penc_class_init),
(gst_rtph263penc_flush), (gst_rtph263penc_chain):
Some cleanups in the h263p (de)payloaders.
Original commit message from CVS:
* ext/amrnb/amrnbdec.c:
* ext/amrnb/amrnbenc.c: (gst_amrnbenc_setcaps):
* ext/amrnb/amrnbparse.c:
Update caps with audio/AMR.
* gst/rtp/gstrtpamrdec.c: (gst_rtpamrdec_init),
(gst_rtpamrdec_sink_setcaps), (gst_rtpamrdec_chain),
(gst_rtpamrdec_change_state):
* gst/rtp/gstrtpamrdec.h:
* gst/rtp/gstrtpamrenc.c: (gst_rtpamrenc_class_init),
(gst_rtpamrenc_init), (gst_rtpamrenc_chain):
Dont set FT headers twice, it was already in the encoded
bitstream.
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send), (gst_rtspsrc_open),
(gst_rtspsrc_close), (gst_rtspsrc_play):
* gst/rtsp/rtspconnection.c: (parse_line):
Cleanups
* gst/udp/gstudpsrc.c: (gst_udpsrc_class_init),
(gst_udpsrc_create), (gst_udpsrc_set_property),
(gst_udpsrc_get_property):
* gst/udp/gstudpsrc.h:
Added caps property, we need this soon to type the buffers.
Original commit message from CVS:
* gst/rtp/gstrtpamrdec.c: (gst_rtpamrdec_init),
(gst_rtpamrdec_chain):
Fix up amr depayloader a bit.
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send), (gst_rtspsrc_open),
(gst_rtspsrc_close), (gst_rtspsrc_play):
Look for options result in Public and Allow header fields..
spec says Allow but some servers return Public...
Original commit message from CVS:
* gst/rtp/gstrtpamrenc.c: (gst_rtpamrenc_class_init),
(gst_rtpamrenc_init), (gst_rtpamrenc_chain),
(gst_rtpamrenc_set_property), (gst_rtpamrenc_get_property):
* gst/rtp/gstrtpamrenc.h:
Added payload_type and ssrc properties to the payloader.
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send), (gst_rtspsrc_open),
(gst_rtspsrc_close), (gst_rtspsrc_play):
Options need to be stripped and are in the Public header field.
* gst/rtsp/rtspurl.c: (rtsp_url_parse):
Fix url / parsing...
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send), (gst_rtspsrc_open),
(gst_rtspsrc_close), (gst_rtspsrc_play), (gst_rtspsrc_pause),
(gst_rtspsrc_change_state):
* gst/rtsp/gstrtspsrc.h:
* gst/rtsp/rtspdefs.c: (rtsp_method_as_text), (rtsp_find_method):
* gst/rtsp/rtspdefs.h:
* gst/rtsp/rtsptransport.c: (rtsp_transport_parse):
Handle RTSP defaults better.
Issue OPTIONS request to figure out what we are allowed to do.
Make the methods a bitfield so we can easily collect supported
options.
Fix rtsp_find_method.
Do proper RTSP connection shutdown.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream),
(gst_avi_demux_stream_header):
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(gst_qtdemux_add_stream), (qtdemux_parse_tree):
Uncomment metadata and codec-name handling.
Original commit message from CVS:
* ext/mad/Makefile.am:
* gst/avi/Makefile.am:
* gst/effectv/Makefile.am:
* gst/udp/Makefile.am:
* gst/wavparse/Makefile.am:
Use -lgstfoo-@GST_MAJORMINOR@ instead of -lgstfoo-0.9
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_stream_headers),
(gst_wavparse_stream_data):
Add some fixes from 0.8 branch: allow 24/32bps songs and
blockalign samples to the header-specified size, if any
(#311070); error out on channels==0 or bitrate==0
(#309043, #304588).
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_class_init), (gst_faad_setcaps):
Add debug category, remove Close() call that made it crash
whenever reusing, renegotiating or anything; Close() actually
free()s the handle and should only be called on READY->NULL.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header):
Actually set caps on buffer (in addition to pad), also.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_header):
Fix AVI header parsing: add missing break statement after
GST_RIFF_INFO_LIST parsing code; gst_riff_read_chunk() has
already advanced the avi->offset, no need to do it twice
(fixes MovieOfMovies.avi).
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_event),
(gst_avi_demux_handle_seek):
Fix seeking (or, well, fix threading issue where a variable was
set before a lock was taken and was already unset before that
same lock was taken and was thus no longer in existance when it
actually had to be used).
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_process_next_entry):
Mixing binary and logical operators is not going to work; fix
position-querying in Totem.
Original commit message from CVS:
2005-08-04 Andy Wingo <wingo@pobox.com>
* sys/oss/gstossaudio.c (plugin_init): Second-class citizen.
* gst/videobox/gstvideobox.c (gst_video_box_get_size): Update for
API changes.
* configure.ac (DEFAULT_AUDIOSINK, DEFAULT_VIDEOSINK): Set to
autoaudiosink and autovideosink.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_reset),
(gst_avi_demux_parse_stream), (gst_avi_demux_process_next_entry):
You need to allocatate (len+1) characters to store a len size string.
Also don't stop the processing task if the output pad is not linked.
Original commit message from CVS:
* configure.ac:
* gst/wavparse/gstwavparse.c:
* gst/wavparse/gstwavparse.h:
* gst/wavparse/Makefile.am:
Ported wavparse to 0.9 . Playing, seeking and state changes work.
Could need more loving on the headers though.
Original commit message from CVS:
2005-07-16 Philippe Khalaf <burger@speedy.org>
* gst/fdsrc/gstfdsrc.c:
* gst/fdsrc/gstfdsrc.h:
* gst/fdsrc/Makefile.am:
Moved fdsrc 0.9 port from gstreamer/gst/elements to here.
Original commit message from CVS:
* gst/level/gstlevel.c: (gst_level_transform):
* gst/videobox/gstvideobox.c: (gst_video_box_class_init),
(gst_video_box_get_size), (gst_video_box_transform):
Port to new base class.
Original commit message from CVS:
2005-07-08 Andy Wingo <wingo@pobox.com>
* gst/avi/Makefile.am (libgstavi_la_CFLAGS): No gettext hacks, the
defines come from config.h.
* autogen.sh: Run autopoint, etc.
* Makefile.am (DIST_SUBDIRS, SUBDIRS): Go into po/.
* configure.ac: Add gettext stuff.
Original commit message from CVS:
* gst/videobox/gstvideobox.c: (gst_video_box_init),
(gst_video_box_transform_caps), (gst_video_box_set_caps):
Logic was reversed. Needs some more fixes in the transform
function to include AYUV output.
Moved AYUV as prefered format.
Original commit message from CVS:
* gst/base/gstbasesrc.c: (gst_base_src_get_range),
(gst_base_src_default_negotiate), (gst_base_src_negotiate):
Allow subclasses to implement their own negotiation.
Original commit message from CVS:
2005-07-05 Andy Wingo <wingo@pobox.com>
* gst/videobox/gstvideobox.c: Clean up, port to 0.9, use
BaseTransform.
* gst/videobox/Makefile.am: Link to base libs, include
plugins-base cflags, dist the README.
* configure.ac (GST_PLUGIN_ALL, AC_CONFIG_FILES): Add videobox to
the build.
Original commit message from CVS:
2005-07-04 Andy Wingo <wingo@pobox.com>
* examples/level/:
* examples/level/Makefile.am:
* examples/level/README:
* examples/level/demo.c:
* examples/level/plot.c: Examples moved out of the source dir. Not
updated tho.
* configure.ac: Add level to the build.
* gst/level/Makefile.am:
* gst/level/gstlevel.h:
* gst/level/gstlevel.c: Cleaned up, ported to 0.9.
Original commit message from CVS:
* gst/udp/Makefile.am:
* gst/udp/gstudp.c:
* gst/udp/gstdynudpsink.c: (new)
* gst/udp/gstdynudpsink.h: (new)
Added new element (udpdynsink) that receives GstNetBuffers and sends the
udp packets to the source given in the buffer. It's used by rtpsession
element for now.
* gst/udp/gstudpsrc.c:
Fixed memory leak.
Original commit message from CVS:
2005-07-01 Jan Schmidt <thaytan@mad.scientist.com>
* ext/libcaca/Makefile.am:
* ext/mad/Makefile.am:
* gst/effectv/Makefile.am:
* gst/udp/Makefile.am:
Replace GST_PLUGINS_LIBS_* with GST_PLUGINS_BASE_*
* ext/mad/gstid3tag.c: (gst_id3_tag_src_query),
(gst_id3_tag_src_event), (gst_id3_tag_sink_event),
(gst_id3_tag_chain), (plugin_init):
* ext/mad/gstmad.c: (gst_mad_src_query), (gst_mad_chain):
Signedness warning fix, use gst_pad_get_peer instead of GST_PAD_PEER
in querying and event handling, because we're not holding the pad
lock and the peer may disappear.
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_subindex),
(gst_avi_demux_parse_index), (gst_avi_demux_massage_index):
Signedness warning fixes.
* gst/videofilter/gstvideotemplate.c: (plugin_init):
Remove gst_library_load
Original commit message from CVS:
* gst/avi/Makefile.am: (libgstavi_la_LIBADD):
Added linking to libgstriff-0.9
* ext/mad/gstmad.c: (gst_mad_src_query):
check the format of the upstream query and return query if it's the
same format as the requested one.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtsp_proto_get_type),
(gst_rtspsrc_class_init), (gst_rtspsrc_create_stream),
(gst_rtspsrc_add_element), (gst_rtspsrc_set_state),
(gst_rtspsrc_stream_setup_rtp),
(gst_rtspsrc_stream_configure_transport), (find_stream),
(gst_rtspsrc_loop), (gst_rtspsrc_open), (gst_rtspsrc_play),
(gst_rtspsrc_change_state):
Fix case where outpad could not be decided.
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_chain), (gst_mad_change_state):
* ext/sidplay/gstsiddec.cc:
* gst/alpha/gstalpha.c: (gst_alpha_chain):
* gst/goom/gstgoom.c: (gst_goom_chain):
No need to take the lock anymore, core already did
that before calling us.
Original commit message from CVS:
* Makefile.am:
* ext/Makefile.am:
* sys/Makefile.am:
Make my automake version shut up about undefined variables
* gst/goom/gstgoom.c:
GstAdapter moved to base objects.
Original commit message from CVS:
* configure.ac:
* gst/alpha/Makefile.am:
* gst/alpha/gstalpha.c: (gst_alpha_class_init), (gst_alpha_init),
(gst_alpha_sink_setcaps), (gst_alpha_chain):
Ported alpha, remove alphacolor as functionality is in
ffmpegcolorspace.
Original commit message from CVS:
Move core plugins out of core. I don't mind fdsrc/fdsink
going back into the core; they were just disabled there, so
I moved them. Some of this stuff could (should) be deleted.
* gst/oldcore/Makefile.am:
* gst/oldcore/gstaggregator.c:
* gst/oldcore/gstaggregator.h:
* gst/oldcore/gstelements.c:
* gst/oldcore/gstfdsink.c:
* gst/oldcore/gstfdsink.h:
* gst/oldcore/gstfdsrc.c:
* gst/oldcore/gstfdsrc.h:
* gst/oldcore/gstmd5sink.c:
* gst/oldcore/gstmd5sink.h:
* gst/oldcore/gstmultifilesrc.c:
* gst/oldcore/gstmultifilesrc.h:
* gst/oldcore/gstpipefilter.c:
* gst/oldcore/gstpipefilter.h:
* gst/oldcore/gstshaper.c:
* gst/oldcore/gstshaper.h:
* gst/oldcore/gststatistics.c:
* gst/oldcore/gststatistics.h:
Original commit message from CVS:
Fixed a few things to enable the mad and effectv to be able to find the headers in the gst-plugins-base/gst-libs and to link against the libs in there.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_audio_caps_with_data):
Do actually fix invalid RIFF fmt header values for alaw
and mulaw audio instead of just saying so.
* gst/wavparse/gstwavparse.c: (gst_wavparse_fmt):
Give gst_riff_create_audio_caps_with_data() a chance to
fix up broken format header fields before extracting any
parameters from the header. (fixes#167633)
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_invert):
Declare variables at beginning of block and make gcc-2.95 happy
(fixes # 167482, patch by Gergely Nagy).
* gst/tcp/gsttcpclientsrc.c:
* gst/tcp/gsttcpclientsrc.h:
Move some includes into the header, so that struct sockaddr_in is
defined when it should be defined on FreeBSD as well (fixes
#167483).
* gst/tcp/gsttcpserversrc.c: (gst_tcpserversrc_init_receive):
Don't pass uninitialised values to setsockopt() here either.
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c:
Don't send things to NULL PAD_PEERs
* gst/deinterlace/gstdeinterlace.c: (gst_deinterlace_chain):
Copy-on-write the incoming buffer.
* gst/mpegstream/gstdvddemux.h:
* gst/mpegstream/gstmpegclock.h:
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_parse_syshead),
(normal_seek), (gst_mpeg_demux_handle_src_event):
* gst/mpegstream/gstmpegdemux.h:
* gst/mpegstream/gstmpegpacketize.h:
* gst/mpegstream/gstmpegparse.c:
(gst_mpeg_parse_update_streaminfo), (gst_mpeg_parse_reset),
(gst_mpeg_parse_handle_discont), (gst_mpeg_parse_parse_packhead),
(gst_mpeg_parse_loop), (gst_mpeg_parse_get_rate),
(gst_mpeg_parse_convert_src), (gst_mpeg_parse_handle_src_query),
(gst_mpeg_parse_handle_src_event), (gst_mpeg_parse_change_state):
* gst/mpegstream/gstmpegparse.h:
* gst/mpegstream/gstrfc2250enc.h:
Various changes to the way time is computed that make seeking and
total time estimation much better here.
Use G_BEGIN/END_DECLS instead of __cplusplus
* gst/videocrop/gstvideocrop.c: (gst_video_crop_chain):
Use gst_buffer_stamp instead of only copying the TIMESTAMP
Original commit message from CVS:
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(gst_qtdemux_loop_header):
Re-apply patch from #142272 that allows non-seekable sources,
re-proposed by Daniel Drake <dsd@gentoo.org>.
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_blockgroup):
Fix logic error in timing of subtitle stream synchronization.
* gst/typefind/gsttypefindfunctions.c: (qt_type_find):
Add skip-chunk, which is found in kodak-camera streams.
Original commit message from CVS:
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* ext/mad/gstmad.c: (gst_mad_src_event):
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_event):
Allow seeks on audio pad, make mad forward those (#164826).
* gst/audioscale/gstaudioscale.c: (gst_audioscale_chain):
Set duration (#165335).
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (gst_a52dec_push),
(gst_a52dec_handle_event), (gst_a52dec_chain):
Add some debug output. Check that a discont has a valid
time associated.
* ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event),
(gst_alsa_sink_loop):
Ignore TAG events. A little extra debug for broken timestamps.
* ext/dvdnav/dvdnavsrc.c: (dvdnavsrc_init), (dvdnavsrc_loop),
(dvdnavsrc_change_state):
Ensure we send a discont to engage the link before we send any
other events.
* ext/dvdread/dvdreadsrc.c: (dvdreadsrc_init),
(dvdreadsrc_finalize), (_close), (_open), (_seek_title),
(_seek_chapter), (seek_sector), (dvdreadsrc_get),
(dvdreadsrc_uri_get_uri), (dvdreadsrc_uri_set_uri):
Handle URI of the form dvd://title[,chapter[,angle]]. Currently only
dvd://title works in totem because typefinding sends a seek that ends
up going back to chapter 1 regardless.
* ext/mpeg2dec/gstmpeg2dec.c:
* ext/mpeg2dec/gstmpeg2dec.h:
Output correct timestamps and handle disconts.
* ext/ogg/gstoggdemux.c: (get_relative):
Small guard against a null dereference.
* ext/pango/gsttextoverlay.c: (gst_textoverlay_finalize),
(gst_textoverlay_set_property):
Free memory when done. Don't call gst_event_filler_get_duration on
EOS events. Use GST_LOG and GST_WARNING instead of g_message and
g_warning.
* ext/smoothwave/gstsmoothwave.c: (gst_smoothwave_init),
(draw_line), (gst_smoothwave_dispose), (gst_sw_sinklink),
(gst_sw_srclink), (gst_smoothwave_chain):
Draw solid lines, prettier colours.
* gst/mpeg2sub/gstmpeg2subt.c: (gst_mpeg2subt_init):
Add a default palette that'll work for some movies.
* gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_init),
(gst_dvd_demux_handle_dvd_event), (gst_dvd_demux_send_discont),
(gst_dvd_demux_send_subbuffer), (gst_dvd_demux_reset):
* gst/mpegstream/gstdvddemux.h:
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_send_discont),
(gst_mpeg_demux_parse_syshead), (gst_mpeg_demux_parse_pes):
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_init),
(gst_mpeg_parse_handle_discont), (gst_mpeg_parse_parse_packhead):
* gst/mpegstream/gstmpegparse.h:
Use PTM/NAV events when for timestamp adjustment when connected to
dvdnavsrc. Don't use many discont events where one suffices.
* gst/playback/gstplaybasebin.c: (group_destroy),
(gen_preroll_element), (gst_play_base_bin_add_element):
* gst/playback/gstplaybasebin.h:
Make sure we remove subtitles from the same bin we put them in.
* gst/subparse/gstsubparse.c: (convert_encoding), (parse_subrip),
(gst_subparse_buffer_format_autodetect),
(gst_subparse_change_state):
Fix some memleaks and invalid accesses.
* gst/typefind/gsttypefindfunctions.c: (ogganx_type_find),
(oggskel_type_find), (cmml_type_find), (plugin_init):
Some typefind functions for Annodex v3.0 files
* gst/wavparse/gstwavparse.h:
GstRiffReadClass is the correct parent class.
Original commit message from CVS:
* gst/matroska/ebml-read.c: (gst_ebml_read_buffer):
Allow for 0-sized buffers. Fixes length query problems in
starwars.mkv from the testsuite.
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_check_caps_reset), (gst_mad_chain):
Fail if caps negotiation fails. Should fix#162184, and should
definately be in there regardless of it fixing the actual bug.
* gst/avi/gstavimux.c: (gst_avimux_get_type), (gst_avimux_init),
(gst_avimux_write_tag), (gst_avimux_riff_get_avi_header),
(gst_avimux_riff_get_avix_header),
(gst_avimux_riff_get_video_header),
(gst_avimux_riff_get_audio_header), (gst_avimux_write_index),
(gst_avimux_start_file), (gst_avimux_handle_event),
(gst_avimux_change_state):
* gst/avi/gstavimux.h:
Refactor structure writing to use GST_WRITE_UINT macros, add
metadata writing support.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(gst_qtdemux_loop_header), (gst_qtdemux_handle_esds):
More memory leak fixes (#149162).
Original commit message from CVS:
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_use_event):
Don't bail on unknown events.
* gst/audioscale/gstaudioscale.c: (gst_audioscale_chain):
Don't crash on events before negotiation.
* gst/avi/gstavidemux.c: (gst_avi_demux_add_stream):
Send tags on pads, too.
* gst/playback/gststreamselector.c:
(gst_stream_selector_request_new_pad):
Forward events on first pad if no input was selected yet.
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_change_state):
Reset variables on READY.
* gst/matroska/matroska-mux.c: (gst_matroska_mux_request_new_pad),
(gst_matroska_mux_loop):
Require data before writing header.
Original commit message from CVS:
* ext/dv/gstdvdec.c:
Fix audio caps i just broke (missing ',')
* gst/matroska/matroska-mux.c: (gst_matroska_mux_get_type),
(gst_matroska_mux_reset):
Fix typo + add FIXME about old "x-gst-metadata" crap
Original commit message from CVS:
* gst-libs/gst/riff/riff-ids.h:
* gst/wavenc/riff.h:
Add AMR (VBR and CBR) ids to riff.h audio codec list
* gst/asfdemux/gstasfdemux.c:
(gst_asf_demux_process_ext_content_desc),
(gst_asf_demux_process_object):
Retrieve more tags from ASF files (Genre, AlbumTitle, Artist)
Original commit message from CVS:
Remove time-based check for first vorbis packet altogether, as it
was a hack since day one (Arwed who wrote it says so)...
Original commit message from CVS:
Fix Vorbis streams failing to decode in some files, where cluster_time isn't 0,
because then it doesn't send codec_priv before actual data.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_type_get), (qtdemux_audio_caps):
* gst/typefind/gsttypefindfunctions.c: (q3gp_type_find),
(plugin_init):
Add 3GP (variables name Q3GP because they can't start with a
number). Add samr audio fourcc (used in .3gp files), decoder
is work in progress. Also do a GST_WARNING instead of ERROR
in case of unknown nodes, to decrease output.
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_blockgroup):
Save position, so that queries give proper return values. Don't
know how this could ever have worked before...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_index),
(gst_avi_demux_stream_scan):
Add some more debug. Fix logic error when setting movi offset
while reading index.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_index),
(gst_avi_demux_stream_scan), (gst_avi_demux_handle_seek),
(gst_avi_demux_process_next_entry):
Add some debugging. Better detection of broken indexes and the
accompanying index recovery. No infinite loops on state changes
when we're still in our loopfunction.
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_ebmlnum_uint),
(gst_matroska_ebmlnum_sint), (gst_matroska_demux_parse_blockgroup):
Lace sizes can be zero.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_index):
Work for truncated (unfinished download etc.) files. Fixes#160514.
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (aac_rate_idx), (aac_profile_idx),
(gst_matroska_demux_audio_caps):
Some MPEG-AAC hacks, because else it doesn't work...
Original commit message from CVS:
* gst/asfdemux/README
* gst/wavenc/riff.h
* gst-libs/gst/riff/riff-ids.h
* gst-libs/gst/riff/riff-media.c
add new 4CC codes for h263 related codecs
fixes partially bug #155163
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_handle_src_query):
Don't set DEFAULT, unsupported - makes length display incorrectly
in some cases.
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (gst_a52dec_init),
(gst_a52dec_handle_event), (gst_a52dec_update_streaminfo),
(gst_a52dec_handle_frame), (gst_a52dec_chain),
(gst_a52dec_change_state), (plugin_init):
* ext/a52dec/gsta52dec.h:
Do something useful with timestamps. Make chain-based (since
there's really no reason to be loopbased).
* gst/avi/gstavidemux.c: (gst_avi_demux_process_next_entry):
Update current_byte/frame correctly.
Original commit message from CVS:
* gst/matroska/ebml-read.c: (gst_ebml_read_class_init),
(gst_ebml_read_init), (gst_ebml_read_use_event),
(gst_ebml_read_element_id), (gst_ebml_peek_id),
(gst_ebml_read_seek), (gst_ebml_read_skip),
(gst_ebml_read_reserve), (gst_ebml_read_buffer),
(gst_ebml_read_master):
* gst/matroska/ebml-read.h:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_contents),
(gst_matroska_demux_loop_stream), (gst_matroska_demux_audio_caps):
Disgustingly evil hack for working around INTERRUPT events and
their extremely annoying habit of being a pain in the ass. We
simply peek a cluster before reading any of it.
Original commit message from CVS:
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/law/alaw-decode.c: (alawdec_getcaps):
* gst/law/mulaw-decode.c: (mulawdec_getcaps):
Prevent warnings when negotiating caps (fixes#159338).
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_index),
(gst_avi_demux_massage_index):
Fix quite humiliating bug in omitting 0-sized index chunks but
forgetting to count them for timestamps.
Original commit message from CVS:
* configure.ac:
* ext/libvisual/visual.c: (gst_visual_get_type),
(libvisual_log_handler), (gst_visual_getcaps),
(gst_visual_srclink), (gst_visual_change_state), (make_valid_name),
(plugin_init):
Update libvisual to 0.1.7. Link in the debug handling to gstreamer
* ext/smoothwave/Makefile.am:
* ext/smoothwave/demo-osssrc.c: (main):
* ext/smoothwave/gstsmoothwave.c: (gst_smoothwave_class_init),
(gst_smoothwave_init), (gst_smoothwave_dispose), (gst_sw_sinklink),
(gst_sw_srclink), (gst_smoothwave_chain), (gst_sw_change_state),
(plugin_init):
* ext/smoothwave/gstsmoothwave.h:
Make gstsmoothwave a working element in the 20th century.
* gst/chart/gstchart.c: (gst_chart_init), (gst_chart_srcconnect):
Fix incorrect link function
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_get_caps_internal):
buffer-frames property was missing
* ext/arts/gst_arts.c:
rate missing from sinkcaps
* ext/audiofile/gstafparse.c:
* ext/audiofile/gstafsink.c:
* ext/audiofile/gstafsrc.c:
* ext/swfdec/gstswfdec.c:
int audio doesn't know buffer-frames
* ext/cdparanoia/gstcdparanoia.c:
int audio doesn't know chunksize either
* ext/nas/nassink.c:
it's endianness, not endianess
* gst-libs/gst/audio/audio.h:
make float standard pad template caps really describe float
* gst/law/mulaw.c: (linear_factory):
signed only, please
* gst/mpegstream/gstdvddemux.c:
widths of 20 are not valid
Original commit message from CVS:
* gst/videomixer/videomixer.c: (gst_videomixer_blend_ayuv_ayuv),
(gst_videomixer_fill_checker), (gst_videomixer_fill_color),
(gst_videomixer_blend_buffers), (gst_videomixer_loop):
Only mix AYUV for maximum quality.
Original commit message from CVS:
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/rtp/gstrtpgsmparse.c: (gst_rtpgsm_caps_nego):
Add missing NULL terminator (#157543).
Original commit message from CVS:
* gst/videomixer/videomixer.c: (gst_videomixer_blend_ayuv_i420),
(gst_videomixer_fill_checker), (gst_videomixer_fill_color),
(gst_videomixer_blend_buffers), (gst_videomixer_loop):
Fix stride issues. Does not completely work for odd
heights.
Original commit message from CVS:
* gst/alpha/gstalpha.c: (gst_alpha_method_get_type),
(gst_alpha_chroma_key), (gst_alpha_chain):
Fix stride issues. Does not completely work for odd
heights.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(gst_qtdemux_add_stream), (qtdemux_parse), (qtdemux_parse_tree),
(qtdemux_parse_udta), (qtdemux_tag_add), (gst_qtdemux_handle_esds):
Change all g_print()s to debugging. Add a bunch of consistency
checks.
Original commit message from CVS:
Reviewd by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/wavparse/gstwavparse.c: (gst_wavparse_fmt):
Fix memleak (#155223).
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiofilter.c: (gst_audiofilter_link):
fix link function to always query channels and query width for
floats
* configure.ac:
add equalizer dir
* gst/equalizer/Makefile.am:
* gst/equalizer/gstiirequalizer.c: (gst_iir_equalizer_get_type),
(gst_iir_equalizer_base_init), (gst_iir_equalizer_class_init),
(gst_iir_equalizer_init), (gst_iir_equalizer_finalize),
(arg_to_scale), (setup_filter),
(gst_iir_equalizer_compute_frequencies),
(gst_iir_equalizer_set_property), (gst_iir_equalizer_get_property),
(gst_iir_equalizer_filter_inplace), (gst_iir_equalizer_setup),
(plugin_init):
add an equalizer
Original commit message from CVS:
* gst/avi/gstavimux.c: (gst_avimux_audsinkconnect),
(gst_avimux_stop_file):
First calculate the rate, and only then use it. Hdr.rate is a
multiple and not a derivative of hdr.scale. Scale is not the
same as blockalign but is solely related to rate.
Original commit message from CVS:
* gst/spectrum/Makefile.am:
* gst/spectrum/demo-osssrc.c: (spectrum_chain), (main),
(idle_func):
Fix demo and reenable it. Yes, I'm currently playing with audio
analysis tools
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(qtdemux_parse), (gst_qtdemux_handle_esds):
An esds box is not a container.
Fix parsing of mp4v boxes.
Do not try to renegotiate fps for each frame. Need to
find a better method. This should fix mp4 playback.
Original commit message from CVS:
* configure.ac: update for swfdec-0.3 and liboil-0.2
* ext/swfdec/gstswfdec.c: update for swfdec-0.3
* ext/swfdec/gstswfdec.h: same
* gst/videofilter/gstvideobalance.c: update for liboil-0.2
* gst/videotestsrc/videotestsrc.c: same
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_get),
(gst_gnomevfssrc_srcpad_query), (gst_gnomevfssrc_srcpad_event):
Some debug.
* gst/avi/gstavidemux.c: (gst_avi_demux_reset),
(gst_avi_demux_handle_src_event), (gst_avi_demux_read_superindex),
(gst_avi_demux_read_subindexes), (gst_avi_demux_add_stream),
(gst_avi_demux_stream_index), (gst_avi_demux_skip),
(gst_avi_demux_sync), (gst_avi_demux_stream_scan),
(gst_avi_demux_massage_index), (gst_avi_demux_stream_header):
* gst/avi/gstavidemux.h:
Support for openDML-2.0 indx/ix## chunks. Support for broken index
recovery (where, if part of the index is broken, we will still read
the rest of the index and recover the broken part by stream
scanning). More broken media support. EOS workarounds. General AVI
braindamage headache recovery. Aspirin included.
Original commit message from CVS:
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/wavenc/gstwavenc.c: (gst_wavenc_stop_file):
Fix wrong discont event setup (fixes#154967).
Original commit message from CVS:
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/auparse/gstauparse.c: (gst_auparse_chain):
Error out on invalid data (fixes#154807).
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_massage_index):
OK, so the original code was too strict. It makes random AVI files
hang for seconds upon opening, which is unacceptable and is far
beyond the original goal of getting multiple chunks for one-chunk
sounc stream files. So now do just that.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c:
add ATRAC3 to STATIC CAPS to fix a warning
* gst/matroska/ebml-read.c:
* gst-libs/gst/riff/riff-read.c:
fix typos
Original commit message from CVS:
* gst/wavparse/Makefile.am
* gst/wavparse/riff.h
* gst/wavparse/wavparse.vcproj
riff.h removal (unused and duplication with riff-ids.h)
Original commit message from CVS:
* gst/flx/gstflxdec.c: (gst_flxdec_init), (gst_flxdec_loop):
Actually _do_ negotiation. Pass gdouble as arg instead
of guint64 for the framerate.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_event):
Fix seeking in some files. All this code is no longer needed (and
actually breaks stuff) because we now synchronize the full index
right when reading the header.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_index),
(gst_avi_demux_stream_scan), (sort), (gst_avi_demux_massage_index),
(gst_avi_demux_stream_header), (gst_avi_demux_stream_data):
Improve allocation, cutting and sorting of the index. How takes a
few seconds instead of minutes.
Original commit message from CVS:
gstwavparse.c: it did not build in system with Glib < 2.4 because it
used the macro G_MAXUINT32. Now we define the macro if it is not yet
defined.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data),
(gst_riff_create_video_template_caps):
Add wing commander format mimetype/fourccs.
* gst/avi/gstavidemux.c: (gst_avi_demux_massage_index):
Don't crash if some value is 0.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data),
(gst_riff_create_video_template_caps):
Add DIB fourcc (raw, palettized 8-bit RGB).
* gst-libs/gst/riff/riff-read.c:
(gst_riff_read_strf_vids_with_data):
Oops, fix strf_data reading bug.
* gst/avi/gstavidemux.c: (gst_avi_demux_add_stream):
Use a non-NULL tag.
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):
Time for hacks. Sorry Dave. At least one quicktime movie (a
trailer) that I've encountered contains multiple video tracks.
One of those is the actual video track, the other are one-frame
tracks (images). Unfortunately, the number of frames according
to the trak header is 1 for each, so that doesn't help. So
instead, I look at the duration and discard tracks with a
duration shorter than 20% of the length of the stream. Better
than nothing.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_class_init),
(gst_wavparse_stream_init), (gst_wavparse_fmt),
(gst_wavparse_other), (gst_wavparse_loop),
(gst_wavparse_pad_convert), (gst_wavparse_pad_query),
(gst_wavparse_srcpad_event):
* gst/wavparse/gstwavparse.h:
Added some more debugging info.
Fix the case where the length of the file is 0.
Make sure we seek to sample borders.
Original commit message from CVS:
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/wavparse/gstwavparse.c: (gst_wavparse_fmt):
Throw error if we didn't recognize the stream. Fixes#152289.
Original commit message from CVS:
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/wavparse/gstwavparse.c: (gst_wavparse_fmt):
Fix memleak.
Original commit message from CVS:
* ext/dvdread/dvdreadsrc.c: (dvdreadsrc_class_init),
(dvdreadsrc_init), (dvdreadsrc_dispose), (dvdreadsrc_set_property),
(dvdreadsrc_get_property), (_open), (_seek), (_read),
(dvdreadsrc_get), (dvdreadsrc_open_file),
(dvdreadsrc_change_state):
Fix. Don't do one big huge loop around the whole DVD, that will
cache all data and thus eat sizeof(dvd) (several GB) before we
see something.
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_seek):
Actually NULL'ify event after using it.
* gst/matroska/ebml-read.c: (gst_ebml_read_use_event),
(gst_ebml_read_handle_event), (gst_ebml_read_element_id),
(gst_ebml_read_element_length), (gst_ebml_read_element_data),
(gst_ebml_read_seek), (gst_ebml_read_skip):
Handle events.
* gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_base_init),
(gst_dvd_demux_init), (gst_dvd_demux_get_audio_stream),
(gst_dvd_demux_get_subpicture_stream), (gst_dvd_demux_plugin_init):
Fix timing (this will probably break if I seek using menus, but
I didn't get there yet). VOBs and normal DVDs should now work.
Add a mpeg2-only pad with high rank so this get autoplugged for
MPEG-2 movies.
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_base_init),
(gst_mpeg_demux_class_init), (gst_mpeg_demux_init),
(gst_mpeg_demux_new_output_pad), (gst_mpeg_demux_get_video_stream),
(gst_mpeg_demux_get_audio_stream),
(gst_mpeg_demux_get_private_stream), (gst_mpeg_demux_parse_packet),
(gst_mpeg_demux_parse_pes), (gst_mpeg_demux_plugin_init):
Use this as second rank for MPEG-1 and MPEG-2. Still use this for
MPEG-1 but use dvddemux for MPEG-2.
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_class_init),
(gst_mpeg_parse_init), (gst_mpeg_parse_new_pad),
(gst_mpeg_parse_parse_packhead):
Timing. Only add pad template if it exists. Add sink template from
class and not from ourselves. This means we will always use the
correct sink template even if it is not the one defined in this
file.
Original commit message from CVS:
* ext/flac/gstflacdec.c: (gst_flacdec_src_query):
Only return true if we actually filled something in. Prevents
player applications from showing a random length for flac files.
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_class_init),
(gst_riff_read_use_event), (gst_riff_read_handle_event),
(gst_riff_read_seek), (gst_riff_read_skip), (gst_riff_read_strh),
(gst_riff_read_strf_vids_with_data),
(gst_riff_read_strf_auds_with_data), (gst_riff_read_strf_iavs):
OK, ok, so I implemented event handling. Apparently it's normal
that we receive random events at random points without asking
for it.
* gst/avi/gstavidemux.c: (gst_avi_demux_reset),
(gst_avi_demux_src_convert), (gst_avi_demux_handle_src_query),
(gst_avi_demux_handle_src_event), (gst_avi_demux_stream_index),
(gst_avi_demux_sync), (gst_avi_demux_stream_scan),
(gst_avi_demux_massage_index), (gst_avi_demux_stream_header),
(gst_avi_demux_handle_seek), (gst_avi_demux_process_next_entry),
(gst_avi_demux_stream_data), (gst_avi_demux_loop):
* gst/avi/gstavidemux.h:
Implement non-lineair chunk handling and subchunk processing.
The first solves playback of AVI files where the audio and video
data of individual buffers that we read are not synchronized.
This should not happen according to the wonderful AVI specs, but
of course it does happen in reality. It is also a prerequisite for
the second. Subchunk processing allows us to cut chunks in small
pieces and process each of these pieces separately. This is
required because I've seen several AVI files with incredibly large
audio chunks, even some files with only one audio chunk for the
whole file. This allows for proper playback including seeking.
This patch is supposed to fix all AVI A/V sync issues.
* gst/flx/gstflxdec.c: (gst_flxdec_class_init),
(flx_decode_chunks), (flx_decode_color), (gst_flxdec_loop):
Work.
* gst/modplug/gstmodplug.cc:
Proper return value setting for the query() function.
* gst/playback/gstplaybasebin.c: (setup_source):
Being in non-playing state (after, e.g., EOS) is not necessarily
a bad thing. Allow for that. This fixes playback of short files.
They don't actually playback fully now, because the clock already
runs. This means that small files (<500kB) with a small length
(<2sec) will still not or barely play. Other files, such as mod
or flx, will work correctly, however.
Original commit message from CVS:
Company's wisdom:
Events should be passed on using the sinkpad's default handler not the src
Seek events only go upstream, so send a discont downstream instead.
Original commit message from CVS:
* ext/dirac/Makefile.am:
* ext/dirac/gstdirac.cc:
* ext/dirac/gstdiracdec.cc:
* ext/dirac/gstdiracdec.h:
Do something. Don't actually know if this works because I don't
have a demuxer yet.
* ext/gsm/gstgsmdec.c: (gst_gsmdec_getcaps):
Add channels=1 to caps returned from _getcaps().
* ext/ogg/gstogmparse.c: (gst_ogm_audio_parse_get_type),
(gst_ogm_video_parse_get_type), (gst_ogm_audio_parse_base_init),
(gst_ogm_video_parse_base_init), (gst_ogm_parse_init),
(gst_ogm_audio_parse_init), (gst_ogm_video_parse_init),
(gst_ogm_parse_sink_convert), (gst_ogm_parse_chain),
(gst_ogm_parse_change_state):
Separate between audio/video so ogmaudioparse actually uses the
audio pad templates. Both audio and video work now, including
autoplugging. Also use sometimes-srcpad hack.
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_seek):
Handle events better. Don't hang on infinite loops.
* gst/avi/gstavidemux.c: (gst_avi_demux_class_init),
(gst_avi_demux_init), (gst_avi_demux_reset),
(gst_avi_demux_src_convert), (gst_avi_demux_handle_src_query),
(gst_avi_demux_stream_header), (gst_avi_demux_stream_data),
(gst_avi_demux_change_state):
* gst/avi/gstavidemux.h:
Improve A/V sync. Still not perfect.
* gst/matroska/ebml-read.c: (gst_ebml_read_seek),
(gst_ebml_read_skip):
Handle events better.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_sink_event),
(gst_qtdemux_loop_header), (qtdemux_parse_trak),
(qtdemux_audio_caps):
Add IMA4. Improve event handling. Save offset after a seek when
the headers are at the end of the file so that we don't end up in
an infinite loop.
* gst/typefind/gsttypefindfunctions.c: (qt_type_find):
Add low-priority typefind support for files with no length.
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c: (_read_var_length), (_read_guid),
(gst_asf_demux_process_segment), (gst_asf_demux_handle_data),
(gst_asf_demux_process_chunk), (gst_asf_demux_handle_sink_event):
Prevent infinite loops. More correct error reporting.
* gst/auparse/gstauparse.c: (gst_auparse_chain):
Error out if negotiation fails.
* gst/playback/gstplaybasebin.c: (setup_source),
(gst_play_base_bin_change_state), (gst_play_base_bin_error),
(gst_play_base_bin_found_tag):
Error/tag forwarding. Pre-roll fixes for source errors on state
changes (e.g. "file does not exist") to prevent hangs.
Original commit message from CVS:
2004-09-19 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* gst/wavenc/gstwavenc.c: (gst_wavenc_init), (gst_wavenc_chain):
* gst/wavenc/gstwavenc.h:
Added newmedia support to wavenc
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query),
(gst_avi_demux_stream_data):
Just hardcode for raw audio then. AVI audio sucks.
Original commit message from CVS:
* configure.ac: remove NASM check, since we don't use it. Update
dirac check to 0.4
* ext/dirac/gstdiracdec.cc: update to current 0.4 API
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_link):
Initialized variables.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(gst_qtdemux_loop_header), (qtdemux_parse), (qtdemux_parse_trak),
(gst_qtdemux_handle_esds), (qtdemux_audio_caps): Fix seeking, add
SVQ3 format
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query),
(gst_avi_demux_add_stream), (gst_avi_demux_stream_data):
* gst/avi/gstavidemux.h:
Fix for compressed audio (mp3) timestamp generation. How did this
ever work?
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_add_stream),
(qtdemux_parse_trak):
Don't crash by dividing by zero (see sample movie in #126922).
Original commit message from CVS:
* gst/videomixer/videomixer.c: (gst_videomixer_blend_buffers):
Copy timestamps from the master pad to the output buffers.
Original commit message from CVS:
Write track and segment UIDs, write muxing date, write TRACKDEFAULTDURATION for TTA audio, write BLOCKDURATION if known.
Original commit message from CVS:
Fix byte order reversion for writing ebml floats.
Write segment duration and muxing application in matroska.
Added TTA codec to the list of supported codecs to mux into matroska.
Original commit message from CVS:
Interpret BLOCKDURATION and set buffer duration accordingly, enable demuxing
of TTA audio from matroska, fixes bugs #148950 and #148951.
Original commit message from CVS:
* gst/udp/gstudpsrc.c: (gst_udpsrc_init), (gst_udpsrc_get):
* gst/udp/gstudpsrc.h:
Don't call gst_pad_push in a get function. Fixes#150449
Original commit message from CVS:
2004-07-28 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* ext/lame/gstlame.c: (gst_lame_chain): send tag events downstream
* ext/shout2/gstshout2.c: (gst_shout2send_protocol_get_type),
(gst_shout2send_get_type), (gst_shout2send_set_clock),
(gst_shout2send_class_init), (gst_shout2send_init),
(set_shout_metadata), (gst_shout2send_set_metadata),
(gst_shout2send_chain), (gst_shout2send_set_property),
(gst_shout2send_get_property), (gst_shout2send_connect),
(gst_shout2send_change_state):
* ext/shout2/gstshout2.h:
- fix for sending mp3 audio to icecast2 server, if pad link function not
called before PAUSED state
- added option to use GStreamer clock sync (as opposed to libshout's own sync)
- added tagging support for mp3 audio broadcasted
* gst/monoscope/gstmonoscope.c: (gst_monoscope_class_init):
debug info
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_fmt),
(gst_wavparse_handle_seek), (gst_wavparse_srcpad_event):
Add the pad to the element after setting up the caps. This
makes it a lot easier to autoplug.
Original commit message from CVS:
* gst/videomixer/videomixer.c: (gst_videomixer_pad_get_type),
(gst_videomixer_pad_class_init), (gst_videomixer_pad_get_property),
(gst_videomixer_pad_set_property),
(gst_videomixer_pad_sinkconnect), (gst_videomixer_pad_init),
(gst_video_mixer_background_get_type), (gst_videomixer_get_type),
(gst_videomixer_class_init), (gst_videomixer_init),
(gst_videomixer_getcaps), (gst_videomixer_request_new_pad),
(gst_videomixer_blend_ayuv_i420), (pad_zorder_compare),
(gst_videomixer_sort_pads), (gst_videomixer_fill_checker),
(gst_videomixer_fill_color), (gst_videomixer_fill_queues),
(gst_videomixer_blend_buffers), (gst_videomixer_update_queues),
(gst_videomixer_loop), (plugin_init):
Be a nicer negotiation citizen and provide a getcaps function on
the srcpad. This also fixes a crash when resizing.
Original commit message from CVS:
Set the explicit caps on the pad when the file is parsed as explicit caps get wiped during state changes. fixes bug #148043
Original commit message from CVS:
* gst/alpha/Makefile.am:
* gst/alpha/gstalphacolor.c: (gst_alpha_color_get_type),
(gst_alpha_color_base_init), (gst_alpha_color_class_init),
(gst_alpha_color_init), (gst_alpha_color_set_property),
(gst_alpha_color_get_property), (gst_alpha_color_sink_link),
(transform), (gst_alpha_color_chain),
(gst_alpha_color_change_state), (plugin_init):
Stupid plugin to to RGBA to AYUV conversion because none of
the colorspace plugins can handle that yet.
Original commit message from CVS:
* gst-libs/gst/riff/riff-read.c:
(gst_riff_read_strf_vids_with_data),
(gst_riff_read_strf_auds_with_data):
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query),
(gst_avi_demux_add_stream), (gst_avi_demux_stream_header):
Make sure we don't create 0 sized subbufers in riff-read.
Signal the no more pads signal after reading the avi header.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data):
mp42/mp43 (no caps) exist too.
* gst/matroska/matroska-demux.c: (gst_matroska_demux_video_caps):
Set pixel_width/height; we've got them in-caps.
* gst/typefind/gsttypefindfunctions.c: (plugin_init):
* gst/wavparse/gstwavparse.c: (plugin_init):
Both are valid primary.
* sys/oss/gstossmixer.c:
Remove i18n hack and enable translations.
Original commit message from CVS:
* gst/videobox/gstvideobox.c: (gst_video_box_fill_get_type),
(gst_video_box_class_init), (gst_video_box_set_property),
(gst_video_box_i420), (gst_video_box_ayuv), (gst_video_box_chain):
Use pad_alloc where possible.
Original commit message from CVS:
* ext/dvdnav/gst-dvd: Grab the gconf key from the right spot
* gst/debug/gstnavseek.c: (gst_navseek_init),
(gst_navseek_segseek), (gst_navseek_handle_src_event),
(gst_navseek_chain):
* gst/debug/gstnavseek.h: Add 's', 'e' and 'l' keypresses to navseek
to define the start,end and loop parameters of a segment seek.
* gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_init),
(gst_videotestsrc_get_event_masks),
(gst_videotestsrc_handle_src_event), (gst_videotestsrc_get):
* gst/videotestsrc/gstvideotestsrc.h:
Add seeking support to videotestsrc
Initialise the timestamp_offset variable.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_init),
(gst_qtdemux_handle_src_query), (gst_qtdemux_handle_src_event),
(gst_qtdemux_handle_sink_event), (gst_qtdemux_change_state),
(gst_qtdemux_loop_header), (qtdemux_dump_mvhd),
(qtdemux_parse_trak):
* gst/qtdemux/qtdemux.h:
Bitch. Also known as seeking, querying & co.
* sys/oss/gstosssink.c: (gst_osssink_init), (gst_osssink_chain),
(gst_osssink_change_state):
* sys/oss/gstosssink.h:
Resyncing is for weenies, this hack is no longer needed and was
broken anyway (since it - unintendedly - always leaves resync to
TRUE).
Original commit message from CVS:
* gst/multipart/multipartmux.c: (gst_multipart_mux_class_init),
(gst_multipart_mux_init), (gst_multipart_mux_loop),
(gst_multipart_mux_get_property), (gst_multipart_mux_set_property),
(gst_multipart_mux_change_state):
Added configurable boundary specifier, added the value as a
caps field as well.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_dec_chain):
Initialise b_o_s and e_o_s variables
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data):
Add some unusual fourcc's from mplayer avi's
* gst/multipart/multipartmux.c: (gst_multipart_mux_plugin_init):
Make the muxer have rank GST_RANK_NONE, so it doesn't mess up
autoplugging.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query):
Fix potential division by zero error and hopefully get
the position query right to get correct timestamps on avi
audio.
Original commit message from CVS:
second batch :
remove ',' at end of enums as they could confuse older gcc, foreign compilers (forte) and gtk-doc
(in gst-plugins/ext/ this time)
Original commit message from CVS:
* ext/dv/gstdvdec.c: (gst_dvdec_init), (gst_dvdec_get_formats),
(gst_dvdec_src_convert), (gst_dvdec_sink_convert):
Fix format conversion and position querying.
* gst/debug/progressreport.c: (gst_progressreport_report):
Don't output a bogus total value that we didn't query.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support):
Always set XV_AUTOPAINT_COLORKEY to true. Fixes xvimagesink showing
only a blank window after xine has been used.
Original commit message from CVS:
* gst/debug/testplugin.c:
* gst/debug/tests.c:
* gst/debug/tests.h:
add new extensible and configurable testing element. Current tests
include buffer count, stream length, timestamp/duration matching and
md5.
* gst/debug/Makefile.am:
* gst/debug/gstdebug.c: (plugin_init):
add infrastructure for new element
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(gst_qtdemux_loop_header): Patch from dcm@acm.org (David Moore)
to allow qtdemux to use non-seekable streams. (bug #142272)
Original commit message from CVS:
* ext/esd/esdsink.c: (gst_esdsink_chain): Fix crash when ESD
is killed while we're playing.
* gst/qtdemux/qtdemux.c: (qtdemux_parse): call
gst_element_no_more_pads().
Original commit message from CVS:
* ext/audiofile/gstafparse.c : change class to Codec/Demuxer/Audio
* gst/auparse/gstauparse.c : idem
* gst/wavparse/gstwavparse.c : idem
Original commit message from CVS:
* ext/mad/gstid3tag.c : move from "Codec/(Dem/M)uxer" to "Codec/(Dem/M)uxer/Audio"
* gst/wavenc/gstwavenc.c : move from "Codec/Encoder/Audio" to "Codec/Muxer/Audio"
* gst/auparse/gstauparse.c :
- add code (commented for now) to support audio/x-adpcm on src pad
(we have no decoder for those layout yet)
* gst/cdxaparse/gstcdxaparse.c :
* gst/cdxaparse/gstcdxaparse.h :
- partial rewrite using RiffRead (ripped iain's wavparse code)
* gst/rtp/gstrtpL16enc.c : typo
* gst/rtp/gstrtpgsmenc.c : typo
Original commit message from CVS:
* gst-libs/gst/riff/riff-ids.h :
- add CDXA to the list of RIFF types
- add plst (playlist ?) to wav chunk list (only diff with wavparse/riff.h)
Original commit message from CVS:
* gst/auparse/gstauparse.c :
- Document all audio encoding we can encounter from Solaris 9
headers and libsndfile information.
- Increase max. rate from 48000 to 192000 (to match other elements)
- Don't try to play junk data between header and samples
Original commit message from CVS:
* gst/auparse/gstauparse.c: (gst_auparse_class_init),
(gst_auparse_init), (gst_auparse_chain),
(gst_auparse_change_state):
Hack around spider. Remove me some day please.
Original commit message from CVS:
* gst/auparse/gstauparse.c: (gst_auparse_chain):
Fix for some uninitialized variables in previous patch, also
makes it work. Fixes#142286 while we're at it.
Original commit message from CVS:
* gst/auparse/gstauparse.c:
fixes a-law, adds mu-law, linear pcm (8,16,24,32), ieee (32, 64)
only unsupported formats are ADPCM/CCITT G.72x
reviewed by Ronald
* gst-libs/gst/audio/audio.h:
adds 24bit depth to PCM (x-raw-int)
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_destroy_sourcepad),
(gst_wavparse_create_sourcepad):
make PAUSED=>READY=>PAUSED=READY work by not destroying NULL
sourcepads
Original commit message from CVS:
* gst/level/gstlevel.c: (gst_level_link), (gst_level_chain),
(gst_level_change_state), (gst_level_init):
* gst/level/gstlevel.h:
figure out if we're initialized directly instead of keeping a
variable that's wrong in 90% of cases
don't initialize pads and then leak them and use a new unitialized
pad. (fixes#142084)
these were bugs so n00bish I didn't find them for an hour :/
Original commit message from CVS:
Rewrote wavparse to use riff-read instead of doing bytestream stuff by hand.
Made some useful functions in riff-read non-static.
Original commit message from CVS:
* gst/wavenc/gstwavenc.c: (gst_wavenc_chain):
First process the events before deciding that negotiation
was not performed.
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_metadata):
* gst/matroska/matroska-ids.h:
Basic tag reading support.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(gst_qtdemux_add_stream), (qtdemux_parse), (qtdemux_type_get),
(qtdemux_dump_stsz), (qtdemux_dump_stco), (qtdemux_dump_co64),
(qtdemux_dump_unknown), (qtdemux_parse_tree), (qtdemux_parse_udta),
(qtdemux_tag_add), (get_size), (gst_qtdemux_handle_esds): More qtdemux
hackage -- parse a lot more atoms, extract a few tags. One might even
mistake this for tag support. Maybe it is.
* gst/qtdemux/qtdemux.h:
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_add_stream), (qtdemux_parse),
(qtdemux_parse_trak), (get_size), (gst_qtdemux_handle_esds): Hacked
up qtdemux to make it spit out codec_data. Do _not_ look at this
code; you will no longer respect me.
Original commit message from CVS:
* ext/jpeg/gstjpegdec.c: (gst_jpegdec_get_type):
* ext/jpeg/gstjpegenc.c: (gst_jpegenc_get_type),
(gst_jpegenc_getcaps):
move format setting to inner loop
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
(gst_ffmpegcolorspace_getcaps):
use GST_PAD_CAPS if available so that we use already negotiated
caps
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(qtdemux_parse_moov), (qtdemux_parse):
extra debugging
* sys/qcam/qcam-Linux.c: (qc_lock_wait), (qc_unlock):
* sys/qcam/qcam-os.c: (qc_lock_wait), (qc_unlock):
move hardcoded path to DEFINE
Original commit message from CVS:
* ext/divx/gstdivxdec.c: (plugin_init):
Remove comment that makes no sense.
* ext/mad/gstid3tag.c: (gst_id3_tag_set_property):
Fix for obvious typo that resulted in warnings during gst-register.
* ext/xvid/gstxviddec.c: (gst_xviddec_src_link),
(gst_xviddec_sink_link):
Fix caps negotiation a bit better.
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):
We call this 'codec_data', not 'esds'.
Original commit message from CVS:
* gst/monoscope/gstmonoscope.c:
make sure we only provide 256x128
* gst/monoscope/monoscope.c: (monoscope_init):
assert size of 256x128
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_create_sourcepad),
(gst_wavparse_parse_fmt), (gst_wavparse_handle_sink_event),
(gst_wavparse_loop):
Missing variable initialization. Add handling of DVI ADPCM. Fix
mis-parsing of LIST chunks. This works around a bug where we mis-
parse non-aligning LIST chunks (so LIST chunks where the contents
don't align with the actual LIST size). The correct fix is to use
rifflib, I'm not going to fix wavparse - too much work. All this
fixes#104878.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_sink_event),
(qtdemux_parse), (qtdemux_type_get), (qtdemux_dump_mvhd),
(qtdemux_dump_tkhd), (qtdemux_dump_stsd), (qtdemux_dump_unknown),
(qtdemux_parse_trak), (qtdemux_video_caps), (qtdemux_audio_caps):
A number of new features and hacks to extract the esds atom and
put it into the caps. (bug #137724)
Original commit message from CVS:
* gconf/Makefile.am: Fix for non-GNU make
* gst-libs/gst/Makefile.am: Change directory order to handle
GstPlay linking with gstinterfaces
* gst-libs/gst/audio/make_filter: make use of tr portable
* gst-libs/gst/play/Makefile.am: Add intended \
* gst-libs/gst/xwindowlistener/xwindowlistener.c:
(gst_xwin_set_clips): Switch to ISO variadic macro. Use a
function prototype instead of void *.
* gst/ffmpegcolorspace/gstffmpegcodecmap.c: Switch to ISO variadic
macro.
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
(gst_ffmpegcolorspace_chain): wrap NULL in GST_ELEMENT_ERROR call
* gst/videofilter/make_filter: make use of tr portable
* pkgconfig/Makefile.am: Remove GNU extension in Makefile target
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_init),
(gst_wavparse_destroy_sourcepad), (gst_wavparse_create_sourcepad),
(gst_wavparse_parse_fmt), (gst_wavparse_change_state):
Hack to make wavparse work with spider (always -> sometimes pad).
Fixes#135862 && #140411.
Original commit message from CVS:
reviewed by: <delete if not using a buddy>
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data),
(gst_riff_create_video_caps), (gst_riff_create_audio_caps),
(gst_riff_create_video_template_caps),
(gst_riff_create_audio_template_caps):
* gst-libs/gst/riff/riff-media.h:
* gst-libs/gst/riff/riff-read.c:
(gst_riff_read_strf_vids_with_data), (gst_riff_read_strf_vids):
* gst-libs/gst/riff/riff-read.h:
* gst/avi/gstavidemux.c: (gst_avi_demux_add_stream):
Add MS RLE support. I added some functions to read out strf chunks
into strf chunks and the data behind it. This is usually color
palettes (as in RLE, but also in 8-bit RGB). Also use those during
caps creation. Lastly, add ADPCM (similar to wavparse - which
should eventually be rifflib based).
* gst/matroska/matroska-demux.c: (gst_matroska_demux_class_init),
(gst_matroska_demux_init), (gst_matroska_demux_reset):
* gst/matroska/matroska-demux.h:
Remove placeholders for some prehistoric tagging system. Didn't add
support for any tag system really anyway.
* gst/qtdemux/qtdemux.c:
Add support for audio/x-m4a (MPEG-4) through spider.
* gst/wavparse/gstwavparse.c: (gst_wavparse_parse_fmt),
(gst_wavparse_loop):
ADPCM support (#135862). Increase max. buffer size because we
cannot split buffers for ADPCM (screws references) and I've seen
files with 2048 byte chunks. 4096 seems safe for now.
Original commit message from CVS:
* common/m4/gst-feature.m4: Call -config scripts with
--plugin-libs if it is supported.
* gst/avi/gstavimux.c: (gst_avimux_vidsinkconnect): sequences of
JPEG images are image/jpeg.
* gst/debug/Makefile.am:
* gst/debug/negotiation.c: (gst_negotiation_class_init),
(gst_negotiation_getcaps), (gst_negotiation_pad_link),
(gst_negotiation_update_caps), (gst_negotiation_get_property),
(gst_negotiation_plugin_init): Add a property that acts like
filter caps.
* testsuite/gst-lint: Move license checking to be a standard
test.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
(gst_riff_create_video_template_caps):
Add MS video v1.
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_index),
(gst_avi_demux_stream_data):
Add support for "rec-list" chunks.
Original commit message from CVS:
a52dec: Use a debug category, Output timestamps correctly
Emit tag info, Handle events, tell liba52dec about cpu
capabilities so it can use MMX etc.
dvdec: Fix a crasher accessing invalid memory
dvdnavsrc:Some support for byte-format seeking.
Small fixes for still frames and menu button overlays
mpeg2dec: Use a debug category. Adjust the report level of several items to
LOG. Call mpeg2_custom_fbuf to mark our buffers as 'custom buffers'
so it doesn't lose the GstBuffer pointer
navseek: Add the navseek debug element for seeking back and forth in a
video stream using arrow keys.
mpeg2subt:Pretty much a complete rewrite. Now a loopbased element. May still
require work to properly synchronise subtitle buffers.
mpegdemux:
dvddemux: Don't attempt to create subbuffers of size 0
Reduce a couple of error outputs to warnings.
y4mencode:Output the y4m frame header correctly
Original commit message from CVS:
* gst/audioscale/gstaudioscale.c: (gst_audioscale_expand_value),
(gst_audioscale_getcaps): Fix getcaps to expand and union lists.
(bug #138225)
* gst/debug/Makefile.am:
* gst/debug/breakmydata.c: (gst_break_my_data_plugin_init):
* gst/debug/gstdebug.c: (plugin_init): Merge elements into one
plugin.
* gst/debug/negotiation.c: (gst_gst_negotiation_get_type),
(gst_negotiation_base_init), (gst_negotiation_class_init),
(gst_negotiation_init), (gst_negotiation_getcaps),
(gst_negotiation_pad_link), (gst_negotiation_chain),
(gst_negotiation_set_property), (gst_negotiation_get_property),
(gst_negotiation_plugin_init): New element to talk about random
negotiation things happening in a pipeline.
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_fixate): Don't fixate fields that
aren't in the caps.
* gst/sine/gstsinesrc.c: change rate caps to [1,MAX]
* gst/videocrop/gstvideocrop.c: (plugin_init): Change rank to NONE.
Original commit message from CVS:
* gst/law/alaw-decode.c: (alawdec_getcaps), (alawdec_link),
(gst_alawdec_base_init), (gst_alawdec_class_init),
(gst_alawdec_init), (gst_alawdec_chain):
* gst/law/alaw-encode.c: (alawenc_getcaps), (alawenc_link),
(gst_alawenc_base_init), (gst_alawenc_class_init),
(gst_alawenc_init), (gst_alawenc_chain):
* gst/law/mulaw-decode.c: (mulawdec_getcaps), (mulawdec_link),
(gst_mulawdec_base_init), (gst_mulawdec_class_init),
(gst_mulawdec_init), (gst_mulawdec_chain):
* gst/law/mulaw-encode.c: (mulawenc_getcaps), (mulawenc_link),
(gst_mulawenc_base_init), (gst_mulawenc_class_init),
(gst_mulawenc_init), (gst_mulawenc_chain):
Fix capsnego in all four, remove the unused property functions and
simplify the chain functions slightly. I guess we could use macros
or something similar for those, since the code is so similar, but
I'm currently too lazy...
Original commit message from CVS:
* gst/debug/Makefile.am:
* gst/debug/breakmydata.c:
add element that quasi-randomly changes bytes in the stream.
Intended use is robustness checking of demuxers and decoders in
media tests.
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_set_property):
don't g_return_if_fail if element is PLAYING, fail silently as every
other element.
* gst/effectv/gstquark.c: (gst_quarktv_chain):
only fix needed for cast lvalue issues in gst-plugins
* gst/volenv/gstvolenv.c: (gst_volenv_init):
add proxy_getcaps
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):
Fix for obvious mistake, where we first shift the offset and then
read a samplesize element assuming the old offset. Note that this
part still has something weird, i.e. my movies containing those
don't actually play well, but at least there's something that looks
like sound now.
Original commit message from CVS:
Port all elements that can be ported to videofilter, and fix up the caps.
Can someone with a big-endian machine please check them?
Original commit message from CVS:
* ext/lcs/Makefile.am: Fix so that the lcs colorspace plugin
doesn't conflict with the internal colorspace plugin.
* gst-libs/gst/audio/make_filter: Use `` instead of $() to
satisfy the crappy-ass shell shipped by a certain vendor.
* gst/videofilter/make_filter: same (bug #135299)
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_add_stream),
(qtdemux_parse_trak):
Fix crash (j might be greater than n_samples, in which case we're
writing outside the allocated space for the array) and memleak.
Original commit message from CVS:
* ext/aalib/gstaasink.c: (gst_aasink_fixate), (gst_aasink_init):
Add fixate function. (bug #131128)
* ext/sdl/sdlvideosink.c: (gst_sdlvideosink_init),
(gst_sdlvideosink_fixate): Add fixate function.
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_link):
Fix attempt to print a non-pointer using GST_PTR_FORMAT.
* gst/wavparse/gstwavparse.c: (gst_wavparse_parse_fmt):
Fix missing break that was causing ulaw to be interpreted as
raw int.
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_init), (gst_faad_srcgetcaps),
(gst_faad_chain): Fix negotiation.
* ext/librfb/gstrfbsrc.c: (gst_rfbsrc_handle_src_event): Add
key and button events.
* gst-libs/gst/floatcast/floatcast.h: Fix a minor bug in this
dung heap of code.
* gst-libs/gst/gconf/gstreamer-gconf-uninstalled.pc.in: gstgconf
depends on gconf
* gst-libs/gst/gconf/gstreamer-gconf.pc.in: same
* gst-libs/gst/play/play.c: (gst_play_pipeline_setup),
(gst_play_video_fixate), (gst_play_audio_fixate): Add a fixate
function to encourage better negotiation, particularly between
audioconvert and osssink.
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_chain):
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak): Make some debugging
more important.
* gst/typefind/gsttypefindfunctions.c: Fix mistake in flash
typefinding.
* gst/vbidec/vbiscreen.c: Add glib header
* pkgconfig/gstreamer-play.pc.in: Depends on gst-interfaces.
Original commit message from CVS:
reviewed by David Schleef
* gst/videofilter/gstgamma.c: (gst_gamma_rgb32): Fix typo that
modified the alpha channel and caused a warning. (bug #136192)
Original commit message from CVS:
* gst-libs/gst/colorbalance/Makefile.am:
* gst-libs/gst/mixer/Makefile.am:
* gst-libs/gst/tuner/Makefile.am:
* gst/level/Makefile.am: -marshal.[ch] and -enum.[ch] files
should not be disted, -marshal.h files should not be installed,
and -enum.h files _should_ be installed. Fix to make this the
case.
Original commit message from CVS:
reviewed by: David Schleef <ds@schleef.org>
* gst/videofilter/gstgamma.c: (gst_gamma_class_init),
(gst_gamma_init), (gst_gamma_set_property),
(gst_gamma_get_property), (gst_gamma_calculate_tables),
(gst_gamma_rgb24), (gst_gamma_rgb32): Adds gamma correction
for RGB, with separate r g and b correction factors.
Original commit message from CVS:
2004-02-20 Benjamin Otte <otte@gnome.org>
* ext/xine/Makefile.am:
* ext/xine/gstxine.h:
* ext/xine/xine.c:
* ext/xine/xineaudiodec.c:
* ext/xine/xinecaps.c:
add first version of xine plugin wrapper. Currently only wraps the
QDM2 win32 DLL, and even that only in proof-of-concept quality.
* configure.ac:
* ext/Makefile.am:
add xine plugin wrapper, disabled by default. Use --enable-xine to
build. Note that it'll segfault on gst-register if you don't remove
the goom and tvtime post plugins from xine.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_sink_event),
(qtdemux_parse), (qtdemux_parse_trak), (qtdemux_audio_caps):
add extradata parsing for QDM2.
change around debugging prints.
Original commit message from CVS:
Convert a few inner loops to use liboil. This is currently
optional, and is only enabled if liboil is present (duh!).
* configure.ac: Check for liboil-0.1
* gst/intfloat/Makefile.am:
* gst/intfloat/gstint2float.c: (conv_f32_s16), (scalarmult_f32),
(gst_int2float_chain_gint16):
* gst/videofilter/Makefile.am:
* gst/videofilter/gstvideobalance.c: (gst_videobalance_class_init),
(tablelookup_u8), (gst_videobalance_planar411):
* gst/videotestsrc/Makefile.am:
* gst/videotestsrc/gstvideotestsrc.c: (plugin_init):
* gst/videotestsrc/videotestsrc.c: (splat_u8), (paint_hline_YUY2),
(paint_hline_IYU2), (paint_hline_str4), (paint_hline_str3),
(paint_hline_RGB565), (paint_hline_xRGB1555):
Original commit message from CVS:
2004-02-03 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/qtdemux/qtdemux.c: (gst_qtdemux_add_stream):
set explicit caps before adding the element, so the autopluggers can
plug correctly.
* gst/typefind/gsttypefindfunctions.c: (mp3_type_find),
(mpeg2_sys_type_find), (mpeg1_sys_type_find),
(mpeg_video_type_find), (mpeg_video_stream_type_find),
(dv_type_find):
fix memleaks in typefind functions. gst_type_find_suggest takes a const
argument.
Original commit message from CVS:
2004-01-30 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst-libs/gst/riff/riff-read.c: (gst_riff_peek_head),
(gst_riff_read_seek):
* gst/matroska/ebml-read.c: (gst_ebml_read_element_id),
(gst_ebml_read_seek):
Fix event handling.
Original commit message from CVS:
* gst/ac3parse/gstac3parse.c: update to checklist 5
* gst/adder/gstadder.c: rewrite negotiation. update to checklist 5
* gst/audioconvert/gstaudioconvert.c: update to checklist 5
* gst/audioscale/gstaudioscale.c: same
* gst/auparse/gstauparse.c: same
* gst/avi/gstavidemux.c: same
Original commit message from CVS:
2004-01-27 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/asfdemux/asfheaders.h:
* gst/asfdemux/gstasfdemux.c:
* gst/asfdemux/gstasfmux.c: (gst_asfmux_put_guid),
(gst_asfmux_put_string), (gst_asfmux_put_wav_header),
(gst_asfmux_put_vid_header), (gst_asfmux_put_bmp_header):
lot's of fixes to make data extraction simpler and get the code
architecture and compiler independant. Add debugging category
* gst/goom/gstgoom.c: (gst_goom_change_state):
reset channel count on PAUSED=>READY, not READY=>PAUSED
Original commit message from CVS:
2004-01-26 Jeremy Simon <jesimon@libertysurf.fr>
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_to_extradata), (gst_ffmpeg_caps_to_pixfmt):
* gst/qtdemux/qtdemux.c: (plugin_init), (qtdemux_parse_trak),
(qtdemux_video_caps):
* gst/qtdemux/qtdemux.h:
Add SVQ3 specific flags to qtdemux and ffmpeg
Original commit message from CVS:
2004-01-25 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_avih),
(gst_avi_demux_stream_odml), (gst_avi_demux_stream_index):
The index reading was broken. The rest worked fine, but the whole
goal of my rewrite was to make avidemux readable, and this was
not at all readable. Please use typed variables.
Original commit message from CVS:
2004-01-23 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_avih),
(gst_avi_demux_stream_odml), (gst_avi_demux_stream_index):
don't write to buffer. Extract data without the need of
__attribute__ ((packed))
Original commit message from CVS:
* gst/videofilter/gstvideobalance.c: Fix regression; changing a
property affects the video stream.
* sys/xvimage/xvimagesink.c:
* sys/xvimage/xvimagesink.h:
Add synchronous property for debugging. Should probably be
disabled in non-CVS builds. Make sure that the Xv attribute
exists before we set it (crash!). Fix a silly float bug that
caused colorbalance to just not work.
Original commit message from CVS:
* ext/esd/esdsink.c: (gst_esdsink_class_init): Remove property
that handles osssink fallback.
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_init),
(gst_audio_convert_getcaps):
* gst/qtdemux/qtdemux.c: (qtdemux_audio_caps):
Add audio/x-qdm2 for QDM2 audio.
* gst/sine/gstsinesrc.c: (gst_sinesrc_get):
* gst/sine/gstsinesrc.h: Add example of how to implement tags.
* gst/videoscale/gstvideoscale.c: (gst_videoscale_getcaps):
Decrease minimum size to 16x16.
* gst/wavparse/gstwavparse.c:
Convert disabled pad template caps to new caps.
* sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_get),
(gst_xvimagesink_chain): Throw element error when display cannot
be opened. Increase minimum framerate to 1.0. Check the data
free function on a buffer to make sure it is the type we expect
before manipulating it.
Original commit message from CVS:
2004-01-15 Julien MOUTTE <julien@moutte.net>
* gst/videofilter/gstvideobalance.c: (gst_videobalance_init),
(gst_videobalance_colorbalance_set_value): Implement passthru if
settings are in the middle.
* tools/gst-launch-ext.in: Stop using xvideosink, use ximagesink.
Original commit message from CVS:
2004-01-15 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/videofilter/Makefile.am:
* gst/volume/Makefile.am:
Since we use videofilter symbols, link to it.
Original commit message from CVS:
2004-01-14 Julien MOUTTE <julien@moutte.net>
* gst/videofilter/gstvideobalance.c: (gst_videobalance_init),
(gst_videobalance_colorbalance_set_value),
(gst_videobalance_colorbalance_get_value): Fixing videobalance ranges
for colorbalance interface implementation.
* sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get),
(gst_ximagesink_set_property), (gst_ximagesink_get_property),
(gst_ximagesink_dispose), (gst_ximagesink_init),
(gst_ximagesink_class_init): Adding DISPLAY property.
* sys/ximage/ximagesink.h: Adding display_name to store display.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_get),
(gst_xvimagesink_set_property), (gst_xvimagesink_get_property),
(gst_xvimagesink_dispose), (gst_xvimagesink_init),
(gst_xvimagesink_class_init): Adding DISPLAY property and colorbalance
properties (they still need polishing though for gst-launch use : no
xcontext yet, i ll do that tomorrow).
* sys/xvimage/xvimagesink.h: Adding display_name to store display.
Original commit message from CVS:
2004-01-14 Julien MOUTTE <julien@moutte.net>
* gst-libs/gst/colorbalance/colorbalance.c:
(gst_color_balance_class_init): Adding a default type.
* gst-libs/gst/colorbalance/colorbalance.h: Adding a macro to access
the type.
* gst/videofilter/gstvideobalance.c: (gst_videobalance_get_type),
(gst_videobalance_dispose), (gst_videobalance_class_init),
(gst_videobalance_init), (gst_videobalance_interface_supported),
(gst_videobalance_interface_init),
(gst_videobalance_colorbalance_list_channels),
(gst_videobalance_colorbalance_set_value),
(gst_videobalance_colorbalance_get_value),
(gst_videobalance_colorbalance_init): Implementing colorbalance
interface.
* gst/videofilter/gstvideobalance.h: Adding colorbalance channels
list.
* sys/ximage/ximagesink.c: (gst_ximagesink_set_xwindow_id): Fixing a
bug which was triggering a BadAccess X error when setting an overlay
before pad was really negotiated.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_colorbalance_init):
Using the colorbalance type macro.
Original commit message from CVS:
2004-01-14 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream):
Fix for using incremental number on padnames.
Original commit message from CVS:
2004-01-14 Ronald Bultje <rbultje@ronald.bitfreak.net>
* ext/divx/gstdivxdec.c:
* ext/divx/gstdivxenc.c:
Set category to divx4linux instead of divx (too generic).
* gst/wavparse/gstwavparse.c: (gst_wavparse_init),
(gst_wavparse_parse_fmt), (gst_wavparse_handle_sink_event),
(gst_wavparse_loop), (gst_wavparse_change_state):
* gst/wavparse/gstwavparse.h:
fix parsing of WAV files with non-standard fmt-tag size and fix
skipping of unrecognized chunks... Someone please fix this thing
to use rifflib so all this is automated.
* sys/v4l/Makefile.am:
* sys/v4l2/Makefile.am:
Add X_CFLAGS because we depend on X (for overlay).
Original commit message from CVS:
2004-01-13 Julien MOUTTE <julien@moutte.net>
* gst-libs/gst/colorbalance/colorbalance.h: Adding a type to the
colorbalance interface stating if it is hardware based or software
based.
* gst/videofilter/gstvideobalance.c: (gst_videobalance_planar411):
Removing a trailing comma.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_get),
(gst_xvimagesink_colorbalance_init): Integrating a patch from Jon
Trowbridge <trow@ximian.com> querying Xv adaptor for min/max value as
the documentation seems to be wrong on the -1000 to 1000 interval.
Original commit message from CVS:
* gst/debug/efence.c: (gst_efence_init), (gst_efence_chain),
(gst_efence_buffer_alloc), (gst_fenced_buffer_new),
(gst_fenced_buffer_default_free), (gst_fenced_buffer_default_copy):
Fix negotiation. Add a bufferalloc function for the sink pad,
and generally clean up some of the code.
Original commit message from CVS:
Remove all usage of gst_pad_get_caps(), and replace it with
gst_pad_get_allowed_caps() or gst_pad_get_negotiated_cap().
Original commit message from CVS:
* ext/divx/gstdivxenc.c: remove bogus gst_caps_is_fixed() test
* gst/debug/efence.c: (gst_efence_chain), (gst_fenced_buffer_new),
(gst_fenced_buffer_default_copy): Fix for rename of buffer private
structure members.
* gst/effectv/gstwarp.c: (gst_warptv_setup): Don't reset the time
value during a resize/renegotiation.
* gst/videofilter/gstvideofilter.c: (gst_videofilter_chain): use
gst_pad_alloc_buffer();
* sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_get),
(gst_v4lmjpegsrc_buffer_free): Fix for rename of buffer private
structure members.
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_get), (gst_v4lsrc_buffer_free):
Fix for rename of buffer private structure members.
* sys/ximage/ximagesink.c: (gst_ximagesink_chain),
(gst_ximagesink_buffer_free), (gst_ximagesink_buffer_alloc):
Fix for rename of buffer private structure members.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_chain),
(gst_xvimagesink_buffer_free), (gst_xvimagesink_buffer_alloc):
Fix for rename of buffer private structure members.
Original commit message from CVS:
* gst/effectv/gstaging.c: (gst_agingtv_get_type),
(gst_agingtv_base_init), (gst_agingtv_class_init),
(gst_agingtv_init), (gst_agingtv_setup), (gst_agingtv_rgb32),
(gst_agingtv_set_property), (gst_agingtv_get_property):
Port agingTV to videofilter
Original commit message from CVS:
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_connect):
Fix pad_link function to handle formats that ffmpeg returns
as multiple caps structures.
* gst/videofilter/gstvideofilter.c: (gst_videofilter_chain):
Only complain if source buffer is _smaller_ than expected.
* gst/videoscale/gstvideoscale.c: (gst_videoscale_init),
(gst_videoscale_handle_src_event): Resize navigation events
when passing them upstream.
* gst/videotestsrc/gstvideotestsrc.c:
* gst/videotestsrc/gstvideotestsrc.h:
* gst/videotestsrc/videotestsrc.c:
* gst/videotestsrc/videotestsrc.h:
Rewrite many of the buffer painting functions to handle odd
sizes (for many formats, size%4!=0 or size%8!=0). Most have
been verified to work with my video card.
* testsuite/gst-lint: Add check for elements calling
gst_pad_get_caps() instead of gst_pad_get_allowed_caps().
Original commit message from CVS:
2004-01-08 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/median/gstmedian.c: (gst_median_link), (gst_median_init):
Fix capsnego.
Original commit message from CVS:
2004-01-07 Ronald Bultje <rbultje@ronald.bitfreak.net>
* ext/audiofile/gstafsink.c: (gst_afsink_init), (gst_afsink_chain),
(gst_afsink_handle_event):
* ext/jpeg/gstjpegenc.c: (gst_jpegenc_init):
* gst/avi/gstavimux.c: (gst_avimux_request_new_pad):
* sys/dxr3/dxr3audiosink.c: (dxr3audiosink_init):
* sys/dxr3/dxr3spusink.c: (dxr3spusink_init):
* sys/dxr3/dxr3videosink.c: (dxr3videosink_init):
Fix for instantiate-test (see core). Also remove dead code from
jpegenc (which still needs fixing, but that's lower on my TODO
list...).
* sys/v4l2/gstv4l2src.c: (gst_v4l2src_getcaps):
Never return NULL as caps.
Original commit message from CVS:
2004-01-04 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/matroska/matroska-demux.c:
Fix EBML-laced block parsing. Diffs are relative to previous
lace, not the first lace. Thanks to Mosu from the Matroska
team for detecting this.
(gst_matroska_demux_parse_blockgroup):
* gst/wavparse/gstwavparse.c: (gst_wavparse_init),
(gst_wavparse_parse_fmt), (gst_wavparse_getcaps),
(gst_wavparse_handle_sink_event), (gst_wavparse_loop),
(gst_wavparse_change_state):
* gst/wavparse/gstwavparse.h:
Quickfix for capsnego.
Original commit message from CVS:
2004-01-04 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/wavenc/gstwavenc.c: (set_property), (gst_wavenc_init):
Fix indenting, fix pad creation.
Original commit message from CVS:
2004-01-04 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/matroska/matroska-demux.c: (gst_matroska_demux_src_getcaps),
(gst_matroska_demux_add_stream):
* gst/matroska/matroska-ids.h:
Add getcaps() function to fix capsnego...
Original commit message from CVS:
2004-01-03 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/rtp/rtp-packet.c:
Add sys/types.h include, since OS X doesn't define in_addr_t
in netinet/in.h, like it does on Linux (see #129600).
Original commit message from CVS:
2004-01-02 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/matroska/ebml-read.c: (gst_ebml_read_sint):
* gst/matroska/ebml-write.c: (gst_ebml_write_sint):
fix signed integer reading/writing.
Original commit message from CVS:
2004-01-01 Ronald Bultje <rbultje@ronald.bitfreak.net>
* configure.ac:
Fix configure check for mpeg2enc. We need 1.6.1.93 instead of
1.6.1.92, since the pkg-config file of 1.6.1.92 is borked and
it therefore uses the wrong include paths. Too bad... Note
that 1.6.1.93 is not release yet. ;).
Also add a check for mplex, which is now using the lib'ified
mplex from mjpegtools, too.
* ext/ffmpeg/gstffmpegcodecmap.c:
Add codec_tag for 3ivx/xvid. For xvid, this should fix playback
issues. I don't think ffmpeg handles 3ivx correctly, so this
probably won't work. But it won't hurt either.
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_connect),
(gst_ffmpegdec_chain):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_connect),
(gst_ffmpegenc_chain_audio):
Fix memleak in audio encoding. Close codec if open fails, this
calls the cleanup routines so we can re-use the context.
* ext/mpeg2enc/gstmpeg2enc.cc:
Fix pad template names/types, fix memory issue with getcaps().
* ext/mpeg2enc/gstmpeg2encoder.cc:
* ext/mpeg2enc/gstmpeg2encoder.hh:
Fix compile issue with new caps system (const thingy).
* ext/mpeg2enc/gstmpeg2encpicturereader.cc:
* ext/mpeg2enc/gstmpeg2encpicturereader.hh:
We read a first frame right on initing, so that we have a caps
when we init the output. This caps is cached in padprivate and
read as first frame.
* ext/mplex/Makefile.am:
* ext/mplex/gstmplex.cc:
* ext/mplex/gstmplex.h:
* ext/mplex/gstmplex.hh:
* ext/mplex/gstmplexibitstream.cc:
* ext/mplex/gstmplexibitstream.hh:
* ext/mplex/gstmplexjob.cc:
* ext/mplex/gstmplexjob.hh:
* ext/mplex/gstmplexoutputstream.cc:
* ext/mplex/gstmplexoutputstream.hh:
We wrap mjpegtools mplex. So I rewrote the plugin. The old plugin
had issues, didn't do capsnego, supported only a subset of the
mplex features and required a mplex fork in our local CVS. Plus
that it worked agaist a very old mplex version. Rewriting was
faster than updating it.
* gst-libs/ext/Makefile.am:
* gst-libs/ext/mplex/INSTRUCT:
* gst-libs/ext/mplex/Makefile.am:
* gst-libs/ext/mplex/README:
* gst-libs/ext/mplex/TODO:
* gst-libs/ext/mplex/ac3strm_in.cc:
* gst-libs/ext/mplex/audiostrm.hh:
* gst-libs/ext/mplex/audiostrm_out.cc:
* gst-libs/ext/mplex/aunit.hh:
* gst-libs/ext/mplex/bits.cc:
* gst-libs/ext/mplex/bits.hh:
* gst-libs/ext/mplex/buffer.cc:
* gst-libs/ext/mplex/buffer.hh:
* gst-libs/ext/mplex/fastintfns.h:
* gst-libs/ext/mplex/format_codes.h:
* gst-libs/ext/mplex/inputstrm.cc:
* gst-libs/ext/mplex/inputstrm.hh:
* gst-libs/ext/mplex/lpcmstrm_in.cc:
* gst-libs/ext/mplex/mjpeg_logging.cc:
* gst-libs/ext/mplex/mjpeg_logging.h:
* gst-libs/ext/mplex/mjpeg_types.h:
* gst-libs/ext/mplex/mpastrm_in.cc:
* gst-libs/ext/mplex/mpegconsts.cc:
* gst-libs/ext/mplex/mpegconsts.h:
* gst-libs/ext/mplex/mplexconsts.hh:
* gst-libs/ext/mplex/multplex.cc:
* gst-libs/ext/mplex/outputstream.hh:
* gst-libs/ext/mplex/padstrm.cc:
* gst-libs/ext/mplex/padstrm.hh:
* gst-libs/ext/mplex/stillsstream.cc:
* gst-libs/ext/mplex/stillsstream.hh:
* gst-libs/ext/mplex/systems.cc:
* gst-libs/ext/mplex/systems.hh:
* gst-libs/ext/mplex/vector.cc:
* gst-libs/ext/mplex/vector.hh:
* gst-libs/ext/mplex/videostrm.hh:
* gst-libs/ext/mplex/videostrm_in.cc:
* gst-libs/ext/mplex/videostrm_out.cc:
* gst-libs/ext/mplex/yuv4mpeg.cc:
* gst-libs/ext/mplex/yuv4mpeg.h:
* gst-libs/ext/mplex/yuv4mpeg_intern.h:
* gst-libs/ext/mplex/yuv4mpeg_ratio.cc:
We don't fork mjpegtools' mplex in our CVS anymore.
* gst/avi/gstavidemux.c: (gst_avi_demux_src_getcaps),
(gst_avi_demux_add_stream):
* gst/avi/gstavidemux.h:
Add getcaps() function for proper caps nego. This makes some
parts of AVI playback/reading work.
* sys/ximage/ximagesink.c: (gst_ximagesink_sinkconnect):
Resize window on new capsnego. This is probably wrong, but
I'm still committing it because with current capsnego, the
first successfull capsnego is auto-fixated, therefore rounded
down to the lowest values in the caps. this results in a 16x16
XWindow that is not reized when real capsnego finishes.
Dave, I see more cases of this, do you know a proper solution?
* tools/gst-launch-ext.in:
Fix MPEG-4 AAC (Apple iPod/iTunes) file commandline.
Original commit message from CVS:
2003-12-22 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/qtdemux/qtdemux.c: (plugin_init):
qtdemux requires bytestream
Original commit message from CVS:
2003-12-21 Ronald Bultje <rbultje@ronald.bitfreak.net>
* configure.ac:
Improve mpeg2enc detection. This is for distributions that do
ship mjpegtools, but without mpeg2enc. Also does object check
for might there ever be ABI incompatibility.
* ext/mpeg2enc/gstmpeg2enc.cc:
Add Andrew as second maintainer (he's helping me), and also add
an error if no caps was set. This happens if I pull before capsnego
and that's something I should solve sometime else.
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_blockgroup):
Fix time parsing.
* gst/matroska/matroska-mux.c: (gst_matroska_mux_audio_pad_link),
(gst_matroska_mux_track_header):
Add caps to templates.
* gst/mpegaudioparse/gstmpegaudioparse.c: (mp3_sink_factory):
Add mpegversion=1 to prevent confusion with MPEG/AAC.
* gst/mpegstream/gstmpegdemux.c:
Remove layer since it causes warnings about unfixed caps.
* gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_get):
Fix obvious typo (we error out if caps were set, we should of
course error out if *no* caps were set).
* sys/oss/gstosselement.c: (gst_osselement_convert):
Fix format conversion, we confused bits/bytes.
* sys/oss/gstosselement.h:
Improve documentation for 'bps'.
* sys/v4l/TODO:
Remove stuff about plugins that need removing - this was done
ages ago.
* sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_init),
(gst_v4lmjpegsrc_src_convert), (gst_v4lmjpegsrc_src_query):
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_init), (gst_v4lsrc_src_convert),
(gst_v4lsrc_src_query):
* sys/v4l2/gstv4l2src.c: (gst_v4l2src_init),
(gst_v4l2src_src_convert), (gst_v4l2src_src_query):
Add get_query_types(), get_formats() and query() functions.
Original commit message from CVS:
Sorry Dave... Add mpegversion=1 to mp3 caps everywhere so that the autoplugger uses mad and not faad for mp3 decoding. This should fix mp3 playback.
Original commit message from CVS:
Riff, EBML, fourcc etc. work. Not fully finished, but better than
what we used to have and definately worth a first broad testing.
I've revived rifflib. Rifflib used to be a bytestream-for-riff, which
just dup'ed bytestream. I've rewritten rifflib to be a modern riff-
chunk parser that uses bytestream fully, plus adds some extra functions
so that riff file parsing becomes extremely easy. It also contains some
small usability functions for strh/strf and metadata parsing. Note that
it doesn't use the new tagging yet, that's a TODO.
Avidemux has been rewritten to use this. I think we all agreed that
avidemux was pretty much a big mess, which is because it used all
sort of bytestream magic all around the place. It was just ugly.
This is a lot nicer, very complete and safe. I think this is far more
robust than what the old avidemux could ever have been. Of course, it
might contain bugs, please let me know.
EBML writing has also been implemented. This is useful for matroska.
I'm intending to modify avidemux (with a riffwriter) similarly. Maybe
I'll change wavparse/-enc too to use rifflib.
Lastly, several plugins have been modified to use rifflib's fourcc
parsing instead of their own. this puts fourcc parsing in one central
place, which should make it a lot simpler to add new fourccs. We might
want to move this to its own lib instead of rifflib.
Enjoy!
Original commit message from CVS:
tagging stuff and build fixes. In detail:
- make gdk-pixbuf loader work when distchecking
- fix invalid syntax in ffmpeg Makefile. wildcards for EXTRA_DIST are not allowed. This broke builds where distdir != srcdir
- fix ffmpeg cvs grabbing when srcdir != distdir
- new id3tag plugin for id3 tag reading/writing (uses mad's libid3tag)
- mad and libid3tag require mad/libid3tag v0.15. Fixed configure to require that
- added ogg demuxer in ext/ogg. The demuxer does not handle events yet. Especially getting seeking right will require some effort or code copying from libvorbis.
- added raw vorbis detection to typefinding. oggdemux requires a typefind function to detect its contents.
- tags plugin in gst/tags. Provides API in <gst/tags/gsttagediting.h>. API includes tag matching GStreamer <=> ID3 and GStreamer <=> vorbis and writing/reading vorbiscomments or ID3v1 tags. Also included is a simple vorbiscomment reader/writer. Writing will not really work though until someone writes oggmux.
- various build fixes. Mostly missing (DIST)CLEANFILES.
- vorbisenc handles tag writing.
Now it's YOUR turn to fix and write more plugins that handle writing/reading of tags. :)
Original commit message from CVS:
Remove all config.h includes from header files, add it to each source file and remove duplicate config.h includes from several source files
Original commit message from CVS:
Remove all config.h includes from header files, add it to each source file and remove duplicate config.h includes from several source files
Original commit message from CVS:
Add a local copy of riff.h as we don't use rifflib anymore.
Rewrite the main loop to use bytestreams instead of rifflib. Make it a loopbased
filter.
Handle metadata, cues and labels as well
Original commit message from CVS:
merge TYPEFIND branch. Major changes:
- totally reworked type(find) system
- all typefind functions are in gst/typefind now
- more typefind functions then before
- some plugins might fail to compile now because I don't have them installed and they
a) require bytestream or
b) haven't had their typefind fixed.
Please fix those plugins and put the typefind functions into gst/typefind if they don't have dependencies
Original commit message from CVS:
Add a parser for metadata
(demux_metadata): Given the buffer containing the metadata, look through it and
get the info out of it.
(wav_new_chunk_callback): Change the if statement to a switch statement.
Handle GST_RIFF_TAG_LIST by changing what the type of list it is and parsing out
metadata if it is "INFO".
Original commit message from CVS:
New typefind system:
* bytestream is now part of the core
* all plugins have been modified to use this new typefind system
* asf typefinding added
* mpeg video stream typefiding removed because it's broken
* duplicate typefind entries removed
* extra id3 typefinding added, because we've seen 4 types of files
(riff/wav, flac, vorbis, mp3) with id3 headers and each of these needs
to work. Instead, I've added an id3 element and let it redo typefiding
after the id3 header. this needs a hack because spider only typefinds
once. We can remove this hack once spider supports multiple typefinds.
* with all this, mp3 typefinding is semi-rewritten
* id3 typefinding in flac/vorbis is removed, it's no longer needed
* fixed spider and gst-typefind to use this, too.
* Other general cleanups
Original commit message from CVS:
Set keyframe flag only when it is a keyframe. This will break quite some formats because many encoders dont set this flag correctly, but I'll fix that as I encounter them. divx5 works correctly now. ;).
Original commit message from CVS:
In the intfloat conversion elements, there were bugs when the float buffer was
bigger than the int buffer (in frames). That's now fixed, some style issues are
"fixed" (subjectively), mallocs are removed from int2float's processing loop,
and the default buffer size was raised to 256 frames to give better performance in
the default case.
Wavenc was modified to not set an event handler on its sink pad. It deals
with EOS in its chain function instead.
Original commit message from CVS:
Fix padding (2 bytes instead of 4), improve index offset calculation, fix some minor other issues and make avimux actually work with mp3 audio
Original commit message from CVS:
Fixes to make it compile without GNOME, and with a modern (>= 0.3)
version of GStreamer. Now that I got it compiled, I want to delete
it.
Original commit message from CVS:
Added #include of config.h so that they symbol "VERSION" could be found.
Also removed GST_CAT_EVENT from a GST_DEBUG line to reflect recent changes
in the debug logic. Now this plugin compiles.
Original commit message from CVS:
New mimetypes gone into effect today - this commit changes all old mimetypes over to the new mimetypes spec as described in the previous commit's document. Note: some plugins will break, some pipelines will break, expect HEAD to be broken or at least not 100% working for a few days, but don't forget to report bugs
Original commit message from CVS:
compatibility fix for new GST_DEBUG stuff.
Includes fixes for missing includes for config.h and unistd.h
I only ensured for plugins I can build that they work, so if some of them are still broken, you gotta fix them yourselves unfortunately.
Original commit message from CVS:
compatibility fix for new GST_DEBUG stuff.
Includes fixes for missing includes for config.h and unistd.h
I only ensured for plugins I can build that they work, so if some of them are still broken, you gotta fix them yourselves unfortunately.
Original commit message from CVS:
This adds width/height properties to qtdemux, so that it connects to ffdec_*... still doesn't work, because the buffer allocation in ffdec_ allocs too small buffers (edge emulation failure or so?), which causes a segfault. I'm working on that
Original commit message from CVS:
Handle compressed headers. Fix inappropriate use of bytestream_flush().
Code cleanup. Added getcaps and _link functions for src pads. Extract
and set the size,rate,channels correctly. Fix some of the caps to
agree with avidemux and/or ffmpeg.
Original commit message from CVS:
Actually push the event over to the next element instead of leaving it into eternity - thanks for Joshua for detecting
Original commit message from CVS:
Fix avimux (somewhat). Note: the EOS event still doesn't get through. This is completely braindead, I have no clue why, but setting this thing to PAUSE should do the trick too. EOS fix will come later on...
Original commit message from CVS:
Made the SWAP and PREPARE_3D_LINE macros work with gints rather than
using typeof(), since typeof() is a gcc-extension and does not work
with other compilers. This is okay since every place these macros
are used, gints are passed in. I renamed SWAP to SWAP_INT to reflect
that it is not so generic.
Original commit message from CVS:
Corrected the configure.ac so it actually works. Updated some c files
so that they build on Solaris. This mostly involved supporting ISO
style variable-argument macros.
Original commit message from CVS:
Updated autogen.sh/configure.ac and various Makefiles to make the
configure script set up all gcc specific compiler arguments, rather
than hardcoding them in the Makefile.am files
Original commit message from CVS:
Fix typo (incorrect pointer dereference). Change the magic number
for little-endian streams to match with /etc/magic.
Original commit message from CVS:
bugfixes:
- seek correctly on SEEK_METHOD_END
- don't emit a warning when mp3's in wav's have no width information
- use BYTES format on discontinuous events and omit timestamp when invalid (mp3 anyone?)
Original commit message from CVS:
fixes to wavparse:
- endianness is G_LITTLE_ENDIAN and not G_BYTE_ORDER
- support the law formats
- error out on unknown format, don't try to go on (fixes#110516)
- check buffer size before typefinding
Original commit message from CVS:
- new avi demuxer doesn't use a recursive infinite loop anymore
- removed temporary riff.[ch] files
- removed aviparse from build
Original commit message from CVS:
Handle JUNK and dmlh tags and when we find a broken/unknown chunk, just move to the next byte and try to see if it's a known chunk
Original commit message from CVS:
another batch of connect->link fixes
please let me know about issues
and please refrain of making them yourself, so that I don't spend double
the time resolving conflicts
Original commit message from CVS:
(1) Caps nego are now dynamic, the Application developer now have choices: udp, tcp & none.
(2) Broadcast flag set to true on all the udp sockets.
Original commit message from CVS:
Make it loopbased and use only one video and one audio pad. framerate is also no longer a property but is requested from the source pad
Original commit message from CVS:
- reimplemented using organic masks, rendered with gouraud shaded triangles
- implemented more masks
- implemented adjustable border
Original commit message from CVS:
qtdemux.c:315: warning: implicit declaration of function `free'
qtdemux.c:331: warning: implicit declaration of function `malloc'
Original commit message from CVS:
Separate the movi processing loop from the index/entry parsing loop
Detect when the index starts from 0 or from the movi chunck offset
Original commit message from CVS:
add ranks only for plugins who participate in autoplugging. If you have a file that used to autoplug but doesn't anymore, then let me know or add a rank to the missing element.
Original commit message from CVS:
- Changed plugins for new APIs
- modularized audiofile.
- added seeking, query and convert functions for mad, mpeg2dec,
avidemux, mpegdemux, mpegparse
- sync updates to oss. removed the ossclock for now
Original commit message from CVS:
adding new quicktime parser:
- openquicktime free (hense gst/qtdemux)
- no more seeks for parsing -> better for network streams
- uses GstByteStream
- less memcpy's
- long ChangeLog record in pompous style
Original commit message from CVS:
use audio/x-wav instead of audio/wav. I don't know if we have a policy of matching GStreamer types with official mime types, but I figure it can't hurt.
Original commit message from CVS:
* a hack to work around intltool's brokenness
* a current check for mpeg2dec
* details->klass reorganizations
* an element browser that uses details->klass
* separated cdxa parse out from the avi directory
Original commit message from CVS:
* a hack to work around intltool's brokenness
* a current check for mpeg2dec
* details->klass reorganizations
* an element browser that uses details->klass
* separated cdxa parse out from the avi directory
Original commit message from CVS:
fixed rest of warning for gcc 3 in /gst.
fixed some Makefiles: s/-m486/-mcpu=i486/
disabled mpegaudioparse plugin. What good is this rotten code for anyway?
Original commit message from CVS:
* removal of //-style comments
* don't link plugins to core libs -- the versioning is done internally to the plugins with the plugin_info struct,
and symbol resolution is lazy, so we can always know if a plugin can be loaded by the plugin_info data. in theory.
Original commit message from CVS:
* removal of //-style comments
* don't link plugins to core libs -- the versioning is done internally to the plugins with the plugin_info struct,
and symbol resolution is lazy, so we can always know if a plugin can be loaded by the plugin_info data. in theory.
Original commit message from CVS:
s/@GST_PLUGIN_LDFLAGS@/$(GST_PLUGIN_LDFLAGS)/
@-substitued variables variables are defined as make variables automagically,
and this gives the user the freedom to say make GST_PLUGIN_LDFLAGS=-myflag
Original commit message from CVS:
WARNING: avimux is still broken, but less broken than it used to be... Code is under heavy development and will work sooner or later... Uploaded for generic development and testing purposes, not intended for generic use whatsoever
Original commit message from CVS:
made changes everywhere to accomodate for the headers being in
<gst/(lib)/...>
we'll need to conclude this fast because we will also need to change stuff in core real soon for the libs in order to fix everything
and I can't do it right now because I disabled all of the plugins here ;)