Commit graph

129 commits

Author SHA1 Message Date
Tim-Philipp Müller
d9df74ea3e identity: hack around g_object_notify() bug by protecting it with a lock
Out-of-band events might lead to us calling g_object_notify() from a
non-streaming thread, which can cause crashes if g_object_notify() is
being called from the streaming thread at the same time. See #554460.
2009-05-31 21:30:18 +01:00
Edward Hervey
00cbbc87c7 Remove unused variables detected by LLVM's Clang static analyzer. 2009-04-03 12:56:48 +02:00
Alessandro Decina
c20fb4c16f identity: ignore the return value of gst_pad_event_default when sending out the newsegment event in single-segment mode.
This makes identity single-segment=true ! oggmux work again after a change in
oggmux (commit b0e3d449 in -base).
2009-03-06 12:13:14 +01:00
Stefan Kost
4262f6c641 cleanup: remove unused variables in _class_init() and reindent. 2009-02-05 17:25:01 +02:00
Stefan Kost
9e501b274f plugins/elements/gstidentity.c: Don't warning on offset==-1. Taken from _check_imperfect_offset().
Original commit message from CVS:
* plugins/elements/gstidentity.c:
Don't warning on offset==-1. Taken from _check_imperfect_offset().
2008-11-21 20:57:16 +00:00
Stefan Kost
fa7e7d29a2 plugins/elements/gstidentity.c: Doc typo. Use return value of parent_class->event.
Original commit message from CVS:
* plugins/elements/gstidentity.c:
Doc typo. Use return value of parent_class->event.
* plugins/elements/gsttypefindelement.c:
Chain up at the end for consistency.
2008-10-31 08:53:27 +00:00
Stefan Kost
ef70805d24 plugins/elements/: Remove short_description. Add basic docs for gsttypefindelement.
Original commit message from CVS:
* plugins/elements/gstcapsfilter.c:
* plugins/elements/gstfakesink.c:
* plugins/elements/gstfakesrc.c:
* plugins/elements/gstfdsink.c:
* plugins/elements/gstfdsrc.c:
* plugins/elements/gstfilesink.c:
* plugins/elements/gstfilesrc.c:
* plugins/elements/gstidentity.c:
* plugins/elements/gstmultiqueue.c:
* plugins/elements/gstqueue.c:
* plugins/elements/gsttee.c:
* plugins/elements/gsttypefindelement.c:
Remove short_description. Add basic docs for gsttypefindelement.
Simplify markup for fakesrc/fdsrc.
2008-06-20 10:14:54 +00:00
Sebastian Dröge
64bf111c92 plugins/elements/gstidentity.c: Fix imperfect timestamp/offset checks when we get another NEWSEGMENT event after proc...
Original commit message from CVS:
* plugins/elements/gstidentity.c: (gst_identity_event),
(gst_identity_start):
Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
event after processing some data. Fixes bug #526042.
2008-04-09 08:19:36 +00:00
Mark Nauwelaerts
d82688054e plugins/elements/gstidentity.c: Identity is not always a passthrough element, it can modify the buffer timestamps whe...
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet be>
* plugins/elements/gstidentity.c: (gst_identity_class_init),
(gst_identity_init), (gst_identity_prepare_output_buffer):
Identity is not always a passthrough element, it can modify the buffer
timestamps when it has a datarate and operates in single-segment mode.
We therefore make it an in_place filter with a custom buffer prepare
function that conditionally makes the input buffer metadata writable
when needed.  Fixes #523985.
2008-03-24 16:56:36 +00:00
Sebastian Dröge
b0346dff44 Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and use it everywhere for GParamSpecs that use static...
Original commit message from CVS:
* docs/pwg/advanced-dparams.xml:
* docs/pwg/building-props.xml:
* docs/pwg/other-source.xml:
* gst/glib-compat.h:
* gst/gstbin.c: (gst_bin_class_init):
* gst/gstclock.c: (gst_clock_class_init):
* gst/gstindex.c: (gst_index_class_init):
* gst/gstobject.c: (gst_object_class_init):
* gst/gstpad.c: (gst_pad_class_init):
* gst/gstpipeline.c: (gst_pipeline_class_init):
* libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
* libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_class_init):
* libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
* libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
(_gst_check_fault_handler_sighandler),
(_gst_check_fault_handler_setup), (gst_check_init):
* libs/gst/controller/gstcontroller.c:
(_gst_controller_class_init):
* libs/gst/controller/gstlfocontrolsource.c:
(gst_lfo_control_source_class_init):
* libs/gst/net/gstnetclientclock.c:
(gst_net_client_clock_class_init):
* libs/gst/net/gstnettimeprovider.c:
(gst_net_time_provider_class_init):
* plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
* plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
* plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
* plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
* plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
* plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
* plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
* plugins/elements/gstidentity.c: (gst_identity_class_init):
* plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
* plugins/elements/gstqueue.c: (gst_queue_class_init):
* plugins/elements/gsttee.c: (gst_tee_class_init):
* plugins/elements/gsttypefindelement.c:
(gst_type_find_element_class_init):
* plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
use it everywhere for GParamSpecs that use static strings (i.e. all).
This gives us less memory usage, fewer allocations and thus less
memory defragmentation. Fixes bug #523806.
2008-03-22 14:56:17 +00:00
Sebastian Dröge
2faa733276 Revert previous changes to the behaviour of GstPadTemplates, etc and the possiblity to call them in class_init as it ...
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
(gst_bin_class_init):
* gst/gstelement.c: (gst_element_base_class_init),
(gst_element_class_add_pad_template):
* gst/gstpadtemplate.c: (gst_pad_template_init):
* gst/gstpipeline.c: (gst_pipeline_get_type),
(gst_pipeline_base_init), (gst_pipeline_class_init):
* libs/gst/base/gstbasesink.c:
* libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
(gst_base_src_base_init), (gst_base_src_class_init):
* plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
(gst_capsfilter_class_init):
* plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
(gst_fake_sink_class_init):
* plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
(gst_fake_src_class_init):
* plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
(gst_fd_sink_class_init):
* plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
(gst_fd_src_class_init):
* plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
(gst_file_sink_class_init):
* plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
(gst_file_src_class_init):
* plugins/elements/gstidentity.c: (gst_identity_base_init),
(gst_identity_class_init):
* plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
(gst_multi_queue_class_init):
* plugins/elements/gstqueue.c: (gst_queue_base_init),
(gst_queue_class_init):
* plugins/elements/gsttee.c: (gst_tee_base_init),
(gst_tee_class_init):
* plugins/elements/gsttypefindelement.c:
(gst_type_find_element_base_init),
(gst_type_find_element_class_init):
* tests/check/gst/gstelement.c: (gst_element_suite):
Revert previous changes to the behaviour of GstPadTemplates, etc
and the possiblity to call them in class_init as it breaks too
many elements. Reopens bug #491501.
Should be applied again for 0.11, thus added a few FIXME 0.11 at
several places.
2008-02-05 14:15:15 +00:00
Sebastian Dröge
9db28f8537 Don't use base_init where not absolutely necessary. For example it's not necessary anymore for adding pad templates o...
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
* gst/gstpipeline.c: (gst_pipeline_get_type),
(gst_pipeline_class_init):
* libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
(gst_base_sink_class_init):
* libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
(gst_base_src_class_init):
* libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
(gst_base_transform_class_init):
* libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
(gst_collect_pads_class_init):
* libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
* libs/gst/net/gstnettimeprovider.c:
(gst_net_time_provider_base_init),
(gst_net_time_provider_class_init):
* plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
(gst_capsfilter_class_init):
* plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
(gst_fake_sink_class_init):
* plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
(gst_fake_src_class_init):
* plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
(gst_fd_sink_class_init):
* plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
(gst_fd_src_class_init):
* plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
(gst_file_sink_class_init):
* plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
(gst_file_src_class_init):
* plugins/elements/gstidentity.c: (gst_identity_base_init),
(gst_identity_class_init):
* plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
(gst_multi_queue_class_init):
* plugins/elements/gstqueue.c: (gst_queue_base_init),
(gst_queue_class_init):
* plugins/elements/gsttee.c: (gst_tee_base_init),
(gst_tee_class_init):
* plugins/elements/gsttypefindelement.c:
(gst_type_find_element_base_init),
(gst_type_find_element_class_init):
Don't use base_init where not absolutely necessary. For example it's
not necessary anymore for adding pad templates or setting element
details.
Leave empty base_init functions in several places as GST_BOILERPLATE
still defines and uses them.
2008-02-03 12:04:37 +00:00
Laurent Glayal
54ff34dc2d plugins/elements/gstidentity.*: Add property to disable handoff signal emission. Fixes #498694.
Original commit message from CVS:
Patch by: Laurent Glayal <spglegle at yahoo dot fr>
* plugins/elements/gstidentity.c: (gst_identity_class_init),
(gst_identity_init), (gst_identity_transform_ip),
(gst_identity_set_property), (gst_identity_get_property):
* plugins/elements/gstidentity.h:
Add property to disable handoff signal emission. Fixes #498694.
API: GstIdentity::signal-handoffs
2007-11-21 13:27:50 +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
Wim Taymans
4a39d4d4dd plugins/elements/gstidentity.c: Don't overflow in retimestamping code.
Original commit message from CVS:
* plugins/elements/gstidentity.c: (gst_identity_transform_ip):
Don't overflow in retimestamping code.
2007-06-08 11:00:59 +00:00
Stefan Kost
b7e503a7f9 docs/: Correct fixxrefs options.
Original commit message from CVS:
* docs/gst/Makefile.am:
* docs/libs/Makefile.am:
Correct fixxrefs options.
* docs/plugins/Makefile.am:
* docs/plugins/gstreamer-plugins-docs.sgml:
* docs/plugins/gstreamer-plugins-sections.txt:
* plugins/elements/Makefile.am:
* plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
* plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
_GstCapsFilterClass, trans_class):
* plugins/elements/gstelements.c (name, rank, type, _elements):
* plugins/elements/gstidentity.c
(gst_identity_check_imperfect_timestamp,
gst_identity_check_imperfect_offset):
Document capsfilter and add doc-blurb to identity.
2007-05-06 18:27:25 +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
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
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
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
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
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
Tim-Philipp Müller
4c3c22418f plugins/elements/gstidentity.c: Print additional debug info when the stream isn't perfectly timestamped; don't try to...
Original commit message from CVS:
* plugins/elements/gstidentity.c: (gst_identity_check_perfect):
Print additional debug info when the stream isn't perfectly
timestamped; don't try to use invalid durations.
2006-12-16 19:33:26 +00:00
Wim Taymans
dd3b41efe1 libs/gst/net/: Stop reading commands when EOF as well.
Original commit message from CVS:
* libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
* libs/gst/net/gstnettimeprovider.c:
(gst_net_time_provider_thread):
Stop reading commands when EOF as well.
* plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
* plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
* plugins/elements/gstidentity.c: (gst_identity_class_init):
Unify description of the dump property.
2006-09-29 08:22:22 +00:00
Michael Smith
fa5a96c7e2 plugins/elements/gstidentity.c: Revert previous change; I misunderstood single-segment mode.
Original commit message from CVS:
* plugins/elements/gstidentity.c: (gst_identity_transform_ip):
Revert previous change; I misunderstood single-segment mode.
2006-08-28 18:20:00 +00:00
Michael Smith
094187845a plugins/elements/gstidentity.c: Unset DISCONT on buffers when using single-segment mode.
Original commit message from CVS:
* plugins/elements/gstidentity.c: (gst_identity_transform_ip):
Unset DISCONT on buffers when using single-segment mode.
2006-08-28 18:08:09 +00:00
Wim Taymans
4016e6c577 libs/gst/base/gstbasesrc.c: Small comment update.
Original commit message from CVS:
* libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
Small comment update.
* plugins/elements/gstidentity.c: (gst_identity_class_init),
(gst_identity_transform_ip):
Drop-probability is broken, mention this in the code with a
FIXME and also in the property description.
Make silent also be silent about the drop messages.
2006-08-28 15:48:24 +00:00
Stefan Kost
dc3d1df8ec G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
Original commit message from CVS:
* gst/gstclock.c: (gst_clock_class_init):
* gst/gstindex.c: (gst_index_class_init):
* gst/gstobject.c: (gst_object_class_init):
* gst/gstpad.c: (gst_pad_class_init):
* gst/gstpipeline.c: (gst_pipeline_class_init):
* libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
* libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_class_init):
* libs/gst/net/gstnetclientclock.c:
(gst_net_client_clock_class_init):
* libs/gst/net/gstnettimeprovider.c:
(gst_net_time_provider_class_init):
* plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
* plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
* plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
* plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
* plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
* plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
* plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
* plugins/elements/gstidentity.c: (gst_identity_class_init):
* plugins/elements/gsttee.c: (gst_tee_class_init):
* tests/old/examples/plugins/example.c: (gst_example_class_init):
* tests/old/testsuite/threads/signals.c: (gst_test_class_init):
G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
2006-05-11 18:10:34 +00:00
James Andrewartha
5deab8d3c3 Make sure gstprivate.h and/or config.h are always included first, otherwise some of our defines (like _FILE_OFFSET_BI...
Original commit message from CVS:
Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
* gst/gst.c:
* gst/gstbus.c:
* gst/gstclock.c:
* gst/gstevent.c:
* gst/gstformat.c:
* gst/gstmessage.c:
* gst/gstparse.c:
* gst/gstquery.c:
* gst/gstutils.c:
* gst/parse/Makefile.am:
* libs/gst/base/gstadapter.c:
* libs/gst/base/gstbasesrc.c:
* libs/gst/base/gstpushsrc.c:
* libs/gst/base/gsttypefindhelper.c:
* plugins/elements/gstfakesrc.c:
* plugins/elements/gstidentity.c:
Make sure gstprivate.h and/or config.h are
always included first, otherwise some of our
defines (like _FILE_OFFSET_BITS) might be
redefined in the system headers. Fixes build
on opensolaris (#340016).
2006-05-04 15:20:14 +00:00
Stefan Kost
e90fcdbc80 make GstElementDetails const
Original commit message from CVS:
* gst/gstbin.c:
* gst/gstpipeline.c:
* plugins/elements/gstcapsfilter.c:
* plugins/elements/gstfakesink.c:
* plugins/elements/gstfakesrc.c:
* plugins/elements/gstfdsink.c:
* plugins/elements/gstfdsrc.c:
* plugins/elements/gstfilesink.c:
* plugins/elements/gstfilesrc.c:
* plugins/elements/gstidentity.c:
* plugins/elements/gstqueue.c:
* plugins/elements/gsttee.c:
* plugins/elements/gsttypefindelement.c:
(gst_type_find_element_handle_event):
make GstElementDetails const
2006-04-28 18:55:17 +00:00
Edward Hervey
0042c9dada plugins/elements/gstidentity.c: Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using the single-segment...
Original commit message from CVS:
* plugins/elements/gstidentity.c: (gst_identity_transform_ip):
Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
the single-segment mode.
2006-01-10 15:42:29 +00:00
Wim Taymans
4f15126b53 Small updates to various docs.
Original commit message from CVS:
* docs/manual/basics-pads.xml:
* docs/plugins/Makefile.am:
* docs/plugins/gstreamer-plugins-docs.sgml:
* docs/plugins/gstreamer-plugins-sections.txt:
* docs/pwg/advanced-clock.xml:
* docs/pwg/advanced-scheduling.xml:
* docs/pwg/advanced-types.xml:
* plugins/elements/gstfdsink.c:
* plugins/elements/gstfdsrc.c:
* plugins/elements/gstfdsrc.h:
* plugins/elements/gstidentity.c: (gst_identity_class_init):
* plugins/elements/gstidentity.h:
* plugins/elements/gstqueue.h:
* plugins/elements/gsttee.c:
* plugins/elements/gsttee.h:
* plugins/elements/gsttypefindelement.c:
(gst_type_find_element_class_init):
* plugins/elements/gsttypefindelement.h:
Small updates to various docs.
Added core plugins to docs.
2006-01-04 12:41:35 +00:00
Thomas Vander Stichele
288f61d21f expand tabs
Original commit message from CVS:
expand tabs
2005-12-06 19:29:15 +00:00
Thomas Vander Stichele
35be51219a plugins/elements/gstidentity.c: make initialization portable, using LL is not
Original commit message from CVS:

* plugins/elements/gstidentity.c: (gst_identity_transform_ip):
make initialization portable, using LL is not
2005-11-30 09:38:42 +00:00
Thomas Vander Stichele
249e792b7f do CVS surgery and related build fixery to move elements and indexers in a new gstreamer/plugins directory, out of th...
Original commit message from CVS:

* Makefile.am:
* configure.ac:
* plugins/elements/Makefile.am:
* plugins/elements/gstcapsfilter.c:
* plugins/elements/gstfilesink.c:
* plugins/elements/gstfilesrc.c:
* plugins/elements/gstidentity.c:
* plugins/indexers/Makefile.am:
do CVS surgery and related build fixery to move elements
and indexers in a new gstreamer/plugins directory, out of the
gst/ directory
2005-11-29 18:00:15 +00:00
Edward Hervey
c4d1ffa5c7 gst/base/gstbasesink.c: Properly handle non GST_FORMAT_TIME segment
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
(gst_base_sink_event), (gst_base_sink_do_sync),
(gst_base_sink_activate_pull), (gst_base_sink_change_state):
Properly handle non GST_FORMAT_TIME segment
* gst/elements/gstidentity.c: (gst_identity_transform_ip):
Properly handle non GST_FORMAT_TIME segment
* gst/gstsegment.c:
This function is valid if the accumulator is 0 and the format
is different from the requested format.
2005-11-29 17:13:44 +00:00
Edward Hervey
33a15d5e67 gst/base/gstbasetransform.c: The event virtual method is now properly implemented, with a default handler
Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_class_init),
(gst_base_transform_event), (gst_base_transform_eventfunc):
The event virtual method is now properly implemented, with a default
handler
Sub classes should call the parent_class event method. They should
return FALSE if they had a problem handling the given event, or don't
want GstBaseTransform to send that even downstream
* gst/elements/gstidentity.c: (gst_identity_class_init),
(gst_identity_init), (gst_identity_event),
(gst_identity_transform_ip), (gst_identity_set_property),
(gst_identity_get_property):
* gst/elements/gstidentity.h:
Added the single-segment boolean property.
If set to TRUE, it will output a single segment of data, starting from
0, will eat up all incoming newsegment, and modify the timestamp of the
buffers accordingly
2005-11-29 14:47:07 +00:00
Wim Taymans
a35882df1f More segment updates, replace code in plugins with segment helper functions.
Original commit message from CVS:
* check/gst/gstsegment.c: (GST_START_TEST):
* docs/design/part-TODO.txt:
* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
(gst_base_sink_event), (gst_base_sink_do_sync),
(gst_base_sink_activate_pull), (gst_base_sink_get_position),
(gst_base_sink_query), (gst_base_sink_change_state):
* gst/base/gstbasesink.h:
* gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
(gst_base_src_default_newsegment),
(gst_base_src_configure_segment), (gst_base_src_do_seek),
(gst_base_src_get_range), (gst_base_src_loop),
(gst_base_src_change_state):
* gst/base/gstbasesrc.h:
* gst/base/gstbasetransform.c:
(gst_base_transform_prepare_output_buf),
(gst_base_transform_event), (gst_base_transform_change_state):
* gst/base/gstbasetransform.h:
* gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
(gst_collect_pads_event):
* gst/base/gstcollectpads.h:
* gst/elements/gstfakesrc.c: (gst_fake_src_init),
(gst_fake_src_create):
* gst/elements/gstfakesrc.h:
* gst/elements/gstidentity.c: (gst_identity_transform_ip):
* gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
(gst_segment_set_last_stop), (gst_segment_set_seek),
(gst_segment_set_newsegment), (gst_segment_to_stream_time),
(gst_segment_to_running_time), (gst_segment_clip):
* gst/gstsegment.h:
More segment updates, replace code in plugins with segment
helper functions.
2005-11-21 17:09:45 +00:00
Andy Wingo
44c548b205 *.*: Ran scripts/update-macros. Oh yes. gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
Original commit message from CVS:
2005-11-21  Andy Wingo  <wingo@pobox.com>

* *.h:
* *.c: Ran scripts/update-macros. Oh yes.

* gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
(GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
GST_GET_LOCK, etc.

* scripts/update-macros: New script. Run it on your files to
change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
well.
2005-11-21 16:34:26 +00:00
Wim Taymans
eb29555a92 gst/base/gstbasesink.c: 0 segment values are 0 in any format.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_handle_object):
0 segment values are 0 in any format.

* gst/base/gstbasetransform.c: (gst_base_transform_event):
* gst/base/gstbasetransform.h:
Parse newsegment correctly in basetransform

* gst/elements/gstidentity.c: (gst_identity_transform_ip):
Sync to clock using updated segment values.
2005-11-15 16:47:07 +00:00
Thomas Vander Stichele
2dd1598c56 whitespace fixes
Original commit message from CVS:
whitespace fixes
2005-10-15 15:30:24 +00:00
Wim Taymans
0fd18045b1 gst/base/gstbasesink.c: No need to prerol after receiving EOS.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
(gst_base_sink_change_state):
No need to prerol after receiving EOS.

* gst/elements/gstfakesink.c: (gst_fake_sink_event):
* gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
* gst/elements/gstidentity.c: (gst_identity_event):
Print events more verbosely.
2005-10-12 09:02:42 +00:00
Wim Taymans
aabe6fe013 gst/elements/: Protect last_message with lock.
Original commit message from CVS:
* gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
(gst_fake_sink_event), (gst_fake_sink_preroll),
(gst_fake_sink_render), (gst_fake_sink_change_state):
* gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
(gst_fake_src_get_property), (gst_fake_src_create),
(gst_fake_src_stop):
* gst/elements/gstidentity.c: (gst_identity_stop):
Protect last_message with lock.
2005-10-04 18:46:09 +00:00
Tim-Philipp Müller
99d855fdc9 gst/elements/: Make element details static.
Original commit message from CVS:
* gst/elements/gstcapsfilter.c:
* gst/elements/gstfakesink.c:
* gst/elements/gstfakesrc.c:
* gst/elements/gstfdsink.c:
* gst/elements/gstfdsrc.c:
* gst/elements/gstfilesink.c:
* gst/elements/gstfilesrc.c:
* gst/elements/gstidentity.c:
* gst/elements/gsttee.c:
* gst/elements/gsttypefindelement.c:
Make element details static.
2005-09-28 12:52:51 +00:00
Andy Wingo
944491ab45 gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init as having two arguments instead of just one. Allows su...
Original commit message from CVS:
2005-08-28  Andy Wingo  <wingo@pobox.com>

* gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
as having two arguments instead of just one. Allows superclasses
to access information on subclasses -- see the terrible for() loop
in gtype.c:g_type_create_instance for the reason why. All callers
changed.
2005-08-28 17:45:58 +00:00
Wim Taymans
9f06376bab docs/design/part-events.txt: Small update.
Original commit message from CVS:
* docs/design/part-events.txt:
Small update.

* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
(gst_base_sink_do_sync), (gst_base_sink_activate_push),
(gst_base_sink_activate_pull):
Some more comments.

* gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
(gst_fake_src_create):
Fix handoff marshall.

* gst/elements/gstidentity.c: (gst_identity_class_init),
(gst_identity_transform_ip):
We're a real inplace element.

* gst/gstbus.c: (gst_bus_post):
Added some comments.

* tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
* tests/muxing/case1.c: (main):
* tests/sched/dynamic-pipeline.c: (main):
* tests/sched/interrupt1.c: (main):
* tests/sched/interrupt2.c: (main):
* tests/sched/interrupt3.c: (main):
* tests/sched/runxml.c: (main):
* tests/sched/sched-stress.c: (main):
* tests/seeking/seeking1.c: (event_received), (main):
* tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
(main):
* tests/threadstate/threadstate3.c: (main):
* tests/threadstate/threadstate4.c: (main):
* tests/threadstate/threadstate5.c: (main):
Fix the tests.
2005-07-22 11:47:10 +00:00
Wim Taymans
d5be929bf8 gst/base/gstbasesink.*: Store and use discont values when syncing buffers as described in design docs.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
(gst_base_sink_event), (gst_base_sink_get_times),
(gst_base_sink_do_sync), (gst_base_sink_change_state):
* gst/base/gstbasesink.h:
Store and use discont values when syncing buffers as described
in design docs.

* gst/base/gstbasesrc.c: (gst_base_src_send_discont),
(gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
(gst_base_src_activate_push):
Push discont event when starting.

* gst/elements/gstidentity.c: (gst_identity_transform):
Small cleanups.

* gst/gstbin.c: (gst_bin_change_state):
Small cleanups in base_time  distribution.

* gst/gstelement.c: (gst_element_set_base_time),
(gst_element_get_base_time), (gst_element_change_state):
* gst/gstelement.h:
Added methods for the base_time of the element.
Some MT fixes.

* gst/gstpipeline.c: (gst_pipeline_send_event),
(gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
(gst_pipeline_get_last_stream_time):
* gst/gstpipeline.h:
MT fixes.
Handle seeking as described in design doc, remove stream_time
hack.
Cleanups clock and stream_time selection code. Added accessors
for the stream_time.
2005-07-16 14:41:25 +00:00
Andy Wingo
096d369bb3 gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our own marshalling function for the handoff signal. Pro...
Original commit message from CVS:
2005-07-15  Andy Wingo  <wingo@pobox.com>

* gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
own marshalling function for the handoff signal. Properly type the
buffer as a buffer. Fixes some warnings. Should do a more general
solution.
(gst_identity_class_init): Plug into the right marshaller.
2005-07-15 14:59:22 +00:00
Wim Taymans
7f4581d977 gst/base/gstbasetransform.*: Make passthrough work using the bufferpools.
Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_init),
(gst_base_transform_transform_caps), (gst_base_transform_getcaps),
(gst_base_transform_configure_caps), (gst_base_transform_setcaps),
(gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
(gst_base_transform_handle_buffer), (gst_base_transform_getrange),
(gst_base_transform_chain), (gst_base_transform_change_state),
(gst_base_transform_set_passthrough),
(gst_base_transform_is_passthrough):
* gst/base/gstbasetransform.h:
Make passthrough work using the bufferpools.
Changed API a bit, subclasses have to write into a buffer
provided by the base class.
More debug info in nego functions.

* gst/elements/gstidentity.c: (gst_identity_init),
(gst_identity_transform):
Port to new base class.
2005-07-15 10:41:32 +00:00