Original commit message from CVS:
2006-02-19 Julien MOUTTE <julien@moutte.net>
* gst/playback/gstdecodebin.c: (mimetype_is_raw): pango layout
should be considered as row.
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls),
(gst_ximagesink_ximage_new), (gst_ximagesink_ximage_destroy):
* sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy),
(gst_xvimagesink_check_xshm_calls), (gst_xvimagesink_xvimage_new):
Set shared memory segments to be deleted as soon as we have attached,
that way they get cleaned up automatically if we crash.
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:
* 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:
* gst-libs/gst/audio/TODO:
Update TODO
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_get_offset):
When trying to play samples ASAP and we don't have a
previous sample, try to play at position 0 instead of
an invalid position.
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:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
Set codec_name for WAVEFORMATEX as well. When we have 'normal PCM'
with 4 or 6 channels, assume a default channel layout to make things
work (not sure there's anything else we can do in those cases).
Original commit message from CVS:
* gst-libs/gst/audio/multichannel.c:
Minor docs fix.
* gst-libs/gst/riff/Makefile.am:
* gst-libs/gst/riff/riff-ids.h:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_wavext_add_channel_layout), (gst_riff_create_audio_caps):
Add support for WAVEFORMATEX, eg. PCM audio with more than two
channels and a channel layout map.
Original commit message from CVS:
Reviewed by Edward Hervey <edward@fluendo.com>
* gst/videoscale/vs_scanline.c: (vs_scanline_resample_nearest_RGBA):
C-level optimization of the RGBA nearest neighbour function.
Eventually this might end up in liboil with vectorized versions.
Original commit message from CVS:
* gst-libs/gst/audio/multichannel.c:
(gst_audio_get_channel_positions):
When we have more than 2 channels, but no channel layout is
specified in the caps, return some default channel layout
to the caller and warn about about a possibly buggy element
(could be buggy filtercaps as well of course) (#317038).
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:
* gst/audioconvert/plugin.c: (plugin_init):
Register the GstAudioChannelPosition enum type with the type
system in the plugin_init function, so that it is known before
any element actually makes use of multi-channel stuff. This is
required for example if one wants to be able to deserialise/use
a caps string with channel positions before any pipeline has
been setup and started, like with gst-launch.
Original commit message from CVS:
* gst-libs/gst/audio/gstringbuffer.c:
(gst_ring_buffer_pause_unlocked), (gst_ring_buffer_delay),
(gst_ring_buffer_samples_done), (wait_segment),
(gst_ring_buffer_commit), (gst_ring_buffer_clear):
Add some compiler G_(UN_)LIKELY help.
SIGNAL the ringbuffer waiters when going to PAUSED as well to
make sure they can exit their functions. Should fix#330748
Original commit message from CVS:
* Makefile.am:
* configure.ac:
* win32/MANIFEST:
* win32/common/_stdint.h:
Windows does not have long long; copy the generated _stdint.h
* win32/common/interfaces-enumtypes.c:
(gst_color_balance_type_get_type), (gst_mixer_type_get_type),
(gst_mixer_track_flags_get_type),
(gst_tuner_channel_flags_get_type):
* win32/common/multichannel-enumtypes.c:
(gst_audio_channel_position_get_type):
update
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_get_time), (gst_base_audio_sink_preroll),
(gst_base_audio_sink_render), (gst_base_audio_sink_change_state):
Always sync on first sample we receive when starting.
Original commit message from CVS:
* gst/playback/gstplaybin.c: (gen_vis_element):
Update vis bin docs.
Move queue after tee so we don't queue video buffers but
audio samples instead. Fixes problems where the video queue
is filled and the audio queue empty.
Original commit message from CVS:
* gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_create):
No need to push an EOS event here, GstBaseSrc will do that for us
when we return FLOW_UNEXPECTED.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_get_time), (gst_base_audio_sink_setcaps),
(gst_base_audio_sink_drain), (gst_base_audio_sink_preroll),
(gst_base_audio_sink_render), (gst_base_audio_sink_change_state):
Use scale functions when possible.
Fix error messages.
Free clockid when after waiting for EOS.
Use G_(UN_)LIKLY when it makes sense.
Fix sample clipping bug found by Arwed v. Merkatz fixes#330789.
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls):
Fix up the XShm call testing so that we catch errors, and don't
cause new ones by attempting to detach from a segment we failed
to attach to. Fixes#312439.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
(gst_riff_create_video_template_caps):
Added FLV1 <==> 'video/x-flash-video,flvversion=1' conversion.
Also added the caps to the default set of riff video caps.
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:
* gst-libs/gst/rtp/gstbasertppayload.c:
(gst_basertppayload_setcaps), (gst_basertppayload_push):
update seqnum before setting it on the packet; this makes sure
that the timestamp and seqnum properties match after pushing
a buffer
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:
* gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_create):
Revert Andy's newsegment change pending a more correct
fix.
Original commit message from CVS:
:
* gst/typefind/gsttypefindfunctions.c: (q3gp_type_find),
(qt_type_find), (plugin_init):
detect more files as 3gp
group and reorder the iso file formats
Original commit message from CVS:
* gst-libs/gst/tag/gstvorbistag.c: (gst_tag_from_vorbis_tag),
(gst_tag_to_vorbis_tag):
Make sure we called gst_tag_register_musicbrainz_tags()
before possibly mapping a vorbiscomment string from/to a
musicbrainz tag.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mp3_type_find):
In case we can't find the required number of consecutive
mpeg audio frames to positively identify an MPEG audio
stream, check if there's at least a valid mpeg audio
frame right at offset 0 and if so suggest mpeg/audio
caps with a very low probability (#153004).
Original commit message from CVS:
2006-02-07 Andy Wingo <wingo@pobox.com>
* gst/tcp/gsttcpclientsrc.c (gst_tcp_client_src_create): Switch to
a TIME segment if we get timestamped buffers. Requires recent
fixes in core to work properly.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (prepare_output):
Don't print the URI as part of the error message, it
makes error dialogs look rather ugly, especially if
the URI is very long or has characters in it that
need escaping.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (prepare_output):
Error out if we have only text or subtitles, but nothing
else. Also error out if we have subtitles but no video
stream.
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:
2006-02-07 Andy Wingo <wingo@pobox.com>
* configure.ac (GST_MAJORMINOR): Update core version req to
0.10.2.2, for the collectpads API addition (#330244).
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:
* docs/libs/compiling.sgml:
Fix typo: it's pkg-config, not pkg-gconfig
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
* docs/libs/tmpl/gstgconf.sgml:
There is no libgstgconf in 0.10, remove it
from the docs.
Original commit message from CVS:
* gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add):
Add comment about LANGUAGE tag inconsistency (we want
ISO-639-1, but extract three-letter identifiers?)
* po/POTFILES.in:
Add two translatable files.
Original commit message from CVS:
* gst-libs/gst/tag/Makefile.am:
* gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add):
* gst-libs/gst/tag/tag.h:
* gst-libs/gst/tag/tags.c:
(gst_tag_register_musicbrainz_tags_internal),
(gst_tag_register_musicbrainz_tags):
Forward-port some tags stuff from the 0.8 branch. This is
mostly the addition of musicbrainz tags and their mapping
to vorbistags, and a vorbistag mapping of the language tag.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (try_to_link_1):
Don't put essential function call into
g_return_*() macro, otherwise it'll all be
replaced by NOOPs when compiling with
G_DISABLE_CHECKS defined.
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:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_provide_clock),
(gst_base_audio_sink_set_property),
(gst_base_audio_sink_get_property), (gst_base_audio_sink_render):
Don't try to provide a clock when we are not negotiated since
we might not be able to make it run.
Original commit message from CVS:
* gst-libs/gst/audio/TODO:
Updated.
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_drain), (gst_base_audio_sink_event):
On EOS, wait till the last sample is played before posting EOS.
Original commit message from CVS:
2006-02-01 Philippe Kalaf <burger at speedy dot org>
* gst-libs/gst/rtp/gstbasertpdepayload.c:
Patch by Kai Vehmanen : Adds ability to enable newsegment bypass by
setting queue_delay to zero. Also avoid thread being started if
queue_delay is zero.
Original commit message from CVS:
* gst/playback/test6.c: (new_decoded_pad_cb), (show_error), (main):
Make test work again by connecting fakesinks to each decoded pad,
which makes the pipeline wait until each fakesink has a buffer
queued before going to PAUSED state. At that point we know the
decodebin pads are negotiated.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (au_type_find),
(paris_type_find), (ilbc_type_find), (plugin_init):
Fix typefinding for audio/x-au, audio/x-paris and
audio/iLBC-sh. We cannot use the START_WITH macros
here, because there can only be one typefind factory
with the same name (caps), so the second one would
replace the first one and the first one would never
be called when doing typefinding (see #161712).
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:
* gst/audiotestsrc/gstaudiotestsrc.c:
(gst_audio_test_src_create_sine_table), (plugin_init):
* gst/volume/gstvolume.c: (plugin_init):
initialize gst_controller before using
Original commit message from CVS:
* tests/check/pipelines/theoraenc.c:
* tests/check/pipelines/vorbisenc.c:
Define constant using G_GINT64_CONSTANT to avoid errors when
passing it around - otherwise it gets truncated to 32 bits.
Fixes failing tests.
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.
Original commit message from CVS:
2006-01-30 Andy Wingo <wingo@pobox.com>
* ext/theora/theoraenc.c (theora_enc_sink_setcaps)
(gst_theora_enc_init): Pull the granule shift out of the encoder.
(granulepos_add): New function, handles the messiness of adjusting
granulepos values.
(theora_buffer_from_packet):
(theora_enc_chain):
(theora_enc_sink_event): Use granulepos_add, not +.
* tests/check/pipelines/theoraenc.c
(check_buffer_granulepos_from_starttime): Just check the frame
count, not the actual granulepos -- we can't dictate to the
encoder when it should be placing keyframes.
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_start):
SERVICE_NOT_AVAILABLE happens for example when you're trying to
play an http:// stream from a server that's not serving
Original commit message from CVS:
2006-01-30 Andy Wingo <wingo@pobox.com>
* tests/check/pipelines/vorbisenc.c (TIMESTAMP_OFFSET):
* tests/check/pipelines/theoraenc.c (TIMESTAMP_OFFSET): Totally
remove the UINT64_CONSTANT macro, doesn't appear to be needed or
available.
Original commit message from CVS:
2006-01-30 Andy Wingo <wingo@pobox.com>
* ext/theora/gsttheoraenc.h:
* ext/theora/theoraenc.c: Same changes as were done to vorbisenc,
although theoraenc was timestamping correctly. Added handling of
streams that start with nonzero timestamps.
* tests/check/Makefile.am:
* tests/check/pipelines/theoraenc.c: New file, basically does same
tests as vorbisenc.
* tests/check/pipelines/vorbisenc.c: I claim these bugs.
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiosink.c:
(gst_audioringbuffer_class_init), (gst_audioringbuffer_release),
(gst_audioringbuffer_pause):
Implement pause that does not wait for completion.
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render), (gst_base_audio_sink_change_state):
Don't drop buffers when going to PAUSED but perform preroll on
remaining samples now that core base class supports this.
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_release),
(gst_ring_buffer_pause_unlocked), (gst_ring_buffer_stop),
(gst_ring_buffer_commit):
Pause should not signal waiters.
Implement return value of _commit correctly.
Original commit message from CVS:
2006-01-30 Andy Wingo <wingo@pobox.com>
* tests/check/Makefile.am (check_vorbis): Add pipelines/vorbisenc.
* ext/vorbis/vorbisenc.c (gst_vorbisenc_buffer_from_packet): Logic
updated to timestamp from the first sample, not the last.
(gst_vorbisenc_buffer_from_header_packet): New function, takes
special care of granulepos and timestamp for header packets.
(gst_vorbisenc_chain): Reflow, fix some leaks, and handle the case
when the first buffer has a nonzero timestamp.
* ext/vorbis/vorbisenc.h (GstVorbisEnc.granulepos_offset)
(GstVorbisEnc.subgranule_offset): New members. Take care of the
case when the first audio buffer we get has a nonzero timestamp.
(GstVorbisEnc.next_ts): Renamed from prev_ts, because now we
properly timestamp vorbis buffers with the time of the first
sample, not the last.
* ext/vorbis/vorbisenc.c (granulepos_to_clocktime): Renamed from
vorbis_granule_time_copy -- now it takes the granule/subgranule
offset into account.
* tests/check/pipelines/vorbisenc.c: New test for correctness of
timestamps, durations, and granulepos on buffers produced by
vorbisenc.
Original commit message from CVS:
* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
(gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_caps_to_pixfmt):
Patch from Eric Jonas to support conversions to/from UYVY
(Fixes: #324626)
Original commit message from CVS:
* gst-libs/gst/audio/audio.h: (GST_CLOCK_TIME_TO_FRAMES)
* gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_render)
use of gst_guint64_to_gdouble to be compliant with vs6
* gst/playback/gstdecodebin.c: (try_to_link_1)
* gst/videorate/videorate.c: (gst_video_rate_blank_data)
use of G_GINT64_CONSTANT for int64 constants
* win32/common/libgstinterfaces.def:
export some symbols (gst_mixer_get_type,gst_mixer_track_get_type)
* win32/vs6:
update and add new project files
Original commit message from CVS:
* Makefile.am:
* win32/MANIFEST:
* win32/common/interfaces-enumtypes.c:
(gst_color_balance_type_get_type), (gst_mixer_type_get_type),
(gst_mixer_track_flags_get_type),
(gst_tuner_channel_flags_get_type):
* win32/common/interfaces-enumtypes.h:
* win32/common/multichannel-enumtypes.c:
(gst_audio_channel_position_get_type):
* win32/common/multichannel-enumtypes.h:
add a win32-update rule like in core, and copy over enumtypes files
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_init), (set_hwparams),
(set_swparams), (gst_alsasink_prepare), (gst_alsasink_unprepare),
(gst_alsasink_close), (gst_alsasink_write), (gst_alsasink_reset):
* ext/alsa/gstalsasrc.c: (gst_alsasrc_init), (set_hwparams),
(set_swparams), (gst_alsasrc_open), (gst_alsasrc_prepare),
(gst_alsasrc_unprepare), (gst_alsasrc_read):
Update all error messages. All of them should either use
the default translated message, or actually provide a
translatable string.
Make the string for channel count problems meaningful.
Original commit message from CVS:
* gst/videoscale/vs_scanline.c: Oops, *that's* why I never
checked in this change -- it requires liboil features not
in 0.3.6. Revert parts.