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:
* 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:
* 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:
* 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:
* 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-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:
* 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:
* 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-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-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-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-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:
* 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:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render), (gst_base_audio_sink_change_state):
Undo previous commit, it breaks resume after pause.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_setcaps), (gst_base_audio_sink_event),
(gst_base_audio_sink_preroll), (gst_base_audio_sink_render):
Improve debugging.
Post error when caps cannot be parsed.
Resync on discontinuity in the stream.
Clip samples to segment boundaries.
return WRONG_STATE sooner when we are flushing.
* gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_init),
(gst_base_audio_src_get_time), (gst_base_audio_src_create):
Make audiosrc operate in TIME.
Set TIMESTAMP and DURATION on buffers.
Original commit message from CVS:
* gst-libs/gst/interfaces/xoverlay.c:
Fix prepare-xwindow-id code example in the docs - we need to
ignore all messages that aren't element messages as well.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
Fix playback of non-synchronised streams by assuming a rate
of 1.0 instead of a random one.
Makes this work again:
gst-launch filesrc location=raw_audio.file ! 'audio/x-raw-int,
endianness=(int)4321, signed=(boolean)true, width=(int)16,
depth=(int)16, rate=(int)44100, channels=(int)2' ! audioconvert !
audioresample ! alsasink
Original commit message from CVS:
* gst-libs/gst/cdda/gstcddabasesrc.c:
(gst_cdda_base_src_handle_track_seek):
No need to post a tag message on the bus when seeking
within the same track, only post it when the current
track changes.
Original commit message from CVS:
Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_parse_caps):
Set depth and width for alaw/mulaw (fixes#326601).
Original commit message from CVS:
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_init),
(gst_ring_buffer_set_flushing), (gst_ring_buffer_start),
(gst_ring_buffer_pause), (wait_segment):
* gst-libs/gst/audio/gstringbuffer.h:
Name (private) union, makes Forte compiler happy (this time
for real) (#324900).
Original commit message from CVS:
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_init),
(gst_ring_buffer_set_flushing), (gst_ring_buffer_start),
(gst_ring_buffer_pause), (wait_segment):
* gst-libs/gst/audio/gstringbuffer.h:
Sun's Forte compiler doesn't seem to like anonymous structs,
so use same setup as in GstBaseSrc (fixes#324900).
Original commit message from CVS:
* gst-libs/gst/cdda/gstcddabasesrc.c:
(gst_cdda_base_src_update_duration),
(gst_cdda_base_src_calculate_cddb_id):
An integer is not a string. Fix access to uninitialised variable.
* tests/check/Makefile.am:
Add cddabasesrc unit test; also actually enable the vorbis test.
* tests/check/generic/states.c:
Blacklist new cd audio elements as well.
* tests/check/libs/cddabasesrc.c:
Unit test for GstCddaBaseSrc (discid calculation mostly).
Original commit message from CVS:
* docs/libs/Makefile.am:
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
* docs/libs/gst-plugins-base-libs.types:
Add docs for libgstcdda/GstCddaBaseSrc.
* gst-libs/gst/interfaces/mixertrack.h:
Do one struct member per line with a semicolon at the end, that way
even gtk-doc might parse it without complaining.
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):
update strings, values are in microseconds
change the default sink buffer time to something that is smaller
(to help software volume mixing have a slightly lower delay) but
still be acceptable on Wim's laptop
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_template_caps):
Made a quack, forgot to add DUCK to the riff video template.
Original commit message from CVS:
* ext/ogg/gstogmparse.c: (gst_ogm_text_parse_base_init),
(gst_ogm_parse_init), (gst_ogm_audio_parse_init),
(gst_ogm_video_parse_init), (gst_ogm_text_parse_init),
(gst_ogm_parse_chain):
Make sure pads are initialized correctly.
* gst-libs/gst/riff/riff-ids.h:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
(gst_riff_create_video_template_caps):
Add a whole bunch of FOURCC <=> MimeType.
Extend the riff video pad template to support the newly added fourcc.
Original commit message from CVS:
2005-12-17 Philippe Khalaf <burger@speedy.org>
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_init), (gst_base_rtp_depayload_handle_sink_event):
Handle downstream newsegment by sending our own newsegment before the
next buffer to be released. (#323900)
Original commit message from CVS:
2005-12-17 Philippe Khalaf <burger@speedy.org>
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_set_gst_timestamp):
add queue delay to new segment as well (as opposed to just the first
buffer). (bug #322347)
Original commit message from CVS:
* docs/libs/tmpl/gstcolorbalance.sgml:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
* gst-libs/gst/rtp/gstbasertppayload.c:
* gst-libs/gst/rtp/gstrtpbuffer.c:
* gst-libs/gst/rtp/gstrtpbuffer.h:
Do burger's rename for rtp payloaders and depayloaders
Original commit message from CVS:
* gst-libs/gst/net/Makefile.am:
* gst-libs/gst/net/README:
* gst-libs/gst/net/gstnetbuffer.c:
* gst-libs/gst/net/gstnetbuffer.h:
this was moved to netbuffer
Original commit message from CVS:
* gst-libs/gst/video/gstvideofilter.c: (gst_video_filter_get_type),
(gst_video_filter_class_init), (gst_video_filter_init):
* gst-libs/gst/video/gstvideofilter.h:
borgify name to bring in line with other classes
Original commit message from CVS:
* gst-libs/gst/netbuffer/Makefile.am: (libgstnetbufferincludedir):
Let's not override libgstnet from core for no reason...
(libgstnetbuffer_@GST_MAJORMINOR@_la_SOURCES):
Ok, maybe not so quick next time.
Original commit message from CVS:
* gst-libs/gst/netbuffer/Makefile.am: (libgstnetbufferincludedir):
Let's not override libgstnet from core for no reason...
Original commit message from CVS:
* configure.ac:
* gst-libs/gst/Makefile.am:
moved gst-libs/gst/net to netbuffer through CVS surgery
remove old directory
updating build to accomodate
(#322257)
Original commit message from CVS:
2005-11-29 Andy Wingo <wingo@pobox.com>
* pkgconfig/gstreamer-plugins-base.pc.in:
* pkgconfig/gstreamer-plugins-base-uninstalled.pc.in:
* gst-libs/gst/net/Makefile.am: Rename gstnet to gstnetbuffer
(#322257).
Original commit message from CVS:
* gst-libs/gst/video/Makefile.am:
compile in copied-over videofilter into the video library
* gst-libs/gst/video/videosink.h:
rename the header to gstvideosink.h since it's a base GstObject class
* sys/ximage/ximagesink.h:
* sys/xvimage/xvimagesink.h:
use the new header
Original commit message from CVS:
* gst-libs/gst/audio/TODO:
Updated TODO
* gst-libs/gst/audio/gstaudiosink.c:
(gst_audioringbuffer_open_device),
(gst_audioringbuffer_close_device), (gst_audioringbuffer_acquire),
(gst_audioringbuffer_release):
Small cleanups.
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_class_init), (gst_base_audio_sink_render),
(gst_base_audio_sink_change_state):
Slave to the master clock when going to PLAYING and unslave when
going to PAUSED.
* gst-libs/gst/audio/gstringbuffer.c:
(gst_ring_buffer_open_device), (gst_ring_buffer_close_device),
(gst_ring_buffer_acquire), (gst_ring_buffer_release),
(gst_ring_buffer_samples_done), (gst_ring_buffer_set_sample),
(gst_ring_buffer_clear_all), (wait_segment),
(gst_ring_buffer_commit), (gst_ring_buffer_read),
(gst_ring_buffer_advance):
* gst-libs/gst/audio/gstringbuffer.h:
Add some docs and cleanups.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_audio_template_caps):
Add ATRAC3 to the list of riff-possible audio caps.
I know we still don't have a plugin for atrac3, but it's saner to output
that than a cryptic mimetype.
Original commit message from CVS:
* gst-libs/gst/net/Makefile.am:
* gst-libs/gst/rtp/Makefile.am:
* gst-libs/gst/tag/Makefile.am:
remove silly include
* gst/tags/Makefile.am:
* gst/tags/gsttagediting.c:
* gst/tags/gsttageditingprivate.h:
* gst/tags/tagedit.vcproj:
remove directory, is as good as empty
Original commit message from CVS:
* configure.ac:
added GST_LIB_LDFLAGS and GST_ALL_LDFLAGS
* gst-libs/Makefile.am:
* gst-libs/gst/audio/Makefile.am:
* gst-libs/gst/interfaces/Makefile.am:
* gst-libs/gst/net/Makefile.am:
* gst-libs/gst/riff/Makefile.am:
* gst-libs/gst/rtp/Makefile.am:
* gst-libs/gst/tag/Makefile.am:
* gst-libs/gst/video/Makefile.am:
and use them
Original commit message from CVS:
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_read):
If we are reading too slowly, jump forward in the ringbuffer
instead of blocking.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_class_init), (gst_base_audio_sink_set_clock),
(gst_base_audio_sink_render), (gst_base_audio_sink_change_state):
Fix for calibration API change.
Original commit message from CVS:
* gst-libs/gst/audio/multichannel.c:
(gst_audio_get_channel_positions),
(gst_audio_set_channel_positions),
(gst_audio_set_structure_channel_positions_list),
(gst_audio_fixate_channel_positions):
Use gst_value_array_*() functions on value arrays, not
gst_value_list_*().
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_class_init), (gst_base_audio_sink_set_clock),
(gst_base_audio_sink_render), (gst_base_audio_sink_change_state):
And we provide a clock by default, of course...
Original commit message from CVS:
* gst-libs/gst/audio/gstaudioclock.c: (gst_audio_clock_init):
This clock can be slaved to a master clock now.
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_class_init), (gst_base_audio_sink_init),
(gst_base_audio_sink_dispose), (gst_base_audio_sink_provide_clock),
(gst_base_audio_sink_set_clock),
(gst_base_audio_sink_set_property),
(gst_base_audio_sink_get_property), (gst_base_audio_sink_preroll),
(gst_base_audio_sink_render), (gst_base_audio_sink_change_state):
* gst-libs/gst/audio/gstbaseaudiosink.h:
Handle slaving the internal clock to the clock selected in the
pipeline.
Add property to make the basesink not provide a clock.
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_class_init), (gst_base_rtp_depayload_init),
(gst_base_rtp_depayload_wait):
* gst-libs/gst/rtp/gstbasertpdepayload.h:
We can use the clock in GstElement, no need to store it ourselves.
Original commit message from CVS:
* gst-libs/gst/audio/audio.c: (gst_audio_duration_from_pad_buffer):
* gst-libs/gst/audio/audio.h:
fix prototype - wondering why the test worked regardless
Original commit message from CVS:
* gst-libs/gst/interfaces/xoverlay.c: (gst_x_overlay_base_init),
(gst_x_overlay_got_xwindow_id), (gst_x_overlay_prepare_xwindow_id):
* gst-libs/gst/interfaces/xoverlay.h:
Remove everything having to do with the desired size; add
gst_x_overlay_prepare_xwindow_id() function; remove the
'have-xwindow-id' signal and make gst_x_overlay_got_xwindow_id()
post a message on the bus instead (#321816).
* sys/ximage/ximagesink.c: (gst_ximagesink_xoverlay_init):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_setcaps),
(gst_xvimagesink_xoverlay_init):
Remove desired size stuff (#321816).
Original commit message from CVS:
* gst-libs/gst/tag/Makefile.am:
* gst-libs/gst/tag/gstvorbistag.c:
(gst_tag_list_to_vorbiscomment_buffer):
Remove obsolete vorbistag element and debug category.
* gst/playback/gstplaybasebin.c: (check_queue):
Don't divide by 0 when queue-threshold is 0.
* sys/ximage/ximagesink.c: (gst_ximagesink_set_property):
Don't modify an existing pixel-aspect-ratio if we fail to read
a new one.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_change_state):
Fix the audiosrc base class again, we did not unflush.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_provide_clock),
(gst_base_audio_sink_change_state):
Set ringbuffer to non-flushing when going to PAUSED, set to
flushing again when going to READY.
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_init),
(gst_ring_buffer_stop):
Start in flushing mode by default.
Don't set flushing in the _stop method, let the app call
this explicitly.
Original commit message from CVS:
2005-11-16 Julien MOUTTE <julien@moutte.net>
* gst-libs/gst/video/gstvideosink.c:
(gst_video_sink_center_rect):
* gst-libs/gst/video/videosink.h: Add helper function needed
for video sinks.
Original commit message from CVS:
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_stop):
Set ringbuffer to flushing when stopping so that we don't
block on wait_segment anymore and livelock.