Commit graph

4515 commits

Author SHA1 Message Date
Jan Schmidt
ff12434b9f glimagesink: Cache caps for passing to the client draw call
Don't convert the GstVideoInfo to caps on every draw call,
just cache the caps and pass them into the GstSample.
2015-04-29 02:52:40 +10:00
Tim-Philipp Müller
35808c27fa opus: fix includes and compilation against opus in non-standard prefix
https://bugzilla.gnome.org/show_bug.cgi?id=748594
2015-04-28 17:24:04 +01:00
Mersad Jelacic
036f07e087 opus: don't use deprecated gst_buffer_new_and_alloc
Use the helper function available in the base class instead.

https://bugzilla.gnome.org/show_bug.cgi?id=748585
2015-04-28 16:36:02 +01:00
Tim-Philipp Müller
c754b8526b de265dec: use g_get_num_processors() if available
And provide home-made fallback for older GLib versions,
so that we can later find these and remove them when
we bump the GLib requirement (which is certainly going
to happen before 2.0).

https://bugzilla.gnome.org/show_bug.cgi?id=748495
2015-04-28 16:08:31 +01:00
Matthieu Bouron
17d3a75583 glimagesink: Use gst_pad_get_pad_template_caps in ::get_caps() 2015-04-28 20:14:07 +10:00
Matthew Waters
0b7f65bbc3 glupload: provide the sink template caps that could be used
https://bugzilla.gnome.org/show_bug.cgi?id=746399
2015-04-28 20:13:48 +10:00
Руслан Ижбулатов
0a95a4ea24 libde265: W32 thread count support
This code is imported from GLib g_get_num_processors(). This function
was added in 2.36 but we depend on 2.32.

https://bugzilla.gnome.org/show_bug.cgi?id=748495
2015-04-27 10:26:33 -04:00
Руслан Ижбулатов
283fc200c6 libde265: Fix format string for gsize
https://bugzilla.gnome.org/show_bug.cgi?id=748496
2015-04-27 10:26:33 -04:00
Руслан Ижбулатов
5b22a126fe spandsp: Don't use the private field 'missing_samples'
https://bugzilla.gnome.org/show_bug.cgi?id=748497
2015-04-27 10:02:38 -04:00
Matthieu Bouron
e765a9bb00 glfiltercube: Don't initialize multiple shaders on renegotiation 2015-04-27 14:52:37 +02:00
Matthieu Bouron
4ca63b01ab glimagesink: Remove unused stop function 2015-04-27 18:27:48 +10:00
Matthew Waters
05109be4a0 glimagesink: unref the pool in the correct place
Otherwise we could hold a pool to a context that is never going to be used.

https://bugzilla.gnome.org/show_bug.cgi?id=748405
2015-04-27 18:21:01 +10:00
Matthieu Bouron
c6ec145a95 gltransformation: Unref shader in ::stop() 2015-04-27 10:16:24 +02:00
Matthew Waters
bd940327ef gl: unref display/other-context in the correct place
Otherwise state changes from PLAYING->READY->PAUSED will cause there to
to be no display configured on the element.

https://bugzilla.gnome.org/show_bug.cgi?id=748405
2015-04-27 15:20:56 +10:00
Sebastian Dröge
e7aa25ca6f glfilter: De-camelcase onInitFBO() vfunc 2015-04-26 21:42:03 +02:00
Sebastian Dröge
c638477c48 glfilter: Remove onStart/onStop vfuncs, and unused onReset()
onStart/onStop are just duplicates of the basetransform ones, onReset
was never called but was used everywhere when stop should've been used.
2015-04-26 21:39:06 +02:00
Lubosz Sarnecki
51daa8b9e2 gltransformation: don't initialize multiple shaders on renegotiation
https://bugzilla.gnome.org/show_bug.cgi?id=748407

* delete shader if one exists
* set it to NULL after unrefing
2015-04-26 21:23:16 +02:00
Sebastian Dröge
a8d498919e glcolorconvert: Fix compiler warning
gstglcolorconvertelement.c:230:19: error: unused variable 'in_structure'
      [-Werror,-Wunused-variable]
    GstStructure *in_structure = gst_caps_get_structure (caps, 0);
                  ^
2015-04-26 21:11:17 +02:00
Matthieu Bouron
76b2cefd2d glcolorconvert: Keep colorimetry and chroma-site fields if passthrough
https://bugzilla.gnome.org/show_bug.cgi?id=748141
2015-04-26 20:31:53 +02:00
Tim-Philipp Müller
699452ef31 Remove obsolete Android build cruft
This is not needed any longer.
2015-04-26 18:59:32 +01:00
Matthew Waters
b216629941 glimagesink: balance change_state display ref/unref
the display was being unreffed on the incorrect state change causing
invalid state when changing from PLAYING/PAUSED->READY->PAUSED/PLAYING.
2015-04-24 17:16:18 +10:00
Sebastian Dröge
7c2a5da125 hlsdemux: Use the downloader of the base class instead of creating our own
The one of the base class is completely unused because we override all
the downloading here, so let's just use that one instead.
2015-04-23 17:47:18 +02:00
Sebastian Dröge
5fd2fc3050 hlsdemux: Don't error out if we can't match variant playlists after updating
It's better to just select some random variant playlist instead of stopping,
chances are that it's still continuing to work and we might just have to
select a different variant again later.
2015-04-23 17:47:18 +02:00
Sebastian Dröge
bb36ffb633 hlsdemux: Fix how the playlists are refreshed
We should only refresh the currently selected variant playlist (if any,
otherwise the main playlist), not the main playlist. And only try to
refresh the main playlist if updating the variant playlist fails.

Some servers (Wowza) use the request of the main playlist to create a
"session", which is then part of the URI of the variant playlist and
also the fragments. Refreshing the main playlist would generate a new
session, and the server rate limits that usually. And after a few retries
the server just kicks us out.

Also as a side effect we now use the same downloader for all playlists, so
that we only have 2 instead of 3 connections to the server. And also
previously we just ignored the downloaded data from the main playlist that
the base class gave to us.
2015-04-23 17:47:18 +02:00
Sebastian Dröge
0cd3938345 adaptivedemux: Allow subclasses to override how a new manifest would be downloaded 2015-04-23 17:47:18 +02:00
Matthieu Bouron
8f740fb484 glupload: Release glupload buffer when caps are changed
https://bugzilla.gnome.org/show_bug.cgi?id=748371
2015-04-24 00:55:58 +10:00
Thiago Santos
86a503a29b hlsdemux: handle too short segments
When the segment is very short it might be the case that the
typefinding fails and when finishing the segment hlsdemux would
consider the remaining data (pending_buffer) as an encryption
leftover.

This patch fixes it and makes sure an error is properly posted
if typefind failed by refactoring buffer handling to a function
and using it from the data_received and finish_fragment functions.
2015-04-22 20:21:02 -03:00
Thiago Santos
6c513a9d1e hlsdemux: use correct variable type
gst_buffer_resize needs gssize and not gsize. This makes gdb
print it correctly when debugging.
2015-04-22 19:04:43 -03:00
Vineeth T M
7e3cd63f87 glmixer: Possible null pointer dereference
While printing error message when context fails, error variable is not being used anymore
so it will lead to null pointer dereference

https://bugzilla.gnome.org/show_bug.cgi?id=748287
2015-04-22 22:33:28 +10:00
Sebastian Dröge
6c968ed3da hlsdemux: Fix seeking
We also have to update the current_file GList pointer in the M3U playlist
client, otherwise we are just continuing playback from the current position
instead of seeking.
2015-04-21 18:30:33 +02:00
Sebastian Dröge
1e1e73a0f2 hlsdemux: Don't call unlock() just to call lock() immediately afterwards 2015-04-21 18:30:33 +02:00
Michał Dębski
b12f975e0a gleffects: Create element for each effect
https://bugzilla.gnome.org/show_bug.cgi?id=746209
2015-04-21 13:03:11 +01:00
Michał Dębski
532f332c2f gleffects: Merge laplacian filter into effects
https://bugzilla.gnome.org/show_bug.cgi?id=746209
2015-04-21 13:03:06 +01:00
Michał Dębski
0165b163db gleffects: Merge sobel filter into effects
https://bugzilla.gnome.org/show_bug.cgi?id=746209
2015-04-21 13:02:57 +01:00
Michał Dębski
7770fb2f57 gleffects: Merge blur filter into effects
https://bugzilla.gnome.org/show_bug.cgi?id=746209
2015-04-21 13:02:53 +01:00
Michał Dębski
ff4bc2364c gleffects: Correct attributes for hconv and vconv shaders
Width and height were switched for glow shaders. For blur
filter attributes names were obsolete.

https://bugzilla.gnome.org/show_bug.cgi?id=746209
2015-04-21 13:01:04 +01:00
Michał Dębski
40422d03c6 gleffects: Fix fisheye shader - pass float to sqrt
On OSX passing literal int to sqrt() in GLSL results in error.

https://bugzilla.gnome.org/show_bug.cgi?id=746209
2015-04-21 11:56:16 +01:00
Lubosz Sarnecki
5c07218bd2 gltransformation: fix shader memory leak 2015-04-21 16:37:17 +10:00
Matthew Waters
6cb6d8f9e8 gldisplay: synchronize the searching and creation of GstGLContext's
Ootherwise we could end up with multiple elements in different chains
each creating a context.  Fixes context creation with glvideomixer.
2015-04-21 12:55:24 +10:00
Edward Hervey
1ce65e2f74 handdetect: remove unneeded check
Variable hands is already checked to contain a value previously at the beginning
of the current block. There is no need to check again. This is logically dead code.

CID 1197693
2015-04-20 14:31:42 +02:00
Guillaume Desmottes
ac5e25937b glmixer: fix caps leak in gst_gl_mixer_pad_sink_getcaps()
Caps refcounting was all wrong in this function. Rewrote it and add some
comments to make it clearer.

Fix caps leaks with the
validate.file.glvideomixer.simple.play_15s.synchronized scenario.

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

Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2015-04-20 09:05:11 +01:00
Руслан Ижбулатов
589407a077 opencv: Change opencv plugin to use opencv2-style includes
If old opencv1-style legacy include directory is available,
this change becomes purely cosmetic (maybe will compile a bit faster).
It becomes an FTBFS fix when opencv1-style include directory is missing
(possibly because opencv package maintainer decided not to pack it).

https://bugzilla.gnome.org/show_bug.cgi?id=747705
2015-04-17 18:34:22 +02:00
Guillaume Desmottes
fae93514e4 glmixer: unref owned caps when finalizing the mixer
Fix a caps leak with the
validate.file.glvideomixer.simple.play_15s.synchronized scenario.

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

Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2015-04-17 14:28:37 +01:00
Guillaume Desmottes
481b1c921e glmixer: pass the proper free function to frames and buffers array
'array_buffers' contain borrowed GstBuffer and so shouldn't have a free
function. 'frames' is the one containing GstGLMixerFrameData and so should use
_free_glmixer_frame_data as free function.

Fix GstGLMixerFrameData leaks with the
validate.file.glvideomixer.simple.play_15s.synchronized scenario.

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

Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2015-04-17 14:28:25 +01:00
Sebastian Dröge
917c395403 gldownloadelement: Download *from* OpenGL, not into 2015-04-17 15:20:12 +02:00
Robert Swain
e5c73c8c8c openh264enc: Add complexity property for speed/quality tradeoff 2015-04-17 14:57:14 +02:00
Matthieu Bouron
f283d72636 gluploadelement: Unref GstGLUpload object and caps in ::stop()
Fix leak of the GstGLUpload object.

https://bugzilla.gnome.org/show_bug.cgi?id=748033
2015-04-17 14:17:55 +02:00
Sebastian Dröge
c1cac829ef gl: Remove some empty ::finalize() implementations 2015-04-17 14:09:47 +02:00
Sebastian Dröge
9ee29626c4 gldownloadelement: Fix element description 2015-04-17 14:06:03 +02:00
Sebastian Dröge
758fea90aa gldownloadelement: Remove unused ::finalize() implementation 2015-04-17 14:05:44 +02:00