platform/upstream/gstreamer.git
9 years agoglvideomixer: avoid gl resource race condition between different thread
Wang Xin-yu (王昕宇) [Fri, 15 Aug 2014 03:51:21 +0000 (23:51 -0400)]
glvideomixer: avoid gl resource race condition between different thread

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

9 years agoglvideomixer: don't clobber unnecessary GstVideoInfo fields
Matthew Waters [Tue, 19 Aug 2014 04:44:29 +0000 (14:44 +1000)]
glvideomixer: don't clobber unnecessary GstVideoInfo fields

otherwise we might clobber other important fields such as the frame rate.

9 years agoglvideomixer: get the attribute from the correct shader
Matthew Waters [Tue, 19 Aug 2014 04:43:42 +0000 (14:43 +1000)]
glvideomixer: get the attribute from the correct shader

9 years agoglimagesink: unref the window on navigation event
Matthew Waters [Tue, 19 Aug 2014 04:23:21 +0000 (14:23 +1000)]
glimagesink: unref the window on navigation event

plugs a memory leak

9 years agotsdemux: remove pads when resetting the element
Thiago Santos [Tue, 19 Aug 2014 03:01:28 +0000 (00:01 -0300)]
tsdemux: remove pads when resetting the element

Otherwise the pads will be there if it is restarted and the stream
can be a completely different one.

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

9 years agocodecparser: h264: Use proper bit_reader api while parsing buffering_period SEI
Sreerenj Balachandran [Sat, 16 Aug 2014 22:42:05 +0000 (01:42 +0300)]
codecparser: h264: Use proper bit_reader api while parsing buffering_period SEI

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

9 years agoscenechange: fix crash on startup
Vineeth T M [Thu, 14 Aug 2014 04:49:13 +0000 (10:19 +0530)]
scenechange: fix crash on startup

gst_video_frame_map() was using the oldinfo GstVideoInfo
before it's been populated, resulting in a crash right
at the start.

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

9 years agoandroidmedia: Make sure to unblock any thread waiting on the drain condition variable...
Sebastian Dröge [Thu, 14 Aug 2014 12:26:53 +0000 (15:26 +0300)]
androidmedia: Make sure to unblock any thread waiting on the drain condition variable when errors happen

9 years agoandroidmedia: Fix draining logic to let the base class handle EOS events
Sebastian Dröge [Thu, 14 Aug 2014 12:24:21 +0000 (15:24 +0300)]
androidmedia: Fix draining logic to let the base class handle EOS events

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

9 years agodvbbasebin: fix parsing of freqs in some ZAP files
Reynaldo H. Verdejo Pinochet [Tue, 12 Aug 2014 01:25:41 +0000 (21:25 -0400)]
dvbbasebin: fix parsing of freqs in some ZAP files

Change avoids attempting to convert to kHz if unneeded.

There are quite some ZAP format variants out there. Among
their subtle little differences, some store transponder
frequencies in Mhz and others in kHz. The latter been the
most common variant.

9 years agodvbsrc: get rid of remaining trailing whitespace
Reynaldo H. Verdejo Pinochet [Thu, 7 Aug 2014 23:37:01 +0000 (19:37 -0400)]
dvbsrc: get rid of remaining trailing whitespace

9 years agodvbsrc: wrap around known-interruptible ioctls
Reynaldo H. Verdejo Pinochet [Thu, 7 Aug 2014 23:19:36 +0000 (19:19 -0400)]
dvbsrc: wrap around known-interruptible ioctls

Also get rid of the asumption that some requests like
FE_SET_TONE or FE_SET_VOLTAGE only error out with -1

9 years agodvbsrc: drop gst_dvbsrc_retry_ioctl for retry macro
Reynaldo H. Verdejo Pinochet [Thu, 7 Aug 2014 18:00:40 +0000 (14:00 -0400)]
dvbsrc: drop gst_dvbsrc_retry_ioctl for retry macro

LOOP_WHILE_EINTR macro makes it easier to handle
assorted ioctl argp types. Functionality is otherwise
equivalent.

9 years agodvbsrc: dvbbasebin: add 'tune' signal
Reynaldo H. Verdejo Pinochet [Tue, 12 Aug 2014 16:35:00 +0000 (12:35 -0400)]
dvbsrc: dvbbasebin: add 'tune' signal

It works the same as the 'tune' property that is used only to signal
the element that it should tune, but it is more natural to be used
as a signal rather than a property.

It is also proxied at the dvbbasebin element

9 years agohlsdemux: Do not switch playlist on trick modes
Thibault Saunier [Thu, 7 Aug 2014 13:25:32 +0000 (15:25 +0200)]
hlsdemux: Do not switch playlist on trick modes

Instead always use the low bandwith playlist making things go smoother
as the current heuristic is rather set for normal playback, and
currently it does not behave properly.

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

9 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

9 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

9 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

9 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

9 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.

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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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.

9 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

9 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

9 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

9 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

9 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.

9 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.

9 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.

9 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

9 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

9 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

9 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.

9 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

9 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

9 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

9 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.

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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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.

9 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

9 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

9 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

9 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.

9 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

9 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

9 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.

9 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.

9 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.

9 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.

9 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

9 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

9 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

9 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'

9 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

9 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

9 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

9 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