Commit graph

7834 commits

Author SHA1 Message Date
Jan Schmidt
1a404945ac gst/gstclock.c: Move all the debug to the CLOCK category, and associate it with the clock object.
Original commit message from CVS:
* gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
Move all the debug to the CLOCK category, and associate it with
the clock object.
2007-03-29 16:04:45 +00:00
Jan Schmidt
d3c98affb0 libs/gst/base/gstadapter.c: Make take_buffer a bit quicker by removing redundant checks caused by calling gst_adapter...
Original commit message from CVS:
* libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
Make take_buffer a bit quicker by removing redundant checks
caused by calling gst_adapter_take.
2007-03-29 15:53:03 +00:00
Tim-Philipp Müller
df244cef04 plugins/elements/gstmultiqueue.c: Don't leak GCond.
Original commit message from CVS:
* plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
Don't leak GCond.
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/multiqueue.c: (setup_multiqueue),
(GST_START_TEST), (multiqueue_suite):
Add some dead simple unit tests for the 'multiqueue' element
(some bits don't work yet and are disabled for now).
2007-03-28 18:38:11 +00:00
Tim-Philipp Müller
799bc90b1f gst/gstelement.c: Make gst_element_get_request_pad() create request pads only for request pad templates and not for, ...
Original commit message from CVS:
* gst/gstelement.c: (gst_element_get_request_pad),
(gst_element_class_get_request_pad_template):
Make gst_element_get_request_pad() create request pads only for
request pad templates and not for, say, sometimes pad templates.
2007-03-28 18:25:16 +00:00
Stefan Kost
df19b21c56 docs/design/draft-klass.txt: Add example that needs more thinking.
Original commit message from CVS:
* docs/design/draft-klass.txt:
Add example that needs more thinking.
* docs/design/draft-missing-plugins.txt:
More thoughts about wtrapper plugins.
* docs/random/ensonic/embedded.txt:
* docs/random/ensonic/profiling.txt:
More design work.
2007-03-28 13:44:41 +00:00
Wim Taymans
462f32dd4a libs/gst/base/gstbasesrc.c: Only push the segment events in the PLAYING state for live sources.
Original commit message from CVS:
* libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
(gst_base_src_loop):
Only push the segment events in the PLAYING state for live sources.
2007-03-25 15:33:35 +00:00
Jan Schmidt
cf4a1965da gst/gstpipeline.c: Modify the clock distribution path in PAUSED->PLAYING so that we never attempt to choose a new clo...
Original commit message from CVS:
* gst/gstpipeline.c: (gst_pipeline_change_state):
Modify the clock distribution path in PAUSED->PLAYING so that we
never attempt to choose a new clock unless we're actually leaving
the PAUSED state for the first time. This prevents choosing a
different clock when the state_change gets called for a 2nd time due
to some element doing an async state change.
2007-03-23 17:52:19 +00:00
Sebastian Dröge
12111f3107 gst/gstpad.c: Revert last commit. This needs some more thoughts.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
(gst_pad_configure_src), (gst_pad_alloc_buffer_full),
(gst_pad_chain_unchecked), (gst_pad_push):
Revert last commit. This needs some more thoughts.
2007-03-22 18:28:00 +00:00
Sebastian Dröge
0c34057ee5 gst/gstpad.c: Check in set_caps if the caps are compatible with the pad and remove two functions that are redundant n...
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
(gst_pad_chain_unchecked), (gst_pad_push):
Check in set_caps if the caps are compatible with the pad and remove
two functions that are redundant now. Fixes #421543.
2007-03-22 17:12:23 +00:00
Wim Taymans
79e426d5f9 tests/check/gst/gstsystemclock.c: Unref some more to make valgrind happy.
Original commit message from CVS:
* tests/check/gst/gstsystemclock.c: (GST_START_TEST),
(mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
Unref some more to make valgrind happy.
2007-03-22 12:31:54 +00:00
Wim Taymans
94054fc1b7 gst/gstsystemclock.c: Fix anoying regression that survived a few releases. When adding an async entry while blocking ...
Original commit message from CVS:
* gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
(gst_system_clock_id_wait_jitter),
(gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
Fix anoying regression that survived a few releases. When adding an
async entry while blocking on a sync entry, the sync entry will unblock
but still be busy, so it should continue to wait instead of returning
_BUSY to the app.
Add some comments here and there.
* tests/check/gst/gstsystemclock.c: (mixed_thread),
(mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
Add testcase for this.
2007-03-22 11:58:08 +00:00
Wim Taymans
631c5a95de libs/gst/base/gstbasesrc.c: Handle errors from the clock sync better, only UNSCHEDULED indicates a
Original commit message from CVS:
* libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
Handle errors from the clock sync better, only UNSCHEDULED indicates a
WRONG_STATE and can silently pause the task. All other cases should
error out.
2007-03-22 11:19:32 +00:00
Wim Taymans
88c8547b67 gst/gstpad.c: Fix possible deadlock if pad eventfunc is not specified. Fixes #421177.
Original commit message from CVS:
Patch by: <syrjala at sci dot fi>
* gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
Improve debugging.
2007-03-22 08:23:41 +00:00
Michael Smith
b20f57c44e docs/pwg/advanced-types.xml: Fix some errors in the typefinding docs pointed out on irc.
Original commit message from CVS:
* docs/pwg/advanced-types.xml:
Fix some errors in the typefinding docs pointed out on irc.
2007-03-21 18:13:40 +00:00
Jan Schmidt
8e36ce0940 libs/gst/base/gstbasesrc.c: Clarify FIXME comment in the face of having added unlock_stop()
Original commit message from CVS:
* libs/gst/base/gstbasesrc.c:
Clarify FIXME comment in the face of having added unlock_stop()
2007-03-21 17:50:46 +00:00
Wim Taymans
9f3b0b8f3a gst/gstbin.c: Prepare for release where we warn against possible app breakage in the case of live pipelines along wit...
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
Prepare for release where we warn against possible app breakage in the
case of live pipelines along with an env var to enable/disable live
preroll mode (GST_COMPAT=[no-]live-preroll).
2007-03-21 11:52:04 +00:00
Zaheer Abbas Merali
dab34ba05e plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset): So we should use correct constants for checking...
Original commit message from CVS:
* plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
So we should use correct constants for checking for None offset.
2007-03-20 14:25:15 +00:00
Wim Taymans
f7a3f36f76 docs/design/part-block.txt: Mention the fact that the newly switched element should be set to at least PAUSED.
Original commit message from CVS:
* docs/design/part-block.txt:
Mention the fact that the newly switched element should be set to at
least PAUSED.
2007-03-20 14:17:47 +00:00
Wim Taymans
5a8fd3e688 gst/gst.c: Fix compilation with registry disabled as spotted by Saur.
Original commit message from CVS:
* gst/gst.c:
Fix compilation with registry disabled as spotted by Saur.
2007-03-20 10:23:25 +00:00
Olivier Crete
2b3ea5e9d8 gst/gstelement.c: Look at the pending state too when syncing the element state to the parent. Fixes #420133.
Original commit message from CVS:
Patch by: Olivier Crete <tester at tester dot ca>
* gst/gstelement.c: (gst_element_sync_state_with_parent):
Look at the pending state too when syncing the element state to the
parent. Fixes #420133.
2007-03-20 09:46:11 +00:00
Jan Schmidt
c248d1dba0 libs/gst/base/: Add ::unlock_stop to basesrc and basesink. This allows an opportunity for sub-classes to correctly cl...
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
(gst_base_sink_change_state):
* libs/gst/base/gstbasesink.h:
* libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
(gst_base_src_default_event), (gst_base_src_unlock_stop),
(gst_base_src_deactivate):
* libs/gst/base/gstbasesrc.h:
Add ::unlock_stop to basesrc and basesink. This allows an opportunity
for sub-classes to correctly clear any state they set trying to
unlock, such as clearing out unlock commands from a command fd.
* plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
(gst_fd_sink_render), (gst_fd_sink_unlock),
(gst_fd_sink_unlock_stop):
* plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
(gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
(gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
Implement unlock_stop in fdsrc and fdsink.
Implement seeking in fdsrc when a seekable fd is passed, as in
gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
2007-03-19 15:01:40 +00:00
Evan Nemerson
e447f17955 gst/gstelement.c: Fix pad-added and pad-removed signal signatures so that the pad type is stated as GST_TYPE_PAD inst...
Original commit message from CVS:
Patch by: Evan Nemerson <evan at coeus dash group dot com>
* gst/gstelement.c: (gst_element_class_init):
Fix pad-added and pad-removed signal signatures so that the pad type is
stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
2007-03-19 12:07:32 +00:00
Wim Taymans
d14c4c4a67 docs/gst/gstreamer-sections.txt: Add new element field and method.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
Add new element field and method.
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
(bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
(gst_bin_recalc_state), (gst_bin_get_state_func),
(gst_bin_element_set_state), (gst_bin_change_state_func),
(gst_bin_continue_func), (bin_bus_handler),
(bin_push_state_continue), (bin_handle_async_start),
(bin_handle_async_done), (gst_bin_handle_message_func):
Make async state changes a bit smarter by using new ASYNC_START and
ASYNC_DONE messages. This reduces the number of times we run the state
recalculation thread.
Don't change state of element with a pending ASYNC_START message.
Deprecate STATE_DIRTY messages.
* gst/gstelement.c: (gst_element_init), (gst_element_send_event),
(gst_element_get_state_func), (gst_element_continue_state),
(gst_element_lost_state), (gst_element_set_state_func),
(gst_element_change_state):
* gst/gstelement.h:
Keep the state that was last set by the app in a new element field.
Don't allow state changes when handling an element event.
Post ASYNC_START and ASYNC_DONE messages.
Change lost_state so that we go to PAUSED and wait for the parent to set
us to PLAYING again (so latency calculation can be performed)
Export gst_element_change_state() method so that subclasses can use it.
API: gst_element_change_state()
API: GST_STATE_TARGET
* gst/gstpipeline.c: (gst_pipeline_class_init),
(reset_stream_time), (gst_pipeline_change_state),
(gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
Using the new ASYNC_START message we can reset the base_time when
needed. This can then be used to implement base_time redistribution in
flushing seeks so that we can remove the explicit seek handling.
Perform latency query and configuration when going to PLAYING.
* libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
(gst_base_sink_query), (gst_base_sink_change_state):
Post new ASYNC_START/ASYNC_DONE messages.
* tests/check/generic/sinks.c: (GST_START_TEST):
Fix test because the bin will not set the async element to PLAYING right
away.
* tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
Make the message check a little stronger.
Handle ASYNC messages.
* tests/check/pipelines/cleanup.c: (GST_START_TEST):
* tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
Expect ASYNC_DONE messages.
2007-03-19 10:47:56 +00:00
Wim Taymans
d66263996d Add ASYNC_START and ASYNC_DONE messages to prepare for latency support.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstmessage.c: (gst_message_new_async_start),
(gst_message_new_async_done), (gst_message_parse_info),
(gst_message_parse_async_start):
* gst/gstmessage.h:
Add ASYNC_START and ASYNC_DONE messages to prepare for latency
support.
2007-03-19 09:55:02 +00:00
Thomas Vander Stichele
1b6708fae4 typos
Original commit message from CVS:
typos
2007-03-15 22:33:14 +00:00
Tim-Philipp Müller
fc9c9d0e51 tools/gst-inspect.c: Now that we don't check for the 'Codec' keyword any longer in the klass, we shouldn't spew a war...
Original commit message from CVS:
* tools/gst-inspect.c:
(print_plugin_automatic_install_info_codecs):
Now that we don't check for the 'Codec' keyword any longer in the
klass, we shouldn't spew a warning if the klass isn't a decoder or
encoder (since it might be a Source/Network, for example).
2007-03-15 12:37:50 +00:00
Tim-Philipp Müller
4b70d9f187 tools/gst-inspect.c: Don't require decoder/demuxer/depayloader elements or encoder/muxer/paylader elements to have 'C...
Original commit message from CVS:
* tools/gst-inspect.c:
(print_plugin_automatic_install_info_codecs):
Don't require decoder/demuxer/depayloader elements or
encoder/muxer/paylader elements to have 'Codec' as part of their
factory class string when introspecting a plugin's capabilities.
draft-klass.txt mentions that it might be removed in future, and
flump3dec doesn't have it as part of its class string, so chances
are others might also not have it.
2007-03-14 17:24:18 +00:00
Thomas Vander Stichele
94f4c60fcd update i18n doc
Original commit message from CVS:
update i18n doc
2007-03-14 15:42:01 +00:00
Thomas Vander Stichele
4df7b403d3 reformat
Original commit message from CVS:
reformat
2007-03-14 15:17:09 +00:00
Thomas Vander Stichele
453591023b po/: Update translations from translation project
Original commit message from CVS:
* po/af.po:
* po/az.po:
* po/bg.po:
* po/ca.po:
* po/cs.po:
* po/de.po:
* po/en_GB.po:
* po/fr.po:
* po/it.po:
* po/nb.po:
* po/nl.po:
* po/ru.po:
* po/sq.po:
* po/sr.po:
* po/sv.po:
* po/tr.po:
* po/uk.po:
* po/vi.po:
* po/zh_CN.po:
* po/zh_TW.po:
Update translations from translation project
2007-03-14 15:15:45 +00:00
Stefan Kost
08b70416cb gst/gstchildproxy.c: Invert precondition check to be alike the ones in the mimiced gobject api.
Original commit message from CVS:
* gst/gstchildproxy.c: (gst_child_proxy_get_property),
(gst_child_proxy_set_property):
Invert precondition check to be alike the ones in the mimiced gobject
api.
2007-03-14 13:40:28 +00:00
Thomas Vander Stichele
852774ec6c fix misleading log statement
Original commit message from CVS:
fix misleading log statement
2007-03-14 11:21:48 +00:00
Stefan Kost
08afeb6120 docs/: Do some Architect work.
Original commit message from CVS:
* docs/design/draft-tagreading.txt:
* docs/random/ensonic/audiobaseclasses.txt:
Do some Architect work.
* gst/gstobject.c: (gst_object_set_name):
Add a WARNING.
* gst/gstpad.c:
Add docs that point from gst_pad_get_range to gst_pad_pull_range
2007-03-13 14:53:21 +00:00
Jan Schmidt
2792895411 gst/gstsystemclock.c: Defer starting the async system clock thread until the first async wait is scheduled. Fixes #41...
Original commit message from CVS:
* gst/gstsystemclock.c: (gst_system_clock_init),
(gst_system_clock_start_async), (gst_system_clock_id_wait_async):
Defer starting the async system clock thread until the first async
wait is scheduled. Fixes #414986.
2007-03-12 15:27:05 +00:00
Tim-Philipp Müller
750c02ad0e plugins/elements/gstmultiqueue.c: Fix small leak (free GstSingleQueue structure too, not only contents).
Original commit message from CVS:
* plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
(gst_single_queue_free):
Fix small leak (free GstSingleQueue structure too, not only contents).
2007-03-12 14:23:16 +00:00
Sébastien Moutte
25b5fc7a7a gst/gstbin.c: Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
Original commit message from CVS:
* gst/gstbin.c:(gst_bin_add):
Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
* win32/common/libgstbase.def:
* win32/common/libgstreamer.def:
Add new exported functions.
2007-03-10 15:44:44 +00:00
Wim Taymans
dbc750a141 docs/plugins/gstreamer-plugins-sections.txt: Fix GstTee docs.
Original commit message from CVS:
* docs/plugins/gstreamer-plugins-sections.txt:
Fix GstTee docs.
2007-03-09 16:39:29 +00:00
Wim Taymans
db43de1985 Add metadata copy functions. Fixes #393099.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
* gst/gstbuffer.h:
Add metadata copy functions. Fixes #393099.
* gst/gstutils.c: (gst_buffer_stamp):
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_prepare_output_buffer):
Use new metadata copy functions.
2007-03-09 16:30:38 +00:00
Thomas Vander Stichele
3a151c24d1 plugins/elements/gstidentity.*: Separate out check-imperfect-timestamp and check-imperfect-offset.
Original commit message from CVS:
* plugins/elements/gstidentity.c: (gst_identity_class_init),
(gst_identity_init), (gst_identity_check_perfect),
(gst_identity_check_imperfect_timestamp),
(gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
(gst_identity_set_property), (gst_identity_get_property):
* plugins/elements/gstidentity.h:
Separate out check-imperfect-timestamp and check-imperfect-offset.
Put back check-perfect as it was to keep compatibility.
2007-03-09 14:20:25 +00:00
Jan Schmidt
ab99622d95 gst/gstelement.c: There's no need to warn if VOID_PENDING is not NONE here, as long as the state is NULL it's ok, and...
Original commit message from CVS:
* gst/gstelement.c: (gst_element_dispose):
There's no need to warn if VOID_PENDING is not NONE here, as
long as the state is NULL it's ok, and that's checked immediately
above.
2007-03-09 12:34:46 +00:00
Zaheer Abbas Merali
953db65b3b plugins/elements/gstidentity.c: Fix check for perfect stream to ignore buffers with -1 offsets/offset ends when check...
Original commit message from CVS:
2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

* plugins/elements/gstidentity.c: (gst_identity_check_perfect):
Fix check for perfect stream to ignore buffers with -1
offsets/offset ends when checking data contiguity.
2007-03-08 17:58:57 +00:00
Wim Taymans
0c16a9954e tools/gst-launch.c: Print INFO messages.
Original commit message from CVS:
* tools/gst-launch.c: (event_loop):
Print INFO messages.
2007-03-08 16:26:44 +00:00
Wim Taymans
ecc37d9389 libs/gst/base/gstbasetransform.*: Add support for dropping buffers with custom GstFlowReturn.
Original commit message from CVS:
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_sink_eventfunc),
(gst_base_transform_handle_buffer), (gst_base_transform_chain),
(gst_base_transform_activate):
* libs/gst/base/gstbasetransform.h:
Add support for dropping buffers with custom GstFlowReturn.
Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
buffers or dropped buffers.
* docs/libs/gstreamer-libs-sections.txt:
docs for new custom return code.
* plugins/elements/gstidentity.c: (gst_identity_transform_ip):
Use drop support in base class to implement drop-probability.
2007-03-08 11:40:18 +00:00
Tim-Philipp Müller
a6510349d4 gst/: Remove newlines at end of debug log strings.
Original commit message from CVS:
* gst/gst.c: (load_plugin_func):
* gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
* gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
* gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
Remove newlines at end of debug log strings.
2007-03-07 17:26:49 +00:00
Zaheer Abbas Merali
beefb6c9cd plugins/elements/gstidentity.c: Only post bus message at max, once per buffer received.
Original commit message from CVS:
2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

* plugins/elements/gstidentity.c: (gst_identity_check_perfect):
Only post bus message at max, once per buffer received.
2007-03-07 17:14:53 +00:00
Wim Taymans
88be8ba00f docs/design/: Add doc about synchronisation
Original commit message from CVS:
* docs/design/Makefile.am:
* docs/design/part-synchronisation.txt:
Add doc about synchronisation
* docs/design/draft-latency.txt:
* docs/design/part-TODO.txt:
* docs/design/part-clocks.txt:
* docs/design/part-events.txt:
* docs/design/part-gstbus.txt:
* docs/design/part-gstpipeline.txt:
* docs/design/part-live-source.txt:
* docs/design/part-messages.txt:
* docs/design/part-overview.txt:
* docs/design/part-streams.txt:
* docs/design/part-trickmodes.txt:
Documentation updates.
2007-03-07 17:13:17 +00:00
Jan Schmidt
afac0e6e73 gstreamer.doap: Update the doap file.
Original commit message from CVS:
* gstreamer.doap:
Update the doap file.
2007-03-07 17:09:57 +00:00
Zaheer Abbas Merali
ca0e536e17 plugins/elements/gstidentity.c: Rename non-perfect to imperfect for Mike and for the sanctity of the language.
Original commit message from CVS:
2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

* plugins/elements/gstidentity.c: (gst_identity_check_perfect):
Rename non-perfect to imperfect for Mike and for the sanctity of
the language.
Also make sure bus message gets emitted for data-incontiguities.
2007-03-07 17:02:51 +00:00
Zaheer Abbas Merali
ae43843436 plugins/elements/gstidentity.*: Emit bus message if check-perfect is true and we encounter a non-perfect stream betwe...
Original commit message from CVS:
2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

* plugins/elements/gstidentity.c: (gst_identity_check_perfect),
(gst_identity_start):
* plugins/elements/gstidentity.h:
Emit bus message if check-perfect is true and we encounter a
non-perfect stream between 2 consecutive buffers.
Fixes #415394.
2007-03-07 16:58:42 +00:00
Jan Schmidt
b1f78eff4e configure.ac: Back to CVS
Original commit message from CVS:
* configure.ac:
Back to CVS
2007-03-07 16:55:02 +00:00