Commit graph

4763 commits

Author SHA1 Message Date
Jan Schmidt
bd30d516a8 opencv: Fix 32-bit build / format strings.
Use G_GSIZE_FORMAT for format strings where relevant
2015-08-04 00:20:27 +10:00
Matthew Waters
374cd2a570 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.
2015-08-03 20:08:52 +10:00
Thiago Santos
620af5b04b 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
2015-08-01 16:11:07 -03:00
Thiago Santos
2df67f9da0 templatematch: revert rename of property
The property doesn't need to have its name changed because of C++,
just the instance variables.
2015-08-01 11:52:12 -03:00
Luis de Bethencourt
2111f50a6f 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.
2015-07-31 16:49:35 +01:00
Vanessa Chipirrás
78d0c5f01e 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
2015-07-31 16:49:17 +01:00
Vineeth TM
9115a750f7 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
2015-07-31 10:00:13 +01:00
Luis de Bethencourt
22baf364fe gstglfilterbin: remove unused variable
res is set multiple times but never used or returned. Removing it.
2015-07-30 11:12:26 +01:00
Luis de Bethencourt
82a2b43bdd glstereomix: remove redundant initialization
v is initialized in the for loop init, no need to do it twice. Removing
first initialization.
2015-07-29 17:49:01 +01:00
Florin Apostol
a7751aa967 dashdemux: gst_mpdparser_get_xml_prop_duration sets default value in case of 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
2015-07-27 12:37:09 -03:00
Nirbheek Chauhan
4be7e0377b opuscommon: Use GString instead of snprintf for concating
Safer, easier to understand, and more portable. Also, skip
all this if the log level is too low.
2015-07-27 15:24:19 +01:00
Florin Apostol
90b7c137b6 dahdemux: avoid overflows in computation of segment start time and duration
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
2015-07-24 10:09:19 -03:00
Thiago Santos
2ed8a819f6 hlsdemux: demote error to warning
It is not fatal and can be quite normal when the network is
too slow
2015-07-24 10:09:19 -03:00
Miguel París Díaz
7db723831d srtpenc: do not check input buffers
With this we avoid an unnecessary and considerable overhead.

https://bugzilla.gnome.org/show_bug.cgi?id=752774
2015-07-24 09:28:01 +01:00
Julien Isorce
fb6457e90a caopengllayersink: remove unused label context_creation_error
Build error introduced by commit
5457e55f25

https://bugzilla.gnome.org/show_bug.cgi?id=750310
2015-07-24 00:02:32 +01:00
Tim-Philipp Müller
2992ff98e5 glimagesink: fix allocation meta structure leak
gst_query_add_allocation_meta() does not take ownership
of the structure, for some reason.

CID 1312135
2015-07-23 11:23:41 +01:00
Olivier Crête
6edf8dbaa6 glvideomixer: Add GstControlBinding proxy
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
2015-07-22 20:59:50 -04:00
Nicolas Dufresne
4f4aedecf3 glupload: Forward composition meta even without params
When the sink does not know the window size (e.g not created yet)
it will not add any param to the the composition meta. This is no
reason not to forward this meta API. Fixes issue where it could not
attach until we resize the window.

https://bugzilla.gnome.org/show_bug.cgi?id=745107
2015-07-22 17:00:25 -04:00
Nicolas Dufresne
17788157a1 composition-overlay: Positions are relative to texture
The coordinate are relative to the texture dimension and not
the window dimension now. There is no need to pass the window
dimension or to update the overlay if the dimension changes.

https://bugzilla.gnome.org/show_bug.cgi?id=745107
2015-07-22 13:17:18 -04:00
Lubosz Sarnecki
b155f5d73e gloverlaycompositor: Create own shader object
Make gloverlaycompositor independent of the shader used in the sink.

https://bugzilla.gnome.org/show_bug.cgi?id=745107
2015-07-22 13:16:39 -04:00
Nicolas Dufresne
e8c31619c4 glimagesink: Properly handle compsositor life time
Should be created in READY_TO_PAUSED, not PAUSED_TO_PLAYING.
Should be cleared in PAUSED_TO_READY.

https://bugzilla.gnome.org/show_bug.cgi?id=745107
2015-07-22 13:07:58 -04:00
Edward Hervey
3b751bf775 qt: Don't dist files that might not exist
We only require moc building at build time.
2015-07-22 15:14:28 +02:00
Edward Hervey
5f8633b6f3 qt: Tidy up makefile a bit more
Separate generated files, from disted files
2015-07-22 08:06:19 +02:00
Julien Isorce
6125ea7e97 gstglwidget: use gst_gl_display_create_context
Also handle the failure case.

https://bugzilla.gnome.org/show_bug.cgi?id=750310
2015-07-21 15:06:34 +01:00
Julien Isorce
5457e55f25 caopengllayersink: use gst_gl_display_create_context
https://bugzilla.gnome.org/show_bug.cgi?id=750310
2015-07-21 14:55:35 +01:00
Julien Isorce
6fc5b18138 glstereosplit: use gst_gl_display_create_context
Also unlock the lock on error.

https://bugzilla.gnome.org/show_bug.cgi?id=750310
2015-07-21 14:55:11 +01:00
Julien Isorce
57f389d9ce gl: use gst_gl_display_create_context in more elements.
glbasefilter, glbasemixer and gltestsrc.

https://bugzilla.gnome.org/show_bug.cgi?id=750310
2015-07-21 11:37:21 +01:00
Lubosz Sarnecki
2b7542400c glimagesink: Send reconfigure event when window size changes
https://bugzilla.gnome.org/show_bug.cgi?id=745107
2015-07-20 14:41:12 -04:00
Lubosz Sarnecki
2fb862b34f glimagesinkbin: Add allocation query for GstVideoOverlayComposition
Adds an GST_VIDEO_OVERLAY_COMPOSITION_META_API_TYPE query to glupload
and glimagesink.  Detects the query from the downstream elements, so
it is executed only when downstream supports the overlay API.

This makes pipelines with textoverlay ! glupload ! gldownload ! xvimagesink possible.
Uses allocation meta struct for passing the window size upstream.

https://bugzilla.gnome.org/show_bug.cgi?id=745107
2015-07-20 14:41:12 -04:00
Lubosz Sarnecki
a7d1b7fcad glimagesinkbin: Add GstVideoOverlayCompositionMeta caps features
https://bugzilla.gnome.org/show_bug.cgi?id=745107
2015-07-20 14:41:12 -04:00
Lubosz Sarnecki
778ad10518 glimagesink: Upload and draw overlays with GstGLOverlayCompositor
Receives the GstOverlayComposition buffer in the glimagesink and draws them.

https://bugzilla.gnome.org/show_bug.cgi?id=745107
2015-07-20 14:41:11 -04:00
Carlos Rafael Giani
a595874aac opusdec: Fix PLC frame size calculations
Previously, PLC frames always had a length of 120ms, which caused audio
quality degradation and synchronization errors. Fix this by calculating an
appropriate length for the PLC frame.

The length must be a multiple of 2.5ms. Calculate a multiple of 2.5ms that
is nearest to the current PLC length. Any leftover PLC length that didn't
make it into this frame is accumulated for the next PLC frame.

https://bugzilla.gnome.org/show_bug.cgi?id=725167
2015-07-20 13:25:43 -04:00
Alex Ashley
71a1e3669a dashdemux: add support for generating Protection events from ContentProtection elements
If a ContentProtection element is present in an AdaptationSet element,
send Protection events on the source pad, so that qtdemux can use this
information to correctly generate its source caps for DASH CENC
encrypted streams.

This allows qtdemux to support CENC encrypted DASH streams where the
content protection specific information is carried in the MPD file
rather than in pssh boxes in the initialisation segments.

This commit adds a new function to the adaptivedemux base class to allow
a GstEvent to be queued for a stream. The queue of events are sent the
next time a buffer is pushed for that stream.

https://bugzilla.gnome.org/show_bug.cgi?id=705991
2015-07-20 16:04:22 +01:00
Tim-Philipp Müller
f8b7c38bed voaacenc: fix output caps for stream-format=ADTS
Should have framed=true in caps. Fixes voaacenc ! mpegtsmux.
2015-07-20 12:43:36 +01:00
Thibault Saunier
c683f2fffe gtk: Log GDK GL error when failling creating GdkGLContext 2015-07-20 11:09:20 +02:00
Matthew Waters
d5996de5d7 glcontext: fix get_current_gl_api on x11/nvidia drivers
They require to get_proc_address some functions through the
platform specific {glX,egl}GetProcAddress rather than the default
GL library symbol lookup.
2015-07-18 18:18:22 +10:00
Matthew Waters
0aaf9db1df glcolorconvertelement: propagate failure to convert buffer upstream
Rather than just silently continuing
2015-07-18 16:32:15 +10:00
Nicolas Dufresne
1d0c3fd070 gtkgstglwidget: Cleanup unused private member
new_buffer has been moved to base class. Also cleanup
the properties comment, which are also all moved into
the base class.
2015-07-17 16:00:01 -04:00
Nicolas Dufresne
df021c1a4b gtksink: "widget" must be access from main thread
Document that "widget" property must be accessed from the
main thread (where GTK is running). This is the same for
state transition on these elements. It is very natural to
do so un GTK applications.
2015-07-17 15:57:37 -04:00
Nicolas Dufresne
5e87b9f9af gtkglsink: Don't leak vertex array and buffers
This is now possible since reset is always called from the
main thread.

https://bugzilla.gnome.org/show_bug.cgi?id=752441
2015-07-17 15:41:09 -04:00
Nicolas Dufresne
410ffd5c62 gtkgstbasewidget: Fix black frame on resize
This is solved by only applying the new format when the next
buffer is to be rendered and on the GTK thread.

https://bugzilla.gnome.org/show_bug.cgi?id=752441
2015-07-17 15:41:07 -04:00
Nicolas Dufresne
d0fd6a0b0b gtkgstbasewidget: Pass already parsed VideoInfo
As the base sink already parse the caps into VideoInfo it
makes sense to pass in VideoInfo to the widget instead.

https://bugzilla.gnome.org/show_bug.cgi?id=752441
2015-07-17 15:40:22 -04:00
Nicolas Dufresne
785b7bd8e4 gtkglsink: Port to GstGtkBaseSink base class
https://bugzilla.gnome.org/show_bug.cgi?id=752441
2015-07-17 15:14:09 -04:00
Nicolas Dufresne
84bc5adbc9 gtksink: Port to GstGtkBaseSink
https://bugzilla.gnome.org/show_bug.cgi?id=752441
2015-07-17 15:14:09 -04:00
Nicolas Dufresne
0fc6765b70 gtkbasesink: Create a base class
This contains all the common code between the gtkglsink and
gtksink.

https://bugzilla.gnome.org/show_bug.cgi?id=752441
2015-07-17 15:13:12 -04:00
Nicolas Dufresne
13ae5cb2f5 gtkglsink: Port to GtkGstBaseWidget
https://bugzilla.gnome.org/show_bug.cgi?id=752441
2015-07-17 15:13:11 -04:00
Nicolas Dufresne
b53f859b59 gtksink: Port to GtkGstBaseWidget
https://bugzilla.gnome.org/show_bug.cgi?id=752441
2015-07-16 17:12:30 -04:00
Nicolas Dufresne
ad45bcdd34 gtk: Add GtkGstBaseWidget
This is a "pseudo" base class. Basically it's a shared instance
and class structure and a shared set of function between the
two widget. It cannot have it's own type like normal base class
since the one instance will implement GtkGLArea while the other
implements GtkDrawingAreay. To workaround this, the parent instance
and class is a union of both.

https://bugzilla.gnome.org/show_bug.cgi?id=752441
2015-07-16 17:12:30 -04:00
Nicolas Dufresne
04beac6e0f uploadelement: Protect against NULL pointer
I notice that if you stop the pipeline during a renegotiation
the upload may be NULL while an allocation query is being run.
In that scenario, returning FALSE to the allocation query is the
best thing.
2015-07-16 17:05:36 -04:00
Nicolas Dufresne
fecef40463 gtkgstglwidget: Remove unused gl_caps 2015-07-16 17:05:36 -04:00