Original commit message from CVS:
* gst/ffmpegcolorspace/avcodec.h:
* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
(gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_caps_to_pixfmt),
(gst_ffmpegcsp_avpicture_fill):
* gst/ffmpegcolorspace/imgconvert.c: (img_convert),
(img_get_alpha_info):
Add 2 new pixel formats - ABGR32 and ARGB32, which are reflections
of the existing BGRA32 and RGBA32 formats with the alpha at the other
end of the word. Partially fixes#451908
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_sink_getcaps),
(gst_adder_request_new_pad):
Make getcaps more robust by not using the proxycaps function. This makes
sure that we don't end up recursively calling getcaps upstream.
See #316248.
Original commit message from CVS:
* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
(gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_caps_to_pixfmt):
Add a mapping for YUV format "IYU1", which is a 4:1:1 packed pixel
format, as produced by some dc1394 cameras like the iSight.
See http://www.fourcc.org/yuv.php#IYU1
Original commit message from CVS:
* gst/audioconvert/Makefile.am:
* gst/audioconvert/audioconvert.c: (audio_convert_get_func_index),
(check_default), (audio_convert_prepare_context),
(audio_convert_clean_context), (audio_convert_convert):
* gst/audioconvert/audioconvert.h:
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_dithering_get_type),
(gst_audio_convert_ns_get_type), (gst_audio_convert_class_init),
(gst_audio_convert_init), (gst_audio_convert_set_caps),
(gst_audio_convert_set_property), (gst_audio_convert_get_property):
* gst/audioconvert/gstaudioconvert.h:
* gst/audioconvert/gstaudioquantize.c:
(gst_audio_quantize_setup_noise_shaping),
(gst_audio_quantize_free_noise_shaping),
(gst_audio_quantize_setup_dither),
(gst_audio_quantize_free_dither),
(gst_audio_quantize_setup_quantize_func),
(gst_audio_quantize_setup), (gst_audio_quantize_free):
* gst/audioconvert/gstaudioquantize.h:
Implement dithering and noise shaping in audioconvert. By default now
TPDF dithering (and no noise shaping) will be used when converting
from a higher bit depth to 20 bit depth or smaller, otherwise
everything will be as it is now.
For the last audioconvert in a pipeline it would make sense to
use some kind of noise shaping, enabling it by default for all
conversions would give undesired results though. Fixes#360246.
* tests/check/elements/audioconvert.c: (setup_audioconvert),
(GST_START_TEST):
Adjust unit test for the new audioconvert.
Original commit message from CVS:
* gst/playback/gstqueue2.c: (apply_segment), (update_buffering):
Use other metrics as well when estimating the buffer level.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (make_decoder), (setup_source):
Small debug improvement.
* gst/playback/gstqueue2.c: (apply_segment), (update_buffering),
(plugin_init):
Tweak the rate estimation period.
When calculating the buffer filledness in rate estimation mode, don't
mix it with other metrics.
Original commit message from CVS:
* gst/playback/gstdecodebin2.c: (gst_decode_group_new),
(gst_decode_group_expose), (gst_decode_group_free), (add_fakesink):
When creating the groups, allow for a 5 second, unlimited buffers
preroll phase after which we expose the group.
When the group is exposed, use a small number of buffers up to a 2
second limit. Also disconnect the overrun signal from multiqueue when we
exposed the group because it is not needed anymore.
Original commit message from CVS:
* gst-libs/gst/tag/tags.c: (gst_tag_freeform_string_to_utf8):
Don't pass trailing zeroes in fixed-size string arrays in ID3v1 tags
to utf8-validate; fixes recognition of ID3v1 tags in UTF-8 encoding
(#451707); also, output some debugging info when dealing with
freeform strings.
* tests/check/libs/tag.c: (GST_START_TEST), (tag_suite):
Add unit test for the above.
Original commit message from CVS:
* gst-libs/gst/pbutils/descriptions.c: (caps_are_rtp_caps):
Add description for Windows Media RTP caps.
* gst-libs/gst/pbutils/missing-plugins.c: (copy_and_clean_caps):
Remove RTP fields that don't define the format from caps.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_dec_decode_buffer):
Skip empty buffers, but not empty header buffers. That way the original
vorbisdec unit test still passes (#451145); also, take into account
that those empty packets might carry a granulepos.
* tests/check/Makefile.am:
* tests/check/elements/vorbisdec.c:
(_create_codebook_header_buffer), (_create_audio_buffer),
(GST_START_TEST), (vorbisdec_suite):
Add unit test that sends an empty packet.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_dec_decode_buffer):
Don't error out on 0-sized packets, just emit a warning because this is
not a fatal error. Fixes#451145.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_find_chains):
The chain should be freed if we error out here, else it will leak.
* gst/playback/gstdecodebin.c: (disconnect_unlinked_signals),
(cleanup_decodebin):
Don't forget to *properly* remove the signals, else it will leak.
Original commit message from CVS:
* tests/examples/seek/seek.c: (update_scale), (play_cb), (stop_cb),
(main):
Destroy and recreate parse-launch based pipeline after stop to be able
to play again. Reorder some code and add more comments.
Original commit message from CVS:
* gst/playback/gstdecodebin2.c: (analyze_new_pad):
When handling a delayed-caps notification case, mark
the group as dynamic so that the nbdynamic count is
incremented and decremented correctly. Fixes: #449156
Patch by: Wim Taymans <wim@fluendo.com>
Original commit message from CVS:
2007-06-19 Andy Wingo <wingo@pobox.com>
* gst-libs/gst/audio/gstbaseaudiosink.c
(gst_base_audio_sink_init): Enable pull-mode operation.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
Change minimum rate back to 1000 to allow low-sample-rate wav files
to play back.
Original commit message from CVS:
* gst/videoscale/vs_4tap.c: (vs_image_scale_4tap_Y):
Update tmpbuf for all neccesary rows, not just one, as is required
when downscaling.
Fixes#402076.
Original commit message from CVS:
* tests/check/pipelines/oggmux.c: (validate_ogg_page), (is_video),
(eos_buffer_probe):
Add a test that ensures we set DELTA_UNIT on all non-header,
non-video buffers, if we have a video stream.
* ext/ogg/gstoggmux.c: (gst_ogg_mux_queue_pads),
(gst_ogg_mux_process_best_pad):
Move setting delta_pad to earlier, where we inspect all pads, so
that leading audio pages don't get DELTA_UNIT unset if they come
before the first DELTA_UNIT from video pages. Fixes the newly-added
test. Fixes#385527.
Original commit message from CVS:
* tests/check/pipelines/streamheader.c: (streamheader_suite):
Disable test_multifdsink_gdp_vorbisenc() on ppc64 since it
fails on the p5-ppc64 build bot and the failure looks like it is due
to the same issue as #348114, ie. a compiler bug.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet),
(gst_ogg_demux_perform_seek), (gst_ogg_demux_read_chain):
Fix compilation on mingw. Fixes#446972.
Original commit message from CVS:
Patches by: Thiago Sousa Santos <thiagossantos at gmail dot com>
* gst/playback/gstqueue2.c: (update_buffering),
(gst_queue_locked_enqueue):
Fix a division by zero when the max percent is <= 0. Fixes#446572.
also update the buffering status when receiving events. Fixes#446551.
Original commit message from CVS:
Based on patch by: Thiago Sousa Santos <thiagossantos at gmail dot com>
* gst/playback/gstqueue2.c: (gst_queue_peer_query),
(gst_queue_handle_src_query):
Wait for preroll before attempting to forward a duration query upstream.
Fixes#445505.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_set_gst_timestamp):
Use G_GINT64_CONSTANT macro for int64 constant.
* win32/common/libgstinterfaces.def:
* win32/common/libgsttag.def:
Add new exported functions.
Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_send_headers):
The BOS page of the first Dirac video stream needs to come before
the BOS page of any Vorbis streams or other audio streams, just like
it is with Theora.
Original commit message from CVS:
Patch by: Thiago Sousa Santos <thiagossantos at gmail dot com>
* gst/playback/gstqueue2.c: (gst_queue_init),
(gst_queue_handle_sink_event), (gst_queue_chain),
(gst_queue_get_range), (gst_queue_src_checkgetrange_function),
(gst_queue_sink_activate_push), (gst_queue_src_activate_push),
(gst_queue_src_activate_pull):
Add pull based scheduling and fix some deadlocks. Fixes#444523.
Does not yet completely work because duration queries upstream won't
block yet.
Original commit message from CVS:
Based on a patch by Sven Arvidsson <sa at whiz dot se>:
* gst/subparse/gstsubparse.c: (parse_subrip),
(subviewer_unescape_newlines), (parse_subviewer),
(gst_sub_parse_data_format_autodetect),
(gst_sub_parse_format_autodetect), (gst_subparse_type_find):
* gst/subparse/gstsubparse.h:
Add support for SubViewer version 1 and 2 subtitles. Fixes#394061.
* tests/check/elements/subparse.c: (GST_START_TEST),
(subparse_suite):
Add a unit test for both SubViewer formats.
Original commit message from CVS:
* gst/audiotestsrc/gstaudiotestsrc.c: (gst_audio_test_src_do_seek):
Don't overflow intermediate values when seeking to large time values
in audiotestsrc.
Original commit message from CVS:
* gst/playback/gstqueue2.c: (gst_queue_have_data),
(gst_queue_create_read), (gst_queue_read_item_from_file),
(gst_queue_open_temp_location_file), (gst_queue_locked_enqueue):
Include stdio to define fseeko.
Original commit message from CVS:
Patch by: Edward Hervey <edward@fluendo.com>
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_init), (gst_v4lsrc_fixate),
(gst_v4lsrc_query):
Make v4lsrc output segments in GST_FORMAT_TIME. Fixes#442553.
Original commit message from CVS:
* gst-libs/gst/riff/Makefile.am:
* gst-libs/gst/riff/riff-read.c: (gst_riff_parse_info):
Use gst_tag_utf8_from_freeform_string() from libgsttag instead of
our own implementation.
Original commit message from CVS:
* gst/playback/gsturidecodebin.c: (no_more_pads_full),
(new_decoded_pad), (remove_pads), (make_decoder), (setup_source),
(gst_uri_decode_bin_change_state):
Make sure we name srcpads uniquely even when using different internal
decodebins.
Signal no-more-pads when no more dynamic elements exist.
Remove pads on cleanup.
Original commit message from CVS:
* gst/playback/gstdecodebin2.c: (gst_decode_bin_factory_filter),
(analyze_new_pad), (connect_pad), (expose_pad), (caps_notify_cb),
(caps_notify_group_cb), (gst_decode_group_new),
(gst_decode_group_free):
Add support for delayed caps fixation when autoplugging.
Optimize cases where a multiqueue is not needed/wanted, like right after
anything that is not a demuxer.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_parse_skeleton_fisbone),
(gst_ogg_pad_submit_packet), (gst_ogg_demux_perform_seek),
(gst_ogg_demux_read_chain), (gst_ogg_demux_collect_chain_info):
consideratly speedup ogg chain detection by not trying to find a base
timestamp for skeleton streams.
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_client_status_get_type),
(gst_multi_fd_sink_class_init), (gst_multi_fd_sink_add_full),
(gst_multi_fd_sink_remove_flush),
(gst_multi_fd_sink_remove_client_link),
(gst_multi_fd_sink_handle_client_write),
(gst_multi_fd_sink_handle_clients):
* gst/tcp/gstmultifdsink.h:
Add support for remuve_flush.
Original commit message from CVS:
* docs/design/draft-keyframe-force.txt:
* ext/theora/theoraenc.c: (theora_enc_sink_event),
(theora_enc_chain):
Add draft design for forcing keyframes in encoders and implement in
theoraenc.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
In riff, the depth is stored in the size field but it just means that
the least significant bits are cleared. We can therefore just play
the sample as if it had a depth == width. Fixes: #440997
Patch by: Wim Taymans <wim@fluendo.com>
Patch by: Sebastian Dröge <slomo@circular-chaos.org>
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (queue_overrun),
(no_more_pads_full):
Stop buffering when the group is commited because the queues filled up.
Fixes#442024.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
After an interrupt (PAUSED/flush) assume that the next sample should not
be aligned to the previous sample. Fixes#417992.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
Don't add channels and rate fields to the template caps for
audio/x-dts, as wavparse might not always be able to set them,
which would then lead to 'caps are not a real subset of the
template caps' warnings.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (new_decoded_pad_full):
Handle unknown or invalid pads without crashing, as might occur if
a media file like an mp3 is specified as a subtitle file.
Fixes: #410039
Original commit message from CVS:
* gst/playback/gstplaybin.c: (add_sink), (dummy_blocked_cb),
(setup_sinks):
Block the subtitle bin output queue before ghosting it and linking,
then unblock after. This avoids spurious not-linked errors caused
by the queue starting up (because it gets linked when it is ghosted).
Fixes: #350299
Original commit message from CVS:
* tests/check/elements/playbin.c: (test_suburi_error_unknowntype):
Use /dev/zero instead of /dev/urandom to produce an invalid subtitle
file. Avoids flukes where the input gets typefound to some valid but
useless type.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/gnomevfssink.c: (setup_gnomevfssink),
(cleanup_gnomevfssink), (GST_START_TEST), (gnomevfssink_suite):
Add unit test for gnomevfssink seeking and position reporting for
file:// URIs.
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet be>
* ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_init),
(gst_gnome_vfs_sink_open_file), (gst_gnome_vfs_sink_handle_event),
(gst_gnome_vfs_sink_query), (gst_gnome_vfs_sink_render):
* ext/gnomevfs/gstgnomevfssink.h:
Fix position reporting, especially after a seek (from upstream),
see #412648.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
Specify the full valid range for MP3 samplerates. Fixes a regression
caused by extra header checks since the last release.
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_handle_xevents):
Fix a locking-order bug I introduced with my changes the other day.
Patch by Mike Smith.
Original commit message from CVS:
* ext/cdparanoia/gstcdparanoiasrc.c:
(gst_cd_paranoia_src_read_sector):
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_create):
Small cleanups.
* ext/theora/theoradec.c: (theora_dec_sink_event):
Fix typo.
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_set_gst_timestamp):
Add some FIXME
* gst/playback/gstdecodebin.c: (queue_underrun_cb):
And some debug info when a FIXME path is hit.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
(gst_base_rtp_audio_payload_class_init),
(gst_base_rtp_audio_payload_init),
(gst_base_rtp_audio_payload_finalize),
(gst_base_rtp_audio_payload_handle_frame_based_buffer),
(gst_base_rtp_audio_payload_handle_sample_based_buffer),
(gst_base_rtp_payload_audio_handle_event):
Some cleanups, remove minptime property as it is now in the parent
class.
Override parent class event function.
* gst-libs/gst/rtp/gstbasertppayload.c:
(gst_basertppayload_class_init), (gst_basertppayload_init),
(gst_basertppayload_event), (gst_basertppayload_set_property),
(gst_basertppayload_get_property):
* gst-libs/gst/rtp/gstbasertppayload.h:
Add min-ptime property.
Add handle-event vmethod. Fixes#415001.
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_ximage_put),
(gst_ximagesink_xwindow_new), (gst_ximagesink_handle_xevents),
(gst_ximagesink_show_frame):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_put),
(gst_xvimagesink_xwindow_new), (gst_xvimagesink_handle_xevents),
(gst_xvimagesink_show_frame):
When we create our own window, indicate that we handle the
WM_DELETE client message from the window manager, so that it won't
kill our window (and our app) along with it. Handle ClientMessage,
post an error on the bus, and close the window. Further buffers
arriving will result in a FlowError because the window has been
destroyed.
Fixes: #393975
Clean up the X event handling loop and make them the same for
both xvimagesink and ximagesink while I'm at it.
Original commit message from CVS:
* gst/playback/gstdecodebin2.c: (gst_decode_bin_factory_filter):
Make decodebin2 autoplug depayloaders too.
* gst/playback/gsturidecodebin.c: (source_new_pad):
Set the newly created decoder in a usable state when autoplugging a
dynamic source such as RTSP.
Original commit message from CVS:
* gst/playback/gststreaminfo.c: (cb_probe):
Ignore video-codec tag for audio streams and ignore audio-codec tags
for video streams. Should make codec name collection a bit more
robust against sloppy demuxers that send tag events containing both
tags down each pad.
Original commit message from CVS:
* gst/playback/gstqueue2.c: (update_rates):
Tweak the buffering thresholds a little.
Update the buffer size with the previously calculate rate instead of
only when we calculate a new rate so that we get smoother buffering
updates.
* gst/playback/Makefile.am:
* gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_base_init),
(gst_uri_decode_bin_class_init), (gst_uri_decode_bin_init),
(gst_uri_decode_bin_finalize), (gst_uri_decode_bin_set_property),
(gst_uri_decode_bin_get_property), (unknown_type),
(add_element_stream), (no_more_pads_full), (no_more_pads),
(source_no_more_pads), (new_decoded_pad), (array_has_value),
(gen_source_element), (has_all_raw_caps), (analyse_source),
(remove_decoders), (make_decoder), (remove_source),
(source_new_pad), (setup_source), (decoder_query_init),
(decoder_query_duration_fold), (decoder_query_duration_done),
(decoder_query_position_fold), (decoder_query_position_done),
(decoder_query_latency_fold), (decoder_query_latency_done),
(decoder_query_seeking_fold), (decoder_query_seeking_done),
(decoder_query_generic_fold), (gst_uri_decode_bin_query),
(gst_uri_decode_bin_change_state), (plugin_init):
New element that intergrates a source, optional buffering element and
decodebin.
Original commit message from CVS:
* configure.ac:
Bump libtheora requirement to 1.0alpha5 for the pixformat check
(also has a .pc file, so we don't need the fallback check any
longer). Fixes#438840.
Original commit message from CVS:
* gst/playback/Makefile.am:
* gst/playback/gstqueue2.c: (gst_queue_get_type),
(gst_queue_class_init), (gst_queue_init), (gst_queue_finalize),
(gst_queue_getcaps), (gst_queue_bufferalloc),
(gst_queue_acceptcaps), (update_time_level), (apply_segment),
(apply_buffer), (update_buffering), (reset_rate_timer),
(update_rates), (gst_queue_locked_flush),
(gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
(gst_queue_handle_sink_event), (gst_queue_is_empty),
(gst_queue_is_filled), (gst_queue_chain), (gst_queue_push_one),
(gst_queue_loop), (gst_queue_handle_src_event),
(gst_queue_handle_src_query), (gst_queue_sink_activate_push),
(gst_queue_src_activate_push), (gst_queue_change_state),
(gst_queue_set_property), (gst_queue_get_property), (plugin_init):
On our way to playbin2 this is the new network queue that does buffering
all by itself using high and low watermarks. It can also measure up and
downstream bandwidth to optimally size the queue.
Original commit message from CVS:
* gst/audiotestsrc/gstaudiotestsrc.c: (gst_audio_test_src_do_seek):
* gst/videotestsrc/gstvideotestsrc.c: (gst_video_test_src_do_seek):
Use the segment->last_stop value to calculate the next timestamp to
generate after a seek; not the segment->start value.
Original commit message from CVS:
* docs/Makefile.am: Install docs even when --disable-gtk-doc
is disabled. This matches the behavior of gtk+. Fixes#349099.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet),
(gst_ogg_demux_perform_seek), (gst_ogg_demux_handle_page):
Some more chained streaming ogg timestamp fixes.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet),
(gst_ogg_demux_activate_chain), (gst_ogg_demux_perform_seek),
(gst_ogg_demux_handle_page):
Add some FIXMEs.
Fix chain start/stop segment handling based on patch by
<ahalda at cs dot mcgill dot ca> see #320984.
Original commit message from CVS:
* ext/alsa/gstalsamixer.c (source, n_poll_fds, poll_fds,
gst_alsa_mixer_check, gst_alsa_mixer_dispatch,
gst_alsa_mixer_finalize, gst_alsa_mixer_handle_source_callback,
gst_alsa_mixer_handle_callback, gst_alsa_mixer_elem_handle_callback,
gst_alsa_mixer_ensure_track_list, gst_alsa_mixer_update_option,
gst_alsa_mixer_update_track):
Apply some of the cleanup Tim suggested in #152864 afterwards.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_setcaps),
(gst_base_rtp_depayload_set_gst_timestamp):
Parse and use additional caps fields as described in updated
application/x-rtp caps spec.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet),
(gst_ogg_demux_collect_chain_info):
If there is a stream in a chain without any data packets, ignore the
stream in the total length calculations. Might be related to #436820.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mpeg_sys_is_valid_pack),
(mpeg_sys_is_valid_pes), (mpeg_sys_is_valid_sys),
(mpeg_sys_type_find), (mpeg_ts_type_find), (mpeg4_video_type_find),
(mpeg_video_type_find), (mpeg_video_stream_type_find),
(plugin_init):
Consolidate and re-work our mpeg system stream detection to probe
more packets and produce a higher confidence result. Fixes a
regression caused by lowering the typefind probability last year
- related to bug #397810. Remove the redundant MPEG-1 specific
typefind function, as the new one detects both MPEG-1 & MPEG-2
happily.
Also cleanup the MPEG elementary and MPEG-TS detection functions a
little.
Tested against my media test directory, with some improvements and
no regressions.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (fill_buffer), (check_queue),
(queue_out_of_data):
Connect to the new queue "pushing" signal instead of the broken
"running" one.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
(gst_base_rtp_audio_payload_handle_frame_based_buffer):
Move variable declaration before the first instruction.
* gst/videotestsrc/videotestsrc.c:
Define M_PI if it's not defined yet.
* win32/common/libgstrtp.def:
Add new exported functions.
Original commit message from CVS:
* tests/examples/seek/scrubby.c: (stop_cb), (main):
* tests/examples/seek/seek.c: (do_seek):
Some small cosmetic changes.
Original commit message from CVS:
* ext/theora/gsttheoradec.h:
* ext/theora/theoradec.c: (gst_theora_dec_reset),
(theora_dec_sink_event), (theora_handle_comment_packet),
(theora_handle_type_packet), (theora_dec_change_state):
Don't push events (newsegment, tags) before initialising the
decoder.
This is neccesary for seeking to work correctly in gnonlin.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/volume.c: (GST_START_TEST), (volume_suite):
Minimal check for volume's GstController usability; also another
test for #422295.
Original commit message from CVS:
* gst-libs/gst/cdda/gstcddabasesrc.c:
(gst_cdda_base_src_add_track):
Fix it so that it (a) makes sense and (b) doesn't break
everything cdda-related including the unit test.
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_ximage_new):
When XShm is not available, we might get row strides that are not
rounded up to multiples of four; this is bad, because virtually
every RGB-processing element in GStreamer assumes rowstrides are
rounded up to multiples of four, so let's allocate at least enough
memory to avoid crashes in this case. The image will still be
displayed distorted though if this happens, so that still needs
fixing (maybe by allocating a bigger image with an 'even' width
and then clipping it appropriately when rendering - something for
Xlib aficionados in any case).
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain):
If a buffer doesn't have a timestamp, assume it's contiguous with
the previous buffer, and synthesise timestamps appropriately.
Original commit message from CVS:
* tests/check/elements/videorate.c: (GST_START_TEST):
Set buffer timestamp to a valid value in order to test the buffer
really does stay in videorate.
Original commit message from CVS:
* gst/videorate/gstvideorate.c: (gst_video_rate_chain):
There is no sensible way to handle incoming buffers which don't have a
valid timestamp. We therefore discard them and wait for the next one.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (type_found), (plugin_init):
* gst/playback/gstdecodebin2.c: (plugin_init):
Better error message for text files.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c: (_do_init),
(gst_base_audio_src_create):
* po/POTFILES.in:
When posting a warning message because samples were dropped, post
something more intelligible than he default error message for clock
errors which is just confusing in this context (#432984).
Original commit message from CVS:
Patch by: Christian Kirbach <Christian dot Kirbach at googlemail com>
* sys/ximage/ximagesink.c:
Fix build if XShm is not available (#432362).
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_init):
Initalize the AudioConvertCtx with zeroes, otherwise it will contain
pointers to random memory which are passed to g_free() when
audio_convert_prepare_context() is called the first time.
Original commit message from CVS:
Patch by: Dan Williams <dcbw redhat com>
* gst/videorate/gstvideorate.c: (gst_video_rate_chain):
Don't leak incoming buffer if gst_pad_push() returns a
non-OK flow. Fixes#432755.
* tests/check/elements/videorate.c: (GST_START_TEST),
(videorate_suite):
Unit test for the above by Yours Truly.
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_setcaps), (gst_adder_src_event),
(gst_adder_sink_event), (gst_adder_collected):
Fix non-flushing segmented seeks, Fixes#340060 for me
Original commit message from CVS:
Patch by: Olivier Crete <tester at tester ca>
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
(gst_base_rtp_audio_payload_class_init),
(gst_base_rtp_audio_payload_init),
(gst_base_rtp_audio_payload_dispose):
Chain up to parent class in dispose function; get rid of
unnecessary 'diposed' flag in private structure (#415001).
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs.types:
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
(gst_base_rtp_audio_payload_class_init):
* gst-libs/gst/rtp/gstbasertpdepayload.c:
* gst-libs/gst/rtp/gstbasertppayload.c:
Some minor docs fixes and additions; also add missing 'Since' bits.
Original commit message from CVS:
Patch by: Zeeshan Ali <zeenix gmail com>
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
(gst_base_rtp_audio_payload_handle_frame_based_buffer),
(gst_base_rtp_audio_payload_handle_sample_based_buffer),
(gst_base_rtp_audio_payload_push):
* gst-libs/gst/rtp/gstbasertpaudiopayload.h:
The recently-added gst_base_rtp_audio_payload_push() should take an
object of type GstBaseRTPAudioPayload as first argument (#431672).
Original commit message from CVS:
* gst/subparse/gstsubparse.c:
* gst/subparse/samiparse.c:
Use GST_DISABLE_XML here
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_put),
(gst_xvimagesink_xwindow_new), (gst_xvimagesink_get_xv_support),
(gst_xvimagesink_buffer_alloc),
(gst_xvimagesink_navigation_send_event):
* sys/xvimage/xvimagesink.h:
Include stdlib.h when using atoi.
* tests/check/elements/playbin.c: (playbin_suite):
Use GST_DISABLE_REGISTRY here
Original commit message from CVS:
* ext/theora/gsttheoraenc.h:
* ext/theora/theoraenc.c: (theora_enc_sink_setcaps),
(theora_enc_sink_event), (theora_enc_change_state):
Track initialisation state; don't try to use encoder state if we're
not initialised (it'll segfault).
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
Allow random depths between 1 and 32 instead of only multiplies of 8.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
Set the maximum number of channels for PCM and float in the correct
place to have it also used when creating the template caps.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
Correctly support 4, 6 and 8 channels with normal PCM and float
wav files.
Fix the depth and signedness calculation in extensible wav files and
also handle 1, 2, 4, 6, 8 channels here when a file without channel
mask is found.
Add support for float, alaw and mulaw in extensible wav files.
This allows correct playback of all but 5 files from
http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/Samples.html
(gst_riff_create_audio_template_caps):
Add voxware and float formats to the template caps.
Original commit message from CVS:
Patch by: Vincent Torri <vtorri at univ-evry dot fr>
* ext/pango/gstclockoverlay.c: (gst_clock_overlay_render_time):
Fix unused variable warning if HAVE_LOCALTIME_R is undefinied
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
* gst/audioresample/gstaudioresample.c: (audioresample_do_output):
Use the correct format strings for integer formats.
Original commit message from CVS:
* ext/theora/theoraenc.c (theora_buffer_from_packet, theora_enc_chain):
Don't use pad_alloc_buffer_and_set_caps to create a small header
packet, or, worse, to create a big temporary video buffer using the
src pad.
Original commit message from CVS:
* gst/gdp/gstgdppay.c (gst_gdp_pay_chain):
* tests/check/pipelines/streamheader.c (tag_event_probe_cb,
GST_START_TEST, buffer_probe_cb, GST_START_TEST):
Fix a bug where serialized IN_CAPS buffers needed to be set IN_CAPS.
Original commit message from CVS:
* tests/check/pipelines/streamheader.c (tag_event_probe_cb,
GST_START_TEST, n_in_caps, buffer_probe_cb, GST_START_TEST,
streamheader_suite):
Add another test set up for failure
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/pipelines/streamheader.c (n_tags, tag_event_probe_cb,
GST_START_TEST, streamheader_suite, main):
Add a test for the streamheader bug Wim fixed.
Original commit message from CVS:
* gst-libs/gst/tag/tags.c: (gst_tag_freeform_string_to_utf8):
Try encodings from all environment variables, not just those in the
first environment variable that is set.
Original commit message from CVS:
* gst/videorate/gstvideorate.c: (gst_video_rate_setcaps),
(gst_video_rate_chain):
Add some debug.
* tests/check/elements/videorate.c: (GST_START_TEST),
(videorate_suite):
Added check for videorate changing caps handling. Closes#421834.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet):
Use scale functions to avoid overflow when calculating duration of
vorbis buffers.
Original commit message from CVS:
* gst/gdp/gstgdppay.c: (gst_gdp_pay_chain),
(gst_gdp_pay_sink_event):
Make sure we set the IN_CAPS flag correctly.
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_render):
Get the IN_CAPS flag before we call functions that mess with the flags.
Original commit message from CVS:
* gst/gdp/gstgdppay.c (gst_gdp_pay_reset_streamheader,
gst_gdp_pay_chain, gst_gdp_pay_sink_event):
Only stamp buffers with offset/offset_end right before they get
pushed. This ensures offset continuity, which was not the case
before as shown by
gst-launch -v -m audiotestsrc num-buffers=10 ! audioconvert ! vorbisenc ! gdppay ! identity check-imperfect-offset=TRUE ! fakesink silent=TRUE
Original commit message from CVS:
* gst/playback/gstplaybin.c: (add_sink),
(gst_play_bin_change_state):
Activate sync in playbin, we are ready to handle it for live streams.
Original commit message from CVS:
* tests/check/elements/playbin.c:
(test_sink_usage_video_only_stream), (playbin_suite):
Add small test for stream-info-value-array code paths.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_skew_slaving):
Don't try to create invalid calibration parameters by making the
internal time go backwards, instead make external time go forward.
Original commit message from CVS:
Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
* gst/playback/gstplaybasebin.c: (add_stream):
Fix leak in add_stream(), when g_value_set_object() increases the
refcount of streaminfo object. Fixes#426250.
Original commit message from CVS:
* gst/videotestsrc/gstvideotestsrc.c:
* gst/videotestsrc/gstvideotestsrc.h:
* gst/videotestsrc/videotestsrc.c:
* gst/videotestsrc/videotestsrc.h:
Add a test pattern called "circular", which has concentric
rings with varying radial frequency. The main purpose of this
pattern is to test fidelity loss in a filter or scaler element.
Notably, this pattern is scale invariant, and is optimally viewed
with a width (and height) of 400.
Original commit message from CVS:
Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
* gst/playback/gstdecodebin2.c: (connect_pad), (expose_pad),
(deactivate_free_recursive):
Decodebin2 doesn't unref pads it obtains in some occasions:
- multiqueue src pads, when either connecting further or exposing
- sink pads of new autoplugged elements
- peer pads when recursively freeing elements
Fixes#425455.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
Add audio/x-raw-float support, now that audioconvert support
non-native endianness floats.
Original commit message from CVS:
Patch by: René Stadler <mail at renestadler dot de>
with some minor changes
* gst-libs/gst/floatcast/floatcast.h:
Use more efficient float endianness conversion functions that don't
involve 2 function calls per value.
* gst/audioconvert/audioconvert.c: (audio_convert_get_func_index),
(check_default), (audio_convert_prepare_context):
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_parse_caps), (make_lossless_changes):
Support non-native endianness floats as input and output.
Fixes#339838.
* tests/check/elements/audioconvert.c: (verify_convert),
(GST_START_TEST):
Add unit tests for the non-native endianness float conversions.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_base_init),
(gst_base_rtp_depayload_class_init), (gst_base_rtp_depayload_init),
(gst_base_rtp_depayload_setcaps), (gst_base_rtp_depayload_chain),
(gst_base_rtp_depayload_set_gst_timestamp),
(gst_base_rtp_depayload_change_state),
(gst_base_rtp_depayload_set_property),
(gst_base_rtp_depayload_get_property):
* gst-libs/gst/rtp/gstbasertpdepayload.h:
Add Private structure.
Bring element code to 2007.
Parse clock-base caps param and use it when generating the
newsegment.
Reset variables before going to PAUSED.
Fix some docs.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
PCM samples with width=8 must be always unsigned, no matter what
depth they have.
Original commit message from CVS:
2007-03-29 Andy Wingo <wingo@pobox.com>
* gst/videorate/gstvideorate.c (gst_video_rate_flush_prev): Make
perfect offsets also, not just timestamps.
* tests/check/elements/videorate.c (test_more): Test that given
any incoming offsets, that videorate produces perfect offsets.