Matthew Waters
34485c9976
gl: get the context from basemixer/basefilter
2015-03-13 12:30:20 +00:00
Matthew Waters
91b7642c48
gl: retreive the gldisplay/app gl context as soon as possible
...
fixes the usage of gst_gl_display_filter_gl_api
2015-03-13 12:30:20 +00:00
Julien Isorce
daef98e3e6
glcolorconvert: cache indices in a buffer object
2015-03-12 18:19:57 +00:00
Matthew Waters
66ccdab09a
gl/cocoa: avoid deadlock when creating context on the main thread.
...
Make window/view creation async so that it is possible to
gst_gl_context_create from the main thread.
2015-03-12 16:45:51 +00:00
Matthew Waters
ef0bd30c87
gl: store the list of contexts within gldisplay
...
Removes the reliance on the allocation query to propogate GL contexts.
Allows thread safely getting a context for the a specific thread.
2015-03-12 16:45:51 +00:00
Matthew Waters
cebdf84c81
glcontext: store the thread current context
2015-03-12 16:45:51 +00:00
Matthew Waters
5a867ddc47
glfilter: don't use the library upload/convert objects
2015-03-12 16:45:50 +00:00
Matthew Waters
0c800027ba
glupload: implement propose_allocation pool handling for glmemory upload
2015-03-12 16:45:50 +00:00
Matthew Waters
ecdc5568c4
gl: add a new glbasefilter class below glfilter
...
It deals with propagating the gl display/contexts throughout the
application/pipeline
2015-03-12 16:45:50 +00:00
Matthew Waters
41e3b32866
glutils: expose running a query on a set of src/sink pads
2015-03-12 16:45:50 +00:00
Matthew Waters
56253d8dce
glfilter: advertise resize in the caps negotiation properly
2015-03-12 10:16:15 +00:00
Matthew Waters
e3723cbde8
glcolorconvert: we don't do resizing of the video frames
...
As we cannot do accurate texel sampling then due to the texture
coordinates being interpolated based on the output frame size.
2015-03-12 09:47:31 +00:00
Nirbheek Chauhan
74a9cd58cd
videoaggregator: While aggregating, sync values for all pads before converting frames
2015-03-12 09:47:50 +00:00
Matthew Waters
49b00e44ed
gl/x11: don't XGetWindowAttributes every XEvent
...
fixes a deadlock in xcb where the X window may not exist.
https://bugzilla.gnome.org/show_bug.cgi?id=745633
2015-03-11 18:56:06 +00:00
Matthew Waters
efe0564f22
gl/window: hopefully fixup compile warnings on android/ios
2015-03-11 14:51:15 +00:00
Jan Schmidt
13ed5ab3c8
glfilter: Remove redundant check for clearing context on reset.
...
The context is already cleared a few lines above.
2015-03-12 01:33:03 +11:00
Jan Schmidt
f150cf2d2e
Remove a bunch of silly ';;' typos at the end of lines
2015-03-12 01:33:03 +11:00
Matthew Waters
bc7a7259f3
gl/window: create the main loop/context on init/finalize
...
Avoids races setting the window handle from the main thread.
https://bugzilla.gnome.org/show_bug.cgi?id=745633
2015-03-11 13:52:15 +00:00
Matthew Waters
ee637bef1e
aggregatory: don't redefine GST_FLOW_CUSTOM_SUCCESS
2015-03-11 13:52:15 +00:00
Mathieu Duponchelle
a8604bc4f8
adaptivedemux: fix get_presentation_offset check.
...
And return 0 isntead of FALSE.
https://bugzilla.gnome.org/show_bug.cgi?id=745455
2015-03-10 15:31:21 +01:00
Mathieu Duponchelle
b4d8c04f08
adaptivedemux: [API]: get_presentation_offset virtual method.
...
Asks the subclass for a potential time offset to apply to each
separate stream, in dash streams can have "presentation time offsets",
which can be different for each stream.
https://bugzilla.gnome.org/show_bug.cgi?id=745455
2015-03-10 15:17:37 +01:00
Nicolas Dufresne
7a3b34de79
glfilter: Don't chain downstream pool
...
Chaining a downstream pool would lead to two owner of the same
pool. In dynamic pipeline, if one owner is removed from the pipeline
the pool will be stopped, and the rest of the pipeline will fail
since the pool will now be flushing. Also fix proposed pool caching,
filter->pool was never set, never unrefed.
https://bugzilla.gnome.org/show_bug.cgi?id=745705
2015-03-06 19:25:16 -05:00
Sebastian Dröge
938d172fc2
gldownload: Simplify caps feature setting code
2015-03-06 18:54:24 +01:00
Sebastian Dröge
b81823e7db
gl: Remove format info in glcolorconvert's transform_caps function instead of on every caller
...
... and let glmixer actually transform the caps it is supposed to transform
instead of inventing new caps.
2015-03-06 18:53:13 +01:00
Sebastian Dröge
50d2d9ac08
Revert "videoaggregator: Create new caps from the video-info"
...
This reverts commit 78215be0df
.
because it broke glvideomixer with custom caps features.
2015-03-06 18:53:13 +01:00
Sebastian Dröge
90967b3d45
glupload: Simplify caps feature setting code
2015-03-06 18:53:13 +01:00
Sebastian Dröge
78215be0df
videoaggregator: Create new caps from the video-info
...
In case the original caps were missing some optional fields like
interlace-mode. We assume default values for those everywhere,
but they can still cause negotiation to fail if a downstream element
expects the field to be there and at a specific value.
2015-03-06 14:36:26 +01:00
Edward Hervey
1172e2875d
gldisplay: Only use debugging if we have valid values
...
The debug category won't have been created/activated if it's not a
valid display
2015-03-05 19:09:49 +01:00
Nicolas Dufresne
34402920d2
glfilter: Get rid of uploader if caps have changed
...
We need to update the uploader format if that caps have changed.
https://bugzilla.gnome.org/show_bug.cgi?id=745549
2015-03-03 14:05:21 -05:00
Edward Hervey
4220fe41be
gl: Fix context leaks
...
Introduced by a12ca13750
2015-03-03 17:36:06 +01:00
Julien Isorce
74c294892d
gl/cocoa: register only one custom nsapp loop
...
Otherwise the pipeline stalls when running
more than one glimagesink with gst-launch.
Also only register the custom nsapp loop
when setting up the nsapp from gstgl.
2015-03-02 07:49:26 +00:00
Julien Isorce
4801db552d
gl/cocoa: instead of class_init use g_once to setup nsapp
2015-03-02 07:44:52 +00:00
Julien Isorce
8a0a71ff03
gl/cocoa: check for deprecated constants prior to OSX 10.10
2015-03-02 07:44:25 +00:00
Nicolas Dufresne
283aca3b51
glbufferpool: Fix offset for odd height
...
We also need to recalculate the offset, since otherwise the frame
mapping will be forward two lines in the U and V planes (I420) due
to gst_video_info_align() round up the Y plane to a even number of
lines.
https://bugzilla.gnome.org/show_bug.cgi?id=745054
2015-03-01 09:43:32 -05:00
Nicolas Dufresne
04377cfc5e
glmemory: Support offset when downloading
...
Make sure we support offset and video alignment when downloading too.
This is currently not used (plane_start is always 0), but it makes
the code correct if we want to use that later.
2015-02-28 15:01:59 -05:00
Nicolas Dufresne
8c0fcef818
glmemory: Provide correct size on upload
...
Provide the right size to GL when uploading. Using maxsize is wrong
since we offset the data point with the memory offset and video
alignement offset.
https://bugzilla.gnome.org/show_bug.cgi?id=744246
2015-02-28 14:32:40 -05:00
Nicolas Dufresne
e9bec9ec0e
glmemory: Provide correct size on download
...
Provide the right size to GL when downloading. This fixes downloading
from GLMemory that where created for libav.
https://bugzilla.gnome.org/show_bug.cgi?id=744246
2015-02-28 14:32:40 -05:00
Nicolas Dufresne
4db0ef5789
glmemory: Use fallback for partial copy
...
When the memory is partial copy, the texture size and videoinfo no
longer make sense. As we cannot guess what the application wants, we
safely copy into a sysmem memory.
https://bugzilla.gnome.org/show_bug.cgi?id=744246
2015-02-28 14:32:40 -05:00
Nicolas Dufresne
b8f168cd65
glmemory: Add GstAllocationParams and alignment support
...
This implements support for GstAllocationParams and memory alignments.
The parameters where simply ignored which could lead to crash on
certain platform when used with libav and no luck.
https://bugzilla.gnome.org/show_bug.cgi?id=744246
2015-02-28 14:32:39 -05:00
Matthew Waters
03b5288f64
glupload: perform egl upload on the gl thread
...
Fixes EGLImage usage on raspberry pi
https://bugzilla.gnome.org/show_bug.cgi?id=743914
2015-02-28 18:29:52 +11:00
Arun Raghavan
2e5d6c3a3e
aggregator: Use standard upstream latency querying logic
...
The same functionality is duplicated in the default latency querying
now.
2015-02-27 01:05:51 +05:30
Víctor Manuel Jáquez Leal
75e875b022
glupload: Set freed method implementation to NULL
...
When trying to render buffers with meta:GLTextureUpload the glimagesink crashes
with a segmentation fault.
This patch workarounds this crash setting to NULL the method implementation
after free.
https://bugzilla.gnome.org/show_bug.cgi?id=745206
2015-02-26 14:39:32 +02:00
Edward Hervey
a12ca13750
glwindow: Deactivate window before changing handle
...
When setting a new window handle, we need to ensure all implementations
will detect the change.
For that we deactivate the context before setting the window handle, then
reactivate the context
https://bugzilla.gnome.org/show_bug.cgi?id=745090
2015-02-24 17:42:13 +01:00
Edward Hervey
7075b25288
gl/egl: Detect window handle changes
...
When (re)activating the context, the backing window handle might have changed.
If that happened, destroy the previous surface and create a new one
https://bugzilla.gnome.org/show_bug.cgi?id=745090
2015-02-24 17:42:13 +01:00
Luis de Bethencourt
0b1d11b2b6
gl: remove docbook related warnings
2015-02-24 14:30:44 +00:00
Arun Raghavan
70ed4fd438
mpegts: Fix a compiler warning
...
Causes the following warning on clang:
gst-dvb-section.c:567:36: error: format specifies type 'unsigned long' but the argument has type 'int' [-Werror,-Wformat]
descriptors_loop_length, end - 4 - data);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
2015-02-24 19:06:30 +05:30
Matthew Waters
08b1d27e14
glmemory: allow sharing between buffers
...
There was no real reason why the flag was set. We should be able
to handle it. Fixes last-sample handling on gl sinks
2015-02-25 00:00:48 +11:00
Matthew Waters
21e95ef9fd
glsyncmeta: add compat definition for gles2
2015-02-24 20:35:32 +11:00
Matthew Waters
beac141057
gl/calayer: don't use the async callback to render
...
not until we can provide equivalent functionality for other window
implementations.
2015-02-24 19:12:10 +11:00
Matthew Waters
7691d2c4e7
glsyncmeta: also supported with gles3
2015-02-24 19:12:10 +11:00
Alessandro Decina
2a430872ed
libgstgl: eagl: handle CALayer resize
2015-02-24 14:23:49 +11:00
Vasilis Liaskovitis
c55689ad16
glmemory: Fix transfer_pbo memory leak
...
https://bugzilla.gnome.org/show_bug.cgi?id=744977
2015-02-23 18:44:39 +02:00
Julien Isorce
4c4eec61e6
gl/cocoa: reduce custom main loop latency
...
This fix a very slow rendering rate regression that only
happens when using gst-launch, i.e. in the case where
the main thread does not run any NSApp loop.
Git bisect reported it has been introduced by the commit
e10d2417e2
:
"move to CGL and CAOpenGLLayer for rendering".
Then the commit 7d46357627
:
"gstglwindow_cocoa: fix slow render rate" attempted to fix
the slow rendering rate problem when using gst-launch.
At least for me it does not work. I tried several
combinations, for example to flush CA transactions in the
custom app loop, as mentioned in the doc, but the only solution
that fixes the slow rendering is by reducing the loop latency.
From what I tested, no need to put less than 60ms, even if the
framerate has an interval much lower (16.6ms for 60 fps).
2015-02-22 10:37:39 +00:00
Mathieu Duponchelle
3baa710638
gstglmemory: Remove now unused transfer_upload function.
2015-02-21 14:42:05 +01:00
Matthew Waters
c6f548326d
glmemory: disable automatic pbo upload
...
until we can track where the data is/or is going to be.
2015-02-21 23:32:41 +11:00
Matthew Waters
a4040f2ee9
glememory: only store and act on the map flags on first/last map/unmap
...
Anytime else, we have no idea how to match up map and unmaps.
We also don't know exactly how the calling code is using us.
Also fixes the case where we're trying to transfer while someone else
is accessing our data pointer or texture resulting in mismatched video
frames.
https://bugzilla.gnome.org/show_bug.cgi?id=744839
2015-02-20 18:48:15 +11:00
Olivier Crete
880dcd8039
aggregator: Use src_lock to protect latency related members
...
One has to use the src_lock anyway to protect the min/max/live so they
can be notified atomically to the src thread to wake it up on changes,
such as property changes. So no point in having a second lock.
Also, the object lock was being held across a call to
GST_ELEMENT_WARNING, guaranteeing a deadlock.
2015-02-19 21:22:53 -05:00
Olivier Crête
083df6412f
aggregator: Remove untrue comment
2015-02-19 19:05:42 -05:00
Olivier Crête
97f6b7a8aa
aggregator: Don't try to push tags while flush seeking
...
The downstream segment could have been flushed already, so
need to re-send the segment event before re-sending the tags.
https://bugzilla.gnome.org/show_bug.cgi?id=742684
2015-02-19 19:05:27 -05:00
Sebastian Dröge
2516e8111c
aggregator: Use the sinkpads iterator directly to query upstream latencies
...
While gst_aggregator_iterate_sinkpads() makes sure that every pad is only
visited once, even when the iterator has to resync, this is not all we have
to do for querying the latency. When the iterator resyncs we actually have
to query all pads for the latency again and forget our previous results. It
might have happened that a pad was removed, which influenced the result of
the latency query.
2015-02-19 11:04:28 +02:00
Sebastian Dröge
d3205e1363
aggregator: Move gst_aggregator_get_latency_unlocked() a bit
...
It was between another function and its helper function before, which was
confusing when reading the code as it had nothing to do with the other
functions.
2015-02-19 10:57:09 +02:00
Sebastian Dröge
44ffb87f8a
aggregator: Fail the latency query if one of the upstream queries fails
2015-02-19 01:28:06 +02:00
Olivier Crête
c37e82587c
aggregator: Document locking order
...
https://bugzilla.gnome.org/show_bug.cgi?id=742684
2015-02-18 17:20:03 -05:00
Olivier Crête
17df37d8cb
aggregator: Rename confusinly named SRC_STREAM_LOCK macros to SRC_LOCK
...
This will match the name of the lock itself. It is also not a stream
lock as it not recursive and not held while pushing.
https://bugzilla.gnome.org/show_bug.cgi?id=742684
2015-02-18 17:20:03 -05:00
Olivier Crête
3a3f2b5343
aggregator: Rename confusingly named stream lock to flush lock
...
This lock is not what is commonly known as a "stream lock" in GStremer,
it's not recursive and it's taken from the non-serialized FLUSH_START event.
https://bugzilla.gnome.org/show_bug.cgi?id=742684
2015-02-18 17:20:03 -05:00
Olivier Crête
36ef8f0bd4
aggregator: Fix macro indendation
...
Changes no code
https://bugzilla.gnome.org/show_bug.cgi?id=742684
2015-02-18 17:20:03 -05:00
Thiago Santos
f7a1649c77
adaptivedemux: add bitrate-limit property
...
Move the property from subclasses to adaptivedemux, it allows
selecing the percentage of the measured bitrate to be used when
selecting stream bitrates
2015-02-17 11:12:42 -03:00
Thiago Santos
e9ab79dc36
adaptivedemux: add connection-speed property
...
Allows to set a bitrate directly instead of measuring it internally
based on the received chunks. The connection-speed was removed from
mssdemux and hlsdemux as it is now in the base class
2015-02-17 11:12:41 -03:00
Tim-Philipp Müller
34c9c86ab7
basecamerabinsrc: don't use private GMutex implementation details
...
Don't use private GMutex implementation details to check
whether it has been freed already or not. Just clear mutex
and GCond unconditionally in free function, they are always
inited anyway, and the free function can't be called multiple
times either.
2015-02-17 09:56:55 +00:00
Matthew Waters
0fd6872f7d
gl/cocoa: don't deadlock if the dispatch_sync is called from the main thread
...
Provide a helper function to check whether we are being called from
the main thread and act appropriately.
2015-02-17 19:45:35 +11:00
Matthew Waters
96398e5bac
gl/calayer: only start drawing if the parent gl context is ready
...
otherwise we may try to use GstGLFuncs * that hasn't been set yet
2015-02-17 19:45:35 +11:00
Matthew Waters
ccf8b69a67
gl/cocoa: small refactor of layer/view creation into the window
2015-02-17 19:45:35 +11:00
Sebastian Dröge
475dfaedc1
glwindow: Remove assertion in gst_gl_window_show() for subclasses not implementing it
...
On Android and iOS we can't create a window ourselves, so also can't just show
one. That's not a problem and an assertion is not really needed here.
2015-02-17 01:04:38 +02:00
Tim-Philipp Müller
282dbcee0b
aggregator: drop GAP events until we handle them properly
2015-02-13 23:45:20 +00:00
Tim-Philipp Müller
54d288fc19
videoaggregator: use new gst_aggregator_pad_drop_buffer()
2015-02-13 16:25:52 +00:00
Tim-Philipp Müller
3c2ee8ece5
aggregator: use new gst_aggregator_pad_drop_buffer()
2015-02-13 16:25:45 +00:00
Tim-Philipp Müller
592c2c8105
aggregator: add gst_aggregator_pad_drop_buffer()
...
steal_buffer() + unref seems to be a wide-spread idiom
(which perhaps indicates that something is not quite
right with the way aggregator pad works currently).
2015-02-13 16:25:45 +00:00
Tim-Philipp Müller
55abf436a0
aggregator: only post latency message if anything changed
...
Perhaps we should check for element state as well and
only post it if in PLAYING state.
2015-02-13 16:25:14 +00:00
Mathieu Duponchelle
b6f2a962b5
adaptivedemux: Fix logic in fragment_download_finish.
...
This was preventing us from surfacing a meaningful error.
https://bugzilla.gnome.org/show_bug.cgi?id=743703
2015-02-12 23:07:36 +01:00
Mathieu Duponchelle
6b864813cc
adaptivedemux: Set first segment time to segment start.
...
Otherwise as long as a seek wasn't executed, the position was
reported incorrectly:
gst-validate-1.0 playbin \
uri=http://dev-iplatforms.kw.bbc.co.uk/dash/news24-avc3/news24.php
https://bugzilla.gnome.org/show_bug.cgi?id=744362
2015-02-12 22:47:26 +01:00
Edward Hervey
f09272f434
gl: Add/Update more debug statements
...
Where possible, use the _OBJECT variants in order to track better from
which object the debug statement is coming from
Define (and use) GST_CAT_DEFAULT where applicable
Use GST_PTR_FORMAT where applicable
2015-02-12 15:57:55 +01:00
Edward Hervey
929a6a75d2
gl: Make glcontext debug category used in more places
...
As a bonus it makes the egl context debug messages visible now :)
2015-02-12 15:57:55 +01:00
Mathieu Duponchelle
c98348c141
adaptivedemux: track per-fragment bitrates.
...
And use the average to go up in resolution, and the last fragment
bitrate to go down.
This allows the demuxer to react rapidly to bitrate loss, and
be conservative for bitrate improvements.
+ Add a construct only property to define the number of fragments
to consider when calculating the average moving bitrate.
https://bugzilla.gnome.org/show_bug.cgi?id=742979
2015-02-12 00:07:15 +01:00
Sebastian Dröge
037928dcf6
Improve and fix LATENCY query handling
...
This now follows the design docs everywhere, especially the maximum latency
handling.
https://bugzilla.gnome.org/show_bug.cgi?id=744106
2015-02-11 14:16:21 +01:00
Sebastian Dröge
a8033553f9
videoaggregator: When receiving timeout before caps, make sure to also advance our frame counter
...
Otherwise we will directly go EOS on the next non-timeout.
2015-02-10 10:57:38 +01:00
Sebastian Dröge
69a37365f1
aggregator: Pause srcpad task on flow errors
...
Otherwise we will call the task function over and over again until
upstream finally handled the flow return and shuts us down.
2015-02-10 10:57:38 +01:00
Matthew Waters
783245f1fe
videoaggregator: fix buffer selection when duration=-1
...
If the src framerate and videoaggreator's output framerate were
different, then we were taking every single buffer that had duration=-1
as it came in regardless of the buffer's start time. This caused the src
to possibly run at a different speed to the output frames.
https://bugzilla.gnome.org/show_bug.cgi?id=744096
2015-02-10 14:44:21 +11:00
Alessandro Decina
ad08cdf8e1
libgstgl: set user data and GDestroyNotify for wrapped textures
2015-02-09 20:46:51 +11:00
Tim-Philipp Müller
6725ff5598
videoaggregator: don't set element factory details
...
This is an abstract base class, not an element.
2015-02-08 14:32:22 +00:00
Sebastian Dröge
a5002ea59d
aggregator: Streamline latency calculations
...
Min latency can never be invalid, latency property can never be invalid
either. So no need to check for all these things in various places.
2015-02-06 11:03:57 +01:00
Sebastian Dröge
65b1db2aa2
aggregator: If upstream has no max latency but the subclass has, take the subclass max latency
2015-02-06 11:03:56 +01:00
Sebastian Dröge
ea50bc1917
aggregator: Fix min>max latency error check
...
We have to include the upstream latency, our own latency and the subclass
latency in the calculations.
FIXME: This is still not entirely correct
2015-02-06 11:03:56 +01:00
Sebastian Dröge
ef8e5280d0
aggregator: Don't add the latency property to the max latency
...
It has no meaning for the max latency and is only used to increase the min
latency.
2015-02-06 11:03:56 +01:00
Matthew Waters
04db2d8eb6
glproto/vao: only supported in core for ES 3.0+
...
Was causing horizontally flipped video for frame 2 onward on android
2015-02-06 12:54:05 +11:00
Matthew Waters
9ecb530eaa
glfilter: ensure that the input upload/colorconvert are always available
2015-02-05 16:46:32 +11:00
Matthew Waters
5432308012
glupload: restrict EGL and UploadMeta to RGBA
...
other formats are highly untested.
2015-02-05 11:07:19 +11:00
Matthew Waters
8c91da6f75
glcolorconvert: don't intersect with the input caps
...
that limits our formats to whatever is in the input caps
2015-02-05 11:07:19 +11:00
Luis de Bethencourt
2cd9d30340
gl: fix memory leak
...
In gst_gl_filter_fixate_caps () it can goto done without freeing the memory of
the tmp GstStructure. This makes it go out of scope and leak.
CID #1265765
2015-02-04 14:10:13 +00:00
Matthew Waters
c1ad8d776a
gl: remove the egl caps from the src pads
...
we don't actually support producing EGLImage buffers anywhere.
2015-02-03 15:30:08 +11:00
Matthew Waters
e7a10a2d44
glcolorconvert: put GstGLSyncMeta on output buffers
...
allows thread safely using the provided output buffer in a separate
thread
2015-02-03 14:32:55 +11:00
Matthew Waters
73c2ab70fc
glupload: only try the glmemory upload for sysmem/glmemory caps features
...
Allows selecting/testing the upload path with explicit caps features.
2015-02-03 14:32:55 +11:00
Matthew Waters
46ecf99a8a
glmemory: add missing initilisation of tex_target when copying
...
fixes:
glcolorscale ! video/x-raw\(meta:GstVideoGLTextureUploadMeta\) !
glimagesink
2015-02-03 14:32:55 +11:00
Matthew Waters
b947c9805a
glupload: allow NULL buffer for accept vfunc
2015-02-03 14:32:55 +11:00
Matthew Waters
917dcfdfee
glupload: remove unsed convert field in private struct
2015-02-03 14:32:55 +11:00
Matthew Waters
c06715bde6
glupload/download/convert: provide transform_caps functions
...
Allows finer grain decisions about formats and features at each
stage of the pipeline.
Also provide propose_allocation for glupload besed on the supported
methods.
2015-02-03 14:32:55 +11:00
Alessandro Decina
7d46357627
gstglwindow_cocoa: fix slow render rate
...
In gst_gl_window_cocoa_draw we used to just call setNeedsDisplay:YES. That was
creating an implicit CA transaction which was getting committed at the next
runloop iteration. Since we don't know how often the main runloop is running,
and when we run it implicitly (from gst_gl_window_cocoa_nsapp_iteration) we only
do so every 200ms, use an explicit CA transaction instead and commit it
immediately. CA transactions nest and debounce automatically so this will never
result in extra work.
2015-02-03 11:19:35 +11:00
Matthew Waters
ddcc580505
gstglcaopengllayer: use the correct rectangle type for iOS and OS X
2015-02-02 23:43:54 +11:00
Matthew Waters
ed7d7418c2
glcolorconvert: use the correct caps feature for supported caps
...
glcolorconvert currently only supports converting between GLMemory
targets.
2015-02-02 21:07:48 +11:00
Matthew Waters
abb55f2453
glsyncmeta: don't use the gst debug object variants
...
We are not a GObject or any inferable GstMiniObject supported by
the gst debug system. Also fixes a segfault.
2015-02-02 20:51:31 +11:00
Alessandro Decina
b1aae5cb70
Revert "libgstgl: gstglcaopengllayer: set the layer as opaque"
...
This reverts commit 6f152d381c
.
The layer shouldn't be always opaque, it should be made a property.
2015-01-30 12:32:17 +11:00
Alessandro Decina
6f152d381c
libgstgl: gstglcaopengllayer: set the layer as opaque
2015-01-30 12:22:25 +11:00
Sebastian Dröge
c2492b3a6b
glcolorconvert: Add FIXME comment about possibility of non-Apple YCbCr422 rectangular textures
2015-01-29 16:30:34 +01:00
Sebastian Dröge
4b6a968203
glcolorconvert: Only use GL_TEXTURE_RECTANGLE with OpenGL
...
It's not defined for GLES.
2015-01-29 16:26:26 +01:00
Alessandro Decina
3655e8b8bc
libgstgl: run a custom shader to convert YUV to RGB on mac and ios
...
When GL_APPLE_ycbcr_422 is available, run a custom shader to convert
GL_TEXTURE_RECTANGLE textures from YUV to RGB.
See https://www.opengl.org/registry/specs/APPLE/ycbcr_422.txt
2015-01-30 00:34:08 +11:00
Alessandro Decina
5f547c5600
gl: initial support for texture targets other than GL_TEXTURE_2D
...
Make GstGLMemory hold the texture target (tex_target) the texture it represents
(tex_id) is bound to. Modify gst_gl_memory_wrapped_texture and
gst_gl_download_perform_with_data to take the texture target as an argument.
This change is needed to support wrapping textures created outside libgstgl,
which might be bound to a target other than GL_TEXTURE_2D. For example on OSX
textures coming from VideoToolbox have target GL_TEXTURE_RECTANGLE.
With this change we still keep (and sometimes imply) GL_TEXTURE_2D as the
target of textures created with libgstgl.
API: modify GstGLMemory
API: modify gst_gl_memory_wrapped_texture
API: gst_gl_download_perform_with_data
2015-01-30 00:34:08 +11:00
Alessandro Decina
12e8bb4a66
gstglcolorconvert: micro optimization
...
Don't call glClear && glClearColor at each draw since we're going to draw the
whole viewport anyway. Gets rid of a glFlush triggered by glClear on OSX.
2015-01-30 00:34:08 +11:00
Alessandro Decina
c7284a6390
gstglcolorconvert: relax caps features check
...
Require caps to have the GST_CAPS_FEATURE_MEMORY_GL_MEMORY feature but allow
them to have more features.
2015-01-30 00:34:08 +11:00
Matthew Waters
1e6011bcdf
gl/win32: fixup compilation
2015-01-29 23:46:57 +11:00
Matthew Waters
6cf97eb221
glwindow: make showing a window explicit
...
Also fixes the cgl context always displaying a window to render to for
every GstGLContextCocoa created
2015-01-29 22:26:37 +11:00
Thibault Saunier
71e4c485f0
aggregator: Cleanup locking around AggregatorPad flush related fields
...
And document the locking
https://bugzilla.gnome.org/show_bug.cgi?id=742684
2015-01-29 10:24:18 +01:00
Mathieu Duponchelle
b27fb0dbac
aggregator: keep chain functions as dumb as possible.
...
+ A pad chain function has no business checking other pads,
that's what the aggregate thread is for.
https://bugzilla.gnome.org/show_bug.cgi?id=742684
2015-01-29 10:24:18 +01:00
Thibault Saunier
ccf329d527
aggregator: More fixes around locking when accessing protected private fields
...
In some more places we were accessing GstAggregator->segment
and GstAggregator->seqnum without holding the GST_OBJECT_LOCK
https://bugzilla.gnome.org/show_bug.cgi?id=742684
2015-01-29 10:24:18 +01:00
Thibault Saunier
1a07467d5f
aggregator: Make the PAD_LOCK private
...
Instead of using the GST_OBJECT_LOCK we should have
a dedicated mutex for the pad as it is also associated
with the mutex on the EVENT_MUTEX on which we wait
in the _chain function of the pad.
The GstAggregatorPad.segment is still protected with the
GST_OBJECT_LOCK.
Remove the gst_aggregator_pad_peak_unlocked method as it does not make
sense anymore with a private lock.
https://bugzilla.gnome.org/show_bug.cgi?id=742684
2015-01-29 10:24:18 +01:00
Thibault Saunier
d8eef43123
aggregator: Hide GstAggregatorPad buffer and EOS fileds
...
And add a getter for the EOS.
The user should always use the various getters to access
those fields
https://bugzilla.gnome.org/show_bug.cgi?id=742684
2015-01-29 10:24:18 +01:00
Olivier Crête
93d0b51dba
aggregator: Document locking of GstAggregatorPrivate members
...
Most of them are protected by the object lock, specify
which ones use a different lock.
https://bugzilla.gnome.org/show_bug.cgi?id=742684
2015-01-29 10:24:18 +01:00
Olivier Crête
ea76d39738
aggregator: Document how the segment is protected
...
Document that it can only be accessed with the object lock.
https://bugzilla.gnome.org/show_bug.cgi?id=742684
2015-01-29 10:24:18 +01:00
Olivier Crête
9df8ac0a98
aggregator: Protect all latency related members with the object lock
...
The locking was not consistent, now consistently use the object lock.
https://bugzilla.gnome.org/show_bug.cgi?id=742684
2015-01-29 10:24:18 +01:00
Olivier Crête
41d26673d6
aggregator: Document locking for gst_aggregator_get_latency_unlocked()
...
Renamed it to _unlocked() to make it clear.
https://bugzilla.gnome.org/show_bug.cgi?id=742684
2015-01-29 10:24:18 +01:00
Olivier Crête
f7070dcfdc
aggregator: Protect the srcpad caps negotiation with the stream lock
...
Instead of adding another lock, use the srcpad stream lock, which is already
taken anyway to push out the new caps if needed.
https://bugzilla.gnome.org/show_bug.cgi?id=742684
2015-01-29 10:24:18 +01:00
Olivier Crête
4a5882ee08
aggregator: Protect the tags with the object lock
...
The tags related variables were sometimes protected, sometimes not and
sometimes atomic. Put them all under the object lock.
https://bugzilla.gnome.org/show_bug.cgi?id=742684
2015-01-29 10:24:18 +01:00
Olivier Crête
eddd5fd259
aggregator: Consistenly lock the flow_return state
...
Use the object's lock to protect it.
https://bugzilla.gnome.org/show_bug.cgi?id=742684
2015-01-29 10:24:18 +01:00
Olivier Crête
cc605f4560
aggregator: Consistently lock some members
...
Some members sometimes used atomic access, sometimes where not locked at
all. Instead consistently use a mutex to protect them, also document
that.
https://bugzilla.gnome.org/show_bug.cgi?id=742684
2015-01-29 10:24:18 +01:00
Olivier Crête
ee04b09233
videoaggregator: Lock access to members of GstAggregatorPad
...
Take the pad's object lock before accessing members of the
GstAggregatorPad structure.
https://bugzilla.gnome.org/show_bug.cgi?id=742684
2015-01-29 10:24:18 +01:00
Olivier Crête
68ac6438f0
aggregator: Protect exported pad members with the pad's object lock
...
https://bugzilla.gnome.org/show_bug.cgi?id=742684
2015-01-29 10:24:18 +01:00
Olivier Crête
cc3f418516
aggregator: Replace event lock with pad's object lock
...
Reduce the number of locks simplify code, what is protects
is exposed, but the lock was not.
Also means adding an _unlocked version of gst_aggregator_pad_steal_buffer().
https://bugzilla.gnome.org/show_bug.cgi?id=742684
2015-01-29 10:24:18 +01:00
Olivier Crête
0a2dc1185c
aggregator: Protect data with the same mutex as GCond
...
Whenever a GCond is used, the safest paradigm is to protect
the variable which change is signalled by the GCond with the same
mutex that the GCond depends on.
https://bugzilla.gnome.org/show_bug.cgi?id=742684
2015-01-29 10:24:17 +01:00
Nirbheek Chauhan
878b53f8fc
videoaggregator: If getting a timeout before having caps, just advance our position
...
This can happen if this is a live pipeline and no source produced any buffer
and sent no caps until an output buffer should've been produced according to the
latency.
This fix is similar in spirit to commit be7034d1
by Sebastian for audiomixer.
2015-01-29 09:47:32 +01:00
Matthew Waters
6d9dc9c81c
gl/calayer: add resize callback based on the bounds rectangle
2015-01-29 18:32:04 +11:00
Matthew Waters
2ab0e1517f
gl/caopengllayer: draw asynchronously
...
This essentially makes the CAOpenGLLayer draw every refresh cycle.
2015-01-29 18:32:04 +11:00
Matthew Waters
f3273cafc4
gl/cocoa: don't segfault if we have a NULL draw/resize/close callback
2015-01-29 18:32:04 +11:00
Matthew Waters
8d5ba8d96a
cgl/calayer: use a callback instead of hardcoding the draw functionality
2015-01-29 18:32:04 +11:00
Matthew Waters
693cdb47cd
cgl: install the gl context and gl layer headers
2015-01-29 18:32:04 +11:00
Matthew Waters
9caf706185
cgl: add a header for the CAOpenGLLayer support
2015-01-29 18:32:04 +11:00
Philippe Normand
cfc0230e04
gl/dispmanx: fix build
...
Commit ab48bb6f0f
changed the API of
GstGLWindow.
2015-01-27 21:31:21 +11:00
Matthew Waters
08dbd8bbd7
glmemory: more compatibility defines for gles2 systems
2015-01-27 14:52:47 +11:00
Matthew Waters
eea03967e4
glmemory: add some thread safety for gl operations
2015-01-27 12:26:05 +11:00
Matthew Waters
9a55a3f98c
glmemory: use pbo's for download
...
In order to use pbo's efficiently, the transfer operation has to
be separated from the use of the downloaded data which requires some
rearchitecturing around glcolorconvert/gldownload and elements
2015-01-27 12:26:04 +11:00
Matthew Waters
f2667ebc7b
glprototypes: add some (un)map buffer variants for GL/GLES
2015-01-27 12:26:04 +11:00
Tim-Philipp Müller
21168dd199
videoaggregator: fix crash when receiving buffer without timestamps
...
Unset out buffer in clip function when we unref the buffer to be
clipped, otherwise aggregator will continue to use the already-
freed buffer. Fixes crash when buffers without timestamps are
being fed to aggregator. Partly because aggregator ignores the
error flow return.
https://bugzilla.gnome.org/show_bug.cgi?id=743334
2015-01-26 09:24:40 +00:00
Edward Hervey
aebec9bd24
codecparsers: Indent file
...
Someone's been commiting without using gst-indent :)
2015-01-23 12:26:16 +01:00
Edward Hervey
3da1c9c8d5
codecparsers: Add READ_UE_MAX macro
...
READ_UE_ALLOWED was almost exclusively used with min == 0, which doesn't
make much point for unsigned integers.
Add a READ_UE_MAX variant and use that instead. Also replaced two usages
of CHECK_ALLOWED (a,0,something) by CHECK_ALLOWED_MAX (a, something)
2015-01-23 12:24:52 +01:00
Matthew Waters
27e5e0c2df
gl/window/eagl: fix a couple of typos
2015-01-23 16:52:25 +11:00
Matthew Waters
06fdbd44b9
glwindow: cleanup/reorganize functions/members into logical groups
2015-01-23 16:39:44 +11:00
Matthew Waters
ab48bb6f0f
glwindow: remove width/height from _draw()
...
Depending on the platform, it was only ever implemented to 1) set a
default surface size, 2) resize based on the video frame or 3) nothing.
Instead, provide a set_preferred_size () that elements/applications
can use to request a certain size which may be ignored for
videooverlay/other cases.
2015-01-23 16:11:31 +11:00
Matthew Waters
4fc554054c
glcontext/cocoa: avoid destroying a possibly 0 GSource id
2015-01-22 21:43:51 +11:00
Matthew Waters
e10d2417e2
gl/cocoa: move to CGL and CAOpenGLLayer for rendering
...
Removes the use of NSOpenGL* variety and functions. Any Cocoa
specific functions that took/returned a NSOpenGL* object now
take/return the CGL equivalents.
2015-01-22 21:29:52 +11:00
Matthew Waters
fe8fdbdc7c
glcontext/cocoa: add debug category
2015-01-22 21:27:44 +11:00
Sebastian Dröge
80e02cbdf9
Constify some static arrays everywhere
2015-01-21 10:18:50 +01:00
Thiago Santos
9ebbce381a
adaptivedemux: do not skip the first fragment
...
Avoid advancing fragment right after downloading the header. If it
is the header, by default, don't advance to the next fragment.
2015-01-20 14:55:05 -03:00
Thiago Santos
919b93ae35
adaptivedemux: add explicit cast to make clang happy
...
Fixes compilation
2015-01-20 09:23:02 -03:00
Thiago Santos
229a15b393
adaptivedemux: refactor chunk downloading flow
...
Add more power to the chunk_received function (renamed to data_received)
and also to the fragment_finish function.
The data_received function must parse/decrypt the data if necessary and
also push it using the new push_buffer function that is exposed now. The
default implementation gets data from the stream adapter (all available)
and pushes it.
The fragment_finish function must also advance the fragment. The default
implementation only advances the fragment.
This allows the subsegment handling in dashdemux to continuously download
the same file from the server instead of stopping at every subsegment
boundary and starting a new request
2015-01-19 15:30:04 -03:00
Thiago Santos
9336077057
adaptivedemux: fix multi-period playback
...
If we say it is the first segment after a new period it will resync
the segment.start value and all buffers will be late for the new period
we are trying to play. Otherwise we want to keep the segment.start with
the previous value to allow the running time to smoothly increase
2015-01-19 08:36:42 -03:00
Lasse Laursen
174ea7af7b
glapi: fix compilation with latest MSVC
...
https://bugzilla.gnome.org/show_bug.cgi?id=743041
2015-01-17 10:56:20 +11:00
Matthew Waters
989af902fe
glmemory: use the correct size for the pbo
...
It was missing the GstVideoAlignment padding which could cause GL
errors related to overrunning the size of the pbo.
2015-01-17 10:56:20 +11:00
Thiago Santos
3a79bd91c7
adaptivedemux: prevent early EOS when switching at last fragment
...
Check if there is a next fragment before advancing to avoid causing
a bitrate switch (and maybe exposing new pads) only to push EOS.
This causes playback to stop with an error instead of properly
finishing with EOS message.
2015-01-16 17:07:22 -03:00
Thiago Santos
516f1ae0f4
adaptivedemux: add a special return to signal subsegment boundary
...
The subsegment boundary return tells the adaptivedemux that it can
try to switch to another representation as the stream is at a suitable
position for starting from another bitrate.
2015-01-16 15:00:11 -03:00
Thiago Santos
9b260d1ba5
adaptivedemux: Actually use the byte range for the fragment url
...
Otherwise we would always download the full fragment. This would
make handling subsegments in DASH impossible.
2015-01-16 15:00:11 -03:00
Thiago Santos
5c3a87c117
adaptivedemux: allow downloads of headers only
...
In order to get some subsegment information, subclasses might want
to download only the headers to have enough data (the index)
to decide where to start downloading from the subsegment.
2015-01-16 15:00:11 -03:00
Thiago Santos
f7e9a58c58
adaptivedemux: refactor common code to function
...
Reuse the same function when finishing downloading and signaling to
the download loop thread to get the next fragment or abort
2015-01-16 15:00:11 -03:00
Thiago Santos
5823f8b408
adaptivedemux: inform subclass when headers/index are being downloaded
...
This allows the subclasses to know if the chunks that are downloaded are
part of the header or of the index and will parse the parts that are
of their interest.
2015-01-16 15:00:11 -03:00
Vincent Penquerc'h
0b499484b4
uridownloader: a few leak fixes
2015-01-16 11:43:22 +00:00
Vincent Penquerc'h
59bd35aed1
fragment: fix caps and buffer leaks in get_property
2015-01-16 11:43:22 +00:00
Matthew Waters
8fef381417
glmemory: remove spurious gst_video_info_align
...
That will be taken care of by the calling code (typically a bufferpool).
The GstVideoAlignment is purely informational to compute plane data sizes.
2015-01-15 09:50:02 +11:00
Nirbheek Chauhan
4b9924557a
aggregator: Nitpick spacing/punctuation in debug logging
2015-01-14 19:21:31 +01:00
Vincent Penquerc'h
c73a5e0c54
h264parser: fix stack smashing
...
Ensure that we do not trust the bitstream when filling a table
with a fixed max size.
Additionally, the code was not quite matching what the spec says:
- a value of 3 broke from the loop before adding an entry
- an unhandled value did not add an entry
The reference algorithm does these things differently (7.3.3.1
in ITU-T Rec. H.264 (05/2003)).
This plays (apparently correctly) the original repro file, with
no stack smashing.
Based on a patch and bug report by André Draszik <git@andred.net>
2015-01-14 11:39:55 +00:00
Matthew Waters
d5c3693791
gl: split glcolorconvert usage from glupload
...
the separation allows the transfer operation to occur in a separate
thread/time which may increase performance in specific circumstances.
2015-01-14 22:22:13 +11:00
Matthew Waters
4ccf45823e
glmemory: offset the data pointer for upload for GstVideoAlignment
...
otherwise we attempt to read from the padding data
2015-01-14 22:22:13 +11:00
Matthew Waters
d1e923765b
glmemory: use pbo's for upload
2015-01-14 22:22:13 +11:00
Matthew Waters
8c2d5dac72
glupload: relax the GLMemory uploader check for input caps features
...
As there may be a sysmem caps features with GLMemory filled buffers.
e.g.
videotestsrc ! glimagesink
2015-01-14 22:22:13 +11:00
Nicola Murino
442451a30d
glcolorconvert: fix memleak
...
https://bugzilla.gnome.org/show_bug.cgi?id=741943
2015-01-13 15:20:34 +11:00
Nicola Murino
3c6d775766
glupload: fix some memory leaks
...
https://bugzilla.gnome.org/show_bug.cgi?id=741943
2015-01-13 15:19:39 +11:00
Matthew Waters
4c73e20553
glcontext: allow wrapped contexts to be utilised like non-wrapped contexts
...
Fill in the missing pieces like get_proc_address, the gl function vtable
2015-01-13 15:18:41 +11:00
Stefan Sauer
4732962c85
gitignore: ignore more files
2015-01-12 22:52:36 +01:00
Sebastian Dröge
fa5c433e7e
gl/cocoa: Disable hack for NSApp iteration with a special #define
...
The hack causes deadlocks and other interesting problems and it really
can only be fixed properly inside GLib. We will include a patch for
GLib in our builds for now that handles this, and hopefully at some
point GLib will also merge a proper solution.
A proper solution would first require to refactor the polling in
GMainContext to only provide a single fd, e.g. via epoll/kqueue
or a thread like the one added by our patch. Then this single
fd could be retrieved from the GMainContext and directly integrated
into a NSRunLoop.
https://bugzilla.gnome.org/show_bug.cgi?id=741450
https://bugzilla.gnome.org/show_bug.cgi?id=704374
2015-01-10 15:54:30 +01:00
Olivier Crête
9ba9873b1f
aggregator: Remove pointless atomic
...
It is only modified from the streaming thread
2015-01-09 22:08:08 -05:00
Olivier Crête
22ea83e7fa
aggregator: Fix query leak
2015-01-09 22:02:53 -05:00
Sebastian Dröge
713205fbe6
aggregator: Print jitter from clock waiting in the debug logs
2015-01-09 16:43:58 +01:00
Sebastian Dröge
1b2de14000
gl/cocoa: Don't init and clear static GMutex / GCond
...
We would potentially use it from the main loop later in
gst_gl_window_cocoa_init_nsapp() if it timed out before.
2015-01-08 09:36:24 +01:00
Luis de Bethencourt
75cc750efc
glfilter: remove logically dead code
...
Soon after setting two variables to 1, the code checks if their values are
different from each other. This would never be true. Removing this.
CID 1226443
2015-01-07 16:53:41 +00:00
Thiago Santos
c1251ab861
adaptivedemux: only update segment if we have a valid PTS
...
Otherwise we set the position to GST_CLOCK_TIME_NONE and it disrupts
bitrate switching
2015-01-07 09:30:40 -03:00
Thiago Santos
af78e2501c
adaptivedemux: prepare for supporting seeks in live streams
...
Add function to allow subclasses to specify seeking range for
live streams
https://bugzilla.gnome.org/show_bug.cgi?id=725435
2015-01-05 17:58:54 -03:00
Tim-Philipp Müller
fbd4cf9810
aggregator: don't use iterator when setting flush pending on pads
2015-01-04 17:25:45 +00:00
Tim-Philipp Müller
4da01dadcc
aggregator: check if pads are ready more efficiently
...
No need to use an iterator for this which creates a temporary
structure every time and also involves taking and releasing the
object lock many times in the course of iterating. Not to mention
all that GList handling in gst_aggregator_iterate_sinkpads().
2015-01-04 17:07:43 +00:00
Tim-Philipp Müller
3e38003218
aggregator: name vfunc arguments consistently
2015-01-04 12:59:19 +00:00
Tim-Philipp Müller
10d5e878d8
aggregator: add g-i transfer and scope annotations
2015-01-01 15:48:08 +00:00
Tim-Philipp Müller
82f74cd9e0
aggregator: register names of iterate_sinkpads functions with debug system
2015-01-01 14:10:05 +00:00
Tim-Philipp Müller
22d4c7a5c5
aggregator: reduce debug messages for taking/releasing logs to TRACE level
...
Don't spam debug log with this stuff.
2015-01-01 14:04:24 +00:00
Tim-Philipp Müller
6e30a98fd5
aggregator: move property member into private structure
...
Our locking (or lack thereof) while accessing this also
looks generally quite dodgy.
2014-12-31 18:18:03 +00:00
Tim-Philipp Müller
b00ea0cc08
aggregator: remove empty dispose function
2014-12-31 14:50:58 +00:00
Tim-Philipp Müller
ad40a65a01
aggregator: give private functions namespace prefix
...
Especially the GST_DEBUG_FUNCPTR ones.
2014-12-31 12:36:08 +00:00
Tim-Philipp Müller
d0068899bf
aggregator: fix up some docs comments in header
2014-12-31 12:35:06 +00:00
Tim-Philipp Müller
7b282513f3
aggregator: remove now-unused system clock member
2014-12-30 23:44:46 +00:00
Tim-Philipp Müller
c1f6ef5f53
aggregator: make GstAggregatorPadForeachFunc take an GstAggregatorPad
2014-12-30 19:22:01 +00:00
Tim-Philipp Müller
6fc474c30a
videoaggregator: update for aggregator start/stop vfunc change
2014-12-30 17:56:35 +00:00
Tim-Philipp Müller
b4d2deb6d6
aggregator: bring start/stop vfunc semantics in line with other baseclasses
...
Sub-class should not have to chain up to GstAggregator's start/stop
vfuncs, same as in GstBaseSrc, GstBaseSink, GstBaseTransform etc.
2014-12-30 17:55:05 +00:00
Tim-Philipp Müller
45ae4d7f9c
aggregator: remove pointless GST_DEBUG_FUNCPTR
...
Not useful for GObject vfuncs.
2014-12-28 18:26:49 +00:00
Tim-Philipp Müller
773e426616
aggregator: remove duplicate pad parent_class variable
...
G_DEFINE_TYPE already provides one, just need to use it.
2014-12-28 18:25:00 +00:00
Tim-Philipp Müller
813ada29ad
aggregator: add _CAST() variants for cast macros
2014-12-28 18:22:57 +00:00
Tim-Philipp Müller
83de85a2f3
aggregator: make padding larger
...
Esp. the class structures, can't have enough
spare space for virtual functions.
2014-12-28 01:13:33 +00:00
Nirbheek Chauhan
2a6446e519
aggregator: Log to the pad instead of the element
...
More correct way of doing the same thing as before
2014-12-27 11:06:09 +00:00
Sebastian Dröge
ba1b53113a
aggregator: Make sure that the minimum latencies are never GST_CLOCK_TIME_NONE
2014-12-27 09:49:43 +01:00
Sebastian Dröge
6449e3d897
aggregator: Wait for the minimum latency, not the maximum
...
The minimum latency is the latency we have to wait at least
to guarantee that all upstreams have produced data. The maximum
latency has no meaning like that and shouldn't be used for waiting.
2014-12-27 09:45:08 +01:00
Nirbheek Chauhan
46f857b314
aggregator: Clamp the min latency at the max if it's greater
2014-12-27 09:45:08 +01:00
Nirbheek Chauhan
3193094cbc
aggregator: Print the sinkpad name while logging latency queries
...
Very useful while debugging.
2014-12-27 09:45:08 +01:00
Nirbheek Chauhan
f3efb9e7d6
aggregator: Take the stream lock when iterating sink pads
...
When iterating sink pads to collect some data, we should take the stream lock so
we don't get stale data and possibly deadlock because of that. This fixes
a definitive deadlock in _wait_and_check() that manifests with high max
latencies in a live pipeline, and fixes other possible race conditions.
2014-12-27 09:45:08 +01:00
Thiago Santos
c65aeedb6f
adaptivedemux: check if element exists before setting it to null
...
Under certain error conditions it might happen that the element
has been freed already and trying to set it to NULL causes an
assertion
2014-12-23 10:08:57 -03:00
Thiago Santos
3dfab51b92
adaptivedemux: make sure task has stopped before freeing it
...
Otherwise the thread will be running and its memory will get freed.
This leads to memory corruption
2014-12-23 10:08:56 -03:00
Thiago Santos
0bef1974e2
adaptivedemux: fix segment start when exposing new streams
...
Segment start needs only to be updated when starting the streams
or after a seek, doing it during bitrate changes will cause the
running time to go discontinuous (jump back to a previous ts)
and QOS will drop buffers
2014-12-23 10:08:56 -03:00
Thiago Santos
73fb0850c9
adaptivedemux: allow subclass to use new pads group when switching bitrate
...
Fix pad groups switching when bitrate changes to allow HLS to use this feature
2014-12-23 10:08:51 -03:00
Sebastian Dröge
6771db209d
aggregator: Don't leak flush-start events
2014-12-23 11:45:05 +01:00
Sebastian Dröge
e7867a3586
aggregator: Also change the default latency to 0, not just the minimum
2014-12-23 10:24:27 +01:00
Sebastian Dröge
c04bb6983e
aggregator: Fix docs and default value of the latency property
2014-12-23 09:52:20 +01:00
Sebastian Dröge
800f0ac49b
aggregator: Also include the subclass latency in the result of the latency query
2014-12-22 22:19:52 +01:00
Sebastian Dröge
ad9fe1fe7b
videoaggregator: Use the src query implementation of aggregator as the default case
2014-12-22 22:12:02 +01:00
Sebastian Dröge
5dd1dfdadc
aggregator: Post a latency message if the value of the latency property changes
2014-12-22 15:27:25 +01:00
Sebastian Dröge
a27ff89d42
aggregator: Wake up the src thread after handling a latency query
...
Due to changed latencies or changed live-ness we might have to
adjust if we wait on a deadline at all and how long.
2014-12-22 15:03:59 +01:00
Sebastian Dröge
341e5291c3
aggregator: Don't count the number of times we need to wake up but instead check all conditions for waiting again
...
This simplifies the code and also makes sure that we don't forget to check all
conditions for waiting.
Also fix a potential deadlock caused by not checking if we're actually still
running before starting to wait.
2014-12-22 15:00:36 +01:00
Nicolas Dufresne
207308446b
glbufferpool: Always recalculate buffer size
...
Actually we should always recalculate buffer size since our buffer size
even when not-padded is smaller for many sub-sampled formats. This is
because we don't add padding between the planes.
https://bugzilla.gnome.org/show_bug.cgi?id=740900
2014-12-19 12:25:41 -05:00
Nicolas Dufresne
170a49f901
glmemory: No need for padding
...
A memory object cannot be put on stack, so no need for padding.
2014-12-19 12:12:08 -05:00
Nicolas Dufresne
9954de1ccd
gl: Add support for GstVideoAlignment
...
This allow saving a copy with libav video decoders or decoders with
similar padding requirement.
https://bugzilla.gnome.org/show_bug.cgi?id=740900
2014-12-19 12:11:08 -05:00
Nicolas Dufresne
da3ae06cd1
glmemory: Handle upload/download flags from map
...
Problem was that if buffer was mapped READWRITE (state of buffers from
libav right now), mapping it READ/GL will not upload. This is because the
flag is only set when the buffer is unmapped. We can fix this by setting
the flags in map. This result in already mapped buffer that get mapped
to be read in GL will be uploaded. The problem is that if the write
mapper makes modification afterward, the modification will never get
uploaded.
https://bugzilla.gnome.org/show_bug.cgi?id=740900
2014-12-19 11:45:35 -05:00
Nicolas Dufresne
4f3c33af3a
glmemory: Handle custom stride with OPENGL3
...
https://bugzilla.gnome.org/show_bug.cgi?id=740900
2014-12-19 11:45:35 -05:00
Sebastian Dröge
30ce523d59
videoaggregator: Don't try to map NULL buffers
2014-12-18 22:04:38 +01:00
Sebastian Dröge
af46a58cae
videoaggregator: Make sure to always update the pad's videoinfo together with buffers
...
Otherwise the videoinfo and the buffer content can go out of sync.
2014-12-18 22:03:04 +01:00
Sebastian Dröge
06a4e80be9
aggregator: Add function to allow subclasses to set their own latency
...
For audiomixer this is one blocksize, for videoaggregator this should
be the duration of one output frame.
2014-12-17 19:51:32 +01:00
Sebastian Dröge
d4c4af699e
aggregator: Add a timeout parameter to ::aggregate()
...
When this is TRUE, we really have to produce output. This happens
in live mixing mode when we have to output something for the current
time, no matter if we have enough input or not.
2014-12-17 18:41:41 +01:00
Sebastian Dröge
852b08340e
aggregator: Some minor cleanup
2014-12-16 17:33:01 +01:00
Matthew Waters
8bf53a1226
aggregator: make the src pad task drive the pipeline for live pipelines
...
This removes the uses of GAsyncQueue and replaces it with explicit
GMutex, GCond and wakeup count which is used for the non-live case.
For live pipelines, the aggregator waits on the clock until either
data arrives on all sink pads or the expected output buffer time
arrives plus the timeout/latency at which time, the subclass
produces a buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=741146
2014-12-16 16:58:57 +01:00
Matthew Waters
a7e86751bf
videoaggregator: always try to use newer buffers
...
instead of dropping them for being too old. This ensures that
the newest buffer is always used for rendering
2014-12-16 16:49:49 +01:00
Thibault Saunier
aa25d0ab4c
videoaggregator: Hide some more fields from the API
...
+ Add some documentation
2014-12-12 11:49:42 +01:00
Thiago Santos
75b0bac7f8
adaptivedemux: fix seek event handling
...
Properly do seeking and avoid only seeking when the segment was updated.
It would cause seeks after the stream was EOS to fail, for example.
https://bugzilla.gnome.org/show_bug.cgi?id=738920
2014-12-11 21:09:26 -03:00
Wang Xin-yu (王昕宇)
15eab1ed01
glfilter: fix position/texcoord attrib index usage
...
https://bugzilla.gnome.org/show_bug.cgi?id=741231
2014-12-11 19:41:23 +11:00
Matthew Waters
f021549294
gl: fixup vao and vbo usage for legacy GL
2014-12-11 19:41:23 +11:00
Thiago Santos
c8fa688d26
adaptivedemux: check the return from update_manifest correctly
...
It is a GstFlowReturn and not a boolean
2014-12-10 18:23:02 -03:00
Thiago Santos
d30ec9f9f7
adaptivedemux: do not try to unlock not locked mutex
...
A misplaced unlock was causing an assertion for playback with a
set stop time
2014-12-08 08:53:00 -03:00
Thiago Santos
aba9d86d08
gst-libs: build order: uridownloader before adaptivedemux
...
Otherwise make install fails
2014-12-08 08:24:17 -03:00
Thiago Santos
66f40b798d
adaptivedemux: release threads waiting for manifest update on shutdown
...
For live streams, also unblock threads that might be waiting for a manifest
update when stopping the pipeline.
Also add some more debug messages
2014-12-04 01:48:07 -03:00
Thiago Santos
a7712c2983
adaptivedemux: use gst_task_stop instead of gst_task_pause
...
To avoid race conditions with gst_task_stop(); gst_task_join() with
another thread doing gst_task_pause(), the joining thread would be
waiting for the task to stop but it would never happen. So just
use gst_task_stop() everywhere to prevent more mutexes
2014-12-04 01:48:07 -03:00
Thiago Santos
87df15a214
adaptivedemux: fix deadlock when stopping streams
...
Remember to unlock the manifest's lock when leaving the download task.
2014-12-04 01:48:07 -03:00
Philippe Normand
c4ba73e39b
glsyncmeta: add G_END_DECLS
2014-12-04 01:36:38 +11:00
Thiago Santos
92fd73ab5f
adaptivedemux: remove unused error variable
...
CID #1256556
2014-12-03 10:06:09 -03:00
Thiago Santos
d9944506c8
adaptivedemux: remove more get_duration checks
...
Subclasses must implement get_duration function. If they do not know
the duration they can return GST_CLOCK_TIME_NONE
2014-12-03 09:45:58 -03:00
Thiago Santos
9afed503ed
adaptivedemux: all subclasses must implement get_duration
...
CID #1256557
2014-12-03 09:42:39 -03:00
Thiago Santos
e11c311c31
adaptivedemux: make sure to always stop the stream on EOS
...
For On-Demand streams, always stop the tasks for streams that reached
EOS
2014-12-03 09:42:39 -03:00
Julien Isorce
230022fe62
glcontext: try cgl before glx
...
It was already done by commit
f506e80686
but it has been broken by commit
45ec777cea
2014-12-03 08:02:58 +00:00
Edward Hervey
87694c2232
gst-libs: Fix dependency build
...
adaptivedemux depends on uridownloader and video depends on base
2014-12-01 10:32:30 +01:00
Thiago Santos
df66909129
adaptivedemux: reworking live manifest update wait
...
Check if the stream is live before checking if it is EOS as a live
stream might be considered EOS when it just needs to wait for a manifest
update to proceed with the next fragments
2014-11-30 21:56:25 -03:00
Thiago Santos
66202d4c1b
adaptivedemux: fix manifest update locking
...
To avoid unlocking a not locked mutex
2014-11-30 21:56:25 -03:00
Thiago Santos
5f3cce2e58
adaptivedemux: Fix segment for manifests that won't start at 0
...
For live streams, the manifest might start at an advanced position. Avoid
using segment start=0 to have playback start immediately
2014-11-30 21:56:25 -03:00
Thiago Santos
023b284c2d
adaptivedemux: also clear flushing state on pads before restarting
...
During flushing seeks the flushing flow return will propagate up to the
source element and all pads are going to have the flushing flag set.
So before restarting also remove that flag together with the EOS one.
We don't do that when pushing the flush stop event because our event
handler for the proxypad will drop all events.
2014-11-30 21:56:03 -03:00
Thiago Santos
9ec9f3f119
adaptivedemux: add adaptivedemux base class
...
https://bugzilla.gnome.org/show_bug.cgi?id=735848
2014-11-30 21:56:01 -03:00
Matthew Waters
90a2477b9e
glcontext: require GL_ARB_ES2_compatibility for opengl3
...
until we generate gl3 compliant shaders
https://bugzilla.gnome.org/show_bug.cgi?id=740012
2014-11-30 00:44:46 +11:00
Sebastian Dröge
8a8444ebe7
videoaggregator: Failure to map a video frame is not just a warning
2014-11-28 10:22:44 +01:00
Matthew Waters
e653ae9fc2
gl: fixup compat definition for GLuint64 for OS X
2014-11-28 13:04:21 +11:00
Matthew Waters
b0faa2dd77
gl: add compat definition for GLuint64 for android
...
../../../../gst-libs/gst/gl/glprototypes/sync.h:41:23: error: unknown type name 'GLuint64'
GLuint64 timeout))
2014-11-28 11:57:25 +11:00
Danny Song
d6489ee96c
basecamerasrc: fix typo in docs
...
https://bugzilla.gnome.org/show_bug.cgi?id=740815
2014-11-28 00:13:22 +00:00
Matthew Waters
3e92a8ef53
glsync: fix build with desktop gl
2014-11-28 11:11:43 +11:00
Matthew Waters
57898fec2a
gl: fix various build errors without desktop gl
2014-11-28 10:59:46 +11:00
Matthew Waters
f67190d3ca
gldisplay: fix build error
...
gstgldisplay.c:234:541: error: 'return' with no value, in function returning non-void [-Werror]
g_return_if_fail (GST_IS_GL_DISPLAY (display));
2014-11-28 10:03:18 +11:00
Matthew Waters
3c1e77eb31
gldisplay: implement runtime GL api filtering
...
Needed so that the pipeline/application can limit the choice of GL api
to what it supports
2014-11-28 09:14:26 +11:00
Matthew Waters
6bd1150ca8
gl: remove the use of glu
2014-11-28 09:14:26 +11:00
Matthew Waters
f2af65ee2d
gl: add a sync meta for synchronizing across GL contexts
...
A context can create a GLsync object that can be waited on in order
to ensure that GL resources created in one context are able to be
used in another shared context without any chance of reading invalid
data.
This meta would be placed on buffers that are known to cross from
one context to another. The receiving element would then wait
on the sync object to ensure that the data to be used is complete.
2014-11-28 09:14:25 +11:00
Matthew Waters
480d3f97eb
glprototypes: add sync function definitions
2014-11-28 09:14:25 +11:00
Matthew Waters
6d39e04992
glfilter: add a gl3 code path using vao's and vbo's
2014-11-28 09:14:25 +11:00
Matthew Waters
5ff5f8c1ee
glframebuffer: add support for gl3
2014-11-28 09:14:25 +11:00
Matthew Waters
a32f29f2ce
glcolorconvert: add support for gl3
2014-11-28 09:14:25 +11:00
Matthew Waters
fca0bc97a4
glshader add support for gl3
2014-11-28 09:14:25 +11:00
Matthew Waters
2c24b97cf0
glx: ask for a GL3 core context
2014-11-28 09:14:25 +11:00
Sebastian Dröge
1200f2f94b
videoaggregator: Minor cleanup
2014-11-27 21:23:36 +01:00
Sebastian Dröge
fbf7595ca8
videoaggregator: Copy over more fields from the relevant video-info
...
gst_video_info_set_format() will reset the complete video-info, but
we want to keep values like the PAR, colorimetry and chroma site.
Otherwise we risk setting different values on the srcpad caps than
what is actually inside the buffers.
2014-11-27 20:34:25 +01:00
Sebastian Dröge
b301cb1fc9
videoaggregator: Directly use the converters video-info instead of recalculating it
2014-11-27 20:25:29 +01:00
Sebastian Dröge
11740d78b1
videoaggregator: Do source pad negotiation only from the aggregated function
...
Otherwise we might negotiate from the sinkpad streaming threads at
the same time as on the srcpad streaming thread, and then all kinds
of crazy bugs happen that don't make any sense at all.
2014-11-27 19:54:10 +01:00
Thibault Saunier
a61d2e4e07
videoconvert: Hide all conversion related fields
...
And do not delay the setting of the conversion_info
https://bugzilla.gnome.org/show_bug.cgi?id=740768
2014-11-27 19:10:58 +01:00
Thibault Saunier
9d8055186d
videoaggregator: Expose vmethods to set converters and prepare/clean frames
...
This gives more flexibility to the subclasses and permits to remove the
GstVideoAggregatorClass->disable_frame_conversion ugly API.
WARNING: This breaks the API as it removes the disable_frame_conversion
field
API:
+ GstVideoAggregatorClass->find_best_format
+ GstVideoAggregatorPadClass->set_format
+ GstVideoAggregatorPadClass->prepare_frame
+ GstVideoAggregatorPadClass->clean_frame
- GstVideoAggregatorClass->disable_frame_conversion
https://bugzilla.gnome.org/show_bug.cgi?id=740768
2014-11-27 19:10:58 +01:00
Thibault Saunier
c7b7f98df2
videoaggregator: Let a full renegotiation happen after removing the last pad
...
With the current code, we will end up setting the preferred downstream
format as the srcpad format, and it might not be accepted by the next
sinkpad to be added. We should instead let the next sinkpad reconfigure
everything.
2014-11-27 19:10:58 +01:00
Sebastian Dröge
082c12b8e2
glcolorconvert: Unref buffer with the correct function
2014-11-27 18:09:58 +01:00
Sebastian Dröge
b6ba579fa0
glmemory: Handle failure of memory allocation gracefully
2014-11-27 18:09:14 +01:00
Sebastian Dröge
f2dc9b2b8f
glmemory: Use g_try_malloc() in the appropriate places
...
g_malloc() aborts if allocation fails, it's pointless to check against NULL
afterwards. That's why g_try_malloc() exists.
2014-11-27 18:06:26 +01:00
Wang Xin-yu (王昕宇)
15c0d5c21b
glcolorconvert: support RGB16/BGR16 video format download
...
https://bugzilla.gnome.org/show_bug.cgi?id=740801
2014-11-27 10:08:11 +01:00
Matthew Waters
2d97e03c54
gl/wayland: implement resizing the window using the right mouse button
2014-11-27 13:03:21 +11:00
Matthew Waters
1d7c4f4344
glfilter: support fixed dimensions on both sides of the element
...
Fixes:
width=320,height=240 ! glfilter ! width=800,height=600
width=230,height=240 ! glfilter ! width=600
... ! glfilter ! width=800
2014-11-27 01:32:21 +11:00
Sebastian Dröge
3d38dff076
videoaggregator: Also sync pad properties to the controller if conversion is disabled
2014-11-26 13:06:21 +01:00
Julien Isorce
3fb3758e7d
codecparsers: fix some compiler warnings
...
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1
"warning: comparison is always true due to limited
range of data type"
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=740673
2014-11-25 23:05:15 +00:00
Julien Isorce
857456b7ba
mpegts: fix some compiler warnings
...
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1
"warning: comparison is always true due to limited
range of data type"
https://bugzilla.gnome.org/show_bug.cgi?id=740674
2014-11-25 10:23:43 +01:00
Ramprakash Jelari
aea08e86a5
glcontext: Fix unused variable warning by moving declaration where it is actually used
2014-11-24 14:16:58 +01:00
Ramprakash Jelari
f0e418b629
dvbsection: Fix format string compiler warning
2014-11-24 12:51:34 +01:00
Ramprakash Jelari
cbe46c0373
mpegtsdescriptor: Fix format string compiler warning
...
gstmpegtsdescriptor.c:778:16: warning: format specifies type 'unsigned long' but the argument has type 'int' [-Wformat]
2014-11-24 12:32:37 +01:00
Sebastian Dröge
0f753b7099
glupload: Fix valid compiler warning
...
gstglupload.c:442:32: error: if statement has empty body [-Werror,-Wempty-body]
if (upload->texture_ids[i]);
^
2014-11-24 11:32:33 +01:00
Philippe Normand
c08a461fa4
gl: ship the gstglcontext_egl.h header
...
It is required by gsteglimagememory.h.
https://bugzilla.gnome.org/show_bug.cgi?id=740611
2014-11-24 21:24:27 +11:00
Tim-Philipp Müller
1a613c5d4e
gl: shadervariables: make parsing of floats locale-independent
...
Floating point numbers are written differently in different
locales, e.g. in many countries 1/2 = 0,5 instead of 0.5, and
strtod will not be able to parse "0.5" correctly in such a
locale.
2014-11-24 10:02:33 +00:00
Matthew Waters
59085936b8
glshadervariables: also trim \r as well as \n
2014-11-24 02:52:24 +11:00
Matthew Waters
810d38c29f
glupload: rearchitecture for non GLMemory inputs/outputs
...
Allows other memory types to be implemented/returned/used by the caller.
2014-11-23 17:13:36 +11:00
Sebastian Dröge
4ad6984662
aggregator: Unblock events/queries immediately if the pad is flushing
...
https://bugzilla.gnome.org/show_bug.cgi?id=740376
2014-11-19 17:17:44 +01:00
Sebastian Dröge
ce69180862
aggregator: Drop serialized events/queries if the pad is flushing
...
https://bugzilla.gnome.org/show_bug.cgi?id=740376
2014-11-19 17:17:44 +01:00
Sebastian Dröge
a31faecb8b
aggregator: Block serialized events/queries until the pad has consumed all buffers
...
Otherwise the caps of the pad might change while the subclass still works with
a buffer of the old caps, assuming the the current pad caps apply to that
buffer. Which then leads to crashes and other nice effects.
https://bugzilla.gnome.org/show_bug.cgi?id=740376
2014-11-19 17:06:52 +01:00
Sebastian Dröge
6c0d01ce17
videoaggregator: Don't output 0-duration buffers at the segment end
...
https://bugzilla.gnome.org/show_bug.cgi?id=740376
2014-11-19 17:06:52 +01:00
Sebastian Dröge
3e27c5592f
aggregator: Fix typo in debug output
2014-11-19 17:04:45 +01:00
Matthew Waters
f4a10c64c8
videoaggregator: fix up QoS handling for live sources
...
Only attempt adaptive drop when we are not live
https://bugzilla.gnome.org/show_bug.cgi?id=739996
2014-11-17 22:39:07 +11:00
Matthew Waters
051955e5fa
aggregator: add _get_latency() for subclass usage
...
API: gst_aggregator_get_latency
https://bugzilla.gnome.org/show_bug.cgi?id=739996
2014-11-17 22:39:07 +11:00
Vineeth T M
aafc0d509c
glcontext: build errors when GST_GL_HAVE_OPENGL is 0
...
Moving variables within #if GST_GL_HAVE_OPENGL, which are not going to be used otherwise.
and which are needed only when OpenGl is present
https://bugzilla.gnome.org/show_bug.cgi?id=740235
2014-11-17 22:39:07 +11:00
Matthew Waters
4afad4ecd3
glfilter: add read-only context property
2014-11-17 18:50:28 +11:00
Sebastian Dröge
236ffa69be
gl/cocoa: Only use convertRectToBacking on OSX >= 10.7
...
It does not exist before and older versions also don't have
support for HiDPI displays anyway.
https://bugzilla.gnome.org/show_bug.cgi?id=740201
2014-11-16 11:00:57 +01:00
Sebastian Dröge
9492db96d1
gl: Use numeric OSX version instead of the macro
...
The macro is not defined on older OSX versions and evaluates to 0.
https://bugzilla.gnome.org/show_bug.cgi?id=740201
2014-11-16 11:00:57 +01:00
Gwenole Beauchesne
8c76b5897a
codecparsers: h264: fix derivation of MaxPicNum variable.
...
The logic to compute the MaxPicNum variable was reversed. In paricular,
MaxPicNum is double MaxFrameNum only if field_pic_flag is set to 1.
https://bugzilla.gnome.org/show_bug.cgi?id=739291
2014-11-14 09:36:27 +01:00
Sebastian Dröge
402e1a067a
gl/cocoa: Don't override the application delegate
...
Otherwise interesting things will happen in Cocoa applications, like
infinite event loops that block the NSApplication loop forever.
This was only needed for GNUStep and thus can safely be removed now.
2014-11-13 12:01:25 +01:00
Sebastian Dröge
13c8517570
gl/cocoa: Remove GNUStep support
...
Until gcc and GNUStep properly support Objective-C blocks and other
"new" features of Objective-C we can't properly support them without
making the code much more ugly.
https://bugzilla.gnome.org/show_bug.cgi?id=739152
2014-11-13 12:01:19 +01:00
Hyunjun Ko
a2e2507dbe
gl: Correct invalid comment text
2014-11-12 11:29:41 +11:00
Julien Isorce
7d0de0577a
gl: do not raise a critical msg if the backend does not handle window events
...
Fix "assertion 'window_class->handle_events != NULL' failed"
if not using a X11 window.
2014-11-12 00:07:06 +00:00
Matthew Waters
36ade75f4a
gl: remove the width/height fields from the caps to support frame resizing
...
It was previously only occuring with sysmem caps features
https://bugzilla.gnome.org/show_bug.cgi?id=739334
2014-11-11 14:23:55 +11:00
Aurélien Zanelli
6511a7282b
h264parser: fix GstH264ParserResult documentation typo
...
https://bugzilla.gnome.org/show_bug.cgi?id=739906
2014-11-10 23:37:37 +00:00
Sebastian Dröge
da0369c66c
gstglconfig: Put gstglconfig.h into $(libdir)/gstreamer-1.0/include
...
It's architecture dependent and should not be placed into the include
directory as the assumption is that all those headers are architecture
independent.
https://bugzilla.gnome.org/show_bug.cgi?id=739767
2014-11-07 12:00:29 +01:00
Matthew Waters
775ba4ff0b
glutils: only attempt getting the app context when we don't already have a display
...
avoids querying/messaging the world on each frame
2014-11-06 18:47:34 +11:00
Matthew Waters
1800ffb34a
glcontext: fail context creation if glGetString returns NULL
2014-11-06 18:46:48 +11:00
Lubosz Sarnecki
6702811e14
glimagesink: implement gst_video_overlay_handle_events
...
https://bugzilla.gnome.org/show_bug.cgi?id=736035
2014-11-06 16:04:11 +11:00
Olivier Crête
484f0a0cd3
insertbin: Add doc for the ignored user-data in action signals
2014-11-03 20:45:03 -05:00
Julien Isorce
0a207c95dc
gl/cocoa: use NSAutoreleasePool to free resize data
...
Otherwise when resizing the window you will also get messages like:
class NSConcreteMapTable autoreleased with no pool in place - just leaking
class NSConcreteValue autoreleased with no pool in place - just leaking
class NSConcreteValue autoreleased with no pool in place - just leaking
class __NSCFDictionary autoreleased with no pool in place - just leaking
2014-11-03 23:24:33 +00:00
Julien Isorce
4307449449
gl/cocoa: include gl3.h to have GL_CONTEXT_PROFILE_MASK
2014-11-03 23:08:09 +00:00
Julien Isorce
2b487ef62b
gl/cocoa: make sure to turn on frame rectangle changes notifications
...
Default value of property postsFrameChangedNotifications is YES
but it is worth to explicitly enable it.
2014-11-03 23:07:34 +00:00
Julien Isorce
a259391c10
gl/cocoa: fix uncaught exception 'unrecognized selector sent to instance'
...
Need to set the ':' as the reshape method now takes one parameter.
For the story, the GstGLNSView was previously inheriting from
NSOpenGLView which has a reshape function without any parameter.
Now the GstGLNSView inherits from NSView and we re-use the reshape
function manually.
2014-11-03 23:02:17 +00:00
Julien Isorce
11661ceca9
gl/cocoa: fix compiler warning
...
Use the reshape function after being defined. The other way
would have been to declare the reshape function in the header.
gstglwindow_cocoa.m: In function '-[GstGLNSView drawRect:]':
gstglwindow_cocoa.m:555: warning: 'GstGLNSView' may not respond to '-reshape'
gstglwindow_cocoa.m:555: warning: (Messages without a matching method signature
gstglwindow_cocoa.m:555: warning: will be assumed to return 'id' and accept
gstglwindow_cocoa.m:555: warning: '...' as arguments.)
2014-11-03 22:59:41 +00:00
Sebastian Dröge
9f09b6ff0b
videoaggregator: Swap source/destination parameters of gst_video_converter_frame()
2014-11-03 16:13:23 +01:00
Tim-Philipp Müller
ebcee78fab
gl: fix Since marker for gst_gl_window_run_navigation()
2014-11-03 00:17:41 +00:00
Luis de Bethencourt
658f403a26
glshader: Fix memory leak
...
Memory is only freed in the TRUE clause of the if conditional. Free in the else
clause as well.
Also, consolidate g_malloc + sprintf into a g_strdup_printf().
CID #1212171
https://bugzilla.gnome.org/show_bug.cgi?id=739368
2014-11-01 15:42:21 +00:00
Luis de Bethencourt
50f2a803f6
glcolorconvert: fix comments that confuse gtk-doc
...
GTK-Doc uses a special syntax for code documentation. A multiline comment that
starts with an additional '*' marks a documentation block that will be processed
by the GTK-Doc tools. So GTK-Doc is confused if a comment block starts with that
additional '*' but isn't meant to be processed. Removing this additional '*'.
https://bugzilla.gnome.org/show_bug.cgi?id=739444
2014-10-31 11:20:29 +00:00
Matthew Waters
f36d6daf51
gl: sprinkle some Since markers
2014-10-31 21:29:25 +11:00
Luis de Bethencourt
f76d1a2514
mpegts: remove storage of never used values
...
Both _parse_atsc_mgt() and _parse_atsc_vct () change the value of the variable
data just before returning. The new value is never used since data is a pointer
declared at the beginning of the function and going out of scope just after the
new value is stored.
https://bugzilla.gnome.org/show_bug.cgi?id=739404
2014-10-30 23:19:59 +00:00
Luis de Bethencourt
0df9279026
videoaggregator: remove storage of never used values
...
These two values are stored just before the function returns and they go out of
scope.
2014-10-30 14:52:13 +00:00
Matthew Waters
c1f3cc9f1c
gl/examples: update for other-context property removal
2014-10-30 18:58:50 +11:00
Matthew Waters
567185a277
glcontext: add more functionality to wrapped contexts
...
Implements get_current_context() and get_proc_address() for wrapped
contexts.
2014-10-30 18:58:50 +11:00
Matthew Waters
d2cbc7cc16
glshader: advertise the default vertex and fragment shaders on desktop GL
2014-10-30 18:58:49 +11:00
Gwenole Beauchesne
65fc58da4d
codecparsers: h264: recognize SVC NAL units.
...
Identify SVC NAL units and tag them as such. This is necessary for
gst_h264_parser_parse_slice_hdr() to fail gracefully, if the user
did not perform the check himself.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-10-29 15:00:56 +01:00
Gwenole Beauchesne
b50c3e2127
codecparsers: h264: fix number of list0 {,non-}anchor refs.
...
Fix copy-paste error in gst_h264_sps_mvc_copy() where num_anchor_refs_l0
and num_non_anchor_refs_l0 were incorrectly initialized from list1.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-10-29 15:00:56 +01:00
Tim-Philipp Müller
3e62612259
codecparsers: sprinkle some gtk-doc Since: markers for new API
2014-10-29 13:15:51 +00:00
Jan Schmidt
86b948587e
codecparsers: Initialise nalu extension type to NONE
...
Always set a default NALU extension type, and override it
when we find a supported extension, to avoid having it unset/random
for unsupported NALU extensions
2014-10-29 23:23:02 +11:00
Jan Schmidt
cc71119539
h264parser: Fix frame packing SEI parsing
2014-10-29 23:21:47 +11:00
Sreerenj Balachandran
3776e78ae6
codecparsers: h264: add support for Frame Packing Arrangement SEI message.
...
This parses the frame_packing_arragement() payload in SEI message.
This information can be used by decoders to appropriately rearrange the
samples which belong to Stereoscopic and Multiview High profiles.
https://bugzilla.gnome.org/show_bug.cgi?id=685215
Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-10-29 23:09:41 +11:00
Sreerenj Balachandran
51f003e469
codecparsers: h264: add support for Stereo Video Information SEI message.
...
Add the necessary payload parsing support for stereo_video_info.
https://bugzilla.gnome.org/show_bug.cgi?id=685215
Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2014-10-29 23:09:41 +11:00
Gwenole Beauchesne
8911a80662
codecparsers: h264: parse seq_parameter_set_mvc_extension().
...
https://bugzilla.gnome.org/show_bug.cgi?id=685215
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-10-29 23:09:41 +11:00
Gwenole Beauchesne
c1deab84e6
codecparsers: h264: parse MVC syntax elements.
...
https://bugzilla.gnome.org/show_bug.cgi?id=685215
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-10-29 23:09:41 +11:00
Luis de Bethencourt
916b954315
codecparsers: remove ignored increment of return
...
'return val++;' returns the value before it is incremented because the post
increment happens after the statement. Removing the unused increment.
https://bugzilla.gnome.org/show_bug.cgi?id=739345
2014-10-29 10:37:38 +00:00
Tim-Philipp Müller
95c211dc49
Add some missing G_END_DECLS
2014-10-28 21:42:31 +00:00
Matthew Waters
5e2e6f3326
glfilter: get the config from the correct pool
2014-10-28 18:27:11 +11:00
Matthew Waters
28105a6e7d
glfilter: avoid uninitialized variable size when chaining multiple glfilters
...
https://bugzilla.gnome.org/show_bug.cgi?id=739277
2014-10-28 18:01:27 +11:00
Matthew Waters
0289fbe2cd
glfilter: gst-indent file
2014-10-28 18:01:01 +11:00
Matthew Waters
81ceca1aea
glcontext: add api for retreiving the current context and api
...
that is current in the calling thread.
2014-10-28 17:33:20 +11:00
Matthew Waters
ce14777919
glprototypes: add vertex attribute array definitions
2014-10-28 17:33:20 +11:00
Matthew Waters
e40d70c69a
gl: propogate other-context using GstContext
2014-10-23 23:58:33 +11:00
Sebastian Dröge
af6e2228b2
gl/cocoa: Fix compiler warning
...
gstglwindow_cocoa.m: In function '-[GstGLNSView drawRect:]':
gstglwindow_cocoa.m:555: warning: 'GstGLNSView' may not respond to '-reshape'
gstglwindow_cocoa.m:555: warning: (Messages without a matching method signature
gstglwindow_cocoa.m:555: warning: will be assumed to return 'id' and accept
gstglwindow_cocoa.m:555: warning: '...' as arguments.)
2014-10-21 16:22:06 +02:00
Vineeth T M
aec1f2a001
audiomixer: critical error for blocksize, timeout min/max values
...
Audiomixer blocksize, cant be 0, hence adjusting the minimum value to 1
timeout value of aggregator is defined with MAX of MAXINT64,
but it cannot cross G_MAXLONG * GST_SECOND - 1
Hence changed the max value of the same
https://bugzilla.gnome.org/show_bug.cgi?id=738845
2014-10-21 10:58:48 +02:00
Matthew Waters
75413ae9aa
videoaggregator: fixate the parts of the caps we don't know how to deal with
...
fixes glvideomixer with video/x-raw,width=foo i.e. no format field.
2014-10-21 02:53:02 +11:00
Matthew Waters
2e49c99db3
glbufferpool: add the GstVideoGLTextureUploadMeta buffer pool option
2014-10-21 02:00:09 +11:00
Matthew Waters
f0caf04ad6
videoaggregator: operate on caps rather than video info
...
Otherwise the CapsFeatures will be lost along with the possibility
of multiple output types and formats.
https://bugzilla.gnome.org/show_bug.cgi?id=738129
2014-10-21 01:14:36 +11:00
Wang Xin-yu (王昕宇)
5eb538f9e2
glcolorconvert: support RGB16/BGR16 video format upload
...
https://bugzilla.gnome.org/show_bug.cgi?id=738842
2014-10-20 12:55:39 +02:00
Aurélien Zanelli
de327bf45b
vc1parser: fix level values for simple/main profile
...
In simple profile, level set to 0 or 2 indicate low and medium level
respectively. In main profile, level set to 0, 2 or 4 indicate low,
medium and high level respectively.
Level values are defined in Annex J.1.2 of the SMPTE 421M.
https://bugzilla.gnome.org/show_bug.cgi?id=738230
2014-10-20 12:40:54 +02:00
Brion Vibber
88b19bcf99
gl/cocoa: Fix for building on Mac OS X 10.10
...
Using NSApp directly seems to confuse something, as the compiler
was expecting an id<NSFileManagerDelegate>. Switched to using
[NSApplication sharedApplication], and specified the delegate
protocol on the window class as well.
https://bugzilla.gnome.org/show_bug.cgi?id=738740
2014-10-19 20:01:55 +02:00
Matthew Waters
4b019ba268
glfilter: add uploaded_buffer field
2014-10-14 16:54:01 +02:00
Matthew Waters
b9db635f48
aggregator: add latency query handling
2014-10-09 23:52:11 +11:00
Matthew Waters
8a3993913f
videoaggregator: support unresponsive pads
...
Render unresponsive pads with the last video frame received.
2014-10-09 23:52:11 +11:00
Matthew Waters
a41bc98b6e
aggregator: add a timeout property determining buffer wait time
...
Determines the amount of time that a pad will wait for a buffer before
being marked unresponsive.
Network sources may fail to produce buffers for an extended period of time,
currently causing the pipeline to stall possibly indefinitely, waiting for
these buffers to appear.
Subclasses should render unresponsive pads with either silence (audio), the
last (video) frame or what makes the most sense in the given context.
2014-10-09 23:52:11 +11:00
Matthew Waters
c23cd9c3be
videoaggregator: remove the use of the queued buffer on sink pads
...
That data is now held by the aggregator class
2014-10-09 23:52:11 +11:00
Sebastian Dröge
014cbbbb33
gl/cocoa: Add support for HiDPI displays
...
Without this our GL surface would be upscaled after rendering
by Cocoa, which would reduce image quality.
2014-10-09 10:56:06 +03:00
Matthew Waters
ccdd88eb5a
glcolorconvert: output why we cannot convert a buffer
2014-10-09 12:29:57 +11:00
Matthew Waters
9108c52a22
glcolorconvert: fix planar YUV download
...
- sample the u and v planes properly
- output the correctly scaled u and v planes for different chroma block sizes
2014-10-09 12:29:57 +11:00
Felix Schwarz
a2b82ba541
mpegts: fix typos in comments
...
https://bugzilla.gnome.org/show_bug.cgi?id=738072
2014-10-07 13:11:13 +01:00
Matthew Waters
9dc1f9be36
glcolorconvert: fix UYVY download green screen
2014-10-07 23:04:30 +11:00
Matthew Waters
2fb0b28f74
glcolrconvert: fix YUY2 download
...
- The shader was outputing the wrong values compared with raw
videotestsrc.
- deal with the texture edge properly.
- properly sample the 2x1 rectangle for the u and v values
- don't double sample the y value
2014-10-07 22:55:32 +11:00
Jan Alexander Steffens (heftig)
dce92c75b1
aggregator: Replace GMainContext with GAsyncQueue (v2)
...
The previous implementation kept accumulating GSources,
slowing down the iteration and leaking memory.
Instead of trying to fix the main context flushing, replace
it with a GAsyncQueue which is simple to flush and has
less overhead.
https://bugzilla.gnome.org/show_bug.cgi?id=736782
2014-10-06 18:57:28 +02:00
Thibault Saunier
7091b0418d
videoaggregator: Do not wrongly set the aggregator.segment
...
The aggregator.segment is not to be initialized by the subclasses but
by the aggregator itself. Moreover, initializing it on start would make
us loose the information coming from the initial seek.
2014-10-06 18:57:28 +02:00
Thibault Saunier
b812bd454d
videoaggregator: Make sure not to unref a NULL pointer
2014-10-06 18:57:28 +02:00
Mathieu Duponchelle
1d94b3f66a
aggregator: Set seqnum only when segments are received.
2014-10-06 18:57:28 +02:00
Thibault Saunier
982b9dc3ea
aggregator: Add a streaming lock so to secure flush start action
...
Without a lock that is taken in FLUSH_START we had a rare race where we
end up aggregating a buffer that was before the whole FLUSH_START/STOP
dance. That could lead to very wrong behaviour in subclasses.
2014-10-06 18:57:28 +02:00
Thibault Saunier
65d20d1028
aggregator: Query seeking when a seek failed to see if it was expected
...
And do not worry if seeking failed on a stream that is not seekable
2014-10-06 18:57:28 +02:00
Mathieu Duponchelle
59b15e6659
aggregator: set future seqnum before propagating the seek event.
...
So the seqnum is properly set for the following events.
2014-10-06 18:57:28 +02:00
Thibault Saunier
d82dddc3e5
aggregator: Store segment when seeked in READY for later use
2014-10-06 18:57:28 +02:00
Sebastian Dröge
58e186fe2b
videoaggregator: Unmap and free GstVideoFrames as needed after conversion and errors
2014-10-06 10:11:47 +03:00
Sebastian Dröge
b3cd526347
aggregator: Unref the taglist in GstAggregator::stop()
2014-10-06 10:11:23 +03:00
Reynaldo H. Verdejo Pinochet
8059cf6567
mpegts: fix typo in GstMpegtsExtendedEventDescriptor doc
2014-10-03 23:27:03 -03:00
Thibault Saunier
3637296ee9
videoaggregator: Do not to release VIDEO_AGGREGATOR_LOCK while setting format info
...
We should be able to always keep the VIDEO_AGGREGATOR_LOCK while
negotiating caps, this patch introduce that change.
That also implies that we do not need the SETCAPS_LOCK anymore because
now VIDEO_AGGREGATOR_LOCK guarantees that setcaps is not called from
several threads and the gst_aggregator_set_caps method is now
protected.
https://bugzilla.gnome.org/show_bug.cgi?id=735042
2014-10-03 13:18:05 +02:00
Thibault Saunier
1b4547ff93
aggregator: Take lock to ensure set_caps is not called concurently
...
Avoiding to be in an inconsistent state where we do not have
actual negotiate caps set as srccaps and leading to point where we
try to unref ->srccaps when they have already been set to NULL.
https://bugzilla.gnome.org/show_bug.cgi?id=735042
2014-10-03 13:18:05 +02:00
Sebastian Dröge
03a5bc82db
videoaggregator: Also copy over the chroma siting and colorimetry when deciding on a conversion
2014-10-01 17:22:59 +03:00
Sebastian Dröge
f2af838837
videoaggregator: Revert the last commit and handle resolutions differences properly
...
This is about converting the format, not about converting any widths and
heights. Subclasses are expected to handler different resolutions themselves,
like the videomixers already do properly.
2014-10-01 17:18:05 +03:00
Sebastian Dröge
154eb9b508
videoaggregator: GstVideoConverter currently can't rescale and will assert
...
Leads to ugly assertions instead of properly erroring out:
CRITICAL **: gst_video_converter_new: assertion 'in_info->width == out_info->width' failed
2014-10-01 17:11:16 +03:00
Sebastian Dröge
c4cc2dfabf
gl/cocoa: Always update our viewport if Cocoa tells us something has changed
...
The visible rect and bounds might be the same as before, but Cocoa
might've changed our viewport without us nothing. This happens if
you hide the view and show it again.
2014-10-01 16:04:36 +03:00
Sebastian Dröge
061d55f535
gl/cocoa: Handle NSView::renewGState() properly
...
Don't update the screen until we redraw, this prevents flickering during
scrolling, clipping, resizing, etc
2014-10-01 11:55:51 +03:00
Matthew Waters
dc4b4832d4
glcolorconvert: convert xRGB into ARGB properly
...
The alpha channel might not be the last component so check which one
it is in and clobber that one instead.
2014-09-30 14:46:14 +10:00
Matthew Waters
7b0a30343a
glmemory: unset the opposite corresponding transfer flags when mapped with write
...
fixes consistency with consecutive gst_memory_map()'s with
flags & GST_MAP_WRITE
2014-09-30 01:49:05 +10:00
Sebastian Dröge
d4ed76e4da
gl/cocoa: Update viewport according to the current clipping
...
We have to update the GL viewport if the NSView is only partially
visible. Otherwise the content of the frame will be visibly offset.
2014-09-29 14:34:42 +03:00
Sebastian Dröge
8d92b6a364
gl/cocoa: Improve the NSApplication initialization
...
This is only for non-Cocoa apps but previously caused a 2 second
waiting during startup for Cocoa apps. This is unacceptable.
Instead we now check a bit more extensive if something actually
runs on the GLib default main context, and if not don't even
bother waiting for something to happen from there.
2014-09-29 10:57:18 +03:00
Sebastian Dröge
0cd19cbda3
gl/cocoa: NSView::drawRect() should call into reshape too
...
We a) need to render again because part of the window was
obscured and b) might need to reshape because of clipping
changes.
2014-09-29 10:57:18 +03:00
Sebastian Dröge
66cb4166d3
gl/cocoa: Call UI related API from the application main thread
2014-09-29 10:57:18 +03:00
Sebastian Dröge
2173d34462
gl/cocoa: Switch to a plain NSView subclass instead of NSOpenGLView
...
We don't and can't use NSOpenGLView as it's supposed to be used and
it gets into our way by being to clever in various situations.
2014-09-29 10:57:18 +03:00
Edward Hervey
e064d280ea
glcontext: Initialize variable
...
Avoids the following warning:
gstglcontext.c:647:58: error: 'prev' may be used uninitialized in
this function [-Werror=maybe-uninitialized]
2014-09-29 08:54:29 +02:00
Josep Torra
5b79423416
video: fix build in gst-uninstalled setup
...
Include the base video lib appropriately and resort all of them as
thaytan suggested.
2014-09-28 18:03:09 +02:00
Matthew Waters
fc2471eb54
glcontext: fixup error in sharegroup comment
2014-09-29 00:32:05 +10:00
Matthew Waters
3b9893192c
glcontext: detect the sharegroup case where the context are in different chains
...
In the end they will lead to the same root context in the tree so check that
for equality.
2014-09-29 00:24:28 +10:00
Matthew Waters
81c38c1d2b
glfilter: silence a warning with empty input caps
...
discovered with the doublecube example
gst_caps_get_features: assertion 'index < GST_CAPS_LEN (caps)' failed
2014-09-28 21:18:32 +10:00
Matthew Waters
2043def155
videoaggregator: don't create converters when the subclass doesn't want them
...
fixes a critical with glvideomixer after
35bd1969f9
CRITICAL **: gst_video_converter_new: assertion 'in_info->width == out_info->width' failed
2014-09-28 16:58:42 +10:00
Sebastian Dröge
c9283c95f6
gl/cocoa: Switch from our custom main loop to a GMainLoop
...
Simplifies code a lot and makes it more similar to the other backends.
2014-09-25 16:13:19 +03:00
Sebastian Dröge
bc52e41641
gl/cocoa: Clear the current GL context when it should happen
2014-09-25 16:12:24 +03:00
Wim Taymans
35bd1969f9
video: use video lib conversion code instead of copy
2014-09-24 16:55:49 +02:00
Matthew Waters
c44352b11f
gl: download whenever we have sysmem capsfeatures
...
Otherwise we could pass on a RGBA formatted buffer and downstream would
misinterpret that as some other video format.
Fixes pipelines of the form
gleffects ! tee ! xvimagesink
2014-09-24 13:16:30 +10:00
Matthew Waters
82a3a34475
glupload: fallback to upload if contexts cannot share GL resources
...
Fixes pipelines of the form
gleffects ! tee ! glimagesink
as tee does not pass on the allocation query.
2014-09-23 12:02:18 +10:00
Matthew Waters
d99b517b53
glcontext: add gst_gl_context_can_share
...
Which determines whether two GstGLContext's can share sharable
OpenGL resources.
2014-09-23 12:01:04 +10:00
Sebastian Dröge
8d457a4d18
gl: Let gst_gl_context_get_thread() return a new reference to the GThread
...
Otherwise it might go away in the meantime and the caller has some random pointer.
2014-09-22 10:09:24 +03:00
Anuj Jaiswal
d153b01280
gl: consecutive return, break statement
...
Signed-off-by: Anuj Jaiswal <anuj.jaiswal@samsung.com>
https://bugzilla.gnome.org/show_bug.cgi?id=736939
2014-09-22 16:17:15 +10:00
Matthew Waters
7216b360b7
gl/debug: desktop GL does not have the KHR suffixes
2014-09-22 12:21:22 +10:00
Tim-Philipp Müller
10997063a1
gl: add since markers for new API
2014-09-21 13:32:29 +01:00
Matthew Waters
64fc86844d
glmemory: add debug line for freeing textures
2014-09-21 21:42:41 +10:00
Matthew Waters
5b8d7a443e
glupload: provide the output buffer that is rendered into
...
Allows callers to properly reference count the buffers used for
rendering.
Fixes a redraw race in glimagesink where the previous buffer
(the one used for redraw operations) is freed as soon as the next
buffer is uploaded.
1. glimagesink uploads in _prepare() to texture n
1.1 glupload holds buffer n
2. glimagesink _render()s texture n
3. glimagesink uploads texture n+1
3.1 glupload free previous buffer which deletes texture n
3.2 glupload holds buffer n+1
4. glwindow resize/expose
5. glimagesink redraws with texture n
The race is that the buffer n (the one used for redrawing) is freed as soon as
the buffer n+1 arrives. There could be any amount of time and number of
redraws between this event and when buffer n+1 is actually rendered and thus
replaces buffer n as the redraw source.
https://bugzilla.gnome.org/show_bug.cgi?id=736740
2014-09-21 21:36:49 +10:00
Matthew Waters
e7bd332887
glcontext: add API to retreive the thread that context is active in
2014-09-21 21:30:58 +10:00
Aurélien Zanelli
c9a196d54d
vc1parser: take care of endianness when parsing sequence-layer
...
sequence-layer is serialized in little-endian byte order except for
STRUCT_C which is serialized in big-endian byte order.
But since STRUCT_A and STRUCT_B fields are defined as unsigned int msb
first, we have to pass them as big-endian to their parsing function. So
we basically use temporary buffers to convert them in big-endian.
See SMPTE 421M Annex J and L.
https://bugzilla.gnome.org/show_bug.cgi?id=736871
2014-09-18 13:36:07 +03:00
Ognyan Tonchev
5dc2843c86
glfilter: do not leak pool in error cases
...
https://bugzilla.gnome.org/show_bug.cgi?id=736732
2014-09-16 12:51:25 +03:00
Vasilis Liaskovitis
3c3b78508f
GstGLWindow: Introduce navigation thread
...
This thread dispatches navigation events. It is needed to avoid deadlocks
between window backend threads that emit navigation events (e.g. X11/GMainLoop
thread) and consumers of navigation events such as glimagesink, see
https://bugzilla.gnome.org/show_bug.cgi?id=733661
GstGlWindow_x11 thread is changed to invoke the navigation thread for navigation
dispatching, instead of emiting the event itself. Othe backends beside X11 do
not dispatch navigation events yet, but should use this thread when dispatching
these events in the future.
The navigation thread is currently part of GstGLWindow and not implemented in
separate subclasses / backends. This will be needed in the future.
gst_gl_window_x11_get_surface_dimensions is also changed to use a cached value
of the window's width, height. These values are now retrieved in the X11
thread, function gst_gl_window_x11_handle_event. This change is needed because
otherwise the XGetWindowAttributes gets called from the navigation thread,
leading to xlib aborting due to multithreaded access (if XInitThreads is not
called before, as is the case for gst-launch)
2014-09-09 21:47:02 +10:00
Wang Xin-yu (王昕宇)
9047a01f5f
gl: Add GSTGLAPI macro to the debug callback function
...
Fixes the Windows build.
https://bugzilla.gnome.org/show_bug.cgi?id=735565
2014-08-28 10:00:54 +03:00
Jan Schmidt
c93017a074
egl: Wrap KHR_create_context flags in an ifdef
...
EGL_CONTEXT_FLAGS_KHR and EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR
don't exist in the Android NDK. Wrap their usage in an #ifdef
EGL_KHR_create_context to fix the build there.
2014-08-26 12:41:35 +10:00
Matthew Waters
83a32dbddb
egl: fallback to a non-debug context if a debug one fails
...
The text for EGL_KHR_create_context added the possiblity for ES
contexts to ask for a debug context however that has not been
fully realized by all implementations. Fallback to a non-debug
context when the implementation errors.
2014-08-22 16:51:29 +10:00
Lubosz Sarnecki
5ae3d68590
gstopengl: add introspection support
...
https://bugzilla.gnome.org/show_bug.cgi?id=734482
2014-08-21 18:41:38 +10:00
Lubosz Sarnecki
d2cac06eeb
glshader: expose opengl handle in getter
...
https://bugzilla.gnome.org/show_bug.cgi?id=734482
2014-08-21 17:38:36 +10:00
Wang Xin-yu (王昕宇)
4c65eca7be
gl: check null before unref GstGLDisplay
2014-08-21 14:59:45 +10:00
Matthew Waters
14bd147a2d
gl: add prototype definition for KHR_debug
2014-08-21 10:03:07 +10:00
Matthew Waters
95a4585d4c
glcontext: implement the debug callback
...
For both GL_KHR_debug and ARB_debug_output. This allows us to
receive errors and other hints from the GL instead of querying after
every GL operation.
2014-08-20 23:26:26 +10:00
Matthew Waters
14a3484b14
gl: add prototypes for KHR_debug/ARB_debug_output
2014-08-20 23:26:26 +10:00
Matthew Waters
cb4fd36e7e
gl: don't take an extra ref on the display on set_context
...
gst_context_get_gl_display() returns a ref. Don't take another in
gst_object_replace().
2014-08-19 20:14:22 +10:00
Sreerenj Balachandran
e93551d5b0
codecparser: h264: Use proper bit_reader api while parsing buffering_period SEI
...
https://bugzilla.gnome.org/show_bug.cgi?id=734970
2014-08-18 11:45:54 +01:00
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
Julien Isorce
cf509574be
gl: show internal cocoa window on top of others
...
Useful when your OSX terminal is fullscreen
https://bugzilla.gnome.org/show_bug.cgi?id=728127
2014-05-02 06:03:23 +01:00
Matthew Waters
b903c61ceb
gl/pool: init the upload object on start
...
Theoretically, set_config could be called multiple times
2014-05-02 14:16:49 +10:00
Sebastian Dröge
cad1bb32c8
gl: Try harder to load symbols from the correct place
...
This commit makes the loading of the GModules threadsafe, and
always first tries to load the symbol for the GL library that
is selected for the current context. Only then it falls back
to looking into the current module (NULL), and only as a last
resort the context specific function (e.g. eglGetProcAddress())
is called.
Also add configure parameters to select the names of the library
modules instead of using the defaults, and let the defaults be
independent of the G_MODULE_SUFFIX.
https://bugzilla.gnome.org/show_bug.cgi?id=728753
2014-05-01 14:36:54 +02:00
Matthew Waters
598a79a5e2
gl/mem: implement texture copying between formats with strides properly
...
Previously, we used the width to determine the amount of data to be
copied using pbos. This, makes it allocate enough data for the
the strides as well.
2014-05-01 14:00:04 +10:00
Matthew Waters
29ff67a60a
gl/mem: pad the public struct
2014-05-01 14:00:04 +10:00
Nicolas Dufresne
441ac82d7f
gl: no need to provide full lib path to load symbols
...
- Make gstgl work on Mali
- Keep it work on RPI
- fallback to NULL name module if fails with usual lib name
https://bugzilla.gnome.org/show_bug.cgi?id=728753
2014-04-30 15:16:06 -04:00
Julien Isorce
64e5b5a203
gl: add convenient functions to setup default vertex and fragment shaders
...
Most of our 2D filters use the same simple vertex shader.
Also define the default fragment shader as the identity.
Avoid duplicating the same vertex and fragment shader text.
2014-04-30 15:35:49 +01:00
Philippe Normand
eee4f95a1f
gl: add missing G_BEGIN/END_DECLS in utils header
2014-04-29 19:24:08 +01:00
Jan Schmidt
4296dc12f7
gl: Reduce noisy Info level output to LOG
2014-04-29 22:19:37 +10:00
Julien Isorce
1525fa8bad
gl: use gst_gl_platform_from_string because we support gl shareList on all platforms
2014-04-28 15:59:06 +01:00
Julien Isorce
6a18a1346b
glfilter: only warn when other_context attribute is set
...
Fix false positive
2014-04-28 15:59:06 +01:00
Julien Isorce
9cb3f93b4a
gl: fix string literal warning
...
warning: format not a string literal, argument types not checked [-Wformat-nonliteral]
2014-04-28 15:59:06 +01:00
Sebastian Dröge
dede842409
uridownloader: Unset referer if none was specified later on
2014-04-28 10:12:52 +02:00
Sebastian Dröge
fbbe73a62e
uridownloader: Add API to specify the referer of a request
2014-04-28 10:04:25 +02:00
Gwenole Beauchesne
a66f2dca60
codecparsers: h264: fix parsing of slice groups for map type = 2.
...
When parsing slice groups information for slice_group_map_type = 2, we
should only be reading up to num_slice_groups_minus1 groups since there
is always a "leftover" slice group and as many "foreground" slice groups
as needed.
This fixes parsing for SVCBMT-5 and SVCBMT-12 whereby the base layer would
have incorrectly been parsed to have up to 38 reference frames in list0,
which is not possible.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-04-27 23:41:19 +02:00
Gwenole Beauchesne
1b9e8a25a0
codecparsers: h264: fix derivation of default scaling lists.
...
When useDefaultScalingMatrixFlag is computed to be 1 while parsing
scaling_list(), then the scaling list shall be inferred to be equal
to the default list (7.4.2.1.1.1). That default list is really one
of Default_4x4_{Intra,Inter} or Default_8x8_{Intra,Inter} and not
one from fall-back rule sets A or B.
This fixes parsing for FRExt1_Panasonic_D, FRExt2_Panasonic_C,
FRExt3_Panasonic_E and FRExt4_Panasonic_B.
https://bugzilla.gnome.org/show_bug.cgi?id=724518
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-04-26 22:24:45 +02:00
Sebastian Dröge
cfc32a1ec4
uridownloader: Set source state to NULL if downloading failed for whatever reason
2014-04-25 14:42:35 +02:00
Nicolas Dufresne
70350bd89e
gl/x11: Removed unused variable
2014-04-24 13:59:51 -04:00
Sebastian Dröge
eb88f19c10
gl/x11: Get rid of unneeded second display connection and do everything from the main loop
2014-04-24 19:11:31 +02:00
Sebastian Dröge
42a3bb7d6e
gl/x11: Block rendering until swapbuffers is called and don't go via X11 events as unneeded indirection
...
This should fix QoS problems, where basesink believed it was rendering with
20FPS but actually we were just queueing up X11 Expose events and only once
in a while something was rendered.
2014-04-24 19:11:31 +02:00
Julien Isorce
b92b86bdd9
gl/rpi: do not scale to full screen
...
Having a 640x360 movie being scaled to 1900x1200 does not look nice
2014-04-24 15:26:17 +01:00
Julien Isorce
562399a71a
gl/rpi: change dispmanx attributes of existing element instead of creating a new one
...
I was lucky that:
e1 = vc_dispmanx_element_add ()
eglCreateWindowSurface (e1)
vc_dispmanx_element_remove (e1)
e2 = vc_dispmanx_element_add ()
resulted in having e2 equal to e1. And also having the egl surface
that does not allocate its buffers before the first draw.
2014-04-24 15:26:17 +01:00
Julien Isorce
9bae6a9c2e
gl/rpi: ensure the dispmanx element to be opaque
...
So that we ensure it does not get alpha composited with other
dispmanx elements like the desktop.
2014-04-24 15:26:17 +01:00
Julien Isorce
510040e033
gl/cocoa: pass a NSView to set_window_handle instead of a NSWindow
...
Fix backwards compatibility
https://bugzilla.gnome.org/show_bug.cgi?id=728451
2014-04-24 10:37:00 +01:00
Julien Isorce
162dfcdf75
gl/cocoa: only draw once the window has been resized
...
It avoids to draw the first frame with an incorrect view port.
2014-04-24 09:09:20 +01:00
Julien Isorce
aa4bdcd707
gl/cocoa: set the view to use for drawing by the context
...
It avoids to draw to an invalid buffer.
Withtout this the default frame buffer is undefined:
glBindFramebuffer (GL_FRAMEBUFFER, 0)
Visually you could see some white frames at the beginning
when lunching videotestsrc ! glimagesink
With OpenGL Profiler from XCode you could see some
GL_INVALID_FRAMEBUFFER_OPERATION for the first frames
2014-04-24 09:09:13 +01:00
Julien Isorce
1ced9b1005
gl: fix declaration-definition mismatch for _init_upload
2014-04-23 21:10:07 +01:00
Julien Isorce
453245304d
gl/bufferpool: do not reset upload when set_config does not change the caps
...
With videotestsrc ! glimagesink it was reset 3 times
2014-04-23 21:10:03 +01:00
Julien Isorce
8fd840166b
gl: use #ifdef instead of #if for __APPLE__
...
warning: "__APPLE__" is not defined [-Wundef]
with gcc version 4.7.2 20120731 (prerelease)
(crosstool-NG linaro-1.13.1+bzr2458 - Linaro GCC 2012.08)
2014-04-23 21:09:58 +01:00
Nicolas Dufresne
9205bcdedb
glmemory: User g_slice_new0 to ensure fully initilized structure
...
The pbo pointer not being initialized would trigger a use of unitilialized variable
in valgrind.
2014-04-23 12:42:44 -04:00
Vincent Penquerc'h
6ec86ca1dc
gl: prevent division by 0 on unsupported texture type
...
Coverity 1199697
2014-04-21 13:23:45 +01:00
Jan Schmidt
b2fe0c50ff
glcolorconvert: Fix bt709 conversion matrices.
...
Fix the sign on one entry in the bt.709 YUV->RGB conversion
matrix, and the corresponding inverse matrix. Fixes really
wrong colouring of some videos.
2014-04-21 22:03:15 +10:00
Sebastian Dröge
cea860021d
codecparsers: vp8: rename dboolhuff symbols.
...
Rename VP8 dboolhuff symbols so that to avoid clashes with libvpx when
static linking.
2014-04-18 16:32:40 +02:00
Gwenole Beauchesne
e2aaa91c5a
codecparsers: vp8: add GStreamer native utilities.
...
Import libvpx 1.3.0 range decoder files (dboolhuff.[ch]) to implement
the VP8 utilities native interface. Likewise, copy and use the default
libvpx generated entropy probabilities tables.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-04-18 16:32:40 +02:00
Zhao, Halley
3da5a54399
codecparsers: add VP8 bitstream parser.
...
https://bugzilla.gnome.org/show_bug.cgi?id=722760
[refactored, among other fixes]
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-04-18 16:32:40 +02:00
Stefan Ringel
eeaf6e4811
mpegts: add dvb ca identifier descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=727560
2014-04-16 09:23:23 +02:00
Stefan Ringel
0c773b8cdd
mpegts: add scrambling descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=727560
2014-04-16 09:23:05 +02:00
Stefan Ringel
e535967ee9
mpegts: add frequency list descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=727560
2014-04-16 09:22:46 +02:00
Stefan Ringel
ace60abef5
mpegts: add data broadcast id descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=727403
2014-04-16 09:21:45 +02:00
Stefan Ringel
065abf6d54
mpegts: add private data specifier descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=727403
2014-04-16 09:21:45 +02:00
Sebastian Dröge
8407ee9ee9
dvb: Minor code style fix
2014-04-16 09:21:45 +02:00
Stefan Ringel
e71c264dbb
mpegts: add parential rating descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=727403
2014-04-16 09:21:45 +02:00
Stefan Ringel
eb246e2bfd
mpegts: add linkage descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=727403
2014-04-16 09:21:44 +02:00
Tim-Philipp Müller
990efe1fc0
mpegts: for loop initial declarations are only allowed in C99 mode
...
Fixes compiler warnings.
2014-04-16 00:28:37 +01:00
Julien Isorce
09116bf10d
egl/eglglessink: remove since EGLImage and iOS support have been added in glimagesink
...
https://bugzilla.gnome.org/show_bug.cgi?id=703343
2014-04-15 18:29:53 +01:00
Julien Isorce
d93ed2b870
gl: allow to include GLES/gl.h
...
https://bugzilla.gnome.org/show_bug.cgi?id=703343
2014-04-15 17:40:54 +01:00
Sebastian Dröge
e5d96d052b
gl/eagl: Fix compilation
2014-04-13 19:20:32 +02:00
Sebastian Dröge
d3d1b5a5e2
gl/eagl: Notify the window's resize callback about surface dimension changes
...
https://bugzilla.gnome.org/show_bug.cgi?id=728107
2014-04-13 16:55:26 +02:00
Sebastian Dröge
ef509077db
gl/eagl: Remove spurious private struct pointer
2014-04-13 16:55:26 +02:00
Sebastian Dröge
5db4db6836
gl/android: Notify the window's resize callback about surface dimension changes
...
https://bugzilla.gnome.org/show_bug.cgi?id=728107
2014-04-13 16:55:26 +02:00
Matthew Waters
7f37505503
gl/context: output available extensions
2014-04-13 13:49:22 +10:00
Matthew Waters
24f533fae7
gl/context: provide get_gl_version
2014-04-13 13:44:31 +10:00
Julien Isorce
0586e49726
gl/color: restore viewport dimensions when fbo done
...
Regression introduced by 95abfda139
.
It caused to display the wrong frame size when resizing the window.
2014-04-13 10:00:46 +10:00
Sebastian Dröge
47f7bf269a
gl: Import QuartzCore/QuartzCore.h for CAEAGLLayer on older iOS versions
2014-04-12 22:45:30 +02:00
Sebastian Dröge
ae81268565
gl: Add support for iOS EAGL platform
...
https://bugzilla.gnome.org/show_bug.cgi?id=703341
2014-04-12 22:25:13 +02:00
Julien Isorce
6b2c24d0c4
gl/cocoa: make gst_gl_window_cocoa_send_message_async re-entrant
...
Backends that use g_main_context_invoke are re-entrant.
Il allows to call two nested gst_gl_context_thread_add.
ex: init_upload / init_colorconvert
2014-04-12 17:33:44 +01:00
Julien Isorce
871ddef9ce
gl/cocoa: fix NSAutoreleasePool initialization
2014-04-12 15:51:47 +01:00
Julien Isorce
3c49f0f42a
gl/cocoa: ensure to call NSApplication:sharedApplication in the main thread
...
"(NSApplication *)sharedApplication This method also makes a connection
to the window server and completes other initialization"
The implicit thing which is not mentioned is that it required
to be called in the main thread.
Fix a regression introduces by 82b7c915bb
When using with gst-launch, it was not possible to click on the close
cross of the window anymore which is a bit anoying and also because
it's was possible before.
Prior to this commit the GstGLContextCocoaClass was initialized
in the main thread because gst_gl_context_new was called in the
state change function from going from ready to paused.
From this commit this call is done from the streaming thread.
So that the call to [NSApplication sharedApplication];
was not done in the main thread anymore.
We now ensure that by assuming there is a GMainLoop running.
It's for debugging purpose so that's ok to do that. Also
note we already do this assumtion to run app itereations.
The regression had no consequence on the cocoa/videooverlay example
(that should be moved from gst-plugins-gl to -bad) because the
application is responsible for that necessary call.
2014-04-12 15:46:47 +01:00
Julien Isorce
995db85435
gl/color: fix warning type qualifiers ignored
...
i686-apple-darwin11-llvm-gcc-4.2
"warning: type qualifiers ignored on function return type"
2014-04-12 14:55:45 +01:00
Matthew Waters
ab9b54efdd
gl/color: remove if statement with no effect
...
Coverity 1199698
2014-04-12 18:24:43 +10:00
Matthew Waters
a05d62d5ca
gl/color: pass large value by reference
...
Coverity 1199700
2014-04-12 18:18:08 +10:00
Matthew Waters
b69e1f42bb
gl/mem: cache the stride/unpack length for upload
2014-04-11 17:26:09 +10:00
Matthew Waters
7a424780ce
gl/color: explicitly map the buffers we are copying into
...
Otherwise it may not be downloaded at all.
2014-04-11 17:26:09 +10:00
Matthew Waters
1e948cb42e
gl/color: cache the temporary textures
2014-04-11 16:09:09 +10:00
Matthew Waters
d92eb6dbbe
gl/mem: provide defines for tokens not defined in GLES2/ancient platforms
2014-04-11 11:04:43 +10:00
Matthew Waters
8cc10a1c9c
gl: fixup incorrect number of arguments
2014-04-11 11:03:19 +10:00
Matthew Waters
ad30c8e7e8
gl: fix incorrect usage of g_return_if_fail
2014-04-11 10:55:21 +10:00
Matthew Waters
15d0c04933
gl/mem: allocate the memory per plane
...
This patch provides the basic infrastructure required for this.
Upload and Download has been ported to this.
Has the nice effect of allowing GstGLMemory to be our
refcounted texture object for any texture type (not just RGBA).
Should not lose any features/video formats.
2014-04-11 10:37:06 +10:00
Matthew Waters
d8b6303c95
gl/eglimage: #if 0 unused code
2014-04-11 10:37:06 +10:00
Matthew Waters
95abfda139
gl: add colorconvert object that converts between color spaces/formats
...
Currently used by both upload and download objects separately.
2014-04-11 10:37:05 +10:00
Thibault Saunier
15d00a32fd
h264parse: Set framerate even for interlaced videos
...
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
https://bugzilla.gnome.org/show_bug.cgi?id=726752
2014-04-10 09:09:38 +02:00
Stefan Ringel
f566d17202
mpegts: add atsc terrestrial virtual channel table
...
https://bugzilla.gnome.org/show_bug.cgi?id=727460
2014-04-10 09:09:38 +02:00
Vincent Penquerc'h
8f4123a881
mpegts: fix sdt length check
...
It was originally test for 9 bytes (as the comment says) and was
rewritten buggily. So rewrite it a third way, which is now
hopefully consistent with the original and the comment, while
being more sense-making to humans.
Coverity 1139654
2014-04-09 16:01:43 +01:00
Vincent Penquerc'h
195470a785
mpegts: turns out glib aborts on allocation failure
...
So this is actually pointless. We'll just have to ignore
Coverity moaning on those.
Revert "mpegts: test for allocation failure"
This reverts commit 224cb81b8f
.
2014-04-09 16:01:43 +01:00
Vincent Penquerc'h
224cb81b8f
mpegts: test for allocation failure
...
While it's unlikely to get there, it silences the coverity warning
on the error code path that we test for NULL before freeing, when
all branches there are from locations where pmt cannot be NULL,
and removing the NULL check makes the code more vulnerable to a
hypothetical future branch from somewhere where it can be.
Coverity 1139852
2014-04-09 15:44:10 +01:00
Vincent Penquerc'h
cdfce09fb7
gl: fix leaks
...
As the relevant variables are initialized to 0/NULL, we can loop
over the full range and make sure we free partial allocations
when an error happens partway through initialization.
2014-04-08 15:54:01 +01:00
Matthew Waters
e01e2cce9f
gl: pass video info's by reference
2014-04-02 23:05:47 +11:00
Matthew Waters
7d2d3b3b80
gl/glx: use the context's display rather than asking for the window's
2014-04-02 22:53:10 +11:00
Matthew Waters
e58cd96b96
gl: avoid adding a NULL pool to propose allocation
2014-04-02 22:42:50 +11:00
Matthew Waters
14e993e745
gl: fix detection of extensions with GL versions < 3
...
Mesa, for example returns valid pointers for glGetIntegerv and
glGetStringi even if the gl version is less than that required for
both those functions to supposedly exist.
https://bugzilla.gnome.org/show_bug.cgi?id=727324
2014-04-01 22:02:46 +11:00
Stefan Ringel
73862d5096
mpegts: fix docs
...
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>
https://bugzilla.gnome.org/show_bug.cgi?id=727356
2014-03-31 15:05:48 +02:00
Stefan Ringel
b7efacfe15
mpegts: add dvb-t2 delivery system descriptor
...
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>
https://bugzilla.gnome.org/show_bug.cgi?id=727356
2014-03-31 15:05:48 +02:00
Stefan Ringel
e8c86e355f
mpegts: bugfix delivery system descriptors
...
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>
https://bugzilla.gnome.org/show_bug.cgi?id=726979
2014-03-31 15:02:01 +02:00
Stefan Ringel
d108fe7ee1
mpegts: use GST_READ_UINT32_BE
...
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>
https://bugzilla.gnome.org/show_bug.cgi?id=727187
2014-03-31 15:00:54 +02:00
Stefan Ringel
8b8ceb2dd9
mpegts: add parsing data broadcast descriptor
...
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>
https://bugzilla.gnome.org/show_bug.cgi?id=727187
2014-03-31 15:00:54 +02:00
Stefan Ringel
f8b7a130cc
mpegts: add parsing stream identifier
...
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>
https://bugzilla.gnome.org/show_bug.cgi?id=727187
2014-03-31 15:00:54 +02:00
Stefan Ringel
2e051cf412
mpegts: use glib alloc and free
...
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>
https://bugzilla.gnome.org/show_bug.cgi?id=727159
2014-03-31 14:54:17 +02:00
Tim-Philipp Müller
0f02311d13
gl: egl: fix distcheck and out of source build
2014-03-28 20:22:43 +00:00
Rico Tzschichholz
d10fcf4d3f
build: Fix make dist
2014-03-28 20:02:40 +00:00
Matthew Waters
e356088f15
gl: fix out-of-source builds pt2
...
21b897de2f
did this for x11 and wayland.
Do it for the other backends as well.
2014-03-27 22:03:14 +11:00
Julien Isorce
75c92dc915
gl: only set CAPS_FEATURE_MEMORY_EGL_IMAGE on egl platform
2014-03-27 07:07:01 +00:00
Julien Isorce
218244a040
gl: let the user includes itself our egl headers if needed
...
Forgot to address this change.
https://bugzilla.gnome.org/show_bug.cgi?id=703343
2014-03-26 19:17:03 +00:00
Julien Isorce
0ae3c984aa
gl: add EGLImage support
...
* picked from old libgstegl:
- GstEGLImageMemory
- GstEGLImageAllocator
- last_buffer management from removed GstEGLImageBufferPool
* add-ons:
- GstEGLImageMemory now old a reference on GstGLContext
so that it can delete the EGLImage and its gltexture source
while having the associated gl context being current.
- add EGLImage support for GstVideoGLTextureUploadMeta which
mainly call EGLImageTargetTexture2D
- GstGLBufferPool now supports GstEGLImageAllocator
- glimagesink / glfilters / etc.. now propose GstEGLImageAllocator
to upstream
https://bugzilla.gnome.org/show_bug.cgi?id=703343
2014-03-26 19:09:13 +00:00
Julien Isorce
6d10548e7f
gl: deploy egl headers in gst/gl/egl instead of gst/gl
...
https://bugzilla.gnome.org/show_bug.cgi?id=703343
2014-03-26 14:52:39 +00:00
Julien Isorce
5bb4c4e866
gl: remove commented and unsued code in x11 Makefile.am
...
https://bugzilla.gnome.org/show_bug.cgi?id=703343
2014-03-26 14:52:31 +00:00
Julien Isorce
2893a70aa0
gl: fix crash if _build_extension_string is not called
...
On GLES2 then (gl->GetIntegerv && gl->GetStringi) is false
regression introduced by cc6df204e2
https://bugzilla.gnome.org/show_bug.cgi?id=703343
2014-03-26 14:51:41 +00:00
Gwenole Beauchesne
e84b0d626c
codecparsers: cosmetics: drop TAB characters.
...
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-03-25 15:48:40 +01:00
Li Xiaowei
24c1ae72d3
codecparsers: h264: fix slice_header() parsing for MVC.
...
The idr_pic_id syntax element depends on IdrPicFlag, which is a calculated
value that does not only depend on NAL unit type (IDR), but possibly also
on MVC non_idr_flag syntax element.
The computed idr_pic_flag is already stored in GstH264NalUnit structure.
https://bugzilla.gnome.org/show_bug.cgi?id=721772
Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-03-24 19:38:13 +01:00
Gwenole Beauchesne
8dc7ab49fe
codecparsers: h264: add gst_h264_parse_nalu_header() helper.
...
Add helper to parse the NALU header. Move bounds checking to there.
https://bugzilla.gnome.org/show_bug.cgi?id=685215
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-03-24 19:38:13 +01:00
Gwenole Beauchesne
e61ae7ffa2
codecparsers: h264: add gst_h264_parse_sps_data() helper.
...
Split seq_parameter_set_data() parsing off gst_h264_parse_sps() so
that it could be re-used later on.
https://bugzilla.gnome.org/show_bug.cgi?id=685215
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-03-24 19:38:13 +01:00
Gwenole Beauchesne
bd4dceeff4
codecparsers: h264: complete set of NAL unit types.
...
Add missing NAL unit types. They are mostly related to alpha blending,
scalable video coding extensions (SVC, Annex.G), and multiview video
coding extensions (MVC, Annex.H).
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-03-24 19:38:13 +01:00
Gwenole Beauchesne
afff27651b
codecparsers: h264: clean-up gst_h264_parser_parse_sei_message().
...
Fix build when GST_DISABLE_GST_DEBUG is not defined. Use a switch
statement to dispatch to the various SEI payload handlers.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-03-24 19:38:13 +01:00
Gwenole Beauchesne
1b42180817
codecparsers: h264: fix skipping of unsupported SEI messages.
...
The payloadSize does not account for emulation prevention bytes. So,
just use nal_reader_skip() for skipping payload_size bits. It should
be possible to further optimize this code since the NAL reader shall
be aligned to byte boundary already.
Kill the now unused nal_reader_skip_to_next_byte() function.
https://bugzilla.gnome.org/show_bug.cgi?id=726829
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-03-24 18:09:27 +01:00
Gwenole Beauchesne
aa73624638
codecparsers: h264: fix SEI buffering_period() parsing.
...
Fix parsing of buffering_period() SEI messages. The number of bits
used to express {nal,vcl}_initial_cpb_removal_delay{,_offset} syntax
elements is not 5 but 1 + initial_cpb_removal_delay_length_minus1.
https://bugzilla.gnome.org/show_bug.cgi?id=726828
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-03-24 18:09:27 +01:00
Gwenole Beauchesne
80a51a8fab
codecparsers: h264: fix rbsp_more_data() implementation.
...
Account for trailing zero bits when checking for rbsp_more_data().
In particular, fix an hypothetical stream whereby rbsp_more_data()
is called in the following conditions for PPS header: NalReader
reached position 20, 12 bits are remaining and trailing data at
current byte position is c8 00.
rbsp_more_data() used to return TRUE whereas it should obviously
return FALSE because x8 00 represents a valid rbsp_trailing_bits()
structure.
https://bugzilla.gnome.org/show_bug.cgi?id=685890
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-03-24 18:09:27 +01:00
Gwenole Beauchesne
21b897de2f
gl: fix out-of-source builds.
...
Always use the locally generated <gst/gl/gstglconfig.h> file.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-03-24 17:56:13 +01:00
Matthew Waters
48ef9402bf
gl/download: add support for the bt709 color matrix
2014-03-25 00:50:30 +11:00
Matthew Waters
6d452f60ee
gl/upload: add support for the bt709 color matrix
2014-03-25 00:34:13 +11:00
Matthew Waters
9908375fc0
gl: remove explicit reference to X_CFLAGS
...
They are in GL_CFLAGS if required
2014-03-24 23:19:02 +11:00
Matthew Waters
f55b299826
gl/upload: remove the legacy GL 1.x upload path
...
uploading requires shaders and fbos available in GL2.
2014-03-24 23:19:02 +11:00
Julien Isorce
cc6df204e2
gl: fallback to glGetString if GL_NUM_EXTENSIONS fails
...
Need it on MacOSX 10.7.5
2014-03-23 11:02:08 +00:00
Matthew Waters
11e8b3017a
gl: and update the Makefile
2014-03-23 01:02:03 +11:00
Matthew Waters
3180899a98
gl: reorganize the extension headers by function rather than api
2014-03-23 00:39:43 +11:00
Matthew Waters
45c94fa750
gl/win32: use the correct include and gst-indent
2014-03-23 00:39:43 +11:00
Wang Xin-yu (王昕宇)
05cb4bc6a5
gl: use wglCreateContextAttribsARB to create share context
...
https://bugzilla.gnome.org/show_bug.cgi?id=726494
2014-03-20 15:45:02 +11:00
Matthew Waters
58aa3e9d64
gl/mixer: fix download check for failure
2014-03-20 07:01:01 +11:00
Matthew Waters
faa94a8737
gl: silence a critical if upstream does not provide us with meta params
2014-03-20 07:01:01 +11:00
Julien Isorce
fa4ce072ee
gl: silence warnings building for RPI related to 'vcos_*'
...
Similar than 1190a79b19
2014-03-19 14:43:13 +00:00
Julien Isorce
e870244e39
gl: keep only one occurence of '#include <EGL/egl.h>'
...
To simply maintainance if we need to put specific includes around it.
2014-03-19 14:43:13 +00:00
Руслан Ижбулатов
2a8f52a976
gl: fix the use of always-defined macros
...
After 2a0f0399ae
GST_GL_* macros are always
defined to 0 or 1. Don't use #ifdef ... or #if defined() on them.
https://bugzilla.gnome.org/show_bug.cgi?id=726591
2014-03-18 06:17:03 +00:00
Matthew Waters
a64dd649f5
gl: add GModule libs for win32
2014-03-17 15:16:13 +01:00
Matthew Waters
567820c551
gl: only link against gstegl if we are using egl
...
Assuming if we are building egl that the egl library is built
2014-03-17 15:06:25 +01:00
Matthew Waters
acf1616251
gl: add path of the gstegl library
...
Temporary until we merge the two libraries
2014-03-17 14:37:13 +01:00
Matthew Waters
023c10891e
Revert "gl: add dep on gstegl"
...
It was already in _LIBADD
This reverts commit b10a353080
.
2014-03-17 14:26:31 +01:00
Matthew Waters
b10a353080
gl: add dep on gstegl
...
Temporary until we merge the two libraries
2014-03-17 14:12:50 +01:00
Edward Hervey
16e60d0129
gl/cocoa: Fix debug statements and platform
2014-03-17 14:06:53 +01:00
Edward Hervey
0ae0bfcbc7
gl: Fix static build with objective-C
...
--tag=CC is needed for static build
2014-03-17 12:05:14 +01:00
Matthew Waters
49b37650f6
gl: Add EGLDisplay display subclass
2014-03-17 10:56:39 +01:00
Matthew Waters
b67af0e314
gl/window: add a dummy window class
...
Effective for the case where we have a platform that does not
require a native window. We require a mainloop to run the GL
commands which is currently operated by GstGLWindow.
2014-03-17 10:44:32 +01:00
Matthew Waters
aaa7cfc9fc
gl: fix undeclared symbol when building without GST_DEBUG
2014-03-17 08:10:50 +01:00
Matthew Waters
99c48c34c1
gl: fix a double unref of the query when building without X
2014-03-17 08:10:25 +01:00
Matthew Waters
6da1c48970
gl: silence a compiler warning about missing prototypes
2014-03-16 17:21:38 +01:00
Matthew Waters
5bf83bd48f
gl/utils: add x11 GstContext handling
...
https://bugzilla.gnome.org/show_bug.cgi?id=726360
2014-03-16 16:32:33 +01:00
Matthew Waters
e8bbcb366e
gl: define GL_NUM_EXTENSIONS if not defined
2014-03-16 15:34:11 +01:00
Matthew Waters
6b3fe44185
Move gst-plugins-gl to bad
2014-03-16 15:17:59 +01:00
Matthew Waters
870503dc6b
gl: silence all the compiler warnings
2014-03-16 15:17:44 +01:00
Matthew Waters
92c7849979
[906/906] filter: warn about trying to share with multiple contexts at once
2014-03-15 18:37:07 +01:00
Matthew Waters
a8ce124628
[905/906] Add GL context sharing support for non-gstgl elements
2014-03-15 18:37:07 +01:00
Matthew Waters
f0b10d4edf
[904/906] mixer: ask for display handles on pad activation
2014-03-15 18:37:07 +01:00
Matthew Waters
6527008c2a
[903/906] api: add GstGLPlatform to/from string
2014-03-15 18:37:07 +01:00
Matthew Waters
ea0c6b3f70
[902/906] context: implement glGetStringi handling for GL core contexts/GLES3
2014-03-15 18:37:07 +01:00
Matthew Waters
c3146c0d48
[901/906] glx: use the display handle from the global display
...
Intel drivers require the display handles be the same for context
sharing to occur. Also solves some cases of use after free of the
display when integrating with gstreamer-vaapi.
See https://bugs.freedesktop.org/show_bug.cgi?id=41736 for the intel bug.
2014-03-15 18:37:07 +01:00
Matthew Waters
25a5dabda9
[899/906] egl: warn if we resort to display handles from the window
2014-03-15 18:37:07 +01:00
Matthew Waters
105cfa62fc
[897/906] api: plugin a small memory leak
...
Found by adrien.schwartzentruber@gmail.com
2014-03-15 18:37:07 +01:00
Matthew Waters
b9071875e7
[896/906] utils: use the vtable for deleting the texture
2014-03-15 18:37:07 +01:00
Matthew Waters
8b4503aa6f
[895/906] context: call window_class->close last
...
We should destroy resources before closing the display connection
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725048
2014-03-15 18:37:07 +01:00
Wang Xin-yu (王昕宇)
c3020e3ed8
[894/906] gl: add missing G_BEGIN_DECLS/G_END_DECLS
...
https://bugzilla.gnome.org/show_bug.cgi?id=725111
2014-03-15 18:37:07 +01:00
Matthew Waters
b6b8f9cd88
[893/906] x11: close both of the display's we use
...
(the comment doesn't seem to apply anymore)
https://bugzilla.gnome.org/show_bug.cgi?id=725048
2014-03-15 18:37:07 +01:00
Matthew Waters
ba38db1961
[892/906] silence a compiler warning on older gcc versions (4.6)
2014-03-15 18:37:07 +01:00
Matthew Waters
3ad466945e
[891/906] context: add support for wrapping external contexts
2014-03-15 18:37:07 +01:00
Matthew Waters
0d1d42b205
[890/906] x11: add display subclass
...
GstGLDisplayX11 holds the display connection and name. Each thread requires
it's own X11 Display connection (initialised from name) due to the fact that
we do not want to call XInitThreads(). Doing so would result in segfaults
when integrating with GUI toolkits Gtk, Qt, etc.
The Display connection is for OpenGL platforms where a constant display is
required in order to share contexts (egl). In the case of a wrapped context
(added later), we do not have GstGLWindow to retreive the display from so a
'master' connection is used instead.
2014-03-15 18:37:06 +01:00
Matthew Waters
f4036318da
[889/906] display: add display type enum
2014-03-15 18:37:06 +01:00
Adrien SCH
08d71feaa4
[888/906] correct error handling in gstgldownload.c
2014-03-15 18:37:06 +01:00
Matthew Waters
cdfa3a03c9
[887/906] mixer: fixup a memory leak of the context in the GLTextureUploadMeta path
...
gst_structure_get returns a reference to the object and we asked
for another with gst_object_replace.
https://bugzilla.gnome.org/show_bug.cgi?id=724816
2014-03-15 18:37:06 +01:00
Matthew Waters
687ac78290
[886/906] fixup a memory leak of the context in the GLTextureUploadMeta path
...
gst_structure_get returns a reference to the object and we asked
for another with gst_object_replace.
https://bugzilla.gnome.org/show_bug.cgi?id=724816
2014-03-15 18:37:06 +01:00
Matthew Waters
506e4fc793
[885/906] filter: free our data
...
plugs some memory leaks
https://bugzilla.gnome.org/show_bug.cgi?id=724816
2014-03-15 18:37:06 +01:00
Matthew Waters
d57403ab98
[884/906] filter: return the pad template caps in transform_caps
...
We can transform from any input in our caps to any output.
With the following pipeline snippet:
... ! vaapidecode ! glcolorscale ! xvimagesink
GstVideoGLTextureUploadMeta was being used on both src and sink
pads causing linking to fail. This allows the usage of the meta
on either pad without affecting whether the meta is chosen on the
other pad.
2014-03-15 18:37:06 +01:00
Matthew Waters
767a3524ae
[883/906] api: provide from_string()
...
Also s/gst_gl_api_string/gst_gl_api_to_string/g
2014-03-15 18:37:06 +01:00
Matthew Waters
13aa186711
[881/906] upload: restore default values for unpack_length
...
fixes elements that upload a supplementary texture (glbumber,
gldifferencematte, etc)
2014-03-15 18:37:06 +01:00
Matthew Waters
75825b3626
[879/906] build: don't add X_CFLAGS to CFLAGS
...
It should already be included if needed inside GL_CFLAGS
2014-03-15 18:37:06 +01:00
Chris Paulson-Ellis
1a53bc22c7
[877/906] x11: Use correct format string for guintptr
...
https://bugzilla.gnome.org/show_bug.cgi?id=723537
2014-03-15 18:37:06 +01:00
Matthew Waters
cd7bfb92d4
[876/906] glmem: use GstVideoInfo for format configuration
...
Allows use of strides
2014-03-15 18:37:06 +01:00
Matthew Waters
cba72fbee3
[875/906] upload: support for arbitrary strides
...
Using GL_UNPACK_ALIGNMENT for GLES2 and GL_UNPACK_ROW_LENGTH for everything else
2014-03-15 18:37:06 +01:00
Matthew Waters
0c1a77ca6c
[874/906] filter: implement draw_texture for GLES2
...
(taken from gleffects)
2014-03-15 18:37:06 +01:00
Matthew Waters
4386cc1c6b
[873/906] upload: use GstVideoInfo for choosing the format
2014-03-15 18:37:05 +01:00
Matthew Waters
a2abc0d3b6
[872/906] upload: consolidate data _fill
2014-03-15 18:37:05 +01:00
Matthew Waters
721a5d4c36
[871/906] upload: fix texture scaling for YUY2/UYVY with GLES2
...
Another artifact from the transition to GL_TEXTURE_2D
2014-03-15 18:37:05 +01:00
Matthew Waters
31eb2f5f0d
[870/906] upload: remove superflous g_mutex_init
2014-03-15 18:37:05 +01:00
Matthew Waters
57422186b5
[869/906] tests: add some upload tests
2014-03-15 18:37:05 +01:00
Matthew Waters
53c5245948
[868/906] upload: fix compilation for GLES2
2014-03-15 18:37:05 +01:00
Wang Xin-yu (王昕宇)
30b9bfbf55
[867/906] glupload: Add GRAY8/GRAY16LE/BE upload support to glimagesink
...
the 16bit data is uploaded as LUMINANCE_ALPHA, then expanded, composed
in shader. value weight is a little complicate, high byte weight is
255*256/65535 (denormalize to [0~255] ,shift to high byte,then normalize
to [0~1]), low byte weight is 255/65535(similar)
https://bugzilla.gnome.org/show_bug.cgi?id=722670
2014-03-15 18:37:05 +01:00
Matthew Waters
83d27b9bc2
[866/906] upload: update some docs
2014-03-15 18:37:05 +01:00
Matthew Waters
49a19fb6b1
[865/906] glmem: report successful copy to the caller
2014-03-15 18:37:05 +01:00
Matthew Waters
7b031f648c
[863/906] window: hold a ref to our GstGLDisplay
2014-03-15 18:37:05 +01:00
Matthew Waters
cf7838a0b6
[862/906] window: remove set_need_lock
...
No-one is using it. The only code that did was the x11 one which
doesn't need it anymore.
2014-03-15 18:37:05 +01:00
Wang Xin-yu (王昕宇)
48d92cbe88
[861/906] glprototypes: Add missing glScalef declare
...
https://bugzilla.gnome.org/show_bug.cgi?id=721903
2014-03-15 18:37:05 +01:00
Matthew Waters
cdad19fd43
[860/906] docs: misc updates
2014-03-15 18:37:05 +01:00
Matthew Waters
3049627b87
[859/906] window: provide some documetation
2014-03-15 18:37:05 +01:00
Matthew Waters
aa573cf138
[858/906] glmem: update the docs
2014-03-15 18:37:05 +01:00
Matthew Waters
4d30769b86
[857/906] display: document the new GstContext api
2014-03-15 18:37:05 +01:00
Matthew Waters
4cf2f4ded2
[856/906] context: document it
2014-03-15 18:37:04 +01:00
Matthew Waters
f798d9c9b7
[855/906] upload: add support for GstVideoGLTextureUploadMeta
2014-03-15 18:37:04 +01:00
Matthew Waters
42701927f0
[854/906] use the allocation query to propogate GstGLContext
...
uses the GstVideoGLTextureUploadMeta api type for the query
2014-03-15 18:37:04 +01:00
Matthew Waters
636d307715
[853/906] display: remove _{set,get}_context
...
A GstGLDisplay doesn't need a GstGLContext and its use
was cause a reference cycle
2014-03-15 18:37:04 +01:00
Matthew Waters
79260ff8f9
[852/906] use GstContext for GstGLDisplay propogation
...
implements the hooks required in GstElement::set_context and the context query
2014-03-15 18:37:04 +01:00
Matthew Waters
b0a43c0c65
[850/906] glupload: Remove texture scaling artifacts from the TEXTURE_RECTANGLE -> TEXTURE_2D transition
...
fixes the funky colours in some of the yuv formats
https://bugzilla.gnome.org/show_bug.cgi?id=721155
2014-03-15 18:37:04 +01:00
Matthew Waters
679309e5a8
[848/906] filter: a little code cleanup
2014-03-15 18:37:04 +01:00
Matthew Waters
afdde267ef
[847/906] mixer: unmap the video frames we map
...
plugs a memory leak
2014-03-15 18:37:04 +01:00
Matthew Waters
5cb409218a
[846/906] mixer: handle 0/1 framerate better in caps
2014-03-15 18:37:04 +01:00
Matthew Waters
78a726ebc1
[845/906] filter: handle capsfeatures properly
2014-03-15 18:37:04 +01:00
Matthew Waters
63ccd94d1a
[844/906] mixer: give access to the pads at render time
...
allows us to move the video frame mapping somewhere else
2014-03-15 18:37:04 +01:00
Matthew Waters
4322266b97
[843/906] memory: provide copy_into_texture
2014-03-15 18:37:04 +01:00
Tim-Philipp Müller
43d953905b
[842/906] Fix gstglconfig.h-related 'make distcheck' issues
...
Fix srcdir vs. builddir issue in docs and 'files left after
disclean' issue for gstglconfig.h
2014-03-15 18:37:04 +01:00
Julien Isorce
f506e80686
[841/906] osx: allow x11/glx backend and set default runtime to cocoa/nsgl
...
https://bugzilla.gnome.org/show_bug.cgi?id=719757
2014-03-15 18:37:04 +01:00
Julien Isorce
7a689108d9
[839/906] cocoa: allow to call set_window_handle before to create glcontext
...
So that it actually make cocoa videooverlay example work again.
Fixes bug https://bugzilla.gnome.org/show_bug.cgi?id=719758
2014-03-15 18:37:03 +01:00
Matthew Waters
b90d824626
[838/906] gl: Use GL_TEXTURE_2D instead of GL_TEXTURE_RECTANGLE
...
We create our textures (in Desktop GL) with GL_TEXTURE_RECTANGLE,
vaapi attempts to bind our texture to GL_TEXTURE_2D which throws a
GL_INVALID_OPERATION error and as thus, no video.
Also, by moving exclusively to GL_TEXTURE_2D and the npot extension
we also remove a difference between the Desktop GL and GLES2 code.
https://bugzilla.gnome.org/show_bug.cgi?id=712287
2014-03-15 18:37:03 +01:00
Matthieu Bouron
52a9869596
[837/906] cocoa: resize OpenGL view size each time the window is resized
...
Fixes glitches that can appear when the OpenGL view has not been resized
after a window resize.
https://bugzilla.gnome.org/show_bug.cgi?id=711672
2014-03-15 18:37:03 +01:00
Matthieu Bouron
fb9684e0f1
[836/906] cocoa: only use GSRegisterCurrentThread with GNUStep environment
2014-03-15 18:37:03 +01:00
Julien Isorce
6fcd8b7206
[835/906] gstglwindow: remove unused fields
2014-03-15 18:37:03 +01:00
Julien Isorce
e5ed59e61c
[834/906] gstglwindow: clear mutex
2014-03-15 18:37:03 +01:00
Julien Isorce
52119203f9
[833/906] gstglcontext: initialize window to NULL
2014-03-15 18:37:03 +01:00
Julien Isorce
d1376390ba
[832/906] x11: ignore Expose events not initiated by gst_gl_window_draw
2014-03-15 18:37:03 +01:00
Julien Isorce
c775bf584b
[831/906] glimagesink: avoid to overload the drawer if already drawing
...
Especially if the application calls gst_video_overlay_expose a lot
2014-03-15 18:37:03 +01:00
Matthew Waters
9c1d2eeafd
[829/906] mixer: error out properly on flushing
2014-03-15 18:37:03 +01:00
Matthew Waters
b571e40ec7
[828/906] context: refcount the display
2014-03-15 18:37:03 +01:00
Matthew Waters
95f7b8dce6
[827/906] mixer: don't unref the query in the default case
...
The element/application performing the query is responsible for the
de/allocation
2014-03-15 18:37:03 +01:00
Matthew Waters
de31f9eb70
[826/906] upload: free our mutex
2014-03-15 18:37:03 +01:00
Julien Isorce
160fad22c0
[825/906] glwindow_x11: check if the loop exists
...
It happens when calling set_window_handle before to reach GST_STATE_READY.
In this case the parent is set when creating the internal window.
2014-03-15 18:37:03 +01:00
Matthew Waters
775ea000dc
[824/906] android: Build fixes
...
https://bugzilla.gnome.org/show_bug.cgi?id=709786
2014-03-15 18:37:03 +01:00
Julien Isorce
9515519826
[823/906] wayland_egl: make the wayland backend actually work on Raspberry Pi
...
Fix resizing and can now move the window
2014-03-15 18:37:03 +01:00
Julien Isorce
414989b388
[822/906] gstglcontext_egl: avoid non working EGL confs on rpi/wayland
2014-03-15 18:37:02 +01:00
Julien Isorce
ca9c2cce1a
[821/906] tests: fix test_share on GLESv2
2014-03-15 18:37:02 +01:00
Julien Isorce
979633ed1f
[820/906] gstglwindow: if available use wayland instead dispmanx on rpi
2014-03-15 18:37:02 +01:00
Matthew Waters
2313cea524
[819/906] make gen_texture/del_texture threadsafe
...
Use stack allocated instead of static variables
Conflicts:
gst-libs/gst/gl/gstglutils.c
2014-03-15 18:37:02 +01:00
Matthew Waters
db1c7a242b
[818/906] window: add send_message_async vmethod
...
- provide a default synchronous send_message
- make context creation threadsafe again
2014-03-15 18:37:02 +01:00
Matthew Waters
225d372847
[817/906] make the state change test pass
2014-03-15 18:37:02 +01:00
Matthew Waters
e29d826b0a
[816/906] x11: fix make check segfault
2014-03-15 18:37:02 +01:00
Matthew Waters
d10ccfb795
[815/906] fix some refcount errors
2014-03-15 18:37:02 +01:00
Matthew Waters
888c66d855
[814/906] mixer: timestamp buffers
2014-03-15 18:37:02 +01:00
Matthew Waters
65b6872413
[813/906] unref the pool on shutdown
2014-03-15 18:37:02 +01:00
Matthew Waters
9b22b0e0ba
[812/906] move the GL vtable from GstGLDisplay to GstGLContext
...
Conflicts:
tests/check/libs/gstglcontext.c
2014-03-15 18:37:02 +01:00
Julien Isorce
c806125e15
[810/906] gstglutils: use gl_vtable for glDeleteTextures
2014-03-15 18:37:02 +01:00
Matthew Waters
135ea8e562
[808/906] x11: remove dead code
2014-03-15 18:37:02 +01:00
Matthew Waters
311592f8b1
[807/906] context: Move some window error enums to context
2014-03-15 18:37:02 +01:00
Matthew Waters
cb7bf213fe
[806/906] egl: doesn't require the EGLConfig from the other context
...
libEGL should give us the same or similar EGLConfig from the
EGLDisplay we have.
2014-03-15 18:37:01 +01:00
Matthew Waters
93692c7437
[805/906] glfilter: rename external-opengl-context prop to other-context
...
It now requires a GstGLContext instead of a handle
2014-03-15 18:37:01 +01:00
Julien Isorce
6497947186
[804/906] rpi: call bcm_host_init in plugin_init
2014-03-15 18:37:01 +01:00
Julien Isorce
561a71c244
[803/906] raspberrypi: add support for dispmanx
...
See https://bugzilla.gnome.org/show_bug.cgi?id=703342
2014-03-15 18:37:01 +01:00
Matthew Waters
b24021b1ac
[801/906] context: Reimplement GL context sharing
...
https://bugzilla.gnome.org/show_bug.cgi?id=704806
2014-03-15 18:37:01 +01:00
Matthew Waters
5e0217d4dd
[798/906] build: install needed header
2014-03-15 18:37:01 +01:00
Matthew Waters
c639a2d126
[797/906] x11: fix build for clang
2014-03-15 18:37:01 +01:00
Matthew Waters
32f40b28a5
[796/906] move egl into its own directory
2014-03-15 18:37:01 +01:00
Matthew Waters
f7d4776c7d
[795/906] android: port to GstGLContext
...
not tested
2014-03-15 18:37:01 +01:00
Matthew Waters
95c08c2ee2
[794/906] context: add subclasses for the different platforms (egl, glx, wgl, etc)
...
- most code taken from the Window subclasses
- tested combinations: xEGL, GLX, Wayland+EGL, Cocoa (under GNUStep), WGL (Wine)
2014-03-15 18:37:01 +01:00
Matthew Waters
cf5e910d9b
[793/906] add a GstGLContext object that will be the basis of OpenGL contexts
...
At the moment it just sits in between GstGLDisplay and GstGLWindow
performing some of the stuff that GstGLWindow used to do.
2014-03-15 18:37:01 +01:00
Matthew Waters
b5d595f402
[792/906] build: use our own in tree headers before system ones
...
allows us to develop against the tree rather than what may be installed
2014-03-15 18:37:01 +01:00
Julien Isorce
bfac5a8d76
[791/906] glwindow/x11: remove X11EventSource as soon as the window is deleted
...
gst_gl_window_x11_send_message do not use XSendEvent anymore
2014-03-15 18:37:01 +01:00
Sebastian Dröge
7bd7d7a48f
[789/906] egl: Create a window surface if necessary
2014-03-15 18:37:00 +01:00
Tonu Jaansoo
3662fa14c6
[788/906] osx: Fix compilation
2014-03-15 18:37:00 +01:00
Tonu Jaansoo
e45dfb2f93
[787/906] gl: The GLSL rectangle resampler does not always work with int tex coords
...
Use floats instead.
2014-03-15 18:37:00 +01:00
Sebastian Dröge
52052a758a
[786/906] glprototypes: Add support for NV extensions for DrawBuffers and ReadBuffer
2014-03-15 18:37:00 +01:00
Sebastian Dröge
ba1403fdd4
[785/906] egl: Use EGL_KHR_surfaceless_context instead of creating a useless surface if available
2014-03-15 18:37:00 +01:00
Sebastian Dröge
4f356f999c
[782/906] gldownload: Use strlen() instead of sizeof(char*)
...
gstgldownload.c:846:22: error: argument to 'sizeof' in 'memcpy' call is the same expression as the source; did you mean to provide an explicit length? [-Werror=sizeof-pointer-memaccess]
2014-03-15 18:37:00 +01:00
Matthew Waters
3130ac1596
[781/906] download: propogate errors from the GL thread
2014-03-15 18:37:00 +01:00
Matthew Waters
f590a1ce23
[780/906] up/download: check return values
...
So we fail properly
2014-03-15 18:37:00 +01:00
Matthew Waters
41a89bafce
[779/906] download: remove _thread variants of the API
2014-03-15 18:37:00 +01:00
Matthew Waters
01a4472b7f
[778/906] upload: remove _thread variants of the API
2014-03-15 18:37:00 +01:00
Matthew Waters
a4445ea016
[777/906] upload: overhaul and addition of new video formats
...
use the shaders from eglglessink (adapted for Desktop GL)
error out properly
2014-03-15 18:37:00 +01:00
Matthew Waters
26e46d449c
[776/906] download: fix compiler warning about missing string format
2014-03-15 18:37:00 +01:00
Sebastian Dröge
228474806c
[775/906] configure: Check for GLeglImageOES and others again
...
https://bugzilla.gnome.org/show_bug.cgi?id=704498
2014-03-15 18:37:00 +01:00
Sebastian Dröge
3900c6750c
[774/906] win32: Fix some compiler errors/warnings
2014-03-15 18:37:00 +01:00
Mathieu Duponchelle
b26c4dbe4e
[773/906] glfilters: Mark writable-only properties as readable as well
...
https://bugzilla.gnome.org/show_bug.cgi?id=704429
2014-03-15 18:37:00 +01:00
Sebastian Dröge
20cb4fb038
[771/906] gl: Some less long/ulong/gulong usage
2014-03-15 18:36:59 +01:00
Matthew Waters
10ca3beee6
[766/906] utils: generate a RGBA texture in all cases
2014-03-15 18:36:59 +01:00
Matthew Waters
3f90c6fbfd
[765/906] wayland: remove fullscreen
2014-03-15 18:36:59 +01:00
Matthew Waters
6b213b1dae
[764/906] filter: fix pad template caps
...
upload is for the sink template
download is form the src template
2014-03-15 18:36:59 +01:00
Matthew Waters
71a70e78f6
[763/906] memory: copy properly depending on where the most recent data is
2014-03-15 18:36:59 +01:00
Sebastian Dröge
f6f0c4ddad
[762/906] glimagesink: Fix some memory leaks and properly set up the buffer pool
2014-03-15 18:36:59 +01:00
Sebastian Dröge
380ab312ca
[761/906] x11: Protect event display connection with a mutex
...
We use it from different threads and need to serialize the
accesses to it.
2014-03-15 18:36:59 +01:00
Sebastian Dröge
ddfc527857
[760/906] x11: Always use the same display connection from the GL thread
...
The other display connection might be used by async calls from elsewhere
at the same time.
https://bugzilla.gnome.org/show_bug.cgi?id=704247
2014-03-15 18:36:59 +01:00
Sebastian Dröge
1a6b357b39
[759/906] gldownload: #ifdef some GLES2 specific code to fix compilation
2014-03-15 18:36:59 +01:00
Sebastian Dröge
030c8ed624
[758/906] android: Don't require a window to be set
...
This allows the filters to be usable without a GL sink downstream.
2014-03-15 18:36:59 +01:00
Sebastian Dröge
39b6b5c272
[757/906] egl: Create an offscreen surface if no window was provided
2014-03-15 18:36:59 +01:00
Sebastian Dröge
7551b627e8
[756/906] gldownload: Reset the viewport after download RGB via GLES2
2014-03-15 18:36:59 +01:00
Sebastian Dröge
62f9105715
[755/906] gldownload: Unbind framebuffer after downloading RGB with GLES2
2014-03-15 18:36:59 +01:00
Sebastian Dröge
743ad83b06
[754/906] gldownload: Add support for RGB reordering when using GLES2
2014-03-15 18:36:58 +01:00
Sebastian Dröge
f4e76a9367
[753/906] gldisplay: Sending a message is synchronous, we can allocate the memory on the stack
2014-03-15 18:36:58 +01:00
Sebastian Dröge
2b6e54d416
[752/906] glwindow: Add destroy notifies for the data of the callbacks
...
And actually call the close callback when the window is closed.
2014-03-15 18:36:58 +01:00
Sebastian Dröge
7dba9d0dce
[751/906] gldisplay: Don't hold lock while sending a message to the GL thread
...
https://bugzilla.gnome.org/show_bug.cgi?id=704247
2014-03-15 18:36:58 +01:00
Sebastian Dröge
60aefacd32
[750/906] glupload: Add support for RGB reordering when using GLES2
2014-03-15 18:36:58 +01:00
Sebastian Dröge
d87a0eaf1d
[749/906] glshader: Add some more debug output
2014-03-15 18:36:58 +01:00
Sebastian Dröge
258bb6fb81
[748/906] glupload: GL_STENCIL_ATTACHMENT is needed for desktop GL, not GLES
2014-03-15 18:36:58 +01:00
Sebastian Dröge
f36efba6da
[747/906] gl: Constify YUV conversion shaders
2014-03-15 18:36:58 +01:00
Sebastian Dröge
98e5077b8f
[746/906] android: Add comment to clarify the type of a variable
2014-03-15 18:36:58 +01:00
Sebastian Dröge
01ce41f684
[745/906] gl: Simplify and optimize YUV conversion shaders a bit
2014-03-15 18:36:58 +01:00
Sebastian Dröge
d7f69c3d93
[744/906] gl: Use __GST_GL_H__ instead of __GL_H__ as a multi-include guard
...
GL/gl.h might use the latter already.
2014-03-15 18:36:58 +01:00
Sebastian Dröge
4c7388be18
[743/906] win32: Allow setting window handle before creating the context
2014-03-15 18:36:58 +01:00
Sebastian Dröge
d00770cec0
[742/906] cocoa: Allow setting window handle before creating the context
2014-03-15 18:36:58 +01:00
Sebastian Dröge
f36ee81a84
[741/906] wayland: Don't leak main context and loop
2014-03-15 18:36:58 +01:00
Sebastian Dröge
7fffd9097e
[740/906] x11: Allow setting window handle before creating the context
2014-03-15 18:36:58 +01:00
Sebastian Dröge
c479544540
[739/906] x11: Don't leak main context and main loop
2014-03-15 18:36:58 +01:00
Sebastian Dröge
16a5316755
[738/906] gl: Include glu.h after gl.h
2014-03-15 18:36:58 +01:00
Sebastian Dröge
a77992c658
[735/906] gl: Add support for Android
...
https://bugzilla.gnome.org/show_bug.cgi?id=703340
2014-03-15 18:36:57 +01:00
Sebastian Dröge
83d066b0a5
[734/906] win32: Make automake happy by using noinst_HEADERS
2014-03-15 18:36:57 +01:00
Sebastian Dröge
a5a46aa833
[733/906] gl: Major header and include cleanup
2014-03-15 18:36:57 +01:00
Julien Isorce
dd7e054e2c
[732/906] build: fix repeated typedefs
...
Write forward declarations in another way to avoid
repeated typedefs "error: redefinition of typedef".
Raised when using i686-apple-darwin11-llvm-gcc-4.2
It seems that C apple compiler does not support
C11 feature.
https://bugzilla.gnome.org/show_bug.cgi?id=703885
2014-03-15 18:36:57 +01:00
Julien Isorce
3c0b9715a9
[731/906] cocoa: fix build when GNUSTEP is not defined
2014-03-15 18:36:57 +01:00
Sebastian Dröge
a98180cd53
[730/906] glcompat: Properly check for GLchar and other types
...
On Android for example these are no #defines but typedefs
2014-03-15 18:36:57 +01:00
Sebastian Dröge
19dff69a2e
[729/906] gl: Include config.h everywhere
2014-03-15 18:36:57 +01:00
Sebastian Dröge
a8d5b21013
[727/906] egl: Refactor EGL logic into a helper object
2014-03-15 18:36:57 +01:00
Matthew Waters
908cc1989b
[726/906] window: don't call a NULL destroy function
2014-03-15 18:36:57 +01:00
Matthew Waters
f9d46c29ca
[725/906] x11: use GMainContext/GMainLoop
...
allows us to be reentrant
https://bugzilla.gnome.org/show_bug.cgi?id=703445
2014-03-15 18:36:57 +01:00
Matthew Waters
96deb2fba3
[724/906] wayland: make reentrant
...
https://bugzilla.gnome.org/show_bug.cgi?id=703445
2014-03-15 18:36:57 +01:00
Julien Isorce
ba19813816
[723/906] gstglwindow: close has to be called in the glthread.
...
Indeed 'glXMakeCurrent (window_x11->device, None, NULL);'
has to be called in the thread where the glcontext is actually
current.
Otherwise glXDestroyContext may crash.
2014-03-15 18:36:57 +01:00
Руслан Ижбулатов
89a6d7ef5d
[722/906] gl: Fix build on Win32
...
1) Need to include GL/glext.h on W32 to provide necessary macros
2) W32 macros that pre-processor has by default are different for different
toolchains. Borland uses __WIN32__, everyone else has _WIN32, so check both.
Side-note: glext.h is not supplied by mingw-w64 at the moment, but can be
downloaded from http://www.opengl.org/registry/
https://bugzilla.gnome.org/show_bug.cgi?id=703364
2014-03-15 18:36:57 +01:00
Sebastian Dröge
c07d72f768
[721/906] glfilter: Use uint64 for the OpenGL context property
...
ulong/long properties are deprecated and should not be used anymore
for portability reasons.
2014-03-15 18:36:57 +01:00
Sebastian Dröge
98cca97840
[719/906] gl: Fix compilation with GLES2
2014-03-15 18:36:56 +01:00
Matthew Waters
11b810fcf5
[718/906] shader: make it possible to unref in the non-GL thread
2014-03-15 18:36:56 +01:00
Matthew Waters
a5b877fb13
[717/906] remove outdated cmake build files
2014-03-15 18:36:56 +01:00
Matthew Waters
f6a9c807f6
[716/906] wayland: properly choose EGL_RENDERABLE_TYPE
...
based on the gl api we chose
2014-03-15 18:36:56 +01:00
Matthew Waters
cdbe8c2d0e
[715/906] display: inherit from the right object class
2014-03-15 18:36:56 +01:00
Matthew Waters
4646a1e95e
[714/906] Add GstGLFramebuffer to replace _display_gen_fbo and friends
...
This version is simply API compatible with _display_gen_fbo.
The next version will likely revamp the API
2014-03-15 18:36:56 +01:00
Matthew Waters
09496fc8a1
[713/906] shader: make it possible to create the object in a non-GL thread
2014-03-15 18:36:56 +01:00
Matthew Waters
4801abb13a
[712/906] wayland: shutdown properly
...
We cannot use _finalize as this will be called before GstGLWindow's
_finalize. This causes us to try and perform operations with the
wayland server when the connection has been severed.
2014-03-15 18:36:56 +01:00
Matthew Waters
118b947e57
[711/906] wayland: support choosing Desktop GL as the api
2014-03-15 18:36:56 +01:00
Matthew Waters
c748fb7999
[710/906] window: fail if the user specifies an GL api that we cannot work with
...
It would've been caught later in an g_assert anyway.
2014-03-15 18:36:56 +01:00
Matthew Waters
53753ad2e6
[709/906] display: some more cleanups
2014-03-15 18:36:56 +01:00
Matthew Waters
c60d94f1bc
[708/906] display: a cleanup and removal of old code
2014-03-15 18:36:56 +01:00
Matthew Waters
c799696b48
[707/906] display: move error_message to utils
2014-03-15 18:36:56 +01:00
Matthew Waters
393b483743
[706/906] display: move activate_context into utils
2014-03-15 18:36:56 +01:00
Matthew Waters
ac4db593f8
[705/906] x11: don't shutdown in _finalize
...
The window's loop could be still running when _finalize is called
and if we destroy the display connection it will never be closed.
Add _open and _close vfuncs to GstGLWindow so that subclasses can
start up and shutdown at the right time.
2014-03-15 18:36:56 +01:00
Matthew Waters
13067b104c
[704/906] Use gst_object_[un]ref so we can get refcounts in the log
2014-03-15 18:36:56 +01:00
Matthew Waters
2d69905592
[703/906] x11: don't segfault if destroy_cb is NULL
2014-03-15 18:36:55 +01:00
Matthew Waters
6dfee9c975
[702/906] x11: fix segfault if the x11 backend is instantiated but not used
2014-03-15 18:36:55 +01:00
Matthew Waters
dbeb6a911b
[701/906] display: move context creation into window
2014-03-15 18:36:55 +01:00
Matthew Waters
5841abc5e4
[700/906] display: move most of the code into utils for sorting later
...
This contains a hack that essentially requires one GstGLDisplay
per process.
2014-03-15 18:36:55 +01:00
Matthew Waters
96114e62cb
[699/906] display: remove list of upload and download objects
...
and only create an up/download object when needed.
2014-03-15 18:36:55 +01:00
Matthew Waters
d76a61608d
[698/906] move sink-specific stuff from GstGLDisplay into glimagesink
2014-03-15 18:36:55 +01:00
Matthew Waters
ba9e2213fc
[697/906] display: allow the user to try and choose the GL api we use via env variable
...
GST_GL_API=opengl,opengl3,gles2,gles3
2014-03-15 18:36:55 +01:00
Matthew Waters
db3c98c688
[696/906] glapi: fix memory leak from not freeing a string
2014-03-15 18:36:55 +01:00
Matthew Waters
9adc3c8cf3
[695/906] build: remove libtool warning about -version-info not used in convenience libraries
2014-03-15 18:36:55 +01:00
Matthew Waters
52c31328e2
[693/906] x11_glx: ask for a 3.0 GL Context
...
(falling back if needed)
2014-03-15 18:36:55 +01:00
Matthew Waters
3af4ce25ff
[692/906] window_x11: add XError trapping
...
some functions in GLX can fail if the implementation does not support
certain features we ask for (i.e. GL 3) bringing down the entire
application
2014-03-15 18:36:55 +01:00
Matthew Waters
7f2770af7c
[691/906] feature: make gst_gl_check_extension public
...
prevents duplication of code of extension string parsing in GstGLWindow's
2014-03-15 18:36:55 +01:00
Matthew Waters
46decac44e
[690/906] windowx11glx: use fbconfigs if supported
2014-03-15 18:36:55 +01:00
Matthew Waters
a9106ccce9
[688/906] display: properly shutdown if we error after context creation
...
The _finalize() code checks to see if the context was created before
attempting to destroy it. We never did say that we had created the context.
2014-03-15 18:36:55 +01:00
Matthew Waters
6b41ea24e8
[685/906] filter: improve error handling
2014-03-15 18:36:54 +01:00
Matthew Waters
0551cfac70
[684/906] display: lack of format-string causing a compiler warning
2014-03-15 18:36:54 +01:00
Matthew Waters
59ea354253
[683/906] feature: remove double free
2014-03-15 18:36:54 +01:00
Matthew Waters
39e5b7c97f
[681/906] win32: fix gl api calls on 32-bit
...
win has the bright idea of having 5 different calling conventions.
we should probably use the right one so we don't crash from stack
corruption.
2014-03-15 18:36:54 +01:00
Matthew Waters
d77828d2cf
[680/906] overlay: tentative port to new GstGLFuncs API
2014-03-15 18:36:54 +01:00
Matthew Waters
d4fabed3e4
[678/906] window_win32_wgl: implement wglGetProcAddress for extension functions
2014-03-15 18:36:54 +01:00
Matthew Waters
74209b9e9e
[677/906] memory: fix GSIZE printf format on win32
2014-03-15 18:36:54 +01:00
Matthew Waters
8b0b154d6e
[676/906] windwo_win32: port to new API
2014-03-15 18:36:54 +01:00
Matthew Waters
7f69a236b9
[675/906] upload: provide nicer debugging
2014-03-15 18:36:54 +01:00
Matthew Waters
01e016d3f4
[674/906] feature: try and catch more GL extension functions
...
if we don't find the extension in core GL, try the extension version anyway
2014-03-15 18:36:54 +01:00
Matthew Waters
9e87a794dd
[673/906] feature: add gstreamer license
2014-03-15 18:36:54 +01:00
Matthew Waters
6aac3abe72
[672/906] display: constify GstGLFuncs *gl
2014-03-15 18:36:54 +01:00
Matthew Waters
7f3aaf504b
[671/906] win32: #include GL/glext.h on windows
...
also add some GL default variables if some GL types are not defined
2014-03-15 18:36:54 +01:00
Matthew Waters
ab0abf649f
[670/906] display: replace glib deprecated api
2014-03-15 18:36:54 +01:00
Matthew Waters
9e8eb32080
[669/906] window: seperate object creation and context creation
2014-03-15 18:36:53 +01:00
Matthew Waters
8b59321a7e
[668/906] shader: fix gles2 segfault
2014-03-15 18:36:53 +01:00
Matthew Waters
7fdc174bbb
[658/906] mixer: fix eos timestamp check
2014-03-15 18:36:53 +01:00
Matthew Waters
3d75c3d5af
[655/906] download: remove erronous ReadBuffer call
...
- it was causing segfaults in mesa
- we didn't set the readbuffer so we shouldn't reset it
2014-03-15 18:36:53 +01:00
Matthew Waters
3ceb7949a8
[652/906] bumper: port to non-GLEW + arrays
2014-03-15 18:36:53 +01:00
Matthew Waters
6bee1ffdd3
[651/906] up/download: fix some typos when removing GLEW
2014-03-15 18:36:52 +01:00
Matthew Waters
a6504181a3
[650/906] filter: fix _draw_texture()'s wrong vertices
2014-03-15 18:36:52 +01:00
Matthew Waters
7b03a572d9
[647/906] remove dependecy on glew
2014-03-15 18:36:52 +01:00
Matthew Waters
2f21abac2e
[646/906] some gl header fixes/additions
2014-03-15 18:36:52 +01:00
Matthew Waters
fcfe6b90a9
[645/906] fix gles2 compilation
2014-03-15 18:36:52 +01:00
Matthew Waters
4f90cd8a64
[644/906] update .gitignore for some new files
2014-03-15 18:36:52 +01:00
Matthew Waters
f4ccde9bf1
[643/906] display: privatise most of the struct
2014-03-15 18:36:52 +01:00
Matthew Waters
fa3c3b8434
[642/906] add gstglconfig.h for apps to find out what our capabilites are
...
ie libgstgl can be compiled with any combination of opengl/gles2
2014-03-15 18:36:52 +01:00
Matthew Waters
4e60858f01
[641/906] display: feature check for GL extension functions
2014-03-15 18:36:52 +01:00
Matthew Waters
fa44030aa3
[640/906] build: add missing file to built sources
2014-03-15 18:36:52 +01:00
Matthew Waters
05d26c78e0
[639/906] add get_proc_address implementations for egl and glx
2014-03-15 18:36:52 +01:00
Matthew Waters
4afc9f01e0
[638/906] window: add get_proc_address + stub for retrieving gl functions
2014-03-15 18:36:52 +01:00
Matthew Waters
d993ab7e4f
[637/906] x11_egl: add prelim support for choosing opengl or gles
2014-03-15 18:36:52 +01:00
Matthew Waters
809646505c
[636/906] window_x11: compact debug info
2014-03-15 18:36:52 +01:00
Matthew Waters
41518af6f2
[635/906] fixup compile errors
2014-03-15 18:36:52 +01:00
Matthew Waters
88a85e7e3b
[634/906] wayland egl: deactivate context before we destroy it
...
avoids a segfault with dri drivers
2014-03-15 18:36:51 +01:00
Matthew Waters
757618a986
[633/906] display: fail properly in context creation in order to minimize a race condition
...
previously, on context creation, when we failed to get a valid context
we would still atempt to run the window mainloop as well as setting an error
on the display. This would cause the calling element to finalize the display
and therefore attempt to quit the window mainloop. However the mainloop
may not have started running. Thus when the window mainloop ran it would
never a get a quit message and never end.
2014-03-15 18:36:51 +01:00
Matthew Waters
ca661a7719
[631/906] remove redefinition warnings in compiling tests
2014-03-15 18:36:51 +01:00
Matthew Waters
b11d8b8664
[630/906] display: add gl api checking
...
i.e. check for cases where the window wants a different API than
what the library was compiled with
2014-03-15 18:36:51 +01:00
Matthew Waters
76dfdd656f
[629/906] window: add GError for error handling of context creation
2014-03-15 18:36:51 +01:00
Matthew Waters
86844030d6
[627/906] shader: check for invalid objects
2014-03-15 18:36:51 +01:00
Matthew Waters
df8c489ada
[625/906] add vtable for opengl functions
...
The vtable provides the ability for one to compile (but not link)
against both OpenGL and GL|ES and starts the move away from GLEW
2014-03-15 18:36:51 +01:00
Matthew Waters
cc8e54541b
[624/906] OPENGL_ES2 => HAVE_GLES2 and add HAVE_OPENGL
...
use GstGLAPI to determine which code paths to execute.
perform some cleanups
2014-03-15 18:36:51 +01:00
Matthew Waters
bbd3b4dbd9
[623/906] move GL includes into a single file
2014-03-15 18:36:51 +01:00
Matthew Waters
59131a0eba
[622/906] add missing GL_STENCIL_ATTACHMENT for gles2 compatability
2014-03-15 18:36:51 +01:00
Matthew Waters
fd998dc0a5
[621/906] GstGLRendererAPI => GstGLAPI and get GstGLAPI from a window
2014-03-15 18:36:51 +01:00
Matthew Waters
46082f2c02
[620/906] wayland_egl: attempt at resizing the video
2014-03-15 18:36:51 +01:00
Matthew Waters
411a87fb0b
[619/906] fix typo for win32 debug variables
2014-03-15 18:36:51 +01:00
Matthew Waters
4a07c73c0c
[618/906] add wayland-egl window backend
2014-03-15 18:36:50 +01:00
Matthew Waters
e357b4aa13
[617/906] fix 'set but not used' compiler warnings
2014-03-15 18:36:50 +01:00
Matthew Waters
1679a0be7e
[616/906] move window-specific code into seperate subfolders
2014-03-15 18:36:50 +01:00
Matthew Waters
7102b5b6ce
[615/906] preliminary support for Win32 EGL
2014-03-15 18:36:50 +01:00
Matthew Waters
d7d1627229
[614/906] try GLX first when using ANY | OPENGL | OPENGL3
2014-03-15 18:36:50 +01:00
Matthew Waters
48ccfcc918
[613/906] window_cocoa: fix segfault with gst-launch-1.0 -e ... and sending SIGINT (Ctrl-C)
...
GNUstep has a signal handler for SIGINT which runs in the main thread.
However that thread has never been 'registered' with GNUstep so
the autorelease magic of objective-c causes a segfault from accessing
a null NSThread object somewhere deep in GNUstep.
2014-03-15 18:36:50 +01:00
Matthew Waters
c080c6c910
[612/906] remove GNUstep makefiles
2014-03-15 18:36:50 +01:00
Matthew Waters
6781fdbcff
[611/906] cocoa port of determining gl platform at runtime
2014-03-15 18:36:50 +01:00
Matthew Waters
78d7965882
[610/906] WindowX11EGL: remove get_platform call
2014-03-15 18:36:50 +01:00
Matthew Waters
3cf1b078bc
[609/906] win32 port of determining GL platform at runtime
...
- add GstGLWindowWin32 and GstGLWindowWin32WGL along the same lines as the
X11 variants
2014-03-15 18:36:50 +01:00
Matthew Waters
e47b04c460
[608/906] add GST_GL_PLATFORM_ANY for choosing any platform
2014-03-15 18:36:50 +01:00
Matthew Waters
0c66b39861
[607/906] remove get_platform and get_window_handle vfuncs
...
- rename choose_visual() to choose_format() for later incorporating
win32 changes and new GstGLPlatform for WGL, EGL, GLX, etc.
2014-03-15 18:36:50 +01:00
Matthew Waters
1984fa3b7f
[606/906] determine the GL platform to use at runtime
...
- Make GstGLWindow subclassablerather than specified at compile time.
- Add GstGLWindowX11 for x11 windows and two subclasses, GstGLWindowX11GLX
and GstGLWindwX11EGL for GLX and EGL repectively. (win32 and cocoa
ports to come)
- Also cleanup GL library detection in configure.ac
2014-03-15 18:36:50 +01:00
Matthew Waters
13ec239924
[605/906] shader: move to gst debugging
2014-03-15 18:36:50 +01:00
Matthew Waters
93f7e993ad
[603/906] update FSF address
2014-03-15 18:36:50 +01:00
Matthew Waters
d01755fcc5
[601/906] fix typo causing shader compilation failure for uploading I420
2014-03-15 18:36:49 +01:00
Matthew Waters
12bf1cfa27
[600/906] docs: add docs for new objects and expand on some existing ones
2014-03-15 18:36:49 +01:00
Matthew Waters
11508f6f7a
[599/906] GL|ES2: fix typos from recent changes and make downloading RGB formats work again
2014-03-15 18:36:49 +01:00
Matthew Waters
e969f6d904
[594/906] filter: update for up/download API changes and scaling fixes
2014-03-15 18:36:49 +01:00
Matthew Waters
fad1b94c41
[592/906] memory: update for up/download API changes
2014-03-15 18:36:49 +01:00
Matthew Waters
9086b0c870
[591/906] mixer: save the upload object instead of querying for it every frame
2014-03-15 18:36:49 +01:00
Matthew Waters
4716682c55
[590/906] up/download: fix scaling on transfer
...
i.e. uploading from a 10x10 video frame to a 20x20 texture into another 30x30 videoframe
2014-03-15 18:36:49 +01:00
Matthew Waters
4cbefd4f09
[587/906] mixer: mirror the changes done for filter
2014-03-15 18:36:49 +01:00
Matthew Waters
28863c4bb4
[586/906] fix up some debug statements to get them into the right categories
2014-03-15 18:36:49 +01:00
Matthew Waters
d9d8946351
[583/906] deinterlace: change for new API
...
also allow elements to call the _filter_texture vfunc if they want
2014-03-15 18:36:48 +01:00
Matthew Waters
e89266b664
[581/906] filter: add seperate filter function for operating on textures instead of buffers
2014-03-15 18:36:48 +01:00
Matthew Waters
558e10be0f
[580/906] bufferpool: remove obselete gl meta buffer pool options
2014-03-15 18:36:48 +01:00
Matthew Waters
cfafeea297
[579/906] download: fix YV12 format
...
same as I420 but plane 1+2 swapped
2014-03-15 18:36:48 +01:00
Matthew Waters
5aa048e53b
[578/906] {up,down}load: add variants that can be called in the gl thread
2014-03-15 18:36:48 +01:00
Matthew Waters
8f4c270ae1
[576/906] remove uneeded GstGLMeta (use GstVideoMeta)
2014-03-15 18:36:48 +01:00
Matthew Waters
fa9a4d6862
[575/906] filter: port to new upload/download
2014-03-15 18:36:48 +01:00
Matthew Waters
5d1395f435
[574/906] memory: implement transperent upload/download for data
...
(not async yet)
2014-03-15 18:36:48 +01:00
Matthew Waters
88cb7e3060
[573/906] add upload and download library objects
...
allows multiple upload pipelines that previously wasn't possible
(i.e. upload RGB and I420 and ... on the same GstGLDisplay)
2014-03-15 18:36:48 +01:00
Matthew Waters
aebcacecf8
[571/906] mixer: fix deadlock on shutdown
...
didn't reiterate over the sinkpad's displays and reactivate them causing a deadlock
2014-03-15 18:36:48 +01:00
Matthew
ed1f04acab
[568/906] window: fix public definitions
2014-03-15 18:36:47 +01:00
Matthew
20406c1de3
[567/906] fix OpenGL|ES2 ifdef'ed code
2014-03-15 18:36:47 +01:00
Matthew Waters
863f21b1f6
[564/906] glmemory: remove unused typedef
2014-03-15 18:36:47 +01:00
Matthew Waters
3f94f31c3d
[563/906] readd support for hanging GL pipelines e.g. ... ! gleffects ! fakesink
2014-03-15 18:36:47 +01:00
Matthew Waters
6de0b127d7
[562/906] gldisplay: fix download of YUV formats
2014-03-15 18:36:47 +01:00
Matthew Waters
7627755581
[561/906] gldisplay: fix endianess issues on RGB download
2014-03-15 18:36:47 +01:00
Matthew Waters
de25a454ce
[559/906] glmixer: pass the mixpad's display to the querying element
2014-03-15 18:36:47 +01:00
Matthew Waters
ce6c6b5065
[555/906] Make the query for a GstGLDisplay a pad peer query
...
Allows the query to pass through bin boundaries and makes it possible for
arbitrary gl elements to be placed in bins.
2014-03-15 18:36:47 +01:00
Matthew Waters
0ef8174881
[554/906] GstGLMemory: update for GstAllocator API changes
2014-03-15 18:36:47 +01:00
Matthew Waters
3affb44884
[544/906] fix memory leaks from not g_free()ing string returned by gst_element_get_name
2014-03-15 18:36:46 +01:00
Matthew Waters
972cd421c7
[543/906] GstGLDisplay: fix segfault from GST_PTR_FORMAT trying to expand the object
2014-03-15 18:36:46 +01:00
Matthew Waters
fe1ce6a7ff
[542/906] GstGLMixer: add allocation and bufferpool methods
...
based off GstBaseTransform
2014-03-15 18:36:46 +01:00
Matthew Waters
a44326f86e
[532/906] GstGLFilter: implement allocation vfuncs
2014-03-15 18:36:45 +01:00
Matthew Waters
ec782a5f27
[528/906] GstGLMeta: seperate upload/download/normal GL caps video formats
...
differentiate between upload, download and GL caps
2014-03-15 18:36:45 +01:00
Matthew Waters
796d326b74
[527/906] GstGLDisplay: add some trace debugging
2014-03-15 18:36:45 +01:00
Matthew Waters
0e5daa29f7
[524/906] GstGLDisplay: rework the download code
...
data paramaters now take GstVideoFrame
remove redundant parameters
2014-03-15 18:36:45 +01:00
Matthew Waters
1ec68db8f0
[522/906] GstGLDisplay: add forgotten function definition
2014-03-15 18:36:45 +01:00
Matthew Waters
2141571de9
[521/906] GstGLMemory: update for GstAllocator changes
2014-03-15 18:36:45 +01:00
Matthew Waters
3ff83c0f37
[520/906] GstGLMixer: fix for GstChildProxy changes
2014-03-15 18:36:45 +01:00
Matthew Waters
69997e311f
[517/906] add GstGLBufferPool
...
which adds GstGLMeta to buffers
2014-03-15 18:36:45 +01:00
Matthew Waters
53dddca0f6
[516/906] add skeleton GstGLMeta
...
the GstVideoMeta _map/unmap functions still need implementing
2014-03-15 18:36:44 +01:00
Matthew Waters
369905e5bd
[515/906] GstGLDisplay: rework gen_texture and upload
...
rename functions so that other code can create textures in the GL thread
change upload functions to take a GstVideoFrame
default to GLSL for upload conversion
2014-03-15 18:36:44 +01:00
Matthew Waters
1331611094
[514/906] add GstGLMemory and allocator
...
implement custom GstMemory for GL textures
currently map/unmap returns NULL although it might be favourable to upload/download/cache the image data
2014-03-15 18:36:44 +01:00
Matthew Waters
71c6aae707
[513/906] Remove GstGLBuffer (to be replaced by GstGLMeta)
2014-03-15 18:36:44 +01:00
Matthew Waters
e07dd2908e
[512/906] GstGLMixer: update for 1.0 based on the videomixer2 element in -good
2014-03-15 18:36:44 +01:00
Matthew Waters
528816def4
[509/906] GstGLDisplay: update for 1.0
2014-03-15 18:36:44 +01:00
Matthew Waters
4611fd3301
[504/906] GstGLFilter: update for 1.0
...
-fix up function definitions
-remove _prepare_output_buffer (functionality taken over by GstBufferPool).
2014-03-15 18:36:44 +01:00
Matthew Waters
d66bd69b36
[503/906] Rename GST_BOILERPLATE_* to G_DEFINE_TYPE_* and move _base_init into _class_init
2014-03-15 18:36:44 +01:00
Matthew Waters
6f2acb94c6
[502/906] Update versioning for gstreamer 1.0
...
Renames GST_MAJORMINOR to GST_API_VERSION in build files
removes -lgstinterfaces from _LDADD flags
2014-03-15 18:36:44 +01:00
Raimo Järvi
fa18db91ed
[501/906] Fix building on 64 bit mingw-w64
...
https://bugzilla.gnome.org/show_bug.cgi?id=676428
2014-03-15 18:36:44 +01:00
Julien Isorce
cb77b00501
[500/906] gldisplay: do not call glCheckFramebufferStatus if 0 is bound
...
Indeed it may return GL_FRAMEBUFFER_UNDEFINED if there is no
default framebuffer.
It seems to be the case on MacOSX
2014-03-15 18:36:43 +01:00
Julien Isorce
0c7080e7a1
[498/906] gldisplay: don't pass non-constant strings as printf format strings
...
Fixes 'format not a string literal and no format arguments' on darwin
2014-03-15 18:36:43 +01:00
Julien Isorce
5d752d6422
[497/906] filtershader: fix format compiler warnings
2014-03-15 18:36:43 +01:00
Julien Isorce
a1649a497a
[495/906] glES2.0: properly use glDeleteShader
2014-03-15 18:36:43 +01:00
Julien Isorce
7e45f26a21
[494/906] cmake build: use config.h from win32/common and add some guidelines
2014-03-15 18:36:43 +01:00
Julien Isorce
201d3992d2
[492/906] glwindow: properly fails if resource not found
2014-03-15 18:36:43 +01:00
Julien Isorce
052c23c3c5
[491/906] glES2.0: properly fails if driver/kernel inconsistency
2014-03-15 18:36:43 +01:00
Julien Isorce
2394987226
[490/906] gldisplay: error out instead of g_assert
2014-03-15 18:36:43 +01:00
Julien Isorce
b88351ad0c
[488/906] libvisual-gl: full compatibility with projectM-libvisual if libprojectM >= 2.0.1
...
Fix bug #310775
2014-03-15 18:36:43 +01:00
Julien Isorce
6f1530c658
[486/906] libvisual-gl: add minimal support to libvisual plugins that uses Framebuffer objects
...
Fix bug #310775
gst-launch audiotestsrc ! libvisual_gl_projectM ! glimagesink is working
but for now you cannot append any other opengl filters between
libvisual_gl_projectM and glimagesink because our FBO is turned OFF.
It would require that libvisual allows to split rendering between
pass1,2,3... and final rendering. In order to unbind our FBO before
the passN, and then rebind it just before the final libvisual rendering.
2014-03-15 18:36:43 +01:00
Julien Isorce
06d73faac4
[485/906] gstgldisplay: turn off texture binding and read buffer when downloading rgb is done
...
It fixes: (black image before)
gst-launch-0.10 audiotestsrc ! libvisual_gl_lv_gltest ! gldownload ! ximagesink
and
gst-launch-0.10 audiotestsrc ! libvisual_gl_lv_gltest ! gldownload ! glimagesink
2014-03-15 18:36:43 +01:00
Julien Isorce
5091066426
[483/906] glelements: do not leak parent when using gst_pad_get_parent
2014-03-15 18:36:43 +01:00
Julien Isorce
f639d6096d
[481/906] feature checking: error out instead of doing nothing if an OpenGL feature is not present
...
Fix bug #572767
2014-03-15 18:36:42 +01:00
Julien Isorce
9e535a0410
[480/906] win32 builds: add glshader filter sources to vs9 and codeblocks
...
Also fix some warnings from msvc9 and mingw-3.4.5
2014-03-15 18:36:42 +01:00
Руслан Ижбулатов
e44c1040fe
[479/906] gstglshadervariables: strtok_r is not multiplatform
...
Fix bug #664367
2014-03-15 18:36:42 +01:00
Wei Feng
2509eab48b
[478/906] OpenGL ES 2.0: include glib.h to use G_BEGIN_DECLS in gstgles2.h
...
Fix bug #631019
2014-03-15 18:36:42 +01:00
Julien Isorce
591b4282ed
[477/906] OpenGL ES 2.0: fix build since glfiltershader changes
2014-03-15 18:36:42 +01:00
Antoni Silvestre
b640cbc542
[476/906] OpenGL ES 2.0: fix build and disable some examples
...
Fix bug #631019
2014-03-15 18:36:42 +01:00
Luc Deschenaux
268f1a30b2
[471/906] glshader: add dynamic fragment shader filter
...
Also add fragment shader parser
Fix bug #600195
2014-03-15 18:36:42 +01:00
Julien Isorce
d21aaa22bf
[467/906] tests: various build fixes
...
- cmake could not find glib
- put gtk variables at the beginning to avoid GL conflicts
- update examples to clutter-1.8
- use const instead of deprecated G_CONST_RETURN
- set max pending events to 0 to make cube example works again
2014-03-15 18:36:42 +01:00
Tim-Philipp Müller
0cefeead18
[463/906] Add some more G_{BEGIN,END}_DECLS to public headers
...
https://bugzilla.gnome.org/show_bug.cgi?id=637260
2014-03-15 18:36:41 +01:00
Stefan Kost
edefb7826c
[462/906] various: add missing G_PARAM_STATIC_STRINGS flags
...
Canonicalize property names as needed. Includes some gst-indent changes as well :/
2014-03-15 18:36:41 +01:00
Jan Schmidt
f9c64dfdea
[459/906] Fix distcheck.
2014-03-15 18:36:41 +01:00
Julien Isorce
2c43a348fa
[456/906] glfilter/glmixer/gltestsrc/glupload: throw an element error if no parent bin
...
Fixes bug #602153
2014-03-15 18:36:41 +01:00
Julien Isorce
2b46c87bd0
[455/906] glimagesink: handle pixel-aspect-ratio
2014-03-15 18:36:41 +01:00
Filippo Argiolas
270ce448e4
[443/906] sobel: move some highly duplicated code into glfilter
...
Add a new convenience function in GstGLFilter that just draws an input
texture to a target texture using a simple shader with just a "tex"
uniform sampler.
Move draw_texture from glfiltersobel to glfilter. Still need to update
other plugins to this.
2014-03-15 18:36:40 +01:00
Julien Isorce
b0352753d4
[432/906] GstGLDisplay: this is GL_DEPTH24_STENCIL8_EXT, not GL_DEPTH24_STENCIL8_EXT
2014-03-15 18:36:40 +01:00
Pierre Pouzol
2beb8aa729
[431/906] GstGLDisplay: enable stencil buffer when using framebuffer objects.
...
Fixes Bug #612159
2014-03-15 18:36:40 +01:00
Nicholas Panayis
e6195bf5a3
[415/906] gstglwindow_win32: share opengl context in correct order
...
Allow to use the opengl context sharing feature if the original
context has been used already.
This is only possible on win32 with wglShareLists because on other
backends, the sharing is made when a context is created.
This new feature is only usefull when using external context
because gst-gl internally makes sure that the orginal context is not
already used when sharing it.
Fix bug #611067
2014-03-15 18:36:39 +01:00
Julien Isorce
8937128d62
[412/906] Cocoa backend: improve support on GNUStep
2014-03-15 18:36:38 +01:00
Julien Isorce
1ae95c42de
[411/906] gstglmixer: copy/past recent changes from gstvideomixer
2014-03-15 18:36:38 +01:00
Julien Isorce
e356b7d1ed
[410/906] gstglmixer: inactivate shared gl context before to release ours
...
First, inactivate shared gl contexts known by each sink pad.
Then, destroy the gl context known by the glmixer.
Finally, re-activate shared gl contexts.
This is to satisfy the fact that no shared gl context must be current
when an opengl context is destroyed.
Moreover the application may hang or crash without those steps.
2014-03-15 18:36:38 +01:00
Julien Isorce
9e22a5e0e6
[407/906] winCE backend: fix build
2014-03-15 18:36:38 +01:00
Julien Isorce
3e1bffc802
[406/906] glimagesink: add a client-data property
...
Also add it to glfilterapp.
Fixes #559131
2014-03-15 18:36:38 +01:00
Julien Isorce
a6a5ee2839
[405/906] glfilter: add external-opengl-context property
...
It repairs the cluttershare and sdlshare example
2014-03-15 18:36:38 +01:00
Jan Schmidt
d9c6eaf72f
[403/906] gstglmixer: Initialise the debug category
...
Initialise the gstglmixer debug category before using it.
2014-03-15 18:36:38 +01:00
Julien Isorce
32e401427f
[400/906] gstgldisplay: no need the I420 work around if ATI Mobility
...
fix #588653
2014-03-15 18:36:38 +01:00
Julien Isorce
48575c93ec
[399/906] glmixer: fix when no more gl elements after it
...
For example:
videotestsrc ! glupload ! ... ! glfiter ! ... ! glmosaic ! fakesink
Usefull when using glmixer inside cluttershare or sdlshare cases.
2014-03-15 18:36:38 +01:00
Pratheesh Gangadhar
34c5e17187
[394/906] gstgldisplay: use of GL_DEPTH_COMPONENT16 if OpenGL ES 2.0
...
glRenderbufferStorage does not accept GL_DEPTH_COMPONENT in
OpenGL ES 2.0.
Fix bug #593786
2014-03-15 18:36:37 +01:00
Julien Isorce
aeb793497d
[393/906] glmosaic: for now it's a cube mosaic
...
Also use GPtrArray instead of GArray in glmixer.
And add a pipeline to tests/pieplines
2014-03-15 18:36:37 +01:00
Julien Isorce
954b3a52c8
[391/906] Cocoa: fix backend since recent changes
...
Before, the window size was given at its creation. Now, it's done at
the drawing step because it's only relevant when there is a glimagesink
element in the pipeline.
2014-03-15 18:36:37 +01:00
Julien Isorce
62f961a28e
[389/906] fix codeblocks build on win32
2014-03-15 18:36:37 +01:00
Julien Isorce
42720ef3ff
[388/906] just fix builds and indent
2014-03-15 18:36:37 +01:00
Julien Isorce
db7d436bd8
[387/906] glmixer: add a glmixer base element
...
glmixer can be seen as a glfilter except it handles N requested
sink pads.
Each sink pad and the src pad are video/x-raw-gl.
glmixer is responsible for managing different framerates from inputs.
It uses OpenGL context sharing. It means that each input is in its
own OpenGL context shared together and shared with the OpenGL context
of the ouput gl chain.
Also add a glmosaic which is an example of implementation of glmixer.
For now glmosaic is a cube but it will be fixed in the next commits.
For now the glmixer has some weird behaviours in some configurations
but it will be improved in the next commits.
The autotools builds is temporarly broken since those changes
have been made on win32.
2014-03-15 18:36:37 +01:00
Julien Isorce
65f4d40e6d
[385/906] rewrite the way a gstgldisplay is transmited to the gl elements
...
Before, a gstgldisplay was instancied by the gl src in terms of gl chain.
And then the next element got it through the first gstglbuffer.
Now, this is done though queries.
All glelements get their ref on a gstgldisplay in READY state.
This rewrite is mainly a first step to be able to share OpenGL context hold
by the gstgldisplay using more complex glelements.
For example, with a glvideomixer. The associated gstgldisplay of each gl chain
of the sink pads will share their OpenGL context.
2014-03-15 18:36:37 +01:00
Stefan Kost
3b0a88850d
[384/906] build: use <stdio.h> / "stdio.h"
2014-03-15 18:36:37 +01:00
Stefan Kost
252b406547
[383/906] build: include <stdio.h> when using printf & co.
2014-03-15 18:36:37 +01:00
Julien Isorce
3700180345
[382/906] ES2.0: remove warnings
...
Partially fix #593786
2014-03-15 18:36:37 +01:00
Julien Isorce
c2c15214a8
[381/906] EGL and GLX:: set a minimum depth size
2014-03-15 18:36:37 +01:00
Julien Isorce
30631c4626
[378/906] gldisplay: avoid to request gl thread when deleting a texture
...
A texture is not destroyed when when we are done with it.
This texture is just added to the texture pool in order to be
re-used. In this case no OpenGL code is executed so we do not need to
request gl thread.
2014-03-15 18:36:36 +01:00
Julien Isorce
192bf749ea
[377/906] gldisplay: avoid to request gl thread when generating a texture
...
Thanks to the texture pool the gl textures are re-used.
When re-using one, no opengl code is executed so do not need
to request gl thread.
2014-03-15 18:36:36 +01:00
Stefan Kost
1cb459d4d5
[376/906] build: support openGLES on linux via autofoo. Partialy fixes #593786
...
Add a pkg-config check for opengl and if not found assume opengl-es. If user has
none of both one still get build error later on (there is no pkg-config for
opengl-es).
Add more files to EXTRA dist and build the opengles variant if selected.
Simmilar changes could be done for the winCE backend.
2014-03-15 18:36:36 +01:00
Julien Isorce
d9c055246f
[369/906] define missing glew macro on older versions
2014-03-15 18:36:36 +01:00
Julien Isorce
3107266d81
[368/906] Cocoa backend: fix crash when resizing
...
Default implementation of NSOpenglView::update is not safe because it
just calls update on the opengl context whereas we are not in the gl thread.
Also fix the white flickering when resizing, because now we need to call
the draw callback manually when resizing.
2014-03-15 18:36:36 +01:00
Julien Isorce
ca891db2a6
[365/906] Cocoa backend: make sure that nsapp is initialized
...
gst-launch-0.10 videotestsrc ! tee name=t ! queue ! glimagesink t. ! queue ! glimagesink
now works properly on MacOSX
2014-03-15 18:36:36 +01:00
Julien Isorce
579b74d845
[364/906] make the cmake build work on MacOSX
...
We can now generate a Xcode project (or Unix Makfiles),
see INSTALL file
2014-03-15 18:36:36 +01:00
Julien Isorce
89fe233c52
[363/906] Cocoa backend: fix crash when closing
...
- All gstglwindow members are now modified only in the gl thread
to avoid thread concurrency
- OpenGL context is now properly clean
- fix a couple of things in implementation of xoverlay interface
2014-03-15 18:36:36 +01:00
Julien Isorce
a9ab2abea4
[362/906] make cocoa backend work on MacOSX
...
It works with both gst-launch and a cocoa app (non-embedded and embedded)
But there is still some problems:
- sometimes crash when closing
- flickering when resizing
- embedded mode not perfect
I will first make the CMake build work with cocoa backend
in order to generate a XCode project.
Then it should be easier to fix those issues.
2014-03-15 18:36:36 +01:00
Jan Schmidt
1a070f378b
[358/906] gstgldisplay: Close a small race starting the display thread
...
Take the display lock before signalling the create-context cond
to ensure the caller has dropped the lock and is therefore listening
for the signal.
2014-03-15 18:36:35 +01:00
Jan Schmidt
b1dccdb13c
[357/906] x11: Don't crash when the X11 display is not available.
...
Error out cleanly instead of crashing when the X11 display can't
be contacted.
2014-03-15 18:36:35 +01:00
Jan Schmidt
f5ac0a784d
[352/906] fix typo
...
Change GST_GL_DISPLAY_PROJECTION_PERSPECIVE to
GST_GL_DISPLAY_PROJECTION_PERSPECTIVE.
Re-indent a couple of files that needed it.
2014-03-15 18:36:35 +01:00
Julien Isorce
ae4f96ec93
[350/906] fix window position when using xoverlay
...
x, y are the coordinates of the position inside
the new parent window.
Fixes #584877
2014-03-15 18:36:35 +01:00
Julien Isorce
6292d5af16
[349/906] can switch xoverlays while playing
...
Fixes bug #584877
Before this commit calling "gst_x_overlay_set_xwindow_id" more
than one time, had no effect.
It mainly affects the glimagesink implementation.
But on win32 (and CE), some stuff has to be done to
release the old parent.
And add a switchxoverlay example where the user
can click on left/right part of the main window to
switch the xoverlay.
2014-03-15 18:36:35 +01:00
LRN
d1893e0e7e
[347/906] fix miscast of a pointer in SetWindowLongPtr
...
GCC 4.4.0 complains error: cast from pointer to integer of different size
Fixes #584678 .
2014-03-15 18:36:35 +01:00
Sebastian Dröge
64e59060e2
[346/906] Fix linking by providing libtool the correct --tag parameter
2014-03-15 18:36:35 +01:00
Julien Isorce
58e392f129
[337/906] Improve cluttershare example
...
Use clutter_threads_API.
When just using glupload from rgb, we have to be sure that
the upload texture is not in use in our gst gl context.
2014-03-15 18:36:34 +01:00
Julien Isorce
d0d5eb1f22
[336/906] [x11/x11ES] fix some pointer cast warnings
2014-03-15 18:36:34 +01:00
Julien Isorce
fe24b86d8a
[335/906] [cocoa] update since interface changed
2014-03-15 18:36:34 +01:00
Julien Isorce
911cf141c4
[334/906] [win32/winCE] fix some pointer cast warnings with mingw
...
And turn off deprecated Wp64 msvc compiler option.
2014-03-15 18:36:34 +01:00
Julien Isorce
bcc33ab716
[333/906] add force-aspect-ratio support
2014-03-15 18:36:34 +01:00
Julien Isorce
f735c06c4a
[331/906] indent and fix some compiler warnings
2014-03-15 18:36:34 +01:00
Julien Isorce
87a1652216
[330/906] Can now share textures with an external gl context
...
The external opengl context must be specify when creating
our OpenGL context (glx) or just after (wgl).
When calling glXCreateContext or wglShareLists, the
external opengl context must not be current.
Then our gl context can be current in the gl thread while
the external gl context is current in an other thread.
See tests/examples/clutter/cluttershare.c
2014-03-15 18:36:34 +01:00
David Schleef
b47fc234ef
[329/906] Build for Cocoa on darwin, with various fixes
2014-03-15 18:36:34 +01:00
Julien
bf0b1fa1ab
[327/906] fix init FBO's texture attachment on ES 2.0
2014-03-15 18:36:34 +01:00
Julien
bb0781a389
[326/906] add X backend for OpenGL ES 2.0
2014-03-15 18:36:34 +01:00
Julien Isorce
1385371e6c
[322/906] [download YUY2/UYVY] fix a regression
...
The call to glLoadIdentity was removed by mistake during
OpenGL ES 2.0 integration.
2014-03-15 18:36:33 +01:00
Julien Isorce
ec0bb66fe9
[321/906] add OpenGL ES 2.x support.
...
In OpenGL 2.x for Embedded System, a lot of basic scene/draw functions
have been removed. It means that everything is made using vertex and
fragment shaders.
I have also added a gstglwindow backend for winCE that uses EGL
(Native Platform Graphics Intercace) (which is a full part of
OpenGL ES specification). It remove the use of wgl/glx functions.
2014-03-15 18:36:33 +01:00
Julien Isorce
37b29ac10c
[320/906] fix position and content rect
2014-03-15 18:36:33 +01:00
Julien Isorce
b5778a90d7
[319/906] [win32 backend] fix transmition message to the parent.
...
The Qt mouvexoverlay example shows how to rotate the cube
by moving (+click) the mouve over a qwidget using xoverlay
interface.
2014-03-15 18:36:33 +01:00
Julien Isorce
9584a5ddfd
[318/906] rename GNUmakefile(s) to GNUmakefile(s).gnustep
2014-03-15 18:36:33 +01:00
Julien Isorce
49c903d156
[317/906] implement gstglwindow for Cocoa (MacOS and GNUstep)
2014-03-15 18:36:33 +01:00
Julien Isorce
b2143adee3
[315/906] add GNUstep build
2014-03-15 18:36:33 +01:00
David Schleef
d015d5862d
[310/906] Global reindent
...
Indent parameters:
INDENT_PARAMETERS="--braces-on-if-line \
--case-brace-indentation0 \
--case-indentation2 \
--braces-after-struct-decl-line \
--line-length80 \
--no-tabs \
--cuddle-else \
--dont-line-up-parentheses \
--honour-newlines \
--continuation-indentation4 \
--tab-size8 \
--indent-level2"
2014-03-15 18:36:33 +01:00
Sebastian Dröge
3fbd8bbd24
[309/906] Replay: Fix callbacks passed over XEvents on 64 bit architectures
...
Althought the XEvent's xclient.data.l array is an array of
longs they will be constrained to 32 bit by the X11 protocol.
On 64 bit architectures use two elements of the array to store
one pointer.
This fixes segfaults that happen at least for every example
on startup.
2014-03-15 18:36:32 +01:00
Julien Isorce
4d4e3ad4f9
[306/906] fix CMake build and frozen CodeBlocks build
2014-03-15 18:36:32 +01:00
Julien Isorce
92e733dce0
[304/906] only load RGBA files.png
2014-03-15 18:36:32 +01:00
Julien Isorce
994a25ca7e
[301/906] depends on libpng instead of gdk_pixbuf
2014-03-15 18:36:32 +01:00
David Schleef
43e574aa8f
[298/906] Revert "Fix indention"
...
This reverts commit 96e4ab18c2cf9876f6c031b9aba6282d0bd45a93.
You should have asked first. And you would have been told "no",
because it causes people on development branches to do a huge
amount of extra work.
2014-03-15 18:36:32 +01:00
David Schleef
5a82aee272
[297/906] Revert "Fix callbacks passed over XEvents on 64 bit architectures"
...
This reverts commit 280771d09b58617b27201027de0e1194da376e72.
2014-03-15 18:36:32 +01:00
Sebastian Dröge
1b531037c5
[296/906] Fix callbacks passed over XEvents on 64 bit architectures
...
Althought the XEvent's xclient.data.l array is an array of
longs they will be constrained to 32 bit by the X11 protocol.
On 64 bit architectures use two elements of the array to store
one pointer.
This fixes segfaults that happen at least for every example
on startup.
2014-03-15 18:36:32 +01:00
Sebastian Dröge
369b1d4ff2
[295/906] Fix indention
2014-03-15 18:36:32 +01:00
Sebastian Dröge
59c3f33743
[294/906] Fix format string compiler warnings by using G_GUINT64_FORMAT
2014-03-15 18:36:32 +01:00
David Schleef
b15277ba0b
[291/906] Add check for GLEW_EXT_framebuffer_object
2014-03-15 18:36:31 +01:00
David Schleef
caccdc1ee8
[290/906] Set GL_LIBS correctly in configure.ac
...
This doesn't detect the existence of libraries, which needs to
be fixed.
2014-03-15 18:36:31 +01:00
David Schleef
e4b26b46fd
[289/906] build fixes for Windows libraries
2014-03-15 18:36:31 +01:00
Julien Isorce
e141366934
[288/906] add more debug ouputs about GLSL and mesa
2014-03-15 18:36:31 +01:00
julien
0e45b730e8
[287/906] fix a regression about glXChooseVisual which failed when using mesa, so attributes must be less restrictives.
2014-03-15 18:36:31 +01:00
Julien Isorce
7975cac1ea
[286/906] [win32] Register window class in gst_gl_window_class_init
2014-03-15 18:36:31 +01:00
Julien Isorce
4b53383385
[285/906] fix gl framerate in gst caps. Consider position in xoverlay. Fix inversion bettween COLS and ROWS, and move windows.
2014-03-15 18:36:31 +01:00
Julien Isorce
0d2c7b20fd
[284/906] workaround about the ATI shader compiler on linux (setlocale)
2014-03-15 18:36:31 +01:00
Julien Isorce
98acd38039
[283/906] better result in cube and doublecube example. And some clean up debug and comments
2014-03-15 18:36:31 +01:00
Julien Isorce
0ada2fab05
[282/906] update CMake build
2014-03-15 18:36:31 +01:00
Julien Isorce
1fbc72393c
[281/906] Make cube example work on x11. Finish TODO task 9.
2014-03-15 18:36:31 +01:00
Julien Isorce
c8c7f8733b
[280/906] Remove set_visible, because it's now automatically done when the first post redisplay comes.
2014-03-15 18:36:31 +01:00
Julien Isorce
34e4a534e2
[279/906] finish set_xwindow_id (gst_gl_window_set_external_win_id): child is resized at the same time as the parent is.
2014-03-15 18:36:31 +01:00
Julien Isorce
a8105b91a6
[278/906] Implement set_xwindow_id (gst_gl_window_set_external_window_id).
2014-03-15 18:36:31 +01:00
Julien Isorce
ed96a2f5ad
[277/906] open x client connection for sender only at start up
2014-03-15 18:36:31 +01:00
Julien Isorce
4a2f97e4e5
[276/906] better deal with last pending custom cb and destroy_context_cb
2014-03-15 18:36:31 +01:00
Julien Isorce
3dd5eb98e6
[275/906] Make sure the gl ressoures are destroyed before to destroy gl window
2014-03-15 18:36:30 +01:00
Julien Isorce
f2c3f8baa3
[274/906] add some other debug outputs and checks
2014-03-15 18:36:30 +01:00
Julien Isorce
94f74d4b50
[273/906] add some debug outputs about Visual and XVisualInfo
2014-03-15 18:36:30 +01:00
Julien Isorce
4ffac649e9
[272/906] add a visible member to deal better with the first expose events
2014-03-15 18:36:30 +01:00
Julien Isorce
968e1dabb3
[271/906] revert last commit because the crash comes from libselinux
2014-03-15 18:36:30 +01:00
Julien Isorce
8e4c8b2c45
[270/906] fix use of different Display structures which point on the same display name
2014-03-15 18:36:30 +01:00
Julien Isorce
e7c8f724e1
[269/906] Better deal with XNextEvent and XSendEvent
2014-03-15 18:36:30 +01:00
Julien Isorce
6eb98ba7ad
[268/906] Better deal with Atoms
2014-03-15 18:36:30 +01:00
Julien Isorce
3b0a4180c1
[267/906] Get ride of calling sleep in gl thread X loop
2014-03-15 18:36:30 +01:00
Julien Isorce
1a6b2ce780
[266/906] secure close when clicking on the cross
2014-03-15 18:36:30 +01:00
Julien Isorce
747e2cf0de
[264/906] Rewrite gstglwindow_x11.c because X API is not thread safe.
2014-03-15 18:36:30 +01:00
Julien Isorce
d7b959a1e4
[263/906] discard x custom messages which are of date
2014-03-15 18:36:30 +01:00
Julien Isorce
d404163d79
[262/906] Works on linux but still some bugs. Fix autotools build.
2014-03-15 18:36:30 +01:00
Julien Isorce
c683760189
[261/906] implement quit x message loop
2014-03-15 18:36:30 +01:00
Julien Isorce
bc1d62d089
[260/906] try to make XSendEvent blocker (as win32 SendMessage is)
2014-03-15 18:36:30 +01:00
Julien Isorce
714054a647
[259/906] continue x implementation (but still not tested)
2014-03-15 18:36:30 +01:00
Julien Isorce
a07ce6dbb3
[258/906] setup x message loop
2014-03-15 18:36:30 +01:00
Julien Isorce
cfd7f1be38
[257/906] begin gstglwindow_x11.c implementation
2014-03-15 18:36:29 +01:00
Julien Isorce
fbdf2deda0
[256/906] fix CMake an CodeBlocks builds
2014-03-15 18:36:29 +01:00
Julien Isorce
9be9daa754
[255/906] fix window closure when using gst xoverlay interface
2014-03-15 18:36:29 +01:00
Julien Isorce
3f4aa11d82
[254/906] Better handle when the parent window is resizing, and cleanup some code
2014-03-15 18:36:29 +01:00
Julien Isorce
f4bfade861
[253/906] win32: re-implement supports for gst xoverlay interface, on this branch
2014-03-15 18:36:29 +01:00
Julien Isorce
5a84fd49a9
[252/906] avoid a dead lock on window closure
2014-03-15 18:36:29 +01:00
Julien Isorce
2c9bb405a0
[251/906] Properly clean OpenGL contexts
2014-03-15 18:36:29 +01:00
Julien Isorce
c330210648
[250/906] win32: basic stuffs are working now on this branch with this new deep design (gstglwindow)
2014-03-15 18:36:29 +01:00
Julien Isorce
42255b64aa
[249/906] begin GstGLWindow in order to totally remove gstfreeglut
2014-03-15 18:36:29 +01:00
Filippo Argiolas
8599642d37
[243/906] Support for missing videoformats in glupload
...
Add support for missing alpha channeled videoformats (RGBA, BGRA,
ARGB, ABGR) in gst_gl_display_do_upload_fill.
2014-03-15 18:36:29 +01:00
Julien Isorce
353a06d9a0
[242/906] Fix crash in filters when going to NULL with no display
2014-03-15 18:36:29 +01:00
Filippo Argiolas
f14db54179
[233/906] no need to explicit set the debug category if default one is used
2014-03-15 18:36:28 +01:00
Filippo Argiolas
41e5676c47
[230/906] explicit check g_getenv return value to be not NULL
2014-03-15 18:36:28 +01:00
Julien Isorce
0f4bae01c3
[229/906] update authors from the CVS repository
2014-03-15 18:36:28 +01:00
Filippo Argiolas
30b33ab63f
[228/906] output shaders info log only if GST_GL_SHADER_DEBUG env variable is set. Should fix TODO task 18
2014-03-15 18:36:28 +01:00
Julien Isorce
e8abbdaaa7
[226/906] check on win32 that every tests/pipelines and tests/examples (generic, gtk, qt) still work
2014-03-15 18:36:28 +01:00
Julien Isorce
de5ba4b7f2
[225/906] fix a regression that made the gltestsrc element not working
2014-03-15 18:36:28 +01:00
Julien Isorce
9b18be0019
[224/906] fix a regression about MESA YCbCr colorspace conversion
2014-03-15 18:36:28 +01:00
Julien Isorce
51cdfc6682
[223/906] fix a regression (sometimes a FBO is needed even if the video source is rgb)
2014-03-15 18:36:28 +01:00
Julien Isorce
72b90292eb
[222/906] Finish TODO task 17
2014-03-15 18:36:27 +01:00
Julien
6ad3704c30
[221/906] fix g_int_hash -> g_direct_hash
2014-03-15 18:36:27 +01:00
Julien Isorce
a9c118c148
[220/906] Use a better key for the pool of textures
2014-03-15 18:36:27 +01:00
Julien Isorce
597fe26a1e
[219/906] Use a gst debug category for GstGLDisplay instead of g_print, gst-launch-0.10 --gst-debug=gldisplay:3 videotestsrc ! glimagesink
2014-03-15 18:36:27 +01:00
Julien
a38424f3be
[218/906] The CMake build now works on my Kubuntu-KDE4.1.1
2014-03-15 18:36:27 +01:00
Julien Isorce
fde783262f
[217/906] Add cmake build http://www.cmake.org . See CMake install instructions in the INSTALL file. (I have not correctly configured yet the CMake build for unix, BE patient)
2014-03-15 18:36:27 +01:00
Julien Isorce
10853e1c2f
[212/906] add a glbumper (bump mapping filter through GLSL) that exposes how to use both vertex and fragment shaders
2014-03-15 18:36:27 +01:00
Julien Isorce
e7f1a18965
[211/906] Fix upload AYUV and YV12 (a regression in last commits)
2014-03-15 18:36:27 +01:00
julien User
450dd45a6e
[210/906] get ride of a wrong color on nvidia/linux when converting yv12 to rgb through GLSL
2014-03-15 18:36:27 +01:00
julien User
ff67654533
[209/906] fix warnings
2014-03-15 18:36:27 +01:00
Julien Isorce
38dc928a7e
[208/906] fix upload AYUV, regression during the 2 last commits
2014-03-15 18:36:27 +01:00
Julien Isorce
dc96363485
[207/906] oups, fix my mistake on last commit
2014-03-15 18:36:27 +01:00
unknown
c8fb510e4f
[206/906] Do not use frame buffer object when "input video is RGB" or when "GLSL is not available and YCbCr is available". So frame buffer object is not a plugin requirement anymore. So I decreased the OpengGL version from 1.4 to 1.2 (maybe less?)
2014-03-15 18:36:27 +01:00
Julien Isorce
b1007f02cb
[205/906] use a GHash table instead of a GData for the texture pool
2014-03-15 18:36:26 +01:00
Julien Isorce
bf17388f63
[204/906] get ride of a bug on ATI related to YV12 to rgb conversion through GLSL and add an example
2014-03-15 18:36:26 +01:00
Filippo Argiolas
9a25ffce4c
[201/906] fix a signedness warning
2014-03-15 18:36:26 +01:00
Julien Isorce
6c532328f0
[200/906] get ride of a ATI bug related to GLSL colorspace conversion for I420 and YV12 to rgb
2014-03-15 18:36:26 +01:00
Filippo Argiolas
fad976d7b7
[171/906] import fxtest (little gtk app to easily test effects) from cvs branch, fixed rgbtocurve.
2014-03-15 18:36:25 +01:00
Julien Isorce
fd192ec957
[157/906] move thread_do_upload_make from thread_do_upload to thread_init_upload
2014-03-15 18:36:24 +01:00
Julien Isorce
d0203c1172
[156/906] fix a crash that could happens when using at least 2 gl context and when closing a window on linux
2014-03-15 18:36:24 +01:00
Filippo Argiolas
a595635904
[153/906] Try to genereate textures within gstglfilterblur to see if the new thread_use_fbo works both with textures from the pool and custom ones
2014-03-15 18:36:24 +01:00
Filippo Argiolas
02a21f80ab
[152/906] remove an unneeded (really?) glTexImage
2014-03-15 18:36:24 +01:00
Julien Isorce
11f620a96a
[151/906] ISO C90
2014-03-15 18:36:24 +01:00
Julien Isorce
c0f13fd869
[150/906] glTexImage2D(w, h, NULL) is now called only one time (mem alloc)
2014-03-15 18:36:23 +01:00
Filippo Argiolas
a8552d4795
[149/906] same as previous commit
2014-03-15 18:36:23 +01:00
Filippo Argiolas
9f4d1de046
[148/906] Fix rgb issue. Current program should always be set to 0 when a new texture is attached to a fbo.
2014-03-15 18:36:23 +01:00
Julien Isorce
d6ef47cd9c
[146/906] remove filteredge
2014-03-15 18:36:23 +01:00
Filippo Argiolas
b0f30ff125
[143/906] Add init and reset callbacks in GstGLFilter to run arbitrary gl code at start and stop. Useful to init and cleanup custom gl resources.
2014-03-15 18:36:23 +01:00
Filippo Argiolas
396afd5ef3
[142/906] Add a generic action to be able to execute arbitrary gl code within the gl thread with less pain
2014-03-15 18:36:23 +01:00
Filippo Argiolas
77c0b28031
[141/906] some steps towards simplification. added a convenience function to gstglfilter and some comment here and there
2014-03-15 18:36:23 +01:00
Filippo Argiolas
a53754cc28
[140/906] Fix GL_STACK_OVERFLOW
2014-03-15 18:36:23 +01:00
Julien Isorce
47554d341c
[139/906] fix warnings when compiling upload/download shaders
2014-03-15 18:36:23 +01:00
Filippo Argiolas
df427d2681
[138/906] is that videoformat pointer really needed?
2014-03-15 18:36:23 +01:00
Filippo Argiolas
570b7f2005
[137/906] Don't reallocate texture memory every time in upload_* functions.
2014-03-15 18:36:23 +01:00
Filippo Argiolas
8c9cb5939e
[136/906] reindent gstgldisplay with gstreamer-c-mode
2014-03-15 18:36:23 +01:00
Julien Isorce
21be1c07de
[133/906] finish todo task 4
2014-03-15 18:36:22 +01:00
Julien Isorce
8049be3a60
[132/906] make the plugin properly shutdown when one of the check requirements failed
2014-03-15 18:36:22 +01:00
Filippo Argiolas
c3d0a2f9b4
[131/906] fix warnings (unused vars)
2014-03-15 18:36:22 +01:00
Julien Isorce
3d3ba97c4d
[130/906] use GstGLShader in the GLSL colorspace conversion
2014-03-15 18:36:22 +01:00
Julien Isorce
44ec9c01dd
[128/906] add GstGLShader stuffs in the vs8 project, fix laplacian fragment code to make it compile on ATI, and fix check function about Opengl and Glew version
2014-03-15 18:36:22 +01:00
Filippo Argiolas
aeadf6bc0e
[127/906] Imported GstGLShader from cvs branch. Added a demo laplacian convolution filter to demonstrate how this can be integrated with minimum effort.
2014-03-15 18:36:22 +01:00
David Schleef
a4400cf12b
[126/906] Change some guints to GLuints because of warnings on OS/X.
2014-03-15 18:36:22 +01:00
David Schleef
50b8417097
[125/906] Add libraries as appropriate to fix compilation
2014-03-15 18:36:22 +01:00
Julien Isorce
af16a51ee2
[123/906] X Specific: better implementation of the gst_gl_set_window_id
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@584 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:22 +01:00
Julien Isorce
bfd8d294b4
[122/906] better implementation of gst_gl_display_set_window_id for win32. (change the window of the current wglcontext instead of reinit everything, and so avoid some problems about opengl objects that could be init in the previous wglcontext and so no usable in the newer wglcontext, it what the case for the first texture) This newer implementation has not been made yet on linux
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@582 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:22 +01:00
Julien Isorce
f2ea87e951
[121/906] avoid use of GLSL functions when fragment_shader is not available
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@581 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:22 +01:00
Julien Isorce
3505ae339c
[120/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@580 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:22 +01:00
Julien Isorce
21e2cff9cc
[119/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@579 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:22 +01:00
Julien Isorce
951460cdd1
[118/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@573 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:22 +01:00
Julien Isorce
6b2276b9ab
[116/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@563 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
90f411fe53
[115/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@556 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
5acf54ccf9
[114/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@555 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
37a0568858
[113/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@554 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
652914f17b
[112/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@552 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
faf7dcbc6d
[111/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@548 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
31b67c52b1
[109/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@543 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
e7f5afee87
[108/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@540 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
04946b3f1d
[107/906] fix opengl version checker
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@534 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
646aaf4cd3
[105/906] up Sobel filter and gl/glew version checker
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@518 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
f0a68351b3
[104/906] start to add a glfilteredge that proceeds edge detection using GLSL
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@517 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
129652c1ce
[096/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@508 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
1a7b6d5bb3
[095/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@507 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
63dfe24588
[094/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@506 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
3778a85f01
[092/906] Finish to revive the gltestsrc. Next step is to do some refactoring.
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@504 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
49d9bdca0e
[091/906] start to revive the gltestsrc
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@503 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
268d9cd781
[088/906] fix some caps negociations those pipelines works fine : gst-launch-0.10 -v videotestsrc ! video/x-raw-yuv, width=320, height=240 ! glgraphicmaker ! video/x-raw-gl, width=720 , height=576 ! glfiltercube ! glimagesink and gst-launch-0.10 -v videotestsrc ! video/x-raw-yuv, width=320, height=240 ! glgraphicmaker ! video/x-raw-gl, width=720 , height=576 ! glimagesink
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@500 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
752357e283
[087/906] glfilter can accept to have an input size different than the out put size : video/x-raw-gl, width=w1, height=w1 ! glfilter ! video/x-raw-gl, width=w2, height=w2 ! (fix every examples)
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@499 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
e1c1317087
[086/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@498 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
6c3eb8de43
[085/906] fix regressions about glvideomaker.
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@497 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
f7b69d5233
[084/906] add a glfilterapp which holds the client draw and reshape callbacks (some "wanted" regressions about the glvideomaker, have been done with this version. Will be fix in next commits)
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@496 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
43e4bedbe5
[083/906] finish to implement the glfilter: example : gst-launch-0.10 videotestsrc num_buffers = 100 ! glgraphicmaker ! glfiltercube ! glimagesink
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@495 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
59dc400b7e
[082/906] glfilter can request, use and reject a FBO (step 1)
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@494 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
31be382a90
[081/906] start to add a glfilter
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@493 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
05f98c7346
[080/906] fix gstfreeglut linux implementation to correctly handle the gstxoverlay interface
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@486 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
18020765cb
[079/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@478 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
56370703e5
[077/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@475 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
1de711496b
[076/906] check OpenGL and Glew versions
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@474 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
ede863197a
[075/906] indent
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@451 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
607548be2d
[074/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@446 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
4759f9847a
[073/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@445 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
19c124d258
[072/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@438 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
8e3e42b9f7
[071/906] remove all warnings
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@437 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
870fff7ac8
[070/906] implement and fix onClose: when a user click on the cross of an internal window (there is not this issue when using the gstxoverlay interface)
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@436 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
76fa1292f8
[069/906] add gstreamer license
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@435 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
f509c88675
[066/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@430 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
4511a3c0bd
[065/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@428 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
50a08f10b3
[063/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@423 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:18 +01:00
Julien Isorce
a5ff5ff14e
[062/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@421 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:18 +01:00
David Schleef
f1744c26ec
[061/906] First SVN commit. This commit is a hack to make git-rebase work
2014-03-15 18:36:18 +01:00
Tim-Philipp Müller
1d59ab7b37
[060/906] * gst-libs/gst/gl/gstglbuffer.c: (gst_gl_buffer_format_from_video_format): Fix compiler warning if there are video format enums gstglbuffer doesn't know about yet. * gst-libs/gst/gl/gstgldisplay.c: (gst_gl_display_upload_texture_rectangle), (gst_gl_display_draw_texture): Fix printf format for 64-bit integers.
2014-03-15 18:36:18 +01:00
Tim-Philipp Müller
7fbd185eb5
[058/906] * gst-libs/gst/gl/Makefile.am: The library needs to link against libgstvideo-0.10. * gst/gl/Makefile.am: The plugin does not (I think) need to link against GL or libgstvideo, since our new gstreamer GL library already does that, but it does need to link against our brand-new libgstgl-0.10.
2014-03-15 18:36:18 +01:00
David Schleef
0a3e152339
[056/906] * configure.ac: Readd pre-pkgconfig OpenGL detection, since pkgconfig requires Mesa from git master. * gst/gl/glimagesink.c: * gst/gl/gstopengl.c: Move debug category initialization to element. * gst-libs/gst/gl/Makefile.am: * gst-libs/gst/gl/gstglfilter.c: * gst-libs/gst/gl/gstglfilter.h: * gst/gl/gstglfilter.c: * gst/gl/gstglfilter.h: Move glfilter to library. * pkgconfig/gstreamer-plugins-gl.pc.in: Add gstreamer-base-0.10 as a requirement. * po/en.po: Update.
2014-03-15 18:36:18 +01:00
Tim-Philipp Müller
38699b8db5
[055/906] * configure.ac: * docs/Makefile.am: * gst-libs/Makefile.am: * gst-libs/gst/gl/Makefile.am: * gst/gl/Makefile.am: * tests/Makefile.am: Fix compilation in uninstalled setup and some distcheck-y bits (not all though).
2014-03-15 18:36:18 +01:00
David Schleef
46f9f1a828
[054/906] Fixes to make project compile. Probably still doesn't work. * configure.ac: * gst-libs/gst/Makefile.am: * gst-libs/gst/gl/Makefile.am: * gst/Makefile.am: * gst/gl/Makefile.am: * gst/gl/gstgltestsrc.c: * po/LINGUAS: * win32/MANIFEST:
2014-03-15 18:36:18 +01:00
David Schleef
3308a6e8c6
[053/906] Add project infrastructure. Not complete, doesn't work. * .cvsignore: * AUTHORS: * COPYING: * COPYING.LIB: * INSTALL: * Makefile.am: * NEWS: * README: * RELEASE: * REQUIREMENTS: * autogen.sh: * configure.ac: * docs/.cvsignore: * docs/Makefile.am: * docs/libs/Makefile.am: * docs/plugins/Makefile.am: * docs/version.entities.in: * ext/Makefile.am: * gst-libs/Makefile.am: * gst-libs/gst/Makefile.am: * gst-libs/gst/gl/Makefile.am: * gst-plugins-gl.doap: * gst-plugins-gl.spec.in: * gst/Makefile.am: * m4/.cvsignore: * m4/Makefile.am: * pkgconfig/.cvsignore: * pkgconfig/Makefile.am: * pkgconfig/gstreamer-plugins-gl-uninstalled.pc.in: * pkgconfig/gstreamer-plugins-gl.pc.in: * sys/Makefile.am: * tests/Makefile.am: * tests/check/Makefile.am: * tests/examples/Makefile.am: * tests/icles/Makefile.am: * tools/Makefile.am: * win32/common/config.h.in:
2014-03-15 18:36:18 +01:00
David Schleef
be12ae8167
[052/906] * sys/glsink/glimagesink.c: * sys/glsink/glimagesink.h: * sys/glsink/gstglbuffer.h: * sys/glsink/gstgldisplay.c: * sys/glsink/gstgldisplay.h: * sys/glsink/gstglupload.c: Handle xoverlay exposes correctly. This means glimagesink works correctly most of the time in totem (fullscreening being an execption). Doesn't handle expose events directly to the GL window.
2014-03-15 18:36:18 +01:00
David Schleef
97116dd0d0
[051/906] * sys/glsink/glextensions.c: * sys/glsink/glextensions.h: * sys/glsink/glimagesink.c: * sys/glsink/glimagesink.h: * sys/glsink/gstgldisplay.c: * sys/glsink/gstgldisplay.h: * sys/glsink/gstopengl.c: Reenable video/x-raw-rgb and x-raw-yuv for glimagesink. Enable vblank synchronization. Remove unused code.
2014-03-15 18:36:18 +01:00
David Schleef
694ae09876
[049/906] * configure.ac: * sys/glsink/glextensions.c: * sys/glsink/glextensions.h: * sys/glsink/glimagesink.c: * sys/glsink/glimagesink.h: * sys/glsink/gstglbuffer.c: * sys/glsink/gstglbuffer.h: * sys/glsink/gstglconvert.c: * sys/glsink/gstgldisplay.c: * sys/glsink/gstgldisplay.h: * sys/glsink/gstgldownload.c: * sys/glsink/gstglfilter.c: * sys/glsink/gstglfilter.h: * sys/glsink/gstglfilterexample.c: * sys/glsink/gstgltestsrc.c: * sys/glsink/gstglupload.c: Major cleanup of code. Convert glupload to BaseTransform. Handle caps negotiation mostly correctly. Reenable in build.
2014-03-15 18:36:18 +01:00
David Schleef
87c262d1c3
[047/906] * sys/glsink/gltestsrc.c: * sys/glsink/gstglbuffer.c: * sys/glsink/gstglbuffer.h: * sys/glsink/gstgldownload.c: * sys/glsink/gstglfilter.c: * sys/glsink/gstglfilterexample.c: * sys/glsink/gstgltestsrc.c: * sys/glsink/gstglupload.c: Convert gldownload to BaseTransform. Make glfilterexample visually interesting. Add support for various formats to downloading. Fix a few places where we leak GL state to other elements (bad, but hard to prevent).
2014-03-15 18:36:18 +01:00
David Schleef
8abaf6f1dd
[046/906] * sys/glsink/BUGS: * sys/glsink/Makefile.am: * sys/glsink/gstglbuffer.c: * sys/glsink/gstglbuffer.h: * sys/glsink/gstglconvert.c: * sys/glsink/gstgldisplay.c: * sys/glsink/gstglfilter.c: * sys/glsink/gstglfilter.h: * sys/glsink/gstglfilterexample.c: * sys/glsink/gstgltestsrc.c: * sys/glsink/gstglupload.c: * sys/glsink/gstopengl.c: Remove code that handles non-texture buffers. Add a GstGLBufferFormat type that corresponds to how to use the texture, not the original video format. Convert gstflfilter.c into a base class, add glfilterexample and glconvert elements. * sys/glsink/color_matrix.c: Minor ramblings about color conversion matrices.
2014-03-15 18:36:17 +01:00
David Schleef
27c5fb1f81
[045/906] * sys/glsink/Makefile.am: * sys/glsink/gltestsrc.c: * sys/glsink/gltestsrc.h: * sys/glsink/gstgldisplay.c: * sys/glsink/gstgldownload.c: * sys/glsink/gstglfilter.c: * sys/glsink/gstgltestsrc.c: * sys/glsink/gstgltestsrc.h: * sys/glsink/gstglupload.c: * sys/glsink/gstopengl.c: Add gltestsrc element, a duplicate of videotestsrc that uses GL rendering to create images. More cleanup.
2014-03-15 18:36:17 +01:00
David Schleef
8e95439b75
[044/906] * sys/glsink/gstglbuffer.c: * sys/glsink/gstgldownload.c: * sys/glsink/gstglfilter.c: Clean up code. Fix a few leaks.
2014-03-15 18:36:17 +01:00
David Schleef
6e4a16f9a1
[043/906] * sys/glsink/Makefile.am: * sys/glsink/glimagesink.h: * sys/glsink/glvideo.c: * sys/glsink/glvideo.h: * sys/glsink/gstglbuffer.c: * sys/glsink/gstglbuffer.h: * sys/glsink/gstgldisplay.c: * sys/glsink/gstgldisplay.h: Rename glvideo.[ch] to gstgldisplay.[ch].
2014-03-15 18:36:17 +01:00
David Schleef
ff954bcaff
[042/906] * sys/glsink/glimagesink.c: * sys/glsink/glimagesink.h: * sys/glsink/glvideo.c: * sys/glsink/glvideo.h: * sys/glsink/gstglbuffer.c: * sys/glsink/gstglbuffer.h: * sys/glsink/gstgldownload.c: * sys/glsink/gstglfilter.c: * sys/glsink/gstglupload.c: Rewrite a bunch of code to use textures as the intermediate instead of renderbuffers. upload, download, filtering all work.
2014-03-15 18:36:17 +01:00
David Schleef
07780031bc
[041/906] * sys/glsink/glextensions.c: * sys/glsink/glextensions.h: * sys/glsink/glvideo.c: * sys/glsink/glvideo.h: * sys/glsink/gstglbuffer.c: * sys/glsink/gstgldownload.c: * sys/glsink/gstglupload.c: A careful read of the documentation reveals that I can't use renderbuffers as textures. Duh. Checkpoint because I'm about to rewrite a bunch of code.
2014-03-15 18:36:17 +01:00
David Schleef
21437bba7d
[040/906] * sys/glsink/Makefile.am: * sys/glsink/glextensions.c: * sys/glsink/glextensions.h: * sys/glsink/glimagesink.c: * sys/glsink/glimagesink.h: * sys/glsink/glvideo.c: * sys/glsink/glvideo.h: * sys/glsink/gstglbuffer.c: * sys/glsink/gstglbuffer.h: * sys/glsink/gstgldownload.c: * sys/glsink/gstglfilter.c: * sys/glsink/gstglupload.c: * sys/glsink/gstopengl.c: Switch to using framebuffer_objects instead of GLXPixmaps, because that's what my driver supports. Remove GLDrawable, since GstGLDisplay now has a default drawable and context.
2014-03-15 18:36:17 +01:00
David Schleef
dd67fc9b27
[037/906] * sys/glsink/Makefile.am: * sys/glsink/glextensions.c: * sys/glsink/glextensions.h: * sys/glsink/glvideo.c: Add vblank synchronization. Isn't really working on my driver. :(
2014-03-15 18:36:17 +01:00
Stefan Ringel
fd8bda1c03
dvbsrc: mpegts: change bandwidth to DVBv5 values
...
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>
https://bugzilla.gnome.org/show_bug.cgi?id=725463
2014-03-15 18:33:18 +01:00
Sebastian Dröge
dbb42d914f
uridownloader: Fix string order in warning message
2014-03-13 14:41:06 +01:00
Sebastian Dröge
73b188cfb9
uridownload: Handle no buffers before EOS as error instead of crashing
2014-03-07 16:24:18 +01:00
Sebastian Dröge
cd02546089
hlsdemux: Implement handling of byte ranges
2014-03-06 16:36:10 +01:00
Sebastian Dröge
6fb3427729
uridownloader: Fix debug output to describe the new reality
2014-02-27 12:02:19 +01:00
Sebastian Dröge
3fd5b74f73
uridownloader: Warning messages are not fatal
...
Also they need to be parsed with gst_message_parse_warning(),
gst_message_parse_error() does not work on them.
2014-02-27 11:53:51 +01:00
Stefan Ringel
40e7bfd35d
docs: mpegts: add missed docs
...
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>
https://bugzilla.gnome.org/show_bug.cgi?id=725278
2014-02-27 08:48:17 +01:00
Julien Isorce
966fb81db0
eglglessink: move GstEGLImageBufferPool to gstegl lib
...
https://bugzilla.gnome.org/show_bug.cgi?id=706054
2014-02-25 17:29:18 +00:00
Jesper Larsen
a9b1fdd948
mpegts: Add constructor for dvb service descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=724981
2014-02-25 14:34:29 +01:00
Jesper Larsen
d43e7173d8
mpegts: Add support for creation of SDT
...
https://bugzilla.gnome.org/show_bug.cgi?id=724981
2014-02-25 14:34:29 +01:00
Jesper Larsen
3fe1608e83
mpegts: Add transport_stream_id to GstMpegTsSDT
...
The transport_stream_id is contained in the subtable extension.
Introduce a variable for readability.
https://bugzilla.gnome.org/show_bug.cgi?id=724981
2014-02-25 14:34:29 +01:00
Edward Hervey
63145f4576
mpegts: Fix descriptor checks
...
Only use g_return_val_if_fail on provided direct arguments. The others get
checked all the time.
https://bugzilla.gnome.org/show_bug.cgi?id=724464
2014-02-25 10:19:23 +01:00
Jesper Larsen
e28b6fd523
mpegts: network_name: Check converted length
...
Check the length of the name argument after it has been converted.
https://bugzilla.gnome.org/show_bug.cgi?id=723953
2014-02-24 16:01:11 +01:00
Brendan Long
cd3c3ebf01
mpegts: Add gst_mpegts_section_get_data, to allow us to get the original binary section data.
...
https://bugzilla.gnome.org/show_bug.cgi?id=724255
2014-02-20 19:19:03 +01:00
Edward Hervey
142233d917
mpegts: Add size guards for descriptors where neeeded
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=724464
2014-02-20 19:08:33 +01:00
Edward Hervey
4190a1717a
mpeg-ts: Rename private function
...
Calling it _desc_checks when it was in fact used for sections was a
tad confusing ...
2014-02-20 18:14:51 +01:00
Stefan Ringel
beb31d127b
mpegts: Add support for content descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=724034
2014-02-17 08:55:37 +01:00
Stefan Ringel
792fc1cf01
mpegts: Add support for component descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=724034
2014-02-17 08:55:12 +01:00
Stefan Ringel
347ac5fbd7
mpegts: Add support for extended event desriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=724034
2014-02-17 08:54:37 +01:00
Stefan Ringel
e6cb996cea
mpegts: Add support for DVB terrestrial delivery system descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=724069
2014-02-16 10:13:53 +01:00
Sebastian Dröge
a1d9f6c796
uridownloader: Keep alive connections if the source supports that
2014-02-13 10:44:58 +01:00
Sebastian Dröge
c76ea2919f
uridownloader: Re-use old source element if possible
...
Allows to implement keep-alive handling in the source element.
2014-02-13 10:06:48 +01:00
Sebastian Dröge
d436844434
uridownloader: Fix potential deadlock
...
The streaming thread might use our lock, so shutting
down the element while holding that lock calls for problems.
2014-02-12 18:06:43 +01:00
Sebastian Dröge
8cd6208b7d
uridownloader: Shutdown the source element before unlinking it
...
Otherwise we might get warnings about pushing to unlinked pads.
Based on a patch by Andoni Morales.
2014-02-12 18:01:10 +01:00
Sebastian Dröge
2a38c1409b
uridownloader: Add support for compressed downloads
...
Very useful for playlists, less useful for media files.
2014-02-12 13:08:29 +01:00
Sebastian Dröge
3726c00b95
uridownloader: Reset cancelled state after fetching an URI
...
Otherwise it will never ever be able to fetch anything after an
error until the user resets it manually.
2014-02-11 15:26:01 +01:00
Sebastian Dröge
d445374067
uridownloader: Provide some more details about errors if downloading fails
2014-02-11 14:13:30 +01:00
Jesper Larsen
603714a405
mpegts: pmt: Detect descriptor length correct
2014-02-08 18:41:06 +01:00
Jesper Larsen
f1c8de4bc2
mpegts: Correctly check for PAT,PMT,CAT,TSDT
2014-02-08 18:38:55 +01:00
Jesper Larsen
972f7ea71f
mpegts: Fix some packetizing bugs
...
- Length of NIT stream descriptors was not detected correct
- Reserved bits was not set according to EN 300 468, ISO/IEC 13818-1
- Also set output data size if the section was previously packetized
https://bugzilla.gnome.org/show_bug.cgi?id=723892
2014-02-08 16:59:47 +01:00
Edward Hervey
042c8924b6
dvb-descriptor: Remove unneeded increment
2014-02-07 11:53:38 +01:00
Edward Hervey
63348811d2
dvb-descriptor: Fix comparision
...
we want to stop if one OR the other is NULL.
2014-02-07 11:53:28 +01:00
Jesper Larsen
dc968163da
mpegts: Updated docs with new API
2014-02-06 16:01:35 +01:00
Jesper Larsen
b7d256b4c2
mpegts: Support registration and custom descriptor
...
Support for registration descriptor (0x05)
Add function to create a descriptor with custom tag and data
2014-02-06 15:55:46 +01:00
Jesper Larsen
05bf952384
mpegts: Add creation of DVB Subtitling descriptor
...
Descriptor tag is 0x59
2014-02-06 15:55:40 +01:00
Jesper Larsen
cfb4da7215
mpegts: Support parsing of DVB Teletext descriptor
...
Descriptor tag is 0x56
2014-02-06 15:50:34 +01:00
Jesper Larsen
ffb51c2123
mpegts: Add support for creating PAT/PMT
2014-02-06 15:50:28 +01:00
Jesper Larsen
fccfc76805
mpegts: Add program_number to GstMpegTsPMT
2014-02-06 15:30:48 +01:00
Jesper Larsen
dd449c38e6
mpegts: Add network name descriptor construction
...
Add function to create a Network Name DVB descriptor.
2014-02-06 15:30:48 +01:00
Jesper Larsen
8c26d69e2f
mpegts: Add support for creating a NIT section
...
Functions that will enable user to create Network Information Tables.
2014-02-06 15:30:42 +01:00
Jesper Larsen
4632ccd5be
mpegts: Add network_id to GstMpegTsNIT
...
The network_id is stored in the subtable extension. Make a field
in the GstMpegTsNIT for better code readability
2014-02-06 14:11:53 +01:00
Jesper Larsen
8f429c6c6e
mpegts: Add functions to send sections as events
...
Added function that enables the user to send a GstMpegTsSection as
an event to a GstElement. (i.e. mpegtsmux)
2014-02-06 14:00:33 +01:00
Jesper Larsen
930cde73a7
mpegts: Add functions to packetize section
...
Sections needs to be packetized for use in i.e. mpegtsmux.
These functions handles the generic common parts of a GstMpegTsSection
2014-02-06 14:00:28 +01:00
Jesper Larsen
b1c5143b79
mpegts: Add init functions for descriptor/section
2014-02-06 12:18:13 +01:00
Jesper Larsen
4630dfda05
mpegts: Add function to encode UTF8 strings
...
This can be used to create descriptors with appropriate character maps
2014-02-06 12:18:13 +01:00
Jesper Larsen
465dea6f32
mpegts: Use big endian UCS-2 coding
...
Parsing of control codes requires a big endian character map
2014-02-06 12:18:13 +01:00
Jesper Larsen
73c82e3f1c
mpegts: Add support for two-way iconv conversions
...
To use in conversions from UTF-8 to another character map
2014-02-06 12:18:13 +01:00
Duncan Palmer
06dd8839f4
uridownloader: Fix race condition between EOS handling and downloading a range
...
https://bugzilla.gnome.org/show_bug.cgi?id=723134
2014-02-04 12:53:00 +01:00
Duncan Palmer
06fec6709d
uridownloader: Always release the object lock in gst_uri_downloader_fetch_uri_with_range()
...
even if downloader->priv->urisrc is not set. This avoids deadlock under some
some conditions on cancel.
https://bugzilla.gnome.org/show_bug.cgi?id=723127
2014-01-29 20:38:57 +01:00
Edward Hervey
274387e8e9
codecparsers: Don't use gst_ as prefix for private symbols
...
Otherwise they get exposed/accessible in the resulting .so
And make check-exports will complain
2014-01-29 10:50:40 +01:00
Mark Nauwelaerts
1122b56ff6
mpegts: install but nodist for generated header
2014-01-26 14:42:52 +01:00
Thiago Santos
61192a1619
codecparsers: refactor common nal parsing to nalutils
...
Moves common code from h264 and h265 to a separate file
2014-01-24 09:30:35 -03:00
Aurélien Zanelli
af78b45979
h264parse: Fix multiple SEI messages in one SEI RBSP parsing.
...
An SEI RBSP could contains more than one SEI message as specified in
7.4.2.3.1.
This commit change the parser API: the gst_h264_parser_parse_sei()
function now create and fill a GArray containing GstH264SEIMessage.
https://bugzilla.gnome.org/show_bug.cgi?id=721715
2014-01-23 20:18:53 +01:00
Thiago Santos
24c87b18c2
h265parser: remove trailling 0x00 bytes as the spec doesn't allow them
...
Just like h264, the spec doesn't allow the last bytes of a NAL to be 0x00.
So remove it as it is probably just padding.
This is related to https://bugzilla.gnome.org/show_bug.cgi?id=721384
2014-01-22 10:27:01 -03:00
Thiago Santos
4f0fc9a16f
h264parser: remove trailling 0x00 bytes as the spec doesn't allow them
...
The spec states that the last byte of a NAL 'shall not' be 0x00
and it is allowed for byte-stream format to add padding 0x00 for
alignment.
So our parser should strip any trailling 0x00.
https://bugzilla.gnome.org/show_bug.cgi?id=721384
2014-01-22 08:36:30 -03:00
duhui.lee
686c2f8e79
h265parser: Initialize pointer correctly that is never assigned but freed in error cases
...
Fixes crash on broken streams.
https://bugzilla.gnome.org/show_bug.cgi?id=722669
2014-01-21 09:58:18 +01:00
duhui.lee
13a397a0b9
h265parser: Fix segfault when parsing HRD parameter
...
https://bugzilla.gnome.org/show_bug.cgi?id=722240
2014-01-20 10:04:23 +01:00
duhui.lee
a8151d78fc
h265parser: Fix segfault when parsing VPS
...
https://bugzilla.gnome.org/show_bug.cgi?id=722081
2014-01-14 16:26:51 +01:00
Justin Joy
6587e924f1
h265parser: prevent to overrun chroma_weight_l0_flag
...
The index of elements cannot exceed or equal to the size of elements.
https://bugzilla.gnome.org/show_bug.cgi?id=722101
2014-01-13 15:04:52 +01:00
Tim-Philipp Müller
0d9690ba1e
mpegts: make headers usable with c++ compiler
...
Add G_BEGIN_DECLS G_END_DECLS
https://bugzilla.gnome.org/show_bug.cgi?id=671136
2014-01-06 15:01:22 +00:00
Sebastian Dröge
bacef9cbc4
h265parser: Fix debug output
2014-01-06 14:47:43 +01:00
Sebastian Dröge
84bd65b9bd
tsdemux: Add HEVC / h265 support
2014-01-06 13:54:40 +01:00
Tim-Philipp Müller
ec3c4cb1c7
mpegts: fix g-i annotations and gtk-doc markup
2013-12-27 10:25:49 +00:00
Thiago Santos
5a5f6d1b7a
uridownloader: fix deadlock near EOS
...
A deadlock can happen when the source sends EOS when
being put to NULL as the object lock is being held by the
thread that sets the element to NULL and is needed by
the event handler.
2013-12-24 17:07:52 -03:00
Luis de Bethencourt
692a053ef8
mpegvideoparse: Fix documentation of GstMpegVideoSequenceScalableMode
2013-12-18 16:26:17 -05:00
Mariusz Buras
d5b438a984
mpegts: Install generated headers
...
https://bugzilla.gnome.org/show_bug.cgi?id=720673
2013-12-18 13:47:01 +01:00
Matej Knopp
6af387cd5a
h264parser: not all startcodes should have 3-byte 0 prefix
...
The parser assumes that every time there is a 0 before the startcode,
it is part of the startcode. But that's not true.
From the specification
Byte stream NAL unit syntax
zero_byte is a single byte equal to 0x00.
When any of the following conditions are fulfilled, the zero_byte syntax
element shall be present.
– the nal_unit_type within the nal_unit( ) is equal to 7 (sequence parameter
set) or 8 (picture parameter set)
– the byte stream NAL unit syntax structure contains the first NAL unit of an
access unit in decoding order, as specified by subclause 7.4.1.2.3.
The problem with doing this for all startcodes is that a trailing zero can mess
up timestamps. The trailing zero gets prepended to the startcode, which will
carry the PTS and DTS of previous buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=664443
2013-12-14 12:17:40 +01:00
Cong Zhong
631d5d94ed
codecparsers: h264: fix picture level scaling lists derivation (rule B).
...
Fix picture level scaling lists derivation from fall-back rule set B,
as specified in 7.4.2.2. More precisely, the sequence level scaling
lists need to be used but intra and inter lists arguments were swapped.
This fixes FRExt/freh5.264 from conformance testing.
https://bugzilla.gnome.org/show_bug.cgi?id=720099
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-12-10 10:32:43 +01:00
Olivier Crête
a167173063
mpegvideoparser: Also initialize debug category in parse_sequence_header
...
Also remove the useless initialized flag, this is already done by the macro
https://bugzilla.gnome.org/show_bug.cgi?id=719657
2013-12-04 17:55:05 -05:00
Reynaldo H. Verdejo Pinochet
b4f29e6945
codecparsers: Add -lm needed by H.265 parser
2013-11-13 19:51:12 -03:00
Sebastian Dröge
73888f8e38
mpegts: Add some more element-type annotations for g-i
2013-11-08 20:24:03 +01:00
Aurélien Zanelli
660979bbf2
codecparsers: Fix bad condition in h264 parser
...
https://bugzilla.gnome.org/show_bug.cgi?id=711615
2013-11-07 18:48:22 +01:00
Sebastian Dröge
2b348161ed
codecparsers: Remove some unused functions
2013-11-07 09:54:40 +01:00
Sreerenj Balachandran
33451e0791
codecparsers: add H.265 HEVC bitstream parser
...
https://bugzilla.gnome.org/show_bug.cgi?id=708438
2013-11-06 23:14:22 +00:00
Edward Hervey
f36e0bca83
mpegts: Add support for parsing DVB Subtitling descriptor (0x59)
...
Essentially works in the same vein as the iso639 descriptor code
2013-10-11 10:21:25 +02:00
Jesper Larsen
0d57756512
mpegts: Fix assertion fault in ISO 639 parsing
...
https://bugzilla.gnome.org/show_bug.cgi?id=709180
2013-10-11 10:20:57 +02:00
Jesper Larsen
7cb434e42f
mpegts: Add ISO 639 parsing functions
...
https://bugzilla.gnome.org/show_bug.cgi?id=709180
2013-10-07 10:23:22 +02:00
Sreerenj Balachandran
e943f56bf8
codecparsers: h264: store quantization matrices in zig-zag order
...
Quantizer matrices are encoded in zigzag scan order in the bitstream,
so always parse it as it is.
https://bugzilla.gnome.org/show_bug.cgi?id=708629
2013-10-02 10:59:10 +02:00
Sreerenj Balachandran
8c9eaf0dc9
codecparsers: h264: add helpers to convert quantization matrices
...
Add utility functions to convert quantization matrices from zig-zag scan
order into raster scan order and vice-versa
https://bugzilla.gnome.org/show_bug.cgi?id=708629
2013-10-02 10:57:54 +02:00
Steve Maynard
17ed696faa
mpegts: Add SCTE/EISS sections and table types
...
https://bugzilla.gnome.org/show_bug.cgi?id=708688
2013-09-28 13:15:44 +02:00
Sebastian Dröge
14f2c30686
egl: Update for new GstContext API
2013-09-18 23:09:05 +02:00
Tim-Philipp Müller
f7079af630
mpegts: mark as unstable API
2013-08-28 11:13:14 +01:00
Edward Hervey
5d06aed3e2
mpegts: ABI/API break: Use GPtrArray instead of GArray
...
While it was a great idea, various g-i based bindings don't support
GArray with entries greater than sizeof(gpointer) :(
So let's just make everybody happy by just using GPtrArray.
And since we're breaking the API, also rename the various descriptor fields
to no longer have the descriptor_ prefix.
It does cost a bit more in terms of memory/cpu usage, but makes it usable
from bindings.
2013-08-21 08:59:42 +02:00
Edward Hervey
8b24d5829b
.gitignore: Update for new files to ignore
2013-08-14 13:59:27 +02:00
Tim-Philipp Müller
0bd6f374c8
codecparsers: mpegvideoparse: turn internal consistency check into a g_assert()
...
We only check input from the API user with g_return_*_if_fail().
Internal sanity checks should use g_assert() instead, which is
disabled by default for releases.
2013-08-13 17:53:33 +01:00
Tim-Philipp Müller
4200946cf1
codecparsers: mpegvideoparser: minor doc fixes
2013-08-13 17:53:29 +01:00
Edward Hervey
97426a1caa
all: Fix for GST_DISABLE_GST_DEBUG
...
Where applicable, remove methods that don't do anything different than
the default implementation.
2013-07-29 09:42:12 +02:00
Edward Hervey
3b6825a546
codecparser: Make warnings more meaningful
...
By stating whether we don't have enough data or it's a corrupted
packet
2013-07-26 06:46:41 +02:00
Edward Hervey
ae4d6bb334
mpegts: Unify section checks and add BAT parsing
...
* Avoid repeating code everywhere, and instead provide all parsing
information in one go.
* Add BAT support
* Refine BAT/CAT identification (by adding PID checks)
2013-07-09 12:25:11 +02:00
Gwenole Beauchesne
ac9c1ae5a8
codecparsers: h264: fix calculation of the frame cropping rectangle.
...
Fix calculation of the frame cropping rectangle, and more precisely
the actual cropped height. The frame_crop_top_offset subtraction
was not scaled up with SubHeightC.
Also clean-up variables to align more with (7-18) to (7-21).
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-07-09 12:15:07 +02:00
Sreerenj Balachandran
529ece338f
h264parser: Parse the cropping-rectangle separately.
...
Assign the un-cropped width/height to sps->width/sps->height
during sps header parsing. Added new fields to SPS header structure
to provide the crop-rectangle dimensions.
https://bugzilla.gnome.org/show_bug.cgi?id=694068
2013-07-09 12:15:07 +02:00
Thiago Santos
c62137b832
uridownloader: fix crash when download is null
...
Do no try to unref a NULL download attribute
2013-07-08 23:39:49 -03:00
Thiago Santos
9e313eb0a7
uridownloader: do not set cancelled unless explicitly called by user
...
Cancelled is a 'permanent' state of the uridownloader and is only
removed by a call to _reset. When a download fails we just want to
return NULL on the fetch function and leave the downloader ready
for another fetch, otherwise the user has to call _reset after
failed downloader, even when it didn't call _cancel.
2013-07-08 23:39:49 -03:00
Edward Hervey
f3d53fcd97
mpegts: Avoid false-positives in section type detection
...
Due to the variety of section types out there, we need to add
some checks when identifying section types.
We check here that the PID is also consistent with the table_id.
2013-07-07 08:35:02 +02:00
Edward Hervey
057d24811d
mpegts: Properly handle UTC time in sections
...
* don't unref inexistant GstDateTime
* Fine-tune hour/min/sec BCD reading code
* Update example code accordingly
2013-07-06 12:39:49 +02:00
Edward Hervey
d95bb48864
mpegts: Fix NIT parsing
...
The size checks were wrong. The smallest size for a NIT is 16 bytes
(12 for the smallest content + 4 for crc) and the smallest size for
a inner stream loop is 6 bytes (without any descriptors).
Also remove FIXME that has already moved elsewhere
2013-07-06 10:59:55 +02:00
Gwenole Beauchesne
5ad6f2d4a0
codecparsers: mpeg2: fix video packet header size checks.
...
Fix video packet header size checks for:
- Sequence Header: 64 bits ;
- Sequence Scalable Extension: 10 bits ;
- Slice Header: 6 bits.
https://bugzilla.gnome.org/show_bug.cgi?id=703668
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-07-05 18:58:20 +02:00
Sreerenj Balachandran
9a2ed78532
codecparsers: mpeg2: add slice header parsing API.
...
Add API to parse the Slice header. This also calculates the macroblock
position as specified in 6.3.16.
https://bugzilla.gnome.org/show_bug.cgi?id=664274
Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-07-05 17:39:28 +02:00
Sreerenj Balachandran
2adfbe36f1
codecparsers: mpeg2: add sequence scalable extension parsing API.
...
Add API to parse the Sequence Scalable Extension header.
https://bugzilla.gnome.org/show_bug.cgi?id=664274
Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-07-05 17:39:28 +02:00
Gwenole Beauchesne
1a5265ef72
codecparsers: mpeg2: add new API that takes GstMpegVideoPacket arguments.
...
Add new interface to MPEG-2 video parser that takes GstMpegVideoPacket
arguments instead of data, size, and offset. New functions are called
after gst_mpeg_video_packet_*() and provide the default implementation.
Older API is moved to the deprecated namespace and uses the new functions.
https://bugzilla.gnome.org/show_bug.cgi?id=692933
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-07-05 17:37:34 +02:00
Edward Hervey
f24c0b62e3
mpegts: Improve documentation
...
* Add a base page for the library
* Add pages for the base MPEG-TS section and descriptors
* Add pages for the known variants
* Add documentation on more fields/sections/types
* Remove some fixmes that were ... fixed
2013-07-04 08:45:33 +02:00
Edward Hervey
34164610b0
mpegtsdescriptor: Fix handling of unknown stream encodings
...
If we cannot identify the encoding used for a string, return a NULL
string instead of garbage and add a FIXME so we can detect and later
fix it.
2013-07-04 08:45:32 +02:00
Edward Hervey
4fe26740c7
mpegts: Add registered mpeg-ts stream types
...
These are the values officially registered in the base specification
(H.222.0/13818-1). Later on we can add other enums for other variants
Note that the enum is not used in the structure fields (such as a pmt
stream stream_type field) since it can contain values from other
variants.
2013-07-04 08:45:32 +02:00
Edward Hervey
51d8fa5860
mpegts: split dvb descriptors/enums into a separate file
...
We will do the same once we have ATSC/ISDB/... descriptor parsing
2013-07-03 18:52:18 +02:00
Edward Hervey
6a611e5d3d
mpegts: Fix TOT section parsing
...
And use it in example
2013-07-03 18:44:54 +02:00
Edward Hervey
982aee25c6
mpegts: Split files and implement free functions
...
* In order to avoid future clashing between table_id for the various
mpeg-ts variants, use different enums.
* In order to keep everything clean(ish) and allow for cleaner growth,
split into different files (will need the same for descriptors later)
* Also ... implement free functions for all table types :)
2013-07-03 17:59:02 +02:00
Thiago Santos
cd26bd51a1
uridownloader: Simplify locking to fix deadlocks
...
Use object lock to protect variables from concurrent access and
use download_lock to only allow one download running
2013-07-03 10:23:45 -03:00
Edward Hervey
c1366efcd6
libs/mpegts: Rename GstMpegTS => GstMpegTs
...
Sorry for this :( But this makes it more in sync with expected type
naming in gobject (i.e. CamelCase and not CamelMAYBECase).
Also split descriptor type enums into the different variants:
* ISO H.222.0 / 13818-1 (i.e. standard mpeg-ts)
* DVB
* ATSC
* ISDB
* miscellaneous
This will avoid future clashes when specs use the same descriptor type
2013-07-03 13:59:56 +02:00
Edward Hervey
3665e8543a
gst-libs: New Mpeg-TS support library
...
Exposes various MPEG-TS (ISO/IEC 13818-1) and DVB (EN 300 468) Section
Information as well as descriptors for usage by plugins and applications.
This replaces entirely the old GstStructure-based system for conveying
mpeg-ts information to applications and other plugins.
Parsing and validation is done on a "when-needed" basis. This ensures
the minimal overhead for elements and applications creating and using
sections and descriptors.
Since all information is made available, this also allows applications
to parse custom sections and descriptors.
Right now the library is targeted towards parsing, but the structures
could be used in the future to allow applications to create and inject
sections and descriptors (for usage by various mpeg-ts elements).
https://bugzilla.gnome.org/show_bug.cgi?id=702724
2013-07-03 09:17:25 +02:00
Thiago Santos
e76f3e95fd
uridownloader: add support for range based downloads
...
Adds a new API gst_uri_downloader_fetch_uri_with_range that allows
downloading only a byte range from an URI. It uses a seek event
sent to the source to signal the range to be downloaded.
https://bugzilla.gnome.org/show_bug.cgi?id=702206
2013-07-01 14:22:01 -03:00
Sreerenj Balachandran
65758debf1
h264parser: Fix the return value type for the SEI palyload parsing methods.
...
The return value type of SEI payload parsing functions
are GstH264ParserResult.
https://bugzilla.gnome.org/show_bug.cgi?id=695475
2013-07-01 11:24:17 +02:00
Edward Hervey
b00192d7c0
codecparsers: Fix gtk-doc
...
Detected by initial pre-run of gi-scanner.
2013-06-23 11:46:01 +02:00
Sreerenj Balachandran
0a496f4167
mpegvideoparser: Fix the pixel-aspect-ratio calculation
...
Ignore the display_extension values if they are greater than the width/height
values provided by seqhdr and calculate the PAR based on the seqhdr values.T
his is what DVD players are doing.
Thanks to "David Schleef <ds@schleef.org>"
https://bugzilla.gnome.org/show_bug.cgi?id=685103
2013-06-06 14:32:45 +02:00
Stefan Sauer
668dcf0c09
signalprocessor: ladspa is not using this anymore
...
When we port lv2, we'll go the same route as the new ladspa plugin.
2013-05-28 10:27:17 +02:00
Edward Hervey
f7893fb63e
codecparsers: Actually store mpeg video bitrate value
...
And use the extension also (higher 12 bits)
2013-05-23 14:59:33 +02:00
Olivier Crête
d0524c0579
insertbin: Annotate callback scopes
2013-05-15 20:03:30 -04:00
Sebastian Dröge
275e104be6
egl: Add destroy notify instead of always calling eglTerminate() on the display
...
In some scenarios, for example in QtWebKit, might be difficult to obtain full
control on the egl display and it might be only accessible indirectly via
eglGetCurrentDisplay().
https://bugzilla.gnome.org/show_bug.cgi?id=700058
2013-05-10 12:50:05 +02:00
Josep Torra
db3d5f92d6
egl: Allow being used in C++ code
2013-05-10 11:48:46 +02:00
Thiago Santos
529b248a89
codecparsers: ensure the debug category is properly initialized
...
The user of the library might not need to create a NalParser, so
the debug category needs to be initialized from other functions
as well if required.
2013-05-07 21:05:10 -03:00
Louis-Francis Ratté-Boulianne
f0211e5b7b
uridownloader: unlock mutex when switching urisrc state to NULL to avoid deadlock
...
When chain method was called after gst_uri_downloader_stop and before state has been changed to NULL, execution was blocking on g_mutex_lock.
Conflicts:
gst-libs/gst/uridownloader/gsturidownloader.c
2013-05-07 20:02:41 -03:00
Thiago Santos
99efe87b5d
uridownloader: properly unref the urisrc between downloads
...
This prevents leaking the element. Also sets the bus to flushing
to completely reset the downloader state
2013-05-07 20:02:41 -03:00
Andre Moreira Magalhaes (andrunko)
f72869816c
uridownloader: make cancelled state 'permanent' until a reset
...
When downloading and cancelling quickly the uridownloader object and the
element using it could miss the cancelled window and the uridownloader
would fetch the wrong URI and block on subsequent fetches.
This was also problematic when stopping elements, while one task would
call the cancel, another element thread could issue a new fetch_uri. As
the cancel state isn't 'permanent' this fetch_uri would block and
prevent the whole element from stopping and going to NULL.
This patch makes the 'cancelled' state permanent until a
gst_uri_downloader_reset is called. This way the element knows the
window where the uridownloader isn't active and only reactivate it when
ready.
2013-05-07 20:02:41 -03:00
Thiago Santos
859635ca01
uridownloader: refactor gsturidownloader to its own lib
...
gsturidownloader can be reused by other plugins, better have it
into its own lib
2013-05-07 20:02:41 -03:00
Sreerenj Balachandran
0511a6b032
mpegvideometa: Fix typo in comment
...
https://bugzilla.gnome.org/show_bug.cgi?id=699827
2013-05-07 14:52:50 +02:00
Sebastian Dröge
5bc64fd579
egl: Use gst_context_writable_structure()
2013-04-18 16:11:26 +02:00
Josep Torra
5ba7f5effc
egl: silence warnings building for RPI related to 'vcos_*'
2013-04-18 12:16:17 +02:00
Sebastian Dröge
a6e50140b7
egl: Use new types from libgstvideo instead of defining our own
2013-04-17 10:49:59 +02:00
Sebastian Dröge
524421e436
video: Remove video library from -bad
...
This only contained API that now has replacements in core and base.
2013-04-11 13:35:02 +02:00
Tim-Philipp Müller
3f228f3dfc
docs: add since markers to new codecparsers video meta API
...
https://bugzilla.gnome.org/show_bug.cgi?id=691712
2013-04-02 23:34:19 +01:00
Sebastian Dröge
f7a00d8ca4
egl: Add a #define for the EGLImage memory caps feature
2013-04-01 10:22:06 +02:00
Edward Hervey
67ac84c7b5
codecparsers: Add Mpeg Video GstMeta
...
This can be used by parsers to provide pre-parsed information to
downstream elements that would require it (so they can avoid having
to parse the bitstream again).
2013-03-31 18:55:29 +02:00
Edward Hervey
3bb62cbf1d
codecparser: Fix picture packet extension size check
...
It is at least 34 bit big (5 bytes with byte padding)
2013-03-31 12:18:32 +02:00
Sebastian Dröge
ce9b6e5afb
eglglessink: Implement GstContext handling
2013-03-29 16:38:34 +01:00
Josep Torra
a9a385c512
egl: check on the proper display and indent some lines
2013-03-29 10:33:10 +01:00
Sebastian Dröge
c645e41711
egl: Add a boxed type for GstEGLDisplay
2013-03-28 16:53:35 +01:00
Sebastian Dröge
8f9c2e8e44
egl: Fix some return values in g_return_val_if_fail()
2013-03-19 14:32:30 +01:00
Sebastian Dröge
a373e75949
egl: Add support for different orientations of the EGLImage
...
The content of the EGLImages can be at least in GStreamer orientation,
meaning top line first in memory, or OpenGL orientation, meaning
bottom line first in memory.
2013-03-13 12:23:49 +01:00
Sebastian Dröge
5e948472ed
egl: Rename gst_egl_image_memory_can_map() to is_mappable()
2013-03-03 12:31:05 +01:00
Sebastian Dröge
4ca26a3c45
egl: Remove buffer pool option
...
This should be done differently via the allocators in the allocation query.
2013-03-03 12:31:05 +01:00
Sebastian Dröge
a47f52bb96
egl: Mark memory as not mappable if it isn't
2013-03-03 12:31:05 +01:00
Sebastian Dröge
0a5ff713e7
egl: Implement sharing of memory
2013-03-03 12:31:05 +01:00
Sebastian Dröge
4dd09a12dd
egl: Add infrastructure for EGLImage handling
2013-03-03 12:31:04 +01:00
Sebastian Dröge
4bf50b6af0
codecparsers: Use correct type specifiers for format strings to fix compiler warnings
2013-03-03 12:29:42 +01:00
Tim-Philipp Müller
f8139b2b99
insertbin: mark as unstable API
2013-02-14 09:03:28 +00:00
Tim-Philipp Müller
214d7e0619
insertbin: fix up gtk-doc chunk and add since markers
2013-02-14 09:02:53 +00:00
Tim-Philipp Müller
0dcb7c27ba
glib-compat-private.h: remove old GStaticRecMutex stuff
...
Breaks the build with newer GLibs ("unknown type GStaticRecMutex")
and is not needed any more.
2013-02-12 10:39:44 +00:00
David Schleef
743098fe8c
mpegvideoparser: increase min size for picture coding ext
...
This could use additional work. The parsing code overruns the
end of buffers during normal operation, triggering GST_WARNINGs.
2013-02-11 18:02:23 -08:00
Youness Alaoui
381fcda68b
basecamerabinsrc: Add auto-start property to basecamerabin
2013-02-11 22:04:59 +01:00
Gwenole Beauchesne
6e440f1da4
codecparsers: h264: add profile enums.
...
Add all useful profiles from AVC, MVC and SVC specifications.
https://bugzilla.gnome.org/show_bug.cgi?id=693140
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-02-07 14:38:27 +01:00
Gwenole Beauchesne
250555a7de
codecparsers: mpeg2: add helpers to convert quantization matrices.
...
Add utility functions to convert quantization matrices from zigzag scan
order (as encoded in the bitstream) into raster scan order. Also provide
another function to reverse the operation.
https://bugzilla.gnome.org/show_bug.cgi?id=693000
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-02-06 14:22:41 +01:00
Cong Zhong
46c01de05d
codecparsers: mpeg2: store quantization matrices in zigzag scan order.
...
Quantizer matrices are encoded in zigzag scan order in the bitstream,
but they are stored in raster scan order when they are parsed. However,
default matrices were also prepared in zigzag scan order, hence the
mismatch. i.e. the matrices were presented either in raster scan order
if they are explicitly present in the bitstream, or they were presented
in zigzag scan order if the default definitions were to be used instead.
One way to solve this problem is to always expose the quantization
matrices in zigzag scan order, since this is the role of the parser to
not build up stories from the source bitstream and just present what
is in there.
Utility functions will be provided to convert quantization matrices in
either scan order.
https://bugzilla.gnome.org/show_bug.cgi?id=693000
Signed-off-by: Cong Zhong <congx.zhong@intel.com>
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-02-06 14:22:41 +01:00
Tim-Philipp Müller
cf695c6da9
insertbin, tests: fix printf format compiler warnings
2013-01-25 12:25:15 +00:00
Gwenole Beauchesne
10639eb889
codecparsers: vc1: fix bitplanes decoding (DIFF6 or NORM6 residual bytes).
...
Fix parsing of residual bytes. This is a two-step process. First,
remaining colums of full vertical resolution (<height>) need to be
processed. Next, remaining bytes in the first row can be processed,
while taking into account the fact that we may have filled in the
first columns already. So, this is not full horizontal resolution.
The following figure helps in understanding the expected order of
operations, for a 8x5 MBs bitplane.
5 5 6 6 6 6 6 6
5 5 1 1 1 2 2 2
5 5 1 1 1 2 2 2
5 5 3 3 3 4 4 4
5 5 3 3 3 4 4 4
So, after tiles 1 to 4 are decoded, vertical tile 5 needs to be
processed (2x5 MBs) and then the horizontal tile 6 (6x1 MBs).
https://bugzilla.gnome.org/show_bug.cgi?id=692461
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-01-25 09:53:05 +01:00
Gwenole Beauchesne
fa2a526f04
codecparsers: vc1: fix bitplanes decoding (DIFF6 or NORM6).
...
Fix decoding of DIFF6 or NORM6 bitplanes with an odd number of lines
(3x2 "horizontal" tiles). In this case, we have to skip the first line
of macroblocks but <width> number of bytes was used to do so, instead
of the actual <stride> size.
This fixes decoding for the video sample attached to:
https://bugzilla.gnome.org/show_bug.cgi?id=668565
https://bugzilla.gnome.org/show_bug.cgi?id=692461
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-01-25 09:39:01 +01:00
Olivier Crête
d1023646f9
insertbin: Add bin to dynamically insert elements in a running pipeline
...
This element automatically links in any element added using it's
action signals. These elements must have a single source pad and a single
sink pad.
2013-01-23 21:13:03 -05:00
Gwenole Beauchesne
07a51b16eb
codecparsers: vc1: add API to parse slice headers.
...
Add gst_vc1_parse_slice_header() function to parse slice headers as
described in 7.1.2. Slice layers are optional and allowed in advanced
profile mode only. Picture header, if available (PIC_HEADER_FLAG),
is parsed but not recorded because it shall be the same as that was
previously parsed with gst_vc1_parse_frame_header().
This fixes SA00049.vc1 conformance test.
https://bugzilla.gnome.org/show_bug.cgi?id=692388
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-01-23 17:22:07 +01:00
Gwenole Beauchesne
82200d75ae
codecparsers: vc1: fix bitplanes decoding.
...
Fix decoding of DIFF2 or NORM2 bitplanes with an odd number of macroblocks.
In particular, account for the first bit that was already parsed so that to
avoid a buffer overflow after all pairs are parsed.
This fixes SA00040.vc1 conformance test.
https://bugzilla.gnome.org/show_bug.cgi?id=692312
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-01-23 09:35:11 +01:00
Gwenole Beauchesne
cbec9bfcd0
codecparsers: vc1: simplify GstVC1VopDquant structure.
...
Rename dqsbedge to dqbedge. The intent is that we can only have a single
boundary edge selector, depending on the value of dqprofile. So, dqbedge
represents DQSBEDGE if dqprofile == GST_VC1_DQPROFILE_SINGLE_EDGE, or
DQDBEDGE if dqprofile == GST_VC1_DQPROFILE_DOUBLE_EDGE.
The former dqbedge field is marked as unused and can be removed on the
next gst-plugins-bad version that allows ABI changes.
https://bugzilla.gnome.org/show_bug.cgi?id=692272
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-01-22 14:22:30 +01:00
Gwenole Beauchesne
93fbcfda23
codecparsers: vc1: fix VOPDQUANT parser for DQUANT == 2.
...
Fix parsing of VOPDQUANT when DQUANT == 2. In particular, DQUANTFRM is
not present in the bitstream in this case and it shall be derived to
the default value of zero (7.1.1.31.1).
https://bugzilla.gnome.org/show_bug.cgi?id=692271
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-01-22 11:20:06 +01:00
Gwenole Beauchesne
73213e273f
codecparsers: vc1: fix calculation of ALTPQUANT.
...
Fix calculation of ALTPQUANT when DQUANT == 1. PQDIFF alters ALTPQUANT
in any case. See 7.1.1.31.6.
https://bugzilla.gnome.org/show_bug.cgi?id=692270
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-01-22 11:19:56 +01:00
Gwenole Beauchesne
f3698c6289
codecparsers: vc1: fix parser for DQPROFILE in VOPDQUANT.
...
Fix parse_vopdquant() to correctly parse DQPROFILE, which is 2 bits
instead of a single bit.
https://bugzilla.gnome.org/show_bug.cgi?id=692267
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-01-22 11:19:44 +01:00
Gwenole Beauchesne
56e2405a35
codecparsers: h264: add inferred value for slice_beta_offset_div2.
...
The standard specifies that when slice_beta_offset_div2 is not present
in the slice header, then the value of slice_beta_offset_div2 shall be
inferred to be equal to 0.
https://bugzilla.gnome.org/show_bug.cgi?id=692265
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-01-22 11:19:17 +01:00
Mark Nauwelaerts
c20d13d8f8
codecparsers: h264: zero-initialize SPS VUI parameters
...
... so all 'present' flags indicate no presence of optional parts
in case VUI parameters end up not being parsed.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681818
2013-01-15 19:44:06 +01:00
Youness Alaoui
faf7370a27
GstPhotography: Add new enum values to match android's parameters
...
https://bugzilla.gnome.org/show_bug.cgi?id=688486
2012-11-20 09:37:59 +00:00
Gwenole Beauchesne
e179a6b4dc
codecparsers: vc1: fix PTYPE for interlaced frames.
...
Coverity found missing break in parse_frame_header_advanced() when
determining PTYPE from FPTYPE for interlaced streams.
https://bugzilla.gnome.org/show_bug.cgi?id=688626
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-11-19 13:57:48 +01:00
Gwenole Beauchesne
c951d201ec
codecparsers: h264: fix error code for invalid size parsed in SPS.
...
gst_h264_parse_sps() returned FALSE if it parsed invalid (negative)
size components. Now make it gracefully return GST_H264_PARSER_ERROR
instead of GST_H264_PARSER_OK (FALSE).
https://bugzilla.gnome.org/show_bug.cgi?id=684568
2012-11-19 12:06:04 +00: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
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
Michael Smith
0c2159a220
meta info: register thread-safely.
2012-10-03 11:05:06 -07: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
Peter Seiderer
fd030c15b7
gsth264parser: fix Coverity found not initialized sps/pps valid member.
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=683264
2012-09-14 17:27:49 +02:00
Peter Seiderer
8a91eed6ad
gsth264parser: fix Coverity detected off by one at call to READ_UE_ALLOWED.
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=683263
2012-09-14 17:27:49 +02:00
Arnaud Vrac
0331fb6203
mpeg4parser: parse complexity estimation header in video object layer
...
https://bugzilla.gnome.org/show_bug.cgi?id=683254
2012-09-14 09:14:26 +02:00
Arnaud Vrac
af379b0b8e
mpeg4parser: fix some issues related to video object layer parsing
...
https://bugzilla.gnome.org/show_bug.cgi?id=683254
2012-09-14 09:14:24 +02:00
Jan Schmidt
c5c44628fc
mpegvideoparse: Handle Sequence Display Extension
...
Change the way the pixel-aspect-ratio is computed by
interpreting the sequence header aspect ratio info
as MPEG-1 values until a sequence extension or
sequence display extension is seen, and then updating
the sequence header struct accordingly.
Fixes incorrect anamorphic display on some MPEG-2 (DVD)
sequences.
2012-09-12 23:05:47 -07:00
Gwenole Beauchesne
0b2dd2e723
codecparsers: vc1: fix aspect ratio calculation.
...
ASPECT_HORIZ_SIZE and ASPECT_VERT_SIZE are syntax elements that hold
binary encodings of sizes ranging from 1 to 256. Thus, the calculated
pixel-aspect-ratio was off by one.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
https://bugzilla.gnome.org/show_bug.cgi?id=683858
2012-09-12 10:44:10 +01:00
Gwenole Beauchesne
2c3eaf527b
codecparsers: h264parse: don't use anonymous unions.
...
Anonymous union is an ISO C (2011) feature that is not exposed in
compilers strictly conforming to the previous standard.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-09-12 10:39:32 +01:00
Gwenole Beauchesne
a08273be72
codecparsers: h264: compute pixel aspect ratio.
...
Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-09-12 10:38:46 +01:00
Thiago Santos
0a831613a8
camerabin: update preview buffer pushing
...
need to pass a GstSample to the utilitary preview buffer post functions
as a GstBuffer doesn't have caps anymore. The GstSample has the GstCaps
and it is used to inform the preview's pipeline about the format of the
input, before it gets converted to the user's requested output format.
2012-07-29 00:53:29 -03:00
Lasse Laukkanen
eabb238b24
photography: update documentation
...
https://bugzilla.gnome.org/show_bug.cgi?id=622482
2012-07-11 00:10:55 +01:00
Lasse Laukkanen
3d94d8dc39
photography: Add manual control of exposure, focus and white balance
...
Add new interface properties and mode for better manual control of
exposure, focus and white balance.
https://bugzilla.gnome.org/show_bug.cgi?id=622482
2012-07-11 00:10:55 +01:00
Lasse Laukkanen
8fd2fc662a
photography: Add GstPhotography prefix and fix spelling colour->color
...
https://bugzilla.gnome.org/show_bug.cgi?id=622482
2012-07-11 00:10:55 +01:00
Tim-Philipp Müller
7d41bc7825
codecparsers: minor header indentation clean-up for mpegvideoparser
2012-07-11 00:10:55 +01:00
Wim Taymans
b3308676fd
update for bus api changes
2012-06-20 12:34:21 +02:00
Vincent Penquerc'h
8800946aa3
h264parser: do not assert on data input, just return
...
https://bugzilla.gnome.org/show_bug.cgi?id=674069
2012-06-11 11:12:36 +01:00
Edward Hervey
7d4f1aa8e8
h264parser: Remove un-needed checks and inline some functions
...
val and nr always exist (&nr, &value)
bits is always called smaller than the width
Makes parsing 30% faster
2012-06-06 10:33:18 +02:00
Mark Nauwelaerts
8d6aed5297
codecparsers: mpeg: relax entry constraint
...
... since it is acceptable and properly handled further on.
2012-06-01 11:13:17 +02:00
Sebastian Dröge
64344a6c63
basevideo: Remove old video base classes
2012-05-28 16:42:59 +02:00
Mark Nauwelaerts
28f3858b94
mpegvideoparse: tweak codec parser API and adjust parser element
...
... to allow for more efficient parsing and (more) consistent parsing API
among various codec parsers.
Fixes #672701 .
Conflicts:
gst/videoparsers/gstmpegvideoparse.c
2012-05-22 14:09:47 +02:00
Mark Nauwelaerts
29a947642e
codecparsers: mpeg4: fixup documentation spelling
2012-05-22 14:00:50 +02:00
Nicolas Dufresne
920053dae6
mpegvideoparser: Optimize scanning for start code
...
https://bugzilla.gnome.org/show_bug.cgi?id=672701
2012-05-22 14:00:48 +02:00
Mark Nauwelaerts
e560ce0909
codecparsers: mpegvideoparser: fix buffer size check
...
... to mind unsigned integer wrap
Based on patch by Alban Browaeys <prahal@yahoo.com>
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=673436
2012-05-21 15:29:37 +02:00
Mark Nauwelaerts
5b2c2fa32b
codecparsers: mpeg4: do not expect a marker bit where not specified
...
Fixes #672447 .
2012-05-18 16:31:21 +02:00
Youness Alaoui
d3303121c8
basecamerabin: Do not set the pad templates in the base class.
...
It is best to let the subclass define the pad templates, this would
allow the subclass to decide which caps the pads should have.
2012-05-04 19:50:52 -03:00
Sreerenj Balachandran
99b6f14486
videocontext: Remove the explicit unrefing of pad object getting from iterator.
2012-05-04 10:21:05 +02:00
Thiago Santos
a944578ef9
basecamerasrc: null caps are not valid in 1.0
...
Use any caps for the preview-caps property, as NULL caps are
not valid caps in 1.0 anymore
2012-05-02 09:43:33 -03:00
Thiago Santos
89a20eb63e
basecamerabinsrc: updating property to new name
...
enable-last-buffer is now enable-last-sample
2012-05-01 15:10:54 -03:00
Thiago Santos
79d3cc533f
camerabin: Replacing ffmpegcolorspace with videoconvert
2012-05-01 15:10:51 -03:00
Wind Yuan
cd001d7b8e
codecparser: mpeg4 type error
2012-05-01 11:01:37 +02:00
Sreerenj Balachandran
529f90c29d
Doc fixes (gstsurfaceconverter, gstsurfacemeta).
2012-04-20 12:26:35 +02:00
Sebastian Dröge
7ff3293a44
video: Update for libgstvideo API changes
2012-04-19 12:31:39 +02:00
Matej Knopp
045e8bb506
mpegvideoparse: Do not ignore start code at the end of buffer
2012-04-16 08:42:12 +02:00
Matej Knopp
667fa25ec2
Set sync_poinr = 1 for keyframe
2012-04-14 10:40:47 +02:00
Sebastian Dröge
1318a97e0a
gst: Update versioning
2012-04-04 14:44:34 +02:00
Sebastian Dröge
860ccd414d
Merge remote-tracking branch 'origin/0.10'
...
Conflicts:
NEWS
RELEASE
common
configure.ac
docs/libs/gst-plugins-bad-libs-sections.txt
docs/plugins/gst-plugins-bad-plugins.args
docs/plugins/gst-plugins-bad-plugins.hierarchy
docs/plugins/gst-plugins-bad-plugins.interfaces
docs/plugins/inspect/plugin-adpcmdec.xml
docs/plugins/inspect/plugin-adpcmenc.xml
docs/plugins/inspect/plugin-assrender.xml
docs/plugins/inspect/plugin-audiovisualizers.xml
docs/plugins/inspect/plugin-autoconvert.xml
docs/plugins/inspect/plugin-bayer.xml
docs/plugins/inspect/plugin-bz2.xml
docs/plugins/inspect/plugin-camerabin2.xml
docs/plugins/inspect/plugin-celt.xml
docs/plugins/inspect/plugin-dataurisrc.xml
docs/plugins/inspect/plugin-debugutilsbad.xml
docs/plugins/inspect/plugin-dtmf.xml
docs/plugins/inspect/plugin-dtsdec.xml
docs/plugins/inspect/plugin-dvbsuboverlay.xml
docs/plugins/inspect/plugin-dvdspu.xml
docs/plugins/inspect/plugin-faac.xml
docs/plugins/inspect/plugin-faad.xml
docs/plugins/inspect/plugin-gsm.xml
docs/plugins/inspect/plugin-h264parse.xml
docs/plugins/inspect/plugin-mms.xml
docs/plugins/inspect/plugin-modplug.xml
docs/plugins/inspect/plugin-mpeg2enc.xml
docs/plugins/inspect/plugin-mpegdemux2.xml
docs/plugins/inspect/plugin-mpegtsdemux.xml
docs/plugins/inspect/plugin-mpegvideoparse.xml
docs/plugins/inspect/plugin-mplex.xml
docs/plugins/inspect/plugin-pcapparse.xml
docs/plugins/inspect/plugin-rawparse.xml
docs/plugins/inspect/plugin-rtpmux.xml
docs/plugins/inspect/plugin-rtpvp8.xml
docs/plugins/inspect/plugin-scaletempo.xml
docs/plugins/inspect/plugin-schro.xml
docs/plugins/inspect/plugin-sdp.xml
docs/plugins/inspect/plugin-segmentclip.xml
docs/plugins/inspect/plugin-shm.xml
docs/plugins/inspect/plugin-videomaxrate.xml
docs/plugins/inspect/plugin-videoparsersbad.xml
docs/plugins/inspect/plugin-vp8.xml
docs/plugins/inspect/plugin-y4mdec.xml
ext/celt/gstceltdec.c
ext/dts/gstdtsdec.c
ext/modplug/gstmodplug.cc
ext/opus/gstopusenc.c
gst-libs/gst/video/gstbasevideocodec.c
gst-libs/gst/video/gstbasevideocodec.h
gst-libs/gst/video/gstbasevideodecoder.c
gst-libs/gst/video/gstbasevideodecoder.h
gst-libs/gst/video/gstbasevideoencoder.c
gst-libs/gst/video/gstbasevideoencoder.h
gst/adpcmdec/Makefile.am
gst/audiovisualizers/gstbaseaudiovisualizer.c
gst/h264parse/gsth264parse.c
gst/mpegdemux/mpegtsparse.c
gst/mpegtsdemux/mpegtsbase.c
gst/mpegtsdemux/mpegtspacketizer.c
gst/mpegtsdemux/mpegtsparse.c
gst/mpegtsdemux/tsdemux.c
gst/mpegtsdemux/tsdemux.h
gst/mxf/mxfdemux.c
gst/rawparse/gstaudioparse.c
gst/videoparsers/gsth263parse.c
gst/videoparsers/gsth264parse.c
sys/d3dvideosink/d3dvideosink.c
sys/decklink/gstdecklinksink.cpp
sys/dvb/gstdvbsrc.c
sys/shm/gstshmsrc.c
sys/vdpau/h264/gstvdph264dec.c
sys/vdpau/mpeg/gstvdpmpegdec.c
tests/examples/opencv/gst_element_print_properties.c
win32/common/config.h
2012-03-29 17:41:53 +02:00
Sebastian Dröge
f291f87bb1
basecamerabinsrc: Add $(GST_PLUGINS_BASE_LIBS) to the linker flags
2012-03-27 09:36:24 +02:00
Wim Taymans
bc38bc27b7
don't pass random pointers to pull_range
2012-03-16 21:47:39 +01:00
Wim Taymans
ed82d408b1
update for bufferpool changes
2012-03-15 22:11:32 +01:00
Wim Taymans
583f5d1dc7
update for allocation query changes
2012-03-15 20:38:27 +01:00
Wim Taymans
6cbb840385
update for memory api changes
2012-03-15 13:37:36 +01:00
Wim Taymans
9f700cc3c4
take padding into account
2012-03-14 19:56:59 +01:00
Wim Taymans
77299ba6ae
fix for caps api changes
2012-03-11 19:06:59 +01:00
Thibault Saunier
1188120eba
Fix an unwanted double negation from last commit
2012-03-10 20:55:25 -03:00
Thibault Saunier
20669d461a
Fix 'ignoring return value of function declared with const attribute'
...
This always happens with GstByteReader/Writer and friends when
not taking into account returned boolean of the _read/_write functions
(which is actually wrong).
Make use of the *_unchecked variant as much as possible, or take the
returned value into account.
2012-03-10 19:22:07 -03:00
Edward Hervey
33e8e137a6
video: Update/add docs
2012-03-06 18:49:49 +01:00
Gwenole Beauchesne
5c9f790075
codecparsers: h264: record number of emulation prevention bytes in slice_header().
...
Some hardware video decode acceleration API (VA-API, DXVA) require
a bit count to the first macroblock, minus the number of emulation
prevention bytes. So, instead of having the consumer of the library
scan the slice_header() again, just record that number while parsing.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
https://bugzilla.gnome.org/show_bug.cgi?id=671203
2012-03-03 15:53:46 +00:00
Wim Taymans
ea4a0d1c2d
update for metadata API changes
2012-02-29 17:26:28 +01:00
Wim Taymans
1fb46f00ae
update for metadata tags
2012-02-28 12:10:18 +01:00
Wim Taymans
1859802d9d
update for metadata changes
2012-02-24 10:26:44 +01:00
Edward Hervey
994a5190d6
video: More documentation
2012-02-21 16:53:37 +01:00
Edward Hervey
f9e6af08c7
basevideocodec: Document structures
2012-02-21 16:52:49 +01:00
Wim Taymans
35d7c47764
glib-compat-private.h to dist
2012-02-20 10:58:09 +01:00
Mark Nauwelaerts
ca5010cc4b
Merge branch 'master' into 0.11
2012-02-15 17:14:34 +01:00
Jonas Larsson
e373df2a97
codecparsers: h264: fix SEI parsing
...
... in the presence of emulation_prevention_three_byte.
Fixes #668381 .
2012-02-15 15:10:06 +01:00
Wim Taymans
1119f6ee41
Merge branch 'master' into 0.11
...
Conflicts:
ext/chromaprint/gstchromaprint.c
ext/mpeg2enc/Makefile.am
ext/voaacenc/gstvoaacenc.c
gst/dvbsuboverlay/gstdvbsuboverlay.c
gst/mpegtsdemux/mpegtsbase.c
gst/sdp/gstsdpdemux.c
gst/videoparsers/gsth264parse.c
sys/d3dvideosink/d3dvideosink.c
tests/examples/camerabin/gst-camera-perf.c
tests/examples/camerabin/gst-camerabin-test.c
tests/examples/camerabin2/gst-camerabin2-test.c
tests/examples/mxf/mxfdemux-structure.c
tests/examples/scaletempo/demo-main.c
2012-02-10 16:46:50 +01:00
Gwenole Beauchesne
4964db6a1c
codecparsers: h264: fix parsing of VUI parameters.
...
max_dec_frame_buffering was mis-parsed because log2_max_mv_length_vertical
was parsed twice.
https://bugzilla.gnome.org/show_bug.cgi?id=668660
2012-01-30 15:21:23 +00:00
Vincent Penquerc'h
8147669971
plenty: fixup glib deprecations
2012-01-27 15:47:07 +00:00
Wim Taymans
21073e98cf
port to new memory API
2012-01-25 14:51:25 +01:00
Sebastian Dröge
a2a4300241
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
ext/kate/gstkateenc.c
gst/colorspace/colorspace.c
gst/mpegvideoparse/mpegvideoparse.c
2012-01-25 13:22:43 +01:00
Jonas Larsson
9feea330bb
h264parse: fix gst_h264_parse_clock_timestamp always failing
2012-01-23 18:31:51 +00:00
Jonas Larsson
657226d9f0
codecparsers: read the cbr_flag in h264_parse_hrd_parameters
2012-01-23 19:01:04 +01:00
Mark Nauwelaerts
b5c5fb58a3
basevideoencoder: fix parameter sanity check
2012-01-23 14:13:38 +01:00
Gwenole Beauchesne
c92efe38e9
codecparsers: h264: fix ref_pic_list_modification()
...
The entries were not filled in linearly and the termination was not
recorded either. Now, the actual number of modifications is recorded
similarly to dec_ref_pic_marking(). i.e. an explicit counter instead
of storing the termination value in the array.
https://bugzilla.gnome.org/show_bug.cgi?id=668192
2012-01-20 18:40:29 +00:00
Wim Taymans
27ee60a27b
port to new gthread API
2012-01-19 11:34:26 +01:00
Tim-Philipp Müller
699677ed8a
Merge remote-tracking branch 'origin/master' into 0.11
2012-01-13 00:11:54 +00:00
Vincent Penquerc'h
b6edb1a03a
mpegvideoparser: fix memory leak
2012-01-12 14:34:25 +00:00
Sebastian Dröge
a01a4ea2d3
Merge branch 'master' into 0.11
...
Conflicts:
gst/mpegtsdemux/tsdemux.c
gst/videoparsers/gsth264parse.c
tests/check/elements/camerabin2.c
2012-01-10 15:50:37 +01:00
Oleksij Rempel (Alexey Fisher)
1d0507af89
basevideodecoder: add option to hande alt frame data
...
altref/invisible 'frame' do not describe some frame directly, so it can't be
displayed and timestamps should not be updated.
Fix bug: https://bugzilla.gnome.org/show_bug.cgi?id=655245
Signed-off-by: Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>
2012-01-10 08:48:45 +01:00
Mark Nauwelaerts
360cbaa46c
codecparsers: mpeg4: fix parsing when recursively skipping user data
2012-01-09 15:03:30 +01:00
Zhao Halley
5676ff5bf4
codecparsers: remove h263 gob parsing, since there is no gob immediate after svh
2012-01-05 08:34:36 -03:00
Zhao Halley
bb52df5e24
codecparsers: add missing zero_bits in h263 parsing
2012-01-05 08:34:35 -03:00
Zhao Halley
1138aab1db
codecparsers: includes start_marker in h263 header for parsing
2012-01-05 08:34:35 -03:00
Zhao Halley
052d1ace5e
codecparsers: fix offset issue in h263 parse
2012-01-05 08:34:35 -03:00
Zhao Halley
70390ad846
codecparsers: fix mask pattern for h263 start marker
2012-01-05 08:34:35 -03:00
Sebastian Dröge
ef31b20afe
signalprocessor: The multichannel.h header is gone now
2012-01-05 10:38:22 +01:00
Wim Taymans
b592f431e3
GST_FLOW_UNEXPECTED -> GST_FLOW_EOS
2012-01-03 15:26:54 +01:00
Edward Hervey
4917e16458
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
tests/examples/camerabin2/Makefile.am
2011-12-30 11:49:27 +01:00
Edward Hervey
f70a623418
Merge remote-tracking branch 'origin/master' into 0.11-premerge
...
Conflicts:
docs/libs/Makefile.am
ext/kate/gstkatetiger.c
ext/opus/gstopusdec.c
ext/xvid/gstxvidenc.c
gst-libs/gst/basecamerabinsrc/Makefile.am
gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c
gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.h
gst-libs/gst/video/gstbasevideocodec.c
gst-libs/gst/video/gstbasevideocodec.h
gst-libs/gst/video/gstbasevideodecoder.c
gst-libs/gst/video/gstbasevideoencoder.c
gst/asfmux/gstasfmux.c
gst/audiovisualizers/gstwavescope.c
gst/camerabin2/gstcamerabin2.c
gst/debugutils/gstcompare.c
gst/frei0r/gstfrei0rmixer.c
gst/mpegpsmux/mpegpsmux.c
gst/mpegtsmux/mpegtsmux.c
gst/mxf/mxfmux.c
gst/videomeasure/gstvideomeasure_ssim.c
gst/videoparsers/gsth264parse.c
gst/videoparsers/gstmpeg4videoparse.c
2011-12-30 11:41:17 +01:00
Thiago Santos
51f399686e
basevideocodec: Reset should reset current caps
...
New caps will need to be negotiated when reset happens
(PAUSED to READY). Without reseting the internal
stored format, basevideoencoder/decoder wouldn't call the
configuration function when the same caps was negotiated
again as they would believe this was the same caps as before.
The issue is that _stop has been called when going to READY and
the elements would have reset their internal codec libs/state as
well. A new configuration should be done.
2011-12-30 00:02:46 -03:00
Thiago Santos
36fbb8eea4
basecamerabinsrc: remove redundant functions
...
gst_bin_get_by_interface should be enough for applications.
Haven't seen anyone using those other than wrappercamerabinsrc.
2011-12-22 16:17:56 -03:00
Mark Nauwelaerts
248a1c86e0
codecparsers: h264: clear sei message prior to parsing
...
Fixes #666584 .
2011-12-20 14:06:34 +01:00
Sebastian Dröge
c869b21b17
basevideocodec: Don't use G_TYPE_REGISTER_BOXED() yet
...
This would require GLib 2.26.
2011-12-13 10:18:24 +01:00
Matej Knopp
4342eea637
basevideo: Make framestate a reference counted boxed object
...
...and also clear all existing frames when resetting the decoder or encoder.
2011-12-12 14:16:28 +01:00
Matej Knopp
70d13bbb32
basevideo: Make GstVideoFrame a reference counted boxed object
...
...and also clear all existing frames when resetting the decoder or encoder.
2011-12-12 14:12:36 +01:00
Sebastian Dröge
811a2ef7aa
basevideoencoder: Only make the header buffer metadata writable, not the buffer
2011-12-08 11:51:36 +01:00
Sebastian Dröge
fd828c4ac7
basevideoencoder: Fix handling of force-keyunit events
2011-12-08 10:19:40 +01:00
Zhao Halley
4960d27d73
codecparsers: first video_packet_header doesn't start with resync_marker
2011-12-06 17:05:52 -03:00
Zhao Halley
5aaf56af29
codecparsers: return NO_PACKET if needed
2011-12-06 17:05:52 -03:00
Zhao Halley
3aa9081ef5
codecparsers: fix an issue in check resync marker
2011-12-06 17:05:52 -03:00
Zhao Halley
befc724e5a
codecparsers: fix an issue in finding the last video packet in vop
2011-12-06 17:05:52 -03:00
Zhao Halley
164faafad6
codecparsers: include resync marker in video packet size
2011-12-06 17:05:52 -03:00
Zhao Halley
f33f26e437
codecparsers: scan next resync marker after current one
2011-12-06 13:29:40 -03:00
Zhao Halley
012c40140f
codecparsers: fix < 0 issue of guint in mpeg4 parser
...
gst_byte_reader_masked_scan_uint32 returns a guint, not a gint, which
explains the issue we sometime get using < 0 instead of == -1;
2011-12-06 13:29:40 -03:00
Zhao Halley
391ecbda71
codecparsers: fix pattern/mask of resync_marker parsing of mpeg4
2011-12-06 13:29:40 -03:00
Alessandro Decina
702c055645
codecparsers: fix compile warnings in gstmpeg4parser.c
2011-12-06 13:15:58 +01:00
Edward Hervey
c4d987b6d3
codecparsers: Variant of _identify_nalu without checks
...
This is useful for cases where the caller *knows* that the provided
input contains a whole NALU and can therefore avoid:
* the expensive checks for the next start code (which won't be present)
* delaying the input parsing (since we would need the next incoming NALU
in order for the parsing code to detect the next start code)
https://bugzilla.gnome.org/show_bug.cgi?id=665584
2011-12-05 19:03:05 +01:00
Mark Nauwelaerts
91e054ba58
codecparser: unbreak h264 slice header parsing
...
.. introduced by refactoring in commit 177451c921
2011-12-05 13:10:18 +01:00
Matej Knopp
27b677d179
basevideodecoder: Fix reference counting of codec_data
2011-12-05 09:41:34 +01:00
Wim Taymans
cacdd29b5c
camerabin: use GstSample for the preview
2011-12-01 16:59:14 +01:00
Wim Taymans
759d62bafe
fix for moved interfaces
2011-11-29 19:11:22 +01:00
Gwenole Beauchesne
177451c921
codecparsers: h264: record ref_pic_list_modification().
2011-11-29 09:49:53 -03:00
Gwenole Beauchesne
99101a5824
codecparsers: h264: rename ref_pic_list_reordering() to ref_pic_list_modification().
...
Upgrade to current AVC specification.
2011-11-29 09:49:53 -03:00
Sebastian Dröge
e98b17a8dc
basevideoencoder: Pass the all-headers field of the force-key-unit event to the subclass
2011-11-29 12:18:20 +01:00
Sebastian Dröge
de6782cce4
basevideoencoder: Implement full support for the new force-key-unit event
...
Including support for the running-time and count fields.
2011-11-29 12:18:20 +01:00
Sebastian Dröge
97515ca050
basevideoencoder: Use new force-keyunit event API from gst-plugins-base
2011-11-29 12:18:20 +01:00
Sebastian Dröge
904eed3547
basevideoencoder: Adjusting padding is not required for -bad libraries
2011-11-29 12:18:19 +01:00
Sebastian Dröge
25002df594
basevideoencoder: Move some fields to the private part of the instance struct
2011-11-29 12:18:19 +01:00
Sebastian Dröge
b0000b9041
basevideoencoder: Make headers metadata writable before pushing downstream
...
The timestamp, duration, etc of the headers has to be changed.
2011-11-29 12:18:19 +01:00
Sebastian Dröge
4501412af3
basevideoencoder: Push the downstream force-keyframe event after the next keyframe
...
Even if the corresponding GstVideoFrame doesn't have the is_sync_point
flag set.
2011-11-29 12:18:19 +01:00
Sebastian Dröge
209ea84ef4
basevideoencoder: Don't push an upstream force-keyunit event downstream
2011-11-29 12:18:19 +01:00
Jonas Larsson
54cb226009
basevideoencoder: Add initial support for the all-headers field of the force-keyframe event
...
See bug #607742 .
2011-11-29 12:18:19 +01:00
Tim-Philipp Müller
12c678c7cf
codecparsers: minor fixes
...
Const-ify one more VLC table. Fix spelling of 'hybrid'.
No need to explicitly call ensure_debug_category() everywhere,
that will be done automatically from GST_LOG() and friends
via GST_CAT_DEFAULT.
2011-11-29 09:15:11 +00:00
Thibault Saunier
e1bacb4813
codecparser: mpeg4: Look for resync code in _mpeg4_parse
...
This way the API is simpler and users can call 1 single function for packet
detection.
2011-11-28 21:25:34 -03:00
Thibault Saunier
e464370163
codecparsers: Declare private arrays as static all around
2011-11-28 21:25:34 -03:00
Thibault Saunier
fd593d6cc8
codecparsers: mpeg4: Implement an Mpeg4 part 2 parsing library
2011-11-28 21:25:34 -03:00
Thibault Saunier
4439048e4a
codecparsers: Move shared code to a parser utils file
2011-11-28 21:25:34 -03:00
Vincent Penquerc'h
7521b597f4
various: fix pad template ref leaks
...
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:08:27 +00:00
Tim-Philipp Müller
77361e2919
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
ext/opus/gstopusdec.c
ext/opus/gstopusparse.c
gst-libs/gst/video/gstbasevideodecoder.c
gst-libs/gst/video/gstbasevideodecoder.h
2011-11-26 15:37:25 +00:00
Tim-Philipp Müller
f78e9e1684
basevideodecoder: some more debug logging
2011-11-25 11:37:57 +00:00
Tim-Philipp Müller
a039499bf1
basevideodecoder: add API to drop a frame and post a QoS message on the bus
...
https://bugzilla.gnome.org/show_bug.cgi?id=640017
API: gst_base_video_decoder_drop_frame()
2011-11-25 11:37:57 +00:00
René Stadler
4a8373b267
basecamerasrc: port to 0.11
...
Only to fix the build really (gtk-doc is trying to pick up the unbuildable
lib). Not tested at all (but pretty trivial case anyways).
2011-11-24 11:59:19 +01:00
Matej Knopp
9d0bdcf6d7
Fix printf format compiler warnings on OS X / 64 bit
...
https://bugzilla.gnome.org/show_bug.cgi?id=662618
2011-11-23 23:43:15 +00:00
Wim Taymans
0a9387c43c
Merge branch 'master' into 0.11
...
Conflicts:
ext/opus/gstopusdec.c
ext/opus/gstopusenc.c
ext/opus/gstopusparse.c
gst/audiovisualizers/gstwavescope.c
gst/filter/Makefile.am
gst/filter/gstfilter.c
gst/filter/gstiir.c
gst/playondemand/gstplayondemand.c
2011-11-23 11:08:39 +01:00
Tim-Philipp Müller
27556bd668
docs: fix comment in gst_base_video_decoder_get_max_decode_time() docs
2011-11-22 23:04:49 +00:00
Tim-Philipp Müller
c75922b96b
basevideodecoder: fix weird event list handling
...
Get rid of weird code that copies a list manually, taking
ownership of the elements and then frees the old list. Instead,
just take over the old list entirely. (If the intent was to
reverse the list, one could use g_list_reverse() instead).
Then, push events in the list out from last to first (since they
were prepended as they came in) instead of just pushing out the
last in the list and leaking the others.
2011-11-22 20:04:13 +00:00
Wim Taymans
e813abf631
update for activation changes
2011-11-21 13:37:20 +01:00
Mark Nauwelaerts
eba9bb5e5a
h264parser: initialize additional sps field value
...
Fixes #663552 .
2011-11-18 17:19:57 +01:00
Wim Taymans
b948769e6e
add parent to activate functions
2011-11-18 13:58:41 +01:00
Wim Taymans
67d328bbe2
fix for scheduling mode rename
2011-11-18 12:38:14 +01:00
Sebastian Dröge
022cdfc5d3
basevideoencoder: Only call ::reset once in READY->PAUSED
2011-11-17 10:34:07 -08:00
Wim Taymans
bc6ed0bf97
Merge branch 'master' into 0.11
...
Conflicts:
ext/celt/gstceltdec.c
ext/opus/gstopusdec.c
ext/opus/gstopusdec.h
ext/opus/gstopusenc.c
ext/opus/gstopusenc.h
ext/opus/gstopusparse.c
2011-11-17 17:32:42 +01:00
Wim Taymans
940de5b195
add parent to pad functions
2011-11-17 15:53:42 +01:00
Wim Taymans
6d92ecac75
add parent to query function
2011-11-16 17:30:38 +01:00
Wim Taymans
85afc77dea
_query_peer_*() -> _peer_query_*()
2011-11-15 17:55:50 +01:00
Wim Taymans
03713e5045
change getcaps to query
2011-11-15 16:34:13 +01:00
Sreerenj Balachandran
f509960fea
mpegvideoparse:Correct the skipping of vbv_delay in picture header and some typo fixes.
...
https://bugzilla.gnome.org/show_bug.cgi?id=663309
2011-11-14 08:32:32 -03:00
Wim Taymans
dbdaa23742
Merge branch 'master' into 0.11
...
Conflicts:
gst/colorspace/colorspace.c
2011-11-09 12:19:04 +01:00
Thijs Vermeir
e40ca78278
fix documentation typo
2011-11-09 12:00:05 +01:00
Wim Taymans
0d0444e0fa
remove query types
2011-11-09 11:55:14 +01:00
Vincent Penquerc'h
8766717b6c
mpegvideoparser: input data is const, mark it so
2011-11-07 11:12:44 +00:00
Wim Taymans
62544179e2
Merge branch 'master' into 0.11
2011-11-07 10:02:00 +01:00
Stefan Sauer
9f73890892
controller: port to new controller location and api
2011-11-04 20:14:01 +01:00
René Stadler
9cbc1fd23a
h264parser: add more size checks and improve existing
...
Don't subtract with unsigned values, that will bite us. Also fix format
specifier in the log message.
2011-11-04 13:10:01 +01:00
Wim Taymans
8e5579c594
video: port somewhat to 0.11
...
In 0.11 this should be done differently
2011-11-04 11:24:53 +01:00
Wim Taymans
f4c283a9cc
Merge branch 'master' into 0.11
2011-11-04 11:01:42 +01:00
Olivier Crête
9f76573bda
surfaceconverter: Remove duplicated forward declaration
...
It seems that some compilers don't like duplicated typedefs.
2011-11-03 17:17:10 -04:00
Wim Taymans
3f6e6053c6
videoenc: fix compiler warning
2011-11-03 16:57:29 +01:00
Wim Taymans
65d306e1f7
video: fix for metadata API change
2011-11-03 16:57:17 +01:00
Edward Hervey
c8561e7e1b
libs/video: Finish porting to 0.11
2011-11-03 13:57:20 +01:00
Nicolas Dufresne
149c058209
video: Add GstVideoContext interface
...
This interface will be used to implement video context sharing. Those
context could be X11 Display, VaDisplay, etc.
2011-11-03 10:41:55 +01:00
Nicolas Dufresne
2808290592
video: Abstract surface API for HW accelerated codecs
2011-11-03 10:33:11 +01:00
Vincent Penquerc'h
ca2f96caac
vc1parser: do not overwrite buffer
...
I do not know the bitstream format, but this seems likely
to be what was intended. Also add a check on the number of
items to read.
https://bugzilla.gnome.org/show_bug.cgi?id=662776
2011-11-03 09:46:02 +01:00
Sreerenj Balachandran
32a1e05795
vc1parser: fix parsing of RANGEREDFRM
2011-11-03 09:44:18 +01:00
Wim Taymans
769a9791a4
Merge branch 'master' into 0.11
2011-11-02 10:31:24 +01:00
René Stadler
fd4eb2e220
h264parser: fix access to uninitialized memory
...
When vui->timing_info_present is 0, vui->fixed_frame_rate_flag and others
cannot be accessed since they have not been set.
It was also possible that sps->fps_{num,den} end up initialized here.
2011-11-01 15:13:56 +01:00
René Stadler
6c4f5b6ae9
h264parser: fix MAX_SPS/PPS boundary checks
2011-11-01 12:29:35 +01:00
Tim-Philipp Müller
10d31a588d
Update for pad API changes
...
GstProbeType, GstProbeReturn and GstActivateMode -> GstPad*
2011-11-01 00:45:25 +00:00
Tim-Philipp Müller
93ed9cd687
Merge remote-tracking branch 'origin/master' into 0.11
2011-10-31 14:51:32 +00:00
Alessandro Decina
16ce440e7f
basevideoencoder: handle failures in start() and stop()
2011-10-31 11:38:58 +01:00
Tommi Myöhänen
de138dbc57
basecamerasrc: optimize state changing speed
...
Create preview pipeline already in initialization phase. This speeds
up NULL_TO_READY state change. Also implement a separate function for
setting the preview filter element.
This also restricts the preview filter property to work only on
NULL state.
2011-10-31 07:14:36 -03:00
Wim Taymans
9ca3734e52
make elements compile again
2011-10-28 15:16:43 +02:00
Wim Taymans
ce41348f78
Merge branch 'master' into 0.11
2011-10-27 16:13:56 +02:00
Stefan Sauer
69f8921e2c
interfaces: clean up the use of iface and class/klass
2011-10-21 15:04:05 +02:00
Sreerenj Balachandran
48275dc071
vc1parser: Correct the parsing of FRMRTQ_POSTPROC and BITRTQ_POSTPROC
2011-10-21 10:53:47 +02:00
Sreerenj Balachandran
30a3c5147b
vc1parser: Correct the parsing of sequece layer.
2011-10-21 10:53:47 +02:00
Wim Taymans
effab293cb
Merge branch 'master' into 0.11
2011-10-18 14:32:05 +02:00
Thibault Saunier
73d847ba24
codecparsers: VC1: Compute par and fps in advanced profile
2011-10-17 13:17:40 +02:00
Thibault Saunier
14590f06a0
codecparsers: VC1: Handle interlaced fields
2011-10-17 13:17:40 +02:00
Thibault Saunier
88766dc738
codecparsers: VC1: Handle interlaced frames properly
2011-10-17 13:17:40 +02:00
Thibault Saunier
7a689b6805
codecparsers: VC1: Use enums when possible
...
Add GstVC1FrameCodingMode and use it for the fcm field
Use GstVC1PictureType as variable type for ptype
Use GstVC1Level as variable type for level
2011-10-17 13:17:40 +02:00
Gwenole Beauchesne
40a1ed8288
codecparsers: vc1: fix bitplanes decoding (check for errors).
2011-10-17 13:17:40 +02:00
Gwenole Beauchesne
839acd54f6
codecparsers: vc1: fix bitplanes decoding (INVERT mode).
2011-10-17 13:17:40 +02:00
Gwenole Beauchesne
4280a61a23
codecparsers: vc1: fix MVMODE and MVMODE2 parsing.
2011-10-17 13:17:39 +02:00
Gwenole Beauchesne
b23f7eb38d
codecparsers: vc1: handle skipped pictures gracefully.
2011-10-17 13:17:39 +02:00
Thibault Saunier
ce71fdae1b
codecparsers: VC1: Implement bitplanes diff operator
2011-10-17 13:17:39 +02:00
Thibault Saunier
8090627581
codecparsers: VC1: Some cosmetics and debug logging enhancements
2011-10-17 13:17:39 +02:00
Gwenole Beauchesne
ef5b8ef581
codecparsers: vc1: Implement bitplanes handling properly
...
Add a new GstVC1BitPlanes API.
2011-10-17 13:17:39 +02:00
Gwenole Beauchesne
ac552a4f82
codecparsers: vc1: fix BFRACTION parser (values range + overflow).
2011-10-17 13:17:39 +02:00
Gwenole Beauchesne
52d8510ee0
codecparsers: vc1: fix VLC decoding.
2011-10-17 13:17:39 +02:00
Thibault Saunier
1a1935dacf
codecparsers: VC1: Implement FrameLayer parsing
2011-10-17 13:17:39 +02:00
Thibault Saunier
fc09e45108
codecparsers: VC1: Implement Sequence Layer Data Structures
...
Instead of having a single VC1SequenceHeader structure, use the 3 structs
from the "Table 265: Sequence Layer Data Structure" of the specification
for the library to be more flexible.
Implement the functions to parse them
2011-10-17 13:17:38 +02:00
Thibault Saunier
446e0a5216
codecparsers: VC1: Compute framerate and bitrate in simple/main profiles
2011-10-17 13:17:38 +02:00
Thibault Saunier
2b5e7c1f0f
codecparsers: VC1: compute MB height and width
...
Add them to GstVC1SequenceHdr
2011-10-17 13:17:38 +02:00
Gwenole Beauchesne
6137d841a0
codecparsers: vc1: debug cosmetics.
2011-10-17 13:17:38 +02:00
Gwenole Beauchesne
de4a1049e2
codecparsers: vc1: record picture layer header size in bits.
2011-10-17 13:17:38 +02:00
Gwenole Beauchesne
b181bd8bae
codecparsers: vc1: compute altpquant.
2011-10-17 13:17:38 +02:00
Gwenole Beauchesne
604ce193dd
codecparsers: vc1: use GstVC1ParserResult type name similarly to other parsers.
2011-10-17 13:17:37 +02:00
Gwenole Beauchesne
bd686a6370
codecparsers: vc1: handle End-of-Sequence correctly.
2011-10-17 13:17:37 +02:00
Gwenole Beauchesne
c90bf89b16
codecparsers: mpeg2: fix quant_matrix_extension() parser for chroma intra QM.
2011-10-17 13:17:37 +02:00
Wim Taymans
7f851794d6
Merge branch 'master' into 0.11
2011-10-16 15:28:31 +02:00
Thiago Santos
acdd2c20f7
basecamerasrc: Set preview pipeline to ready when going to ready
...
The preview pipeline should go to ready when the camerasrc goes
to ready, as in ready elements shouldn't be processing data.
2011-10-11 23:30:49 -03:00
Wim Taymans
4381a0a3a2
basevideodecoder: more porting
2011-10-05 12:53:07 +02:00
Wim Taymans
6b59788bb1
video: start porting some base classes
2011-10-04 14:27:32 +02:00
Wim Taymans
fae37396a4
photography: remore implement-interface
2011-10-04 14:26:21 +02:00
Wim Taymans
458cb1b37c
signalprocessor: port to 0.11
2011-10-04 13:33:53 +02:00
Wim Taymans
a7d614b963
Merge branch 'master' into 0.11
2011-10-04 13:29:21 +02:00
Thiago Santos
21653a793a
camerabin2: Initialize camerabin2 preview pipeline data with 0
...
Use g_new0 to initialize all fields with 0 to only cleanup what has been
initialized. This makes cleanup work correctly when some initialization
fails and pointers are left in some inconsistent state.
2011-10-03 16:16:23 -03:00
Wim Taymans
d26f7319e9
Merge branch 'master' into 0.11
2011-10-03 11:24:04 +02:00
Thiago Santos
b03c7478d4
camerabin2: removing capsfilter from preview pipeline
...
appsink already has a caps property, so we don't need the
capsfilter here
2011-09-29 11:50:04 -03:00
Wim Taymans
145c4b9f74
photography: remove implements-interface prerequisite
2011-09-28 12:54:38 +02:00
Thibault Saunier
705a80d957
codecparser: VC1: Implement a VC1 parsing library
2011-09-26 08:46:37 -03:00
Thibault Saunier
2c928aba19
codecparsers: Declare the new APIs as unstable for the time being
2011-09-26 08:11:45 -03:00
Thiago Santos
43ec4f46b8
basecamerasrc: Fail state change if preview pipeline fails creation
...
If the preview pipeline fails creation, for any reason, we should
fail basecamerasrc state change.
Also adds a missing g_return_if_fail check to preview pipeline
functions
2011-09-20 13:02:17 -03:00
Edward Hervey
7d5bd1992e
codecparsers: Add checks to input, and fix size checking
2011-09-19 16:40:45 +02:00
Edward Hervey
e6212219ed
codecparsinglibs: Doc and indentation fixes
2011-09-19 14:03:23 +02:00
Vincent Penquerc'h
ac5121eb01
h264parse: do not try to read from a non existent VUI
...
https://bugzilla.gnome.org/show_bug.cgi?id=658800
2011-09-19 09:27:06 +02:00
Thibault Saunier
f396baa3af
codecparsers: mpegvideo: Debugging symbols enhancements
2011-09-14 12:13:19 -03:00
Thibault Saunier
309df7e1e8
codecparsers: mpegvideo: Add the ChromaType enum
2011-09-14 12:13:19 -03:00