- 05 Feb, 2007 1 commit
-
-
Andy Wingo authored
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!
-
- 12 Jan, 2007 1 commit
-
-
Andy Wingo authored
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.
-
- 06 Jan, 2007 1 commit
-
-
Andy Wingo authored
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.
-
- 13 Nov, 2006 1 commit
-
-
Wim Taymans authored
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.
-
- 18 Oct, 2006 1 commit
-
-
Wim Taymans authored
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.
-
- 13 Oct, 2006 1 commit
-
-
Ville Syrjala authored
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.
-
- 05 Oct, 2006 1 commit
-
-
Tim-Philipp Müller authored
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.
-
- 28 Sep, 2006 1 commit
-
-
Wim Taymans authored
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.
-
- 27 Sep, 2006 2 commits
-
-
Wim Taymans authored
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.
-
Wim Taymans authored
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.
-
- 15 Sep, 2006 2 commits
-
-
Wim Taymans authored
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.
-
Wim Taymans authored
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().
-
- 24 Jul, 2006 2 commits
-
-
Wim Taymans authored
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.
-
Wim Taymans authored
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.
-
- 06 Jul, 2006 1 commit
-
-
Wim Taymans authored
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.
-
- 03 Jun, 2006 1 commit
-
-
Jan Schmidt authored
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.
-
- 28 Apr, 2006 1 commit
-
-
Wim Taymans authored
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.
-
- 10 Apr, 2006 1 commit
-
-
Wim Taymans authored
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.
-
- 23 Mar, 2006 1 commit
-
-
Wim Taymans authored
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.
-
- 22 Mar, 2006 1 commit
-
-
Wim Taymans authored
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.
-
- 17 Mar, 2006 1 commit
-
-
Wim Taymans authored
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.
-
- 28 Feb, 2006 1 commit
-
-
Wim Taymans authored
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.
-
- 17 Feb, 2006 1 commit
-
-
Wim Taymans authored
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.
-
- 13 Feb, 2006 1 commit
-
-
Wim Taymans authored
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.
-
- 12 Feb, 2006 1 commit
-
-
Wim Taymans authored
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.
-
- 02 Feb, 2006 3 commits
-
-
Wim Taymans authored
Original commit message from CVS: * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_provide_clock): Ugh.. getting late I guess...
-
Wim Taymans authored
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.
-
Wim Taymans authored
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.
-
- 30 Jan, 2006 1 commit
-
-
Wim Taymans authored
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.
-
- 29 Jan, 2006 1 commit
-
-
Sébastien Moutte authored
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
-
- 25 Jan, 2006 2 commits
-
-
Wim Taymans authored
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.
-
Wim Taymans authored
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.
-
- 17 Jan, 2006 1 commit
-
-
Jan Schmidt authored
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
-
- 20 Dec, 2005 2 commits
-
-
Thomas Vander Stichele authored
Original commit message from CVS: stop making fun of older compilers
-
Thomas Vander Stichele authored
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
-
- 06 Dec, 2005 1 commit
-
-
Thomas Vander Stichele authored
Original commit message from CVS: expand tabs
-
- 28 Nov, 2005 1 commit
-
-
Wim Taymans authored
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.
-
- 23 Nov, 2005 1 commit
-
-
Wim Taymans authored
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.
-
- 22 Nov, 2005 2 commits
-
-
Wim Taymans authored
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...
-
Wim Taymans authored
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.
-