Commit graph

3016 commits

Author SHA1 Message Date
Sebastian Dröge
1ad5e5b329 eglglessink: Catch errors from glEGLImageTargetTexture2DOES() 2013-01-01 10:48:53 +01:00
Sebastian Dröge
1fbea3e39d eglglessink: Upload textures in GstBaseSink::prepare() already
This gives more time for the texture to be uploaded as it happens
before syncing to the running time. When the running time is reached
only eglSwapBuffers() is necessary.
2013-01-01 10:48:53 +01:00
Sebastian Dröge
2cae6df5e5 eglglessink: Downgrade a GST_ERROR to a GST_DEBUG 2012-12-31 15:59:05 +01:00
Sebastian Dröge
9f14fd5cce eglglessink: Make last_flow handling more threadsafe 2012-12-31 15:59:05 +01:00
Sebastian Dröge
4df3e56c9a eglglessink: Add support for allocating EGLImages on Mali
This allows to decoders and other upstream elements to do
zero-copy to the sink.
2012-12-31 15:59:04 +01:00
Sebastian Dröge
6748198668 eglglessink: Fix indention 2012-12-30 11:32:29 +01:00
Sebastian Dröge
6140bc7f8c eglglessink: Return the last_flow immediately if it wasn't GST_FLOW_OK 2012-12-30 11:32:02 +01:00
Sebastian Dröge
fa6cddcf45 eglglessink: Fix copy&paste mistake 2012-12-30 11:29:49 +01:00
Sebastian Dröge
be5486231b eglglessink: Improve EGL/GL error handling a bit 2012-12-30 11:25:13 +01:00
Sebastian Dröge
d643ff961e eglglessink: Don't access the video frame data if not necessary 2012-12-30 11:25:13 +01:00
Sebastian Dröge
83612e7d19 eglglessink: Configure caps from the setcaps function already 2012-12-30 11:25:13 +01:00
Sebastian Dröge
e454e9a862 eglglessink: Bind the OpenGL ES API in the render thread too 2012-12-28 20:07:34 +01:00
Sebastian Dröge
46c7bbfeb5 eglglessink: Some refactoring as preparation for platform specific rendering 2012-12-28 20:07:34 +01:00
Sebastian Dröge
823f490fe8 eglglessink: Add some more comments 2012-12-28 20:07:34 +01:00
Sebastian Dröge
6b8188f9f6 eglglessink: Only use the GstVideoFrame if we have a buffer 2012-12-28 20:07:34 +01:00
Sebastian Dröge
31a3ef2f82 eglglessink: Add configure parameter to chose the EGL window system
Only needed for creating native windows.
2012-12-28 20:07:34 +01:00
Sebastian Dröge
0304518d1d eglglessink: Add support for Mali fbdev EGL driver 2012-12-28 20:07:30 +01:00
Sebastian Dröge
079f5e83ea eglglessink: Add support for video meta and arbitrary strides 2012-12-26 17:25:36 +01:00
Sebastian Dröge
7a08bb8429 eglglessink: Fix width/height swap in last commit 2012-12-26 15:58:55 +01:00
Sebastian Dröge
673d262fe7 eglglessink: Remove debug function call from previous commit 2012-12-26 15:46:40 +01:00
Sebastian Dröge
17bf9dfd70 eglglessink: Fix handling of GstVideoOverlay::set_render_rect() and crop metadata 2012-12-26 14:39:03 +01:00
Sebastian Dröge
b126c62e31 eglglessink: Add a cast from EGLNativeWindowType to Window to fix a compiler warning 2012-12-26 10:54:38 +01:00
Sebastian Dröge
4789db8930 eglglessink: Fix a crash on GstVideoOverlay::expose() 2012-12-26 10:39:52 +01:00
Sebastian Dröge
3c2574998b eglglessink: Fix crash when closing internal X11 window 2012-12-26 10:34:21 +01:00
Sebastian Dröge
7efa7b9698 eglglessink: Add proper check for X11 2012-12-26 10:21:34 +01:00
Joe Konno
8a63face0e waylandsink: do not default to a fullscreen canvas
Defer certain canvas particulars to the player (or the Wayland
compositor). Before this change, a fullscreen canvas was always
requested. This may not be desirable in all cases.

https://bugzilla.gnome.org/show_bug.cgi?id=690442
2012-12-23 15:58:05 +00:00
Sebastian Dröge
fe38fc2b5a openjpegdec: Only use 10 bit YUV formats for exactly 10 bit images, not <= 16 bit
And use the generic converter to AYUV64 for everything else.
2012-12-23 09:51:42 +01:00
Sebastian Rasmussen
3d1ca76725 openjpegenc/-dec: print openjpeg logs for debug tracing 2012-12-19 11:24:02 +01:00
Thijs Vermeir
05dfea2689 opus: use appropriate printf format for gsize 2012-12-18 16:56:28 +01:00
Sebastian Dröge
680c13f993 openjpegenc: Add some properties 2012-12-18 15:44:56 +01:00
Sebastian Dröge
da8f8270c3 openjpegdec: Don't crash if colorspace is not provided on the caps
g_str_equal() is *not* NULL-safe
2012-12-18 15:43:37 +01:00
Sebastian Dröge
d70e43a069 openjpegdec: Improve robustness against formats with different settings per component 2012-12-17 17:19:54 +01:00
Sebastian Dröge
8b33b17748 openjpegdec: Properties won't be needed in the decoder 2012-12-17 17:13:22 +01:00
Sebastian Dröge
ed33db79cd openjpegenc: Fix data pointer incrementing 2012-12-17 17:12:04 +01:00
Sebastian Dröge
2ea8ede145 openjpegenc: Optimize image filling functions a bit 2012-12-17 17:06:29 +01:00
Sebastian Dröge
43ff27ba34 openjpegdec: Add missing shifts 2012-12-17 17:02:47 +01:00
Sebastian Dröge
bff020e9e4 openjpegdec: Optimize frame filling functions a bit 2012-12-17 16:57:14 +01:00
Sebastian Dröge
7faf96eb14 openjpeg: Correct template caps a bit 2012-12-16 20:50:34 +01:00
Sebastian Dröge
cb5dcaba76 openjpeg: Handle the num-components field in the caps 2012-12-16 20:50:34 +01:00
Sebastian Dröge
8547618f96 openjpeg: Add support for the colorspace field in the caps 2012-12-16 20:50:34 +01:00
Sebastian Dröge
e9fc332e25 openjpeg: Add JPEG2000 encoder element 2012-12-16 20:50:34 +01:00
Sebastian Dröge
e1416c11a4 openjpeg: Add OpenJPEG based JPEG2000 decoder 2012-12-16 20:50:34 +01:00
Sebastian Dröge
0b3cce4890 mms: Fix format string for off_t/goffset
Fixes bug #690033.
2012-12-11 10:58:54 +00:00
Alessandro Decina
62879bdd38 rtmpsrc: disable seeking if the configured url specifies live=true
Disable seeking when live=true is set in the location URL (eg:
"rtmp://example.net/stream live=true")
2012-12-01 17:11:43 +01:00
Tim-Philipp Müller
caa9014bce resindvd, frei0r: link to libgmodule-2.0 in plugins that use g_module_* API
Probably needed for other plugins as well.
2012-11-30 20:01:16 +00:00
Sebastian Dröge
b80764e8b7 eglglessink: Use new GType for GThread instead of just G_TYPE_POINTER 2012-11-12 11:48:38 +01:00
Tim-Philipp Müller
9e1b75fda3 Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:09:59 +00:00
Tim-Philipp Müller
fa20fba1a2 opencv: fix warnings and build against opencv 2.4.x
gstpyramidsegment.c: In function 'gst_pyramid_segment_chain':
gstpyramidsegment.c:307:3: error: implicit declaration of function
'cvPyrSegmentation' [-Werror=implicit-function-declaration]
gstpyramidsegment.c:307:3: error: nested extern declaration of
'cvPyrSegmentation' [-Werror=nested-externs]

https://bugzilla.gnome.org/show_bug.cgi?id=687237
2012-11-03 13:52:08 +00:00
Sebastian Dröge
c3f94f14f0 eglglessink: Use more constants instead of hardcoding values 2012-11-02 11:29:54 +01:00
Sebastian Dröge
b0bad3ca15 eglglessink: Post stream-status messages for our render thread 2012-11-01 13:51:09 +01:00
Sebastian Dröge
8786262fff eglglessink: If pushing an item on the queue fails, free it
Otherwise we're going to leak the item.
2012-10-31 13:55:47 +01:00
Carlos Rafael Giani
701fd9b336 mpg123: removed unnecessary finalize function
https://bugzilla.gnome.org/show_bug.cgi?id=687176
2012-10-30 10:15:14 +00:00
Jan Schmidt
41b08e2948 mpg123: Fix leaks from not chaining up in the finalize function 2012-10-30 10:20:09 +11:00
Sebastian Dröge
ac420ff0de eglglessink: Stop using deprecated GLib thread API 2012-10-25 14:28:49 +02:00
Sebastian Dröge
4dd39a3856 assrender: Handle GAP events 2012-10-25 14:05:49 +02:00
Sebastian Dröge
1e1d4da87c eglglessink: Add support for crop metadata 2012-10-25 14:05:48 +02:00
Sebastian Dröge
187350329a eglglessink: Port to 1.0 2012-10-25 14:05:48 +02:00
Carlos Rafael Giani
e6b05111d3 opusdec: fixed buffer unmapping bug
When the decoder received a NULL buffer, it tried to
unmap a not mapped buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=686829
2012-10-25 01:20:23 +01:00
Carlos Rafael Giani
a84677a7a0 mpg123: added gtkdoc section
https://bugzilla.gnome.org/show_bug.cgi?id=686595
2012-10-24 13:43:23 +01:00
Carlos Rafael Giani
8ba422839a mpg123: fixed bug with last frame, disabled internal resampler & chatter
* The last MP3 frame wasn't being pushed when base class was draining
* Made sure mpg123 cannot ever use its (crude) internal resampler
* Disabled mpg123 stderr output

https://bugzilla.gnome.org/show_bug.cgi?id=686595
2012-10-24 13:43:16 +01:00
Carlos Rafael Giani
2de930689c mpg123: cleaned up comments, formatting, and logging lines
also replaced mpg123decoder->handle != NULL checks with asserts

https://bugzilla.gnome.org/show_bug.cgi?id=686595
2012-10-24 11:59:19 +01:00
Sebastian Rasmussen
1c71fd351a curlsmtpsink: add comment describing function
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=686774
2012-10-24 11:29:47 +01:00
Tim-Philipp Müller
0a57441908 pitch: fix for start times > 0
Fixes buffering and playback of streams that start with
a non-0 timestamp in totem (which has a 'pitch' element
before pulsesink).

Example URI: http://lobostv.lobocast.org.es:8004/lobostv.ogg

Still breaks with chained oggs, on second chain.

https://bugzilla.gnome.org/show_bug.cgi?id=686391
2012-10-22 21:46:56 +01:00
Wim Taymans
50140388d2 opuspay: remove pointless caps serialization
Remove the caps serialization in the rtp caps. the spec nor the receiver
does anything with it.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=686547
2012-10-22 12:11:02 +02:00
Sreerenj Balachandran
54e05ee4aa wayland: update to wayland-protocol 0.99
https://bugzilla.gnome.org/show_bug.cgi?id=686520
2012-10-20 13:09:03 +01:00
Sebastian Dröge
888fe99fa4 eglglessink: Don't try to render expose() if no caps are known yet 2012-10-19 12:02:05 +02:00
Sebastian Dröge
4dc028a2a3 eglglessink: Fix expose 2012-10-19 10:38:06 +02:00
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