platform/upstream/gstreamer.git
9 years agoksvideosrc: don't timestamp buffers for muxed streams
Andoni Morales Alastruey [Wed, 29 Apr 2015 07:57:52 +0000 (09:57 +0200)]
ksvideosrc: don't timestamp buffers for muxed streams

9 years agoksvideosrc: fix header size for muxed streams
Andoni Morales Alastruey [Wed, 29 Apr 2015 19:37:56 +0000 (21:37 +0200)]
ksvideosrc: fix header size for muxed streams

9 years agocodecparser: h265: Fix the number of tile rows/columns parsing
Sreerenj Balachandran [Wed, 29 Apr 2015 16:39:14 +0000 (19:39 +0300)]
codecparser: h265: Fix the number of tile rows/columns parsing

The possible minimum value for num_tile_columns_minus1 and num_tile_rows_minus1
is zero (7.4.3.3).

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

9 years agomixmatrix: remove unused property enum items
Luis de Bethencourt [Wed, 29 Apr 2015 16:20:58 +0000 (17:20 +0100)]
mixmatrix: remove unused property enum items

These two properties have been there since the origin of the element but they
aren't used. Removing them.

9 years agoadaptivedemux: Fix comparision logic
Edward Hervey [Wed, 29 Apr 2015 13:41:07 +0000 (15:41 +0200)]
adaptivedemux: Fix comparision logic

We can't answer the SEEKING query if we do *not* have the manifest

9 years agoaiff: Re-add noinst_HEADERS instruction
Edward Hervey [Wed, 29 Apr 2015 08:56:24 +0000 (10:56 +0200)]
aiff: Re-add noinst_HEADERS instruction

Was removed in the previous android cleanup commit

9 years agoGstDeviceProvider implementation for WIN Kernel Streaming plugin
Руслан Ижбулатов [Tue, 28 Apr 2015 21:43:56 +0000 (21:43 +0000)]
GstDeviceProvider implementation for WIN Kernel Streaming plugin

gst_ks_device_provider_probe() is a no-braier, just runs ks_enumerate_devices()
and reports the results.

Monitoring is a bit more tricky. We have to create a dummy message-processing
window and register device change notifications for it.

As kernel streaming can (and should) be used for audio capture and audio
playback, this change also has certain placeholders for such.

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

9 years agoglimagesink: Cache caps for passing to the client draw call
Jan Schmidt [Tue, 28 Apr 2015 16:30:05 +0000 (02:30 +1000)]
glimagesink: Cache caps for passing to the client draw call

Don't convert the GstVideoInfo to caps on every draw call,
just cache the caps and pass them into the GstSample.

9 years agoglupload: Make upload method static caps non-const.
Jan Schmidt [Tue, 28 Apr 2015 16:20:09 +0000 (02:20 +1000)]
glupload: Make upload method static caps non-const.

Retrieving a GstStaticCaps does a one time internal
initialisation and caches it - they can't be stored as
const structures.

9 years agoopus: fix includes and compilation against opus in non-standard prefix
Tim-Philipp Müller [Tue, 28 Apr 2015 16:24:04 +0000 (17:24 +0100)]
opus: fix includes and compilation against opus in non-standard prefix

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

9 years agoopus: don't use deprecated gst_buffer_new_and_alloc
Mersad Jelacic [Tue, 28 Apr 2015 14:58:21 +0000 (16:58 +0200)]
opus: don't use deprecated gst_buffer_new_and_alloc

Use the helper function available in the base class instead.

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

9 years agode265dec: use g_get_num_processors() if available
Tim-Philipp Müller [Tue, 28 Apr 2015 15:06:47 +0000 (16:06 +0100)]
de265dec: use g_get_num_processors() if available

And provide home-made fallback for older GLib versions,
so that we can later find these and remove them when
we bump the GLib requirement (which is certainly going
to happen before 2.0).

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

9 years agogst: remove some unnecessary glib version checks
Tim-Philipp Müller [Tue, 28 Apr 2015 15:02:27 +0000 (16:02 +0100)]
gst: remove some unnecessary glib version checks

We require 2.32, no need to check for anything older
than that.

9 years agomxf: fix descriptor leak
Guillaume Desmottes [Tue, 28 Apr 2015 09:28:39 +0000 (11:28 +0200)]
mxf: fix descriptor leak

Free the existing descriptor array, if any, before replacing it.

Fix leaks with the
validate.file.playback.scrub_forward_seeking.test-mpeg2-mp3_mxf scenario.

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

9 years agotsdemux: fix taglist leak
Guillaume Desmottes [Tue, 28 Apr 2015 08:13:35 +0000 (10:13 +0200)]
tsdemux: fix taglist leak

If the stream which is about to be removed still has a ref on a tag list we
should drop it.

Fix a leak which was occasionally happening with the
validate.file.playback.change_state_intensive.tron_en_ge_aac_h264_ts scenario.

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

9 years agompegtspacketizer: fix find_subtable() return value
Jimmy Ohn [Mon, 27 Apr 2015 13:44:28 +0000 (22:44 +0900)]
mpegtspacketizer: fix find_subtable() return value

find_subtable() returns a pointer, so return NULL and
not FALSE when nothing is found.

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

9 years agowin32: update defs
Edward Hervey [Tue, 28 Apr 2015 12:52:36 +0000 (14:52 +0200)]
win32: update defs

9 years agoglmemory: remove uneeded unref
Matthew Waters [Tue, 28 Apr 2015 10:46:52 +0000 (20:46 +1000)]
glmemory: remove uneeded unref

The call to _gl_mem_alloc_data will unref and NULLify 'dest' for us.
We just need to return.

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

9 years agoglimagesink: Use gst_pad_get_pad_template_caps in ::get_caps()
Matthieu Bouron [Tue, 28 Apr 2015 07:37:59 +0000 (09:37 +0200)]
glimagesink: Use gst_pad_get_pad_template_caps in ::get_caps()

9 years agoglupload: provide the sink template caps that could be used
Matthew Waters [Tue, 28 Apr 2015 10:11:07 +0000 (20:11 +1000)]
glupload: provide the sink template caps that could be used

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

9 years agoexamples: gst-camera: add zoom property to UI
Thiago Santos [Mon, 27 Apr 2015 22:28:57 +0000 (19:28 -0300)]
examples: gst-camera: add zoom property to UI

Add a slider to modify the zoom in camerabin

9 years agoexamples: gst-camera: remove widgets deprecated in GTK3.0
Thiago Santos [Mon, 27 Apr 2015 21:33:37 +0000 (18:33 -0300)]
examples: gst-camera: remove widgets deprecated in GTK3.0

VBox and HBox are now simply Box

9 years agoexamples: gst-camera: update to GTK3
Thiago Santos [Mon, 27 Apr 2015 18:41:04 +0000 (15:41 -0300)]
examples: gst-camera: update to GTK3

When opening the .ui file it complains about being for GTK 2 and
automatically updates it to GTK3. Commit this version and update
the makefile

9 years agowrappercamerabinsrc: remove unused code
Thiago Santos [Mon, 27 Apr 2015 16:41:44 +0000 (13:41 -0300)]
wrappercamerabinsrc: remove unused code

The structure is created and never used anymore. Remove it.

9 years agowrappercamerabinsrc: use digitalzoom element
Thiago Santos [Mon, 27 Apr 2015 16:24:54 +0000 (13:24 -0300)]
wrappercamerabinsrc: use digitalzoom element

Replace videocrop ! videoscale ! capsfilter with the digitalzoom
bin that has the same pipeline internally and already updates
the capsfilter automatically when caps change, removing this code
from wrappercamerabinsrc and making it cleaner.

9 years agodigitalzoom: change videocrop parameters before passing caps event
Thiago Santos [Tue, 28 Apr 2015 00:14:02 +0000 (21:14 -0300)]
digitalzoom: change videocrop parameters before passing caps event

Avoids one extra uneeded renegotiation if the elements are already
configured to their final property values when the caps event
goes through.

Also avoids hitting bug https://bugzilla.gnome.org/show_bug.cgi?id=748344

9 years agodigitalzoom: also skip internal pipeline in upstream caps query
Thiago Santos [Wed, 22 Apr 2015 16:06:30 +0000 (13:06 -0300)]
digitalzoom: also skip internal pipeline in upstream caps query

To avoid going through our capsfilter which would limit the choices.

9 years agodigitalzoom: prevent assertion when caps is any
Thiago Santos [Wed, 22 Apr 2015 16:05:42 +0000 (13:05 -0300)]
digitalzoom: prevent assertion when caps is any

9 years agocamerabin: digitalzoom: create a bin element for digital zooming
Thiago Santos [Wed, 22 Apr 2015 02:10:05 +0000 (23:10 -0300)]
camerabin: digitalzoom: create a bin element for digital zooming

It contains videocrop ! videoscale ! capsfilter and implements digital
zooming.

At this moment, it is a private element of the camerabin plugin.

This will remove some code used in wrappercamerabinsrc to make
code clearer and digitalzoom can potentially be used by other
applications in the future, it has nothing camerabin specific.

9 years agoegl: Use maximum bits per color instead of minimum
Xavier Claessens [Mon, 27 Apr 2015 14:11:41 +0000 (10:11 -0400)]
egl: Use maximum bits per color instead of minimum

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

9 years agolibde265: W32 thread count support
Руслан Ижбулатов [Sun, 26 Apr 2015 20:55:03 +0000 (20:55 +0000)]
libde265: W32 thread count support

This code is imported from GLib g_get_num_processors(). This function
was added in 2.36 but we depend on 2.32.

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

9 years agolibde265: Fix format string for gsize
Руслан Ижбулатов [Sun, 26 Apr 2015 21:00:06 +0000 (21:00 +0000)]
libde265: Fix format string for gsize

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

9 years agospandsp: Don't use the private field 'missing_samples'
Руслан Ижбулатов [Sun, 26 Apr 2015 21:03:45 +0000 (21:03 +0000)]
spandsp: Don't use the private field 'missing_samples'

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

9 years agompegdemux: remove unused property enum item
Luis de Bethencourt [Mon, 27 Apr 2015 13:56:06 +0000 (14:56 +0100)]
mpegdemux: remove unused property enum item

The property enum item has been there since the origin of the element but it
has never been used. Removing it.

9 years agoglfiltercube: Don't initialize multiple shaders on renegotiation
Matthieu Bouron [Mon, 27 Apr 2015 12:49:59 +0000 (14:49 +0200)]
glfiltercube: Don't initialize multiple shaders on renegotiation

9 years agoRename property enums from ARG_ to PROP_
Luis de Bethencourt [Mon, 27 Apr 2015 09:55:13 +0000 (10:55 +0100)]
Rename property enums from ARG_ to PROP_

Property enum items should be named PROP_ for consistency and readability.

9 years agoglimagesink: Remove unused stop function
Matthieu Bouron [Mon, 27 Apr 2015 08:24:00 +0000 (10:24 +0200)]
glimagesink: Remove unused stop function

9 years agoglimagesink: unref the pool in the correct place
Matthew Waters [Mon, 27 Apr 2015 06:04:50 +0000 (16:04 +1000)]
glimagesink: unref the pool in the correct place

Otherwise we could hold a pool to a context that is never going to be used.

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

9 years agogltransformation: Unref shader in ::stop()
Matthieu Bouron [Mon, 27 Apr 2015 08:01:53 +0000 (10:01 +0200)]
gltransformation: Unref shader in ::stop()

9 years agogl: unref display/other-context in the correct place
Matthew Waters [Mon, 27 Apr 2015 05:20:56 +0000 (15:20 +1000)]
gl: unref display/other-context in the correct place

Otherwise state changes from PLAYING->READY->PAUSED will cause there to
to be no display configured on the element.

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

9 years agocodecparsers: h265: add helpers to convert quantization matrices
Sreerenj Balachandran [Fri, 10 Apr 2015 11:08:43 +0000 (14:08 +0300)]
codecparsers: h265: add helpers to convert quantization matrices

Add utility functions to convert quantization matrices from zig-zag scan
order into raster scan order and vice-versa

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

9 years agocodecparser: h265: skip byte alignment bits while parsing slice header
Sreerenj Balachandran [Fri, 10 Apr 2015 11:07:56 +0000 (14:07 +0300)]
codecparser: h265: skip byte alignment bits while parsing slice header

Skip the byte alignment bits as per the logic of byte_alignment()
provided in hevc specification. This will fix the calculation of
slice header size.

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

9 years agocodecparser: h265: Fix the NumDeltaPocs calculation
Sreerenj Balachandran [Fri, 10 Apr 2015 11:07:35 +0000 (14:07 +0300)]
codecparser: h265: Fix the NumDeltaPocs calculation

Always use the equation provided in spec (7-57) for finding
the NumDeltaPocs

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

9 years agocodecparser: h265: Fix the NumPocTotalCurr calculation
Sreerenj Balachandran [Fri, 10 Apr 2015 11:04:17 +0000 (14:04 +0300)]
codecparser: h265: Fix the NumPocTotalCurr calculation

The NumPocToalCurr should be calculated for all B and P slices.

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

9 years agocodecparser: h265: Fix nal size calculation for EOS and EOB
Sreerenj Balachandran [Fri, 10 Apr 2015 10:59:50 +0000 (13:59 +0300)]
codecparser: h265: Fix nal size calculation for EOS and EOB

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

9 years agoglfilter: De-camelcase onInitFBO() vfunc
Sebastian Dröge [Sun, 26 Apr 2015 19:42:03 +0000 (21:42 +0200)]
glfilter: De-camelcase onInitFBO() vfunc

9 years agoglfilter: Remove onStart/onStop vfuncs, and unused onReset()
Sebastian Dröge [Sun, 26 Apr 2015 19:39:06 +0000 (21:39 +0200)]
glfilter: Remove onStart/onStop vfuncs, and unused onReset()

onStart/onStop are just duplicates of the basetransform ones, onReset
was never called but was used everywhere when stop should've been used.

9 years agogltransformation: don't initialize multiple shaders on renegotiation
Lubosz Sarnecki [Tue, 21 Apr 2015 07:43:58 +0000 (09:43 +0200)]
gltransformation: don't initialize multiple shaders on renegotiation

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

* delete shader if one exists
* set it to NULL after unrefing

9 years agoglcolorconvert: Fix compiler warning
Sebastian Dröge [Sun, 26 Apr 2015 19:11:17 +0000 (21:11 +0200)]
glcolorconvert: Fix compiler warning

gstglcolorconvertelement.c:230:19: error: unused variable 'in_structure'
      [-Werror,-Wunused-variable]
    GstStructure *in_structure = gst_caps_get_structure (caps, 0);
                  ^

9 years agoavfvideosrc: drop frames we get before we have a clock
Ilya Konstantinov [Tue, 14 Apr 2015 22:24:45 +0000 (01:24 +0300)]
avfvideosrc: drop frames we get before we have a clock

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

9 years agoglbasefilter: Unref other context in finalize, and display in READY->NULL
Matthew Waters [Sun, 26 Apr 2015 18:33:41 +0000 (20:33 +0200)]
glbasefilter: Unref other context in finalize, and display in READY->NULL

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

9 years agoglcolorconvert: Keep colorimetry and chroma-site fields if passthrough
Matthieu Bouron [Sun, 19 Apr 2015 17:16:55 +0000 (19:16 +0200)]
glcolorconvert: Keep colorimetry and chroma-site fields if passthrough

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

9 years agoRemove obsolete Android build cruft
Tim-Philipp Müller [Sun, 26 Apr 2015 17:04:16 +0000 (18:04 +0100)]
Remove obsolete Android build cruft

This is not needed any longer.

9 years agovtdec: fix build error with clang
Yujin Lee [Sat, 18 Apr 2015 15:55:50 +0000 (00:55 +0900)]
vtdec: fix build error with clang

This commit fixes a simple build error by clang with
by clang with [-Werror,-Wtautological-pointer-compare] options.

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

9 years agoadaptivedemux: Only answer the duration query in non-live mode
Sebastian Dröge [Sun, 26 Apr 2015 17:08:00 +0000 (19:08 +0200)]
adaptivedemux: Only answer the duration query in non-live mode

9 years agoaudiovisualizer: fix the license from GPL to LGPL
Stefan Sauer [Sat, 25 Apr 2015 16:50:52 +0000 (18:50 +0200)]
audiovisualizer: fix the license from GPL to LGPL

This was a copy'n'paste buf in the initial commit done by myself.

9 years agoaudiovisualizer: fix the license from GPL to LGPL
Stefan Sauer [Sat, 25 Apr 2015 16:46:41 +0000 (18:46 +0200)]
audiovisualizer: fix the license from GPL to LGPL

This was a copy'n'paste buf in the initial commit done by myself.

9 years agoexamples: motioncells: remove GPL3 code we don't need
Tim-Philipp Müller [Sat, 25 Apr 2015 12:38:08 +0000 (13:38 +0100)]
examples: motioncells: remove GPL3 code we don't need

If 95% of the code of an example app consists of GObject
code, maybe that's defeating the point a little. So just
remove a lot of that and trim down the example to the
absolute minimum. Also removes the last remaining GPL3
licensed code in -bad.

9 years agoexamples: motioncells: simplify property setting
Tim-Philipp Müller [Sat, 25 Apr 2015 11:52:04 +0000 (12:52 +0100)]
examples: motioncells: simplify property setting

9 years agoexamples: motioncells: port to 1.x
Tim-Philipp Müller [Sat, 25 Apr 2015 11:48:28 +0000 (12:48 +0100)]
examples: motioncells: port to 1.x

9 years agoexamples: motioncells: relicense opencv example to LGPLv2
Robert Jobbagy [Wed, 19 Nov 2014 23:33:44 +0000 (00:33 +0100)]
examples: motioncells: relicense opencv example to LGPLv2

9 years agotests: camerabin: add tests for GstPhotography image capture
Thiago Santos [Fri, 24 Apr 2015 17:04:55 +0000 (14:04 -0300)]
tests: camerabin: add tests for GstPhotography image capture

GstPhotography enables new paths in wrappercamerabinsrc that allows
the source to be notified about the capture caps and provide an
alternative caps if desired bypassing the negotiation (this doesn't
seem like a good idea these days). To make sure it keeps working
until we remove it from the API in favor of standard caps negotiation
features this test was added.

It adds 3 extra tests with a simple test source that will:
1) Test that capturing with ANY caps work
2) Test that capturing with a fixed caps work
3) Test that capturing with a fixed caps and having the source
   pick a different resolution from GstPhotography API works
   by having wrappercamerabinsrc crop the capture to the final
   requested dimensions

9 years agowrappercamerabinsrc: Rework cropping for zoom and dimension reduction
Thiago Santos [Fri, 24 Apr 2015 17:19:50 +0000 (14:19 -0300)]
wrappercamerabinsrc: Rework cropping for zoom and dimension reduction

wrappercamerabinsrc has a videocrop element to be used for
zooming and for cropping when input caps is different when used
with the GstPhotography interface. The zooming part needs
the following elements:

capsfilter ! videocrop ! videoscale ! capsfilter

The capsfilters should always have the same caps to ensure the
zooming is done and preserves dimensions, unless when it is needed
to do more cropping due to input dimensions those caps
need to be modified accordingly to preserve the output dimensions.

This, however, makes it hard to get caps negotiation to work properly
as we need to have different caps in the capsfilters to account for
the extra cropping needed. It could be simple for fixed caps but it
gets tricky with unfixed ones.

To solve this, this patch splits the zooming and dimension reduction
cropping into 2 separate videocrop elements. The first one does
the dimension cropping, which is only needed when the GstPhotography
API is used and the source provides a caps that is different than
what is requested, while the second is dedicated to zoom crop only.

The first part of the pipeline goes from:

src ! videoconvert ! capsfilter ! videocrop ! videoscale ! capsfilter

to

src ! videocrop ! videoconvert ! capsfilter ! videocrop ! videoscale ! capsfilter

It might add an extra overhead in the image capture as the image might need
to be cropped twice but this can be solved by enabling videocrop to use
crop metas so only the later one does the real cropping.

It also makes the code a bit simpler.

9 years agowrappercamerabinsrc: remove obsolete comment
Thiago Santos [Fri, 24 Apr 2015 17:17:51 +0000 (14:17 -0300)]
wrappercamerabinsrc: remove obsolete comment

This is already handled in another place and doesn't make sense
in the function context anymore

9 years agowrappercamerabinsrc: error out if source fails to prepare for capture
Thiago Santos [Fri, 24 Apr 2015 17:16:24 +0000 (14:16 -0300)]
wrappercamerabinsrc: error out if source fails to prepare for capture

Post an error when preparing the image capture through photography
interface fails

9 years agowrappercamerabinsrc: intersect instead of compare for equality
Thiago Santos [Fri, 24 Apr 2015 17:13:34 +0000 (14:13 -0300)]
wrappercamerabinsrc: intersect instead of compare for equality

Intersect is enough to check if the requested caps are compatible
with what the source is going to provide. Equality will be too strict.

9 years agowrappercamerabinsrc: fix typo
Thiago Santos [Fri, 24 Apr 2015 17:13:16 +0000 (14:13 -0300)]
wrappercamerabinsrc: fix typo

9 years agocamerabin: tests: remove unused macros
Thiago Santos [Fri, 24 Apr 2015 05:22:54 +0000 (02:22 -0300)]
camerabin: tests: remove unused macros

Those macros were with the wrong name (likely a copy n paste mistake)
and were unused.

9 years agotests: camerabin: remove obsolete check for 0.10 feature
Thiago Santos [Thu, 23 Apr 2015 17:28:11 +0000 (14:28 -0300)]
tests: camerabin: remove obsolete check for 0.10 feature

9 years agoremove unused enum items PROP_LAST
Luis de Bethencourt [Fri, 24 Apr 2015 15:48:23 +0000 (16:48 +0100)]
remove unused enum items PROP_LAST

This were probably added to the enums due to cargo cult programming and are
unused.

9 years agoglimagesink: balance change_state display ref/unref
Matthew Waters [Fri, 24 Apr 2015 07:13:10 +0000 (17:13 +1000)]
glimagesink: balance change_state display ref/unref

the display was being unreffed on the incorrect state change causing
invalid state when changing from PLAYING/PAUSED->READY->PAUSED/PLAYING.

9 years agoadaptivedemux: Don't claim to be live when answering the LATENCY query
Sebastian Dröge [Thu, 23 Apr 2015 15:43:36 +0000 (17:43 +0200)]
adaptivedemux: Don't claim to be live when answering the LATENCY query

Even for "live" streams we are not live in the GStreamer meaning of the word.
We don't produce buffers that are timestamped based on their "capture time"
and our clock, but just based on whatever timestamps the stream might contain.

Also even if we wanted to claim to be live, that wouldn't work well as we
would have to return GST_STATE_CHANGE_NO_PREROLL when going from READY to
PAUSED, which we can't. We first need data to know if we are "live" or not.

9 years agohlsdemux: Use the downloader of the base class instead of creating our own
Sebastian Dröge [Thu, 23 Apr 2015 15:39:46 +0000 (17:39 +0200)]
hlsdemux: Use the downloader of the base class instead of creating our own

The one of the base class is completely unused because we override all
the downloading here, so let's just use that one instead.

9 years agohlsdemux: Don't error out if we can't match variant playlists after updating
Sebastian Dröge [Thu, 23 Apr 2015 15:36:49 +0000 (17:36 +0200)]
hlsdemux: Don't error out if we can't match variant playlists after updating

It's better to just select some random variant playlist instead of stopping,
chances are that it's still continuing to work and we might just have to
select a different variant again later.

9 years agohlsdemux: Fix how the playlists are refreshed
Sebastian Dröge [Thu, 23 Apr 2015 15:33:04 +0000 (17:33 +0200)]
hlsdemux: Fix how the playlists are refreshed

We should only refresh the currently selected variant playlist (if any,
otherwise the main playlist), not the main playlist. And only try to
refresh the main playlist if updating the variant playlist fails.

Some servers (Wowza) use the request of the main playlist to create a
"session", which is then part of the URI of the variant playlist and
also the fragments. Refreshing the main playlist would generate a new
session, and the server rate limits that usually. And after a few retries
the server just kicks us out.

Also as a side effect we now use the same downloader for all playlists, so
that we only have 2 instead of 3 connections to the server. And also
previously we just ignored the downloaded data from the main playlist that
the base class gave to us.

9 years agoadaptivedemux: Allow subclasses to override how a new manifest would be downloaded
Sebastian Dröge [Thu, 23 Apr 2015 15:22:11 +0000 (17:22 +0200)]
adaptivedemux: Allow subclasses to override how a new manifest would be downloaded

9 years agoadaptivedemux: Expose downloader
Sebastian Dröge [Thu, 23 Apr 2015 15:02:44 +0000 (17:02 +0200)]
adaptivedemux: Expose downloader

This allows subclasses to use it and share connections if possible.

9 years agoUpdate .gitignore
Tim-Philipp Müller [Thu, 23 Apr 2015 15:43:11 +0000 (16:43 +0100)]
Update .gitignore

9 years agotests: define GST_CHECK_TEST_ENVIRONMENT_BEACON
Tim-Philipp Müller [Thu, 23 Apr 2015 15:40:49 +0000 (16:40 +0100)]
tests: define GST_CHECK_TEST_ENVIRONMENT_BEACON

Make sure the test environment is set up.

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

9 years agoconfigure: bump automake requirement to 1.14 and autoconf to 2.69
Tim-Philipp Müller [Thu, 23 Apr 2015 15:39:20 +0000 (16:39 +0100)]
configure: bump automake requirement to 1.14 and autoconf to 2.69

This is only required for builds from git, people can still
build tarballs if they only have older autotools.

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

9 years agoglupload: Release glupload buffer when caps are changed
Matthieu Bouron [Thu, 23 Apr 2015 14:47:40 +0000 (16:47 +0200)]
glupload: Release glupload buffer when caps are changed

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

9 years agogaudi: don't run gaussian function if sigma is 0
Luis de Bethencourt [Thu, 23 Apr 2015 10:47:37 +0000 (11:47 +0100)]
gaudi: don't run gaussian function if sigma is 0

9 years agohlsdemux: handle too short segments
Thiago Santos [Wed, 22 Apr 2015 22:28:39 +0000 (19:28 -0300)]
hlsdemux: handle too short segments

When the segment is very short it might be the case that the
typefinding fails and when finishing the segment hlsdemux would
consider the remaining data (pending_buffer) as an encryption
leftover.

This patch fixes it and makes sure an error is properly posted
if typefind failed by refactoring buffer handling to a function
and using it from the data_received and finish_fragment functions.

9 years agohlsdemux: use correct variable type
Thiago Santos [Wed, 22 Apr 2015 22:04:43 +0000 (19:04 -0300)]
hlsdemux: use correct variable type

gst_buffer_resize needs gssize and not gsize. This makes gdb
print it correctly when debugging.

9 years agodecklinkvideosrc: fix mode autodetection
Josep Torra [Wed, 22 Apr 2015 15:08:09 +0000 (17:08 +0200)]
decklinkvideosrc: fix mode autodetection

The autodetection mode was broken because a race condition in the input mode
setting. The mode could be reverted back when it was replaced in
the streaming thread by the old mode in the middle of mode changed callback.

9 years agodecklink: do not repeat first video format in caps template
Josep Torra [Wed, 22 Apr 2015 15:04:25 +0000 (17:04 +0200)]
decklink: do not repeat first video format in caps template

The first entry in the modes array is used as default mode for autodetection.
There's no need to copy it into the caps template.

9 years agogaudi: fix to 30780db1
Luis de Bethencourt [Wed, 22 Apr 2015 14:04:03 +0000 (15:04 +0100)]
gaudi: fix to 30780db1

The second check for (factor == 0) creeped in the last commit.
Apologies.

9 years agogaudi: fix exclusion's factor range
Luis de Bethencourt [Wed, 22 Apr 2015 13:30:56 +0000 (14:30 +0100)]
gaudi: fix exclusion's factor range

Avoid dividing by zero when the factor is zero. Instead, output a buffer with
all color values as zero.

9 years agogaudi: remove floor variable in solarize
Luis de Bethencourt [Wed, 22 Apr 2015 13:15:13 +0000 (14:15 +0100)]
gaudi: remove floor variable in solarize

Floor variable has no effect and it isn't worth it to have it adjustable.

9 years agogaudi: remove unused property
Luis de Bethencourt [Wed, 22 Apr 2015 12:55:06 +0000 (13:55 +0100)]
gaudi: remove unused property

9 years agoglmixer: Possible null pointer dereference
Vineeth T M [Wed, 22 Apr 2015 09:54:45 +0000 (18:54 +0900)]
glmixer: Possible null pointer dereference

While printing error message when context fails, error variable is not being used anymore
so it will lead to null pointer dereference

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

9 years agoRemove INSTALL file
Sebastian Dröge [Wed, 22 Apr 2015 08:38:19 +0000 (10:38 +0200)]
Remove INSTALL file

autotools automatically generate this, and when using different versions
for autogen.sh there will always be changes to a file tracked by git.

9 years agoRemove LICENSE_readme
Sebastian Dröge [Wed, 22 Apr 2015 08:38:13 +0000 (10:38 +0200)]
Remove LICENSE_readme

It's completely outdated and just confusing, better if people are
forced to look at the actual code in question than trusting this file.

9 years agoadaptivedemux: Don't stop all tasks and streams from the update task on errors
Sebastian Dröge [Tue, 21 Apr 2015 20:04:56 +0000 (22:04 +0200)]
adaptivedemux: Don't stop all tasks and streams from the update task on errors

It will deadlocks as we will then join() the update task from itself. Instead
just post an actual error message on the bus and only stop the update task.

The application is then responsible for shutting down the element, and thus
all the other tasks and everything, based on the error message it gets.

9 years agohlsdemux: Fix seeking
Sebastian Dröge [Tue, 21 Apr 2015 16:29:36 +0000 (18:29 +0200)]
hlsdemux: Fix seeking

We also have to update the current_file GList pointer in the M3U playlist
client, otherwise we are just continuing playback from the current position
instead of seeking.

9 years agohlsdemux: Don't call unlock() just to call lock() immediately afterwards
Sebastian Dröge [Tue, 21 Apr 2015 16:05:44 +0000 (18:05 +0200)]
hlsdemux: Don't call unlock() just to call lock() immediately afterwards

9 years agowrappercamerabinsrc: Reset zoom element caps to go to viewfinder mode
Thiago Santos [Mon, 20 Apr 2015 11:21:32 +0000 (08:21 -0300)]
wrappercamerabinsrc: Reset zoom element caps to go to viewfinder mode

Avoids not-negotiated failures related to using image capture caps
still when adjusting to go back to viewfinder.

9 years agotests: camerabin: add test for capture with different caps
Thiago Santos [Mon, 20 Apr 2015 11:20:37 +0000 (08:20 -0300)]
tests: camerabin: add test for capture with different caps

Adds a test to verify that viewfinder and image capture caps
can be set to non-intersecting caps and still work.

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

9 years agowrappercamerabinsrc: fix leak of drain query
Thiago Santos [Mon, 20 Apr 2015 11:42:56 +0000 (08:42 -0300)]
wrappercamerabinsrc: fix leak of drain query

gst_pad_peer_query doesn't take ownership of the query object

9 years agowrappercamerabinsrc: Refactor internal pipeline
Thiago Santos [Mon, 20 Apr 2015 11:42:48 +0000 (08:42 -0300)]
wrappercamerabinsrc: Refactor internal pipeline

Remove tee and output-selector and just link the source
pad to the outputs we want as needed.

The way we need to prioritize caps negotiation and allocation
queries depending on the mode enabled is too custom to be
handled using tee and output-selector.
This provides more flexibility and doesn't get in the way of proper
handling of negotiation and allocation queries.