Commit graph

16515 commits

Author SHA1 Message Date
Matthew Waters
ecae7a1a41 gl/upload: cache the textures that we are using 2014-05-10 23:54:34 +10:00
Matthew Waters
c6e3f51ca5 gl/upload: avoid recreating the GLMemory struct for output textures 2014-05-10 23:05:03 +10:00
Tim-Philipp Müller
ab783acd7f rtmpsrc: error out if we get EOS immediately without any data
It's not really right to just go EOS as if nothing was wrong.
2014-05-10 12:57:29 +01:00
Tim-Philipp Müller
ab3153b9a2 tsdemux: remove confusing debug log line 2014-05-10 12:56:24 +01:00
Olivier Crête
1660538615 autoconvert: factories don't need the lock
An atomic is enough, they can only be set once.
2014-05-09 23:05:28 -04:00
Olivier Crête
c47c26bf1f Revert "autoconvert: Handle caps query on internal srcpad"
This is not needed anymore if the gst_pad_link checks nothing.

This reverts commit a303375a3f.
2014-05-09 23:04:26 -04:00
Olivier Crête
c0ff27959e autoconvert: No need to check anything when linking internal pads 2014-05-09 23:03:48 -04:00
Olivier Crête
4ccf7582a2 autoconvert: Don't ignore elements accepted ANY, it is valid 2014-05-09 23:03:43 -04:00
Olivier Crête
f3f6cdd451 autoconvert: Remove broken usage of the iterator
We're a subclass, so we can just take the object lock and iterate the list
directly.
2014-05-09 23:03:36 -04:00
Olivier Crête
907ffc7352 autoconvert: Process upstream getcaps
Process it like downstream getcaps
2014-05-09 23:03:29 -04:00
Olivier Crête
b852f13a54 autoconvert: Return the GList of factories, to a pointer to it. 2014-05-09 23:02:28 -04:00
Olivier Crête
9eeef09c80 autoconvert: subelement can only be change with stream lock held
It was already the case, now be more explicit about that, and remove useless
lock/ref/unlock/unref dances.
2014-05-09 23:02:23 -04:00
Olivier Crête
606ff3debd autoconvert: Keep a ref to the pads too
Simplifies the code
2014-05-09 23:02:16 -04:00
Olivier Crête
968b4a4969 autoconvert: Remove uneeded if()
NULL is valid GList
2014-05-09 23:02:12 -04:00
Olivier Crête
b76e564acf autoconvert: Always push reconfigure upstream too
A reconfigure could trigger a change of contents instead of just reconfiguring the internal element
2014-05-09 23:02:09 -04:00
Olivier Crête
ead6db4277 autoconvert: Remove unused internal parameter 2014-05-09 23:02:05 -04:00
Nicolas Dufresne
afea9c6fe1 gl: Fix some of the error handling 2014-05-09 18:59:46 -04:00
Nicolas Dufresne
803f2c3dc0 glupload: Update GstVideoInfo after the buffer is mapped
gst_video_frame_map() will store an updated video info base
on the video meta. In order to have the right stride and offset
we should update that video info accordingly.
2014-05-09 17:59:43 -04:00
Sebastian Dröge
411f367dfc gl: Fix memory leak
CID #1212171
2014-05-09 15:42:08 +02:00
Sebastian Dröge
951bb53057 hls: Remove invalid free
data does not have to be freed at all here, it's a pointer to
an arbitrary position inside the current line. Also don't reuse
the data variable for anything else, that will cause crashes
in playlists that have the I-frame playlist URI followed by
other attributes.

CID 1212127
2014-05-09 15:30:00 +02:00
Edward Hervey
2b92709154 mpegts: Fix leak
The cell extension was never added to the parent cell

CID #1212162
2014-05-09 14:32:49 +02:00
Matthew Waters
2dcbf08d73 gl/colorconvert: preserve alpha in AYUV <-> RGBA conversions
https://bugzilla.gnome.org/show_bug.cgi?id=729743
2014-05-09 22:32:11 +10:00
Matthew Waters
34b55f33f2 gl/colorconvert: implement lazy init 2014-05-09 22:32:11 +10:00
Julien Isorce
dff8abd57a gl/upload: set initted to TRUE when _init_upload succeeded 2014-05-09 13:07:16 +01:00
Sebastian Dröge
5c960069e4 gldisplay: Use GST_STR_NULL() for printing possibly NULL strings and print all variables we use
Fixes compiler warning about set but not used platform_choice variable
among other things.
2014-05-08 22:50:27 +02:00
Julien Isorce
9a917fb8a9 gleffects: use gl_vtable 2014-05-08 16:08:08 +01:00
Matthew Waters
ffe2c1f3c1 gl/upload: fix compilation on OS X 2014-05-08 17:28:11 +10:00
Matthew Waters
b0b630c69c gl/upload: fail propoerly if init fails 2014-05-08 15:40:33 +10:00
Matthew Waters
c247be334a gl: make all GObjects inherit from GstObject
Aids memory leak debugging with GST_TRACE=mem-live
2014-05-08 15:33:43 +10:00
Matthew Waters
a49a371710 gl/upload: implement lazy init
Rename init_format to set_format
2014-05-08 15:33:43 +10:00
Matthew Waters
5405273b0a gl/upload: add get_format method
Simply retreives the format set by init_format
2014-05-08 14:03:57 +10:00
Matthew Waters
810d6710d4 gl/filter: attempt to passthrough the pool if the caps are the same
Reduces the number of glbufferpool instances required for >=2
consecutive GL elements in a pipeline.
2014-05-08 14:03:57 +10:00
Matthew Waters
c2cdac278e gl/filter: always initialize the upload object 2014-05-08 14:03:50 +10:00
Matthew Waters
a27589629d gl: advertise GstGLMemory usage in the caps as capsfeatures
https://bugzilla.gnome.org/show_bug.cgi?id=729658
2014-05-07 21:48:57 +10:00
Matthew Waters
2651272f4e gl/examples: fix compilation for clutter examples
ClutterX11TexturePixmap is deprecated in Clutter 1.6 and we ask for
at least 1.8
2014-05-07 20:13:00 +10:00
Matthew Waters
ee95595af0 gl/display: avoid endless recursion for cocoa 2014-05-07 19:07:23 +10:00
Thiago Santos
a5b3ba09b8 dashdemux: deprecate max-buffering-time property
It is not used as dashdemux doesn't have a internal buffer
for fragments anymore
2014-05-07 01:00:50 -03:00
Thiago Santos
e9638fe3fd dashdemux: removing old unused code
The 'catch up mode' isn't needed anymore since dashdemux
is downloading and pushing from the same thread
2014-05-07 01:00:49 -03:00
Thiago Santos
5df2edf80c dashdemux: remember to set starting fragment to new fragments 2014-05-07 01:00:49 -03:00
Thiago Santos
733c7c0f16 dashdemux: handle a few more error cases
related to missing plugins, bad URI and a lockup on dealing with
errors from the source.
2014-05-07 01:00:49 -03:00
Thiago Santos
173c353716 dashdemux: Only set timestamp to the first buffer of fragments
Setting it to the other parts of the fragment is slightly wrong
and misleading as it isn't accurate enough.
2014-05-07 01:00:49 -03:00
Thiago Santos
f09dd7e7a5 dashdemux: handle error messages from the sources
Set up a message handling function to be able to catch errors
from the source element and signal the cond to allow the download
loop to retry the download.
2014-05-07 01:00:49 -03:00
Thiago Santos
15952dcd8e dashdemux: check for errors between downloads
To abort earlier in case of failures
2014-05-07 01:00:49 -03:00
Thiago Santos
b5998a4c3b dashdemux: Always accept the latency configure event
Upstream or internal elements are irrelevant and we should
always succeed.
2014-05-07 01:00:49 -03:00
Thiago Santos
d6671e73a6 dashdemux: measure download rate just like hlsdemux
new bitrate = (old bitrate + (last fragment bitrate * 3)) / 4
2014-05-07 01:00:49 -03:00
Thiago Santos
bed3d66605 dashdemux: remove uridownloader from fragments download
Instead, use a source element linked to a ghostpad to provide
smaller buffers and more granular control for downstream
buffering elements while also reducing startup latency
2014-05-07 01:00:49 -03:00
Matthew Waters
6f4fd70867 gl/sink: make sure we always initialize the upload object
https://bugzilla.gnome.org/show_bug.cgi?id=729542
2014-05-07 09:12:23 +10:00
Thiago Santos
7dfd308e8c hlsdemux: fix internal source event leaks 2014-05-06 19:24:55 -03:00
Julien Isorce
d4fe519c2e gl: do not allocate the target texture of an EGLImage
The target texture of an EGLImage is the texture bind just
before calling glEGLImageTargetTexture2D.

As we currently only support a gl texture as the source of an EGLImage
the gl texture is actually already allocated when creating the eglimage.

I also see some cases where it fails to upload an eglimage when
glTexImage2D is called on the target.
2014-05-06 15:39:12 +01:00
Julien Isorce
531e19214a gl: allow to avoid calling glTexImage2D(w, h, NULL) when generating a texture
Just pass 0 as width or height to gst_gl_context_gen_texture.
2014-05-06 15:39:12 +01:00