platform/upstream/gstreamer.git
9 years agofrei0r: Fix setting string parameters
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

9 years agogtk: implement GstNavigation interface
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.

9 years agoopus: Copy metadata in the (de)payloader, but only the relevant ones
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

9 years agovideoparsers: h265: Fix the frame start detection code
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

9 years agovideoparsers: h265: Avoid skipping of EOS and EOB nals
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

9 years agofacedetect: wrong form to write the delete operator
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.

9 years agofacedetect: simplify repeated code.
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.

9 years agofacedetect: Redundancy exists in code.
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.

9 years agogl: Add opengl_version.h to the list of sources
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

9 years agoexamples: facedetect: only create variables when needed
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.

9 years agoexamples: facedetect: make volume control optional
Luis de Bethencourt [Mon, 10 Aug 2015 15:51:17 +0000 (16:51 +0100)]
examples: facedetect: make volume control optional

9 years agogl: use gles2 shaders everywhere
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.

9 years agoglcontext/wgl: implement gl3 core profile context selection
Matthew Waters [Mon, 10 Aug 2015 13:44:54 +0000 (15:44 +0200)]
glcontext/wgl: implement gl3 core profile context selection

9 years agogltransformation: implement pivot point for rotation and scale
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

9 years agogloverlaycompositor: Add shader to convert BGRA/ARGB -> RGBA
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

9 years agoqml: implement the required multiple GL context synchonisation
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

9 years agogl/syncmeta: implement synchronisation without glFenceSync
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.

9 years agoasfmux: output TIME segment if we output a stream and won't seek back later
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

9 years agotests/glcontext: fix INVALID_ENUM GL error in test
Matthew Waters [Sat, 8 Aug 2015 13:30:43 +0000 (15:30 +0200)]
tests/glcontext: fix INVALID_ENUM GL error in test

9 years agocontext/glx: only use glXCreateContextAttribs for OpenGL 3 contexts
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.

9 years agoexamples: facedetect: only set to playing when it's not already
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

9 years agoexamples: opencv: remove unnecessary setting of a property
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.

9 years agofacedetect: fix profile loading check
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.

9 years agohlsdemux: don't warn about duration if it is not known
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

9 years agogitignore: add new example file
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

9 years agoconfigure: update OpenCV requirements to 2.3.0
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

9 years agoh265parse: expose compatible profiles to downstream
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

9 years agorgb2bayer: Use mapped frame stride
Nicolas Dufresne [Thu, 6 Aug 2015 22:12:07 +0000 (18:12 -0400)]
rgb2bayer: Use mapped frame stride

9 years agorgb2bayer: Protect against failing map
Nicolas Dufresne [Thu, 6 Aug 2015 22:11:53 +0000 (18:11 -0400)]
rgb2bayer: Protect against failing map

9 years agobayer2rgb: Read stride from the video info
Nicolas Dufresne [Thu, 6 Aug 2015 22:04:58 +0000 (18:04 -0400)]
bayer2rgb: Read stride from the video info

9 years agobayer2rgb: Protect against failing map
Nicolas Dufresne [Thu, 6 Aug 2015 22:04:41 +0000 (18:04 -0400)]
bayer2rgb: Protect against failing map

9 years agoelement-template: Fix wrong pad in videoencoder
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

9 years agodashdemux: Fix leak in gst_dash_demux_stream_update_fragment_info()
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

9 years agopcapparse: Segment should start at base ts
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

9 years agocamerabin2: Fix string typo
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

9 years agoopencv: facedetect: free IplImage with cvReleaseImage
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.

9 years agoopencv: facedetect: check pointer before using it
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

9 years agox265enc: remove dead code
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

9 years agox265enc: fix memory leak
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

9 years agorsvg: Don't leak a GstVideoCodecState
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

9 years agorawparse: fix duplicated format in handle_seek_pull
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

9 years agoopencv: facedetect: fix crashes in finalize
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.

9 years agowinscreencap: Properly timestamp buffers with the current clock running time instead...
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.

9 years agoopencv: Fix 32-bit build / format strings.
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

9 years agoglvideomixer: swap control binding proxy
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.

9 years agodash: mpdparser: plug leak in segmenttemplate parsing
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

9 years agotests: dash_mpd: add check for segmenttemplate inheritance
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

9 years agotests: dash_mpd: add one more baseURL test
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

9 years agodashdemux: tests: added duration format test
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

9 years agodashdemux: tests: update unit test for baseURL
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

9 years agotemplatematch: revert rename of property
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.

9 years agofacedetect: Add unit test
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

9 years agotemplatematch: rename conflicting variable
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.

9 years agofacedetect: need to migrate to C++
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

9 years agodtsdec: fix taglist leak
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

9 years agoapplemedia/avsample: Fix racy cleanup of CA layer
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

9 years agotests: Add test for seeking live pipelines
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

9 years agotests: Make source live to re-enable aggregator timeout tests
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

9 years agotests: Add audiointerleave test to show that queuing works
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

9 years agoaudiointerleave: Avoid caps processing if not yet negotiated
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

9 years agoaudioaggregator: On timeout, resync pads with not enough data
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

9 years agoaggregator: Queue "latency" buffers at each sink pad.
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

9 years agovideoaggregator: Remove broken _clip vfunc
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

9 years agoh265parse: Avoid checking for Non Mandatory VPS NAL
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

9 years agosdpdemux: assertion error due to wrong condition check
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

9 years agogstglfilterbin: remove unused variable
Luis de Bethencourt [Thu, 30 Jul 2015 10:12:21 +0000 (11:12 +0100)]
gstglfilterbin: remove unused variable

res is set multiple times but never used or returned. Removing it.

9 years agoaggregator: Default to "zero" start time selection mode as documented
Olivier Crête [Thu, 30 Jul 2015 00:07:09 +0000 (20:07 -0400)]
aggregator: Default to "zero" start time selection mode as documented

9 years agoaggregator: Ignore the "first" mode if the segment not a time segment
Olivier Crête [Thu, 30 Jul 2015 00:06:11 +0000 (20:06 -0400)]
aggregator: Ignore the "first" mode if the segment not a time segment

9 years agoglupload: Remove debug output from gst_gl_upload_transform_caps()
Sebastian Dröge [Wed, 29 Jul 2015 18:10:57 +0000 (19:10 +0100)]
glupload: Remove debug output from gst_gl_upload_transform_caps()

We can't know if the GstGLUpload type is initialized at this point already,
and thus our debug category might not be initialized yet... and cause an
assertion here.

As we don't print debug output for any of the other transform functions, let's
defer this problem for now.

9 years agoglstereomix: remove redundant initialization
Luis de Bethencourt [Wed, 29 Jul 2015 16:48:58 +0000 (17:48 +0100)]
glstereomix: remove redundant initialization

v is initialized in the for loop init, no need to do it twice. Removing
first initialization.

9 years agortp: remove dead assignment
Luis de Bethencourt [Wed, 29 Jul 2015 16:29:28 +0000 (17:29 +0100)]
rtp: remove dead assignment

Value set to ret will be overwritten at least once at the end of the while
loop, removing assignment.

9 years agompegtsmux: use GQueue instead of GList prepend/reverse
Tim-Philipp Müller [Wed, 29 Jul 2015 16:29:29 +0000 (17:29 +0100)]
mpegtsmux: use GQueue instead of GList prepend/reverse

9 years agosdpdemux: remove redundant assignment
Luis de Bethencourt [Wed, 29 Jul 2015 16:17:16 +0000 (17:17 +0100)]
sdpdemux: remove redundant assignment

Value of p is already set below just before being used. Removing this
first assignment that will be ignored.

9 years agompegtsbase: remove redundant check
Luis de Bethencourt [Wed, 29 Jul 2015 15:51:48 +0000 (16:51 +0100)]
mpegtsbase: remove redundant check

No need to check if done is True since break will already terminate the for
loop.

9 years agosdpdemux: Don't assert in GstAdapter if no data was received before EOS
Sebastian Dröge [Wed, 29 Jul 2015 12:09:05 +0000 (13:09 +0100)]
sdpdemux: Don't assert in GstAdapter if no data was received before EOS

9 years agocompositor: Add unit tests for the new aggregator start-time-selection property
Sebastian Dröge [Tue, 28 Jul 2015 19:30:09 +0000 (22:30 +0300)]
compositor: Add unit tests for the new aggregator start-time-selection property

https://bugzilla.gnome.org/show_bug.cgi?id=749966

9 years agoaggregator: Add property to select how to decide on a start time
Sebastian Dröge [Mon, 15 Jun 2015 16:30:20 +0000 (18:30 +0200)]
aggregator: Add property to select how to decide on a start time

Before aggregator based elements always started at running time 0,
now it's possible to select the first input buffer running time or
explicitly set a start-time value.

https://bugzilla.gnome.org/show_bug.cgi?id=749966

9 years agosdpdemux: Strip keys from the fmtp that we use internally in our caps
Sebastian Dröge [Wed, 29 Jul 2015 10:25:24 +0000 (11:25 +0100)]
sdpdemux: Strip keys from the fmtp that we use internally in our caps

Skip keys from the fmtp, which we already use ourselves for the
caps. Some software is adding random things like clock-rate into
the fmtp, and we would otherwise here set a string-typed clock-rate
in the caps... and thus fail to create valid RTP caps

https://bugzilla.gnome.org/show_bug.cgi?id=753009

9 years agoh264parse: Add more NAL types for debugging output.
Jan Schmidt [Wed, 29 Jul 2015 12:59:56 +0000 (22:59 +1000)]
h264parse: Add more NAL types for debugging output.

Register more NAL unit types so that they are dumped
by name in the debug output instead of being labelled
'Invalid'

9 years agompegtsmux: Don't clear the PID on reset.
Jan Schmidt [Wed, 29 Jul 2015 12:57:44 +0000 (22:57 +1000)]
mpegtsmux: Don't clear the PID on reset.

The PID on a pad shouldn't change on a state change, only
if the pad is freed and a new one created. Clearing the PID
prevented mpegtsmux from being reused, because all packets
would end up muxed in PID 0

https://bugzilla.gnome.org/show_bug.cgi?id=752999

9 years agompegtsmux: Accumulate streamheaders in reverse
Jan Schmidt [Wed, 29 Jul 2015 12:56:28 +0000 (22:56 +1000)]
mpegtsmux: Accumulate streamheaders in reverse

Accumulate streamheader packets in reverse into the
GList for efficiency, and reverse the list once when
processing.

Improves muxing speed when there are a lot of
streamheaders.

9 years agoamcvideoenc: Always set i-frame-interval setting
Sebastian Dröge [Wed, 29 Jul 2015 09:12:43 +0000 (10:12 +0100)]
amcvideoenc: Always set i-frame-interval setting

Most encoders fail to initialize if we don't set it at all.

9 years agoh263parse: fix caps memory leak
Vineeth TM [Wed, 29 Jul 2015 03:56:54 +0000 (12:56 +0900)]
h263parse: fix caps memory leak

https://bugzilla.gnome.org/show_bug.cgi?id=752991

9 years agoaggregator: Query the peer latency again on the next opportunity after a pad was...
Sebastian Dröge [Tue, 28 Jul 2015 18:15:43 +0000 (21:15 +0300)]
aggregator: Query the peer latency again on the next opportunity after a pad was added or removed

Adding a pad will add a new upstream that might have a bigger minimum latency,
so we might have to wait longer. Or it might be the first live upstream, in
which case we will have to start deadline based aggregation.

Removing a pad will remove a new upstream that might have had the biggest
latency, so we can now stop waiting a bit earlier. Or it might be the last
live upstream, in which case we can stop deadline based aggregation.

9 years agoglcolorconvert-test: Test notify function for setup_wrapped
Nicolas Dufresne [Tue, 28 Jul 2015 15:20:40 +0000 (11:20 -0400)]
glcolorconvert-test: Test notify function for setup_wrapped

gst_gl_memory_setup_wrapped() now takes a destroy notify function. This
destroy notify is called to track the memory life time, hence will
notify each time a memory get destroyed. This test check that the
callback count is correct.

9 years agoglcolorconvert-test: Fix build
Nicolas Dufresne [Tue, 28 Jul 2015 15:06:43 +0000 (11:06 -0400)]
glcolorconvert-test: Fix build

9 years agoglupload: Add fixme about using bufferpool for raw
Nicolas Dufresne [Tue, 28 Jul 2015 12:59:24 +0000 (08:59 -0400)]
glupload: Add fixme about using bufferpool for raw

http://bugzilla.gnome.org/show_bug.cgi?id=752937

9 years agoglupload: Keep input frame mapped as long as needed
Nicolas Dufresne [Mon, 27 Jul 2015 20:58:22 +0000 (16:58 -0400)]
glupload: Keep input frame mapped as long as needed

When performing a raw upload, we need to keep the raw data mapped as
long as needed.

https://bugzilla.gnome.org/show_bug.cgi?id=752937

9 years agoRevert "glupload: memcpy on raw data upload"
Nicolas Dufresne [Mon, 27 Jul 2015 19:58:10 +0000 (15:58 -0400)]
Revert "glupload: memcpy on raw data upload"

This reverts commit 82c0189b2842e8729e82a4e73491dffc977bc7c2.

https://bugzilla.gnome.org/show_bug.cgi?id=752937

9 years agodashdemux: gst_mpdparser_get_xml_prop_duration sets default value in case of parsing...
Florin Apostol [Wed, 15 Jul 2015 15:21:00 +0000 (16:21 +0100)]
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

9 years agoopuscommon: Use GString instead of snprintf for concating
Nirbheek Chauhan [Mon, 27 Jul 2015 13:09:13 +0000 (18:39 +0530)]
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.

9 years agoglcontext/wgl: fix defenition of gst_gl_context_wgl_new
Matthew Waters [Mon, 27 Jul 2015 11:54:27 +0000 (21:54 +1000)]
glcontext/wgl: fix defenition of gst_gl_context_wgl_new

gstglcontext_wgl.c: In function 'gst_gl_context_wgl_new':
gstglcontext_wgl.c:83:40: error: 'display' undeclared (first use in this function)

9 years agogl/cocoa: fix definition of gst_gl_context_new
Matthew Waters [Mon, 27 Jul 2015 10:03:05 +0000 (20:03 +1000)]
gl/cocoa: fix definition of gst_gl_context_new

gstglcontext_cocoa.m:75:1: error: conflicting types for 'gst_gl_context_cocoa_new'

9 years agogl/win32: fix definition of gst_gl_window_win32_new
Matthew Waters [Mon, 27 Jul 2015 10:00:47 +0000 (20:00 +1000)]
gl/win32: fix definition of gst_gl_window_win32_new

9 years agowayland: fail window open if the display is the correct type
Matthew Waters [Mon, 27 Jul 2015 08:21:19 +0000 (18:21 +1000)]
wayland: fail window open if the display is the correct type

Errors out cleanly if a wayland compositor is not running

9 years agoglwindow: pass display to implementation's _new()
Matthew Waters [Fri, 24 Jul 2015 07:00:27 +0000 (17:00 +1000)]
glwindow: pass display to implementation's _new()

So they have to opportunity to fail if they cannot handle the
display connection.

https://bugzilla.gnome.org/show_bug.cgi?id=752743

9 years agoglcontext: pass display to implentation's _new()
Matthew Waters [Fri, 24 Jul 2015 06:11:38 +0000 (16:11 +1000)]
glcontext: pass display to implentation's _new()

This allows the context to fail creation based on incompatible
display type's. e.g. glx context with an wayland display handle.

https://bugzilla.gnome.org/show_bug.cgi?id=752743

9 years agogl: support cgl, egl and glx within a same build
Julien Isorce [Sun, 5 Jul 2015 23:52:06 +0000 (00:52 +0100)]
gl: support cgl, egl and glx within a same build

On osx, with the same build,
gst-launch-1.0 videotestsrc ! glimagesink works with:

GST_GL_PLATFORM=egl GST_GL_WINDOW=x11 GST_GL_API=gles2
GST_GL_PLATFORM=egl GST_GL_WINDOW=x11 GST_GL_API=opengl

GST_GL_PLATFORM=glx GST_GL_WINDOW=x11 GST_GL_API=opengl

GST_GL_PLATFORM=cgl GST_GL_WINDOW=cocoa GST_GL_API=opengl
GST_GL_PLATFORM=cgl GST_GL_WINDOW=cocoa GST_GL_API=opengl3

https://bugzilla.gnome.org/show_bug.cgi?id=752743

9 years agoglupload: Check that caps contain desired caps features
Jan Schmidt [Mon, 27 Jul 2015 06:36:40 +0000 (16:36 +1000)]
glupload: Check that caps contain desired caps features

Use 'contains' checks instead of equality checks on caps features
to allow for uploading when caps also contain GstVideoOverlayComposition
meta.

https://bugzilla.gnome.org/show_bug.cgi?id=752912

9 years agobluez: Add built sources to CLEANFILES
Nicolas Dufresne [Sat, 25 Jul 2015 13:03:27 +0000 (09:03 -0400)]
bluez: Add built sources to CLEANFILES