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.
Original commit message from CVS:
* gst-libs/gst/rtp/gstrtpbuffer.c:
(gst_rtp_buffer_default_clock_rate):
* gst-libs/gst/rtp/gstrtpbuffer.h:
Fix fixed payload names and docs.
Added method to get the default clock rates of fixed payload types.
API: GstRTPBuffer::gst_rtp_buffer_default_clock_rate()
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c: (slave_method_get_type),
(gst_base_audio_sink_class_init), (gst_base_audio_sink_init),
(gst_base_audio_sink_query), (gst_base_audio_sink_get_time),
(gst_base_audio_sink_set_property),
(gst_base_audio_sink_get_property), (gst_base_audio_sink_event),
(clock_convert_external), (gst_base_audio_sink_resample_slaving),
(gst_base_audio_sink_skew_slaving),
(gst_base_audio_sink_handle_slaving), (gst_base_audio_sink_render),
(gst_base_audio_sink_async_play):
* gst-libs/gst/audio/gstbaseaudiosink.h:
Store private stuff in GstBaseAudioSinkPrivate.
Add configurable clock slaving modes property.
API:: GstBaseAudioSink::slave-method property
Some more latency reporting tweaks.
Added skew based clock slaving correction and make it the default until
the resampling method is more robust.
Original commit message from CVS:
* gst/audioconvert/audioconvert.c:
Add docs to the integer pack functions and implement proper
rounding. Before we had rounding towards negative infinity, i.e.
always the smaller number was taken. Now we use natural rounding,
i.e. rounding to the nearest integer and to the one with the largest
absolute value for X.5. The old rounding introduced some minor
distortions. Fixes#420079
* tests/check/elements/audioconvert.c: (GST_START_TEST):
Fix one unit test that assumed the old rounding and added unit tests
for checking signed/unsigned int16 <-> signed/unsigned int16 with
depth 8, one for signed int16 <-> unsigned int16 and one for the new
rounding from signed int32 to signed/unsigned int16.
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c: (strip_width_64),
(gst_audio_convert_transform_caps):
Fix typo in debug line introduced recently, as pointed out on irc.
Original commit message from CVS:
* gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add):
* tests/check/libs/tag.c: (GST_START_TEST):
Make sure we parse floating-point numbers in vorbis comments
correctly with either '.' or ',' as separator, no matter what
the current locale is. Add unit test for this too.
Original commit message from CVS:
Patch by: René Stadler <mail at renestadler de>
* gst-libs/gst/tag/gstvorbistag.c: (gst_tag_to_vorbis_comments):
When writing out floating-point numbers to vorbis comment tags, always
use the same character as separator no matter what the current locale is
(fixes#423051).
* tests/check/libs/tag.c: (GST_START_TEST):
Add unit tests for replaygain tags in vorbis comments (closes#423055).
Original commit message from CVS:
* ext/vorbis/vorbisdec.c (vorbis_dec_push_forward,
vorbis_handle_data_packet):
Correctly set DURATION to generate a timestamp-continuous stream.
One bug left at the end; see
ihttp://bugzilla.gnome.org/show_bug.cgi?id=423086
* tests/check/Makefile.am:
* tests/check/pipelines/vorbisenc.c (GST_START_TEST):
Add a test to check this. Without the above patch this test fails.
Original commit message from CVS:
* gst/videorate/gstvideorate.c: (gst_video_rate_setcaps),
(gst_video_rate_reset), (gst_video_rate_chain):
If videorate changes caps, we can no longer use the old buffer
(which may have a different size, incompatible with our caps).
So don't do that; just duplicate the new frame more times.
Original commit message from CVS:
* gst/playback/gstplaybin.c: (gst_play_bin_class_init):
Remove playbin's override of the set_clock vmethod. It's irrelevant
after Wim's commit on the 19th.
Original commit message from CVS:
Patch by: Young-Ho Cha <ganadist at chollian net>
* gst/subparse/samiparse.c: (handle_start_font):
Special-case some more colour names that pango doesn't handle by
default. Fixes#420578.
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_chain):
If we get a zero-sized input buffer, don't pass it to libvorbis, as
that marks EOS internally. After that, libvorbis will buffer all
input data, and encode none of it, eventually leading to memory
exhaustion.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (remove_fakesink):
Don't post STATE_DIRTY anymore.
* gst/playback/gstplaybin.c: (add_sink), (gst_play_bin_send_event),
(gst_play_bin_change_state):
Remove stream_time reset in seek handling, core does that now.
Disable clocking for live pipelines by forcing a NULL clock to the
complete pipeline, core is too smart now for our previous hack.
We can always autoplug in PAUSED now.
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c: (make_lossless_changes),
(strip_width_64), (append_with_other_format):
Previous fix was too simplistic, and broke the tests. Use a better
approach; only strip 64 from widths for integer audio.
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c: (make_lossless_changes),
(gst_audio_convert_transform_caps):
We don't support 64 bit integer audio, so don't try to claim we can.
Stops us producing caps don't match our template caps.
Update comments.
Original commit message from CVS:
* gst/audioresample/gstaudioresample.c:
(audioresample_check_discont), (audioresample_transform):
Don't trigger discontinuities for very small imperfections; a filter
flush will sound bad, and many plugins have rounding errors leading
to these.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
* gst-libs/gst/rtp/gstbasertpaudiopayload.h:
Add min-ptime property to RTP base audio payloader. Patch by
olivier.crete@collabora.co.uk.
Fixes#415001
Indentation/whitespace/documentation fixes.
Original commit message from CVS:
* gst/audioresample/debug.h:
* gst/audioresample/resample.c: (resample_init):
Since I really am not interested in a debug line for each sample
being processed, move the library's debugging to its own category,
libaudioresample
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_handle_type_packet):
Since the plugin doesn't support anything other than 4:2:0 right
now, post an error and fail if we get something else. Won't matter
until libtheora supports the other pixel formats, but hopefully
that'll be soon...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:(gst_base_audio_sink_render):
Use gst_guint64_to_gdouble for conversion.
* win32/MANIFEST:
Add new files to the win32 MANIFEST.
* win32/common/libgstaudio.def:
* win32/common/libgstpbutils.def:
Add new exported functions.
* win32/vs6/gst_plugins_base.dsw:
* win32/vs6/libgstdecodebin.dsp:
* win32/vs6/libgstplaybin.dsp:
Change the link to libgstpbutils.lib.
* win32/vs6/libgstdecodebin2.dsp:
Add a new project for decodebin2.
* win32/vs6/libgstpbutils.dsp:
Add a new project for pbutils.
Original commit message from CVS:
* gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add):
Also accept partial dates with only year and month,
like 1999-12-00 (fixes#410396 even more).
* tests/check/libs/tag.c: (GST_START_TEST):
Add unit test for the above.
Original commit message from CVS:
* tests/check/elements/subparse.c: (GST_START_TEST),
(subparse_suite):
Add unit test for MPL2 subtitle format (#413799).
Original commit message from CVS:
* ext/pango/gsttextoverlay.c: (gst_text_overlay_text_event),
(gst_text_overlay_video_event):
Some more logging. Only accept newsegment events in TIME format and
send a WARNING message if they are not in TIME format.
* gst/subparse/gstsubparse.c: (gst_sub_parse_dispose),
(gst_sub_parse_init), (gst_sub_parse_src_event), (handle_buffer),
(gst_sub_parse_chain), (gst_sub_parse_sink_event):
* gst/subparse/gstsubparse.h:
No need to allocate GstSegment structure dynamically, just put it
into the instance structure; ignore newsegment events in BYTE
format and in particular don't let it overwrite our saved TIME
segment from the last seek.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (ac3_type_find):
Replace AC3 typefinder with one that isn't terrible, and actually
works usefully.
Original commit message from CVS:
* pkgconfig/gstreamer-plugins-base-uninstalled.pc.in:
* pkgconfig/gstreamer-plugins-base.pc.in:
Fix up utils => pbutils here too.
Original commit message from CVS:
* gst/subparse/gstsubparse.c: (handle_buffer):
Break out of loop in chain function as soon as possible if we get
a non-OK flow return.
Original commit message from CVS:
* tests/check/elements/alsa.c: (GST_START_TEST):
Unref the mixer if the state change fails too (if the
alsa devices are inaccessible, for example)
Original commit message from CVS:
* tests/check/Makefile.am:
Don't test libvisual elements in the states check, because libvisual
seems to leak internally.
Re-enable the alsa and states tests now that there's new suppressions
in gst.supp.
* tests/check/elements/alsa.c: (GST_START_TEST):
Don't leak the alsamixer we instantiated.
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_clear),
(gst_ximagesink_change_state), (gst_ximagesink_reset),
(gst_ximagesink_finalize):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_change_state),
(gst_xvimagesink_reset), (gst_xvimagesink_finalize):
Move some cleanup stuff from the state change handler into a _reset()
function that can be called from _finalize(). This ensures that things
get freed even if (for some reason) the NULL->READY state transition
fails in the parent class.
Even if a parent state change fails, process our downward state change
logic instead of bailing out early.
Free the correct xcontext pointer in ximagesink's xcontext_clear.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_open):
Extra log line.
* ext/pango/gstclockoverlay.c: (gst_clock_overlay_init):
* ext/pango/gsttimeoverlay.c: (gst_time_overlay_init):
Use pango_font_description_set_family_static instead of
pango_font_description_set_family to save a string copy (it was
leaking due to the strdup anyway)
* gst/tcp/gsttcpclientsink.c: (gst_tcp_client_sink_finalize):
* gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_finalize):
* gst/tcp/gsttcpserversink.c: (gst_tcp_server_sink_finalize):
* gst/tcp/gsttcpserversrc.c: (gst_tcp_server_src_finalize):
Chain up in finalize.
Original commit message from CVS:
* gst-libs/gst/interfaces/mixertrack.c:
(gst_mixer_track_class_init), (gst_mixer_track_get_property),
(gst_mixer_track_set_property):
API: add "untranslated-label" property which should be set by
implementations at construct time (#414645).
* ext/alsa/gstalsamixeroptions.c: (gst_alsa_mixer_options_new):
* ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_new):
Set "untranslated-label" when constructing mixer track objects.
* tests/check/elements/alsa.c: (GST_START_TEST), (alsa_suite):
Unit test to check the above.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_async_play):
Fix regression that made GStreamer skip the first samples of audio.
Fixes#414684.
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
* docs/plugins/inspect/plugin-decodebin2.xml:
* gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init):
Add documentation for decodebin2 that indicates that the API
is still unstable.
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiosink.c: (audioringbuffer_thread_func):
* gst-libs/gst/audio/gstaudiosrc.c: (audioringbuffer_thread_func):
Improve debugging.
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_query), (gst_base_audio_sink_event),
(gst_base_audio_sink_render), (gst_base_audio_sink_async_play):
Improve latency and clock slaving calculations.
Improve slave clock calibration.
* gst-libs/gst/audio/gstringbuffer.c:
(gst_ring_buffer_commit_full):
When we are asked to render N sample to 0 bytes, return N.
Original commit message from CVS:
Patch by: Ed Catmur <ed at catmur dot co dot uk>
* gst/playback/gstplaybin.c: (gst_play_bin_vis_unblocked),
(gst_play_bin_vis_blocked), (gst_play_bin_set_property):
Fix race condition when rapidly switching visualisations in playbin.
Fixes#401029.
Original commit message from CVS:
* tests/check/generic/states.c: (GST_START_TEST):
Copy the states.c test from core again
* tests/check/Makefile.am:
ignore cdio and cdparanoiasrc
Original commit message from CVS:
* gst/audioconvert/audioconvert.c: (float), (double), (float_hq),
(double_hq), (audio_convert_get_func_index), (check_default),
(audio_convert_prepare_context), (audio_convert_convert):
Also make valgrind happy and avoid copying data in some cases.
Original commit message from CVS:
* gst/audioconvert/audioconvert.c: (float), (double), (float_hq),
(double_hq), (audio_convert_get_func_index),
(audio_convert_prepare_context), (audio_convert_convert):
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_class_init), (gst_audio_convert_get_unit_size),
(gst_audio_convert_transform_caps):
* tests/check/elements/audioconvert.c: (GST_START_TEST),
(audioconvert_suite):
Don't run inplace if that overwrites source data as we go. Add more
tests. Fixes#339837 even more.
Original commit message from CVS:
2007-02-27 Julien MOUTTE <julien@moutte.net>
* tests/examples/seek/seek.c: (do_seek), (set_update_scale),
(msg_segment_done): Fix various seeking bugs (Slider was not
updating when doing a non flushing seek, Reverse playback
on segment seek was wrong).
Original commit message from CVS:
* tests/examples/seek/seek.c: (stop_seek):
When we stop scrubbing, don't leave the pipeline PLAYING when we
requested a PAUSED state.
Original commit message from CVS:
Patch by: René Stadler <mail at renestadler de>
* gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add):
Parse date strings in vorbis comments that have an invalid (zero)
month or day (#410396).
* tests/check/libs/tag.c: (GST_START_TEST):
Test case for the above.
Original commit message from CVS:
Patch by: Loïc Minier <lool+gnome at via ecp fr>
* configure.ac:
* ext/alsa/Makefile.am:
* gst/audiotestsrc/Makefile.am:
Fix compilation with LDFLAGS='-Wl,-z,defs' (#410963).
Original commit message from CVS:
* gst-libs/gst/utils/install-plugins.c:
* gst-libs/gst/utils/missing-plugins.c:
* tests/check/libs/utils.c: (missing_msg_check_getters):
Change GStreamer marker prefix in detail string from 'gstreamer.net'
to just 'gstreamer'. Document the caps string component of the
decoder/encoder detail a bit better, since not everyone will be
familiar with the GStreamer media type/caps system (but they better
enjoy nested itemized lists).