Commit graph

53 commits

Author SHA1 Message Date
James Stevenson 9d5d9897e5 autoconvert: Fix two memory leaks on error conditions
Both the sink_chain and sink_chain_list will neither pass
or free the buffer if the internal src pad doesn't exist yet.

https://bugzilla.gnome.org/show_bug.cgi?id=788035
2017-09-22 08:46:10 +01:00
Thibault Saunier 78022a6e0c docs: Port all docstring to gtk-doc markdown 2017-04-12 12:57:57 -03:00
Fabrice Bellet aac4c10d0e autoconvert: fix a reconfigure event leak
https://bugzilla.gnome.org/show_bug.cgi?id=776726
2017-01-02 19:52:33 -03:00
Vineeth TM 8cdfb13658 bad: use new gst_element_class_add_static_pad_template()
https://bugzilla.gnome.org/show_bug.cgi?id=763081
2016-03-24 14:56:51 +02:00
Olivier Crête d673e7cd58 autoconvert: Add support for bufferlists 2015-11-16 21:53:48 -05:00
Olivier Crête 8e75bea378 autoconvert: Always give a valid reply to internal caps queries
Caps queries can always have a valid reply, either the filter or ANY.
If the caps are ANY, then accept-caps always returns TRUE.
2015-11-13 17:21:17 -05:00
Olivier Crête 1660538615 autoconvert: factories don't need the lock
An atomic is enough, they can only be set once.
2014-05-09 23:05:28 -04:00
Olivier Crête c47c26bf1f Revert "autoconvert: Handle caps query on internal srcpad"
This is not needed anymore if the gst_pad_link checks nothing.

This reverts commit a303375a3f.
2014-05-09 23:04:26 -04:00
Olivier Crête c0ff27959e autoconvert: No need to check anything when linking internal pads 2014-05-09 23:03:48 -04:00
Olivier Crête 4ccf7582a2 autoconvert: Don't ignore elements accepted ANY, it is valid 2014-05-09 23:03:43 -04:00
Olivier Crête f3f6cdd451 autoconvert: Remove broken usage of the iterator
We're a subclass, so we can just take the object lock and iterate the list
directly.
2014-05-09 23:03:36 -04:00
Olivier Crête 907ffc7352 autoconvert: Process upstream getcaps
Process it like downstream getcaps
2014-05-09 23:03:29 -04:00
Olivier Crête b852f13a54 autoconvert: Return the GList of factories, to a pointer to it. 2014-05-09 23:02:28 -04:00
Olivier Crête 9eeef09c80 autoconvert: subelement can only be change with stream lock held
It was already the case, now be more explicit about that, and remove useless
lock/ref/unlock/unref dances.
2014-05-09 23:02:23 -04:00
Olivier Crête 606ff3debd autoconvert: Keep a ref to the pads too
Simplifies the code
2014-05-09 23:02:16 -04:00
Olivier Crête 968b4a4969 autoconvert: Remove uneeded if()
NULL is valid GList
2014-05-09 23:02:12 -04:00
Olivier Crête b76e564acf autoconvert: Always push reconfigure upstream too
A reconfigure could trigger a change of contents instead of just reconfiguring the internal element
2014-05-09 23:02:09 -04:00
Olivier Crête ead6db4277 autoconvert: Remove unused internal parameter 2014-05-09 23:02:05 -04:00
Vincent Penquerc'h 336767d779 autoconvert: remove dead code
Those events were previously taken from a cached events list,
which was removed during the port to 0.11, but this bit stayed.

Coverity 1139684
2014-04-09 15:28:05 +01:00
Tim-Philipp Müller 9e1b75fda3 Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:09:59 +00:00
Tim-Philipp Müller 32ba17cd0f Use gst_element_class_set_static_metadata()
where possible. Avoids some string copies. Also re-indent
some stuff. Also some indent fixes here and there.
2012-10-17 17:46:34 +01:00
Olivier Crête 977f84d272 autoconvert: Look at all possibilities for accept-caps even if there is a selected subelement
If the accept-caps succeeds with a different subelement, then the subsequent
caps event will change the current subelement.
2012-09-11 18:53:43 -04:00
Jan Schmidt a303375a3f autoconvert: Handle caps query on internal srcpad
Reply with ANY caps to ensure linking the internal src pad. This
might need more attention later, to reply with the real upstream caps
for the currently active element.
2012-09-01 16:09:59 -07:00
Jan Schmidt ea707c1764 autoconvert: Don't drop upstream events due to silly typo 2012-08-31 07:06:50 -07:00
Tim-Philipp Müller 508b9ff51a autoconvert: don't access GstElementFactory structure directly 2012-05-19 15:34:25 +01:00
Wim Taymans 77299ba6ae fix for caps api changes 2012-03-11 19:06:59 +01:00
Olivier Crête 7aead77649 autoconvert: port to 0.11 2012-01-25 18:04:55 +01:00
Edward Hervey f70a623418 Merge remote-tracking branch 'origin/master' into 0.11-premerge
Conflicts:
	docs/libs/Makefile.am
	ext/kate/gstkatetiger.c
	ext/opus/gstopusdec.c
	ext/xvid/gstxvidenc.c
	gst-libs/gst/basecamerabinsrc/Makefile.am
	gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c
	gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.h
	gst-libs/gst/video/gstbasevideocodec.c
	gst-libs/gst/video/gstbasevideocodec.h
	gst-libs/gst/video/gstbasevideodecoder.c
	gst-libs/gst/video/gstbasevideoencoder.c
	gst/asfmux/gstasfmux.c
	gst/audiovisualizers/gstwavescope.c
	gst/camerabin2/gstcamerabin2.c
	gst/debugutils/gstcompare.c
	gst/frei0r/gstfrei0rmixer.c
	gst/mpegpsmux/mpegpsmux.c
	gst/mpegtsmux/mpegtsmux.c
	gst/mxf/mxfmux.c
	gst/videomeasure/gstvideomeasure_ssim.c
	gst/videoparsers/gsth264parse.c
	gst/videoparsers/gstmpeg4videoparse.c
2011-12-30 11:41:17 +01:00
Sebastian Dröge dcf04269e1 autoconvert: Remove the initial-identity property from autoconvert
Initially creating an identity element to forward serialized
events downstream before any caps are known is broken behaviour.

Serialized events should only be forwarded downstream if the
caps are already known, otherwise autopluggers and other elements
using pad-blocks will fail.

This behaviour also doesn't work anymore after basetransform
was fixed to queue serialized events until the caps are known
as a result of fixing bug #659571.

See bug #599469, #665205.
2011-12-07 13:50:19 +01:00
Sebastian Dröge 2cdb069b9f autoconvert: Implement iterate_internal_links function on the sinkpad and srcpad 2011-12-05 08:57:29 +01:00
Vincent Penquerc'h 7521b597f4 various: fix pad template ref leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:08:27 +00:00
Vincent Penquerc'h 9674c5aefa autoconvert: merge caps instead of using union
It's a lot faster, and preserves caps ordering.

https://bugzilla.gnome.org/show_bug.cgi?id=663346
2011-11-07 12:16:37 +00:00
Sebastian Dröge 825052ba3d autoconvert: Fix some more leaks and reorganize unref code 2010-12-21 18:01:28 +01:00
benjamin gaignard f0ebcba6c4 autoconvert: Avoid some leaks in autoconvert
unref sink and src pad after gst_pad_by_direction calls unref
element if gst_auto_convert_activate_element failed.

See bug #637553.
2010-12-21 17:50:20 +01:00
Olivier Crête 8c371e5c35 autoconvert: Use gst_caps_can_intersect() 2010-12-19 17:40:12 +05:30
Benjamin Gaignard 27ac6c3e47 autocolorspace: Add autoconvert based video format convert element
Fixes bug #636106.
2010-12-15 21:14:38 +01:00
Stefan Kost 0c22e1b954 various (gst): add missing G_PARAM_STATIC_STRINGS flags
Canonicalize property names as needed.
2010-10-19 15:47:17 +03:00
Sebastian Dröge dab5cbb1c0 autoconvert: Don't use GST_FLOW_IS_FATAL() 2010-09-21 12:26:35 +02:00
Benjamin Otte f96e4f1581 Add -Wmissing-declarations -Wmissing-prototypes to configure flags
And fix all warnings
2010-03-21 21:39:18 +01:00
Jan Schmidt f46c247757 autoconvert: Fix previous commit: ensure we take a ref on the features 2009-11-04 23:32:07 +00:00
Jan Schmidt 7d53c39237 resindvd,autoconvert: Avoid depending on 0.10.26 API
Wait until after the next release to bump the core requirement.
Until then, don't use gst_plugin_feature_list_copy and
gst_pad_peer_get_caps_refed.
2009-11-04 23:17:33 +00:00
Jan Schmidt 570a0bb65c resindvd: Take a copy of the passed plugin features
Clarify the ownership of the internal plugin feature list by making
a copy of any passed list. Avoids crashes when freeing a passed list,
or leaks caused by not freeing any internally built list.
2009-11-02 11:33:19 +00:00
Jan Schmidt 32ebb79f0b autoconvert: Support installing identity as the initial child
Add the 'initial-identity' property, which inserts identity for
at startup for event passing, and replaces it with a new child
when the first buffer (and caps) actually arrives.

https://bugzilla.gnome.org/show_bug.cgi?id=599469
2009-10-27 12:23:24 +00:00
Jan Schmidt 55a3f6a08c autoconvert: Cache incoming new segment events and push to children.
Cache incoming new-segment info.

When installing a child element, inform it of the current segment info.

https://bugzilla.gnome.org/show_bug.cgi?id=599469
2009-10-27 12:23:24 +00:00
Jan Schmidt ee8b143e95 autoconvert: Add some debug in factory caps intersection 2009-10-27 12:23:23 +00:00
Jan Schmidt 77e017143e autoconvert: Simple fixes.
Free the plugin feature list on dispose.
Output a debug message when downstream returns a fatal flow result
Fix awkward wording in a debug warning.
2009-10-27 12:23:23 +00:00
Jan Schmidt de829eb7d0 autoconvert: Gratuitously move GST_OBJECT_LOCK into a macro
Create GST_AUTOCONVERT_LOCK/UNLOCK macros that (for now) just call
GST_OBJECT_LOCK.
2009-10-27 12:23:22 +00:00
Jan Schmidt 251afdee91 autoconvert: Take the object lock fewer times
When starting up and creating the list of element factories, only
take the object lock twice instead of 3 times.
2009-10-22 11:41:08 +01:00
Jan Schmidt 997f180b85 autoconvert: Don't hold the object lock when pushing
When pushing out cached events, don't hold the object lock. Avoids
deadlocks starting up DVD playback.
2009-10-22 11:41:07 +01:00
Jan Schmidt 0fcf8001b1 autoconvert: Use gst_pad_peer_accept_caps instead of gst_pad_set_caps.
gst_pad_set_caps on the internal source pad always succeeds, because
caps propagate to the peer with buffers, not immediately. Using
gst_pad_peer_accept_caps properly checks whether the actual
sub-element can accept caps when they change.

https://bugzilla.gnome.org/show_bug.cgi?id=575568
2009-10-16 11:09:15 +01:00