2005-06-29 10:56:25 +00:00
|
|
|
<!-- ##### SECTION Title ##### -->
|
|
|
|
gstringbuffer
|
|
|
|
|
|
|
|
<!-- ##### SECTION Short_Description ##### -->
|
2005-09-16 01:02:39 +00:00
|
|
|
an implementation of an audio ringbuffer
|
2005-06-29 10:56:25 +00:00
|
|
|
|
|
|
|
<!-- ##### SECTION Long_Description ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<!-- ##### SECTION See_Also ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
2005-12-06 19:28:24 +00:00
|
|
|
<!-- ##### SECTION Stability_Level ##### -->
|
|
|
|
|
|
|
|
|
2005-06-29 10:56:25 +00:00
|
|
|
<!-- ##### STRUCT GstRingBuffer ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@cond:
|
2005-08-29 19:32:19 +00:00
|
|
|
@open:
|
2005-06-29 10:56:25 +00:00
|
|
|
@acquired:
|
|
|
|
@data:
|
|
|
|
@spec:
|
|
|
|
@segstate:
|
|
|
|
@samples_per_seg:
|
|
|
|
@empty_seg:
|
|
|
|
@state:
|
2005-07-07 11:29:29 +00:00
|
|
|
@segdone:
|
Updated seek example.
Original commit message from CVS:
* docs/libs/tmpl/gstringbuffer.sgml:
* examples/seeking/seek.c: (make_vorbis_theora_pipeline),
(query_rates), (query_positions_elems), (query_positions_pads),
(update_scale), (do_seek):
Updated seek example.
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet),
(gst_ogg_pad_submit_page), (gst_ogg_demux_activate_chain),
(gst_ogg_demux_find_chains), (gst_ogg_demux_send_event),
(gst_ogg_demux_loop):
Push out correct discont values.
* ext/theora/theoradec.c: (theora_dec_src_convert),
(theora_dec_sink_convert), (theora_dec_src_getcaps),
(theora_dec_sink_event), (theora_handle_type_packet),
(theora_handle_header_packet), (theora_dec_push),
(theora_handle_data_packet), (theora_dec_chain),
(theora_dec_change_state):
Better timestamping.
* ext/vorbis/vorbisdec.c: (gst_vorbis_dec_init),
(vorbis_dec_sink_event), (vorbis_dec_push),
(vorbis_handle_data_packet), (vorbis_dec_chain):
* ext/vorbis/vorbisdec.h:
Better timestamping.
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_get_time), (gst_base_audio_sink_get_times),
(gst_base_audio_sink_event), (gst_base_audio_sink_render):
Handle syncing on timestamps instead of sample offsets. Make
use of DISCONT values as described in design docs.
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_get_time):
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_acquire),
(gst_ring_buffer_set_sample), (gst_ring_buffer_commit),
(gst_ring_buffer_read):
* gst-libs/gst/audio/gstringbuffer.h:
* sys/ximage/ximagesink.c: (gst_ximagesink_get_times),
(gst_ximagesink_show_frame):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_times):
Correcly convert buffer timestamp to stream time.
2005-07-16 14:47:27 +00:00
|
|
|
@segbase:
|
2005-06-29 10:56:25 +00:00
|
|
|
@waiting:
|
|
|
|
|
|
|
|
<!-- ##### STRUCT GstRingBufferClass ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@parent_class:
|
2005-08-29 19:32:19 +00:00
|
|
|
@open_device:
|
2005-06-29 10:56:25 +00:00
|
|
|
@acquire:
|
|
|
|
@release:
|
2005-08-29 19:32:19 +00:00
|
|
|
@close_device:
|
2005-07-07 11:29:29 +00:00
|
|
|
@start:
|
2005-06-29 10:56:25 +00:00
|
|
|
@pause:
|
|
|
|
@resume:
|
|
|
|
@stop:
|
|
|
|
@delay:
|
|
|
|
|
2005-12-01 01:29:46 +00:00
|
|
|
<!-- ##### FUNCTION gst_ring_buffer_set_callback ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@buf:
|
|
|
|
@cb:
|
|
|
|
@user_data:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_ring_buffer_acquire ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@buf:
|
|
|
|
@spec:
|
|
|
|
@Returns:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_ring_buffer_release ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@buf:
|
|
|
|
@Returns:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_ring_buffer_is_acquired ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@buf:
|
|
|
|
@Returns:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_ring_buffer_start ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@buf:
|
|
|
|
@Returns:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_ring_buffer_pause ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@buf:
|
|
|
|
@Returns:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_ring_buffer_stop ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@buf:
|
|
|
|
@Returns:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_ring_buffer_delay ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@buf:
|
|
|
|
@Returns:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_ring_buffer_samples_done ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@buf:
|
|
|
|
@Returns:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_ring_buffer_set_sample ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@buf:
|
|
|
|
@sample:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_ring_buffer_commit ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@buf:
|
|
|
|
@sample:
|
|
|
|
@data:
|
|
|
|
@len:
|
|
|
|
@Returns:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_ring_buffer_prepare_read ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@buf:
|
|
|
|
@segment:
|
|
|
|
@readptr:
|
|
|
|
@len:
|
|
|
|
@Returns:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_ring_buffer_clear ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@buf:
|
|
|
|
@segment:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_ring_buffer_advance ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@buf:
|
|
|
|
@advance:
|
|
|
|
|
|
|
|
|