Thiago Santos [Sat, 29 Nov 2014 13:25:45 +0000 (10:25 -0300)]
dashdemux: when updating the manifest, set the uri
This will allow dashdemux to create the correct full path URIs to
continue downloading fragments
Thiago Santos [Tue, 26 Aug 2014 19:45:46 +0000 (16:45 -0300)]
dashdemux: port to adaptive demux
Thiago Santos [Sat, 22 Nov 2014 20:27:03 +0000 (17:27 -0300)]
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.
Thiago Santos [Fri, 21 Nov 2014 23:42:09 +0000 (20:42 -0300)]
adaptivedemux: add adaptivedemux base class
https://bugzilla.gnome.org/show_bug.cgi?id=735848
Tim-Philipp Müller [Sat, 29 Nov 2014 13:16:56 +0000 (13:16 +0000)]
gdppay: minor caps event payloading optimisation
Avoid creation of buffer we're just going to throw
away two lines later anyway.
Tim-Philipp Müller [Sat, 29 Nov 2014 13:15:36 +0000 (13:15 +0000)]
gdppay: fix some memory leaks
Matthew Waters [Sat, 29 Nov 2014 13:42:17 +0000 (00:42 +1100)]
glcontext: require GL_ARB_ES2_compatibility for opengl3
until we generate gl3 compliant shaders
https://bugzilla.gnome.org/show_bug.cgi?id=740012
Matthew Waters [Sat, 29 Nov 2014 13:18:55 +0000 (00:18 +1100)]
glimagesink: properly handle the !opengl3 case
https://bugzilla.gnome.org/show_bug.cgi?id=740012
Sebastian Dröge [Fri, 28 Nov 2014 16:31:07 +0000 (17:31 +0100)]
decklinksink: Drop too late frames and start scheduled playback at the correct time
Tim-Philipp Müller [Fri, 28 Nov 2014 16:04:54 +0000 (16:04 +0000)]
glfilterapp: fix unused variable compiler warning
When GST_GL_HAVE_OPENGL is 0 or unset.
Sebastian Dröge [Fri, 28 Nov 2014 14:06:42 +0000 (15:06 +0100)]
decklinksrc: For the source, unsetting the callback already deletes it
Sebastian Dröge [Fri, 14 Nov 2014 10:19:45 +0000 (11:19 +0100)]
decklinksink: Wait for the pipeline clock instead of the decklink clock
Otherwise we're going to starve other elements if the decklink clock
is slower than the pipeline clock, or starts much later.
Of course this will still cause problems if the decklink clock and ours are
completely out of sync, or running at a very different rate. But this at least
works better now.
Sebastian Dröge [Fri, 14 Nov 2014 09:58:53 +0000 (10:58 +0100)]
decklinksink: Schedule video frames according to their timestamps, not according to a frame counter
Sebastian Dröge [Fri, 14 Nov 2014 10:02:01 +0000 (11:02 +0100)]
decklinksink: Add some FIXME comments about synchronization
Sebastian Dröge [Fri, 14 Nov 2014 09:38:33 +0000 (10:38 +0100)]
decklinksrc: Sample the pipeline clock for the timestamps instead of coming up with our own
If we just count the frames and calculate timestamps from that, all frames
will arrive late in the sink as we have a live source here. Instead take
the pipeline clock at capture time as reference.
Sebastian Dröge [Fri, 28 Nov 2014 13:50:18 +0000 (14:50 +0100)]
decklinksrc: Handle callback/delegate object the same way as in the sink
Potentially fixes crashes.
Sebastian Dröge [Fri, 28 Nov 2014 13:46:06 +0000 (14:46 +0100)]
decklinksink: Don't crash when going to READY another time
We have to handle the callback object a bit different:
a) it needs a virtual destructor
b) we need to set the callback to NULL when we're done with the output
c) create a new one every time
https://bugzilla.gnome.org/show_bug.cgi?id=740616
Sebastian Dröge [Fri, 28 Nov 2014 09:23:55 +0000 (10:23 +0100)]
compositor: Failure to map a video frame is not just a warning
Also add some warning debug output if mapping a output buffer fails
Sebastian Dröge [Fri, 28 Nov 2014 09:22:44 +0000 (10:22 +0100)]
videoaggregator: Failure to map a video frame is not just a warning
Matthew Waters [Fri, 28 Nov 2014 03:08:40 +0000 (14:08 +1100)]
glfilterapp is now available on gles2 as well so build it
Matthew Waters [Fri, 28 Nov 2014 02:04:21 +0000 (13:04 +1100)]
gl: fixup compat definition for GLuint64 for OS X
Matthew Waters [Fri, 28 Nov 2014 00:56:10 +0000 (11:56 +1100)]
gl: add compat definition for GLuint64 for android
../../../../gst-libs/gst/gl/glprototypes/sync.h:41:23: error: unknown type name 'GLuint64'
GLuint64 timeout))
Danny Song [Thu, 27 Nov 2014 17:21:49 +0000 (02:21 +0900)]
basecamerasrc: fix typo in docs
https://bugzilla.gnome.org/show_bug.cgi?id=740815
Matthew Waters [Fri, 28 Nov 2014 00:11:43 +0000 (11:11 +1100)]
glsync: fix build with desktop gl
Matthew Waters [Fri, 28 Nov 2014 00:04:22 +0000 (11:04 +1100)]
gl: fix typo in #if
GST_GL_API_HAVE_OPENGL doesn't exist
Matthew Waters [Thu, 27 Nov 2014 23:59:46 +0000 (10:59 +1100)]
gl: fix various build errors without desktop gl
Matthew Waters [Thu, 27 Nov 2014 23:03:18 +0000 (10:03 +1100)]
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));
Matthew Waters [Thu, 27 Nov 2014 10:05:45 +0000 (21:05 +1100)]
gldisplay: implement runtime GL api filtering
Needed so that the pipeline/application can limit the choice of GL api
to what it supports
Matthew Waters [Thu, 27 Nov 2014 05:17:50 +0000 (16:17 +1100)]
gl: remove the use of glu
Matthew Waters [Fri, 17 Oct 2014 13:22:24 +0000 (15:22 +0200)]
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.
Matthew Waters [Fri, 17 Oct 2014 13:08:29 +0000 (15:08 +0200)]
glprototypes: add sync function definitions
Matthew Waters [Mon, 17 Nov 2014 07:06:20 +0000 (18:06 +1100)]
glfilterapp: port to gles2 and gl3
Matthew Waters [Fri, 14 Nov 2014 12:24:48 +0000 (23:24 +1100)]
gloverlay: support gl3
Matthew Waters [Thu, 13 Nov 2014 13:20:10 +0000 (00:20 +1100)]
glvideomixer: add support for gl3
Matthew Waters [Thu, 13 Nov 2014 10:30:38 +0000 (21:30 +1100)]
glfiltercube: add a gl3 code path
Matthew Waters [Thu, 13 Nov 2014 04:09:04 +0000 (15:09 +1100)]
glfiltershader: support gl3
Matthew Waters [Thu, 13 Nov 2014 01:12:46 +0000 (12:12 +1100)]
gltransformation: support gl3
Matthew Waters [Wed, 12 Nov 2014 12:48:32 +0000 (23:48 +1100)]
gleffects: support gl3 whereever gles2 is supported
Matthew Waters [Wed, 12 Nov 2014 12:47:13 +0000 (23:47 +1100)]
glcolorscale: support gl3
Matthew Waters [Wed, 12 Nov 2014 11:49:11 +0000 (22:49 +1100)]
glfilter: add a gl3 code path using vao's and vbo's
Matthew Waters [Wed, 12 Nov 2014 11:48:04 +0000 (22:48 +1100)]
glframebuffer: add support for gl3
Matthew Waters [Thu, 23 Oct 2014 11:35:20 +0000 (22:35 +1100)]
glcolorconvert: add support for gl3
Matthew Waters [Tue, 21 Oct 2014 11:18:51 +0000 (22:18 +1100)]
glimagesink: use vbo's and vao's for gl3
Matthew Waters [Tue, 21 Oct 2014 08:30:38 +0000 (19:30 +1100)]
glshader add support for gl3
Matthew Waters [Sun, 19 Oct 2014 04:09:37 +0000 (08:09 +0400)]
glx: ask for a GL3 core context
Sebastian Dröge [Thu, 27 Nov 2014 20:22:44 +0000 (21:22 +0100)]
videoaggregator: Minor cleanup
Sebastian Dröge [Wed, 26 Nov 2014 14:02:14 +0000 (15:02 +0100)]
compositor: Implement rescaling of the input via pad properties
compositor has now the same interface as glvideomixer.
Sebastian Dröge [Thu, 27 Nov 2014 19:34:25 +0000 (20:34 +0100)]
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.
Sebastian Dröge [Thu, 27 Nov 2014 19:25:29 +0000 (20:25 +0100)]
videoaggregator: Directly use the converters video-info instead of recalculating it
Sebastian Dröge [Thu, 27 Nov 2014 18:52:20 +0000 (19:52 +0100)]
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.
Thibault Saunier [Thu, 27 Nov 2014 17:46:03 +0000 (18:46 +0100)]
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
Thibault Saunier [Thu, 27 Nov 2014 15:43:39 +0000 (16:43 +0100)]
audiomixer: Do not try to resize a buffer to a negative size on EOS
Thibault Saunier [Wed, 26 Nov 2014 17:24:05 +0000 (18:24 +0100)]
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
Thibault Saunier [Wed, 26 Nov 2014 14:41:37 +0000 (15:41 +0100)]
watchdog: Handle FLUSHING seek events even in PAUSED state
https://bugzilla.gnome.org/show_bug.cgi?id=740757
Thibault Saunier [Wed, 26 Nov 2014 14:43:12 +0000 (15:43 +0100)]
watchdog: Properly handle PAUSED state
In PAUSED state we should just preroll, so get one buffer
and stop monitoring.
https://bugzilla.gnome.org/show_bug.cgi?id=740757
Thibault Saunier [Fri, 31 Oct 2014 10:01:47 +0000 (11:01 +0100)]
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.
Alessandro Decina [Thu, 27 Nov 2014 12:40:56 +0000 (13:40 +0100)]
vtenc: add quality property
Alessandro Decina [Thu, 27 Nov 2014 12:33:07 +0000 (13:33 +0100)]
vtenc: set profile and level in caps
Sebastian Dröge [Thu, 27 Nov 2014 17:09:58 +0000 (18:09 +0100)]
glcolorconvert: Unref buffer with the correct function
Sebastian Dröge [Thu, 27 Nov 2014 17:09:14 +0000 (18:09 +0100)]
glmemory: Handle failure of memory allocation gracefully
Sebastian Dröge [Thu, 27 Nov 2014 17:04:58 +0000 (18:04 +0100)]
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.
Edward Hervey [Thu, 27 Nov 2014 16:11:13 +0000 (17:11 +0100)]
Automatic update of common submodule
From f32cfcd to ef1ffdc
Wang Xin-yu (王昕宇) [Thu, 27 Nov 2014 02:48:43 +0000 (10:48 +0800)]
glcolorconvert: support RGB16/BGR16 video format download
https://bugzilla.gnome.org/show_bug.cgi?id=740801
Matthew Waters [Thu, 27 Nov 2014 02:01:19 +0000 (13:01 +1100)]
glimagesink: only attempt a resize when the window has already resized
fixes a black startup screen on wayland
Matthew Waters [Thu, 27 Nov 2014 00:47:38 +0000 (11:47 +1100)]
gl/wayland: implement resizing the window using the right mouse button
Arun Raghavan [Wed, 26 Nov 2014 16:35:10 +0000 (22:05 +0530)]
build: Use newer AX_PTHREAD instead of ACX_PTHREAD
Tim-Philipp Müller [Wed, 26 Nov 2014 14:36:42 +0000 (14:36 +0000)]
Remove unported and obsolete qtwrapper plugin code
QuickTime is deprecated, we want new plugins based
on avfoundation (osx) or dxva/mediafoundation (windows).
Matthew Waters [Wed, 26 Nov 2014 14:27:19 +0000 (01:27 +1100)]
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
Matthew Waters [Tue, 25 Nov 2014 02:33:07 +0000 (13:33 +1100)]
gl: fix automagic disabling of desktop GL
If configure finds GL + GLES2 but the user passes --enable-gles2 and
the two GL API's cannot be built against together, configure was still
allowing the desktop GL stack to be built.
Sebastian Dröge [Wed, 26 Nov 2014 12:06:21 +0000 (13:06 +0100)]
videoaggregator: Also sync pad properties to the controller if conversion is disabled
Sebastian Dröge [Wed, 26 Nov 2014 11:35:52 +0000 (12:35 +0100)]
compositor: Remove unused zorder pad property
It's handled in videoaggregator already.
Julien Isorce [Sun, 23 Nov 2014 23:49:50 +0000 (23:49 +0000)]
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
Sebastian Dröge [Tue, 25 Nov 2014 17:53:55 +0000 (18:53 +0100)]
compositor: GstVideoMeta is supported just fine, tell upstream about that
Also provide a GstVideoBufferPool to upstream just in case.
Tim-Philipp Müller [Mon, 24 Nov 2014 13:25:55 +0000 (13:25 +0000)]
winks: fix debug message format issues
And print last bits of GUID properly instead
of printing nonsense.
https://bugzilla.gnome.org/show_bug.cgi?id=733055
Julien Isorce [Tue, 25 Nov 2014 08:24:16 +0000 (08:24 +0000)]
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
Tim-Philipp Müller [Mon, 24 Nov 2014 19:53:56 +0000 (19:53 +0000)]
configure: use pkg-config to detect X11
Like we do in -base and -good now.
https://bugzilla.gnome.org/show_bug.cgi?id=731047
Sebastian Dröge [Mon, 24 Nov 2014 18:21:29 +0000 (19:21 +0100)]
openh264enc: Use a fixed number of slices by default
Sebastian Dröge [Mon, 24 Nov 2014 18:16:20 +0000 (19:16 +0100)]
openh264enc: Add some more encoding properties
Merged from https://github.com/EricssonResearch/openwebrtc-gst-plugins
based on a patchset by Robert Swain <robert.swain@ericsson.com>
Ramprakash Jelari [Mon, 24 Nov 2014 13:10:53 +0000 (18:40 +0530)]
glcontext: Fix unused variable warning by moving declaration where it is actually used
Sebastian Dröge [Mon, 24 Nov 2014 13:07:19 +0000 (14:07 +0100)]
decklink: Add support for 2k modes
Sebastian Dröge [Mon, 24 Nov 2014 12:56:56 +0000 (13:56 +0100)]
decklink: HD1080i50 is 50 frames per second
Ramprakash Jelari [Mon, 24 Nov 2014 12:28:42 +0000 (17:58 +0530)]
mpegtspacketizer: Fix format string compiler warning
Ramprakash Jelari [Mon, 24 Nov 2014 11:48:44 +0000 (17:18 +0530)]
dvbsection: Fix format string compiler warning
Ramprakash Jelari [Mon, 24 Nov 2014 11:24:42 +0000 (16:54 +0530)]
mpegtsdescriptor: Fix format string compiler warning
gstmpegtsdescriptor.c:778:16: warning: format specifies type 'unsigned long' but the argument has type 'int' [-Wformat]
Sebastian Dröge [Mon, 24 Nov 2014 10:32:33 +0000 (11:32 +0100)]
glupload: Fix valid compiler warning
gstglupload.c:442:32: error: if statement has empty body [-Werror,-Wempty-body]
if (upload->texture_ids[i]);
^
Philippe Normand [Mon, 24 Nov 2014 09:43:23 +0000 (10:43 +0100)]
gl: ship the gstglcontext_egl.h header
It is required by gsteglimagememory.h.
https://bugzilla.gnome.org/show_bug.cgi?id=740611
Tim-Philipp Müller [Sun, 23 Nov 2014 21:43:20 +0000 (21:43 +0000)]
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.
Matthew Waters [Sun, 23 Nov 2014 15:52:24 +0000 (02:52 +1100)]
glshadervariables: also trim \r as well as \n
Matthew Waters [Wed, 5 Nov 2014 09:18:06 +0000 (20:18 +1100)]
glupload: rearchitecture for non GLMemory inputs/outputs
Allows other memory types to be implemented/returned/used by the caller.
Wonchul Lee [Fri, 14 Nov 2014 01:55:14 +0000 (10:55 +0900)]
rawparse: send SEEKING query upstream first
Sometimes rawparse does not handle the seeking query
properly, the rawparse should send the query upstream
first. For example, upstream could support seeking in
TIME format (but not in BYTE format), so the BYTE format
seeking query that rawparse sends in push mode would
fail.
https://bugzilla.gnome.org/show_bug.cgi?id=722764
Alessandro Decina [Fri, 21 Nov 2014 14:46:49 +0000 (15:46 +0100)]
vtenc: let VT pick the bitrate by default
Aleix Conchillo Flaqué [Thu, 20 Nov 2014 18:23:30 +0000 (10:23 -0800)]
srtpdec: fix rtp/rtcp sink event memory leak
https://bugzilla.gnome.org/show_bug.cgi?id=740451
Alessandro Decina [Thu, 20 Nov 2014 15:04:34 +0000 (16:04 +0100)]
vtenc: set H264_Baseline_AutoLevel on OSX as well
Alessandro Decina [Thu, 20 Nov 2014 14:50:18 +0000 (15:50 +0100)]
vtdec: disable the reorder queue for baseline streams
Sebastian Dröge [Thu, 20 Nov 2014 08:41:43 +0000 (09:41 +0100)]
vtdec: Fix divide by zero in the picture buffer length calculation
Vineeth T M [Thu, 20 Nov 2014 03:43:58 +0000 (09:13 +0530)]
glimagesink: critical error while seek playback-test(stop state)
If we seek when media is in stop state, playback-test gives
critical error, since context of glimagesink is destroyed during stop.
But since context is not present, we need not handle send_event in glimagesink
Hence adding a condition to check if context is valid.
https://bugzilla.gnome.org/show_bug.cgi?id=740305
Sebastian Dröge [Wed, 19 Nov 2014 16:17:06 +0000 (17:17 +0100)]
aggregator: Unblock events/queries immediately if the pad is flushing
https://bugzilla.gnome.org/show_bug.cgi?id=740376
Sebastian Dröge [Wed, 19 Nov 2014 16:15:02 +0000 (17:15 +0100)]
aggregator: Drop serialized events/queries if the pad is flushing
https://bugzilla.gnome.org/show_bug.cgi?id=740376
Sebastian Dröge [Wed, 19 Nov 2014 16:03:41 +0000 (17:03 +0100)]
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
Sebastian Dröge [Wed, 19 Nov 2014 16:02:40 +0000 (17:02 +0100)]
videoaggregator: Don't output 0-duration buffers at the segment end
https://bugzilla.gnome.org/show_bug.cgi?id=740376