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