| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Avoids useless check of downstream caps when handling an
accept-caps query
Elements: dtsdec, faad, gsmdec, mpg123audiodec, opusdec,
sbcdec, adpcmdec, sirendec
|
|
|
|
|
|
|
|
| |
Avoids useless check of downstream caps when handling an
accept-caps query
Elements: daaladec, libde265dec, openjpegdec, rsvgdec, schrodec,
webpdec, pnmdec, vmncdec, openexrdec
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Rendering composition overlay in GL with additional high resolution
overlay being added.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
The reset path is bogus and there is no reason to get rid of these
things during resize.
|
|
|
|
|
|
| |
This is mostly cosmetic, but heoretically it reduces the amount of
required object in the context at one point. It also avoids potential
conflicts.
|
|
|
|
|
|
| |
Some lines of code are repeated several times, therefore
this lines are simplified with a inline function, that this is
proper style of C++.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
s/motion/mouse/
Fixes hover interaction with DVD menus
|
|
|
|
|
|
|
| |
i.e. take into account the possiblity of scaling in the sink
or through GDK_SCALE.
Fixes DVD Menus with a scaled gtkwidget
|
|
|
|
| |
Now we can push key/mouse input into the pipeline for DVD use cases.
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
The delete operator is written this way: delete (cascade). This way is
misspelled, it is an operator, not a function. Delete the parentheses.
|
|
|
|
|
| |
Store the value of r.height / 2 instead of repeating the operation line
three times.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This effectively limits a glfilter subclass to be > GL(ES) 2.0.
rather than a possible GL 1.4.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
From GStreamer's GL context into the QML context
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
And also print the values in case of warning
|
|
|
|
|
|
|
| |
With facedetect ported to C++ the minimum version of OpenCV
supported is 2.3.0
https://bugzilla.gnome.org/show_bug.cgi?id=748377
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Using delete() with IplImage will fail to free some of the structure's
contents. cvReleaseImage() is the proper way of freeing the memory.
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
level_ok is only used in a check that will never be true, removing it.
CID #1315255
|
|
|
|
|
|
| |
Free vps_nal before returning.
CID #1315257
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Fixes gst-inspect-1.0 -a crashing.
|
|
|
|
| |
Use G_GSIZE_FORMAT for format strings where relevant
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
The property doesn't need to have its name changed because of C++,
just the instance variables.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
taglist merge doesnt take ownership. So should free the tags after use
https://bugzilla.gnome.org/show_bug.cgi?id=753086
|
|
|
|
| |
res is set multiple times but never used or returned. Removing it.
|
|
|
|
|
| |
v is initialized in the for loop init, no need to do it twice. Removing
first initialization.
|
|
|
|
|
|
|
|
|
| |
parsing errors
The gst_mpdparser_get_xml_prop_duration function will set the
property_value to the default_value in case the parsing fails.
https://bugzilla.gnome.org/show_bug.cgi?id=752426
|
|
|
|
|
| |
Safer, easier to understand, and more portable. Also, skip
all this if the log level is too low.
|
|
|
|
|
|
|
| |
Used gst_util_uint64_scale to avoid overflows when segment start time
or duration is computed.
https://bugzilla.gnome.org/show_bug.cgi?id=752620
|
|
|
|
|
| |
It is not fatal and can be quite normal when the network is
too slow
|
|
|
|
|
|
| |
With this we avoid an unnecessary and considerable overhead.
https://bugzilla.gnome.org/show_bug.cgi?id=752774
|
|
|
|
|
|
|
| |
Build error introduced by commit
5457e55f255518d679b59a170951e299ecd8c5f6
https://bugzilla.gnome.org/show_bug.cgi?id=750310
|
|
|
|
|
|
|
| |
gst_query_add_allocation_meta() does not take ownership
of the structure, for some reason.
CID 1312135
|
|
|
|
|
|
|
|
|
| |
This is used to proxy GstControlBinding to the pad on the
parent object. This avoid having to sync the values in the proxy pad,
this is too early if you have a queue between the pad and the actual
aggregation operation.
https://bugzilla.gnome.org/show_bug.cgi?id=734060
|