Nicolas Dufresne [Sat, 15 Aug 2015 12:31:15 +0000 (14:31 +0200)]
glsink: Enable sync meta on pools we offer
As the upload is asynchronous, we need to enable the sync meta to
gain correct rendering. The buffer pool receiver don't know about
that.
Nicolas Dufresne [Sat, 15 Aug 2015 13:12:27 +0000 (15:12 +0200)]
gtkglsink: Add overlay composition support
Rendering composition overlay in GL with additional high resolution
overlay being added.
Nicolas Dufresne [Sat, 15 Aug 2015 13:08:11 +0000 (15:08 +0200)]
gtkglsink: Fix unsafe handling of buffer life time
We need to keep the active buffer (the one we have retreive a
texture id from) otherwise it's racy and upstream may upload
new content before we have rendered or during later redisplay.
Nicolas Dufresne [Fri, 14 Aug 2015 16:07:15 +0000 (18:07 +0200)]
gtkglsink: Remove reset path
The reset path is bogus and there is no reason to get rid of these
things during resize.
Nicolas Dufresne [Fri, 14 Aug 2015 15:36:48 +0000 (17:36 +0200)]
glimagesink: Move overlay rendering after video rendering
This is mostly cosmetic, but heoretically it reduces the amount of
required object in the context at one point. It also avoids potential
conflicts.
Luis de Bethencourt [Sat, 15 Aug 2015 13:45:34 +0000 (14:45 +0100)]
rtph265pay: Copy metadata in the payloader, but only the relevant ones
The payloader didn't copy anything so far, the depayloader copied every
possible meta. Let's make it consistent and just copy all metas without
tags or with only the video tag.
https://bugzilla.gnome.org/show_bug.cgi?id=751774
Luis de Bethencourt [Sat, 15 Aug 2015 10:41:40 +0000 (11:41 +0100)]
rtph265pay: Use GST_WARNING_OBJECT() instead of GST_WARNING()
https://bugzilla.gnome.org/show_bug.cgi?id=753228
Luis de Bethencourt [Sat, 15 Aug 2015 10:30:36 +0000 (11:30 +0100)]
rtph265pay: fix potential crash when shutting down
A race condition in the state change function may cause buffers to be
unreffed while they are still used by the streaming thread in
gst_rtp_h265_pay_send_vps_sps_pps() resulting in a crash. Chain up to the
parent class first in the state change function to make sure streaming
has stopped and only then free those buffers.
https://bugzilla.gnome.org/show_bug.cgi?id=741381
Sebastian Dröge [Sat, 15 Aug 2015 08:03:07 +0000 (10:03 +0200)]
opengl: Change GLclampd to double
GLclampd does not exist on GLES, only desktop GL.
Martin Kelly [Fri, 14 Aug 2015 17:32:14 +0000 (10:32 -0700)]
opengl: add missing ClearDepth prototype
The ClearDepth call is missing.
https://bugzilla.gnome.org/show_bug.cgi?id=753639
Jan Schmidt [Thu, 6 Aug 2015 04:33:54 +0000 (14:33 +1000)]
h264parse: Clear SPS info after processing.
The SPS struct might be filled out by a call to
gst_h264_parser_parse_subset_sps, which fills out
dynamically allocated data and requires a call
to gst_h264_sps_clear() to free it. Also make sure
to clear out any allocated SPS data when returning
an error.
https://bugzilla.gnome.org/show_bug.cgi?id=753306
Vanessa Chipirrás Navalón [Tue, 11 Aug 2015 22:20:26 +0000 (00:20 +0200)]
facedetect: Refactor the code
Some lines of code are repeated several times, therefore
this lines are simplified with a inline function, that this is
proper style of C++.
Thiago Santos [Fri, 14 Aug 2015 14:43:57 +0000 (11:43 -0300)]
pngparse: enable accept-intersect and accept-template flags on sinkpad
Do a quick check with the pad template caps as it is enough. Users
should have figured the appropriate full caps on a previous caps query
https://bugzilla.gnome.org/show_bug.cgi?id=753623
Thiago Santos [Fri, 14 Aug 2015 14:43:18 +0000 (11:43 -0300)]
videoparsers: enable accept-template flag
Do a quick check with the pad template caps as it is enough. Users
should have figured the appropriate full caps on a previous caps query
https://bugzilla.gnome.org/show_bug.cgi?id=753623
Luis de Bethencourt [Fri, 14 Aug 2015 14:08:08 +0000 (15:08 +0100)]
rtph265pay: fix buffer leak when using SPS/PPS
Fixes a buffer leak that would occur if the pipeline was shutdown while a
SPS/PPS header was being created.
https://bugzilla.gnome.org/show_bug.cgi?id=741271
Luis de Bethencourt [Fri, 14 Aug 2015 10:49:51 +0000 (11:49 +0100)]
rtph265depay: copy metadata in the depayloader, but only the relevant ones
The payloader didn't copy anything so far, the depayloader copied every
possible meta. Let's make it consistent and just copy all metas without
tags or with only the video tag.
https://bugzilla.gnome.org/show_bug.cgi?id=751774
Alex Ashley [Fri, 14 Aug 2015 08:44:24 +0000 (09:44 +0100)]
dashdemux: add support for HTTP HEAD method of time sync
The urn:mpeg:dash:utc:http-head:2014 method of time synchronisation
uses an HTTP HEAD request to a specified URL and then parses the
Date: HTTP response header.
This commit adds support to dashdemux for this method of time
synchronisation by making a HEAD request and then parsing the Date:
response.
This commit adds support to gstfragment to return the HTTP headers
and to uridownloader to support HEAD requests. To avoid creating a
new API, the RANGE get function is re-used (abused?) with start=-1
and end=-1 to indicate a HEAD request.
https://bugzilla.gnome.org/show_bug.cgi?id=752413
Alex Ashley [Thu, 13 Aug 2015 17:21:29 +0000 (18:21 +0100)]
dashdemux: post-review fixup of UTCTiming element
This commit addresses the following items from the code review:
use a portable way to define NTP_TO_UNIX_EPOCH,
fix memory leak on error, and
add documentation to UTCTiming parse functions
Using LL is not portable, so the G_GUINT64_CONSTANT needs to be instead.
If an error occurs during DNS resolution, the GError was not being
released, causing a memory leak.
https://bugzilla.gnome.org/show_bug.cgi?id=752413
Alex Ashley [Wed, 15 Jul 2015 10:56:13 +0000 (11:56 +0100)]
dashdemux: add support for UTCTiming elements for clock drift compensation
Unless the DASH client can compensate for the difference between its
clock and the clock used by the server, the client might request
fragments that either not yet on the server or fragments that have
already been expired from the server. This is an issue because these
requests can propagate all the way back to the origin
ISO/IEC 23009-1:2014/Amd 1 [PDAM1] defines a new UTCTiming element to allow
a DASH client to track the clock used by the server generating the
DASH stream. Multiple UTCTiming elements might be present, to indicate
support for multiple methods of UTC time gathering. Each element can
contain a white space separated list of URLs that can be contacted
to discover the UTC time from the server's perspective.
This commit provides parsing of UTCTiming elements, unit tests of this
parsing and a function to poll a time server. This function
supports the following methods:
urn:mpeg:dash:utc:ntp:2014
urn:mpeg:dash:utc:http-xsdate:2014
urn:mpeg:dash:utc:http-iso:2014
urn:mpeg:dash:utc:http-ntp:2014
The manifest update task is used to poll the clock time server,
to save having to create a new thread.
When choosing the starting fragment number and when waiting for a
fragment to become available, the difference between the server's idea
of UTC and the client's idea of UTC is taken into account. For example,
if the server's time is behind the client's idea of UTC, we wait for
longer before requesting a fragment
[PDAM1]: http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=66068
dashdemux: support NTP time servers in UTCTiming elements
Use the gst_ntp_clock to support the use of an NTP server.
https://bugzilla.gnome.org/show_bug.cgi?id=752413
Edward Hervey [Fri, 14 Aug 2015 09:13:51 +0000 (11:13 +0200)]
check: Rename states unit test
Makes it easier to differentiate from other modules states unit test
Vineeth TM [Thu, 13 Aug 2015 01:31:20 +0000 (10:31 +0900)]
spu-pgs: fix buffer and event leak
When playing mts files with embedded subtitles, the buffer is mapped,
but not unmapped at the end resulting in a memory leak.
Also unref event in handle_dvd_event as it takes ownership of the event.
https://bugzilla.gnome.org/show_bug.cgi?id=753539
Vineeth TM [Thu, 13 Aug 2015 01:25:52 +0000 (10:25 +0900)]
dvdspu: Fix event leaks
When playing mts files with embedded subtitles, there are few event leaks.
Events are supposed to be transfer full. So if not forwarding the event,
they need to be freed.
https://bugzilla.gnome.org/show_bug.cgi?id=753539
Sebastian Dröge [Thu, 13 Aug 2015 10:38:41 +0000 (12:38 +0200)]
Revert "srtpdec: Add support for buffer list"
This reverts commit
ff11a1a8a0c685d2edd0e06c0071cbb94f2cb663.
It can't be assumed that all buffers in a buffer list have the same SSRC or
are RTP or RTCP only. It has to be checked for every single buffer, and one
basically has to do the processing that is done by the default chain_list
implementation.
Luis de Bethencourt [Wed, 12 Aug 2015 16:54:52 +0000 (17:54 +0100)]
rtph265depay: checking if depay has sps/pps nals before insertion
Related to: https://bugzilla.gnome.org/show_bug.cgi?id=753430
https://bugzilla.gnome.org/show_bug.cgi?id=753228
Luis de Bethencourt [Wed, 12 Aug 2015 16:22:42 +0000 (17:22 +0100)]
rtph265depay: only update the srcpad caps if something else than the codec_data changed
h264parse and gstrtph264depay do the same, let's keep the behaviour
consistent. As we now include the codec_data inside the stream, this causes
less caps renegotiation.
https://bugzilla.gnome.org/show_bug.cgi?id=753228
Luis de Bethencourt [Wed, 12 Aug 2015 15:43:48 +0000 (16:43 +0100)]
rtph265depay: PPS replaces old PPS if it has the same id
https://bugzilla.gnome.org/show_bug.cgi?id=753228
Luis de Bethencourt [Wed, 12 Aug 2015 15:11:00 +0000 (16:11 +0100)]
rtph265depay: Insert SPS/PPS NALs into the stream
rtph264depay does the same and this fixes decoding of some streams with 32
SPS (or 256 PPS). It is allowed to have SPS ID 0 to 31 (or PPS ID 0 to 255),
but the field in the codec_data for the number of SPS or PPS is only 5
(or 8) bit. As such, 32 SPS (or 256 PPS) are interpreted as 0 everywhere.
This looks like a mistake in the part of the spect about the codec_data.
Luis de Bethencourt [Wed, 12 Aug 2015 14:49:50 +0000 (15:49 +0100)]
rtph265depay: implement process_rtp_packet() vfunc
For more optimised RTP packet handling: means we don't need to map the
input buffer again but can just re-use the mapping the base class has
already done.
Based on: https://bugzilla.gnome.org/show_bug.cgi?id=750235
https://bugzilla.gnome.org/show_bug.cgi?id=753228
Luis de Bethencourt [Wed, 12 Aug 2015 14:14:50 +0000 (15:14 +0100)]
rtph265depay: Use GST_BUFFER_PTS() instead of GST_BUFFER_TIMESTAMP()
Switching to GST_BUFFER_TIMESTAMP() to be consistent with other rtp code.
Luis de Bethencourt [Wed, 12 Aug 2015 13:59:53 +0000 (14:59 +0100)]
rtph265depay: prevent trying to get 0 bytes from adapter
This causes an assertion and would lead to getting a NULL instead
of a buffer. Without proper checking this would easily lead to a
segfault.
Related to rpth264depay: https://bugzilla.gnome.org/show_bug.cgi?id=737199
Sreerenj Balachandran [Wed, 12 Aug 2015 04:58:09 +0000 (07:58 +0300)]
codecparsers: h265: Fix the range of delta_chroma_log2_weight_denom
ChromaLog2WeightDenom = luma_log2_weight_denom + delta_chroma_log2_weight_denom
The value of ChromaLog2WeightDenom should be in the range of 0 to 7 and
the value luma_log2_weight_denom should be also in the range of 0 to 7.
Which means , delta_chroma_log2_weight_denom can have values in the range
between -7 and 7.
https://bugzilla.gnome.org/show_bug.cgi?id=753552
Sreerenj Balachandran [Wed, 12 Aug 2015 02:11:27 +0000 (05:11 +0300)]
codecparsers: h265: Fix the parsing of ref_pic_lists_modification
https://bugzilla.gnome.org/show_bug.cgi?id=753552
Matthew Waters [Tue, 11 Aug 2015 22:20:10 +0000 (00:20 +0200)]
glimagesink: take into account non 1/1 par for navigation
The current code was ignoring the par/dar aspect when transforming
from window coordinates to stream coordinates resulting in incorrect
coordinates being sent upstream in the navigation events.
Matthew Waters [Tue, 11 Aug 2015 22:18:20 +0000 (00:18 +0200)]
gtk: fix motion event name
s/motion/mouse/
Fixes hover interaction with DVD menus
Matthew Waters [Tue, 11 Aug 2015 22:14:14 +0000 (00:14 +0200)]
gtk: correct navigation events for window scaling
i.e. take into account the possiblity of scaling in the sink
or through GDK_SCALE.
Fixes DVD Menus with a scaled gtkwidget
Nicolas Dufresne [Tue, 11 Aug 2015 19:02:25 +0000 (15:02 -0400)]
frei0r: Fix setting string parameters
String parameters are expected to be passed as (f0r_param_string *),
which actually map to char**. In the filters this is evaluated as
(*(char**)param) which currently lead to crash when passing char*.
Remove the special case for string, all types, including char* as
passed as a reference.
https://phabricator.freedesktop.org/T83
Matthew Waters [Tue, 11 Aug 2015 11:34:59 +0000 (13:34 +0200)]
gtk: implement GstNavigation interface
Now we can push key/mouse input into the pipeline for DVD use cases.
Sebastian Dröge [Tue, 30 Jun 2015 11:51:33 +0000 (13:51 +0200)]
opus: Copy metadata in the (de)payloader, but only the relevant ones
The payloader didn't copy anything so far, the depayloader copied every
possible meta. Let's make it consistent and just copy all metas without tags or
with only the audio tag.
https://bugzilla.gnome.org/show_bug.cgi?id=751774
Sreerenj Balachandran [Tue, 11 Aug 2015 01:14:19 +0000 (04:14 +0300)]
videoparsers: h265: Fix the frame start detection code
Check slice headers in between GST_H265_NAL_SLICE_TRAIL_N
and GST_H265_NAL_SLICE_RASL_R for frame start detection.
https://bugzilla.gnome.org/show_bug.cgi?id=753497
Sreerenj Balachandran [Tue, 11 Aug 2015 00:47:42 +0000 (03:47 +0300)]
videoparsers: h265: Avoid skipping of EOS and EOB nals
EndOfSequence and EndOfBitstream nal units have size of 2 bytes.
Don't consider them as broken nals.
https://bugzilla.gnome.org/show_bug.cgi?id=753497
Vanessa Chipi [Mon, 10 Aug 2015 21:02:12 +0000 (23:02 +0200)]
facedetect: wrong form to write the delete operator
The delete operator is written this way: delete (cascade). This way is
misspelled, it is an operator, not a function. Delete the parentheses.
vanechipi [Mon, 10 Aug 2015 17:13:11 +0000 (19:13 +0200)]
facedetect: simplify repeated code.
Store the value of r.height / 2 instead of repeating the operation line
three times.
vanechipi [Mon, 10 Aug 2015 17:02:10 +0000 (19:02 +0200)]
facedetect: Redundancy exists in code.
Checking the vector is not empty and checking the vector size is greater
than zero are the same thing, this is a redundancy in the code. Only
checking the vector is not empty is sufficient, therefore removing the
other check.
Nicolas Dufresne [Mon, 10 Aug 2015 18:48:58 +0000 (14:48 -0400)]
gl: Add opengl_version.h to the list of sources
Adding this private header to the list of sources. We don't want to make
this header public, but we need it in the list of sources otherwise it
won't be included in the tarball. This fixes make distcheck.
This regression was introduced by commit
1a6fe3db
Luis de Bethencourt [Mon, 10 Aug 2015 18:06:16 +0000 (19:06 +0100)]
examples: facedetect: only create variables when needed
The variables to store face values are only needed if they will be used to
control the volume. Which isn't the default to avoid potentially being very
loud accidentally. Only create variables when needed.
Luis de Bethencourt [Mon, 10 Aug 2015 15:51:17 +0000 (16:51 +0100)]
examples: facedetect: make volume control optional
Matthew Waters [Mon, 10 Aug 2015 14:38:32 +0000 (16:38 +0200)]
gl: use gles2 shaders everywhere
This effectively limits a glfilter subclass to be > GL(ES) 2.0.
rather than a possible GL 1.4.
Matthew Waters [Mon, 10 Aug 2015 13:44:54 +0000 (15:44 +0200)]
glcontext/wgl: implement gl3 core profile context selection
Lubosz Sarnecki [Sat, 28 Feb 2015 00:07:44 +0000 (01:07 +0100)]
gltransformation: implement pivot point for rotation and scale
https://bugzilla.gnome.org/show_bug.cgi?id=744763
Add a pivot vector for setting the origin of rotations and scales.
With the pivot point the rotation and scale operations can have
different origins. This adds the ability to rotate around different points.
Currently the default (0, 0) pivot point is possible,
a rotation around the center, and zooming into and out of the center.
With an pivot point this is optional.
I defined the following image coordinates for the pivot point:
(-1,1) ------------------------- (1,1)
| |
| |
| |
| (0,0) |
| |
| |
| |
(-1,-1) ------------------------- (1,-1)
Example:
Rotate the video at the bottom left corner
gst-launch-1.0 videotestsrc \
! gltransformation \
scale-x=0.5 \
scale-y=0.5 \
rotation-z=25.0 \
pivot-x=-1.0 \
pivot-y=-1.0 \
! glimagesink
The pivot-z option defines the pivot point in 3D space.
This only affects rotation, since we have no Z data to scale.
With this option a video can be rotated around a point in 3D space.
Example:
Rotate around point behind the video:
gst-launch-1.0 videotestsrc \
! gltransformation \
rotation-x=10.0 \
pivot-z=-4.0 \
! glimagesink
Nicolas Dufresne [Sat, 8 Aug 2015 18:45:42 +0000 (14:45 -0400)]
gloverlaycompositor: Add shader to convert BGRA/ARGB -> RGBA
Depending on the bytes order we will get BGRA (little) and ARGB (big)
from the composition overlay buffer while our GL code expects RGBA. Add
a fragment shader that do this conversion.
https://bugzilla.gnome.org/show_bug.cgi?id=752842
Matthew Waters [Sat, 8 Aug 2015 15:28:03 +0000 (17:28 +0200)]
qml: implement the required multiple GL context synchonisation
From GStreamer's GL context into the QML context
Matthew Waters [Sat, 8 Aug 2015 15:22:05 +0000 (17:22 +0200)]
gl/syncmeta: implement synchronisation without glFenceSync
Uses glFinish as that's the best we have for lesser OpenGL versions.
Tim-Philipp Müller [Sat, 8 Aug 2015 14:45:59 +0000 (15:45 +0100)]
asfmux: output TIME segment if we output a stream and won't seek back later
Check if downstream is seekable via a SEEKING query and output a
BYTE segment if we want to seek back to fix up the headers later,
but if we're streaming send a TIME segment instead (which goes
down better with e.g. asfmux ! rtpasfpay).
https://bugzilla.gnome.org/show_bug.cgi?id=719553
Matthew Waters [Sat, 8 Aug 2015 13:30:43 +0000 (15:30 +0200)]
tests/glcontext: fix INVALID_ENUM GL error in test
Matthew Waters [Sat, 8 Aug 2015 13:21:03 +0000 (15:21 +0200)]
context/glx: only use glXCreateContextAttribs for OpenGL 3 contexts
mesa for example when creating a GL 3.1 compatibility context
overrides our context profile selection to create a core context.
Luis de Bethencourt [Sat, 8 Aug 2015 12:19:41 +0000 (13:19 +0100)]
examples: facedetect: only set to playing when it's not already
Luis de Bethencourt [Sat, 8 Aug 2015 11:52:36 +0000 (12:52 +0100)]
examples: opencv: remove unnecessary setting of a property
"/dev/video0" is the default device of v4l2src, setting it to this is
redundant.
Luis de Bethencourt [Fri, 7 Aug 2015 14:43:53 +0000 (15:43 +0100)]
facedetect: fix profile loading check
Since the profile gchar depends on DEFAULT_FACE_PROFILE, it should never be
NULL. Furthermore CascadeClassifier accepts any input, even
an empty one, but if the profile fails to load it returns an empty cascade.
Check for this instead, and inform the user if there was an Error.
Thiago Santos [Thu, 6 Aug 2015 14:30:04 +0000 (11:30 -0300)]
hlsdemux: don't warn about duration if it is not known
And also print the values in case of warning
Luis de Bethencourt [Fri, 7 Aug 2015 12:16:56 +0000 (13:16 +0100)]
gitignore: add new example file
Commit
02b9daafdf64ab205ed725f5496dfa5ce860eacc added a new example file
tests/examples/opencv/gstfacedetect_test, adding it to .gitignore
Luis de Bethencourt [Fri, 7 Aug 2015 12:08:17 +0000 (13:08 +0100)]
configure: update OpenCV requirements to 2.3.0
With facedetect ported to C++ the minimum version of OpenCV
supported is 2.3.0
https://bugzilla.gnome.org/show_bug.cgi?id=748377
Sreerenj Balachandran [Fri, 7 Aug 2015 02:58:22 +0000 (05:58 +0300)]
h265parse: expose compatible profiles to downstream
Some video bitstreams report a too restrictive set of profiles. If a video
decoder was to strictly follow the indicated profile, it wouldn't support that
stream, whereas it could in theory and in practice. So we should relax the
profile restriction for allowing the decoder to get connected with parser.
https://bugzilla.gnome.org/show_bug.cgi?id=747613
Nicolas Dufresne [Thu, 6 Aug 2015 22:12:07 +0000 (18:12 -0400)]
rgb2bayer: Use mapped frame stride
Nicolas Dufresne [Thu, 6 Aug 2015 22:11:53 +0000 (18:11 -0400)]
rgb2bayer: Protect against failing map
Nicolas Dufresne [Thu, 6 Aug 2015 22:04:58 +0000 (18:04 -0400)]
bayer2rgb: Read stride from the video info
Nicolas Dufresne [Thu, 6 Aug 2015 22:04:41 +0000 (18:04 -0400)]
bayer2rgb: Protect against failing map
Ilya Averyanov [Thu, 6 Aug 2015 16:23:49 +0000 (19:23 +0300)]
element-template: Fix wrong pad in videoencoder
https://bugzilla.gnome.org/show_bug.cgi?id=753326
Florin Apostol [Mon, 3 Aug 2015 15:57:31 +0000 (16:57 +0100)]
dashdemux: Fix leak in gst_dash_demux_stream_update_fragment_info()
The gst_dash_demux_stream_update_fragment_info function could call
gst_dash_demux_stream_update_headers_info function twice. The
gst_dash_demux_stream_update_headers_info function will set header_uri and
index_uri to some newly allocated strings. The values set by the first call of
gst_dash_demux_stream_update_headers_info will leak when the function is
called for a second time.
The solution is to call gst_adaptive_demux_stream_fragment_clear before the
second call of gst_dash_demux_stream_update_headers_info
https://bugzilla.gnome.org/show_bug.cgi?id=753188
Nicolas Dufresne [Wed, 5 Aug 2015 18:52:12 +0000 (14:52 -0400)]
pcapparse: Segment should start at base ts
Instead we would use cur_ts which matches the last TS store
in the buffer list.
https://bugzilla.gnome.org/show_bug.cgi?id=753037
Anders Jonsson [Wed, 5 Aug 2015 10:56:57 +0000 (12:56 +0200)]
camerabin2: Fix string typo
https://bugzilla.gnome.org/show_bug.cgi?id=753241
Luis de Bethencourt [Wed, 5 Aug 2015 10:56:32 +0000 (11:56 +0100)]
opencv: facedetect: free IplImage with cvReleaseImage
Using delete() with IplImage will fail to free some of the structure's
contents. cvReleaseImage() is the proper way of freeing the memory.
Luis de Bethencourt [Wed, 5 Aug 2015 10:39:01 +0000 (11:39 +0100)]
opencv: facedetect: check pointer before using it
Check if profile is NULL before dereferencing it with new. Also, new will
never return NULL; if allocation fails, a std::bad_alloc exception will be
thrown instead. Remove check for a NULL return.
CID #1315258
Luis de Bethencourt [Wed, 5 Aug 2015 10:14:49 +0000 (11:14 +0100)]
x265enc: remove dead code
level_ok is only used in a check that will never be true, removing it.
CID #1315255
Luis de Bethencourt [Wed, 5 Aug 2015 10:11:11 +0000 (11:11 +0100)]
x265enc: fix memory leak
Free vps_nal before returning.
CID #1315257
Carlos Garnacho [Tue, 4 Aug 2015 21:15:36 +0000 (23:15 +0200)]
rsvg: Don't leak a GstVideoCodecState
There's already the output_state variable with it, no need to
call gst_video_decoder_get_output_state() and get a new ref.
https://bugzilla.gnome.org/show_bug.cgi?id=753262
Jimmy Ohn [Tue, 4 Aug 2015 12:32:53 +0000 (21:32 +0900)]
rawparse: fix duplicated format in handle_seek_pull
GstFormat variable are duplicated in handle_seek_pull function.
So we need to move this variable in condition statement.
https://bugzilla.gnome.org/show_bug.cgi?id=753243
Tim-Philipp Müller [Tue, 4 Aug 2015 13:30:17 +0000 (14:30 +0100)]
opencv: facedetect: fix crashes in finalize
Fixes gst-inspect-1.0 -a crashing.
Sebastian Dröge [Mon, 3 Aug 2015 16:42:56 +0000 (19:42 +0300)]
winscreencap: Properly timestamp buffers with the current clock running time instead of doing magic
Also implement framerate handling correctly by borrowing the code from
ximagesrc. GstBaseSrc::get_times() can't be used for that, we have to
implement proper waiting ourselves.
Jan Schmidt [Mon, 3 Aug 2015 14:20:27 +0000 (00:20 +1000)]
opencv: Fix 32-bit build / format strings.
Use G_GSIZE_FORMAT for format strings where relevant
Matthew Waters [Mon, 3 Aug 2015 09:48:16 +0000 (19:48 +1000)]
glvideomixer: swap control binding proxy
The ref_object and object parameters were the wrong way around.
For the typical use case where an application is setting a
GstControlBinding on the returned ghost pad:
1. our control binding would be removed when the new one was set
2. sync_values calls were not being forwarded from the internal
pad to the ghost pad.
If an application attempts to perform other control binding
operations (get_* family of functions) on the internal pad, they
will also be forwarded to the ghost pad where a possible
GstControlBinding will provide the necessary values.
Thiago Santos [Sat, 1 Aug 2015 18:52:28 +0000 (15:52 -0300)]
dash: mpdparser: plug leak in segmenttemplate parsing
Only copy the values from the parent if the current node doesn't
have that value, they were being copied from the parent and
then overwriten by the child node, leaking the parent's copy
Thiago Santos [Sat, 1 Aug 2015 18:51:50 +0000 (15:51 -0300)]
tests: dash_mpd: add check for segmenttemplate inheritance
Checks if the values are properly inherited and overwriten
Thiago Santos [Sat, 1 Aug 2015 18:09:19 +0000 (15:09 -0300)]
tests: dash_mpd: add one more baseURL test
This other type of baseURL test was replaced by a more complex one,
better have both to keep both options working
Also adds another 2 variations of how baseURL can be generated
https://bugzilla.gnome.org/show_bug.cgi?id=752776
Florin Apostol [Thu, 23 Jul 2015 09:54:36 +0000 (10:54 +0100)]
dashdemux: tests: added duration format test
https://bugzilla.gnome.org/show_bug.cgi?id=752776
Florin Apostol [Wed, 22 Jul 2015 10:42:23 +0000 (11:42 +0100)]
dashdemux: tests: update unit test for baseURL
Update the unit test for baseURL to test that it is properly
resolved taking into account parent baseURL elements.
https://bugzilla.gnome.org/show_bug.cgi?id=752776
Thiago Santos [Sat, 1 Aug 2015 14:51:22 +0000 (11:51 -0300)]
templatematch: revert rename of property
The property doesn't need to have its name changed because of C++,
just the instance variables.
Vanessa Chipirrás [Fri, 31 Jul 2015 16:31:15 +0000 (17:31 +0100)]
facedetect: Add unit test
I created four utilities of the detected features:
1- If you hide your mouth, the volume of video is low.
2- If you hide the nose, the volume of the video is up.
3- If you hide the full face, the video stops.
You can see proof of this here:
https://www.youtube.com/watch?v=pxzejNKV_WQ
https://bugzilla.gnome.org/show_bug.cgi?id=748377
Luis de Bethencourt [Fri, 31 Jul 2015 15:40:07 +0000 (16:40 +0100)]
templatematch: rename conflicting variable
With the switch of gstopencv.c to C++, all OpenCV elements are built with
g++. The template variable clashes with C++'s feature of the same name.
Rename template to templ to avoid any clash.
Vanessa Chipirrás [Fri, 31 Jul 2015 12:45:43 +0000 (13:45 +0100)]
facedetect: need to migrate to C++
The cascade classifier changes its structure on new version of OpenCV.
The need to migrate to C++ to utilize the new load method of OpenCV which
allows to load the new classifiers.
https://bugzilla.gnome.org/show_bug.cgi?id=748377
Vineeth TM [Fri, 31 Jul 2015 01:47:27 +0000 (10:47 +0900)]
dtsdec: fix taglist leak
taglist merge doesnt take ownership. So should free the tags after use
https://bugzilla.gnome.org/show_bug.cgi?id=753086
Heinrich Fink [Thu, 30 Jul 2015 21:31:21 +0000 (23:31 +0200)]
applemedia/avsample: Fix racy cleanup of CA layer
The block that is dispatched async to the main thread assumed the
wrapping GstAvSampleVideoSink to be alive. However, at the time of
the block execution the GstObject instance that is deferenced to access
the CA layer might already be freed, which caused occasional crashes.
Instead, we now only pass the CoreAnimation layer that needs to be
released to the block. We use __block to make sure the block is not
increasing the refcount of the CA layer again on its own.
https://bugzilla.gnome.org/show_bug.cgi?id=753081
Olivier Crête [Thu, 2 Jul 2015 23:34:43 +0000 (19:34 -0400)]
tests: Add test for seeking live pipelines
https://bugzilla.gnome.org/show_bug.cgi?id=745768
Olivier Crête [Thu, 2 Jul 2015 23:19:33 +0000 (19:19 -0400)]
tests: Make source live to re-enable aggregator timeout tests
The live mode is only enabled if one of the sources if live.
https://bugzilla.gnome.org/show_bug.cgi?id=745768
Olivier Crête [Thu, 2 Jul 2015 22:37:28 +0000 (18:37 -0400)]
tests: Add audiointerleave test to show that queuing works
This tests fails without the queuing patch because incoming buffers are
not delivered before they are needed.
https://bugzilla.gnome.org/show_bug.cgi?id=745768
Olivier Crête [Thu, 2 Jul 2015 22:33:43 +0000 (18:33 -0400)]
audiointerleave: Avoid caps processing if not yet negotiated
https://bugzilla.gnome.org/show_bug.cgi?id=745768
Olivier Crête [Mon, 16 Mar 2015 21:06:46 +0000 (17:06 -0400)]
audioaggregator: On timeout, resync pads with not enough data
https://bugzilla.gnome.org/show_bug.cgi?id=745768
Olivier Crête [Sat, 7 Mar 2015 00:50:08 +0000 (19:50 -0500)]
aggregator: Queue "latency" buffers at each sink pad.
In the case where you have a source giving the GstAggregator smaller
buffers than it uses, when it reaches a timeout, it will consume the
first buffer, then try to read another buffer for the pad. If the
previous element is not fast enough, it may get the next buffer even
though it may be queued just before. To prevent that race, the easiest
solution is to move the queue inside the GstAggregatorPad itself. It
also means that there is no need for strange code cause by increasing
the min latency without increasing the max latency proportionally.
This also means queuing the synchronized events and possibly acting
on them on the src task.
https://bugzilla.gnome.org/show_bug.cgi?id=745768
Olivier Crête [Sat, 7 Mar 2015 02:32:04 +0000 (21:32 -0500)]
videoaggregator: Remove broken _clip vfunc
It never does anything.
https://bugzilla.gnome.org/show_bug.cgi?id=745768
Vineeth TM [Wed, 29 Jul 2015 23:58:48 +0000 (08:58 +0900)]
h265parse: Avoid checking for Non Mandatory VPS NAL
VPS is not mandatory, and need not check for its presence before setting
the caps. Because of the check, in streams which don't have VPS,
sticky event mishandling happens.
https://bugzilla.gnome.org/show_bug.cgi?id=752807
Vineeth TM [Thu, 30 Jul 2015 06:33:46 +0000 (15:33 +0900)]
sdpdemux: assertion error due to wrong condition check
In media to caps function, reserved_keys array is being used for variable i,
leading to GLib-CRITICAL **: g_ascii_strcasecmp: assertion 's1 != NULL' failed
changed it to variable j
https://bugzilla.gnome.org/show_bug.cgi?id=753009