Original commit message from CVS:
* ext/theora/theoradec.c: (theora_dec_chain),
(theora_dec_change_state):
Don't try to decode frames before we received a keyframe
Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_class_init),
(gst_ogg_mux_init), (gst_ogg_mux_next_buffer),
(gst_ogg_mux_get_headers), (gst_ogg_mux_set_header_on_caps),
(gst_ogg_mux_send_headers), (gst_ogg_mux_loop),
(gst_ogg_mux_get_property), (gst_ogg_mux_set_property):
Added property to set the maximum delay of a page.
Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_class_init),
(gst_ogg_mux_init), (gst_ogg_mux_next_buffer),
(gst_ogg_mux_get_headers), (gst_ogg_mux_set_header_on_caps),
(gst_ogg_mux_send_headers), (gst_ogg_mux_loop),
(gst_ogg_mux_get_property), (gst_ogg_mux_set_property):
Added max-delay property to control the maximum amount
of data to put in one page.
Original commit message from CVS:
* ext/theora/theoraenc.c: (gst_theora_enc_class_init),
(gst_theora_enc_init), (theora_enc_sink_link),
(theora_buffer_from_packet), (theora_enc_set_property),
(theora_enc_get_property):
Set duration on encoded buffer, added some more properties
Original commit message from CVS:
* ext/alsa/gstalsa.c: (add_channels):
handle min <= max correctly
* ext/alsa/gstalsa.c: (gst_alsa_fixate_to_mimetype),
(gst_alsa_fixate_field_nearest_int), (gst_alsa_fixate):
add fixation functions so we fixate correctly. No preferring of alaw
anymore because it's the first structure.
* ext/alsa/gstalsa.h:
* ext/alsa/gstalsa.c: (gst_alsa_sw_params_dump),
(gst_alsa_hw_params_dump):
add functions to ease debugging in alsalib
* ext/alsa/gstalsa.c: (gst_alsa_probe_hw_params),
(gst_alsa_set_hw_params), (gst_alsa_set_sw_params),
(gst_alsa_start_audio):
only specify hw params if we really setup a format (fixes#134007 -
or at least works around it)
Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_init),
(gst_ogg_mux_next_buffer), (gst_ogg_mux_buffer_from_page),
(gst_ogg_mux_push_page), (gst_ogg_mux_get_headers),
(gst_ogg_mux_set_header_on_caps), (gst_ogg_mux_send_headers),
(gst_ogg_mux_loop):
Use stream caps to setup the initial pages in the ogg stream.
Correctly set the streamheader caps on the srcpad.
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_samples_to_timestamp):
cast to GstClockTime to get higher granularity
* ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event):
use gst_element_set_time_delay to get the exact time
* ext/mad/gstmad.c: (gst_mad_chain):
use the negotiated rate instead of the current frame's rate which
might be wrong because of bit errors. This avoids emitting totally
bogus timestamps and screwing sync.
(fixes#143454)
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (gst_vorbis_dec_init):
use explicit caps on the srcpad
* ext/vorbis/vorbisdec.c: (vorbis_dec_chain):
properly error out if caps couldn't be set (fixes#142764)
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_probe_hw_params),
(gst_alsa_set_hw_params), (gst_alsa_set_sw_params),
(gst_alsa_start_audio):
- don't call set_periods_integer anymore, it breaks the
configuration randomly
- call snd_pcm_hw_params_set_access directly instead of using masks
- don't fail if the sw_params can't be set, just use the default
params and hope it works. Alsalib has weird issues when you touch
sw_params and does no proper error reporting about what failed.
* ext/alsa/gstalsa.c: (gst_alsa_open_audio),
(gst_alsa_close_audio):
make our alsa debugging go via gst debugging and not conditionally
defined
* ext/alsa/gstalsa.h:
add ALSA_DEBUG_FLUSH macro
* ext/alsa/gstalsaplugin.c: (gst_alsa_error_wrapper),
(plugin_init):
wrap alsa errors to be printed via the gst debugging system and not
spammed to stderr
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_dec_chain):
Initialise b_o_s and e_o_s variables
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data):
Add some unusual fourcc's from mplayer avi's
* gst/multipart/multipartmux.c: (gst_multipart_mux_plugin_init):
Make the muxer have rank GST_RANK_NONE, so it doesn't mess up
autoplugging.
Original commit message from CVS:
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_build_list):
Select first track as master track. Not sure how else to handle
that...
* ext/ogg/gstoggmux.c: (gst_ogg_mux_next_buffer):
Discard discont events. Should fix#142962.
Original commit message from CVS:
* ext/vorbis/oggvorbisenc.c: (gst_oggvorbisenc_sinkconnect),
(gst_oggvorbisenc_setup):
properly fail when we can't setup the vorbis encoder due to
unsupported settings
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_sinkconnect),
(gst_vorbisenc_setup):
same
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_link):
fix case where warnings occured when one pad was unlinked while the
other's link function was called
Original commit message from CVS:
* ext/Makefile.am:
add rules to build shout2send (was removed by accident
when this module was no more marked experimental/broken)
* ext/shout2/gstshout2.c:
* ext/shout2/gstshout2.h:
adding a "connection problem" signal to shout2send
(fixes#142954)
Original commit message from CVS:
second batch :
remove ',' at end of enums as they could confuse older gcc, foreign compilers (forte) and gtk-doc
(in gst-plugins/ext/ this time)
Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_get_type), (gst_ogg_mux_init),
(gst_ogg_mux_sinkconnect), (gst_ogg_mux_request_new_pad),
(gst_ogg_mux_next_buffer), (gst_ogg_mux_push_page),
(gst_ogg_mux_compare_pads), (gst_ogg_mux_queue_pads),
(gst_ogg_mux_loop):
Fix an ugly memleak where the muxer didn't flush enough ogg
pages. This also resulted in badly muxed ogg files.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsa_sink_loop):
use correct variable when determining amount of data to skip so we
don't skip into the void and segfault
Original commit message from CVS:
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_open),
(gst_alsa_mixer_close), (gst_alsa_mixer_supported),
(gst_alsa_mixer_build_list), (gst_alsa_mixer_free_list),
(gst_alsa_mixer_change_state), (gst_alsa_mixer_list_tracks),
(gst_alsa_mixer_get_volume), (gst_alsa_mixer_set_volume),
(gst_alsa_mixer_set_mute), (gst_alsa_mixer_set_record):
Fix for cases where we fail to attach to a mixer.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsa_sink_loop):
compute correct expected timestamps after seek (broken since
last commit)
* ext/gdk_pixbuf/pixbufscale.c: (pixbufscale_init):
rename element and debugging category to gdkpixbufscale
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsa_sink_loop):
add error checking to snd_pcm_delay and remove duplicate call to
snd_pcm_delay that caused issues (see inline code comments)
* ext/alsa/gstalsasink.c: (gst_alsa_sink_get_time):
make more readable and fix return value when snd_pcm_delay fails
Original commit message from CVS:
* ext/gdk_pixbuf/Makefile.am:
* ext/gdk_pixbuf/gstgdkpixbuf.c: (plugin_init):
* ext/gdk_pixbuf/gstgdkpixbuf.h:
Add new pixbufscale element to scale RGB video
using gdk_pixbuf, because gdk_pixbuf does BILINEAR
and HYPER interpolation correctly.
* ext/theora/theoraenc.c: (theora_enc_chain),
Discard buffer and return if explicit caps could not be set
(theora_enc_get_property):
Make _get return kbps for the bitrate consistent with
the _set function.
Original commit message from CVS:
* configure.ac:
enable shout2 by default
* ext/shout2/gstshout2.c: (gst_shout2send_protocol_get_type),
(gst_shout2send_base_init), (gst_shout2send_init),
(gst_shout2send_connect), (gst_shout2send_change_state):
* ext/shout2/gstshout2.h:
make this work again. Based on a patch by Zaheer Merali (fixes
#142262)
* ext/theora/theora.c: (plugin_init):
don't set rank on encoders
Original commit message from CVS:
* ext/libvisual/visual.c: (gst_visual_getcaps):
use the right caps depending on endianness (I hope)
* ext/ogg/gstoggmux.c: (gst_ogg_mux_plugin_init):
use GST_RANK_NONE for all non-decoding elements or spider gets
mighty confused
Original commit message from CVS:
* ext/vorbis/Makefile.am:
* ext/vorbis/README:
* ext/vorbis/oggvorbisenc.c: (gst_oggvorbisenc_get_formats),
(oggvorbisenc_get_type), (vorbis_caps_factory), (raw_caps_factory),
(gst_oggvorbisenc_base_init), (gst_oggvorbisenc_class_init),
(gst_oggvorbisenc_sinkconnect), (gst_oggvorbisenc_convert_src),
(gst_oggvorbisenc_convert_sink),
(gst_oggvorbisenc_get_query_types), (gst_oggvorbisenc_src_query),
(gst_oggvorbisenc_init), (gst_oggvorbisenc_get_tag_value),
(gst_oggvorbisenc_metadata_set1), (gst_oggvorbisenc_set_metadata),
(get_constraints_string), (update_start_message),
(gst_oggvorbisenc_setup), (gst_oggvorbisenc_write_page),
(gst_oggvorbisenc_chain), (gst_oggvorbisenc_get_property),
(gst_oggvorbisenc_set_property), (gst_oggvorbisenc_change_state):
* ext/vorbis/oggvorbisenc.h:
* ext/vorbis/vorbis.c: (plugin_init):
* ext/vorbis/vorbisenc.c: (vorbis_caps_factory),
(raw_caps_factory), (gst_vorbisenc_class_init),
(gst_vorbisenc_init), (gst_vorbisenc_setup),
(gst_vorbisenc_push_packet), (gst_vorbisenc_chain),
(gst_vorbisenc_get_property), (gst_vorbisenc_set_property):
* ext/vorbis/vorbisenc.h:
Added a raw vorbis encoder to be used with the oggmuxer.
We still need the old encoder for some gnome applications,
read the README to find out how that works.
The raw encoder is called "rawvorbisenc" until 0.9.
Original commit message from CVS:
* ext/theora/theoraenc.c: (gst_theora_enc_class_init),
(theora_enc_sink_link), (theora_push_packet), (theora_enc_chain),
(theora_enc_change_state), (theora_enc_set_property),
(theora_enc_get_property):
Mark the last packet with an EOS flag which is not really needed
in gstreamer.
Do some better video framerate initialisation.
Update the buffer timestamp.
Original commit message from CVS:
* ext/alsa/gstalsasrc.c: (gst_alsa_src_loop):
don't use a fixed buffer size when writing variable length data to
it. Fixes memory corruption and makes alsasrc work
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssink.c:
(_gst_boolean_allow_overwrite_accumulator),
(gst_gnomevfssink_class_init), (gst_gnomevfssink_open_file):
Run glib's default signal handler (??) in RUN_CLEANUP rather than
RUN_LAST, and don't use that to set the accumulator value because
then it's always FALSE.
Original commit message from CVS:
* ext/alsa/gstalsa.c: (device_list),
(gst_alsa_class_probe_devices):
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_open):
Fix alsa oddness in mixer after the combination of using mixer
in source/sink elements and using hw:x,y instead of just hw:x.