Original commit message from CVS:
* examples/app/Makefile.am:
* examples/app/appsrc-ra.c: (feed_data), (seek_data),
(found_source), (bus_message), (main):
* examples/app/appsrc-seekable.c: (feed_data), (seek_data),
(found_source), (bus_message), (main):
* examples/app/appsrc-stream2.c: (feed_data), (found_source),
(bus_message), (main):
Added 3 more example application for using appsrc in random-access mode,
pull-mode streaming and pull mode seekable.
* gst-libs/gst/app/gstappsrc.c: (gst_app_src_class_init),
(gst_app_src_start), (gst_app_src_do_get_size),
(gst_app_src_create):
* gst-libs/gst/app/gstappsrc.h:
Make stream-type property writable.
Unset flushing when starting so that we reuse appsrc.
Inform basesrc about the configured size.
Emit seek-data signal when we are going to a different offset in
random-access mode.
Original commit message from CVS:
* examples/app/.cvsignore:
* examples/app/Makefile.am:
* examples/app/appsrc-stream.c: (read_data), (start_feed),
(stop_feed), (found_source), (bus_message), (main):
Added an example on how to use appsrc in playbin in streaming mode from
an mmapped file.
* examples/app/appsrc_ex.c: (main):
Set pipeline to NULL to free queued buffers.
* gst-libs/gst/app/gstapp-marshal.list:
* gst-libs/gst/app/gstappsrc.c: (stream_type_get_type), (_do_init),
(gst_app_src_class_init), (gst_app_src_init),
(gst_app_src_flush_queued), (gst_app_src_dispose),
(gst_app_src_set_property), (gst_app_src_get_property),
(gst_app_src_unlock), (gst_app_src_unlock_stop),
(gst_app_src_start), (gst_app_src_stop), (gst_app_src_is_seekable),
(gst_app_src_check_get_range), (gst_app_src_do_seek),
(gst_app_src_create), (gst_app_src_set_stream_type),
(gst_app_src_get_stream_type), (gst_app_src_set_max_bytes),
(gst_app_src_get_max_bytes), (gst_app_src_push_buffer),
(gst_app_src_end_of_stream), (gst_app_src_uri_get_type),
(gst_app_src_uri_get_protocols), (gst_app_src_uri_get_uri),
(gst_app_src_uri_set_uri), (gst_app_src_uri_handler_init):
* gst-libs/gst/app/gstappsrc.h:
Measure max queue size in bytes instead.
Add support for 3 modes of operation, streaming, seekable and
random-access, making basesrc handle the scheduling modes for each.
Add appsrc:// uri handler so that automatic plugging can be done from
playbin2 or uridecodebin, for example.
Added support for custom segment formats.
Add support for push and pull based operations from the application.
Expand the methods so that errors can be detected.
Flush the queued buffers on seeks and when shutting down.
Add signals to inform the app that a seek must happen.
Original commit message from CVS:
* gst-libs/gst/rtsp/gstrtspconnection.c:
(gst_rtsp_connection_set_auth), (gst_rtsp_connection_set_auth_param),
(gst_rtsp_connection_clear_auth_params),
(gst_rtsp_connection_set_qos_dscp), (gst_rtsp_connection_get_ip):
* gst-libs/gst/rtsp/gstrtspconnection.h:
Add a couple of missing argument guards.
Add a way of setting the DSCP for an RTSP connection.
Add an accessor method for the ip member of GstRTSPConnection as all
members are supposed to be private.
Original commit message from CVS:
Based on patch by: John Millikin <jmillikin gmail com>
* gst-libs/gst/tag/gstvorbistag.c: (tag_matches), (gst_vorbis_tag_add),
(gst_vorbis_tag_add_coverart):
Retrieve COVERART tags from vorbis comments (#512333)
Original commit message from CVS:
* gst-libs/gst/tag/tag.h:
* gst-libs/gst/tag/tags.c: (register_tag_image_type_enum):
Don't forget to add new enum value here too (should probably use
glib-mkenums here...).
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/audio/multichannel.c:
(gst_audio_check_channel_positions):
* gst-libs/gst/audio/multichannel.h:
API: Make gst_audio_check_channel_positions() public.
* tests/check/libs/audio.c: (GST_START_TEST):
Add some simple checks for gst_audio_check_channel_positions().
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_class_init):
Add a gtk-doc chunk for the new properties to have a Since: indication.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_class_init), (gst_base_audio_src_dispose),
(gst_base_audio_src_get_property), (gst_base_audio_src_setcaps),
(gst_base_audio_src_change_state):
Provide readable actual-buffer-time and actual-latency-time properties
that reflect the configured ringbuffer values. Fixes#524724.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_push),
(gst_basertppayload_change_state):
Simply converting the running time into an RTP timestamp by scaling it
based on the clock-rate is good enough for making an RTP timestamp. This
has the added benefit that we can later on expose a property with the
RTP timestamp of running time 0, as is needed for RTSP servers to
generate the response of the PLAY request.
Original commit message from CVS:
* gst-libs/gst/audio/multichannel.c:
(gst_audio_check_channel_positions),
(gst_audio_set_structure_channel_positions_list),
(gst_audio_fixate_channel_positions):
Allow rear center together with rear left/right and other previously
conflicting channel positions. The reason why they weren't allowed
was the channel mixing implementation in audioconvert.
Also take this into account when fixing channel layouts.
Allow setting channel positions for 1/2 channels when using
gst_audio_set_structure_channel_position().
* gst/audioconvert/gstchannelmix.c:
(gst_channel_mix_fill_compatible), (gst_channel_mix_detect_pos),
(gst_channel_mix_fill_one_other), (gst_channel_mix_fill_others),
(gst_channel_mix_fill_special), (gst_channel_mix_fill_matrix):
Major rewrite of the channel mixing.
We now allow previously conflicting channel positions to appear
together (rear center and rear left/right for example).
Fixes bug #533817.
Rework the way channels are mixed together to take more possible
channel positions into account, properly mix from/to side channels
and don't assume that either center, left&right or nothing of a
specific position is available anymore.
* tests/check/elements/audioconvert.c: (GST_START_TEST):
Adjust unit tests with non-standard 1/2 channel layouts to the more
correct new behaviour.
Add a unit test for 5.1->Stereo downmixing.
Original commit message from CVS:
* gst-libs/gst/cdda/gstcddabasesrc.c:
(gst_cdda_base_src_add_track), (gst_cdda_base_src_create):
Fix EOS condition and track addition check, the track.end sector is
included in the track. Fixes#533265.
Original commit message from CVS:
* gst-libs/gst/audio/gstaudioclock.c: (gst_audio_clock_init),
(gst_audio_clock_reset), (gst_audio_clock_get_internal_time):
* gst-libs/gst/audio/gstaudioclock.h:
Add method to inform the clock that the time starts from 0 again. We use
this info to calculate a clock offset so that the time we report in
internal_time is monotonically increasing, as required by the clock base
class. Fixes#521761.
API: GstAudioClock::gst_audio_clock_reset()
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_skew_slaving),
(gst_base_audio_sink_change_state):
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_create), (gst_base_audio_src_change_state):
Reset reported time when we (re)create the ringbuffer.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
(gst_riff_create_video_template_caps):
Add support for DVCPRO.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_chain),
(gst_base_rtp_depayload_handle_sink_event),
(gst_base_rtp_depayload_push_full),
(gst_base_rtp_depayload_change_state):
Check sequence numbers, mark input buffers with a discont flag for the
subclass when we detected a gap, drop duplicate buffers. We do this
because one can use the element without a jitterbuffer in front and we
don't want to feed the subclasses invalid or reordered data.
Do an error when the subclass did not provide a process function instead
of crashing.
Some other small cleanups.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
Fix wrong method name in docs. Fix calculation of strf fields for
broken mulaw/alaw.
* gst-libs/gst/riff/riff-read.c:
Whitespace fix and removing double ';'.
Original commit message from CVS:
* gst-libs/gst/audio/multichannel.c:
(gst_audio_check_channel_positions):
Allow non-standard 2 channel layouts.
* tests/check/elements/audioconvert.c: (GST_START_TEST):
Add some tests for converting and remapping non-standard 1 and 2
channel layouts.
Original commit message from CVS:
* gst-libs/gst/rtsp/gstrtsptransport.h:
Make the GstRTSPTransport struct members public as there are no
setters/getters and it's supposed to be changed directly.
Fixes bug #533087.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_sync_latency):
We can only use our optimal calibration if we prerolled before the
latency expired.
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_init),
(gst_gnome_vfs_src_finalize),
(gst_gnome_vfs_src_received_headers_callback),
(gst_gnome_vfs_src_create), (gst_gnome_vfs_src_stop):
* ext/gnomevfs/gstgnomevfssrc.h:
Set the ICY caps on the srcpad from where they get picked up by the base
class now and set on the outgoing buffers.
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_create):
* sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_buffer_new):
BaseSrc now sets the caps on outgoing buffers automatically.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_resample_slaving),
(gst_base_audio_sink_skew_slaving),
(gst_base_audio_sink_sync_latency), (gst_base_audio_sink_render),
(gst_base_audio_sink_async_play),
(gst_base_audio_sink_change_state):
Change the way in which the ringbuffer is started when dealing with a
slaved clock and latency. We now sync to the clock until we reach
upstream latency before starting the ringbuffer. This has the effect
that we can accurately align the master and slave clocks and let the
rate correction code take care of the initial drift or rounding errors
instead of leaving them uncorrected with the old approach.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_chain):
Validate the RTP packet before further processing it. It's just too
dangerous to accept random packets and people are not forced to use a
jitterbuffer or session manager to filter out the bad packets.
* gst-libs/gst/rtp/gstrtpbuffer.c:
(gst_rtp_buffer_set_extension_data),
(gst_rtp_buffer_get_payload_subbuffer):
Small cleanups.
When setting extension data in a buffer that is too small, we fail and
we should not set the extension bit.
Change GST_WARNINGS into g_warning because they really are
programming errors.
* tests/check/libs/rtp.c: (GST_START_TEST):
Catch the g_warnings now in the unit tests and that fact that failing to
set extension data left the extension bit untouched.
Original commit message from CVS:
Patch by: Bernard B <b-gnome at largestprime dot net>
* gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_compare_seqnum):
Fix seqnum compare function for bordercase values and fix the docs
again. Fixes#533075.
* tests/check/libs/rtp.c: (GST_START_TEST), (rtp_suite):
Add a testcase for seqnum compare function.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render), (gst_base_audio_sink_async_play):
Revert previous patch that attempted to more accurately calculate the
initial offset between master and slave clock. The best thing we can do
in general is take the time of both clocks as the diff since we don't
know when the actual preroll happened.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/interfaces/colorbalance.c:
* gst-libs/gst/interfaces/colorbalance.h:
* gst-libs/gst/interfaces/colorbalancechannel.c:
* gst-libs/gst/interfaces/colorbalancechannel.h:
* gst-libs/gst/interfaces/tuner.c:
* gst-libs/gst/interfaces/tunerchannel.c:
* gst-libs/gst/interfaces/tunerchannel.h:
* gst-libs/gst/interfaces/tunernorm.c:
* gst-libs/gst/interfaces/tunernorm.h:
* gst-libs/gst/video/video.c:
* gst-libs/gst/video/video.h:
Document the GstTuner and GstColorBalance interfaces, and some
other random API functions that needed it. 70% symbol coverage, woo.
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiosink.c: (gst_audioringbuffer_acquire):
Choose to allocate one less segment but require one additional segment
as latency.
* gst-libs/gst/audio/gstaudiosrc.c: (gst_audioringbuffer_acquire):
No need to increment the number of segments in the source.
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_get_time), (clock_convert_external),
(gst_base_audio_sink_resample_slaving),
(gst_base_audio_sink_skew_slaving),
(gst_base_audio_sink_none_slaving), (gst_base_audio_sink_render),
(gst_base_audio_sink_async_play):
Remove adding latency when returning the internal time while subtracting
it again when we use the value a little later.
When calculating the end timestamp, we are making a rounding error
with the current algorithm. Ensure that we don't accumulate these
rounding errors when aligning samples by not resampling at all if we
don't need to. Fixes#419351.
Make the initial calibration of the clock slaving a little more
predictable and accurate. Also handle the case where we don't do
clock slaving.
Original commit message from CVS:
Patch by: Wouter Cloetens <zombie at e2big dot org>
* gst-libs/gst/rtsp/Makefile.am:
* gst-libs/gst/rtsp/gstrtspconnection.c:
(gst_rtsp_connection_create), (md5_digest_to_hex_string),
(auth_digest_compute_hex_urp), (auth_digest_compute_response),
(add_auth_header), (gst_rtsp_connection_free),
(gst_rtsp_connection_set_auth), (str_case_hash), (str_case_equal),
(gst_rtsp_connection_set_auth_param),
(gst_rtsp_connection_clear_auth_params):
* gst-libs/gst/rtsp/gstrtspconnection.h:
Add Digest authorization support for RTSP connections. See #532065.
* gst-libs/gst/rtsp/md5.c:
* gst-libs/gst/rtsp/md5.h:
Yeap, another md5 implementation until we can depend on a glib that has
support for it.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_query):
Report the latency with the new seglatency parameter.
* gst-libs/gst/audio/gstringbuffer.c:
(gst_ring_buffer_debug_spec_buff), (gst_ring_buffer_parse_caps),
(gst_ring_buffer_acquire):
* gst-libs/gst/audio/gstringbuffer.h:
Add new field to the ringbufferspec to specify the expected latency
between the underlying device read/write pointer, this is needed
when writing sinks that sit a little closer to the hardware.
Add some more docs for other fields.
Original commit message from CVS:
* gst-libs/gst/app/gstappsink.c: (gst_app_sink_class_init),
(gst_app_sink_init), (gst_app_sink_set_property),
(gst_app_sink_get_property), (gst_app_sink_unlock_start),
(gst_app_sink_unlock_stop), (gst_app_sink_flush_unlocked),
(gst_app_sink_start), (gst_app_sink_stop), (gst_app_sink_event),
(gst_app_sink_preroll), (gst_app_sink_render),
(gst_app_sink_set_caps), (gst_app_sink_set_drop),
(gst_app_sink_get_drop):
* gst-libs/gst/app/gstappsink.h:
Start some docs.
Add property to drop buffers when the queue is filled
Fix unlocking and flushing when the queues are filled.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_init),
(gst_basertppayload_sink_setcaps),
(gst_basertppayload_sink_getcaps):
Rename the setcaps/getcaps function internally to make it clear that
they are called for the sink pad.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_class_init),
(gst_base_rtp_depayload_handle_sink_event), (create_segment_event),
(gst_base_rtp_depayload_packet_lost),
(gst_base_rtp_depayload_set_gst_timestamp):
* gst-libs/gst/rtp/gstbasertpdepayload.h:
Catch packet-lost events from the jitterbuffer and convert them into a
vmethod call (lost-packet) so that depayloaders can do something smart.
Also add a default packet-lost function that sends out a segment update
to the decoders.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.h:
Clarify some docs.
* gst-libs/gst/audio/gstbaseaudiosrc.c: (slave_method_get_type),
(gst_base_audio_src_class_init), (gst_base_audio_src_init),
(gst_base_audio_src_set_slave_method),
(gst_base_audio_src_get_slave_method),
(gst_base_audio_src_set_property),
(gst_base_audio_src_get_property), (gst_base_audio_src_create):
* gst-libs/gst/audio/gstbaseaudiosrc.h:
Add property and methods for selecting the clock slave method in the
source, like in the sink.
We only implement "none" and "re-timestamp" for now.
API: gst_base_audio_src_set_slave_method()
API: gst_base_audio_src_get_slave_method()
Original commit message from CVS:
* gst-libs/gst/app/gstappsink.c: (gst_app_sink_class_init),
(gst_app_sink_init), (gst_app_sink_set_property),
(gst_app_sink_get_property), (gst_app_sink_event),
(gst_app_sink_preroll), (gst_app_sink_render),
(gst_app_sink_set_emit_signals), (gst_app_sink_get_emit_signals),
(gst_app_sink_set_max_buffers), (gst_app_sink_get_max_buffers),
(gst_app_sink_pull_buffer):
* gst-libs/gst/app/gstappsink.h:
Add more docs.
Add signals for when preroll and render buffers are available.
Add property to control signal emission.
Add property to control the max queue size.
Original commit message from CVS:
* gst-libs/gst/rtp/gstrtppayloads.c:
(gst_rtp_payload_info_for_name):
Use g_ascii_strcasecmp() instead of the deprecated g_strcasecmp().
Original commit message from CVS:
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_may_start):
Use g_atomic_int_set() instead of gst_atomic_int_set().
Original commit message from CVS:
* gst-libs/gst/video/video.c: (gst_video_format_new_caps),
(gst_video_format_to_fourcc), (gst_video_format_get_row_stride),
(gst_video_format_get_pixel_stride),
(gst_video_format_get_component_width),
(gst_video_format_get_component_height),
(gst_video_format_get_component_offset), (gst_video_format_get_size),
(gst_video_format_convert):
Add guards to these functions to ensure sane input values.
* tests/check/libs/video.c:
Fix unit test not to create caps with width=0 and height=0.
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):
* gst/playback/gstplayback.c: (plugin_init):
* gst/volume/gstvolume.c: (plugin_init):
Work around missing bits of thread-safety on older GLibs some
more to avoid assertions when starting up multiple playbin
objects concurrently (see #512382).
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_skew_slaving), (gst_base_audio_sink_render):
Guard against over and underflows because of clock slaving.
When we are using our own clock, still compensate for any calibrations
that we might have done to our clock.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
ms-gsm can have arbitrarty sample rates. See #481354.
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiosink.c: (gst_audioringbuffer_release):
Small debug improvement.
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
Fix bug in determining the sample start/stop position, we want to base
this decision on the fact that we are going forwards or backwards, not
slower or faster. This fixes some ugly resync warnings when playing at
very slow speeds.
Original commit message from CVS:
* gst-libs/gst/sdp/gstsdpmessage.c: (gst_sdp_message_dump):
Use GST_STR_NULL when trying to print strings that could be NULL because
this might crash on some platforms. See #520808.
Original commit message from CVS:
Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
* gst-libs/gst/rtsp/gstrtspconnection.c:
(gst_rtsp_connection_connect), (gst_rtsp_connection_write),
(read_line), (gst_rtsp_connection_read_internal):
Generic Windows fixes that makes libgstrtsp work on Windows when
coupled with the new GstPoll API. See #520808.
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-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:
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:
* 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:
* 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:
* 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-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:
* 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:
* 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:
* 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:
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()
Original commit message from CVS:
* gst-libs/gst/app/gstappsink.c: (gst_app_sink_dispose):
Really clean up the queue instead of just unreffing all buffers
in it.
* gst-libs/gst/app/gstappsrc.c: (gst_app_src_base_init),
(gst_app_src_class_init), (gst_app_src_init),
(gst_app_src_dispose), (gst_app_src_finalize):
Fix dispose/finalize.
Original commit message from CVS:
* gst-libs/gst/interfaces/mixeroptions.c:
* gst-libs/gst/interfaces/mixertrack.c:
Also remove the conditional registration of the signals
that disappeared with the ABI change in 0.10.14
Original commit message from CVS:
* gst-libs/gst/rtsp/gstrtspconnection.c:
Revert patch to gstrtspconnection.c for brown paper bag
release of -base. Re-opens: #511825
Original commit message from CVS:
* gst-libs/gst/interfaces/mixeroptions.h:
* gst-libs/gst/interfaces/mixertrack.h:
Change the way these deprecated function pointers are removed
so that the compiled ABI is unconditionally smaller. This
sets in stone an ABI break that actually occurred when the
things were deprecated in 0.10.14, which seems to be the best
fix as the only known users are oss-mixer and sunaudio-mixer in
gst-plugins-good.
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-libs/gst/audio/gstaudiofilter.c:
(gst_audio_filter_class_init):
Initialize the GstRingerBuffer class to get it's debug category
initialized. gst_ring_buffer_parse_caps() uses the ringbuffer debug
category and otherwise we get some g_critical(). Fixes bug #512334.
Original commit message from CVS:
* gst-libs/gst/sdp/gstsdpmessage.c: (is_multicast_address):
Include Winsock2.h for VS6 and use a different way initialize
hints structure so it can build with VS6.
* win32/MANIFEST:
* win32/vs6/libgstsdp.dsp:
* win32/common/libgstsdp.def:
Add new files for libgstsdp.
* win32/vs6/grammar.dsp:
Copy pbutils-enumtypes* from win32/common to pbutils sources folder.
* win32/vs6/gst_plugins_base.dsw:
* win32/vs6/libgstdecodebin.dsp:
* win32/vs6/libgstdecodebin2.dsp:
* win32/vs6/libgstplaybin.dsp:
* win32/vs6/libgstvolume.dsp:
Add new dependencies to the link list.
Original commit message from CVS:
* configure.ac:
* gst-libs/gst/rtsp/Makefile.am:
Add test to see if hstrerror is available or if we need libresolv
(Solaris) for it, then use it in libgstrtsp.
Original commit message from CVS:
* gst-libs/gst/pbutils/install-plugins.c:
(gst_install_plugins_context_copy),
(gst_install_plugins_context_get_type):
* gst-libs/gst/pbutils/install-plugins.h:
Add GBoxed GType for GstInstallPluginsContext, this eases the wrapping
for bindings.
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):
Ref audio clock class from a thread-safe context to make sure
we're not bit by GObjects lack of thread-safety here (#349410),
however unlikely that may be in practice.
Original commit message from CVS:
* gst-libs/gst/tag/gsttagdemux.c: (gst_tag_demux_pull_start_tag):
Post an error message if we can't pull as many bytes as we need
for the tag. This makes sure the user gets to see a proper error
message if a file with a partial ID3 tag is fed to decodebin, and
not a 'no ID3 tag demuxer' error, which would be confusing
(see #508138).
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiofilter.c: (gst_audio_filter_get_type):
Don't set element details for the abstract GstAudioFilter class.
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiofilter.c:
(gst_audio_filter_class_init), (gst_audio_filter_get_unit_size):
Implement get_unit_size() vmethod of GstBaseTransform.
Original commit message from CVS:
* gst-libs/gst/pbutils/Makefile.am:
* gst-libs/gst/pbutils/pbutils.h:
Use glib-enum generator to have a proper enum GType for
GST_TYPE_INSTALL_PLUGINS_RETURN so we can easily wrap it in bindings.
Original commit message from CVS:
* gst-libs/gst/rtsp/gstrtspdefs.c: (rtsp_init_status):
* gst-libs/gst/rtsp/gstrtspdefs.h:
Add Location header so that we can start implementing redirects.
See #506025.
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiosink.c: (audioringbuffer_thread_func),
(gst_audioringbuffer_open_device),
(gst_audioringbuffer_close_device), (gst_audioringbuffer_acquire),
(gst_audioringbuffer_release), (gst_audioringbuffer_start),
(gst_audioringbuffer_pause), (gst_audioringbuffer_stop),
(gst_audio_sink_create_ringbuffer):
Improve debug output.
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_start),
(gst_ring_buffer_pause), (gst_ring_buffer_delay):
Prevent some functions from doing things and failing when the
ringbuffer is not yet acquired.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/video/video.c:
* gst-libs/gst/video/video.h:
Add new GstVideFormat enum and write a bunch of helper functions
based around it.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_create), (gst_base_audio_src_change_state):
Add debug info.
When going from PLAYING to PAUSED, pause the ringbuffer before calling
the parent state change function, just like the audiosink, because the
parent waits for the element to finish its processing before completing
the state change. This makes going to PAUSED a lot snappier.
When going from READY to PAUSED, don't allow the ringbuffer to start
yet.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
Yet another fix for broken software that produce files with an empty
blockalign field. Instead of completely failing, make a second attempt
at guessing the width/depth by looking at strf->size.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
Be apologetic of software that use the 'jpeg' instead of 'JPEG' FOURCC
for jpeg video streams.
Add the 'avc1'/'AVC1' fourcc mapping for h264, same software-comment as
for the above modification.
Original commit message from CVS:
* gst-libs/gst/interfaces/xoverlay.c: (gst_x_overlay_expose),
(gst_x_overlay_handle_events):
More guards (we don't want klass to end up being NULL).
Original commit message from CVS:
Patch by: Peter Kjellerstedt <pkj at axis com>
* gst-libs/gst/rtsp/gstrtspconnection.c:
(gst_rtsp_connection_free):
Close control sockets. Fixes#503440.
Original commit message from CVS:
* gst-libs/gst/pbutils/descriptions.c: (formats):
Add description for 'private' dts caps (who come up with that name?).
Original commit message from CVS:
* Makefile.am:
Add check-exports target and run it with 'make check'.
* configure.ac:
Be stricter about what we export in our libraries: change regexp so that
we only export _gst_foo(), but not __gst_foo().
* gst-libs/gst/cdda/base64.h: (rfc822_binary):
* gst-libs/gst/cdda/sha1.h: (sha_init), (sha_update), (sha_final):
Change internal functions to __gst_foo so they dont' get exported.
* win32/common/libgstaudio.def:
Add missing symbols.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
No need for floating point operations here. avoids having to link
against the math library too.
Original commit message from CVS:
* gst-libs/gst/pbutils/descriptions.c: (formats),
(format_info_get_desc):
* tests/check/libs/pbutils.c: (GST_START_TEST), (caps_strings),
(GST_START_TEST):
Add one or two missing formats. Generate ADPCM description
dynamically depending on layout/format.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_push):
Use runnning time as the base time instead of the timestamp.
Spotted by Saur on IRC.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
Add 'WVC1' codec mapping for Windows Media VC-1 video codec.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_drain):
Our EOS time contains the base_time, _wait_eos() expects a running_time
so we have to subtract the base_time again before calling the function.
This fixes an EOS regression where the base_time was added twice and EOS
took longer and longer in certain situations.
Fixes#498767.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/audio/gstbaseaudiosink.c: (slave_method_get_type),
(gst_base_audio_sink_set_provide_clock),
(gst_base_audio_sink_get_provide_clock),
(gst_base_audio_sink_set_slave_method),
(gst_base_audio_sink_get_slave_method),
(gst_base_audio_sink_set_property),
(gst_base_audio_sink_get_property), (gst_base_audio_sink_drain),
(gst_base_audio_sink_none_slaving),
(gst_base_audio_sink_handle_slaving):
* gst-libs/gst/audio/gstbaseaudiosink.h:
Expose methods for some object properties so that subclasses can more
easily configure them.
Added slave method none, that completely disables slaving to the
internal clock.
API: gst_base_audio_sink_set_provide_clock()
API: gst_base_audio_sink_get_provide_clock()
API: gst_base_audio_sink_set_slave_method()
API: gst_base_audio_sink_get_slave_method()
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_set_provide_clock),
(gst_base_audio_src_get_provide_clock),
(gst_base_audio_src_set_property),
(gst_base_audio_src_get_property), (gst_base_audio_src_create):
* gst-libs/gst/audio/gstbaseaudiosrc.h:
Expose methods for some object properties so that subclasses can more
easily configure them.
API: gst_base_audio_src_set_provide_clock()
API: gst_base_audio_src_get_provide_clock()
Original commit message from CVS:
Patch by: Joe Peterson <lavajoe at gentoo dot org>
* gst-libs/gst/sdp/gstsdpmessage.c:
Fix compilation on FreeBSD (Gentoo). Fixes#498228.
Original commit message from CVS:
Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
* gst-libs/gst/rtsp/gstrtspmessage.c: (gst_rtsp_message_unset):
Fix leaking headers. Fixes#496761.
Original commit message from CVS:
* gst-libs/gst/tag/gstid3tag.c: (user_tag_matches),
(gst_tag_from_id3_user_tag):
Add mapping for audio cd discid tags, so we can extract
them from tags as well (see #347848). Also compare identifiers
in ID3v2 TXXX frames in a case-insensitive way to increase
compatibility when reading tags (discid vs. DiscID vs. DiscId).
Original commit message from CVS:
* gst-libs/gst/fft/kiss_fft_f32.h:
* gst-libs/gst/fft/kiss_fft_f64.h:
* gst-libs/gst/fft/kiss_fft_s16.h:
* gst-libs/gst/fft/kiss_fft_s32.h:
Don't include malloc.h which doesn't exist on Mac OSX.
Instead, pull in glib.h and use g_malloc/g_free for
consistency. Fixes: #496548
Original commit message from CVS:
Patch by: Sebastien Moutte <sebastien moutte net>
* gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_ntp_to_unix),
(gst_rtcp_unix_to_ntp):
* gst-libs/gst/rtp/gstrtppayloads.c: (gst_rtp_payload_info_for_name):
Fix some C99-isms and and a missing function that some versions of
MSVC don't like too much (#494346).
* win32/vs6/gst_plugins_base.dsw:
* win32/vs6/libgstaudio.dsp:
* win32/vs6/libgstrtp.dsp:
* win32/vs6/libgsttag.dsp:
Update vs6 projects files (#494346).
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/fft/gstfftf32.c:
* gst-libs/gst/fft/gstfftf32.h:
* gst-libs/gst/fft/gstfftf64.c:
* gst-libs/gst/fft/gstfftf64.h:
* gst-libs/gst/fft/gstffts16.c:
* gst-libs/gst/fft/gstffts16.h:
* gst-libs/gst/fft/gstffts32.c:
* gst-libs/gst/fft/gstffts32.h:
* tests/check/libs/fft.c: (GST_START_TEST):
Remove the magnitude and phase calculation functions as these have
very special use cases and can't even be used for the spectrum
element. Also adjust the docs to mention some properties of the used
FFT implemention, i.e. how the values are scaled. Fixes#492098.
Original commit message from CVS:
Patch by: Vincent Torri <vtorri at univ-evry dot fr>
* gst-libs/gst/fft/kiss_fft_s16.h: (KISS_FFT_S16_MALLOC):
* gst-libs/gst/fft/kiss_fft_s32.h: (KISS_FFT_S32_MALLOC):
Include our own _stdint.h instead of sys/types.h, makes MingW happy
(#492306).
* gst-libs/gst/rtsp/gstrtspconnection.c: (gst_rtsp_connection_create):
Use _pipe directly, GLib doesn't have a pipe() macro any longer
(it disappeared in GLib 2.14.0) (#492306).
* gst-libs/gst/sdp/Makefile.am:
* gst-libs/gst/sdp/gstsdpmessage.c:
Fix includes and LIBS for win32/Mingw (#492306).
* tests/examples/dynamic/addstream.c (pause_play_stream):
Use more portable g_usleep() instead of sleep() (#492306).
Original commit message from CVS:
Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
* gst-libs/gst/audio/gstringbuffer.c: (build_linear_format),
(gst_ring_buffer_parse_caps):
Return NULL instead of an enum that happens to be 0, fixes warning
on MSVC (#492114).
* gst-libs/gst/audio/gstringbuffer.h:
No trailing commas in enum list (for gcc-2.9x).
* gst/videotestsrc/videotestsrc.c: (random_char):
Make information loss explicit instead of implicitly truncating to
eight bits via the return value. Fixes runtime error on MSVC when
using the debug CRT (#492114).
* win32/common/config.h.in:
Fix a bunch of '#undef FOO bar', which MSVC doesn't like (#492114).
* win32/common/libgstinterfaces.def:
* win32/common/libgstrtp.def:
Export a few more symbols (#492114).
Original commit message from CVS:
* gst-libs/gst/audio/audio.c:
* gst-libs/gst/audio/audio.h:
Readd the deprecation guards, but preserve compilability.
Original commit message from CVS:
* gst-libs/gst/audio/audio.h:
Don't guard deprecated enum with #ifndef DISABLE_DEPRECATED, or
compilation with DISABLE_DEPRECATED and without REMOVE_DEPRECATED
(ie. normal cvs builds) will fail.
Original commit message from CVS:
* docs/libs/Makefile.am:
* gst-libs/gst/audio/audio.c:
* gst-libs/gst/audio/audio.h:
* gst-libs/gst/interfaces/mixer.c:
tell gtk-doc about the deprecation guard. Apply more doc fixes.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/audio/gstaudiofilter.h:
* gst-libs/gst/interfaces/mixer.h:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
* gst-libs/gst/rtp/gstbasertpdepayload.h:
* gst-libs/gst/sdp/gstsdpmessage.c:
Fix the docs according to what gtk-doc complained about.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_wavext_add_channel_layout),
(gst_riff_wave_add_default_channel_layout),
(gst_riff_wavext_get_default_channel_mask),
(gst_riff_create_audio_caps):
Use the ALSA channel layout as default for wav files without channel
layout information. This fixes playback of chan-id.wav on 5.1 systems
for example. Also refactor the channel layout setting a bit and add
more default channel orders. Fixes#489010.
Original commit message from CVS:
* gst-libs/gst/tag/tag.h: (GST_TAG_MUSICBRAINZ_SORTNAME):
* gst-libs/gst/tag/tags.c:
Deprecate GST_TAG_MUSICBRAINZ_SORTNAME, replaced by the newly-added
GST_TAG_ARTIST_SORTNAME (in an API and ABI compatible way).
* gst-libs/gst/tag/gstid3tag.c: (tag_matches):
Map ID3v2 TSOP, TSOA and TSOT frames to new SORTNAME tags (#414539).
* gst-libs/gst/tag/gstvorbistag.c: (tag_matches),
(gst_tag_to_vorbis_comments):
Map new SORTNAME tags (these tags aren't even semi-official, so I'm
just mapping everything I found in the wild) (#414539).
Original commit message from CVS:
* gst-libs/gst/tag/gsttagdemux.c:
Don't abort with an assertion if we receive a seek event with
a start type of NONE (see launchpad bug #155878).
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_drain), (gst_base_audio_sink_change_state):
Also explicitly release the ringbuffer when going to NULL because it
is required in the setcaps function, before the state change to PAUSED
completes.
Original commit message from CVS:
* gst-libs/gst/tag/gsttagdemux.c:
Don't error out when a buggy downstream element doesn't
handle the newsegment event we send properly (especially
not without posting a meaningful error message on the
bus). See bug #471370 and launchpad bug #136264.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_drain):
Use new basesink method to make our EOS drain interruptable.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_create):
Also handle the case where there is no clock set on the audio source,
like in the unit tests.
Original commit message from CVS:
* gst-libs/gst/rtp/gstrtppayloads.c:
Use unsigned G_MAXUINT8 instead of -1 to initialise a guint8
to avoid compiler warnings
Original commit message from CVS:
* gst-libs/gst/tag/Makefile.am:
* gst-libs/gst/tag/gsttagdemux.c:
* gst-libs/gst/tag/gsttagdemux.h:
API: add GstTagDemux base class for simple tag demuxers.
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
Add GstTagDemux to docs.