Sebastian Dröge
cfe71423f0
gst: Remove gstmarshal.[ch] completely and use the generic marshaller
...
Fixes bug #671130 .
2012-03-02 11:05:48 +01:00
Wim Taymans
812afd3a22
identity: also debug dts/pts
2012-02-21 12:43:18 +01:00
Wim Taymans
8d5a11a0d8
identity: remove custom marshaller
2012-02-21 12:12:21 +01:00
Tim-Philipp Müller
41841899c7
fakesrc, identity, fakesink: do not generate last-message updates by default
...
Default to not creating lots of overhead by doing a couple of
g_strdup_printf()/g_free() per buffer or event just to generate
a last-message update that rarely anyone listens to. This means
that you need to enable silent=true explicitly in order to get
last-message dumps in gst-launch -v now. On the upside, people
won't inadvertently end up benchmarking g_strdup_printf()
performance instead of gstreamer data handling performance any
more.
Maybe the silent property should be renamed to enable-last-message
or something like that?
2012-02-09 00:14:34 +00:00
Wim Taymans
fab3027b27
dentity: remove prepare_output_buffer
...
Correctly mark passthrough on the baseclass so that it can correctly do the
allocation of the output buffers.
Remove our custom prepare_output_buffer function now that the baseclass is
smarter.
2012-02-02 13:15:24 +01:00
Wim Taymans
dd9cc4295e
identity: only map when using the memory
2012-02-02 12:32:49 +01:00
Sebastian Dröge
23ff3a8f53
identity/fake{src,sink}: Include event type name in the debug output
2012-01-27 11:01:27 +01:00
Wim Taymans
a521252845
Add new GstMapInfo
...
Use a structure to hold info about the mapping. The application then keeps track
of this state and we can use it to unmap the memory again later.
2012-01-25 11:54:23 +01:00
Tim-Philipp Müller
13d91d1f6c
Use recent GLib API unconditionally now that we depend on the latest GLib
2012-01-22 01:25:22 +00:00
Tim-Philipp Müller
eaa2d81474
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
gst/gstindexfactory.c
libs/gst/base/gstbasetransform.c
plugins/elements/gstfakesink.c
plugins/elements/gstfakesrc.c
plugins/elements/gstidentity.c
plugins/elements/gstinputselector.c
plugins/elements/gstoutputselector.c
Note: did not merge any of the basetransform changes from 0.10.
2011-12-08 00:39:10 +00:00
Sebastian Dröge
b7b84671ba
identity: Print buffer flags in the verbose output
2011-12-06 14:55:57 +01:00
Tim-Philipp Müller
a1daf846f3
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
gst/gstobject.h
libs/gst/check/gstcheck.h
libs/gst/controller/gstcontroller.c
plugins/elements/gstidentity.c
tools/gst-xmlinspect.c
2011-12-04 15:38:09 +00:00
Mark Nauwelaerts
bfcb5a43a6
identity: unlock clock wait when appropriate
...
... notably FLUSH and state change to READY.
2011-12-02 13:41:54 +01:00
Wim Taymans
612b1fbb14
pad: add parent to other functions
...
Add parent to chain, chain_list, getrange and event functions.
2011-11-17 12:40:45 +01:00
Wim Taymans
ea012d3dd7
pad: GST_FLOW_UNEXPECTED -> GST_FLOW_EOS
2011-10-10 11:33:51 +02:00
Sebastian Dröge
43538e2e75
Merge branch 'master' into 0.11
...
Conflicts:
docs/design/draft-buffer2.txt
docs/design/part-TODO.txt
docs/design/part-block.txt
docs/design/part-bufferlist.txt
docs/design/part-caps.txt
docs/design/part-element-transform.txt
docs/design/part-events.txt
docs/design/part-negotiation.txt
gst/gstcaps.c
gst/gstevent.h
gst/gstghostpad.c
gst/gstinterface.c
gst/gstpad.c
gst/gstpad.h
gst/gstutils.c
libs/gst/base/gstbasesink.c
libs/gst/base/gstbasesrc.c
libs/gst/base/gstbasetransform.c
libs/gst/base/gsttypefindhelper.c
plugins/elements/gstcapsfilter.c
plugins/elements/gsttee.c
tests/check/generic/sinks.c
tools/gst-launch.1.in
2011-09-08 14:28:23 +02:00
Piotr Fusik
14f5518f3d
docs, gst: typo fixes
...
https://bugzilla.gnome.org/show_bug.cgi?id=658449
2011-09-07 18:03:17 +01:00
Wim Taymans
2ff17fb622
basetransform: fix sink event handling
...
Implement the sink event handling like the src event handler. Make the default
implementation parse and forward the event. This makes it possible to actually
return an error value from the event handler.
2011-07-22 21:17:42 +02:00
Wim Taymans
85d2355125
basetrans: Remove ref in passthrough
...
Remove the requirement to have to return a ref to the input buffer when in
passthrough mode. This saves a few ref/unref cycles and fixes another 0.11
FIXME.
2011-07-21 17:42:08 +02:00
Wim Taymans
e4ee356449
basetrans: remove useless variables from prepare_output_buffer
...
Remove the caps and size from the prepare_output_buffer function. with
bufferpools and capsnego done differently, we don't need this in most cases and
if we do, we can simply use the transform_size function and get the caps from
the srcpad.
2011-07-21 13:56:11 +02:00
Sebastian Dröge
a46c9c2a62
event: Make SEGMENT event parsing API more consistent with the others
2011-05-18 16:56:43 +02:00
Wim Taymans
bdbc069348
Rework GstSegment handling
...
Improve GstSegment, rename some fields. The idea is to have the GstSegment
structure represent the timing structure of the buffers as they are generated by
the source or demuxer element.
gst_segment_set_seek() -> gst_segment_do_seek()
Rename the NEWSEGMENT event to SEGMENT.
Make parsing of the SEGMENT event into a GstSegment structure.
Pass a GstSegment structure when making a new SEGMENT event. This allows us to
pass the timing info directly to the next element. No accumulation is needed in
the receiving element, all the info is inside the element.
Remove gst_segment_set_newsegment(): This function as used to accumulate
segments received from upstream, which is now not needed anymore because the
segment event contains the complete timing information.
2011-05-16 11:37:52 +02:00
Wim Taymans
c07b57fc05
segment: remove _full version
...
Rename the _full versions of the functions to the normal function names.
2011-05-09 17:51:07 +02:00
Sebastian Dröge
5020738a6d
elements: Use G_DEFINE_TYPE instead of GST_BOILERPLATE
2011-04-19 11:45:36 +02:00
Wim Taymans
38ffe30745
memory: more work on implementing buffer memory
2011-03-28 20:08:46 +02:00
Wim Taymans
d82c8bd2af
memory: port code to new buffer data API
2011-03-28 20:08:45 +02:00
Wim Taymans
6c18c9508d
miniobject: more boxed type fixing
...
More miniobject fixing, leaks horribly somewhere..
2011-02-23 10:35:09 +01:00
Tim-Philipp Müller
5c778e25a5
identity: print unset buffer timestamps or durations as 'none'
...
Like fakesink and fakesrc do.
2011-01-28 19:59:47 +00:00
Tim-Philipp Müller
863d783beb
elements: minor performance improvement when doing g_object_notify() for the "last-message" property
...
Make sure property names passed to g_object_notify() are in the canonical form
(ie. "last-message" not "last_message"), so that g_param_spec_pool_lookup()
doesn't have to do strdup/canonicalize/free for every single notify call.
This only applies when building against older GLib versions (< 2.26).
2010-10-07 19:04:00 +01:00
Tim-Philipp Müller
cd3f4d7d92
identity: use g_object_notify_by_pspec() and remove work-around for old GLib versions if possible
...
Use more efficient g_object_notify_by_pspec() if we're compiling against
GLib >= 2.26, and also remove work-around for g_object_notify() thread-
safety issues with older GLib versions if it's not needed any more.
2010-10-07 19:03:42 +01:00
Sebastian Dröge
62d40fa0db
identity: identity is GAP flag aware, no need to let it be unset by basetransform
2010-09-09 16:12:26 +02:00
Tim-Philipp Müller
daecaf0e8a
Remove GST_DEBUG_FUNCPTR where they're pointless
...
There's not much point in using GST_DEBUG_FUNCPTR with GObject
virtual functions such as get_property, set_propery, finalize and
dispose, since they'll never be used by anyone anyway. Saves a
few bytes and possibly a tenth of a polar bear.
2009-10-28 00:44:24 +00:00
Tim-Philipp Müller
6ce1f0cbce
dataqueue, elements: avoid unnecessary runtime type checks
2009-10-06 20:04:10 +01:00
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