Thiago Santos [Wed, 6 May 2015 17:19:36 +0000 (14:19 -0300)]
videoaggregator: refactor caps reconfigure to its own function
Makes the aggregation code shorter and easier to read
Thiago Santos [Wed, 6 May 2015 16:59:51 +0000 (13:59 -0300)]
videoaggregator: fixing types in aggregate function
Correctly use boolean and GstFlowReturn types in the function.
Thiago Santos [Wed, 6 May 2015 16:08:11 +0000 (13:08 -0300)]
videoaggregator: use macro to access aggregator src pad
Makes code a bit more readable
Thiago Santos [Wed, 6 May 2015 16:07:52 +0000 (13:07 -0300)]
aggregator: add a convenience macro to get the source pad
Easier than casting or acessing the parent everywhere
Luis de Bethencourt [Mon, 8 Jun 2015 13:16:22 +0000 (14:16 +0100)]
tsdemux: correct fix for dead code
Rename template to caps to keep the original intention of the code after
commit
b4c9aa1c
CID #1304674
Luis de Bethencourt [Mon, 8 Jun 2015 13:14:41 +0000 (14:14 +0100)]
Revert "tsdemux: remove dead code"
This reverts commit
0635acfec041b1c664bc0770839b1a576e3598b1.
Luis de Bethencourt [Mon, 8 Jun 2015 12:37:32 +0000 (13:37 +0100)]
tsdemux: remove dead code
After commit
b4c9aa1c308f88bf4e1f69ab0156ed9f99815e8e template will always be
NULL. The if conditional will always be FALSE, so removing it.
CID #1304674
Stefan Sauer [Sun, 7 Jun 2015 21:06:38 +0000 (23:06 +0200)]
Automatic update of common submodule
From 21ba2e5 to d37af32
Stefan Sauer [Sun, 7 Jun 2015 15:32:07 +0000 (17:32 +0200)]
Automatic update of common submodule
From c408583 to 21ba2e5
Stefan Sauer [Sun, 7 Jun 2015 15:03:15 +0000 (17:03 +0200)]
docs: remove variables that we define in the snippet from common
This is syncing our Makefile.am with upstream gtkdoc.
Stefan Sauer [Sun, 7 Jun 2015 15:16:25 +0000 (17:16 +0200)]
Automatic update of common submodule
From d676993 to c408583
Sebastian Dröge [Sun, 7 Jun 2015 14:45:04 +0000 (16:45 +0200)]
Back to development
Stefan Sauer [Sun, 7 Jun 2015 14:28:43 +0000 (16:28 +0200)]
docs: only add the libs that we actually document right now
Keep the libs in alphabetical order unless a specific link order is required.
Also remove the -L directives as we specify the direct path to the .la files.
Stefan Sauer [Sun, 7 Jun 2015 14:28:22 +0000 (16:28 +0200)]
docs: remove duplicated entry from types file
Stefan Sauer [Sun, 7 Jun 2015 13:59:59 +0000 (15:59 +0200)]
zbar: split test
Lets not cram everything into a single test - this would render the test name
useless for quick diagnosis. Having separate tests for the optional feature is
also verifying the behaviour when the feature is off.
Sebastian Dröge [Sun, 7 Jun 2015 08:55:35 +0000 (10:55 +0200)]
Release 1.5.1
Sebastian Dröge [Sun, 7 Jun 2015 07:36:21 +0000 (09:36 +0200)]
po: Update translations
Jimmy Ohn [Sat, 30 May 2015 12:35:36 +0000 (21:35 +0900)]
hlsdemux: Fix wrong gst-launch command in the description
Fix wrong gst-lauch command in the description.
This patch may help people to get right testing results using the script.
https://bugzilla.gnome.org/show_bug.cgi?id=750143
Luis de Bethencourt [Fri, 5 Jun 2015 13:49:18 +0000 (14:49 +0100)]
dfbvideosink: remove ignored assignments
Remove assignments to DFBResult res that are never read.
Luis de Bethencourt [Fri, 5 Jun 2015 13:34:55 +0000 (14:34 +0100)]
tsdemux: remove ignored assignment
Function goes to done before the value set in start_offset is ever used.
Thiago Santos [Fri, 5 Jun 2015 12:35:39 +0000 (09:35 -0300)]
Fix a common typo: retreive -> retrieve
Seems to have been copy pasted around a few places
Thiago Santos [Fri, 5 Jun 2015 12:22:58 +0000 (09:22 -0300)]
hlsdemux: drop TODO that doesn't need a solution
Connection speed is only checked at that point in hlsdemux so there
is no real need to refactor it.
https://bugzilla.gnome.org/show_bug.cgi?id=749328
Thiago Santos [Fri, 5 Jun 2015 12:15:34 +0000 (09:15 -0300)]
Revert "hlsdemux: Simplify logic in process_manifest"
This reverts commit
4ca3a22b6b33ad8be4383063e76f79c4d346535d.
The connection-speed=0 is used as a special value in the property
of hlsdemux to mean 'automatic' selection, m3u8.c doesn't need
to know about that as it should be as simple as possible.
So this patch hides this automatic selection documented in hlsdemux
into m3u8 logic and I think the gets harder to understand the code.
It also makes the hlsdemux unit tests work again
https://bugzilla.gnome.org/show_bug.cgi?id=749328
Sebastian Dröge [Fri, 5 Jun 2015 12:30:03 +0000 (14:30 +0200)]
mpdparser: Fix inverted logic introduced in last commit
Vineeth TM [Thu, 4 Jun 2015 23:58:03 +0000 (08:58 +0900)]
simplevideomarkdetect: fix detect of videomark partially or fully outside video
In case of the videomark being partially or fully outside,
an error was bein thrown saying, mark width is more than video width.
And when the width, offset properties are set to maximum it resulted in crash.
Instead of throwing error, added logic to detect the mark
in case of partial visibility or dont show the mark when it is outside.
https://bugzilla.gnome.org/show_bug.cgi?id=743908
Sebastian Dröge [Fri, 5 Jun 2015 12:10:43 +0000 (14:10 +0200)]
mpdparser: Calculate the number of segments we have when a segment template instead of a list is used
Otherwise we would just continue downloading new files forever until we get
404 for the first one, and then error out instead of going EOS.
Vineeth TM [Thu, 4 Jun 2015 23:53:30 +0000 (08:53 +0900)]
simplevideomark: Add Error logs
When the pattern offset is outside the video, the print error message
https://bugzilla.gnome.org/show_bug.cgi?id=743908
Sebastian Dröge [Fri, 5 Jun 2015 11:28:39 +0000 (13:28 +0200)]
Revert "mpdparser: Don't consider streams with a known media presentation duration as live"
This reverts commit
37011e519830e0786fa6e307ed26003a2a8774f1.
This change was actually completely unnecessary, the streams in question are
marked as static and are not considered live anyway.
Sebastian Dröge [Fri, 5 Jun 2015 11:21:55 +0000 (13:21 +0200)]
mpdparser: Don't consider streams with a known media presentation duration as live
Sebastian Dröge [Fri, 5 Jun 2015 09:26:11 +0000 (11:26 +0200)]
adaptivedemux: Error out if downloading a segment failed too often in live mode
It's true that we shouldn't consider errors fatal immediately, but if we
always ignore them we will loop infinitely on live streams with segments
that can't be downloaded at all.
Jose Antonio Santos Cadenas [Wed, 3 Jun 2015 10:17:19 +0000 (12:17 +0200)]
srtp: Allow getting ssrc of more package types than RR and SR
This allows decrypting reduce size packages. See RFC 5506
https://bugzilla.gnome.org/show_bug.cgi?id=750326
Thiago Santos [Thu, 4 Jun 2015 16:36:32 +0000 (13:36 -0300)]
tsdemux: refactor pad creation
Avoid repeating the same pad creation code everywhere
Sebastian Dröge [Thu, 4 Jun 2015 13:57:57 +0000 (15:57 +0200)]
mpdparser: Don't crash in debug output if stream->segments is NULL
Tim-Philipp Müller [Thu, 4 Jun 2015 12:31:56 +0000 (13:31 +0100)]
ksvideosrc: fix logic and timestamp non-muxed streams again
https://bugzilla.gnome.org/show_bug.cgi?id=750381
Tim-Philipp Müller [Thu, 4 Jun 2015 11:53:19 +0000 (12:53 +0100)]
libde265dec: fix up plugin name and decoder description
Sebastian Dröge [Thu, 4 Jun 2015 11:36:05 +0000 (13:36 +0200)]
mpdparse: Clamp seek times to the availabilityStartTime
Otherwise we will seek to negative times, which are interpreted as unsigned
integers later.
Sebastian Dröge [Thu, 4 Jun 2015 11:13:39 +0000 (13:13 +0200)]
mpdparser: Improve debug output a bit when advancing segments
Sebastian Dröge [Thu, 4 Jun 2015 10:36:41 +0000 (12:36 +0200)]
adaptivedemux: Release the manifest mutex before waiting for a download
Otherwise we will hurt parallel downloads in the best case, and often cause
deadlocks.
Sebastian Dröge [Thu, 4 Jun 2015 09:54:24 +0000 (11:54 +0200)]
opusdec: If channel/rate negotiation fails, fall back to stereo and 48kHz
Sebastian Dröge [Thu, 4 Jun 2015 09:52:40 +0000 (11:52 +0200)]
opusparse: Set up default header with 48kHz sample rate instead of 0
Sebastian Dröge [Thu, 4 Jun 2015 09:45:05 +0000 (11:45 +0200)]
opusdec: gst_structure_fixate_field_nearest_int() only works if the structure has this field
Just set the rate/channels directly if the caps don't have this field.
Sebastian Dröge [Thu, 4 Jun 2015 09:05:07 +0000 (11:05 +0200)]
mpdparser: Use 64 bit integer format strings when passing a 64 bit integer
Otherwise we'll only get half of its bits printed on 32 bit architectures.
For this, promote the %d-style format strings to something that accepts
64 bit integers with G_GINT64_MODIFIER.
Sebastian Dröge [Thu, 4 Jun 2015 08:47:07 +0000 (10:47 +0200)]
mpdparse: Validate format strings before using them
Using format strings from an untrusted source without validation is
calling for problems, and at least allows to remotely crash your application.
If not worse.
Philippe Normand [Thu, 4 Jun 2015 07:40:19 +0000 (09:40 +0200)]
gl/dispmanx: Fix build
Julien Isorce [Wed, 3 Jun 2015 21:21:30 +0000 (22:21 +0100)]
gl/example: fix build error when compiling cocoa-videooverlay
libtool: error: ignoring unknown tag OBJC
and
clang: error: argument unused during compilation: '-pthread'
Matthew Waters [Thu, 4 Jun 2015 05:01:16 +0000 (15:01 +1000)]
gl/window/dispmanx: fix compiler warning
Matthew Waters [Thu, 4 Jun 2015 02:16:35 +0000 (12:16 +1000)]
gl/window: use the default main loop implementation for all backends
fixes glimagsink being unable to display.
https://bugzilla.gnome.org/show_bug.cgi?id=750337
Julien Isorce [Wed, 3 Jun 2015 20:22:09 +0000 (21:22 +0100)]
glwindow_cocoa: use parent default implementation
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=750337
Sebastian Dröge [Wed, 3 Jun 2015 18:03:37 +0000 (20:03 +0200)]
mpdparser: Add the startNumber as offset to the segment index when using a template
Santiago Carot-Nemesio [Wed, 3 Jun 2015 14:59:44 +0000 (16:59 +0200)]
dtlsdec: Fix critical warning "got data flow before stream-start event"
Forward sticky events on requested src pad.
https://bugzilla.gnome.org/show_bug.cgi?id=750348
Luis de Bethencourt [Wed, 3 Jun 2015 14:25:10 +0000 (15:25 +0100)]
vc1parse: remove useless value assignments
In all these cases ret is set but overwritten before the return of the function
Luis de Bethencourt [Wed, 3 Jun 2015 13:44:31 +0000 (14:44 +0100)]
examples: gst-camerabin2-test: protect from division by zero
Highly unlikely to have 0 captures, but protect from crashes in the future by
doing none of the math if there is no data.
Tim-Philipp Müller [Tue, 2 Jun 2015 19:57:34 +0000 (20:57 +0100)]
configure: lower curl requirement to 7.35.0
Build and unit tests were tested against 7.35 too now,
which is the version in Ubuntu 14.04.
Thiago Santos [Tue, 2 Jun 2015 19:40:25 +0000 (16:40 -0300)]
mpegtsbase: do not access variable after unref
Data might not exist anymore
Olivier Crête [Tue, 2 Jun 2015 19:45:13 +0000 (15:45 -0400)]
tests: audiointerleave: test not setting positions
Disable "channel-positions-from-input", but without actually giving
a position table, so every position should be NONE
Olivier Crête [Tue, 2 Jun 2015 19:44:57 +0000 (15:44 -0400)]
tests: Fix indentation in audiointerleave test
Reynaldo H. Verdejo Pinochet [Tue, 2 Jun 2015 14:31:00 +0000 (11:31 -0300)]
zbar: don't ignore zbar_scan_image() errors
Jan Schmidt [Tue, 2 Jun 2015 14:31:42 +0000 (00:31 +1000)]
glsyncmeta: Set new sync point when copying
Set a new sync point when copying instead of
transferring the (non-refcounted) GL sync object
from the source meta.
https://bugzilla.gnome.org/show_bug.cgi?id=750279
Jan Schmidt [Tue, 2 Jun 2015 13:59:50 +0000 (23:59 +1000)]
glsyncmeta: Add some debug output
Edward Hervey [Tue, 2 Jun 2015 14:02:37 +0000 (16:02 +0200)]
check: Use GST_CHECK_MAIN () macro everywhere
Makes source code smaller, and ensures we go through common initialization
path (like the one that sets up XML unit test output ...)
Vineeth TM [Tue, 2 Jun 2015 01:21:42 +0000 (10:21 +0900)]
simplevideomark: fix display of videomark partially or fully outside video
In case of the videomark being partially or fully outside, an error was being
thrown saying the mark width is more than video width. And when the width,
offset properties are set to maximum it resulted in crash. Instead of throwing
an error, add logic to detect the mark in case of partial visibility or don't
show the mark when it is outside.
https://bugzilla.gnome.org/show_bug.cgi?id=743908
Aurélien Zanelli [Tue, 24 Mar 2015 14:17:16 +0000 (15:17 +0100)]
tsdemux: enable Chinese AVS video stream
Chinese broadcaster encapsulate AVS video codec into MPEG2-TS. They
use the stream_id 0x42 to identify AVS video streams. It should be noted
that this id is currently within the ISO reserved range, hence it's
utilisation is unofficial.
https://bugzilla.gnome.org/show_bug.cgi?id=727731
Matthew Waters [Tue, 2 Jun 2015 07:24:18 +0000 (17:24 +1000)]
glmemory: provide compatibility definition for GLES2 for GL_RGBA8
Matthew Waters [Tue, 2 Jun 2015 06:32:03 +0000 (16:32 +1000)]
gl: consolidate internal_rgba_format into glmemory
Expose some useful value format conversion functions available in
GstGLMemory.
Olivier Crête [Mon, 1 Jun 2015 23:43:20 +0000 (19:43 -0400)]
audiointerleave: Always have "channels" be the actual pad count
Don't force it anywhere
https://bugzilla.gnome.org/show_bug.cgi?id=750252
Olivier Crête [Mon, 1 Jun 2015 23:42:49 +0000 (19:42 -0400)]
audiointerleave: Use the channel count from the set caps
This is the same number that was used to allocate the buffer
Olivier Crête [Mon, 1 Jun 2015 22:50:14 +0000 (18:50 -0400)]
aggregator: Document that the latency is in ns
Sebastian Dröge [Mon, 1 Jun 2015 18:03:22 +0000 (20:03 +0200)]
amc: Only lower ranks of OMX.Exynos. audio codecs, the video codecs are actually working
Sebastian Dröge [Mon, 1 Jun 2015 17:40:11 +0000 (19:40 +0200)]
amc: Give marginal rank to codecs that start with OMX.Exynos.
OMX.Exynos. codecs are existing on some devices like the
Galaxy S5 mini, and cause random crashes (of the device,
not the app!) and generally misbehave. That specific device
has other codecs that work with a different name, but let's
just give them marginal rank in case there are devices that
have no other codecs and these are actually the only working
ones
Sebastian Dröge [Mon, 1 Jun 2015 17:23:01 +0000 (19:23 +0200)]
androidmedia: Give lower ranks to codecs not starting with OMX.
On some devices there are codecs that don't start with OMX., while
there are also some that do. And on some of these devices the ones
that don't start with OMX. just crash during initialization while
the others work. To make things even more complicated other devices
have codecs with the same name that work and no alternatives.
So just give a lower rank to these non-OMX codecs and hope that
there's an alternative with a higher rank.
Also stagefright gives codecs starting with OMX. a higher rank too and
considers other codecs that don't start with OMX. as software codecs.
Reynaldo H. Verdejo Pinochet [Mon, 1 Jun 2015 14:12:22 +0000 (11:12 -0300)]
tests: zbar: check for frame field on attach-frame=true
Also check for the sample to have a buffer and caps
associated with it.
Related to:
https://bugzilla.gnome.org/show_bug.cgi?id=747557
Nicolas Dufresne [Wed, 20 May 2015 19:04:40 +0000 (15:04 -0400)]
vtdec: Require width and height field for H264
This decoder does not work if width and height field are not set
in the sinkpad caps. Let's make this explicit by adding them to
the template caps.
https://bugzilla.gnome.org/show_bug.cgi?id=749655
Julien Isorce [Mon, 1 Jun 2015 13:07:37 +0000 (14:07 +0100)]
glcontext_gpu_process: close the window when done
Julien Isorce [Mon, 1 Jun 2015 13:05:58 +0000 (14:05 +0100)]
glwindow_gpu_process: avoid empty struct
Julien Isorce [Mon, 1 Jun 2015 11:58:11 +0000 (12:58 +0100)]
glwindow: move main loop/context creation back to init/finalize
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=750199
Edward Hervey [Mon, 1 Jun 2015 12:05:06 +0000 (14:05 +0200)]
examples: Fix gl usage without wayland support
Not all platforms have wayland support. Handle that gracefully at
compile time
Edward Hervey [Mon, 1 Jun 2015 11:55:20 +0000 (13:55 +0200)]
rtmpsink: Initialize GstMapInfo
Avoids doing a call to unmap with it uninitialized
CID #1302834
Luis de Bethencourt [Mon, 1 Jun 2015 11:51:46 +0000 (12:51 +0100)]
audiovisualizer: clean dereferences of private structure
https://bugzilla.gnome.org/show_bug.cgi?id=742875
Ilya Konstantinov [Sat, 25 Apr 2015 19:55:28 +0000 (22:55 +0300)]
vtenc: fix keyframe request race condition
It is incorrect to modify the frame properties after passing them, since
VTCompressionSessionEncodeFrame takes reference and we have no control
over when it's being used.
In fact, the code can be simplified. We just preallocate the frame
properties for keyframe requests, and pass NULL otherwise.
https://bugzilla.gnome.org/show_bug.cgi?id=748467
Luis de Bethencourt [Mon, 1 Jun 2015 10:56:13 +0000 (11:56 +0100)]
audiovisualizer: make private all variable subclasses don't need
https://bugzilla.gnome.org/show_bug.cgi?id=742875
Reynaldo H. Verdejo Pinochet [Sat, 2 May 2015 02:20:30 +0000 (23:20 -0300)]
zbar: add frame sample to barcode message
New attach-frame property enables barcode frame
dumping when set to true.
https://bugzilla.gnome.org/show_bug.cgi?id=747557
Sebastian Dröge [Sun, 31 May 2015 19:30:23 +0000 (21:30 +0200)]
gl: Fix compiler warning
gstglwindow_wayland_egl.c:246:41: error: unused variable 'surface_listener' [-Werror,-Wunused-const-variable]
static const struct wl_surface_listener surface_listener = {
^
Sebastian Dröge [Wed, 27 May 2015 21:34:14 +0000 (23:34 +0200)]
androidmedia: Conditionally use get_{input,output}_buffer() Android 21 APIs
Also properly set limit/position on byte buffer, some codecs prefer to have
correct values there.
Matthew Waters [Sun, 31 May 2015 06:53:14 +0000 (16:53 +1000)]
glwindow: fix compiler error
gstglwindow.c:1118:544: error: 'return' with no value, in function returning non-void [-Werror]
g_return_if_fail (GST_GL_IS_WINDOW (window));
Matthew Waters [Sun, 31 May 2015 05:42:48 +0000 (15:42 +1000)]
gl/examples: update gtk examples for glupload
Matthew Waters [Sun, 31 May 2015 05:40:15 +0000 (15:40 +1000)]
gl/examples: update gtk examples for wayland
Matthew Waters [Fri, 29 May 2015 08:06:27 +0000 (18:06 +1000)]
gl/wayland: implement setting the render rectangle
Places our subsurface at the rectangle provided position
Matthew Waters [Fri, 29 May 2015 08:03:52 +0000 (18:03 +1000)]
glwindow: handle gst_video_overlay_set_render_rectangle
Matthew Waters [Fri, 29 May 2015 08:01:29 +0000 (18:01 +1000)]
gl/wayland: don't block the event loop after poll
Use the dispatch_pending set of functions which just run the currently
queued up events instead of potentially waiting for an event to occur.
Matthew Waters [Wed, 27 May 2015 06:42:55 +0000 (16:42 +1000)]
tests/gl/gtk: implement setting a wayland display/surface
Matthew Waters [Wed, 27 May 2015 06:39:06 +0000 (16:39 +1000)]
gl/wayland: implement basic video overlay support via subsurfaces
Currently does not position the subsurface relative to the parent surface at all
Matthew Waters [Wed, 27 May 2015 05:44:33 +0000 (15:44 +1000)]
gl/wayland: allow a NULL wl_event_queue
perform operations on the default wl_display event queue in that case
Matthew Waters [Wed, 27 May 2015 05:43:06 +0000 (15:43 +1000)]
gl/utils: implement wayland display GstContext
requried for sharing GL contexts or subsurface support
Matthew Waters [Fri, 22 May 2015 06:07:49 +0000 (16:07 +1000)]
gl/wayland: run each window on a separate queue
Based on patch by Julien Isorce <julien.isorce@collabora.co.uk>
https://bugzilla.gnome.org/show_bug.cgi?id=709747
Jan Schmidt [Fri, 29 May 2015 16:19:25 +0000 (02:19 +1000)]
gl: Don't leak temp strings in _RGB_pixel_order()
Fix a memory leak of temporary strings when computing
swizzling of RGB formats.
Jan Schmidt [Fri, 29 May 2015 16:29:47 +0000 (02:29 +1000)]
glfilter: Add transform_internal_caps() vfunc
Add a vfunc that is called by glfilter before it sets
caps features and intersects with the peer caps, and
move removing the size from caps into its default
implementation. Allows sub-classes to do more
sophisticated management of the size fields in case they
don't support arbitrary resizing or have distinct
preferences.
Jan Schmidt [Fri, 29 May 2015 16:23:44 +0000 (02:23 +1000)]
glfilter: Don't remove size fields from caps
Instead of removing size fields, set them to the full range
like videoscale does, so the caps are clearly unfixed in
all cases.
Jan Schmidt [Sun, 10 May 2015 08:55:16 +0000 (18:55 +1000)]
videoaggregator: Add class property to disable caps scaling
Add preserve_update_caps_result boolean on the class to allow
sub-classes to disable videoaggregator removing sizes and framerate
from the update_caps() return result.
Jan Schmidt [Mon, 4 May 2015 08:17:21 +0000 (18:17 +1000)]
videoaggregator: Catch errors, and allow sub-class to return NULL from get_output_buffer()
A return value of GST_FLOW_OK with a NULL buffer from get_output_buffer()
means the sub-class doesn't want to produce an output buffer, so
skip it.
If gst_videoaggregator_do_aggregate() generates an error, make sure
to propagate it - don't just ignore and discard the error by
over-writing it with the gst_pad_push() result.
Vivia Nikolaidou [Fri, 29 May 2015 13:02:31 +0000 (16:02 +0300)]
rtmpsink: Do not crash when receiving buffers after GST_FLOW_ERROR
If the RTMP URI is invalid, the rtmpsink will return GST_FLOW_ERROR.
If it still receives buffers after that, it shouldn't crash.
https://bugzilla.gnome.org/show_bug.cgi?id=750104