Commit graph

575 commits

Author SHA1 Message Date
Wim Taymans
1ec9399318 libs/gst/base/gstbasesink.c: Expose the render-delay as a property so things like appsink can use it to tweak the syn...
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
(gst_base_sink_init), (gst_base_sink_set_property),
(gst_base_sink_get_property):
Expose the render-delay as a property so things like appsink can use it
to tweak the synchronisation.
2008-12-15 12:47:59 +00:00
Wim Taymans
b90bef8ee5 libs/gst/base/gstbasetransform.*: Add vmethod that is called before we start the transform and which can be used to c...
Original commit message from CVS:
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_prepare_output_buffer),
(gst_base_transform_getrange), (gst_base_transform_chain):
* libs/gst/base/gstbasetransform.h:
Add vmethod that is called before we start the transform and which can
be used to configure the transform, such as dynamic properties.
2008-12-08 18:35:44 +00:00
Stefan Kost
95e825900f libs/gst/base/gstbasesink.c: Turn comment into gtk-doc comment.
Original commit message from CVS:
* libs/gst/base/gstbasesink.c:
Turn comment into gtk-doc comment.
2008-11-24 20:02:55 +00:00
Wim Taymans
c577a143b9 libs/gst/base/gstbasetransform.c: Revert quick accepcaps attempt, it's not fully equivalent to the old behaviour and ...
Original commit message from CVS:
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_acceptcaps):
Revert quick accepcaps attempt, it's not fully equivalent to the old
behaviour and thus causes regressions.
2008-11-24 15:27:55 +00:00
Wim Taymans
0cca473acf libs/gst/base/gstbasetransform.c: Rename a variable to make the code clearer.
Original commit message from CVS:
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_acceptcaps):
Rename a variable to make the code clearer.
2008-11-22 15:09:20 +00:00
Wim Taymans
c0e491cdca libs/gst/base/gstbasetransform.c: Add beginnings of a more optimized acceptcaps function than the default core one.
Original commit message from CVS:
* libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
(gst_base_transform_getcaps), (gst_base_transform_find_transform),
(gst_base_transform_acceptcaps), (gst_base_transform_getrange):
Add beginnings of a more optimized acceptcaps function than the default
core one.
2008-11-21 17:14:48 +00:00
Wim Taymans
94752eaefd libs/gst/base/gstbasesink.c: Changing the render delay changes the latency and so we must post a latency message.
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_set_render_delay):
Changing the render delay changes the latency and so we must post a
latency message.
2008-11-20 14:23:05 +00:00
Wim Taymans
3cc67ebab7 gst/gstbuffer.c: Avoid costly typechecking for trivially correct pointers.
Original commit message from CVS:
* gst/gstbuffer.c: (gst_buffer_finalize):
Avoid costly typechecking for trivially correct pointers.
* gst/gstpoll.c: (gst_poll_wait):
Add some G_LIKELY here and there.
* libs/gst/base/gstadapter.c: (gst_adapter_push):
Add some debug info.
2008-11-13 18:09:45 +00:00
Wim Taymans
0a71170006 Copy seqnums from events to messages so that they can all be related back to eachother.
Original commit message from CVS:
* gst/gstbin.c: (bin_handle_async_start),
(gst_bin_handle_message_func), (gst_bin_query):
* libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
(gst_base_sink_event), (gst_base_sink_change_state):
* libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
(gst_base_src_loop), (gst_base_src_change_state):
Copy seqnums from events to messages so that they can all be related
back to eachother.
2008-11-04 15:56:55 +00:00
Wim Taymans
8798ea2cca libs/gst/base/gstbasetransform.c: If we have a fixate function, call it even if we already have fixed caps because th...
Original commit message from CVS:
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_find_transform), (gst_base_transform_getrange):
If we have a fixate function, call it even if we already have fixed caps
because the subclass might add some caps. Makes audioconvert add a
default channel layout.
2008-10-27 15:02:48 +00:00
Wim Taymans
8d871b9c1d libs/gst/base/gstbasetransform.c: Clear the output buffer variable.
Original commit message from CVS:
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_prepare_output_buffer),
(gst_base_transform_getrange):
Clear the output buffer variable.
Cleanups to the error path in the getrange function.
Fixes #557649.
2008-10-24 09:41:19 +00:00
Sebastian Dröge
d3cb47b923 libs/gst/base/gstbytereader.c: Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own copies of them.
Original commit message from CVS:
* libs/gst/base/gstbytereader.c:
Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
copies of them.
2008-10-23 07:11:54 +00:00
Sebastian Dröge
61ee0f414a API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data to get a pointer to the data at the current position ...
Original commit message from CVS:
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
(gst_byte_reader_peek_data):
* libs/gst/base/gstbytereader.h:
* win32/common/libgstbase.def:
API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
to get a pointer to the data at the current position and have
a guaranteed size.
2008-10-22 14:47:04 +00:00
Jan Schmidt
446e8cb5e6 libs/gst/base/: Fix the names of 2 functions in the docs strings.
Original commit message from CVS:
* libs/gst/base/gstbitreader.c:
* libs/gst/base/gstbytereader.c:
Fix the names of 2 functions in the docs strings.
2008-10-22 13:47:20 +00:00
Wim Taymans
f59b56f75d libs/gst/base/gstbasetransform.c: Protect sink_alloc caps with the sinkpad lock to avoid nasty caps refcount problems...
Original commit message from CVS:
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_prepare_output_buffer),
(gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
refcount problems as seen in banshee and maybe also in farsight2.
Remove atomic int now that we need to take the lock anyways.
2008-10-21 16:30:41 +00:00
Wim Taymans
ca9ccf1d02 libs/gst/base/gstbasesink.c: Implement more seeking in pull mode.
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
(gst_base_sink_default_prepare_seek_segment),
(gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
(gst_base_sink_get_position_paused), (gst_base_sink_get_position),
(gst_base_sink_query):
Implement more seeking in pull mode.
Use pad convert functions to convert position to the requested format.
Fix position/duration reporting in pull mode.
Implement position and duration reporting in other formats than time.
* libs/gst/base/gstbasesink.h:
Add member to keep track of when the segment is playing.
2008-10-20 15:18:14 +00:00
Wim Taymans
b8609a7a76 libs/gst/base/gstbasesrc.c: Update comment.
Original commit message from CVS:
* libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
Update comment.
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_handle_buffer),
(gst_base_transform_reconfigure):
Add some debug info.
* win32/common/libgstbase.def:
Add new method.
2008-10-20 13:29:06 +00:00
Stefan Kost
7198e34ee1 libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
Original commit message from CVS:
* libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
Remove duplicated assignment and log a message in failure case.
2008-10-19 19:57:25 +00:00
Wim Taymans
4561f3bf47 libs/gst/base/gstbasesink.c: Query the total number of bytes when activating the pad in pull mode.
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
(gst_base_sink_query):
Query the total number of bytes when activating the pad in pull mode.
Implement duration query in pull mode by using the installed pad convert
function to convert from bytes to the requested format.
2008-10-17 13:27:59 +00:00
Wim Taymans
fe07568997 Add method to commit the state in subclasses.
Original commit message from CVS:
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
(gst_base_sink_flush_start), (gst_base_sink_flush_stop),
(gst_base_sink_event), (gst_base_sink_perform_seek),
(gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
(gst_base_sink_send_event), (gst_base_sink_change_state):
* libs/gst/base/gstbasesink.h:
Add method to commit the state in subclasses.
Refactor the flush_start and flush_stop code because we need it for
flushing while seeking too.
Implement the beginnings of seeking in pull mode.
Use the segment last_stop field for the pulling offset.
Fix the pause method in pull mode.
Configure the segment to BYTES for pull mode.
API: GstBaseSink::gst_base_sink_do_preroll()
2008-10-16 14:09:18 +00:00
Wim Taymans
63b0da36b5 libs/gst/base/gstbasesrc.c: Update some docs.
Original commit message from CVS:
* libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
Update some docs.
2008-10-16 13:56:52 +00:00
Wim Taymans
a739ae387d docs/design/part-negotiation.txt: Update the docs some more.
Original commit message from CVS:
* docs/design/part-negotiation.txt:
Update the docs some more.
* libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
If we pull a buffer with non-trivial caps, suggest those caps with the
max probability.
2008-10-10 15:12:11 +00:00
Wim Taymans
bc8e367885 gst/gstbin.c: The message src can be NULL, don't try to print the object names in that case.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_remove_func), (update_degree),
(gst_bin_handle_message_func):
The message src can be NULL, don't try to print the object names in that
case.
* libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
Add some more debug info.
* tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
(GST_START_TEST):
Add some debug.
Fix the test, pull based sinks go ASYNC to PAUSED, just like other
scheduling modes.
2008-10-10 10:38:12 +00:00
Wim Taymans
b3403511ea docs/design/part-negotiation.txt: Small doc update.
Original commit message from CVS:
* docs/design/part-negotiation.txt:
Small doc update.
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
(gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
(gst_base_sink_init), (gst_base_sink_set_blocksize),
(gst_base_sink_get_blocksize), (gst_base_sink_set_property),
(gst_base_sink_get_property), (gst_base_sink_needs_preroll),
(gst_base_sink_loop), (gst_base_sink_pad_activate),
(gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
(gst_base_sink_change_state):
* libs/gst/base/gstbasesink.h:
Add blocksize property and methods to control the amount of data
to pull.
Negotiate first before activating upstream in pull mode so that they can
negotiate themselves.
When we operate in pull mode, we only accept the caps that we
negotiated.
Make the sink go ASYNC to PAUSED, like all other sinks.
API: GstBaseSink::gst_base_sink_set_blocksize()
API: GstBaseSink::gst_base_sink_get_blocksize()
API: GstBaseSink::blocksize
* libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
(gst_base_src_set_live), (gst_base_src_is_live),
(gst_base_src_set_format), (gst_base_src_query_latency),
(gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
(gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
(gst_base_src_set_property), (gst_base_src_get_property):
* libs/gst/base/gstbasesrc.h:
Add typechecking in public API functions.
Add methods to control the blocksize in subclasses.
API: GstBaseSrc::gst_base_src_set_blocksize()
API: GstBaseSrc::gst_base_src_get_blocksize()
2008-10-10 10:01:36 +00:00
Wim Taymans
1fb53a23a1 libs/gst/base/gstbasesink.c: Forward LATENCY events upstreams so that elements know about the total pipeline latency....
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
Forward LATENCY events upstreams so that elements know about the total
pipeline latency. Fixes #555307.
2008-10-08 14:21:13 +00:00
Sebastian Dröge
2ba1f3a6a2 libs/gst/base/gstbytereader.c: Use new GST_READ_UINT24_(LE|BE) macros.
Original commit message from CVS:
* libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
(gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
(gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
(gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
(gst_byte_reader_peek_int24_be):
Use new GST_READ_UINT24_(LE|BE) macros.
2008-10-07 12:26:40 +00:00
Sebastian Dröge
b377c58e43 Add bit reader and byte reader classes, including documentation and an extensive unit test suite. Fixes bug #553554.
Original commit message from CVS:
* docs/libs/gstreamer-libs-docs.sgml:
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/base/Makefile.am:
* libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
(gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
(gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
(gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
(gst_bit_reader_get_remaining), (gst_bit_reader_skip),
(gst_bit_reader_skip_to_byte):
* libs/gst/base/gstbitreader.h:
* libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
(GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
(gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
(gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
(gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
(gst_byte_reader_get_remaining), (gst_byte_reader_skip),
(gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
(gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
(gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
(gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
(gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
(gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
* libs/gst/base/gstbytereader.h:
* tests/check/Makefile.am:
* tests/check/libs/bitreader.c: (GST_START_TEST),
(gst_bit_reader_suite):
* tests/check/libs/bytereader.c: (GST_START_TEST),
(gst_byte_reader_suite):
Add bit reader and byte reader classes, including documentation
and an extensive unit test suite. Fixes bug #553554.
2008-10-06 12:41:53 +00:00
Wim Taymans
a4b27adb00 libs/gst/base/gstbasesink.c: Improve position reporting while flushing and other intermediate state changes. Fixes #5...
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
(gst_base_sink_query):
Improve position reporting while flushing and other intermediate state
changes. Fixes #553874.
2008-10-06 08:58:25 +00:00
Jan Schmidt
86db1f680c Fix assertion in basetransform when the subclass chooses not to allocate a buffer in prepare_buffer(), and make capsf...
Original commit message from CVS:
* libs/gst/base/gstbasetransform.c:
* plugins/elements/gstcapsfilter.c:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/capsfilter.c:
Fix assertion in basetransform when the subclass chooses not to
allocate a buffer in prepare_buffer(), and make capsfilter error out
cleanly if requested to apply caps that don't completely specify the
buffer. Fixes #551509
2008-09-28 21:19:15 +00:00
Wim Taymans
c2552e7d0d libs/gst/base/gstbasetransform.c: Take new caps ref because our old one might have been gone when the subclass perfor...
Original commit message from CVS:
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_prepare_output_buffer):
Take new caps ref because our old one might have been gone when the
subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
2008-09-24 15:03:40 +00:00
Wim Taymans
f0ce6a40ad libs/gst/base/gstbasesrc.c: Use the result from gst_pad_set_caps() instead of assuming the element always accepted th...
Original commit message from CVS:
* libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
Use the result from gst_pad_set_caps() instead of assuming the element
always accepted the caps computed by the default negotiate function.
2008-08-21 11:17:05 +00:00
Wim Taymans
8337ce91aa Implement method for reconfiguring basetransform.
Original commit message from CVS:
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_handle_buffer), (gst_base_transform_getrange),
(gst_base_transform_chain), (gst_base_transform_suggest),
(gst_base_transform_reconfigure):
* libs/gst/base/gstbasetransform.h:
Implement method for reconfiguring basetransform.
API: GstBaseTransform::gst_base_transform_reconfigure()
2008-08-20 10:52:09 +00:00
Wim Taymans
e93b94afdf libs/gst/base/gstbasesink.c: Improve position reporting in the flushing state.
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
(gst_base_sink_event), (gst_base_sink_chain_unlocked),
(gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
(gst_base_sink_get_position), (gst_base_sink_change_state):
Improve position reporting in the flushing state.
Also report the position when we are not yet prerolled but we
have a newsegment event. Fixes #543444.
Improve the pull-based negotiation code.
* tests/check/elements/fakesink.c: (GST_START_TEST),
(fakesink_suite):
Add testcase for position reporting while flushing in PAUSED and
PLAYING.
* tests/check/generic/sinks.c: (GST_START_TEST):
Update unit-test, we can now query the position as soon as we receive a
NEWSEGMENT event.
2008-08-19 16:47:07 +00:00
Jason Zhao
b981ec6e09 libs/gst/base/gstbasesink.c: When the subclass event handler releases the PREROLL_LOCK, we could be in the flushing s...
Original commit message from CVS:
Based on patch by: Jason Zhao <e3423c at motorola dot com>
* libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
When the subclass event handler releases the PREROLL_LOCK, we could be
in the flushing state and we have to ignore the event. Fixes #548394.
2008-08-19 08:52:05 +00:00
Wim Taymans
077d96dec3 libs/gst/base/gstbasetransform.c: If the element is configured in passthrough mode but the prepare_output_buffer gave...
Original commit message from CVS:
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_prepare_output_buffer):
If the element is configured in passthrough mode but the
prepare_output_buffer gave us a new output buffer, discard that buffer
and reuse the input buffer.
2008-08-18 09:59:18 +00:00
Wim Taymans
e580f95831 libs/gst/base/gstbasetransform.c: Go over the buffer_alloc function again and make sure we always end up allocating a...
Original commit message from CVS:
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_prepare_output_buffer),
(gst_base_transform_buffer_alloc):
Go over the buffer_alloc function again and make sure we always end up
allocating a buffer.
Add some more docs.
Avoid doing pad alloc when we have a pending suggestion because we
cannot yet deal with changing caps in that case. Fixes #547728
2008-08-14 16:37:29 +00:00
Wim Taymans
dc9983cbea libs/gst/base/gstbasetransform.c: Don't overwrite the outsize when calculating the expected size of a new buffer beca...
Original commit message from CVS:
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_transform_caps),
(gst_base_transform_prepare_output_buffer),
(gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
Don't overwrite the outsize when calculating the expected size of a new
buffer because we still need it in case we cannot process the new
buffer.
When converting the size of the new buffer to an upstream size, actually
use the expected size of the buffer, not some other random value.
Use an atomic int to signal that a new upstream caps suggestion is
available.
When we can convert the current buffer to a new format, check if the
buffer size is of the expected size and allocate a new buffer of the
expected size when this is not the case.
* tests/check/libs/transform1.c: (GST_START_TEST):
remove ifdeffed code from the unit test.
2008-08-14 13:57:58 +00:00
Stefan Kost
4711f2c4fa libs/gst/base/: Fix headings in docs and gtk-doc warnings.
Original commit message from CVS:
* libs/gst/base/gstbasesrc.c:
* libs/gst/base/gstbasetransform.c:
Fix headings in docs and gtk-doc warnings.
2008-08-12 06:16:02 +00:00
Edward Hervey
6b16636203 libs/gst/base/gstbasetransform.c: Fix a "may be used unitialized" warning.
Original commit message from CVS:
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_buffer_alloc):
Fix a "may be used unitialized" warning.
2008-08-11 15:14:28 +00:00
Wim Taymans
30f8603645 docs/libs/gstreamer-libs-sections.txt: Add new function:
Original commit message from CVS:
* docs/libs/gstreamer-libs-sections.txt:
Add new function:
API: GstBaseTransform::gst_base_transform_suggest()
* libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
(gst_base_transform_init), (gst_base_transform_transform_caps),
(gst_base_transform_transform_size),
(gst_base_transform_configure_caps),
(gst_base_transform_can_transform),
(gst_base_transform_find_transform), (gst_base_transform_setcaps),
(gst_base_transform_prepare_output_buffer),
(gst_base_transform_buffer_alloc),
(gst_base_transform_handle_buffer), (gst_base_transform_getrange),
(gst_base_transform_chain), (gst_base_transform_activate),
(gst_base_transform_set_passthrough),
(gst_base_transform_is_passthrough),
(gst_base_transform_set_in_place),
(gst_base_transform_is_in_place), (gst_base_transform_update_qos),
(gst_base_transform_set_qos_enabled),
(gst_base_transform_is_qos_enabled),
(gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
(gst_base_transform_reconfigure):
* libs/gst/base/gstbasetransform.h:
Rewrite of basetransform to perform negotiation outside of the
buffer_alloc functions.  Fixes #545853.
* tests/check/libs/transform1.c: (GST_START_TEST),
(buffer_alloc_ct2):
Update unit test.
2008-08-05 11:11:00 +00:00
Thijs Vermeir
100b75f909 libs/gst/base/gstbasesrc.h: revert the changes to the header file for the ABI.
Original commit message from CVS:
* libs/gst/base/gstbasesrc.h:
revert the changes to the header file for the ABI.
2008-07-24 15:13:24 +00:00
Thijs Vermeir
4d9689b66a libs/gst/base/gstbasesrc.*: Don't cache the seekable status.
Original commit message from CVS:
* libs/gst/base/gstbasesrc.c:
* libs/gst/base/gstbasesrc.h:
Don't cache the seekable status.
Fixes bug #544174
2008-07-24 14:47:58 +00:00
Wim Taymans
bfb7bace38 libs/gst/base/gsttypefindhelper.c: Increase code readability.
Original commit message from CVS:
* libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
Increase code readability.
Don't try to compare buffer offsets when ther are invalid.
2008-06-20 11:24:03 +00:00
Wim Taymans
6624a8de12 Add method to allow sinks to specify additional delay between the sync times and the actual rendering of the data.
Original commit message from CVS:
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/base/gstbasesink.c: (gst_base_sink_init),
(gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
(gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
(gst_base_sink_do_sync):
* libs/gst/base/gstbasesink.h:
* win32/common/libgstbase.def:
Add method to allow sinks to specify additional delay between the sync
times and the actual rendering of the data.
API: gst_base_sink_set_render_delay()
API: gst_base_sink_get_render_delay()
2008-06-20 08:54:45 +00:00
Wim Taymans
8cd06f8770 libs/gst/base/gstbasesink.c: If we have not seen a buffer before EOS, use the segment values to report the current po...
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
(gst_base_sink_wait_eos), (gst_base_sink_event):
If we have not seen a buffer before EOS, use the segment values to
report the current position instead of invalid positions.
2008-06-20 08:28:46 +00:00
Wim Taymans
1380508f53 libs/gst/base/gstbasetransform.c: Add debug info.
Original commit message from CVS:
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_class_init), (gst_base_transform_init),
(gst_base_transform_transform_caps),
(gst_base_transform_prepare_output_buffer):
Add debug info.
When a buffer is writable, its metadata is also writable so we don't
need to subbuffer (which then makes the buffer not-writable anymore).
2008-06-20 08:14:23 +00:00
Wim Taymans
f01c4d6201 libs/gst/base/gstbasesink.c: Add some debug.
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
(gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
Add some debug.
Make sure we don't generate invalid QoS messages.
2008-06-04 11:47:16 +00:00
Wim Taymans
a866e9d33b libs/gst/base/gstbasesink.c: The reported position must always be smaller than the last seen timestamps (or timestamp...
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
(gst_base_sink_get_position):
The reported position must always be smaller than the last seen
timestamps (or timestamp + duration for reverse).
2008-05-30 15:48:52 +00:00
Wim Taymans
5cba5bdbf1 libs/gst/base/gstbasesink.c: Fix position query range checks in reverse playback.
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
(gst_base_sink_get_position_last), (gst_base_sink_get_position):
Fix position query range checks in reverse playback.
2008-05-29 16:34:22 +00:00
Bjarne Rosengren
eae0c4cb9a libs/gst/base/gstbasesrc.c: Make sending an EOS event to the basesrc non-blocking even if the implementation does blo...
Original commit message from CVS:
Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
* libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
(gst_base_src_get_range), (gst_base_src_pad_get_range),
(gst_base_src_loop), (gst_base_src_set_flushing),
(gst_base_src_change_state):
Make sending an EOS event to the basesrc non-blocking even if the
implementation does blocking waits in the create function. This is done
by unlocking the create function when EOS is sent.
Fixes #535218.
2008-05-28 13:48:17 +00:00