Sebastian Dröge
c9b17f28f6
eglglessink: Make compilable on desktop Linux with MESA too
2012-10-18 14:35:52 +02:00
Sebastian Dröge
6fb5a9b716
eglglessink: Integrate into the build system
...
Conflicts:
ext/Makefile.am
2012-10-18 14:35:49 +02:00
Sebastian Dröge
ebb99f27ac
eglglessink: Fix debug output
2012-10-18 14:35:20 +02:00
Sebastian Dröge
61db9ad941
eglglessink: Also clear the surface once when the buffer content is preserved
2012-10-18 14:35:20 +02:00
Sebastian Dröge
147edd1fc2
eglglessink: Only draw black borders if the default swap behaviour of the surface is to destroy the buffer
2012-10-18 14:35:20 +02:00
Sebastian Dröge
a025c80b4c
eglglessink: Remove unused label
2012-10-18 14:35:20 +02:00
Reynaldo H. Verdejo Pinochet
5bdf1ec099
eglglessink: Factor display region reset to its own func
2012-10-18 14:35:20 +02:00
Reynaldo H. Verdejo Pinochet
c3a12d737e
eglglessink: Always Reset display_region.* at EGL/GLES ctx wipe
2012-10-18 14:35:20 +02:00
Reynaldo H. Verdejo Pinochet
ac037ce319
eglglessink: Factor ELG/GLES context cleanup into its own func
2012-10-18 14:35:20 +02:00
Reynaldo H. Verdejo Pinochet
ab81bd8f1e
eglglessink: Drop drafted fast rendering path logic
2012-10-18 14:35:20 +02:00
Sebastian Dröge
9e8ad1097b
eglglessink: Also update header file
2012-10-18 14:35:20 +02:00
Sebastian Dröge
f5043f5d64
eglglessink: Provide the texture positions to the shader on every frame too
2012-10-18 14:35:20 +02:00
Sebastian Dröge
9941466ab4
eglglessink: Draw black borders and also use a single GL buffer for all vertices
...
Fixes weird artifacts outside the video frame on
Qualcomm Snapdragon chipsets and should be faster
than glClear() on the complete area all the time.
2012-10-18 14:35:20 +02:00
Sebastian Dröge
a65ed4d7c1
eglglessink: Fix memory leak
2012-10-18 14:35:20 +02:00
Sebastian Dröge
f7a0da4da9
eglglessink: Remove useless debug output added for debugging earlier
2012-10-18 14:35:20 +02:00
Sebastian Dröge
0ac17bcbc2
eglglessink: Make window setting/handling a bit more threadsafe
2012-10-18 14:35:19 +02:00
Sebastian Dröge
e766bd1e0a
eglglessink: Print window handle after setting it
2012-10-18 14:35:19 +02:00
Reynaldo H. Verdejo Pinochet
32861ab0a7
eglglessink: Move DAR query & store to surface init
...
The DAR (display's pixel aspect ratio) should remain a
constant at runtime so there's no point on repeatedly
query and store this value. Doing it at surface setup
should be enough. As an added bonus this change should
make rendering a bit faster.
2012-10-18 14:35:19 +02:00
Sebastian Dröge
406630a294
eglglessink: Don't signal the GCond too often
2012-10-18 14:35:19 +02:00
Sebastian Dröge
82dc2a3544
eglglessink: Add myself as author
2012-10-18 14:35:19 +02:00
Sebastian Dröge
87a028a0a4
eglglessink: Make sure to always reset the display region in start()
2012-10-18 14:35:19 +02:00
Sebastian Dröge
28fe3f7888
eglglessink: Also commit missing changes to the header file
2012-10-18 14:35:19 +02:00
Sebastian Dröge
610e33b049
eglglessink: Also include $(GST_BASE_CFLAGS)
2012-10-18 14:35:19 +02:00
Sebastian Dröge
caf9d1febd
eglglessink: Fix race condition
2012-10-18 14:35:19 +02:00
Sebastian Dröge
99f738bbc0
eglglessink: Refactor rendering and all context specific GL things into a separate thread
...
Also fixes some threading related problems.
2012-10-18 14:35:19 +02:00
Sebastian Dröge
11ec917ee0
eglglessink: Re-add accidentially reverted commit
2012-10-18 14:35:19 +02:00
Sebastian Dröge
ba3274c8f0
eglglessink: Remove unneeded flow_lock
...
Use the object lock in the few places necessary, everything
else is protected by other things already.
Also store the context directly inside the instance struct
instead of allocating some memory for it.
2012-10-18 14:35:19 +02:00
Sebastian Dröge
2b3279c9b5
eglglessink: Fix debug output and constant names
2012-10-18 14:35:19 +02:00
Sebastian Dröge
1f0bf75075
eglglessink: start()/stop() is called in READY<->NULL in basesink
...
But this should be called in PAUSED<->READY.
2012-10-18 14:35:18 +02:00
Reynaldo H. Verdejo Pinochet
d2dcecfc8a
eglglessink: Fix for outbound DAR reported by EGL
...
Some EGL implementations don't honor the spec
requirement of returning DAR values as w/h *
EGL_DISPLAY_SCALING.
This changeset:
- Fixes rendering on the Samsung Galaxy III
- Fixes wrong check on required 1.2 EGL version
- Reorders the code a bit.
2012-10-18 14:35:18 +02:00
Sebastian Dröge
dde62cee8e
eglglessink: Fix crashes if there are no EGL or GLES extensions
2012-10-18 14:35:18 +02:00
Reynaldo H. Verdejo Pinochet
a317f6936c
eglglessink: Fix crash at element instantiation
2012-10-18 14:35:18 +02:00
Reynaldo H. Verdejo Pinochet
af009b7de7
eglglessink: GLSL: Save one extra texture lookup
2012-10-18 14:35:18 +02:00
Reynaldo H. Verdejo Pinochet
0ed02803f7
eglglessink: GLSL: Minor named index access tweak xyz -> rgb
2012-10-18 14:35:18 +02:00
Reynaldo H. Verdejo Pinochet
5c2b1dc631
eglglessink: GLSL: Assorted fixes to optimized code
...
- Don't copy over opos as it's already a vec2
- Fix index order access at frag_YUY2_YVYU_UYVY_prog
2012-10-18 14:35:18 +02:00
Reynaldo H. Verdejo Pinochet
73d865091c
eglglessink: GLSL: Planar YUV converters optimization
...
- Use consts for the transform's offset and cofficients values
- Use dot product instead of mult and add
- Avoid unneeded texture lookups
2012-10-18 14:35:18 +02:00
Reynaldo H. Verdejo Pinochet
846e77871b
Geglglessink: LSL: Optimize frag_YUY2_YVYU_UYVY_prog
...
- Avoid repeatedly performing the texture lookup
- Use consts for the transform's offset and cofficients values
- Use the dot product instead of the explicit mult and add
2012-10-18 14:35:18 +02:00
Reynaldo H. Verdejo Pinochet
eb8f7d63d5
eglglessink: GLSL: Drop unneded nxy vec2
2012-10-18 14:35:18 +02:00
Reynaldo H. Verdejo Pinochet
bb0b872644
eglglessink: Fix missing double quotation mark in GLSL code
2012-10-18 14:35:18 +02:00
Reynaldo H. Verdejo Pinochet
a95834a491
eglglessink: GLSL: Optimize frag_AYUV_prog
...
- Avoid repeatedly performing the texture lookup
- Use consts for the transform's offset and cofficients values
- Use the dot product instead of the explicit mult and add
2012-10-18 14:35:18 +02:00
Reynaldo H. Verdejo Pinochet
a7a2dcc433
eglglessink: Documentation: GstEglGlesSink struct
2012-10-18 14:35:18 +02:00
Reynaldo H. Verdejo Pinochet
38ca631a7a
eglglessink: Documentation: GstEglGlesBuffer struct (DRAFT)
2012-10-18 14:35:17 +02:00
Reynaldo H. Verdejo Pinochet
c27c11582e
eglglessink: Documentation: GstEglGlesImageFmt struct
2012-10-18 14:35:17 +02:00
Reynaldo H. Verdejo Pinochet
945b11fd02
eglglessink: Documentation: GstEglGlesRenderContext struct
2012-10-18 14:35:17 +02:00
Reynaldo H. Verdejo Pinochet
d97b3dba60
eglglessink: Assorted doc and reordering fixes
2012-10-18 14:35:17 +02:00
Reynaldo H. Verdejo Pinochet
031b6a57ac
eglglessink: Documentation: Element properties
...
Brief explanatory comments plus some reordering
to group default setting of properties and runtime
flags values.
2012-10-18 14:35:17 +02:00
Sebastian Dröge
81463a1cb7
eglglessink: Add support for YVYU
2012-10-18 14:35:17 +02:00
Reynaldo H. Verdejo Pinochet
95a223a030
eglglessink: Documentation: GLSL Shaders
...
Brief explanatory comments plus some rerdering
to group packed/planar converters.
2012-10-18 14:35:17 +02:00
Reynaldo H. Verdejo Pinochet
731be48dac
eglglessink: Documentation: Element overview
2012-10-18 14:35:17 +02:00
Reynaldo H. Verdejo Pinochet
1eef329725
eglglessink: Refactor REORDER shader.
...
Avoid unneededly calling texture2D() 3 consecutive times.
2012-10-18 14:35:17 +02:00
Sebastian Dröge
c91238a2af
eglglessink: Fix handling of caps changes by only releasing what needs to be released
...
And not terminating the display connection
2012-10-18 14:35:17 +02:00
Reynaldo H. Verdejo Pinochet
310e5111b7
eglglessink: Move display_region reset to locked section
2012-10-18 14:35:17 +02:00
Reynaldo H. Verdejo Pinochet
884e5fa173
eglglessink: Reset display_region dims at caps renego
2012-10-18 14:35:17 +02:00
Reynaldo H. Verdejo Pinochet
f28f5df29e
eglglessink: Cosmetics
2012-10-18 14:35:17 +02:00
Reynaldo H. Verdejo Pinochet
c255aa5dd4
eglglessink: Don't access local value from struct
2012-10-18 14:35:16 +02:00
Reynaldo H. Verdejo Pinochet
2ab9de8e4f
eglglessink: Terminate display connection at caps renego
2012-10-18 14:35:16 +02:00
Reynaldo H. Verdejo Pinochet
734ac85bb4
eglglessink: Cosmetics
2012-10-18 14:35:16 +02:00
Sebastian Dröge
e022fc5389
eglglessink: Only attach the context once to the streaming thread
2012-10-18 14:35:16 +02:00
Sebastian Dröge
09b3518bae
eglglessink: Make the context current for the thread and unbind it again around every use
...
This fixes some crashes and leaking of our context into other
OpenGL code on the same thread.
2012-10-18 14:35:16 +02:00
Sebastian Dröge
113253b292
eglglessink: Improve cleanup
2012-10-18 14:35:16 +02:00
Sebastian Dröge
70d077acd8
eglglessink: Remove unused label
2012-10-18 14:35:16 +02:00
Sebastian Dröge
f058b5d78b
eglglessink: Allow setting a NULL handle
2012-10-18 14:35:16 +02:00
Sebastian Dröge
fc0dc0055a
eglglessink: Revert "Do not update_surface_dims() once per frame"
...
This reverts commit 82103376ede2bc7c63dd699f5982168660f67852.
We have to update the surface dimensions on every frame to
make sure that we get notified about updates. This happens
for example if the Android window gets re-layouted because
a widget takes more space than before.
2012-10-18 14:35:16 +02:00
Reynaldo H. Verdejo Pinochet
a818d5c771
eglglessink: Do not update_surface_dims() once per frame
...
And.. Upgrade debug message to warging on weird DAR.
Correct fix to avoid spaming with this message
once per each frame is avoid calling update_surface_dims()
at render_and_display(). This is handled at egl surface
init.
2012-10-18 14:35:16 +02:00
Sebastian Dröge
162f63e064
eglglessink: And downgrade another warning too
2012-10-18 14:35:16 +02:00
Sebastian Dröge
7307ddd54b
eglglessink: Downgrade GST_WARNING to GST_DEBUG
2012-10-18 14:35:16 +02:00
Sebastian Dröge
8dabfbfca8
eglglessink: Add some {} to if statements make them work as expected
2012-10-18 14:35:16 +02:00
Reynaldo H. Verdejo Pinochet
20a05726b3
eglglessink: Drop stale defines for max frame size
2012-10-18 14:35:16 +02:00
Reynaldo H. Verdejo Pinochet
a3530d9a3d
eglglessink: Small commentary fixes here an there
2012-10-18 14:35:15 +02:00
Reynaldo H. Verdejo Pinochet
2b706d3fbe
eglglessink: Avoid setting height or width twice
2012-10-18 14:35:15 +02:00
Reynaldo H. Verdejo Pinochet
eeb3b84d07
eglglessink: Use PAR/DAR to set viewport
2012-10-18 14:35:15 +02:00
Sebastian Dröge
c3fb44aef3
eglglessink: Correctly resize if the surface dimensions change
2012-10-18 14:35:15 +02:00
Sebastian Dröge
3fcea0dc5e
eglglessink: Update surface dimensions on every buffer
2012-10-18 14:35:15 +02:00
Sebastian Dröge
2b2ae0fd6f
eglglessink: More consistent naming of shader related variables
2012-10-18 14:35:15 +02:00
Sebastian Dröge
1ad253b9b7
eglglessink: Some variable name cleanup
2012-10-18 14:35:15 +02:00
Sebastian Dröge
e8f4829c13
eglglessink: Remove default-width/height properties
...
These are completely unneeded
2012-10-18 14:35:15 +02:00
Sebastian Dröge
985a185ffc
eglglessink: Fix double free()
2012-10-18 14:35:15 +02:00
Sebastian Dröge
b5b98fc874
eglglessink: Don't leak EGL/ES render context
2012-10-18 14:35:15 +02:00
Reynaldo H. Verdejo Pinochet
bab81de275
eglglessink: Put EGL/GLES context vars on their own struct
2012-10-18 14:35:15 +02:00
Reynaldo H. Verdejo Pinochet
5526737ec8
eglglessink: Small TODO reformatting
2012-10-18 14:35:15 +02:00
Reynaldo H. Verdejo Pinochet
e8ed9e1097
eglglessink: Add TODO file
2012-10-18 14:35:15 +02:00
Sebastian Dröge
2323c40f1b
eglglessink: Correctly implement ::expose()
...
We don't need the past buffer for this, the old one is still available
as texture and we just need to draw our rectangle again.
2012-10-18 14:35:15 +02:00
Sebastian Dröge
18e473307f
eglglessink: Allow setting another window for the next time we reconfigure everything
2012-10-18 14:35:14 +02:00
Sebastian Dröge
aa463f0274
eglglessink: Also unref current caps after usage
2012-10-18 14:35:14 +02:00
Sebastian Dröge
c2de59b19c
eglglessink: Implement support for caps changes
2012-10-18 14:35:14 +02:00
Sebastian Dröge
d91621d2ce
eglglessink: More cleanup and making the element reusable
2012-10-18 14:35:14 +02:00
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
Mark Nauwelaerts
5fad6e86d7
use gst_element_factory_get_metadata to replace obsolete API
2012-09-15 19:13:47 +02:00
Sebastian Dröge
8da71fea1f
vp8enc: Correctly set profile in caps
2012-09-15 00:04:07 +02:00
Sebastian Dröge
f7e0bc0c6a
vp8: Update copyright and authors
2012-09-14 23:41:48 +02:00
Sebastian Dröge
c371606bc1
vp8enc: Rework encoder properties to be more in line with the libvpx tools and API
...
Also add all available properties.
2012-09-14 23:37:39 +02:00
Mark Nauwelaerts
578861abea
replace gst_element_class_set_details_simple with gst_element_class_set_metadata
2012-09-14 17:27:49 +02:00
Wim Taymans
b8f913555d
ffmpegcolorspace is no more
2012-09-14 16:45:34 +02:00
Wim Taymans
0d8f8a5134
rename some caps and elements in examples
2012-09-14 16:29:23 +02:00
Jan Schmidt
16f5120d96
resindvd: Start with a larger subpicture queue for preroll.
...
Shrink the queue once we're prerolled. Fixes the Fringe S1
DVD. Also, ensure we only fire no_more_pads once.
2012-09-12 23:05:47 -07:00
Jan Schmidt
c5e0bc6464
resindvd: Disable input-selector syncing
...
Until segments are better worked out. Also, use
internal input-selector for audio as well
2012-09-12 23:05:47 -07:00
Tim-Philipp Müller
d95620ccd1
flitetestsrc: fix caps fixation
...
Make caps writable before changing them.
2012-09-13 01:34:45 +01:00
Tim-Philipp Müller
4ed3d60bd2
waylandsink: fail gracefully with an error message if we can't connect to wayland
...
g_return_val_if_fail() is not for error handling, it's for
catching programming errors in public API.
Fixes problem with generic/states unit test.
2012-09-13 01:09:56 +01:00
Tim-Philipp Müller
86a8018119
schroenc: remove GST_ERROR statement that was committed by accident
2012-09-13 00:50:04 +01:00
Peter Korsgaard
b04e61d8a4
opus + jpegformat: unbreak non-debug build
...
opus + jpegformat plugin builds fail when gstreamer is configured with
--disable-gst-debug as they are checking the GST_DISABLE_DEBUG symbol
instead of GST_DISABLE_GST_DEBUG.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
https://bugzilla.gnome.org/show_bug.cgi?id=683850
2012-09-12 09:13:30 +01:00
Olivier Crête
9b559160cc
spanplc: Don't unref too much, don't forward gap event
2012-09-11 20:30:55 -04:00
Olivier Crête
f9320170cd
spanplc: Port to 1.0 API
2012-09-11 20:19:48 -04:00
Mark Nauwelaerts
b807753453
ext, gst: only activate in pull mode if upstream is seekable
2012-09-11 17:47:33 +02:00
Mark Nauwelaerts
2816380e7c
opusenc: port to the new GLib thread API
2012-09-11 15:12:55 +02:00
Tim-Philipp Müller
1ef529601b
opencv: disable motioncells "date" property for now
...
Shouldn't be of type long. Not sure it's useful at all, so
just disable it for now to see if someone misses it.
2012-09-09 23:52:41 +01:00
Rico Tzschichholz
b13b59014c
mythtv: update for duration message API change
2012-09-03 19:25:52 +01:00
Tim-Philipp Müller
08149652a1
schroenc: set interlace_coding based on input caps
...
and remove property.
2012-09-03 14:21:19 +01:00
Tim-Philipp Müller
bc93340fd4
schroenc: configure profile/level from allowed downstream caps instead of properties
...
This is how it's done elsewhere and works better with encodebin.
Removes "force-profile" property, read-only "profile" property and
"level" property.
https://bugzilla.gnome.org/show_bug.cgi?id=670608
2012-09-03 14:04:40 +01:00
Tim-Philipp Müller
3d3332f84c
schroenc: prettify enum property nicks
...
Use '-' instead of '_' as word separator.
2012-09-03 13:04:01 +01:00
Sreerenj Balachandran
18c5a0f60f
spc: No need to define GLIB_DISABLE_DEPRECATION_WARNINGS
...
https://bugzilla.gnome.org/show_bug.cgi?id=683175
2012-09-02 20:01:38 +01:00
Tim-Philipp Müller
a79edf27d0
gst_message_new_duration -> gst_message_new_duration_changed
2012-09-02 01:48:12 +01:00
Jan Schmidt
f2d0c6a89e
resindvd/mpegdemux: Send both PTS and DTS downstream
...
Now that we can.
2012-09-01 16:09:59 -07:00
Tim-Philipp Müller
f3e66bd80d
spc: don't leak buffer in case of an init error
2012-09-02 00:04:18 +01:00
Sreerenj Balachandran
1d384422e0
spc: port to 0.11
...
https://bugzilla.gnome.org/show_bug.cgi?id=683175
2012-09-02 00:02:14 +01:00
Jan Schmidt
8f719fea02
resindvd: Plug a video parser in front of decoder
...
Seems to make playback both better and worse. The parser needs some
fixing, it seems :-/
2012-08-31 14:22:59 -07:00
Jan Schmidt
211828979b
resindvd: Add some GAP event stuff to make still-frames start to work
...
And remove the dead audiomunge element. It isn't needed now, we just
send GAP events
2012-08-31 13:12:41 -07:00
Jan Schmidt
1218cff3dc
resindvd: Initial partial port to 0.11
2012-08-31 12:46:29 -07:00
Sreerenj Balachandran
547d679e9e
wayland: use scale fullscreen method.
...
This makes the compositor scale the surface to fit and preserves
aspect ratio.
https://bugzilla.gnome.org/show_bug.cgi?id=681453
2012-08-21 10:41:31 +01:00
Sreerenj Balachandran
dc81682f4b
wayland: respond to ping/pong protocol so we're not deemed unresponsive.
...
https://bugzilla.gnome.org/show_bug.cgi?id=681453
2012-08-21 10:41:24 +01:00
Sreerenj Balachandran
c803ca4af5
wayland: More fixes based on wayland-0.95.0 and gstreamer-1.0 apis
...
- bump wayland version to 0.95.0 which will lead to stable 1.0 release
- avoid memcopy and use propose_allocation for GstBufferPool allocation
- using WaylandBufferPool
- shm: Allocate shm buffers through new wl_shm_pool interface
(the shm buffer allocation is a two step process now: first
allocate a wl_shm_pool, then allocate a buffer from the pool)
https://bugzilla.gnome.org/show_bug.cgi?id=681453
2012-08-21 10:24:45 +01:00
Tim-Philipp Müller
2483c82bd7
video/x-dvd-subpicture -> subpicture/x-dvd
2012-08-20 23:37:00 +01:00
Tim-Philipp Müller
cc167a237a
Fix up FSF address in some source files as well
2012-08-18 20:31:17 +01:00
Edward Hervey
508e4e7e9f
vp8dec: Call gst_video_decoder_negotiate()
2012-08-14 19:07:47 +02:00
Edward Hervey
54bfdebd9f
schrodec: Call gst_video_decoder_negotiate()
2012-08-14 19:07:43 +02:00
Edward Hervey
c4ccca8795
soundtouch: Don't assume output buffer timestamps
...
There's no guarantee whatsoever that the first buffer to output will
start at the segment.start.
Instead, wait for the first buffer after a segment, and use that timestamp
2012-08-14 19:04:42 +02:00
Sebastian Dröge
c6b16aed08
vp8dec: Add support for multiple decoding threads
2012-08-14 11:17:25 +02:00
Sebastian Dröge
14317a3408
vp8dec: Add support for the MFQE postprocessing flag
...
Which is enabled by default if postprocessing is enabled.
2012-08-14 11:09:46 +02:00
Sebastian Dröge
85e45a09e2
vp8: Use pkg-config file for getting the LIBS and CFLAGS
2012-08-09 13:37:22 +02:00
Sebastian Dröge
7369d28e1f
mpg123: Give MARGINAL rank to the mpg123 decoder element
2012-08-09 11:48:39 +02:00
Sebastian Dröge
880359f32b
vp8enc: Update the per-component strides for every frame too
...
This is necessary because of GstVideoAlignment
2012-08-08 17:41:42 +02:00
Tim-Philipp Müller
7960591c01
mpg123: dist header file
2012-08-08 12:58:50 +01:00
Olivier Crête
bc6b513620
mimic: Port to 0.11
2012-08-07 15:41:25 -07:00
Oleksij Rempel
94337d05a5
vp8enc: initiate encoder to fix a crash.
...
Without this patch vp8enc send header before and after first
key frame. On second keyframe vp8dec will crash without getting
decoded frame. With this pipe it is easy to reproduce this issue:
gst-launch-1.0 videotestsrc ! vp8enc ! vp8dec ! fakesink
https://bugzilla.gnome.org/show_bug.cgi?id=680667
2012-08-05 19:35:32 +01:00
Tim-Philipp Müller
489b102a43
gst_tag_list_free -> gst_tag_list_unref
2012-08-04 16:31:30 +01:00
Patricia Muscalu
a7037cd0e3
curl: fixed some memory leaks in the plugin and the unit tests
...
https://bugzilla.gnome.org/show_bug.cgi?id=681117
https://bugzilla.gnome.org/show_bug.cgi?id=681115
2012-08-03 20:28:40 +01:00
Tim-Philipp Müller
6cac2bff68
mpg123: map input buffer in READ mode, not WRITE mode
...
Makes things actually work.
2012-08-03 13:43:31 +01:00
Tim-Philipp Müller
e7a5cfec30
mpg123: query supported output formats at run-time
...
Fixes stuff. We use a string here since we can't be bothered
with GValue.
2012-08-03 13:38:05 +01:00
Tim-Philipp Müller
f75e4fbc11
mpg123: hook up to build system
2012-08-03 11:52:49 +01:00
Carlos Rafael Giani
da622c27ba
mpg123: add new libmpg123-based mp3 decoder plugin
...
Needs a bit of cleaning up.
https://bugzilla.gnome.org/show_bug.cgi?id=681003
2012-08-03 11:52:11 +01:00
Tim-Philipp Müller
c031f5bd27
schroedinger, mpegtsmux: fix plugin names
2012-08-03 11:52:11 +01:00
Mark Nauwelaerts
19ca77e95e
faad: do not access frame buffer following _finish_frame call
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680494
2012-08-02 14:40:55 +02:00
Tim-Philipp Müller
a48cfea4a2
mplex: default to DVD MPEG-2 format instead of Generic MPEG-1
2012-08-01 11:34:08 +01:00
Tim-Philipp Müller
e1e29488d0
mplexjob: add nicks for format enums, add some more formats
2012-08-01 11:31:04 +01:00
Sebastian Dröge
afd50a79f4
tag: Update for taglist/tag event API changes
2012-07-28 00:32:58 +02:00
Mark Nauwelaerts
dd3ae904f9
assrender: process ATTACHMENT tag as sample
2012-07-27 13:22:52 +02:00
Mark Nauwelaerts
f890f60ee2
faac, voaacenc: adjust to modified audioencoder getcaps helper API
2012-07-25 16:05:41 +02:00
Sebastian Dröge
a7ae20305a
schro: Add support for video metadata and arbitrary strides
2012-07-23 11:36:01 +02:00
Sebastian Dröge
47546ab2df
schro: Map raw video buffers with the correct read/write flags
2012-07-23 10:54:17 +02:00
Sebastian Dröge
b60da6223e
ext: Update for video base classes API changes
2012-07-23 10:35:03 +02:00
Oleksij Rempel
c03cc692ef
vp8enc: fix memory leak
...
unref frame. i hope it is correct place to do it.
Signed-off-by: Oleksij Rempel <bug-track@fisher-privat.net>
2012-07-23 08:31:11 +02:00
Mark Nauwelaerts
9e28b769e8
faad: only discard frame once upon decoding error
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679886
2012-07-20 16:47:35 +02:00