platform/upstream/gstreamer.git
10 years agohlsdemux: No need to have a I-Frame list to do trick modes
Thibault Saunier [Mon, 21 Jul 2014 12:42:47 +0000 (14:42 +0200)]
hlsdemux: No need to have a I-Frame list to do trick modes

It just works cleanly without any index and there is no real reason for
that limitation. Also, there are very few stream with that feature.

https://bugzilla.gnome.org/show_bug.cgi?id=734445

10 years agotsdemux: Do not tweak segments on reverse playback
Thibault Saunier [Tue, 5 Aug 2014 15:13:13 +0000 (17:13 +0200)]
tsdemux: Do not tweak segments on reverse playback

We can't compare the first buffer start and the segment start in that
case... playback is going backward!

https://bugzilla.gnome.org/show_bug.cgi?id=734445

10 years agofacedetect: Use NULL to disable eyes/nose/mouth
Valentin PONS [Wed, 13 Aug 2014 14:57:15 +0000 (16:57 +0200)]
facedetect: Use NULL to disable eyes/nose/mouth

Without printing a warning about it

https://bugzilla.gnome.org/show_bug.cgi?id=734623

10 years agoglbufferpool: fix allocator leak in some cases
Tim-Philipp Müller [Sun, 10 Aug 2014 21:58:22 +0000 (22:58 +0100)]
glbufferpool: fix allocator leak in some cases

Spotted by Sebastian Rasmussen.

https://bugzilla.gnome.org/show_bug.cgi?id=734523

10 years agoassrender: save a few ref/unref pairs
Thiago Santos [Mon, 11 Aug 2014 15:32:04 +0000 (12:32 -0300)]
assrender: save a few ref/unref pairs

The event/query functions already have a reference to the element, avoid
ref/unref in the functions handling caps queries and events.

10 years agoassrender: remove obsolete fixme
Thiago Santos [Mon, 11 Aug 2014 15:31:17 +0000 (12:31 -0300)]
assrender: remove obsolete fixme

10 years agoassrender: improve negotiation
Thiago Santos [Mon, 11 Aug 2014 15:22:44 +0000 (12:22 -0300)]
assrender: improve negotiation

Check if downstream supports overlay meta, if possible use it and
if not fallback to no-overlay caps

https://bugzilla.gnome.org/show_bug.cgi?id=733916

10 years agoassrender: always intersect with the filter caps
Thiago Santos [Mon, 11 Aug 2014 15:21:28 +0000 (12:21 -0300)]
assrender: always intersect with the filter caps

Avoids returning values that peers can't use

https://bugzilla.gnome.org/show_bug.cgi?id=733916

10 years agodvbsuboverlay: improve negotiation
Thiago Santos [Mon, 11 Aug 2014 14:35:01 +0000 (11:35 -0300)]
dvbsuboverlay: improve negotiation

Check if downstream supports overlay meta, if possible use it and
if not fallback to no-overlay caps

https://bugzilla.gnome.org/show_bug.cgi?id=733916

10 years agodvbsuboverlay: always intersect with the filter in getcaps
Thiago Santos [Mon, 11 Aug 2014 14:33:28 +0000 (11:33 -0300)]
dvbsuboverlay: always intersect with the filter in getcaps

Avoids returning unsupported caps to peers

https://bugzilla.gnome.org/show_bug.cgi?id=733916

10 years agoaggregator: fix up doc comment for set_src_caps
Matthew Waters [Mon, 11 Aug 2014 13:38:40 +0000 (23:38 +1000)]
aggregator: fix up doc comment for set_src_caps

It does not occur 'later' anymore

https://bugzilla.gnome.org/show_bug.cgi?id=732662

10 years agovideoaggregator: push the caps event as soon as we receive it
Matthew Waters [Thu, 7 Aug 2014 09:54:36 +0000 (19:54 +1000)]
videoaggregator: push the caps event as soon as we receive it

Along with the required mandatory dependent events.

Some elements need to perform an allocation query inside
::negotiated_caps().  Without the caps event being sent prior,
downstream elements will be unable to answer and will return
an error.

https://bugzilla.gnome.org/show_bug.cgi?id=732662

10 years agowebenc: Add WebP image encoder
Sreerenj Balachandran [Mon, 11 Aug 2014 13:01:32 +0000 (16:01 +0300)]
webenc: Add WebP image encoder

https://bugzilla.gnome.org/show_bug.cgi?id=733087

10 years agosbcenc: Unref output caps in error cases
Sebastian Rasmussen [Fri, 8 Aug 2014 23:29:30 +0000 (01:29 +0200)]
sbcenc: Unref output caps in error cases

gst_caps_intersect() returns a reference to a caps object which in
the normal case is consumed, but in error cases must be unreferenced.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734521

10 years agoopusenc: Unref pad template caps after usage
Sebastian Rasmussen [Fri, 8 Aug 2014 12:08:19 +0000 (14:08 +0200)]
opusenc: Unref pad template caps after usage

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734517

10 years agointer: Unref bus after usage
Sebastian Rasmussen [Sat, 9 Aug 2014 09:41:17 +0000 (11:41 +0200)]
inter: Unref bus after usage

gst_pipeline_get_bus() returns a reference to a bus that needs to
be unreferenced after usage.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734525

10 years agoexamples/gl: unref bus and element after usage
Sebastian Rasmussen [Sat, 9 Aug 2014 09:45:41 +0000 (11:45 +0200)]
examples/gl: unref bus and element after usage

gst_pipeline_get_bus() and gst_bin_get_by_interface() both
return references that need to be unreferenced after usage.

https://bugzilla.gnome.org/show_bug.cgi?id=734527

10 years agodocs: update for git master
Tim-Philipp Müller [Sun, 10 Aug 2014 18:12:01 +0000 (19:12 +0100)]
docs: update for git master

10 years agodocs: remove rtpvp8 plugin docs, the elements are now in -good
Tim-Philipp Müller [Sun, 10 Aug 2014 18:05:43 +0000 (19:05 +0100)]
docs: remove rtpvp8 plugin docs, the elements are now in -good

10 years agoopengl: update element docs for 1.x
Tim-Philipp Müller [Sun, 10 Aug 2014 17:07:28 +0000 (18:07 +0100)]
opengl: update element docs for 1.x

10 years agodocs: remove eglglessink from docs as it no longer exists
Tim-Philipp Müller [Sun, 10 Aug 2014 16:48:50 +0000 (17:48 +0100)]
docs: remove eglglessink from docs as it no longer exists

10 years agowrappercamerabinsrc: Unref elements after usage
Sebastian Rasmussen [Sat, 9 Aug 2014 09:36:38 +0000 (11:36 +0200)]
wrappercamerabinsrc: Unref elements after usage

gst_bin_get_by_name() and gst_bin_get_by_interface() both return
references to elements that need to be unreferenced after usage.

https://bugzilla.gnome.org/show_bug.cgi?id=734524

10 years agoopenal: Unref pad template caps after usage
Sebastian Rasmussen [Fri, 8 Aug 2014 23:27:53 +0000 (01:27 +0200)]
openal: Unref pad template caps after usage

https://bugzilla.gnome.org/show_bug.cgi?id=734520

10 years agoladspa: fix up broken patch merge
Tim-Philipp Müller [Sun, 10 Aug 2014 11:29:04 +0000 (12:29 +0100)]
ladspa: fix up broken patch merge

Sorry, should've been commit --amend

10 years agopvrvideosink: Avoid leaking bufferpool configuration
Sebastian Rasmussen [Sat, 9 Aug 2014 11:24:00 +0000 (13:24 +0200)]
pvrvideosink: Avoid leaking bufferpool configuration

gst_buffer_pool_get_config() returns a copy to the bufferpool's
configuration, which must be passed to gst_structure_free() after
use if not given away to gst_buffer_pool_set_config().

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734537

10 years agodirectsoundsrc: Avoid leaking copy of caps object
Sebastian Rasmussen [Sat, 9 Aug 2014 11:22:42 +0000 (13:22 +0200)]
directsoundsrc: Avoid leaking copy of caps object

gst_pad_get_pad_template_caps() returns a reference which is unreferenced,
so creating a copy using gst_caps_copy() results in a reference leak.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734536

10 years agovtenc: Avoid leaking caps object and its copy
Sebastian Rasmussen [Sat, 9 Aug 2014 11:20:41 +0000 (13:20 +0200)]
vtenc: Avoid leaking caps object and its copy

gst_pad_get_pad_template_caps() returns a reference which is unreferenced,
so creating a copy using gst_caps_copy() results in a reference leak. Also
the caps are pushed as an event downstream, but this doesn't consume the
caps so it must still be unreferenced.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734534

10 years agoamcvideoenc: Avoid leaking copy of caps object
Sebastian Rasmussen [Sat, 9 Aug 2014 11:17:17 +0000 (13:17 +0200)]
amcvideoenc: Avoid leaking copy of caps object

gst_pad_get_pad_template_caps() returns a reference which is unreferenced,
so creating a copy using gst_caps_copy() results in a reference leak.
Also remove the incorrect comment to avoid confusion in the future.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734533

10 years agointerlace: fix caps refcounting
Sebastian Rasmussen [Sat, 9 Aug 2014 11:12:14 +0000 (13:12 +0200)]
interlace: fix caps refcounting

tcaps was unrefed when it shouldn't have been unrefed
in some cases.

https://bugzilla.gnome.org/show_bug.cgi?id=734531

10 years agodvbsuboverlay: Avoid leaking copy of caps object
Sebastian Rasmussen [Sat, 9 Aug 2014 11:09:52 +0000 (13:09 +0200)]
dvbsuboverlay: Avoid leaking copy of caps object

gst_pad_get_pad_template_caps() returns a reference which is unreferenced,
so creating a copy using gst_caps_copy() results in a reference leak.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734528

10 years agovideoaggregator: Unref allowed caps after usage
Sebastian Rasmussen [Sat, 9 Aug 2014 09:17:44 +0000 (11:17 +0200)]
videoaggregator: Unref allowed caps after usage

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734522

10 years agoladspa: Unref pad template caps after usage
Sebastian Rasmussen [Fri, 8 Aug 2014 23:25:21 +0000 (01:25 +0200)]
ladspa: Unref pad template caps after usage

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734519

10 years agoladspa: Unref pad template caps after usage
Sebastian Rasmussen [Fri, 8 Aug 2014 23:25:21 +0000 (01:25 +0200)]
ladspa: Unref pad template caps after usage

https://bugzilla.gnome.org/show_bug.cgi?id=734519

10 years agodfbvideosink: Unref pad template caps after usage
Sebastian Rasmussen [Fri, 8 Aug 2014 23:23:50 +0000 (01:23 +0200)]
dfbvideosink: Unref pad template caps after usage

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734518

10 years agotests: remove defunct test code for old colorspace element
Tim-Philipp Müller [Sun, 10 Aug 2014 10:35:41 +0000 (11:35 +0100)]
tests: remove defunct test code for old colorspace element

https://bugzilla.gnome.org/show_bug.cgi?id=734538

10 years agoelement-maker: Avoid leaking copy of caps object
Sebastian Rasmussen [Sat, 9 Aug 2014 11:27:00 +0000 (13:27 +0200)]
element-maker: Avoid leaking copy of caps object

gst_pad_get_pad_template_caps() returns a reference which is unreferenced,
so creating a copy using gst_caps_copy() results in a reference leak.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734539

10 years agogstgsmenc: Unref caps object after usage
Sebastian Rasmussen [Sat, 9 Aug 2014 12:27:34 +0000 (14:27 +0200)]
gstgsmenc: Unref caps object after usage

gst_audio_encoder_set_output_format() does not consume caps, so
unreference that object instead.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734544

10 years agoopus: Improve annotation of internal function
Sebastian Rasmussen [Sat, 9 Aug 2014 12:24:59 +0000 (14:24 +0200)]
opus: Improve annotation of internal function

https://bugzilla.gnome.org/show_bug.cgi?id=734543

10 years agodashdemux: support downloading segments in reverse order
George Kiagiadakis [Wed, 6 Aug 2014 15:11:20 +0000 (18:11 +0300)]
dashdemux: support downloading segments in reverse order

When a seek with a negative rate is requested, find the target
segment where gstsegment.stop belongs in and then download from
this segment backwards until the first segment.

This allows proper reverse playback.

10 years agoglvideomixer: add a background property
Matthew Waters [Thu, 7 Aug 2014 09:18:49 +0000 (19:18 +1000)]
glvideomixer: add a background property

That's compatible with the compositor/videomixer property

https://bugzilla.gnome.org/show_bug.cgi?id=731954

10 years agoext:faad: Set rank to SECONDARY as the libav decoder is concidered better
Thibault Saunier [Wed, 6 Aug 2014 11:27:04 +0000 (13:27 +0200)]
ext:faad: Set rank to SECONDARY as the libav decoder is concidered better

https://bugzilla.gnome.org/show_bug.cgi?id=676131

10 years agoGstGLWindow, GstGLImagesink, x11: Scale navigation events on resized windows
Vasilis Liaskovitis [Wed, 6 Aug 2014 13:48:03 +0000 (16:48 +0300)]
GstGLWindow, GstGLImagesink, x11: Scale navigation events on resized windows

If window is resized, GstStructure pointer values have to be rescaled to
original geometry. A get_surface_dimensions GLWindow class method is added for
this purpose and used in the navigation send_event function.

https://bugzilla.gnome.org/show_bug.cgi?id=703486

10 years agoglupload: don't determine if frame needs upload by pointer compare
Wang Xin-yu (王昕宇) [Wed, 6 Aug 2014 12:15:38 +0000 (08:15 -0400)]
glupload: don't determine if frame needs upload by pointer compare

https://bugzilla.gnome.org/show_bug.cgi?id=734269

10 years agompegtspacketizer: Store PCR time/byte offsets in 64 bit integers
Sebastian Dröge [Tue, 5 Aug 2014 09:45:55 +0000 (11:45 +0200)]
mpegtspacketizer: Store PCR time/byte offsets in 64 bit integers

32 bit integers are going to overflow, especially the PCR offset to
the first PCR will overflow after about 159 seconds. This makes playback
of streams stop at 159 seconds as suddenly the timestamps are starting
again from 0. Now we have a few more years time until it happens again
and 64 bits are too small.

10 years agoRevert "mpegtspacketizer: Convert PCR times to GStreamer times before comparing them...
Sebastian Dröge [Tue, 5 Aug 2014 08:42:28 +0000 (10:42 +0200)]
Revert "mpegtspacketizer: Convert PCR times to GStreamer times before comparing them against 500 * GST_MSECOND"

This reverts commit 9f186c6ab32c1e949916d385186b2d400190add6.

That commit was actually completely wrong, nevermind.

10 years agompegtspacketizer: Convert PCR times to GStreamer times before comparing them against...
Sebastian Dröge [Tue, 5 Aug 2014 08:36:17 +0000 (10:36 +0200)]
mpegtspacketizer: Convert PCR times to GStreamer times before comparing them against 500 * GST_MSECOND

Otherwise it will believe to detect PCR gaps already when there's a very small
gap of a few milliseconds, breaking playback of some files.

10 years agodvbsrc: remove srcpad leftover
Reynaldo H. Verdejo Pinochet [Thu, 31 Jul 2014 21:40:30 +0000 (17:40 -0400)]
dvbsrc: remove srcpad leftover

The element is inheriting its srcpad from basesrc

10 years agodecklinksink: Initialize pixel format to bmdFormat8BitYUV
Sebastian Dröge [Fri, 1 Aug 2014 16:02:10 +0000 (18:02 +0200)]
decklinksink: Initialize pixel format to bmdFormat8BitYUV

https://bugzilla.gnome.org/show_bug.cgi?id=725871

10 years agocodecparsers_h264: initialize some fields of pic_timing structure
Aurélien Zanelli [Fri, 1 Aug 2014 14:40:49 +0000 (16:40 +0200)]
codecparsers_h264: initialize some fields of pic_timing structure

Otherwise pic timing structure can have invalid cpb_removal_delay,
dpb_output_delay or pic_struct_present_flag which are blindly retrieved
in h264parse.

https://bugzilla.gnome.org/show_bug.cgi?id=734124

10 years agodecklinksink: Catch errors during data flow and error out properly
Sebastian Dröge [Fri, 1 Aug 2014 14:58:23 +0000 (16:58 +0200)]
decklinksink: Catch errors during data flow and error out properly

Otherwise we will just deadlock the thread if e.g. scheduling a video
frame fails for whatever reason.

10 years agodashdemux: return the error to the source immediately to stop faster
Thiago Santos [Thu, 31 Jul 2014 23:52:39 +0000 (20:52 -0300)]
dashdemux: return the error to the source immediately to stop faster

When flushing, this will prevent dashdemux from trying to download more
fragments or more chunks of the same fragment before stopping.

Also improves the error handling to not transform everything non-ok into
an error.

https://bugzilla.gnome.org/show_bug.cgi?id=734014

10 years agompegtspacketizer: avoid timestamp overflows
Thiago Santos [Tue, 29 Jul 2014 05:11:54 +0000 (02:11 -0300)]
mpegtspacketizer: avoid timestamp overflows

Cause timing to break in the pipeline that can lead to a stall

https://bugzilla.gnome.org/show_bug.cgi?id=733837

10 years agopo: Remove files no longer present
Edward Hervey [Fri, 1 Aug 2014 11:14:03 +0000 (13:14 +0200)]
po: Remove files no longer present

They were removed when sndfile was ported to 1.x

10 years agodecklink: 59.94fps is 60000/1001, not 30000/1001
Sebastian Dröge [Fri, 1 Aug 2014 10:38:44 +0000 (12:38 +0200)]
decklink: 59.94fps is 60000/1001, not 30000/1001

And also change 30/1 to 60/1 for one 60fps mode.

10 years agogl/docs: remove superflous 'the'
Matthew Waters [Fri, 1 Aug 2014 07:51:08 +0000 (17:51 +1000)]
gl/docs: remove superflous 'the'

10 years agogl: document GST_GL_* environment variables
Matthew Waters [Fri, 1 Aug 2014 06:41:13 +0000 (16:41 +1000)]
gl: document GST_GL_* environment variables

https://bugzilla.gnome.org/show_bug.cgi?id=733245

10 years agogl/tests: update for API changes
Matthew Waters [Fri, 1 Aug 2014 00:01:18 +0000 (10:01 +1000)]
gl/tests: update for API changes

10 years agoMakefile: Add usage of build-checks step
Edward Hervey [Thu, 31 Jul 2014 16:55:33 +0000 (18:55 +0200)]
Makefile: Add usage of build-checks step

Allows building checks without running them

10 years agoglcontext: add a destroy function
Matthew Waters [Thu, 31 Jul 2014 08:46:33 +0000 (18:46 +1000)]
glcontext: add a destroy function

that just calls the subclass

10 years agogl/x11: silence runtime warning
Matthew Waters [Thu, 31 Jul 2014 08:36:58 +0000 (18:36 +1000)]
gl/x11: silence runtime warning

g_main_loop_quit: assertion 'loop != NULL' failed

10 years agoglmemory: use the plane offsets to compute the size of the data pointer
Matthew Waters [Thu, 31 Jul 2014 05:18:04 +0000 (15:18 +1000)]
glmemory: use the plane offsets to compute the size of the data pointer

Certain elements expect that there be a certain number of lines
that they can write into.  e.g. for odd heights, I420, YV12, NV12,
NV21 (and others) Y lines are expected to have exactly twice the
number of U/UV lines.

https://bugzilla.gnome.org/show_bug.cgi?id=733717

10 years agoglmemory: use GstVideoInfo everywhere
Matthew Waters [Thu, 31 Jul 2014 04:07:29 +0000 (14:07 +1000)]
glmemory: use GstVideoInfo everywhere

Simplifies a lot of the calling code

https://bugzilla.gnome.org/show_bug.cgi?id=733717

10 years agofaceblur: facedetect: add properties to faceblur
Robert Jobbagy [Wed, 30 Jul 2014 19:32:01 +0000 (16:32 -0300)]
faceblur: facedetect: add properties to faceblur

Makes faceblur have the same properties as facedetect. Also improves
the standard defaults and makes them the same in the 2 elements

10 years agofaceblur: post message when profile loading fails
Robert Jobbagy [Wed, 30 Jul 2014 19:30:39 +0000 (16:30 -0300)]
faceblur: post message when profile loading fails

10 years agofacedetect: faceblur: update launch line examples
Robert Jobbagy [Wed, 30 Jul 2014 19:07:17 +0000 (16:07 -0300)]
facedetect: faceblur: update launch line examples

Reflect 1.0 and more useful examples

10 years agoglimagesink: keep the uploaded buffer around on successful redisplay
Matthew Waters [Tue, 29 Jul 2014 03:25:22 +0000 (13:25 +1000)]
glimagesink: keep the uploaded buffer around on successful redisplay

We might need it later to perform a redisplay.  GstGLUpload will take
of releasing the previous buffer when it receives a new buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=733726

10 years agoglmemory: reenable the texture_rg support for !eagl
Matthew Waters [Tue, 29 Jul 2014 01:47:55 +0000 (11:47 +1000)]
glmemory: reenable the texture_rg support for !eagl

The GST_GL_HAVE_PLATFORM_EAGL is always defined we need to compare
against the value instead.

10 years agotests: gitignore: update with new tests
Thiago Santos [Mon, 28 Jul 2014 22:11:41 +0000 (19:11 -0300)]
tests: gitignore: update with new tests

10 years agotests: files: adds missing file from previous commit
Thiago Santos [Mon, 28 Jul 2014 19:55:15 +0000 (16:55 -0300)]
tests: files: adds missing file from previous commit

This is required for the templatematch test to work

10 years agotests: templatematch: add test to check that we use the correct rgb format
Thiago Santos [Mon, 28 Jul 2014 18:45:09 +0000 (15:45 -0300)]
tests: templatematch: add test to check that we use the correct rgb format

templatematch should use the same RGB format that opencv uses (BGR), make sure
we keep it that way with this test.

https://bugzilla.gnome.org/show_bug.cgi?id=678485

10 years agoopencv templatematch: Set caps to BGR order
David Rothlisberger [Fri, 15 Jun 2012 12:19:06 +0000 (13:19 +0100)]
opencv templatematch: Set caps to BGR order

templatematch operates on BGR data. In fact, OpenCV's IplImage always
stores color image data in BGR order -- this isn't documented at all in
the OpenCV source code, but there are hints around the web (see for
example
http://www.cs.iit.edu/~agam/cs512/lect-notes/opencv-intro/opencv-intro.html#SECTION00041000000000000000
and http://www.comp.leeds.ac.uk/vision/opencv/iplimage.html ).

gst_templatematch_load_template loads the template (the image to find)
from disk using OpenCV's cvLoadImage, so it is stored in an IplImage in
BGR order. But in gst_templatematch_chain, no OpenCV conversion
functions are used: the imageData pointer of the IplImage for the video
frame (the image to search in) is just set to point to the raw buffer
data. Without this fix, that raw data is in RGB order, so the call to
cvMatchTemplate ends up comparing the template's Blue channel against
the frame's Red channel, producing very poor results.

10 years agotemplatematch: mark pads as proxy caps
Thiago Santos [Mon, 28 Jul 2014 16:10:35 +0000 (13:10 -0300)]
templatematch: mark pads as proxy caps

Allows negotiation to happen properly

10 years agotemplatematch: Produce a warning message if we can't load a template image
William Manley [Mon, 25 Jun 2012 19:37:01 +0000 (20:37 +0100)]
templatematch: Produce a warning message if we can't load a template image

10 years agotemplatematch: Match rectangle grows redder with increased match certainty
William Manley [Wed, 20 Jun 2012 14:22:52 +0000 (15:22 +0100)]
templatematch: Match rectangle grows redder with increased match certainty

This is useful for debugging your matches as it indicates how certain the
match was in addition to its position.

10 years agotemplatematch: Allow changing template property on the fly
William Manley [Wed, 20 Jun 2012 14:05:40 +0000 (15:05 +0100)]
templatematch: Allow changing template property on the fly

Previously changing the template property resulted in an exception
thrown from cvMatchTemplate, because "dist_image" (the intermediate
match-certainty-distribution) was the wrong size (because the
template image size had changed).

Locking has also been added to allow changing the properties (e.g. the
pattern to match) while the pipeline is playing.

 * gst_element_post_message is moved outside of the lock, because it will
   call into arbitrary user code (otherwise, if that user code calls into
   gst_templatematch_set_property on this same thread it would deadlock).

 * gst_template_match_load_template: If we fail to load the new template
   we still unload the previous template, so this element becomes a no-op
   in the pipeline. The alternative would be to keep the previous template;
   I believe unloading the previous template is a better choice, because it
   is consistent with the state this element would be in if it fails to
   load the very first template at start-up.

Thanks to Will Manley for the bulk of this work; any errors are probably
mine.

10 years agotemplatematch: Pass video through when nothing to match against
David Rothlisberger [Fri, 1 Jun 2012 15:07:34 +0000 (16:07 +0100)]
templatematch: Pass video through when nothing to match against

The early return was bypassing the call to gst_pad_push. With no
filter->template (and thus no filter->cvTemplateImage) the rest of this
function is essentially a no-op (except for the call to gst_pad_push).

This (plus the previous commit) allows templatematch to be
enabled/disabled without removing it entirely from the pipeline, by
setting/unsetting the template property.

10 years agotemplatematch: Remove no-op call to gst_templatematch_load_template
William Manley [Wed, 20 Jun 2012 14:05:06 +0000 (15:05 +0100)]
templatematch: Remove no-op call to gst_templatematch_load_template

We have just set filter->template to NULL, so
gst_templatematch_load_template did nothing.

10 years agodvbsrc: clarify units for freq and symbol-rate
Reynaldo H. Verdejo Pinochet [Tue, 8 Jul 2014 23:18:48 +0000 (19:18 -0400)]
dvbsrc: clarify units for freq and symbol-rate

10 years agodvbsrc: add preliminary support for ISDB-T/Tb
Reynaldo H. Verdejo Pinochet [Mon, 7 Jul 2014 22:52:20 +0000 (18:52 -0400)]
dvbsrc: add preliminary  support for ISDB-T/Tb

ISDB-T and ISDB-Tb (the Brazilian variant) are the
terrestial DTV standards used by Japan, Philippines,
Maldives, Thailand, most South American countries
and Botswana. Changeset adds the set of previously
missing (and required) ISDB-T parameters, adapter
and frontend setup logic and proxies the new
properties on dvbbasebin.

Tested to work with the live aerial broadcast by
Tv Paraíba HD in Campina Grande (Brazil).

https://bugzilla.gnome.org/show_bug.cgi?id=732875

10 years agodvbsrc: make slof/lof1/lof2 settable properties
Reynaldo H. Verdejo Pinochet [Sat, 5 Jul 2014 07:08:00 +0000 (03:08 -0400)]
dvbsrc: make slof/lof1/lof2 settable properties

Allows proper tuning around high/low band boundaries when using
non "standard" LNBs.

Not all LNBs (Low noise block down converters) are made equal.
This is particularly true for universal LNBFs, where, even though
there are seemingly standard values for the local oscillator
frequencies, these can vary from manufacturer to manufacturer
and LNB model. Change also proxies the new LNB properties in
dvbbasebin.

https://bugzilla.gnome.org/show_bug.cgi?id=732818

10 years agoglimagesink: silence gsignal warning
Matthew Waters [Sun, 27 Jul 2014 03:26:00 +0000 (13:26 +1000)]
glimagesink: silence gsignal warning

instance '0xblah' has no handler with id '13'

10 years agowrappercamerabinsrc: do not give references to probes
Thiago Santos [Sat, 26 Jul 2014 16:27:51 +0000 (13:27 -0300)]
wrappercamerabinsrc: do not give references to probes

They are kept until the probes are removed but they will never be
removed as the refcount of the element won't get to 0 because the
probes own references (cyclic refs). As the probes should only be
running as long as the element is running there is no need to
secure a ref for them.

Removes 3 leaked refs of wrappercamerabinsrc

10 years agocamerabin: use gst_object_ref to make it easier to track refs
Thiago Santos [Sat, 26 Jul 2014 15:46:01 +0000 (12:46 -0300)]
camerabin: use gst_object_ref to make it easier to track refs

Helps debugging

10 years agowrappercamerabinsrc: unref request pads
Thiago Santos [Sat, 26 Jul 2014 15:38:42 +0000 (12:38 -0300)]
wrappercamerabinsrc: unref request pads

Do not forget to unref output-selector requested pads

10 years agojpegparse: port to baseparse
Thiago Santos [Tue, 22 Apr 2014 02:05:48 +0000 (23:05 -0300)]
jpegparse: port to baseparse

https://bugzilla.gnome.org/show_bug.cgi?id=728356

10 years agoglwindow/11: Emit signals for mouse and key navigation events
Vasilis Liaskovitis [Thu, 24 Jul 2014 09:25:36 +0000 (12:25 +0300)]
glwindow/11: Emit signals for mouse and key navigation events

https://bugzilla.gnome.org/show_bug.cgi?id=703486

10 years agoglwindow: Constify string parameters to the send_*_event() functions
Sebastian Dröge [Thu, 24 Jul 2014 10:23:03 +0000 (12:23 +0200)]
glwindow: Constify string parameters to the send_*_event() functions

10 years agoglimagesink: remove extra argument from debug call
Matthew Waters [Thu, 24 Jul 2014 03:05:00 +0000 (13:05 +1000)]
glimagesink: remove extra argument from debug call

10 years agoglimagesink: Add navigation interface and callbacks for GstGLWindow mouse/key signals
Vasilis Liaskovitis [Sun, 6 Jul 2014 21:20:01 +0000 (00:20 +0300)]
glimagesink: Add navigation interface and callbacks for GstGLWindow mouse/key signals

https://bugzilla.gnome.org/show_bug.cgi?id=703486

10 years agoGstGLWindow : Add mouse-event and key-event signals for navigation
Vasilis Liaskovitis [Sun, 6 Jul 2014 20:39:47 +0000 (23:39 +0300)]
GstGLWindow : Add mouse-event and key-event signals for navigation

https://bugzilla.gnome.org/show_bug.cgi?id=703486

10 years agogl: fix multi gl object leaks
Wang Xin-yu (王昕宇) [Wed, 23 Jul 2014 02:25:31 +0000 (10:25 +0800)]
gl: fix multi gl object leaks

1. fix FBO leaks in decide_allocation
2. fix texture leaks in decide_allocation and reset
3. fix texture leaks in FBO incomplete error path

10 years agowrappercamerabinsrc: only flush buffers if renegotiation is needed
Thiago Santos [Wed, 23 Jul 2014 16:55:06 +0000 (13:55 -0300)]
wrappercamerabinsrc: only flush buffers if renegotiation is needed

This avoid extra overhead when taking sequential pictures that woudln't
need renegotiation

10 years agocamerabin: handle EOS on the pipeline
Thiago Santos [Wed, 23 Jul 2014 16:37:05 +0000 (13:37 -0300)]
camerabin: handle EOS on the pipeline

Make camerabin handle EOS to the pipeline to allow standard pipeline
close where an EOS is sent to the whole pipeline before setting it to NULL.

10 years agotsdemux: Do not scan for keyframe when in push mode.
Mathieu Duponchelle [Mon, 21 Jul 2014 16:22:18 +0000 (18:22 +0200)]
tsdemux: Do not scan for keyframe when in push mode.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=733490

10 years agotsdemux: Do not scan for a keyframe in non-accurate mode.
Mathieu Duponchelle [Mon, 21 Jul 2014 16:21:41 +0000 (18:21 +0200)]
tsdemux: Do not scan for a keyframe in non-accurate mode.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=733490

10 years agogdppay: remove obsolete code
Thiago Santos [Tue, 1 Jul 2014 13:24:44 +0000 (10:24 -0300)]
gdppay: remove obsolete code

Buffers have no caps in 1.0

10 years agogdppay: put all sticky events in streamheader
Thiago Santos [Tue, 1 Jul 2014 13:07:40 +0000 (10:07 -0300)]
gdppay: put all sticky events in streamheader

Use the sticky events to compose the streamheader as they are the
ones that are persisted to config new pads linked. Instead of storing
them ourselves rely on the pad storage that already orders it for us

https://bugzilla.gnome.org/show_bug.cgi?id=732596

10 years agofacedetect: improve enum GstFaceDetectUpdates descriptions
Nicola Murino [Mon, 21 Jul 2014 19:03:26 +0000 (21:03 +0200)]
facedetect: improve enum GstFaceDetectUpdates descriptions

https://bugzilla.gnome.org/show_bug.cgi?id=730509

10 years agofacedetect: make updates on_change works as expected
Nicola Murino [Wed, 21 May 2014 10:59:57 +0000 (12:59 +0200)]
facedetect: make updates on_change works as expected

https://bugzilla.gnome.org/show_bug.cgi?id=730509

10 years agopnmenc: Port PNM Encoder to use GstVideoEncoder Class
Sanjay NM [Tue, 22 Jul 2014 07:12:36 +0000 (12:42 +0530)]
pnmenc: Port PNM Encoder to use GstVideoEncoder Class

https://bugzilla.gnome.org/show_bug.cgi?id=731943