Original commit message from CVS:
* ext/alsa/gstalsadeviceprobe.c:
(gst_alsa_get_device_list): Don't return before freeing up
the allocated structures.
Original commit message from CVS:
* ext/ogg/gstoggmux.c:
Update Ogg/Dirac muxing. Removes the weird "KW-DIRAC" bos
packet. Should conform to what we currently think is the
final Ogg/Dirac muxing spec.
Original commit message from CVS:
* ext/ogg/gstogmparse.c: (gst_ogm_parse_stream_header):
GST_TYPE_FRACTION contains gints so correctly cast gint64 arguments to
vaargs functions to gint. Otherwise the fractions will get 0 set
instead of the correct value on big endian systems. Fixes bug #529018.
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssink.c:
(gst_gnome_vfs_sink_uri_get_protocols):
* ext/gnomevfs/gstgnomevfssrc.c:
(gst_gnome_vfs_src_uri_get_protocols):
* ext/gnomevfs/gstgnomevfsuri.c: (_internal_get_supported_uris),
(gst_gnomevfs_get_supported_uris):
Get the list of supported URI schemes in a threadsafe way and use the
same list for the source and sink.
Original commit message from CVS:
* ext/gio/gstgio.c: (_internal_get_supported_protocols),
(gst_gio_get_supported_protocols):
Don't generate a new supported protocols list on each call but cache
it. It's supposed to be static anyway, this way we only leak it once
per process.
* ext/gio/gstgiosink.c: (gst_gio_sink_base_init),
(gst_gio_sink_class_init), (gst_gio_sink_finalize),
(gst_gio_sink_set_property), (gst_gio_sink_get_property),
(gst_gio_sink_start):
* ext/gio/gstgiosink.h:
* ext/gio/gstgiosrc.c: (gst_gio_src_base_init),
(gst_gio_src_class_init), (gst_gio_src_finalize),
(gst_gio_src_set_property), (gst_gio_src_get_property),
(gst_gio_src_start):
* ext/gio/gstgiosrc.h:
API: Add "file" properties where one can set a GFile as source/destination.
Add locking to the properties and use gst_element_class_set_details_simple()
instead of a static GstElementDetails struct.
Original commit message from CVS:
* ext/gio/gstgio.c: (gst_gio_get_supported_protocols):
Return NULL instead of a gchar * array with one NULL element if we
don't get any supported URI schemes from GIO.
Original commit message from CVS:
* ext/pango/gsttextoverlay.c: (gst_text_overlay_class_init),
(gst_text_overlay_init):
Fix textoverlay unit test again by making the supposed default
value for the wait-text property the actual default value.
Also fix Since: tag for new property.
Original commit message from CVS:
* ext/gio/gstgio.c: (gst_gio_get_supported_protocols):
Filter cdda from the supported URI schemes. We can't support
musicbrainz tags and everything else one expects from a cdda source
with GIO. Fixes bug #526794.
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_handle_type_packet),
(theora_dec_chain):
Don't try to do anything fancy with the return code from pushing an
event, it does not have enough information to turn it into a
GST_FLOW_ERROR.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_reset),
(gst_ogg_demux_chain_elem_pad):
Add small debug line.
Pass return code from the internal decoder instead of the too generic
GST_FLOW_ERROR.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_activate_chain),
(gst_ogg_demux_read_chain):
Refix oggdemux, we only have a problem if we failed to find a chain and
we are not EOF.
Original commit message from CVS:
Patch by: Victor STINNER <victor dot stinner at haypocalc dot com>
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_activate_chain),
(gst_ogg_demux_read_chain):
When we fail to find a BOS page and we and up with no chain, error out
properly instead of segfaulting. Fixes#525665.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_activate_chain),
(gst_ogg_demux_read_chain), (gst_ogg_demux_handle_page):
The new-pad-group sequence is add-pads, no-more-pads, add-pads,
no-more-pads...
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), (gst_text_overlay_src_event),
(gst_text_overlay_text_event), (gst_text_overlay_video_event),
(gst_text_overlay_text_chain), (gst_text_overlay_video_chain),
(gst_text_overlay_change_state):
* ext/pango/gsttextoverlay.h:
Add property to configure waiting for text on the textpad or not, with
the default behaviour being the old one (always wait for text before
rendering the video). This default behaviour is usually not the best one
because the text stream can very sparse and could require queueing a lot
of video.
Fix the flushing and EOS handing so that we don't mix up their meaning.
Original commit message from CVS:
* ext/gio/gstgio.c: (gst_gio_get_supported_protocols):
Correctly set the supported URI schemes and don't leave
some schemes in the middle or at the start at NULL.
Original commit message from CVS:
* ext/gio/gstgio.c: (gst_gio_get_supported_protocols):
Filter http and https protocols. GIO/GVfs handles them but it's
impossible to implement iradio/icecast with it. Better use
souphttpsrc or something else for this.
* ext/gio/gstgiobasesrc.c: (gst_gio_base_src_get_size):
If getting the file informations by a query fails try it with the
seek-to-end trick too.
Original commit message from CVS:
Patch by: Milosz Derezynski <internalerror at gmail dot com>
* ext/gio/gstgiobasesrc.c: (gst_gio_base_src_create):
If seeking to a new position succeeds don't simply return from
create() without creating a buffer. Do this only in the case
seeking to the new position fails. Fixes bug #523054.
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:
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:
* 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:
* 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:
* 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:
* 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:
* 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:
* 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:
* ext/gio/gstgiobasesink.c: (close_stream_cb),
(gst_gio_base_sink_stop), (gst_gio_base_sink_event),
(gst_gio_base_sink_render), (gst_gio_base_sink_set_stream):
* ext/gio/gstgiobasesrc.c: (close_stream_cb),
(gst_gio_base_src_stop), (gst_gio_base_src_create),
(gst_gio_base_src_set_stream):
Use async variants of the close stream functions to prevent blocking
for a long time there and add some more sanity checks for a correct
stream.
Original commit message from CVS:
* ext/theora/gsttheoradec.h:
* ext/theora/gsttheoraparse.h:
* ext/theora/theoradec.c:
* ext/theora/theoraparse.c:
Take a 2nd stab at handling libtheora granulepos changes in the decoder
and parser by inspecting the bitstream version of the incoming data.
Original commit message from CVS:
* ext/theora/theoradec.c: (gst_theora_dec_class_init),
(_theora_granule_frame), (_theora_granule_start_time),
(theora_dec_sink_convert), (theora_dec_decode_buffer):
Adapt for post-alpha meaning of granulepos, when we
have a newer version of libtheora.
* ext/theora/theoraenc.c: (gst_theora_enc_class_init),
(theora_enc_get_ogg_packet_end_time), (theora_enc_sink_event),
(theora_enc_is_discontinuous), (theora_enc_chain):
Likewise.
* tests/check/Makefile.am:
Link libtheora into theoraenc test so we can check which version of
libtheora we're testing against.
* tests/check/pipelines/theoraenc.c: (check_libtheora),
(check_buffer_granulepos),
(check_buffer_granulepos_from_starttime), (GST_START_TEST),
(theoraenc_suite):
Adapt tests to check the values that are now defined for theora; make
the tests backwards-adapt the passed values if we're running against an
old libtheora.
Fixes#497964
Original commit message from CVS:
Patch by: Bastien Nocera <hadess at hadess net>
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_get_volume),
(check_if_volumes_are_the_same), (gst_alsa_mixer_set_volume):
Use snd_mixer_selem_set_{playback|capture}_volume_all() if
the volume is the same for all channels. This works around
some problem in alsa that leaves us with inconsistent state
for some reason (#486840).
Original commit message from CVS:
Patch by: Jerone Young <jerone at gmail com>
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_find_master_mixer):
If there's no mixer track by the name of 'Master' or 'Front',
check if there's one called 'PCM' before trying the generic
fallback logic (fixes#506928, where we pick 'Mic' as master
track for the AD1984 card in a Thinkpad T61/X61 laptop).
Original commit message from CVS:
* configure.ac:
* ext/gio/gstgiobasesrc.c: (gst_gio_base_src_get_size):
* tests/check/pipelines/gio.c: (free_input), (GST_START_TEST):
Update to GMemoryInputStream API changes in GLib SVN and require
gio-2.0 >= 2.15.1 for this. Fixes bug #507584.
We can also report the duration for every GSeekable, not only
GFileInputStream and GMemoryInputStream.