Commit graph

92 commits

Author SHA1 Message Date
Guillaume Marquebielle
30d58f4688 liveadder: fix assertion when copying buffer region
In gst_live_adder_chain() function, calls to gst_buffer_copy_region() can lead
to assertion as 'offset + size <= bufsize' is not respected.
Indeed 'offset' and 'size' parameters are calculated through calling gst_live_adder_length_from_duration(),
and thus gst_util_uint64_scale_int_round().
Depending on the nearest integers, rounded values 'offset' and 'size' can then trigger the assertion.
This case mainly occurs when 'skip' value is > 0 in chain function process.

https://bugzilla.gnome.org/show_bug.cgi?id=753759
2015-08-18 16:37:09 -04:00
Luis de Bethencourt
3bf12a1b9f liveadder: remove unneeded variable
ret is declared just to initialize to TRUE and overwrite with the value of
vret. We can return the value of vret directly. vret is TRUE unless the
forward_event_func sets it to FALSE.
2015-07-22 16:14:16 +01:00
Luis de Bethencourt
ac54fa8c95 liveadder: return false if event couldn't be pushed
Make the gst pad's event function return false if the event couldn't be
pushed to the pad.
2015-07-21 14:11:01 +01:00
Santiago Carot-Nemesio
9fb4d5df20 liveadder: Fix memory leaks iterating over pads
Rebased for latest master by Nicolas Huet <nicolas.huet@parrot.com>.

https://bugzilla.gnome.org/show_bug.cgi?id=745748
2015-06-10 10:24:35 +02:00
Tim-Philipp Müller
f0a9c246a3 gst: remove some unnecessary glib version checks
We require 2.32, no need to check for anything older
than that.
2015-04-28 16:02:27 +01:00
Arun Raghavan
5f8f18df9b liveadder: Use default upstream latency querying logic
We can rely on the standard upstream latency querying logic and then add
our own latency.
2015-02-27 01:05:51 +05:30
Sebastian Dröge
e02d6983c9 liveadder: Fail the latency query if one of the upstream queries fails 2015-02-19 01:28:20 +02:00
Sebastian Dröge
037928dcf6 Improve and fix LATENCY query handling
This now follows the design docs everywhere, especially the maximum latency
handling.

https://bugzilla.gnome.org/show_bug.cgi?id=744106
2015-02-11 14:16:21 +01:00
Michael Olbrich
c9ae275c72 liveadder: handle gap buffer flag
Remove GAP flag unless both sides have gap data, ignore
incoming data if it is gap data.

https://bugzilla.gnome.org/show_bug.cgi?id=722397
2014-06-03 14:59:30 -04:00
Tim-Philipp Müller
dbe6fdd6bf docs: remove outdated and pointless 'Last reviewed' lines from docs
They are very confusing for people, and more often than not
also just not very accurate. Seeing 'last reviewed: 2005' in
your docs is not very confidence-inspiring. Let's just remove
those comments.
2014-04-27 00:36:32 +01:00
Santiago Carot-Nemesio
7d97a4b20b liveadder: fix memory leak querying sink caps
https://bugzilla.gnome.org/show_bug.cgi?id=727894
2014-04-10 01:22:33 +01:00
Vincent Penquerc'h
c5cb2fbe96 liveadder: remove dead code
From the 0.11 port

Coverity 1139676
2014-04-09 15:03:45 +01:00
Michael Olbrich
93ec45a6df liveadder: round when calculation length from duration
liveadder sometimes calculates the offsets incorrectly before adding. The
resulting errors can easily be heard when mixing silence with a sine.
I'm not sure what the exact conditions are to trigger this, but it definitively
happens when the buffers of two streams have a different duration and buffer
length and duration don't match exactly for one stream because of rounding
errors (e.g.  duration=0:00:00.021333333)

I have to admit, I got lost in the math somewhere but it seems that not
rounding in gst_live_adder_length_from_duration() causes 1 sample overlaps in
consecutive buffers from the same stream.
When using gst_util_uint64_scale_int_round() instead of just truncating the
sine sound correctly again.

https://bugzilla.gnome.org/show_bug.cgi?id=708345
2013-09-28 13:31:13 +02:00
Olivier Crête
6e5db57d24 liveadder: Document that the latency is in milliseconds
Bug #698896
2013-04-26 15:33:18 -04:00
Tim-Philipp Müller
eef2324e4d liveadder: don't use deprecated GLib threading API 2013-02-11 12:01:19 +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
Mark Nauwelaerts
578861abea replace gst_element_class_set_details_simple with gst_element_class_set_metadata 2012-09-14 17:27:49 +02:00
Olivier Crête
5111a6ed20 liveadder: port to 1.0 API 2012-09-12 16:03:13 -04:00
Wim Taymans
dbed726057 update for task api change 2012-06-20 10:40:42 +02:00
Sebastian Dröge
cda192b3b7 gst: Update for GST_PLUGIN_DEFINE() API changes 2012-04-05 18:02:56 +02:00
Wim Taymans
1119f6ee41 Merge branch 'master' into 0.11
Conflicts:
	ext/chromaprint/gstchromaprint.c
	ext/mpeg2enc/Makefile.am
	ext/voaacenc/gstvoaacenc.c
	gst/dvbsuboverlay/gstdvbsuboverlay.c
	gst/mpegtsdemux/mpegtsbase.c
	gst/sdp/gstsdpdemux.c
	gst/videoparsers/gsth264parse.c
	sys/d3dvideosink/d3dvideosink.c
	tests/examples/camerabin/gst-camera-perf.c
	tests/examples/camerabin/gst-camerabin-test.c
	tests/examples/camerabin2/gst-camerabin2-test.c
	tests/examples/mxf/mxfdemux-structure.c
	tests/examples/scaletempo/demo-main.c
2012-02-10 16:46:50 +01:00
Wim Taymans
de1f89bf07 GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING 2012-02-08 16:37:13 +01:00
Vincent Penquerc'h
8147669971 plenty: fixup glib deprecations 2012-01-27 15:47:07 +00: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
Vincent Penquerc'h
63110cab94 liveadder: fix buffer leak 2011-12-12 14:00:22 +00: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
Wim Taymans
c8adc4f8c8 make request pads take _%u 2011-11-04 12:22:37 +01:00
David Schleef
7b12d4647a Work around changes in g_atomic API
See #651514 for details.
2011-06-04 14:09:30 -07:00
David Schleef
159e2768d6 Fix pad template memleaks
Pad templates returned by gst_static_pad_template_get() were not
being unreffed.
2010-11-30 18:54:46 -08:00
Stefan Kost
69ea2ec2ba liveadder: move debug-category registration to type init 2010-09-28 14:23:40 +03:00
Stefan Kost
afa30fb8ea liveadder: GST_BOILERPLATE already sets parent_class 2010-09-28 14:23:40 +03:00
Stefan Kost
7bd3e239a5 liveadder: use base_init for pad_templates and element_details 2010-09-28 14:23:40 +03:00
Stefan Kost
7e63d37f1c liveadder: use G_PARAM_STATIC_STRINGS on properties 2010-09-28 14:23:40 +03:00
Benjamin Otte
775c7584fd gst_element_class_set_details => gst_element_class_set_details_simple 2010-03-18 22:46:41 +01:00
Tim-Philipp Müller
6eb167a176 Make build without warnings with debugging disabled 2009-06-19 16:21:28 +01:00
Edward Hervey
c2c1941ffc liveadder: Fix build on macosx 2009-02-23 15:25:03 +01:00
Olivier Crête
cf21405a7f Document the liveadder 2009-02-17 19:29:06 +01:00
Olivier Crête
6edfec64ee Moved liveadder from gst-plugins-farsight to -bad
Re-indent liveadder in gst style and add it to configure
2009-02-17 19:29:06 +01:00
Olivier Crête
4b33d319fc [MOVED FROM GST-P-FARSIGHT] Use log for message thats on every buffer 2009-02-17 19:29:06 +01:00
Edward Hervey
8a533c4282 [MOVED FROM GST-P-FARSIGHT] liveadder : Handle jitter in incoming buffers
Incoming buffers (especially those from an RTP connection) might have slight timestamp jitter. This is normally handled by audiosink (accepting up to 500ms of jitter).
Here we accept a maximum jitter of 10ms. If a buffer is within 10ms of the expected time, we correct its timestamp.
2009-02-17 19:29:06 +01:00
Olivier Crete
28d1fc48a6 [MOVED FROM GST-P-FARSIGHT] Add handling of position query to liveadder
20080704185721-3e2dc-7a687e346e74b44fa847c5e5b6eb64c3e0949764.gz
2009-02-17 19:29:06 +01:00
Olivier Crete
9e6d4708f8 [MOVED FROM GST-P-FARSIGHT] Replace C99 llabs with C89 code
20080521172005-3e2dc-8e637d1daa0e27cc2edae1fdfd0dbf23896fb5bc.gz
2009-02-17 19:29:06 +01:00
Olivier Crete
91dcd54ae5 [MOVED FROM GST-P-FARSIGHT] Reset vars before restarting thread on flush stop
20080515012257-3e2dc-e3521752cf3eaf2b8767f4c620eadfc24a8e8e31.gz
2009-02-17 19:29:06 +01:00
Olivier Crete
4d44cf5fe2 [MOVED FROM GST-P-FARSIGHT] Implement first version of seeking
20080515012227-3e2dc-7f53f78d1c3dfdcdb6e7ad53e6c7f16d5e998a05.gz
2009-02-17 19:29:06 +01:00
Olivier Crete
72ca8467eb [MOVED FROM GST-P-FARSIGHT] Add duration query from adder
20080515012142-3e2dc-2768199183bfb9d569be1389e382bedc02e3e95e.gz
2009-02-17 19:29:06 +01:00
Olivier Crete
3c835d5536 [MOVED FROM GST-P-FARSIGHT] Move flush stop inside where it belongs
20080515000214-3e2dc-cda5cddd1ead5c48a554e9e9bc75ae68437bcdfb.gz
2009-02-17 19:29:06 +01:00
Olivier Crete
703b3326cc [MOVED FROM GST-P-FARSIGHT] Have the liveadder remember if its playing or not
20080514234948-3e2dc-9064a27a54aef598444aa6ad6463345979120828.gz
2009-02-17 19:29:05 +01:00
Olivier Crete
75edc07516 [MOVED FROM GST-P-FARSIGHT] Push out buffer if we're not playing while there is no clock
20080514234910-3e2dc-1096eb7dc3fada19afc81dcd536d9edc821d0da9.gz
2009-02-17 19:29:05 +01:00
Olivier Crete
5f37d95613 [MOVED FROM GST-P-FARSIGHT] Empty the queue on flush start
20080514232643-3e2dc-5a3f52a3fd3771164dea95bd14410d76b4fce2aa.gz
2009-02-17 19:29:05 +01:00
Olivier Crete
c653d0ac38 [MOVED FROM GST-P-FARSIGHT] Reset pad private on flush stop
20080514231752-3e2dc-113fec2faafc2dc11c1eaa818cb488b71e601f9b.gz
2009-02-17 19:29:05 +01:00