Original commit message from CVS:
* gst-libs/gst/video/video.c: (gst_video_format_parse_caps),
(gst_video_format_from_rgba32_masks):
Fix gst_video_format_parse_caps() for RGB caps with alpha channel
(#522635).
* tests/check/libs/video.c: (test_parse_caps_rgb), (video_suite):
Add unit test for the RGB caps parsing and creation, checking for
internal consistency of the new API and consistency of the API with
the old GST_VIDEO_CAPS_* defines.
Original commit message from CVS:
* gst/playback/gststreamselector.c: (gst_selector_pad_event),
(gst_selector_pad_chain):
* gst/playback/gststreamselector.h:
Revert change that caused regression until a real fix is found.
Fixes#522203.
Original commit message from CVS:
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_parse_caps):
* gst-libs/gst/audio/gstringbuffer.h:
Rename recently added buffer types to make more sense.
* ext/alsa/gstalsasink.c: (alsasink_parse_spec),
(gst_alsasink_write):
Adapt for above API changes.
Fixes bug #520523.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_create):
Fix duration when no clock was provided. Fixes#520300.
Original commit message from CVS:
Patch by: Olivier Crete <tester at tester ca>
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/netbuffer/gstnetbuffer.c: (gst_netaddress_equal):
* gst-libs/gst/netbuffer/gstnetbuffer.h:
Add trivial function to compare GstNetAddress. See #520626.
API: GstNetBuffer::gst_netaddress_equal
Original commit message from CVS:
* gst/Makefile.am:
GST_PLUGINS_ALL correctly lists subparse and tcp now, don't distclean
them twice
* win32/common/libgstinterfaces.def:
* win32/common/libgstrtp.def:
Add new API to the defs
Original commit message from CVS:
Patch by: Mersad Jelacic <mersad at axis dot com>
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
* gst-libs/gst/rtp/gstbasertpaudiopayload.h:
API: add gst_base_rtp_audio_payload_set_samplebits_options() to make it
possible to specify the sample size in bits. (#509637)
Original commit message from CVS:
* configure.ac:
Use AG_GST_CHECK_PLUGIN and AG_GST_DISABLE_PLUGIN to simplify which
plug-ins are included/excluded. (#498222)
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (plugin_init):
Add typefinder for IMelody files, using audio/x-imelody.
See bug #519516.
Original commit message from CVS:
Patch by: José Alburquerque <jaalburqu svn gnome org>
* gst/playback/gstplaybin2.c:
Make the function signature of the _get_*_tags() functions match
the signature of the vfuncs they implement, ie. return a
GstTagList rather than a GstStructure, which is more correct,
even if one is typedef'ed to the other (#518940).
Original commit message from CVS:
* tests/check/libs/video.c: (paintinfo), (paintinfo_struct),
(fourcc_list_struct), (fourcc_list), (fourcc_get_size),
(paint_setup_I420), (paint_setup_YV12), (paint_setup_AYUV),
(paint_setup_YUY2), (paint_setup_UYVY), (paint_setup_YVYU),
(paint_setup_IYU2), (paint_setup_Y41B), (paint_setup_Y42B),
(paint_setup_Y800), (paint_setup_YVU9), (paint_setup_YUV9),
(gst_video_format_is_packed), (video_format_is_packed):
Add unit test that makes sure that the strides, offsets and
sizes returned for the various YUV formats by the new video API
match the old reference implementation in videotestsrc.
Original commit message from CVS:
* gst-libs/gst/video/video.c: (gst_video_format_get_component_offset):
YV12 is I420 with swapped components 1 and 2, so the offset of
component 1 for I420 should be the offset for component 2 for YV12
and vice versa.
Original commit message from CVS:
2008-02-29 Julien Moutte <julien@fluendo.com>
* ext/alsa/gstalsa.c: (gst_alsa_open_iec958_pcm),
(gst_alsa_probe_supported_formats): Probe for IEC958 pcm to
detect
if we can do SPDIF output.
* ext/alsa/gstalsa.h:
* ext/alsa/gstalsasink.c: (set_hwparams), (alsasink_parse_spec),
(gst_alsasink_prepare), (gst_alsasink_close),
(gst_alsasink_write):
* ext/alsa/gstalsasink.h: Initial support for SPDIF.
* gst-libs/gst/audio/gstringbuffer.c:
(gst_ring_buffer_parse_caps):
* gst-libs/gst/audio/gstringbuffer.h: Add non linear buffer
types
to support AC3, EC3 and IEC958 buffers.
Original commit message from CVS:
* gst-libs/gst/interfaces/mixer.c: (GST_MIXER_MESSAGE_HAS_TYPE),
(gst_mixer_message_parse_mute_toggled),
(gst_mixer_message_parse_record_toggled),
(gst_mixer_message_parse_volume_changed),
(gst_mixer_message_parse_option_changed):
De-cruft and fix message type assertions (NULL is not a really
valid mixer message type string).
Original commit message from CVS:
* ext/libvisual/visual.c: (gst_vis_src_negotiate):
When negotiating, actually start from a format that we can support
instead of from the too generic template.
Original commit message from CVS:
* gst/playback/gstplaybin2.c: (gst_play_bin_set_property):
Enable vis setting.
* gst/playback/gstplaysink.c: (gst_play_sink_init),
(gst_play_sink_dispose), (gst_play_sink_vis_unblocked),
(gst_play_sink_vis_blocked), (gst_play_sink_set_vis_plugin),
(gen_vis_chain):
Implement vis switching while playing.
Original commit message from CVS:
* gst-libs/gst/rtsp/gstrtspconnection.c:
(gst_rtsp_connection_create), (gst_rtsp_connection_connect),
(gst_rtsp_connection_write), (gst_rtsp_connection_read_internal),
(gst_rtsp_connection_receive), (gst_rtsp_connection_close),
(gst_rtsp_connection_free), (gst_rtsp_connection_poll),
(gst_rtsp_connection_flush):
* gst-libs/gst/rtsp/gstrtspconnection.h:
Use GstPoll for the rtsp connection.
Original commit message from CVS:
* tests/examples/seek/seek.c: (vis_toggle_cb), (filter_features),
(init_visualization_features), (vis_combo_cb), (shot_cb), (main):
Add combo box for visualisations, populate it with a factory list
of all visualisation plugins, configure vis plugin instance in
playbin2.
Original commit message from CVS:
* gst-libs/gst/cdda/sha1.c: (sha_transform):
Use memcpy() instead of upcasting a byte array to long *. This
fixes an unaligned memory access, resulting in SIGBUS on IA64.
This should be ported to GCheckSum once we can use GLib 2.16.
Partially fixes bug #500833.
Original commit message from CVS:
* gst-libs/gst/tag/gsttagdemux.c: (gst_tag_demux_chain):
Push tag event after the newsegment event. Log the pointer of
the buffer we're actually going to push rather than the buffer
we're feeding to _make_metadata_writable().
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (plugin_init):
Comment smoke typefinder for now. The smokedec plugin needs one
frame per buffer but we have no parser yet, thus it simply crashes
in most situations.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (plugin_init):
Add typefinder for the smoke video codec. Copied from the jpeg plugin.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mid_type_find),
(plugin_init):
Add midi typefinder, copied from the timidity plugin.
Original commit message from CVS:
Based on patch by: Tomasz Sałaciński <tsalacinski gmail com>
* gst/subparse/gstsubparse.c: (parse_mdvdsub):
* tests/check/elements/subparse.c: (test_microdvd_with_italics),
(subparse_suite):
Forward slashes at the beginning and end of a line also signify
italics (Fixes: #518162).
Original commit message from CVS:
* tests/check/gst-plugins-base.supp:
Add a suppression for a cached value in GIO that wasn't moved
while moving gio from -bad to -base.
Original commit message from CVS:
Patch by: Brian Cameron <brian dot cameron at sun dot com>
* configure.ac:
Don't hardcode -Wall and -Werror for configure checks, this fails
with non-GCC compilers. Fixes bug #517991.
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssink.c:
(gst_gnome_vfs_sink_handle_event):
Return FALSE when seeking for a new segment fails instead
of silently ignoring the failure and appending every buffer
that comes for the new segment.
Original commit message from CVS:
* gst/playback/gstplaysink.c: (find_property),
(gst_play_sink_find_property), (gen_video_chain),
(gst_play_sink_reconfigure), (gst_play_sink_get_last_frame):
Recursively search the sink element for a last-frame property so that we
can also find the property in autovideosink and friends that don't
always proxy the internal sink properties.
Original commit message from CVS:
* gst-libs/gst/audio/multichannel.c:
(GST_AUDIO_CHANNEL_POSITIONS_FIELD_NAME),
(gst_audio_get_channel_positions), (gst_audio_set_channel_positions),
(gst_audio_set_structure_channel_positions_list),
(add_list_to_struct), (gst_audio_set_caps_channel_positions_list),
(gst_audio_fixate_channel_positions):
Fix confusing terminology in docs and code: structure fields are
'fields' and not 'properties'.
Original commit message from CVS:
* gst-libs/gst/audio/multichannel.c:
(gst_audio_check_channel_positions), (add_list_to_struct):
Give more useful warning messages if one of the channel
layout enums passed to us is invalid and if the "channels"
field in the caps has a GType we don't expect.
Original commit message from CVS:
2008-02-19 Julien Moutte <julien@fluendo.com>
Patch by: Josep Torra Valles <josep@fluendo.com>
* gst/typefind/gsttypefindfunctions.c: Increase the MPEG PS
typefind lookup to fix typefinding on HD clips.
Original commit message from CVS:
* gst/playback/gstscreenshot.c:
* gst/playback/gstscreenshot.h:
Fix up copyright (I rewrote the GStreamer-0.10 code for
this from scratch back in the days).
Original commit message from CVS:
* gst/playback/Makefile.am:
* gst/playback/gstscreenshot.c: (feed_fakesrc), (save_result),
(create_element), (gst_play_frame_conv_convert):
* gst/playback/gstscreenshot.h:
Add screenshot conversion code from totem.
* gst/playback/gstplay-marshal.list:
* gst/playback/gstplaybin2.c: (gst_play_marshal_BUFFER__BOXED),
(gst_play_bin_class_init), (gst_play_bin_convert_frame),
(gst_play_bin_get_property), (no_more_pads_cb), (activate_group):
Implement frame property to get a color-unconverted snapshot.
Implement convert-frame action signal to get a converted snapshot image.
Configure connection speed in uridecodebin.
Document some more properties.
* gst/playback/gstplaysink.c: (gst_play_sink_class_init),
(gen_video_chain), (gen_audio_chain), (gst_play_sink_reconfigure),
(gst_play_sink_get_last_frame):
* gst/playback/gstplaysink.h:
Use last-buffer property of the video sink to get a video snapshot.
* tests/examples/seek/seek.c: (shot_cb), (main):
Add snapshot button for playbin2 and use the frame property to save the
frame as a png in the current directory.
Original commit message from CVS:
* configure.ac:
Require CVS of core for new API in collectpads.
* gst/adder/gstadder.c:
Use new API to make adder sparse stream aware.
Original commit message from CVS:
* gst/playback/gstplaybin2.c: (pad_added_cb), (pad_removed_cb),
(no_more_pads_cb):
Get the object data correct so that we can remove our channels
correctly.
* gst/playback/gstplaysink.c: (gen_video_chain), (gen_audio_chain),
(gen_vis_chain), (gst_play_sink_reconfigure),
(gst_play_sink_request_pad):
Add option to disable async behaviour in the sinks when possible. This
makes it possible to avoid an audio queue when dealing with
visualisations.
Add option to add a queue for the audio path.
* tests/examples/seek/seek.c: (clear_streams), (update_streams),
(main):
Disable the vis checkbox to match the defaults of playbin2.
Only get the stream info when we need to.
Original commit message from CVS:
* ext/gio/gstgiobasesink.c: (gst_gio_base_sink_stop),
(gst_gio_base_sink_set_stream):
* ext/gio/gstgiobasesrc.c: (gst_gio_base_src_stop),
(gst_gio_base_src_set_stream):
* ext/gio/gstgiosink.c: (gst_gio_sink_start):
* ext/gio/gstgiosrc.c: (gst_gio_src_start):
Don't use async operations as they require a running main loop.
This makes us block again when closing streams and unable
to mount the enclosing volume of an URI if it isn't yet.
Original commit message from CVS:
* gst/playback/gstplaysink.c: (gst_play_sink_set_mute),
(gst_play_sink_get_mute), (gen_video_chain), (gen_audio_chain),
(gen_vis_chain), (gst_play_sink_reconfigure),
(gst_play_sink_request_pad):
Move tee in front of the audio and vis pipelines.
Add queue for audio for now.
Add visualisation support.
* tests/examples/seek/seek.c: (main):
Visualisation is by default disabled.
Original commit message from CVS:
* ext/gio/gstgiobasesink.c: (close_stream_cb):
* ext/gio/gstgiobasesrc.c: (close_stream_cb):
Improve debugging a bit.
* ext/gio/gstgiosink.c: (mount_cb), (gst_gio_sink_start):
* ext/gio/gstgiosink.h:
* ext/gio/gstgiosrc.c: (mount_cb), (gst_gio_src_start):
* ext/gio/gstgiosrc.h:
Try to mount the enclosing volume of a GFile if it isn't mounted
yet. This requires us to wait for an async operation to finish, done
with an nested GMainLoop. Authentication is not supported yet, will
come later.
Original commit message from CVS:
Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
* ext/alsa/gstalsasink.c: (set_hwparams), (gst_alsasink_delay):
Add some more debug info.
Make sure we never return a negative delay. Fixes#516246.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_delay):
Revert patch that makes the sink hold the object lock when
calling snd_pcm_delay(), since it breaks playback for me.
Original commit message from CVS:
2008-02-12 Julien Moutte <julien@fluendo.com>
* tests/examples/seek/seek.c: (rate_spinbutton_changed_cb): Add
some seek flags when changing rate.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
(gst_base_rtp_audio_payload_handle_frame_based_buffer),
(gst_base_rtp_audio_payload_handle_sample_based_buffer):
Fix potential leaks.
* gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_chain):
Fix leak when there is no function configured.
Original commit message from CVS:
* sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_buffer_class_init),
(gst_v4lsrc_buffer_finalize):
Correctly chain up the finalize method.
Original commit message from CVS:
* ext/gio/gstgiostreamsink.c:
* ext/gio/gstgiostreamsrc.c:
Add documentation and example code for giostreamsink/giostreamsrc.
* tests/check/pipelines/gio.c: (GST_START_TEST):
Ask the GMemoryOutputStream for the data instead of assuming that
the pointer to the data stayed the same. It could've been realloc'ed.
Original commit message from CVS:
* ext/gio/gstgiosink.c:
* ext/gio/gstgiosrc.c:
Make the documentation of giosink/giosrc complete, large parts
are based on the gnomevfssink/gnomevfssrc docs.
Original commit message from CVS:
* ext/alsa/gstalsa.h: (GST_CHECK_ALSA_VERSION):
* ext/alsa/gstalsasink.c: (set_swparams):
* ext/alsa/gstalsasrc.c: (set_swparams), (gst_alsasrc_open):
Don't use snd_pcm_sw_params_set_xfer_align() if we're compiling
against libasound >= 1.0.16, since it's been deprecated in
0.10.16, and alignment is always 1 then, apparently. (#512899)
Original commit message from CVS:
* gst/playback/gstplaybin.c: (gen_audio_element):
* gst/playback/gstplaysink.c: (gen_audio_chain):
Handle case where we can't create the volume element a bit
better (#514307).
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_check_get_range):
* ext/gnomevfs/gstgnomevfsuri.c: (gst_gnomevfs_get_supported_uris):
Add support for https protocol. Fixes#510229.
Original commit message from CVS:
2008-02-11 Julien Moutte <julien@fluendo.com>
Patch by: Alan Peevers <peeves@pacbell.net>
* ext/alsa/gstalsasink.c: (gst_alsasink_delay): Take appropriate
lock when calling alsa methods.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c:
Bump rank of jpeg and png typefinders, which will return maximum
probability in the most common cases (thus short-circuiting more
expensive typefinders like the mp3 one for these two quite common
image types).
Original commit message from CVS:
Patch by: Branko Čibej <brane at xbc dot nu>
* sys/xvimage/xvimagesink.c:
Fix build of xvimagesink if we don't have XShm, e.g. on Mac OS X.
Fixes bug #515654.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c:
Set is_dynamic as True if there are elements with both request
and sometimes src pad templates instead of breaking out when it
finds the first pad template that is a src.
Original commit message from CVS:
* tests/examples/seek/seek.c: (stop_cb), (clear_streams),
(update_streams), (video_combo_cb), (audio_combo_cb),
(text_combo_cb), (volume_spinbutton_changed_cb), (main):
Add some stream switching and volume gui for playbin2.
Original commit message from CVS:
* gst/playback/gstplay-marshal.list:
Added marshal for streamselector Tags.
* gst/playback/gstplaybasebin.c: (set_active_source):
Streamselector now selects pads based on the pad object instead of its
name.
* gst/playback/gstplaybin2.c: (gst_play_bin_class_init),
(init_group), (gst_play_bin_init), (get_group), (get_tags),
(gst_play_bin_get_video_tags), (gst_play_bin_get_audio_tags),
(gst_play_bin_get_text_tags),
(gst_play_bin_set_current_video_stream),
(gst_play_bin_set_current_audio_stream),
(gst_play_bin_set_current_text_stream),
(gst_play_bin_set_property), (gst_play_bin_get_property),
(pad_added_cb), (pad_removed_cb), (autoplug_select_cb):
Remove option to mute streams with the current-a/v/t property, we have
this functionality in the flags.
Add signals to notify when the number of A/V/T channels changed.
Add action signals to get tags for the A/V/T streams.
Implement setting the current A/V/T stream.
Rearrange some things to simplify stream selection.
Implement volume.
* gst/playback/gstplaysink.c: (gst_play_sink_set_volume),
(gst_play_sink_get_volume), (gst_play_sink_set_property),
(gst_play_sink_get_property), (gen_video_chain), (gen_audio_chain),
(activate_vis), (gst_play_sink_reconfigure):
* gst/playback/gstplaysink.h:
Add and implement volume setting methods.
* gst/playback/gststreamselector.c: (gst_selector_pad_class_init),
(gst_selector_pad_finalize), (gst_selector_pad_get_property),
(gst_selector_pad_event), (gst_stream_selector_class_init),
(gst_stream_selector_init), (gst_stream_selector_finalize),
(gst_stream_selector_set_property),
(gst_stream_selector_get_property),
(gst_stream_selector_get_linked_pad),
(gst_stream_selector_request_new_pad):
* gst/playback/gststreamselector.h:
Add pad properties for tags and status of pads.
Keep tags on pads.
Make active pad selection based on pad object instead of name.
Original commit message from CVS:
2008-02-08 Julien Moutte <julien@fluendo.com>
* tests/examples/seek/seek.c: (stop_cb), (connect_bus_signals),
(main): Make sure bus signals are reconnected when pressing STOP
and then PLAY again for a parse launch pipeline. Fix a ref leak
on the bus.
* win32/common/config.h: Updated.
Original commit message from CVS:
* docs/plugins/Makefile.am:
Add the headers which need scanning for the GIO plugin. The rest of
the docs still need migrating.
Original commit message from CVS:
* gst-libs/gst/interfaces/mixeroptions.c:
* gst-libs/gst/interfaces/mixertrack.c:
Comment out a couple of other things which break the build when
GST_DISABLE_DEPRECATED isn't on but -Werror is.
Original commit message from CVS:
Patch by: Peter Kjellerstedt <pkj at axis com>
* gst-libs/gst/sdp/gstsdpmessage.c: (is_multicast_address):
Clear the addrinfo struct using memset. Fixes#514937.
Original commit message from CVS:
* gst/tcp/gstfdset.h:
Remove unused field to same some memory.
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init):
Mark action signals as such.
Original commit message from CVS:
* tests/examples/seek/seek.c: (do_seek),
(rate_spinbutton_changed_cb), (update_streams), (main):
Remove obsolete stream_time reset after flushing seek, core does that
automatically now.
Improve accuracy of speed spinbutton.
Only do playbin2 stuff when we actually use it.
Original commit message from CVS:
* tests/check/Makefile.am:
Revert previous change of the test environment's GST_PLUGIN_PATH.
The problem is not with the plugins, but with element factories
and only occurs if elements are split out from existing plugins
or if plugins change name (see #512740).
Original commit message from CVS:
* tests/check/Makefile.am:
Fix the tests environment's GST_PLUGIN_PATH: we want the directory
with the core's plugins first and our local build directories last,
since we might be building against an installed core, and that
core's plugin directory may contain older or other versions of
our own -base plugins, but we really do want to test our local
ones (if there are multiple plugins or element factories with the
same name, those inspected last will trump those read in earlier).
Fixes#512740 for the most part.
Original commit message from CVS:
* configure.ac:
* gst-libs/gst/rtsp/gstrtspconnection.c: (add_date_header):
Use gmtime_r if available as gmtime is not MT-safe.
Fixes bug #511810.
Original commit message from CVS:
* gst-libs/gst/rtsp/gstrtspconnection.c: (add_date_header):
Cast glong to time_t as time_t might have a different type on
other platforms, like FreeBSD, and we get a compiler warning
otherwise. Fixes bug #511825.
Original commit message from CVS:
* gst/playback/gstplaybin2.c: (gst_play_bin_class_init),
(get_group), (get_n_pads), (gst_play_bin_get_property),
(pad_added_cb), (no_more_pads_cb), (perform_eos),
(autoplug_select_cb), (deactivate_group):
Remove stream-info, we going for something easier.
Refactor getting the current group.
Implement getting the number of audio/video/text streams.
* gst/playback/gststreamselector.c:
(gst_stream_selector_class_init), (gst_stream_selector_init),
(gst_stream_selector_get_property),
(gst_stream_selector_request_new_pad),
(gst_stream_selector_release_pad):
* gst/playback/gststreamselector.h:
Add property for number of pads.
* tests/examples/seek/seek.c: (set_scale), (update_flag),
(vis_toggle_cb), (audio_toggle_cb), (video_toggle_cb),
(text_toggle_cb), (update_streams), (msg_async_done),
(msg_state_changed), (main):
Block slider callback when updating the slider position.
Add gui elements for controlling playbin2.
Add callback for async_done that updates position/duration.
Original commit message from CVS:
Patch by: Thijs Vermeir <thijsvermeir at gmail dot com>
* gst-libs/gst/rtp/gstrtpbuffer.c:
(gst_rtp_buffer_set_extension_data):
* gst-libs/gst/rtp/gstrtpbuffer.h:
* tests/check/libs/rtp.c: (GST_START_TEST), (rtp_suite):
Add gst_rtp_buffer_set_extension_data()
Add a unit test for this addition. Fixes#511478.
API: GstRTPBuffer:gst_rtp_buffer_set_extension_data()