Commit graph

440 commits

Author SHA1 Message Date
Wim Taymans
fc523e047c gst-libs/gst/audio/gstaudiosink.c: Choose to allocate one less segment but require one additional segment as latency.
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiosink.c: (gst_audioringbuffer_acquire):
Choose to allocate one less segment but require one additional segment
as latency.
* gst-libs/gst/audio/gstaudiosrc.c: (gst_audioringbuffer_acquire):
No need to increment the number of segments in the source.
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_get_time), (clock_convert_external),
(gst_base_audio_sink_resample_slaving),
(gst_base_audio_sink_skew_slaving),
(gst_base_audio_sink_none_slaving), (gst_base_audio_sink_render),
(gst_base_audio_sink_async_play):
Remove adding latency when returning the internal time while subtracting
it again when we use the value a little later.
When calculating the end timestamp, we are making a rounding error
with the current algorithm. Ensure that we don't accumulate these
rounding errors when aligning samples by not resampling at all if we
don't need to. Fixes #419351.
Make the initial calibration of the clock slaving a little more
predictable and accurate. Also handle the case where we don't do
clock slaving.
2008-05-09 16:38:10 +00:00
Wim Taymans
09f7dee84d gst-libs/gst/audio/gstbaseaudiosink.c: Report the latency with the new seglatency parameter.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_query):
Report the latency with the new seglatency parameter.
* gst-libs/gst/audio/gstringbuffer.c:
(gst_ring_buffer_debug_spec_buff), (gst_ring_buffer_parse_caps),
(gst_ring_buffer_acquire):
* gst-libs/gst/audio/gstringbuffer.h:
Add new field to the ringbufferspec to specify the expected latency
between the underlying device read/write pointer, this is needed
when writing sinks that sit a little closer to the hardware.
Add some more docs for other fields.
2008-05-07 15:47:03 +00:00
Sebastian Dröge
83f0729394 Remove some unused code.
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiosink.c: (audioringbuffer_thread_func):
* gst-libs/gst/audio/gstaudiosrc.c: (audioringbuffer_thread_func):
* gst/tcp/gsttcp.c: (gst_tcp_socket_write):
* sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_get_fps_list):
Remove some unused code.
* gst/audioconvert/gstaudioquantize.c:
(gst_audio_quantize_free_noise_shaping):
Don't return before freeing the noise shaping history.
2008-05-04 15:02:20 +00:00
Wim Taymans
7916e386ca gst-libs/gst/audio/gstbaseaudiosink.h: Clarify some docs.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.h:
Clarify some docs.
* gst-libs/gst/audio/gstbaseaudiosrc.c: (slave_method_get_type),
(gst_base_audio_src_class_init), (gst_base_audio_src_init),
(gst_base_audio_src_set_slave_method),
(gst_base_audio_src_get_slave_method),
(gst_base_audio_src_set_property),
(gst_base_audio_src_get_property), (gst_base_audio_src_create):
* gst-libs/gst/audio/gstbaseaudiosrc.h:
Add property and methods for selecting the clock slave method in the
source, like in the sink.
We only implement "none" and "re-timestamp" for now.
API: gst_base_audio_src_set_slave_method()
API: gst_base_audio_src_get_slave_method()
2008-04-28 08:51:38 +00:00
Sebastian Dröge
66bbadadd0 gst-libs/gst/audio/gstringbuffer.c: Use g_atomic_int_set() instead of gst_atomic_int_set().
Original commit message from CVS:
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_may_start):
Use g_atomic_int_set() instead of gst_atomic_int_set().
2008-04-17 07:33:46 +00:00
Tim-Philipp Müller
7a29d716bd gst/: Work around missing bits of thread-safety on older GLibs some more to avoid assertions when starting up multipl...
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):
* gst/playback/gstplayback.c: (plugin_init):
* gst/volume/gstvolume.c: (plugin_init):
Work around missing bits of thread-safety on older GLibs some
more to avoid assertions when starting up multiple playbin
objects concurrently (see #512382).
2008-04-06 20:16:27 +00:00
Wim Taymans
ce67ac6373 gst-libs/gst/audio/gstbaseaudiosink.c: Guard against over and underflows because of clock slaving.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_skew_slaving), (gst_base_audio_sink_render):
Guard against over and underflows because of clock slaving.
When we are using our own clock, still compensate for any calibrations
that we might have done to our clock.
2008-04-03 10:37:03 +00:00
Wim Taymans
877a45b791 gst-libs/gst/audio/gstaudiosink.c: Small debug improvement.
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiosink.c: (gst_audioringbuffer_release):
Small debug improvement.
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
Fix bug in determining the sample start/stop position, we want to base
this decision on the fact that we are going forwards or backwards, not
slower or faster. This fixes some ugly resync warnings when playing at
very slow speeds.
2008-03-24 11:24:22 +00:00
Sebastian Dröge
49deb0c05d Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use static strings (i.e. all). This gives us less memory u...
Original commit message from CVS:
* configure.ac:
* ext/alsa/gstalsamixerelement.c:
(gst_alsa_mixer_element_class_init):
* ext/alsa/gstalsasink.c: (gst_alsasink_class_init):
* ext/alsa/gstalsasrc.c: (gst_alsasrc_class_init):
* ext/cdparanoia/gstcdparanoiasrc.c:
(gst_cd_paranoia_src_class_init):
* ext/gio/gstgiosink.c: (gst_gio_sink_class_init):
* ext/gio/gstgiosrc.c: (gst_gio_src_class_init):
* ext/gio/gstgiostreamsink.c: (gst_gio_stream_sink_class_init):
* ext/gio/gstgiostreamsrc.c: (gst_gio_stream_src_class_init):
* ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_class_init):
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_class_init):
* ext/ogg/gstoggmux.c: (gst_ogg_mux_class_init):
* ext/pango/gsttextoverlay.c: (gst_text_overlay_class_init):
* ext/pango/gsttextrender.c: (gst_text_render_class_init):
* ext/theora/theoradec.c: (gst_theora_dec_class_init):
* ext/theora/theoraenc.c: (gst_theora_enc_class_init):
* ext/theora/theoraparse.c: (gst_theora_parse_class_init):
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_class_init):
* gst-libs/gst/audio/gstaudiofiltertemplate.c:
(gst_audio_filter_template_class_init):
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_class_init):
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_class_init):
* gst-libs/gst/cdda/gstcddabasesrc.c:
(gst_cdda_base_src_class_init):
* gst-libs/gst/interfaces/mixertrack.c:
(gst_mixer_track_class_init):
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_class_init):
* gst-libs/gst/rtp/gstbasertppayload.c:
(gst_basertppayload_class_init):
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_class_init):
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_class_init):
* gst/audioresample/gstaudioresample.c:
(gst_audioresample_class_init):
* gst/audiotestsrc/gstaudiotestsrc.c:
(gst_audio_test_src_class_init):
* gst/gdp/gstgdppay.c: (gst_gdp_pay_class_init):
* gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init):
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
(preroll_unlinked):
* gst/playback/gstplaybin.c: (gst_play_bin_class_init):
* gst/playback/gstplaybin2.c: (gst_play_bin_class_init):
* gst/playback/gstplaysink.c: (gst_play_sink_class_init):
* gst/playback/gstqueue2.c: (gst_queue_class_init):
* gst/playback/gststreaminfo.c: (gst_stream_info_class_init):
* gst/playback/gststreamselector.c: (gst_selector_pad_class_init),
(gst_stream_selector_class_init):
* gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_class_init):
* gst/subparse/gstsubparse.c: (gst_sub_parse_class_init):
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init):
* gst/tcp/gsttcpclientsink.c: (gst_tcp_client_sink_class_init):
* gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_class_init):
* gst/tcp/gsttcpserversink.c: (gst_tcp_server_sink_class_init):
* gst/tcp/gsttcpserversrc.c: (gst_tcp_server_src_class_init):
* gst/videorate/gstvideorate.c: (gst_video_rate_class_init):
* gst/videoscale/gstvideoscale.c: (gst_video_scale_class_init):
* gst/videotestsrc/gstvideotestsrc.c:
(gst_video_test_src_class_init):
* gst/volume/gstvolume.c: (gst_volume_class_init):
* sys/v4l/gstv4lelement.c: (gst_v4lelement_class_init):
* sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_class_init):
* sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_class_init):
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_class_init):
* sys/ximage/ximagesink.c: (gst_ximagesink_class_init):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_class_init):
Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use
static strings (i.e. all). This gives us less memory usage,
fewer allocations and thus less memory defragmentation. Depend
on core CVS for this. Fixes bug #523806.
2008-03-22 15:00:53 +00:00
Michael Smith
15e209d20e gst-libs/gst/audio/gstringbuffer.*: Rename recently added buffer types to make more sense.
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.
2008-03-12 12:39:13 +00:00
Wim Taymans
579949e2c5 gst-libs/gst/audio/gstbaseaudiosrc.c: Fix duration when no clock was provided. Fixes #520300.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_create):
Fix duration when no clock was provided. Fixes #520300.
2008-03-10 17:19:56 +00:00
Sebastian Dröge
ec7afb6f84 Correct all relevant warnings found by the sparse semantic code analyzer. This include marking several symbols static...
Original commit message from CVS:
* ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_get_type):
* ext/alsa/gstalsasink.c: (set_hwparams):
* ext/alsa/gstalsasrc.c: (set_hwparams):
* ext/gio/gstgio.c: (gst_gio_uri_handler_get_uri):
* ext/ogg/gstoggmux.h:
* ext/ogg/gstogmparse.c:
* gst-libs/gst/audio/audio.c:
* gst-libs/gst/fft/kiss_fft_f64.c: (kiss_fft_f64_alloc):
* gst-libs/gst/pbutils/missing-plugins.c:
(gst_missing_uri_sink_message_new),
(gst_missing_element_message_new),
(gst_missing_decoder_message_new),
(gst_missing_encoder_message_new):
* gst-libs/gst/rtp/gstbasertppayload.c:
* gst-libs/gst/rtp/gstrtcpbuffer.c:
(gst_rtcp_packet_bye_get_reason):
* gst/audioconvert/gstaudioconvert.c:
* gst/audioresample/gstaudioresample.c:
* gst/ffmpegcolorspace/imgconvert.c:
* gst/playback/test.c: (gen_video_element), (gen_audio_element):
* gst/typefind/gsttypefindfunctions.c:
* gst/videoscale/vs_4tap.c:
* gst/videoscale/vs_4tap.h:
* sys/v4l/gstv4lelement.c:
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_get_any_caps):
* sys/v4l/v4l_calls.c:
* sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_capture_init),
(gst_v4lsrc_try_capture):
* sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls),
(gst_ximagesink_ximage_new):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls),
(gst_xvimagesink_xvimage_new):
* tests/check/elements/audioconvert.c:
* tests/check/elements/audioresample.c:
(fail_unless_perfect_stream):
* tests/check/elements/audiotestsrc.c: (setup_audiotestsrc):
* tests/check/elements/decodebin.c:
* tests/check/elements/gdpdepay.c: (setup_gdpdepay),
(setup_gdpdepay_streamheader):
* tests/check/elements/gdppay.c: (setup_gdppay), (GST_START_TEST),
(setup_gdppay_streamheader):
* tests/check/elements/gnomevfssink.c: (setup_gnomevfssink):
* tests/check/elements/multifdsink.c: (setup_multifdsink):
* tests/check/elements/textoverlay.c:
* tests/check/elements/videorate.c: (setup_videorate):
* tests/check/elements/videotestsrc.c: (setup_videotestsrc):
* tests/check/elements/volume.c: (setup_volume):
* tests/check/elements/vorbisdec.c: (setup_vorbisdec):
* tests/check/elements/vorbistag.c:
* tests/check/generic/clock-selection.c:
* tests/check/generic/states.c: (setup), (teardown):
* tests/check/libs/cddabasesrc.c:
* tests/check/libs/video.c:
* tests/check/pipelines/gio.c:
* tests/check/pipelines/oggmux.c:
* tests/check/pipelines/simple-launch-lines.c:
(simple_launch_lines_suite):
* tests/check/pipelines/streamheader.c:
* tests/check/pipelines/theoraenc.c:
* tests/check/pipelines/vorbisdec.c:
* tests/check/pipelines/vorbisenc.c:
* tests/examples/seek/scrubby.c:
* tests/examples/seek/seek.c: (query_positions_elems),
(query_positions_pads):
* tests/icles/stress-xoverlay.c: (myclock):
Correct all relevant warnings found by the sparse semantic code
analyzer. This include marking several symbols static, using
NULL instead of 0 for pointers and using "foo (void)" instead
of "foo ()" for declarations.
* win32/common/libgstrtp.def:
Add gst_rtp_buffer_set_extension_data to the symbol definition file.
2008-03-03 06:04:31 +00:00
Julien Moutte
f0154849b0 ext/alsa/gstalsa.c: Probe for IEC958 pcm to detect if we can do SPDIF output.
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.
2008-02-29 18:44:36 +00:00
Tim-Philipp Müller
2c538ea740 gst-libs/gst/audio/multichannel.c: Fix confusing terminology in docs and code: structure fields are 'fields' and not ...
Original commit message from CVS:
* gst-libs/gst/audio/multichannel.c:
(GST_AUDIO_CHANNEL_POSITIONS_FIELD_NAME),
(gst_audio_get_channel_positions), (gst_audio_set_channel_positions),
(gst_audio_set_structure_channel_positions_list),
(add_list_to_struct), (gst_audio_set_caps_channel_positions_list),
(gst_audio_fixate_channel_positions):
Fix confusing terminology in docs and code: structure fields are
'fields' and not 'properties'.
2008-02-19 20:42:09 +00:00
Tim-Philipp Müller
a1e59086ba gst-libs/gst/audio/multichannel.c: Give more useful warning messages if one of the channel layout enums passed to us ...
Original commit message from CVS:
* gst-libs/gst/audio/multichannel.c:
(gst_audio_check_channel_positions), (add_list_to_struct):
Give more useful warning messages if one of the channel
layout enums passed to us is invalid and if the "channels"
field in the caps has a GType we don't expect.
2008-02-19 20:36:58 +00:00
Tim-Philipp Müller
29162d0a46 gst-libs/gst/audio/multichannel.c: Fix typo in docs blurb.
Original commit message from CVS:
* gst-libs/gst/audio/multichannel.c:
Fix typo in docs blurb.
2008-02-19 20:22:09 +00:00
Sebastian Dröge
a6e4222c70 gst-libs/gst/audio/gstaudiofilter.c: Initialize the GstRingerBuffer class to get it's debug category initialized. gst...
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiofilter.c:
(gst_audio_filter_class_init):
Initialize the GstRingerBuffer class to get it's debug category
initialized. gst_ring_buffer_parse_caps() uses the ringbuffer debug
category and otherwise we get some g_critical(). Fixes bug #512334.
2008-01-29 09:47:12 +00:00
Tim-Philipp Müller
3feb4bc8c5 gst-libs/gst/audio/: Ref audio clock class from a thread-safe context to make sure however unlikely that may be in pr...
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):
Ref audio clock class from a thread-safe context to make sure
we're not bit by GObjects lack of thread-safety here (#349410),
however unlikely that may be in practice.
2008-01-10 17:55:53 +00:00
Sebastian Dröge
a000758477 gst-libs/gst/audio/gstaudiofilter.c: Don't set element details for the abstract GstAudioFilter class.
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiofilter.c: (gst_audio_filter_get_type):
Don't set element details for the abstract GstAudioFilter class.
2008-01-03 07:17:05 +00:00
Sebastian Dröge
0e5857ea26 gst-libs/gst/audio/gstaudiofilter.c: Implement get_unit_size() vmethod of GstBaseTransform.
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiofilter.c:
(gst_audio_filter_class_init), (gst_audio_filter_get_unit_size):
Implement get_unit_size() vmethod of GstBaseTransform.
2008-01-02 12:09:48 +00:00
Wim Taymans
355e8a940d gst-libs/gst/audio/gstaudiosink.c: Improve debug output.
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiosink.c: (audioringbuffer_thread_func),
(gst_audioringbuffer_open_device),
(gst_audioringbuffer_close_device), (gst_audioringbuffer_acquire),
(gst_audioringbuffer_release), (gst_audioringbuffer_start),
(gst_audioringbuffer_pause), (gst_audioringbuffer_stop),
(gst_audio_sink_create_ringbuffer):
Improve debug output.
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_start),
(gst_ring_buffer_pause), (gst_ring_buffer_delay):
Prevent some functions from doing things and failing when the
ringbuffer is not yet acquired.
2007-12-18 15:56:51 +00:00
Wim Taymans
2ea251a366 gst-libs/gst/audio/gstbaseaudiosrc.c: Add debug info.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_create), (gst_base_audio_src_change_state):
Add debug info.
When going from PLAYING to PAUSED, pause the ringbuffer before calling
the parent state change function, just like the audiosink, because the
parent waits for the element to finish its processing before completing
the state change. This makes going to PAUSED a lot snappier.
When going from READY to PAUSED, don't allow the ringbuffer to start
yet.
2007-12-17 16:44:51 +00:00
Wim Taymans
ac1cc82165 gst-libs/gst/audio/gstbaseaudiosink.c: Our EOS time contains the base_time, _wait_eos() expects a running_time so we ...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_drain):
Our EOS time contains the base_time, _wait_eos() expects a running_time
so we have to subtract the base_time again before calling the function.
This fixes an EOS regression where the base_time was added twice and EOS
took longer and longer in certain situations.
Fixes #498767.
2007-11-21 18:02:21 +00:00
Wim Taymans
157a65b15e Expose methods for some object properties so that subclasses can more easily configure them.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/audio/gstbaseaudiosink.c: (slave_method_get_type),
(gst_base_audio_sink_set_provide_clock),
(gst_base_audio_sink_get_provide_clock),
(gst_base_audio_sink_set_slave_method),
(gst_base_audio_sink_get_slave_method),
(gst_base_audio_sink_set_property),
(gst_base_audio_sink_get_property), (gst_base_audio_sink_drain),
(gst_base_audio_sink_none_slaving),
(gst_base_audio_sink_handle_slaving):
* gst-libs/gst/audio/gstbaseaudiosink.h:
Expose methods for some object properties so that subclasses can more
easily configure them.
Added slave method none, that completely disables slaving to the
internal clock.
API: gst_base_audio_sink_set_provide_clock()
API: gst_base_audio_sink_get_provide_clock()
API: gst_base_audio_sink_set_slave_method()
API: gst_base_audio_sink_get_slave_method()
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_set_provide_clock),
(gst_base_audio_src_get_provide_clock),
(gst_base_audio_src_set_property),
(gst_base_audio_src_get_property), (gst_base_audio_src_create):
* gst-libs/gst/audio/gstbaseaudiosrc.h:
Expose methods for some object properties so that subclasses can more
easily configure them.
API: gst_base_audio_src_set_provide_clock()
API: gst_base_audio_src_get_provide_clock()
2007-11-21 13:04:17 +00:00
Ole André Vadla Ravnås
05a205860d gst-libs/gst/audio/gstringbuffer.c: Return NULL instead of an enum that happens to be 0, fixes warning on MSVC (#4921...
Original commit message from CVS:
Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
* gst-libs/gst/audio/gstringbuffer.c: (build_linear_format),
(gst_ring_buffer_parse_caps):
Return NULL instead of an enum that happens to be 0, fixes warning
on MSVC (#492114).
* gst-libs/gst/audio/gstringbuffer.h:
No trailing commas in enum list (for gcc-2.9x).
* gst/videotestsrc/videotestsrc.c: (random_char):
Make information loss explicit instead of implicitly truncating to
eight bits via the return value.  Fixes runtime error on MSVC when
using the debug CRT (#492114).
* win32/common/config.h.in:
Fix a bunch of '#undef FOO bar', which MSVC doesn't like (#492114).
* win32/common/libgstinterfaces.def:
* win32/common/libgstrtp.def:
Export a few more symbols (#492114).
2007-11-01 12:51:57 +00:00
Stefan Kost
28b46c1e5d gst-libs/gst/audio/audio.*: Readd the deprecation guards, but preserve compilability.
Original commit message from CVS:
* gst-libs/gst/audio/audio.c:
* gst-libs/gst/audio/audio.h:
Readd the deprecation guards, but preserve compilability.
2007-11-01 08:06:13 +00:00
Tim-Philipp Müller
55a3eaafea gst-libs/gst/audio/audio.h: Don't guard deprecated enum with #ifndef DISABLE_DEPRECATED, or compilation with DISABLE_...
Original commit message from CVS:
* gst-libs/gst/audio/audio.h:
Don't guard deprecated enum with #ifndef DISABLE_DEPRECATED, or
compilation with DISABLE_DEPRECATED and without REMOVE_DEPRECATED
(ie. normal cvs builds) will fail.
2007-10-31 15:30:15 +00:00
Stefan Kost
e37568c196 tell gtk-doc about the deprecation guard. Apply more doc fixes.
Original commit message from CVS:
* docs/libs/Makefile.am:
* gst-libs/gst/audio/audio.c:
* gst-libs/gst/audio/audio.h:
* gst-libs/gst/interfaces/mixer.c:
tell gtk-doc about the deprecation guard. Apply more doc fixes.
2007-10-31 12:47:41 +00:00
Stefan Kost
ffa52e2eac Fix the docs according to what gtk-doc complained about.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/audio/gstaudiofilter.h:
* gst-libs/gst/interfaces/mixer.h:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
* gst-libs/gst/rtp/gstbasertpdepayload.h:
* gst-libs/gst/sdp/gstsdpmessage.c:
Fix the docs according to what gtk-doc complained about.
2007-10-30 20:32:14 +00:00
Wim Taymans
6a20747e83 gst-libs/gst/audio/gstbaseaudiosink.c: Also explicitly release the ringbuffer when going to NULL because it is requir...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_drain), (gst_base_audio_sink_change_state):
Also explicitly release the ringbuffer when going to NULL because it
is required in the setcaps function, before the state change to PAUSED
completes.
2007-10-16 15:33:31 +00:00
Wim Taymans
02f280a9a0 gst-libs/gst/audio/gstbaseaudiosink.c: Use new basesink method to make our EOS drain interruptable.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_drain):
Use new basesink method to make our EOS drain interruptable.
2007-10-10 15:36:56 +00:00
Wim Taymans
c3dda05a8b gst-libs/gst/audio/gstbaseaudiosrc.c: Also handle the case where there is no clock set on the audio source, like in t...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_create):
Also handle the case where there is no clock set on the audio source,
like in the unit tests.
2007-10-08 18:02:53 +00:00
Wim Taymans
5ba1ed3a21 gst-libs/gst/audio/gstbaseaudiosink.c: When slaved to the clock, don't try to align a sample with the previous one wh...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_async_play):
When slaved to the clock, don't try to align a sample with the previous
one when going to PLAYING again.
2007-10-02 11:11:13 +00:00
Jan Schmidt
d5996e9c37 Fix a bunch of compile warnings shown with Forte.
Original commit message from CVS:
* ext/pango/gsttextoverlay.c: (gst_text_overlay_init),
(gst_text_overlay_set_property):
* ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet):
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
* gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_ntp_to_unix),
(gst_rtcp_unix_to_ntp):
* gst-libs/gst/rtsp/gstrtspmessage.c: (gst_rtsp_message_get_type):
* gst/playback/gstqueue2.c:
* tests/examples/seek/seek.c: (set_scale):
Fix a bunch of compile warnings shown with Forte.
* gst/audiorate/gstaudiorate.c:
Always pull in config.h before including any system headers.
2007-09-17 17:24:55 +00:00
Wim Taymans
4764e6044f gst-libs/gst/audio/gstbaseaudiosink.c: Disable pull mode scheduling, we're not ready for it yet and it subtly breaks ...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_init):
Disable pull mode scheduling, we're not ready for it yet and it subtly
breaks a lot of things.
2007-09-13 22:52:09 +00:00
Wim Taymans
c942252430 gst-libs/gst/audio/gstbaseaudiosrc.*: Allow othe clocks than the internal clock to be used for the pipeline.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_class_init), (gst_base_audio_src_init),
(gst_base_audio_src_provide_clock),
(gst_base_audio_src_set_property),
(gst_base_audio_src_get_property), (gst_base_audio_src_create):
* gst-libs/gst/audio/gstbaseaudiosrc.h:
Allow othe clocks than the internal clock to be used for the pipeline.
Add property to disable clock provide.
API: GstBaseAudioSrc::provide-clock
2007-09-10 22:10:54 +00:00
Wim Taymans
c2460052b3 gst-libs/gst/audio/gstbaseaudiosink.c: When skew slaving, try to hover around the middle of a segment so that we at m...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_skew_slaving), (gst_base_audio_sink_render),
(gst_base_audio_sink_change_state):
When skew slaving, try to hover around the middle of a segment so that
we at most drift by half a segment.
If we are aligning in the oposite direction of the clock skew, we don't
have to resync.
2007-09-03 19:17:33 +00:00
Stefan Kost
a5e777fac3 Original commit message from CVS:
reviewed by: <delete if not using a buddy>
patch by: <delete if not someone else's patch>
* configure.ac:
* docs/libs/Makefile.am:
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
* ext/gnomevfs/gstgnomevfssrc.c:
* ext/gnomevfs/gstgnomevfssrc.h:
* gst-libs/gst/Makefile.am:
* gst-libs/gst/audio/gstaudiofilter.h:
* gst/typefind/gsttypefindfunctions.c:
* gst/volume/gstvolume.c:
* pkgconfig/gstreamer-plugins-base-uninstalled.pc.in:
* pkgconfig/gstreamer-plugins-base.pc.in:
* sys/v4l/v4lsrc_calls.c:
* tests/examples/Makefile.am:
* win32/common/config.h:
2007-08-23 08:33:43 +00:00
Wim Taymans
478a6592de gst-libs/gst/audio/audio.c: Clarify the docs a little.
Original commit message from CVS:
* gst-libs/gst/audio/audio.c:
Clarify the docs a little.
2007-08-22 15:29:04 +00:00
Sebastian Dröge
846ddaa550 gst-libs/gst/audio/audio.h: Use gst_util_uint64_scale() instead of doing the math with double for GST_FRAMES_TO_CLOCK...
Original commit message from CVS:
* gst-libs/gst/audio/audio.h:
Use gst_util_uint64_scale() instead of doing the math
with double for GST_FRAMES_TO_CLOCK_TIME() and
GST_CLOCK_TIME_TO_FRAMES(). For large timestamps this
prevents rounding errors. Fixes #467667.
2007-08-17 15:24:43 +00:00
Jan Schmidt
d5dc054ea3 gst-libs/gst/audio/audio.c: When clipping a buffer with no timestamp, assume it is within the segment without warnings.
Original commit message from CVS:
* gst-libs/gst/audio/audio.c:
When clipping a buffer with no timestamp, assume it is
within the segment without warnings.
Fixes: #460978
2007-07-27 17:10:47 +00:00
Sebastian Dröge
6be2524031 API: Add buffer clipping function for raw audio buffers. Fixes #456656.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/audio/audio.c: (gst_audio_buffer_clip):
* gst-libs/gst/audio/audio.h:
* tests/check/libs/audio.c: (GST_START_TEST), (audio_suite):
API: Add buffer clipping function for raw audio buffers. Fixes #456656.
Also add deprecation guards for gst_audio_structure_set_int() to the
header.
2007-07-23 18:26:09 +00:00
Tim-Philipp Müller
8a499651b9 gst-libs/gst/audio/gstbaseaudiosink.c: Quick hack to make audiosinks stop at EOS when operating in pull-mode; needs t...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_callback):
Quick hack to make audiosinks stop at EOS when operating in
pull-mode; needs to be fixed properly some day.
2007-07-08 13:07:38 +00:00
Andy Wingo
ae6fd1b3f2 gst-libs/gst/audio/gstbaseaudiosink.c
Original commit message from CVS:
2007-06-19  Andy Wingo  <wingo@pobox.com>

* gst-libs/gst/audio/gstbaseaudiosink.c
(gst_base_audio_sink_init): Enable pull-mode operation.
2007-06-19 19:13:04 +00:00
Wim Taymans
b2fdf703c9 gst-libs/gst/audio/gstbaseaudiosink.c: After an interrupt (PAUSED/flush) assume that the next sample should not be al...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
After an interrupt (PAUSED/flush) assume that the next sample should not
be aligned to the previous sample. Fixes #417992.
2007-05-24 16:22:23 +00:00
Wim Taymans
9b188adc27 Small cleanups.
Original commit message from CVS:
* ext/cdparanoia/gstcdparanoiasrc.c:
(gst_cd_paranoia_src_read_sector):
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_create):
Small cleanups.
* ext/theora/theoradec.c: (theora_dec_sink_event):
Fix typo.
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_set_gst_timestamp):
Add some FIXME
* gst/playback/gstdecodebin.c: (queue_underrun_cb):
And some debug info when a FIXME path is hit.
2007-05-21 10:25:44 +00:00
Stefan Kost
e7c3ddf3fc gst-libs/gst/audio/gstbaseaudiosink.c
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c
(gst_base_audio_sink_change_state):
Fix typo in comment.
* gst/playback/gstdecodebin.c (gst_decode_bin_class_init,
free_dynamics, pad_probe, close_pad_link, try_to_link_1,
get_our_ghost_pad, remove_element_chain, queue_underrun_cb,
close_link):
* gst/playback/gstplaybin.c (gst_play_bin_set_property,
gen_audio_element, remove_sinks, gst_play_bin_send_event_to_sink):
Remove trailing whitespaces in comments.
* gst/volume/Makefile.am:
Fix tabs.
2007-05-18 15:23:43 +00:00
Tim-Philipp Müller
9e873a3c83 When posting a warning message because samples were dropped, post something more intelligible than he default error m...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c: (_do_init),
(gst_base_audio_src_create):
* po/POTFILES.in:
When posting a warning message because samples were dropped, post
something more intelligible than he default error message for clock
errors which is just confusing in this context (#432984).
2007-04-25 08:54:34 +00:00
Wim Taymans
b802dea831 gst-libs/gst/audio/gstbaseaudiosink.c: Don't try to create invalid calibration parameters by making the internal time...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_skew_slaving):
Don't try to create invalid calibration parameters by making the
internal time go backwards, instead make external time go forward.
2007-04-05 15:44:40 +00:00
Wim Taymans
450030ebaf gst-libs/gst/audio/gstbaseaudiosink.*: Store private stuff in GstBaseAudioSinkPrivate.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c: (slave_method_get_type),
(gst_base_audio_sink_class_init), (gst_base_audio_sink_init),
(gst_base_audio_sink_query), (gst_base_audio_sink_get_time),
(gst_base_audio_sink_set_property),
(gst_base_audio_sink_get_property), (gst_base_audio_sink_event),
(clock_convert_external), (gst_base_audio_sink_resample_slaving),
(gst_base_audio_sink_skew_slaving),
(gst_base_audio_sink_handle_slaving), (gst_base_audio_sink_render),
(gst_base_audio_sink_async_play):
* gst-libs/gst/audio/gstbaseaudiosink.h:
Store private stuff in GstBaseAudioSinkPrivate.
Add configurable clock slaving modes property.
API:: GstBaseAudioSink::slave-method property
Some more latency reporting tweaks.
Added skew based clock slaving correction and make it the default until
the resampling method is more robust.
2007-03-28 14:50:47 +00:00
Sébastien Moutte
1596dd263c gst-libs/gst/audio/gstbaseaudiosink.c: Use gst_guint64_to_gdouble for conversion.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:(gst_base_audio_sink_render):
Use gst_guint64_to_gdouble for conversion.
* win32/MANIFEST:
Add new files to the win32 MANIFEST.
* win32/common/libgstaudio.def:
* win32/common/libgstpbutils.def:
Add new exported functions.
* win32/vs6/gst_plugins_base.dsw:
* win32/vs6/libgstdecodebin.dsp:
* win32/vs6/libgstplaybin.dsp:
Change the link to libgstpbutils.lib.
* win32/vs6/libgstdecodebin2.dsp:
Add a new project for decodebin2.
* win32/vs6/libgstpbutils.dsp:
Add a new project for pbutils.
2007-03-10 15:59:33 +00:00
Wim Taymans
a2a8b1b8ce gst-libs/gst/audio/gstbaseaudiosink.c: Fix regression that made GStreamer skip the first samples of audio.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_async_play):
Fix regression that made GStreamer skip the first samples of audio.
Fixes #414684.
2007-03-06 12:10:08 +00:00
Wim Taymans
5ee0a694a6 gst-libs/gst/audio/gstbaseaudiosink.c: base time is irrelevant here.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_async_play):
base time is irrelevant here.
2007-03-01 17:29:55 +00:00
Wim Taymans
85c7eeecc3 gst-libs/gst/audio/: Improve debugging.
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiosink.c: (audioringbuffer_thread_func):
* gst-libs/gst/audio/gstaudiosrc.c: (audioringbuffer_thread_func):
Improve debugging.
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_query), (gst_base_audio_sink_event),
(gst_base_audio_sink_render), (gst_base_audio_sink_async_play):
Improve latency and clock slaving calculations.
Improve slave clock calibration.
* gst-libs/gst/audio/gstringbuffer.c:
(gst_ring_buffer_commit_full):
When we are asked to render N sample to 0 bytes, return N.
2007-03-01 17:01:43 +00:00
Wim Taymans
3c94c06c5a gst-libs/gst/audio/gstaudioclock.c: Fix clock name.
Original commit message from CVS:
* gst-libs/gst/audio/gstaudioclock.c: (gst_audio_clock_init),
(gst_audio_clock_new):
Fix clock name.
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_init), (gst_base_audio_sink_query):
* gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_init),
(gst_base_audio_src_query), (gst_base_audio_src_get_offset),
(gst_base_audio_src_create):
Improve latency query code.
Use proper clock names.
2007-02-28 15:02:25 +00:00
Andy Wingo
d9b6796d91 gst-libs/gst/audio/gstbaseaudiosink.c
Original commit message from CVS:
2007-02-22  Andy Wingo  <wingo@pobox.com>

* gst-libs/gst/audio/gstbaseaudiosink.c
(gst_base_audio_sink_init): Disable pull-mode activation until we
figure out how to make audio sinks go to PLAYING.
2007-02-22 11:04:10 +00:00
Tim-Philipp Müller
2f45e10c73 gst-libs/gst/audio/audio.c: Fix documentation.
Original commit message from CVS:
* gst-libs/gst/audio/audio.c:
Fix documentation.
2007-02-16 10:19:45 +00:00
Stefan Kost
b2f9c0f289 More docs coverage and some ChangeLog surgery (add missing names)
Original commit message from CVS:
* ext/cdparanoia/gstcdparanoiasrc.h:
* ext/ogg/gstoggdemux.h:
* gst-libs/gst/audio/audio.c: (gst_audio_frame_byte_size),
(gst_audio_frame_length), (gst_audio_duration_from_pad_buffer),
(gst_audio_is_buffer_framed), (gst_audio_structure_set_int):
* gst-libs/gst/audio/audio.h:
* gst-libs/gst/audio/gstaudiofilter.h:
* gst-libs/gst/interfaces/videoorientation.h:
* gst/adder/gstadder.h:
More docs coverage and some ChangeLog surgery (add missing names)
2007-02-15 15:17:23 +00:00
Wim Taymans
a43d0f57eb gst-libs/gst/audio/gstbaseaudiosink.c: Answer latency query.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_class_init), (gst_base_audio_sink_query),
(gst_base_audio_sink_render), (gst_base_audio_sink_callback),
(gst_base_audio_sink_async_play),
(gst_base_audio_sink_change_state):
Answer latency query.
Use configured latency when syncing.
Fix clock slaving.
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_class_init), (gst_base_audio_src_dispose),
(gst_base_audio_src_query), (gst_base_audio_src_change_state):
Fix possible memleak.
Implement latency query.
Small cleanups.
2007-02-15 12:06:25 +00:00
Stefan Kost
7ee1b714f0 Add crossreferences to glib/gobject/gstream docs.
Original commit message from CVS:
* configure.ac:
* docs/libs/Makefile.am:
* docs/plugins/Makefile.am:
Add crossreferences to glib/gobject/gstream docs.
* gst-libs/gst/audio/audio.h:
Source formatting.
* gst/audiotestsrc/gstaudiotestsrc.c: (plugin_init):
Add own debug category.
2007-02-12 20:42:23 +00:00
Tim-Philipp Müller
5b499dec66 gst-libs/gst/audio/gstaudiofilter.c: Clear our formats structure and free the caps contained in it when shutting down.
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiofilter.c:
(gst_audio_filter_class_init), (gst_audio_filter_change_state):
Clear our formats structure and free the caps contained in it when
shutting down.
2007-02-06 09:42:05 +00:00
Andy Wingo
451ff2f992 gst-libs/gst/audio/gstbaseaudiosink.c
Original commit message from CVS:
2007-02-05  Andy Wingo  <wingo@pobox.com>

* gst-libs/gst/audio/gstbaseaudiosink.c
(gst_base_audio_sink_callback): Update basesink->offset so that we
pull monotonically increasing offsets instead of, um, seeking back
to 0 each time. Fixes alsasrc ! alsasink!
2007-02-05 18:39:51 +00:00
Tim-Philipp Müller
2594880e87 gst-libs/gst/audio/: Oops, forgot to commit fixed-up example.
Original commit message from CVS:
* gst-libs/gst/audio/Makefile.am:
* gst-libs/gst/audio/gstaudiofiltertemplate.c:
(gst_audio_filter_template_base_init),
(gst_audio_filter_template_class_init),
(gst_audio_filter_template_init),
(gst_audio_filter_template_set_property),
(gst_audio_filter_template_get_property),
(gst_audio_filter_template_setup),
(gst_audio_filter_template_filter),
(gst_audio_filter_template_filter_inplace), (plugin_init):
Oops, forgot to commit fixed-up example.
2007-02-03 23:28:45 +00:00
Tim-Philipp Müller
b63fff63d4 Port GstAudioFilter to 0.10. This change technically breaks but seems justifiable on the grounds that the base class ...
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/audio/gstaudiofilter.c: (gst_audio_filter_get_type),
(gst_audio_filter_class_init), (gst_audio_filter_init),
(gst_audio_filter_set_caps),
(gst_audio_filter_class_add_pad_templates):
* gst-libs/gst/audio/gstaudiofilter.h:
Port GstAudioFilter to 0.10. This change technically breaks
API and ABI (and thus also every library developer's heart),
but seems justifiable on the grounds that the base class was
completely unusable before (ie. would crash immediately when
actually used). Fixes #403963 (and eventually also #403572).
Also document all of this a bit.
2007-02-03 20:19:35 +00:00
Andy Wingo
d853b23819 gst-libs/gst/audio/gstbaseaudiosink.c
Original commit message from CVS:
2007-01-12  Andy Wingo  <wingo@pobox.com>

* gst-libs/gst/audio/gstbaseaudiosink.c
(gst_base_audio_sink_fixate): Implement, stolen from baseaudiosrc.
(gst_base_audio_sink_activate_pull): Remove the handwavey nego
stuff, as the base class handles this now. Actually tell the ring
buffer to start.
(gst_base_audio_sink_callback): Cast the ring buffer correctly.
How did this work before? Maybe I'm not as awesome a programmer as
I think.

* gst-libs/gst/audio/gstbaseaudiosrc.c
(gst_base_audio_src_fixate): Rework as a basesrc vmethod instead
of a pad function.
2007-01-12 21:19:35 +00:00
Tim-Philipp Müller
ddf40c2406 gst-libs/gst/audio/mixerutils.h: Add G_BEGIN_DECLS and G_END_DECLS guards so these helpers can be used when compiling...
Original commit message from CVS:
* gst-libs/gst/audio/mixerutils.h:
Add G_BEGIN_DECLS and G_END_DECLS guards so these helpers can be
used when compiling with c++ compilers as well.
2007-01-12 12:47:29 +00:00
Wim Taymans
62ef7da73b Small documentation updates/fixes
Original commit message from CVS:
* ext/theora/theoradec.c:
* ext/vorbis/vorbisdec.c:
* gst-libs/gst/audio/gstringbuffer.c:
(gst_ring_buffer_commit_full):
* gst-libs/gst/audio/gstringbuffer.h:
* gst-libs/gst/rtp/gstrtpbuffer.c:
* gst-libs/gst/tag/gstvorbistag.c:
Small documentation updates/fixes
2007-01-09 11:15:57 +00:00
Andy Wingo
85aee8e273 gst-libs/gst/audio/gstbaseaudiosink.c (gst_base_audio_sink_class_init)
Original commit message from CVS:
2007-01-06  Andy Wingo  <wingo@pobox.com>

* gst-libs/gst/audio/gstbaseaudiosink.c
(gst_base_audio_sink_class_init)
(gst_base_audio_sink_init):
(gst_base_audio_sink_activate_pull): Add an activate_pull function
to baseaudiosink, and tell basesink that we can work in pull mode.
This way the ring buffer thread drives the pipeline directly, if
pull mode is possible. There is some lingering nastiness regarding
capsnego, however.
(gst_base_audio_sink_callback): Implement the callback to pull
data. This interface is a bit light, though -- it should get a
GstFlowReturn return value at least.
2007-01-06 17:28:40 +00:00
Thomas Vander Stichele
95ada43982 configure.ac: split out GST_CFLAGS into GST_PLUGINS_BASE_CFLAGS and GST_CFLAGS so that GST_BASE_CFLAGS can go inbetwe...
Original commit message from CVS:
* configure.ac:
split out GST_CFLAGS into GST_PLUGINS_BASE_CFLAGS and GST_CFLAGS
so that GST_BASE_CFLAGS can go inbetween them, making sure
we use uninstalled gst-libs headers
* docs/libs/Makefile.am:
* ext/alsa/Makefile.am:
* ext/cdparanoia/Makefile.am:
* ext/gnomevfs/Makefile.am:
* ext/libvisual/Makefile.am:
* ext/ogg/Makefile.am:
* ext/theora/Makefile.am:
* ext/vorbis/Makefile.am:
* gst-libs/gst/audio/Makefile.am:
* gst-libs/gst/cdda/Makefile.am:
* gst-libs/gst/interfaces/Makefile.am:
* gst-libs/gst/riff/Makefile.am:
* gst-libs/gst/rtp/Makefile.am:
* gst-libs/gst/tag/Makefile.am:
* gst/adder/Makefile.am:
* gst/audioconvert/Makefile.am:
* gst/audiorate/Makefile.am:
* gst/audioresample/Makefile.am:
* gst/playback/Makefile.am:
* gst/tcp/Makefile.am:
* gst/videoscale/Makefile.am:
* gst/volume/Makefile.am:
* sys/ximage/Makefile.am:
* sys/xvimage/Makefile.am:
* tests/icles/Makefile.am:
adapt
2007-01-04 12:49:48 +00:00
Wim Taymans
0990cbf274 gst-libs/gst/audio/gstbaseaudiosink.*: Make the clock sync code more accurate wrt resampling and playback at differen...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_event), (gst_base_audio_sink_render):
* gst-libs/gst/audio/gstbaseaudiosink.h:
Make the clock sync code more accurate wrt resampling and playback
at different rates.
* gst-libs/gst/audio/gstringbuffer.c:
(gst_ring_buffer_commit_full), (gst_ring_buffer_commit):
* gst-libs/gst/audio/gstringbuffer.h:
Use better algorithm to interpolate sample rates.
2006-11-13 17:30:17 +00:00
Tim-Philipp Müller
7298ebaa61 gst-libs/gst/audio/: Use g_strerror instead of strerror so we get UTF-8.
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiosink.c: (audioringbuffer_thread_func):
* gst-libs/gst/audio/gstaudiosrc.c: (audioringbuffer_thread_func):
Use g_strerror instead of strerror so we get UTF-8.
2006-11-06 18:24:59 +00:00
Wim Taymans
1166abbc99 gst-libs/gst/audio/gstbaseaudiosink.*: Extract rate from the NEWSEGMENT event.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_event), (gst_base_audio_sink_render):
* gst-libs/gst/audio/gstbaseaudiosink.h:
Extract rate from the NEWSEGMENT event.
Use commit_full to also take rate adjustment into account when writing
samples to the ringbuffer.
* gst-libs/gst/audio/gstringbuffer.c:
(gst_ring_buffer_commit_full), (gst_ring_buffer_commit),
(gst_ring_buffer_read):
* gst-libs/gst/audio/gstringbuffer.h:
Added _commit_full() to also take rate into account.
Use simple interpolation algorithm to resample audio.
API: gst_ring_buffer_commit_full()
* tests/examples/seek/scrubby.c: (speed_cb), (do_seek):
* tests/examples/seek/seek.c: (segment_done):
Don't try to seek with 0.0 rate, just pause instead.
Remove bogus debug line.
2006-10-18 13:42:49 +00:00
Ville Syrjala
9b139e41fb gst-libs/gst/audio/gstbaseaudiosink.c: Don't crash when ringbuffer is not yet created.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_setcaps):
Don't crash when ringbuffer is not yet created.
Patch by: Ville Syrjala <ville dot syrjala at movial dot fi>
Fixes #361634.
* gst/playback/gstplaybasebin.c: (new_decoded_pad_full):
* gst/playback/gststreamselector.c:
(gst_stream_selector_request_new_pad):
Activate pads befre adding them to running elements.
2006-10-13 14:15:42 +00:00
Josep Torre Valles
4de10dacb6 ext/gnomevfs/: Fix URI interface implementation return type.
Original commit message from CVS:
2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

Patch by: Josep Torre Valles <josep@fluendo.com>

* ext/gnomevfs/gstgnomevfssink.c:
* ext/gnomevfs/gstgnomevfssrc.c:
Fix URI interface implementation return type.
* ext/pango/gsttextoverlay.c: (gst_text_overlay_set_property):
Fix what looks like a copy/paste issue when assigning values.
* gst-libs/gst/audio/gstaudiofiltertemplate.c:
(gst_audio_filter_template_get_type):
Cast to prevent Forte warnings.
* gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_create):
Fix URI interface implementation return type.
gst_pad_query_position requires a signed integer pointer as
3rd parameter, GstClockTime is unsigned.
* gst/audioconvert/audioconvert.c:
Fix integer overflow when treated as signed.
* gst/audioresample/resample.c: (resample_add_input_data):
Cast to prevent warnings on Forte.
* gst/ffmpegcolorspace/imgconvert.c: (build_rgb_palette):
Fix integer overflow when treated as signed.
* gst/ffmpegcolorspace/imgconvert_template.h:
Fix integer overflow when treated as signed. RGBA_OUT shifts bits.
* gst/playback/gstdecodebin.c: (queue_filled_cb),
(cleanup_decodebin):
Who initialises a guint to -1!
Cast function pointers to prevent warnings on Forte.
* gst/playback/gstplaybasebin.c: (queue_deadlock_check),
(queue_threshold_reached):
Cast function pointers correctly to prevent warnings on Forte.
* gst/playback/gststreaminfo.c: (gst_stream_info_dispose):
Cast function pointers correctly to prevent warnings on Forte.
* gst/subparse/gstssaparse.c: (gst_ssa_parse_setcaps):
Obvious change to unsigned, 0xEF > max signed char.
* gst/tcp/gstmultifdsink.c: (get_buffers_max), (count_burst_unit):
GstClockTime is unsigned, initialise correctly.
* gst/tcp/gsttcp.c: (gst_tcp_socket_write):
Cast so pointer arithemetic doesn't cause warnings on Forte.
* gst/videorate/gstvideorate.c:
Use correct return value.
* tests/examples/seek/scrubby.c:
GstClockTime is unsigned, initialise correctly.
2006-10-10 12:49:03 +00:00
Tim-Philipp Müller
9e107d670a Printf format fixes.
Original commit message from CVS:
* ext/alsa/gstalsadeviceprobe.c:
(gst_alsa_device_property_probe_get_values):
* ext/alsa/gstalsasink.c: (set_hwparams):
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_chain_elem_pad),
(gst_ogg_chain_new_stream), (gst_ogg_demux_read_chain):
* ext/ogg/gstoggmux.c: (gst_ogg_mux_send_headers),
(gst_ogg_mux_process_best_pad):
* ext/ogg/gstoggparse.c: (gst_ogg_parse_new_stream),
(gst_ogg_parse_chain):
* ext/ogg/gstogmparse.c: (gst_ogm_parse_stream_header):
* ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet):
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_setup),
(gst_vorbis_enc_buffer_check_discontinuous):
* ext/vorbis/vorbisparse.c: (vorbis_parse_src_query):
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
* gst-libs/gst/cdda/gstcddabasesrc.c:
(gst_cdda_base_src_handle_track_seek):
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_push_full):
* gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_push):
* gst/audioresample/resample.c: (resample_input_pushthrough):
* gst/playback/gstplaybasebin.c: (queue_out_of_data):
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_handle_clients):
* gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset),
(wavpack_type_find):
* gst/videotestsrc/gstvideotestsrc.c: (gst_video_test_src_create):
* sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy),
(gst_xvimagesink_check_xshm_calls), (gst_xvimagesink_xvimage_new):
* tests/check/elements/volume.c: (GST_START_TEST):
Printf format fixes.
2006-10-05 15:55:21 +00:00
Wim Taymans
9945d7a468 gst-libs/gst/audio/gstbaseaudiosink.c: When we have a timestamp, we can still perform clipping.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
When we have a timestamp, we can still perform clipping.
When we have no clock, we must play the sample ASAP.
2006-09-28 15:08:15 +00:00
Wim Taymans
1980f16731 gst-libs/gst/audio/gstbaseaudiosink.c: Add some more info in a WARNING.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
Add some more info in a WARNING.
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_create):
Handle PAUSE in create function, use new -core addition to
wait for playing. Fixes pausing and resuming capture from an
audiosrc.
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_commit),
(gst_ring_buffer_read):
Constify some more.
Caller supports interrupted reads now.
2006-09-27 13:52:14 +00:00
Wim Taymans
7367722509 Added docs for the audio libs.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/audio/gstaudioclock.c:
* gst-libs/gst/audio/gstaudioclock.h:
* gst-libs/gst/audio/gstaudiosink.c:
* gst-libs/gst/audio/gstaudiosink.h:
* gst-libs/gst/audio/gstaudiosrc.c:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
* gst-libs/gst/audio/gstbaseaudiosink.h:
* gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_init):
* gst-libs/gst/audio/gstbaseaudiosrc.h:
* gst-libs/gst/audio/gstringbuffer.h:
Added docs for the audio libs.
2006-09-27 11:05:08 +00:00
Wim Taymans
59b7c3104f gst-libs/gst/audio/gstringbuffer.c: Early morning compilation fix.
Original commit message from CVS:
* gst-libs/gst/audio/gstringbuffer.c:
(gst_ring_buffer_samples_done), (gst_ring_buffer_commit),
(gst_ring_buffer_read):
Early morning compilation fix.
2006-09-21 05:12:18 +00:00
Stefan Kost
267a068e70 ext/gnomevfs/gstgnomevfssrc.c: Add docs about icydemux usage in connection with gnomevfssrc
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssrc.c:
Add docs about icydemux usage in connection with gnomevfssrc
* ext/libvisual/visual.c:
* ext/ogg/gstoggaviparse.c:
* ext/ogg/gstoggdemux.c:
* ext/ogg/gstoggmux.c:
* ext/ogg/gstoggparse.c:
* gst-libs/gst/audio/gstaudiofiltertemplate.c:
* gst-libs/gst/audio/gstaudiosink.c:
* gst-libs/gst/audio/gstaudiosrc.c:
* gst/audiorate/gstaudiorate.c:
More G_OBJECT macro fixing.
* gst/audiotestsrc/gstaudiotestsrc.h:
Fix wrong info in header due to copy & paste
2006-09-16 21:54:48 +00:00
Wim Taymans
65b1938b38 gst-libs/gst/audio/: Do the delay calculation in the source/sink base classes as this is specific for the capture/pla...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_get_time), (gst_base_audio_sink_callback):
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_get_time), (gst_base_audio_src_fixate),
(gst_base_audio_src_get_times), (gst_base_audio_src_get_offset),
(gst_base_audio_src_create), (gst_base_audio_src_change_state):
Do the delay calculation in the source/sink base classes as this is
specific for the capture/playback mode.
Try to fixate a bit better, like round depth up to a multiple of 8
bigger than width.
Handle underruns correctly by marking DISCONT on buffers and adjusting
timestamps to handle the gap.
Set offset/offset_end correctly on buffers.
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_pause),
(gst_ring_buffer_samples_done), (gst_ring_buffer_commit),
(gst_ring_buffer_read):
Remove resync and underrun recovery from the ringbuffer.
Fix ringbuffer read code on under/overrun.
2006-09-15 14:53:44 +00:00
Wim Taymans
557b367295 configure.ac: We require 0.10.10.1 now because of _wait_preroll().
Original commit message from CVS:
* configure.ac:
We require 0.10.10.1 now because of _wait_preroll().
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
Use gst_base_sink_wait_preroll().
2006-09-15 09:13:50 +00:00
Tim-Philipp Müller
ea41bfefd7 ext/alsa/: Add support for cards that (only) do more than 8 channels, like the Delta 44 (#345188).
Original commit message from CVS:
* ext/alsa/gstalsa.c: (caps_add_channel_configuration),
(gst_alsa_detect_channels):
* ext/alsa/gstalsasink.c:
Add support for cards that (only) do more than 8 channels,
like the Delta 44 (#345188).
* gst-libs/gst/audio/multichannel.c:
(gst_audio_check_channel_positions):
* gst-libs/gst/audio/multichannel.h:
API: add GST_AUDIO_CHANNEL_POSITION_NONE, which stands for an
unspecified channel position and cannot be combined with any
of the other audio channel positions; adjust position layout
checks accordingly (#345188).
2006-08-03 14:16:06 +00:00
Wim Taymans
d5a10b05c2 gst-libs/gst/audio/gstbaseaudiosink.c: Don't try to align a sample to an unknown value.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
Don't try to align a sample to an unknown value.
2006-07-24 16:47:10 +00:00
Wim Taymans
f3ae89426a gst-libs/gst/audio/gstbaseaudiosink.c: When the audio clock is slaved to another clock, never try to align samples bu...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_provide_clock), (gst_base_audio_sink_render):
When the audio clock is slaved to another clock, never try to align
samples but trust the rate interpolation algorithm.
2006-07-24 15:14:17 +00:00
Wim Taymans
19cd03c607 ext/alsa/gstalsasink.c: Don't try to calculate silence samples, base class does this much better now.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (set_hwparams), (gst_alsasink_prepare):
Don't try to calculate silence samples, base class does this much
better now.
* gst-libs/gst/audio/gstringbuffer.c: (build_linear_format),
(gst_ring_buffer_debug_spec_caps), (gst_ring_buffer_parse_caps),
(gst_ring_buffer_acquire):
Calculate silence samples correctly.
* gst-libs/gst/audio/gstringbuffer.h:
Add _CAST macro.
2006-07-24 14:34:42 +00:00
Wim Taymans
843202b51c gst-libs/gst/audio/gstaudiosink.c: Fix leak.
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiosink.c: (audioringbuffer_thread_func),
(gst_audioringbuffer_finalize), (gst_audioringbuffer_acquire),
(gst_audioringbuffer_release), (gst_audioringbuffer_stop):
Fix leak.
Avoid type casting when we can.
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_dispose):
Fix mem leak.
2006-07-21 10:43:54 +00:00
Tim-Philipp Müller
a56652b204 gst-libs/gst/audio/multichannel.c: Const-ify two arrays.
Original commit message from CVS:
* gst-libs/gst/audio/multichannel.c:
(gst_audio_check_channel_positions),
(gst_audio_fixate_channel_positions):
Const-ify two arrays.
2006-07-17 13:48:10 +00:00
Wim Taymans
a0354a5b96 gst-libs/gst/audio/gstbaseaudiosrc.c: Don't try to post an error message when setting the clock fails as this can hap...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_set_clock),
(gst_base_audio_src_check_get_range), (gst_base_audio_src_create):
Don't try to post an error message when setting the clock fails
as this can happen when adding an element to a bin which will then
deadlock. Fixes #347296.
2006-07-12 13:24:19 +00:00
Wim Taymans
ccee48bb85 Revert last two changes that broke the freeze.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (set_hwparams), (gst_alsasink_prepare):
* gst-libs/gst/audio/gstringbuffer.c: (build_linear_format),
(gst_ring_buffer_debug_spec_caps), (gst_ring_buffer_parse_caps):
Revert last two changes that broke the freeze.
2006-07-12 11:28:37 +00:00
Wim Taymans
46d86d8005 gst-libs/gst/audio/gstringbuffer.c: Calculate correct silence samples so we don't fill our ringbuffer with noise.
Original commit message from CVS:
* gst-libs/gst/audio/gstringbuffer.c: (build_linear_format),
(gst_ring_buffer_debug_spec_caps), (gst_ring_buffer_parse_caps):
Calculate correct silence samples so we don't fill our ringbuffer
with noise.
2006-07-12 10:58:42 +00:00
Wim Taymans
fa5dacc998 gst-libs/gst/audio/gstbaseaudiosink.c: Use gobject_class instead of G_OBJECT_CLASS (klass)
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_class_init),
(gst_base_audio_sink_provide_clock):
Use gobject_class instead of G_OBJECT_CLASS (klass)
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_class_init), (gst_base_audio_src_init),
(gst_base_audio_src_set_clock), (gst_base_audio_src_provide_clock),
(gst_base_audio_src_get_time),
(gst_base_audio_src_check_get_range), (gst_base_audio_src_create),
(gst_base_audio_src_create_ringbuffer):
Fix latency and buffer-time constants and properties ala basesink.
Implement pull based scheduling. Fixes #346527.
Set default blocksize in GstBaseSrc to 0, we default to pushing out
one segment.
Refuse slaving to another clock instead of silently not working.
Only provide a clock when we are actually able to do so.
Various small cleanups and compiler hints.
2006-07-06 15:54:50 +00:00
Stefan Kost
cade791150 docs/libs/: add remaining symbols into correct setions
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 remaining symbols into correct setions
* gst-libs/gst/audio/gstringbuffer.c:
fix incomplete docs
* gst-libs/gst/audio/gstringbuffer.h:
comment out not yet implemented function
* gst-libs/gst/floatcast/floatcast.h:
* gst-libs/gst/netbuffer/gstnetbuffer.c:
add short descriptions
* gst-libs/gst/interfaces/propertyprobe.c:
fix return value docs
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_chunk):
simplify debug logging
* gst-libs/gst/riff/riff-read.h:
sync function prototype and docs
* gst-libs/gst/rtp/gstbasertpaudiopayload.h:
remove left over symbol
2006-06-16 10:02:25 +00:00
Thomas Vander Stichele
51ca8fe3e1 move last template doc snippets to source code and delete them
Original commit message from CVS:
* docs/libs/tmpl/gstaudio.sgml:
* docs/libs/tmpl/gstcolorbalance.sgml:
* docs/libs/tmpl/gstmixer.sgml:
* docs/libs/tmpl/gstringbuffer.sgml:
* docs/libs/tmpl/gsttuner.sgml:
* docs/libs/tmpl/gstxoverlay.sgml:
* gst-libs/gst/audio/audio.c:
* gst-libs/gst/audio/gstringbuffer.c:
* gst-libs/gst/interfaces/colorbalance.c:
* gst-libs/gst/interfaces/mixer.c:
* gst-libs/gst/interfaces/tuner.c:
* gst-libs/gst/interfaces/xoverlay.c:
move last template doc snippets to source code and delete them
2006-06-07 11:03:03 +00:00
Jan Schmidt
45e06fe704 gst-libs/gst/audio/: Document better the fact that latency_time and buffer_time are values stored in microseconds, an...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_class_init), (gst_base_audio_sink_setcaps):
* gst-libs/gst/audio/gstbaseaudiosink.h:
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_parse_caps),
(gst_ring_buffer_samples_done):
* gst-libs/gst/audio/gstringbuffer.h:
Document better the fact that latency_time and buffer_time are values
stored in microseconds, and not the usual GStreamer nanoseconds.
Change the variables (compatibly) that store them from GstClockTime
to guint64 to make it more clear that they're not storing clock times.
Also, remove the bogus property description that says the user can
specify -1 to get the default value, since that's never been the case.
When computing the default segment size for the ring buffer, make it
an integer number of samples.
When the sub-class indicates a delay greater than the number of
samples we've written return 0 from the audio sink get_time method.
2006-06-03 21:06:49 +00:00
Stefan Kost
131fb86b4b Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
Original commit message from CVS:
* ext/alsa/gstalsamixerelement.h:
* ext/alsa/gstalsamixeroptions.h:
* ext/alsa/gstalsamixertrack.h:
* ext/gnomevfs/gstgnomevfssink.h:
* ext/gnomevfs/gstgnomevfssrc.h:
* ext/theora/gsttheoradec.h:
* ext/theora/gsttheoraenc.h:
* ext/theora/gsttheoraparse.h:
* ext/vorbis/vorbisparse.h:
* gst-libs/gst/audio/gstaudioclock.h:
* gst-libs/gst/audio/gstaudiofilter.h:
* gst-libs/gst/rtp/gstbasertpaudiopayload.h:
* gst/audioconvert/gstaudioconvert.h:
* gst/audioresample/gstaudioresample.h:
* gst/audiotestsrc/gstaudiotestsrc.h:
* gst/ffmpegcolorspace/gstffmpegcolorspace.h:
* gst/playback/gststreamselector.h:
* gst/tcp/gstmultifdsink.h:
* gst/tcp/gsttcpclientsink.h:
* gst/tcp/gsttcpclientsrc.h:
* gst/tcp/gsttcpserversink.h:
* gst/tcp/gsttcpserversrc.h:
* gst/videorate/gstvideorate.h:
* gst/videoscale/gstvideoscale.h:
* gst/videotestsrc/gstvideotestsrc.h:
* gst/volume/gstvolume.h:
* sys/v4l/gstv4ljpegsrc.h:
* sys/v4l/gstv4lmjpegsink.h:
* sys/v4l/gstv4lmjpegsrc.h:
* sys/v4l/gstv4lsrc.h:
* sys/ximage/ximagesink.h:
* sys/xvimage/xvimagesink.h:
* tests/old/testsuite/alsa/sinesrc.h:
Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
2006-06-01 19:19:51 +00:00
Tim-Philipp Müller
10d35563dd gst-libs/gst/audio/multichannel.c: It's okay to have caps with channels=1 and a channel position different from GST_A...
Original commit message from CVS:
* gst-libs/gst/audio/multichannel.c:
(gst_audio_check_channel_positions):
It's okay to have caps with channels=1 and a channel position
different from GST_AUDIO_CHANNEL_POSITION_FRONT_MONO
(deinterleavers might want to keep the position in the caps,
so that they can be re-interleaved again properly later).
Leave check for unexpected 2-channel layouts intact for now.
2006-05-16 17:34:14 +00:00
Stefan Kost
e972defd3e make GstElementDetails const
Original commit message from CVS:
* ext/alsa/gstalsamixerelement.c:
* ext/alsa/gstalsasrc.c:
* ext/cdparanoia/gstcdparanoiasrc.c:
* ext/gnomevfs/gstgnomevfssink.c:
* ext/gnomevfs/gstgnomevfssrc.c:
* ext/ogg/gstoggdemux.c:
* ext/ogg/gstoggmux.c:
* ext/ogg/gstoggparse.c:
* ext/ogg/gstogmparse.c:
* ext/pango/gstclockoverlay.c:
* ext/pango/gsttextoverlay.c:
* ext/pango/gsttextrender.c:
* ext/pango/gsttimeoverlay.c:
* ext/theora/theoradec.c:
* ext/theora/theoraenc.c:
* ext/vorbis/vorbisdec.c:
* ext/vorbis/vorbisenc.c:
* gst-libs/gst/audio/gstaudiofilter.c:
* gst-libs/gst/audio/gstaudiofiltertemplate.c:
* gst/audioconvert/gstaudioconvert.c:
* gst/audiorate/gstaudiorate.c:
* gst/audioresample/gstaudioresample.c:
* gst/audiotestsrc/gstaudiotestsrc.c:
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
* gst/playback/gstdecodebin.c:
* gst/playback/gstplaybin.c:
* gst/playback/gststreamselector.c:
* gst/subparse/gstsubparse.c:
* gst/tcp/gstmultifdsink.c:
* gst/tcp/gsttcpclientsink.c:
* gst/tcp/gsttcpclientsrc.c:
* gst/tcp/gsttcpserversink.c:
* gst/tcp/gsttcpserversrc.c:
* gst/typefind/gsttypefindfunctions.c: (plugin_init):
* gst/videorate/gstvideorate.c:
* gst/videoscale/gstvideoscale.c:
* gst/videotestsrc/gstvideotestsrc.c:
* gst/volume/gstvolume.c:
* sys/v4l/gstv4ljpegsrc.c:
* sys/v4l/gstv4lmjpegsink.c:
* sys/v4l/gstv4lmjpegsrc.c:
* sys/v4l/gstv4lsrc.c:
* sys/ximage/ximagesink.c:
* sys/xvimage/xvimagesink.c:
* tests/check/libs/cddabasesrc.c:
make GstElementDetails const
2006-04-28 19:46:37 +00:00
Wim Taymans
102b79e46e gst-libs/gst/audio/gstbaseaudiosink.c: patch to make timestamp checking more tollerant to rounding errors given that ...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_drain), (gst_base_audio_sink_event),
(gst_base_audio_sink_render), (gst_base_audio_sink_change_state):
patch to make timestamp checking more tollerant to rounding
errors given that real discontinuities are to be marked on
buffers. Fixes some asf files and #338778.
Also avoid some crashers when we receive an event in the
NULL state.
2006-04-28 15:08:09 +00:00
Wim Taymans
04754176a6 gst-libs/gst/audio/gstringbuffer.c: Check arguments passed to public functions instead of crashing.
Original commit message from CVS:
* gst-libs/gst/audio/gstringbuffer.c:
(gst_ring_buffer_set_callback), (gst_ring_buffer_acquire),
(gst_ring_buffer_release), (gst_ring_buffer_is_acquired),
(gst_ring_buffer_set_flushing), (gst_ring_buffer_start),
(gst_ring_buffer_pause), (gst_ring_buffer_stop),
(gst_ring_buffer_delay), (gst_ring_buffer_samples_done),
(gst_ring_buffer_set_sample), (gst_ring_buffer_clear_all),
(gst_ring_buffer_commit), (gst_ring_buffer_read),
(gst_ring_buffer_prepare_read), (gst_ring_buffer_advance),
(gst_ring_buffer_clear), (gst_ring_buffer_may_start):
Check arguments passed to public functions instead of
crashing.
2006-04-28 14:48:11 +00:00
Wim Taymans
c068425b38 gst-libs/gst/audio/gstbaseaudiosrc.c: GstBaseAudioSrc must be live or it does not work.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_init),
(gst_base_audio_src_get_time), (gst_base_audio_src_create):
GstBaseAudioSrc must be live or it does not work.
* gst-libs/gst/audio/gstaudiosrc.c: (gst_audio_src_init):
Don't set live to TRUE as this is the default in the parentclass.
2006-04-28 14:37:46 +00:00
Wim Taymans
35058f78c1 gst-libs/gst/audio/gstbaseaudiosink.c: Starting the ringbuffer when we did not acquire it can cause a deadlock, is po...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_event):
Starting the ringbuffer when we did not acquire it can cause
a deadlock, is pointless and causes nasty things for
subclasses.
Fixes gst-launch audiotestsrc num-buffers=0 ! alsasink.
2006-04-10 17:05:46 +00:00
Stefan Kost
0afac375b4 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
Original commit message from CVS:
* ext/alsa/gstalsamixeroptions.c:
(gst_alsa_mixer_options_class_init):
* ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_class_init):
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_class_init):
* ext/ogg/gstoggmux.c: (gst_ogg_mux_class_init):
* ext/ogg/gstoggparse.c: (gst_ogg_parse_class_init):
* gst-libs/gst/audio/gstaudioclock.c: (gst_audio_clock_class_init):
* gst-libs/gst/audio/gstaudiofilter.c:
(gst_audio_filter_class_init):
* gst-libs/gst/audio/gstaudiosink.c:
(gst_audioringbuffer_class_init):
* gst-libs/gst/audio/gstaudiosrc.c:
(gst_audioringbuffer_class_init):
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_class_init):
* gst-libs/gst/interfaces/colorbalancechannel.c:
(gst_color_balance_channel_class_init):
* gst-libs/gst/interfaces/mixeroptions.c:
(gst_mixer_options_class_init):
* gst-libs/gst/interfaces/mixertrack.c:
(gst_mixer_track_class_init):
* gst-libs/gst/interfaces/tunerchannel.c:
(gst_tuner_channel_class_init):
* gst-libs/gst/interfaces/tunernorm.c: (gst_tuner_norm_class_init):
* gst-libs/gst/netbuffer/gstnetbuffer.c:
(gst_netbuffer_class_init):
* gst-libs/gst/rtp/gstbasertppayload.c:
(gst_basertppayload_class_init):
* gst/playback/gstdecodebin.c: (gst_decode_bin_class_init):
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init):
* gst/playback/gstplaybin.c: (gst_play_bin_class_init):
* gst/playback/gststreaminfo.c: (gst_stream_info_class_init):
* gst/playback/gststreamselector.c:
(gst_stream_selector_class_init):
* gst/subparse/gstsubparse.c: (gst_sub_parse_class_init):
* gst/tcp/gsttcpclientsink.c: (gst_tcp_client_sink_class_init):
* sys/v4l/gstv4lcolorbalance.c:
(gst_v4l_color_balance_channel_class_init):
* sys/v4l/gstv4ljpegsrc.c: (gst_v4ljpegsrc_class_init):
* sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_class_init):
* sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_class_init):
* sys/v4l/gstv4ltuner.c: (gst_v4l_tuner_channel_class_init),
(gst_v4l_tuner_norm_class_init):
* sys/ximage/ximagesink.c: (gst_ximagesink_class_init):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_class_init):
* tests/old/testsuite/alsa/sinesrc.c: (sinesrc_class_init):
Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
2006-04-08 21:02:53 +00:00
Stefan Kost
1a2642a1d2 Fix broken GObject macros
Original commit message from CVS:
* ext/pango/gsttextrender.h:
* gst-libs/gst/audio/gstaudiosink.h:
* gst-libs/gst/audio/gstaudiosrc.h:
* gst-libs/gst/audio/gstbaseaudiosink.h:
* gst-libs/gst/audio/gstbaseaudiosrc.h:
* gst-libs/gst/audio/gstringbuffer.h:
* gst-libs/gst/rtp/gstbasertpdepayload.h:
* gst-libs/gst/rtp/gstbasertppayload.h:
* gst-libs/gst/video/gstvideofilter.h:
* gst-libs/gst/video/gstvideosink.h:
* gst/playback/gstplaybasebin.h:
* gst/tcp/gstmultifdsink.h:
* sys/v4l/gstv4lelement.h:
Fix broken GObject macros
2006-04-08 18:09:17 +00:00
Stefan Kost
2d826700fa Add docs for adder, use GST_ELEMENT_DETAILS macro, define GstElementDetails at the top
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
* ext/cdparanoia/gstcdparanoiasrc.c:
* ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_base_init),
(gst_gnome_vfs_sink_class_init):
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_base_init):
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_base_init):
* ext/ogg/gstoggmux.c:
* ext/ogg/gstoggparse.c: (gst_ogg_parse_base_init):
* ext/ogg/gstogmparse.c: (gst_ogm_audio_parse_base_init),
(gst_ogm_video_parse_base_init), (gst_ogm_text_parse_base_init):
* ext/pango/gsttextoverlay.c:
* ext/pango/gsttextrender.c:
* ext/theora/theoradec.c:
* ext/theora/theoraenc.c:
* ext/vorbis/vorbisdec.c:
* ext/vorbis/vorbisenc.c:
* gst-libs/gst/audio/gstaudiofilter.c:
(gst_audio_filter_base_init):
* gst-libs/gst/audio/gstaudiofiltertemplate.c:
(gst_audio_filter_template_base_init):
* gst/adder/gstadder.c: (gst_adder_get_type):
* gst/adder/gstadder.h:
* gst/audioconvert/gstaudioconvert.c:
* gst/audiotestsrc/gstaudiotestsrc.c:
(gst_audiostestsrc_wave_get_type), (gst_audio_test_src_class_init),
(gst_audio_test_src_create):
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
* gst/playback/gstdecodebin.c:
* gst/playback/gstplaybin.c:
* gst/playback/gststreamselector.c:
(gst_stream_selector_base_init):
* gst/subparse/gstsubparse.c: (gst_sub_parse_base_init):
* gst/volume/gstvolume.c:
* sys/v4l/gstv4lmjpegsink.c:
* sys/v4l/gstv4lmjpegsrc.c:
* tests/check/libs/cddabasesrc.c:
* tests/old/examples/gob/gst-identity2.gob:
Add docs for adder, use GST_ELEMENT_DETAILS macro,
define GstElementDetails at the top
2006-03-24 10:42:11 +00:00
Wim Taymans
4df07064b8 gst-libs/gst/audio/gstbaseaudiosrc.c: Fix audio sources, forgot to make the ringbuffer startable...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_get_time), (gst_base_audio_src_create),
(gst_base_audio_src_change_state):
Fix audio sources, forgot to make the ringbuffer
startable...
2006-03-23 16:58:03 +00:00
Wim Taymans
2df1088b3f gst-libs/gst/audio/gstbaseaudiosrc.c: unparent instead of unref the ringbuffer.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_get_time), (gst_base_audio_src_create),
(gst_base_audio_src_change_state):
unparent instead of unref the ringbuffer.
2006-03-23 16:29:58 +00:00
Wim Taymans
227474e464 gst-libs/gst/audio/gstbaseaudiosink.c: Implement new async_play vmethod to start slaving and allow playback start in ...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_class_init), (gst_base_audio_sink_async_play),
(gst_base_audio_sink_do_play), (gst_base_audio_sink_change_state):
Implement new async_play vmethod to start slaving and allow
playback start in case of async PLAY state changes.
* gst-libs/gst/video/gstvideosink.c: (gst_video_sink_init):
Enable QoS with new method in base class.
2006-03-23 16:24:23 +00:00
Wim Taymans
747d560fb5 gst-libs/gst/audio/gstbaseaudiosink.c: Since we _parent the ringbuffer, we also need to _unparent instead of a plain ...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_dispose):
Since we _parent the ringbuffer, we also need to
_unparent instead of a plain _unref.
2006-03-22 12:33:09 +00:00
Wim Taymans
82fd38fbcf gst-libs/gst/audio/: Only start playback if we are playing. should fix #330748.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_change_state):
* gst-libs/gst/audio/gstringbuffer.c: (wait_segment),
(gst_ring_buffer_may_start):
* gst-libs/gst/audio/gstringbuffer.h:
Only start playback if we are playing.
should fix #330748.
2006-03-17 17:48:33 +00:00
Tim-Philipp Müller
ab6f99ab60 gst-libs/gst/audio/gstaudiofilter.c: Don't ignore flow return from gst_pad_push().
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiofilter.c: (gst_audio_filter_chain):
Don't ignore flow return from gst_pad_push().
2006-03-07 13:01:21 +00:00
Christophe Fergeau
8e6d3a5c03 Don't leak references returned by gst_pad_get_parent()
Original commit message from CVS:
* ext/libvisual/visual.c: (gst_visual_getcaps),
(gst_visual_src_setcaps), (gst_visual_sink_setcaps):
* ext/ogg/gstoggmux.c: (gst_ogg_mux_sinkconnect):
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_convert_src),
(gst_vorbisenc_convert_sink):
* gst-libs/gst/audio/audio.c: (gst_audio_frame_byte_size),
(gst_audio_duration_from_pad_buffer):
* gst-libs/gst/audio/gstaudiofilter.c: (gst_audio_filter_link),
(gst_audio_filter_chain):
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_setcaps):
* gst-libs/gst/video/video.c: (gst_video_frame_rate),
(gst_video_get_size):
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_setcaps):
Don't leak references returned by gst_pad_get_parent()
(#333663, based on patch by: Christophe Fergeau).
2006-03-07 12:49:03 +00:00
Wim Taymans
1e9f5c43ad docs/: Added some more docs to libs and plugins.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
* docs/libs/gst-plugins-base-libs.types:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
Added some more docs to libs and plugins.
* gst-libs/gst/audio/gstringbuffer.c:
(gst_ring_buffer_prepare_read), (gst_ring_buffer_clear):
* gst-libs/gst/audio/gstringbuffer.h:
Document ringbuffer some more.
* gst/videorate/gstvideorate.c: (gst_video_rate_class_init),
(gst_video_rate_setcaps), (gst_video_rate_reset),
(gst_video_rate_init), (gst_video_rate_flush_prev),
(gst_video_rate_swap_prev), (gst_video_rate_event),
(gst_video_rate_chain), (gst_video_rate_change_state):
* gst/videorate/gstvideorate.h:
Fix videorate to use segments.
Make it work with 0/1 framerates (closes #331903)
Handle EOS correctly.
Added docs.
2006-03-02 16:47:34 +00:00
Wim Taymans
77ff8c9fdb gst-libs/gst/audio/gstbaseaudiosink.c: Don't try to provide a clock in the NULL state.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_provide_clock):
Don't try to provide a clock in the NULL state.
2006-02-28 11:06:24 +00:00
Tim-Philipp Müller
043c6d91df gst-libs/gst/audio/mixerutils.c: Make order in which elements are tried more determinable.
Original commit message from CVS:
* gst-libs/gst/audio/mixerutils.c:
(element_factory_rank_compare_func):
Make order in which elements are tried more determinable.
2006-02-20 16:21:14 +00:00
Wim Taymans
3451a81879 gst-libs/gst/audio/gstringbuffer.c: Small cleanups.
Original commit message from CVS:
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_get_type),
(gst_ring_buffer_open_device), (gst_ring_buffer_close_device),
(gst_ring_buffer_device_is_open), (gst_ring_buffer_acquire),
(gst_ring_buffer_release), (gst_ring_buffer_set_flushing),
(gst_ring_buffer_start), (gst_ring_buffer_pause_unlocked),
(gst_ring_buffer_pause), (gst_ring_buffer_stop),
(gst_ring_buffer_delay), (gst_ring_buffer_samples_done),
(gst_ring_buffer_set_sample), (gst_ring_buffer_clear_all),
(gst_ring_buffer_commit), (gst_ring_buffer_prepare_read),
(gst_ring_buffer_clear):
Small cleanups.
Added some G_LIKELY.
2006-02-17 14:07:01 +00:00
Wim Taymans
454618e9b9 gst-libs/gst/audio/TODO: Update TODO
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.
2006-02-17 10:15:52 +00:00
Tim-Philipp Müller
9490d413c0 gst-libs/gst/audio/multichannel.c: Minor docs fix.
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.
2006-02-16 19:18:46 +00:00
Tim-Philipp Müller
5b788a8a66 gst-libs/gst/audio/multichannel.c: When we have more than 2 channels, but no channel layout is specified in the caps,...
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).
2006-02-16 11:44:43 +00:00
Wim Taymans
3b45740289 gst-libs/gst/audio/gstringbuffer.c: Add some compiler G_(UN_)LIKELY help.
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
2006-02-14 13:45:35 +00:00
Wim Taymans
16dbdc5c21 gst-libs/gst/audio/gstbaseaudiosink.c: Always sync on first sample we receive when starting.
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.
2006-02-13 18:49:02 +00:00
Wim Taymans
0be7d56eb9 gst-libs/gst/audio/gstbaseaudiosink.c: Use scale functions when possible.
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.
2006-02-12 14:54:55 +00:00
Andy Wingo
4e0c846fa4 kapowpowpow
Original commit message from CVS:
kapowpowpow
2006-02-09 11:46:03 +00:00
Andy Wingo
4ae63e7361 gst-libs/gst/audio/gstringbuffer.c
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.
2006-02-09 11:36:18 +00:00
Wim Taymans
260b5295c9 gst-libs/gst/audio/gstbaseaudiosink.c: Ugh.. getting late I guess...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_provide_clock):
Ugh.. getting late I guess...
2006-02-02 18:18:31 +00:00
Wim Taymans
c78a5d7e1e gst-libs/gst/audio/gstbaseaudiosink.c: Don't try to provide a clock when we are not negotiated since we might not be ...
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.
2006-02-02 18:13:26 +00:00
Wim Taymans
416c011f11 gst-libs/gst/audio/TODO: Updated.
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.
2006-02-02 12:14:35 +00:00
Wim Taymans
a169abc679 gst-libs/gst/audio/gstaudiosink.c: Implement pause that does not wait for completion.
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.
2006-01-30 16:19:33 +00:00
Sébastien Moutte
dc46970cdf gst-libs/gst/audio/audio.h: (GST_CLOCK_TIME_TO_FRAMES)
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
2006-01-29 19:13:39 +00:00
Tim-Philipp Müller
27ed152e10 gst-libs/gst/audio/gstringbuffer.c: Make gcc-4.1 happy (part of #327357).
Original commit message from CVS:
* gst-libs/gst/audio/gstringbuffer.c: (build_linear_format):
Make gcc-4.1 happy (part of #327357).
2006-01-28 18:19:18 +00:00
Wim Taymans
ccd05fa086 gst-libs/gst/audio/gstbaseaudiosink.c: Undo previous commit, it breaks resume after pause.
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.
2006-01-25 10:50:32 +00:00
Wim Taymans
2bc5ca1786 gst-libs/gst/audio/gstbaseaudiosink.c: Improve debugging.
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.
2006-01-25 09:27:01 +00:00
Jan Schmidt
04333a568c gst-libs/gst/audio/gstbaseaudiosink.c: Fix playback of non-synchronised streams by assuming a rate of 1.0 instead of ...
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
2006-01-17 11:43:49 +00:00
Tim-Philipp Müller
f220f8295b Add docs for mixerutils stuff.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/audio/mixerutils.c:
* gst-libs/gst/audio/mixerutils.h:
Add docs for mixerutils stuff.
2006-01-14 12:52:22 +00:00
Thomas Vander Stichele
5fd8ee2ea4 gst-libs/gst/audio/mixerutils.c: actually save the element we create
Original commit message from CVS:

* gst-libs/gst/audio/mixerutils.c:
(gst_audio_mixer_filter_do_filter):
actually save the element we create
2006-01-13 16:45:50 +00:00
Tim-Philipp Müller
b867510721 gst-libs/gst/audio/gstringbuffer.c: Set depth and width for alaw/mulaw (fixes #326601).
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).
2006-01-11 15:11:20 +00:00
Michael Smith
b0c21cab17 gst-libs/gst/audio/gstaudiosrc.c: Don't leak GCond in audio sources.
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiosrc.c: (gst_audioringbuffer_dispose):
Don't leak GCond in audio sources.
2006-01-10 12:25:59 +00:00
Tim-Philipp Müller
8ec22e812b gst-libs/gst/audio/gstringbuffer.*: 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:
Name (private) union, makes Forte compiler happy (this time
for real) (#324900).
2006-01-10 09:38:44 +00:00
Tim-Philipp Müller
3b96467f63 gst-libs/gst/audio/Makefile.am: Link against libgstinterfaces, needed for mixer and property probe stuff.
Original commit message from CVS:
* gst-libs/gst/audio/Makefile.am:
Link against libgstinterfaces, needed for mixer
and property probe stuff.
2006-01-09 10:52:33 +00:00
Tim-Philipp Müller
e737f441d3 gst-libs/gst/audio/: Add gst_audio_default_registry_mixer_filter() utility function.
Original commit message from CVS:
* gst-libs/gst/audio/Makefile.am:
* gst-libs/gst/audio/mixerutils.c:
(gst_audio_mixer_filter_do_filter),
(gst_audio_mixer_filter_check_element),
(gst_audio_mixer_filter_probe_feature),
(element_factory_rank_compare_func),
(gst_audio_default_registry_mixer_filter):
* gst-libs/gst/audio/mixerutils.h:
Add gst_audio_default_registry_mixer_filter() utility
function.
2006-01-09 09:38:34 +00:00
Tim-Philipp Müller
be8f055317 gst-libs/gst/audio/gstringbuffer.*: Sun's Forte compiler doesn't seem to like anonymous structs, so use same setup as...
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).
2006-01-02 23:37:38 +00:00
Thomas Vander Stichele
01bc68f918 stop making fun of older compilers
Original commit message from CVS:
stop making fun of older compilers
2005-12-20 12:24:29 +00:00
Thomas Vander Stichele
b4b2b62a74 gst-libs/gst/audio/: update strings, values are in microseconds change the default sink buffer time to something that...
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
2005-12-20 12:00:26 +00:00
Thomas Vander Stichele
5f83aa7dfa expand tabs
Original commit message from CVS:
expand tabs
2005-12-06 19:42:02 +00:00
Thomas Vander Stichele
9db2e7681a borgify
Original commit message from CVS:
borgify
2005-12-01 14:29:09 +00:00
Thomas Vander Stichele
8823933bcd folded audiofilter into the audio library
Original commit message from CVS:
folded audiofilter into the audio library
2005-11-29 01:25:31 +00:00
Wim Taymans
3f05db1828 gst-libs/gst/audio/TODO: Updated TODO
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.
2005-11-28 15:53:55 +00:00
Thomas Vander Stichele
efb938bd9a configure.ac: added GST_LIB_LDFLAGS and GST_ALL_LDFLAGS
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
2005-11-27 16:18:50 +00:00
Wim Taymans
c7dc33e495 gst-libs/gst/audio/gstringbuffer.c: If we are reading too slowly, jump forward in the ringbuffer instead of blocking.
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.
2005-11-23 13:29:50 +00:00
Wim Taymans
67b21a9033 gst-libs/gst/audio/gstbaseaudiosink.c: Fix for calibration API change.
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.
2005-11-23 13:08:54 +00:00
Michael Smith
71f3969208 gst-libs/gst/audio/multichannel.c: Use gst_value_array_*() functions on value arrays, not gst_value_list_*().
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_*().
2005-11-23 12:40:04 +00:00
Wim Taymans
af2acb6eea gst-libs/gst/audio/gstbaseaudiosink.c: And we provide a clock by default, of course...
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...
2005-11-22 18:54:56 +00:00
Wim Taymans
a3cb4d4937 gst-libs/gst/audio/gstaudioclock.c: This clock can be slaved to a master clock now.
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.
2005-11-22 18:32:09 +00:00
Thomas Vander Stichele
08cd3b973f remove some deprecated functions
Original commit message from CVS:
remove some deprecated functions
2005-11-22 13:14:07 +00:00
Thomas Vander Stichele
1c3b6d42a9 gst-libs/gst/audio/audio.*: fix prototype - wondering why the test worked regardless
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
2005-11-21 23:51:45 +00:00
Thomas Vander Stichele
be5a7cd625 add a method that returns a proper GstClockTime
Original commit message from CVS:
add a method that returns a proper GstClockTime
2005-11-21 22:56:33 +00:00
Wim Taymans
0f2336cff6 gst/: Segment update fix.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_class_init), (gst_base_audio_sink_init),
(gst_base_audio_sink_provide_clock),
(gst_base_audio_sink_set_clock), (gst_base_audio_sink_render),
(gst_base_audio_sink_change_state):
* gst/audioresample/gstaudioresample.c:
Segment update fix.
2005-11-21 17:14:02 +00:00
Andy Wingo
f405e12b4a *.*: Ran scripts/update-macros. Oh yes.
Original commit message from CVS:
2005-11-21  Andy Wingo  <wingo@pobox.com>

* *.h:
* *.c: Ran scripts/update-macros. Oh yes.
2005-11-21 16:35:24 +00:00
Jan Schmidt
1cc82e9138 Rename gst_caps_structure_fixate_* to gst_structure_fixate_* (#322027)
Original commit message from CVS:
* ext/libvisual/visual.c: (get_buffer):
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_fixate):
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_fixate_caps):
* gst/audioscale/gstaudioscale.c: (gst_audioscale_fixate):
* gst/audiotestsrc/gstaudiotestsrc.c:
(gst_audiotestsrc_src_fixate):
* gst/sine/gstsinesrc.c: (gst_sinesrc_src_fixate):
* gst/videorate/gstvideorate.c: (gst_videorate_setcaps):
* gst/videoscale/gstvideoscale.c: (gst_videoscale_fixate_caps):
* gst/videotestsrc/gstvideotestsrc.c:
(gst_videotestsrc_src_fixate):
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_fixate):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_fixate):
Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
(#322027)
2005-11-21 14:29:53 +00:00
Wim Taymans
9edbf81fd2 gst-libs/gst/audio/gstbaseaudiosrc.c: Fix the audiosrc base class again, we did not unflush.
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.
2005-11-17 14:40:12 +00:00
Wim Taymans
99fb91493e gst-libs/gst/audio/gstbaseaudiosink.c: Set ringbuffer to non-flushing when going to PAUSED, set to flushing again whe...
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.
2005-11-16 16:48:35 +00:00
Wim Taymans
8360581332 gst-libs/gst/audio/gstringbuffer.c: Set ringbuffer to flushing when stopping so that we don't block on wait_segment a...
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.
2005-11-16 12:17:06 +00:00
Wim Taymans
b886b99345 gst-libs/gst/audio/gstbaseaudiosink.c: No need to do a typecheck.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
No need to do a typecheck.
2005-11-08 11:41:52 +00:00
Wim Taymans
d23d907a86 gst-libs/gst/audio/gstringbuffer.h: Don't break ABI.
Original commit message from CVS:
* gst-libs/gst/audio/gstringbuffer.h:
Don't break ABI.

* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
(gst_ffmpeg_caps_to_pixfmt):
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
(gst_ffmpegcsp_set_caps):
Some more comments.
Handle missing required caps fields better.
2005-10-31 11:43:01 +00:00
Wim Taymans
09ca2ec93b gst-libs/gst/audio/: Add flushing mode to the ringbuffer so that it in all cases does not try to handle more audio. T...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_event), (gst_base_audio_sink_get_offset),
(gst_base_audio_sink_render):
* gst-libs/gst/audio/gstringbuffer.c:
(gst_ring_buffer_open_device), (gst_ring_buffer_close_device),
(gst_ring_buffer_set_flushing), (gst_ring_buffer_start),
(gst_ring_buffer_pause_unlocked), (gst_ring_buffer_pause),
(gst_ring_buffer_stop), (wait_segment), (gst_ring_buffer_commit),
(gst_ring_buffer_read):
* gst-libs/gst/audio/gstringbuffer.h:
Add flushing mode to the ringbuffer so that it in all cases does
not try to handle more audio. This makes sure it does not try to
block anymore when flushing and fixes a livelock.
2005-10-31 10:30:41 +00:00
Wim Taymans
a878cbdfe1 gst-libs/gst/audio/gstbaseaudiosink.c: Remove g_print
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_get_offset), (gst_base_audio_sink_render):
Remove g_print
Use sync property from baseclass to disable sync.
2005-10-24 14:59:55 +00:00
Wim Taymans
cfadd55297 gst-libs/gst/audio/gstbaseaudiosink.c: Buffers with no timestamps get aligned with previous buffers or on underrun, p...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_get_offset), (gst_base_audio_sink_render):
Buffers with no timestamps get aligned with previous buffers or
on underrun, played ASAP.
2005-10-24 14:52:22 +00:00
Wim Taymans
7879080357 ext/: Fix old naming.
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_dec_src_query),
(theora_dec_sink_event):
* ext/vorbis/vorbisdec.c: (vorbis_dec_src_query),
(vorbis_dec_sink_event), (vorbis_handle_identification_packet),
(vorbis_handle_data_packet):
* ext/vorbis/vorbisdec.h:
Fix old naming.

* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
Don't try to sync on buffers without a timestamp.
2005-10-21 15:14:36 +00:00
Wim Taymans
fc8ce00673 Bye bye buffer-frames.
Original commit message from CVS:
* check/elements/audioconvert.c:
* docs/libs/tmpl/gstaudio.sgml:
* docs/libs/tmpl/gstcolorbalance.sgml:
* ext/vorbis/vorbisdec.c: (vorbis_dec_sink_event),
(vorbis_handle_identification_packet), (vorbis_handle_data_packet):
* ext/vorbis/vorbisenc.c: (raw_caps_factory):
* gst-libs/gst/audio/audio.c: (gst_audio_structure_set_int):
* gst-libs/gst/audio/audio.h:
* gst/audioconvert/audioconvert.h:
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_parse_caps):
* gst/volume/gstvolume.c:
Bye bye buffer-frames.
2005-10-19 17:02:46 +00:00
Wim Taymans
efb6fcb802 ext/alsa/gstalsasink.c: Set handle to NULL.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_init),
(gst_alsasink_close):
Set handle to NULL.

* 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_start), (gst_ring_buffer_pause),
(gst_ring_buffer_stop), (gst_ring_buffer_commit),
(gst_ring_buffer_read):
More debug info.
2005-10-18 11:07:26 +00:00
Thomas Vander Stichele
4f8f42b0b6 restructure configure.ac, use correct libtool LDFLAGS, fix up defines
Original commit message from CVS:
restructure configure.ac, use correct libtool LDFLAGS, fix up defines
2005-10-16 13:54:44 +00:00
Wim Taymans
1355459057 gst-libs/gst/audio/gstringbuffer.c: Don't assert on normal stuff.
Original commit message from CVS:
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_commit),
(gst_ring_buffer_read), (gst_ring_buffer_clear):
Don't assert on normal stuff.

* gst/playback/gstplaybin.c: (do_playbin_seek):
API fix.
2005-10-12 12:38:20 +00:00
Wim Taymans
5c17d94013 gst-libs/gst/audio/: Cleanups.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_create):
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_commit),
(gst_ring_buffer_read):
Cleanups.
Commit and read from ringbuffer in samples rather than bytes.
2005-10-11 18:32:01 +00:00
Wim Taymans
0c71c6348f gst-libs/gst/audio/gstbaseaudiosink.c: Respect segment rate and accum when scheduling samples.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
Respect segment rate and accum when scheduling samples.
2005-10-11 17:31:48 +00:00
Wim Taymans
81a09fc472 ext/alsa/gstalsasink.c: Also allow unsigned int.
Original commit message from CVS:
* ext/alsa/gstalsasink.c:
Also allow unsigned int.

* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_create), (gst_base_audio_src_change_state):
Small cleanup
2005-10-10 17:04:24 +00:00
Wim Taymans
d920233a73 gst-libs/gst/audio/gstaudiosink.c: Only actually wait for the thread to be stopped if it's running.
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiosink.c: (gst_audioringbuffer_stop):
Only actually wait for the thread to be stopped if it's
running.
2005-10-08 12:02:08 +00:00
Wim Taymans
bd80afd2d1 gst-libs/gst/audio/gstbaseaudiosink.c: If we receive EOS we can start playback of what we had.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_event), (gst_base_audio_sink_render):
If we receive EOS we can start playback of what we had.
2005-10-08 11:47:52 +00:00
Edgard Lima
e846919fe9 gst-libs/gst/audio/: Fixed gstbaseaudiosrc adding ring buffer sync to it.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_event),
(gst_base_audio_src_create), (gst_base_audio_src_change_state):
* gst-libs/gst/audio/gstbaseaudiosrc.h:
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_read):
patch from Edgard Lima <edgard.lima@indt.org.br>
Fixed gstbaseaudiosrc adding ring buffer sync to it.
2005-10-06 15:15:04 +00:00
Wim Taymans
a872aac9f8 ext/ogg/gstoggdemux.c: Report the FLOW_RETURN as string in the error message.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_loop):
Report the FLOW_RETURN as string in the error message.

* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_clear_all):
Don't assert when clearing an unnegotiated buffer.
2005-10-06 13:11:55 +00:00
Andy Wingo
721c97d438 gst-libs/gst/audio/gstringbuffer.c (gst_ring_buffer_clear)
Original commit message from CVS:
2005-10-02  Andy Wingo  <wingo@pobox.com>

* gst-libs/gst/audio/gstringbuffer.c (gst_ring_buffer_clear)
(gst_ring_buffer_prepare_read):
* gst-libs/gst/audio/gstaudiosink.c (audioringbuffer_thread_func):
Demote to LOG.
2005-10-02 15:58:57 +00:00
Wim Taymans
79be8760f0 gst-libs/gst/audio/: get_clock -> provide_clock
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_class_init),
(gst_base_audio_sink_provide_clock), (gst_base_audio_sink_render):
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_class_init),
(gst_base_audio_src_provide_clock):
get_clock -> provide_clock
2005-09-28 13:41:29 +00:00
Wim Taymans
b17856db22 Fix sync again. Moved sample alignment to basesink.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_reset):
* gst-libs/gst/audio/gstaudiosink.c:
(gst_audioringbuffer_class_init), (audioringbuffer_thread_func),
(gst_audioringbuffer_stop):
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_event), (gst_base_audio_sink_render),
(gst_base_audio_sink_change_state):
* gst-libs/gst/audio/gstbaseaudiosink.h:
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_stop),
(gst_ring_buffer_set_sample), (gst_ring_buffer_clear_all),
(gst_ring_buffer_commit), (gst_ring_buffer_read):
* gst-libs/gst/audio/gstringbuffer.h:
Fix sync again. Moved sample alignment to basesink.
2005-09-24 13:06:03 +00:00
Thomas Vander Stichele
272aad79bb add/fix docs
Original commit message from CVS:

* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
* gst/volume/gstvolume.c:
add/fix docs
* gst-libs/gst/audio/audio.c: (gst_audio_frame_byte_size):
* gst-libs/gst/audio/audio.h:
add conversion macros for frames <-> clocktime
2005-09-23 18:14:54 +00:00
David Schleef
cb8927cb92 Fixes for changes in registry API.
Original commit message from CVS:
* check/generic/states.c:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_typefind):
* gst/playback/gstdecodebin.c: (gst_decode_bin_init):
Fixes for changes in registry API.
* configure.ac: Only export gst_plugins_desc.  Add -no-undefined
to GST_PLUGIN_LDFLAGS.
* ext/libvisual/visual.c: Make the library shut up.
* gst-libs/gst/audio/audio.c: Don't define a plugin in a library.
* gst-libs/gst/audio/gstaudiofilter.c: same
2005-09-15 06:59:36 +00:00
Stefan Kost
1aa698fefa gst/: fixing lost sync, some more debugging
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_commit):
* gst/volume/gstvolume.c: (gst_volume_class_init),
(volume_transform):
fixing lost sync, some more debugging
2005-09-08 22:42:11 +00:00
Andy Wingo
6665c3084c All plugins updated for element state changes.
Original commit message from CVS:
2005-09-02  Andy Wingo  <wingo@pobox.com>

* All plugins updated for element state changes.
2005-09-02 15:43:18 +00:00
Wim Taymans
44cc3421a0 gst-libs/gst/audio/gstbaseaudiosink.c: Resync if the buffer timestamps drift more than a 10th of a second.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
Resync if the buffer timestamps drift more than a 10th
of a second.
2005-08-31 10:57:35 +00:00
Andy Wingo
c32721723b Updates for two-arg init from GST_BOILERPLATE_FULL.
Original commit message from CVS:
2005-08-28  Andy Wingo  <wingo@pobox.com>

* Updates for two-arg init from GST_BOILERPLATE_FULL.
2005-08-28 17:52:45 +00:00
Wim Taymans
7824216cef ext/ogg/gstoggdemux.c: Parse seeking events better.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_src_query),
(gst_ogg_pad_event), (gst_ogg_demux_factory_filter),
(gst_ogg_pad_submit_packet), (gst_ogg_chain_new),
(gst_ogg_demux_init), (gst_ogg_demux_perform_seek),
(gst_ogg_demux_collect_chain_info), (gst_ogg_demux_collect_info),
(gst_ogg_demux_chain), (gst_ogg_demux_loop), (gst_ogg_print):
Parse seeking events better.
Unref static caps.
Generate correct newsegment events, fixes seeking in live oggs.

* ext/theora/theoradec.c: (theora_dec_src_query),
(theora_dec_src_event), (theora_dec_src_getcaps),
(theora_dec_sink_event), (theora_dec_push), (theora_dec_chain):
Use newsegment values to report correct play time.

* ext/vorbis/vorbisdec.c: (vorbis_dec_src_query),
(vorbis_dec_src_event), (vorbis_dec_sink_event):
* ext/vorbis/vorbisdec.h:
Parse and use newsegment values to report correct play time.

* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_event), (gst_base_audio_sink_render):
Clear ringbuffer on flush.
Use newsegment values to calculate playback time.

* sys/ximage/ximagesink.c: (gst_ximagesink_get_times):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_times):
Basesink does newsegment calculations for us now.
2005-08-24 18:04:45 +00:00
Wim Taymans
5ac2327f05 gst-libs/gst/audio/gstringbuffer.*: Added function to clear the ringbuffer.
Original commit message from CVS:
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_set_sample),
(gst_ring_buffer_clear_all):
* gst-libs/gst/audio/gstringbuffer.h:
Added function to clear the ringbuffer.
2005-08-24 11:29:10 +00:00
Andy Wingo
7afb104567 gst-libs/gst/audio/gstbaseaudiosrc.c
Original commit message from CVS:
2005-08-23  Andy Wingo  <wingo@pobox.com>

* gst-libs/gst/audio/gstbaseaudiosrc.c
(gst_base_audio_src_fixate): Only fixate endianness if it is
present in the caps.
2005-08-23 13:29:17 +00:00
Andy Wingo
13b122a106 gst-libs/gst/audio/gstaudiosrc.*: Implement open_device and close_device in the ring buffer, like gstaudiosink.
Original commit message from CVS:
2005-08-22  Andy Wingo  <wingo@pobox.com>

* gst-libs/gst/audio/gstaudiosrc.h:
* gst-libs/gst/audio/gstaudiosrc.c: Implement open_device and
close_device in the ring buffer, like gstaudiosink.

* ext/alsa/gstalsamixer.h:
* ext/alsa/gstalsamixer.c: Not a GObject any more. Include a nifty
macro to implement the interface without much code. Cleanups.

* ext/alsa/gstalsasrc.h:
* ext/alsa/gstalsasrc.c: Be a mixer. Open device and mixer in
READY.

* ext/alsa/Makefile.am: Add new files.
* ext/alsa/gstalsamixerelement.c:
* ext/alsa/gstalsamixerelement.c: Split element code out from
mixer code so that alsasrc can be a mixer too.
2005-08-22 15:11:31 +00:00
Wim Taymans
4e3b19e5fb gst-libs/gst/audio/gstbaseaudiosrc.c: Open and close device in READY<->NULL state change.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_change_state):
Open and close device in READY<->NULL state change.
2005-08-16 15:53:59 +00:00
Tim-Philipp Müller
b9b56ce7d3 gst-libs/gst/: Add padding (you will need to rebuild gst-plugins-base, gst-plugins and all applications afterwards!)
Original commit message from CVS:
* gst-libs/gst/audio/gstaudioclock.h:
* gst-libs/gst/audio/gstaudiofilter.h:
* gst-libs/gst/audio/gstaudiosink.h:
* gst-libs/gst/audio/gstaudiosrc.h:
* gst-libs/gst/audio/gstbaseaudiosink.h:
* gst-libs/gst/audio/gstbaseaudiosrc.h:
* gst-libs/gst/audio/gstringbuffer.h:
* gst-libs/gst/net/gstnetbuffer.h:
* gst-libs/gst/rtp/gstbasertpdepayload.h:
* gst-libs/gst/rtp/gstrtpbuffer.h:
Add padding (you will need to rebuild gst-plugins-base,
gst-plugins and all applications afterwards!)
2005-08-09 17:29:40 +00:00
Andy Wingo
69d36f02ce gst-libs/gst/audio/gstbaseaudiosink.c
Original commit message from CVS:
2005-08-08  Andy Wingo  <wingo@pobox.com>

* gst-libs/gst/audio/gstbaseaudiosink.c
(gst_base_audio_sink_change_state): Open the device in NULL->READY
like good elements should. Close on READY->NULL too.

* gst-libs/gst/audio/gstaudiosink.c
(gst_audioringbuffer_open_device,
(gst_audioringbuffer_close_device, gst_audioringbuffer_acquire)
(gst_audioringbuffer_release): Updates for new ring buffer API,
hook into the new audio sink api.

* gst-libs/gst/audio/gstaudiosink.h (GstAudioSinkClass.open)
(GstAudioSinkClass.close): Just open and close the device -- no
resource allocation or configuration.
(GstAudioSinkClass.prepare, GstAudioSinkClass.unprepare): New
vmethods, handle device setup and resource allocation.

* ext/alsa/gstalsasink.c (gst_alsasink_open, gst_alsasink_close)
(gst_alsasink_prepare, gst_alsasink_unprepare): Update for new
base class API.

* gst-libs/gst/audio/gstringbuffer.h
(GstRingBufferClass.open_device, GstRingBufferClass.close_device):
New vmethods.

* gst-libs/gst/audio/gstringbuffer.c (gst_ring_buffer_open_device)
(gst_ring_buffer_close_device, gst_ring_buffer_device_is_open):
New API functions. The device should be opened before acquiring
and closed after releasing.
2005-08-08 16:42:10 +00:00
Wim Taymans
78b9a84efa gst-libs/gst/audio/gstbaseaudiosrc.c: More compilation fixen.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_event):
More compilation fixen.
2005-07-27 19:13:27 +00:00
Wim Taymans
50b9b8acc4 gst-libs/gst/audio/gstbaseaudiosink.c: Fix compilation.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_event), (gst_base_audio_sink_render),
(gst_base_audio_sink_create_ringbuffer),
(gst_base_audio_sink_change_state):
Fix compilation.
2005-07-27 19:10:20 +00:00
Wim Taymans
e2da9961d9 ext/ogg/gstoggdemux.c: Generate correct disconts for live chained oggs.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_event),
(gst_ogg_pad_internal_chain), (gst_ogg_pad_typefind),
(gst_ogg_demux_chain_elem_pad), (gst_ogg_demux_queue_data),
(gst_ogg_demux_chain_peer), (gst_ogg_pad_submit_packet),
(gst_ogg_pad_submit_page), (gst_ogg_chain_new),
(gst_ogg_demux_init), (gst_ogg_demux_activate_chain),
(gst_ogg_demux_perform_seek), (gst_ogg_demux_collect_chain_info),
(gst_ogg_demux_collect_info), (gst_ogg_demux_chain),
(gst_ogg_demux_send_event), (gst_ogg_demux_loop):
Generate correct disconts for live chained oggs.

* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render),
(gst_base_audio_sink_create_ringbuffer),
(gst_base_audio_sink_change_state):
Handle discont math correctly.

* gst/playback/gstplaybin.c: (add_sink):
Some small debug cleanup.
2005-07-21 17:25:40 +00:00
Ronald S. Bultje
7795794bf0 Fixes for API changes in core.
Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_get_headers),
(gst_ogg_mux_set_header_on_caps):
* ext/theora/theoraenc.c: (theora_set_header_on_caps):
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_set_header_on_caps):
* ext/vorbis/vorbisparse.c: (vorbis_parse_set_header_on_caps):
* gst-libs/gst/audio/multichannel.c:
(gst_audio_set_channel_positions),
(gst_audio_set_structure_channel_positions_list):
* gst/playback/gstdecodebin.c: (dynamic_create):
* gst/playback/gstplaybasebin.c: (setup_source), (mute_group_type):
* gst/playback/gststreaminfo.c: (gst_stream_info_set_mute):
Fixes for API changes in core.
2005-07-20 17:16:54 +00:00
Wim Taymans
ee345636bc gst-libs/gst/audio/: Make sure the audio clock always returns an increasing value.
Original commit message from CVS:
* gst-libs/gst/audio/TODO:
* gst-libs/gst/audio/gstaudioclock.c: (gst_audio_clock_init),
(gst_audio_clock_get_internal_time):
* gst-libs/gst/audio/gstaudioclock.h:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_init), (gst_base_audio_sink_dispose),
(gst_base_audio_sink_get_time), (gst_base_audio_sink_event),
(gst_base_audio_sink_render),
(gst_base_audio_sink_create_ringbuffer),
(gst_base_audio_sink_change_state):
Make sure the audio clock always returns an increasing value.
2005-07-20 09:08:05 +00:00