Commit graph

4042 commits

Author SHA1 Message Date
Sebastian Rasmussen
b53433fbbf openal: Unref pad template caps after usage
https://bugzilla.gnome.org/show_bug.cgi?id=734520
2014-08-10 12:38:57 +01:00
Tim-Philipp Müller
2f8e528f37 ladspa: fix up broken patch merge
Sorry, should've been commit --amend
2014-08-10 12:29:04 +01:00
Sebastian Rasmussen
4dde567480 ladspa: Unref pad template caps after usage
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734519
2014-08-10 11:49:53 +01:00
Sebastian Rasmussen
9b7314cb6c ladspa: Unref pad template caps after usage
https://bugzilla.gnome.org/show_bug.cgi?id=734519
2014-08-10 11:47:17 +01:00
Sebastian Rasmussen
1b56e80147 dfbvideosink: Unref pad template caps after usage
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734518
2014-08-10 11:45:30 +01:00
Sebastian Rasmussen
961a704a74 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
2014-08-10 11:26:51 +01:00
Sebastian Rasmussen
e30f4a2851 opus: Improve annotation of internal function
https://bugzilla.gnome.org/show_bug.cgi?id=734543
2014-08-10 11:26:17 +01:00
George Kiagiadakis
ea90ceac01 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.
2014-08-07 16:52:37 +03:00
Matthew Waters
dab074899e glvideomixer: add a background property
That's compatible with the compositor/videomixer property

https://bugzilla.gnome.org/show_bug.cgi?id=731954
2014-08-07 19:21:02 +10:00
Thibault Saunier
0e67c13d2f ext:faad: Set rank to SECONDARY as the libav decoder is concidered better
https://bugzilla.gnome.org/show_bug.cgi?id=676131
2014-08-07 09:23:41 +02:00
Vasilis Liaskovitis
4dacc4ba55 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
2014-08-07 13:55:02 +10:00
Thiago Santos
24815a5feb 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
2014-08-01 10:37:15 -03:00
Matthew Waters
707cb58004 gl: document GST_GL_* environment variables
https://bugzilla.gnome.org/show_bug.cgi?id=733245
2014-08-01 16:43:47 +10:00
Robert Jobbagy
bd3cefeecc 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
2014-07-30 16:43:10 -03:00
Robert Jobbagy
43a4498569 faceblur: post message when profile loading fails 2014-07-30 16:43:10 -03:00
Robert Jobbagy
555d29681b facedetect: faceblur: update launch line examples
Reflect 1.0 and more useful examples
2014-07-30 16:43:10 -03:00
Matthew Waters
13960f0043 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
2014-07-29 13:25:22 +10:00
David Rothlisberger
f5992a6cdd 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.
2014-07-28 14:22:27 -03:00
Thiago Santos
aa5e25820b templatematch: mark pads as proxy caps
Allows negotiation to happen properly
2014-07-28 14:18:02 -03:00
William Manley
1b5483eef9 templatematch: Produce a warning message if we can't load a template image 2014-07-28 14:18:02 -03:00
William Manley
88cb33a1dc 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.
2014-07-28 14:18:02 -03:00
William Manley
b608767288 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.
2014-07-28 14:18:01 -03:00
David Rothlisberger
c77808055d 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.
2014-07-28 14:17:28 -03:00
William Manley
056d652b92 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.
2014-07-28 11:26:13 -03:00
Matthew Waters
13c63154b0 glimagesink: silence gsignal warning
instance '0xblah' has no handler with id '13'
2014-07-27 13:27:10 +10:00
Matthew Waters
5291ba37d9 glimagesink: remove extra argument from debug call 2014-07-24 13:05:00 +10:00
Vasilis Liaskovitis
90a4444609 glimagesink: Add navigation interface and callbacks for GstGLWindow mouse/key signals
https://bugzilla.gnome.org/show_bug.cgi?id=703486
2014-07-24 12:48:57 +10:00
Wang Xin-yu (王昕宇)
1adb0a77d6 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
2014-07-24 11:46:56 +10:00
Nicola Murino
bd4ae18938 facedetect: improve enum GstFaceDetectUpdates descriptions
https://bugzilla.gnome.org/show_bug.cgi?id=730509
2014-07-22 06:39:21 -03:00
Nicola Murino
3896dd8413 facedetect: make updates on_change works as expected
https://bugzilla.gnome.org/show_bug.cgi?id=730509
2014-07-22 06:39:21 -03:00
Thiago Santos
e26e112e80 katedec: handle segment event earlier
Delaying the segment event to when caps are decided can cause issues as
the first thing katedec does on its chain function it doing a segment clip.
It will lead to an assertion if the segment format is undefined

https://bugzilla.gnome.org/show_bug.cgi?id=733226
2014-07-21 12:36:19 -03:00
Thiago Santos
b0e63bbb9b katedec: handle streamheaders in caps
Properly handle the caps event by configuring the kate decoding lib using the
available streamheaders. This makes it possible to decode kate subtitles when
the stream is seeked before katedec gets the initial buffers that are usually
the streamheaders.

https://bugzilla.gnome.org/show_bug.cgi?id=733226
2014-07-21 12:36:19 -03:00
Sebastian Dröge
c42595cc69 openni2src: Fix unitialized variable compiler warning
gstopenni2src.cpp:721:14: error: variable 'oni_ts' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
  } else if (src->color->isValid () && src->sourcetype == SOURCETYPE_COLOR) {
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gstopenni2src.cpp:752:26: note: uninitialized use occurs here
  GST_BUFFER_PTS (buf) = oni_ts - src->oni_start_ts;
                         ^~~~~~
gstopenni2src.cpp:721:10: note: remove the 'if' if its condition is always true
  } else if (src->color->isValid () && src->sourcetype == SOURCETYPE_COLOR) {
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gstopenni2src.cpp:721:14: error: variable 'oni_ts' is used uninitialized whenever '&&' condition is false [-Werror,-Wsometimes-uninitialized]
  } else if (src->color->isValid () && src->sourcetype == SOURCETYPE_COLOR) {
             ^~~~~~~~~~~~~~~~~~~~~~
gstopenni2src.cpp:752:26: note: uninitialized use occurs here
  GST_BUFFER_PTS (buf) = oni_ts - src->oni_start_ts;
                         ^~~~~~
gstopenni2src.cpp:721:14: note: remove the '&&' if its condition is always true
  } else if (src->color->isValid () && src->sourcetype == SOURCETYPE_COLOR) {
             ^~~~~~~~~~~~~~~~~~~~~~~~~
gstopenni2src.cpp:642:18: note: initialize the variable 'oni_ts' to silence this warning
  uint64_t oni_ts;
                 ^
                  = 0
2014-07-21 10:14:17 +02:00
Sebastian Dröge
429f20531f hlsdemux: Make statistics message more generic for other adaptive streaming demuxers to reuse
https://bugzilla.gnome.org/show_bug.cgi?id=725828
2014-07-21 09:37:51 +02:00
Alexander Zallesov
7f4f9f09e3 hlsdemux: Provide statistics about time to download playlists and fragments
https://bugzilla.gnome.org/show_bug.cgi?id=725828
2014-07-21 09:37:51 +02:00
Sebastian Dröge
a7e243b32e curlsshsink: Include gst.h and other stuff before anything else 2014-07-11 21:16:26 +02:00
Sebastian Dröge
1934847981 gl: Always build gstglmixer, not only when full OpenGL support is enabled 2014-07-11 13:58:55 +02:00
Sebastian Dröge
198d8dd5f1 curl: Use winsock2 instead and the GLib macro for checking if we're on Windows 2014-07-11 13:25:57 +02:00
Sebastian Dröge
0ea13d7a65 motioncells: Use no network API if not required 2014-07-11 13:25:18 +02:00
Alexey Pavlov
365d0cfb32 ext: Include winsock.h on Windows when required
https://bugzilla.gnome.org/show_bug.cgi?id=733052
2014-07-11 13:21:21 +02:00
Sebastian Dröge
acb1d5afc3 gl: Link to all required libraries but not more 2014-07-11 12:06:48 +02:00
Sebastian Dröge
92d00d0233 gl: Move GstGLMixer to the plugin for now
It depends on GstAggregator and we don't want to install headers
for that yet.

https://bugzilla.gnome.org/show_bug.cgi?id=732207
2014-07-11 09:41:05 +02:00
Philip Withnall
c57500a7f4 opus: Fix a double-unref in the Opus header code
The headers were never getting reffed when being added to the headers
list, which is later unreffed-and-freed by the caller (e.g.
gst_opus_parse_parse_frame()).

https://bugzilla.gnome.org/show_bug.cgi?id=733013
2014-07-11 09:05:32 +02:00
Nicolas Dufresne
ab29217726 glimagesink: Keep aspect ratio by default
The expected default behaviour for video sink is to maintain the
aspect ratio. Fix the default value to reflect this. The property
default was already TRUE, but the value was not initially TRUE.
2014-07-09 15:03:53 -04:00
Nicolas Dufresne
25c289f6c4 facedetect: Make cascades dir a little more portable 2014-07-04 21:13:49 -04:00
Nicolas Dufresne
09fc19b83f handdetect: Use already mapped image
No need to map again the image, it's already handled by the base class.
2014-07-04 21:13:49 -04:00
Nicolas Dufresne
efde572cec handdetect: Move size warning in set_caps so it's called once 2014-07-04 21:13:49 -04:00
Nicolas Dufresne
34e23c2e21 faceblur: Port to OpencvVideoFilter base class
This fixes issue whit black frames when special memory, like GlMemory is
in used.

https://bugzilla.gnome.org/show_bug.cgi?id=732756
2014-07-04 21:13:49 -04:00
Nicolas Dufresne
42a83d2c64 cvvideofilter: Don't try to make buffer writable
First this is handle by base transform, hence this is a no-op, and if it wasn't it
would lead to a buffer copy being leaked, and then an unreffed buffer being
pushed downstream.

https://bugzilla.gnome.org/show_bug.cgi?id=732756
2014-07-04 21:13:11 -04:00
Nicolas Dufresne
2acdb2ecf2 cvvideofilter: Check buffer_map return value
Check the resturn value and cleanly fail if we could not mapped the buffers.

https://bugzilla.gnome.org/show_bug.cgi?id=732756
2014-07-04 21:12:38 -04:00