Commit graph

2863 commits

Author SHA1 Message Date
Sebastian Dröge
56b711bd29 eglglessink: Properly init/release resources when going from NULL->READY and the other way around 2012-10-18 14:35:14 +02:00
Sebastian Dröge
15c93da54e eglglessink: Generate the sink caps exactly once 2012-10-18 14:35:14 +02:00
Sebastian Dröge
ad6e314a6e eglglessink: Fix code style a bit to stop confusing indent 2012-10-18 14:35:14 +02:00
Sebastian Dröge
4e637ddb7b eglglessink: Fix support for YUY2 and UYVY 2012-10-18 14:35:14 +02:00
Sebastian Dröge
9e094541b0 eglglessink: Some property cleanup 2012-10-18 14:35:14 +02:00
Sebastian Dröge
25eb488f30 eglglessink: Add support for the remaining RGB formats 2012-10-18 14:35:14 +02:00
Sebastian Dröge
11368b49b2 eglglessink: Add support for Y444, Y42B and Y41B, just because it's so easy 2012-10-18 14:35:14 +02:00
Sebastian Dröge
d98d5c657e eglglessink: Add some simple TODOs 2012-10-18 14:35:14 +02:00
Reynaldo H. Verdejo Pinochet
98b9862167 eglglessink: Lock while altering display region coords 2012-10-18 14:35:14 +02:00
Reynaldo H. Verdejo Pinochet
a2fce44139 eglglessink: Fix _get_compat_format_from_caps() logic
It's a getter so it shouldn't messing with the sink context.
Adding insult to injury it was setting selected_fmt without
locking.
The associated changes to the buffer functions are merely
make-it build fixes. Those functions are barely drafted
and in WIP state.
2012-10-18 14:35:13 +02:00
Reynaldo H. Verdejo Pinochet
47d0505f40 eglglessink: Drop unneded initial set to NULL 2012-10-18 14:35:13 +02:00
Reynaldo H. Verdejo Pinochet
0c681dc2a6 eglglessink: Minor formatting and comment fixes 2012-10-18 14:35:13 +02:00
Reynaldo H. Verdejo Pinochet
63d8cd88c7 eglglessink: Clean-up gl/egl allocations at _stop()
Also, conditionaly destroy window if the sink created its own.
2012-10-18 14:35:13 +02:00
Sebastian Dröge
99765c3333 eglglessink: Add support for NV12 and NV21
Also YUY2 and UYVY but this is disabled for now as it
doesn't work completely yet. Something is wrong with
the chroma.
2012-10-18 14:35:13 +02:00
Sebastian Dröge
72d05a681f eglglessink: Add support for I420 and YV12 color formats 2012-10-18 14:35:13 +02:00
Sebastian Dröge
d3995c1a7b eglglessink: Preparations for supporting multiple textures for more YUV formats 2012-10-18 14:35:13 +02:00
Sebastian Dröge
3f734aafc7 eglglessink: Use the attrib locations as really used inside the shader 2012-10-18 14:35:13 +02:00
Sebastian Dröge
24261a4fe7 eglglessink: Really decouple vertex and texture positions in the shader 2012-10-18 14:35:13 +02:00
Sebastian Dröge
dafcdb0da3 eglglessink: Decouple texture and vertex positions 2012-10-18 14:35:13 +02:00
Sebastian Dröge
cb034b2ecd eglglessink: Reorder vertex value order to make a bit more sense 2012-10-18 14:35:13 +02:00
Reynaldo H. Verdejo Pinochet
8018681187 eglglessink: Handle frame scaling to fill surface 2012-10-18 14:35:13 +02:00
Reynaldo H. Verdejo Pinochet
90d5b76dc5 eglglessink: Draft set_render_rectangle() from the xOverlay interface 2012-10-18 14:35:13 +02:00
Reynaldo H. Verdejo Pinochet
f8b69a7c7f eglglessink: Remove stale comment 2012-10-18 14:35:13 +02:00
Reynaldo H. Verdejo Pinochet
1c008e95b3 eglglessink: Move VBO setup to setcaps 2012-10-18 14:35:12 +02:00
Reynaldo H. Verdejo Pinochet
d56d126031 eglglessink: Don't do context ops at render
We don't need to repeatedly call
eglMakeCurrent() while using the
same context anyway.
2012-10-18 14:35:12 +02:00
Reynaldo H. Verdejo Pinochet
ca74f676fd eglglessink: Don't clear surface color at render 2012-10-18 14:35:12 +02:00
Sebastian Dröge
9e23d0fc87 eglglessink: Rename shader variables to make more sense 2012-10-18 14:35:12 +02:00
Sebastian Dröge
d42d5e1139 eglglessink: Add support for AYUV 2012-10-18 14:35:12 +02:00
Sebastian Dröge
c4643491c4 eglglessink: Reorder caps a bit to make more sense 2012-10-18 14:35:12 +02:00
Sebastian Dröge
6adf608c99 eglglessink: Set rank to PRIMARY 2012-10-18 14:35:12 +02:00
Sebastian Dröge
1c58d921ff eglglessink: Add support for RGBA 2012-10-18 14:35:12 +02:00
Sebastian Dröge
930b4c179e eglglessink: Correctly generated caps for the supported formats 2012-10-18 14:35:12 +02:00
Sebastian Dröge
f9a5fc255d eglglessink: Add ::get_caps() vfunc that returns the actually supported caps 2012-10-18 14:35:12 +02:00
Sebastian Dröge
86ebf86433 eglglessink: Also require a configuration with EGL_SURFACE_TYPE containing EGL_WINDOW_BIT 2012-10-18 14:35:12 +02:00
Sebastian Dröge
7e8cc569dd eglglessink: Fix compiler warnings 2012-10-18 14:35:12 +02:00
Reynaldo H. Verdejo Pinochet
19c3b4d892 eglglessink: Clear surface to black by default 2012-10-18 14:35:12 +02:00
Reynaldo H. Verdejo Pinochet
19739bfb74 eglglessink: Make sure we get a config we can use with GLES2 2012-10-18 14:35:12 +02:00
Reynaldo H. Verdejo Pinochet
24b926a6cc eglglessink: set_window_handle() has been tested to work now 2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
7ac284b1a1 eglglessink: Avoid autoscaling by default 2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
a81b036355 eglglessink: Avoid repeatedly setting 2D resizing params
Moved to initial texture setup so it hapens
just once while on the same context.
2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
a96fa541ee eglglessink: Avoid initializing EGL at _set_window_handle()
_start() should take care of that.
This change asumes _setcaps() will
happen always after _start() is
done.
2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
ead20f4f0b eglglessink: Don't ask for a window if we already have one 2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
22eb374b57 eglglessink: Fix EGL attribs var naming 2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
c2cf1fa639 eglglessink: Fix slow path rendering on Android
Specify missing and mandatory params for npot
Before calling glTexImage2D.

In particular, _WRAP_T and _WRAP_S need to be
set to GL_CLAMP_TO_EDGE to avoid all-black
rendering with npot sized frames.
2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
f33167f95b eglglessink: Add test on usable eglconfigs returned 2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
303a346fc2 eglglessink: Drop stale error_locked label 2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
5763c8d308 eglglessink: Cleanup stale code comments 2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
391137a20e eglglessink: GlViewPort() should use actual surface size 2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
f707961183 eglglessink: Avoid reiniting EGL after the first time 2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
75fe18200a eglglessink: Use correct template caps 2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
e439c01382 eglglessink: Fix missing texture setup bits 2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
68eac71910 eglglessink: Add error checking on eglSwapBuffers 2012-10-18 14:35:10 +02:00
Reynaldo H. Verdejo Pinochet
f8dcc8aaa5 eglglessink: Fix stale&wrong 0.5 alpha blend 2012-10-18 14:35:10 +02:00
Reynaldo H. Verdejo Pinochet
12d66a7d54 eglglessink: Add float precision specifier to fragment shader
This is required by GLES and fixes compilation of fragment
shader prog.
2012-10-18 14:35:10 +02:00
Reynaldo H. Verdejo Pinochet
28aadcad4e eglglessink: Add log reporting at shader compilation failure 2012-10-18 14:35:10 +02:00
Reynaldo H. Verdejo Pinochet
b4887425cc eglglessink: Add some missing checks on shader ops
- Check whether there is shader compiler support
  and bail out otherwise.
- Add checks on compile and linking ops
2012-10-18 14:35:10 +02:00
Reynaldo H. Verdejo Pinochet
2a84a72fe7 eglglessink: Fix setup chain logic
Mostly a procedural reordering. Idea is to avoid
trying to setup a surface without a display.This
change relies on the asumption that:

1.- set_window_handle() can happen at any time
2.- setcaps will never get called before _start()
    is done.

If both conditions are meet the new procedure
should work as expected.
2012-10-18 14:35:10 +02:00
Reynaldo H. Verdejo Pinochet
40d6cc2099 eglglessink: WIP: Reorder locking 2012-10-18 14:35:10 +02:00
Reynaldo H. Verdejo Pinochet
289f388085 eglglessink: Fix xOverlay logic
Several fixes dealing with correct window
creation and set_handle() ops. Tested on
X11/mesa with internal window creation.
2012-10-18 14:35:10 +02:00
Reynaldo H. Verdejo Pinochet
9e18b29be2 eglglessink: Actually test EGL configs before claiming support 2012-10-18 14:35:10 +02:00
Reynaldo H. Verdejo Pinochet
59b1870ac1 eglglessink: Caps nego EGL fixes
- Fix alloc lol on format list: Asked for 2 slices and used 3.
- Reordered display & context init logic to prepare for actual
  config checking before claiming support for a given format.
  Change deals basically with setting up EGL display at start()
  and choose an EGL config only at setcaps time.
2012-10-18 14:35:10 +02:00
Reynaldo H. Verdejo Pinochet
a8f60690aa eglglessink: Caps nego. Start extending RGB support to a set. 2012-10-18 14:35:10 +02:00
Sebastian Dröge
bd28c42fae eglglessink: Fix build of static plugin 2012-10-18 14:35:10 +02:00
Reynaldo H. Verdejo Pinochet
a83dae1b54 eglglessink: Drop wrong format test on _setcaps (draft leftover) 2012-10-18 14:35:10 +02:00
Reynaldo H. Verdejo Pinochet
75d4bf420a eglglessink: Support RGB24 by default 2012-10-18 14:35:10 +02:00
Reynaldo H. Verdejo Pinochet
1d77bf6c0f eglglessink: Instrument EGL error reporting 2012-10-18 14:35:09 +02:00
Reynaldo H. Verdejo Pinochet
b8c83f98b7 eglglessink: Correctly return GstFlowReturn from render_and_display() 2012-10-18 14:35:09 +02:00
Reynaldo H. Verdejo Pinochet
cca08a02a1 eglglessink: Move VBO setup to it's own function 2012-10-18 14:35:09 +02:00
Reynaldo H. Verdejo Pinochet
3fce24549f eglglessink: Fix render_and_display logic
Switch procedure according to enabled rendering path
2012-10-18 14:35:09 +02:00
Reynaldo H. Verdejo Pinochet
ada5a83eb4 eglglessink: Fix sample launch line with disabled window creation 2012-10-18 14:35:09 +02:00
Reynaldo H. Verdejo Pinochet
086563195c eglglessink: Rename stale android leftover 2012-10-18 14:35:09 +02:00
Reynaldo H. Verdejo Pinochet
ea03067f3f eglglessink: Move eglgles Sink to ext/ #2 2012-10-18 14:35:09 +02:00
Reynaldo H. Verdejo Pinochet
85250eb9e2 eglglessink: Move eglgles Sink to ext/ 2012-10-18 14:35:09 +02:00
Tim-Philipp Müller
32ba17cd0f Use gst_element_class_set_static_metadata()
where possible. Avoids some string copies. Also re-indent
some stuff. Also some indent fixes here and there.
2012-10-17 17:46:34 +01:00
Sergey N. Gorshkov
6d0d209a28 rtmpsink: handle RTMP_Write() return value correctly
Error might also be negative (-1). Unclear if 0 should
be fatal as well though.

https://bugzilla.gnome.org/show_bug.cgi?id=681111
https://bugzilla.gnome.org/show_bug.cgi?id=686009
2012-10-12 23:29:53 +01:00
David Régade
65add5533a rtmpsink: fix memory leak from URI verification via RTMP_ParseURL()
In gst_rtmp_sink_uri_set_uri(), a test is performed in order
to be sure uri is correct for librtmp. This test calls
RTMP_ParseURL with 3 AVal pointers as parameters: host,
playpath and app.

AVal is a struct with a char* + int. After RTMP_ParseURL call,
host.av_val and app.av_val both refer a substring of "uri". But
playpath.av_val may be the result of a malloc so it needs to
be freed.

https://bugzilla.gnome.org/show_bug.cgi?id=681459
2012-10-12 23:09:06 +01:00
Mark Nauwelaerts
304cf8e1c5 dtsdec: fix buffer parsing
... to avoid feeding empty buffers to decoder.
2012-10-12 16:48:54 +02:00
Wim Taymans
380b23af90 replace some playbin2 -> playbin 2012-10-10 14:14:43 +02:00
Michael Smith
0c2159a220 meta info: register thread-safely. 2012-10-03 11:05:06 -07:00
Jan Schmidt
6e4a9e2e24 resindvd: Remove caps lock from parsetter element.
All the members it used to protect in 0.10 are protected by
the stream lock now.
2012-10-02 22:20:20 +10:00
Jan Schmidt
6122e07795 resindvd: Update overridden caps when the DAR changes
Send a new caps event downstream when we receive new orders
from the VM, if there are existing caps.
2012-10-01 23:43:47 +10:00
Jan Schmidt
3054545dad resindvd: Port parsetter element
Port the DVD element which overrides the MPEG encoded pixel-aspect-ratio
to match that requested by the DVD VM.
2012-10-01 23:28:07 +10:00
Christophe Fergeau
5e544c1556 chromaprint: Missing unmap buffer in transform_ip
When no samples have to be processed, transform_ip exits early, but
the buffer it uses was not properly unmapped.

https://bugzilla.gnome.org/show_bug.cgi?id=685159
2012-09-30 20:16:54 +01:00
Jan Schmidt
3c1a1dfec5 resindvd: Fiddle with segment handling for DVD.
Clarify some of the terms used, and make sure to extend the
stop time when the position moves past the end of the current
segment (as for still frames, for example).

Also, make sure to reset the position value of the segment the
demuxer outputs when collecting a seamless segment.
2012-09-30 04:08:50 +10:00
Tim-Philipp Müller
4712247e4f Remove some liboil references
https://bugzilla.gnome.org/show_bug.cgi?id=673285
2012-09-29 12:36:08 +01:00
Tim-Philipp Müller
346de28846 cog: remove some old elements so they don't get ported accidentally
They are replaced by videoconvert and gdkpixbufoverlay
2012-09-29 12:30:20 +01:00
Руслан Ижбулатов
2c2d6b0753 curl: fix compiler warning with setsockopt() on windows
The optval argument is of type const char * on windows.

https://bugzilla.gnome.org/show_bug.cgi?id=685065
2012-09-29 11:41:56 +01:00
Руслан Ижбулатов
75dba03688 curl: fix build on win32
https://bugzilla.gnome.org/show_bug.cgi?id=684847
2012-09-28 09:57:53 +01:00
Jan Schmidt
7b0e5f4598 soundtouch: Transform timestamps properly after a seek.
The segment is transformed to match the pitch conversion
being applied, so make sure the timestamps being output
match the configured downstream segment accordingly, and
adjust the downstream segment position to match the stream time
ratio also.
2012-09-26 14:57:54 +10:00
Jan Schmidt
34510b71ca resindvd: Don't send spurious 'close segment' events. Make a single segment
With the new 1.0 segment semantics, there's no need to close the
previous segment before sending out a new one, so don't do it.

Also, adjust the outgoing segment to just be one contiguous
timeline, with a base of 0. Fixes some repeating timestamps when
segments change.
2012-09-26 14:57:54 +10:00
Yaakov Selkowitz
33a012219d chromaprint: link against libgstbase
Calls to gst_base_transform_get_type and gst_base_transform_set_passthrough
require linking with libgstbase.

https://bugzilla.gnome.org/show_bug.cgi?id=684740
2012-09-24 23:23:25 +01:00
Tim-Philipp Müller
cc8bd6af0b assrender: disable for autoplugging until it works
https://bugzilla.gnome.org/show_bug.cgi?id=683192
https://bugzilla.gnome.org/show_bug.cgi?id=684683
2012-09-23 21:08:30 +01:00
Olivier Crête
58b4ed1949 opusenc: Rank as Primary 2012-09-22 14:58:52 -04:00
Olivier Crête
df0525de11 rtpopuspay: Allocate the rtp buffer correctly
Use the right functions to allocate the rtp buffer
2012-09-22 14:58:52 -04:00
Jan Schmidt
c90cdadbe4 resindvd: Fix segment handling in the demuxer.
Transfer the incoming segment base time to the src
segment the demuxer sends downstream. Add some
(disabled) debug to the bin for tracking outgoing
timestamps.
2012-09-18 00:27:22 +10:00
Sebastian Dröge
1419862c50 vp8: Remove plugin, moved to gst-plugins-good 2012-09-16 15:48:02 +02:00
Sebastian Dröge
12b5ef6573 vp8dec: Unref input/output states when stopping the decoder 2012-09-16 15:25:08 +02:00
Sebastian Dröge
50ad4b5bbe vp8enc: Update realtime profile to the new properties 2012-09-16 15:21:33 +02:00
Sebastian Dröge
a2503e91bf vp8: Require latest libvpx release (1.1.0 from May 2012)
Fixes bug #684116 and simplifies configure checks.
2012-09-16 10:58:29 +02:00
Sebastian Dröge
829c1dcdaf vp8enc: Use a string field for the profile in the caps
Just for consistency with all the other codecs.
2012-09-15 20:24:00 +02:00