Commit graph

4395 commits

Author SHA1 Message Date
Matthew Waters
dbe8ae4d98 caopengllayersink: implement as a bin like glimagesink 2015-03-12 16:45:51 +00:00
Matthew Waters
66ccdab09a gl/cocoa: avoid deadlock when creating context on the main thread.
Make window/view creation async so that it is possible to
gst_gl_context_create from the main thread.
2015-03-12 16:45:51 +00:00
Matthew Waters
ef0bd30c87 gl: store the list of contexts within gldisplay
Removes the reliance on the allocation query to propogate GL contexts.

Allows thread safely getting a context for the a specific thread.
2015-03-12 16:45:51 +00:00
Matthew Waters
2f2470488b glimagesink: unset the current shader after rendering
fixes gltestsrc ! glimagesink when gltestsrc doesn't use a shader
2015-03-12 16:45:51 +00:00
Matthew Waters
5495397c81 gltestsrc: remove usage of gldownload library object 2015-03-12 16:45:51 +00:00
Matthew Waters
776d190f59 gl: new glsrcbin element 2015-03-12 16:45:51 +00:00
Matthew Waters
0fb56738a1 glvideomixer: implement with glmixerbin
The relevant properties are forwarded to/from the containing bin
and sink pads.
2015-03-12 16:45:51 +00:00
Matthew Waters
d5a692bdb0 glmixer: remove usage of upload/download objects 2015-03-12 16:45:51 +00:00
Matthew Waters
9e605fca6c gl: new glmixerbin element 2015-03-12 16:45:51 +00:00
Matthew Waters
8a0017e21d glimagesink: implement as a bin
glupload ! glcolorconvert ! sink

Some properties are manually forwarded.  The rest are available using
GstChildProxy.

The two signals are forwarded as well.
2015-03-12 16:45:50 +00:00
Matthew Waters
b0600aca97 gl: new glsinkbin element
similar to glfilterbin but for sinks
2015-03-12 16:45:50 +00:00
Matthew Waters
7fe908bc02 gl: new element glfilterbin
It encapsulates a confiurable GL processing element in the
upload/colorconvert/download dance required to transparently process
the majority of GstBuffer's.
2015-03-12 16:45:50 +00:00
Matthew Waters
a7cbc04aba gl: add new gldownloadelement
Simply transforms caps to/from raw/glmemory capsfeatures
2015-03-12 16:45:50 +00:00
Matthew Waters
3514600bf3 gl: add a new glcolorconvert element based on the glcolorconvert library object 2015-03-12 16:45:50 +00:00
Matthew Waters
efaca13d11 gl: add a new glupload element based on the glupload library object 2015-03-12 16:45:50 +00:00
Matthew Waters
45d85a0570 gl: add a new glbasemixer class below glmixer
It deals with propagating the gl display/contexts throughout the
application/pipeline
2015-03-12 16:45:50 +00:00
Vincent Penquerc'h
22d9c9f763 opusenc: replace cbr and constrained-vbr properties with an enum
It was deemed confusing before.

https://bugzilla.gnome.org/show_bug.cgi?id=744909
2015-03-12 14:04:20 +00:00
Jan Schmidt
f150cf2d2e Remove a bunch of silly ';;' typos at the end of lines 2015-03-12 01:33:03 +11:00
Mathieu Duponchelle
bd70c73a8a dashdemux: implement get_presentation_offset.
To account for presentationTimeOffset as per section 7.2.1 .

https://bugzilla.gnome.org/show_bug.cgi?id=745455
2015-03-10 15:17:37 +01:00
Mathieu Duponchelle
793b4bca93 gstmpdparser: Really set the default value for startNumber.
+ The specs ask for a default of 1, the current code only did
 set a default when the field was present.

https://bugzilla.gnome.org/show_bug.cgi?id=745455
2015-03-10 15:17:37 +01:00
Nicolas Dufresne
2d5d2eabef glmixer: Don't share our downstream pool with upstream
Pool cannot have multiple owner. This can lead to spurious
pool was flushing error.

https://bugzilla.gnome.org/show_bug.cgi?id=74570
2015-03-06 20:12:09 -05:00
Nicolas Dufresne
fb4d769425 glimagesink: Only cache pool, don't manage it
GLImage does not use any kind of internal pool. There was some
remaining code and comment stating that it was managing the
pool, and it was in fact setting the active state when doing
to ready state.

* Only create the pool if requested and in propose_allocation
* Cache the pool to avoid reallocation on spurious reconfigure
* Don't try to deactivate the pool (we don't own it)

https://bugzilla.gnome.org/show_bug.cgi?id=745705
2015-03-06 19:25:16 -05:00
Sebastian Dröge
b81823e7db gl: Remove format info in glcolorconvert's transform_caps function instead of on every caller
... and let glmixer actually transform the caps it is supposed to transform
instead of inventing new caps.
2015-03-06 18:53:13 +01:00
Luis de Bethencourt
290508932e motioncells: protect against not found id
If searchIdx() doesn't find the id it returns -1, which breaks
motioncelssvector.at (idx). Check for it and return if not found.

Changing a few other lines for style consistency.
2015-03-05 15:56:44 +00:00
Luis de Bethencourt
632854eba3 opencv: remove always-true check
filter->cvImage has just been used/dereferenced, there would be an error
there if the pointer was NULL. No need to check since it will always be true.
2015-03-05 15:34:32 +00:00
Vincent Penquerc'h
b9c521c0ec opusdec: fix latency query in FEC case
The max latency parameter is "the maximum time an element
synchronizing to the clock is allowed to wait for receiving all
data for the current running time" (docs/design/part-latency.txt).

https://bugzilla.gnome.org/show_bug.cgi?id=744338
2015-03-04 11:04:29 +00:00
Thiago Santos
87f8d7890c hlsdemux: set timestamp on discont buffers
Make sure discont buffers have its timestamp set to allow downstream
to resync if needed
2015-03-04 08:00:48 -03:00
Nicolas Dufresne
eff94f929d gloverlay: Fix upside down and miss-aligned JPEG
LibJPEG uses macroblock of 8x8 sample. In this element we use RGB and
Y444, two 24bit formats that are stored in 32bit pixels. This mean we
have 32x32 bytes macroblocks. For this reason, we need to allocate
our buffer slightly larger. We also need to pass the line pointer in
the right order, otherwise the image endup upside-down.

https://bugzilla.gnome.org/show_bug.cgi?id=745109
2015-03-03 15:26:13 -05:00
Xavier Claessens
128c2a141a gltransformation: normalize translations
https://bugzilla.gnome.org/show_bug.cgi?id=744763

* Lubosz: use maxfloat for transformation range
2015-03-03 14:05:21 -05:00
Xavier Claessens
80f97eaee7 gltransformation: Fix doc typo
https://bugzilla.gnome.org/show_bug.cgi?id=744763
2015-03-03 14:05:21 -05:00
Luis de Bethencourt
dc79b8d761 waylandsink: g_mkstemp is safer than mkstep 2015-03-03 16:53:32 +00:00
Luis de Bethencourt
bed7a679b5 Revert "waylandsink: mkstemp requires setting permission mask"
This reverts commit 1890e7355a.

Better to use g_mkstemp that takes care of the mask without affecting the
entire process.
2015-03-03 16:51:49 +00:00
Luis de Bethencourt
1890e7355a waylandsink: mkstemp requires setting permission mask
Using mkstemp without setting the permission mask is potentially harmful.
POSIX specification of mkstemp() does not say anything about file modes, so we
need to make sure its file mode creation mask is set appropriately before
calling it.
2015-03-03 15:51:55 +00:00
Nicolas Dufresne
b8f168cd65 glmemory: Add GstAllocationParams and alignment support
This implements support for GstAllocationParams and memory alignments.
The parameters where simply ignored which could lead to crash on
certain platform when used with libav and no luck.

https://bugzilla.gnome.org/show_bug.cgi?id=744246
2015-02-28 14:32:39 -05:00
Nicolas Dufresne
c20c6cfb92 opengl: Clean Makefile.am
+ Split headers from source
+ Remove uneeded AM_CFLAGS, AM_LDFLAGS
+ Always set OBJCFLAGS

Due to the presence of a .m and regardless of the conditional values,
automake will promote the link command to OBJC using OBJCFLAGS. Only
the basic flags (like warnings and optimization) are going to make a
difference though.

This cleanup builds up the makefile with less specific files first
toward more specific file. FLAGS are built with the basic that unused
flags will have empty variable.
2015-02-24 19:01:45 -05:00
Xavier Claessens
e25f4f1a60 glimagesink: cosmetic cleanup
https://bugzilla.gnome.org/show_bug.cgi?id=745105
2015-02-24 15:22:34 -05:00
Tim-Philipp Müller
004e910006 opengl: don't add --tag=CC twice to LIBTOOLFLAGS 2015-02-24 19:52:59 +00:00
Nicolas Dufresne
0feaeb38f9 opengl: Add --tag=CC to LIBTOOLCLFAGS
This is required for static build.
2015-02-24 14:35:37 -05:00
Luis de Bethencourt
65e5f68437 modplug: remove unused variable 2015-02-24 14:01:18 +00:00
Luis de Bethencourt
9078702b52 modplug: not using deprecated API anymore 2015-02-24 14:01:18 +00:00
Luis de Bethencourt
4d6b9c450d modplug: update example pipeline command 2015-02-24 14:01:18 +00:00
Matthew Waters
e3ec517838 caopengllayersink: render black when we don't have a texture to display
Like when the winsys asks us to redraw before the pipeline has started
2015-02-25 00:03:28 +11:00
Matthew Waters
021bfa99a1 new caopengllayersink element
renders gstreamer gl scene/video frames to a caopengllayer retreivable
from the "layer" property.
2015-02-24 19:12:10 +11:00
Julien Isorce
5fa0595046 glmixer: fix some compiler warnings
i686-apple-darwin11-llvm-gcc-4.2

gstglmixer.h:43: error: redefinition of typedef ‘GstGLMixer’
gstglmixerpad.h:32: error: previous declaration of ‘GstGLMixer’ was here
gstglmixer.h:46: error: redefinition of typedef ‘GstGLMixerFrameData’
gstglmixerpad.h:33: error: previous declaration of ‘GstGLMixerFrameData’ was here
2015-02-22 10:34:05 +00:00
Alex Ashley
a08dd85608 hlsdemux: select correct starting position for live streams
When playing live HLS streams, the media playback starts from the
beginning of the media playlist. When playing a live HLS stream,
media playback should start from 3 fragments from the end of the
playlist.

See section 6.3.3. of the HLS draft [1]

This commit changes the logic to select 3 fragments from the end when
playing a live stream.

[1] http://tools.ietf.org/html/draft-pantos-http-live-streaming-12#page-29

https://bugzilla.gnome.org/show_bug.cgi?id=727742
2015-02-20 19:00:01 -03:00
Guillaume Seguin
b75f64d72e hlssink: reduce playlist's EXT-X-VERSION to 3
We are not using any features greater than the 3rd version,
so reduce to what we actually use to make it compatible with
more players

https://bugzilla.gnome.org/show_bug.cgi?id=744689
2015-02-19 12:17:21 -03:00
Vincent Penquerc'h
0e809604f5 rtpopuspay: default encoding name to OPUS
https://bugzilla.gnome.org/show_bug.cgi?id=737810
2015-02-19 14:30:10 +00:00
Vincent Penquerc'h
e05135aae5 rtpopuspay: make caps writable before truncating them
https://bugzilla.gnome.org/show_bug.cgi?id=737810
2015-02-19 14:05:06 +00:00
Vincent Penquerc'h
3be7d0748a rtpopuspay: negotiate the encoding name
Chrome uses a different encoding name that gstreamer.

https://bugzilla.gnome.org/show_bug.cgi?id=737810
2015-02-19 13:53:54 +00:00
Sebastian Dröge
1bd7b4566e rsninputselector: Fail the latency query if one of the upstream queries fails 2015-02-19 01:28:30 +02:00