Thiago Santos
7863be66ed
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.
2014-08-11 12:32:04 -03:00
Thiago Santos
0b67f872dc
assrender: remove obsolete fixme
2014-08-11 12:31:17 -03:00
Thiago Santos
33c2372ae3
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
2014-08-11 12:22:44 -03:00
Thiago Santos
7895d88369
assrender: always intersect with the filter caps
...
Avoids returning values that peers can't use
https://bugzilla.gnome.org/show_bug.cgi?id=733916
2014-08-11 12:21:28 -03:00
Sreerenj Balachandran
b9105792da
webenc: Add WebP image encoder
...
https://bugzilla.gnome.org/show_bug.cgi?id=733087
2014-08-11 16:24:48 +03:00
Sebastian Rasmussen
4482ce3423
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
2014-08-11 15:32:28 +03:00
Sebastian Rasmussen
a9493a3985
opusenc: Unref pad template caps after usage
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734517
2014-08-11 15:31:45 +03:00
Tim-Philipp Müller
c81a2d1c6c
opengl: update element docs for 1.x
2014-08-10 18:07:28 +01:00
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
Sebastian Rasmussen
77905f632e
mimdec: Print invalid fourcc in error message in hex
...
Previously this was printed as characters which caused later processing
of the error message to sometimes warn about non-UTF-8 characters.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732715
2014-07-04 17:48:14 +01:00
Arun Raghavan
652f0b4fd2
openni2src: Add proper clean up of OpenNI2 objects
...
https://bugzilla.gnome.org/show_bug.cgi?id=732535
2014-07-03 23:08:22 +05:30
Arun Raghavan
46a7f258a1
openni2src: Don't embed C++ objects in our GObject
...
Since C++ objects shoudl be properly constructed, we keep only pointers
to them and manually construct them on the heap.
https://bugzilla.gnome.org/show_bug.cgi?id=732535
2014-07-03 23:08:22 +05:30
Arun Raghavan
357298c84f
openni2src: Close device when stopping the stream
...
https://bugzilla.gnome.org/show_bug.cgi?id=732535
2014-07-03 23:08:22 +05:30
Arun Raghavan
0b6eae66df
openni2src: Fix timestamping
...
OpenNI2 makes no guarantees of timestamp starting from zero, just that
it will be a millisecond timestamp. Make timestamps start from zero
manually so things work correctly.
https://bugzilla.gnome.org/show_bug.cgi?id=732535
2014-07-03 23:08:22 +05:30
Arun Raghavan
6c4269c0e5
openni2src: Make the location property not be mandatory
...
Our calls to device open already handle the unset location case (by
opening any available device).
https://bugzilla.gnome.org/show_bug.cgi?id=732535
2014-07-03 23:08:22 +05:30
Arun Raghavan
7afb4a386a
openni2src: Open device on NULL->READY
...
https://bugzilla.gnome.org/show_bug.cgi?id=732535
2014-07-03 23:08:22 +05:30
Arun Raghavan
b6e07e77c2
openni2src: Fix deadlock when _get_caps() is called before READY
...
The object lock was not being dropped in the empty case. Restructured
the code a bit to make this sort of error less likely.
https://bugzilla.gnome.org/show_bug.cgi?id=732535
2014-07-03 23:08:22 +05:30
Arun Raghavan
65bddd1e0c
openni2src: Mark element as a live source
...
https://bugzilla.gnome.org/show_bug.cgi?id=732535
2014-07-03 23:08:22 +05:30
Jan Alexander Steffens (heftig)
86080cb5cc
rtmpsrc: Report limited bandwidth
...
Makes uridecodebin treat this source as a stream source,
allowing timeshifting.
https://bugzilla.gnome.org/show_bug.cgi?id=732335
2014-07-01 15:02:37 +02:00
Thiago Santos
f2400d7f16
faceblur: release the haar cascade
2014-06-30 11:54:41 -03:00
Sebastian Dröge
e77a93f6a8
segmentation: Release memory storage in finalize
2014-06-30 00:22:22 +02:00
Sebastian Dröge
d5e7c7bffe
textoverlay: Release memory storage and resize image when caps change
2014-06-30 00:18:20 +02:00
Sebastian Dröge
2683c87863
templatematch: Release cvImages when reloading templates are changing caps
2014-06-30 00:15:38 +02:00
Sebastian Dröge
7e0503ca89
pyramidsegment: Release image when changing caps or reusing the element
2014-06-30 00:12:26 +02:00
Sebastian Dröge
e1366c29be
handdetect: Release memory storage
2014-06-30 00:09:28 +02:00
Sebastian Dröge
ae1027297c
faceblur: Release memory storage
...
And also release cvImages and memory storage when changing caps or reusing the
element.
2014-06-30 00:07:22 +02:00
Sebastian Dröge
48e95f3d6f
edgedetect: Don't leak cvImages when caps are changing or the element is reused
2014-06-30 00:05:53 +02:00
Sebastian Dröge
45ac4ba663
pyramidsegment: Release memory storage when finalizing
2014-06-29 23:43:07 +02:00
Sebastian Dröge
7b63bd6348
schroenc: Remove obsolete FIXME comment
2014-06-29 23:33:20 +02:00
Sebastian Dröge
b4ef216f0b
schroenc: Don't leak all input buffers
2014-06-29 23:31:50 +02:00
Sebastian Dröge
dcccabfe22
textoverlay: Free text buffer in finalize
2014-06-29 22:30:56 +02:00
Sebastian Dröge
a84320be50
glimagesink: Chain up to the parent class' finalize function
2014-06-29 22:26:47 +02:00
Sebastian Dröge
f068b64285
glimagesink: Make sure to always unref the display
...
Even if we didn't create a context yet.
2014-06-29 22:25:43 +02:00
Sebastian Dröge
7f7793ef79
assrender: Make static caps actually static
...
Otherwise we leak once caps instance on every function call.
2014-06-29 21:05:27 +02:00
Sebastian Dröge
64160a1392
kate: Use G_GSIZE_FORMAT instead of unportable %zu
2014-06-28 23:26:23 +02:00
Thiago Santos
cf76aa2a1d
kate: unref events when freeing events list
...
Instead of just feeing the queue structs
2014-06-27 17:00:03 -03:00
Thiago Santos
c2ebc2349f
kateenc: fix segment event leak
...
gst_event_replace increments the refcount
2014-06-27 16:59:58 -03:00
Matthew Waters
7797b15de7
glshader: enable glshader on GLES2
2014-06-25 18:26:13 +10:00
Julien Isorce
13023f2975
glcolorscale: do passthrough on same caps
...
See https://bugzilla.gnome.org/show_bug.cgi?id=732178
2014-06-25 06:56:43 +01:00
Julien Isorce
6f45d00a9b
gl: enable glvideomixer on GLES2
2014-06-25 06:55:11 +01:00
Matthew Waters
c37ace1844
glvideomixer: bas output width/height on the pad properties
...
Allows automatic negotiation of the size in the following case:
gst-launch-1.0 glvideomixer name=m sink_0::xpos=0 sink_1::xpos=320 ! glimagesink \
videotestsrc ! m. \
videotestsrc pattern=1 ! m.
https://bugzilla.gnome.org/show_bug.cgi?id=731878
2014-06-25 12:00:34 +10:00
Matthew Waters
4c02c4f004
glvideomixer: don't clobber already allocated shader
2014-06-25 10:19:42 +10:00
Sebastian Rasmussen
96c78695f9
curls?ftpsink: Fix memory leaks due to new error handling
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732174
2014-06-24 19:05:34 +02:00
Matthew Waters
5409a3ea2f
gl: XInitThreads when env variable is set
...
This is too allow gst-launch debugging with multiple GL contexts as
well as avoiding segfaulting innocent gtk+ apps that have not called
XInitThreads.
https://bugzilla.gnome.org/show_bug.cgi?id=731525
2014-06-24 23:51:24 +10:00
Koop Mast
386e5774a7
modplug: don't hardcode c++ standard library
...
Fixes build with llvm on FreeBSD.
https://bugzilla.gnome.org//show_bug.cgi?id=731930
2014-06-22 21:51:21 +01:00
Sebastian Dröge
8a18ac76e1
gl: Need to link to new badvideo library for the video aggregator base class
2014-06-22 18:58:51 +02:00
Thomas Bluemel
b1fac8c781
hlsdemux: Fix decrypting fragments
...
Only reset the decryption engine on the first buffer of a fragment,
not again for the second buffer. This fixes corrupting the second
buffer of a fragment.
https://bugzilla.gnome.org/show_bug.cgi?id=731968
2014-06-22 14:21:35 +02:00
Sebastian Dröge
902a9a56d0
waylandsink: Fix compiler warning
...
gstwaylandsink.c:480:14: error: comparison of constant -1 with expression of
type 'enum wl_shm_format' is always false
[-Werror,-Wtautological-constant-out-of-range-compare]
if (format == -1)
~~~~~~ ^ ~~
2014-06-21 16:57:18 +02:00
Thibault Saunier
d516c951e7
gl:glvideomixer: Add the Compositor in the element metadata class
...
So it is possible to pick one compositing element from the registry
2014-06-20 19:53:33 +02:00
Thibault Saunier
4ce8b409cc
gl: Port glmixer to the GstVideoAggregator baseclass
...
https://bugzilla.gnome.org/show_bug.cgi?id=731921
2014-06-20 19:53:33 +02:00
Sebastian Dröge
95404609c0
hlsdemux: Include the debug string in the error messages we propagate from the
...
source
2014-06-19 18:34:05 +02:00