Julien Isorce [Thu, 3 Jul 2014 08:00:32 +0000 (09:00 +0100)]
glcocoa: initalize NSApp asap when using gst-launch
See https://bugzilla.gnome.org/show_bug.cgi?id=732661
Alessandro Decina [Wed, 2 Jul 2014 10:54:45 +0000 (12:54 +0200)]
applemedia: enable vtdec and vtenc only on >= 10.8 where VideoToolbox is public
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=723670
Thiago Santos [Wed, 2 Jul 2014 07:54:29 +0000 (04:54 -0300)]
vtdec: avoid segfault when output isn't configured
This can help when the callback is called during/after videodecoder
base class shut down
https://bugzilla.gnome.org/show_bug.cgi?id=728435
Thiago Santos [Wed, 2 Jul 2014 03:27:12 +0000 (00:27 -0300)]
vtdec: ignore the dropped flag if buffer was received
Apparently there is some issue with VT that makes it mark the dropped
flag even though the buffer was decoded.
https://bugzilla.gnome.org/show_bug.cgi?id=728435
Sebastian Dröge [Wed, 2 Jul 2014 08:31:49 +0000 (10:31 +0200)]
d3dvideosink: Don't leak all surfaces
This was broken when disabling the buffer pool exporting.
Also disable buffer pool a bit more efficient...
Sebastian Dröge [Wed, 2 Jul 2014 08:01:34 +0000 (10:01 +0200)]
d3dvideosink: PostMessage() takes integers as last parameters, not pointers
Sebastian Dröge [Wed, 2 Jul 2014 07:59:02 +0000 (09:59 +0200)]
d3dvideosink: Remove unused variable
Matthew Waters [Wed, 2 Jul 2014 07:38:13 +0000 (17:38 +1000)]
gl/examples: gitignore generated files
Wang Xin-yu (王昕宇) [Tue, 1 Jul 2014 00:36:53 +0000 (08:36 +0800)]
gl : fix qglwtextureshare demo
Göran Jönsson [Mon, 23 Jun 2014 09:53:11 +0000 (11:53 +0200)]
watchdog: Only create a new GSource if we have a main context
We can still get OOB events while stopping the watchdog element, and while
stopping it we destroy the main context.
Also let the GSource own a reference to the element for additional safety.
https://bugzilla.gnome.org/show_bug.cgi?id=732554
Vincent Penquerc'h [Tue, 1 Jul 2014 11:52:39 +0000 (12:52 +0100)]
videoaggregator: reset QoS on segment event
https://bugzilla.gnome.org/show_bug.cgi?id=732540
Gwenole Beauchesne [Tue, 1 Jul 2014 14:54:00 +0000 (16:54 +0200)]
tests: h264parser: add test to identify EOSEQ / EOS NALs.
Check that end_of_seq() [EOSEQ] and end_of_stream [EOS] NAL units
are correctly parsed and the reported NAL unit size yields 1 byte,
i.e. the only NalHeaderBytes in there.
https://bugzilla.gnome.org/show_bug.cgi?id=732553
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Gwenole Beauchesne [Wed, 25 Jun 2014 15:19:00 +0000 (17:19 +0200)]
tests: h264parse: add test for byte-stream/au output.
Check that conversion to byte-stream/au formats work and that we
can effectively drop broken/invalid NAL units from the resulting
access unit buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=732203
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Gwenole Beauchesne [Wed, 25 Jun 2014 16:47:55 +0000 (18:47 +0200)]
tests: h264parse: check SEI buffering_period() message is output.
If an SEI NAL unit with a buffering_period() message is inserted
between an SPS and PPS NAL unit, check that the output buffer still
contain it. i.e. make sure that this SEI message is not dropped.
https://bugzilla.gnome.org/show_bug.cgi?id=732156
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Gwenole Beauchesne [Thu, 26 Jun 2014 07:44:26 +0000 (09:44 +0200)]
h264parse: fix collection of access units to preserve config headers.
Always use a GstAdapter when collecting access units (alignment="au")
in either byte-stream or avcC format. This is required to properly
preserve config headers like SPS and PPS when invalid or broken NAL
units are subsequently parsed.
More precisely, this fixes scenario like:
<SPS> <PPS> <invalid-NAL> <slice>
where we used to reset the output frame buffer when an invalid or
broken NAL is parsed, i.e. SPS and PPS NAL units were lost, thus
preventing the next slice unit to be decoded, should this also
represent any valid data.
https://bugzilla.gnome.org/show_bug.cgi?id=732203
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Gwenole Beauchesne [Wed, 25 Jun 2014 11:14:10 +0000 (13:14 +0200)]
h264parse: improve conditions for skipping NAL units.
Carefully track cases when skipping broken or invalid NAL units is
necessary. In particular, always allow NAL units to be processed
and let that gst_h264_parse_process_nal() function decide on whether
the current NAL needs to be dropped or not.
This fixes parsing of streams with SEI NAL buffering_period() message
inserted between SPS and PPS, or SPS-Ext NAL following a traditional
SPS NAL unit, among other cases too.
Practical examples from the H.264 AVC conformance suite include
alphaconformanceG, CVSE2_Sony_B, CVSE3_Sony_H, CVSEFDFT3_Sony_E
when parsing in stream-format=byte-stream,alignment=au mode.
https://bugzilla.gnome.org/show_bug.cgi?id=732203
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Gwenole Beauchesne [Wed, 25 Jun 2014 09:06:41 +0000 (11:06 +0200)]
h264parse: introduce new state tracking variables.
Improve parser state tracking by introducing new flags reflecting
it: "got-sps", "got-pps" and "got-slice". This is an addition for
robustness purposes.
Older have_sps and have_pps variables are kept because they have
a different meaning. i.e. they are used for deciding on when to
submit updated caps or not, and rather mean "have new SPS/PPS to
be submitted?"
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Gwenole Beauchesne [Tue, 24 Jun 2014 11:55:13 +0000 (13:55 +0200)]
h264parse: fix and optimize NAL collection function.
Use gst_h264_parser_identify_nalu_unchecked() to identify the next
NAL unit. We don't want to parse the full NAL unit, but only the
header bytes and possibly the first RBSP byte for identifying the
first_mb_in_slice syntax element.
Also fix check for failure when returning from that function. The
only success condition for that is GST_H264_PARSER_OK, so use it.
https://bugzilla.gnome.org/show_bug.cgi?id=732154
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Gwenole Beauchesne [Tue, 1 Jul 2014 14:09:28 +0000 (16:09 +0200)]
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.
Gwenole Beauchesne [Tue, 1 Jul 2014 13:46:17 +0000 (15:46 +0200)]
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>
Jan Alexander Steffens (heftig) [Fri, 27 Jun 2014 10:24:49 +0000 (12:24 +0200)]
rtmpsrc: Report limited bandwidth
Makes uridecodebin treat this source as a stream source,
allowing timeshifting.
https://bugzilla.gnome.org/show_bug.cgi?id=732335
Edward Hervey [Tue, 1 Jul 2014 08:03:05 +0000 (10:03 +0200)]
mpegts: Expose GstMpegtsDescriptor free function
Nothing earth shattering, but avoids people having to use g_boxed_free()
Sebastian Dröge [Mon, 30 Jun 2014 17:15:01 +0000 (19:15 +0200)]
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
Thiago Santos [Mon, 30 Jun 2014 14:54:41 +0000 (11:54 -0300)]
faceblur: release the haar cascade
Thibault Saunier [Mon, 30 Jun 2014 10:22:07 +0000 (12:22 +0200)]
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
Matthieu Bouron [Mon, 16 Jun 2014 10:35:13 +0000 (12:35 +0200)]
vtenc: fix memory leak
The pixel buffer release callback is called if the void *
dataPtr given to the CVPixelBufferCreateWithPlanarBytes
is not NULL.
According to the documentation dataPtr is supposed to be a
"plane description block" but no specific type is given.
https://bugzilla.gnome.org/show_bug.cgi?id=711847
Sebastian Dröge [Sun, 29 Jun 2014 22:22:22 +0000 (00:22 +0200)]
segmentation: Release memory storage in finalize
Sebastian Dröge [Sun, 29 Jun 2014 22:18:20 +0000 (00:18 +0200)]
textoverlay: Release memory storage and resize image when caps change
Sebastian Dröge [Sun, 29 Jun 2014 22:15:38 +0000 (00:15 +0200)]
templatematch: Release cvImages when reloading templates are changing caps
Sebastian Dröge [Sun, 29 Jun 2014 22:12:26 +0000 (00:12 +0200)]
pyramidsegment: Release image when changing caps or reusing the element
Sebastian Dröge [Sun, 29 Jun 2014 22:09:28 +0000 (00:09 +0200)]
handdetect: Release memory storage
Sebastian Dröge [Sun, 29 Jun 2014 22:07:22 +0000 (00:07 +0200)]
faceblur: Release memory storage
And also release cvImages and memory storage when changing caps or reusing the
element.
Sebastian Dröge [Sun, 29 Jun 2014 22:05:53 +0000 (00:05 +0200)]
edgedetect: Don't leak cvImages when caps are changing or the element is reused
Sebastian Dröge [Sun, 29 Jun 2014 21:42:52 +0000 (23:42 +0200)]
pyramidsegment: Release memory storage when finalizing
Sebastian Dröge [Sun, 29 Jun 2014 21:33:20 +0000 (23:33 +0200)]
schroenc: Remove obsolete FIXME comment
Sebastian Dröge [Sun, 29 Jun 2014 21:31:50 +0000 (23:31 +0200)]
schroenc: Don't leak all input buffers
Sebastian Dröge [Sun, 29 Jun 2014 21:22:13 +0000 (23:22 +0200)]
h264parse: Fix memory leak in unit test
Sebastian Dröge [Sun, 29 Jun 2014 20:30:56 +0000 (22:30 +0200)]
textoverlay: Free text buffer in finalize
Sebastian Dröge [Sun, 29 Jun 2014 20:26:47 +0000 (22:26 +0200)]
glimagesink: Chain up to the parent class' finalize function
Sebastian Dröge [Sun, 29 Jun 2014 20:25:43 +0000 (22:25 +0200)]
glimagesink: Make sure to always unref the display
Even if we didn't create a context yet.
Sebastian Dröge [Sun, 29 Jun 2014 20:20:51 +0000 (22:20 +0200)]
intersubsrc: basesrc is already creating a pad for us, no need to do it twice
Sebastian Dröge [Sun, 29 Jun 2014 20:18:41 +0000 (22:18 +0200)]
yadif: basetransform is creating pads for us already, don't do it twice
Sebastian Dröge [Sun, 29 Jun 2014 19:57:32 +0000 (21:57 +0200)]
glupload: Fix memory leak in unit test
Sebastian Dröge [Sun, 29 Jun 2014 19:53:21 +0000 (21:53 +0200)]
glcontext: Fix memory leaks in unit test
Sebastian Dröge [Sun, 29 Jun 2014 19:34:50 +0000 (21:34 +0200)]
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
Sebastian Dröge [Sun, 29 Jun 2014 19:05:27 +0000 (21:05 +0200)]
assrender: Make static caps actually static
Otherwise we leak once caps instance on every function call.
Sebastian Dröge [Sun, 29 Jun 2014 19:01:39 +0000 (21:01 +0200)]
uvch264src: Free property strings when disposing the instance
Sebastian Dröge [Sun, 29 Jun 2014 18:58:40 +0000 (20:58 +0200)]
intersubsink/src: Free channel string when finalizing the instance
Sebastian Dröge [Sun, 29 Jun 2014 18:13:10 +0000 (20:13 +0200)]
uvch264src: Fix compiler warning when compiling with G_DISABLE_ASSERT
Sebastian Dröge [Sun, 29 Jun 2014 18:11:58 +0000 (20:11 +0200)]
vc1parse: Fix compiler warnings when compiling with G_DISABLE_ASSERT
Sebastian Dröge [Sat, 28 Jun 2014 21:26:23 +0000 (23:26 +0200)]
kate: Use G_GSIZE_FORMAT instead of unportable %zu
Sebastian Dröge [Sat, 28 Jun 2014 15:02:24 +0000 (17:02 +0200)]
badvideo: Update dist generated ORC files
Sebastian Dröge [Sat, 28 Jun 2014 15:01:52 +0000 (17:01 +0200)]
badvideo: Rename videoconvert functions to prevent conflicts with static linking
https://bugzilla.gnome.org/show_bug.cgi?id=728443
Thiago Santos [Sat, 28 Jun 2014 14:20:43 +0000 (11:20 -0300)]
tests: aggregator: fix various leaks in the tests
Thiago Santos [Sat, 28 Jun 2014 12:43:48 +0000 (09:43 -0300)]
compositor: tests: Fix pad leak
Remember to unref requested pad
Thiago Santos [Sat, 28 Jun 2014 12:35:21 +0000 (09:35 -0300)]
dataurisrc: fix leak as gst_buffer_replace adds its own ref
So unref the buffer after that otherwise it leaks
Thiago Santos [Sat, 28 Jun 2014 12:34:05 +0000 (09:34 -0300)]
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.
Thiago Santos [Sat, 28 Jun 2014 12:32:32 +0000 (09:32 -0300)]
aggregator: always unref the buffer on _finish function
Otherwise the user doesn't know if it was unref'd or not
Thiago Santos [Sat, 28 Jun 2014 12:31:55 +0000 (09:31 -0300)]
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
Sebastian Dröge [Sat, 28 Jun 2014 09:30:39 +0000 (11:30 +0200)]
Release 1.3.90
Sebastian Dröge [Sat, 28 Jun 2014 09:27:15 +0000 (11:27 +0200)]
Update .po files
Sebastian Dröge [Sat, 28 Jun 2014 08:43:43 +0000 (10:43 +0200)]
interaudiosrc: Fail in set_caps() if the caps can't be parsed
Thiago Santos [Fri, 27 Jun 2014 20:35:32 +0000 (17:35 -0300)]
tests: camerabin: fix caps leak in test
The gst_query_set_caps_result doesn't take ownership of caps
Thiago Santos [Fri, 27 Jun 2014 20:27:25 +0000 (17:27 -0300)]
audiovisualizer: fix caps leaks
Fix leak of caps event and of caps objects when setting caps on
sink and src pads
Thiago Santos [Fri, 27 Jun 2014 20:00:03 +0000 (17:00 -0300)]
kate: unref events when freeing events list
Instead of just feeing the queue structs
Thiago Santos [Fri, 27 Jun 2014 19:58:47 +0000 (16:58 -0300)]
kateenc: fix segment event leak
gst_event_replace increments the refcount
Thiago Santos [Fri, 27 Jun 2014 15:50:02 +0000 (12:50 -0300)]
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.
Gwenole Beauchesne [Fri, 27 Jun 2014 08:53:20 +0000 (10:53 +0200)]
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>
Gwenole Beauchesne [Thu, 26 Jun 2014 15:18:47 +0000 (17:18 +0200)]
codecparsers: h264: fix typo in GstH264VUIParams description.
Aurélien Zanelli [Fri, 31 Jan 2014 16:07:42 +0000 (17:07 +0100)]
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
Gwenole Beauchesne [Tue, 25 Mar 2014 11:01:55 +0000 (12:01 +0100)]
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>
Matthew Waters [Thu, 26 Jun 2014 14:09:08 +0000 (00:09 +1000)]
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.
Gwenole Beauchesne [Thu, 26 Jun 2014 13:59:35 +0000 (15:59 +0200)]
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>
Matthew Waters [Thu, 26 Jun 2014 01:25:37 +0000 (11:25 +1000)]
glcolorconvert: free pixel swizzling information
Matthew Waters [Thu, 26 Jun 2014 01:15:56 +0000 (11:15 +1000)]
glmixer: remove redundant/unused lock
Use the GstObject lock instead
Matthew Waters [Thu, 26 Jun 2014 01:12:49 +0000 (11:12 +1000)]
glmixer: remove redundant creation and free of GPtrArrays
Also plugs a memory leak
Matthew Waters [Thu, 26 Jun 2014 00:54:38 +0000 (10:54 +1000)]
glmixer: plug a memory leak for the caps
gst_query_set_caps_result() takes a ref on the caps
Matthew Waters [Thu, 26 Jun 2014 00:53:16 +0000 (10:53 +1000)]
aggregator: plug a memory leak of the srccaps
Matthew Waters [Thu, 26 Jun 2014 00:31:02 +0000 (10:31 +1000)]
glmixer: intersect with the filtercaps if available
Matthew Waters [Thu, 26 Jun 2014 00:30:41 +0000 (10:30 +1000)]
gl: update gles2 compatability header
Edward Hervey [Wed, 25 Jun 2014 12:50:05 +0000 (14:50 +0200)]
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)
Edward Hervey [Wed, 25 Jun 2014 12:13:55 +0000 (14:13 +0200)]
mpegtssection: Free data in error cases
Data is marked as "transfer full", if we have an error we need to
free it.
Matthew Waters [Wed, 25 Jun 2014 12:05:37 +0000 (22:05 +1000)]
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.
Matthew Waters [Wed, 25 Jun 2014 11:50:40 +0000 (21:50 +1000)]
glfilter: prefer passthrough for non-sysmem caps
Matthew Waters [Wed, 25 Jun 2014 08:23:52 +0000 (18:23 +1000)]
glshader: enable glshader on GLES2
Julien Isorce [Tue, 24 Jun 2014 18:37:17 +0000 (19:37 +0100)]
glcolorscale: do passthrough on same caps
See https://bugzilla.gnome.org/show_bug.cgi?id=732178
Julien Isorce [Tue, 24 Jun 2014 18:35:01 +0000 (19:35 +0100)]
glfilter: handle NULL decide_query which means passthrough
See https://bugzilla.gnome.org/show_bug.cgi?id=732178
Julien Isorce [Tue, 24 Jun 2014 18:23:01 +0000 (19:23 +0100)]
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
Julien Isorce [Sun, 22 Jun 2014 12:14:27 +0000 (13:14 +0100)]
gl: enable glvideomixer on GLES2
Reynaldo H. Verdejo Pinochet [Wed, 25 Jun 2014 02:15:53 +0000 (22:15 -0400)]
dvbsrc: add copyright/license stub to header
Reynaldo H. Verdejo Pinochet [Wed, 25 Jun 2014 00:52:54 +0000 (20:52 -0400)]
dvbsrc: documentation fixes
Matthew Waters [Wed, 25 Jun 2014 02:00:34 +0000 (12:00 +1000)]
glvideomixer: bas output width/height on the pad properties
Allows automatic negotiation of the size in the following case:
gst-launch-1.0 glvideomixer name=m sink_0::xpos=0 sink_1::xpos=320 ! glimagesink \
videotestsrc ! m. \
videotestsrc pattern=1 ! m.
https://bugzilla.gnome.org/show_bug.cgi?id=731878
Matthew Waters [Wed, 25 Jun 2014 00:18:48 +0000 (10:18 +1000)]
glvideomixer: don't clobber already allocated shader
Sebastian Rasmussen [Tue, 24 Jun 2014 14:32:22 +0000 (16:32 +0200)]
curls?ftpsink: Fix memory leaks due to new error handling
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732174
Edward Hervey [Tue, 24 Jun 2014 14:04:57 +0000 (16:04 +0200)]
mpegts: More doc fixes
Still not done :(
Edward Hervey [Tue, 24 Jun 2014 13:41:36 +0000 (15:41 +0200)]
mpegts: more annotation fixes
Stefan Ringel [Sun, 1 Jun 2014 08:44:23 +0000 (10:44 +0200)]
mpegts: change to GType and from gchar[] to gchar*
https://bugzilla.gnome.org/show_bug.cgi?id=730914
Matthew Waters [Tue, 24 Jun 2014 13:51:24 +0000 (23:51 +1000)]
gl: XInitThreads when env variable is set
This is too allow gst-launch debugging with multiple GL contexts as
well as avoiding segfaulting innocent gtk+ apps that have not called
XInitThreads.
https://bugzilla.gnome.org/show_bug.cgi?id=731525
Matthew Waters [Tue, 24 Jun 2014 13:33:30 +0000 (23:33 +1000)]
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
Edward Hervey [Tue, 24 Jun 2014 12:05:14 +0000 (14:05 +0200)]
mpegts: Fix descriptor_from_dvb_service
Various leaks/overwrites issues