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).
Original commit message from CVS:
* gst-libs/gst/netbuffer/gstnetbuffer.c:
(notgst_buffer_copy_fields_in_place), (gst_netbuffer_copy):
Fix copying of GstNetBuffer (would crash before, or at least lead to
invalid memory access, #410772), for now by copying the GstBuffer copy
code from the core over here so we can copy the GstBuffer fields on a
provided buffer instance (of type GstNetBuffer in this case). Would be
better to fix this with some support by the core though (and in the long
run change the broken GstBuffer/GstMiniObject copy semantics, #393099).
* tests/check/Makefile.am:
Enable unit test for GstNetBuffer.
Original commit message from CVS:
2007-02-22 Andy Wingo <wingo@pobox.com>
* gst-libs/gst/audio/gstbaseaudiosink.c
(gst_base_audio_sink_init): Disable pull-mode activation until we
figure out how to make audio sinks go to PLAYING.
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/audioconvert.h:
* gst/audioconvert/gstchannelmix.c: (gst_channel_mix_setup_matrix),
(gst_channel_mix_mix_int), (gst_channel_mix_mix_float):
* gst/audioconvert/gstchannelmix.h:
* tests/check/elements/audioconvert.c: (GST_START_TEST):
Add float as an intermediate format, as well as float mixing. Enable
test that was failing before. Fixes#339837
Original commit message from CVS:
* tests/examples/seek/seek.c: (do_seek):
Undo the previous commit: -1 as a stop time implies that the stop
time is the end of file, clearing any previously configured segment.
Original commit message from CVS:
* gst/volume/gstvolume.c: (volume_process_int16),
(volume_process_int16_clamp), (volume_set_caps):
Unbreak volume, value remains gint.
Original commit message from CVS:
* gst/playback/gstdecodebin2.c: (gst_decode_bin_dispose),
(multi_queue_underrun_cb), (gst_decode_group_check_if_drained),
(sort_end_pads), (gst_decode_group_expose),
(gst_decode_group_hide):
Don't free groups from the streaming threads. Just put them aside and
free them in dispose.
Original commit message from CVS:
* gst/playback/gstdecodebin2.c: (connect_element),
(pad_added_group_cb), (gst_decode_group_check_if_blocked),
(sort_end_pads), (gst_decode_group_expose):
Handle dynamic pads within groups.
Sort pads before exposing them in order to make playbin happy.
There still is a race with the multiqueue filling up. This should be
solved separately.
Fixes#398721
Original commit message from CVS:
* gst-libs/gst/utils/base-utils.c:
* gst-libs/gst/utils/descriptions.c:
* gst-libs/gst/utils/install-plugins.c:
* gst-libs/gst/utils/missing-plugins.c:
Some more docs (and descriptions for two subtitle formats).
Original commit message from CVS:
* sys/ximage/ximagesink.c:
(gst_ximagesink_calculate_pixel_aspect_ratio):
* sys/xvimage/xvimagesink.c:
(gst_xvimagesink_calculate_pixel_aspect_ratio):
Small constifications.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_reset):
Ignore errors in reset, these are not fatal. They also grab the element
lock which is already taking when this function is called. Fixes
#405451.
Original commit message from CVS:
Patch by: René Stadler <mail at renestadler de>
* gst-libs/gst/tag/gstvorbistag.c:
Add vorbis/FLAC-tag mapping for new GST_TAG_REFERENCE_LEVEL
(#403597).
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (setup_source):
When we have external subtitles and wait for the subtitle decodebin
to get up and running, we set up a (sync) bus handler for the
subtitle decodebin, so we can stop waiting when it posts an error
message. However, we should do that before we set the subtitle
decodebin's state to playing, otherwise things are racy and we might
miss error messages posted before we had a chance to set up the bus.
This should finally fix totem hanging on .txt pseudo-subtitle files.
Original commit message from CVS:
* gst/subparse/gstsubparse.c: (subrip_remove_unhandled_tag),
(subrip_remove_unhandled_tags), (parse_subrip):
For SubRip (.srt) subtitles, ignore all markup tags we don't
handle (like font tags, for example).
* tests/check/elements/subparse.c:
Add test for this.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (add_fakesink),
(gst_decode_bin_change_state):
* gst/playback/gstdecodebin2.c: (add_fakesink),
(gst_decode_bin_change_state):
Don't error out if there is no fakesink in the READY to NULL state
change, since when decodebin is re-used, we're only adding the
fakesink element in READY to PAUSED.
* tests/check/elements/decodebin.c:
(new_decoded_pad_plug_fakesink_cb), (GST_START_TEST),
(decodebin_suite):
Minimal unit test to make sure we can use the same decodebin
instance twice (at least with audiotestsrc input).
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_find_device_name):
Try to get devic-name from device string first, and from handle only
as fallback (seems to yield better results and is more robust
against buggy probing code on the application side).
Original commit message from CVS:
Based on patch by: Julien Puydt <julien.puydt at laposte net>
* ext/alsa/gstalsa.c: (gst_alsa_find_device_name_no_handle),
(gst_alsa_find_device_name):
* ext/alsa/gstalsa.h:
* ext/alsa/gstalsasink.c: (gst_alsasink_get_property):
* ext/alsa/gstalsasrc.c: (gst_alsasrc_get_property):
Improve device-name detection a bit, especially in the case where
the device is not actually open (#405020, #405024). Move common code
into gstalsa.c instead of duplicating it.
Original commit message from CVS:
2007-02-06 Julien MOUTTE <julien@moutte.net>
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_handle_xevents),
(gst_xvimagesink_get_xv_support),
(gst_xvimagesink_xcontext_clear),
(gst_xvimagesink_interface_supported),
(gst_xvimagesink_probe_get_properties),
(gst_xvimagesink_probe_probe_property),
(gst_xvimagesink_probe_needs_probe),
(gst_xvimagesink_probe_get_values),
(gst_xvimagesink_property_probe_interface_init),
(gst_xvimagesink_set_property), (gst_xvimagesink_get_property),
(gst_xvimagesink_init), (gst_xvimagesink_class_init),
(gst_xvimagesink_get_type):
* sys/xvimage/xvimagesink.h: Implement PropertyProbe Interface
for XVAdaptors so that one can choose the adaptor to use with
gstreamer-properties.
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiofilter.c:
(gst_audio_filter_class_init), (gst_audio_filter_change_state):
Clear our formats structure and free the caps contained in it when
shutting down.
Original commit message from CVS:
2007-02-05 Andy Wingo <wingo@pobox.com>
* gst-libs/gst/audio/gstbaseaudiosink.c
(gst_base_audio_sink_callback): Update basesink->offset so that we
pull monotonically increasing offsets instead of, um, seeking back
to 0 each time. Fixes alsasrc ! alsasink!
Original commit message from CVS:
* gst/videoscale/gstvideoscale.c:
A width and height of 1 makes us crash, so increase minimum size to
2x2 pixels until someone feels like fixing this (#404512).
Original commit message from CVS:
* tests/check/pipelines/oggmux.c: (GST_START_TEST), (oggmux_suite):
Add small test to make sure request pads are cleaned up properly
even if oggmux never changes state out of NULL.
Original commit message from CVS:
* tests/check/libs/utils.c: (GST_START_TEST):
Fix unit test. Turns out things work much better when you
NULL-terminate string arrays. Should make p5 build bot happy again.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/audio/gstaudiofilter.c: (gst_audio_filter_get_type),
(gst_audio_filter_class_init), (gst_audio_filter_init),
(gst_audio_filter_set_caps),
(gst_audio_filter_class_add_pad_templates):
* gst-libs/gst/audio/gstaudiofilter.h:
Port GstAudioFilter to 0.10. This change technically breaks
API and ABI (and thus also every library developer's heart),
but seems justifiable on the grounds that the base class was
completely unusable before (ie. would crash immediately when
actually used). Fixes#403963 (and eventually also #403572).
Also document all of this a bit.
Original commit message from CVS:
* gst-libs/gst/utils/install-plugins.c:
(gst_install_plugins_spawn_child):
* tests/check/libs/utils.c:
(test_base_utils_install_plugins_do_callout):
Lowering log level to see why things fail on the p5 build bot;
fix some typos in unit test messages.
Original commit message from CVS:
* tests/check/libs/utils.c:
(test_base_utils_install_plugins_do_callout):
Don't hard-code temp directory for test helper; use GLib functions
to write out file and do error checking etc.
Original commit message from CVS:
* gst-libs/gst/utils/Makefile.am:
* gst-libs/gst/utils/base-utils.h:
* gst-libs/gst/utils/install-plugins.c:
(gst_install_plugins_context_set_xid),
(gst_install_plugins_context_new),
(gst_install_plugins_context_free),
(gst_install_plugins_get_helper),
(gst_install_plugins_spawn_child),
(gst_install_plugins_return_from_status),
(gst_install_plugins_installer_exited),
(gst_install_plugins_async), (gst_install_plugins_sync),
(gst_install_plugins_return_get_name),
(gst_install_plugins_installation_in_progress):
* gst-libs/gst/utils/install-plugins.h:
API: add API for applications to initiate installation of missing
plugins, ie. gst_install_plugins_async() primarily.
Based on libgimme-codec by Ryan Lortie.
* configure.ac:
Add --with-install-plugins-helper configure option so distros can specify
the path of the helper script or program to call when plugin installation
is requested (distros: please do any argument munging in this helper
script instead of patching GStreamer to pass arguments differently
to another program directly).
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
Build and document new API.
* tests/check/libs/utils.c: (result_cb),
(test_base_utils_install_plugins_do_callout), (GST_START_TEST),
(libgstbaseutils_suite):
Some simple checks for the new API.
Original commit message from CVS:
* tests/check/elements/audioconvert.c: (test_float_conversion):
Add small test for 32bit float <=> 64bit float conversion (works
only one way so far, 32=>64 produces structured noise).
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c:
(set_structure_widths_32_and_64), (make_lossless_changes):
We don't support floats with a width of 40, 48 or 56 bits.
Original commit message from CVS:
* gst/audioconvert/audioconvert.c: (float), (double),
(audio_convert_get_func_index):
* gst/audioconvert/gstaudioconvert.c: (set_structure_widths),
(make_lossless_changes):
Support for 64-bit float audio in audioconvert (#339837)
Original commit message from CVS:
reviewed by: Wim Taymans <wim@fluendo.com>
* ext/ogg/gstoggmux.c: (gst_ogg_mux_ogg_pad_destroy_notify),
(gst_ogg_mux_request_new_pad), (gst_ogg_mux_release_pad):
Use newly added GstCollectPads API to free the allocated resources in
the GstOggPad structures (#402393).
Original commit message from CVS:
* gst/playback/gstplaybin.c: (gen_vis_element):
Add audioresample+audioconvert in front of the visualisation
element, so that elements like libvisual 0.4 that don't support all
samplerates can work.
Fixes: #402505
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_get_property),
(gst_play_base_bin_get_streaminfo_value_array):
Take some locks and make a copy of the streaminfo value array we
maintain while holding the lock, so that the application can
retrieve the stream-info as a value array in a thread-safe way.
Original commit message from CVS:
* ext/theora/theoraenc.c: (theora_enc_chain):
Check return value of theora_encode_header(), or we might try to
allocate a random number of bytes. theora_encode_header() can fail
if libtheora has been compiled with encoding support disabled.
Fixes#398110.
Original commit message from CVS:
* ext/libvisual/visual.c: (gst_visual_src_setcaps):
Fix strides in libvisual. Gst uses X strides.
Inspired by: <ed at catmur dot co dot uk> and
<tim at centricular dot net>
Fixes#401118.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_submit_buffer),
(gst_ogg_demux_get_data), (gst_ogg_demux_get_next_page),
(gst_ogg_demux_get_prev_page), (gst_ogg_demux_do_seek),
(gst_ogg_demux_perform_seek),
(gst_ogg_demux_bisect_forward_serialno),
(gst_ogg_demux_read_chain), (gst_ogg_demux_read_end_chain),
(gst_ogg_demux_find_chains), (gst_ogg_demux_handle_page),
(gst_ogg_demux_chain), (gst_ogg_demux_combine_flows),
(gst_ogg_demux_loop_reverse), (gst_ogg_demux_loop):
* ext/ogg/gstoggdemux.h:
Properly propagate streaming errors when we are scanning the file for
chains so that we don't crash when shut down. Might fix some crashers
when quickly switching oggs in RB such as #332503 and #378436.
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_start):
Map a gnome-vfs HOST_NOT_FOUND error into a GStreamer NOT_FOUND
error code as well.
Original commit message from CVS:
* gst/playback/gstdecodebin2.c: (gst_decode_bin_dispose):
Cast lock macro parameters to make sure we're actually accessing the
lock member at the right class level. Free list itself in _dispose()
as well and NULL it in case dispose gets called multiple times.
Original commit message from CVS:
* gst/playback/gstdecodebin2.c:
(gst_decode_bin_dispose),(gst_decode_bin_finalize):
Free GstDecodeGroups no longer used.
(gst_decode_group_expose):
Don't unlock too many times !
(deactivate_free_recursive):
Free iterator once we're done with it.
Fix for recursively deactivating elements (stop at ghostpads).
Original commit message from CVS:
* gst/playback/gstplaybin.c: (handoff):
Fix up caps on the frame buffer before we save it and potentially
make it accessible to other threads via g_object_get; also use
gst_buffer_replace() instead of gst_mini_object_replace().
Original commit message from CVS:
* gst/playback/gstdecodebin2.c: (gst_decode_bin_finalize),
(gst_decode_group_new), (gst_decode_group_free):
Set queues to bigger sizes to cope with HD contents.
Fix some mutex freeing and add comment about MT safe methods.
Original commit message from CVS:
* ext/pango/gsttextoverlay.c: (gst_text_overlay_src_event),
(gst_text_overlay_text_event):
Don't unnecessarily ref (and then leak) upstream events if the text
pad is not linked. Fixes#399948.
* tests/check/gst-plugins-base.supp:
Add suppression for pango on edgy/x86 for textoverlay test.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_read_chain):
Error out properly if we get an error from libogg while reading the
BOS page(s). Fixes crash parsing 'fuzzed' ogg file (#399340).
Original commit message from CVS:
* gst/playback/gstdecodebin2.c: (gst_decode_bin_finalize):
Don't leak mutex.
* tests/check/elements/playbin.c:
(test_sink_usage_video_only_stream),
(test_suburi_error_unknowntype), (test_suburi_error_invalidfile),
(test_suburi_error_wrongproto), (test_missing_urisource_handler),
(test_missing_suburisource_handler),
(test_missing_primary_decoder), (playbin_suite):
Run all tests once with decodebin and once with decodebin2.
One test does not pass yet with decodebin2.
Original commit message from CVS:
* ext/ogg/gstoggmux.c: (all_pads_eos), (gst_ogg_mux_collected):
Fix the cases where oggmux doesn't properly figure out that all
sinkpads have gone EOS, and therefore doesn't push out the remaining
buffers and the final EOS event.
Fixes#363379
Original commit message from CVS:
2007-01-23 Julien MOUTTE <julien@moutte.net>
* sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_handle_xevents):
Don't lock on navigation event push, just on keysym to string.
Fixes#397673 again.
Original commit message from CVS:
* gst/playback/gstdecodebin2.c: (gst_decode_group_new),
(get_current_group), (group_demuxer_event_probe),
(gst_decode_group_expose), (deactivate_free_recursive),
(gst_decode_group_free):
Cleanups.
Don't forget to emit 'no-more-pads' once a group is exposed.
Cleanup elements from a DecodeGroup once we remove it.
Protect call to gst_decode_group_expose() with the decodebin lock.
Original commit message from CVS:
2007-01-22 Julien MOUTTE <julien@moutte.net>
* sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_handle_xevents):
Looking at Xorg code i can't figure out if that XKeysymToString
function is thread sensible or not. Lock it just in case as
recommended by Radek Doulik <rodo at ximian dot com>.
Original commit message from CVS:
2007-01-22 Julien MOUTTE <julien@moutte.net>
* sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_handle_xevents):
Lock that X Call as well. Fixes#397673.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mpeg4_video_type_find):
Don't go into an endless loop if the file starts with 00 00 01 2X,
like quicktime redirect files might. Fixes#396042.
* tests/check/Makefile.am:
* tests/check/gst/.cvsignore:
* tests/check/gst/typefindfunctions.c: (GST_START_TEST),
(typefindfunctions_suite):
Add unit test for the above.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
On second thought, use "depth" field rather than "bpp" field.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (setup_subtitle),
(gen_source_element), (gst_play_base_bin_change_state):
Attempt at a better error message in case we don't have the required
URI handler installed; post missing-plugin message also when we're
missing an URI handler for the subtitle URI; clean up properly also
when an error occurs and we never made it to PAUSED state.
* tests/check/elements/playbin.c: (GST_START_TEST),
(playbin_suite):
Check that we're also getting a missing-plugin messsage for a
missing subtitle URI handler (and clean up properly).
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mpeg2_sys_type_find):
Lower probability a bit if the marker isn't right at the start,
to decrease the chance of false positives.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mpeg2_sys_type_find):
Small mpeg2 system stream typefinding improvement: make typefinder
probe a bit into the stream instead of just looking for a marker
at the beginning. Fixes#397810.
Original commit message from CVS:
* gst/playback/Makefile.am:
* gst/playback/gstdecodebin.c: (close_pad_link):
* gst/playback/gstdecodebin2.c: (analyze_new_pad):
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
(gst_play_base_bin_handle_message_func), (unknown_type):
Let decodebin be the element to post missing-plugin messages for
missing decoders (rather than playbin); make playbin implement
GstBin::handle_message so we can suppress missing-plugin messages
for types we're not handling on purpose (don't want to bring up an
installer in those cases).
Original commit message from CVS:
* tests/examples/seek/seek.c: (set_scale), (update_scale),
(do_seek), (stop_seek), (pause_cb), (stop_cb), (loop_toggle_cb),
(rate_spinbutton_changed_cb), (msg_eos), (msg_segment_done),
(main):
Allow to toggle looping while it plays. Fix callback prototype. Clean
up code a bit more. Add copyright header.
Original commit message from CVS:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support):
Red and blue mask was swapped (spotted by Dan Williams).
Original commit message from CVS:
2007-01-12 Andy Wingo <wingo@pobox.com>
* gst-libs/gst/audio/gstbaseaudiosink.c
(gst_base_audio_sink_fixate): Implement, stolen from baseaudiosrc.
(gst_base_audio_sink_activate_pull): Remove the handwavey nego
stuff, as the base class handles this now. Actually tell the ring
buffer to start.
(gst_base_audio_sink_callback): Cast the ring buffer correctly.
How did this work before? Maybe I'm not as awesome a programmer as
I think.
* gst-libs/gst/audio/gstbaseaudiosrc.c
(gst_base_audio_src_fixate): Rework as a basesrc vmethod instead
of a pad function.
Original commit message from CVS:
* gst-libs/gst/utils/missing-plugins.c: (copy_and_clean_caps):
Remove more fields so that the application can better blacklist
formats that have been tried before.
Original commit message from CVS:
* gst-libs/gst/audio/mixerutils.h:
Add G_BEGIN_DECLS and G_END_DECLS guards so these helpers can be
used when compiling with c++ compilers as well.
Original commit message from CVS:
* gst/playback/gstplaybin.c: (post_missing_element_message),
(gen_video_element), (gen_text_element), (gen_audio_element),
(gen_vis_element):
Post missing-plugin messages also when we error out because
converters, textoverlay or auto*sinks are missing (#161922).
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (dynamic_add), (close_pad_link),
(is_demuxer_element), (new_caps):
* gst/playback/gstplaybasebin.c: (source_new_pad):
Fix the case where we try to ref a NULL element when we delay a link
because of unfixed caps.
Set the state of autoplugged decodebins to PAUSED.
RTSP now works in playbin, we can remove it from the blacklist.
Original commit message from CVS:
* gst/playback/Makefile.am:
* gst/playback/gstplaybasebin.c: (string_arr_has_str),
(unknown_type), (setup_subtitle), (gen_source_element):
* gst/playback/gstplaybin.c: (plugin_init):
Post missing-plugin messages on the bus for missing sources and
missing decoders/demuxers/depayloaders; fix error code used when
we're missing an URI handler source; for media types that we are not
handling on purpose at the moment, don't print "don't know how to
handle xyz" messages to the terminal or post missing-plugin
messages on the bus.
* tests/check/elements/playbin.c: (create_playbin),
(GST_START_TEST), (gst_codec_src_uri_get_type),
(gst_codec_src_uri_get_protocols), (gst_codec_src_uri_get_uri),
(gst_codec_src_uri_set_uri), (gst_codec_src_uri_handler_init),
(gst_codec_src_init_type), (gst_codec_src_base_init),
(gst_codec_src_create), (gst_codec_src_class_init),
(gst_codec_src_init), (plugin_init), (playbin_suite):
Add some tests for the missing-plugin stuff.
Original commit message from CVS:
* ext/ogg/Makefile.am:
Dist gstoggdemux.h to fix 'make distcheck'.
* sys/v4l/Makefile.am:
Fix 'make distcheck' even more.
Original commit message from CVS:
Patch by: Günter Thelen <daedalus dot inc at gmx net>
* gst/typefind/gsttypefindfunctions.c: (flac_type_find),
(plugin_init):
Add typefinder for flac-in-ogg in conformance with the ogg-mapping
on flac.sf.net (there appear to be other versions of the first
ogg page in the wild) (#391365).
Original commit message from CVS:
* configure.ac:
Check if localtime_r() is available.
* ext/pango/gstclockoverlay.c: (gst_clock_overlay_render_time):
If localtime_r() is not available, fall back to localtime(). Should
fix build on MingW (#393310).
Original commit message from CVS:
* gst/subparse/gstsubparse.c: (parse_mdvdsub):
* gst/subparse/gstsubparse.h:
Remove spurious 1000 subtrahend when calculating the timestamp from
the frame number and the frame rate . Also, use the frames/second
value specified in the first line of the file, if one is specified
there. Should fix#357503.
* tests/check/elements/subparse.c: (do_test),
(test_tmplayer_do_test), (test_microdvd_do_test), (GST_START_TEST),
(subparse_suite):
Add some basic unit tests for the microdvd subtitle format.
Original commit message from CVS:
2007-01-07 Julien MOUTTE <julien@moutte.net>
* sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy),
(gst_xvimage_buffer_finalize), (gst_xvimagesink_xvimage_new),
(gst_xvimagesink_xvimage_put),
(gst_lookup_xv_port_from_adaptor),
(gst_xvimagesink_get_xv_support), (gst_xvimagesink_setcaps),
(gst_xvimagesink_set_xwindow_id),
(gst_xvimagesink_set_event_handling),
(gst_xvimagesink_set_property), (gst_xvimagesink_get_property),
(gst_xvimagesink_init), (gst_xvimagesink_class_init):
Patch by : Young-Ho Cha <ganadist at chollian dot net>
Fixes : #390076.
Add an adaptor property to select a specific XV adaptor.
* sys/xvimage/xvimagesink.h:
Original commit message from CVS:
2007-01-07 Julien MOUTTE <julien@moutte.net>
* sys/ximage/ximagesink.c: (gst_ximage_buffer_finalize),
(gst_ximagesink_handle_xerror), (gst_ximagesink_ximage_new),
(gst_ximagesink_ximage_destroy), (gst_ximagesink_ximage_put),
(gst_ximagesink_handle_xevents), (gst_ximagesink_setcaps),
(gst_ximagesink_change_state), (gst_ximagesink_set_xwindow_id),
(gst_ximagesink_expose), (gst_ximagesink_set_event_handling):
* sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy),
(gst_xvimage_buffer_finalize), (gst_xvimagesink_handle_xerror),
(gst_xvimagesink_xvimage_new), (gst_xvimagesink_xvimage_put),
(gst_xvimagesink_handle_xevents), (gst_xvimagesink_setcaps),
(gst_xvimagesink_change_state),
(gst_xvimagesink_set_xwindow_id),
(gst_xvimagesink_expose), (gst_xvimagesink_set_event_handling):
Use flow_lock much more to protect every access to xwindow.
Try to catch erros while creating images in case some drivers
are
just generating an XError when the requested image is too big.
Should fix : #354698, #384008, #384060.
* tests/icles/stress-xoverlay.c: (cycle_window),
(create_window):
Implement some stress testing of setting window xid.
Original commit message from CVS:
* win32/common/libgsaudio.def:
Add new exported function.
* win32/common/libgstogg.dsp:
Add gstoggaviparse.c to the build.
* win32/common/libgstvideoscale.dsp:
Add vs_4tap.c to the build.
* win32/common/libgstvorbis.dsp:
Add vorbistag.c to the build.
Original commit message from CVS:
2007-01-06 Andy Wingo <wingo@pobox.com>
* gst-libs/gst/audio/gstbaseaudiosink.c
(gst_base_audio_sink_class_init)
(gst_base_audio_sink_init):
(gst_base_audio_sink_activate_pull): Add an activate_pull function
to baseaudiosink, and tell basesink that we can work in pull mode.
This way the ring buffer thread drives the pipeline directly, if
pull mode is possible. There is some lingering nastiness regarding
capsnego, however.
(gst_base_audio_sink_callback): Implement the callback to pull
data. This interface is a bit light, though -- it should get a
GstFlowReturn return value at least.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_stream_out):
* ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet):
* gst/playback/gstdecodebin2.c:
(gst_decode_group_check_if_blocked):
Printf format and missing argument fixes.
Original commit message from CVS:
* ext/ogg/gstogmparse.c: (gst_ogm_parse_stream_header),
(gst_ogm_parse_change_state):
Activate pads before adding them to the element.
Original commit message from CVS:
* tests/examples/seek/scrubby.c: (main):
* tests/examples/seek/seek.c: (main):
Call g_thread_init() first thing in main() (see #391278).
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/libs/.cvsignore:
* tests/check/libs/netbuffer.c: (GST_START_TEST),
(netbuffer_suite):
Add test for GstNetBuffer + gst_buffer_copy(). Disabled
for the time being, since it's broken, see #393099.
Original commit message from CVS:
2007-01-04 Julien MOUTTE <julien@moutte.net>
* gst-libs/gst/interfaces/xoverlay.c:
(gst_x_overlay_handle_events):
* gst-libs/gst/interfaces/xoverlay.h:
* sys/ximage/ximagesink.c: (gst_ximagesink_xwindow_new),
(gst_ximagesink_set_xwindow_id),
(gst_ximagesink_set_event_handling),
(gst_ximagesink_xoverlay_init), (gst_ximagesink_set_property),
(gst_ximagesink_get_property), (gst_ximagesink_init),
(gst_ximagesink_class_init):
* sys/ximage/ximagesink.h:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xwindow_new),
(gst_xvimagesink_set_xwindow_id),
(gst_xvimagesink_set_event_handling),
(gst_xvimagesink_xoverlay_init), (gst_xvimagesink_set_property),
(gst_xvimagesink_get_property), (gst_xvimagesink_init),
(gst_xvimagesink_class_init):
* sys/xvimage/xvimagesink.h:
* tests/icles/stress-xoverlay.c: (toggle_events),
(create_window):
Add a method to the XOverlay interface to allow disabling of
event handling in x[v]imagesink elements. This will let X events
propagate to parent windows which can be usefull in some cases.
Be carefull that the application is then responsible of pushing
navigation events and expose events to the video sink.
Fixes: #387138.
Original commit message from CVS:
* gst-libs/gst/tag/gstvorbistag.c:
* tests/check/libs/tag.c: (GST_START_TEST):
Add vorbistag <=> GStreamer tag mapping for GST_TAG_LOCATION
(fixes#392070).
Original commit message from CVS:
* tests/check/elements/gdpdepay.c: (cleanup_gdpdepay),
(setup_gdpdepay_streamheader):
* tests/check/elements/gdppay.c: (cleanup_gdppay),
(setup_gdppay_streamheader):
Fix the dp tests, but activating the pads for the streamheader tests
too and cleaning up conditionaly
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 caps arrangements, for 24-bit RGB and BGR in 32-bits, but at the
other end of the word. Fixes: #387073.
Add some inconsequential branch hints in a couple of places.
Original commit message from CVS:
* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
(gst_ffmpeg_caps_to_smpfmt):
The "signed" field in raw audio caps is of boolean type, trying to
extract the value with _get_int() will fail (fix to keep in sync with
the copy in gst-ffmpeg)
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (vivo_type_find),
(plugin_init):
Add typefinder for VIVO files (my christmas present to the 90s).
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (type_found):
Special-case the text/plain media type: we only want to recognise it
as a 'raw' decoded media type if it comes from a demuxer or subtitle
parser, but not if the entire stream is of text/plain type. If the
entire stream is text/plain, we should just error out.
This fixes playback of audio files with lyrics in totem. Totem can't
distinguish between text files and subtitle files and passes any
.txt file with the same basename as the main file to playbin as
suburi, and playbin will then throw a 'subtitle found, but no video
stream' error, which isn't entirely helpful. See #380342.
Also, with this change we'll show a slightly more correct error
message in case totem passes a playlist file to us (although a
custom error message wording instead of the default text would
probably not be a bad idea either).
Same problem also needs to be fixed for playbin+decodebin2.
* tests/check/Makefile.am:
* tests/check/elements/decodebin.c: (src_handoff_cb),
(decodebin_new_decoded_pad_cb), (GST_START_TEST),
(decodebin_suite):
Add simple unit test for decodebin for the above.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (gst_decode_bin_change_state):
* gst/playback/gstdecodebin2.c: (gst_decode_bin_change_state):
Refuse to change state to READY when we failed to create any of the
required elements in our instance init function.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
Small docs fixes/updates.
* gst-libs/gst/video/gstvideosink.h:
Remove nonfunctional GST_VIDEO_SINK_CLOCK macro which is a leftover
from the 0.9 days (GST_BASE_SINK_CLOCK, which it points to, was
removed from the base sink API between 0.9.6 and 0.9.7).
API: add GST_VIDEO_SINK_CAST and use it for the height/width
accessor macros, so we don't do a runtime GObject type check every
time we use them.
Original commit message from CVS:
Patch by: Jens Granseuer <jensgr at gmx net>
* gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_create):
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
(gst_base_rtp_audio_payload_handle_frame_based_buffer),
(gst_base_rtp_audio_payload_handle_sample_based_buffer):
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_fixate):
Declare variables at the beginning of a block. Fixes#383195.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (find_dynamic), (dynamic_add),
(close_pad_link), (elem_is_dynamic), (unlinked), (close_link):
Handle the case where an element has multiple pads with
unfixed caps as well as still possibly producing more dynamic
pads by storing each case as a distinct entry in the dynamic list.
Fixes#38223 again.
Original commit message from CVS:
* tests/check/pipelines/theoraenc.c: (check_buffer_granulepos),
(GST_START_TEST):
It would be very bad if, after a discont buffer, we thought every
single following buffer was also discont. So, add to the test to
ensure that this isn't the case.
* ext/theora/theoraenc.c: (theora_enc_is_discontinuous):
... it was the case. So fix it.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (check_queue_event):
Improve debug.
* gst/videoscale/gstvideoscale.c: (gst_video_scale_transform_caps):
Fix width and height range from 16 - 4096 to 1 - MAXINT, just like the
padtemplate caps. Refixes #357577.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (check_queue_event),
(queue_threshold_reached), (queue_out_of_data),
(gen_preroll_element):
Add event probe to see when EOS is in a queue and we can disable the
underrun signals. Fixes#357577.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (setup_source),
(gst_play_base_bin_change_state):
Disable rtsp:// uris for the release, it's not good enough yet.
Remove unused var.
Original commit message from CVS:
* ext/theora/theoradec.c: (gst_theora_dec_reset),
(theora_dec_push_forward), (theora_dec_push_reverse),
(theora_handle_data_packet), (theora_dec_decode_buffer),
(theora_dec_flush_decode), (theora_dec_chain_reverse),
(theora_dec_chain_forward), (theora_dec_chain):
Implement reverse playback.
* ext/vorbis/vorbisdec.c: (gst_vorbis_dec_reset),
(vorbis_dec_decode_buffer), (vorbis_dec_flush_decode),
(vorbis_dec_chain_forward):
Clear buffers used for reverse playback in _reset.
No need to set the eos flag, we clip samples using the segment.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_page_copy), (gst_ogg_page_free),
(gst_ogg_pad_init), (gst_ogg_pad_dispose), (gst_ogg_pad_reset),
(gst_ogg_pad_stream_out), (gst_ogg_pad_submit_page),
(gst_ogg_chain_reset), (gst_ogg_demux_perform_seek):
Some cleanups.
Handle continued pages in reverse mode.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_dec_push_forward),
(vorbis_handle_data_packet), (vorbis_dec_decode_buffer),
(vorbis_dec_flush_decode):
Small cleanups.
Don't try to add invalid timestamps.
Clipping will unref the buffer.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_page),
(gst_ogg_demux_chain):
Don't just ignore return values from _pad_push().
Small debug improvements.
Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_process_best_pad):
If our incoming buffer is marked as DISCONT, then increment the page
number (so that the discontinuity is marked in the final ogg
bitstream) and flush the previous page.
Original commit message from CVS:
* ext/pango/gsttextoverlay.c: (gst_text_overlay_init),
(gst_text_overlay_text_pad_unlink), (gst_text_overlay_text_event),
(gst_text_overlay_video_event), (gst_text_overlay_pop_text),
(gst_text_overlay_text_chain), (gst_text_overlay_video_chain),
(gst_text_overlay_change_state):
* ext/pango/gsttextoverlay.h:
Some textoverlay fixes: for one, in the video chain function,
actually wait for a text buffer to come in if there is none at the
moment and there should be one; also, deal more gracefully with
incoming buffers that do not have a timestamp or duration; discard
text buffer when not needed any longer. Fixes#341681.
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/textoverlay.c:
(notgst_check_setup_src_pad2), (notgst_check_teardown_src_pad2),
(setup_textoverlay), (buffer_is_all_black), (create_black_buffer),
(create_text_buffer), (cleanup_textoverlay), (GST_START_TEST),
(test_video_waits_for_text_send_text_newsegment_thread),
(test_video_waits_for_text_shutdown_element),
(test_render_continuity_push_video_buffers_thread),
(textoverlay_suite):
Add some unit tests for textoverlay.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset):
Avoid integer underflow when the found probability for mp3 is
smaller than the 'penalty' we subtract if there's not a clean
mp3 header sync at offset 0.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/ffmpegcolorspace.c:
(ffmpegcolorspace_suite):
Enable ffmpegcolorspace test now that the RGBA32 issue is fixed
(for now not for valgrinding though, since it takes too long).
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpaudiopayload.h:
Fix GstBaseRTPAudioPayload structure so the whole GObject
inheritance business actually works (parent class instance structure
must always come first in the derived class instance structure).
Original commit message from CVS:
* gst/videotestsrc/Makefile.am:
* tests/check/Makefile.am:
Make sure our checks and the videotestsrc plugin link against the
local uninstalled gst libs and not any installed gst libs that
might happen to exist as well.
* tests/check/elements/adder.c: (message_received),
(test_event_message_received), (test_play_twice_message_received):
* tests/check/elements/ffmpegcolorspace.c: (GST_START_TEST):
Fix compiler warnings when compiling against core with disabled
debugging system.
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_reset),
(gst_audio_rate_sink_event), (gst_audio_rate_chain):
Fix audiorate, so that it accurately sets offsets and timestamps.
Doesn't change the fundamental algorithmic decisions; so should be
safe.
* tests/check/Makefile.am:
Enable audiorate test now that it passes.
Original commit message from CVS:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_change_state):
clear xv when going to NULL, remove // commented non-existant proto
* tests/examples/seek/seek.c: (main):
add missing tooltip description for scrub and play_scrub
Original commit message from CVS:
* configure.ac:
Bump liboil requirement to 0.3.8.
* gst-libs/gst/riff/riff-media.c:
Add Dirac fourcc.
* gst/videoscale/vs_image.h:
* gst/videoscale/vs_scanline.h:
Use liboil's stdint.h.
* gst/videotestsrc/videotestsrc.c:
Remove liboil related ifdef's, since they aren't needed now, and
won't work with future versions.
Original commit message from CVS:
* gst/videoscale/Makefile.am:
* gst/videoscale/gstvideoscale.c:
* gst/videoscale/gstvideoscale.h:
* gst/videoscale/vs_4tap.c:
* gst/videoscale/vs_4tap.h:
* gst/videoscale/vs_image.c:
* gst/videoscale/vs_image.h:
* gst/videoscale/vs_scanline.c:
* gst/videoscale/vs_scanline.h:
Add a 4-tap image scaler. Theoretically looks much prettier.
The tap calculation could use some improvement.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_event), (gst_base_audio_sink_render):
* gst-libs/gst/audio/gstbaseaudiosink.h:
Make the clock sync code more accurate wrt resampling and playback
at different rates.
* gst-libs/gst/audio/gstringbuffer.c:
(gst_ring_buffer_commit_full), (gst_ring_buffer_commit):
* gst-libs/gst/audio/gstringbuffer.h:
Use better algorithm to interpolate sample rates.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_page):
Improve a debug line slightly.
* ext/ogg/gstogmparse.c: (gst_ogm_parse_plugin_init):
Call gst_riff_init() in plugin_init, to avoid getting errors from
the debug system (unrelated changes to another plugin made this turn
up; not sure why).
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
(gst_riff_create_video_template_caps):
add h263/h264 variants to the caps, Fixes#363118
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiosink.c: (audioringbuffer_thread_func):
* gst-libs/gst/audio/gstaudiosrc.c: (audioringbuffer_thread_func):
Use g_strerror instead of strerror so we get UTF-8.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset):
Lower the probability of mp3 typefinding functions if we don't find a
valid mp3 header at the start of the file.
Closes#369482
Original commit message from CVS:
* ext/theora/gsttheoradec.h:
* ext/theora/theoradec.c: (gst_theora_dec_init),
(theora_dec_sink_event), (theora_dec_chain_forward),
(theora_dec_flush_decode), (theora_dec_chain_reverse),
(theora_dec_chain):
Document and partially implement an algorithm for doing reverse playback
of theora video.
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_add_full),
(gst_multi_fd_sink_remove), (gst_multi_fd_sink_clear),
(gst_multi_fd_sink_get_stats),
(gst_multi_fd_sink_remove_client_link),
(gst_multi_fd_sink_queue_buffer),
(gst_multi_fd_sink_handle_clients):
* gst/tcp/gstmultifdsink.h:
Make using the remove or clear signals threadsafe.
Make calling get-stats with an invalid fd not segfault.
Fixes 368273.
Original commit message from CVS:
* gst-libs/gst/rtp/Makefile.am:
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
(gst_base_rtp_audio_payload_init):
Fix and activate base audio payloader.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (qtif_type_find),
(plugin_init):
Add typefinder for QuickTime Image Files (see #366156).
Original commit message from CVS:
* gst/volume/gstvolume.c: (volume_transform_ip):
Use stream time to synchronize volume property instead of rather random
timestamps. This is needed when gnonlin does its time shifting.
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet dot be>
* ext/ogg/gstoggmux.c: (gst_ogg_mux_release_pad):
Remove the pad from the element in release_pad.
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_get_type):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_type):
Explicitly create our custom buffer classes at a thread-safe
location as well, since g_type_class_ref() doesn't seem to be
entirely thread-safe either (#365501; also see #349410).
Original commit message from CVS:
* gst-libs/gst/riff/riff-read.c: (freeform_string_to_utf8),
(gst_riff_parse_info):
If strings in INFO chunk are not UTF-8, do something similar to
what we do for ID3v1 tags: check a number of environment variables
(GST_AVI_TAG_ENCODING, GST_RIFF_TAG_ENCODING, GST_TAG_ENCODING) for
character sets to try, otherwise try the current locale and/or fall
back on ISO-8859-1. Fixes#360552.
Original commit message from CVS:
* tests/check/elements/audiorate.c: (test_injector_base_init),
(test_injector_class_init), (test_injector_chain),
(test_injector_init), (probe_cb), (do_perfect_stream_test),
(GST_START_TEST), (audiorate_suite):
More tests for audiorate: inject buffers to check behaviour when
buffers overlap.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/audiorate.c: (probe_cb), (got_buf),
(do_perfect_stream_test), (GST_START_TEST), (audiorate_suite):
Add some basic unit tests for audiorate. Disabled at the moment
since it doesn't pass yet (see bug #363119).
Original commit message from CVS:
* gst/subparse/gstsubparse.c: (subrip_fix_up_markup),
(parse_subrip), (handle_buffer):
Add missing closing tags for markup and fix broken markup,
otherwise pango won't render anything (fixes#357531). Also,
make sure the text we send out is always NUL-terminated
(better safe than sorry etc.).
* tests/check/elements/subparse.c: (test_srt_do_test),
(test_srt):
Some more tests for .srt incl. tests for the above stuff.
Original commit message from CVS:
2006-10-20 Julien MOUTTE <julien@moutte.net>
* sys/ximage/ximagesink.c: (gst_ximagesink_ximage_put):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_put):
Patch by: Stefan Kost <ensonic@users.sf.net>
Try to redraw borders only when needed. Apparently this consumes
resources on small devices... :-O (#363607)
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c:
(gst_multi_fd_sink_client_queue_buffer):
If caps change, then update the client's idea of the caps so that we
don't end up re-sending streamheaders for every single buffer after
the caps change.
Original commit message from CVS:
* ext/ogg/gstoggparse.c: (gst_ogg_parse_dispose),
(gst_ogg_parse_append_header), (gst_ogg_parse_chain):
Set caps on pushed buffers; fix up refcounting of caps objects.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mmsh_type_find),
(plugin_init):
Typefind mmsh header data packet to application/x-mmsh (#362625).
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/subparse.c: (buffer_from_static_string),
(setup_subparse), (teardown_subparse), (test_srt_do_test),
(GST_START_TEST), (subparse_suite):
Add very simple unit test for subparse.
Original commit message from CVS:
* gst/subparse/gstsubparse.c: (strip_trailing_newlines),
(parse_subrip):
Strip trailing newlines from subtitle text output.
Original commit message from CVS:
* gst/subparse/gstsubparse.c: (gst_sub_parse_dispose),
(gst_sub_parse_change_state):
Fix memleak; clear subparse->textbuf n state change function.
Original commit message from CVS:
* gst/subparse/gstsubparse.c:
(gst_sub_parse_data_format_autodetect):
Don't require subrip (.srt) files to start with a chunk number of 1.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_event), (gst_base_audio_sink_render):
* gst-libs/gst/audio/gstbaseaudiosink.h:
Extract rate from the NEWSEGMENT event.
Use commit_full to also take rate adjustment into account when writing
samples to the ringbuffer.
* gst-libs/gst/audio/gstringbuffer.c:
(gst_ring_buffer_commit_full), (gst_ring_buffer_commit),
(gst_ring_buffer_read):
* gst-libs/gst/audio/gstringbuffer.h:
Added _commit_full() to also take rate into account.
Use simple interpolation algorithm to resample audio.
API: gst_ring_buffer_commit_full()
* tests/examples/seek/scrubby.c: (speed_cb), (do_seek):
* tests/examples/seek/seek.c: (segment_done):
Don't try to seek with 0.0 rate, just pause instead.
Remove bogus debug line.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (subbin_startup_sync_msg),
(setup_source):
Catch async errors when starting up the subtitle bin, so we can
stop waiting and continue with the main film instead of hanging
forever. Fixes#339366.
* tests/check/elements/playbin.c: (playbin_suite):
Enable unit test for the above.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/playbin.c: (GST_START_TEST),
(gst_red_video_src_uri_get_type),
(gst_red_video_src_uri_get_protocols),
(gst_red_video_src_uri_get_uri), (gst_red_video_src_uri_set_uri),
(gst_red_video_src_uri_handler_init),
(gst_red_video_src_init_type), (gst_red_video_src_base_init),
(gst_red_video_src_create), (gst_red_video_src_class_init),
(gst_red_video_src_init), (plugin_init), (playbin_suite):
Some small and basic unit tests for playbin; not very useful yet,
but at least a start.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (setup_source):
Don't hang forever if the subbin already fails to start up in
the state change to PAUSED (#339366).
Original commit message from CVS:
* gst-libs/gst/interfaces/tuner.c: (gst_tuner_list_channels),
(gst_tuner_set_channel), (gst_tuner_get_channel),
(gst_tuner_list_norms), (gst_tuner_set_norm), (gst_tuner_get_norm),
(gst_tuner_set_frequency), (gst_tuner_get_frequency),
(gst_tuner_signal_strength), (gst_tuner_find_norm_by_name),
(gst_tuner_find_channel_by_name):
Fix some function guards, add some more function guards.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (get_our_ghost_pad),
(remove_element_chain):
Don't return a pad from get_our_ghost_pad unless it is actually the
one we want.
Change a cast in remove_element_chain slightly.
Original commit message from CVS:
2006-10-13 Julien MOUTTE <julien@moutte.net>
* tests/examples/seek/seek.c: (do_seek), (start_seek),
(rate_spinbutton_changed_cb), (segment_done),
(msg_state_changed):
Segment seeking needs to use the rate and set stop to -1.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_setcaps):
Don't crash when ringbuffer is not yet created.
Patch by: Ville Syrjala <ville dot syrjala at movial dot fi>
Fixes#361634.
* gst/playback/gstplaybasebin.c: (new_decoded_pad_full):
* gst/playback/gststreamselector.c:
(gst_stream_selector_request_new_pad):
Activate pads befre adding them to running elements.
Original commit message from CVS:
2006-10-13 Julien MOUTTE <julien@moutte.net>
* tests/examples/seek/seek.c: (do_seek), (start_seek),
(rate_spinbutton_changed_cb), (msg_state_changed): Stop the
scale
updater when we start grabing the slider. Don't wait for the
pipeline to be PAUSED.
Original commit message from CVS:
2006-10-12 Julien MOUTTE <julien@moutte.net>
* tests/examples/seek/seek.c: (do_seek), (start_seek),
(stop_seek),
(play_cb), (pause_cb), (stop_cb),
(rate_spinbutton_changed_cb),
(msg_state_changed), (main): Use state-changed messages to
trigger
start/stop of scale update timer. Indeed the scale slider was
jumping here and there because the update timer was activated
before seek completed. This fixes instant applying of rate
changes
by pressing the spinbutton like a crazy man !
Original commit message from CVS:
Patch by: Sebastien Cote <sebas642 at yahoo.ca>
* gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_init),
(gst_basertppayload_finalize):
Fix two small memory leaks (#361456).
Original commit message from CVS:
2006-10-10 Julien MOUTTE <julien@moutte.net>
* tests/examples/seek/seek.c: (do_seek),
(rate_spinbutton_changed_cb): When changing spinbutton we try
to change the rate on the fly.
Original commit message from CVS:
2006-10-10 Zaheer Abbas Merali <zaheerabbas at merali dot org>
Patch by: Josep Torre Valles <josep@fluendo.com>
* ext/gnomevfs/gstgnomevfssink.c:
* ext/gnomevfs/gstgnomevfssrc.c:
Fix URI interface implementation return type.
* ext/pango/gsttextoverlay.c: (gst_text_overlay_set_property):
Fix what looks like a copy/paste issue when assigning values.
* gst-libs/gst/audio/gstaudiofiltertemplate.c:
(gst_audio_filter_template_get_type):
Cast to prevent Forte warnings.
* gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_create):
Fix URI interface implementation return type.
gst_pad_query_position requires a signed integer pointer as
3rd parameter, GstClockTime is unsigned.
* gst/audioconvert/audioconvert.c:
Fix integer overflow when treated as signed.
* gst/audioresample/resample.c: (resample_add_input_data):
Cast to prevent warnings on Forte.
* gst/ffmpegcolorspace/imgconvert.c: (build_rgb_palette):
Fix integer overflow when treated as signed.
* gst/ffmpegcolorspace/imgconvert_template.h:
Fix integer overflow when treated as signed. RGBA_OUT shifts bits.
* gst/playback/gstdecodebin.c: (queue_filled_cb),
(cleanup_decodebin):
Who initialises a guint to -1!
Cast function pointers to prevent warnings on Forte.
* gst/playback/gstplaybasebin.c: (queue_deadlock_check),
(queue_threshold_reached):
Cast function pointers correctly to prevent warnings on Forte.
* gst/playback/gststreaminfo.c: (gst_stream_info_dispose):
Cast function pointers correctly to prevent warnings on Forte.
* gst/subparse/gstssaparse.c: (gst_ssa_parse_setcaps):
Obvious change to unsigned, 0xEF > max signed char.
* gst/tcp/gstmultifdsink.c: (get_buffers_max), (count_burst_unit):
GstClockTime is unsigned, initialise correctly.
* gst/tcp/gsttcp.c: (gst_tcp_socket_write):
Cast so pointer arithemetic doesn't cause warnings on Forte.
* gst/videorate/gstvideorate.c:
Use correct return value.
* tests/examples/seek/scrubby.c:
GstClockTime is unsigned, initialise correctly.
Original commit message from CVS:
Patch by: Ferenc Gerlits <fgerlits at gmail com>
* gst/typefind/gsttypefindfunctions.c:
Recognise XML files and XML-like files shorter than 256 bytes as
well (fixes#359237).
Original commit message from CVS:
* gst-libs/gst/interfaces/xoverlay.c:
(gst_x_overlay_set_xwindow_id), (gst_x_overlay_expose):
Some more guards against invalid input.
Original commit message from CVS:
2006-10-07 Julien MOUTTE <julien@moutte.net>
* ext/pango/gsttextoverlay.c: (gst_text_overlay_text_event):
Useless goto.
* tests/examples/seek/seek.c: (do_seek),
(rate_spinbutton_changed_cb), (main): Add a rate spinbutton in
seek example to experiment with rates != 1.0 (reverse playback
!)
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (gst_decode_bin_init),
(close_pad_link):
* gst/playback/gstplaybasebin.c: (new_decoded_pad_full):
Activate dynamic pads before adding them to the element.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_change_state):
Also call parent state change function to activate pads.
* gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset),
(mpeg1_parse_header), (mpeg1_sys_type_find):
Add some more debug info in mpeg typefinding.
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_dec_chain):
Zero byte theora packets are valid and well-defined; don't warn on
them.
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init),
(gst_multi_fd_sink_get_stats), (find_limits),
(gst_multi_fd_sink_queue_buffer):
API: add dropped_buffers to the get-stats GValueArray
Original commit message from CVS:
Patch by: James "Doc" Livingston <doclivingston at gmail com>
* ext/vorbis/Makefile.am:
* ext/vorbis/vorbis.c: (plugin_init):
* ext/vorbis/vorbisparse.c: (gst_vorbis_parse_class_init),
(vorbis_parse_parse_packet), (vorbis_parse_chain):
* ext/vorbis/vorbisparse.h:
* ext/vorbis/vorbistag.c: (gst_vorbis_tag_base_init),
(gst_vorbis_tag_class_init), (gst_vorbis_tag_init),
(gst_vorbis_tag_parse_packet):
* ext/vorbis/vorbistag.h:
Add new vorbistag element which derives from vorbisparse
and is essentially the same as well, only that it implements
the GstTagSetter interface and can modify the stream's
vorbiscomment on the fly (#335635).
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/vorbistag.c: (setup_vorbistag),
(cleanup_vorbistag), (buffer_probe), (start_pipeline),
(get_buffer), (stop_pipeline), (_create_codebook_header_buffer),
(_create_audio_buffer), (GST_START_TEST), (vorbistag_suite):
Add unit test for new vorbistag element.
Original commit message from CVS:
* ext/vorbis/vorbisparse.c: (gst_vorbis_parse_init),
(vorbis_parse_push_headers), (vorbis_parse_chain):
Set BOS flag in packet structure to fix 'jump depends
on unitialized value' errors in valgrind; various minor
clean-ups.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (close_pad_link):
Fix typo in a debug statement.
* gst/playback/gstplaybasebin.c: (probe_triggered),
(new_decoded_pad_full), (new_decoded_pad), (subs_new_decoded_pad),
(gen_source_element), (source_new_pad), (analyse_source),
(setup_source):
When handling no_more_pads in new_decoded_pad, make sure to treat
subtitle pads correctly. Fixes playback with subtitle files.
Move a recurring message to LOG level.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support):
The maximum value for the Xv colorkey on this Radeon is 0xFFFFFFFF,
which ends up as -1 when cast to an int. Make the logic handle the
max value as an unsigned mask and only change the colorkey when it's
a value we recognise.
Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_request_new_pad),
(gst_ogg_mux_release_pad), (gst_ogg_mux_push_buffer),
(gst_ogg_mux_compare_pads), (gst_ogg_mux_queue_pads),
(gst_ogg_mux_send_headers), (gst_ogg_mux_process_best_pad),
(gst_ogg_mux_collected):
Commit patch from James "Doc" Livingston, adds proper EOS handling
in oggmux. GStreamer can, for the first time ever, create a valid
Ogg file! Yay!
* tests/check/pipelines/oggmux.c: (check_chain_final_state),
(oggmux_suite):
Reenable tests now that they pass.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (dynamic_create), (dynamic_free),
(close_pad_link), (dynamic_remove), (no_more_pads), (new_caps),
(find_dynamic), (unlinked), (close_link):
Implement delayed caps linking needed for element with a lot of
different caps on the src pads that get fixed at runtime.
Improve management of dynamic elements.
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_init),
(group_destroy), (group_commit), (check_queue), (queue_overrun),
(gen_preroll_element), (remove_groups), (unknown_type),
(add_element_stream), (no_more_pads_full), (no_more_pads),
(sub_no_more_pads), (source_no_more_pads), (preroll_unlinked),
(new_decoded_pad), (setup_subtitle), (array_has_value),
(gen_source_element), (source_new_pad), (has_all_raw_caps),
(analyse_source), (remove_decoders), (make_decoder),
(remove_source), (setup_source), (finish_source), (prepare_output),
(gst_play_base_bin_change_state):
* gst/playback/gstplaybasebin.h:
Use more _CAST instead of full type checking casts.
Small cleanups, plug some leaks.
Handle dynamic sources.
Add some helper functions to create lists of strings used for
blacklisting and other stuff.
Refactor some code dealing with analysing the source.
Re-enable sources without pads (like cd:// or other selfcontained
elements).
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
When we have a timestamp, we can still perform clipping.
When we have no clock, we must play the sample ASAP.
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain):
Set caps on outgoing buffers.
* gst/videorate/gstvideorate.c: (gst_video_rate_flush_prev),
(gst_video_rate_event), (gst_video_rate_chain):
* gst/videorate/gstvideorate.h:
Fix videorate some more. Fixes#357977
Original commit message from CVS:
* tests/check/elements/adder.c: (adder_suite):
Don't set timeout to 6 seconds when we're running
in valgrind ... (and how is 6 seconds longer than
the default anyway?)
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_reset),
(gst_audio_rate_sink_event), (gst_audio_rate_convert),
(gst_audio_rate_convert_segments), (gst_audio_rate_chain):
Keep sink and src segment to keep track of time and support more
input formats.
Fix bogus next_offset and run_time calculation, don't understand how
this could have worked before. Fixes#357976.
Remove some unneeded vars.
Original commit message from CVS:
* gst/playback/gstplaybin.c: (remove_sinks):
Only remove visualisation from visbin if there is a visbin (or:
don't throw warnings when closing totem without playing a file).
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
Add some more info in a WARNING.
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_create):
Handle PAUSE in create function, use new -core addition to
wait for playing. Fixes pausing and resuming capture from an
audiosrc.
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_commit),
(gst_ring_buffer_read):
Constify some more.
Caller supports interrupted reads now.
Original commit message from CVS:
Patch by: Jonathan Matthew <jonathan@kaolin.wh9.net>
* ext/libvisual/visual.c: (gst_visual_clear_actors),
(gst_visual_chain), (gst_visual_change_state):
Libvisual plugin was not passing audio data to libvisual 0.4.0
correctly. Fixes#357800
Original commit message from CVS:
* tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
Add timeout to _get_state() so we see which pipeline it is
that causes trouble on the gen64 build bot.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_init), (gst_base_rtp_depayload_push_full),
(gst_base_rtp_depayload_push_ts), (gst_base_rtp_depayload_process),
(gst_base_rtp_depayload_set_gst_timestamp):
the source pad always uses fixed caps.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
* gst-libs/gst/rtp/gstbasertpaudiopayload.h:
Moved AudioCodecType into priv
Renamed all gst_basertpaudiopayload to gst_base_rtp_audio_payload prefixes
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (gst_decode_bin_factory_filter),
(add_fakesink), (remove_fakesink), (pad_probe), (close_pad_link),
(is_demuxer_element), (try_to_link_1), (get_our_ghost_pad),
(new_pad):
Cleanups and small leak fixes.
Added Depayloaders to valid list of autopluggable elements.
Original commit message from CVS:
* gst/playback/gstplaybin.c: (gst_play_bin_class_init),
(gst_play_bin_vis_blocked), (gst_play_bin_set_property),
(gen_video_element), (gen_text_element), (gen_audio_element),
(gen_vis_element), (remove_sinks), (add_sink), (setup_sinks),
(gst_play_bin_set_clock_func), (gst_play_bin_change_state):
Detect NO_PREROLL state change returns and disable clock distribution to
the sinks so that sync is disabled.
Avoid some type checking and do simple casts instead.
Small cleanups, fix some FIXMEs.
Be more robust when linking user specified elements, catch an report
errors. Fixes#357404.
Fix some leaks in the error paths.
Original commit message from CVS:
Patch by: Peter Kjellerstedt <pkj at axis com>
* gst/playback/test.c:
Fix compilation with uClibc and -Werror (#357591).
Original commit message from CVS:
* gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add):
Parse dates that are followed by a time as well (#357532).
* tests/check/libs/tag.c: (test_vorbis_tags):
Add unit test for this.
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c: (make_lossless_changes),
(gst_audio_convert_transform_caps):
* gst/videotestsrc/videotestsrc.c: (gst_video_test_src_unicolor):
* gst/videotestsrc/videotestsrc.h:
A few array const-ifications.
Original commit message from CVS:
* tests/check/Makefile.am:
See if this makes the build bots happy.
* tests/check/libs/cddabasesrc.c:
UTF8-ise my name.
Original commit message from CVS:
Patch by: Young-Ho Cha <ganadist at chollian dot net>
* gst/subparse/samiparse.c: (handle_start_font),
(fix_invalid_entities):
More case-insensitivity for certain tags; recognise entities with
decimal codes as special entities as well (#357330).
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/cdda/Makefile.am:
* gst-libs/gst/cdda/gstcddabasesrc.c:
(gst_cdda_base_src_base_init):
* gst-libs/gst/cdda/gstcddabasesrc.h:
* gst-libs/gst/tag/tag.h:
* gst-libs/gst/tag/tags.c: (gst_tag_register_tags_internal),
(gst_tag_register_musicbrainz_tags):
Move GST_TAG_CDDA_* tags into libgsttag and make libgstcddabasesrc
depend on libgsttag. This is required so we can extract/read tags like
DISCID without depending on libgstcddabasesrc (which used to register
them).
* gst-libs/gst/tag/gstvorbistag.c:
Add vorbiscomment mapping for CDDB_DISCID and MUSICBRAINZ_DISCID
tags (also see #347848).
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_metadata_set1):
Log vorbis comments we are actually writing. Const-ify array.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (gen_preroll_element):
Improve buffering a bit by avoiding a deadlock because we cannot assume
the underrun is always called.
Original commit message from CVS:
Patch by: Young-Ho Cha <ganadist at chollian dot net>
* gst-libs/gst/riff/riff-ids.h:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps),
(gst_riff_create_audio_template_caps):
Added MPEG-4 AAC and id and caps. Fixes#357289
Added WMA9 Lossless id.
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssrc.c:
Fix misleading docs addition.
* tests/check/elements/videotestsrc.c: (check_rgb_buf):
Get rid of compiler warning the right way.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_finalize),
(gst_base_rtp_depayload_setcaps), (gst_base_rtp_depayload_chain),
(gst_base_rtp_depayload_push_full),
(gst_base_rtp_depayload_push_ts), (gst_base_rtp_depayload_push),
(gst_base_rtp_depayload_process),
(gst_base_rtp_depayload_set_gst_timestamp),
(gst_base_rtp_depayload_queue_release):
* gst-libs/gst/rtp/gstbasertpdepayload.h:
Small cleanups.
Fix some leaks.
Refactored the process method and added methods to push from the process
vmethod.
Use _scale functions.
API: gst_base_rtp_depayload_push_ts
API: gst_base_rtp_depayload_push
* gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_push):
timestamps are uint.
Original commit message from CVS:
* gst-libs/gst/interfaces/videoorientation.c:
(gst_video_orientation_iface_init),
(gst_video_orientation_get_hflip),
(gst_video_orientation_get_vflip),
(gst_video_orientation_get_hcenter),
(gst_video_orientation_get_vcenter),
(gst_video_orientation_set_hflip),
(gst_video_orientation_set_vflip),
(gst_video_orientation_set_hcenter),
(gst_video_orientation_set_vcenter):
Add since tags to new API docs, ChangeLog surgery (forgot API keyword
in ChangeLog)
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/ffmpegcolorspace.c: (rgb_format_to_caps),
(create_rgb_conversions), (rgb_conversion_free),
(right_shift_colour), (fix_expected_colour), (check_rgb_buf),
(got_buf_cb), (GST_START_TEST), (ffmpegcolorspace_suite):
Add unit test for ffmpegcolorspace (RGB <=> RGB only so far),
but disable for now since it doesn't pass (something wrong with
RGBA somewhere).
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (group_commit),
(queue_deadlock_check), (queue_overrun), (queue_threshold_reached),
(queue_out_of_data), (gen_preroll_element),
(preroll_remove_overrun), (probe_triggered):
Refactor handling of overrun detection.
Separate handling of group completion and deadlock detection when doing
network buffering. This should fix some deadlocks that were not detected
because the group was completed.
Add more comments, improve debugging.
Original commit message from CVS:
* gst-libs/gst/audio/gstringbuffer.c:
(gst_ring_buffer_samples_done), (gst_ring_buffer_commit),
(gst_ring_buffer_read):
Early morning compilation fix.
Original commit message from CVS:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support),
(gst_xvimagesink_get_times):
change colorkey behaviour back according to #354773 comment 6/7
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_sync_method_get_type),
(gst_multi_fd_sink_class_init), (get_buffers_max), (find_limits),
(gst_multi_fd_sink_recover_client),
(gst_multi_fd_sink_queue_buffer), (gst_multi_fd_sink_set_property),
(gst_multi_fd_sink_get_property):
* gst/tcp/gstmultifdsink.h:
Implement stubbed out properties unit-type, units-soft-max,
units-max, to allow specifying maximum sizes in units other than
buffers.
Fixes#355935
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps),
(gst_riff_create_audio_template_caps):
Reorder the audio formats a bit for clarity.
Detect and create caps for MSGSM and MSN (WAV49).
Fixes#356596.
* sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy),
(gst_xvimagesink_check_xshm_calls), (gst_xvimagesink_xvimage_new),
(gst_xvimagesink_get_xv_support), (gst_xvimagesink_show_frame):
Small cleanups, move error handling out of normal flow for clarity.
Original commit message from CVS:
* gst/videotestsrc/gstvideotestsrc.c:
Use G_UNLIKELY in _create and log one more detail.
(gst_video_test_src_get_times), (gst_video_test_src_create):
* sys/ximage/ximagesink.c: (gst_ximagesink_get_times):
Use gst_util_uint64_scale_int in _get_times().
Original commit message from CVS:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support),
(gst_xvimagesink_get_times):
xvimage assumed that XV_COLORKEY can be set in RGB888 format (fixes
#354773), use gst_util_uint64_scale_int in _get_times()
Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_push_buffer):
Timestamps are unsigned; comparision against GST_CLOCK_TIME_NONE was
always true, leading to dropping all timestamps.
Original commit message from CVS:
* ext/libvisual/visual.c: (gst_vis_src_negotiate),
(gst_visual_chain), (gst_visual_change_state):
update to work also with libvisual 0.4 API
* tools/gst-launch-ext.1.in:
* tools/gst-visualise.1.in:
remove references to old man-pages
* tests/examples/seek/seek.c: (main):
add real meadi-buttons, add tool-tips for the seek-options, arrange
seek options in a table
Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_clear),
(gst_ogg_mux_push_buffer):
Don't generate out-of-order timestamps from oggmux, instead clamp
output timestamps to be >= the previously output ts.
Fixes#355595
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_sync_method_get_type),
(gst_multi_fd_sink_class_init):
Updates, fixes, and typo corrections for multifdsink. No functional
changes.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (ogganx_type_find):
Don't crash on truncated files - check that we got an 8 byte buffer
before trying to memcmp it.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (get_active_source):
Make stream-switching appear instant to the application
(ie. make sure that a g_object_get on 'current-foo' returns
the stream previously set with g_object_set(). Totem needs
this to update stream-related meta-info (like audio-codec)
correctly when switching streams.
Original commit message from CVS:
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_find_master_mixer),
(gst_alsa_mixer_ensure_track_list):
Try harder to guess which mixer track is the master mixer
track (instead of just taking the first one that has a pvolume).
Fixes#342228.
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c: (set_structure_widths),
(gst_audio_convert_transform_caps):
Get structure-name just once.
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssrc.c:
Add docs about icydemux usage in connection with gnomevfssrc
* ext/libvisual/visual.c:
* ext/ogg/gstoggaviparse.c:
* ext/ogg/gstoggdemux.c:
* ext/ogg/gstoggmux.c:
* ext/ogg/gstoggparse.c:
* gst-libs/gst/audio/gstaudiofiltertemplate.c:
* gst-libs/gst/audio/gstaudiosink.c:
* gst-libs/gst/audio/gstaudiosrc.c:
* gst/audiorate/gstaudiorate.c:
More G_OBJECT macro fixing.
* gst/audiotestsrc/gstaudiotestsrc.h:
Fix wrong info in header due to copy & paste
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_get_time), (gst_base_audio_sink_callback):
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_get_time), (gst_base_audio_src_fixate),
(gst_base_audio_src_get_times), (gst_base_audio_src_get_offset),
(gst_base_audio_src_create), (gst_base_audio_src_change_state):
Do the delay calculation in the source/sink base classes as this is
specific for the capture/playback mode.
Try to fixate a bit better, like round depth up to a multiple of 8
bigger than width.
Handle underruns correctly by marking DISCONT on buffers and adjusting
timestamps to handle the gap.
Set offset/offset_end correctly on buffers.
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_pause),
(gst_ring_buffer_samples_done), (gst_ring_buffer_commit),
(gst_ring_buffer_read):
Remove resync and underrun recovery from the ringbuffer.
Fix ringbuffer read code on under/overrun.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
(gst_play_base_bin_init), (fill_buffer), (check_queue),
(queue_threshold_reached), (gst_play_base_bin_set_property),
(gst_play_base_bin_get_property):
* gst/playback/gstplaybasebin.h:
Don't use a 0 low watermark when buffering, it is catching starvation
way too late. Instead, use a 3 second queue with 30 and 95
percent low/high watermarks.
Added queue-min-threshold property to configure low watermark.
Use new _buffering message API.
Make queue_threshold variable big enough to store a uint64 time value.
API: playbin::queue-min-threshold property.
Original commit message from CVS:
* configure.ac:
We require 0.10.10.1 now because of _wait_preroll().
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
Use gst_base_sink_wait_preroll().
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (xrun_recovery), (gst_alsasink_write):
* ext/alsa/gstalsasrc.c: (xrun_recovery), (gst_alsasrc_read):
Use DEBUG_OBJECT more.
Original commit message from CVS:
patch by: Michael Smith <msmith at fluendo dot com>
* gst/tcp/gstmultifdsink.c: (is_sync_frame),
(gst_multi_fd_sink_client_queue_buffer),
(gst_multi_fd_sink_new_client):
* tests/check/elements/multifdsink.c: (GST_START_TEST),
(multifdsink_suite):
Fix implementation of sync-method 'next-keyframe'
Original commit message from CVS:
patch by: Wim Taymans <wim at fluendo dot com>
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_start):
This patch removes the RANDOM flag that was incorrectly introduced with
revision 1.91. Fixes#354590
Original commit message from CVS:
Patch by: James Livingston <doclivingston at gmail.com>
* tests/check/Makefile.am:
* tests/check/pipelines/.cvsignore:
* tests/check/pipelines/oggmux.c: (get_page_codec),
(check_chain_final_state), (fail_if_audio), (validate_ogg_page),
(eos_buffer_probe), (start_pipeline), (stop_pipeline), (eos_watch),
(test_pipeline), (test_vorbis), (test_theora), (test_vorbis_theora),
(test_theora_vorbis), (oggmux_suite):
Add simple unit test for oggmux from #337026 with checking for the
EOS flags disabled for the time being.
Original commit message from CVS:
* tests/check/elements/videotestsrc.c: (check_rgb_buf):
Returning a return value often helps. In this case, we
don't need the return value anyway, so just get rid of it.
Should make build bots much happier.
Original commit message from CVS:
* gst/videotestsrc/videotestsrc.c: (paintinfo_find_by_structure),
(paint_get_structure), (gst_video_test_src_get_size),
(gst_video_test_src_smpte), (gst_video_test_src_snow),
(gst_video_test_src_unicolor), (paint_setup_AYUV),
(paint_hline_AYUV), (paint_setup_ARGB8888), (paint_setup_ABGR8888),
(paint_setup_RGBA8888), (paint_setup_BGRA8888), (paint_hline_str4):
* gst/videotestsrc/videotestsrc.h:
Add support for AYUV and the various RGBA formats. Initialise
fields of paintinfo structs allocated on the stack.
* tests/check/elements/videotestsrc.c: (right_shift_colour),
(fix_expected_colour), (check_rgb_buf), (got_buf_cb),
(GST_START_TEST), (videotestsrc_suite):
Add unit tests for videotestsrc's RGB output.
Original commit message from CVS:
* gst/adder/gstadder.c: (forward_event_func),
(gst_adder_src_event), (gst_adder_collected),
(gst_adder_change_state):
* gst/adder/gstadder.h:
Remember the start position asked in the incoming seeks, so we can
output GST_EVENT_NEW_SEGMENT with a correct position value (instead
of assuming it will always be 0).
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_init),
(gst_ogg_demux_finalize), (gst_ogg_demux_perform_seek),
(gst_ogg_demux_loop):
Send the GST_EVENT_NEW_SEGMENT from the streaming thread.
Original commit message from CVS:
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
(gst_ffmpegcsp_get_unit_size):
Return FALSE instead of returning a random false unit
size when the format isn't known/supported (even if
this shouldn't happen under normal circumstances).
Original commit message from CVS:
Patch by: Tim-Philipp Müller <tim at centricular dot net>
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_create),
(gst_gnome_vfs_src_start):
Try harder to get the size from a uri by using _info_uri() when
_info_from_handle() does not give us enough info.
Also follow symlinks when getting the size.
Partially Fixes#332864.
Original commit message from CVS:
Patch by: Viktor Peters <viktor dot peters at gmail dot com>
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_ensure_track_list),
(gst_alsa_mixer_update), (gst_alsa_mixer_get_volume),
(gst_alsa_mixer_set_volume), (gst_alsa_mixer_set_mute),
(gst_alsa_mixer_set_record):
* ext/alsa/gstalsamixertrack.c:
(gst_alsa_mixer_track_update_alsa_capabilities),
(alsa_track_has_cap), (gst_alsa_mixer_track_new),
(gst_alsa_mixer_track_update):
* ext/alsa/gstalsamixertrack.h:
Improve and fix mixer track handling, in particular better handling
of alsa's pvolume/pswitch/cvolume/cswitch capabilities; create separate
track objects for tracks that have both capture and playback volume
(and label them differently as well so they're not mistakenly
assumed to be duplicates); classify mixer tracks that only affect
the audible volume of something (rather than the capture volume)
as playback tracks. Redefine/fix meaning of RECORD and MUTE flags
for capture tracks to correspond to alsa-pswitch alsa-cswitch
(following the meaning documented in the mixer interface header
file); add support for alsa's exclusive cswitch groups; update/sync
state/flags better if mixer settings are changed by another
application. Fixes#336075.
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_push_buffer),
(gst_vorbis_enc_buffer_check_discontinuous),
(gst_vorbis_enc_chain):
Ignore explicit DISCONT marked on buffers (which is often spurious,
particularly when using multiple segments), in favour of solely
using the timestamps/durations.
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain):
Don't rely on incoming buffers offset anymore, since it is completely
broken when using multiple segments.
Instead convert the incoming buffers timestamp to running time, and
then convert that value to the offsets.
Also inform GstSegment of the last outputted stop position, which is
needed if we received several segments with an unknown stop value.
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_sink_event),
(gst_audio_rate_chain):
Make the metadata of the buffer writable before changing its
flags.
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_reset),
(gst_audio_rate_setcaps), (gst_audio_rate_init),
(gst_audio_rate_sink_event), (gst_audio_rate_src_event),
(gst_audio_rate_chain), (gst_audio_rate_change_state):
Fix audiorate some more.
Reset and resync counters on flush and READY.
Handle the DISCONT flag correctly.
Use GstSegment to track position.
Fail when not negotiated.
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_render):
Small cleanups.
If a buffer is received with no caps, make the buffer metadata
writable and set the caps, making sure that we don't screw up the
refcounts.
Original commit message from CVS:
* gst/gdp/gstgdppay.c: (gst_gdp_pay_reset),
(gst_gdp_pay_reset_streamheader), (gst_gdp_pay_chain):
Fix memory leaks and misleading debug messages, add a couple of
comments.
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_get_stats),
(gst_multi_fd_sink_render):
Do not use gst_buffer_make_writable() in a basesink render method,
as it may incorrectly unref the buffer. Instead, use convoluted
dance to avoid copying the buffer except when we need to.
Original commit message from CVS:
* ext/vorbis/vorbisenc.c:
(gst_vorbis_enc_buffer_check_discontinuous):
Allow very small discontinuities in the timestamps. These we can't
do anything useful with anyway (because vorbis's timestamps have
only sample granularity), and are commonly produced by elements with
minor bugs. Allow up to 1/2 a sample out.
Fixes#351742.
Original commit message from CVS:
* tests/examples/seek/seek.c: (seek_cb), (start_seek), (stop_seek),
(play_scrub_toggle_cb), (main):
Add a checkbox to enable play scrubbing. Makes it possible to disable
normal scrubbing.
Original commit message from CVS:
* ext/ogg/gstogmparse.c: (gst_ogm_audio_parse_base_init),
(gst_ogm_video_parse_base_init), (gst_ogm_text_parse_base_init),
(gst_ogm_parse_class_init), (gst_ogm_parse_dispose),
(gst_ogm_parse_init), (gst_ogm_audio_parse_init),
(gst_ogm_video_parse_init), (gst_ogm_text_parse_init),
(gst_ogm_parse_stream_header), (gst_ogm_parse_comment_packet),
(gst_ogm_text_parse_strip_trailing_zeroes),
(gst_ogm_parse_data_packet), (gst_ogm_parse_chain),
(gst_ogm_parse_sink_event), (gst_ogm_parse_change_state):
Refactor ogm parse, do better input checking, misc. clean-ups.
Cache incoming events and push them once the source pad has
been created. Don't pass unterminated strings to sscanf().
Strip trailing zeroes from subtitle text output, since they
are not valid UTF-8. Don't push vorbiscomment packets on
the subtitle text pad. Output perfect streams if possible.
Original commit message from CVS:
* tests/check/libs/cddabasesrc.c: (GST_START_TEST):
Waits for tasks to settle down so that we clean up correctly for
valgrind.
Original commit message from CVS:
* tests/check/libs/tag.c: (GST_START_TEST), (taglists_are_equal):
Unit test fixes: \377 is more likely to fit into 8 bits than \777;
actually return return value in taglists_are_equal.
Original commit message from CVS:
* ext/ogg/gstogmparse.c: (gst_ogm_parse_chain):
Fix crash due to broken bitstream parsing on x86-64: can't make
any assumptions about sizeof(struct) due to alignment/packing
differences on different architectures. Fixes#351790.
Original commit message from CVS:
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_chunk),
(gst_riff_parse_chunk), (gst_riff_parse_file_header),
(gst_riff_parse_strh), (gst_riff_parse_strf_vids),
(gst_riff_parse_strf_auds), (gst_riff_parse_strf_iavs),
(gst_riff_parse_info):
Protect public functions against bad input.
Do some cleanups.
Fix documentation.
Original commit message from CVS:
* gst-libs/gst/riff/riff-ids.h:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
Add voxware audio IDs (even if we can't play it) (#351795).
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_template_caps),
(gst_riff_create_audio_template_caps),
(gst_riff_create_iavs_template_caps):
Const-ify some arrays and use G_N_ELEMENTS instead
of wasting oodles of RAM on terminator bits.
Original commit message from CVS:
* gst-libs/gst/tag/gstvorbistag.c:
(gst_tag_list_to_vorbiscomment_buffer):
* tests/check/libs/tag.c: (GST_START_TEST):
And the same for _to_vorbiscomment_buffer(): allow
id_data_len == 0 for speex.
Original commit message from CVS:
* gst-libs/gst/tag/gstvorbistag.c:
(gst_tag_list_from_vorbiscomment_buffer):
Allow id_data_len == 0 (needed for vorbis comments in Speex files).
Also add some checks to make sure we don't memcmp() beyond the end of
vorbiscomment buffer if the ID to check for is larger than the buffer.
* tests/check/libs/tag.c: (GST_START_TEST):
Some more tests for gst_tag_list_from_vorbiscomment_buffer().
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_metadata_set1),
(gst_vorbis_enc_set_metadata):
Use vorbis comment utility functions from libgsttag
instead of re-inventing the wheel (partially fixes#347091).
Original commit message from CVS:
* tests/check/elements/audioconvert.c: (GST_START_TEST):
Fix leaks. Wait for state transitions that might happen ASYNC, as well
as some that won't.
Original commit message from CVS:
* docs/libs/Makefile.am:
* docs/libs/gst-plugins-base-libs-sections.txt:
* docs/libs/gst-plugins-base-libs.types:
Don't try to GObject scan the netbuffer as it's not a GObject.
Fixes#351308.
* gst-libs/gst/netbuffer/gstnetbuffer.c:
* gst-libs/gst/netbuffer/gstnetbuffer.h:
Document GstNetBuffer.
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_get_unit_size), (set_structure_widths):
Lower debug, use g_assert in _get_unit_size
* gst/audioresample/gstaudioresample.c:
(audioresample_get_unit_size):
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
(gst_ffmpegcsp_get_unit_size):
* gst/videoscale/gstvideoscale.c: (gst_video_scale_get_unit_size):
use g_assert in _get_unit_size
Original commit message from CVS:
* gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add),
(gst_tag_to_vorbis_comments):
Serialise unknown vorbis comments into GST_TAG_EXTENDED_COMMENT
tags and deserialise them properly as well (#351768).
Add some more gtk-doc blurbs and also some g_return_if_fail().
* tests/check/libs/tag.c: (GST_START_TEST),
(back_to_vorbis_comments), (taglists_are_equal), (tag_suite):
More tests.
Original commit message from CVS:
* gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_create):
Make buffer durations add up (duration should be next_ts-ts for
perfect streams). Fixes CD ripping to Ogg/Vorbis with vorbisenc
from CVS.
* tests/check/libs/cddabasesrc.c: (gst_cd_foo_src_close),
(test_buffer_timestamps), (cddabasesrc_suite):
Add unit test for the above.
* tests/check/Makefile.am:
Don't know why cddabasesrc test was in VALGRIND_TO_FIX, remove
to see what happens.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_set_property),
(gst_alsasink_open):
* ext/alsa/gstalsasrc.c: (gst_alsasrc_set_property),
(gst_alsasrc_open):
Avoid setting and using a NULL device name.
Print more info when we fail to open a device.
Original commit message from CVS:
* gst/playback/gstplaybin.c: (gst_play_bin_class_init),
(gst_play_bin_set_property), (gst_play_bin_get_property),
(value_list_append_structure_list),
(gst_play_bin_handle_redirect_message),
(gst_play_bin_handle_message):
Add "connection-speed" property; re-order redirect messages with
multiple redirect locations depending on the minimum bitrate if
that information is available and a connection speed is set
(#350399).
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_submit_buffer),
(gst_ogg_demux_get_next_page), (gst_ogg_demux_perform_seek),
(gst_ogg_demux_read_chain), (gst_ogg_demux_loop):
Add some more debug info.
Don't crash when a seek failed.
Actually return the result of the seek instead of TRUE.
Ignore multiple BOS pages with the same serial so that we don't create
the same stream multiple times.
Post an error when we fail to do the initial seek.
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_detect_rates),
(gst_alsa_detect_channels), (gst_alsa_probe_supported_formats):
Small code cleanup.
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_open),
(gst_alsa_mixer_new):
Remove hack that always set the device to hw:0*.
Properly find the card name for whatever device was configured.
Do some better debugging.
Fixes#350784.
* ext/alsa/gstalsamixerelement.c:
(gst_alsa_mixer_element_set_property),
(gst_alsa_mixer_element_change_state):
Cleanups.
Handle setting of a NULL device name better.
Original commit message from CVS:
2006-08-11 Andy Wingo <wingo@pobox.com>
* gst/tcp/gsttcp.h: For now, always disable deprecation here --
fixes the build.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_src_query):
Implement SEEKING query in its most basic form, so that we can
at least check if we're seekable or not (#350655).
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mpeg2_sys_type_find):
The checks here are not even close to anything that would
justify MAXIMUM probability, lowering to POSSIBLE until someone
fixes the checks (case at hand: quicktime redirection files
might start with 00 00 01 XX and pass the checks here just
fine, see #350399).
Original commit message from CVS:
Patch by: Sjoerd Simons <sjoerd at luon net>
* gst/typefind/gsttypefindfunctions.c: (multipart_type_find):
Better detection for multipart/x-mixed-replace: accept leading
whitespaces before the boundary marker as well (as our very own
multipartmux used to produce) (#349068).
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/libs/.cvsignore:
* tests/check/libs/audio.c: (structure_contains_channel_positions),
(fixed_caps_have_channel_positions), (GST_START_TEST),
(audio_suite), (main):
Add a few tests for the channel position stuff in libgstaudio.
Original commit message from CVS:
* ext/alsa/gstalsa.c: (caps_add_channel_configuration),
(gst_alsa_detect_channels):
* ext/alsa/gstalsasink.c:
Add support for cards that (only) do more than 8 channels,
like the Delta 44 (#345188).
* gst-libs/gst/audio/multichannel.c:
(gst_audio_check_channel_positions):
* gst-libs/gst/audio/multichannel.h:
API: add GST_AUDIO_CHANNEL_POSITION_NONE, which stands for an
unspecified channel position and cannot be combined with any
of the other audio channel positions; adjust position layout
checks accordingly (#345188).
Original commit message from CVS:
Patch by: Jens Granseuer <jensgr at gmx net>
* gst/typefind/gsttypefindfunctions.c: (plugin_init):
Add typefinder for Interplay's MVE format (#348973).
Original commit message from CVS:
* gst/audioresample/gstaudioresample.c: (audioresample_stop),
(audioresample_set_caps):
Don't leak references to the incoming caps. Clean them up when
stopping.
* gst/videoscale/gstvideoscale.c: (gst_video_scale_class_init),
(gst_video_scale_finalize):
Don't leak our temporary pixel buffer.
* tests/check/Makefile.am:
* tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
(GST_START_TEST), (simple_launch_lines_suite):
Fix leaks and re-enable the test for valgrind checking.
Original commit message from CVS:
Patch by: Sjoerd Simons <sjoerd at luon net>
* gst/typefind/gsttypefindfunctions.c: (multipart_type_find),
(plugin_init):
Add typefind function for multipart/x-mixed-replace (#348916).
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_setcaps),
(gst_adder_query_duration):
Fix leak in duration query.
Reflow some docs and notes.
Original commit message from CVS:
* tests/check/pipelines/vorbisenc.c: (GST_START_TEST),
(vorbisenc_suite):
Enable Andy's extra vorbisenc test, now that it passes. Also fix one
aspect of it.
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_generate_sink_caps),
(gst_vorbis_enc_sink_getcaps), (gst_vorbis_enc_buffer_from_packet),
(gst_vorbis_enc_push_buffer),
(gst_vorbis_enc_buffer_check_discontinuous),
(gst_vorbis_enc_chain), (gst_vorbis_enc_change_state):
* ext/vorbis/vorbisenc.h:
Handle discontinuities in the input vorbis stream correctly,
so that the output is properly timestamped (and has good granulepos
values). Needs some oggmux fixes too.
Original commit message from CVS:
patch by: Kai Vehmanen <kv2004 eca cx>
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_chain),
(gst_base_rtp_depayload_handle_sink_event),
(gst_base_rtp_depayload_change_state):
Don't send multiple newsegments with different formats.
Fixes#348677.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_internal_chain),
(gst_ogg_demux_do_seek), (gst_ogg_demux_read_chain):
Make seeking in ogg more accurate again by doing the more correct
granuletime to stream time conversion.
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_add_full),
(gst_multi_fd_sink_new_client):
debug a little more understandably
do not use goto as a substitute for break, especially if
break is also being used
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
Don't try to align a sample to an unknown value.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_provide_clock), (gst_base_audio_sink_render):
When the audio clock is slaved to another clock, never try to align
samples but trust the rate interpolation algorithm.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (set_hwparams), (gst_alsasink_prepare):
Don't try to calculate silence samples, base class does this much
better now.
* gst-libs/gst/audio/gstringbuffer.c: (build_linear_format),
(gst_ring_buffer_debug_spec_caps), (gst_ring_buffer_parse_caps),
(gst_ring_buffer_acquire):
Calculate silence samples correctly.
* gst-libs/gst/audio/gstringbuffer.h:
Add _CAST macro.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (xml_check_first_element):
Limit search for the first markup tag to the first few kB of
the file. If we don't find one there, it's highly unlikely that
this is an XML(-ish) file.
Original commit message from CVS:
2006-07-21 Andy Wingo <wingo@pobox.com>
* tests/check/pipelines/theoraenc.c (test_discontinuity): Similar
test to the one in vorbisenc. Also commented out.
Original commit message from CVS:
2006-07-21 Andy Wingo <wingo@pobox.com>
* tests/check/pipelines/vorbisenc.c:
(test_discontinuity): New test, commented out until Mike lands
some elite vorbisenc patches.
Original commit message from CVS:
2006-07-21 Andy Wingo <wingo@pobox.com>
* tests/check/pipelines/vorbisenc.c:
* tests/check/pipelines/theoraenc.c: Port to bufferstraw.
Bufferstraw was actually factored out of these tests. Now we share
code yay.
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiosink.c: (audioringbuffer_thread_func),
(gst_audioringbuffer_finalize), (gst_audioringbuffer_acquire),
(gst_audioringbuffer_release), (gst_audioringbuffer_stop):
Fix leak.
Avoid type casting when we can.
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_dispose):
Fix mem leak.
Original commit message from CVS:
* ext/alsa/gstalsamixerelement.c:
(gst_alsa_mixer_element_change_state):
Make state change fail if the specified device can't be opened
for some reason.
Original commit message from CVS:
* gst/playback/test.c: (gen_video_element), (gen_audio_element),
(cb_newpad), (main):
Example of a small audio/video player using decodebin.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_chain),
(gst_base_rtp_depayload_change_state):
Don't assert when not negotiated but post a meaningfull
error message. Fixes#347918.
* gst-libs/gst/rtp/gstbasertppayload.c:
Add comment about better default MTU size.
* gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_validate_data):
Small cleanups, start docs.
Original commit message from CVS:
Patch by: Martin Szulecki
* sys/v4l/gstv4lelement.c: (gst_v4lelement_get_property):
If "device-name" is requested and the device is not
open, try to temporarily open it to obtain this
information (#342494).
Original commit message from CVS:
* gst-libs/gst/tag/gstid3tag.c:
Add TSSE <=> GST_TAG_ENCODER mapping (see #347898).
* gst-libs/gst/tag/gsttageditingprivate.h:
* gst-libs/gst/tag/gstvorbistag.c:
Some more random const-ifications.
Original commit message from CVS:
* gst-libs/gst/riff/riff-ids.h:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_template_caps):
Add more FOURCCs (sort list to make stuff easier to find),
add comment what those 16 bytes in struct _gst_riff_strh according to
one avi-dumper are
Original commit message from CVS:
* gst-libs/gst/audio/multichannel.c:
(gst_audio_check_channel_positions),
(gst_audio_fixate_channel_positions):
Const-ify two arrays.
Original commit message from CVS:
* ext/alsa/gstalsa.c: (caps_add_channel_configuration):
Fix typo, so that alsasink also advertises 8 channels
if that's supported (tags: can, worms, open, alsa, ph34r).
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_internal_chain),
(gst_ogg_pad_submit_packet), (gst_ogg_demux_read_chain):
*sigh*, when is the compiler going to warn when the comments
are out-of-sync with the code.. Refix case of busted theora
headers with 0 granule pos.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_wait),
(gst_base_rtp_depayload_change_state),
(gst_base_rtp_depayload_set_property),
(gst_base_rtp_depayload_get_property):
Fix 99% cpu load by waiting for absolute times on the
clock. Fixes#347300.
Original commit message from CVS:
2006-07-14 Andy Wingo <wingo@pobox.com>
* ext/theora/gsttheoraparse.h:
* ext/theora/theoraparse.c (theora_parse_drain_event_queue)
(theora_parse_push_headers, theora_parse_clear_queue)
(theora_parse_drain_queue_prematurely, )
(theora_parse_sink_event, theora_parse_change_state): Queue events
until we initialized our state, like in vorbisparse.
Original commit message from CVS:
2006-07-14 Andy Wingo <wingo@pobox.com>
* ext/vorbis/vorbisparse.h:
* ext/vorbis/vorbisparse.c (vorbis_parse_drain_event_queue)
(vorbis_parse_push_headers, vorbis_parse_clear_queue)
(vorbis_parse_drain_queue_prematurely, )
(vorbis_parse_sink_event, vorbis_parse_change_state): Queue events
until we have initialized our state. Fixes seeking after an
initial pad block.
2006-07-14 Andy Wingo <wingo@pobox.com>
Patch by: Iain * <iaingnome@gmail.com>
* ext/ogg/gstoggdemux.c (gst_ogg_demux_finalize): Fix memleak.
Original commit message from CVS:
* tests/check/pipelines/vorbisenc.c: (stop_pipeline):
Move a g_cond_signal to earlier to avoid sometimes deadlocking
(commonly happens when running this test under valgrind) when trying
to remove the buffer probe.
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_ximage_new),
(gst_ximagesink_change_state):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new),
(gst_xvimagesink_change_state):
Implement a locking order to ensure we always take the object lock
before the x_lock and never vice-versa.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (find_compatibles):
Fix a caps leak when linking (#347304)
* sys/ximage/ximagesink.c: (gst_ximage_buffer_finalize),
(gst_ximagesink_ximage_destroy), (gst_ximagesink_xcontext_clear),
(gst_ximagesink_change_state):
* sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy),
(gst_xvimage_buffer_finalize), (gst_xvimagesink_check_xshm_calls),
(gst_xvimagesink_xvimage_new), (gst_xvimagesink_xvimage_put),
(gst_xvimagesink_xcontext_clear), (gst_xvimagesink_change_state):
Don't leak shared memory resources. Use the object lock to protect
against the xcontext disappearing while returning a buffer from the
pipeline. (#347304)
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_dec_finalize),
(vorbis_handle_comment_packet):
gst_tag_list_merge() returns a new object. Take that into account when
using it. This avoids memleak.
Revert previous commit which is not needed.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_set_clock),
(gst_base_audio_src_check_get_range), (gst_base_audio_src_create):
Don't try to post an error message when setting the clock fails
as this can happen when adding an element to a bin which will then
deadlock. Fixes#347296.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (gst_vorbis_dec_reset),
(vorbis_dec_sink_event), (vorbis_handle_comment_packet),
(vorbis_handle_type_packet):
Post tag messages on the bus even if we're not initialized.
If we're not initialized, we still postpone the event pushing of tags.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (set_hwparams), (gst_alsasink_prepare):
* gst-libs/gst/audio/gstringbuffer.c: (build_linear_format),
(gst_ring_buffer_debug_spec_caps), (gst_ring_buffer_parse_caps):
Revert last two changes that broke the freeze.
Original commit message from CVS:
* gst-libs/gst/audio/gstringbuffer.c: (build_linear_format),
(gst_ring_buffer_debug_spec_caps), (gst_ring_buffer_parse_caps):
Calculate correct silence samples so we don't fill our ringbuffer
with noise.
Original commit message from CVS:
* tests/check/elements/audioconvert.c: (get_float_mc_caps),
(get_int_mc_caps), (GST_START_TEST), (audioconvert_suite):
Patch from #347221 adding a test for audioconvert
channel remappings.
Original commit message from CVS:
* gst/subparse/gstssaparse.c: (gst_ssa_parse_base_init),
(gst_ssa_parse_parse_line):
Don't include the terminating NUL in the buffer size,
it's only there for extra paranoia (would add random
'*' characters at the end of each subtitle since the
terminator itself is not valid UTF-8 technically).
Also fix indenting after boilerplate macro.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (close_pad_link):
Also emit 'unknown-type' signal (which should really be
called unhandled-type) if we found potential decoders/demuxers
in the registry but none of them worked in the end (as in the
case where the plugins don't exist any longer but are still
listed in the registry). Fixes#329798.
Original commit message from CVS:
2006-07-08 Andy Wingo <wingo@pobox.com>
* theoraparse.c (theora_parse_push_buffer)
(theora_parse_drain_queue_prematurely, theora_parse_drain_queue):
Add some more debugging. Fix granulepos reconstruction in the face
of discontinuities.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_class_init),
(gst_base_audio_sink_provide_clock):
Use gobject_class instead of G_OBJECT_CLASS (klass)
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_class_init), (gst_base_audio_src_init),
(gst_base_audio_src_set_clock), (gst_base_audio_src_provide_clock),
(gst_base_audio_src_get_time),
(gst_base_audio_src_check_get_range), (gst_base_audio_src_create),
(gst_base_audio_src_create_ringbuffer):
Fix latency and buffer-time constants and properties ala basesink.
Implement pull based scheduling. Fixes#346527.
Set default blocksize in GstBaseSrc to 0, we default to pushing out
one segment.
Refuse slaving to another clock instead of silently not working.
Only provide a clock when we are actually able to do so.
Various small cleanups and compiler hints.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (utf8_type_find),
(xml_check_first_element), (xml_type_find), (smil_type_find):
Fix SMIL typefinding, make xml_check_first_element() more
useful.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_init),
(gst_play_base_bin_finalize), (decodebin_element_added_cb),
(decodebin_element_removed_cb), (gst_play_base_bin_set_property):
* gst/playback/gstplaybasebin.h:
Protect list of elements with a subtitle-encoding property and
the subtitle encoding member itself with a lock of their own
instead of using the object lock. This prevents a dead-lock in
the element-remove callback in some circumstances when shutting
down playbin.
Original commit message from CVS:
* win32/common/libgsttag.def:
Export some new functions.
* win32/vs6/libgstogg.dsp:
Add a link to libgsttag-0.10.lib.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (is_stream), (gen_source_element):
Improve checking if we are dealing with a stream. Added some
more uris that need buffering.
Original commit message from CVS:
Patch by: Michael Sheldon <webmaster at mikeasoft com>
* ext/alsa/gstalsasrc.c:
Add 32 bps to template caps and increase channels range
from [1,2] to [1,MAX]. See #346326.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (gst_decode_bin_class_init),
(gst_decode_bin_init), (gst_decode_bin_finalize), (add_fakesink),
(remove_fakesink), (pad_probe), (gst_decode_bin_change_state):
Protect remove_fakesink using a mutex, so that we don't try and
remove the fakesink simultaneously from multiple threads.
When going from READY to PAUSED, restore the fakesink, so that
it is there when decodebin gets reused.
Original commit message from CVS:
* gst-libs/gst/tag/tags.c: (register_tag_image_type_enum):
Second field in GEnumValue shouldn't be a description,
but a stringified version of the enum value.
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximage_buffer_finalize),
(gst_ximage_buffer_free), (gst_ximagesink_ximage_put),
(gst_ximagesink_setcaps), (gst_ximagesink_buffer_alloc):
Avoid type checking in buffer casts.
Avoid caps copy in buffer_alloc when we can.
Use pad_peer_accept.
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init):
Fix warnings with gst-inspect: "buffers-min" property
should be of G_TYPE_INT and not G_TYPE_INT64. Also fix
typo in property description.
Original commit message from CVS:
* ext/pango/gsttextoverlay.c: (gst_text_overlay_make_utf8),
(gst_text_overlay_video_chain):
g_markup_escape_text() REALLY doesn't like non-UTF8 input
and doesn't validate its input either (and neither did
textoverlay it seems). Let's do that then and fix#345206.
Original commit message from CVS:
Patch by: Philip Jaegenstedt <philip at lysator dot liu dot se>
* gst/videoscale/gstvideoscale.c: (gst_video_scale_prepare_size),
(gst_video_scale_transform):
Make videoscale support RGBA, ARGB, BGRA and ABGR. Fixes#345131
Original commit message from CVS:
* tests/check/elements/audioresample.c: (test_reuse),
(audioresample_suite):
Add test case for bug #342789 fixed below.
Original commit message from CVS:
* gst/audioresample/gstaudioresample.c:
(gst_audioresample_class_init), (gst_audioresample_init),
(audioresample_start), (audioresample_stop),
(gst_audioresample_set_property), (gst_audioresample_get_property):
Implement GstBaseTransform::start and ::stop so that audioresample
can clear its internal state properly and be reused insted of
causing non-negotiated errors with playbin under some circumstances
(#342789).
* tests/check/elements/audioresample.c: (setup_audioresample),
(cleanup_audioresample):
Need to set element state here so that ::start and ::stop are
called.
Original commit message from CVS:
Patch by: Young-Ho Cha <ganadist at chollian dot net>
* gst-libs/gst/riff/riff-read.c: (gst_riff_parse_strf_vids):
Parse extra data better, apparently it's right behind
the normal strf header size. Fixes#343500.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (set_hwparams):
If we fail to set the buffer_time and period_time alsa
parameters, post a warning and leave alsa select a
default instead of failing. Fixes#342085
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/cdda/gstcddabasesrc.h:
Remove GST_CDDA_TAG_TRACK_TAGS again, it is #ifdef 0'ed
out in the header file and shouldn't be listed in the docs.
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_chunk):
Fix it so that it doesn't crash in the debug statement.
Original commit message from CVS:
* docs/libs/Makefile.am:
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
* docs/libs/gst-plugins-base-libs.types:
add remaining symbols into correct setions
* gst-libs/gst/audio/gstringbuffer.c:
fix incomplete docs
* gst-libs/gst/audio/gstringbuffer.h:
comment out not yet implemented function
* gst-libs/gst/floatcast/floatcast.h:
* gst-libs/gst/netbuffer/gstnetbuffer.c:
add short descriptions
* gst-libs/gst/interfaces/propertyprobe.c:
fix return value docs
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_chunk):
simplify debug logging
* gst-libs/gst/riff/riff-read.h:
sync function prototype and docs
* gst-libs/gst/rtp/gstbasertpaudiopayload.h:
remove left over symbol
Original commit message from CVS:
* autogen.sh:
* configure.ac:
* docs/Makefile.am:
Use GST_PLUGIN_DOCS macro in configure.ac, add
--enable-plugin-docs default to autogen.sh and use
ENABLE_PLUGIN_DOCS conditional in Makefile.am (#344039).
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_chain_peer),
(gst_ogg_demux_activate_chain), (gst_ogg_demux_combine_flows),
(gst_ogg_demux_loop):
Combine GstFlowReturn from the source pads to give a
meaningfull result to the upstream peer or to stop the
processing task in case of errors.
Original commit message from CVS:
* gst/playback/gststreaminfo.c: (cb_probe):
Try GST_TAG_CODEC as fallback when extracting the
codec name; more debug info.
Original commit message from CVS:
* ext/ogg/Makefile.am:
* ext/ogg/gstogmparse.c: (gst_ogm_parse_chain):
Extract language tags from ogm subtitle streams, so that
the subtitle menu choices are labelled correctly in
Totem (fixes#344708).
Original commit message from CVS:
Patch by: Young-Ho Cha <ganadist at chollian net>
* gst/subparse/samiparse.c: (sami_context_pop_state),
(handle_start_font), (end_sami_element):
Honour font face tags in SAMI subtitles (#344503).
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
* docs/libs/gst-plugins-base-libs.types:
first batch of reordering things, add index & hierarchy
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfsuri.c: (gst_gnomevfs_get_supported_uris):
Add support for burn:// URIs (#343385); const-ify things a bit,
use G_N_ELEMENTS instead of hard-coded array size.
Original commit message from CVS:
Patch by: Young-Ho Cha <ganadist at chollian net>
* gst/subparse/samiparse.c: (fix_invalid_entities), (parse_sami):
Fix up broken entities before passing them to libxml *sigh*.
(#343303).
Original commit message from CVS:
* ext/theora/theoraparse.c: (theora_parse_drain_queue_prematurely),
(theora_parse_drain_queue):
Mark DELTA_UNIT on non-keyframes.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_class_init), (gst_base_audio_sink_setcaps):
* gst-libs/gst/audio/gstbaseaudiosink.h:
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_parse_caps),
(gst_ring_buffer_samples_done):
* gst-libs/gst/audio/gstringbuffer.h:
Document better the fact that latency_time and buffer_time are values
stored in microseconds, and not the usual GStreamer nanoseconds.
Change the variables (compatibly) that store them from GstClockTime
to guint64 to make it more clear that they're not storing clock times.
Also, remove the bogus property description that says the user can
specify -1 to get the default value, since that's never been the case.
When computing the default segment size for the ring buffer, make it
an integer number of samples.
When the sub-class indicates a delay greater than the number of
samples we've written return 0 from the audio sink get_time method.
Original commit message from CVS:
* tests/check/elements/audioconvert.c: (set_channel_positions),
(get_float_mc_caps), (get_int_mc_caps):
* tests/check/elements/audioresample.c:
* tests/check/elements/audiotestsrc.c: (GST_START_TEST):
* tests/check/elements/videorate.c:
* tests/check/elements/videotestsrc.c: (GST_START_TEST):
* tests/check/elements/volume.c:
* tests/check/elements/vorbisdec.c:
* tests/check/pipelines/vorbisenc.c: (GST_START_TEST):
Don't busy-wait in tests; this was causing test timeouts very
frequently when running under valgrind.
Original commit message from CVS:
* gst/tcp/README:
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_init),
(gst_multi_fd_sink_remove_client_link),
(gst_multi_fd_sink_client_queue_caps),
(gst_multi_fd_sink_client_queue_buffer),
(gst_multi_fd_sink_handle_client_write),
(gst_multi_fd_sink_render):
* gst/tcp/gstmultifdsink.h:
make multifdsink properly deal with streamheader:
- streamheader is taken from caps
- buffers marked with IN_CAPS are not sent
- streamheaders are sent, on connection, from the caps of the
buffer where the client gets positioned to
- further streamheader changes are done every time the client
will receive a buffer with different caps
* tests/check/elements/multifdsink.c: (GST_START_TEST),
(gst_multifdsink_create_streamheader):
add tests for this
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_handle_identification_packet):
Reinstate limit on channel count. Vorbis does not define the meaning
of > 6 channels, so they're just independent channels. Gstreamer
currently has no mechanism to represent N independent channels.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_handle_identification_packet):
Don't arbitrarily restrict channel counts and rate in vorbis.
In terms of effects likely on real-world files, this fixes 96kHz
playback of vorbis.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_perform_seek):
Don't accidently send GST_CLOCK_TIME_NONE as a new segment start
value. Fixes g-critical on trying to play back ogg containing
unknown codec.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (group_create), (group_commit),
(setup_source):
* gst/playback/gstplaybasebin.h:
Make the subtitle detection work from any thread so we don't
deadlock. Fixes#343397.
Original commit message from CVS:
* gst/volume/Makefile.am:
Seriously, it's not *that* hard to get compilation right. Even
a drunk can do it ! Add LIBOIL CFLAGS and LIBS
Original commit message from CVS:
* gst/volume/gstvolume.c: (volume_choose_func),
(volume_update_real_volume), (gst_volume_class_init),
(gst_volume_init), (volume_process_float), (volume_process_int16),
(volume_process_int16_clamp), (volume_set_caps),
(volume_transform_ip), (plugin_init):
* gst/volume/gstvolume.h:
rewrite the passthrough check, split _int16 and _int16_clamp, fix
another property desc., remove unused param from process function
* tests/check/elements/volume.c: (volume_suite):
reactivate the passthrough test
Original commit message from CVS:
* ext/libvisual/visual.c: (gst_visual_reset),
(gst_visual_sink_setcaps), (gst_visual_sink_event),
(gst_visual_src_event), (get_buffer), (gst_visual_chain):
Handle DISCONT.
Use running time before doing QoS.
Handle mono too.
Original commit message from CVS:
* win32/common/libgstvideo.def:
export gst_video_calculate_display_ratio
* win32/vs6/libgstvideoscale.dsp:
add link to libgstvideo-0.10.lib
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (gen_source_element):
Throw a more comprehensible error for rtsp:// URIs (rather
than erroring out with a negotiation error later on) until
we fix playbin to handle rtspsrc etc.
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (raw_caps_factory),
(gst_vorbis_enc_class_init), (gst_vorbis_enc_dispose),
(gst_vorbis_enc_generate_sink_caps), (gst_vorbis_enc_sink_getcaps),
(gst_vorbis_enc_init), (gst_vorbis_enc_buffer_from_header_packet),
(gst_vorbis_enc_chain), (gst_vorbis_enc_change_state):
* ext/vorbis/vorbisenc.h:
Multi-channel caps negotiation, so we can do proper multichannel
vorbis encoding, negotiated through audioconvert.
Original commit message from CVS:
* tests/check/elements/adder.c: (test_event_message_received),
(test_play_twice_message_received), (GST_START_TEST),
(adder_suite):
Added check to show that #339935 is fixed with ongoing
adder and collectpads fixes.
Original commit message from CVS:
Patch by: Young-Ho Cha <ganadist at chollian net>
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
(gst_play_base_bin_init), (gst_play_base_bin_dispose),
(set_encoding_element), (decodebin_element_added_cb),
(decodebin_element_removed_cb), (setup_subtitle), (setup_source),
(gst_play_base_bin_set_property), (gst_play_base_bin_get_property):
* gst/playback/gstplaybasebin.h:
Add 'subtitle-encoding' property to playbin, so applications can
force a subtitle encoding for non-UTF8 subtitles (#342268).
* gst/subparse/gstsubparse.c: (gst_sub_parse_class_init),
(gst_sub_parse_set_property):
Rename recently-added 'encoding' property to 'subtitle-encoding'
(so it can be proxied by playbin/decodebin in a generic way
with less danger of false positives).
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c: (make_lossless_changes),
(append_with_other_format), (set_structure_widths),
(gst_audio_convert_transform_caps):
Patch from #341562: give more specific audio caps in get_caps, so
that basetransform can make better decisions on what caps to
negotiate.
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_get_type):
Make it easier to copy&paste
* gst/volume/Makefile.am:
* gst/volume/gstvolume.c: (volume_update_real_volume),
(gst_volume_set_volume), (gst_volume_set_mute),
(gst_volume_class_init), (volume_process_int16), (volume_set_caps),
(volume_transform_ip), (volume_update_mute),
(volume_update_volume):
* gst/volume/gstvolume.h:
Add own debug category, move duplicate code to helper function, fix
property texts, add more comments and prepare ffor liboil-goodness
* tests/check/Makefile.am:
* tests/check/elements/volume.c: (GST_START_TEST), (volume_suite):
add test for mute and passtrough case, be a bit more verbose to track
failure
* tests/check/generic/states.c: (GST_START_TEST):
catch elements that fail to instantiate
Original commit message from CVS:
* tests/check/pipelines/simple-launch-lines.c:
* tests/check/pipelines/theoraenc.c:
* tests/check/pipelines/vorbisenc.c:
Comment out tests using parse_launch() if core was built without
parsing capabilities.
Original commit message from CVS:
* tests/check/Makefile.am:
Extra bonus points for whoever explains to ensonic that you are meant
to test unit tests thoroughly before commiting them, especially if
you know it's going to break.
De-activated element/adder tests.
Original commit message from CVS:
* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
(gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_smpfmt_to_caps):
Marking caps conversion issues as GST_WARNING is way too verbose,
Moving them to GST_LOG.
Original commit message from CVS:
* README:
Replace current README (containing the release notes from
some 0.9.x version) with a proper README taken from the core.
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_ximage_new),
(gst_ximagesink_xcontext_get), (gst_ximagesink_show_frame):
Improve the errors produced on bad output, including some human
readable description strings.
Handle the (theoretical for ximagesink) case where the XServer
has a different idea about the size required for a particular
frame and gives us too small a memory allocation.
Original commit message from CVS:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new),
(gst_xvimagesink_get_xv_support), (gst_xvimagesink_xcontext_get),
(gst_xvimagesink_get_format_from_caps), (gst_xvimagesink_setcaps),
(gst_xvimagesink_show_frame), (gst_xvimagesink_buffer_alloc):
Improve the errors produced on bad output, including some human
readable description strings.
Handle RGB Xv formats properly by transforming them into our
big-endian caps description.
Use gst_caps_truncate to ensure that we never try and choose a
non-fixed caps in buffer_alloc.
Handle the case where the XServer has a different idea about the size
required for a particular frame and gives us too small a memory
allocation.
Use -1 to indicate 'no image format', because 0 is a valid XServer
image format number.
Put RGB Xv formats at the end of the caps, so that we always prefer
YUV format frames.
Iterate the available Xv Encodings to determine the maximum width and
height, and then return that in our caps.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (remove_fakesink), (pad_probe):
When there is only one unfinished pad and it receives an event that
doesn't match our requirements, we need to set alldone=FALSE so that
the fakesink is not removed yet.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_typefind):
Use gst_type_find_helper_for_buffer() to find the type
of stream from the first packet.
* configure.ac:
Bump requirements to core CVS (needed for vorbis
typefinding to work).
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (qt_type_find):
Added the 'prfl' atom type which MQV (no, it's not a typo) files contain.
Else they play perfectly fine with qtdemux.
Original commit message from CVS:
* ext/theora/theoradec.c:
* ext/theora/theoraenc.c:
* ext/theora/theoraparse.c: (gst_theora_parse_class_init):
* gst/audiorate/gstaudiorate.c:
make more debug catagories static
* tests/check/Makefile.am:
* tests/check/elements/adder.c: (message_received),
(test_event_message_received), (GST_START_TEST),
(test_play_twice_message_received), (adder_suite):
added test case for using element twice, extra bonus points for anyone
who can make these test run reliably
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_dec_chain):
Make work with time-stamped input buffers that do not
have a granulepos in BUFFER_OFFSET_END (like theora
buffers coming from matroskademux). Fixes#342448.
Original commit message from CVS:
Patch by: Peter Kjellerstedt <pkj at axis com>
* gst/tcp/Makefile.am:
fdstresstest doesn't need Gtk+, fix compilation if
gtk is not available (#342566).
Original commit message from CVS:
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_chunk):
On second thought, just skip JUNK chunks automatically, so
the caller doesn't have to handle this. Fixes#342345.
Also, return GST_FLOW_UNEXPECTED if we get a short read,
not GST_FLOW_ERROR.
Original commit message from CVS:
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_chunk):
Don't bail out on JUNK chunks with a size of 0 (would try to
pull_range 0 bytes before, which sources don't like too much).
See #342345.
Original commit message from CVS:
* gst/videoscale/gstvideoscale.c: (gst_video_scale_fixate_caps):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_setcaps):
Use the gstutil scaling function to preserve 64 bits while calculating
output width and height from the display-aspect-ratio. (A continuation
of #341542)
Original commit message from CVS:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_clear),
(gst_xvimagesink_buffer_alloc):
* sys/xvimage/xvimagesink.h:
When performing buffer allocations, remember the caps and image format
we return so that if the same caps are asked for next time we can
return them immediately without doing any caps intersections.
Original commit message from CVS:
2006-05-18 Philippe Kalaf <philippe.kalaf@collabora.co.uk>
* gst-libs/gst/rtp/README:
Some new documentation
* gst-libs/gst/rtp/gstrtpbuffer.h:
Added GST_RTP_PAYLOAD_DYNAMIC_STRING for use by children
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
* gst-libs/gst/rtp/gstbasertpaudiopayload.h:
New RTP audio base payloader class. Supports frame or sample based codecs.
Not enabled in Makefile.am until approved.
Original commit message from CVS:
* tests/check/elements/alsa.c: (test_device_property_probe):
Fix test case: don't try to free NULL GValueArray when there
are no devices.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/alsa.c: (test_device_property_probe),
(alsa_suite), (main):
Add simple test that runs a device property probe on alsasrc,
alsasink and alsamixer. Disable valgrind check for now (too
many leaks in libasound, and valgrind ignored my suppressions
additions).
Original commit message from CVS:
* ext/alsa/gstalsadeviceprobe.c: (gst_alsa_get_device_list),
(gst_alsa_device_property_probe_probe_property),
(gst_alsa_device_property_probe_needs_probe),
(gst_alsa_device_property_probe_get_values),
(gst_alsa_type_add_device_property_probe_interface):
* ext/alsa/gstalsadeviceprobe.h:
* ext/alsa/gstalsamixerelement.c:
(gst_alsa_mixer_element_init_interfaces):
* ext/alsa/gstalsamixerelement.h:
Clean up and simplify alsa device probing. Make it actually work
for multiple classes. Don't cache results any longer.
* ext/alsa/gstalsasink.c: (gst_alsasink_init_interfaces),
(gst_alsasink_init):
* ext/alsa/gstalsasrc.c: (gst_alsasrc_dispose),
(gst_alsasrc_interface_supported), (gst_implements_interface_init),
(gst_alsasrc_init_interfaces), (gst_alsasrc_set_property):
Make alsasink and alsasrc implement the GstPropertyProbe interface
for device probing (#342181).
Patch by: Martin Szulecki <gnomebugzilla at sukimashita com>
Original commit message from CVS:
Patch by: Young-Ho Cha <ganadist chollian net>
* gst/subparse/gstsubparse.c: (gst_sub_parse_dispose),
(gst_sub_parse_class_init), (gst_sub_parse_init),
(gst_sub_parse_set_property), (gst_sub_parse_get_property),
(convert_encoding):
* gst/subparse/gstsubparse.h:
Add 'encoding' property (#341681).
* gst/subparse/samiparse.c: (characters_sami):
Output is pango markup, so we need to escape text
between tags (#342143).
Original commit message from CVS:
* gst-libs/gst/audio/multichannel.c:
(gst_audio_check_channel_positions):
It's okay to have caps with channels=1 and a channel position
different from GST_AUDIO_CHANNEL_POSITION_FRONT_MONO
(deinterleavers might want to keep the position in the caps,
so that they can be re-interleaved again properly later).
Leave check for unexpected 2-channel layouts intact for now.
Original commit message from CVS:
2006-05-16 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* gst/tcp/gsttcp.c: (gst_tcp_socket_read):
Return GST_FLOW_UNEXPECTED when we have an eos on the socket so
basesrc can do its job correctly.
Original commit message from CVS:
* ext/alsa/Makefile.am:
* ext/alsa/gstalsa.c: (gst_alsa_detect_rates),
(gst_alsa_detect_formats), (get_channel_free_structure),
(caps_add_channel_configuration), (gst_alsa_detect_channels),
(gst_alsa_probe_supported_formats):
* ext/alsa/gstalsa.h:
* ext/alsa/gstalsasink.c: (gst_alsasink_getcaps):
Refactor and improve caps probing code: probe signedness
when we probe the supported formats/widths; set endianness
to the one we actually probed for (ie. cpu endianness).
* ext/alsa/gstalsasrc.c: (gst_alsasrc_init), (gst_alsasrc_getcaps),
(gst_alsasrc_close):
* ext/alsa/gstalsasrc.h:
Implement caps probing for alsasrc.
Original commit message from CVS:
* ext/theora/theoradec.c: (gst_theora_dec_reset),
(theora_dec_src_query), (theora_dec_src_event),
(theora_dec_sink_event), (theora_handle_comment_packet),
(theora_handle_data_packet), (theora_dec_change_state):
Cleanups, add some G_LIKELY.
Use segment helpers instead of our own wrong code.
Clear queued buffers on seek and READY.
* ext/vorbis/vorbisdec.c: (gst_vorbis_dec_reset),
(vorbis_dec_convert), (vorbis_dec_src_query),
(vorbis_dec_src_event), (vorbis_dec_sink_event),
(vorbis_handle_comment_packet), (vorbis_dec_push),
(vorbis_handle_data_packet), (vorbis_dec_chain),
(vorbis_dec_change_state):
* ext/vorbis/vorbisdec.h:
Remove old useless packetno variable.
Do position query properly.
Add some G_LIKELY.
Do cleanup of queued buffers in new helper function
and use it.
Original commit message from CVS:
2006-05-15 Julien MOUTTE <julien@moutte.net>
* gst/playback/gstdecodebin.c: (cleanup_decodebin),
(gst_decode_bin_change_state): Make decodebin reusable
when going from PAUSE_TO_READY and then back to PAUSED.
Fixes#331678.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_get_query_types),
(vorbis_dec_convert), (vorbis_dec_src_query),
(vorbis_dec_sink_query), (vorbis_dec_src_event),
(vorbis_dec_sink_event), (vorbis_handle_identification_packet),
(vorbis_dec_clean_queued), (vorbis_dec_push),
(vorbis_handle_data_packet), (vorbis_dec_change_state):
Cleanups. Use refcounting and DEBUG_OBJECT.
Reset segment on flush, use code methods instead of our
own wrong version.
Fix potential memleak.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_finalise),
(gst_alsasink_init):
* ext/alsa/gstalsasink.h:
Don't leak allocated snd_output_t structure if there's
more than one alsasink instance at a time (#341873).
Also fix GObject macros in header file.
Original commit message from CVS:
* gst/subparse/gstsubparse.c:
(gst_sub_parse_data_format_autodetect):
Don't use libxml functions in the typefinding code.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet):
Fix seeking performance in the case where a non-header
packet has a 0 granulepos (busted theora case).
Fixes#341719
Original commit message from CVS:
* gst/subparse/gstsubparse.c:
(gst_sub_parse_data_format_autodetect):
Improve SAMI typefinding: handle case where there are
whitespaces or newlines in front of the first <SAMI>
tag (#169936).
Original commit message from CVS:
* configure.ac:
Build video4linux plugin even if there's no XVIDEO, just
without implementing the GstXOverlay interface (#334002).
Original commit message from CVS:
* configure.ac:
* ext/libvisual/visual.c: (gst_visual_actor_plugin_is_gl),
(plugin_init):
Add tentative support for libvisual-0.4 (#336881).
Original commit message from CVS:
Patch by: Young-Ho Cha <ganadist at chollian net>
* gst/subparse/samiparse.c: (handle_start_font):
Need to map "silver" colour explicitly (#169936).
Original commit message from CVS:
* gst/audioconvert/gstchannelmix.c: (gst_channel_mix_fill_others):
Fix#341696: crash when mixing L+R+C to mono or stereo.
* tests/check/Makefile.am:
* tests/check/elements/audioconvert.c: (set_channel_positions),
(get_float_mc_caps), (get_int_mc_caps), (GST_START_TEST),
(audioconvert_suite):
Add test for the above, including some generic framework bits for
testing multichannel things.
Original commit message from CVS:
* gst/videoscale/gstvideoscale.c: (gst_video_scale_fixate_caps):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_setcaps):
Fix the build.
Original commit message from CVS:
2006-05-11 Thomas Vander Stichele <thomas at apestaart dot org>
patch by: Sjoerd Simons (sjoerd@luon.net)
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
(group_create), (group_destroy), (add_stream),
(gst_play_base_bin_get_property),
(gst_play_base_bin_get_streaminfo_value_array):
* gst/playback/gstplaybasebin.h:
API: GstPlayBaseBin::stream-info-value-array property
use a more bindings-friendly way of exposing streaminfo
using a GValueArray. Tested in ipython.
Closes#341114
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (try_to_link_1), (queue_enlarge),
(queue_underrun_cb), (queue_filled_cb):
Also catch queue underruns but don't do anything yet.
Refactor and comment queue enlarging code a bit.
* gst/playback/gstplaybasebin.c: (queue_overrun),
(queue_threshold_reached), (queue_out_of_data),
(gen_preroll_element):
If a queue over/underruns check that we don't create nasty
deadlocks when the min-threshold is not reached but the
max-bytes is. In those cases disable max-bytes when we
know that the queue is fed timed data.
Add more comments.
Original commit message from CVS:
* gst/playback/gstplaybin.c: (gen_audio_element):
Make playbin automatically plug an 'audioresample'
element before the audio sink as well. This solves
problems with sinks that only accept a very specific
sample rate, like esdsink (e.g. #340379).
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (gen_source_element):
Make http sources send special headers so that we receive
icecast metadata if the http stream is an icecast stream
(otherwise the server will just ignore them). This also
means that from now on users will need the 'icydemux'
element from gst-plugins-good installed if they want to
listen to icecast radio streams. (#341432, #333657).
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_remove_client_link),
(gst_multi_fd_sink_new_client), (gst_multi_fd_sink_stop):
remove stupid example from docs - it should come with a simple
C program instead.
Clean up/fix docs
* tests/check/elements/multifdsink.c: (wait_bytes_served),
(fail_if_can_read), (GST_START_TEST),
(gst_multifdsink_create_streamheader), (multifdsink_suite):
add a test for changing streamheader which exposes a bug in
multifdsink
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_init),
(gst_gnome_vfs_src_received_headers_callback):
* ext/gnomevfs/gstgnomevfssrc.h:
Don't set icy-caps unless we have a sane interval value. Move
interval to a local variable; we never use it outside this function.
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_get_type):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_type):
Register special buffer types along with the objects so
that they are not registered at runtime from N different
streaming threads since they are not threadsafe.
Original commit message from CVS:
* tests/check/elements/multifdsink.c: (wait_bytes_served),
(GST_START_TEST), (fail_unless_read), (multifdsink_suite):
add two more tests, one doing streamheader
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_stop):
clean up the bufqueue when shutting down
* tests/check/Makefile.am:
* tests/check/elements/multifdsink.c: (setup_multifdsink),
(cleanup_multifdsink), (GST_START_TEST), (multifdsink_suite),
(main):
add a test for the leak that was just fixed
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_setcaps),
(gst_adder_query_duration), (gst_adder_query), (forward_event),
(gst_adder_src_event), (gst_adder_sink_event),
(gst_adder_class_init), (gst_adder_finalize),
(gst_adder_request_new_pad), (gst_adder_collected):
* gst/adder/gstadder.h:
Updated some docs. Added comments and FIXMEs all over the place.
Improve debugging info.
Fix leak on finalize by not calling the parent.
Implement duration query.
Make event forwarding threadsafe.
Correctly send NEWSEGMENT at start and after flush.
Handle EOS correctly.
Post error when not negotiated.
* tests/check/elements/adder.c: (GST_START_TEST):
Added FIXME in the test.
Original commit message from CVS:
Patch by: Sjoerd Simons <sjoerd at luon net>
* gst/tcp/gstmultifdsink.c: (gst_client_status_get_type):
Register nick for enum value (#341160).
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_request_new_pad),
(gst_adder_collected):
* gst/adder/gstadder.h:
Remove bogus segment merging and forwarding, we don't
care about timestamps anyway and we just produce a
continuous stream.
Also create a nice NEWSEGMENT event when we start.
Use _scale_int some more.
Original commit message from CVS:
* tests/examples/volume/volume.c:
Fox if core was built without parsing support.
* tests/examples/seek/seek.c:
Disable the parse_launch example if core was built without parsing
support.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/adder.c: (event_loop), (GST_START_TEST):
Disable the adder test, until the build-slaves posses the kindness to
either like it or to give valid reason for not doing so
Original commit message from CVS:
* tests/check/elements/adder.c: (event_loop), (GST_START_TEST),
(adder_suite):
Shuffle NULL state change around and raise timeout more
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mp4_find_box),
(mp4_type_find), (plugin_init):
Add typefind to distinguish between "audio/x-m4a" and new type
"video/mp4". Fixes#340375
* tests/check/elements/adder.c: (adder_suite):
Raise timeout to make buildbot happy
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_sink_event),
(gst_adder_request_new_pad), (gst_adder_change_state):
* gst/adder/gstadder.h:
* tests/check/Makefile.am:
* tests/check/elements/adder.c: (event_loop), (GST_START_TEST),
(adder_suite), (main):
Add sink-event handling to adder. It tries to merge incomming
newsegment-events. Added test to check if segment_done is comming
through.
Original commit message from CVS:
2006-05-05 Andy Wingo <wingo@pobox.com>
* ext/theora/theoraparse.c (gst_theora_parse_init)
(theora_parse_src_convert, theora_parse_src_query):
* ext/vorbis/vorbisparse.c (gst_vorbis_parse_init)
(vorbis_parse_convert, vorbis_parse_src_query): Add convert and
query functions on the source pads of the theora and vorbis parse
elements. Fixes position querying when doing a remux.
Original commit message from CVS:
* ext/theora/theoraparse.c: (parse_granulepos),
(theora_parse_drain_queue_prematurely),
(theora_parse_queue_buffer), (theora_parse_sink_event):
Fix flushing.
Fix invalid granulepos outputs when starting with a non-keyframe.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mpeg2_sys_type_find),
(mpeg1_sys_type_find), (ogganx_type_find), (sw_data_destroy):
Rearrange MPEG system stream detection, fixing some memleaks in the
process.
Constify the data for STARTS_WITH and RIFF helper handlers. Make sure
they clean up their data correctly.
Remove unused ogganx caps and move the 'is_annodex' check to inside
the 'is_ogg' if statement.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset),
(mpeg_ts_probe_headers), (mpeg_ts_type_find):
When typefinding an MP3 in push-based mode, don't penalise the
probability down to 74% when we found 5 valid frames just because we
can't peek the end of the file.
Make the probability for detecting MPEG Transport Streams based on the
number of sequential headers we successfully detected.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_dec_sink_event),
(vorbis_dec_push), (vorbis_dec_chain):
Still produce an error when we receive an empty packet.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_chain_peer),
(gst_ogg_chain_mark_discont), (gst_ogg_chain_new_stream),
(gst_ogg_demux_activate_chain), (gst_ogg_demux_perform_seek):
Mark buffers with DISCONT after seek and after activating new
chains.
* ext/theora/gsttheoradec.h:
* ext/theora/theoradec.c: (gst_theora_dec_reset),
(theora_get_query_types), (theora_dec_sink_event),
(theora_dec_push), (theora_handle_data_packet), (theora_dec_chain),
(theora_dec_change_state):
Fix frame counter.
Detect and mark DISCONT buffers.
* ext/vorbis/vorbisdec.c: (vorbis_dec_src_query),
(vorbis_dec_sink_event), (vorbis_dec_push), (vorbis_dec_chain),
(vorbis_dec_change_state):
* ext/vorbis/vorbisdec.h:
Use GstSegment.
Detect and mark DISCONT buffers.
Don't crash on 0 sized buffers.
Original commit message from CVS:
* gst/volume/gstvolume.c: (volume_funcfind), (volume_set_caps),
(volume_transform_ip):
Increase "volume" property to 10.0. Fixes#340369.
Set the process function to NULL when capsnego fails so that
we properly error out.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (musepack_type_find),
(plugin_init):
Refine musepack typefinding a bit. Return MAXIMUM
probability when we detect stream version 7 to make
sure the mpeg audio typefinder doesn't trump us.
Original commit message from CVS:
* tests/check/elements/audioconvert.c: (verify_convert),
(GST_START_TEST):
interpret the out[] buffer in the order the bytes are actually
put in, which is LITTLE_ENDIAN, not BYTE_ORDER.
Other tests should use BYTE_ORDER since the array is filled in
with actual values
Original commit message from CVS:
* tests/check/elements/audioconvert.c: (verify_convert),
(GST_START_TEST):
when a test fails, give an indication of which it is
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_setcaps), (gst_adder_src_event),
(gst_adder_init):
send events from src-pad to all sink-pads fixes#338657
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_getcaps),
(alsasink_parse_spec):
query witdh capabilities from alsa, fixes#338919
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init),
(gst_multi_fd_sink_remove_client_link):
* gst/tcp/gstmultifdsink.h:
Fix race condition in multifdsink that can lead to spurious
duplicate clients. this patch adds a new signal that is fired when
multifdsink has removed all references to the fd.
Fixes#339574.
Updated documentation.
API: client-fd-removed signal added
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_get_stats):
When asking g_value_array_new to prealloc elements, we may as well
ask for the right number of elements.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_drain), (gst_base_audio_sink_event),
(gst_base_audio_sink_render), (gst_base_audio_sink_change_state):
patch to make timestamp checking more tollerant to rounding
errors given that real discontinuities are to be marked on
buffers. Fixes some asf files and #338778.
Also avoid some crashers when we receive an event in the
NULL state.
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_class_init),
(gst_gnome_vfs_src_init), (gst_gnome_vfs_src_finalize),
(gst_gnome_vfs_src_get_property),
(gst_gnome_vfs_src_send_additional_headers_callback),
(gst_gnome_vfs_src_received_headers_callback),
(gst_gnome_vfs_src_create), (gst_gnome_vfs_src_start),
(gst_gnome_vfs_src_stop):
* ext/gnomevfs/gstgnomevfssrc.h:
Remove ICY handling (mostly) from gnomevfssrc, in favour of
proper shared support within icydemux.
Original commit message from CVS:
* gst/videorate/gstvideorate.c: (gst_video_rate_reset),
(gst_video_rate_swap_prev), (gst_video_rate_chain):
fix up docs
fix a leak when no caps negotiated
fix counting of input frames
* tests/check/elements/.cvsignore:
* tests/check/elements/videorate.c: (assert_videorate_stats),
(GST_START_TEST), (videorate_suite):
add tests for these
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_init),
(gst_base_audio_src_get_time), (gst_base_audio_src_create):
GstBaseAudioSrc must be live or it does not work.
* gst-libs/gst/audio/gstaudiosrc.c: (gst_audio_src_init):
Don't set live to TRUE as this is the default in the parentclass.
Original commit message from CVS:
* tests/check/elements/audioconvert.c: (get_float_caps),
(GST_START_TEST), (audioconvert_suite):
Added check for correct clipping when doing float samples
in audioconvert.
Original commit message from CVS:
* gst/audioresample/gstaudioresample.c: (gst_audioresample_init),
(resample_set_state_from_caps):
Add support for other formats audioresample can handle such as
32 bits in and float and 64 bits float. Fixes#301759
Original commit message from CVS:
Patch by: Young-Ho Cha <ganadist at chollian net>
* ext/pango/gsttextoverlay.c: (gst_text_overlay_init),
(gst_text_overlay_render_text):
Don't strip newlines from the text. Also, center lines
within multi-line paragraphs (#339405).
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (wavpack_type_find):
Fix wavpack typefinding to work in more cases (don't peek
for chunks of multiple hundred kBs at once, but process
things step-by-step in smaller units). Fixes#339786.
Original commit message from CVS:
2006-04-26 Thomas Vander Stichele <thomas at apestaart dot org>
patch by: Wim Taymans
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet),
(gst_ogg_demux_perform_seek):
make sure correct newsegments are sent, so that the decoder
and the demuxer agree on timestamps. Fixes playback of a lot
of Ogg files that do not start from 0. Fixes#339833.
Original commit message from CVS:
Patch by: Edward Hervey <edward@fluendo.com>
* gst/videorate/gstvideorate.c: (gst_video_rate_chain):
* tests/check/Makefile.am:
* tests/check/elements/videorate.c: (assert_videorate_stats),
(setup_videorate), (cleanup_videorate), (GST_START_TEST),
(videorate_suite), (main):
Fix an infinite loop if frames are passed in with wrongly ordered
timestamps. Fixes#339013.
Original commit message from CVS:
Patch by: Tim-Philipp Müller <tim at centricular dot net>
* gst/typefind/gsttypefindfunctions.c: (qt_type_find):
fix typefinding on some ISO files. Fixes#339212.
Original commit message from CVS:
Patch by: Jan Schmidt
* gst/playback/gststreamselector.c:
(gst_stream_selector_bufferalloc):
Restore old StreamSelector behaviour.
Fixes#338419.
Original commit message from CVS:
2006-04-12 Philippe Kalaf <philippe.kalaf@collabora.co.uk>
* gst-libs/gst/rtp/gstrtpbuffer.h:
Added GST_RTP_PAYLOAD_DYNAMIC_STRING for use by children
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
* gst-libs/gst/rtp/gstbasertpaudiopayload.h:
New RTP audio base payloader class. Supports frame or sample based codecs
Original commit message from CVS:
Patch by: Antoine Tremblay <hexa00 at gmail dot com>
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_finalize), (gst_base_rtp_depayload_push):
Fix some memory leaks: on finalize, free buffers left in the queue
before destroying the queue; in _push(), unref rtp_buf even if
the process vfunc returned a NULL buffer as output buffer (#337548);
demote some recuring debug messages to LOG level.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_src_query),
(gst_ogg_demux_chain_peer), (gst_ogg_pad_submit_packet),
(gst_ogg_chain_free), (gst_ogg_demux_sink_event),
(gst_ogg_demux_loop):
More cleanups.
Respect segment stop when emiting EOS or SEGMENT_DONE.
Fixes (#337945).
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/gst-plugins-base.supp:
Suppress an old libtheora bug (fixed in more recent versions), so
that FC4 buildslaves can pass.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_src_query),
(gst_ogg_demux_receive_event), (gst_ogg_pad_event),
(gst_ogg_demux_init), (gst_ogg_demux_finalize),
(gst_ogg_demux_sink_event), (gst_ogg_demux_get_data),
(gst_ogg_demux_loop):
Don't leak events.
Remember what error we got when finding chains, if we
were shutdown, that would not be an error.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_event):
Starting the ringbuffer when we did not acquire it can cause
a deadlock, is pointless and causes nasty things for
subclasses.
Fixes gst-launch audiotestsrc num-buffers=0 ! alsasink.
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_dec_src_event),
(theora_handle_data_packet):
Some more debug info.
* tests/examples/seek/seek.c: (start_seek), (main):
Print element messages too.
Original commit message from CVS:
* gst/audioresample/debug.h:
replace debug macros with variable number of parameters
by a simple alias to gstreamer standard debug macros
(#define RESAMPLE_ERROR GST_ERROR, __VA_ARGS__ is not
supported by MSVC 6.0 and 7.1)
* gst/audioresample/resample.h:
define M_PI and rint for WIN32
* win32/common/libgstaudio.def:
* win32/common/libgstriff.def:
* win32/common/libgsttag.def:
* win32/common/libgstvideo.def:
add new exported functions
* win32/vs6:
update project files
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (set_hwparams), (alsasink_parse_spec):
More debug to trace why my USB headset is not working with gst
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (group_destroy):
Clean up our group elements properly in the case where it never
got committed - it still got added unconditionally to the bin.
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_set_header_on_caps),
(gst_vorbis_enc_chain):
Remove leaks from vorbisenc.
Mostly minor changes, the only significant one is that now the
buffers we set as 'streamheader' on the caps are copies of the
original buffers, to avoid circular refcounting problems.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (mute_stream), (setup_substreams):
Don't remove our mute-probe if someone else already did so.
Don't set a 2nd one if there is already one pending on the pad.
* gst/playback/gstplaybin.c: (gst_play_bin_send_event_to_sink),
(do_playbin_seek):
When a seek fails, ensure that playbin is still set back to playing.
* gst/typefind/gsttypefindfunctions.c: (mpeg_ts_probe_headers),
(mpeg_ts_type_find), (plugin_init):
Add a typefind function for mpeg-ts streams.
Original commit message from CVS:
2006-04-06 Andy Wingo <wingo@pobox.com>
* gst/videorate/gstvideorate.c (gst_video_rate_reset)
(gst_video_rate_init): Caps-related parameters should not be reset
by a flush -- move their inits to the instance init function.
(gst_video_rate_flush_prev): Don't complain if gst_pad_push
is not OK, just return the result.
* gst/audiotestsrc/gstaudiotestsrc.c
(gst_audio_test_src_class_init)
(gst_audio_test_src_get_times): Re-enable is-live=true, as was
broken by Stefan's commit on 24 March.
Original commit message from CVS:
2006-04-06 Andy Wingo <wingo@pobox.com>
* ext/ogg/gstoggmux.c (gst_ogg_mux_push_buffer): Set caps on
buffers being pushed out. Fixes oggmux ! multifdsink.
Original commit message from CVS:
2006-04-04 Andy Wingo <wingo@pobox.com>
* gst/videorate/gstvideorate.c (gst_video_rate_flush_prev):
Whoops, fix bug introduced. Bad hacker!
Original commit message from CVS:
2006-04-04 Andy Wingo <wingo@pobox.com>
* gst/videorate/gstvideorate.c (gst_video_rate_flush_prev):
Properly handle the case where you get EOS before any buffers are
received. Use gst_buffer_make_metadata_writable where appropriate.
Original commit message from CVS:
2006-04-04 Andy Wingo <wingo@pobox.com>
* ext/theora/theoradec.c (theora_handle_data_packet): This value
is often negative -- make it signed so as not to wrap around.
Fixes segfaults introduced on 9 March.
Original commit message from CVS:
* ext/theora/gsttheoradec.h:
* ext/theora/theoradec.c: (theora_dec_src_event):
Don't try to store a gdouble in a gboolean.
Small cleanups.
Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_queue_pads):
Oggmux sucks.
Make it suck slightly less by writing out the final page.
Still can't encode a vorbis-in-ogg file correctly, though.
Original commit message from CVS:
2006-04-03 Andy Wingo <wingo@pobox.com>
* ext/theora/theora.c (plugin_init): Register theoraparse.
* ext/theora/gsttheoraparse.h:
* ext/theora/theoraparse.c: New files implementing a theora
parser. Now we can properly remux ogg/theora+vorbis, yay.
Original commit message from CVS:
2006-03-31 Andy Wingo <wingo@pobox.com>
* ext/vorbis/vorbisparse.c (vorbis_parse_sink_event): Fix
uninitialized variable return that would happen.
Original commit message from CVS:
2006-03-31 Andy Wingo <wingo@pobox.com>
* ext/vorbis/vorbisparse.c (vorbis_parse_drain_queue): Fix
uninitialized variable return that would never happen.
Original commit message from CVS:
2006-03-31 Andy Wingo <wingo@pobox.com>
* ext/vorbis/vorbisparse.c (gst_vorbis_parse_init)
(vorbis_parse_sink_event): Add an event function to flush our
state on a seek, and to drain buffers on a premature EOS.
(vorbis_parse_push_headers, vorbis_parse_clear_queue)
(vorbis_parse_push_buffer, vorbis_parse_drain_queue_prematurely)
(vorbis_parse_chain, vorbis_parse_queue_buffer)
(vorbis_parse_drain_queue): Queue up buffers until we can set
their timestamps and granulepos values.
* ext/vorbis/vorbisparse.h: Include the vorbis decoder headers,
and keep track of data needed for deriving granulepos and
timestamps for buffers.
Original commit message from CVS:
* tests/examples/seek/seek.c: (end_scrub), (seek_cb), (start_seek),
(stop_seek):
Don't let double and tripple clicks mess up our state.
Original commit message from CVS:
* gst/playback/gstplaybin.c: (gen_video_element),
(gen_text_element), (gen_audio_element), (gen_vis_element):
Error out gracefully when we can't create any of the usual
conversion elements for some reason. Also, don't try to
create an audioscale (sic) element that's not used anyway.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (setup_source):
Don't post RESOURCE_NOT_FOUND error when we can't find a source
element for a particular protocol, that's confusing for users.
Instead, post a RESOURCE_FAILED error, so that our own error
message is actually shown in totem etc. (#336303).
Original commit message from CVS:
Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_finalize),
(gst_gnome_vfs_src_get_icy_metadata):
Fix some minor memory leaks (#336194).
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfs.c:
(gst_gnome_vfs_location_to_uri_string):
* ext/gnomevfs/gstgnomevfs.h:
* ext/gnomevfs/gstgnomevfssink.c:
(gst_gnome_vfs_sink_set_property):
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_set_property):
Make gnomevfssink accept filenames as well as URIs for the
"location" property, just like gnomevfssrc does (and
filesrc/filesink do) (#336190).
Original commit message from CVS:
* tests/check/generic/clock-selection.c: (GST_START_TEST):
set to NULL before unreffing, fixes a valgrind leak.
Why was this not triggering the error that an object needs to
be NULL before unreffing ?
* win32/common/config.h:
update
Original commit message from CVS:
* gst/subparse/gstsubparse.c: (convert_encoding),
(gst_sub_parse_change_state):
* gst/subparse/gstsubparse.h:
Text subtitle files may or may not be UTF-8. If it's not, we
don't really want to see '?' characters in place of non-ASCII
characters like accented characters. So let's assume the input
is UTF-8 until we come across text that is clearly not. If it's
not UTF-8, we don't really know what it is, so try the following:
(a) see whether the GST_SUBTITLE_ENCODING environment variable
is set; if not, check (b) if the current locale encoding is
non-UTF-8 and use that if it is, or (c) assume ISO-8859-15 if
the current locale encoding is UTF-8 and the environment variable
was not set to any particular encoding. Not perfect, but better
than nothing (and better than before, I think) (fixes#172848).
Original commit message from CVS:
2006-03-24 Thomas Vander Stichele <thomas at apestaart dot org>
* configure.ac:
update core requirement to 0.10.4.1 because of async_playback
vmethod on GstBaseSink
Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_init):
* gst/adder/gstadder.c: (gst_adder_init):
use DEBUG_FUNCPTR for collectpads
Original commit message from CVS:
* win32/common/libgstinterfaces.def:
Add a lot of export functions for gst-python
* win32/common/libgstinterfaces.dsp:
Add a missing include folder in the project configuration
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_get_time), (gst_base_audio_src_create),
(gst_base_audio_src_change_state):
Fix audio sources, forgot to make the ringbuffer
startable...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_get_time), (gst_base_audio_src_create),
(gst_base_audio_src_change_state):
unparent instead of unref the ringbuffer.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_class_init), (gst_base_audio_sink_async_play),
(gst_base_audio_sink_do_play), (gst_base_audio_sink_change_state):
Implement new async_play vmethod to start slaving and allow
playback start in case of async PLAY state changes.
* gst-libs/gst/video/gstvideosink.c: (gst_video_sink_init):
Enable QoS with new method in base class.
Original commit message from CVS:
Patch by: Julien MOUTTE <julien at moutte dot net>
* gst/videotestsrc/gstvideotestsrc.c: (gst_video_test_src_query),
(gst_video_test_src_do_seek), (gst_video_test_src_create):
Partially handle 0 framerate, only EOS after the first frame
is missing.
Original commit message from CVS:
Patch by: Fabrizio Gennari <fabrizio dot ge at tiscali dot it>
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
(gst_riff_create_video_template_caps):
* 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:
Patch for support of YVU9 AVI files (#334822)
Original commit message from CVS:
* docs/design/design-decodebin.txt:
Added design document for new decodebin
(Target Caps): text/x-pango-markup is also a default target caps.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_dispose):
Since we _parent the ringbuffer, we also need to
_unparent instead of a plain _unref.
Original commit message from CVS:
* ext/ogg/gstoggparse.c: (gst_ogg_parse_find_stream),
(gst_ogg_parse_chain):
Fix very inefficient usage of linked lists (#335365).
Original commit message from CVS:
2006-03-20 Julien MOUTTE <julien@moutte.net>
* sys/xvimage/xvimagesink.c:
(gst_xvimagesink_get_format_from_caps): Fix a memleak reported
by Jan Schmidt.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (id3v2_type_find),
(id3v1_type_find), (apetag_type_find), (plugin_init):
Can't do tag preferences via probability, as tags would then
lose against types that are recognised with MAXIMUM probability
(like .wav); so let all tag typefinders return MAXIMUM themselves
and order them via the rank. Split ID3v1 and ID3v2 typefinders so
that we can prefer APE to ID3v1 (fixes#335028).
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_change_state):
* gst-libs/gst/audio/gstringbuffer.c: (wait_segment),
(gst_ring_buffer_may_start):
* gst-libs/gst/audio/gstringbuffer.h:
Only start playback if we are playing.
should fix#330748.
Original commit message from CVS:
Patch by: Michal Benes <michal dot benes at xeris dot cz>
* tests/Makefile.am:
Don't try to build tests in tests/icles if we
don't have X (#323852)
Original commit message from CVS:
* gst-libs/gst/tag/gstid3tag.c:
Add TXXX frame identifiers for replaygain stuff as used
by some taggers (see #323721).
Original commit message from CVS:
* gst/playback/gststreamselector.c:
(gst_stream_selector_set_property),
(gst_stream_selector_bufferalloc):
Preserve the existing buggy streamselector behaviour by performing
a fallback buffer allocation when downstream isn't linked yet.
This should really be fixed in playbin by blocking pads until it's
linked them.
Also, use gst_pad_alloc_buffer instead of
gst_pad_alloc_buffer_and_set.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_finalise):
Chain up to the parent finalize method.
Add 32-bit sample size to the template caps.
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
(gst_riff_create_video_template_caps):
Add the fourcc that the VMWare codec uses.
* gst/playback/gststreamselector.c:
(gst_stream_selector_set_property),
(gst_stream_selector_bufferalloc),
(gst_stream_selector_request_new_pad):
For the active pad, forward buffer-alloc requests, otherwise
return GST_FLOW_NOT_LINKED. This also prevents xvimagesink
having to memcpy every frame when used by playbin.
* gst/tcp/gstmultifdsink.c:
(gst_multi_fd_sink_handle_client_write):
Get negotiated caps from the sink pad, rather than the sink
pad's peer.
Original commit message from CVS:
Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_pop_callbacks):
Don't forget to set src->callbacks_pushed to FALSE again when
popping them, otherwise re-activation in a different mode won't
work (#334620).
Original commit message from CVS:
Patch by: Sebastien Moutte <sebastien moutte net>
* gst/ffmpegcolorspace/gstffmpegcodecmap.c: (gst_ff_vid_caps_new),
(gst_ff_aud_caps_new), (gst_ffmpeg_pixfmt_to_caps),
(gst_ffmpeg_smpfmt_to_caps):
Replace __VA_ARGS__ caps creation macros with varargs functions.
Makes things compile on MSVC (#320765), looks nicer, and we can
tell the compiler to check for the NULL terminator.
Original commit message from CVS:
Patch by: Fabrizio Gennari <fabrizio dot ge at tiscali dot it>
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
Make sure the buffer we copy into is really always big
enough, this time for real (#333488).
Original commit message from CVS:
* gst-libs/gst/video/gstvideofilter.c: (gst_video_filter_init):
* gst-libs/gst/video/gstvideosink.c: (gst_video_sink_init):
* gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_init):
* gst/videoscale/gstvideoscale.c: (gst_video_scale_class_init),
(gst_video_scale_init), (gst_video_scale_src_event):
Re-enable QoS after the release.
Rework videoscale to use the base class src_event handler.
Original commit message from CVS:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
* docs/plugins/gst-plugins-base-plugins.hierarchy:
Add cdparanoiasrc to docs.
* gst-libs/gst/cdda/gstcddabasesrc.c:
More GstCddaBaseSrc docs.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/tag/gstid3tag.c: (gst_tag_from_id3_user_tag):
* gst-libs/gst/tag/tag.h:
Add new API to libgsttag: gst_tag_from_id3_user_tag().
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (plugin_init):
NULL-terminate array of mpeg4 video file extensions.
Fixes crash on PPC (#334226).
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssrc.c:
(gst_gnome_vfs_src_check_get_range):
gnome_vfs_uri_is_local() alone is not a good indicator
whether we can operate in pull-mode with a specific URI,
as it returns FALSE for file:// URIs that point to an
NFS-mounted path. Be more conservative here: whitelist
local files, blacklist http URIs and use the old
mechanism for anything else (fixes#334216).
Original commit message from CVS:
* gst-libs/gst/video/gstvideosink.c: (gst_video_sink_init):
Disable max-lateness by setting it to -1 for now, so that
we can bed QoS stuff in thoroughly between now and the next
release.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
Make sure we don't read beyond the palette buffer in case of
broken or manipulated files (#333488, patch by: Fabrizio
Gennari)
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssrc.c: (audiocast_init),
(audiocast_register_listener), (gst_gnome_vfs_src_start):
Some cleanups.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset):
Fix invalid memory access to region before peek'd data (#332964).
Original commit message from CVS:
* gst/subparse/gstsubparse.c: (gst_subparse_type_find):
Fix invalid memory access: make sure string passed to
regexec() is NUL-termianted.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset),
(mp3_type_find):
Refactor mpeg/audio typefinding to make it more maintainable
and easier to fine-tune. Make probing into middle of the file
work properly (fixes#333900, also see #152688).
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c:
(utf8_type_find_have_valid_utf8_at_offset):
Remove part from previous commit that was bogus:
g_utf8_validate() does in fact not accept embedded
zeroes, so we don't need to check for those (thanks
to Mike for the hint).
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c:
(utf8_type_find_count_embedded_zeroes),
(utf8_type_find_have_valid_utf8_at_offset), (utf8_type_find):
Make plain/text typefinder more conservative: firstly, check
for embedded zeroes, which are perfectly valid UTF-8 characters,
but also a fairly good sign that something is not a plain text
file; secondly, probe into the middle of the file if possible.
If we can't probe into the middle, limit the probability value
to be returned to TYPE_FIND_POSSIBLE (see #333900).
Original commit message from CVS:
* ext/pango/gsttextoverlay.c: (gst_text_overlay_class_init),
(gst_text_overlay_init), (gst_text_overlay_set_property),
(gst_text_overlay_get_property):
Revert API/ABI break from March 1. Keep 'halign' and 'valign'
as string type properties, but mark them deprecated. Add
'halignment' and 'valignment' properties that use enums
instead of strings.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
Allow palettes with less than 256 colours in AVI files
(#333488, patch by: Fabrizio Gennari).
Original commit message from CVS:
2006-03-07 Julien MOUTTE <julien@moutte.net>
* ext/pango/gsttextoverlay.c: (gst_text_overlay_text_event),
(gst_text_overlay_video_event): Fix wrong EOS handling on text
pad. We were releasing the queued text buffer when we should keep
it until video pad gets EOS or discard the text buffer because it's
too old. That was eating the last subtitle buffer. Add some more
debug.
Original commit message from CVS:
* ext/pango/gsttextoverlay.c: (gst_text_overlay_render_text),
(gst_text_overlay_video_chain):
Fix invalid memory access (we can't access a buffer after it's been
pushed downstream without taking a reference); fix memory leak (if
there's no text to render, bail out before allocating stuff).
Original commit message from CVS:
* ext/pango/gsttextoverlay.c: (gst_text_overlay_init),
(gst_text_overlay_setcaps_txt), (gst_text_overlay_video_chain):
* ext/pango/gsttextoverlay.h:
If input is plain text, escape it before passing it to
pango_layout_set_markup().
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_class_init),
(gst_gnome_vfs_src_check_get_range):
Override GstBaseSrc::check_get_range() in order to avoid opening
the resource just to check whether we can operate in pull-mode or
not - we can predict that pretty well from the URI alone. Should
fix problems with last.fm (#331690). (Requires latest core CVS).
Original commit message from CVS:
* gst-libs/gst/video/gstvideosink.c: (gst_video_sink_init),
(gst_video_sink_class_init):
Throw away frames that are later than 20 ms.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
Set depth on WMA caps (#333545, patch by: Fabrizio Gennari).
Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_buffer_from_page),
(gst_ogg_mux_send_headers), (gst_ogg_mux_collected):
put Theora BOS pages before others. This hardcodes
the Ogg/Theora I profile, but hey.
Original commit message from CVS:
ogg muxing of vorbis and theora now has pages ordered correctly again,
even with delays.
* ext/ogg/README:
updated with some examples
* ext/theora/theoraenc.c: (granulepos_to_timestamp),
(granulepos_add), (theora_buffer_from_packet):
* ext/vorbis/vorbisenc.c: (granulepos_to_timestamp_offset),
(granulepos_to_timestamp), (gst_vorbisenc_buffer_from_packet),
(gst_vorbisenc_chain):
implement strategy from ext/ogg/README
* ext/ogg/gstoggmux.c: (gst_ogg_mux_buffer_from_page),
(gst_ogg_mux_push_buffer), (gst_ogg_mux_dequeue_page),
(gst_ogg_mux_pad_queue_page), (gst_ogg_mux_compare_pads),
(gst_ogg_mux_queue_pads), (gst_ogg_mux_collected):
Fix muxer so that oggz-validate is happy with all streams;
except for no eos mark, and the BOS page ordering
* tests/check/pipelines/theoraenc.c: (check_buffer_is_header),
(check_buffer_granulepos):
* tests/check/pipelines/vorbisenc.c: (check_buffer_granulepos):
update tests to check for OFFSET being set as requested
fixed type of granulepos, it's not a ClockTime
Original commit message from CVS:
2006-03-05 Julien MOUTTE <julien@moutte.net>
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new),
(gst_xvimagesink_show_frame), (gst_xvimagesink_buffer_alloc):
Check that the xvimage we are creating has a correct size before returning it. (#314897)
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (plugin_init):
Give id3 and ape tag typefinders a rank slightly higher
than PRIMARY to ensure they're always run before any of
the other typefinders (in particular wav and mp3) (#324186).
Original commit message from CVS:
* configure.ac:
Bump requirements to GStreamer CVS for the new error enum.
* ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_render):
Emit new GST_RESOURCE_ERROR_NO_SPACE_LEFT when there's no
space left on the device (fixes#333352).
Original commit message from CVS:
2006-03-03 Thomas Vander Stichele <thomas at apestaart dot org>
* ext/theora/theoraenc.c: (theora_set_header_on_caps):
* tests/check/pipelines/theoraenc.c: (check_buffer_is_header),
(GST_START_TEST):
Fix for http://bugzilla.gnome.org/show_bug.cgi?id=333254
Set IN_CAPS on header buffers
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
* docs/libs/gst-plugins-base-libs.types:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
Added some more docs to libs and plugins.
* gst-libs/gst/audio/gstringbuffer.c:
(gst_ring_buffer_prepare_read), (gst_ring_buffer_clear):
* gst-libs/gst/audio/gstringbuffer.h:
Document ringbuffer some more.
* gst/videorate/gstvideorate.c: (gst_video_rate_class_init),
(gst_video_rate_setcaps), (gst_video_rate_reset),
(gst_video_rate_init), (gst_video_rate_flush_prev),
(gst_video_rate_swap_prev), (gst_video_rate_event),
(gst_video_rate_chain), (gst_video_rate_change_state):
* gst/videorate/gstvideorate.h:
Fix videorate to use segments.
Make it work with 0/1 framerates (closes#331903)
Handle EOS correctly.
Added docs.
Original commit message from CVS:
* ext/ogg/gstogmparse.c: (gst_ogm_parse_class_init),
(gst_ogm_audio_parse_init), (gst_ogm_video_parse_init),
(gst_ogm_text_parse_init), (gst_ogm_parse_change_state):
In state change function, first chain up to parent class,
then handle downwards state change stuff. Remove some
commented out cruft from 0.8 code.
Original commit message from CVS:
* ext/ogg/gstogmparse.c: (gst_ogm_audio_parse_init),
(gst_ogm_video_parse_init), (gst_ogm_text_parse_init),
(gst_ogm_parse_sink_convert), (gst_ogm_parse_sink_query),
(gst_ogm_parse_chain):
Don't remove/re-add source pad if the new caps are the same as
the old caps anyway (#333042). When removing source pad, don't
unref it afterwards - we didn't ref it when adding. Sprinkle some
GST_DEBUG_FUNCPTR goodness here and there. Don't leak references
after using gst_pad_get_parent(). Return downstream flow return
value in chain function.
Original commit message from CVS:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins.args:
* docs/plugins/gst-plugins-base-plugins.hierarchy:
* docs/plugins/gst-plugins-base-plugins.interfaces:
* docs/plugins/gst-plugins-base-plugins.signals:
Fix hierarchy, added some more elements to the docs.
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
(gst_ffmpegcsp_get_type):
* gst/ffmpegcolorspace/gstffmpegcolorspace.h:
Fix docs for ffmpegcolorspace.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (id3_type_find),
(apetag_type_find), (ape_type_find), (plugin_init):
Some typefinding fine-tuning:
- rank ID3/APE tags in order of preference via probabilities, so that
ID3v2 > APEv2 > APEv1 > ID3v1.
- three or four bytes don't really justify MAXIMUM probability,
change those to 'very likely' (musepack and monkeysaudio).
Original commit message from CVS:
* gst/audiotestsrc/gstaudiotestsrc.c:
added defines of M_PI and M_PI_2
* gst/ffmpegcolorspace/avcodec.h:
removed #include "stdint.h" for win32 as _stdint.h is
autogenerated to win32/common
* win32/common/libgstaudio.def:
* win32/common/libgsttag.def:
added some exports
* win32/vs6:
some project files bugs corrected
* win32/vs7:
project files are reset to the default vs7 configuration
(they link to msvcr71.dll using default optimizations)
Original commit message from CVS:
* gst/videoscale/vs_scanline.c:
(vs_scanline_resample_nearest_RGBA):
Revert optimization in videoscale. It should go in liboil and have
an appropriate liboil function.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_provide_clock):
Don't try to provide a clock in the NULL state.
Original commit message from CVS:
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
(gst_ffmpegcsp_transform):
Don't ignore return code from ffmpeg convert function.
* gst/ffmpegcolorspace/imgconvert.c: (img_convert):
Split out some long statements to ease debugging.
Original commit message from CVS:
* ext/libvisual/visual.c: (gst_visual_init),
(gst_vis_src_negotiate), (get_buffer), (plugin_init):
Don't use gst_pad_use_fixed_caps, because it prevents downstream from
being able to renegotiate the size. Instead, use the negotiation
algorithm from the goom plugin to pick an initial output caps.
Also, allow theoretical libvisual plugins that might support non-GL
output even if they also do GL.
Original commit message from CVS:
2006-02-26 Julien MOUTTE <julien@moutte.net>
* ext/libvisual/visual.c: (gst_visual_init),
(gst_visual_src_setcaps), (get_buffer), (gst_visual_chain),
(plugin_init): Load only non GL plugins. Fix some memleaks and
possible negotiation issues.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mpeg4_video_type_find),
(cmml_type_find), (plugin_init):
Fix CMML type find function to not require a specific minor version
of the CMML header.
Add an MPEG4 video elementary stream typefind function.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_parse_skeleton_fishead),
(gst_ogg_pad_parse_skeleton_fisbone), (gst_ogg_pad_query_convert),
(gst_ogg_demux_chain_peer), (gst_ogg_pad_submit_packet),
(gst_ogg_demux_perform_seek), (gst_ogg_demux_read_chain),
(gst_ogg_demux_read_end_chain), (gst_ogg_demux_collect_chain_info),
(gst_ogg_demux_change_state), (gst_annodex_granule_to_time):
Annodex support in ogg demuxer. Doesn't do very much without the
other annodex patches (to come).
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
Pick up palette for MS video v1 (#327028, patch by:
Fabrizio Gennari <fabrizio dot get at tiscali dot it>)
Original commit message from CVS:
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
(gst_ffmpegcsp_caps_remove_format_info),
(gst_ffmpegcsp_get_unit_size):
The 'palette_data' field from incoming RGB caps shouldn't be
proxied on outgoing YUV caps; also, restrict unit size
adjustment in case of paletted data only to the unit that
actually has a palette. Fixes#330711.
Original commit message from CVS:
* sys/ximage/Makefile.am:
* sys/xvimage/Makefile.am:
Add some _CFLAGS and _LIBS that seem to be missing
and/or required for Cygwin (see #317048).
Original commit message from CVS:
Reviewed by : Edward Hervey <edward@fluendo.com>
* gst/typefind/gsttypefindfunctions.c: (q3gp_type_find),
(qt_type_find):
Better 3gp typefinding.
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_create):
Don't send EOS event here, the base class will send one for us.
* gst/playback/gstplaybasebin.c: (prepare_output):
Subpictures without video stream aren't allowed either.
* gst/subparse/gstsubparse.c: (gst_subparse_type_find):
Fix debug statement copy'n'paste-o.
Original commit message from CVS:
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_get_volume):
Fix issues with mixer keeping state when muting/unmuting
and when changing the volume whilst muted (see #331763
and #331765).
Original commit message from CVS:
* gst/subparse/gstsubparse.c: (subrip_unescape_formatting),
(parse_subrip), (gst_sub_parse_format_autodetect):
Set right caps given that we send escaped text. Also,
honour <i></i>, <b></b> and <u></u> markers that can be found
in .srt files (fixes#310202).
Original commit message from CVS:
* gst-libs/gst/audio/mixerutils.c:
(element_factory_rank_compare_func):
Make order in which elements are tried more determinable.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (get_our_ghost_pad),
(remove_element_chain), (cleanup_decodebin),
(gst_decode_bin_change_state): Make decodebin reusable by
fixing remove_element_chain first and then introduce a
cleaner in state change to ->NULL. (Closes#331678)
------------------------------------------------------
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_open_file):
use 0666 mask when creating files so umask gets applied
correctly. Fixes#331295.
Original commit message from CVS:
2006-02-19 Julien MOUTTE <julien@moutte.net>
* gst/playback/gstdecodebin.c: (mimetype_is_raw): pango layout
should be considered as row.
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls),
(gst_ximagesink_ximage_new), (gst_ximagesink_ximage_destroy):
* sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy),
(gst_xvimagesink_check_xshm_calls), (gst_xvimagesink_xvimage_new):
Set shared memory segments to be deleted as soon as we have attached,
that way they get cleaned up automatically if we crash.
Original commit message from CVS:
2006-02-18 Julien MOUTTE <julien@moutte.net>
* ext/pango/gstclockoverlay.c: (gst_clock_overlay_get_text):
* ext/pango/gsttimeoverlay.c: (gst_time_overlay_get_text): Those
functions are called with lock held.
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_convert_src),
(gst_vorbisenc_convert_sink):
Use some more scaling functions.
Original commit message from CVS:
* ext/cdparanoia/gstcdparanoiasrc.c:
(gst_cd_paranoia_src_class_init), (gst_cd_paranoia_dummy_callback),
(gst_cd_paranoia_paranoia_callback),
(gst_cd_paranoia_src_signal_is_being_watched),
(gst_cd_paranoia_src_read_sector):
* ext/cdparanoia/gstcdparanoiasrc.h:
Add back 'transport-error' and 'uncorrected-error' signals and
make them actually be fired when bad stuff happens (#319340).
Original commit message from CVS:
* gst-libs/gst/audio/TODO:
Update TODO
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_get_offset):
When trying to play samples ASAP and we don't have a
previous sample, try to play at position 0 instead of
an invalid position.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_open),
(gst_alsasink_reset):
Also release lock when we get an error in _reset();
fix an error message.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_class_init),
(gst_alsasink_init), (get_channel_free_structure),
(caps_add_channel_configuration), (gst_alsasink_getcaps),
(gst_alsasink_close):
* ext/alsa/gstalsasink.h:
Add support for more than 2 channels (#326720).
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
Set codec_name for WAVEFORMATEX as well. When we have 'normal PCM'
with 4 or 6 channels, assume a default channel layout to make things
work (not sure there's anything else we can do in those cases).
Original commit message from CVS:
* gst-libs/gst/audio/multichannel.c:
Minor docs fix.
* gst-libs/gst/riff/Makefile.am:
* gst-libs/gst/riff/riff-ids.h:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_wavext_add_channel_layout), (gst_riff_create_audio_caps):
Add support for WAVEFORMATEX, eg. PCM audio with more than two
channels and a channel layout map.
Original commit message from CVS:
Reviewed by Edward Hervey <edward@fluendo.com>
* gst/videoscale/vs_scanline.c: (vs_scanline_resample_nearest_RGBA):
C-level optimization of the RGBA nearest neighbour function.
Eventually this might end up in liboil with vectorized versions.
Original commit message from CVS:
* gst-libs/gst/audio/multichannel.c:
(gst_audio_get_channel_positions):
When we have more than 2 channels, but no channel layout is
specified in the caps, return some default channel layout
to the caller and warn about about a possibly buggy element
(could be buggy filtercaps as well of course) (#317038).
Original commit message from CVS:
2006-02-15 Andy Wingo <wingo@pobox.com>
* ext/ogg/gstoggmux.c (gst_ogg_mux_collected): When updating
timestamp, update timestamp_end as well. Fixes a bugaboo. I hope
to the Lord Jesus that I do not have to touch the ogg muxer ever
again.
Original commit message from CVS:
* gst/audioconvert/plugin.c: (plugin_init):
Register the GstAudioChannelPosition enum type with the type
system in the plugin_init function, so that it is known before
any element actually makes use of multi-channel stuff. This is
required for example if one wants to be able to deserialise/use
a caps string with channel positions before any pipeline has
been setup and started, like with gst-launch.
Original commit message from CVS:
* gst-libs/gst/audio/gstringbuffer.c:
(gst_ring_buffer_pause_unlocked), (gst_ring_buffer_delay),
(gst_ring_buffer_samples_done), (wait_segment),
(gst_ring_buffer_commit), (gst_ring_buffer_clear):
Add some compiler G_(UN_)LIKELY help.
SIGNAL the ringbuffer waiters when going to PAUSED as well to
make sure they can exit their functions. Should fix#330748
Original commit message from CVS:
* Makefile.am:
* configure.ac:
* win32/MANIFEST:
* win32/common/_stdint.h:
Windows does not have long long; copy the generated _stdint.h
* win32/common/interfaces-enumtypes.c:
(gst_color_balance_type_get_type), (gst_mixer_type_get_type),
(gst_mixer_track_flags_get_type),
(gst_tuner_channel_flags_get_type):
* win32/common/multichannel-enumtypes.c:
(gst_audio_channel_position_get_type):
update
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_get_time), (gst_base_audio_sink_preroll),
(gst_base_audio_sink_render), (gst_base_audio_sink_change_state):
Always sync on first sample we receive when starting.
Original commit message from CVS:
* gst/playback/gstplaybin.c: (gen_vis_element):
Update vis bin docs.
Move queue after tee so we don't queue video buffers but
audio samples instead. Fixes problems where the video queue
is filled and the audio queue empty.
Original commit message from CVS:
* gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_create):
No need to push an EOS event here, GstBaseSrc will do that for us
when we return FLOW_UNEXPECTED.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_get_time), (gst_base_audio_sink_setcaps),
(gst_base_audio_sink_drain), (gst_base_audio_sink_preroll),
(gst_base_audio_sink_render), (gst_base_audio_sink_change_state):
Use scale functions when possible.
Fix error messages.
Free clockid when after waiting for EOS.
Use G_(UN_)LIKLY when it makes sense.
Fix sample clipping bug found by Arwed v. Merkatz fixes#330789.
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls):
Fix up the XShm call testing so that we catch errors, and don't
cause new ones by attempting to detach from a segment we failed
to attach to. Fixes#312439.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
(gst_riff_create_video_template_caps):
Added FLV1 <==> 'video/x-flash-video,flvversion=1' conversion.
Also added the caps to the default set of riff video caps.
Original commit message from CVS:
2006-02-09 Andy Wingo <wingo@pobox.com>
* ext/ogg/gstoggmux.c (GstOggPad): Keep track of both the start
time and the end time of the last packet in the page.
(gst_ogg_mux_pad_queue_page): In addition to setting the timestamp
on the pages in our queue, set the duration as well. Reflow a
debug statement.
(gst_ogg_mux_collected): Keep track of GstOggPad->timestamp_end.
Fixes bad muxing order.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertppayload.c:
(gst_basertppayload_setcaps), (gst_basertppayload_push):
update seqnum before setting it on the packet; this makes sure
that the timestamp and seqnum properties match after pushing
a buffer
Original commit message from CVS:
2006-02-09 Andy Wingo <wingo@pobox.com>
* gst-libs/gst/audio/gstringbuffer.c
(gst_ring_buffer_samples_done): Cast to guint64, fixes an integer
overflow after 13.5 hours of recording. Kapow!
* ext/alsa/gstalsasrc.c (gst_alsasrc_delay): Clamp the delay to
the buffer size -- we don't care about underrun/overrun reporting
right now, just need to return a useful value.
Original commit message from CVS:
* gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_create):
Revert Andy's newsegment change pending a more correct
fix.
Original commit message from CVS:
:
* gst/typefind/gsttypefindfunctions.c: (q3gp_type_find),
(qt_type_find), (plugin_init):
detect more files as 3gp
group and reorder the iso file formats
Original commit message from CVS:
* gst-libs/gst/tag/gstvorbistag.c: (gst_tag_from_vorbis_tag),
(gst_tag_to_vorbis_tag):
Make sure we called gst_tag_register_musicbrainz_tags()
before possibly mapping a vorbiscomment string from/to a
musicbrainz tag.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mp3_type_find):
In case we can't find the required number of consecutive
mpeg audio frames to positively identify an MPEG audio
stream, check if there's at least a valid mpeg audio
frame right at offset 0 and if so suggest mpeg/audio
caps with a very low probability (#153004).
Original commit message from CVS:
2006-02-07 Andy Wingo <wingo@pobox.com>
* gst/tcp/gsttcpclientsrc.c (gst_tcp_client_src_create): Switch to
a TIME segment if we get timestamped buffers. Requires recent
fixes in core to work properly.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (prepare_output):
Don't print the URI as part of the error message, it
makes error dialogs look rather ugly, especially if
the URI is very long or has characters in it that
need escaping.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (prepare_output):
Error out if we have only text or subtitles, but nothing
else. Also error out if we have subtitles but no video
stream.
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_create):
Treat GNOME_VFS_RESULT_EOF as EOS, not as error (#329194).
Post an error message on the bus when we encounter an
error, which will hopefully be more meaningful than the
'Internal Flow Error' message users get to see if we
just return GST_FLOW_ERROR.
Original commit message from CVS:
2006-02-07 Andy Wingo <wingo@pobox.com>
* configure.ac (GST_MAJORMINOR): Update core version req to
0.10.2.2, for the collectpads API addition (#330244).
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfs.c: (plugin_init):
Return FALSE from plugin_init() when GnomeVFS can't
be initialised for some reason (#328423).
Original commit message from CVS:
2006-02-06 Julien MOUTTE <julien@moutte.net>
* ext/pango/gsttextoverlay.c: (gst_text_overlay_src_event):
Stick to seeking theory until i find the bug.
* gst/subparse/gstsubparse.c: (parse_subrip): Fix debug.
Original commit message from CVS:
* ext/theora/theoraenc.c: (gst_theora_enc_class_init),
(theora_enc_finalize), (theora_enc_sink_setcaps),
(theora_set_header_on_caps), (theora_enc_chain),
(theora_enc_change_state):
* tests/check/pipelines/theoraenc.c: (GST_START_TEST):
Make theoraenc and the tests leak free. Like, really.
Original commit message from CVS:
(theora_enc_finalize), (theora_enc_sink_setcaps):
Add a finalize method to ensure we clean up state even if
someone omitted the state change back to NULL.
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_metadata_set1),
(gst_vorbisenc_chain):
Free some more leaked bits.
* tests/check/pipelines/theoraenc.c: (start_pipeline),
(stop_pipeline):
Wait for state changes to happen if they're ASYNC.
This ought to teach those fancy pants buildbots a lesson.
Original commit message from CVS:
* docs/libs/compiling.sgml:
Fix typo: it's pkg-config, not pkg-gconfig
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
* docs/libs/tmpl/gstgconf.sgml:
There is no libgstgconf in 0.10, remove it
from the docs.
Original commit message from CVS:
* gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add):
Add comment about LANGUAGE tag inconsistency (we want
ISO-639-1, but extract three-letter identifiers?)
* po/POTFILES.in:
Add two translatable files.
Original commit message from CVS:
* gst-libs/gst/tag/Makefile.am:
* gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add):
* gst-libs/gst/tag/tag.h:
* gst-libs/gst/tag/tags.c:
(gst_tag_register_musicbrainz_tags_internal),
(gst_tag_register_musicbrainz_tags):
Forward-port some tags stuff from the 0.8 branch. This is
mostly the addition of musicbrainz tags and their mapping
to vorbistags, and a vorbistag mapping of the language tag.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (try_to_link_1):
Don't put essential function call into
g_return_*() macro, otherwise it'll all be
replaced by NOOPs when compiling with
G_DISABLE_CHECKS defined.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_finalise),
(gst_alsasink_class_init), (gst_alsasink_init),
(gst_alsasink_write), (gst_alsasink_reset):
* ext/alsa/gstalsasink.h:
Add lock to protect alsa calls.
Implement reset to flush samples ASAP, does not work
with dmix though.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_provide_clock),
(gst_base_audio_sink_set_property),
(gst_base_audio_sink_get_property), (gst_base_audio_sink_render):
Don't try to provide a clock when we are not negotiated since
we might not be able to make it run.
Original commit message from CVS:
* gst-libs/gst/audio/TODO:
Updated.
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_drain), (gst_base_audio_sink_event):
On EOS, wait till the last sample is played before posting EOS.
Original commit message from CVS:
2006-02-01 Philippe Kalaf <burger at speedy dot org>
* gst-libs/gst/rtp/gstbasertpdepayload.c:
Patch by Kai Vehmanen : Adds ability to enable newsegment bypass by
setting queue_delay to zero. Also avoid thread being started if
queue_delay is zero.
Original commit message from CVS:
* gst/playback/test6.c: (new_decoded_pad_cb), (show_error), (main):
Make test work again by connecting fakesinks to each decoded pad,
which makes the pipeline wait until each fakesink has a buffer
queued before going to PAUSED state. At that point we know the
decodebin pads are negotiated.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (au_type_find),
(paris_type_find), (ilbc_type_find), (plugin_init):
Fix typefinding for audio/x-au, audio/x-paris and
audio/iLBC-sh. We cannot use the START_WITH macros
here, because there can only be one typefind factory
with the same name (caps), so the second one would
replace the first one and the first one would never
be called when doing typefinding (see #161712).
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_dec_convert),
(vorbis_handle_header_packet), (vorbis_dec_push),
(vorbis_handle_data_packet):
Use scale_int when we can, add some more scaling.
Check packettype before parsing it.
Original commit message from CVS:
* ext/theora/theoradec.c: (_theora_granule_time),
(theora_dec_src_convert), (theora_dec_sink_convert):
Call right _scale functions.
Use parameter instead of some other random value.
Original commit message from CVS:
* ext/theora/theoradec.c: (_theora_granule_frame),
(_theora_granule_time), (_inc_granulepos),
(theora_dec_src_convert), (theora_dec_sink_convert),
(theora_handle_type_packet), (theora_handle_data_packet),
(theora_dec_chain):
Use higher precision timestamps calculation.
Convert some other conversions to _scale.
Original commit message from CVS:
* gst/audiotestsrc/gstaudiotestsrc.c:
(gst_audio_test_src_create_sine_table), (plugin_init):
* gst/volume/gstvolume.c: (plugin_init):
initialize gst_controller before using
Original commit message from CVS:
* tests/check/pipelines/theoraenc.c:
* tests/check/pipelines/vorbisenc.c:
Define constant using G_GINT64_CONSTANT to avoid errors when
passing it around - otherwise it gets truncated to 32 bits.
Fixes failing tests.
Original commit message from CVS:
2006-01-31 Andy Wingo <wingo@pobox.com>
* sys/v4l/gstv4lsrc.c (gst_v4lsrc_set_caps): Don't segfault if the
caps being set doesn't have a framerate value. Basically a stopgap
measure.
* ext/ogg/gstoggmux.c (GST_BUFFER_END_TIME): New macro. Not
technically correct enough to put into core though.
(gst_ogg_mux_dequeue_page): Use END_TIME instead of TIMESTAMP +
DURATION. Fixes theoraenc ! oggmux.
* sys/v4l/gstv4lsrc.c (gst_v4lsrc_fixate): Fixate to the nearest
fraction, not double.
Original commit message from CVS:
2006-01-30 Andy Wingo <wingo@pobox.com>
* ext/ogg/gstoggmux.c (gst_ogg_mux_dequeue_page): Compare
timestamp + duration, not just timestamp -- ogg pages should be
ordered by stop time. Necessary fix given the change in vorbis
timestamps.
Original commit message from CVS:
2006-01-30 Andy Wingo <wingo@pobox.com>
* ext/theora/theoraenc.c (theora_enc_sink_setcaps)
(gst_theora_enc_init): Pull the granule shift out of the encoder.
(granulepos_add): New function, handles the messiness of adjusting
granulepos values.
(theora_buffer_from_packet):
(theora_enc_chain):
(theora_enc_sink_event): Use granulepos_add, not +.
* tests/check/pipelines/theoraenc.c
(check_buffer_granulepos_from_starttime): Just check the frame
count, not the actual granulepos -- we can't dictate to the
encoder when it should be placing keyframes.
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_start):
SERVICE_NOT_AVAILABLE happens for example when you're trying to
play an http:// stream from a server that's not serving
Original commit message from CVS:
2006-01-30 Andy Wingo <wingo@pobox.com>
* tests/check/pipelines/vorbisenc.c (TIMESTAMP_OFFSET):
* tests/check/pipelines/theoraenc.c (TIMESTAMP_OFFSET): Totally
remove the UINT64_CONSTANT macro, doesn't appear to be needed or
available.
Original commit message from CVS:
2006-01-30 Andy Wingo <wingo@pobox.com>
* ext/theora/gsttheoraenc.h:
* ext/theora/theoraenc.c: Same changes as were done to vorbisenc,
although theoraenc was timestamping correctly. Added handling of
streams that start with nonzero timestamps.
* tests/check/Makefile.am:
* tests/check/pipelines/theoraenc.c: New file, basically does same
tests as vorbisenc.
* tests/check/pipelines/vorbisenc.c: I claim these bugs.
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiosink.c:
(gst_audioringbuffer_class_init), (gst_audioringbuffer_release),
(gst_audioringbuffer_pause):
Implement pause that does not wait for completion.
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render), (gst_base_audio_sink_change_state):
Don't drop buffers when going to PAUSED but perform preroll on
remaining samples now that core base class supports this.
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_release),
(gst_ring_buffer_pause_unlocked), (gst_ring_buffer_stop),
(gst_ring_buffer_commit):
Pause should not signal waiters.
Implement return value of _commit correctly.
Original commit message from CVS:
2006-01-30 Andy Wingo <wingo@pobox.com>
* tests/check/Makefile.am (check_vorbis): Add pipelines/vorbisenc.
* ext/vorbis/vorbisenc.c (gst_vorbisenc_buffer_from_packet): Logic
updated to timestamp from the first sample, not the last.
(gst_vorbisenc_buffer_from_header_packet): New function, takes
special care of granulepos and timestamp for header packets.
(gst_vorbisenc_chain): Reflow, fix some leaks, and handle the case
when the first buffer has a nonzero timestamp.
* ext/vorbis/vorbisenc.h (GstVorbisEnc.granulepos_offset)
(GstVorbisEnc.subgranule_offset): New members. Take care of the
case when the first audio buffer we get has a nonzero timestamp.
(GstVorbisEnc.next_ts): Renamed from prev_ts, because now we
properly timestamp vorbis buffers with the time of the first
sample, not the last.
* ext/vorbis/vorbisenc.c (granulepos_to_clocktime): Renamed from
vorbis_granule_time_copy -- now it takes the granule/subgranule
offset into account.
* tests/check/pipelines/vorbisenc.c: New test for correctness of
timestamps, durations, and granulepos on buffers produced by
vorbisenc.
Original commit message from CVS:
* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
(gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_caps_to_pixfmt):
Patch from Eric Jonas to support conversions to/from UYVY
(Fixes: #324626)
Original commit message from CVS:
* gst-libs/gst/audio/audio.h: (GST_CLOCK_TIME_TO_FRAMES)
* gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_render)
use of gst_guint64_to_gdouble to be compliant with vs6
* gst/playback/gstdecodebin.c: (try_to_link_1)
* gst/videorate/videorate.c: (gst_video_rate_blank_data)
use of G_GINT64_CONSTANT for int64 constants
* win32/common/libgstinterfaces.def:
export some symbols (gst_mixer_get_type,gst_mixer_track_get_type)
* win32/vs6:
update and add new project files
Original commit message from CVS:
* Makefile.am:
* win32/MANIFEST:
* win32/common/interfaces-enumtypes.c:
(gst_color_balance_type_get_type), (gst_mixer_type_get_type),
(gst_mixer_track_flags_get_type),
(gst_tuner_channel_flags_get_type):
* win32/common/interfaces-enumtypes.h:
* win32/common/multichannel-enumtypes.c:
(gst_audio_channel_position_get_type):
* win32/common/multichannel-enumtypes.h:
add a win32-update rule like in core, and copy over enumtypes files
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_init), (set_hwparams),
(set_swparams), (gst_alsasink_prepare), (gst_alsasink_unprepare),
(gst_alsasink_close), (gst_alsasink_write), (gst_alsasink_reset):
* ext/alsa/gstalsasrc.c: (gst_alsasrc_init), (set_hwparams),
(set_swparams), (gst_alsasrc_open), (gst_alsasrc_prepare),
(gst_alsasrc_unprepare), (gst_alsasrc_read):
Update all error messages. All of them should either use
the default translated message, or actually provide a
translatable string.
Make the string for channel count problems meaningful.
Original commit message from CVS:
* gst/videoscale/vs_scanline.c: Oops, *that's* why I never
checked in this change -- it requires liboil features not
in 0.3.6. Revert parts.
Original commit message from CVS:
* ext/libvisual/visual.c: (get_buffer):
When pad_alloc returns a GstFlowReturn other
than GST_FLOW_OK, make sure it is passed upstream.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_finalise),
(gst_alsasink_class_init):
Free the device name string.
* ext/ogg/gstoggmux.c: (gst_ogg_mux_class_init),
(gst_ogg_mux_request_new_pad), (gst_ogg_mux_release_pad),
(gst_ogg_mux_handle_src_event), (gst_ogg_mux_clear_collectpads):
Don't remove a pad from the collectpads structure until it
is released - it's a request pad, and may receive data again
if the element gets moved back to PLAYING state.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support):
Ensure we turn on double buffering on the Xv port, and
set the colour key to something dark and mysterious that
isn't black.
Original commit message from CVS:
* ext/alsa/gstalsaplugin.c: (plugin_init):
* ext/cdparanoia/gstcdparanoiasrc.c:
(gst_cd_paranoia_src_base_init), (plugin_init):
* ext/gnomevfs/gstgnomevfs.c: (plugin_init):
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_plugin_init):
- a library should not call setlocale. see Libraries node in
gettext manual
- make sure all plugins that use translation do bindtextdomain
to point to the localedir
* gst/playback/gstplaybin.c: (gen_vis_element), (add_sink),
(setup_sinks), (plugin_init):
all this, and check for NULL when creating sinks
Original commit message from CVS:
2006-01-27 Julien MOUTTE <julien@moutte.net>
* gst/subparse/gstsubparse.c: (gst_subparse_type_find),
(plugin_init): Make typefinding of subtitles work again.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (aac_type_find),
(mp3_type_frame_length_from_header), (mp3_type_find),
(wavpack_type_find), (m4a_type_find), (ircam_type_find),
(plugin_init):
Backport a bunch of typefinding fixes from the 0.8 branch.
Also, improve wavpack typefinding: if we can't peek the
entire wavpack block, try to parse the bits we can get and
see if we find what we're looking for in those.
Original commit message from CVS:
2006-01-26 Julien MOUTTE <julien@moutte.net>
* sys/ximage/ximagesink.c:
(gst_ximagesink_calculate_pixel_aspect_ratio):
* sys/xvimage/xvimagesink.c:
(gst_xvimagesink_calculate_pixel_aspect_ratio): Handle some
more cases of pixel aspect ratio.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (pad_probe):
Also consider the flush-start and tag events as unblockers
for the pad probes.
Original commit message from CVS:
2006-01-26 Julien MOUTTE <julien@moutte.net>
* gst/playback/gstplaybin.c: (gst_play_bin_init),
(gst_play_bin_dispose), (gst_play_bin_vis_unblocked),
(gst_play_bin_vis_blocked), (gst_play_bin_set_property):
On the fly visualisation switch, works disabling, enabling as
well but it won't be able to enable vis in a playbin that was
created with no visualisation.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render), (gst_base_audio_sink_change_state):
Undo previous commit, it breaks resume after pause.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_setcaps), (gst_base_audio_sink_event),
(gst_base_audio_sink_preroll), (gst_base_audio_sink_render):
Improve debugging.
Post error when caps cannot be parsed.
Resync on discontinuity in the stream.
Clip samples to segment boundaries.
return WRONG_STATE sooner when we are flushing.
* gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_init),
(gst_base_audio_src_get_time), (gst_base_audio_src_create):
Make audiosrc operate in TIME.
Set TIMESTAMP and DURATION on buffers.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (gst_decode_bin_init),
(free_pad_probes), (remove_fakesink), (pad_probe),
(close_pad_link), (gst_decode_bin_change_state):
Replace GstPadBlockCallback with pad probes that detect
first buffer AND eos before removing fakesink.
Fixes hang with demuxers doing EOS while pre-rolling.
Solves #328279
Original commit message from CVS:
2006-01-22 Julien MOUTTE <julien@moutte.net>
* sys/ximage/ximagesink.c: (gst_ximagesink_ximage_destroy):
* sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy),
(gst_xvimagesink_buffer_alloc): Playbin keeps some ref to some
frames. We might get a frame destroyed after changing state to
NULL, adding a safety check on xcontext.
Original commit message from CVS:
* gst-libs/gst/interfaces/xoverlay.c:
Fix prepare-xwindow-id code example in the docs - we need to
ignore all messages that aren't element messages as well.
Original commit message from CVS:
2006-01-21 Julien MOUTTE <julien@moutte.net>
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_buffer_alloc):
I think one day i'll completely undestand how caps negotiation
is supposed to work. This refactoring handles buffer_alloc
called with caps we can't handle. We definitely don't want a
set_caps with those caps, so we define and allocate a buffer
we would like to receive.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
Fix playback of non-synchronised streams by assuming a rate
of 1.0 instead of a random one.
Makes this work again:
gst-launch filesrc location=raw_audio.file ! 'audio/x-raw-int,
endianness=(int)4321, signed=(boolean)true, width=(int)16,
depth=(int)16, rate=(int)44100, channels=(int)2' ! audioconvert !
audioresample ! alsasink
Original commit message from CVS:
* gst/playback/gststreaminfo.c: (gst_stream_info_set_mute):
* gst/playback/gststreamselector.c:
(gst_stream_selector_set_property):
Comment out broken code that connects to the state-changed signal.
At this point, changing current stream selection is broken, but
stuff like gst-launch playbin current-audio=1 works and filters
to the chosen stream.
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_handle_comment_packet):
Post taglist actually on bus instead of just freeing it
(fixes#327114 and totem bug #327080).
* ext/vorbis/vorbisdec.c: (vorbis_handle_comment_packet):
Use gst_element_found_tags_for_pad(), so that the tags
are sent downstream as an event as well.
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximage_buffer_finalize),
(gst_ximagesink_ximage_new), (gst_ximagesink_ximage_put),
(gst_ximagesink_buffer_alloc):
* sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_finalize),
(gst_xvimagesink_xvimage_put), (gst_xvimagesink_show_frame),
(gst_xvimagesink_buffer_alloc):
move all regularly occurring messages to GST_LOG level
add some more object logs
Original commit message from CVS:
2006-01-14 Thomas Vander Stichele <thomas at apestaart dot org>
* ext/ogg/gstoggmux.c: (gst_ogg_mux_collected):
fix a silly segfault
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (setup_source):
Fix playback for sources that emit raw audio or
raw video streams (e.g.: cd audio sources) (#325984).
Original commit message from CVS:
* gst-libs/gst/cdda/gstcddabasesrc.c:
(gst_cdda_base_src_handle_track_seek):
No need to post a tag message on the bus when seeking
within the same track, only post it when the current
track changes.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (group_destroy),
(probe_triggered), (new_decoded_pad), (mute_group_type),
(set_active_source):
* gst/playback/gststreaminfo.c: (gst_stream_info_set_mute):
* gst/playback/gststreamselector.c:
(gst_stream_selector_base_init),
(gst_stream_selector_set_property),
(gst_stream_selector_request_new_pad):
Reenable stream selection. These mechanisms need a complete overhaul
in the face of 0.8->0.10 changes though.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c:
Change the pad template to src_%d to match the pads that
are created from it. decodebin needs this information in order
to decide that oggdemux is capable of producing multiple pads
(and hence needs queues inserted).
* ext/ogg/gstoggmux.c: (gst_ogg_mux_queue_pads),
(gst_ogg_mux_collected):
Make debug output more useful by using GST_PTR_FORMAT.
Original commit message from CVS:
Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_parse_caps):
Set depth and width for alaw/mulaw (fixes#326601).
Original commit message from CVS:
* ext/cdparanoia/gstcdparanoiasrc.c: (gst_cd_paranoia_src_close),
(gst_cd_paranoia_paranoia_callback):
Don't try to free NULL pointers.
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain),
(gst_audio_rate_change_state), (plugin_init):
Add debugging category.
Fix type issues.
Add case for incoming buffers without valid offset/offset_end.
Original commit message from CVS:
* gst/playback/gstplaybin.c: (gen_audio_element):
Don't leak an autoaudiosink/alsasink when we generate
a new audio element. (old code, I guess)
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_setcaps):
Support float audio in audiorate.
Use width rather than depth for selecting sample width.
Original commit message from CVS:
* gst/videotestsrc/videotestsrc.h:
Use GLib types here (that way we don't have to include the
generated _stdint.h header, which makes life easier for win32
folks that don't use autotools for the build) (#325990, patch
by: Sergey Scobich).
Original commit message from CVS:
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_init),
(gst_ring_buffer_set_flushing), (gst_ring_buffer_start),
(gst_ring_buffer_pause), (wait_segment):
* gst-libs/gst/audio/gstringbuffer.h:
Name (private) union, makes Forte compiler happy (this time
for real) (#324900).
Original commit message from CVS:
* gst/audioresample/resample.h:
Declare struct _ResampleState.buffer as unsigned char *, not void *,
since we do arithmetic on it.
Original commit message from CVS:
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_init),
(gst_ring_buffer_set_flushing), (gst_ring_buffer_start),
(gst_ring_buffer_pause), (wait_segment):
* gst-libs/gst/audio/gstringbuffer.h:
Sun's Forte compiler doesn't seem to like anonymous structs,
so use same setup as in GstBaseSrc (fixes#324900).
Original commit message from CVS:
* configure.ac:
* gst/volume/Makefile.am:
* gst/volume/demo.c:
move old example to tests/examples/volume/volune.c
* tests/examples/Makefile.am:
* tests/examples/seek/seek.c: (main):
change window-close event from "delete-event" to "destroy"
* tests/examples/volume/Makefile.am:
* tests/examples/volume/volume.c: (value_changed_callback),
(setup_gui), (message_received), (eos_message_received), (main):
fix event handling and bus usage
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (new_pad):
Fix non-C89 variable declaration not at the start of a block. Should
help some compilers.
Original commit message from CVS:
* configure.ac:
* ext/cdparanoia/Makefile.am:
* ext/cdparanoia/gstcdparanoia.c:
* ext/cdparanoia/gstcdparanoia.h:
* ext/cdparanoia/gstcdparanoiasrc.c:
(gst_cd_paranoia_mode_get_type), (gst_cd_paranoia_src_base_init),
(gst_cd_paranoia_src_init), (gst_cd_paranoia_src_class_init),
(gst_cd_paranoia_src_open), (gst_cd_paranoia_src_close),
(gst_cd_paranoia_paranoia_callback),
(gst_cd_paranoia_src_read_sector), (gst_cd_paranoia_src_finalize),
(gst_cd_paranoia_src_set_property),
(gst_cd_paranoia_src_get_property), (plugin_init):
* ext/cdparanoia/gstcdparanoiasrc.h:
New cdparanoiasrc element based on cddabasesrc; enable cdparanoia
plugin again (there are still fixes required to playbin to make
cdda:// uris work there).
Original commit message from CVS:
* gst-libs/gst/cdda/gstcddabasesrc.c:
(gst_cdda_base_src_update_duration),
(gst_cdda_base_src_calculate_cddb_id):
An integer is not a string. Fix access to uninitialised variable.
* tests/check/Makefile.am:
Add cddabasesrc unit test; also actually enable the vorbis test.
* tests/check/generic/states.c:
Blacklist new cd audio elements as well.
* tests/check/libs/cddabasesrc.c:
Unit test for GstCddaBaseSrc (discid calculation mostly).
Original commit message from CVS:
* docs/libs/Makefile.am:
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
* docs/libs/gst-plugins-base-libs.types:
Add docs for libgstcdda/GstCddaBaseSrc.
* gst-libs/gst/interfaces/mixertrack.h:
Do one struct member per line with a semicolon at the end, that way
even gtk-doc might parse it without complaining.
Original commit message from CVS:
* gst/videotestsrc/gstvideotestsrc.c:
(gst_video_test_src_class_init), (gst_video_test_src_start):
Add start method to reset running time and number of frames sent
when starting up (fixes#324696; patch by: Michal Benes).
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_class_init):
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_class_init):
update strings, values are in microseconds
change the default sink buffer time to something that is smaller
(to help software volume mixing have a slightly lower delay) but
still be acceptable on Wim's laptop
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_template_caps):
Made a quack, forgot to add DUCK to the riff video template.
Original commit message from CVS:
* ext/ogg/gstogmparse.c: (gst_ogm_text_parse_base_init),
(gst_ogm_parse_init), (gst_ogm_audio_parse_init),
(gst_ogm_video_parse_init), (gst_ogm_text_parse_init),
(gst_ogm_parse_chain):
Make sure pads are initialized correctly.
* gst-libs/gst/riff/riff-ids.h:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
(gst_riff_create_video_template_caps):
Add a whole bunch of FOURCC <=> MimeType.
Extend the riff video pad template to support the newly added fourcc.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_deactivate_current_chain),
(gst_ogg_demux_activate_chain):
Extra debug output when activating/deactivating chains.
* gst/playback/gstdecodebin.c: (gst_decode_bin_factory_filter),
(is_demuxer_element), (try_to_link_1), (remove_element_chain),
(unlinked):
Remove a queue from our list when it becomes unlinked.
Don't add queues to elements in class 'Demux' if they
can only produce one pad
Original commit message from CVS:
2005-12-17 Philippe Khalaf <burger@speedy.org>
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_init), (gst_base_rtp_depayload_handle_sink_event):
Handle downstream newsegment by sending our own newsegment before the
next buffer to be released. (#323900)
Original commit message from CVS:
2005-12-17 Philippe Khalaf <burger@speedy.org>
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_set_gst_timestamp):
add queue delay to new segment as well (as opposed to just the first
buffer). (bug #322347)
Original commit message from CVS:
* ext/libvisual/visual.c: (make_valid_name):
change some char* into char[]
* gst/audiotestsrc/gstaudiotestsrc.c:
(gst_audio_test_src_class_init), (gst_audio_test_src_do_seek),
(gst_audio_test_src_create):
* gst/audiotestsrc/gstaudiotestsrc.h:
prepare to handle EOS and SEGMENT_DONE
Original commit message from CVS:
* gst/tcp/gsttcp.c:
* gst/tcp/gsttcpclientsink.c:
* gst/tcp/gsttcpserversink.c:
* gst/tcp/gsttcpserversrc.c:
Add <string.h> includes for memset and FD_ZERO (fixes#323878;
patch by: Benjamin Pineau).
Original commit message from CVS:
* gst/videorate/gstvideorate.c: (gst_video_rate_blank_data),
(gst_video_rate_chain):
Fix timestamping for videorate when the first buffer it sees has a
non-zero timestamp. Fix some misleading debug output.
Original commit message from CVS:
* ext/pango/gsttextoverlay.c: (gst_text_overlay_collected):
Don't operate on empty text buffers. Strip newlines and
tabs only from the end of the text, but leave them intact
in the middle. Fix typo in gtk-doc description.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c:
* gst/playback/gstplaybin.c: (handoff):
Make sure the video frame buffer we return to apps via the
"frame" property always has caps set on it. Modify
_gst_gvalue_set_object() macro to handle NULL objects
gracefully too.
Original commit message from CVS:
* gst/audiotestsrc/gstaudiotestsrc.c:
(gst_audio_test_src_class_init), (gst_audio_test_src_init),
(gst_audio_test_src_setcaps), (gst_audio_test_src_src_query),
(gst_audio_test_src_do_seek), (gst_audio_test_src_is_seekable),
(gst_audio_test_src_create):
* gst/audiotestsrc/gstaudiotestsrc.h:
Adjust to some recent api changes and add wtays new cool seeking
capabillities
Original commit message from CVS:
* ext/alsa/Makefile.am:
* ext/alsa/gstalsadeviceprobe.c:
* ext/alsa/gstalsadeviceprobe.h:
Helper functions to add device probing via the GstPropertyProbe
interface to a class.
* ext/alsa/gstalsamixer.h:
Comment out GST_ALSA_MIXER, it returns a struct that's not
used.
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_open):
Add some debug info.
* ext/alsa/gstalsamixerelement.c:
(gst_alsa_mixer_element_interface_supported),
(gst_implements_interface_init),
(gst_alsa_mixer_element_init_interfaces),
(gst_alsa_mixer_element_class_init),
(gst_alsa_mixer_element_finalize), (gst_alsa_mixer_element_init),
(gst_alsa_mixer_element_set_property),
(gst_alsa_mixer_element_get_property),
(gst_alsa_mixer_element_change_state):
* ext/alsa/gstalsamixerelement.h:
Add 'device' and 'device-name' properties. Add GstPropertyProbe
for device handling (gnome-volume-control will need that).
Original commit message from CVS:
* ext/cdparanoia/Makefile.am:
* ext/cdparanoia/gstcdparanoia.c: (gst_paranoia_mode_get_type),
(gst_paranoia_endian_get_type), (_do_init),
(cdparanoia_class_init), (cdparanoia_init),
(cdparanoia_set_property), (cdparanoia_get_property),
(cdparanoia_do_seek), (cdparanoia_is_seekable),
(cdparanoia_create), (cdparanoia_start), (cdparanoia_stop),
(cdparanoia_convert), (cdparanoia_get_query_types),
(cdparanoia_query), (cdparanoia_set_index),
(cdparanoia_uri_set_uri):
* ext/cdparanoia/gstcdparanoia.h:
Partially ported cdparanoia now that basesrc can support a
plugin like this..
Original commit message from CVS:
* tests/examples/seek/scrubby.c: (main):
Set higher priority for bus events so they don't get reordered with
gtk gui events.
* tests/examples/seek/seek.c: (do_seek), (start_seek), (stop_seek),
(flush_toggle_cb), (main):
Added checkbox do disable flushing seeks.
Disable scrubbing when doing non flushing seeks.
Original commit message from CVS:
* gst/subparse/gstsubparse.c: (gst_sub_parse_init),
(gst_sub_parse_do_seek), (gst_sub_parse_src_event), (parse_subrip),
(parser_state_init), (handle_buffer), (gst_sub_parse_chain),
(gst_sub_parse_sink_event), (gst_sub_parse_change_state):
Implement some sort of event handling that doesn't rely on
g_return_if_fail; make sure we always push the last chunk of an
.srt out when we receive an EOS; use gst_pad_alloc_buffer; fix
state change function; remove some old cruft. Seeking is still
rather unlikely to work though.
* tools/.cvsignore:
Ignore more.
Original commit message from CVS:
2005-12-11 Julien MOUTTE <julien@moutte.net>
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_change_state):
Fixed a leak of the current image reference when cleaning up.
Thanks to Arwed von Merkatz (alley_cat) for pointing it out.
Original commit message from CVS:
* tools/Makefile.am:
* tools/gst-launch-ext-m.m:
Remove gst-launch-ext. It doesn't work, and is no longer
particularly useful.
Original commit message from CVS:
* ext/ogg/gstogmparse.c: (gst_ogm_parse_sink_query):
don't pass random values to ogmparse convert function.
Make seeking possible in the exile1.ogm file.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_get_property):
* gst/playback/gstplaybin.c: (gst_play_bin_get_property):
Work around refcount problem with g_value_set_object() that occur
if the core has been compiled against GLib-2.6 (g_value_set_object()
will only g_object_ref() the element, but the caller will
gst_object_unref() it and bad things will happen due to the way
GstObjects are refcounted in the GLib-2.6 case). Fixes problems with
totem for people on FC4 using Thomas's 0.10 RPMs.
Original commit message from CVS:
Time to welcome ogm to 0.10 :)
* ext/ogg/gstoggdemux.c: (internal_element_pad_added_cb),
(gst_ogg_pad_typefind):
Oggdemux can now properly typefind elements with dynamic pads.
* ext/ogg/gstogmparse.c: (gst_ogm_parse_chain):
Properly set caps on src pad, and set caps on outgoing buffers.
Original commit message from CVS:
* ext/Makefile.am:
Add $(PANGO_DIR) to SUBDIRS
* ext/pango/gstclockoverlay.c:
* ext/pango/gsttimeoverlay.c:
Fix and improve element descriptions.
Original commit message from CVS:
* docs/libs/tmpl/gstcolorbalance.sgml:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
* gst-libs/gst/rtp/gstbasertppayload.c:
* gst-libs/gst/rtp/gstrtpbuffer.c:
* gst-libs/gst/rtp/gstrtpbuffer.h:
Do burger's rename for rtp payloaders and depayloaders
Original commit message from CVS:
* gst-libs/gst/net/Makefile.am:
* gst-libs/gst/net/README:
* gst-libs/gst/net/gstnetbuffer.c:
* gst-libs/gst/net/gstnetbuffer.h:
this was moved to netbuffer
Original commit message from CVS:
* gst-libs/gst/video/gstvideofilter.c: (gst_video_filter_get_type),
(gst_video_filter_class_init), (gst_video_filter_init):
* gst-libs/gst/video/gstvideofilter.h:
borgify name to bring in line with other classes
Original commit message from CVS:
* gst-libs/gst/netbuffer/Makefile.am: (libgstnetbufferincludedir):
Let's not override libgstnet from core for no reason...
(libgstnetbuffer_@GST_MAJORMINOR@_la_SOURCES):
Ok, maybe not so quick next time.
Original commit message from CVS:
* gst-libs/gst/netbuffer/Makefile.am: (libgstnetbufferincludedir):
Let's not override libgstnet from core for no reason...
Original commit message from CVS:
* configure.ac:
* gst-libs/gst/Makefile.am:
moved gst-libs/gst/net to netbuffer through CVS surgery
remove old directory
updating build to accomodate
(#322257)
Original commit message from CVS:
2005-11-29 Andy Wingo <wingo@pobox.com>
* pkgconfig/gstreamer-plugins-base.pc.in:
* pkgconfig/gstreamer-plugins-base-uninstalled.pc.in:
* gst-libs/gst/net/Makefile.am: Rename gstnet to gstnetbuffer
(#322257).
Original commit message from CVS:
* gst/playback/gststreamselector.c: (gst_stream_selector_chain):
3rd time's the charm. Correct ref-counting for discarded buffers.
Original commit message from CVS:
* gst/playback/gststreamselector.c:
(gst_stream_selector_class_init), (gst_stream_selector_init),
(gst_stream_selector_dispose), (gst_stream_selector_set_property),
(gst_stream_selector_get_property),
(gst_stream_selector_get_linked_pad),
(gst_stream_selector_request_new_pad), (gst_stream_selector_chain):
* gst/playback/gststreamselector.h:
Add the active-pad property for playbin to use shortly. Ignore buffers
from any other pad, returning GST_FLOW_NOT_LINKED
Original commit message from CVS:
2005-11-28 Julien MOUTTE <julien@moutte.net>
* sys/ximage/ximagesink.c: (gst_ximagesink_ximage_put),
(gst_ximagesink_setcaps):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_put),
(gst_xvimagesink_setcaps): Fixed a tricky bug. When caps
renegotiation
happens (only visible on ximagesink but bug is in xv too)
set_caps was
destroying the internal x[v]image used to memcpy non locally
alloced
buffers so that it got renewed on next _chain. The issue is that
_expose will try to put that image as it reffed it in _put.
Using gst_buffer_unref instead of destroy fixes it !
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (gst_decode_bin_init),
(try_to_link_1), (queue_filled_cb):
Better use of the queues. Start with a small size queue and only increase
the size of the queues when the other queues are empty.
Original commit message from CVS:
* gst-libs/gst/video/Makefile.am:
compile in copied-over videofilter into the video library
* gst-libs/gst/video/videosink.h:
rename the header to gstvideosink.h since it's a base GstObject class
* sys/ximage/ximagesink.h:
* sys/xvimage/xvimagesink.h:
use the new header
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (group_commit), (probe_triggered):
* gst/playback/gstplaybasebin.h:
Prepare to handle errors betters.
* gst/playback/gstplaybin.c: (add_sink), (setup_sinks):
Set sinks to PAUSED first before adding and linking them so that
we don't interrupt dataflow.
Original commit message from CVS:
* gst-libs/gst/audio/TODO:
Updated TODO
* gst-libs/gst/audio/gstaudiosink.c:
(gst_audioringbuffer_open_device),
(gst_audioringbuffer_close_device), (gst_audioringbuffer_acquire),
(gst_audioringbuffer_release):
Small cleanups.
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_class_init), (gst_base_audio_sink_render),
(gst_base_audio_sink_change_state):
Slave to the master clock when going to PLAYING and unslave when
going to PAUSED.
* gst-libs/gst/audio/gstringbuffer.c:
(gst_ring_buffer_open_device), (gst_ring_buffer_close_device),
(gst_ring_buffer_acquire), (gst_ring_buffer_release),
(gst_ring_buffer_samples_done), (gst_ring_buffer_set_sample),
(gst_ring_buffer_clear_all), (wait_segment),
(gst_ring_buffer_commit), (gst_ring_buffer_read),
(gst_ring_buffer_advance):
* gst-libs/gst/audio/gstringbuffer.h:
Add some docs and cleanups.