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:
* 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:
* 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:
* 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:
* 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-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:
2006-02-18 Julien MOUTTE <julien@moutte.net>
* ext/pango/gsttextoverlay.c: (gst_text_overlay_base_init),
(gst_text_overlay_finalize), (gst_text_overlay_init),
(gst_text_overlay_setcaps), (gst_text_overlay_src_event),
(gst_text_overlay_render_text),
(gst_text_overlay_text_pad_link),
(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): Refactoring of textoverlay
without collectpads. This now supports sparse subtitles coming
from a demuxer instead of a sub file. Seeking is still broken
though. Need to discuss with wtay some more on how to handle
seeking correctly.
* ext/pango/gsttextoverlay.h:
* gst/playback/gstplaybin.c: (setup_sinks): Support linking with
subtitles coming from the demuxer.
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:
* 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:
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:
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:
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:
* 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:
* 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:
* 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:
* 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:
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.