Commit graph

3310 commits

Author SHA1 Message Date
Wim Taymans
94828d9ac6 tools/gst-launch.c: When we got an error, there is no point in waiting for preroll when shutting down.
Original commit message from CVS:
* tools/gst-launch.c: (main):
When we got an error, there is no point in waiting for preroll when
shutting down.
2007-07-03 17:01:51 +00:00
Wim Taymans
4cc7b818fd plugins/elements/gsttee.c: Be a lot smarter when deciding what srcpad to use for proxying the buffer_alloc. Also hand...
Original commit message from CVS:
* plugins/elements/gsttee.c: (gst_tee_base_init),
(gst_tee_request_new_pad), (gst_tee_release_pad),
(gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
(gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
(gst_tee_chain):
Be a lot smarter when deciding what srcpad to use for proxying
the buffer_alloc. Also handle pad added/removed when doing so.
Fixes #357959.
Keep track of what pads we already pushed on in case we have pads
added/removed while pushing. Fixes #374639
* tests/check/Makefile.am:
* tests/check/elements/tee.c: (handoff), (GST_START_TEST),
(tee_suite):
Added unit test for pad resync.
2007-07-03 16:26:29 +00:00
Thomas Vander Stichele
f26d1795b9 po/: Updated translations.
Original commit message from CVS:
* po/nl.po:
* po/sv.po:
Updated translations.
2007-07-01 21:31:18 +00:00
Thomas Vander Stichele
5a992c1370 po/: Added new Finnish translation.
Original commit message from CVS:
translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
* po/LINGUAS:
* po/fi.po:
Added new Finnish translation.
2007-07-01 21:30:09 +00:00
Wim Taymans
45bed69a60 plugins/elements/gstmultiqueue.c: When figuring out when a queue is filled, use our internal time estimate based on s...
Original commit message from CVS:
* plugins/elements/gstmultiqueue.c: (apply_buffer),
(single_queue_overrun_cb):
When figuring out when a queue is filled, use our internal time estimate
based on segments, just like check_full does.
2007-06-28 11:25:17 +00:00
Jan Schmidt
4b239eb63b Mention bug 430682 closed by previous commit.
Original commit message from CVS:

Mention bug 430682 closed by previous commit.
2007-06-27 11:47:46 +00:00
Stefan Kost
d661fd332c gst/gstminiobject.c: Remove 3 do-nothing methods.
Original commit message from CVS:
* gst/gstminiobject.c: (gst_mini_object_get_type):
Remove 3 do-nothing methods.
2007-06-27 11:43:04 +00:00
Tim Angus
463f0b09f3 plugins/elements/gstcapsfilter.c: Take a reference instead of a copy when setting "caps".
Original commit message from CVS:
Patch by: Tim Angus <tim at ngus dot net>
* plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
(gst_capsfilter_set_property):
Take a reference instead of a copy when setting "caps".
Fix documentation to clarify this behaviour. Fixes #449414.
2007-06-27 11:24:08 +00:00
Stefan Kost
1756e6aa87 gst/: Remove empty instance_init() functions to save relocs and lessen the noise. Remove some of the function prototy...
Original commit message from CVS:
* gst/gstindexfactory.c: (gst_index_factory_get_type):
* gst/gstplugin.c: (gst_plugin_init):
* gst/gstpluginfeature.c: (gst_plugin_feature_init):
* gst/gstquery.c: (gst_query_get_type):
* gst/gstregistry.c: (gst_registry_init):
* gst/gsturi.c: (gst_uri_handler_base_init):
Remove empty instance_init() functions to save relocs and lessen the
noise. Remove some of the function prototypes that are doubled by
G_DEFINE_TYPE.
2007-06-27 10:12:14 +00:00
Étienne Noreau-Hébert
8aff242e77 gst/gstghostpad.c: Add peer and direction in the XML serialisation of ghostpads.
Original commit message from CVS:
Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
* gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
Add peer and direction in the XML serialisation of ghostpads.
Fixes #449226.
2007-06-27 09:34:01 +00:00
Stefan Kost
90f4e13ae7 configure.ac: Preserve useful information, thanks Tim.
Original commit message from CVS:
* configure.ac:
Preserve useful information, thanks Tim.
2007-06-26 16:24:20 +00:00
Jan Schmidt
afebd394fa plugins/elements/gstmultiqueue.*: Take the multiqueue lock when updating the fill level so we don't get confused.
Original commit message from CVS:
* plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
(gst_single_queue_flush), (apply_segment), (apply_buffer),
(gst_single_queue_push_one), (gst_multi_queue_loop),
(gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
(gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
(compute_high_id), (gst_single_queue_new):
* plugins/elements/gstmultiqueue.h:
Take the multiqueue lock when updating the fill level so we don't get
confused.
After applying a buffer or event on the src pad segment, make sure to
call gst_data_queue_limits_changed() to get the data queue to unblock
and check the filled state again.
Rework the not-linked pad handling so the logic is that not-linked
pads can push as fast as they like, but only so they never get
ahead of any linked pads.
* tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
(mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
(run_output_order_test), (GST_START_TEST), (multiqueue_suite):
Add a test to check that not-linked pads always stay behind
linked pads.
2007-06-26 14:45:15 +00:00
Jan Schmidt
5c14a4f3d8 docs/random/release: Some updates to the release procedure.
Original commit message from CVS:
* docs/random/release:
Some updates to the release procedure.
2007-06-26 11:57:23 +00:00
Stefan Kost
0aeac41ffd gst/gstelementfactory.c: Microoptimization that saves stunning 80 bytes.
Original commit message from CVS:
* gst/gstelementfactory.c: (__gst_element_details_clear):
Microoptimization that saves stunning 80 bytes.
2007-06-26 08:26:36 +00:00
Stefan Kost
c38d50ed06 docs/plugins/: Update docs with caps info.
Original commit message from CVS:
* docs/plugins/gstreamer-plugins.args:
* docs/plugins/inspect/plugin-coreelements.xml:
* docs/plugins/inspect/plugin-coreindexers.xml:
Update docs with caps info.
2007-06-25 12:35:46 +00:00
Thomas Vander Stichele
961278918e po/it.po: Updated Italian translation.
Original commit message from CVS:
* po/it.po:
Updated Italian translation.
2007-06-23 22:56:28 +00:00
Thomas Vander Stichele
aefa676451 po/: Update Vietnamese translations.
Original commit message from CVS:
* ChangeLog:
* po/vi.po:
Update Vietnamese translations.
2007-06-23 11:15:11 +00:00
Tim-Philipp Müller
1a87e450ee libs/gst/base/gstbasesink.c: Remove unused signal enum.
Original commit message from CVS:
* libs/gst/base/gstbasesink.c:
Remove unused signal enum.
2007-06-21 22:37:27 +00:00
Jan Schmidt
71766af8c2 Beef up and include the docs for gst_type_register_static_full and gst_element_class_set_details_simple and add the A...
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstelement.c:
* gst/gstutils.c: (gst_type_register_static_full):
Beef up and include the docs for gst_type_register_static_full and
gst_element_class_set_details_simple and add the API keyword
in the ChangeLog.
2007-06-21 16:39:01 +00:00
Wim Taymans
a689b50cab plugins/elements/gstmultiqueue.c: Fix setting max-* properties after adding queues.
Original commit message from CVS:
* plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
(update_time_level), (gst_single_queue_push_one),
(gst_multi_queue_chain), (gst_multi_queue_sink_event),
(single_queue_overrun_cb), (single_queue_underrun_cb),
(single_queue_check_full):
Fix setting max-* properties after adding queues.
Use IS_FILLED for checking visible items.
Signal overrun if multiple queues overrun.
Add extra debug output.
Patch by: Wim Taymans <wim@fluendo.com>
2007-06-21 14:35:03 +00:00
Stefan Kost
9eeb1c8e2b Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_class_set_details_simple):
* gst/gstelement.h:
* gst/gstutils.c: (gst_type_register_static_full):
* gst/gstutils.h:
* plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
* plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
* plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
* plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
* plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
* plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
* plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
* plugins/elements/gstidentity.c: (gst_identity_base_init):
* plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
* plugins/elements/gstqueue.c: (gst_queue_base_init),
(apply_buffer), (gst_queue_chain):
* plugins/elements/gsttee.c: (gst_tee_base_init):
* plugins/elements/gsttypefindelement.c:
(gst_type_find_element_base_init),
(gst_type_find_element_class_init):
Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
2007-06-21 14:29:05 +00:00
Tim-Philipp Müller
9dd0ba7c8f docs/pwg/advanced-types.xml: Fix typo in iana.org URI.
Original commit message from CVS:
* docs/pwg/advanced-types.xml:
Fix typo in iana.org URI.
2007-06-21 09:46:02 +00:00
Andy Wingo
4e1c9c226a tests/check/pipelines/simple-launch-lines.c
Original commit message from CVS:
2007-06-19  Andy Wingo  <wingo@pobox.com>

* tests/check/pipelines/simple-launch-lines.c
(test_state_change_returns): Enable pull-mode tests now that
basesink has been fixed.

* libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
Changed from gst_base_sink_is_prerolled, reversing the sense of
the return value. Returns FALSE also if the sink is in pull mode,
in which case it needs no preroll.
(gst_base_sink_query, gst_base_sink_change_state): Update for
needs_preroll change.
(gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
chaining up, in which we return SUCCESS directly if we activated
in pull mode instead of ASYNC. Involves countering an async_start
message sent before chaining up; not sure if this is correct, in
an ideal world we only send async-start when activating in push
mode.
2007-06-19 21:58:30 +00:00
Andy Wingo
b0c2d05640 tests/check/pipelines/simple-launch-lines.c
Original commit message from CVS:
2007-06-19  Andy Wingo  <wingo@pobox.com>

* tests/check/pipelines/simple-launch-lines.c
(test_state_change_returns): New test, partially disabled until
basesink is fixed.
2007-06-19 21:28:54 +00:00
Wim Taymans
919dfdbfb3 plugins/elements/gstmultiqueue.c: Fix event leak.
Original commit message from CVS:
* plugins/elements/gstmultiqueue.c: (apply_buffer),
(gst_multi_queue_sink_event):
Fix event leak.
2007-06-19 16:05:11 +00:00
Wim Taymans
e599053491 gst/gstbin.c: Move the common code for posting state-change messages into one function.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
(gst_bin_change_state_func), (bin_push_state_continue),
(bin_handle_async_start), (bin_handle_async_done),
(gst_bin_handle_message_func):
Move the common code for posting state-change messages into
one function.
Broadcast the state signal after we posted the messages.
Mark the bin as busy when it's doing a state-change.
Make sure async-start/done messages don't interfere with the bin's
state when it's busy.
After the state change, let the bin check which elements completed the
state change while it was busy so that it can update its state.
2007-06-19 10:41:33 +00:00
Jan Schmidt
1c0bafd86f docs/random/release: Add a note about updating the doap file to the release checklist
Original commit message from CVS:
* docs/random/release:
Add a note about updating the doap file to the release checklist
2007-06-19 10:38:39 +00:00
Wim Taymans
d6efd96ec4 plugins/elements/gstmultiqueue.c: Make sure we don't reference the buffer/event after we have given away ownership in...
Original commit message from CVS:
* plugins/elements/gstmultiqueue.c: (apply_buffer),
(gst_single_queue_push_one), (gst_multi_queue_chain),
(gst_multi_queue_sink_event):
Make sure we don't reference the buffer/event after we have given away
ownership in the queue.
2007-06-18 16:44:07 +00:00
Wim Taymans
8fb713783b plugins/elements/gstmultiqueue.c: Update queue state _after_ adding the item in the queue because else we could end u...
Original commit message from CVS:
* plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
(gst_multi_queue_chain), (gst_multi_queue_sink_event):
Update queue state _after_ adding the item in the queue because else we
could end up being full without the element added yet.
2007-06-18 15:15:32 +00:00
Wim Taymans
0b3153873b gst/gstbin.*: Immediatly commit the toplevel bin state when receiving an async-done message. This enables us to avoid...
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
(gst_bin_remove_func), (gst_bin_get_state_func),
(gst_bin_element_set_state), (gst_bin_continue_func),
(bin_push_state_continue), (bin_handle_async_start),
(bin_handle_async_done), (gst_bin_handle_message_func):
* gst/gstbin.h:
Immediatly commit the toplevel bin state when receiving an async-done
message. This enables us to avoid spawning a thread to commit the state
in some common cases and it also avoids some races.
Avoid spawning a state thread when adding/removing async elements to a
toplevel bin. Instead we immediatly update the bin state.
Get rid of iterating all the children when getting the state in the bin
because it is now always up-to-date.
Fix bug where locked elements would always return _SUCCESS even it they
returned NO_PREROLL before being locked.
Fix the order of the state_change, async-start/done messages that was
sometimes incorrect.
Mark the state_dirty field as deprecated, we don't need it anymore as we
are always up-to-date.
* gst/gstelement.c: (gst_element_get_state_func),
(gst_element_continue_state):
Small debug inprovements.
Return the previous element state return when nothing is pending instead
of blindly returning SUCCESS.
* tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
(gst_sinks_suite):
Add a whole bunch of new testcases.
2007-06-18 15:12:28 +00:00
Thomas Vander Stichele
43efcf4222 po/: Update translations.
Original commit message from CVS:
* po/uk.po:
* po/vi.po:
Update translations.
2007-06-17 17:26:48 +00:00
Jan Schmidt
ba9acc9b57 gst/gstpad.c: Fix typo in the docs.
Original commit message from CVS:
* gst/gstpad.c:
Fix typo in the docs.
2007-06-15 14:37:28 +00:00
Wim Taymans
864d257e83 docs/libs/gstreamer-libs-sections.txt: Add docs for new methods.
Original commit message from CVS:
* docs/libs/gstreamer-libs-sections.txt:
Add docs for new methods.
2007-06-15 11:49:24 +00:00
Wim Taymans
b0801cc962 plugins/elements/gstmultiqueue.c: Don't use GSlice because we don't depend on >= 2.10 yet.
Original commit message from CVS:
* plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
(gst_multi_queue_item_new):
Don't use GSlice because we don't depend on >= 2.10 yet.
2007-06-15 11:35:22 +00:00
Wim Taymans
7eeb31033d plugins/elements/gstmultiqueue.c: Remove debug printf.
Original commit message from CVS:
* plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
(update_time_level), (apply_segment), (apply_buffer),
(gst_single_queue_push_one), (gst_multi_queue_item_new),
(gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
(gst_multi_queue_sink_event), (single_queue_overrun_cb),
(single_queue_underrun_cb), (single_queue_check_full):
Remove debug printf.
2007-06-15 11:09:38 +00:00
Wim Taymans
0a3da772bb libs/gst/base/gstdataqueue.*: Various cleanups.
Original commit message from CVS:
* libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
(gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
(gst_data_queue_set_flushing), (gst_data_queue_push),
(gst_data_queue_pop), (gst_data_queue_drop_head),
(gst_data_queue_limits_changed), (gst_data_queue_get_level):
* libs/gst/base/gstdataqueue.h:
Various cleanups.
Added methods to get the current levels and to inform the queue that the
'full' limits changed.
* plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
(gst_multi_queue_finalize), (gst_multi_queue_set_property),
(gst_single_queue_flush), (update_time_level), (apply_segment),
(apply_buffer), (gst_single_queue_push_one),
(gst_multi_queue_item_steal_object),
(gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
(gst_multi_queue_loop), (gst_multi_queue_chain),
(gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
(gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
(gst_multi_queue_src_query), (single_queue_overrun_cb),
(single_queue_underrun_cb), (single_queue_check_full),
(gst_single_queue_new):
Keep track of time in the queue by measuring the difference between
running_time on input and output. This gives more accurate results and
can compensate for segments correctly.
Make a queue by default only 5 buffers deep. We will now increase the
buffer size depending on the filledness of the other queues.
Factor out commong flush code.
Make sure we don't add additional refcounts to buffers when we can avoid
it.
Propagate GstFlowReturn differently.
Use GSlice for intermediate GstMultiQueueItems.
Keep track of EOS.
Resize queues on over and underruns based on filled level of other
queues.
When checking if the queue is filled, prefer to measure in time if we
can and fall back to bytes when no time is known.
* plugins/elements/gstqueue.c:
Fix return value.
2007-06-15 11:00:32 +00:00
Wim Taymans
58cc3d675b libs/gst/base/gstbasetransform.c: Work around the brokenness of the event vmethod in basetransform. Prefer to return ...
Original commit message from CVS:
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_sink_event):
Work around the brokenness of the event vmethod in basetransform. Prefer
to return TRUE when the subclass returned FALSE (meaning don't forward
the event).
* libs/gst/base/gstbasetransform.h:
Clarify the docs.
2007-06-15 10:48:19 +00:00
Wim Taymans
3d4e515e77 Improve debugging.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
* libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
(gst_base_src_default_query), (gst_base_src_get_range),
(gst_base_src_start):
* tests/check/pipelines/parse-launch.c: (setup_pipeline):
Improve debugging.
2007-06-15 10:43:51 +00:00
Stefan Kost
0caaa7deee docs/pwg/advanced-types.xml: Added more formats to caps table.
Original commit message from CVS:
* docs/pwg/advanced-types.xml:
Added more formats to caps table.
2007-06-15 07:27:00 +00:00
Stefan Kost
ce6c77cf48 tools/gst-launch.c: Remove crufy code. GOption does not need this workaround.
Original commit message from CVS:
* tools/gst-launch.c: (main):
Remove crufy code. GOption does not need this workaround.
2007-06-15 07:02:04 +00:00
Stefan Kost
fd12f4b150 libs/gst/controller/gstcontroller.c: Fix wrong getter for enums in controller.
Original commit message from CVS:
* libs/gst/controller/gstcontroller.c:
(gst_controlled_property_set_interpolation_mode):
Fix wrong getter for enums in controller.
2007-06-14 20:29:09 +00:00
Tim-Philipp Müller
b896ba8452 libs/gst/check/gstcheck.c: Intercept criticals and warnings in the Gst-Phonon log domain, so
Original commit message from CVS:
* libs/gst/check/gstcheck.c: (gst_check_init):
Intercept criticals and warnings in the Gst-Phonon log domain, so
ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
well.
2007-06-14 17:36:19 +00:00
Edward Hervey
032bd4cbd8 gst/gstparamspecs.c: Since this file doesn't include "gst.h" it will not go through the macros that disable GST_LOG i...
Original commit message from CVS:
* gst/gstparamspecs.c: (_gst_param_fraction_validate):
Since this file doesn't include "gst.h" it will not go through the
macros that disable GST_LOG if debugging was disabled.
2007-06-14 16:07:09 +00:00
Tim-Philipp Müller
3ee7f4c8a4 Ugly 'fix' for the controller unit test on the p5 bot: in fail_unless_equals_float() check whether the values are 'al...
Original commit message from CVS:
* libs/gst/check/Makefile.am:
* libs/gst/check/gstcheck.h:
* pkgconfig/gstreamer-check-uninstalled.pc.in:
* pkgconfig/gstreamer-check.pc.in:
Ugly 'fix' for the controller unit test on the p5 bot: in
fail_unless_equals_float() check whether the values are 'almost
equal' by allowing a small absolute error, which should be good
enough for our use cases (normal numbers and values close to 0).
Proper fixage left to floating point arithmetic aficionados.
2007-06-14 15:56:03 +00:00
Stefan Kost
86e3999647 libs/gst/base/gstbasesink.c: Add two breaks thats where missing.
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
(gst_base_sink_render_object), (gst_base_sink_get_position):
Add two breaks thats where missing.
2007-06-14 12:03:44 +00:00
Tim-Philipp Müller
9dc9602829 API: add fail_unless_equals_float() and assert_equals_float().
Original commit message from CVS:
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/check/gstcheck.h:
API: add fail_unless_equals_float() and assert_equals_float().
Add documentation for some of the macros.
* tests/check/libs/controller.c: (GST_START_TEST):
Use newly-added asserts.
2007-06-14 11:56:44 +00:00
Stefan Kost
239d09ecdc gst/gstpad.c: Show the caps change in the log to help spotting the case of not exactly matching caps.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
Show the caps change in the log to help spotting the case of not
exactly matching caps.
2007-06-14 10:33:28 +00:00
Tim-Philipp Müller
1b343395e7 docs/pwg/building-boiler.xml: Fix typos, spotted by Thijs Vermeir (#447190).
Original commit message from CVS:
* docs/pwg/building-boiler.xml:
Fix typos, spotted by Thijs Vermeir (#447190).
2007-06-14 08:52:51 +00:00
Jan Schmidt
72d16840ae docs/plugins/tmpl/.cvsignore: Ignore file to keep the buildbots happy
Original commit message from CVS:
* docs/plugins/tmpl/.cvsignore:
Ignore file to keep the buildbots happy
2007-06-13 16:15:23 +00:00
Jan Schmidt
146df0eccb docs/plugins/: Pull fdsink into the docs too.
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gstreamer-plugins-docs.sgml:
* docs/plugins/gstreamer-plugins-sections.txt:
Pull fdsink into the docs too.
2007-06-13 15:39:53 +00:00