platform/upstream/gstreamer.git
9 years agoadaptivedemux: do not skip the first fragment
Thiago Santos [Tue, 20 Jan 2015 17:55:05 +0000 (14:55 -0300)]
adaptivedemux: do not skip the first fragment

Avoid advancing fragment right after downloading the header. If it
is the header, by default, don't advance to the next fragment.

9 years agopo: update POTFILES
Piotr Drąg [Tue, 20 Jan 2015 15:57:15 +0000 (16:57 +0100)]
po: update POTFILES

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

9 years agoh264parse: expose stereo-high profile
Víctor Manuel Jáquez Leal [Fri, 16 Jan 2015 18:32:15 +0000 (19:32 +0100)]
h264parse: expose stereo-high profile

Exposing stereo-high profile as a compatible profile of multiview-high
if the maximum number of encoded views in the stream is two.

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

9 years agoh264parse: parse SPS subset
Víctor Manuel Jáquez Leal [Mon, 19 Jan 2015 16:31:26 +0000 (17:31 +0100)]
h264parse: parse SPS subset

This patch calls gst_h264_parser_parse_subset_sps() when a
SPS subset NAL type is found.

All the bits required for parsing the SPS subset in NALs were
already there, just we need to call them when the this NAL type
is found.

With this parsing, the number of views (minus 1) attribute is
filled, which was a requirement for negotiating the stereo-high
profile.

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

9 years agoh264parse: add initial support for MVC NAL units.
Sreerenj Balachandran [Tue, 19 Mar 2013 12:23:00 +0000 (14:23 +0200)]
h264parse: add initial support for MVC NAL units.

Initial support for MVC NAL units. It is only needed to propagate the
complete set of NAL units downstream at this time.

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

Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
9 years agoadaptivedemux: add explicit cast to make clang happy
Thiago Santos [Tue, 20 Jan 2015 12:23:02 +0000 (09:23 -0300)]
adaptivedemux: add explicit cast to make clang happy

Fixes compilation

9 years agoadaptivedemux: refactor chunk downloading flow
Thiago Santos [Thu, 15 Jan 2015 20:44:45 +0000 (17:44 -0300)]
adaptivedemux: refactor chunk downloading flow

Add more power to the chunk_received function (renamed to data_received)
and also to the fragment_finish function.

The data_received function must parse/decrypt the data if necessary and
also push it using the new push_buffer function that is exposed now. The
default implementation gets data from the stream adapter (all available)
and pushes it.

The fragment_finish function must also advance the fragment. The default
implementation only advances the fragment.

This allows the subsegment handling in dashdemux to continuously download
the same file from the server instead of stopping at every subsegment
boundary and starting a new request

9 years agocompositor: fix illegal memory access in blend function with negative ypos
Vincent Penquerc'h [Mon, 19 Jan 2015 12:37:23 +0000 (12:37 +0000)]
compositor: fix illegal memory access in blend function with negative ypos

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

9 years agodashdemux: add log message about segment time information
Thiago Santos [Mon, 19 Jan 2015 11:37:59 +0000 (08:37 -0300)]
dashdemux: add log message about segment time information

For debugging purposes

9 years agoadaptivedemux: fix multi-period playback
Thiago Santos [Mon, 19 Jan 2015 11:36:42 +0000 (08:36 -0300)]
adaptivedemux: fix multi-period playback

If we say it is the first segment after a new period it will resync
the segment.start value and all buffers will be late for the new period
we are trying to play. Otherwise we want to keep the segment.start with
the previous value to allow the running time to smoothly increase

9 years agodashdemux: Fix compiler warning with clang
Sebastian Dröge [Mon, 19 Jan 2015 10:23:52 +0000 (11:23 +0100)]
dashdemux: Fix compiler warning with clang

gstdashdemux.c:1330:13: error: implicit conversion from enumeration type 'enum _GstAdaptiveDemuxFlowReturn' to different enumeration type
      'GstFlowReturn' [-Werror,-Wenum-conversion]
      ret = GST_ADAPTIVE_DEMUX_FLOW_SUBSEGMENT_END;
          ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

9 years agoglimagesink: fix memleak
Nicola Murino [Sun, 18 Jan 2015 20:05:44 +0000 (21:05 +0100)]
glimagesink: fix memleak

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

9 years agoRemove real plugin which is no longer needed and has never been ported
Tim-Philipp Müller [Sun, 18 Jan 2015 17:25:35 +0000 (17:25 +0000)]
Remove real plugin which is no longer needed and has never been ported

Decoders for these formats exist in gst-libav, if anyone
still has a need for them.

9 years agoRemove libgmyth-based MythTV source element which was never ported
Tim-Philipp Müller [Sun, 18 Jan 2015 17:10:37 +0000 (17:10 +0000)]
Remove libgmyth-based MythTV source element which was never ported

gmyth seems to be unmaintained upstream, and no one has asked
for this to be ported for a very long time, so let's just
remove it. Neither debian nor Fedora seem to ship libgmyth
any longer, and in any case it's most likely deprecated by
the UPnP support in MythTV.

9 years agoglapi: fix compilation with latest MSVC
Lasse Laursen [Fri, 16 Jan 2015 23:06:40 +0000 (10:06 +1100)]
glapi: fix compilation with latest MSVC

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

9 years agoglmemory: use the correct size for the pbo
Matthew Waters [Thu, 15 Jan 2015 01:57:59 +0000 (12:57 +1100)]
glmemory: use the correct size for the pbo

It was missing the GstVideoAlignment padding which could cause GL
errors related to overrunning the size of the pbo.

9 years agoadaptivedemux: prevent early EOS when switching at last fragment
Thiago Santos [Fri, 16 Jan 2015 19:18:35 +0000 (16:18 -0300)]
adaptivedemux: prevent early EOS when switching at last fragment

Check if there is a next fragment before advancing to avoid causing
a bitrate switch (and maybe exposing new pads) only to push EOS.
This causes playback to stop with an error instead of properly
finishing with EOS message.

9 years agodashdemux: Fix detection for the end of segment.
David Waring [Tue, 13 Jan 2015 14:22:02 +0000 (14:22 +0000)]
dashdemux: Fix detection for the end of segment.

The segment start time is calculated as the offset into the current segment.
The old condition to detect the end of period (i.e. segment start time >
period start + period duration) failed when the period start was not 0 since
the segment start time does not take the period start time into account.
Fix this detection by only comparing the segment start to the period duration.

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

9 years agodashdemux: remove unused segment attribute
Thiago Santos [Thu, 15 Jan 2015 02:11:15 +0000 (23:11 -0300)]
dashdemux: remove unused segment attribute

It was never used, only initialized

9 years agodashdemux: implement ISOBMFF profile handling
Thiago Santos [Mon, 12 Jan 2015 20:40:47 +0000 (17:40 -0300)]
dashdemux: implement ISOBMFF profile handling

The ISOBMFF profile allows definind subsegments in a segment. At those
subsegment boundaries the client can switch from one representation to
another as they have aligned indexes.

To handle those the 'sidx' index is parsed from the stream and the
entries point to pts/offset of the samples in the stream. Knowing that
the entries are aligned in the different representation allows the client
to switch mid fragment. In this profile a single fragment is used per
representation and the subsegments are contained in this fragment.

To notify the superclass about the subsegment boundary the chunk_received
function returns a special flow return that indicates that. In this case,
the super class will check if a more suitable bitrate is available and will
change to the same subsegment in this new representation.

It also requires special handling of the position in the stream as the
fragment advancing is now done by incrementing the index of the subsegment.
It will only advance to the next fragment once all subsegments have been
downloaded.

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

9 years agodashdemux: parse the sidx index from isobmff streams
Thiago Santos [Mon, 12 Jan 2015 14:57:02 +0000 (11:57 -0300)]
dashdemux: parse the sidx index from isobmff streams

Allows dashdemux to identify the subsegments in the stream and
switch bitrates when needed

9 years agodashdemux: check for profiles
Thiago Santos [Fri, 9 Jan 2015 19:43:03 +0000 (16:43 -0300)]
dashdemux: check for profiles

Check for available profiles to enable certain features for
dash playback. For now we check for the ISOFF On Demand 2011 profile.

9 years agoadaptivedemux: add a special return to signal subsegment boundary
Thiago Santos [Tue, 13 Jan 2015 13:16:22 +0000 (10:16 -0300)]
adaptivedemux: add a special return to signal subsegment boundary

The subsegment boundary return tells the adaptivedemux that it can
try to switch to another representation as the stream is at a suitable
position for starting from another bitrate.

9 years agoadaptivedemux: Actually use the byte range for the fragment url
Thiago Santos [Tue, 13 Jan 2015 13:15:21 +0000 (10:15 -0300)]
adaptivedemux: Actually use the byte range for the fragment url

Otherwise we would always download the full fragment. This would
make handling subsegments in DASH impossible.

9 years agoadaptivedemux: allow downloads of headers only
Thiago Santos [Tue, 13 Jan 2015 13:13:47 +0000 (10:13 -0300)]
adaptivedemux: allow downloads of headers only

In order to get some subsegment information, subclasses might want
to download only the headers to have enough data (the index)
to decide where to start downloading from the subsegment.

9 years agoadaptivedemux: refactor common code to function
Thiago Santos [Mon, 12 Jan 2015 21:22:14 +0000 (18:22 -0300)]
adaptivedemux: refactor common code to function

Reuse the same function when finishing downloading and signaling to
the download loop thread to get the next fragment or abort

9 years agoadaptivedemux: inform subclass when headers/index are being downloaded
Thiago Santos [Fri, 9 Jan 2015 20:19:54 +0000 (17:19 -0300)]
adaptivedemux: inform subclass when headers/index are being downloaded

This allows the subclasses to know if the chunks that are downloaded are
part of the header or of the index and will parse the parts that are
of their interest.

9 years agouridownloader: a few leak fixes
Vincent Penquerc'h [Thu, 15 Jan 2015 16:11:24 +0000 (16:11 +0000)]
uridownloader: a few leak fixes

9 years agofragment: fix caps and buffer leaks in get_property
Vincent Penquerc'h [Thu, 15 Jan 2015 13:16:07 +0000 (13:16 +0000)]
fragment: fix caps and buffer leaks in get_property

9 years agohlsdemux: remove unused fragments_cache field
Vincent Penquerc'h [Wed, 14 Jan 2015 17:43:51 +0000 (17:43 +0000)]
hlsdemux: remove unused fragments_cache field

9 years agohlsdemux: a few leak fixes
Vincent Penquerc'h [Wed, 14 Jan 2015 16:42:25 +0000 (16:42 +0000)]
hlsdemux: a few leak fixes

9 years agobs2b: implement the preset interface
Stefan Sauer [Mon, 12 Jan 2015 20:22:06 +0000 (21:22 +0100)]
bs2b: implement the preset interface

Instead of a preset property implement the preset interface in a read-only
fashion.

9 years agodocs: add new bs2b plugin and element
Stefan Sauer [Mon, 12 Jan 2015 11:11:01 +0000 (12:11 +0100)]
docs: add new bs2b plugin and element

9 years agobs2b: add new plugin (Effect/Audio, crossfeed)
Christoph Reiter [Sat, 10 Jan 2015 20:41:12 +0000 (21:41 +0100)]
bs2b: add new plugin (Effect/Audio, crossfeed)

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

9 years agointeraudiosink: Make sure that buffer time is always bigger than period time
Sebastian Dröge [Thu, 15 Jan 2015 12:13:51 +0000 (13:13 +0100)]
interaudiosink: Make sure that buffer time is always bigger than period time

9 years agodecklinkvideosink: Also consider max-lateness property value before dropping late...
Sebastian Dröge [Thu, 15 Jan 2015 11:49:20 +0000 (12:49 +0100)]
decklinkvideosink: Also consider max-lateness property value before dropping late frames

9 years agovtdec: implement the GL texture upload meta
Alessandro Decina [Thu, 15 Jan 2015 03:09:43 +0000 (14:09 +1100)]
vtdec: implement the GL texture upload meta

9 years agoavfvideosrc: implement the GL texture upload meta
Alessandro Decina [Thu, 8 Jan 2015 13:16:17 +0000 (00:16 +1100)]
avfvideosrc: implement the GL texture upload meta

9 years agoglvideomixer: don't upload if alpha <= 0
Matthew Waters [Wed, 14 Jan 2015 22:47:45 +0000 (09:47 +1100)]
glvideomixer: don't upload if alpha <= 0

Implemented using a upload_buffer vfunc within GstGLMixer allowing
NULL uploaded buffers.

9 years agoglmemory: remove spurious gst_video_info_align
Matthew Waters [Wed, 14 Jan 2015 22:45:21 +0000 (09:45 +1100)]
glmemory: remove spurious gst_video_info_align

That will be taken care of by the calling code (typically a bufferpool).
The GstVideoAlignment is purely informational to compute plane data sizes.

9 years agocompositor: Document the zorder pad property from gstvideoaggregator
Nirbheek Chauhan [Wed, 14 Jan 2015 18:18:16 +0000 (23:48 +0530)]
compositor: Document the zorder pad property from gstvideoaggregator

9 years agoaggregator: Nitpick spacing/punctuation in debug logging
Nirbheek Chauhan [Wed, 14 Jan 2015 18:17:19 +0000 (23:47 +0530)]
aggregator: Nitpick spacing/punctuation in debug logging

9 years agodecklinkvideosink: Stop scheduled playback shortly in PAUSED->PLAYING if it was runni...
Sebastian Dröge [Wed, 14 Jan 2015 15:33:53 +0000 (16:33 +0100)]
decklinkvideosink: Stop scheduled playback shortly in PAUSED->PLAYING if it was running already

This fixes handling of flushing seeks, where we will get a PAUSED->PLAYING
state transition after the previous one without actually going to PAUSED
first.

9 years agodecklinkvideosink: Don't schedule too late frames in prepare()
Sebastian Dröge [Wed, 14 Jan 2015 15:01:07 +0000 (16:01 +0100)]
decklinkvideosink: Don't schedule too late frames in prepare()

Otherwise we will overflow the internal buffer of the hardware
with useless frames and run into an error. This is necessary until
this bug in basesink is fixed:
https://bugzilla.gnome.org/show_bug.cgi?id=742916

9 years agodecklinkvideosink: Keep track of the time when we went to PLAYING for the external...
Sebastian Dröge [Wed, 14 Jan 2015 14:54:28 +0000 (15:54 +0100)]
decklinkvideosink: Keep track of the time when we went to PLAYING for the external clock too

Otherwise we're adding an offset of the time the pipeline was in PLAYING
already to the running time when converting it to our internal clock.

9 years agodecklinkvideosink: Enable QoS and set max-lateness to 20ms
Sebastian Dröge [Wed, 14 Jan 2015 12:32:51 +0000 (13:32 +0100)]
decklinkvideosink: Enable QoS and set max-lateness to 20ms

9 years agoh264parser: fix stack smashing
Vincent Penquerc'h [Mon, 12 Jan 2015 17:24:52 +0000 (17:24 +0000)]
h264parser: fix stack smashing

Ensure that we do not trust the bitstream when filling a table
with a fixed max size.
Additionally, the code was not quite matching what the spec says:
- a value of 3 broke from the loop before adding an entry
- an unhandled value did not add an entry
The reference algorithm does these things differently (7.3.3.1
in ITU-T Rec. H.264 (05/2003)).

This plays (apparently correctly) the original repro file, with
no stack smashing.

Based on a patch and bug report by André Draszik <git@andred.net>

9 years agogl: split glcolorconvert usage from glupload
Matthew Waters [Wed, 14 Jan 2015 11:08:43 +0000 (22:08 +1100)]
gl: split glcolorconvert usage from glupload

the separation allows the transfer operation to occur in a separate
thread/time which may increase performance in specific circumstances.

9 years agoglmemory: offset the data pointer for upload for GstVideoAlignment
Matthew Waters [Wed, 14 Jan 2015 01:39:11 +0000 (12:39 +1100)]
glmemory: offset the data pointer for upload for GstVideoAlignment

otherwise we attempt to read from the padding data

9 years agoglmemory: use pbo's for upload
Matthew Waters [Tue, 13 Jan 2015 13:08:11 +0000 (00:08 +1100)]
glmemory: use pbo's for upload

9 years agoglupload: relax the GLMemory uploader check for input caps features
Matthew Waters [Tue, 13 Jan 2015 12:47:06 +0000 (23:47 +1100)]
glupload: relax the GLMemory uploader check for input caps features

As there may be a sysmem caps features with GLMemory filled buffers.
e.g.

videotestsrc ! glimagesink

9 years agoRevert "Revert "openh264: fix to work with released versions and master of upstream""
Zaheer Abbas Merali [Tue, 13 Jan 2015 19:32:03 +0000 (11:32 -0800)]
Revert "Revert "openh264: fix to work with released versions and master of upstream""

This reverts commit 329f0ccba1aa604da1bd80293fd1fe717447df5d.

9 years agoopenh264: remove all trace output to console from encoder
Zaheer Abbas Merali [Wed, 17 Dec 2014 17:19:52 +0000 (09:19 -0800)]
openh264: remove all trace output to console from encoder

9 years agodecklink: Use BT2020 colorspace for UltraHD resolutions
Sebastian Dröge [Tue, 13 Jan 2015 18:56:24 +0000 (19:56 +0100)]
decklink: Use BT2020 colorspace for UltraHD resolutions

9 years agodecklink: Fix indention once again
Sebastian Dröge [Tue, 13 Jan 2015 18:55:37 +0000 (19:55 +0100)]
decklink: Fix indention once again

9 years agoaudiovisualizer: handle the return of the setup function
Luis de Bethencourt [Tue, 13 Jan 2015 16:49:07 +0000 (16:49 +0000)]
audiovisualizer: handle the return of the setup function

Make the class future proof by handling the gboolean return of the setup
function. So if/when a child class uses this the base class is ready.

9 years agoRevert "audiovisualizer: remove unused value"
Luis de Bethencourt [Tue, 13 Jan 2015 16:46:10 +0000 (16:46 +0000)]
Revert "audiovisualizer: remove unused value"

This reverts commit 25c97570834d6de1c14424e71221d19eb0d33ee3.

It is preferable to handle the retun of the setup function.

9 years agodecklinkvideosink: Get our own "start time" instead of the one of the pipeline
Sebastian Dröge [Tue, 13 Jan 2015 16:44:17 +0000 (17:44 +0100)]
decklinkvideosink: Get our own "start time" instead of the one of the pipeline

decklinkvideosink might be added later to the pipeline, or its state might
be handled separately from the pipeline. In which case the running time when
we (last) went into PLAYING state will be different from the pipeline's.

However we need our own start time to tell the Decklink API, which running
time should be displayed at the moment we go to PLAYING and start scheduled
rendering.

9 years agointer: Use a #define for the default value of the channel property
Sebastian Dröge [Tue, 13 Jan 2015 16:00:51 +0000 (17:00 +0100)]
inter: Use a #define for the default value of the channel property

9 years agointervideosrc: Make the timeout configurable after which we start showing a black...
Sebastian Dröge [Tue, 13 Jan 2015 15:58:50 +0000 (16:58 +0100)]
intervideosrc: Make the timeout configurable after which we start showing a black frame

9 years agoaudiovisualizer: remove unused value
Luis de Bethencourt [Tue, 13 Jan 2015 15:42:26 +0000 (15:42 +0000)]
audiovisualizer: remove unused value

klass->setup (scope) will always return TRUE since all children of this class
do so, no need to store the return. Besides, the value is overwritten a few
lines down before it is used.

Change helps keep files in sync after:
-base commit a91d521a3602f33083405467db9454d422b9da1b

9 years agocompositor: Don't do any conversions if the pad is completely transparent anyway
Sebastian Dröge [Tue, 13 Jan 2015 13:54:26 +0000 (14:54 +0100)]
compositor: Don't do any conversions if the pad is completely transparent anyway

9 years agointer: silence messages for flushed / created samples
Branislav Katreniak [Mon, 12 Jan 2015 11:58:27 +0000 (12:58 +0100)]
inter: silence messages for flushed / created samples

These messages are logged periodically and polute the log

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

9 years agoglcolorconvert: fix memleak
Nicola Murino [Thu, 25 Dec 2014 22:10:19 +0000 (23:10 +0100)]
glcolorconvert: fix memleak

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

9 years agoglupload: fix some memory leaks
Nicola Murino [Thu, 25 Dec 2014 21:59:42 +0000 (22:59 +0100)]
glupload: fix some memory leaks

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

9 years agoglcontext: allow wrapped contexts to be utilised like non-wrapped contexts
Matthew Waters [Wed, 31 Dec 2014 06:45:53 +0000 (17:45 +1100)]
glcontext: allow wrapped contexts to be utilised like non-wrapped contexts

Fill in the missing pieces like get_proc_address, the gl function vtable

9 years agogitignore: ignore more files
Stefan Sauer [Mon, 12 Jan 2015 20:25:14 +0000 (21:25 +0100)]
gitignore: ignore more files

9 years agovisual: use unused value
Luis de Bethencourt [Mon, 12 Jan 2015 15:33:09 +0000 (15:33 +0000)]
visual: use unused value

ret is assigned but not used and in the next cycle of the loop it is overwritten
with default_prepare_output_buffer (). If there is a flow error the function
should return instead.

CID #1226475

9 years agoAutomatic update of common submodule
Stefan Sauer [Mon, 12 Jan 2015 15:10:31 +0000 (16:10 +0100)]
Automatic update of common submodule

From f2c6b95 to bc76a8b

9 years agodecklink: Initialize refcount of our C++ classes in the constructor
Sebastian Dröge [Mon, 12 Jan 2015 14:57:53 +0000 (15:57 +0100)]
decklink: Initialize refcount of our C++ classes in the constructor

CID 1262288
CID 1262287
CID 1262289

9 years agogaudieffects: stored value is overwritten
Luis de Bethencourt [Mon, 12 Jan 2015 14:22:47 +0000 (14:22 +0000)]
gaudieffects: stored value is overwritten

Value from left_luminance is assigned to out_luminance here, but that stored
value is not used before it is overwritten in the next cycle of the loop.
Removing assignation.

CID #1226473

9 years agompegdemux: fix dead code
Luis de Bethencourt [Mon, 12 Jan 2015 12:50:33 +0000 (12:50 +0000)]
mpegdemux: fix dead code

found is initialized to FALSE to then only be used in two conditional statements
that will always be false, making the blocks inside them dead code. Looking back
in the file's history the setting of the variable's value before it is checked
was dropped as part of the port to 0.11, bringing that value setting back.

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

9 years agompegdemux: minor optimisation when scanning for SCRs
Tim-Philipp Müller [Sun, 11 Jan 2015 20:40:34 +0000 (20:40 +0000)]
mpegdemux: minor optimisation when scanning for SCRs

Bail out early when we're scanning for SCR, no need to
parse stuff we're not going to use nor interested in.

9 years agompg123: fix compiler warning and simplify checks in set_caps
Tim-Philipp Müller [Sun, 11 Jan 2015 01:08:08 +0000 (01:08 +0000)]
mpg123: fix compiler warning and simplify checks in set_caps

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

9 years agompg123: rework set_format code so mpg123audiodec works with decodebin/playbin
Carlos Rafael Giani [Sat, 3 Jan 2015 12:06:45 +0000 (13:06 +0100)]
mpg123: rework set_format code so mpg123audiodec works with decodebin/playbin

The old code was using gst_caps_normalize() and was generally overly
complex. Simplify by picking sample rate and number of channels from
upstream and the sample format from the allowed caps. If the format caps
is a list of strins, just pick the first one. And if the srcpad isn't
linked yet, use the default format (S16).

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

9 years agogl/cocoa: Disable hack for NSApp iteration with a special #define
Sebastian Dröge [Sat, 10 Jan 2015 14:34:57 +0000 (15:34 +0100)]
gl/cocoa: Disable hack for NSApp iteration with a special #define

The hack causes deadlocks and other interesting problems and it really
can only be fixed properly inside GLib. We will include a patch for
GLib in our builds for now that handles this, and hopefully at some
point GLib will also merge a proper solution.

A proper solution would first require to refactor the polling in
GMainContext to only provide a single fd, e.g. via epoll/kqueue
or a thread like the one added by our patch. Then this single
fd could be retrieved from the GMainContext and directly integrated
into a NSRunLoop.

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

9 years agointer: interaudiosrc - fixate layout for default caps
Jan Schmidt [Sat, 10 Jan 2015 04:40:30 +0000 (15:40 +1100)]
inter: interaudiosrc - fixate layout for default caps

Makes interaudiosrc produce valid audio caps in the absence of any other
guidance by adding to the pad template and fixate function

9 years agoaggregator: Remove pointless atomic
Olivier Crête [Sat, 10 Jan 2015 02:51:40 +0000 (21:51 -0500)]
aggregator: Remove pointless atomic

It is only modified from the streaming thread

9 years agoaggregator: Fix query leak
Olivier Crête [Sat, 10 Jan 2015 02:30:36 +0000 (21:30 -0500)]
aggregator: Fix query leak

9 years agoaudiovisualizer: remove check for below zero for unsigned value
Luis de Bethencourt [Fri, 9 Jan 2015 17:56:09 +0000 (17:56 +0000)]
audiovisualizer: remove check for below zero for unsigned value

CLAMP checks both if value is '< 0' and '> max'. Value will never be a negative
number since it is an unsigned integer. Removing that check and only checking if
it is bigger than max and setting it appropriately.

Also converting the previous instance of this into MIN() for consistency.

CID 1139793

9 years agoh264parse: expose compatible profiles to downstream
Sreerenj Balachandran [Tue, 2 Dec 2014 08:10:39 +0000 (10:10 +0200)]
h264parse: 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=739992

9 years agoaggregator: Print jitter from clock waiting in the debug logs
Sebastian Dröge [Fri, 9 Jan 2015 15:43:39 +0000 (16:43 +0100)]
aggregator: Print jitter from clock waiting in the debug logs

9 years agoaudiovisualizer: remove check if below zero for unsigned value
Luis de Bethencourt [Fri, 9 Jan 2015 14:42:34 +0000 (14:42 +0000)]
audiovisualizer: remove check if below zero for unsigned value

CLAMP checks both if y is '< 0' and '> h1'. y will never be a negative number
since it is an unsigned integer. Removing that check and only checking if it
bigger than h1 and setting it to that max approprietaly.

CID 1139792

9 years agohlsdemux: cache current file position in the list
Thiago Santos [Thu, 8 Jan 2015 19:24:29 +0000 (16:24 -0300)]
hlsdemux: cache current file position in the list

Avoids iterating the list everytime to look for the next segment
to be used (or to advance to the next one).

9 years agohlsdemux: simplify next segment checking functions
Thiago Santos [Thu, 8 Jan 2015 18:46:49 +0000 (15:46 -0300)]
hlsdemux: simplify next segment checking functions

Optimize loop by moving condition outside of it and reuse the
find_next_fragment function to check if there is next instead of
replicating the same loop

9 years agohlsdemux: cache total duration to avoid iterating at every query
Thiago Santos [Thu, 8 Jan 2015 16:03:11 +0000 (13:03 -0300)]
hlsdemux: cache total duration to avoid iterating at every query

Duration queries can be done a few times per second and would cause
the segment list to be traversed for every one. Caching the duration
prevents that.

9 years agodecklinkvideosrc: Post LATENCY message when the mode changes
Sebastian Dröge [Thu, 8 Jan 2015 17:15:27 +0000 (18:15 +0100)]
decklinkvideosrc: Post LATENCY message when the mode changes

Different modes have different framerates, and thus different latencies. We
might need to reconfigure the latency of the pipeline.

9 years agodecklinkvideosrc: Fix compiler warning
Sebastian Dröge [Thu, 8 Jan 2015 17:14:38 +0000 (18:14 +0100)]
decklinkvideosrc: Fix compiler warning

9 years agodecklinkvideosrc: Add automatic mode detection
Florian Langlois [Thu, 8 Jan 2015 15:42:31 +0000 (16:42 +0100)]
decklinkvideosrc: Add automatic mode detection

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

9 years agohlsdemux: g_return_if_fail in function with return type
Luis de Bethencourt [Thu, 8 Jan 2015 15:54:18 +0000 (15:54 +0000)]
hlsdemux: g_return_if_fail in function with return type

Need to use g_return_val_if_fail() when the function returns a type, in this
case a gboolean

9 years agortp: value truncated too short creates dead code
Luis de Bethencourt [Thu, 8 Jan 2015 15:36:04 +0000 (15:36 +0000)]
rtp: value truncated too short creates dead code

type is truncated to 0-31 with "& 0x1f", but right after that it is checks if
the value is equivalent to GST_H265_NAL_VPS, GST_H265_NAL_SPS, and
GST_H265_NAL_PPS (which are 32, 33, and 34 respectively). Obviously, this will
never be True if the value is maximum 31 after the truncation.
The intention of the code was to truncate to 0-63.

9 years agortp: fix nal unit type check
Luis de Bethencourt [Thu, 8 Jan 2015 15:27:44 +0000 (15:27 +0000)]
rtp: fix nal unit type check

After further investigation the previous commit is wrong. The code intended to
check if the type is 39 or the ranges 41-44 and 48-55. Just like gsth265parse.c
does. Type 40 would not be complete.

9 years agortp: fix dead code and check for impossible values
Luis de Bethencourt [Thu, 8 Jan 2015 13:47:09 +0000 (13:47 +0000)]
rtp: fix dead code and check for impossible values

nal_type is the index for a GstH265NalUnitType enum. There are two types of dead
code here:
First, after checking if nal_type is >= 39 there are two OR conditionals that
check if the value is in ranges higher than that number, so if nal_type >= 39
falls in the True branch those other conditions aren't checked and if it falls
in the False branch and they are checked, they will always also be False. They
are redundant.
Second, the enum has a range of 0 to 40. So the checks for ranges higher than 41
should never be True.
Removing this redundant checks.

CID 1249684

9 years agovtenc: Unlock the stream lock while waiting for pending frames to be completed in...
Florian Zwoch [Thu, 8 Jan 2015 13:47:16 +0000 (14:47 +0100)]
vtenc: Unlock the stream lock while waiting for pending frames to be completed in finish()

We might otherwise deadlock because gst_vtenc_enqueue_buffer() can be
called again and will take the stream lock again from another thread.

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

9 years agohlsdemux: implement _has_next_fragment to avoid busy looping
Thiago Santos [Thu, 8 Jan 2015 11:46:48 +0000 (08:46 -0300)]
hlsdemux: implement _has_next_fragment to avoid busy looping

It will allow the demuxer to wait for a fragment to be available instead
of busy looping polling the playlist for a new fragment

9 years agodecklink: Add a dummy value to the video connection mapping table for auto
Sebastian Dröge [Thu, 8 Jan 2015 11:55:16 +0000 (12:55 +0100)]
decklink: Add a dummy value to the video connection mapping table for auto

9 years agodecklinkaudiosrc: Add property to select the audio input connection
Sebastian Dröge [Thu, 8 Jan 2015 11:48:22 +0000 (12:48 +0100)]
decklinkaudiosrc: Add property to select the audio input connection

9 years agodecklink: Add XLR and RCA audio connection enums
Sebastian Dröge [Thu, 8 Jan 2015 11:23:53 +0000 (12:23 +0100)]
decklink: Add XLR and RCA audio connection enums

9 years agodecklinkvideosrc: Add auto value for the connection property
Sebastian Dröge [Thu, 8 Jan 2015 11:17:45 +0000 (12:17 +0100)]
decklinkvideosrc: Add auto value for the connection property

This will use the default/auto connection for video capturing, and can
be set via the Decklink configuration tools.

9 years agodecklink: Fix indention once again
Sebastian Dröge [Thu, 8 Jan 2015 11:13:03 +0000 (12:13 +0100)]
decklink: Fix indention once again