Tim-Philipp Müller
21e6989848
glbufferpool: fix allocator leak in some cases
...
Spotted by Sebastian Rasmussen.
https://bugzilla.gnome.org/show_bug.cgi?id=734523
2014-08-13 18:05:40 +03:00
Matthew Waters
44e84025d7
aggregator: fix up doc comment for set_src_caps
...
It does not occur 'later' anymore
https://bugzilla.gnome.org/show_bug.cgi?id=732662
2014-08-11 23:38:40 +10:00
Matthew Waters
7c016752d7
videoaggregator: push the caps event as soon as we receive it
...
Along with the required mandatory dependent events.
Some elements need to perform an allocation query inside
::negotiated_caps(). Without the caps event being sent prior,
downstream elements will be unable to answer and will return
an error.
https://bugzilla.gnome.org/show_bug.cgi?id=732662
2014-08-11 23:36:27 +10:00
Sebastian Rasmussen
ee09d332bd
videoaggregator: Unref allowed caps after usage
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734522
2014-08-10 11:55:09 +01:00
Vasilis Liaskovitis
4dacc4ba55
GstGLWindow, GstGLImagesink, x11: Scale navigation events on resized windows
...
If window is resized, GstStructure pointer values have to be rescaled to
original geometry. A get_surface_dimensions GLWindow class method is added for
this purpose and used in the navigation send_event function.
https://bugzilla.gnome.org/show_bug.cgi?id=703486
2014-08-07 13:55:02 +10:00
Wang Xin-yu (王昕宇)
ba822e1dd0
glupload: don't determine if frame needs upload by pointer compare
...
https://bugzilla.gnome.org/show_bug.cgi?id=734269
2014-08-06 14:47:52 +10:00
Aurélien Zanelli
41df512eb9
codecparsers_h264: initialize some fields of pic_timing structure
...
Otherwise pic timing structure can have invalid cpb_removal_delay,
dpb_output_delay or pic_struct_present_flag which are blindly retrieved
in h264parse.
https://bugzilla.gnome.org/show_bug.cgi?id=734124
2014-08-01 17:06:29 +02:00
Matthew Waters
8f045ab18c
gl/docs: remove superflous 'the'
2014-08-01 17:51:08 +10:00
Matthew Waters
707cb58004
gl: document GST_GL_* environment variables
...
https://bugzilla.gnome.org/show_bug.cgi?id=733245
2014-08-01 16:43:47 +10:00
Matthew Waters
750c70f8f5
glcontext: add a destroy function
...
that just calls the subclass
2014-07-31 18:46:33 +10:00
Matthew Waters
46db28ac2c
gl/x11: silence runtime warning
...
g_main_loop_quit: assertion 'loop != NULL' failed
2014-07-31 18:36:58 +10:00
Matthew Waters
acb38a2a79
glmemory: use the plane offsets to compute the size of the data pointer
...
Certain elements expect that there be a certain number of lines
that they can write into. e.g. for odd heights, I420, YV12, NV12,
NV21 (and others) Y lines are expected to have exactly twice the
number of U/UV lines.
https://bugzilla.gnome.org/show_bug.cgi?id=733717
2014-07-31 15:19:54 +10:00
Matthew Waters
89636392fa
glmemory: use GstVideoInfo everywhere
...
Simplifies a lot of the calling code
https://bugzilla.gnome.org/show_bug.cgi?id=733717
2014-07-31 15:19:54 +10:00
Matthew Waters
dc5b0c8c8d
glmemory: reenable the texture_rg support for !eagl
...
The GST_GL_HAVE_PLATFORM_EAGL is always defined we need to compare
against the value instead.
2014-07-29 11:47:55 +10:00
Vasilis Liaskovitis
05f908bf45
glwindow/11: Emit signals for mouse and key navigation events
...
https://bugzilla.gnome.org/show_bug.cgi?id=703486
2014-07-24 12:24:34 +02:00
Sebastian Dröge
eab38c5b21
glwindow: Constify string parameters to the send_*_event() functions
2014-07-24 12:23:03 +02:00
Vasilis Liaskovitis
41632d486b
GstGLWindow : Add mouse-event and key-event signals for navigation
...
https://bugzilla.gnome.org/show_bug.cgi?id=703486
2014-07-24 12:48:44 +10:00
Wang Xin-yu (王昕宇)
1adb0a77d6
gl: fix multi gl object leaks
...
1. fix FBO leaks in decide_allocation
2. fix texture leaks in decide_allocation and reset
3. fix texture leaks in FBO incomplete error path
2014-07-24 11:46:56 +10:00
Fabrice Bellet
2f28fcb862
parser: mpeg4: fix vlc table used for sprite trajectory
...
The vlc table members cbits, cword and values were assigned in the wrong
order, causing the mpeg4 parser to fail when handling sprite
trajectories.
https://bugzilla.gnome.org/show_bug.cgi?id=733322
2014-07-21 09:37:51 +02:00
Mathieu Duponchelle
d11af7cd6b
aggregator: Reset flow_return *after* stopping the srcpad task.
...
Otherwise it might be set in an already running aggregate function.
2014-07-16 17:52:35 +02:00
Thibault Saunier
619237c0d0
aggregator: Flush sinkpads when stopping
...
All values are meaningless in that case, so we should make sure that
we clean everything
2014-07-16 17:52:35 +02:00
Thibault Saunier
d9385687fb
aggregator: Do not forget to reset the flow return when stoping
...
Setting it to FLUSHING when the element is not started, and to OK
when it starts.
2014-07-16 17:52:30 +02:00
Thibault Saunier
9233c6ac69
aggregator: Handle event seqnum
2014-07-16 17:05:25 +02:00
Sebastian Dröge
acb1d5afc3
gl: Link to all required libraries but not more
2014-07-11 12:06:48 +02:00
Sebastian Dröge
f6f1c0ac34
video: Properly include headers in Makefile.am
...
and don't set noinst_HEADERS twice.
2014-07-11 12:01:12 +02:00
Sebastian Dröge
92d00d0233
gl: Move GstGLMixer to the plugin for now
...
It depends on GstAggregator and we don't want to install headers
for that yet.
https://bugzilla.gnome.org/show_bug.cgi?id=732207
2014-07-11 09:41:05 +02:00
Sebastian Dröge
f701aa29b9
libs: Don't install headers and pc files for libgstwayland/badvideo/badbase
...
These will disappear after 1.4.0 and it would be rather annoying if
people started depending on them.
https://bugzilla.gnome.org/show_bug.cgi?id=732207
2014-07-11 09:33:57 +02:00
Edward Hervey
9e73b487c4
mpegts: Add parsing for CA descriptor (0x05)
...
https://bugzilla.gnome.org/show_bug.cgi?id=732986
2014-07-11 08:32:06 +02:00
Sebastian Rasmussen
fba6ebaae2
mpegts: No need to check for NULL before calling g_free()
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732789
2014-07-09 12:04:17 +02:00
Sebastian Rasmussen
66c38b50f3
mpegts: Don't confuse slice allocator with regular one
...
Previously selector_bytes and private_data_bytes were sometimes allocated and
free using the normal allocator and sometimes using the slice allocator.
Additionally prefer g_strdup() to g_memdup() for strings.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732789
2014-07-09 12:04:17 +02:00
Edward Hervey
7626b494cb
mpegts: Fix dvb linkage leaks
...
CID #1224130
2014-07-09 07:50:13 +02:00
Stefan Ringel
43dd0ec62a
mpegts: use getter for egde linkage descriptor type
...
https://bugzilla.gnome.org/show_bug.cgi?id=730914
2014-07-09 07:41:33 +02:00
Stefan Ringel
41f1c8c32e
mpegts: fix annotation
...
https://bugzilla.gnome.org/show_bug.cgi?id=730914
2014-07-09 07:41:32 +02:00
Edward Hervey
90b27a3c8b
mpegts: Add padding to public structures
...
Allows use to add API in the future without breaking ABI. We broke the API/ABI
once between 1.2 and 1.4, let's try to avoid this in the future even if this
is an unstable library.
https://bugzilla.gnome.org/show_bug.cgi?id=730914
2014-07-09 07:39:37 +02:00
Thiago Santos
1d233b7516
mpegts: atsc: fix leak of short name
2014-07-08 15:43:32 -03:00
Thiago Santos
2874bff392
mpegts: fix leak of language code
2014-07-08 14:56:38 -03:00
Thibault Saunier
e4b07ee51d
videoaggregator: Fix some more the locking logic in update_src_caps
...
We need the GST_OBJECT_LOCK only to iterate the sinkpads, nothing else.
https://bugzilla.gnome.org/show_bug.cgi?id=732750
2014-07-06 23:36:10 +02:00
Tim-Philipp Müller
341dc8aecf
videoaggregator: fix broken locking in update_src_caps function
...
We would unlock an already-unlocked mutex that we never re-locked.
https://bugzilla.gnome.org/show_bug.cgi?id=732750
2014-07-06 22:16:48 +01:00
Tim-Philipp Müller
551122c19a
aggregator: fix locking
...
We would unlock a mutex we never locked on SEGMENT
events.
2014-07-06 22:09:53 +01:00
Julien Isorce
6e51790a11
glcocoa: initalize NSApp asap when using gst-launch
...
See https://bugzilla.gnome.org/show_bug.cgi?id=732661
2014-07-03 10:39:44 +01:00
Vincent Penquerc'h
2a7c05592d
videoaggregator: reset QoS on segment event
...
https://bugzilla.gnome.org/show_bug.cgi?id=732540
2014-07-01 16:35:42 +01:00
Gwenole Beauchesne
a61b7728b4
codecparsers: h264: clarifications and documentation fixes.
...
Fix documentation for GstH264NalUnit. The @ref_idc part was totally
unbalanced. Also add a note about @offset and @size fields to remind
that this is relative to the start of the NAL unit, thus including
the header bytes.
2014-07-01 16:26:48 +02:00
Gwenole Beauchesne
22b68b60ec
codecparsers: h264: fix identification of EOSEQ and EOS NALs.
...
An end_of_seq() [EOSEQ] or end_of_stream() [EOS] NAL unit is really
one byte long because this shall include the NalHeaderBytes (1) too.
The NALU.offset starts from the first byte of the header.
This is the proper fix to commit d37f842
. In practice, this fixes
parsing of FRExt1_Panasonic_D and FRExt2_Panasonic_C, that include
additional frames after an EOSEQ.
https://bugzilla.gnome.org/show_bug.cgi?id=732553
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-07-01 16:26:48 +02:00
Edward Hervey
8c53dfcfb6
mpegts: Expose GstMpegtsDescriptor free function
...
Nothing earth shattering, but avoids people having to use g_boxed_free()
2014-07-01 10:03:49 +02:00
Sebastian Dröge
4cbddec9fe
eagl: Disable usage of R and RG textures on iOS
...
They don't work currently and just render zeroes, while the
fallback code path with LUM and LUM_ALPHA textures still works.
https://bugzilla.gnome.org/show_bug.cgi?id=732390
2014-06-30 19:16:13 +02:00
Thibault Saunier
71c81a5176
aggregator: Avoid destroying sources we do not own
...
+ Unref the maincontext in a new dispose function
+ Make sure to remove all sources on dispose
https://bugzilla.gnome.org/show_bug.cgi?id=732445
2014-06-30 14:24:49 +02:00
Sebastian Dröge
426f9e6097
mpegts: Fix memory leaks in the test and the library
...
Currently uses g_boxed_free() in the unit test, this needs to
be fixed properly when cleaning up the API.
https://bugzilla.gnome.org/show_bug.cgi?id=730914
2014-06-29 21:34:50 +02:00
Sebastian Dröge
ace64ca3e5
badvideo: Update dist generated ORC files
2014-06-28 17:03:19 +02:00
Sebastian Dröge
286a80ab18
badvideo: Rename videoconvert functions to prevent conflicts with static linking
...
https://bugzilla.gnome.org/show_bug.cgi?id=728443
2014-06-28 17:03:19 +02:00
Thiago Santos
bdda4bb689
aggregator: always store or unref the buffer on the _chain function
...
Otherwise it leaks, and it is very common to go to flushing when the
pipeline is stopping, leaking a buffer.
2014-06-28 09:44:22 -03:00
Thiago Santos
b0652ee88f
aggregator: always unref the buffer on _finish function
...
Otherwise the user doesn't know if it was unref'd or not
2014-06-28 09:44:22 -03:00
Thiago Santos
5ce02fa5f9
aggregator: add dispose/finalize functions
...
Add functions to be able to cleanup the mutex/cond and pending buffers
on the aggregator and on its pad
2014-06-28 09:44:22 -03:00
Thiago Santos
e6244874ab
mpegts: atsc: avoid calling g_convert with 0-sized input
...
Avoids an assertion. The cached string will be assigned an empty string
as its value when size is 0.
2014-06-27 12:50:27 -03:00
Gwenole Beauchesne
9bd186a960
codecparsers: h264: fix memory leak in GstH264PPS.
...
The gst_h264_parse_pps() function dynamically allocates the slice
group ids map array, so that needs to be cleared before parsing a
new PPS NAL unit again, or when it is no longer needed.
Likewise, a clean copy to the internal NAL parser state needs to be
performed so that to avoid a double-free corruption.
https://bugzilla.gnome.org/show_bug.cgi?id=707282
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-06-27 14:00:10 +02:00
Gwenole Beauchesne
b458a1e255
codecparsers: h264: fix typo in GstH264VUIParams description.
2014-06-26 17:22:26 +02:00
Aurélien Zanelli
67df207280
codecparsers: h264: add support for Recovery Point SEI message.
...
The recovery point SEI message helps a decoder in determining if the
decoding process would produce acceptable pictures for display after
the decoder initiates random access or after the encoder indicates
a broken link in the coded video sequence.
This is not used in the h264parse element, but it could help debugging.
https://bugzilla.gnome.org/show_bug.cgi?id=723380
2014-06-26 17:22:26 +02:00
Gwenole Beauchesne
0440cabf49
codecparsers: h264: add nal_reader_skip_long() helper.
...
Add nal_reader_skip_long() helper function to allow an arbitrary number
of bits to be skipped. The former nal_reader_skip() function is too
limited to the actual cache size.
Use this new function to simplify gst_h264_parser_parse_sei_message()
default case, that skips unsupported payloads.
v2: made args consistent from header to source file.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-06-26 17:22:26 +02:00
Matthew Waters
2e83aca728
videoaggregator: fix a refcount error when keeping the buffer
...
We take a ref on the pad's buffer at the beginning so we need to
unref when we are done in all cases.
2014-06-27 00:14:03 +10:00
Gwenole Beauchesne
c46b63d44e
codecparsers: vp8: move up built-in range decoder private data.
...
Use the first _gst_reserved[] slot to hold the built-in range decoder
private data. The first slot was formerly the buffer size, which was
then promoted to semi-public namespace when it got integrated as git
commit 2940ac6.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-06-26 16:04:54 +02:00
Matthew Waters
c39105524a
glcolorconvert: free pixel swizzling information
2014-06-26 11:25:37 +10:00
Matthew Waters
a03dbd11e4
glmixer: remove redundant/unused lock
...
Use the GstObject lock instead
2014-06-26 11:15:56 +10:00
Matthew Waters
de05daec80
glmixer: remove redundant creation and free of GPtrArrays
...
Also plugs a memory leak
2014-06-26 11:12:49 +10:00
Matthew Waters
f686c890e4
glmixer: plug a memory leak for the caps
...
gst_query_set_caps_result() takes a ref on the caps
2014-06-26 10:54:38 +10:00
Matthew Waters
a9215f78b5
aggregator: plug a memory leak of the srccaps
2014-06-26 10:53:16 +10:00
Matthew Waters
596353854f
glmixer: intersect with the filtercaps if available
2014-06-26 10:31:41 +10:00
Matthew Waters
8ef71b5db7
gl: update gles2 compatability header
2014-06-26 10:31:41 +10:00
Edward Hervey
22dfd9aef3
mpegts: Unify API : GstMpegts / gst_mpegts_ / GST_*_MPEGTS_
...
It was previously a mix and match of both variants, introducing just too much
confusion.
The prefix are from now on:
* GstMpegts for structures and type names (and not GstMpegTs)
* gst_mpegts_ for functions (and not gst_mpeg_ts_)
* GST_MPEGTS_ for enums/flags (and not GST_MPEG_TS_)
* GST_TYPE_MPEGTS_ for types (and not GST_TYPE_MPEG_TS_)
The rationale for chosing that is:
* the namespace is shorter/direct (it's mpegts, not mpeg_ts nor mpeg-ts)
* the namespace is one word under Gst
* it's shorter (yah)
2014-06-25 14:50:05 +02:00
Edward Hervey
cddabd751c
mpegtssection: Free data in error cases
...
Data is marked as "transfer full", if we have an error we need to
free it.
2014-06-25 14:15:37 +02:00
Matthew Waters
720405b561
glfilter: pass through the allocation query when in passthrough mode
...
Otherwise two GL elements on either side will fail to use the same
GL context.
2014-06-25 22:05:37 +10:00
Matthew Waters
a2bd2ce83b
glfilter: prefer passthrough for non-sysmem caps
2014-06-25 21:50:40 +10:00
Julien Isorce
f63c91ab71
glfilter: handle NULL decide_query which means passthrough
...
See https://bugzilla.gnome.org/show_bug.cgi?id=732178
2014-06-25 06:56:33 +01:00
Julien Isorce
045aa4ee7e
glfilter: prepend intersection to src caps
...
Prefer to stay in the same memory space if possible.
Also it let a chance to do passthrough.
See https://bugzilla.gnome.org/show_bug.cgi?id=732178
2014-06-25 06:56:25 +01:00
Edward Hervey
42b3d6ec8a
mpegts: More doc fixes
...
Still not done :(
2014-06-24 16:06:01 +02:00
Edward Hervey
0607756e24
mpegts: more annotation fixes
2014-06-24 16:06:01 +02:00
Stefan Ringel
7c884374eb
mpegts: change to GType and from gchar[] to gchar*
...
https://bugzilla.gnome.org/show_bug.cgi?id=730914
2014-06-24 16:06:01 +02:00
Matthew Waters
1d16cd50a3
gl: add a scary note about initializing thread support for the winsys
...
We cannot do it as the winsys may crash if we initialize too late.
Example, GLX contexts with Intel drivers:
Intel requires the X Display to be the same in order to share GL
resources across GL contexts. These GL contexts are generally
accessed from different threads. Without winsys support it is
nearly impossible to guarentee that concurrent access will not
occur. This concurrent access could result in crashes or abortion
by the winsys (xcb).
https://bugzilla.gnome.org/show_bug.cgi?id=731525
2014-06-24 23:41:00 +10:00
Edward Hervey
123f642d5e
mpegts: Fix descriptor_from_dvb_service
...
Various leaks/overwrites issues
2014-06-24 14:51:32 +02:00
Edward Hervey
aaee4dc23b
all: Don't declare variables in 'for' loops
2014-06-24 14:51:32 +02:00
Sebastian Dröge
104816e906
badbase: Use the correct LDFLAGS for creating libraries
...
Otherwise we won't e.g. create .dlls on Windows
2014-06-24 11:27:15 +02:00
Matthew Waters
8f716555ba
videoaggregator: don't clobber already heap allocated video frame
...
CID # 1223440
2014-06-23 22:40:23 +10:00
Matthew Waters
5d1efa193f
videoaggregator: fix up the parent chaining for dispose and finalize
2014-06-23 22:36:23 +10:00
Matthew Waters
078c789ffa
gluploadmeta: reenable GLMemory upload path
2014-06-23 21:43:10 +10:00
Sebastian Dröge
6d3d06c91f
Release 1.3.3
2014-06-22 19:22:28 +02:00
Sebastian Dröge
f5356dc697
video: Link with $(LIBM) for rint() and others
2014-06-22 18:52:54 +02:00
Matthew Waters
d52ef19d7f
gl: move gles2 compat header to glprototypes
2014-06-22 09:48:22 +10:00
Matthew Waters
838fd776cf
glbufferpool: provide a consistent API regardless of platform
2014-06-22 09:48:22 +10:00
Matthew Waters
1970659fa1
gl: mark library as API unstable
2014-06-22 09:48:22 +10:00
Thibault Saunier
4ed2a66f1e
libs:uridownloader: Properly declare APIs as UNSTABLE
2014-06-21 17:02:50 +02:00
Thibault Saunier
bc5e230040
libs:video: Properly declare APIs as UNSTABLE
2014-06-21 17:02:50 +02:00
Thibault Saunier
816b12d100
libs:base: Properly declare APIs as UNSTABLE
2014-06-21 17:02:50 +02:00
Thibault Saunier
f9ff8cd7c8
libs:video: Add -I$(top_srcdir)/gst-libs to fix distcheck
2014-06-21 15:40:58 +02:00
Thibault Saunier
8250845b47
libs:base: Fix includedir
2014-06-21 15:26:14 +02:00
Thibault Saunier
6409641130
aggregator: Fix requested pad name
2014-06-21 14:14:26 +02:00
Thibault Saunier
1bfee113c4
libs: videoaggregato: Do not import videoconvert.h in gstvideoaggregatorpad.h
...
+ Add a Private structure to the GstVideoAggregatorPad
+ Add some padding
2014-06-20 22:14:25 +02:00
Thibault Saunier
32d64d1863
Final fix compilation
2014-06-20 21:28:12 +02:00
Thibault Saunier
b4799dd17b
libs:video:Fix compilation
2014-06-20 20:35:45 +02:00
Thibault Saunier
4ce8b409cc
gl: Port glmixer to the GstVideoAggregator baseclass
...
https://bugzilla.gnome.org/show_bug.cgi?id=731921
2014-06-20 19:53:33 +02:00
Mathieu Duponchelle
7cf66e7c07
videoaggregator: Create a new GstVideoAggregator baseclass
...
This base class has been added to a newly created libgstbadvideo library
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
https://bugzilla.gnome.org/show_bug.cgi?id=731918
2014-06-20 19:53:33 +02:00
Thibault Saunier
55c65d079f
aggregator: Add new GstAggregator base class
...
This base class has been added to a newly created libgstbadbase library
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
https://bugzilla.gnome.org/show_bug.cgi?id=731917
2014-06-20 19:53:33 +02:00
Sebastian Dröge
e3af42ae82
uridownloader: Include the debug string in the error messages we propagate from t source
2014-06-19 18:34:05 +02:00
Matthew Waters
189353619c
glframebuffer: don't segfault needlessly with GLES2
...
gst_gl_framebuffer_use_v2 was using a function that is not available
with GLES2
2014-06-17 23:21:15 +10:00
Tim-Philipp Müller
d4745ea78c
wayland: add unstable API guards to wayland library header
2014-06-17 13:15:06 +01:00
Tim-Philipp Müller
fc4aa73aca
gst-libs: fix uninstalled build of new wayland lib
2014-06-17 13:11:29 +01:00
George Kiagiadakis
86930cab13
waylandsink: rename pause/resume_rendering to begin/end_geometry_change and update their documentation
2014-06-17 13:51:28 +02:00
George Kiagiadakis
39c5a9ce13
wayland: remove gst_wayland_video_set_surface_size()
...
Not needed anymore, since we use gst_video_overlay_set_render_rectangle()
2014-06-17 13:51:27 +02:00
George Kiagiadakis
b806313396
wayland: add public API for creating & using the display handle GstContext
2014-06-17 13:51:27 +02:00
George Kiagiadakis
c62ec6f815
waylandsink: get the external display handle using GstContext
...
This drops the ugly GstWaylandWindowHandle structure and is much
more elegant because we can now request the display separately
from the window handle. Therefore the window handle can be requested
in render(), i.e. when it is really needed and we can still open
the correct display for getting caps and creating the pool earlier.
This change also separates setting the wl_surface from setting its size.
Applications should do that by calling two functions in sequence:
gst_video_overlay_set_window_handle (overlay, surface);
gst_wayland_video_set_surface_size (overlay, w, h);
2014-06-17 13:51:27 +02:00
George Kiagiadakis
7982ed03c1
wayland/Makefile.am: link with gstvideo to avoid introspection errors
2014-06-17 13:51:26 +02:00
George Kiagiadakis
e56f305274
waylandsink: implement the GstVideoOverlay & GstWaylandVideo interfaces
...
This is the initial implementation, without the GstVideoOverlay.expose()
method. It only implements using an external (sub)surface and resizing
it with GstWaylandVideo.
2014-06-17 13:51:24 +02:00
George Kiagiadakis
86a3c384ae
wayland: Add new gst-wayland library containing a new GstWaylandVideo interface
...
This interface is needed to be able to embed waylandsink into
other wayland surfaces. Due to the special nature of wayland,
GstVideoOverlay is not enough for this job.
2014-06-17 13:51:23 +02:00
Matthew Waters
7899b9af9f
gldownload: plug a memory leak
2014-06-15 15:17:07 +10:00
Matthew Waters
015beb5404
glmixer: allow the subclass to choose the sink pad type
...
Allows custom properties to be placed on the sink pads by subclasses
2014-06-15 12:28:45 +10:00
Gwenole Beauchesne
db887f05ca
codecparsers: h264: fix quantization matrix conversion routine names.
...
Fix routine names for zigzag/raster scan order conversion routines for
quantization matrices. This ought to use the gst_h264_quant_matrix_*()
naming convention instead of gst_h264_video_quant_matrix_*(), which
derived from the MPEG-2 function names.
https://bugzilla.gnome.org/show_bug.cgi?id=731524
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-06-12 10:26:26 +02:00
Gwenole Beauchesne
5196f24138
codecparsers: add C++ guards for MPEG-4 and VP8 parsers.
...
Fix MPEG-4 and VP8 APIs to export their external symbols as pure C
symbols, i.e. un-mangled for C++.
https://bugzilla.gnome.org/show_bug.cgi?id=731522
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-06-12 10:25:54 +02:00
Matthew Waters
e1e2a88358
glmixer: send the stream-start event
...
and the caps event after.
https://bugzilla.gnome.org/show_bug.cgi?id=730944
2014-06-12 14:58:47 +10:00
Matthew Waters
d7f8cc9a78
glfilterapp: remove the reshape/draw properties
...
The reshape property was never used.
Replace the draw property with a signal.
Based on patch by Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
https://bugzilla.gnome.org/show_bug.cgi?id=704507
2014-06-12 12:49:42 +10:00
Matthew Waters
9e662b8229
glmixer: lock the size of mix->frames to the number of pads
...
Fixes a segfault with decodebin ! glmixer where the request pads on
both sides were being requested after the state change to PAUSED.
Also fixes dynamically adding and removing pads while glmixer is
in a state >= PAUSED.
2014-06-12 12:18:23 +10:00
Matthew Waters
574b29f2c4
gl/wayland: create a dummy display instead of an EGLDisplay
...
Currently, GstGLWindowWaylandEGL holds the wayland display connection
If we create the EGLDisplay at the GstDisplay creation time, then
libEGL will internally open another connection to the wayland server.
These two display connections are unable to communicate resulting in
no window output/display and hangs inside libEGL.
Eventually we will move the wl_display from GstGLWindow to GstGLDisplay.
2014-06-05 18:52:11 +10:00
Matthew Waters
59088f5a90
glupload: always release the previous buffer
...
Fixes the case where _perform_with_buffer() is called without
intervening calls to _release_buffer() as is the case on start up
with glimagesink.
Also release the buffer when reseting the upload.
https://bugzilla.gnome.org/show_bug.cgi?id=731107
2014-06-03 14:03:21 +10:00
Sebastian Dröge
91581cf531
glcontext: Handle (unlikely) NULL return of gl->GetString (GL_VERSION) more gracefully
...
CID 1219858
2014-06-02 09:23:39 +02:00
Edward Hervey
a57005abbc
mpegts: Remove unneeded NULL check
...
Allocating those structures is done in all code paths leading there
CID #1219860
CID #1219861
CID #1219862
CID #1219863
CID #1219864
2014-06-02 08:24:08 +02:00
Matthew Waters
0f4485fc66
glmemory: remove uneeded gl api ifdefs
2014-05-30 12:29:54 +10:00
Matthew Waters
1f90323a4d
glwindow_x11: allow expose events to redraw our window
...
otherwise we will not update the window contents on low framerate
streams until the next buffer
https://bugzilla.gnome.org/show_bug.cgi?id=723529
2014-05-30 11:51:01 +10:00
Matthew Waters
4ee5967414
glcontext: fix up assertion
...
error: 'return' with no value, in function returning non-void
2014-05-30 10:46:25 +10:00
Matthew Waters
da35876537
glfeature: remove GST_GL_API_GLES3
...
instead check the gl version using gst_gl_context_check_gl_version()
2014-05-30 10:29:37 +10:00
Matthew Waters
1334884a61
glcontext: check for GLES versions
2014-05-30 10:29:37 +10:00
Matthew Waters
5273b726a6
gl/context: add check_gl_version
2014-05-30 10:29:37 +10:00
Edward Hervey
45ec777cea
glcontext: Try GLX support before EGL support
...
If available, glx has got a better chance of being the Gl platform
we want to use compared to EGL
2014-05-29 17:12:41 +02:00
Edward Hervey
30622337ab
glcontext: Try to open lib{EGL|GL|GLESv2}.so.1 before lib{EGL|GL|GLESv2}
...
Fixes issues with .so (without numbering) being installed for development
(such as from mesa-dev) but actual driver (with numbering) coming from
some other place (like nvidia drivers)
2014-05-29 17:12:41 +02:00
Edward Hervey
86b8388c3f
atsc-section: Fix annotation
2014-05-29 14:29:16 +02:00
Edward Hervey
611edd5e96
dvb-descriptor: Fix multilingual service name parsing
...
the provider and service name was inverted
2014-05-29 14:29:15 +02:00
Stefan Ringel
6a622a678e
example: ts-parser: add parential rating descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=730854
2014-05-29 14:29:15 +02:00
Stefan Ringel
c35dc33b7f
example: ts-parser: add content descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=730854
2014-05-29 14:29:15 +02:00
Stefan Ringel
1c9bbb1e00
example: ts-parser: add component descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=730854
2014-05-29 14:29:15 +02:00
Stefan Ringel
f6fdd83b7e
mpegts: bugfix mobile hand over linkage parse missmatch
...
https://bugzilla.gnome.org/show_bug.cgi?id=730901
2014-05-29 11:26:21 +02:00
Thiago Santos
fa1eb09520
mpegts: atsc: add missing field to ETT table
...
Set the subtable_extension as ett_table_id_extension
for ETT tables as it is used by it
https://bugzilla.gnome.org/show_bug.cgi?id=730435
2014-05-29 10:38:00 +02:00
Thiago Santos
1cab60b713
mpegts: atsc: add atsc's EIT table parsing
...
ATSC has its own version of the EIT table (DVB also has one).
This patch adds parsing for the ATSC EIT table and also fixed
the section identification to mark it as the ATSC one.
The implementation aws refactored to reuse some common internal
structures from ETT.
Also adds its dumping function to ts-parser example
https://bugzilla.gnome.org/show_bug.cgi?id=730435
2014-05-29 10:38:00 +02:00
Thiago Santos
0c6bb561e0
mpegts: atsc: add STT table parsing
...
Adds the system time table structure and functions for convenient parsing of
it and for getting the UTC datetime that it represents. Also adds its
information dumping to the ts-parser example
https://bugzilla.gnome.org/show_bug.cgi?id=730435
2014-05-29 10:37:59 +02:00
Thiago Santos
0c0379e8f0
mpegts: atsc: add encoding conversion for UTF-16 ETT strings
...
https://bugzilla.gnome.org/show_bug.cgi?id=730435
2014-05-29 10:37:59 +02:00
Thiago Santos
7ced36eccd
mpegts: atsc: add ETT structures and parsing
...
ETT (extended text table) contains ATSC text information with descriptions
of virtual channels and events. The text can be internationalized and also
compressed.
https://bugzilla.gnome.org/show_bug.cgi?id=730435
2014-05-29 10:37:59 +02:00
Thiago Santos
9eed28d353
mpegts: add atsc MGT section parsing
...
Add a parsing function for MGT and also detect the EIT tables
for ATSC, the EIT pids are reported inside the MGT and we are still
only relying only on the table id for detecting it. In the future we
would want to also check the pid and compare with whatever the MGT
previously reported to confirm that it is indeed the EIT.
https://bugzilla.gnome.org/show_bug.cgi?id=730435
2014-05-29 10:37:59 +02:00
Thiago Santos
8f6a3c0a99
mpegts: atsc: rename TVCT to VCT as it is the same as CVCT
...
Make the ATSC section parse handle both TVCT and CVCT as they are
nearly the same struct (CVCT uses 2 reserved bits that are ignored
in TVCT).
This is changing the glib type and the struct name but TVCT wasn't
released in a stable package yet so there should be no problem.
Also includes some parsing fixes and changes short_name to be
directly stored as utf8 rather than utf16
https://bugzilla.gnome.org/show_bug.cgi?id=730642
2014-05-29 10:37:59 +02:00
Sebastian Dröge
f56aa3e32c
glupload: Fix assertion after API changes
2014-05-29 10:37:02 +02:00
Matthew Waters
3390b2b385
gl/colorconvert: keep our private pointer
...
again, avoid to much trigger
2014-05-29 18:33:10 +10:00
Matthew Waters
4b5c5a7d37
gl/colorconvert: use GstObject's lock instead of our own
2014-05-29 17:29:41 +10:00
Matthew Waters
768c6de84e
gl/colorconvert: remove unnecassary pointer inderection
2014-05-29 17:12:03 +10:00
Matthew Waters
07919d874c
gl/upload: re add the upload meta to the private struct
...
try and avoid being to trigger happy
2014-05-29 16:45:37 +10:00
Matthew Waters
eff3da8871
gl/upload: small code cleanup and gst-indent
2014-05-29 16:30:14 +10:00
Matthew Waters
9eb6f536b9
gl/download: use GstObject's lock instead of out own
2014-05-29 16:30:13 +10:00
Matthew Waters
aa102d2660
gl/upload: use GstObject's lock instead of our own
2014-05-29 16:30:13 +10:00
Matthew Waters
75c7e5019c
gl/filter: also remove the width/height in transform_caps
...
allows scaling in the filters
2014-05-29 16:30:13 +10:00
Matthew Waters
a181460755
gl/colorconvert: optimise the same format case
...
simply return the input buffer unchanged
2014-05-29 16:30:13 +10:00
Matthew Waters
ec8a617e8f
gl/colorconvert: fix YUY2/UYVY download for RG/LA textures
2014-05-29 16:30:13 +10:00
Matthew Waters
f7f92e6d7a
gl/colorconvert: allocate output buffers
...
Allows the nop optimisation by simply reffing the input buffer.
2014-05-29 16:30:13 +10:00
Edward Hervey
6e1679b9cb
mpegts: Make some fields optional
...
Some people might just not care about the contents
2014-05-28 15:55:40 +02:00
Edward Hervey
ca2847e234
mpegts: Update docs for DVB frequency list
2014-05-28 15:55:40 +02:00
Sebastian Dröge
8372fa6ecc
uridownloader: Store URI and redirect target in the downloaded fragments
2014-05-28 09:44:24 +02:00
Edward Hervey
7852430934
mpegts: Fix Logical Channel Descriptor parsing
...
No wonder we were getting garbage ...
2014-05-28 08:03:09 +02:00
Matthew Waters
21b6ca75c3
gl/upload: fix incorrect type in macros
2014-05-28 14:43:43 +10:00
Matthew Waters
6ce3b82efe
gl/upload: add GstGLUploadMeta object
...
That simply deals with the provider aspect of GstVideoGLTextureUploadMeta.
2014-05-28 14:41:35 +10:00
Edward Hervey
1797802bd2
mpegts: Ensure NULL-terminated language code
...
Yup, it breaks API and ABI, I know. But let's avoid people and bindings
printing out garbage
2014-05-27 17:34:48 +02:00
Edward Hervey
f7b1b5fcd3
mpegts: Fix Extended DVB descriptor parsing
...
We were over-reading data, and the nb_items field isn't needed,
it's a property of the GPtrArray
2014-05-27 17:34:48 +02:00
Matthew Waters
3ddcec8062
gl/win32: make send_message reentrant
...
I could not find a comparable win32API function so keep the running
thread pointer to compare against.
https://bugzilla.gnome.org/show_bug.cgi?id=730782
2014-05-28 00:57:25 +10:00
Edward Hervey
b207a15073
mpegts: Fix usage of memcpy
...
source and destination were inverted
2014-05-27 16:17:39 +02:00
Stefan Ringel
0168160863
mpegts: add multilingual component descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=728429
2014-05-27 15:34:40 +02:00
Stefan Ringel
b0f3892ae5
mpegts: add multilingual service name descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=728429
2014-05-27 15:34:40 +02:00
Stefan Ringel
cac329a621
mpegts: add multilingual bouquet name descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=728429
2014-05-27 15:34:39 +02:00
Stefan Ringel
b4cc5a2177
mpegts: add multilingual network name descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=728429
2014-05-27 15:34:39 +02:00
Tim-Philipp Müller
1f1bb8bbe3
glcolorconvert: fix compiler warning
...
gstglcolorconvert.c:1133:11: error: 'j' may be used uninitialized in this function
Was used uninitialized when jumping to out label
in error case.
2014-05-27 13:57:18 +01:00
Matthew Waters
60b6ef981e
gl/colorconvert: operate on buffers instead of memories
2014-05-27 21:59:12 +10:00
Julien Isorce
ce4a2b6828
gl: add missing cgl and eagl context type
...
https://bugzilla.gnome.org/show_bug.cgi?id=729245
2014-05-27 08:54:20 +01:00
Julien Isorce
fbe6dd9c5f
gl: rename platform cocoa to cgl
...
Before:
GST_GL_PLATFORM=cocoa GST_GL_WINDOW=cocoa
gst-launch-1.0 videotestsrc ! glimagesink
After:
GST_GL_PLATFORM=cgl GST_GL_WINDOW=cocoa
gst-launch-1.0 videotestsrc ! glimagesink
but still pass --enable-cocoa to configure script
because currently it can only be used with cocoa API.
We could later have cgl/gstglcontext_cgl.h that manages
a CGLContextObj directly and cocoa/gstglcontext_cocoa.h
would just wrap it.
So that it could be used with other Apple's window APIs.
https://bugzilla.gnome.org/show_bug.cgi?id=729245
2014-05-27 08:46:16 +01:00
Matthew Waters
397928714d
gl/mixer: don't segfault when we don't have a buffer
...
https://bugzilla.gnome.org/show_bug.cgi?id=729257
2014-05-27 13:57:09 +10:00
Matthew Waters
1512666ac7
gl/window_x11: avoid BadDrawable error on shutdown
2014-05-27 13:57:09 +10:00
Matthew Waters
dad342454b
gl/context_egl: pass the vars in the right order to DestroySurface
...
https://bugzilla.gnome.org/show_bug.cgi?id=728514
2014-05-27 10:49:26 +10:00
Edward Hervey
42c061b0e7
mpegts: Fix Bouquet Name parsing
...
the field is not length prefixed
2014-05-26 11:54:50 +02:00
Stefan Ringel
bc7cf1520c
mpegts: add bouquet name descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=728364
2014-05-26 11:18:20 +02:00
Stefan Ringel
985d19deaa
mpegts: add stuffing descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=728364
2014-05-26 11:18:20 +02:00
Stefan Ringel
570f78df79
mpegts: add service list descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=728364
2014-05-26 11:18:19 +02:00
Nicolas Dufresne
075701669e
glfilter: Remove format information to allow color convert again
...
We also need to remove the format information, as glfilter can do
color convertion. This code was imported from videoconvert.
https://bugzilla.gnome.org/show_bug.cgi?id=729861
2014-05-25 09:03:32 -04:00
Matthew Waters
dbffcffaee
gl/memory: allocate the correct memory size
...
and avoid wasting resources we will never need
https://bugzilla.gnome.org/show_bug.cgi?id=730703
2014-05-25 11:45:59 +10:00
Nicolas Dufresne
a7866aa9e5
glcolorconvert: Fix YUY2 and UYVY support with luminance_alpha
...
https://bugzilla.gnome.org/show_bug.cgi?id=730666
2014-05-24 08:56:10 -04:00
Matthew Waters
13402f0b98
gl/memory: provide compatability defines
...
fixes build on android/OS X
2014-05-23 12:07:50 +10:00
Matthew Waters
26e9517355
gl/colorconvert: remove scratch texture for YUY2/UYVY
...
We can get all our data from the one RG/LA texture with some shader magic.
https://bugzilla.gnome.org/show_bug.cgi?id=728890
2014-05-23 11:25:11 +10:00
Matthew Waters
9a0129a0e4
gl/memory: RGBA/UNSIGNED_BYTE only format supported by ReadPixels GLES2
...
Error out in case we attempt to read with any other invalid format.
2014-05-23 11:25:11 +10:00
Matthew Waters
0c8ccd8c5f
gl/memory: generate textures with a sized internal format
...
Required in order to generate RG and RED textured with GLES3.
2014-05-23 11:25:11 +10:00
Matthew Waters
001b92ba12
gl/memory: implement GL_EXT_texture_rg support
...
Which is used by default over the Luminance formats due to it
being color renderable with fbos (and deprecation/removal with
GL 3.x).
https://bugzilla.gnome.org/show_bug.cgi?id=729750
https://bugzilla.gnome.org/show_bug.cgi?id=704222
https://bugzilla.gnome.org/show_bug.cgi?id=728890
2014-05-23 11:25:11 +10:00
Nicolas Dufresne
9cdafffe7f
Revert "h264parser: Remove unused fps_num/fps_den fields"
...
This breaks the build since mss has not been ported.
This reverts commit aeb6a52074
.
2014-05-22 13:03:33 -04:00
Sebastian Dröge
aeb6a52074
h264parser: Remove unused fps_num/fps_den fields
...
Instead the newly added function should be used to calculate
the framerate properly.
2014-05-22 16:12:36 +02:00
Aurélien Zanelli
753701bf68
codecparsers_h264: add gst_h264_video_calculate_framerate()
...
Add a new function to calculate video stream framerate which rely on
SPS, slice header and pic timing using formula:
time_scale 1 1
fps = ----------------- x --------------- x ------------------------
num_units_in_tick DeltaTfiDivisor (field_pic_flag ? 2 : 1)
See section E2.1 of H264 specification for definition of variables.
https://bugzilla.gnome.org/show_bug.cgi?id=723352
2014-05-22 16:12:35 +02:00
Matthew Waters
746d021d70
gl/context: add gl extension checking to check_feature()
...
Useful for extensions that do not define any new GL API entrypoints
but can still modify behaviour when used.
2014-05-22 23:55:30 +10:00
Matthew Waters
0fb0286553
gl/download: fixup YUY2/UYVY download
...
Regression from 2da979831e
as it did
not update the download code to reflect the change in texture format.
2014-05-22 23:55:30 +10:00
Matthew Waters
42f4869593
gl/filter: fixup passthrough bufferpool
...
In a pipeline like so:
videotestsrc ! gleffects ! videoconvert ! sink
gleffects was simply passing the videoconvert bufferpool to videotestsrc
and not creating a glbufferpool. videobufferpool would then fail
to allocate from the glallocator.
2014-05-21 20:02:45 +10:00
Sebastian Dröge
752b3a503e
dvb-section: Don't compare unsigned integers for >= 0
...
gst-dvb-section.c:93:12: error: comparison of unsigned expression >= 0 is always true
[-Werror,-Wtautological-compare]
if (hour >= 0 && hour < 24 && minute >= 0 && minute < 60 && second >= 0
~~~~ ^ ~
gst-dvb-section.c:93:40: error: comparison of unsigned expression >= 0 is always true
[-Werror,-Wtautological-compare]
if (hour >= 0 && hour < 24 && minute >= 0 && minute < 60 && second >= 0
~~~~~~ ^ ~
gst-dvb-section.c:93:70: error: comparison of unsigned expression >= 0 is always true
[-Werror,-Wtautological-compare]
if (hour >= 0 && hour < 24 && minute >= 0 && minute < 60 && second >= 0
~~~~~~ ^ ~
2014-05-21 08:53:03 +02:00
Matthew Waters
2da979831e
gl/upload: switch the 'master' texture for YUY2, UYVY
...
From d4bcef3204
on, using a RGBA
texture to hold the data causes the glmemory to have half width
and a scaling of [2, 1]. Using a LA texture solves this problem
however cannot be attached to the framebuffer for copying into
a RGBA texture. Which will be solved by moving to EXT_texture_rg.
https://bugzilla.gnome.org/show_bug.cgi?id=728890
2014-05-21 10:26:21 +10:00
Matthew Waters
37c08c58c5
gl/eglimage: add eglimage context feature
...
Allows us to selectively use EGLImages only when available
https://bugzilla.gnome.org/show_bug.cgi?id=728234
2014-05-20 23:37:52 +10:00
Matthew Waters
b30023f571
gl/context: add generic feature checking
...
At the moment it simply delegates to the subclass.
2014-05-20 22:26:55 +10:00
Thiago Santos
0cdcc5a7b1
mpegts: Check hour:minute:second values before creating datetime
...
Avoids assertions when the packets are malformed and also add the case
where the time isn't specified, only the date.
2014-05-19 14:55:21 -03:00
Sebastian Dröge
911ec0d3ef
glcontext: Add more assertions to make sure that everything sets the GError during context creation if something fails
2014-05-19 12:21:13 +02:00
Thiago Santos
43f3f837fa
mpegts: mpegtsdescriptor: fix gobject-introspection warnings
...
Adds missing : to gobject-introspection markers
2014-05-15 21:34:31 -03:00
Thiago Santos
f99fe4747e
mpegts: sections: prevent assertion when packet parsing fails
...
the descriptors entry can be left as NULL and freeing the structure
will fail (assertion happens)
2014-05-15 19:25:06 -03:00
Matthew Waters
ce561913de
gl/download: update to be similar to the glupload semantics
2014-05-14 11:38:01 +10:00
Matthew Waters
b0a1e1f15b
gl/colorconvert: fix up alpha clobbering
...
Previously it would only work if the alpha value was in the last
component (RGBx, BGRx). Now it works wherever the alpha value may
be (xRGB, xBGR, etc).
2014-05-14 11:38:01 +10:00
Nicolas Dufresne
5c4ebaca4f
glfilter: Fix building without EGL support
...
This fixes the OSX build and any builds with --disable-egl. That issue
was introduced in "glfilter: rewrite transform_caps to preserve caps fields".
https://bugzilla.gnome.org/show_bug.cgi?id=729861
2014-05-13 13:17:01 -04:00
Julien Isorce
e46de48f10
glfilter: rewrite transform_caps to preserve caps fields
...
https://bugzilla.gnome.org/show_bug.cgi?id=729861
2014-05-13 12:43:42 -04:00
Matthew Waters
1e90a68aec
gl/colorconvert: use the texture scaling from the gl memory
...
The colorconvert values were not being used at all.
https://bugzilla.gnome.org/show_bug.cgi?id=729896
2014-05-13 11:44:06 -04:00
Nicolas Dufresne
d4bcef3204
glmemory: Fix handling of stride with alignement larger then 8
...
Setting a scaled factor for X coordinate is not enough as the indexer
will still think stride is shorter and will not fully skip it. Instead,
update width, so the lines are as expected. Combined with the scale, it
will hide the cropped portion.
https://bugzilla.gnome.org/show_bug.cgi?id=729896
2014-05-13 11:43:45 -04:00
Nicolas Dufresne
2d0a791348
glupload: Ensure we still have a texture after upload_set_format()
...
gst_gl_upload_set_format() resets the upload, hence the texture.
So we need to ensure we have a texture after this call when
uploading.
2014-05-12 18:26:12 -04:00
Nicolas Dufresne
864e1511c7
glupload: Correctly update the video info from video meta
...
Using gst_video_info_set_format() isn't complete when updating
a video info from video meta.
2014-05-12 18:26:12 -04:00
Nicolas Dufresne
4f84a6124a
glupload: Correctly update video info in upload fallback
...
When the upload accelerated method fails, we fallback to an upload,
but the video info was not correctly updated.
2014-05-12 18:26:12 -04:00
Julien Isorce
d93cd25e2d
gl/upload: set out_tex after reset, not before
...
Fix a regression introduced recently with the lazy init.
It was happening when calling gst_video_gl_texture_upload_meta_upload
from an aplication. So not using gst_gl_upload_perform_with_buffer.
2014-05-12 13:43:19 +01:00
Matthew Waters
f14e5ea027
gl/upload: update the video info on mapping a video frame
...
The buffer should contain the most specific data on how the data is
formatted. We should use this information.
https://bugzilla.gnome.org/show_bug.cgi?id=729896
2014-05-12 22:13:19 +10:00
Matthew Waters
bd3e600710
gl/convert: clobber alpha channel when needed
...
Needed in the conversion from padded RGB formats to formats with an
alpha channel. e.g. BGRx -> ABGR, etc
https://bugzilla.gnome.org/show_bug.cgi?id=729742
2014-05-12 22:10:19 +10:00
Matthew Waters
a4f0fbe4c3
gl/upload: avoid performing color conversion when there is no need
...
One such example is when the buffer contains GstGLMemory in the
RGBA format
https://bugzilla.gnome.org/show_bug.cgi?id=729278
2014-05-12 22:09:32 +10:00
Matthew Waters
91717ca5c2
gl/colorconvert: choose the right alpha component for AYUV -> RGBA
2014-05-11 14:04:22 +10:00
Matthew Waters
0c92f185c4
gl/upload: update the respective state when we cache textures/data
2014-05-11 10:45:34 +10:00
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
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
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
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
ee95595af0
gl/display: avoid endless recursion for cocoa
2014-05-07 19:07:23 +10: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
Julien Isorce
2115f11f0b
gl: no need to initialize a frame buffer object to upload an eglimage
...
Fix https://bugzilla.gnome.org/show_bug.cgi?id=729588
2014-05-06 15:39:12 +01:00
Julien Isorce
65381ee664
gl: use GST_CAT_ERROR instead of GST_ERROR_OBJECT
...
It fixes segault when GST_DEBUG is at least level 1 and eglCreateImage fails
2014-05-06 15:39:12 +01:00
Julien Isorce
dd8929a272
gl: delete texture used with GstVideoGLTextureUploadMeta
2014-05-06 15:39:12 +01:00
Julien Isorce
73a3c173c7
gl: use gst_gl_context_gen_shader helper instead of duplicating code
2014-05-06 15:35:00 +01:00
Matthew Waters
f19e5abcb8
gl/display: clean up pre gstglcontext api and struct fields
...
https://bugzilla.gnome.org/show_bug.cgi?id=729551
2014-05-06 21:08:30 +10:00
Matthew Waters
c28dd9b0d3
gl/display: add get_handle_type
...
https://bugzilla.gnome.org/show_bug.cgi?id=729551
2014-05-06 21:08:30 +10:00
Matthew Waters
1eeecae29e
gl/display: avoid opening the X11 display on systems with Cocoa (OS X)
...
https://bugzilla.gnome.org/show_bug.cgi?id=729551
2014-05-06 21:08:30 +10:00
Matthew Waters
8743301af9
gl/window: fix string length check for eagl
2014-05-06 21:08:30 +10:00
Matthew Waters
b694b292b9
gl/display: check the correct env variable for choosing an egl display
...
GST_GL_WINDOW is used for window system specific choices.
An EGLDisplay can be created from window systems with egl support by using
eglGetDisplay().
https://bugzilla.gnome.org/show_bug.cgi?id=729551
2014-05-06 21:07:38 +10:00
Edward Hervey
48f770a2df
gl/cocoa: Use OBJCFLAGS where needed
...
Should fix usage of c-compiler-only flags with an objective-c compiler
2014-05-06 12:57:36 +02:00
Sebastian Dröge
706a88ccb3
uridownloader: Add parameter to disallow caching as required by HLS
2014-05-05 09:41:51 +02:00
Sebastian Dröge
aa875604c9
uridownloader: Add refresh parameter to hint caches that they should check if they're up to date
2014-05-02 10:36:21 +02:00
Matthew Waters
dfc6745143
gl: use the bufferpool's upload when available
...
Avoids duplicating GL resources
https://bugzilla.gnome.org/show_bug.cgi?id=728872
2014-05-02 15:59:28 +10:00